@charset "utf-8";

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 リセット 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.content { max-width: none; padding-right: 0; padding-left: 0; }





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 基礎スタイル 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

html { scroll-behavior: smooth; }
#baseWarp { font-size: 62.5%; line-height: 1; color: #333333; font-weight: 500; font-feature-settings: "palt"; }
#baseWarp img { width: 100%; height: auto; vertical-align: top; }





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 汎用フォント関連 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.fwN { font-weight: 500; }
.fwB { font-weight: 700; }
.fcR { color: #cc0000; }
.tdL { text-decoration: line-through; }
.tdU { text-decoration: underline; }
.wsN { white-space: nowrap; }
.ffsP { font-feature-settings: "palt"; }
.taR,
.taRL,
.taRC { text-align: right; }
.taC,
.taCL { text-align: center; }
.ffAr { font-family: "Arial"; }

@media screen and (max-width: 767px) {
	.taRL,
	.taCL { text-align: left; }
	.taLC,
	.taRC { text-align: center; }
}



/* ――――――――――――――――――――――――――――――
［ font：文字サイズ個別指定 ］
―――――――――――――――――――――――――――――― */

.font12 { font-size: 1.2rem; line-height: 1.8rem; }
.font14 { font-size: 1.4rem; line-height: 2rem; }
.font16 { font-size: 1.6rem; line-height: 3rem; }
.font18 { font-size: 1.8rem; line-height: 3.2rem; }
.font20 { font-size: 2rem; line-height: 3.4rem; }

@media screen and (max-width: 767px) {
	.font14 { font-size: 1.2rem; line-height: 1.8rem; }
	.font16 { font-size: 1.4rem; line-height: 2.4rem; }
	.font18 { font-size: 1.6rem; line-height: 2.6rem; }
	.font20 { font-size: 1.8rem; line-height: 2.8rem; }
}



/* ――――――――――――――――――――――――――――――
［ commonAnn：注釈 ］
―――――――――――――――――――――――――――――― */

.commonAnn { display: table; }
.commonAnn dt,
.commonAnn dd { display: table-cell; }
.commonAnn dt { white-space: nowrap; }
.commonAnn.font12 { line-height: 1.6rem; }
.commonAnn.font14 { line-height: 2rem; }
.commonAnn.font16 { line-height: 2.4rem; }
.commonAnn.font18 { line-height: 2.6rem; }
.commonAnn.font20 { line-height: 2.8rem; }
.commonAnn.font22 { line-height: 3rem; }
.commonAnn.font24 { line-height: 3.2rem; }
.commonAnn.font30 { line-height: 3.8rem; }

@media screen and (max-width: 767px) {
	.commonAnn.font14 { line-height: 1.6rem; }
	.commonAnn.font16 { line-height: 1.8rem; }
	.commonAnn.font18 { line-height: 2rem; }
	.commonAnn.font20 { line-height: 2.2rem; }
	.commonAnn.font22 { line-height: 2.4rem; }
	.commonAnn.font24 { line-height: 2.6rem; }
	.commonAnn.font30 { line-height: 3.2rem; }
}

/* 複数 */
.commonAnn dl { display: table-row; }
.commonAnn dl:not(:last-child) dt,.commonAnn dl:not(:last-child) dd { padding-bottom: 8px; }
.commonAnn.font12 dl:not(:last-child) dt,.commonAnn.font12 dl:not(:last-child) dd,
.commonAnn.font14 dl:not(:last-child) dt,.commonAnn.font14 dl:not(:last-child) dd { padding-bottom: 4px; }
.commonAnn.font16 dl:not(:last-child) dt,.commonAnn.font16 dl:not(:last-child) dd { padding-bottom: 6px; }

@media screen and (max-width: 767px) {
	.commonAnn dl:not(:last-child) dt,.commonAnn dl:not(:last-child) dd { padding-bottom: 6px; }
	.commonAnn.font12 dl:not(:last-child) dt,.commonAnn.font12 dl:not(:last-child) dd,
	.commonAnn.font14 dl:not(:last-child) dt,.commonAnn.font14 dl:not(:last-child) dd { padding-bottom: 2px; }
	.commonAnn.font16 dl:not(:last-child) dt,.commonAnn.font16 dl:not(:last-child) dd { padding-bottom: 4px; }
}



/* ――――――――――――――――――――――――――――――
［ commonPara：段落行間 ］
―――――――――――――――――――――――――――――― */

.commonPara0 p,
.commonPara20 p,
.commonPara40 p { text-indent: 1em; }
.commonPara20 p:not(:last-child) { margin-bottom: 20px; }
.commonPara40 p:not(:last-child) { margin-bottom: 40px; }

@media screen and (max-width: 767px) {
	.commonPara15 p:not(:last-child) { margin-bottom: 10px; }
	.commonPara20 p:not(:last-child) { margin-bottom: 10px; }
	.commonPara25 p:not(:last-child) { margin-bottom: 12px; }
	.commonPara30 p:not(:last-child) { margin-bottom: 15px; }
	.commonPara35 p:not(:last-child) { margin-bottom: 18px; }
	.commonPara40 p:not(:last-child) { margin-bottom: 20px; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 汎用レイアウト関連 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

/* ――――――――――――――――――――――――――――――
［ その他 ］
―――――――――――――――――――――――――――――― */

.ofH { overflow: hidden; }
.flL { float: left; }
.flR { float: right; }
.imgW150 { width: 150px; }
.imgW175 { width: 175px; }
.imgW300 { width: 300px; }
.imgW340 { width: 340px; }
.txtW175 { width: calc( 100% - 220px ); }
.txtW150 { width: calc( 100% - 200px ); }
.txtW300 { width: calc( 100% - 340px ); }
.mlb40 { margin: 5px 0 40px 40px; }

table th { font-weight: 500; vertical-align: top; text-align: left; white-space: nowrap; }
table td.pl1em { padding-left: 1em; }

.interludeLine { position: relative; padding-bottom: 80px; margin-bottom: 80px; }
.interludeLine::after { position: absolute; right: 0; bottom: 0; left: 0; display: block; width: 380px; height: 1px; background-color: #c8c8c8; content: ""; margin-right: auto; margin-left: auto; }

.lineLink { display: inline-block; background: linear-gradient(to right, #000000 3px, transparent 3px) repeat-x center bottom; background-size: 6px 1px; line-height: 2rem; }
.lineLink.linkType3 a { display: inline-block; color: #b9a200; padding-bottom: 7px; }

.outLink { display: inline-block; background: linear-gradient(to right, #000000 3px, transparent 3px) repeat-x center bottom; background-size: 6px 1px; line-height: 2rem; }
.outLink.linkType3 a { color: #b9a200; }
.outLink a span { display: inline-block; width: 12px; vertical-align: middle; padding: 10px 0 0 2px; }

.outIcon { display: inline-block; width: 14px; height: 16px; vertical-align: middle; padding-left: 2px; }
.commonPara0 p .outIcon,
.commonPara20 p .outIcon,
.commonPara40 p .outIcon { text-indent: 0; }

@media screen and (max-width: 767px) {
	.flL,
	.flR { float: none; }
	.imgW150,
	.imgW175 { margin: 20px auto 0; }
	.imgW300 { max-width: 300px; }
	.imgW340 { max-width: 340px; }
	.txtW175,
	.txtW150,
	.txtW300 { width: 100%; }
	.mlb40 { margin: 0 auto 20px; }
	.mb20sp { margin: 0 auto 20px; }
	.mt20sp { margin: 20px auto 0; }
	
	table th, td { display: block; }
	
	.interludeLine { padding-bottom: 40px; margin-bottom: 40px; }
	.interludeLine::after { width: 200px; }
	
	.outLink { line-height: 1.8rem; }
	.outLink a span { padding-top: 5px; }
}



/* ――――――――――――――――――――――――――――――
［ maxW：max-width指定かつセンタリング ］
―――――――――――――――――――――――――――――― */

.maxW400 { max-width: 400px; margin-right: auto; margin-left: auto; }
.maxW430 { max-width: 430px; margin-right: auto; margin-left: auto; }
.maxW480 { max-width: 480px; margin-right: auto; margin-left: auto; }
.maxW600 { max-width: 600px; margin-right: auto; margin-left: auto; }
.maxW630 { max-width: 630px; margin-right: auto; margin-left: auto; }
.maxW680 { max-width: 680px; margin-right: auto; margin-left: auto; }
.maxW720 { max-width: 720px; margin-right: auto; margin-left: auto; }
.maxW780 { max-width: 780px; margin-right: auto; margin-left: auto; }
.maxW1050 { max-width: 1050px; margin-right: auto; margin-left: auto; }



/* ――――――――――――――――――――――――――――――
［ imgW：max-width指定かつセンタリング ］
―――――――――――――――――――――――――――――― */

.imgW400680 { width: calc( 300 / 680 * 100% ); }

@media screen and (max-width: 767px) {
	.imgW400680 { width: 100%; }
}



/* ――――――――――――――――――――――――――――――
［ diB：各種 display inline-block ］
―――――――――――――――――――――――――――――― */

.diIB { display: inline; }
.diB  { display: inline-block; }
.diBI { display: inline-block; }
.diBB { display: inline-block; }
.dbI  { display: block; }
.dbIB { display: block; }

@media screen and (max-width: 767px) {
	.diIB { display: inline-block; }
	.diB  { display: inline-block; }
	.diBI { display: inline; }
	.diBB { display: block; }
	.dbI  { display: inline; }
	.dbIB { display: inline-block; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 フェードイン 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.fadeInY { opacity: 0; visibility: hidden; transform: translateY(50px); transition: opacity 1s,visibility 1.5s, transform 1.5s; }
.fadeScY { opacity: 1; visibility: visible; transform: translateY(0); }





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 コンテンツ間隔 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.mb05 { margin-bottom: 5px; }
.mb06 { margin-bottom: 6px; }
.mb10 { margin-bottom: 10px; }
.mb15 { margin-bottom: 15px; }
.mb20 { margin-bottom: 20px; }
.mb25 { margin-bottom: 25px; }
.mb30 { margin-bottom: 30px; }
.mb35 { margin-bottom: 35px; }
.mb40 { margin-bottom: 40px; }
.mb50 { margin-bottom: 50px; }
.mb60 { margin-bottom: 60px; }
.mb70 { margin-bottom: 70px; }
.mb80 { margin-bottom: 80px; }
.mb90 { margin-bottom: 90px; }
.mb100 { margin-bottom: 100px; }
.mb120 { margin-bottom: 120px; }
.mb140 { margin-bottom: 140px; }
.mb160 { margin-bottom: 160px; }
.mb180 { margin-bottom: 180px; }
.mb200 { margin-bottom: 200px; }

@media screen and (max-width: 767px) {
	.mb10 { margin-bottom: 5px; }
	.mb15 { margin-bottom: 10px; }
	.mb20 { margin-bottom: 10px; }
	.mb25 { margin-bottom: 15px; }
	.mb30 { margin-bottom: 20px; }
	.mb35 { margin-bottom: 20px; }
	.mb40 { margin-bottom: 20px; }
	.mb50 { margin-bottom: 25px; }
	.mb60 { margin-bottom: 30px; }
	.mb70 { margin-bottom: 35px; }
	.mb80 { margin-bottom: 40px; }
	.mb90 { margin-bottom: 45px; }
	.mb100 { margin-bottom: 50px; }
	.mb120 { margin-bottom: 60px; }
	.mb140 { margin-bottom: 70px; }
	.mb160 { margin-bottom: 80px; }
	.mb180 { margin-bottom: 90px; }
	.mb200 { margin-bottom: 100px; }
}
