@charset "utf-8";

/*---------------------------------------------
 custom reset
---------------------------------------------*/
*,*:after,*:before { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
html,body {font-size:10px; height: 100%;  line-height: 1.75; color: #222; font-family: "M PLUS 1p", "メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif; font-weight: 500; text-size-adjust: none; -webkit-text-size-adjust: none;}
body {font-size: 2.4rem;}
.wrapInner{ margin: 0 auto; max-width: 1080px; position: relative; z-index: 2; }
a { text-decoration: none; color: #333;}
a,.link,a img{-webkit-transition: all 0.3s ease;-moz-transition: all 0.3s ease;-o-transition: all 0.3s ease;transition: all 0.3s ease;}
a.img_link:hover img{opacity: 0.7;}
sup{font-size: 60%;}
img {max-width: 100%; -webkit-backface-visibility: hidden;}

/*---------------------------------------------
 generic  class
---------------------------------------------*/
.txtB { font-weight: bold!important; }.txtN { font-weight: normal!important; }
.layoutC { text-align: center!important; }.layoutL { text-align: left!important; }.layoutR { text-align: right!important; }
.ov{overflow: hidden!important;}.fl{float: left!important;}.fr{float: right!important;}

/*---------------------------------------------
 base margin
---------------------------------------------*/
.mt0 { margin-top: 0px !important; }.mt5 { margin-top: 5px !important; }.mt10 { margin-top: 10px !important; }.mt15 { margin-top: 15px !important; }.mt20 { margin-top: 20px !important; }.mt25 { margin-top: 25px !important; }.mt30 { margin-top: 30px !important; }.mt40 { margin-top: 40px !important; }.mt50 { margin-top: 50px !important; }.mt60 { margin-top: 60px !important; }.mt70 { margin-top: 70px !important; }.mt80 { margin-top: 80px !important; }
.ml0 { margin-left: 0px !important; }.ml5 { margin-left: 5px !important; }.ml10 { margin-left: 10px !important; }.ml15 { margin-left: 15px !important; }.ml20 { margin-left: 20px !important; }.ml30 { margin-left: 30px !important; }.ml40 { margin-left: 40px !important; }
.mr0 { margin-right: 0px !important; }.mr5 { margin-right: 5px !important; }.mr10 { margin-right: 10px !important; }.mr15 { margin-right: 15px !important; }.mr20 { margin-right: 20px !important; }.mr25 { margin-right: 25px !important; }.mr30 { margin-right: 30px !important; }.mr40 { margin-right: 40px !important; }
.mb0 { margin-bottom: 0px !important; }.mb5 { margin-bottom: 5px !important; }.mb10 { margin-bottom: 10px !important; }.mb15 { margin-bottom: 15px !important; }.mb20 { margin-bottom: 20px !important; }.mb25 { margin-bottom: 25px !important; }.mb30 { margin-bottom: 30px !important; }.mb40 { margin-bottom: 40px !important; }.mb50 { margin-bottom: 50px !important; }.mb60 { margin-bottom: 60px !important; }.mb70 { margin-bottom: 70px !important; }.mb80 { margin-bottom: 80px !important; }

.pt0 { padding-top: 0px !important; }.pt5 { padding-top: 5px !important; }.pt10 { padding-top: 10px !important; }.pt15 { padding-top: 15px !important; }.pt20 { padding-top: 20px !important; }.pt25 { padding-top: 25px !important; }.pt30 { padding-top: 30px !important; }.pt40 { padding-top: 40px !important; }.pt50 { padding-top: 50px !important; }.pt60 { padding-top: 60px !important; }.pt70 { padding-top: 70px !important; }.pt80 { padding-top: 80px !important; }
.pl0 { padding-left: 0px !important; }.pl5 { padding-left: 5px !important; }.pl10 { padding-left: 10px !important; }.pl15 { padding-left: 15px !important; }.pl20 { padding-left: 20px !important; }.pl30 { padding-left: 30px !important; }.pl40 { padding-left: 40px !important; }
.pr0 { padding-right: 0px !important; }.pr5 { padding-right: 5px !important; }.pr10 { padding-right: 10px !important; }.pr15 { padding-right: 15px !important; }.pr20 { padding-right: 20px !important; }.pr25 { padding-right: 25px !important; }.pr30 { padding-right: 30px !important; }.pr40 { padding-right: 40px !important; }
.pb0 { padding-bottom: 0px !important; }.pb5 { padding-bottom: 5px !important; }.pb10 { padding-bottom: 10px !important; }.pb15 { padding-bottom: 15px !important; }.pb20 { padding-bottom: 20px !important; }.pb25 { padding-bottom: 25px !important; }.pb30 { padding-bottom: 30px !important; }.pb40 { padding-bottom: 40px !important; }.pb50 { padding-bottom: 50px !important; }.pb60 { padding-bottom: 60px !important; }.pb70 { padding-bottom: 70px !important; }.pb80 { padding-bottom: 80px !important; }

.w5p{ width: 5%!important;}.w8p{ width: 8%!important;}.w10p{ width: 10%!important;}.w11p{ width: 11%!important;}.w12p{ width: 12%!important;}.w15p{ width: 15%!important;}.w20p{ width: 20%!important;}.w25p{ width: 25%!important;}.w30p{ width: 30%!important;}.w35p{ width: 35%!important;}.w40p{ width: 40%!important;}.w45p{ width: 45%!important;}.w50p{ width: 50%!important;}.w55p{ width: 55%!important;}.w60p{ width: 60%!important;}.w65p{ width: 65%!important;}.w70p{ width: 70%!important;}.w75p{ width: 75%!important;}.w80p{ width: 80%!important;}.w85p{ width: 85%!important;}.w90p{ width: 90%!important;}.w95p{ width: 95%!important;}.w100p{ width: 100%!important;}
.wmax{ width: 100%!important; height: auto!important;}
.fz10{ font-size: 1rem !important; }.fz11{ font-size: 1.1rem !important; }.fz12{ font-size: 1.2rem !important; }.fz14{ font-size: 1.4rem !important; }.fz16{ font-size: 1.6rem !important; }.fz18{ font-size: 1.8rem !important; }.fz20{ font-size: 2rem !important; }.fz22{ font-size: 2.2rem !important; }.fz24{ font-size: 2.4rem !important; }.fz26{ font-size: 2.6rem !important; }.fz28{ font-size: 2.8rem !important; }.fz30{ font-size: 3rem !important; }.fz32{ font-size: 3.2rem !important; }.fz34{ font-size: 3.4rem !important; }.fz36{ font-size: 3.6rem !important; }.fz38{ font-size: 3.8rem !important; }.fz40{ font-size: 4rem !important; }.fz42{ font-size: 4.2rem !important; }.fz44{ font-size: 4.4rem !important; }.fz46{ font-size: 4.6rem !important; }.fz48{ font-size: 4.8rem !important; }

.max1280{ max-width: 1280px!important; margin: 0 auto!important;}
.max1024{ max-width: 1024px!important; margin: 0 auto!important; }
.max960{ max-width: 960px!important; margin: 0 auto!important; }
.max820{ max-width: 820px!important; margin: 0 auto!important; }
.max800{ max-width: 800px!important; margin: 0 auto!important; }
.max720{ max-width: 720px!important; margin: 0 auto!important; }
.max700{ max-width: 700px!important; margin: 0 auto!important; }
.max640{ max-width: 640px!important; margin: 0 auto!important;}
.max600{ max-width: 600px!important; margin: 0 auto!important;}
.max500{ max-width: 500px!important; margin: 0 auto!important; }
.max400{ max-width: 400px!important; margin: 0 auto!important; }
.max300{ max-width: 300px!important; margin: 0 auto!important; }
.max200{ max-width: 200px!important; margin: 0 auto!important;}

.mgA{margin-left: auto!important; margin-right: auto!important;}

/*---------------------------------------------
 grid system
---------------------------------------------*/
.grid {margin: 0 auto;overflow: hidden;padding-right: 0;}
.grid:after {content: "";display: table;clear: both;}
.colNum {float: left;min-height: 1px;}.push_right { float: right; }
.grid.inline{ letter-spacing: -0.4em; text-align: center; }
.grid.inline .colNum{ float: none; display: inline-block; vertical-align: middle; letter-spacing: normal; text-align: left;}
.gd_0 { margin-right: -0px; margin-bottom: -0px;}.gd_1 { margin-right: -1px; margin-bottom: -1px;}.gd_8 { margin-right: -8px; margin-bottom: -8px;}.gd_10 { margin-right: -10px; margin-bottom: -10px;}.gd_15 { margin-right: -15px; margin-bottom: -15px;}.gd_16 { margin-right: -16px; margin-bottom: -16px;}.gd_20 { margin-right: -20px; margin-bottom: -20px;}.gd_24 { margin-right: -24px; margin-bottom: -24px;}.gd_25 { margin-right: -25px; margin-bottom: -25px;}.gd_30 { margin-right: -30px; margin-bottom: -30px;}.gd_40 { margin-right: -40px; margin-bottom: -40px;}.gd_50 { margin-right: -50px; margin-bottom: -50px;}.gd_60 { margin-right: -60px; margin-bottom: -60px;}
.gd_0 .colNum {margin-bottom: 0; padding-right: 0;}.gd_1 .colNum {margin-bottom: 1px; padding-right: 1px;}.gd_8 .colNum {margin-bottom: 8px; padding-right: 8px;}.gd_10 .colNum {margin-bottom: 10px; padding-right: 10px;}.gd_15 .colNum {margin-bottom: 15px; padding-right: 15px;}.gd_16 .colNum {margin-bottom: 16px; padding-right: 16px;}.gd_20 .colNum {margin-bottom: 20px; padding-right: 20px;}.gd_24 .colNum {margin-bottom: 24px; padding-right: 24px;}.gd_25 .colNum {margin-bottom: 25px; padding-right: 25px;}.gd_30 .colNum {margin-bottom: 30px; padding-right: 30px;}.gd_40 .colNum {margin-bottom: 40px; padding-right: 40px;}.gd_60 .colNum {margin-bottom: 60px; padding-right: 60px;}.gd_60 .colNum {margin-bottom: 60px; padding-right: 60px;}
.grid.border .colNum{border-right: 1px solid rgba(0,0,0,0.2);/*$カラム間ボーダー*/}
.grid.border.gd_8 { margin-right: -4px; margin-left: -4px; margin-bottom: -8px;}.grid.border.gd_10 { margin-right: -5px; margin-left: -5px; margin-bottom: -10px;}.grid.border.gd_15 { margin-right: -7px; margin-left: -7px; margin-bottom: -15px;}.grid.border.gd_20 { margin-right: -10px; margin-left: -10px; margin-bottom: -20px;}.grid.border.gd_25 { margin-right: -12px; margin-left: -12px; margin-bottom: -25px;}.grid.border.gd_30 { margin-right: -15px; margin-left: -15px; margin-bottom: -30px;}.grid.border.gd_40 { margin-right: -20px; margin-left: -20px; margin-bottom: -40px;}
.grid.border.gd_10 .colNum {margin-bottom: 10px; padding-right: 5px; padding-left: 5px; }.grid.border.gd_10 .colNum {margin-bottom: 10px; padding-right: 5px; padding-left: 5px; }.grid.border.gd_15 .colNum {margin-bottom: 15px; padding-right: 7px; padding-left: 7px; }.grid.border.gd_16 .colNum {margin-bottom: 16px; padding-right: 8px; padding-left: 8px; }.grid.border.gd_20 .colNum {margin-bottom: 20px; padding-right: 10px; padding-left: 10px; }.grid.border.gd_24 .colNum {margin-bottom: 24px; padding-right: 12px; padding-left: 12px; }.grid.border.gd_25 .colNum {margin-bottom: 25px; padding-right: 12px; padding-left: 12px; }.grid.border.gd_30 .colNum {margin-bottom: 30px; padding-right: 15px; padding-left: 15px; }.grid.border.gd_40 .colNum {margin-bottom: 40px; padding-right: 20px; padding-left: 20px; }
.col_1_1 { width: 100%; }.col_2_3,.col_8_12 { width: 66.66%; }.col_1_2,.col_6_12 { width: 50%; }.col_1_3,.col_4_12 { width: 33.33%; }.col_1_4,.col_3_12 { width: 25%; }.col_1_5 { width: 20%; }.col_1_6,.col_2_12 { width: 16.667%; }.col_1_7 { width: 14.28%; }.col_1_8 { width: 12.5%; }.col_1_9 { width: 11.1%; }.col_1_10 { width: 10%; }.col_1_11 { width: 9.09%; }.col_1_12 { width: 8.33%; }.col_11_12 { width: 91.66%; }.col_10_12 { width: 83.333%; }.col_9_12 { width: 75%; }.col_5_12 { width: 41.66%; }.col_7_12 { width: 58.33%; }
.push_2_3,.push_8_12 { margin-left: 66.66%; }.push_1_2,.push_6_12 { margin-left: 50%; }.push_1_3,.push_4_12 { margin-left: 33.33%; }.push_1_4,.push_3_12 { margin-left: 25%; }.push_1_5 { margin-left: 20%; }.push_1_6,.push_2_12 { margin-left: 16.667%; }.push_1_7 { margin-left: 14.28%; }.push_1_8 { margin-left: 12.5%; }.push_1_9 { margin-left: 11.1%; }.push_1_10 { margin-left: 10%; }.push_1_11 { margin-left: 9.09%; }.push_1_12 { margin-left: 8.33%; }
.colInner{height: 100%;}

.tabl_w{display: table; width: 100%;}
.tabl_c{display: table-cell; vertical-align: middle;}

:root {
	--main-color: #004193;
	--sub-color-01: #f8b900;
	--accent-color-01: #f9b900;
	--accent-color-02: #ff9500;
	--accent-color-03: #ffff00;
	--accent-color-04: #fbec20;
	--accent-color-05: #dea300;
	--bg-color-01: #ffe7a0;
	--bg-color-02: #fcf0ce;
	--bg-color-03: #ecfdff;
	--bg-color-04: #e4f7e5;
	--bg-color-05: #e6f7ff;
	--white: #fff;
	--grey-01: #d5d5d5;
	--blue-01: #014da0;
}

/*---------------------------------------------
 wrap
---------------------------------------------*/
#wrap {
	-webkit-text-size-adjust: 100%;
	overflow-x: hidden;
	position: relative;
	width: 100%;
}

/*---------------------------------------------
 header
---------------------------------------------*/
#header{
	background-color: var(----main-color);
	background: -moz-linear-gradient(left,  #004da0 0%, #004da0 66%, #0053a6 100%);
	background: -webkit-linear-gradient(left,  #004da0 0%,#004da0 66%,#0053a6 100%);
	background: linear-gradient(to right,  #004da0 0%,#004da0 66%,#0053a6 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#004da0', endColorstr='#0053a6',GradientType=1 );
	padding: 23px 10px;
}

/*---------------------------------------------
 footer
---------------------------------------------*/
#footer {
	background: #fff;
	padding: 135px 10px 64px;
}
#footer ul li + li{
	margin-top: 48px;
}
#footer .copyright {
	font-size: 2rem;
	margin-top: 64px;
	text-align: center;
}
#footer .ttlWrap {
	text-align: center;
	margin-bottom: 48px;
}
#footer .ttlWrap .ttl {
	font-size: 3.7rem;
	font-weight: bold;
	line-height: 1.3;
}
#footer .ttlWrap .ttl .marker::before {
	background-color: var(--accent-color-04);
}

/*---------------------------------------------
 fixBtn
---------------------------------------------*/
.fixBtn {
	position: fixed;
	right: 16px;
	bottom: 16px;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
	z-index: 100;
}
.fixBtn .btn {
	display: block;
	width: 162px;
	height: 162px;
}
.fixBtn .btn + .btn {
	margin-top: 30px;
}


/*---------------------------------------------
 side nav 
---------------------------------------------*/
.sideLeftWrap {
	width: 26.3%;
	padding-right: 2%;
	padding-left: 5.2%;
	position: fixed;
	left: 0;
	top: 40px;
	min-height: calc(100vh - 40px);
	z-index: 100;
	display: flex;
	align-items: center;
	padding-bottom: 88px;
}
.sideRightWrap {
	width: calc(100% - 26.3%);
	margin-left: auto;
	overflow: hidden;
}
.sideRightWrap .wrapInner {
	max-width: 780px;
}
.sideNav {
	position: relative;
	padding-left: 31px;
	padding-bottom: 4px;
}
.sideNav::before {
	content: "";
	width: 6px;
	height: 100%;
	border-radius: 3px;
	position: absolute;
	background-color: #fbec20;
	left: 0;
	top: 0;
}
.sideNavTtl {
	min-height: 70px;
	display: flex;
	align-items: center;
	font-size: 2.4rem;
}
.sideNavTtl a {
	transform: all .8s ease;
}
.sideNavTtl a.active {
	color: var(--blue-01);
}
.sideNavList + .sideSecTtl {
	margin-top: 18px;
}
.sideSecTtl + .sideSecTtl {
	margin-top: 10px;
}
.sideSecTtl {
	font-size: 2.4rem;
}
.sideSecTtl a.active {
	color: var(--blue-01);
}
.sideNavList > li a {
	font-size: 1.8rem;
	padding-left: 15px;
	transform: all .8s ease;
}
.sideNavList > li a.active {
	color: var(--blue-01);
}
.curStick {
	position: absolute;
	left: 0;
	top: 0;
}
.curStick span {
	position: relative;
}
.curStick span::before {
	content: "";
	width: 6px;
	height: 70px;
	border-radius: 3px;
	background-color: var(--blue-01);
	position: absolute;
	left: 0;
	top: 0;
	transition: all .8s ease;
}
.curStick span.curTarget01::before,
.curStick span.curTarget02::before,
.curStick span.curTarget03::before,
.curStick span.curTarget04::before,
.curStick span.curTarget05::before {
	height: 40px;
}
.curStick span.curTarget01::before {
	top: 116px;
}
.curStick span.curTarget02::before {
	top: 158px;
}
.curStick span.curTarget03::before {
	top: 214px;
}
.curStick span.curTarget04::before {
	top: 266px;
}
.curStick span.curTarget05::before {
	top: 320px;
}
.curStick span.curTarget06::before {
	top: 370px;
}
.contactBtnWrap {
	width: 163px;
	margin-top: 32px;
}
.centerBlock {
	display: flex;
	justify-content: center;
}


/*---------------------------------------------
 module
 ---------------------------------------------*/
.fadeIn {
	opacity: 0;
	transform: translateY(100px);
	-webkit-transition: all 0.75s ease;
	-moz-transition: all 0.75s ease;
	-o-transition: all 0.75s ease;
	transition: all 0.75s ease;
}
.fadeIn.show {
	opacity: 1;
	transform: translate(0,0);
}

.ttlLgCmn {
	text-align: center;
	font-size: 5.6rem;
	font-weight: bold;
	color: var(--main-color);
	line-height: 1.21;
	margin-bottom: 40px;
}
.ttlLgCmn .icn {
	display: block;
	margin: 0 auto;
	height: 42px;
	width: auto;
}
.ttlMdWrap {
	background-color: var(--accent-color-05);
	color: #fff;
	display: flex;
	align-items: center;
	padding: 5px 24px;
	min-height: 102px;
	border-radius: 8px;
	margin-bottom: 36px;
}
.ttlMdWrap:not(:first-of-type) {
	margin-top: 80px;
}
.ttlMdWrap.blue {
	background-color: var(--main-color);
}
.ttlMdWrap .label {
	border-right: 2px solid var(--white);
	padding-right: 30px;
	font-size: 2.4rem;
	display: inline-flex;
	align-items: center;
	margin-right: 32px;
}
.ttlMdWrap .label .num {
	font-size: 7.2rem;
	margin-left: 12px;
	line-height: 1;
}
.ttlMdWrap .ttlMdCmn {
	flex: 1;
	font-size: 3.4rem;
	font-weight: bold;
	line-height: 1.176;
}
.ttlLgCmn + .ttlMdV2 {
	margin-top: -14px;
}
.ttlMdV2 {
	text-align: center;
	font-size: 3.8rem;
	font-weight: bold;
	line-height: 1.5;
	color: var(--main-color);
	margin-bottom: 18px;
}
.ttlMdV2 .marker::before {
	height: 20px;
	bottom: 2px;
}
.bdTtl {
	font-size: 2.6rem;
	font-weight: bold;
	line-height: 1.4;
	color: var(--main-color);
	text-align: center;
	position: relative;
	z-index: 2;
}
.bdTtl span {
	display: inline-block;
	padding: 4px 50px;
	border-radius: 60px;
	border: 2px solid var(--main-color);
	background-color: var(--white);
}
.txtBlue {
	color: var(--main-color);
}
.secTxt {
	text-align: center;
	font-weight: normal;
}
.txtCmn {
	font-size: 1.6rem;
	line-height: 1.5;
}
.marker {
	display: inline-block;
	position: relative;
}
.marker:before {
	background-color: var(--accent-color-03);
	content: "";
	display: block;
	width: calc(100% + 12px);
	height: 27px;
	position: absolute;
	left: -6px;
	bottom: 0;
	z-index: 1;
	transform: skewX(22deg);
	z-index: -1;
}
.imgCmn {
	margin-top: 30px;
}
.bdTtl + .imgCmn {
	margin-top: -24px;
}
.btnCmn {
	background-color: var(--accent-color-01);
	border-radius: 40px;
	color: #fff;
	display:-ms-flexbox;
	display: -webkit-box;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2.6rem;
	margin: 0 auto;
	position: relative;
	width: 510px;
	height: 80px;
}
.btnCmn::after {
	background: url(../images/icn_arrow.png) no-repeat center center / contain;
	content: "";
	display: block;
	width: 10px;
	height: 18px;
	position: absolute;
	right: 35px;
	top: calc(50% - 9px);
}
.btnCmn .icn {
	display: inline-block;
	vertical-align: middle;
	width: 40px;
	margin-right: 18px;
}
.movieBtn {
	background: url(../images/icn_btn_search.png) no-repeat calc(100% - 40px) calc(100% + 10px) / 120px auto, var(--white);
	position: relative;
	width: 640px;
	max-width: 100%;
	min-height: 164px;
	border-radius: 164px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: var(--main-color);
	font-size: 2.6rem;
}
.movieBtn::before,
.movieBtn::after {
	content: "";
	position: absolute;
}
.movieBtn::before {
	width: calc(100% - 24px);
	height: calc(100% - 24px);
	border: 2px solid var(--main-color);
	left: 12px;
	top: 12px;
	border-radius: 84px;
	pointer-events: none;
}
.movieBtn::after {
	width: 11px;
	height: 16px;
	background: url(../images/icn_btn_arr.png) no-repeat 0 0 / contain;
	right: 46px;
	top: calc(50% - 8px);
}
.movieBtn.anchor::after {
	transform: rotate(90deg);
}
.movieBtn .sub {
	font-size: 2.4rem;
	display: inline-block;
	vertical-align: middle;
}
.movieBtn .icn {
	width: 28px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 12px;
}
.checkList > li {
	line-height: 1.5;
	padding-left: 40px;
	background: url(../images/icn_check.png) no-repeat 0 .2em / 31px auto;
	font-size: 2.2rem;
}
.checkList > li + li {
	margin-top: 20px;
}
.dotList > li {
	line-height: 1.5;
	padding-left: 22px;
	font-size: 2.2rem;
	position: relative;
}
.dotList > li::before {
	content: "";
	width: 12px;
	height: 12px;
	border-radius: 12px;
	background-color: var(--main-color);
	position: absolute;
	left: 0;
	top: .5em;
}
.dotList > li + li {
	margin-top: 12px;
}
.noteList {
	margin-top: 10px;
}
.noteList > li {
	padding-left: 1.3em;
	text-indent: -1.3em;
	font-size: 1.6rem;
	line-height: 1.4;
}

#mainvisual {
	background: url(../images/img_mv_bg.jpg) no-repeat center / cover;
	padding: 78px 0 42px;
}
#mainvisual .wrapInner {
	max-width: 1222px;
}
#mainvisual  .mvImg {
	text-align: center;
	padding: 0 100px 0 0;
}
#mainvisual  .mvImg img {
	width: 1051px;
}

.leadSection {
	margin-top: 84px;
	margin-bottom: 300px;
}
.leadSection .leadTtl {
	font-size: 4rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 20px;
}
.leadSection .leadTtl .quote {
	font-size: 5.6rem;
	color: var(--main-color);
}
.boxArrow {
	position: relative;
}
.boxArrow::before,
.boxArrow::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	position: absolute;
	left: calc(50% - 20px);
	z-index: 2;
}
.boxArrow::before {
	border-width: 32px 40px 0 40px;
	border-color: var(--white) transparent transparent transparent;
	bottom: -30px;
	z-index: 3;
}
.boxArrow::after {
	border-width: 32px 40px 0 40px;
	border-color: var(--main-color) transparent transparent transparent;
}
.leadTxtBox {
	border: 2px solid var(--main-color);
	border-radius: 8px;
	margin-bottom: 60px;
}
.leadTxtBox + .leadTxtBox {
	margin-top: 32px;
}
.leadTxtBox .boxTtl {
	background-color: var(--main-color);
	text-align: center;
	color: var(--white);
	padding: 15px;
	font-size: 3.2rem;
	line-height: 1.5;
}
.leadTxtBox .boxTtl .txt {
	display: inline-block;
	vertical-align: middle;
}
.leadTxtBox .boxTtl .icn {
	width: auto;
	height: 40px;
	margin-right: 16px;
	display: inline-block;
	vertical-align: middle;
}
.leadTxtBox .boxSubTtl {
	font-size: 3rem;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
	color: var(--main-color);
	margin-bottom: 24px;
	position: relative;
	z-index: 2;
}
.leadTxtBox .boxSubTtl .marker::before {
	height: 18px;
	bottom: 3px;
}
.leadTxtBox .boxBody {
	background-color: var(--white);
	padding: 30px;
	border-radius: 0 0 8px 8px;
}
.leadTxtBox .boxBody.pdSm {
	padding: 16px 30px 26px;
}
.leadTxtBox .inrCol2 {
	display: flex;
}
.leadTxtBox .inrCol2 .leftCol {
	flex: 1;
	padding-top: 30px;
}
.leadTxtBox .inrCol2 .rightCol {
	width: 264px;
	margin-left: 12px;
}
.leadTxtBox .inrCol2.v2 .leftCol {
	padding-top: 8px;
	padding-bottom: 8px;
}
.leadTxtBox .inrCol2.v2 .rightCol {
	width: 50%;
	margin-left: 0;
	padding-top: 8px;
	padding-bottom: 8px;
}
.leadTxtBox .inrCol2.v2.with-line .rightCol {
	border-left: 1px solid var(--main-color);
}
.leadTxtBox .inrCol2.v2 .leftCol .dotList {
	padding-right: 22px;
}
.leadTxtBox .inrCol2.v2 .rightCol .dotList {
	padding-left: 22px;
}
.bgcTxt {
	color: var(--white);
	background-color: var(--main-color);
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	border-radius: 8px;
	padding: 18px;
	margin-top: 24px;
}
.leadSubTtl {
	text-align: center;
	font-weight: bold;
	font-size: 3.2rem;
	margin-bottom: 16px;
}
.leadSubTtl .main {
	color: var(--main-color);
	font-size: 4.8rem;
}
.leadImg {
	text-align: center;
	margin-bottom: 60px;
}
.leadImg img {
	width: 593px;
}
.effectBgiBox {
	background: url(../images/img_lead_bg.jpg) no-repeat center / cover;
	padding: 32px 70px 40px;
	border-radius: 8px;
	position: relative;
}
.effectBgiBox .product-img {
	width: 238px;
	left: -50px;
	top: -25px;
	z-index: 2;
}
.effectBgiBox .character-img {
	width: 131px;
	right: -32px;
	bottom: -32px;
	z-index: 2;
}
.effectBgiBox .boxTtl {
	text-align: center;
	font-size: 3.2rem;
	font-weight: bold;
	color: var(--main-color);
	margin-bottom: 14px;
}
.effectBgiBox .inrCol2 {
	display: flex;
	margin-right: -16px;
}
.effectBgiBox .inrCol2 > .col {
	width: calc(50% - 16px);
	margin-right: 16px;
}
.effectBdBox {
	background-color: var(--white);
	border-radius: 8px;
	padding: 28px 10px 25px;
	text-align: center;
	position: relative;
}
.effectBdBox::before {
	content: "";
	width: calc(100% - 16px);
	height: calc(100% - 16px);
	border-radius: 8px;
	border: 2px solid var(--main-color);
	position: absolute;
	left: 8px;
	top: 8px;
	pointer-events: none;
}
.effectBdBox .ttl {
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.3;
	text-align: center;
	color: var(--main-color);
	margin-bottom: 20px;
	position: relative;
	z-index: 2;
}
.effectBdBox .ttl .sub {
	display: block;
}
.effectBdBox .ttl .main {
	font-size: 4.2rem;
}
.effectBdBox .icn img {
	width: 109px;
}
.effectBdBox .txt {
	line-height: 1.6;
	font-size: 2rem;
	margin-top: 10px;
}

.sectionCmn {
/*	margin-top: 7.6vw;*/
	margin-top: 105px;
	padding-bottom: 250px;
	position: relative;
}
.sectionCmn::before {
	content: "";
/*
	width: auto;
	min-width: 100%;
	aspect-ratio: 2015 / 210;
	height: 7.6vw;
*/
	width: 100%;
	height: 105px;
	position: absolute;
	left: 50%;
/*	top: calc(-7.6vw + 1px);*/
	top: calc(-104px);
	transform: translateX(-50%);
	z-index: -1;
}
.sectionCmn:last-of-type {
	padding-bottom: 0;
}
.sectionCmn.secBgc01,
.sectionCmn.secBgc02,
.sectionCmn.secBgc03,
.sectionCmn.secBgc04,
.sectionCmn.secBgc05 {
	z-index: 2;
	margin-top: -60px;
}
.sectionCmn.secBgc01 {
	background-color: var(--bg-color-02);
}
.sectionCmn.secBgc01::before {
	background: url(../images/img_section_bg_01.png) no-repeat center top / 100% 100%;
}
.sectionCmn.secBgc02 {
	background-color: var(--bg-color-03);
}
.sectionCmn.secBgc02::before {
	background: url(../images/img_section_bg_02.png) no-repeat center top / 100% 100%;
}
.sectionCmn.secBgc03 {
	background-color: var(--bg-color-04);
}
.sectionCmn.secBgc03::before {
	background: url(../images/img_section_bg_03.png) no-repeat center top / 100% 100%;
}
.sectionCmn.secBgc04 {
	background-color: var(--bg-color-05);
}
.sectionCmn.secBgc04::before {
	background: url(../images/img_section_bg_04.png) no-repeat center top / 100% 100%;
}
.sectionCmn.secBgc05::before {
	background: url(../images/img_section_bg_05.png) no-repeat center top / 100% 100%;
}
.sectionCmn.secBgc05 {
	background-color: var(--white);
}
.sectionCmn .ttlMdWrap {
	margin-left: -24px;
	margin-right: -24px;
}
.sectionCmn > .wrapInner {
	margin-top: -44px;
}
.sectionCmn .leadTxtBox {
	margin-bottom: 32px;
}
.sectionCmn .btnWrap {
	text-align: center;
	margin-top: 48px;
}

.dialogWrap {
	margin-top: 40px;
	padding: 0 26px;
	display: flex;
	align-items: flex-start;
}
.dialogWrap .dialogTxt {
	width: calc(100% - 162px - 38px);
	border-radius: 40px;
	background-color: var(--white);
	color: var(--main-color);
	border: 2px solid var(--main-color);
	position: relative;
	padding: 23px;
	text-align: center;
	font-weight: bold;
	line-height: 1.54;
	box-shadow: 4px 4px 0 rgba(0, 0, 0, .1);
	min-height: 144px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.dialogWrap .dialogTxt::before,
.dialogWrap .dialogTxt::after {
	content: "";
	position: absolute;
}
.dialogWrap .dialogTxt::before {
	width: calc(100% - 20px);
	height: calc(100% - 20px);
	border-radius: 30px;
	background-color: var(--bg-color-05);
	left: 10px;
	top: 10px;
}
.dialogWrap .dialogTxt::after {
	width: 26px;
	height: 24px;
	background: url(../images/icn_dialog_arr.png) no-repeat 0 0 / contain;
	right: -26px;
	bottom: 38px;
}
.dialogWrap .dialogTxt * {
	position: relative;
	z-index: 2;
}
.dialogWrap .txt {
	font-size: 2.2rem;
}
.dialogWrap .note {
	font-size: 1.8rem;
}
.dialogWrap .dialogImg {
	width: 162px;
	margin-left: 38px;
	padding-top: 20px;
}
.dialogWrap.rev .dialogTxt {
	order: 2;
}
.dialogWrap.rev .dialogImg {
	order: 1;
	margin-left: 0;
	margin-right: 38px;
}
.dialogWrap.rev .dialogTxt::after {
	transform: scale(-1, 1);
	right: auto;
	left: -26px;
}
.whiteBoxCmn {
	padding: 38px;
	border-radius: 8px;
	background-color: var(--white);
	box-shadow: 4px 4px 0 rgba(0, 0, 0, .1);
}

.movieWrap {
	border: 2px solid var(--grey-01);
	line-height: 1;
	position: relative;
}
.movieWrap .movie {
	background: #ccc;
	padding-top: 56.25%;
	position: relative;
}
.movieWrap .movie iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}

.contactSection {
	padding-top: 84px;
	padding-bottom: 90px;
	margin-top: 120px;
	background-color: var(--bg-color-01);
}
.contactSection .wrapInner {
	position: relative;
}
.product-img {
	width: 354px;
	position: absolute;
	left: -88px;
	top: -234px;
}
.character-img {
	width: 251px;
	position: absolute;
	right: -40px;
	bottom: -110px;
}
.contactSection .ttlWrap {
	text-align: center;
	margin-bottom: 22px;
}
.contactSection .ttlWrap .ttl {
	font-size: 5.6rem;
	font-weight: bold;
	line-height: 1.3;
	color: var(--main-color);
}
.contactSection .ttlWrap .ttl .marker:before {
	background-color: #fff;
}
.contactSection .btnWrap {
	margin-top: 35px;
}
.contactSection .btnCmn {
	background-color: var(--accent-color-02);
}
.contactSection .btnCmn .icn {
	width: 35px;
	margin-right: 15px;
}


 /*==========================================================================================================
 PC Only
 ==========================================================================================================*/
@media screen and (min-width: 768px){

	.menuBtn,
	.spOnly{display: none!important;}

	/* hover */
	.sideSecTtl a:hover,
	.movieWrap a:hover,
	.movieBtn:hover,
	.btnCmn:hover,
	.sideNavList > li a:hover,
	.contactBtn:hover img {
		opacity: .7;
	}

	#wrap {
		min-width: 1180px;
	}
	
	/*	side nav  */
	.sideLeftWrap {
		opacity: 0;
		pointer-events: none;
		transition: all .3s ease;
	}
	.sideLeftWrap.pcShow {
		opacity: 1;
		pointer-events: auto;
	}

}
/*==========================================================================================================
 ビューポートの高さが850px以下の時
==========================================================================================================*/
@media screen and (max-height: 910px){
	.contactBtnWrap {
		width: 13svh;
		margin-top: 20px;
	}
}

/*==========================================================================================================
 SP Only
==========================================================================================================*/
@media screen and (max-width: 767px){

	.pcOnly { display: none !important; }

	body{font-size: 3.75vw;}

	.grid:not(.sp_grid){margin-right: 0; margin-bottom: 0;}
	.grid:not(.sp_grid)>.colNum{ width: 100%; padding-right: 0; margin-bottom: 15px;}
	.grid:not(.sp_grid)>.colNum:last-child{ margin-bottom: 0};

	.sp_gd_0 { margin-right: -0px; margin-bottom: -0px;}.sp_gd_1 { margin-right: -1px; margin-bottom: -1px;}.sp_gd_8 { margin-right: -8px; margin-bottom: -8px;}.sp_gd_10 { margin-right: -10px; margin-bottom: -10px;}.sp_gd_15 { margin-right: -15px; margin-bottom: -15px;}.sp_gd_16 { margin-right: -16px; margin-bottom: -16px;}.sp_gd_20 { margin-right: -20px; margin-bottom: -20px;}.sp_gd_24 { margin-right: -24px; margin-bottom: -24px;}.sp_gd_25 { margin-right: -25px; margin-bottom: -25px;}.sp_gd_30 { margin-right: -30px; margin-bottom: -30px;}.sp_gd_40 { margin-right: -40px; margin-bottom: -40px;}.sp_gd_88 { margin-right: -88px; margin-bottom: -88px;}
	.sp_gd_0>.colNum {margin-bottom: 0; padding-right: 0;}.sp_gd_1>.colNum {margin-bottom: 1px; padding-right: 1px;}.sp_gd_8>.colNum {margin-bottom: 8px; padding-right: 8px;}.sp_gd_10>.colNum {margin-bottom: 10px; padding-right: 10px;}.sp_gd_15>.colNum {margin-bottom: 15px; padding-right: 15px;}.sp_gd_16>.colNum {margin-bottom: 16px; padding-right: 16px;}.sp_gd_20>.colNum {margin-bottom: 20px; padding-right: 20px;}.sp_gd_24>.colNum {margin-bottom: 24px; padding-right: 24px;}.sp_gd_25>.colNum {margin-bottom: 25px; padding-right: 25px;}.sp_gd_30>.colNum {margin-bottom: 30px; padding-right: 30px;}.sp_gd_40>.colNum {margin-bottom: 40px; padding-right: 40px;}.sp_gd_88>.colNum {margin-bottom: 88px; padding-right: 88px;}
	.sp_grid.border.sp_gd_8 { margin-right: -4px; margin-left: -4px; margin-bottom: -8px;}.sp_grid.border.sp_gd_10 { margin-right: -5px; margin-left: -5px; margin-bottom: -10px;}.sp_grid.border.sp_gd_15 { margin-right: -7px; margin-left: -7px; margin-bottom: -15px;}.sp_grid.border.sp_gd_20 { margin-right: -10px; margin-left: -10px; margin-bottom: -20px;}.sp_grid.border.sp_gd_25 { margin-right: -12px; margin-left: -12px; margin-bottom: -25px;}.sp_grid.border.sp_gd_30 { margin-right: -15px; margin-left: -15px; margin-bottom: -30px;}.sp_grid.border.sp_gd_40 { margin-right: -20px; margin-left: -20px; margin-bottom: -40px;}
	.sp_grid.border.sp_gd_10>.colNum {margin-bottom: 10px; padding-right: 5px; padding-left: 5px; }.sp_grid.border.sp_gd_10>.colNum {margin-bottom: 10px; padding-right: 5px; padding-left: 5px; }.sp_grid.border.sp_gd_15>.colNum {margin-bottom: 15px; padding-right: 7px; padding-left: 7px; }.sp_grid.border.sp_gd_16>.colNum {margin-bottom: 16px; padding-right: 8px; padding-left: 8px; }.sp_grid.border.sp_gd_20>.colNum {margin-bottom: 20px; padding-right: 10px; padding-left: 10px; }.sp_grid.border.sp_gd_24>.colNum {margin-bottom: 24px; padding-right: 12px; padding-left: 12px; }.sp_grid.border.sp_gd_25>.colNum {margin-bottom: 25px; padding-right: 12px; padding-left: 12px; }.sp_grid.border.sp_gd_30>.colNum {margin-bottom: 30px; padding-right: 15px; padding-left: 15px; }.sp_grid.border.sp_gd_40>.colNum {margin-bottom: 40px; padding-right: 20px; padding-left: 20px; }
	.sp_col_1_1 { width: 100%; }.sp_col_2_3,.sp_col_8_12 { width: 66.66%; }.sp_col_1_2,.sp_col_6_12 { width: 50%; }.sp_col_1_3,.sp_col_4_12 { width: 33.33%; }.sp_col_1_4,.sp_col_3_12 { width: 25%; }.sp_col_1_5 { width: 20%; }.sp_col_1_6,.sp_col_2_12 { width: 16.667%; }.sp_col_1_7 { width: 14.28%; }.sp_col_1_8 { width: 12.5%; }.sp_col_1_9 { width: 11.1%; }.sp_col_1_10 { width: 10%; }.sp_col_1_11 { width: 9.09%; }.sp_col_1_12 { width: 8.33%; }.sp_col_11_12 { width: 91.66%; }.sp_col_10_12 { width: 83.333%; }.sp_col_9_12 { width: 75%; }.sp_col_5_12 { width: 41.66%; }.sp_col_7_12 { width: 58.33%; }
	.sp_dBlock { display: block!important; }
	.sp_w5p{ width: 5%!important;}.sp_w8p{ width: 8%!important;}.sp_w10p{ width: 10%!important;}.sp_w11p{ width: 11%!important;}.sp_w12p{ width: 12%!important;}.sp_w15p{ width: 15%!important;}.sp_w16p{ width: 16%!important;}.sp_w18p{ width: 18%!important;}.sp_w20p{ width: 20%!important;}.sp_w22p{ width: 22%!important;}.sp_w25p{ width: 25%!important;}.sp_w30p{ width: 30%!important;}.sp_w35p{ width: 35%!important;}.sp_w40p{ width: 40%!important;}.sp_w45p{ width: 45%!important;}.sp_w50p{ width: 50%!important;}.sp_w55p{ width: 55%!important;}.sp_w60p{ width: 60%!important;}.sp_w65p{ width: 65%!important;}.sp_w70p{ width: 70%!important;}.sp_w75p{ width: 75%!important;}.sp_w80p{ width: 80%!important;}.sp_w85p{ width: 85%!important;}.sp_w90p{ width: 90%!important;}.sp_w95p{ width: 95%!important;}.sp_w100p{ width: 100%!important;}
	.sp_wmax{ width: 100%!important; height: auto!important; max-width: inherit;}.sp_wAuto{ width: auto !important; }
	.sp_layoutC{ text-align: center; }.sp_layoutR{ text-align: right; }.sp_layoutL{ text-align: left; }
	.sp_fz10{ font-size: 1rem !important; }.sp_fz11{ font-size: 1.1rem !important; }.sp_fz12{ font-size: 1.2rem !important; }.sp_fz14{ font-size: 1.4rem !important; }.sp_fz16{ font-size: 1.6rem !important; }.sp_fz18{ font-size: 1.8rem !important; }.sp_fz20{ font-size: 2rem !important; }.sp_fz22{ font-size: 2.2rem !important; }.sp_fz24{ font-size: 2.4rem !important; }.sp_fz26{ font-size: 2.6rem !important; }.sp_fz28{ font-size: 2.8rem !important; }.sp_fz30{ font-size: 3rem !important; }.sp_fz32{ font-size: 3.2rem !important; }.sp_fz34{ font-size: 3.4rem !important; }.sp_fz36{ font-size: 3.6rem !important; }.sp_fz38{ font-size: 3.8rem !important; }.sp_fz40{ font-size: 4rem !important; }.sp_fz42{ font-size: 4.2rem !important; }.sp_fz44{ font-size: 4.4rem !important; }.sp_fz46{ font-size: 4.6rem !important; }.sp_fz48{ font-size: 4.8rem !important; }
	.wrapInner { max-width: 100%; }

	/*---------------------------------------------
	 base margin
	---------------------------------------------*/
	.sp_mt0 { margin-top: 0px !important; }.sp_mt5 { margin-top: 5px !important; }.sp_mt10 { margin-top: 10px !important; }.sp_mt15 { margin-top: 15px !important; }.sp_mt20 { margin-top: 20px !important; }.sp_mt25 { margin-top: 25px !important; }.sp_mt30 { margin-top: 30px !important; }.sp_mt40 { margin-top: 40px !important; }.sp_mt50 { margin-top: 50px !important; }.sp_mt60 { margin-top: 60px !important; }.sp_mt70 { margin-top: 70px !important; }.sp_mt80 { margin-top: 80px !important; }
	.sp_ml0 { margin-left: 0px !important; }.sp_ml5 { margin-left: 5px !important; }.sp_ml10 { margin-left: 10px !important; }.sp_ml15 { margin-left: 15px !important; }.sp_ml20 { margin-left: 20px !important; }.sp_ml30 { margin-left: 30px !important; }.sp_ml40 { margin-left: 40px !important; }
	.sp_mr0 { margin-right: 0px !important; }.sp_mr5 { margin-right: 5px !important; }.sp_mr10 { margin-right: 10px !important; }.sp_mr15 { margin-right: 15px !important; }.sp_mr20 { margin-right: 20px !important; }.sp_mr25 { margin-right: 25px !important; }.sp_mr30 { margin-right: 30px !important; }.sp_mr40 { margin-right: 40px !important; }
	.sp_mb0 { margin-bottom: 0px !important; }.sp_mb5 { margin-bottom: 5px !important; }.sp_mb10 { margin-bottom: 10px !important; }.sp_mb15 { margin-bottom: 15px !important; }.sp_mb20 { margin-bottom: 20px !important; }.sp_mb25 { margin-bottom: 25px !important; }.sp_mb30 { margin-bottom: 30px !important; }.sp_mb40 { margin-bottom: 40px !important; }.sp_mb50 { margin-bottom: 50px !important; }.sp_mb60 { margin-bottom: 60px !important; }.sp_mb70 { margin-bottom: 70px !important; }.sp_mb80 { margin-bottom: 80px !important; }

	.sp_pt0 { padding-top: 0px !important; }.sp_pt5 { padding-top: 5px !important; }.sp_pt10 { padding-top: 10px !important; }.sp_pt15 { padding-top: 15px !important; }.sp_pt20 { padding-top: 20px !important; }.sp_pt25 { padding-top: 25px !important; }.sp_pt30 { padding-top: 30px !important; }.sp_pt40 { padding-top: 40px !important; }.sp_pt50 { padding-top: 50px !important; }.sp_pt60 { padding-top: 60px !important; }.sp_pt70 { padding-top: 70px !important; }.sp_pt80 { padding-top: 80px !important; }
	.sp_pl0 { padding-left: 0px !important; }.sp_pl5 { padding-left: 5px !important; }.sp_pl10 { padding-left: 10px !important; }.sp_pl15 { padding-left: 15px !important; }.sp_pl20 { padding-left: 20px !important; }.sp_pl30 { padding-left: 30px !important; }.sp_pl40 { padding-left: 40px !important; }
	.sp_pr0 { padding-right: 0px !important; }.sp_pr5 { padding-right: 5px !important; }.sp_pr10 { padding-right: 10px !important; }.sp_pr15 { padding-right: 15px !important; }.sp_pr20 { padding-right: 20px !important; }.sp_pr25 { padding-right: 25px !important; }.sp_pr30 { padding-right: 30px !important; }.sp_pr40 { padding-right: 40px !important; }
	.sp_pb0 { padding-bottom: 0px !important; }.sp_pb5 { padding-bottom: 5px !important; }.sp_pb10 { padding-bottom: 10px !important; }.sp_pb15 { padding-bottom: 15px !important; }.sp_pb20 { padding-bottom: 20px !important; }.sp_pb25 { padding-bottom: 25px !important; }.sp_pb30 { padding-bottom: 30px !important; }.sp_pb40 { padding-bottom: 40px !important; }.sp_pb50 { padding-bottom: 50px !important; }.sp_pb60 { padding-bottom: 60px !important; }.sp_pb70 { padding-bottom: 70px !important; }.sp_pb80 { padding-bottom: 80px !important; }

	img{width: 100%;}

	/*---------------------------------------------
	 header
	---------------------------------------------*/
	#header{
		padding: 1.875vw 27px;
		position: relative;
		z-index: 101;
	}
	#header .logo{
		line-height: 0;
		width: 11.875vw;
	}

	/*---------------------------------------------
	 footer
	---------------------------------------------*/
	#footer {
		padding: 13.5vw 10vw 10vw;
	}
	#footer ul li + li{
		margin-top: 7.5vw;
	}
	.btnCmn,
	#footer ul li .btn {
		border-radius: 6.25vw;
		font-size: 4.0625vw;
		width: 100%;
		height: 12.5vw;
	}
	.btnCmn::after,
	#footer ul li .btn:after {
		width: 1.5625vw;
		height: 2.8125vw;
		right: 5.46875vw;
		top: 50%;
		transform: translate(0,-50%);
	}
	#footer .copyright {
		font-size: 3.125vw;
		margin-top: 10vw;
	}
	#footer .ttlWrap .ttl {
		font-size: 7.8125vw;
	}
	.fixBtn {
		right: 2.5vw;
		bottom: 2.5vw;
	}
	.fixBtn .btn {
		display: block;
		width: 81px;
		height: 81px;
	}
	.fixBtn .btn + .btn {
		margin-top: 15px;
	}
	
	/*---------------------------------------------
	 side nav 
	 ---------------------------------------------*/
	.sideLeftWrap {
		width: 100%;
		height: 100%;
		position: fixed;
		top: 0;
		min-height: 100%;
		display: block;
		background-color: rgba(255, 255, 255, .96);
		align-items: flex-start;
		padding: 106px 37px 50px;
		opacity: 0;
		pointer-events: none;
		transition: all .3s ease;
	}
	.sideLeftWrap.show {
		opacity: 1;
		pointer-events: auto;
	}
	.sideLeftWrap .btnWrap {
		margin-top: 40px;
	}
	.sideLeftWrap .btnCmn {
		width: 100%;
	}
	.sideLeftWrap .btnCmn .icn {
		width: 25px;
		margin-right: 10px;
	}
	.sideRightWrap {
		width: 100%;
		margin-left: 0;
	}
	.sideNav {
		padding-left: 25px;
	}
	.sideNav::before {
		width: 5px;
	}
	.curStick span::before {
		height: 54px;
		width: 5px;
	}
	.curStick span.curTarget01::before,
	.curStick span.curTarget02::before,
	.curStick span.curTarget03::before,
	.curStick span.curTarget04::before,
	.curStick span.curTarget05::before,
	.curStick span.curTarget06::before {
		height: 40px;
	}
	.curStick span.curTarget01::before {
		top: 95px;
	}
	.curStick span.curTarget02::before {
		top: 130px;
	}
	.curStick span.curTarget03::before {
		top: 184px;
	}
	.curStick span.curTarget04::before {
		top: 235px;
	}
	.curStick span.curTarget05::before {
		top: 288px;
	}
	.curStick span.curTarget06::before {
		top: 338px;
	}
	.sideNavTtl {
		min-height: 54px;
	}
	.sideNavList + .sideSecTtl {
		margin-top: 16px;
	}
	.sideNavList {
		margin-top: 6px;
	}
	.sideNavList > li + li {
		margin-top: 8px;
	}
	.sideNavList > li a {
		font-size: 1.6rem;
	}

	.menuBtn {
		background-color: var(--blue-01);
		position: fixed;
		right: 10px;
		top: 10px;
		width: 40px;
		height: 40px;
		border-radius: 2px;
		border: 1px solid #fff;
	}
	.menuBtn .icn {
		display: block;
		line-height: 0;
		margin: 11px auto 0;
		position: relative;
		width: 24px;
		height: 16px;
	}
	.menuBtn .icn span:after,
	.menuBtn .icn span:before,
	.menuBtn .icn span,
	.menuBtn .icn:after,
	.menuBtn .icn:before {
		background: #fff;
		content: "";
		display: block;
		width: 100%;
		height: 2px;
		margin: auto;
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		-webkit-transition: all 0.3s ease;
		-moz-transition: all 0.3s ease;
		-o-transition: all 0.3s ease;
		transition: all 0.3s ease;
	}
	.menuBtn.cur .icn span {
		opacity: 0;
	}
	.menuBtn .icn span:before {
		transform: translate(0, 8px);
	}
	.menuBtn .icn span:after {
		transform: translate(0, -8px);
	}
	.menuBtn.cur .icn:before {
		transform: rotate(-45deg);
	}
	.menuBtn.cur .icn:after {
		transform: rotate(45deg);
	}

	/*---------------------------------------------
	 module
	 ---------------------------------------------*/
	body.fixed {
	/*	position: fixed;*/
	/*
		left: 0;
		top: 0;
	*/
	/*	overflow: hidden;*/
	}
	body.fixed #wrap {
		position: fixed;
		width: 100%;
	}
	.wrapInner {
		padding-left: 2.667vw;
		padding-right: 2.667vw;
	}
	.marker:before {
		height: 4.53vw;
	}
	.ttlLgCmn {
		font-size: 10.6vw;
		margin-bottom: 8vw;
	}
	.ttlMdWrap {
		min-height: auto;
		padding: 2.67vw 5.34vw;
		margin-bottom: 6.4vw;
/*		flex-wrap: wrap;*/
	}
	.ttlMdWrap:not(:first-of-type) {
		margin-top: 13.34vw;
	}
	.ttlMdWrap .label {
/*		display: block;*/
		padding-right: 2.67vw;
/*
		border-bottom: .267vw solid var(--white);
		border-right: none;
*/
		font-size: 4.8vw;
		margin-right: 4vw;
	}
	.ttlMdWrap .label .num {
		font-size: 8vw;
		margin-left: 2.67vw;
	}
	.ttlMdWrap .ttlMdCmn {
/*
		width: 100%;
		flex: none;
*/
		font-size: 4.8vw;
	}
	.ttlMdV2 {
		font-size: 6.93vw;
		margin-bottom: 4vw;
	}
	.ttlMdV2 .marker::before {
		height: 4.26vw;
	}
	.ttlLgCmn + .ttlMdV2 {
		margin-top: -2.67vw;
	}
	.bdTtl span {
		font-size: 3.46vw;
		padding: 1.06vw 2.67vw;
	}
	.txtCmn {
		font-size: 3.73vw;
	}
	.checkList > li {
		font-size: 4.26vw;
		background-size: 5.34vw auto;
		padding-left: 8vw;
	}
	.dotList > li + li,
	.checkList > li + li {
		margin-top: 3vw;
	}
	.dotList > li {
		font-size: 4.26vw;
		padding-left: 5.34vw;
	}
	.dotList > li::before {
		width: 2.67vw;
		height: 2.67vw;
		top: .4em;
	}
	.noteList > li {
		font-size: 3.2vw;
	}
	.bgcTxt {
		margin-top: 5.34vw;
		padding: 4vw;
		font-size: 4.26vw;
	}
	.imgCmn {
		margin-top: 8vw;
	}
	.bdTtl + .imgCmn {
		margin-top: -4vw;
	}
	.whiteBoxCmn {
		padding: 5.34vw;
	}
	.product-img {
		width: 31.74vw;
		left: 0;
		top: -30vw;
	}
	.character-img {
		width: 31.74vw;
		right: 2.67vw;
		bottom: -50vw;
	}

	#mainvisual {
		background: url(../images/bg_mv_sp.jpg) no-repeat center 0 / 100% auto;
		padding-top: 10.666vw;
	}
	#mainvisual .mvImg {
		padding-right: 6.4vw;
	}
	.leadSection {
		margin-top: 10.67vw;
		margin-bottom: 50vw;
	}
	.leadSection .leadTtl {
		font-size: 5.34vw;
		margin-bottom: 4vw;
	}
	.leadSection .leadTtl .quote {
		font-size: 9vw;
	}
	.leadTxtBox {
		margin-bottom: 10.67vw;
	}
	.leadTxtBox .boxTtl {
		font-size: 5.4vw;
		padding: 4vw 2vw;
	}
	.leadTxtBox .boxTtl .icn {
		display: inline;
		margin-right: 2vw;
		height: 8vw;
	}
	.leadTxtBox .boxTtl .txt {
		display: inline;
		font-size: 5.34vw;
	}
	.leadTxtBox .boxBody {
		padding: 5.34vw;
	}
	.leadTxtBox .inrCol2 {
		flex-wrap: wrap;
	}
	.leadTxtBox .inrCol2 .leftCol {
		width: 100%;
		flex: none;
		padding-top: 0;
	}
	.leadTxtBox .inrCol2 .rightCol {
		width: 100%;
		margin-left: 0;
		margin-top: 5.34vw;
	}
	.leadTxtBox .inrCol2.v2 .leftCol {
		padding: 0;
	}
	.leadTxtBox .inrCol2.v2 .leftCol .dotList {
		padding-right: 0;
	}
	.leadTxtBox .inrCol2.v2 .rightCol {
		width: 100%;
		padding: 0;
		margin-top: 3vw;
	}
	.leadTxtBox .inrCol2.v2.with-line .rightCol {
		border-left: none;
		border-top: .267vw solid var(--main-color);
		padding: 5.34vw 0 0;
		margin-top: 5.34vw;
	}
	.leadTxtBox .inrCol2.v2 .rightCol .dotList {
		padding-left: 0;
	}
	.leadSubTtl {
		font-size: 5.34vw;
	}
	.leadSubTtl .main {
		font-size: 8vw;
	}
	.leadTxtBox .boxSubTtl {
		font-size: 5.34vw;
		margin-bottom: 4vw;
	}
	.leadTxtBox .boxSubTtl .marker::before {
		height: 3.46vw;
	}
	.leadImg {
		margin-bottom: 18vw;
	}
	.leadImg img {
		width: 79.06vw;
	}
	.effectBgiBox {
		padding: 6.4vw 10.6vw;
	}
	.effectBgiBox .product-img {
		width: 31.74vw;
		left: 0;
		top: -14vw;
	}
	.effectBgiBox .character-img {
		width: 18.67vw;
		right: 0;
		bottom: -5.34vw;
	}
	.effectBgiBox .boxTtl {
		font-size: 5.34vw;
	}
	.effectBgiBox .inrCol2 {
		flex-wrap: wrap;
		margin-right: 0;
	}
	.effectBgiBox .inrCol2 > .col {
		width: 100%;
		margin-right: 0;
	}
	.effectBgiBox .inrCol2 > .col + .col {
		margin-top: 2.67vw;
	}
	.effectBdBox {
		padding: 4vw;
		border-radius: 1.06vw;
	}
	.effectBdBox::before {
		width: calc(100% - 2.12vw);
		height: calc(100% - 2.12vw);
		left: 1.06vw;
		top: 1.06vw;
		border-width: .26vw;
		border-radius: 1vw;
	}
	.effectBdBox .ttl {
		font-size: 3.46vw;
		margin-bottom: 2.67vw;
	}
	.effectBdBox .ttl .main {
		font-size: 6.93vw;
	}
	.effectBdBox .spCol2 {
		display: flex;
	}
	.effectBdBox .spCol2 .icn {
		width: 17.34vw;
		margin-right: 2.67vw;
	}
	.effectBdBox .spCol2 .icn img {
		width: 100%;
	}
	.effectBdBox .spCol2 .txt {
		flex: 1;
		margin-top: 0;
	}
	.effectBdBox .txt {
		font-size: 3.46vw;
		text-align: left;
	}
	
	.sectionCmn {
		padding-bottom: 54vw;
	}
	.sectionCmn::before {
		width: 150vw;
		height: 70px;
		top: -70px;
		background-size: auto 100%;
	}
	.sectionCmn > .wrapInner {
		margin-top: 0;
	}
	.sectionCmn .ttlMdWrap {
		margin-left: 0;
		margin-right: 0;
	}
	.sectionCmn .btnWrap {
		margin-top: 10.6vw;
	}
	.sectionCmn.secBgc01,
	.sectionCmn.secBgc02,
	.sectionCmn.secBgc03,
	.sectionCmn.secBgc04,
	.sectionCmn.secBgc05 {
		margin-top: -16vw;
	}
	.movieBtn {
		width: 100%;
		min-height: auto;
		font-size: 4.8vw;
		line-height: 1.4;
		padding: 6.4vw;
		background-size: 25vw auto;
	}
	.movieBtn::before {
		width: calc(100% - 5.34vw);
		height: calc(100% - 5.34vw);
		left: 2.67vw;
		top: 2.67vw;
	}
	.movieBtn::after {
		right: 8vw;
	}
	.movieBtn .main {
		margin-bottom: 2vw;
		display: inline-block;
	}
	.movieBtn .sub {
		font-size: 5.34vw;
	}
	.dialogWrap {
		margin-top: 10.6vw;
		padding: 0;
	}
	.dialogWrap .dialogTxt {
		width: calc(100% - 26.67vw);
		padding: 4.26vw 3vw;
		border-radius: 6.4vw;
		min-height: 22.67vw;
	}
	.dialogWrap .dialogTxt::before {
		width: calc(100% - 3.2vw);
		height: calc(100% - 3.2vw);
		left: 1.6vw;
		top: 1.6vw;
/*		border-width: .267vw;*/
		border-radius: 5vw;
	}
	.dialogWrap .dialogTxt::after {
		width: 14px;
		height: 14px;
		right: -14px;
		bottom: 18px;
	}
	.dialogWrap .txt {
		font-size: 3.46vw;
	}
	.dialogWrap .note {
		font-size: 3.2vw;
	}
	.dialogWrap .dialogImg {
		width: 26.67vw;
		margin-left: 0;
	}
	.dialogWrap.rev .dialogImg {
		margin-right: 0;
	}
	.dialogWrap.rev .dialogTxt::after {
		right: auto;
		left: -14px;
	}

	.contactBtnWrap {
		width: 163px;
		margin-top: 32px;
	}

	.contactSection {
		margin-bottom: 40px;
		padding-top: 18.67vw;
		padding-bottom: 30vw;
	}
	.contactSection::before {
		clip-path: polygon(0 60px, 100% 0, 100% 100%, 0 calc(100% - 20px));
	}
	.contactSection .ttlWrap .ttl {
		font-size: 7.8125vw;
	}
	.contactSection .btnWrap {
		padding: 0 10vw;
		margin-top: 5.34vw;
	}

}

