@charset "utf-8";

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 リセット 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

*,*:before,*:after { box-sizing: border-box; }
h1,h2,h3,h4,h5,h6 { font-weight: inherit; margin-top: 0; margin-bottom: 0; }
ol,ul { list-style: none; padding-left: 0; margin-top: 0; margin-bottom: 0; }
dl { margin-top: 0; margin-bottom: 0; }
dd { margin-left: 0; }
p { margin-top: 0; margin-bottom: 0; }
img { width: 100%; height: auto; vertical-align: top; }
a { word-break: break-all; }
a:link { outline: 0; }
table { border-collapse: collapse; }
table tr th { text-align: left; vertical-align: top; padding: 0; }
table tr td { vertical-align: top; padding: 0; }





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 基礎スタイル 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

html { overflow: hidden; overflow-y: scroll; scroll-behavior: smooth; font-family: "Yu Gothic", "游ゴシック体", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Arial", sans-serif; font-size: 62.5%; line-height: 1; color: #333333; font-weight: 500; font-feature-settings: "palt"; }
a { color: #333333; }





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 汎用フォント関連 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.fwN { font-weight: 500; }
.fwB { font-weight: 700; }
.fcR { color: #cc0000; }
.tdL { text-decoration: line-through; }
.tdU { text-decoration: underline; }
.wsN { white-space: nowrap; }
.taR,.taRL,.taRC { text-align: right; }
.taC,.taCL { text-align: center; }

@media screen and (max-width: 767px) {
	.taRL,.taCL { text-align: left; }
	.taLC,.taRC { text-align: center; }
}



/* ――――――――――――――――――――――――――――――
［ font：文字サイズ個別指定 ］
―――――――――――――――――――――――――――――― */

.font12 { font-size: 1.2rem; line-height: 2rem; }
.font14 { font-size: 1.4rem; line-height: 2.2rem; }
.font16 { font-size: 1.6rem; line-height: 2.6rem; }

@media screen and (max-width: 767px) {
	.font14 { font-size: 1.2rem; line-height: 2rem; }
	.font16 { font-size: 1.4rem; line-height: 2.2rem; }
	.font18 { font-size: 1.6rem; line-height: 2.4rem; }
}



/* ――――――――――――――――――――――――――――――
［ commonAnn：注釈 ］
―――――――――――――――――――――――――――――― */

.commonAnn { display: table; }
.commonAnn dt,
.commonAnn dd { display: table-cell; }
.commonAnn dt { white-space: nowrap; }

/* 複数 */
.commonAnn dl { display: table-row; }
.commonAnn dl:not(:last-child) dt,
.commonAnn dl:not(:last-child) dd { padding-bottom: 4px; }



/* ――――――――――――――――――――――――――――――
［ commonPara：段落行間 ］
―――――――――――――――――――――――――――――― */

.commonPara15 p:not(:last-child) { margin-bottom: 15px; }
.commonPara20 p:not(:last-child) { margin-bottom: 20px; }
.commonPara25 p:not(:last-child) { margin-bottom: 25px; }
.commonPara30 p:not(:last-child) { margin-bottom: 30px; }
.commonPara35 p:not(:last-child) { margin-bottom: 35px; }
.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; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 汎用レイアウト関連 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

/* ――――――――――――――――――――――――――――――
［ commonWrap：基準スペーサー ］
―――――――――――――――――――――――――――――― */

.commonWrap { padding-right: calc( 50 / 1100 * 100% ); padding-left: calc( 50 / 1100 * 100% ); }

@media screen and (max-width: 767px) {
	.commonWrap { padding-right: calc( 15 / 320 * 100% ); padding-left: calc( 15 / 320 * 100% ); }
}



/* ――――――――――――――――――――――――――――――
［ float：基本セット ］
―――――――――――――――――――――――――――――― */

.ofH { overflow: hidden; }
.flL,.flLOff { float: left; }
.flR,.flROff { float: right; }

@media screen and (max-width: 767px) {
	.flLOff { float: none; }
	.flROff { float: none; }
}



/* ――――――――――――――――――――――――――――――
［ mrlAuto：ブロック要素センタリング ］
―――――――――――――――――――――――――――――― */

.mrlAuto,.mrlAutoOff { margin-right: auto; margin-left: auto; }

@media screen and (max-width: 767px) {
	.mrlAutoOff { margin-right: 0; margin-left: 0; }
}



/* ――――――――――――――――――――――――――――――
［ 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; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 汎用画像処理関連 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

/* ――――――――――――――――――――――――――――――
［ autoImg：原寸表示 ］
―――――――――――――――――――――――――――――― */

.autoImg img { max-width: 100%; width: auto; }



/* ――――――――――――――――――――――――――――――
［ changeImg：2点の画像入れ替え ］
―――――――――――――――――――――――――――――― */

.changeImg div:nth-child(2) { display: none; }

@media screen and (max-width: 767px) {
	.changeImg div:nth-child(1) { display: none; }
	.changeImg div:nth-child(2) { display: block; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 コンテンツ間隔 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

/* ――――――――――――――――――――――――――――――
［ margin-bottom ］
―――――――――――――――――――――――――――――― */

.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; }
}
