@charset "UTF-8";
/* CSS Document */

/*reset
----------------------------------------*/
body, div, dl, dt, dd, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td, ul {
	margin: 0;
	padding: 0;
	font-weight: normal;
}

html{
	font-size: 62.5%;
}
body{
	font-family: "游ゴシック", "Yu Gothic", Yu Gothic, "游ゴシック体", "YuGothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	font-family: "Shippori Mincho", serif;
	font-weight: 400;
	width:100%;
	position: relative;
	font-size: 1.6rem;
	line-height: 1.75;
	letter-spacing: 0.1rem;
}

img {
	border:0;
	vertical-align: bottom;
	max-width:100%;
}
*{
	box-sizing: border-box;
}
a{
	color: #000;
	text-decoration: none;
	display: inline-block;
}
.section_title > p{
	margin-bottom:0;
}


.pc_none {
	display: none;
}
.sp_none {
	display: block;
}



/* ここからcss設定
----------------------------------------*/

.setting_title{
	border: none!important;
	background-color: unset!important;
	border-radius: unset!important;
}
.setting_title:after,
.setting_title:before,{
	content:"";
	border: unset!important;
	background-color: unset!important;
	border-radius: unset!important;
}

.inner{
	width:100%;
	max-width:128rem;
	margin:0 auto;
}
.inner2{
	width:100%;
	max-width:150rem;
	margin:0 auto;
}
.inner3{
	width:100%;
	max-width:100rem;
	margin: 0 auto;
}
.flex{
	display: flex;
}
a img{
	opacity: 1;
	transition: 0.2s;
	-webkit-transition: 0.2s;
}
a img:hover{
	opacity: 0.7;
}
.listnone{
	list-style: none;
}

.enfo{
	font-family: "Cormorant Garamond", serif;
}
.cgold{
	color: #c9a063;
}



/* -------------------- */
/* 共通CSS
/* -------------------- */
.section_title{
	font-size: 4rem;
}
.come{
	font-size: 22px;
	line-height: 1.2em;
}

.btn_01{
	text-align: center;
}
.btn_01 a{
	background-color: #c9a063;
	border: 0.2rem solid #c9a063;
	color: #fff;
	font-size: 2.5rem;
	padding: 1.5rem 7rem 1.5rem 4rem;
	position: relative;
	transition: 0.2s;
	-webkit-transition: 0.2s;
	box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.15);
}
.btn_01 a:before {
	content: "";
	width: 1.2rem;
	height: 1.2rem;
	border-top: solid 0.2rem #fff;
	border-right: solid 0.2rem #fff;
	position: absolute;
	right: 4rem;
	top: 0;
	bottom: 0;
	margin: auto 0;
	transform: rotate(45deg);
}
.btn_01 a:hover{
	background-color: #fff;
	color:#c9a063;
	transition: 0.2s;
	-webkit-transition: 0.2s;
}
.btn_01 a:hover:before{
	border-top: solid 0.2rem #c9a063;
	border-right: solid 0.2rem #c9a063;
}




/* -------------------- */
/* メインビジュアル
/* -------------------- */
.top_main_img{
	width:100%;
	background-color: #ded6c3;
	background-color: rgba(222, 214, 195, 0.6);
	position: relative;
	padding-bottom: 8rem;
	margin-top: 6%;
}
.mainvisual_ul{
	width: 76%;
	margin-left: auto;
	margin-right: 0;
}
.top_main_img img{
	width:100%;
	height:auto;
	margin: 0 auto;
}

.mainvisual_catchcopy{
	width:40%;
	position: absolute;
	top: 12vw;
	left: 4vw;
}
.mainvisual_point{
	width: 88%;
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	bottom: 10%;
}



/* -------------------- */
/* header
/* -------------------- */
.header {
	padding: 30px 80px;
	padding: 1.5% 4%;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 999;
	background-color: #fff;
}
.burger_btn {
	display: none;
}
.header.flex{
	align-items: center;
	justify-content: space-between;
}
.nav_item a{
	color:#595757;
	position: relative;
}
.nav_item a:after {
	position: absolute;
	left: 0;
	content: '';
	width: 100%;
	height: 0.1rem;
	background: #595757;
	bottom: -0.5rem;               /*アンダーラインがaタグの下端から現れる*/
	transform: scale(0, 1);     /*アンダーラインの縮尺比率。ホバー前はx方向に0*/
	transform-origin: left top; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の左端*/
	transition: transform 0.3s; /*変形の時間*/
}
.nav_item a:hover:after {
	transform: scale(1, 1);     /*ホバー後、x軸方向に1（相対値）伸長*/
}
.nav_item + .nav_item{
	margin-left:1em;
	padding-left:1em;
	border-left: 0.1rem solid #595757;
}
.site_title{
	width: 418px;
	width: 21%;
	line-height: 1px;
}
.nav_list{
	font-size: 1.8rem;
	font-size: 1vw;
}



#contact-banner.fixed {
	position: fixed;
	bottom: 0;
	right:0;
	z-index: 9999;
	
}
.contact_banner_wrap{
	background-color: #40220f;
	width: 58%;
	margin-left: auto;
	margin-right: 0;
	padding: 1.8rem 0 1.8rem 6rem;
	position: absolute;
	bottom: 0;
	right: 0;
}
.contact_banner_in.flex{
	justify-content: flex-end;
}
.contact_banner_icon{
	position: absolute;
	top: -7.5rem;
	right: 0;
	width: 7.5rem;
	height: 7.5rem;
}
.contact_banner_tel{
	padding-right: 6rem;
}




/* -------------------- */
/* footer
/* -------------------- */
.footer{
	padding-bottom: 12rem;
	background-color: #40220f;
}
.footer_banner{
	background-color: #eeeae0;
	padding: 5rem;
	text-align: center;
	position: relative;
}
.footer_banner:after{
	content: "";
	display: inline-block;
	background-image: url(../img/footer_banner_back.png);
	background-repeat: no-repeat;
	background-size: contain;
	height: 80%;
	width: 35%;
	position: absolute;
	top: 0;
	margin:auto 0;
	bottom: 0;
	right: 2%;
}
.footer_banner_title{
	font-size: 3.4rem;
}
.footer_banner_img{
	margin-top: 2rem;
}
.footer_copy{
	background-image: url(../img/footer_back.png);
	background-repeat: no-repeat;
	background-size: cover;
	color: #fff;
	padding: 5rem 0;
	text-align: center;
}

#footer_address{
	padding: 10rem 0 15rem;
}
.footer_address_logo{
	text-align: center;
}
.address_wrap.flex{
	justify-content: center;
}
.address_wrap{
	width: 90%;
	max-width: 150rem;
	margin: 0 auto;
	margin-top: 10rem;
}
.address_left{
	padding: 5rem 8rem;
	background-color: #f7f8f8;
	width: 48%;
}
.consultation_time + .consultation_time{
	margin-top: 2rem;
}
.address_wrap_img{
	margin-top: 5rem;
}
.address_wrap_img div + div{
	margin-top: 3rem;
}

.address_right{
	width: 52%;
}
.address_right iframe{
	width: 100%;
	height: 100%;
}






/* -------------------- */
/* sectionA
/* -------------------- */
#sectionA{
	background-image: url(../img/sectionA_back.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	color: #fff;
	padding: 13rem 0;
}
#sectionA .bigfont{
	font-size: 4.9rem;
	font-size: 4vw;
	padding: 0 0.5rem;
}
#sectionA .section_column_wrap.flex{
	align-items: center;
}
.section_subtitle_en{
	font-size: 1.8rem;
}
#sectionA .section_column_left{
	width: 46%;
}
#sectionA .section_column_right{
	width: 54%;
	padding: 0 10%;
}
.section_sectionA_list{
	margin-top: 5rem;
}
.section_subtitle_en{
	margin-top: 2rem;
}
#sectionA .section_title{
	font-size: 2.4vw;
	line-height: 4.5vw;
}


/* -------------------- */
/* sectionB
/* -------------------- */
#sectionB{
	background-image: url(../img/sectionB_back.png);
	background-repeat: no-repeat;
	background-size: cover;
	padding: 13rem 0;
}
#sectionB .section_title{
	line-height: 2em;
	font-size: 2.4vw;
}
#sectionB .section_column_wrap.flex{
	align-items: center;
}
#sectionB .section_column_left{
	width: 54%;
	padding: 0 10%;
}

#sectionB .section_column_right{
	width: 46%;
}
.sectionB_btn{
	margin-top: 11rem;
}
.sectionB_text02{
	font-size: 2.2rem;
	line-height: 2em;
	color:#231815;
}


/* -------------------- */
/* sectionC
/* -------------------- */
#sectionC{
	padding: 10rem 0 25rem;
	background-image: url(../img/sectionC_back.png);
	background-repeat: no-repeat;
	background-position-x: center;
	background-position-y: bottom;
	background-size: auto;
	position: relative;
}
#sectionC:before{
	content:"";
	background-color: rgba(89, 87, 87, 0.2);
	height: 100%;
	width: 0.1rem;
	position: absolute;
	top: 0;
	right: 0;
	left:0;
	margin:0 auto;
	z-index: -1;
}
#sectionC:after{
	content:"";
	display: inline-block;
	background-image: url(../img/sectionC_back_text.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: 7%;
	height: 75%;
	position: absolute;
	top: 5rem;
	left: 0;
}
#sectionC .section_inner{
	position: relative;
}
#sectionC .section_inner:before,
#sectionC .section_inner:after{
	content:"";
	background-color: rgba(89, 87, 87, 0.2);
	height: 100%;
	width: 0.1rem;
	position: absolute;
	top: -25rem;
	z-index: -1;
}
#sectionC .section_inner:before{
	left: 10rem;
}
#sectionC .section_inner:after{
	right: 10rem;
}
.sectionC_head{
	text-align: center;
}
#sectionC .section_title{
	margin-top: 3rem;
}
.checkpoint_wrap{
	position: relative;
}
.checkpoint_ul.flex{
	flex-wrap: wrap;
	justify-content: space-between;
}
.checkpoint_li{
	width: calc(100% / 3 - 8.5rem);
	width: calc(100% / 3 - 6%);
	margin-right: 9%;
	margin-top: 7rem;
}
.sectionC_img_07{
	text-align: center;
	margin-top: 5rem;
}
.checkpoint_li:nth-child(3n){
	margin-right: 0;
}



/* -------------------- */
/* sectionD
/* -------------------- */
#sectionD{
	padding: 15rem 0 10rem;
	background-image: url(../img/sectionD_back.png);
	background-repeat: no-repeat;
	background-size: cover;
}
.sectionD_head{
	text-align: center;
	color:#fff;
}
.sectionD_wrap{
	margin-top: 3rem;
}
.sectionD_img01{
	text-align: center;
}
.sectionD_img01 img{
	margin:0 auto;
}
.sectionD_img02{
	margin-top: 7rem;
}


/* -------------------- */
/* sectionE
/* -------------------- */
#sectionE{
	background-color: #fbfaf8;
	padding: 15rem 0 10rem;
	position: relative;
	overflow: hidden;
}
#sectionE:before{
	content: "";
	background-color:#efebe3;
	height: 100%;
	width: 34%;
	position: absolute;
	top: 0;
	left:0;
	z-index: 1;
}
#sectionE:after{
	content:"";
	display: inline-block;
	background-image: url(../img/sectionE_back_text.png);
	background-repeat: no-repeat;
	background-size: contain;
	height: 100%;
	width: 4%;
	position: absolute;
	top: 0;
	right:0;
}
#sectionE .section_inner{
	position: relative;
	z-index: 5;
}
#sectionE .section_inner{
	position: relative;
}
#sectionE .section_inner:after{
	content:"";
	display: inline-block;
	background-image: url(../img/sectionE_back.png);
	background-repeat: no-repeat;
	background-size: contain;
	height: 15%;
	width: 57%;
	position: absolute;
	bottom: 0;
	right:-10%;
}
.sectionE_head{
	text-align: center;
}
.sectionE_head .section_subtitle_en{
	margin-top:1rem;
}
.feature_wrap{
	margin-top:15rem;
}
.feature_ul.flex{
	flex-wrap: wrap;
}
.feature_li{
	width: calc(100% / 2 - 5rem);
	position: relative;
	padding-top: 6.5rem;
}
.feature_li:nth-child(2n){
	margin-left: 10rem;
}
.feature_li:nth-child(n+3){
	margin-top:8rem;
}
.feature_li_number{
	position: absolute;
	top: 0;
	left: -3.8rem;
}
.feature_li_text .enfo{
	font-size:1.2rem;
	margin-top: 1rem;
}
.feature_li_title{
	font-size: 2.5rem;
	margin-top: 1.5rem;
}

/* -------------------- */
/* sectionF
/* -------------------- */
#sectionF{
	background-color: #eeeae0;
	padding: 15rem 0;
	position: relative;
}
#sectionF:after{
	content: "";
	display: inline-block;
	background-image: url(../img/sectionF_back_text.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: 7%;
	height: 75%;
	position: absolute;
	top: 3rem;
	left: 0;
	z-index: 1;
}
#sectionF .section_inner {
	position: relative;
	z-index: 5;
}

.flow_wrap{
	margin-top: 10rem;
	position: relative;
}
.flow_wrap:before{
	content: "";
	background-color: #fff;
	height: 98%;
	width: 0.3rem;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	margin: 0 auto;
}
.flow_li{
	background-color: #fff;
	position: relative;
}
.flow_li:before{
	content:"";
	display: inline-block;
	background-image: url(../img/flow_con.png);
	background-size: auto;
	width: 0.78rem;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.flow_li + .flow_li{
	margin-top: 6rem;
}
.flow_li_left{
	padding: 3rem 5rem 5rem;
	width: 55%;
}
.flow_li_right{
	width: 45%;
}
.flow_li_title{
	font-size: 3.2rem;
	padding-bottom: 2rem;
	position: relative;
}
.flow_li_title:after{
	content:"";
	display: inline-block;
	background-image: url(../img/flow_title.png);
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: 0.3rem;
	position: absolute;
	bottom: 0;
	left: 0;
}
.flow_li_title img{
	margin-right: 3rem;
}
.folw_text{
	padding-top: 3rem;
	font-size: 2rem;
	color: #595757;
}
.flow_btn_wrap{
	margin-top: 4rem;
}
.flow_btn_wrap a + a{
	margin-left:1rem;
}
.folw_text p + p{
	margin-top: 2em;
}
.flow_bottom{
	margin-top: 6rem;
	width: 100.5%;
	position: relative;
	z-index: 5;
}
.flow_li:nth-child(4) .flow_li_right{
	padding-top: 10rem;
}



/* -------------------- */
/* sectionG
/* -------------------- */
#sectionG{
	background-color: #f3f1ed;
	padding: 10rem 0
}
.sectionG_head{
	text-align: center;
}
.price_wrap{
	text-align: center;
	margin-top: 5rem;
}
.price_come{
	font-size: 2rem;
	color:#595757;
	margin-top: 3rem;
}
.price_card{
	margin-top: 3rem;
}


/* -------------------- */
/* sectionI
/* -------------------- */
#sectionI{
	padding: 10rem 0;
	position: relative;
}
#sectionI:before{
	content: "";
	width:34%;
	height:103%;
	background-color: #f6f4ef;
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
}
#sectionI:after{
	content: "";
	width: 28%;
	height: 57%;
	display: inline-block;
	background-image: url(../img/sectionI_03.png);
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	bottom: 5%;
	right: 8%;
}
.sectionI_head{
	width: 75%;
	padding-left: 16%;
}
.sectionI_text_wrap{
	position: relative;
	margin-top: 5rem;
	/* min-height: 87rem; */
	padding: 15rem;
	padding-left: 5rem;
	width: 75%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.sectionI_text_wrap:before{
	content: "";
	display: inline-block;
	background-image: url(../img/sectionI_02.png);
	background-repeat: no-repeat;
	background-size: auto;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.sectionI_text_in{
	width: 72rem;
	position: relative;
	z-index: 5;
	color: #fff;
}
.sectionI_text{
	font-size:2rem;
}
.sectionI_text p + p{
	margin-top: 2rem;
}
.sectionI_name{
	font-size: 3.2rem;
	text-align: right;
	margin-top: 5rem;
}



/* -------------------- */
/* sectionJ
/* -------------------- */
#sectionJ{
	padding: 5rem 0;
	position: relative;
	overflow: hidden;
}
#sectionJ:before{
	content: "";
	width:34%;
	height:100%;
	background-color: #f6f4ef;
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
}
#sectionJ:after{
	content: "";
	width:100%;
	height:45%;
	background-color: #f6f4ef;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}
#sectionJ .section_inner{
	overflow: hidden;
}
.loop_wrap {
  display: flex;
  width: 160%;
  overflow: hidden;
}

.loop_wrap img {
  width: auto;
  height: 100%;
}
@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}

@keyframes loop2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}
.loop_wrap img:first-child {
  animation: loop 50s -25s linear infinite;
}

.loop_wrap img:last-child {
  animation: loop2 50s linear infinite;
}



/* -------------------- */
/* section-QA
/* -------------------- */
#section-QA{
	padding: 10rem 0;
	background-color: #f6f4ef;
	position: relative;
}
#section-QA:before{
	content: "";
	display: inline-block;
	background-image: url(../img/qa_back.png);
	background-repeat: no-repeat;
	height: 31%;
	width: 36%;
	position: absolute;
	bottom: 10%;
	right: 6%;
}
.section-QA_wrap{
	margin-top:5rem;
	position: relative;
	z-index: 5;
}
.section-QA_head{
	text-align: center;
}
.accordion-content {
	display: none;
}
.accordion-header {
	background-color: #e1dccc;
	font-size: 2.5rem;
	padding: 1.2rem 4.5rem 1.2rem 8rem;
	margin: 1rem 0 0;
	transition: background .3s ease;
	cursor: pointer;
	position: relative;
}

.accordion-header::before,
.accordion-header::after{
	position:absolute;
	content:'';
	top:0.1rem;
	right:2rem;
	bottom:0;
	width:2rem;
	height:0.2rem;
	margin:auto;
	background:#7a6a56;
}
.accordion-header::after{
	transform:rotate(-90deg);
	transition:transform 0.3s;
}
.accordion-header.active::after{transform:rotate(0deg);}

.accordion-content {
	background-color: #FFF;
	padding: 1.2rem 4.5rem 1.2rem 8rem;
	font-size: 1.8rem;
}

.accordion-header span,
.accordion-content span{
	position: relative;
}

.accordion-header span::before{
	position: absolute;
	content:"Q";
	top: 0;
	left: -5rem;
	color: #fff;
	font-size: 3.5rem;
	line-height: 1em;
	font-family: "Cormorant Garamond", serif;
}
.accordion-content span::before{
	position: absolute;
	content:"A";
	top: -0.5rem;
	left: -5rem;
	color: #c9a063;
	font-size: 3.5rem;
	line-height: 1em;
	font-family: "Cormorant Garamond", serif;
}




/* -------------------- */
/* お問い合わせ
/* -------------------- */
.contact_wrap{
	padding:10rem 0;
	background-image: url(../img/contact_back.png);
	background-repeat: no-repeat;
	background-size: cover;
}
#contact01{
	margin-top: -35rem;
}
#contact01.contact_wrap{
	padding: 40rem 0 10rem;
}
#contact02,
#contact03{
	margin-top: -8rem;
}
#contact02.contact_wrap,
#contact03.contact_wrap{
	padding: 15rem 0 10rem;
}

.contact_logo{
	text-align: center;
}
.contact_tel{
	background-image: url(../img/contact_back02.png);
	background-repeat: no-repeat;
	background-repeat: round;
	background-size: contain;
	margin-top: 7rem;
	padding: 0 1rem;
}
.contact_tel_in.flex{
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.contact_tel_in{
	padding: 3rem;
	min-height: 32rem;
}
.contact_tel_head.flex{
	align-items: center;
}
.contact_tel_head{
	font-size: 2.7rem;
}
.contact_tel_head p{
	padding-left: 2rem;
}
.contact_tel_middle{
	font-size: 2.1rem;
	margin-top: 1rem;
}
.contact_tel_middle .small{
	font-size: 1.8rem;
}

.contact_tel_bottom{
	font-size: 5.2rem;
	line-height: 1em;
	letter-spacing: 0.4rem;
	font-weight: 500;
	margin-top: 2rem;
}
.contact_tel_bottom a{
	color: #006934;
}
.contact_in.inner{
	max-width: 123rem;
}

.contact_web,
.contact_line{
	background-image: url(../img/contact_back03.png);
	background-repeat: no-repeat;
	background-repeat: round;
	background-size: contain;
	margin-top: 3rem;
	width:calc(100% / 2 - 2.5rem);
	padding: 0 1rem;
}
.contact_line{
	margin-left: 5rem;
}
.contact_web_in.flex,
.contact_line_in.flex{
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.contact_web_in,
.contact_line_in{
	padding: 3rem;
	min-height: 33.5rem;
}
.contact_head{
	font-size: 2.7rem;
	text-align: center;
}
.contact_head p{
	padding-top: 0.5rem;
}
.contact_head.flex{
	align-items: center;
}
.contact_middle{
	font-size: 2.1rem;
	margin-top: 0.5rem;
}
.contact_btn_wrap{
	margin-top: 1.5rem;
}
.contact_btn_a{
	background-color: #084e3a;
	border: 0.1rem solid #916f2c;
	color: #fff;
	padding: 0.5rem 2rem;
	width: 22rem;
	font-size: 2rem;
	text-align: center;
	position: relative;
	transition: 0.2s;
	-webkit-transition: 0.2s;
}
.contact_btn_a:after{
	content: "";
	width: 0.8rem;
	height: 0.8rem;
	border-top: solid 0.2rem #fff;
	border-right: solid 0.2rem #fff;
	position: absolute;
	right: 5rem;
	top: 0;
	bottom: 0;
	margin: auto 0;
	transform: rotate(45deg);
}
.contact_btn_a:hover{
	opacity: 0.6;
}











@media screen and (min-width: 1025px) and (max-width: 1399px) {
	
	.inner{
		max-width: unset;
		width: 85%;
	}
	.inner2{
		max-width: unset;
		width: 90%;
	}
	
	#sectionA .section_column_right{
		padding:0 5%;
		padding: 0 3vw 0 6vw;
	}
	.section_sectionA_list{
		max-width: 37rem;
	}
	#sectionB .section_column_left{
		padding: 0 3vw 0 6vw;
	}
	
	.section_title{
		font-size: 3.2vw;
	}
	
	
	.contact_tel{
		background-repeat: round;
	}
	.contact_tel_in{
		padding: 3vw;
		min-height: auto;
	}
	.contact_tel_head,
	.contact_head{
		font-size: 2.4vw;
	}
	.contact_tel_head img,
	.contact_head img{
		width: 6vw;
	}
	.contact_tel_middle{
		font-size: 2vw;
		margin-top: 1vw;
	}
	.contact_tel_middle .small{
		font-size: 1.5vw;
	}
	.contact_tel_bottom{
		font-size: 4vw;
		margin-top: 1vw;
	}
	
	.contact_web,
	.contact_line{
		background-repeat: round;
	}
	.contact_web_in,
	.contact_line_in{
		padding: 3vw;
		min-height: auto;
	}
	.contact_middle{
		font-size: 2vw;
		margin-top: 0;
	}
	.contact_btn_wrap{
		margin-top: 1vw;
	}
	
	#sectionF:after{
		width:9%;
	}
	
	
	#sectionI:before{
		width: 42%;
	}
	#sectionI:after{
		width: 33%;
		height: 41%;
		right: 5%;
	}
	.sectionI_text_wrap{
		width:65%;
		padding: 10vw 5vw;
	}
	.sectionI_text_wrap:before{
		background-size: cover;
	}
	.sectionI_head{
		padding-left: 5vw;
	}
	
	#sectionJ:before{
		width: 42%;
	}
	
	.address_left{
		padding:4vw;
	}
	
	.footer{
		padding-bottom: 7.5vw;
	}
	
	
}






@media screen and (max-width:1024px) {
	.pc_none {
		display: block;
	}
	.sp_none {
		display: none;
	}
	
	.btn_01 a{
		width: 80%;
		margin: 0px 10%;
		font-size: 3.8vw;
		padding: 2vw 3vw;
	}
	.btn_01 a:before{
		width: 2vw;
		height: 2vw;
		right: 4vw;
	}
	
	
	
	/* デフォルトのbuttonスタイルをリセット */
	button {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		background: transparent;
		border: 0;
		border-radius: 0;
		color: inherit;
		cursor: pointer;
		font: inherit;
		margin: 0;
		outline: none;
		padding: 0;
		vertical-align: middle;
	}
	.header{
		position: fixed;
		top:0;
		left:0;
		width: 100%;
		padding:0;
		z-index: 999;
		height: 14vw;
		overflow: hidden;
		background-color: #fff;
	}
	
	
	.burger_btn {
		display: block;
		height: 5vw;
		position: relative;
		width: 100%;
		z-index: 3;
		/* codepenの挙動のため */
		background-color: transparent;
		border: none;
		transition: opacity .3s;
	}
	.bar {
		background-color: #fff;
		display: block;
		height: 0.3rem;
		left: 50%;
		position: absolute;
		transform: translateX(-50%);
		width: 100%;
	}
	.bar_top {
		top: 0;
	}
	.bar_mid {
		top: 50%;
		transform: translate(-50%,-50%);
	}
	.bar_bottom {
		bottom: 0;
	}
	.burger_btn.close .bar_top {
		transform: translate(-50%,3vw) rotate(27deg);
		transition: transform .3s;
	}
	.burger_btn.close .bar_mid {
		opacity: 0;
		transition: opacity .3s;
	}
	.burger_btn.close .bar_bottom {
		transform: translate(-50%,-1.5vw) rotate(-27deg);
		transition: transform .3s;
	}
	.noscroll{
		overflow: hidden;
	}
	
	.nav_wrapper {
		visibility: hidden;
		height: calc(100vh - 14vw);
		left: 0;
		position: fixed;
		top: 14vw;
		width: 100vw;
		opacity: 0;
		transition: opacity .5s;
		z-index: 2;
		margin-top:3%;
	}
	
	.header_nav {
		background-color:rgba(255,255,255,0.9);
		height: 100%;
		width: 95%;
		z-index: 2;
		padding:15vw 10vw;
		margin:0 auto;
		overflow-y: scroll;
	}
	.nav_list {
		display: block;
		text-align: center;
		font-size: 4.2vw;
		padding-left: 0;
		margin-bottom: 0;
	}
	.nav_item {
		margin-bottom: 3vw;
		margin-right: 0;
	}
	.nav_item + .nav_item{
		margin-left:0;
		padding-left:0;
		border-left:none;
		border-top: 0.1rem solid #327e69;
		padding-top: 3vw;
	}
	
	.section_title{
		font-size: 5.5vw;
	}
	.section_subtitle_en{
		margin-top: 2vw;
		font-size: 2.5vw;
	}
	
	.nav_wrapper.fade {
		opacity: 1;
		visibility: visible;
	}
	
	.site_title{
		width:60%;
    padding: 0 15px;
	}
	.header_menu_sp{
		background-color: #327e69;
		color: #fff;
		font-size: 2.5vw;
		padding: 2vw;
		padding: 2.5vw;
		width: 35%;
	}
	.header_menu_sp_in{
		text-align: center;
	}
	.header_menu_sp_in > span{
		font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
		font-weight: bold;
		margin-top: 2vw;
		display: inline-block;
		line-height: 1em;
	}
	.sp_header {
		width:40%;
	}
	.header_mail_sp{
		width:65%;
	}
	.sp_header > .flex{
		align-items: center;
		justify-content: space-between;
	}
	
	
	
	
	
	.top_main_img{
		padding-bottom:0;
		margin-top:14vw;
	}
	.mainvisual_ul{
		width:100%;
	}
	.mainvisual_catchcopy{
		width:90%;
		top: unset;
		left: -5%;
		bottom: 35%;
	}
	.mainvisual_point{
		width:100%;
		position: unset;
	}
	
	#sectionA{
		background-image: url(../img/sectionA_back_sp.png);
		padding:10rem 0;
	}
	#sectionA .section_column_wrap.flex{
		flex-direction: column;
	}
	#sectionA .section_column_right{
		width:100%;
		text-align: center;
	}
	#sectionA .bigfont{
		font-size: unset;
		padding: 0;
	}
	.sectionA_01_sp{
		margin: 0 calc(50% - 50vw);
		width: 100vw;
		padding-right: 10%;
		margin-top: 6vw;
	}
	.section_sectionA_list{
		margin-top: 8vw;
	}
	.section_sectionA_list img{
		width: 100%;
	}
	
	#sectionA .section_title{
		font-size: 5.5vw;
		line-height: unset;
	}
	
	
	#sectionB .section_title{
		font-size: 5.5vw;
	}
	
	#sectionB{
		padding: 15vw 0;
		background-image: url(../img/sectionB_back_sp.png);
	}
	#sectionB .section_column_wrap.flex{
		flex-direction: column;
	}
	#sectionB .section_column_left,
	#sectionB .section_column_right{
		width:100%;
	}
	#sectionB .section_column_left{
		order: 2;
		margin-top: 10vw;
	}
	#sectionB .section_column_right{
		padding: 0 5%;
		order: 1;
	}
	#sectionB .section_title{
		line-height: unset;
		text-align: center;
	}
	.sectionB_text01{
		text-align: center;
	}
	.sectionB_text02{
		font-size: 4.4vw;
		margin-top: 9vw;
	}
	
	#sectionC{
		padding: 5vw 0;
		background-image:unset;
		background-position: center;
		background-size: contain;
	}
	#sectionC:after{
		background-image:url(../img/sectionC_back_text_sp.png);
		background-size: contain;
		width: 15vw;
		height: 180vw;
		top: 1vw;
		z-index: -1;
	}
	#sectionC .section_inner:before{
		left: 23vw;
	}
	#sectionC .section_inner:after{
		right:23vw;
	}
	.checkpoint_ul{
		width: 85%;
		margin: 0 auto;
	}
	.checkpoint_li{
		width: calc(100% / 2 - 2.5vw);
		margin-right:0;
		margin-top:5vw;
	}
	.sectionC_img_07{
		margin-top:10vw;
	}
	
	
	.contact_wrap{
		background-image: url(../img/contact_back_sp.png);
	}
	.contact_logo{
		width:70%;
		margin: 0 auto;
	}
	#contact01.contact_wrap{
		margin-top: -24vw;
		padding: 30vw 0 10vw;
	}
	.contact_tel_sp,
	.contact_phone_sp,
	.contact_line_sp{
		width:85%;
		margin: 0 auto;
	}
	.contact_phone_sp,
	.contact_line_sp{
		margin-top:3vw;
	}
	.contact_in_sp{
		margin-top: 10vw;
	}
	
	#sectionD{
		padding: 15vw 0;
		background-image: url(../img/sectionD_back_sp.png);
	}
	.sectionD_wrap{
		margin-top: 5vw;
	}
	.sectionD_img01{
		width: 80%;
		margin: 0 auto;
	}
	.sectionD_img02{
		width:90%;
		margin: 0 auto;
		margin-top: 5vw;
	}
	#sectionE{
		padding: 15vw 0;
	}
	#sectionE:after{
		background-size: contain;
		width: 12vw;
		height: 455vw;
		top: 85vw;
	}
	.feature_wrap{
		margin-top: 10vw;
	}
	.feature_ul.flex{
		flex-direction: column;
	}
	.feature_li{
		width: 80%;
		margin: 0 auto;
		padding-top: 10vw;
	}
	.feature_li:nth-child(2n){
		margin:0 auto;
	}
	.feature_li:nth-child(n+3){
		margin:0 auto;
	}
	.feature_li + .feature_li{
		margin-top: 10vw;
	}
	.feature_li_text .enfo{
		font-size: 2vw;
		margin-top: 2vw;
	}
	.feature_li_title{
		font-size: 4.2vw;
		margin-top: 1.5vw;
	}
	.feature_li_number{
		width: 20%;
		left: -8%;
	}
	#sectionE .section_inner:after{
		display: none;
	}
	
	#contact02,
	#contact03{
		margin-top: -8vw;
	}
	#contact02.contact_wrap,
	#contact03.contact_wrap{
		padding: 15vw 0 10vw;
	}
	
	#sectionF{
		padding:15vw 0;
	}
	.flow_wrap{
		margin-top: 10vw;
		width: 100%;
		padding: 0 5%;
	}
	.flow_li.flex{
		flex-direction: column;
	}
	.flow_li_left,
	.flow_li_right{
		width:100%;
	}
	.flow_li_left{
		order: 2;
		padding: 5vw 7vw;
	}
	.flow_li_right{
		order: 1;
		z-index: 9;
	}
	.flow_li_title img{
		width: 9vw;
		margin-right: 4vw;
	}
	.flow_li_title{
		font-size: 5vw;
		line-height: 1.5;
		padding-bottom: 4vw;
	}
	.folw_text{
		padding-top: 3vw;
		font-size: 4vw;
	}
	.flow_btn_wrap.flex{
		flex-direction: column;
	}
	.flow_btn_wrap{
		width: 90%;
		margin: 0 auto;
		margin-top: 5vw;
	}
	.flow_btn_wrap a + a{
		margin-left: 0;
		margin-top: 2vw;
	}
	.flow_li:nth-child(4) .flow_li_right{
		padding-top:0;
	}
	.flow_li + .flow_li{
		margin-top: 10vw;
	}
	.folw_text p + p{
		margin-top: 3vw;
	}
	.flow_bottom{
		margin-top: 10vw;
	}
	
	#sectionG{
		padding:15vw 0 5vw;
	}
	.price_wrap{
		width: 100%;
		padding: 0 5%;
		margin-top: 10vw;
	}
	#sectionF .section_inner{
		position: relative;
		z-index: 5;
	}
	#sectionF:after{
		background-size: contain;
		width: 12vw;
		height: 240vw;
		position: absolute;
		top: 190vw;
		z-index: 1;
	}
	.price_come{
		text-align: left;
		font-size: 3.2vw;
		margin-top: 5vw;
	}
	.price_card{
		margin-top: 5vw;
	}
	
	#sectionI{
		padding:10vw 0 0;
	}
	.sectionI_head{
		width: 100%;
		padding-left: 0;
		text-align: center;
	}
	.sectionI_text_wrap{
		display: block;
		width: 95%;
		padding: 0 5%;
		padding-bottom: 5vw;
		margin-top: 5vw;
	}
	.sectionI_text_wrap:before{
		background-image: url(../img/sectionI_02_sp.png);
		background-size: cover;
		top: unset;
		bottom:0;
		height: 85%;
	}
	.sectionI_text_in{
		width: 100%;
		margin-top: 5vw;
	}
	#sectionI:after{
		display: none;
	}
	.sectionI_03_sp{
		position: relative;
		z-index: 5;
		width: 90%;
		margin: 0 auto;
	}
	.sectionI_text{
		font-size: 3.9vw;
	}
	.sectionI_name{
		font-size: 4.5vw;
		margin-top: 5vw;
	}
	
	#sectionJ{
		padding:5vw 0;
	}
	.loop_wrap{
		width:270%;
	}
	#section-QA{
		padding: 5vw 0 10vw;
	}
	#section-QA .section_inner {
		width: 90%;
	}
	.section-QA_wrap{
		margin-top: 5vw;
	}
	.accordion-header{
		font-size: 4.5vw;
		padding: 3vw 10vw 3vw 12vw;
	}
	.accordion-header span::before,
	.accordion-content span::before{
		font-size: 7vw;
	}
	
	.accordion-header::before, .accordion-header::after{
		right: 4vw;
		width: 4vw;
	}
	.accordion-header span::before{
		left: -8vw;
	}
	.accordion-content span::before{
		top: 0;
		left: -8vw;
	}
	.accordion-content{
		padding: 3vw 3vw 3vw 12vw;
		font-size: 3.6vw;
	}
	
	#footer_address{
		padding:0;
	}
	.address_wrap{
		width:100%;
		max-width: unset;
		margin-top: 0;
	}
	.address_wrap.flex{
		flex-direction: column;
	}
	.address_left{
		width:100%;
		padding: 10vw 5%;
	}
	.address_wrap_img div + div{
		margin-top: 10vw;
	}
	.address_right{
		width:100%;
		padding:5vw;
	}
	.address_right iframe{
		aspect-ratio: 1 / 1;
		width: 100%;
		height: 100%;
	}
	.footer_banner{
		padding: 10vw 5vw;
	}
	.footer_banner_title{
		font-size: 4vw;
	}
	.footer_banner_img{
		margin-top: 2vw;
	}
	.footer_banner:after{
		background-size: contain;
		height: 20vw;
		width: 40vw;
		top:unset;
		bottom: 6%;
		right: 3%;
	}
	.footer_copy{
		padding:5vw;
	}
	.footer{
		padding-bottom: 14vw;
	}
	
	.contact_banner_wrap{
		background-color:#fff;
	}
	.contact_banner_wrap{
		padding:0;
		width: 100%;
	}
	
	
}



@media screen and (max-width:599px) {
	
	body{
		min-width: 37.5rem;
	}
	
}



