@charset "utf-8";

/*
GLOBAL
***************************************************************************/
html {
	font-size: 62.5%;
	overflow-y: scroll;
	overflow-x: hidden;
}

body {
	width: 100%;
	min-width: 750px;
	height: auto;
	text-align: left;
	font-family: "Noto Sans JP", sans-serif;
	word-break: break-all;
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1.85;
	color: #595959;
	background: #fff;
	-webkit-text-size-adjust: none;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.base_box {
	width: 750px;
	margin: 0 auto;
}

/*
DEFAULT
***************************************************************************/
body,
h1,h2,h3,h4,h5,h6,p,
ul,ol,li,dl,dt,dd,main,div,
form,fieldset,legend,pre,blockquote {
	margin: 0;
	padding: 0;
	font-feature-settings: "pkna";
}

h1,h2,h3,h4,h5,h6 {
	font-weight: 700;
	line-height: 1.5;
}

article,aside,details,figcaption,figure,main,div,
footer,header,hgroup,menu,nav,section,video {
	display: block;
}

.clearfix:after {
	display: block;
	clear: both;
	content: "";
	overflow: hidden;
}

li {
	list-style-type: none;
}

table {
	width: 100%;
	text-align: left;
	border-collapse: collapse;
}

th {
	text-align: left;
	font-weight: normal;
}

/* ▼LINK▼ */
a {
	color: #ea64ae;
	text-decoration: underline;
	transition: .3s;
	outline: none;
}

a:hover { opacity:0.75; }

/* ▼IMG▼ */
img, input[type="image"] {
	border: 0;
	font-size: 0;
	line-height: 0;
	vertical-align: middle;
}

button {
	width: 100%;
	height: 100%;
	padding: 0;
	vertical-align: middle;
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	transition: .3s;
}

.img_frame {
	position: relative;
	overflow: hidden;
}

.img_frame img {
	position: absolute;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

/*
CONTENTS
***************************************************************************/
/* ▼CTA▼ */
.cta_btn {
	position: absolute;
	bottom: 70px;
	left: 0;
	width: 100%;
	z-index: 10;
}

/* ▼TOPIMG▼ */
#topimg {
	position: relative;
}

#topimg .btn {
	position: absolute;
	bottom: 910px;
	left: 0;
	width: 100%;
	z-index: 10;
}

#topimg .bnr_list {
	position: absolute;
	bottom: 60px;
	left: 40px;
	width: 670px;
}

#topimg .bnr_list li {
	margin-bottom: 30px;
}

#topimg .bnr_list li:last-child { margin-bottom:0; }

/* ▼EFFECT▼ */
.effect_sec {
	padding: 110px 40px 0;
	background: #f7f4eb;
}

.effect_sec .sec_inner {
	position: relative;
	padding: 100px 0 60px;
	background: #fff;
	border-radius: 30px;
}

.effect_sec .title {
	position: absolute;
	top: -40px;
	left: 50%;
	width: 430px;
	transform: translateX(-50%);
	z-index: 10;
}

.effect_sec .effect_slide {
	overflow: hidden;
}

.effect_sec .slick-track {
	display: flex;
}

.effect_sec .effect_slide .box {
	width: 670px;
}

.effect_sec .btn_ctl {
	position: absolute;
	top: 100px;
	width: 90px;
	height: 80px;
	background-color: #c6b88c;
	background-repeat: no-repeat;
	background-size: 90px;
	z-index: 50;
}

.effect_sec .btn_ctl.prev {
	right: 132px;
	background-image: url(../images/arrow_prev.png);
	border-radius: 360px 0 0 360px;
}

.effect_sec .btn_ctl.next {
	right: 40px;
	background-image: url(../images/arrow_next.png);
	border-radius: 0 360px 360px 0;
}

.effect_sec .btn_ctl.slick-disabled { background-color:#d5d5d5!important; }

.effect_sec .pager {
	margin-top: 10px;
	text-align: center;
}

.effect_sec .pager li {
	display: inline-block;
	width: 16px;
	height: 16px;
	margin: 0 14px;
	vertical-align: middle;
}

.effect_sec .pager li button {
	display: block;
	width: 100%;
	height: 100%;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	background: #a4a4a4;
	border-radius: 50%;
}

.effect_sec .pager li.slick-active button {
	background: #b3a065;
}

/* ▼INFO▼ */
.info_sec {
	padding-bottom: 70px;
	background: #fff;
}

.info_sec .map {
	margin: 0 40px;
}

.info_sec .map iframe {
	display: block;
	width: 100%;
	height: 640px;
	border: none;
}

.info_sec .btn {
	margin: 0 40px;
}

/* ▼FAQ▼ */
.faq_sec .faq_cat {
	padding: 70px 40px 80px;
	background: #e7fafc;
}

.faq_cat .cat {
	margin-bottom: 60px;
}

.faq_cat .cat:last-child { margin-bottom:0; }

.faq_cat .cat_title {
	position: relative;
	margin-bottom: 30px;
	padding: 24px 40px 26px 52px;
	font-size: 3rem;
	color: #fff;
	background: #24a2ae;
}

.faq_cat .cat_title::before {
	content: '';
	position: absolute;
	top: 0;
	left: 16px;
	width: 12px;
	height: 100%;
	background: rgba(255,255,255,0.5);
}

.faq_list .box {
	margin-bottom: 20px;
	padding: 0 30px;
	background: #fff;
}

.faq_list .box:last-child { margin-bottom:0; }

.faq_list .box .title {
	display: flex;
	align-items: center;
	position: relative;
	min-height: 80px;
	padding: 30px 0 30px 108px;
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1.65;
	background: url(../images/icon_q.jpg) left 30px / 80px no-repeat;
	cursor: pointer;
}

.faq_list .box .title.mini { font-size:2.4rem; }

.faq_list .box .inner {
	display: none;
	padding: 30px 0 40px;
	border-top: solid 1px #a9a9a9;
}

/* ▼FOOTER▼ */
footer {
	padding: 40px 0;
	text-align: center;
	font-weight: 400;
	color: #fff;
	background: #61aeb5;
}

footer small { font-size:2rem; }

/* ▼FIXED▼
.fixed_sec {
	display: none;
	position: fixed;
	bottom: calc((100vw / 375) * 26);
	left: 0;
	width: 100%;
	z-index: 10;
} */

/*
PARTS
***************************************************************************/
/* ▼CONTENTS EFFECT▼ */
.delay_fade {
	opacity: 0;
	/*transform: translate(0,calc((100vw / 320) * 100)); 
	-webkit-transform: translate(0,calc((100vw / 320) * 100));*/
	transition: all 500ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
	-webkit-transition: all 500ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.delay_fade.active {
	opacity: 1.0;
	/*transform: translate(0,0); 
	-webkit-transform: translate(0,0);*/
}

/* ▼BUTTON▼ */
.btn_bound img {
	animation: bomb 3s linear 0s infinite normal;
	transition: .3s;
}

@keyframes bomb {
	0% { transform:scale(1); }
	7% { transform:scale(0.98); }
	14% { transform:scale(0.94); }
	21% { transform:scale(1); }
	28% { transform:scale(0.94); }
	35% { transform:scale(0.98); }
	42% { transform:scale(0.93); }
	46% { transform:scale(0.97); }
	50% { transform:scale(1); }
	100% { transform:scale(1); }
}

@keyframes fluffy {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(calc((100vw / 375) * 10));
	}
}

/* ▼ICON▼ */
.disp_switch .icon {
	position: absolute;
	top: 50%;
	right: 0;
	width: 36px;
	height: 36px;
	margin-top: -18px;
}

.disp_switch .icon:before, .disp_switch .icon:after {
	content: '';
	position: absolute;
	background: #24a2ae;
}

.disp_switch .icon:before {
	top: 0;
	left: 50%;
	width: 1px;
	height: 100%;
	margin-left: -0.5px;
}

.disp_switch .icon:after {
	top: 50%;
	left: 0;
	width: 100%;
	height: 1px;
	margin-top: -0.5px;
}

.disp_switch.opened .icon:before { display:none; }

/*
COMMON PARTS
***************************************************************************/
/* ▼display▼ */
.block { display:block!important; }
.inline { display:inline!important; }

.posit_r { position:relative!important; }
.posit_a { position:absolute!important; }
.posit_f { position:fixed!important; }

.align_c { text-align:center!important; }
.align_r { text-align:right!important; }
.align_l { text-align:left!important; }

.disp_l { float:left!important; }
.disp_r { float:right!important; }

.va_top { vertical-align:top!important; }
.va_mid { vertical-align:middle!important; }
.va_btm { vertical-align:bottom!important; }

/* ▼width▼ */
.w4per { width:4%; }
.w5per { width:5%; }
.w8per { width:8%; }
.w10per { width:10%; }
.w15per { width:15%; }
.w20per { width:20%; }
.w22per { width:22%; }
.w25per { width:25%; }
.w30per { width:30%; }
.w35per { width:35%; }
.w50per { width:50%; }
.w55per { width:55%; }
.w56per { width:56%; }
.w60per { width:60%; }
.w70per { width:70%; }
.w75per { width:75%; }
.w80per { width:80%; }
.w100per { width:100%!important; }

/* ▼area▼ */
.mb30 { margin-bottom:60px!important; }
.mb25 { margin-bottom:50px!important; }
.mb20 { margin-bottom:40px!important; }
.mb15 { margin-bottom:30px!important; }
.mb10 { margin-bottom:20px!important; }
.mb5 { margin-bottom:10px!important; }
.mb0 { margin-bottom:0!important; }

.mlr15 { margin-left:30px!important; margin-right:30px!important; }
.mlr12 { margin-left:24px!important; margin-right:24px!important; }
.mlr_auto { margin-left:auto!important; margin-right:auto!important; }

/* ▼font▼ */
.bold { font-weight:bold!important; }
.normal { font-weight:normal!important; }

.size10 { font-size:1rem!important; }
.size11 { font-size:1.1rem!important; }
.size12 { font-size:1.2rem!important; }
.size13 { font-size:1.3rem!important; }
.size14 { font-size:1.4rem!important; }
.size16 { font-size:1.6rem!important; }
.size17 { font-size:1.7rem!important; }
.size18 { font-size:1.8rem!important; }
.size19 { font-size:1.9rem!important; }
.size20 { font-size:2.0rem!important; }
.size22 { font-size:2.2rem!important; }
.size24 { font-size:2.4rem!important; }
.size30 { font-size:3.0rem!important; }

.c_blue { color:#265a91!important; }

.lh2 { line-height:2!important; }
.lh18 { line-height:1.8!important; }
.lh16 { line-height:1.6!important; }
.lh15 { line-height:1.5!important; }

/* ▼link▼ */
a.line, .line { text-decoration:underline!important; }
a.no_line { text-decoration:none!important; }

/* ▼frame▼ */
.img_frame01 { border:solid 1px #fff; }

/* ▼line▼ */

/* ▼indent▼ */
.indent1 { margin-left:1em; text-indent:-1em; }
.indent2 { margin-left:2em; text-indent:-2em; }
.indent3 { margin-left:3em; text-indent:-3em; }
.indent4 { margin-left:4em; text-indent:-4em; }
.indent5 { margin-left:5em; text-indent:-5em; }
.indent6 { margin-left:6em; text-indent:-6em; }


/* ▼background▼ */
.bg_none { background:none!important; }

/* ▼border▼ */
.border_none { border:none!important; }
