@charset "utf-8";

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

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

.base_box {
	position: relative;
	width: 640px;
	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: bold;
	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;
	outline: none;
}

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

.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
***************************************************************************/
/* ▼TOPIMG▼ */
.topimg {
	position: relative;
}

.topimg .txt {
	position: absolute;
	bottom: -40px;
	left: 0;
	z-index: 10;
}

/* ▼CV▼ */
.cv_sec {
	position: relative;
}

.cv_sec .btn {
	position: absolute;
	bottom: 250px;
	left: 60px;
	width: 520px;
	z-index: 10;
}

/* ▼VOICE▼ */
.voice_sec .box {
	margin: 0 30px;
	padding: 40px 0 50px;
	border-bottom: solid 1px #b7a9a3;
}

.voice_sec .box:last-child {
	padding-bottom: 60px;
	border-bottom: none;
}

.voice_sec .box .title {
	margin-bottom: 40px;
	padding-bottom: 30px;
	font-size: 3.6rem;
	color: #e070a0;
	line-height: 1.4;
	border-bottom: dotted 1px #68554b;
}

.voice_sec .box .txt {
	float: left;
	width: 320px;
	line-height: 1.8;
}

.voice_sec .box .txt span {
	font-weight: 700;
	color: #cd599c;
}

.voice_sec .box .img {
	float: right;
	width: 232px;
	margin-top: 10px;
}

/* ▼FAQ▼ */
.faq_sec .list {
	margin: 0 30px;
	padding: 40px 0 20px;
}

.faq_sec .list dl {
	margin-bottom: 40px;
}

.faq_sec .list dt {
	position: relative;
	margin-bottom: 30px;
	padding: 20px 30px 24px 60px;
	font-size: 2.8rem;
	color: #e070a0;
	font-weight: 700;
	line-height: 1.45;
	background: #eee5e0;
}

.faq_sec .list dt:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 40px;
	height: 100%;
	background: #e070a0;
}

.faq_sec .list dt:after {
	content: 'Q';
	position: absolute;
	top: 50%;
	left: 0;
	width: 40px;
	margin-top: -24px;
	text-align: center;
	font-weight: 500;
	color: #fff;
}

.faq_sec .list dd span {
	font-weight: 700;
	color: #e8846a;
}

/* ▼INFO▼ */
.info_sec {
	padding-bottom: 190px;
	background: #fce8e9;
	min-height: 100dvh;
}

.info_sec .list {
	margin: 0 30px;
	padding-top: 100px;
}

.info_sec .list > dl {
	position: relative;
	margin-bottom: 20px;
	padding: 0 20px 0 40px;
	font-size: 2.2rem;
	line-height: 1.7;
	background: #fff;
}

.info_sec .list > dl:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 20px;
	height: 100%;
	background: #e070a0;
}

.info_sec .list > dl > dt {
	position: relative;
	padding: 20px 0;
	font-size: 2.8rem;
	font-weight: 700;
	color: #e070a0;
}

.info_sec .list > dl > dt:before {
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	width: 20px;
	height: 12px;
	margin-top: -6px;
	background: #e070a0;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	opacity: 0.5;
}

.info_sec .list > dl > dt.opened:before { transform:rotateX(-180deg); }

.info_sec .list > dl > dd {
	display: none;
	padding: 30px 0 40px;
	border-top: dotted 1px #707070;
}

.info_sec .list > dl > dd .content dl {
	position: relative;
	margin-bottom: 30px;
	padding: 6px 0 0 140px;
}

.info_sec .list > dl > dd .content dl:last-child { margin-bottom:50px; }

.info_sec .list > dl > dd .content dt {
	position: absolute;
	top: 0;
	left: 0;
	width: 120px;
	height: 48px;
	padding-bottom: 2px;
	text-align: center;
	font-size: 2rem;
	font-weight: 600;
	color: #e070a0;
	line-height: 48px;
	background: #fce8e9;
}

.info_sec .list > dl > dd .map iframe {
	display: block;
	width: 100%;
	height: 600px;
	border: none;
}

/* ▼FIXED▼ */
.fixed_sec {
	position: fixed;
	bottom: 0;
	left: 50%;
	width: 640px;
	margin-left: -320px;
	z-index: 10;
	text-align: center;
	padding: 3rem 0;
}
.fixed_sec a {
	font-size: 3rem;
	background: #E070A0;
	background: linear-gradient(180deg, rgba(224, 112, 160, 1) 0%, rgba(233, 142, 180, 1) 100%);
	display: block;
	width: 80%;
	margin: 0 auto;
	border-radius: 5rem;
	padding: 1.5rem 1rem;
	text-decoration: none;
	color: #fff;
}

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

@-webkit-keyframes bomb {
	0% { -webkit-transform:scale(0.95); }
	7% { -webkit-transform:scale(0.98); }
	14% { -webkit-transform:scale(0.94); }
	21% { -webkit-transform:scale(1); }
	28% { -webkit-transform:scale(0.94); }
	35% { -webkit-transform:scale(0.98); }
	42% { -webkit-transform:scale(0.93); }
	49% { -webkit-transform:scale(0.97); }
	56% { -webkit-transform:scale(0.95); }
	100% { -webkit-transform:scale(0.95); }
}

@keyframes bomb {
	0% { transform:scale(0.95); }
	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); }
	49% { transform:scale(0.97); }
	56% { transform:scale(0.95); }
	100% { transform:scale(0.95); }
}

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

.access_box {
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	background: #e16fa1;
	padding: 4rem 5rem;
	line-height: 1;
	position: relative;
}
.access_box::before {
	content: "";
	position: absolute;
	bottom: -20px;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 20px solid transparent;
	border-left: 20px solid transparent;
	border-top: 20px solid #e26fa2;
	border-bottom: 0;
	z-index: 10;
}
.access_ttl {
	font-size: 4rem;
	font-weight: bold;
	color: #fff;
	display: flex;
	flex-direction: column;
	width: 100%;
}
.access_ttl span {
	margin-top: 3.5rem;
	font-size: 2.4rem;
	font-weight: normal;
	background: #fff;
	padding: 0.5rem 0;
	color: #e26fa2;
}
