@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic&display=swap');
@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; }





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 フォームリセット 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

input { outline: none; appearance: none; font-weight: 500; vertical-align: top; padding: 0; /* iOS */ border-radius: 0; }
input[type="reset"],
input[type="submit"] { border: none; cursor: pointer; }
label { display: inline-block; }
textarea { outline: none; appearance: none; resize: none; padding: 0; /* iOS */ border-radius: 0; }
select { outline: none; appearance: none; font-weight: 500; cursor: pointer; /* FireFox Android iOS */ background-color: #ffffff; /* Mac */ border-radius: 0; }
button { border: none; font-weight: 500; vertical-align: top; padding: 0; cursor: pointer; }
::placeholder { /* FireFox */ opacity: 1; }
:focus::placeholder { color: transparent; }





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 基礎スタイル 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

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; font-weight: 500; font-feature-settings: "palt"; }
html,
select,
::placeholder { color: #26426d; }

a { color: #2642c7; text-decoration: underline; }

@media screen and (min-width: 821px) {
	a:hover { text-decoration: none; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 汎用フォント関連 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.fwN { font-weight: 500; }
.fwB { font-weight: 700; }
.fcR { color: #ff0000; }
.fcB { color: #5987d1; }
.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：文字サイズ個別指定 ］
―――――――――――――――――――――――――――――― */

.font14 { font-size: 1.4rem; line-height: 2.2rem; }
.font16 { font-size: 1.6rem; line-height: 2.8rem; }
.font20 { font-size: 2rem; line-height: 3.6rem; }
.font22 { font-size: 2.2rem; line-height: 3.8rem; }

@media screen and (max-width: 767px) {
	.font16 { font-size: 1.4rem; line-height: 2.4rem; }
	.font20 { font-size: 1.8rem; line-height: 3.2rem; }
	.font22 { font-size: 2rem; line-height: 3.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: 8px; }



/* ――――――――――――――――――――――――――――――
［ commonPara：段落行間 ］
―――――――――――――――――――――――――――――― */

.commonPara15 p:not(:last-child) { margin-bottom: 15px; }
.commonPara25 p:not(:last-child) { margin-bottom: 25px; }





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 汎用レイアウト関連 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

/* ――――――――――――――――――――――――――――――
［ commonInner：基準スペーサー ］
―――――――――――――――――――――――――――――― */

.commonInner1 { padding-right: calc( 50 / 1100 * 100% ); padding-left: calc( 50 / 1100 * 100% ); }
.commonInner2 { background-color: #f0f9fe; padding: 80px calc( 50 / 1100 * 100% ); }

@media screen and (max-width: 767px) {
	.commonInner1 { padding-right: calc( 15 / 320 * 100% ); padding-left: calc( 15 / 320 * 100% ); }
	.commonInner2 { padding: 40px 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; }
}



/* ――――――――――――――――――――――――――――――
［ maxW：max-width指定かつセンタリング ］
―――――――――――――――――――――――――――――― */

.maxW640 { max-width: 640px; margin-right: auto; margin-left: auto; }
.maxW860 { max-width: 860px; margin-right: auto; margin-left: auto; }
.maxW920 { max-width: 920px; margin-right: auto; margin-left: auto; }
.maxW1000 { max-width: 1000px; margin-right: auto; margin-left: auto; }

@media screen and (max-width: 767px) {
	.maxW640,
	.maxW860,
	.maxW920,
	.maxW1000 { max-width: 500px; }
}



/* ――――――――――――――――――――――――――――――
［ 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; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 コンテンツ間隔 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

/* ――――――――――――――――――――――――――――――
［ 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; }
}
