@charset "UTF-8";
/*----------------------------------------

	Default CSS

	- default setting
	- font setting
	- line-height setting
	- indent setting
	- link setting
	- color setting
	- common setting
	- clearfix
	- header
	- content
	- footer
	- print

-----------------------------------------*/

:root {
scroll-behavior: auto;
}

/*----------------------------------------
	default setting
-----------------------------------------*/
th, h1, h2, h3, h4, h5, h6 {
	margin: 0;
	font-weight: normal;
}
p, dl, dd, ol, ul, figure {
	margin: 0;
	padding: 0;
}
table {
	border-collapse: separate;
}
body {
	color: #333333;
	font-family: 'Noto Sans JP', YuGothic, YuGothicM, Yu Gothic, "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ","MS Pゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
	-webkit-font-smoothing: antialiased; /* Safari フォント表示補正 */
	-moz-osx-font-smoothing: grayscale;  /* Firefox フォント表示補正 */
	-webkit-user-drag: none;
	-webkit-touch-callout: none;
	line-height: 1.8;
	font-size: 16px;
}

@media screen and (min-width:768px) {
body {
	line-height: 1.6;
}
}

@media only screen and (min-width: 768px) and (max-width: 991px){
body {
	line-height: 1.6;
	font-size: 16px;
}
}

html, body {
	height: 100%;
}
img {
    vertical-align: bottom;
    max-width: 100%;
    width: 100%;
}
em {
	font-style: normal;
	font-weight: bold;
}
li, dt, dd {
	list-style: none;
	vertical-align: bottom;
}
li img, dt img, dd img {
	vertical-align: top;
}
small {
	font-size: 100%;
}
input,textarea,select {
	outline: none;
}

/* 英語フォント */
[class^="en"], [class*=" en"] {
	font-family: 'Josefin Sans', sans-serif;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* 数字フォント */
[class^="num"], [class*=" num"] {
	font-family: 'Barlow', sans-serif;
	font-weight: 400;
	letter-spacing: 0.05em;
}

@media screen and (min-width:768px) {
	/* pc  768 - # */
	.pcObj {}
	.spObj { display: none; }
}
@media screen and (max-width:767px) {
	/* sp  # - 767 */
	.pcObj { display: none; }
	.spObj {}
}

.en_lignt01 {
	font-weight: 300;
}
.en_sbold01 {
	font-weight: 600;
}
.en_bold01 {
	font-weight: 700;
}

#fb-root { display: none; }
.over, .modal {}

/*----------------------------------------
	font setting
-----------------------------------------*/

/*----------------------------------------
	line-height setting（default/2）
-----------------------------------------*/
.clearlh {
	line-height: 0;
}

.lh1 {
	line-height: 1;
}
ol#breadcrumb,
.lh12 {
	line-height: 1.2;
}
h1, h2, h3, h4, h5, h6, small,
[class^="en_"], [class*=" en_"],
.lh15 {
	line-height: 1.5;
}
.lh2,
.lh2_15 {
	line-height: 2;
}
.lh17 {
	line-height: 1.75;
}
@media screen and (max-width:768px) {
	/* sp  # - 768 */
	.lh2_15 {
		line-height: 1.5;
	}
}

/*----------------------------------------
	indent setting
-----------------------------------------*/
.indent00 {
	display: block;
}
.indent01 {
	display: block;
	padding-left: 1em;
	text-indent: -1em;
}
.indentVar > span {
	display: table-cell;
	vertical-align: top;
}

/*----------------------------------------
	link setting
-----------------------------------------*/
a,
a:focus {
	outline: none;
}
a:link,
a:visited {
	/*color: #333333;*/
	text-decoration: none;
}
a:hover,
a:active {
	/*color: #333333;*/
	text-decoration: none;
}
@media screen and (max-width:768px) {
	/* sp  # - 768 */
	a:hover,
	a:active {
		text-decoration: none;
	}
}
body.pc img.rOver:hover ,
body.pc a.rOver:hover {
	opacity:0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
	-moz-opacity:0.7;
	-khtml-opacity: 0.7;
}

@media screen and (min-width:768px) {
a {
transition: 0.3s;
}
a:hover,
a:active {
opacity: 0.7;
}
}

/*----------------------------------------
	common setting
-----------------------------------------*/
.wrapper {
     width: 100%;
     position: relative;
     height:auto !important; /*IE6対策*/
     height: 100%; /*IE6対策*/
     min-height: 100%;
}
.clearfsize {
	font-size: 0;
	line-height: 0;
}
.bold01 {
	font-weight: bold;
}
.bold01_00 {
	font-weight: bold;
}
@media screen and (min-width:768px) {
	.bold00_01 {
		font-weight: bold;
	}
	.bold01_00 {
		font-weight: normal;
	}
}
.taC ,.taC_R ,.taC_L { text-align: center; }
.taL ,.taL_C ,.taL_R { text-align: left; }
.taR ,.taR_C ,.taR_L { text-align: right; }
@media screen and (max-width:768px) {
	/* sp  # - 768 */
	.taL_C ,.taR_C { text-align: center; }
	.taC_R ,.taL_R { text-align: right; }
	.taC_L ,.taR_L { text-align: left; }
}

/* リストマーク */
.square01 {
	display: block;
	padding-left: 1em;
	text-indent: -2em;
}
.square01:before {
	content: "\025a0";
	width: 1em;
	padding-left: 1em;
	color: #cccccc;
}
.disc01 {
	display: block;
	padding-left: 1.5em;
	text-indent: -2em;
}
.disc01:before {
	content: "\030fb";
	width: 1em;
	padding-left: 1em;
	color: #333333;
}
.rpimg {
	width: 100%;
	height: auto;
}
@media screen and (min-width:768px) {
	/* pc  768 - # */
	.pcimg {
		width: 100%;
		height: auto;
	}
}
@media screen and (max-width:768px) {
	/* sp  # - 768 */
	.spimg {
		width: 100%;
		height: auto;
	}
}

/*----------------------------------------
	clearfix
-----------------------------------------*/
.clearfix:after {
	content: "";
	clear: both;
	display: block;
}

/*----------------------------------------
	animation
-----------------------------------------*/
.fade:not(.show) {
    opacity: inherit;
}