@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:200,300,400,500,600,700,800,900&display=swap');

@import url("contact.css");

/****************************************
	 	reset
*****************************************/
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
font-family: 'Roboto',arial,sans-serif;
font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;

}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}


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


header,main,footer{
	margin: auto;
}


/****************************************
	 	common
*****************************************/
img{
	max-width: 100%;
    height: auto;
}

a{
	text-decoration: none;
	color: inherit;
	transition: 0.3s;
	color: inherit;
}

a:hover{
	opacity: 0.9;
	transition: 0.3s;
	cursor: pointer;
}

.sp{
	display: none!important;
}
.tablet{
	display: none!important;
}

/*
.pc{
	display: block!important;
}
*/
.txt_center{
	text-align: center;
}
.txt_left{
	text-align: left;
}
.txt_right{
	text-align: right;
}
.txt_small{
	font-size: 0.7em;
}
.txt_big{
	font-size: 2em;
}
.txt_bold{
	font-weight: bold;
}


/* fade */
.fadein {
  transition: all 1000ms;
  opacity: 0;
  visibility: hidden;
  transform: translate(0px, 50px);
}

.fadein.scrollin {
  opacity: 1;
  visibility: visible;
  transform: translate(0px, 0px);
}


/* base */
body{
	text-align: center;
	min-height: 100vh;
	color: #000;
	font-size: 16px;
/*	font-family:"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";*/
	font-family: 'Noto Sans JP','ヒラギノ角ゴ ProN','Hiragino Kaku Gothic ProN','メイリオ',Meiryo,'ＭＳ Ｐゴシック','MS PGothic',sans-serif;
}
.inner{
	max-width: 1100px;
	width: 95%;
	margin: 0 auto;
}

p{
	line-height: 1.6em;
}
strong{
	font-weight: 800;
}
.flex{
	display: flex;
	flex-wrap: wrap;
    justify-content: space-between;
}

.color_org{
	color: #F6AD48;
}
.color_green{
	color: #49c4ae;
}


/****************************************
	 	header
*****************************************/
header{
	width: 100%;
	background: #fff;
	font-weight: 800;
	padding: 0.8em 0;
	box-sizing: border-box;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.3);
}
header .inner{
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1300px;
}
header .head_left{
	float: left;
	display: inline-block;
	margin-right: 1rem;
}
header .head_right{
	float: right;
	text-align: left;
	display: block;
}

header .head_nav{
	display: flex;
    flex-wrap: wrap;
	width: 100%;
	justify-content: flex-end;
    align-items: center;
	color: #f6ad48;
	font-size: 1.3em;
	font-size: 1.1em;
	line-height: 1.4;
}
header .head_nav li{
	position: relative;
}

header .head_nav li a{
	display: inline-block;
	padding: 0.5em;
	box-sizing: border-box;
}

header .head_nav li:before {
	content: "";
	margin: 0 0.8em -0.15em 0.8em;
    display: inline-block;
    width: 1px;
    height: 1em;
    background: #f6ad48;
}
header .head_nav li:first-of-type:before,
header .head_nav li.menu_tel:before,
header .head_nav li.menu_contact:before {
	display: none;
}

header .head_nav .menu_tel a{
	font-size: 0.7em;
	text-align: center;
	color: #fff;
	padding: 0.5em 1em;
	background: #49C4AE;
	margin-left: 1em;
	height: 60px;
    display: flex;
    align-items: center;
}
header .head_nav .menu_tel .num{
	font-size: 2em;
	font-weight: 800;
/*	margin-top: 0.1em;*/
	display: block;
	line-height: 1;
}
header .head_nav .menu_tel img{
	width: 1em;
	vertical-align: middle;
}

header .head_nav .menu_contact a{
	text-align: center;
	color: #fff;
	padding: 1em;
	padding: 0.5em 1em;
/*	background-color: #49c4ae;
	background-image: linear-gradient(90deg, #49c4ae 0%, #f6ad48 100%);*/
	background: #F6AD48;
	margin-left: 1em;
	margin-left: 0.5em;
	height: 60px;
    display: flex;
    align-items: center;
}
header .head_nav .menu_tel p,
header .head_nav .menu_contact p{
	line-height: 1.2;
}


/****************************************
	 	footer
*****************************************/

footer{
	overflow: hidden;
}
footer small{
	font-size: 0.7em;
	padding: 1em 0;
	text-align: center;
	display: block;
}



/****************************************
	 	totop
*****************************************/
.totop{
	position: fixed;
	right: 2em;
	bottom: 2em;
	z-index: 10;
}
.totop a{
	width: 2.8em;
	height: 2.8em;
	padding: 0.5em 0.5em;
	background: #49c4ae;
	border-radius: 50%;
	display: flex;
    align-items: center;
    justify-content: center;
}
.totop a img{
	width: 1.8em;
    margin-bottom: 0.2em;
}


/****************************************
	 	float_nav
*****************************************/
.float_nav {
	display: none;
}


/****************************************
	 	main
*****************************************/
.main {
	margin-top: 87px;
	display: block;
	width: 100%;
}

.bg_gray{
	background: #BECCCA;
	padding: 4em 0 4em;
}
.bg_white{
	background: #fff;
	padding: 4em 0 4em;
}
.intro_wrap{
	padding-bottom: 0;
}
.price_wrap,
.contact_wrap{
	padding: 8em 0 5em;
}

.inner_box{
	background: #fff;
	padding: 2em 4em;
	border-radius: 3em;
	margin: 0 auto;
    box-sizing: border-box;
}
.inner_box .section_tit{
	margin-top: -2.2em;
}

.section_tit{
	color: #fff;
	font-size: 2.2em;
	font-weight: 800;
	display: inline-block;
	text-align: center;
	margin: 1em auto;
	padding: 0.5em 1.5em;
	background-color: #49c4ae;
	background-image: linear-gradient(90deg, #49c4ae 0%, #f6ad48 100%);
	transform:skewX(-20deg);
	overflow:hidden;
	border-radius: 5px;
	min-width: 5em;
    line-height: 1.4;
}
.section_tit span{
	width:100%;
	transform:skewX(20deg);
	display: block;
}

.sub_tit{
	font-size: 2.2em;
	font-weight: 800;
}

.box_tit{
	background: #F6AD48;
	color: #fff;
	padding: 0.5em 1em;
	font-weight: 800;
	font-size: 1.5em;
	text-align: center;
	display: inline-block;
	overflow: hidden;
	border-radius: 0.5em;
	margin: 1em auto;
}

.comment_box{
	position: relative;
	background: #49c4ae;
	color: #fff;
	font-size: 2.2em;
	font-weight: 800;
	padding: 0.4em 1em;
	display: inline-block;
	margin: 1.5em auto 1em;
    border-radius: 0.5em;
}
.comment_box:after{
	position: absolute;
	content: "";
	display: block;
	background: url(../img/ico_step.svg) center/contain no-repeat;
	left: 0;
	right: 0;
	margin: 0 auto;
	bottom: -1em;
	width: 2em;
	height: 2em;
	transform: rotate(90deg);
}

.link{
	color: #49c4ae;
	text-decoration: underline;
}

.table{
	text-align: center;
	width: 100%;
	table-layout: fixed;
}
.table th{
	padding: 0.8em 0.5em;
	background: #F6AD48;
	border-right: solid 1px #fff;
	border-bottom: solid 1px #333;
	box-sizing: border-box;
}

.table th:last-child{
	border-right: #F6AD48 solid 1px;
}

.table td{
	padding: 0.8em 0.5em;
	border: solid 1px #333;
	box-sizing: border-box;
}


/****************************************
	 	hero
*****************************************/
.hero{
	overflow: hidden;
	width: 100%;
	box-sizing: border-box;
	position: relative;
}

.hero .slick-prev:before,
.hero .slick-next:before{
	font-size: 30px;
}
.hero .slick-prev{
	left: 5px;
	z-index: 2;
}
.hero .slick-next{
	right: 15px;
	z-index: 2;
}
.hero .slick-dots{
	bottom: 5px;
	display: none;
}
.hero .slick-dots li button:before{
	color: #f6ad48;
}
.hero .slick-dots li.slick-active button:before{
	color: #f6ad48;
}
.hero .slider li{
	position: relative;
}


/****************************************
	 	intro
*****************************************/
.intro_tit{
	font-size: 2.8em;
	font-weight: 600;
	color: #49c4ae;
}
/*
.feature_list{
    align-items: center;
    justify-content: space-between;
}

.feature_list li{
	width: 18%;
	height: 18%;
	display: block;
	border-radius: 50%;
    padding: 1px;
	background: linear-gradient(90deg, #49c4ae 0%, #f6ad48 100%);
}
.feature_list li p{
    background: #ffffff;;
	border-radius: 50%;
	padding: 0.5em;
	display: block;
	height: 100%;
}
*/

.intro_list {
	margin: 3em auto 4em;
	display: grid;
	gap: 2%;
	grid-template-columns: repeat(auto-fit, minmax(18%, 1fr));
	box-sizing: border-box;
}

.intro_list li {
	border-radius: 100%;
	padding: 2px;
	background-image: linear-gradient(90deg, rgb(73 196 174 / 100%) 0%, rgb(246 173 72 / 100%) 100%);
/*    border-bottom: 2px solid;
	border-image: linear-gradient(90deg, #49c4ae 0%, #f6ad48 100%) 1;*/
	display: flex;
	justify-content: center;
	align-items: center;
}

.intro_list li::before {/* 擬似要素で正円を作る */
	display: block;
	content: '';
	padding-top: 100%;
}
.intro_list li p{
	background: #fff;
	color: #49C4AE;
	font-size: 1.35em;
	font-weight: 800;
	height: 100%;
	width: 100%;
	border-radius: 50%;
	display: flex;
    justify-content: center;
    align-items: center;
}
.intro_wrap .copy:before{
	position: absolute;
	content: "";
    width: 5em;
    height: 3em;
	left: 0;
	right: 0;
	top: -1px;
	margin: 0 auto;
	display: block;
	background: url(../img/ico_intro_arrow.svg) center top/contain no-repeat;
}
.intro_wrap .copy{
	position: relative;
}
.intro_wrap .copy p{
	font-size: 2.8em;
	font-weight: 800;
	color: #fff;
	padding: 0 0.1em;
	display: inline-block;
	background-image: linear-gradient(90deg, rgb(73 196 174 / 100%) 0%, rgb(246 173 72 / 100%) 100%);
	background-repeat: no-repeat;
	background-position: bottom;
	background-size: 100% 35%;
}
.intro_wrap .copy p span{
	font-size: 1.2em;
}


/****************************************
	 	feature
*****************************************/
.feature{

}

.photo_list{
	max-width: 950px;
	margin: 2em auto 1em;
	display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
}
.photo_list li{
	width: 48%;
}

.facility_list{
	margin: 4em auto;
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.facility_list li{
	width: 32%;
}

.facility_list .tit{
	color: #49C4AE;
	font-size: 1.6em;
	font-weight: 800;
	margin-bottom: 1em;
	text-align: center;
}
.facility_list .txt{
	margin-top: 0.5em;
	text-align: left;
	font-size: 0.9em;
}


/****************************************
	 	step
*****************************************/
.step_list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 1em auto;
}
.step_list li{
	background: #fff;
	padding: 1em;
	width: 22%;
	box-sizing: border-box;
	text-align: center;
	border-radius: 10px;
	position: relative;
}
.step_list li:after{
	position: absolute;
	content: "";
	width: 12%;
	right: -16%;
	top: 0;
	height: 100%;
	display: block;
	background: url(../img/ico_step.svg) center/contain no-repeat;
}
.step_list li:last-of-type:after{
	display: none;
}

.step_list li .tit{
	font-size: 2em;
	font-weight: 800;
	color: #49c4ae;
	margin-bottom: 0.5em;
}
.step_list li .img{
	text-align: center;
	margin: 0 auto 0.5em;
}
.step_list li .txt{
	font-size: 1.4em;
	font-weight: 800;
}


/****************************************
	 	to_counseling
*****************************************/
.to_counseling{
	padding: 1em;
	background: linear-gradient(90deg, rgb(73 196 174 / 43%) 0%, rgb(246 173 72 / 43%) 100%);
}
.to_counseling a{
	color: #fff;
	font-size: 1.9em;
	font-weight: 800;
	display: inline-block;
	text-align: center;
	margin: 1em auto;
	padding: 1em 2em;
	background: #49c4ae;
	transform:skewX(-20deg);
	border-radius: 0.5em;
	position: relative;
	padding-right: 6em;
}
.to_counseling a p{
	width:100%;
	transform:skewX(20deg);
	display: block;
}

.to_counseling a:after{
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 6em;
	height: 5em;
	display: block;
	transform: skewX(20deg);
	background: url(../img/counseling_btn.png) center bottom/contain no-repeat;
}

/****************************************
	 	access
*****************************************/
.access_wrap .txt{
	width: 48%;
	text-align: left;
}
.access_wrap .map{
	width: 48%;
	text-align: left;
}
.access_wrap .txt .tit{
	font-size: 2em;
	font-weight: 800;
	margin-bottom: 0.5em;
}
.access_wrap .txt .tit span{
	font-size: 0.8em;
}
.access_wrap .txt .time{
	font-size: 1.3em;
	margin: 1em 0 0.5em;
}
.access_wrap .txt .img{
	margin-top: 1.5em;
}



/****************************************
	 	plan
*****************************************/

.plan_category{
	margin-bottom: 2em;
}
.plan_category + .plan_category{
	margin-top: 4em;
}

.plan_list{
	text-align: left;
}
.plan_list li{
	padding: 0 0 2em;
    border-bottom: 2px solid;
	border-image: linear-gradient(90deg, #49c4ae 0%, #f6ad48 100%) 1;
	overflow: hidden;
}
.plan_list li + li{
	padding-top: 2em;
}

.plan_list li .tit{
	color: #49C4AE;
	font-weight: 800;
	font-size: 2.1em;
	margin-bottom: 0.5em;
}
.plan_list li > p{
	margin-bottom: 1em;
}


.plan_list li .flex{
    flex-wrap: nowrap;
/*    align-items: flex-end;*/
    justify-content: space-between;
    gap: 5%;
}
.plan_list li .left{
	flex: 1;
	min-width: 263px;
}
.plan_list li .right{
	text-align: right;
}

.plan_list li .price_sub{
	font-size: 1.3em;
	font-weight: 800;
	margin-bottom: 0.2em;
}
.plan_list li .price{
	font-size: 1.3em;
	font-weight: 800;
	padding: 0 0.5em;
	display: inline-block;
	background-image: linear-gradient(90deg, rgb(73 196 174 / 30%) 0%, rgb(246 173 72 / 30%) 100%);
	background-repeat: no-repeat;
	background-position: bottom;
	background-size: 100% 40%;
}
.plan_list li .price span{
	font-size: 2em;
}

.plan_list li .note{
	font-size: 0.9em;
	margin-top: 0.5em;
}

.plan_list li table{
	margin-top: 1em;
	max-width: 440px;
}


/****************************************
	 	qa
*****************************************/

.qa_item {
	position:relative;
    margin-bottom: 1.5em;
    text-align: left;
    padding: 2em;
    width: 100%;
    box-sizing: border-box;
/*    border-radius: 10px;
    border: 2px solid;
	border-image: linear-gradient(90deg, #49c4ae 0%, #f6ad48 100%) 1;
	*/
}
.qa_item:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 0.6em;
    border: 2px solid transparent;
    background: linear-gradient(90deg, #49c4ae 0%, #f6ad48 100%) border-box border-box;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    -webkit-mask-composite: destination-out;
    mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    mask-composite: exclude;
}
.qa_item .question {
    position: relative;
    padding: 0 0 1em 0;
    color: #49C4AE;
    display: flex;
    align-items: center;
/*    align-items: flex-start;*/
}
.qa_item .answer {
    position: relative;
    padding: 0;
    display: flex;
    align-items: center;
    align-items: flex-start;
}

.qa_item .question h3{
    font-size: 1.8em;
    font-weight: 600;
	flex: 1;
	line-height: 1.4;
}
.qa_item .answer p{
    font-size: 1.2em;
	flex: 1;
}

.qa_item .question:before,
.qa_item .answer:before {
    font-family: Arial;
    font-weight: 600;
    font-size: 2.2em;
    width: 60px;
    height: 60px;
    margin-right: 0.5em;
    color: #fff;
    background: #49C4AE;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.qa_item .question:before {
    content: "Q";
}
.qa_item .answer:before {
    content: "A";
    background: #F6AD48;
}

/****************************************
		レスポンシブ
*****************************************/
@media (max-width: 1200px) and (min-width: 769px) {
	.tablet{
		display: inline-block!important;
	}

	body{
		font-size: 14px;
	}
	header .head_nav{
		font-size: 1.1em;
	}
	header .head_nav .menu_contact a{
		font-size: 0.9em;
	}
	.intro_list li p{
		font-size: 1.1em;
	}
	.intro_wrap .copy p{
		font-size: 2.4em;
	}
	.facility_list .tit{
		font-size: 1.3em;
	}
	.step_list li .txt{
		font-size: 1.1em;
	}
	.step_list li .img{
		width: 70%;
	}
}


/****************************************
		スマホ
*****************************************/
@media (max-width: 768px) {
	body{
		font-size: 3.3vw;
	}
	
	.sp{
		display: inline-block!important;
	}

	.pc{
		display: none!important;
	}
	.inner{
		width: 90%;
	}
	
	
	header{
		min-height: 0;
		height: 60px;
		padding: 0.5em 0;
		border-bottom: none;
	}
	header .inner{
		width: 100%;
	}
	header .head_left{
		width: 70px;
		margin-left: 5%;
	}
	header h1{
		margin: 10px 0 0;
	}
	header .head_right{
		position: absolute;
		top: 0;
		width: 100%;
		pointer-events: none;
	}
	header .head_nav{
/*		display: none;*/
		display: block;
		opacity: 0;
		margin-top: 59px;
		padding: 1.5em 1em 2em;
		box-sizing: border-box;
		pointer-events: auto;
		background: #f4f9f9;
		overflow: hidden;
		transition: ease-out 0.6s;
		border-top: 1px solid rgba(0,0,0,0.1);
		pointer-events: none;
	}
	header .head_nav.active{
		display: block;
		transition: ease-out 0.6s;
		opacity: 1;
		pointer-events: auto;
	}
	header .head_nav li{
		margin: 0;
		text-align: center;
		box-sizing: border-box;
	}
	
	header .head_nav li:first-of-type{
		border-top: none;
	}
	header .head_nav li:before{
		display: none;
	}
	header .head_nav li a{
		padding: 0.6rem 0;
		display: block;
	}
	header .head_nav .menu_contact{
		margin-top: 0.5em;
	}
	header .head_nav .menu_contact a{
		margin: 0;
		display: inline-block;
	}

	.sp-toggle,
	.sp-toggle span {
	  display: inline-block;
	  transition: all .4s;
	  box-sizing: border-box;
	}
	.sp-toggle {
	  position: relative;
	  width: 45px;
	  height: 40px;
	  background: none;
	  appearance: none;
	  cursor: pointer;
		float: right;
		pointer-events: auto;
	  margin: 10px;
	  padding: 10px;
	  border: none;
	}
	
	.sp-toggle span {
	  position: absolute;
	  left: 0;
	  right: 0;
	  margin: 0 auto;
	  width: 60%;
	  height: 2px;
	  background-color: #f6ad48;
	  border-radius: 4px;
		transition: ease-out 0.6s;
	}
	.sp-toggle span:nth-of-type(1) {
	  top: 25%;
	}
	.sp-toggle span:nth-of-type(2) {
	  top: 0;
	  margin: auto;
	  bottom: 0;
	}
	.sp-toggle span:nth-of-type(3) {
	  bottom: 25%;
	}
	
	.sp-toggle.active span{
		transition: ease-out 0.3s;
	}
	.sp-toggle.active span:nth-of-type(1) {
		transform: rotate(45deg);
		top: 48%;
	}
	.sp-toggle.active span:nth-of-type(2) {
		opacity: 0;
	}
	.sp-toggle.active span:nth-of-type(3) {
		transform: rotate(-45deg);
		bottom: 48%;
	}

	.totop{
		right: 5vw;
		bottom: 16vw;
	}
	.totop a{
		width: 2em;
		height: 2em;
	}
	.totop a img{
		width: 1.5em;
	}
	
	
	.float_nav{
		overflow: hidden;
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 100;
		width: 100%;
		display: block;
		display: flex;
	}
	.float_nav a{
		text-align: center;
		font-weight: 800;
		box-sizing: border-box;
/*		padding: 0.3em;
		height: 2em;
		background-color: #49c4ae;
		background-image: linear-gradient(90deg, #49c4ae 0%, #f6ad48 100%);*/
		color: #fff;
		background: #49C4AE;
		padding: 0.6em;
		width: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.float_nav a + a{
		background: #F6AD48;
	}
	.float_nav .btn_tel{
		font-size: 0.8em;
	}
	.float_nav .btn_tel .num{
		font-size: 1.8em;
		font-weight: 800;
		margin-top: 0.1em;
		display: block;
		line-height: 1;
	}
	.float_nav .btn_tel img{
		width: 1em;
		vertical-align: middle;
	}
	.float_nav .btn_contact{
		font-size: 1.1em;
	}
	.float_nav .btn_tel p,
	.float_nav .btn_contact p{
		line-height: 1.3;
	}
	
	.main{
		margin-top: 60px;
	}
	
	.section_tit{
		font-size: 1.4em;
		min-width: 2em;
		padding: 0.5em 1.3em;
	}
	.sub_tit{
		font-size: 1.4em;
	}
	.txt_big {
	    font-size: 1.2em;
	}
	.inner_box{
		padding: 2em;
	}
	.price_wrap,
	.contact_wrap{
		padding: 4em 0 4em;
	}
	
	
	.intro_tit{
		font-size: 2em;
	}
	.intro_list{
		gap: 5%;
		grid-template-columns: repeat(auto-fit, minmax(47%, 1fr));
		margin: 3em auto 8em;
	}
	.intro_wrap .copy p{
		display: inline;
		font-size: 2.4em;
	}
	.facility_list{
		margin-top: 5em;
	}
	.facility_list li{
		width: 100%;
		margin-bottom: 4em;
	}
	.facility_list .txt{
		font-size: 1em;
	}
	.comment_box{
		font-size: 1.6em;
	}
	.step_list{
		width: 70%;
	}
	
	.step_list li{
		width: 100%;
	}
	.step_list li + li{
		margin-top: 3em;
	}
	.step_list li:after{
		right: 0;
		left: 0;
		height: 3em;
		width: 3em;
		margin: 0 auto;
		top: auto;
		bottom: -3em;
		transform: rotate(90deg);
	}
	.step_list li .tit{
		font-size: 1.6em;
	}
	.step_list li .img{
		width: 40%;
	}
	.step_list li .txt{
		font-size: 1.2em;
	}
	
	.to_counseling a{
		font-size: 1.3em;
		padding: 0.6em 5em 0.6em 1em;
	}
	.to_counseling a:after{
		width: 5em;
		height: 4em;
	}
	
	.access_wrap .txt{
		width: 100%;
		margin-bottom: 2em;
	}
	.access_wrap .map{
		width: 100%;
	}
	
	.plan_list li .flex{
		flex-wrap: wrap;
	}
	.plan_list li .left{
		width: 100%;
		margin-bottom: 1em;
	}
	.plan_list li .right{
		width: 100%;
	}
	
	.plan_list li .tit{
		font-size: 1.5em;
	}
	.plan_list li .price_sub{
		font-size: 1em;
		margin-top: 1em;
	}
	.plan_list li .price span{
		font-size: 1.8em;
	}
	
	
	.qa_item .question:before,
	.qa_item .answer:before{
	    font-size: 1.8em;
	    width: 35px;
	    height: 35px;
    }
    .qa_item .question h3{
    	font-size: 1.3em;
    }
    
    .qa_item .answer p{
    	font-size: 1em;
    }

}