@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+Antique:wght@400;500;700&display=swap');

body{
	width: 100%;
	display:block;
	margin:0 auto;
	position: relative;
	line-height: 1.8;
	letter-spacing: 0.05em;
	background: #F5F5F5;
	font-family: 'Zen Kaku Gothic Antique', sans-serif;
	font-weight: 400;
}

body.sc-none{
	overflow-y: hidden;
}


.fra{
	font-family: franklin-gothic-atf, sans-serif;
}

.yu{
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}

.left__fix{
	position: fixed;
	width: 25%;
	max-width:320px;
	padding:0 8vw;
	padding-right: 0;
	box-sizing: border-box;
	top: 48px;
	min-height: 720px;
	background: #F5F5F5;
		z-index: 3;
}

.home .left__fix{
	min-height: 778px;	
}

.left__fix h1{
	margin:0 0 60px;
}

.left__fix h1 img{
	width:65px;
}

.left__fix ul{
	list-style: none;
	padding: 0;
	margin:0 ;
}

.left__fix ul li a{
	display:block;
	font-size: 12px;
	color:#4B4B4B;
	text-decoration: none;
	transition: 0.4s;

}

.left__fix ul li{
	padding:5px;
	position:relative;
	transition: 0.4s;
}

.left__fix ul li.current#parent2 a{
	pointer-events: inherit;
}


.left__fix ul li .child{
	position:absolute;
	right: -50px;
	top: 0;
	width: 110px;
	background: #707070;
	transition: 0.4s;
	box-sizing: border-box;
	padding:5px 12px;
	opacity: 0;
	pointer-events: none;
	transition: 0.4s;
	visibility: hidden;
	z-index: 10;
}

#parent2:hover{
	background: #707070;
	color:white;
	opacity: 1;
}

#parent2:hover a{
	color:white;
	opacity: 1;
}

#parent2:hover a .ar1{
	display:none;
}

#parent2:hover a .ar2{
	display:inline-block;
}

#parent2 a .ar2{
	display:none;
}

#parent2:hover .child{
	opacity: 1;
	z-index: 10;
	visibility: inherit;
	pointer-events: inherit;
}

.left__fix ul li .child a{
	color:white;
	padding:5px 0 9px;
	font-size: 12px;
	line-height: 1.4;
	font-weight: 400;
}

.left__fix ul li .child a:hover{
	opacity: 0.6!important;
}

.left__fix ul li .child a.child__link2{
	border-top:1px solid white;
	padding:9px 0 5px;
}

.left__fix ul li a:hover{
	opacity: 0.6;
}

.left__fix ul li a span{
	display:block;
}

.left__fix ul li{
	margin-bottom: 8px;
}

.mv__title{
	font-size: 10px;
	font-weight: 300;
	margin:32px 0 9px;
	padding-left: 5px;
}

.mv__flex{
	display:flex;
	justify-content: space-between;
	width: 100px;
	position:relative;
}

.mv__flex:after{
	content: '';
	position:absolute;
	right: calc(50% - 1px);
	top: 0;
	width: 1px;
	height: 100%;
	background: #7B7B7B;
}

.mv__flex a{
	width: 36px;
	display:block;
	text-align: center;
	font-size: 12px;
	text-decoration: none;
	color:black;
	line-height: 1.6;
	position:relative;
	transition: 0.4s;
	font-weight:400;
	cursor: pointer;
}

.slide .slick-slide img , .slide-p .slick-slide img{
	width: 100%;
	overflow: hidden;
}

.mv__flex a.sleep{
	opacity: 0.4;
}

.on__img{
	width: 25px;
	display:block;
	margin:0 auto 2px;
}

.off__img{
	width: 27px;
	display:block;
	margin:0 auto;	
}

.content__area{
	width: 75%;
	display:block;
	margin-left: auto;
}

.video{
	width: 100%;
	min-height: 714px;
	object-fit: cover;
	border-bottom-left-radius: 100px;
}

.top__section1{
	margin:50px 0;
	display:flex;
	align-items: center;
	justify-content: space-between;
}

.view__right{
	margin:25px 0;
	position: relative;
	top: -100px;
}

.ts1__left{
	width: 44%;
	color:#5C5C5C;
}

.ts1__right{
	width: 51%;
	position: relative;

}

.ts1__right img{
	width: 100%;
}

h2.ts__title{
	font-size: 14px;
	display:flex;
	align-items: center;
	margin:0 0 45px;
	color:#5C5C5C;
	font-weight: 400;
}

h2.ts__title span{
	font-size: 28px;
	font-weight: 300;
	margin-right: 37px;
	color:#5C5C5C;
}

.ts1__left h3{
	font-weight: 500;
	font-size: 32px;
	margin: 0;
}

.ts1__text1{
	font-size: 21px;
	font-weight: 500;
	margin:0 0 90px;
}

.ts1__text2{
	font-size: 12px;
	line-height: 2.8;
	margin: 0;
}

.concept__img{
	width: 100%;
}

.top__section2{
	width: 100%;
	margin:140px 0;
}

.ts2__flex{
	display:flex;
	justify-content: space-between;
	align-items: end;

}

.right__space{
	box-sizing: border-box;
	padding-right: 100px;	
}

.ts2__left{
	width: 75%;
	color:#5C5C5C;
}

.ts2__right{
	width: 25%;
}

.arrow__link{
	display:inline-flex;
	align-items: center;
	justify-content: right;
	font-size: 14px;
	font-weight: 300;
	color:#4B4B4B;
	text-decoration: none;
	transition: 0.4s;
}

.arrow__link:hover{
	opacity: 0.6;
}

.arrow__link img{
	width: 44px;
	display:block;
	margin-left: 27px;
}

.showroom__img{
	width: 100%;
	display:block;
}

.top__section3{
	margin:0 0 140px;
}

.right{
	text-align: right;
	margin: 0;
}

.top__section4{
	margin:0 0 140px;
}

.ts4__flex{
	display:flex;
	justify-content: space-between;	
	margin-bottom: 40px;
}

.flow__area{
	position:relative;
	height: 100%;
  min-height: 650px;
}

.flow__aboarea{
	position:absolute;
	left: 0;
	bottom: 195px;
	width: 100%;
}

.ts1__left{
	position:relative;
}

.rel__area{
	position:relative;
}

.abo__num{
	margin: 0;
	position:absolute;
	right: 0;
	top: 15px;
	line-height: 1;
	font-size: 24px;
	color: #C1C1C1;
	font-weight: 300;
}

.ts1__left .flow__titlesub{
	margin: 0;
	font-size: 20px;
	font-weight: 400;
}

.ts1__left .flow__titlesub span{
	display:block;
	font-size: 12px;
	font-weight: 300;
	color:#5C5C5C;
}

.ts4__text{
	font-size: 12px;
	margin:30px 0 0;
	line-height: 2.8;
}

.flow__link{
	display:inline-block;
	margin-top: 0px;
}

.flow__bar{
	display:flex;
	width:calc(100% - 8px);
	margin: 60px auto 0;
	text-align: center;
	position:relative;
}

 .flow__bar .flow__col{
 	width: 16.6666666666666%;
 	position:relative;
 	height: 1px;
 	background:#4B4B4B;
 }

 .flow__bar .flow__col:after{
 	content: '';
 	position:absolute;
 	right: -4px;
 	top: 50%;
 	    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
 	width: 8px;
 	height: 8px;
 	border-radius: 50%;
 	background: #4B4B4B;
 }

 .flow__bar .flow__col.flow__first:before{
 	content: '';
 	position:absolute;
 	left: -4px;
 	top: 50%;
 	box-sizing: border-box;
 	    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
 	width: 8px;
 	height: 8px;
 	border:1px solid #4B4B4B;
 	border-radius: 50%;
 	background: #F5F5F5;
 }

 .flow__bar .flow__col.num7:after{
 	display:none;
 }

  .flow__bar .flow__col.num7:before{
 	content: '';
 	position:absolute;
 	right: -4px;
 	top: 50%;
 	box-sizing: border-box;
 	    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
 	width: 8px;
 	height: 8px;
 	border:1px solid #4B4B4B;
 	border-radius: 50%;
 	background: #F5F5F5;
 }

   .flow__bar .flow__col.num1__after:before{
 	content: '';
 	position:absolute;
 	left: -4px;
 	top: 50%;
 	    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
 	width: 8px;
 	height: 8px;
 	border-radius: 50%;
 	background: #4B4B4B;
 }




.num1{
	margin: 0;
	font-size: 10px;
	font-weight: 300;
	color:#5C5C5C;
	position:absolute;
	left: -4px;
	top: -24px;
}

.num2{
	margin: 0;
	font-size: 10px;
	font-weight: 300;
	color:#5C5C5C;
	position:absolute;
	right: -6px;
	top: -24px;
}

.flow__link img{
	width:44px;
	cursor: pointer;
	transition: 0.4s;
}

.flow__link img:hover{
	opacity: 0.6;
}

.top__section5{
	margin:140px 0 140px;
}

.news__article{
	list-style:none;
	padding-left: 0;
	margin: 0 0 40px;
}

.news__article li{
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom:1px solid #B5B5B5;	
}

.news__article li a{
	display:block;
	position:relative;
	text-decoration: none;
	color:#332E2B;
	font-size: 12px;
	transition: 0.4s;
	padding-right: 20px;
}

.news__article li a:after{
	content: '';
	position:absolute;
	right: 0;
	bottom: 0;
	width: 8px;
	height: 16px;
	background-image: url('img/arrow2.png');
	background-size: cover;
}

.news__article li a:hover{
	opacity: 0.6;
}

.news__article li a span{
	color:#000;
	display: block;
	margin-bottom: 10px;
}

.about__img{
	margin-top: 140px;
}

.about__section{
	margin:40px 0 0;
	padding-bottom: 40px;
}

.about__flex{
	display: flex;
	justify-content: space-between;
	align-items: end;
}

.about__left{
	width: 45%;
}

.about__left a{
	display:block;
	transition: 0.4s;
}

.about__left a:hover{
	opacity: 0.6;
}

.about__left a img{
	width: 100%;
}

.about__right{
	width: 55%;
	box-sizing: border-box;
	padding-left: 63px;
}

.flow__area{
	display:none;
}

.flow__area.flow__current{
	display:block;
}

.about__right h3{
	font-size: 16px;
	margin: 0;
	font-weight: 400;
}

.ab__text{
	font-size: 12px;
	margin: 0 0 64px;
}

footer{
	width: 100%;
	padding:88px 0 25px;
	box-sizing: border-box;
	padding-left: 25%;
	background: white;

}

.footer__flex{
	display:flex;
}

.footer__left{
	width: 40%;
}

.footer__right{
	width: 60%;
}

.fi__flex{
	display:flex;
	align-items: center;
}

.fi__flex div h3{
	font-size: 16px;
	margin: 0;
	color:#332E2B;
}

.fi__flex div p{
	font-size: 12px;
	margin: 0;
	font-weight: 500;
	color:#332E2B;
}

.fi__flex img{
	width: 47px;
	display:block;
	margin-right: 20px;
}

.icon__flex{
	display:flex;
	align-items: center;
	padding: 0;
	margin:25px 0 0;
	list-style: none;
}

.icon__flex li{
	margin-right: 20px;
}

.icon__flex li a{
	transition: 0.4s;
}

.icon__flex li a:hover{
	opacity: 0.6;
}

.icon1{
	width: 33px;
}

.icon2{
	width: 25px;
}

.icon3{
	width: 19px;
}

.icon4{
	width: 26px;
}

.fr__list{
	display: flex;
	justify-content: right;
	list-style: none;
	margin:0 0 17px;
}

.fr__list li{
	margin-left:20px;
}

.fr__list li a{
	text-decoration: none;
	position:relative;
	font-size: 14px;
	color:#000;
}

.fr__list li a:before{
	content: '';
	position:absolute;
	left: 0;
	bottom: -1px;
	width: 0;
	height:1px;
	background: black;
	transition: 0.4s;
}

.fr__list li a:hover:before{
	width: 100%;
}

.copyright{
	text-align: center;
	font-size: 10px;
	margin:70px 0 0;
	position:relative;
	left:-12.5%;
}

.inview1{
	opacity: 0;
	transition: 0.6s;
	transition-delay: 0.1s;
	transform: translateY(10px);
}

.inview1.is-show1{
	opacity: 1;
	transform: translateY(0px);
}

.inview2{
	display:none!important;
	opacity: 0;
	transition: 0.6s;
	transition-delay: 0.1s;
}

.inview2.is-show2{
	display:block!important;
	opacity: 1;
}

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

.inview__fade:after{
	    background: #fff;
    background: linear-gradient(0deg,hsla(0,0%,100%,0),#F5F5F5 25%,#F5F5F5);
    content: "";
    display: block;
    height: 133.3333%;
    left: 0;
    position: absolute;
    top: 0;
    transform: translate(0);
    transition: none;
    width: 100%;
    z-index: 3;
}

.inview__fade.active:after{
	    transform: translateY(-100%);
	    transition: transform 1s cubic-bezier(.39,.575,.565,1);
	    transition-delay: 0.5s;
}

.inview__fade img{
	display: block;
    height: 100%;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    transform: scale(1.1);
    transition: transform 6s cubic-bezier(.19,1,.22,1) 0.1s;
    width: 100%;
}

.inview__fade.active img{
	transform: scale(1);
} 

.content__area{
	overflow-x: hidden;
}

.ts1__right{
	height: 100%;
	min-height: 650px;
	width:51%;
	display:block;
}

.ts1__left{
	min-height: 650px;
	height: 100%;
}

.flow__aboarea{
	bottom: 100px;
}

.ts1__right{
	border-top-left-radius: 16px;
	border-bottom-left-radius: 16px;
}

.video{
	z-index: 4;
	position:relative;
}

.relative__area{
	position:relative;
}

.os__text{
	position:absolute;
	right: 0;
	bottom: 0;
	margin: 0;
	width: 141px;
	height: 22px;
	line-height: 22px;
	text-align: center;
	color:#5C5C5C;
	background: rgba(255, 255, 255, 0.7);
	z-index: 2;
}

.slide li , .slide-p li{
	overflow: hidden;
	position:relative;
}

.slide .slick-current img , .slide .remove-animation img , .slide-p .slick-current img , .slide-p .remove-animation img{
  animation: zoomUp 12s linear 0s normal both;
}

.slide img , .slide-p img{
	transition: 0.8s;
}

@keyframes zoomUp {
  0% {
    transform: scale(1);
  }

  100% {
    transform: scale(1.3); /* 拡大率 */
  }    
}

.slide , .slide-p{
	margin: 0;
	padding: 0;
	list-style: none;
	line-height: 1;
	height: auto;
	overflow: hidden;
	border-top-left-radius: 16px;
	border-bottom-left-radius: 16px;	
}


.slide li , .slide-p li{
	height: auto;
}

.slider{
	margin:30px 0 0;
	padding: 0;
	list-style: none;
}

.slider li img{
/*	height: 687px;*/
	object-fit: cover;
}

.top__section2 .slider li{
	padding-right: 18px;
	height:auto;
	overflow: hidden;
	box-sizing: border-box;
}

.top__section3{
	position: relative;
	z-index: 3;
}

.about__img{
	display: block;
	width: calc(100% - 80px);
	overflow: hidden;
	border-radius: 16px;
	min-height:501px;
}

.works__area{
	display:flex;
	width: 100%;
	margin-bottom: 40px;
	padding-bottom: 40px;
}

.works__area .w__flex{
	display:flex;
	min-width: calc(425px * 6);
}

.simplebar-track {
    border-radius: 10px;
}

.simplebar-track .simplebar-scrollbar.simplebar-visible::before{
  opacity:1;
}


.simplebar-track .simplebar-scrollbar::before{
	background:#BFC0C0;
}


.works__area a{
	display:block;
	width: 375px;
	margin-right: 50px;
	color:#332E2B;
	text-decoration: none;
	transition: 0.4s;
}

.works__area a:hover{
	opacity: 0.6;
}

.w__thm{
	width: 100%;
	border-radius: 16px;
	margin-bottom: 40px;	
	height: 204px;
}

.works__area a img{
	width: 100%;
	height: 204px;
	object-fit: cover;
	line-height: 1;

}

.w__info{
	display: flex;
	align-items: center;
	
}

.w__category{
	margin: 0;
	margin-right: 20px;
}

.w__category span{
	display:inline-block;
	background: #CBCBCB;
	color: white;
	border-radius: 15px;
	font-size: 12px;
	font-weight: 500;
	padding:2px 17px;
}

.w__date{
	font-size: 14px;
	margin: 0;
	color:#BFC0C0;
}

.works__area a h3{
	margin:18px 0 10px;
	font-size: 16px;
	font-weight: 400;
}

.works__area .w__excerpt{
	font-size: 12px;
	margin: 0;
	line-height: 2.4;
}

#parent2 img{
	width: 6px;
	position:relative;
	margin-left:10px;
	top: -2px;
}

.sec_titleimg img{
	width:457px;
	max-width: 100%;
	display:block;
	margin-bottom: 50px;
}

.page__area{
	padding:60px 0 110px;
	letter-spacing: 0.07em;
}

.page__title h2{
	font-weight: 400;
	display:flex;
	align-items: center;
	font-size:14px;
	color:#5C5C5C;
	margin: 0 0 18px;
}

.page__title h2 span{
	font-weight: 300;
	font-size: 28px;
	
	display:block;
	margin-right: 35px;
}

.breadcrumbs span , .breadcrumbs span a{
	font-size: 10px;
	margin:0 10px;
	font-weight: 500;
	text-align: center;
}

.breadcrumbs span{
	position:relative;
	top: -1px;	
}

.breadcrumbs a:first-child{
	margin-left: 0;
}

.breadcrumbs span:first-child{
	margin: 0;
}

.breadcrumbs span a{
	color:#5C5C5C;
	text-decoration: none;
	position:relative;
}

.breadcrumbs span a:before{
	content: '';
	position:absolute;
	left: 0;
	bottom: -1px;
	width: 0;
	height: 1px;
	transition: 0.4s;
	background: #5C5C5C;
}

.breadcrumbs span a:hover:before{
	width: 100%;
}

.page__title.type2{
	margin: 110px 0 60px;
}

.member__flex{
	display:flex;
	align-items: center;
	margin-bottom: 87px;
}

.member__col1{
	width: 34%;
	box-sizing: border-box;
	padding-right: 50px;
}

.member__col1.type2{
	padding-right: 0;
	padding-left: 50px;
}

.member__col2{
	width: 66%;
	height: 28vw;
	
}

.member__col2 img{
	width: 100%;
	height: 100%;
	border-radius: 16px;	
	object-fit: cover;
}

.member__col2.type1 img{
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}


.member__col1 h3{
	font-size: 20px;
	margin: 0 0 30px;
	font-weight: 400;
}

.member__col1 h3 span{
	font-size: 28px;
	display:block;
	font-weight: 300;
	color:#5C5C5C;
}

.member__col1{
	font-size: 12px;
	color:#332E2B;
	margin: 0;
}

.policy__area a{
	display:block;
	width: 100%;
	height: 33vw;
	max-height:550px;
	background-image: url('img/about/policy_bg.png');
	background-size: cover;
	background-position: center;
	color:white;
	box-sizing: border-box;
	padding-left: 50%;
	text-align: center;
	border-radius: 16px;
	padding-top: 5vw;
	text-decoration: none;
}

.policy__area a h3{
	margin: 0;
	display:flex;
	font-size: 14px;
	font-weight: 400;
	align-items: center;
	justify-content: center;
}

.policy__area a h3 span{
	font-size: 28px;
	font-weight: 400;
	display:block;
	margin-right: 35px;
}

.policy__area a p{
	font-size: 21px;
	font-weight: 500;
	line-height: 2.1;
	margin:36px 0 0;
}

.page__title.type3{
	margin: 130px 0 60px;
}

.ca__flex{
	display:flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.caf__left{
	width: 22%;
	margin-bottom: 24px;
	padding-bottom: 18px;
	border-bottom:1px solid #C3C1C1;
}

.caf__right{
	width: 68%;
	margin-bottom: 24px;
	padding-bottom: 18px;
	border-bottom:1px solid #E6E6E6;	
}

.caf__left p{
	font-size: 12px;	
	margin: 0;
}

.caf__right p{
	font-size: 12px;
	margin: 0;
}

.mb__0{
	margin-bottom: 0!important;
}

.ac__address{
	font-size:12px;
	margin: 0;
}


.ac__address--link{
	display:flex;
	justify-content: right;
	font-size: 12px;
	text-decoration: none;
	color:000;
	margin-bottom: 34px;
	transition: 0.4s;
}

.ac__address--link:hover{
	opacity: 0.6;
}

.ac__address--link span{
	border-bottom:1px solid #707070;
}

.ac__address--link img{
	width: 14px;
	height: 14px;
	display:block;
	margin-left: 3px;
	position:relative;
	top: -4px;
}

.ac__map{
	width: 100%;
	border-radius: 20px;
}

.reserve__bg{
	display:block;
	width: 100%;
	height: 32vw;
	min-height: 500px;
	max-height:530px;
	color:white;
	box-sizing: border-box;
	padding:20% 45px 0;
	border-radius: 16px;
	text-decoration: none;
	margin-top: 80px;
	transition: 0.4s;
}

.reserve__bg:hover{
	opacity: 0.8;
}

.reserve__bg h3{
	font-size: 15px;
	margin: 0;
	font-weight: 500;
}

.reserve__bg h3 span{
	font-size: 34px;
	font-weight: 500;
	display:block;
}

.reserve__bg p{
	font-size: 14px;
	line-height: 2;
	margin:20px 0 0;
	position:relative;
}

.reserve__bg img{
	width: 44px;
	position:absolute;
	right: 0;
	bottom: 0;
}

.pbcontact__area{
	background: #E6E6E6;
	width: 100%;
	box-sizing: border-box;
	padding:50px 0;
	padding-left: 25%;
}

.pca__flex{
	display:flex;
	align-items:start;
}

.pca__flex p{
	width: 50%;
	font-size: 16px;
	margin:9px 0 0;
}

.mt__0{
	margin-top: 0!important;
}

.pca__flex a{
	display:flex;
	align-items: center;
	font-size: 14px;
	font-weight: 300;
	color:#4B4B4B;
	width: 157px;
	justify-content: space-between;
	text-decoration: none;
	transition: 0.4s;
}

.pca__flex a:hover{
	opacity: 0.6;
}

.pca__flex a img{
	width: 44px;
}

.shr__flex{
	display:flex;
}

.shr__left{
	width: calc(50% - 50px);
	box-sizing: border-box;
	padding-right: 50px;
}

.shr__right{
	width:calc(50% + 50px);
}

.shr__right img{
	width: 100%;
}

.pt__0{
	padding-top: 0!important;
}

.pt__0 .page__title.first{
	padding-top: 60px;
}

.shr__left .sh__sub{
	margin:115px 0 54px;
	color:#5C5C5C;
	font-size: 21px;
	font-weight: 400;
	line-height: 2;
}

.shr__left .sh__text1{
	font-size: 12px;
	margin: 0;
	color:#5C5C5C;
	line-height: 2.6;
}

.features__area{
	margin-top: 147px;
}

.fea__flex{
	display:flex;
	margin: 42px 0 67px;
}

.fea__flex.type2{
	margin-bottom: 140px;
}

.fea__left{
	width: 50%;
	box-sizing: border-box;
	padding-right: 10vw;
}

.fea__right{
	width: 50%;
	height: 22vw;
}

.fea__right img{
	width: 100%;
	border-radius: 16px;
}

.fea__left h3{
	font-size: 20px;
	font-weight: 400;
	margin:0 0 35px;
}

.fea__left h3 span{
	display:block;
	font-size: 12px;
	color:#5C5C5C;
	font-weight: 300;
}

.fea__left p{
	margin:0;
	font-size: 12px;
	color:#5C5C5C;
	line-height: 2.6;
}

.feature__bottom{
	width: 100%;
	height:44vw;
}

.feature__bottom img{
	width: 100%;
	border-radius: 16px;
}

.faq-question{
	margin: 0;
	padding: 25px 0;
	padding-left: 80px;
	padding-right:40px;
	cursor: pointer;
	z-index: 2;
	position:relative;
	font-size: 12px;
	font-weight: 400;
	background: white;
}

.faq-question:before{
	content: '';
	background-image: url('img/faq/q.png');
	background-size: cover;
	width: 28px;
	height: 28px;
	position:absolute;
	left: 29px;
	top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);	
}


.faq-question:after{
	content: '';
	position:absolute;
	right: 29px;
	top:50%;
    transform: translateY(-50%) rotate(180deg);
    -webkit-transform: translateY(-50%) rotate(180deg);
    -ms-transform: translateY(-50%) rotate(180deg);		
	width: 10px;
	height: 9px;
	background-image: url('img/faq/arrow.png');
	background-size: cover;
	transition: 0.4s;
}

.faq-answer:before{
	content: '';
	background-image: url('img/faq/a.png');
	background-size: cover;
	width: 28px;
	height: 28px;
	position:absolute;
	left: 29px;
	top: 19px;
}

.faq-question.is-active:after{
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);		
}

.faq-answer {
	height: 0;
	visibility: hidden;
	overflow: hidden;
	transition: 0.3s;
	opacity: 0;
	margin: 0;
	background: #E6E6E6;
	padding:0 0;
	padding-left:80px;
	padding-right: 40px;
	font-size: 12px;
	line-height: 2.5;
	position:relative;
}

.faq-answer p{
	margin: 0 0 12px;
}

.faq-answer p:last-child{
	margin-bottom:0;
}

.js-question.is-active + .faq-answer {
	height: auto;
	padding-top:22px;
	padding-bottom: 22px;
	visibility: inherit;
	opacity: 1;
}

.faq__area{
	margin-top: 110px;
}

.faq-answer p a{
	color:black;
	text-underline-offset: 4px;
}

.privacy__area h3{
	margin:60px 0 20px;
	font-size: 20px;
	font-weight: 400;
}

.privacy__area p{
	font-size: 12px;
	margin: 0;
	line-height: 2.3;
	color:#5C5C5C;
}

.privacy__area{
	margin-top: 110px;
}

.privacy__area ul{
	margin: 0;
	font-size: 12px;
	padding-left: 2em;
	list-style: none;
	line-height: 2.3;
	color:#5C5C5C;
}

.privacy__area ul li{
	position:relative;
}

.privacy__area ul li:before{
	content: '';
	position:absolute;
	left: -0.7em;
	top: 13px;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background:#5C5C5C;
}

.prbottom__info{
	margin-top: 60px;
}

.prbottom__info a{
	color: #5C5C5C;
	text-decoration: none;
	transition: 0.4s;
}

.prbottom__info a:hover{
	opacity: 0.6;
}

.news__page{
	margin-top: 110px;
}

.news__page .news__article{
	margin: 0;
}

.news__page .news__article li{
	margin-bottom: 60px;
}

.news__page .news__article li a span{
	font-size: 12px;
}

.news__page .news__article li a{
	font-size: 14px;
}

.news__page .news__article li a:after{
	bottom: 8px;
}

.page__navi .wp-pagenavi{
	display:flex;
	text-align: center;
	justify-content: center;
	align-items: center;
}

.page__navi .wp-pagenavi span.current{
	width: 42px;
	height: 42px;
	line-height: 42px;
	text-align: center;
	color:white;
	color:white;
	padding:0;
	border-radius: 50%;
	border: 0;
	background: #4B4B4B;
	margin:0 10px;
}

.page__navi{
	font-size: 14px;
	font-weight: 300;
}

.page__navi .wp-pagenavi a{
	width: 42px;
	height: 42px;
	line-height: 40px;
	text-align: center;
	color:white;
	color:white;
	padding:0;
	border-radius: 50%;
	border:1px solid #4B4B4B;
	background:inherit;
	color:#5C5C5C;	
	box-sizing: border-box;
	margin:0 10px;
}

.page__navi .wp-pagenavi a.nextpostslink{
	position: relative;
	width: auto;
	height:auto;
	border: 0;
	margin-left: 20px;
	margin-right: 0;
	padding-right: 30px;
}

.page__navi .wp-pagenavi a.nextpostslink:after{
	content: '';
	position:absolute;
	right: 4px;
	top: 50%;
	width: 8px;
	height:16px;
	background-image: url('img/news/next.png');
	background-size: cover;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);	
}

.page__navi .wp-pagenavi a.previouspostslink{
	position: relative;
	width: auto;
	height:auto;
	border: 0;
	margin-right: 20px;
	margin-left: 0;
	padding-left: 30px;
}

.page__navi .wp-pagenavi a.previouspostslink:before{
	content: '';
	position:absolute;
	left: 4px;
	top: 50%;
	width: 8px;
	height:16px;
	background-image: url('img/news/prev.png');
	background-size: cover;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);	
}

.single__page{
	margin-top:50px;
}

.single__date{
	margin: 0 0 12px;
	font-size: 14px;
	color:#BFC0C0;
}


.single__title{
	font-size: 23px;
	margin:0;
	font-weight: 400;
}

.single__content h2 , .single__content h3{
	margin:55px 0 25px;
	font-size: 20px;
	font-weight: 400;
}

.single__content h2.mark , .single__content h3{
	position:relative;
	padding-left: 13px;
}

.single__content h2.mark:before , .single__content h3:before{
	content:'';
	position: absolute;
	left: 0;
	top: 14px;
	width: 7px;
	height: 8px;
	background-image: url('img/news/mark.png');
	background-size: cover;
}

.single__content p{
	font-size: 12px;
	line-height: 2.2;
	margin:20px 0;
}

.single__content .wp-block-quote{
	margin: 0;
	background: white;
	border-radius: 16px;
	padding:24px 0;
	padding-left: 74px;
	padding-right: 30px;
	margin:50px 0;
	position:relative;
}

.single__content .wp-block-quote:before{
	content: '“';
	position: absolute;
	top: 50%;
	line-height: 45px;
	left: 18px;
	font-size: 90px;
	color:#B4B4B4;
	font-weight: 500;

	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;	
}

.single__content img{
	max-width: 100%;
	display:block;
	margin:50px auto;
}

.single__content ul{
	margin:50px 0;
	font-size: 12px;
	list-style: none;
	padding: 0;
}

.single__content ul li{
	margin:24px 0;
	position:relative;
	padding-left: 24px;
}

.single__content ul li:before{
	content: '';
	position: absolute;
	left: 0;
	top: 4px;
	width: 15px;
	height: 15px;
	background: #C2C9CC;
	border-radius: 50%;
}

.single__content ol{
	margin:50px 0;
	font-size: 12px;
	list-style: none;
	padding: 0;
}

.single__content ol li{
	margin:24px 0;
	position:relative;
	padding-left: 40px;
}

.single__content ol li:before{
	content: '01';
	font-family: franklin-gothic-atf, sans-serif;
	font-weight: 300;
	font-size: 14px;
	position: absolute;
	left: 0;
	top: -3px;
	width: 28px;
	height: 28px;
	background: #4B4B4B;
	text-align: center;
	color:white;
	border-radius: 50%;
}

.single__content ol li:nth-child(2):before{
	content: '02';
}

.single__content ol li:nth-child(3):before{
	content: '03';
}

.single__content ol li:nth-child(4):before{
	content: '04';
}

.single__content ol li:nth-child(5):before{
	content: '05';
}

.single__content ol li:nth-child(6):before{
	content: '06';
}

.single__content ol li:nth-child(7):before{
	content: '07';
}

.single__content ol li:nth-child(8):before{
	content: '08';
}

.single__content ol li:nth-child(9):before{
	content: '09';
}

.single__content ol li:nth-child(10):before{
	content: '10';
}

.single__content ol li:nth-child(11):before{
	content: '11';
}

.single__content ol li:nth-child(12):before{
	content: '12';
}

.single__content ol li:nth-child(13):before{
	content: '13';
}

.single__content ol li:nth-child(14):before{
	content: '14';
}

.single__content ol li:nth-child(15):before{
	content: '15';
}

.single__content ol li:nth-child(16):before{
	content: '16';
}

.single__content ol li:nth-child(17):before{
	content: '17';
}

.single__content ol li:nth-child(18):before{
	content: '18';
}

.single__content ol li:nth-child(19):before{
	content: '19';
}

.single__content ol li:nth-child(20):before{
	content: '20';
}

.single__content p a{
	font-size: 12px;
	transition: 0.4s;
	color:black;
	text-underline-offset: 3px;
}

.single__content p a:hover{
	opacity: 0.6;
}

.link__flex{
	display:flex;
	align-items: center;
	justify-content: center;
	margin-top: 90px;
}

.link__flex a{
	font-size: 15px;
	color:black;
	text-decoration: none;
}

.link__flex a[rel="prev"]{
	position:relative;
	padding-left: 18px;
}

.link__flex a[rel="prev"]:before{
	content:'';
	position: absolute;
	left: 0;
	top: 11px;
	width: 7px;
	height: 8px;
	background-image: url('img/news/mark.png');
	background-size: cover;
	transition: 0.4s;
	transform: rotate(180deg);
}

.link__flex a[rel="prev"]:hover:before{
	transform: rotate(180deg) translateX(5px);
}

.link__flex a[rel="next"]{
	position:relative;
	padding-right: 18px;
}

.link__flex a[rel="next"]:hover:before{
	transform: translateX(5px);
}

.link__flex a[rel="next"]:before{
	content:'';
	position: absolute;
	right: 0;
	top: 11px;
	width: 7px;
	height: 8px;
	transition: 0.4s;
	background-image: url('img/news/mark.png');
	background-size: cover;
}

.link__flex .list__all{
	display:block;
	width: 87px;
	height: 87px;
	line-height: 84px;
	font-size: 18px;
	color:#5C5C5C;
	border-radius: 50%;
	transition: 0.4s;
	text-align: center;
	font-size: 18px;
	font-weight: 300;
	box-sizing: border-box;
	border:1px solid #5C5C5C;
	text-decoration: none;
	margin:0 65px;
}

.link__flex .list__all:hover{
	background: #5C5C5C;
	color:white;
}

.th__event{
	opacity: 0.28;
	margin: 0;
}

.page__navi .wp-pagenavi a{
	transition: .4s;
}

.page__navi .wp-pagenavi a:hover{
	background: #4B4B4B;
	border:1px solid #4B4B4B;
	color:white;
}

.page__navi .wp-pagenavi a.nextpostslink , .page__navi .wp-pagenavi a.previouspostslink{
	background: inherit!important;
	border: 0!important;
	color:#4B4B4B!important;
}

.page__navi .wp-pagenavi a.nextpostslink:hover{
	opacity: 0.6;
}


.page__navi .wp-pagenavi a.previouspostslink:hover{
	opacity: 0.6;
}

.blog__article{
	list-style: none;
	margin: 0;
	display:flex;
	flex-wrap: wrap;
	padding-left: 0;
	justify-content: space-between;
}

.blog__article li{
	width: 48%;
}

.blog__article li a{
	display:block;
	text-decoration: none;
	color:#332E2B;
	margin-bottom: 64px;
	transition: 0.4s;
}

.blog__article li a .art__thm{
	width: 100%;
	height:17.7vw;
}

.blog__article li a .art__thm img{
	width: 100%;
	object-fit: cover;
	border-radius: 16px;
	transition: 0.4s;
}

.blog__article li a:hover{
	opacity: 0.6;
}

.blog__categorylink ul{
	display: flex;
	margin: 0;
	padding:0;
	list-style: none;
}

.blog__categorylink{
	display:flex;
	align-items: center;
	margin:50px 0 40px;
	font-family: franklin-gothic-atf, sans-serif;
	font-weight: 300;
}

.blog__categorylink ul{
	display:flex;
}

.blog__categorylink ul li{
	display:block;
	margin-right: 10px;
}

.blog__categorylink ul li a{
	text-decoration: none;
}

.blog__categorylink ul li a{
	border:1px solid #C2C9CC;
	color:#5C5C5C;
	border-radius:13px;
	padding:4px 17px;
	font-size: 12px;
}

.blog__categorylink ul li a.current{
	pointer-events: none;
	font-size: 12px;
	color:white;
	background: #C2C9CC;
	border:1px solid #C2C9CC;
}

.blog__info{
	display:flex;
	align-items: center;
	margin-top: 40px;
}

.blog__category ul{
	margin: 0;
	padding:0;
	display:flex;
	list-style: none;
}

.blog__category ul li{
	margin-right:10px;
	padding:2px 16px;
	color:white;
	font-size: 12px;
	font-weight: 500;
	color:white;
	width: auto!important;
	border-radius: 16px;
	white-space: nowrap;
	background:#CBCBCB;
}

.blog__category ul li:last-child{
	margin-right: 20px;
}

.blog__info .blog__date{
	display:block;
	font-size: 14px;
	font-weight: 500;
	color:#BFC0C0;
}

.blog__title{
	font-size: 16px;
	font-weight: 400;
	color:#332E2B;
	margin:20px 0 12px;
}

.blog__excerpt{
	font-size: 12px;
	font-weight: 400;
	line-height: 2.2;
	margin: 0;
}

.blog__navi{
	margin-top: 50px;
}

.blog__bottom{
	padding-bottom: 200px;
}

.breadcrumbs span:nth-child(2) a{
	margin-right: 0;
}

.complete__text p.ct__1{
	text-align: center;
	font-size: 12px;
	color:black;
	line-height: 2.4;
	margin:110px 0 60px;
}

.tel__flex{
	display:flex;
	justify-content: center;
}

.tf__left img{
	width: 59px;
}

.tf__left{
	display:block;
	margin-top: 10px;
	margin-right:27px;
}

.tf__right a{
	font-size: 28px;
	line-height: 1.4;
	font-weight: 300;
	color:#5C5C5C;
	display:inline-block;
	text-decoration: none;
	border-bottom:1px solid #707070;
	transition: 0.4s;
}

.tf__right a:hover{
	opacity: 0.6;
}

.tf__right p{
	line-height: 1.8;
	font-size: 12px;
	margin:5px 0 0;
	color:#5C5C5C;
}


.back__link{
	display:inline-block;
	padding-left: 20px;
	font-size: 12px;
	margin: 0;
	color:black;
	position:relative;
	text-decoration: none;
}

.back__link:before{
	content:'';
	position: absolute;
	left: 0;
	top: 8px;
	width: 7px;
	height: 8px;
	background-image: url('img/news/mark.png');
	background-size: cover;
	transition: 0.4s;
	transform: rotate(180deg);
}

.back__link:hover:before{
	transform: rotate(180deg) translateX(5px);
}

.back__center{
	text-align: center;
	margin:60px 0 0;
}

.contact__page{
	margin-top: 110px;
}

.contactV{
	width:100%;
}

/* .cr__space{
	width: 100%;
	box-sizing: border-box;
	padding-left: 37%;
} */

/* .cr__space .tel__flex{
	justify-content: left;
}

.crs__text{
	font-size: 12px;
	color:black;
	line-height: 2;
	margin:120px 0 20px;
} */

.form__flex{
	display:flex;
	flex-wrap: wrap;
}

.form__left{
	width: 37%;
	margin-bottom: 25px;
}

.form__left p{
	margin: 0;
	box-sizing: border-box;
	font-size: 14px;
	padding-left: 57px;
	position:relative;
}

.form__left p span{
	position:absolute;
	left: 0;
	top: 3px;
	width: 52px;
	height:20px;
	line-height: 20px;
	font-size: 12px;
	font-weight: 500;
	color:white;
	text-align: center;
	border-radius: 13px;
	background:#CC5905;
}

.form__right{
	width: 63%;
	margin-bottom: 25px;
}

.form__right.text__input input{
	font-size: 12px;
	font-family: 'Zen Kaku Gothic Antique', sans-serif;
	font-weight: 400;	
	border:1px solid #E0E0E0;
	background:#EAEAEA;
	box-sizing: border-box;
	width: 100%;
	padding:19px 35px;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	color:black;
	letter-spacing: 0.06em;
}

.form__right.text__input textarea{
	font-size: 12px;
	line-height: 1.9;
	font-family: 'Zen Kaku Gothic Antique', sans-serif;
	font-weight: 400;	
	border:1px solid #E0E0E0;
	background:#EAEAEA;
	box-sizing: border-box;
	width: 100%;
	height:246px;
	resize: none;
	padding:19px 35px;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	color:black;
	letter-spacing: 0.06em;
}

.form__right p{
	margin: 0;
}

.form__right.text__input.zip input{
	width: 100%!important;
}

.form__right{
	position:relative;
}

/* .form__right p.small{
	position:absolute;
	left: 0;
	bottom: -16px;
	font-size: 10px;
} */

.form__right.mtp1 , .form__left.mtp1{
	margin-top: 40px;
}

.form__right.mtp2 , .form__left.mtp2{
	margin-top: 50px;
}

.form__right .wpcf7-form-control.wpcf7-radio{
	display:flex;
	flex-wrap: wrap;
	font-size: 12px;
}

.form__right .wpcf7-form-control.wpcf7-radio input{
	margin: 0;
	width: 30px;
	height:30px;
	display:block;
}

.form__right .wpcf7-form-control.wpcf7-radio .wpcf7-list-item{
	display:block;
	margin: 0;
}

.form__right .wpcf7-form-control.wpcf7-radio .wpcf7-list-item label{
	display:flex;
	align-items: center;
	margin: 0 0 13px;
	margin-right: 16px;
}

.form__right .wpcf7-form-control.wpcf7-radio .wpcf7-list-item span{
	display:block;
}

.form__right .wpcf7-form-control.wpcf7-radio .wpcf7-list-item label input{
	accent-color:#332E2B;
	margin-right: 10px;
}

.form__area{
	margin-top: 50px;
}
.form__right.pr__col{
	margin-top: 20px;
}

.form__right.pr__col p{
	font-size: 14px;
	margin:0 0 18px;
}

.form__right.pr__col p a{
	text-decoration: none;
	border-bottom:1px solid #CC5905;
	color:#CC5905;
	transition: 0.4s;
}

.form__right.pr__col p a:hover{
	opacity: 0.6;
}

.submit__area{
	margin-top: 35px;
}

.submit__area p{
	margin:0;
	display:inline-block;
	position:relative;
	width: 290px;
}

.submit__area p:after{
	content:'';
	position:absolute;
	right: 20px;
	top: 27px;
	width: 8px;
	height: 8px;
	background-image: url('img/contact/arrow.png');
	background-size: cover;
	z-index: 2;
}

.submit__area p input{
	font-family: 'Zen Kaku Gothic Antique', sans-serif;
	font-weight: 400;	
	width: 100%;
	height: 60px;
	display:block;
	line-height: 60px;
	background: #4B4B4B;
	color:white;
	border-radius: 30px;
	text-align: center;
	transition: 0.4s;
	border: 0;
	cursor: pointer;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;	
}

.submit__area p input:hover{
	opacity: 0.6;
}

.submit__area .back{
	width: 290px;
	text-align: center;
}

.submit__area .back input{
	background: inherit;
	width: auto;
	height: auto;
	line-height: 1.8;
	background: inherit;
	font-size: 12px;
	color:black;
	display:block;
	margin:0 auto;
	padding:5px 20px;
	position:relative;
	z-index: 3;
	opacity: 1!important;
}

.submit__area .back p{
	text-align: center;
	margin:0 auto;
	position:relative;
}

.submit__area .back p:before{
	content: '';
	position:absolute;
	left: 98px;
	top: 12px;
	width: 8px;
	height: 8px;
	background-image: url('img/contact/arrow2.png');
	background-size: cover;
	z-index: 2;
	transition: 0.4s;
}

.submit__area .back p:after{
	display: none;
}

.submit__area.back__area{
	margin-top: 90px;
}

.submit__area.back__area p{
	margin-bottom: 0;
}

.confirm .form__right p{
	font-size: 14px;
}

.left__fix ul li.current{
	position:relative;
}

.left__fix ul li.current:before{
	content: '';
	position:absolute;
	left: -17px;
	top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);	
	width: 6px;
	height:7px;
	background-image: url('img/arrow4.png');
	background-size: cover;
}

.left__fix ul li.current a{
	pointer-events: none;
}

.faq__box{
	margin-bottom: 6px;
}

.concept__bottom.feature__bottom{
	height: 35.2vw;
}

.feature__bottom.concept__bottom img{
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.cb__area p{
	font-size: 22px;
	color: #5C5C5C;
	margin:54px 0 0;
}

.ct__img{
	width: 327px;
	display:block;
	max-width: 100%;
	margin-bottom: 10px;
}

.works__page{
	margin-top: 110px;
}

.works__bottom{
	margin-top: 140px;
}

.wb__pageV img{
	width: 100%;
}

.wb__pageV{
	width: 100%;
	height: 34vw;
}

.flow__title{
	margin-top: 105px;
}

.flow__box .faq-question{
	background: #E6E6E6;
}

.flow__box .faq-question:before{
	display:none;
}

.flow__box .faq-answer:before{
	display:none;
}

.flow__box .faq-answer{
	padding-top: 0;
}

.flow__box .fb__text1{
	font-size: 12px;
	font-weight: 300;
	margin: 0;
}

.flow__box .fb__text2{
	font-size: 20px;
	margin: 0;
	line-height: 1.6;
}

.flow__box .faq-question{
	padding-top: 36px;
	padding-bottom: 36px;
	padding-left: 127px;
	padding-right: 120px;
	position:relative;
}

.faq__box.flow__box{
	border:2px solid white;
		border-radius: 16px;
	background: #E6E6E6;
	overflow: hidden;
	position:relative;
}

.faq__box.flow__box .js-question.is-active + .faq-answer{
	padding-top: 0!important;
}

.num{
	font-size: 44px;
	color:white;
	margin: 0;
	font-weight: 300;
	position:absolute;
	left: 23px;
	top: 50%;
	transition: 0.4s;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);	
    z-index: 10;
}

.faq__box.flow__box .js-question.is-active + .faq-answer{

	padding-bottom: 36px;
}

.faq__box.flow__box .faq-answer{
	padding-left: 127px;	
	padding-right: 110px;
}

.faq__box.flow__box:before{
	content: '';
	position:absolute;
	left:97px;
	top: 0;
	width: 2px;
	height: 100%;
	background: white;
	z-index: 3;
	transition: 0.4s;
}


.faq__box.flow__box .faq-question:after{
	display:none;
}

.faq__box.flow__box:after{
    content: '';
    position: absolute;
    right: 41px;
    top: 50%;
    transform: translateY(-50%) rotate(180deg);
    -webkit-transform: translateY(-50%) rotate(180deg);
    -ms-transform: translateY(-50%) rotate(180deg);
    width: 10px;
    height: 9px;
    background-image: url(img/faq/arrow.png);
    background-size: cover;
    transition: 0.4s;
    z-index: 3;
}

.faq__box.flow__box.active:after{
    transform: translateY(-50%) rotate(0);
    -webkit-transform: translateY(-50%) rotate(0);
    -ms-transform: translateY(-50%) rotate(0);	
}

.faq__box.flow__box{
	margin-bottom: 0;
}

.rel__faq{
	position:relative;
	margin-bottom: 26px;
}

.rel__faq:before{
	content: '';
	position:absolute;
	left: 50%;
	bottom: -26px;
	width: 6px;
	height:26px;
	background: white;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);	
}

.rel__faq:after{
	content: '';
	position:absolute;
	right:90px;
	top: 0;
	width:2px;
	height: 100%;
	background: white;
	z-index: 2;

}

.rel__faq.last:before{
	display:none;
}


.popup.hidden{
	opacity:0;
	visibility: hidden;
	z-index: -1;
}

.popup1 , .popup2 ,.popup3 , .popup4 , .popup5 ,.popup6{
  height: 100vh;
  width: 100%;
  background:rgba(0,0,0,0.5);
  opacity: 1;
  position: fixed;
  top: 0;
  left: 0;
  display:block;
  visibility: inherit;
  transition: 0.4s;
  z-index: 9999999999999;
}

.outside{
	position:absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 999;
	cursor: pointer;
}


.hidden .content{
	opacity: 0;
    transform: translate(-50%, -50%) scale(0.8);
    -webkit-transform: translate(-50%, -50%) scale(0.8);
    -ms-transform: translate(-50%, -50%) scale(0.8);		
	transition-delay:0;
}


.inherit .content{
	opacity: 1;
	transition-delay:0.4s;
    transform: translate(-50%, -50%) scale(1);
    -webkit-transform: translate(-50%, -50%) scale(1);
    -ms-transform: translate(-50%, -50%) scale(1);	
}


.content{
  line-height: 1.7;
	max-width: 95%;
	max-height:90vh;	
  z-index: 99989;
  top: 50%;
  left: 50%;
  width: 1326px;	
  overflow-y:auto;
 position: absolute;   
  box-sizing: border-box;
  margin:0;	 
  padding: 48px 66px;
  padding-right: 0;
	opacity: 0;
    display:block;
    	 border-radius: 16px;
    background: white;
    transition: 0.6s; 
    scroll-behavior: smooth;
}

.works__page .blog__article a{
	cursor: pointer;
}

.slider2 li{
	height: auto;
	padding-left: 14px;
}

.slider2 li img{
	width: 100%;
}

.content .slider2{
	margin: 0;
	padding: 0;
	position:relative;
}

.content .slider2 .slick-prev{
	display:none!important;
}

.content .slider2 .next-arrow{
	width: 44px;
	display:block;
	margin-top: 40px;
	margin-left: 14px;
	cursor: pointer;
}

.content .slider2 li img{
	height:250px;
	object-fit: cover;
	border-radius: 16px;
}

.pop__text1{
	font-size: 14px;
	font-weight: 500;
	color:#BFC0C0;
	margin: 0 0 14px;
	padding-left: 14px;
}

.pop__text2{
	font-size: 23px;
	color:#332E2B;
	margin: 0 0 15px;
	font-weight: 400;
	padding-left: 14px;
}

.pop__text3{
	font-size: 12px;
	line-height: 2.3;
	color:#332E2B;
	margin:0 0 46px;
	padding-left: 14px;
}

.slider2 .slick-list{
	padding-left: 0!important;
	padding-right:820px!important;
}

.slider2 .slick-dots{
	display:flex;
	margin-top: 50px;
	padding-left: 14px;
}

.slider2 .slick-dots button{
	display: none;
}

.slider2 .slick-dots li{
	position:relative;
	width: 95px;
	padding: 0;
	height: 1px;
	background: #4B4B4B;
	list-style: none;
}

.slider2 .slick-dots li:before{
	content: '';
	width: 8px;
	height: 8px;
	border-radius: 50%;
	border:1px solid #4B4B4B;
	background: #4B4B4B;
	position:absolute;
	left: 0;
	top: -4px;
	transition: 0.4s;
}

.slider2 .slick-dots li:last-child{
	width: 0;
}

.slider2 .slick-dots li.slick-active:before{
	background: #EFEFEF;

}

.slider2 .slick-dots li:after{
	opacity:0;
}

.slider2 .slick-dots li:first-child:after{
	opacity:1;
}

.slider2 .slick-dots li:last-child:after{
	opacity:1;
}

.slider2 .slick-dots li:nth-child(1):after{
	content: '01';
	position:absolute;
	font-size: 10px;
	color:#5C5C5C;
	left: 0px;
	top:-24px;
	font-weight: 300;
	font-family: franklin-gothic-atf, sans-serif;
}

.slider2 .slick-dots li:nth-child(2):after{
	content: '02';
	position:absolute;
	font-size: 10px;
	color:#5C5C5C;
	left: 0px;
	top:-24px;
	font-weight: 300;
	font-family: franklin-gothic-atf, sans-serif;
}

.slider2 .slick-dots li:nth-child(3):after{
	content: '03';
	position:absolute;
	font-size: 10px;
	color:#5C5C5C;
	left: -1px;
	top:-24px;
	font-weight: 300;
	font-family: franklin-gothic-atf, sans-serif;
}

.slider2 .slick-dots li:nth-child(4):after{
	content: '04';
	position:absolute;
	font-size: 10px;
	color:#5C5C5C;
	left: -1px;
	top:-24px;
	font-weight: 300;
	font-family: franklin-gothic-atf, sans-serif;
}

.slider2 .slick-dots li:nth-child(5):after{
	content: '05';
	position:absolute;
	font-size: 10px;
	color:#5C5C5C;
	left: -1px;
	top:-24px;
	font-weight: 300;
	font-family: franklin-gothic-atf, sans-serif;
}

.slider2 .slick-dots li:nth-child(6):after{
	content: '06';
	position:absolute;
	font-size: 10px;
	color:#5C5C5C;
	left: -1px;
	top:-24px;
	font-weight: 300;
	font-family: franklin-gothic-atf, sans-serif;
}

.slider2 .slick-dots li:nth-child(7):after{
	content: '07';
	position:absolute;
	font-size: 10px;
	color:#5C5C5C;
	left: -1px;
	top:-24px;
	font-weight: 300;
	font-family: franklin-gothic-atf, sans-serif;
}

.slider2 .slick-dots li:nth-child(8):after{
	content: '08';
	position:absolute;
	font-size: 10px;
	color:#5C5C5C;
	left: -1px;
	top:-24px;
	font-weight: 300;
	font-family: franklin-gothic-atf, sans-serif;
}

.slider2 .slick-dots li:nth-child(9):after{
	content: '09';
	position:absolute;
	font-size: 10px;
	color:#5C5C5C;
	left: -1px;
	top:-24px;
	font-weight: 300;
	font-family: franklin-gothic-atf, sans-serif;
}

.slider2 .slick-dots li:nth-child(10):after{
	content: '10';
	position:absolute;
	font-size: 10px;
	color:#5C5C5C;
	left: -1px;
	top:-24px;
	font-weight: 300;
	font-family: franklin-gothic-atf, sans-serif;
}

.slider2 .slick-dots li:nth-child(11):after{
	content: '11';
	position:absolute;
	font-size: 10px;
	color:#5C5C5C;
	left: -1px;
	top:-24px;
	font-weight: 300;
	font-family: franklin-gothic-atf, sans-serif;
}

.slider2 .slick-dots li:nth-child(12):after{
	content: '12';
	position:absolute;
	font-size: 10px;
	color:#5C5C5C;
	left: -1px;
	top:-24px;
	font-weight: 300;
	font-family: franklin-gothic-atf, sans-serif;
}

.flow__faq.faq__area{
	margin-top: 30px;
}

.wb__pageV img{
	border-radius: 16px;
}

.w__flex a{
	cursor: pointer;
}

.relative__area .slick-dots{
	display:flex;
	position:absolute;
	left: 40px;
	bottom: 20px;
	font-family: franklin-gothic-atf, sans-serif;
	z-index: 10;
	padding:0;
}

.relative__area .slick-dots button{
	display:none;
}

.relative__area .slick-dots li{
	width: 90px;
	height: 20px;
	display:block;
	position:relative;
	z-index: 10;
	overflow: inherit;
	list-style: none;
}

.relative__area .slick-dots li:nth-child(1):before{
	content: '01';
	position:absolute;
	left:50%;
	font-family: franklin-gothic-atf, sans-serif;
	font-size: 14px;
	font-weight: 300;
	color:white;
	top: 0;
	z-index: 10;
	transition: 0.8s;
}

.relative__area .slick-dots li:after{
	content: '';
	position:absolute;
	left: 0;
	top: calc(50% - 4px);
	width:0;
	height: 2px;
	background: white;
/*	opacity: 0;*/
	transition: 0.4s ease;
}

.relative__area .slick-dots li.slick-active:after{
	width: 100%;
	opacity: 1;
	transition: 10s ease;
}

.relative__area .slick-dots li:before{
	opacity: 1;
	left: 50%!important;
	cursor: pointer;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transition: 1s!important;	
}

.relative__area .slick-dots li.slick-active:before{
	opacity: 0;
	left: 50%!important;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);	
}

.relative__area .slick-dots li:nth-child(2):before{
	content: '02';
	position:absolute;
	left: 0px;
	font-family: franklin-gothic-atf, sans-serif;
	font-size: 14px;
	font-weight: 300;
	color:white;
	top: 0;
	z-index: 10;
	transition: 0.4s;
}

.relative__area .slick-dots li:nth-child(3):before{
	content: '03';
	position:absolute;
	left: 0px;
	font-family: franklin-gothic-atf, sans-serif;
	font-size: 14px;
	font-weight: 300;
	color:white;
	top: 0;
	z-index: 10;
	transition: 0.4s;
}

.relative__area .slick-dots li:nth-child(4):before{
	content: '04';
	position:absolute;
	left: 0px;
	font-family: franklin-gothic-atf, sans-serif;
	font-size: 14px;
	font-weight: 300;
	color:white;
	top: 0;
	z-index: 10;
	transition: 0.4s;
}

.relative__area .slick-dots li:nth-child(5):before{
	content: '05';
	position:absolute;
	left: 0px;
	font-family: franklin-gothic-atf, sans-serif;
	font-size: 14px;
	font-weight: 300;
	color:white;
	top: 0;
	z-index: 10;
	transition: 0.4s;
}

.relative__area .slick-dots li:nth-child(6):before{
	content: '06';
	position:absolute;
	left: 0px;
	font-family: franklin-gothic-atf, sans-serif;
	font-size: 14px;
	font-weight: 300;
	color:white;
	top: 0;
	z-index: 10;
	transition: 0.4s;
}

.relative__area .slick-dots li:nth-child(7):before{
	content: '07';
	position:absolute;
	left: 0px;
	font-family: franklin-gothic-atf, sans-serif;
	font-size: 14px;
	font-weight: 300;
	color:white;
	top: 0;
	z-index: 10;
	transition: 0.4s;
}

.relative__area .slick-dots li:nth-child(8):before{
	content: '08';
	position:absolute;
	left: 0px;
	font-family: franklin-gothic-atf, sans-serif;
	font-size: 14px;
	font-weight: 300;
	color:white;
	top: 0;
	z-index: 10;
	transition: 0.4s;
}

.relative__area .slick-dots li:nth-child(9):before{
	content: '09';
	position:absolute;
	left: 0px;
	font-family: franklin-gothic-atf, sans-serif;
	font-size: 14px;
	font-weight: 300;
	color:white;
	top: 0;
	z-index: 10;
	transition: 0.4s;
}


.reserve__bg{
	padding-top: 15%;
}

.flow__slide .slick-dots{
	display:none!important;
}

.form__left .position{
	position: relative;
	top: 16px;
}

#parent2 a{
	pointer-events: none!important;
} 

#parent2 .child a{
	pointer-events: inherit!important;
} 

@media screen and (max-width: 1920px){
	.reserve__bg{
		padding-top: 20%;
	}
}





@media screen and (max-width: 1500px) {

	.left__fix{
		width: 254px;
		padding-left: 82px;
		padding-right: 0;
	}

	.reserve__bg{
		padding-top: 16vw;
	}

	.content__area{
		width: calc(100% - 254px);
		box-sizing: border-box;
		padding-left:82px;
	}

	.fr__list li{
		margin-left: 15px;
	}

	.footer__left{
		width: 35%;
	}

	.footer__right{
		width:65%;
		box-sizing: border-box;
		padding-left: 10px;
	}

	.fr__list{
		padding-left: 0;
	}
	
}

.tb1{
	display:none;
}


@media screen and (max-width: 1400px){
	.slider2 .slick-list{
		padding-right: 50vw!important;
	}

	.slider2 li{
		padding-left: 10px;
	}

	.content .slider2 li img{
		height: 20vw;
	}
}


/*一部文字サイズダウン*/
@media screen and (max-width: 1200px){
	.left__fix{
		padding-left: 40px;
		width: 200px;
	}

	.member__col1 h3{
		font-size: 18px;
	}

	.member__col1 h3 span{
		font-size: 24px;
	}

	.ts4__text{
		line-height: 2.6;
	}

	.fr__list li{
		margin-left: 12px;
	}	

	.tb1{
		display:block;
	}

	.content__area{
		padding-left: 40px;
		width: calc(100% - 200px);
	}

	.right__space{
		padding-right: 40px;
	}

	.about__img{
		width: calc(100% - 40px);
	}

	.left__fix h1{
		margin-bottom: 70px;
	}

	.video{
		min-height: 650px;
	}

	.left__fix ul li{
		margin-bottom: 10px;
	}

	.top__section2 , .top__section5{
		margin:120px 0;
	}
	.top__section1{
		margin:50px 0;
	}

	.view__right{
		top: -80px;
	}

	.top__section3 , .top__section4{
		margin-bottom: 120px;
	}

	.about__img{
		margin-top: 120px;
	}

	footer{
		padding-left: 245px;
	}

	.pca__flex a{
		margin-left:25px;
	}

	.pbcontact__area{
		padding-left: 240px;
	}

	.cb__area p{
		font-size: 18px;
	}

	.relative__area .slick-dots li{
		width: 65px;
	}





}

.block1000{
	display:none;
}


 #nav{
 	position:fixed;
 	left: 0;
 	right: 0;
 	top: 0;
 	width: 100%;
 	min-height: 100%;
 	box-sizing: border-box;
 	background: #F5F5F5;
 	transition: 0.4s;
 	z-index: -1;
 	opacity: 0;
 }

 #nav.in{
 	z-index:99;
 	opacity: 1;
 }

 #nav{
 	box-sizing:border-box;
 }


.menu_button{
 width:40px;
 height:40px;
 outline: none;
 border: none;
 font-size: 20px;
 margin-left:auto;
 margin-top:0px;
 display:block;
 position:absolute;
 right: 40px;
 top: 36px;
 z-index: 999;
}

.block1000{
	display:none!important;
}

.menu_button .menu_icon01 {
  display: block;
  cursor: pointer;
  transition: .7s;
}

.menu_button.open .menu_icon01{
	position:relative;
	right: -4px;
	top: 10px;
}

.menu_button .menu_icon01 span {
  display: block;
  width: 100%;
  height: 4px;
  margin-right: 0;
  background:#B2B2B2;
  margin-bottom: 7px;
  transition: 0.3s;
}

.menu_button.open .menu_icon01{
  transform: rotate(-45deg);
}
.menu_button.open .menu_icon01 .bar1 {
  transform: rotate(0deg)translateX(3px) translateY(4px);
}

.menu_button.open .menu_icon01 .bar2 {
  opacity: 0;
}
.menu_button.open .menu_icon01 .bar3 {
    transform: rotate(-90deg) translateX(17px)translateY(3px);
}

#nav ul.navlink__flex{
	list-style: none;
	margin:0;
	padding-left: 70px;
	padding-right: 0;
	padding-top:130px;
}

#nav ul.navlink__flex li{
	font-size: 14px;
	position:relative;
	margin-bottom: 14px;
	border-bottom:1px solid #B5B5B5;
}

#nav ul.navlink__flex li span{
	display:block;
	line-height: 1.4;
}


#nav ul.navlink__flex li a{
	text-decoration: none;
	display:block;
	color:#4B4B4B;
	padding-bottom: 14px;
	transition: 0.4s;	
	font-weight: 400;
}

#nav ul.navlink__flex li#parent a:after{
	content: '';
	position:absolute;
	right: 60px;
	top: 16px;
	width: 13px;
	height: 11px;
	background-image: url('img/arrow3.png');
	background-size: cover;
}

#nav ul.navlink__flex li a:hover{
	opacity: 0.6;
}

.navicon__flex{
	display:flex;
	margin: 0;
	padding:50px 0 0;
	align-items: center;
	justify-content: center;
	list-style: none;
}

.navicon__flex li{
	margin:0 13px;
}

.navicon__flex li a{
	transition: 0.4s;
}

.navicon__flex li a:hover{
	opacity: 0.6;
}

.navicon__flex li .icon1{
	width: 39px;
}

.navicon__flex li .icon2{
	width: 30px;
}

.navicon__flex li .icon3{
	width: 22px;
}

.navicon__flex li .icon4{
	width: 30px;
}

#parent{
	cursor: pointer;
}

.sp__child{
	width: 100%;
	height: 0;
	visibility: hidden;
	opacity: 0;
	padding-left: 20px;
	background: #707070;
	transition: 0.4s;
}

.sp__child.open{
	visibility: inherit;
	opacity: 1;
	height: 126px;
}

.sp__child a{
	color:white!important;
	padding:10px 0;
	font-size: 12px;
	font-weight: 400;
}

.sp__child a:last-child{
	border-top:1px solid white;
}

.page__title.type3#company{
	margin-top: 100px;
	padding-top: 30px;
}

.flow__title#flow{
	margin-top: 80px;
	padding-top: 30px;
}


/*左メニューを上部に変更*/
@media screen and (max-width: 1000px){

	.ts4__flex{
		margin-bottom: 0;
	}

	.page__title.type3#company{
		margin-top: 0;
		padding-top: 100px;
	}

	.flow__title#flow{
		margin-top: 0;
		padding-top: 100px;
	}

	.left__fix{
		min-height:auto;
		min-width: 100%;
	}

	.home .left__fix{
		min-width: 100%;
		min-height:auto;	
	}

	.block1000{
		display:block!important;
	}

	.fea__right {
		height: 29vw;
	}

	.left__fix{
		top: 0;
		left: 0;
		width: 100%;
		height: 95px;
		box-sizing: border-box;
		padding:15px 40px;
		background: #F5F5F5;
		z-index: 100;
	}

	.left__fix h1{
		margin: 0;
	}

	.left__list{
		display:none;
	}

	.content__area{
		width: 100%;
		padding-left: 40px;
	}

	footer{
		padding-left: 40px;
		padding-right: 40px;
	}

	footer .right__space{
		padding-right: 0;
	}

	.tb1{
		display:none;
	}

	.right__space{
		padding-right: 40px;
	}

	.about__img{
		width: calc(100% - 40px);
	}

	.top__section2 .slider .slick-track{
/*		width: calc(3770px * 5)!important;*/
	}

	.slider li img.showroom__img{
		width: 100%;
		height: auto;
		object-fit: cover;
	}

	.top__section2 .slider li{
		padding-right: 18px;
		height:auto;
		overflow: hidden;
	}

	.left__fix h1 img{
		width: 50px;
	}

	.content__area{
		margin-top: 95px;
	}

	.movie__volume.pc{
		display:none!important;
	}

	.movie__volume.sp{
		display:block!important;
	}

	.mv__flex{
		align-items: center;
		width: auto;
		justify-content: right;
		margin-top: 13px;
		box-sizing: border-box;
		padding-right: 40px;
	}

	.mv__flex:after{
		display:none;
	}

	.mv__title{
		margin: 0;
		margin-right: 17px;
	}

	.mv__flex a#on2{
		padding-right: 13px;
		margin-right: 13px;
		border-right:1px solid #7B7B7B;
	}

	.pbcontact__area{
		padding-left: 40px;
	}

	.shr__left{
		padding-right: 35px;
	}

	.shr__left .sh__sub{
		font-size: 19px;
	}

	.page__title h2{
		display:block;
	}

	.shr__left .sh__sub{
		margin-top: 70px;
	}

	.fea__left{
		padding-right: 35px;
	}

	.page__title h2 span{
		font-size:24px;
	}

	.pca__flex p{
		width: 60%;
		font-size: 14px;
	}

	.faq__area{
		margin-top: 80px;
	}

	.page__area{
		padding-top: 30px;
	}

	.faq-question{
		padding-right: 50px;
	}

	.faq-answer{
		padding-right: 50px;
	}

	.page__area{
		padding-top: 20px;
	}

	.page__title h2{
		margin-bottom: 28px;
	}

	.blog__article li a .art__thm{
		height: 22vw;
	}

	.blog__categorylink{
		margin-top: 86px;
		margin-bottom: 20px;
	}

	.member__col2{
		height: 36vw;
	}

	.policy__area a{
		padding:80px 40px;
		height: 70vw;
	}

	.wb__pageV{
		height: 45vw;
	}




}

.sp{
	display:none!important;
}

/*配置をSPに変更*/
@media screen and (max-width: 767px){


.form__left .position{
		position: relative;
		top: 0;
	}


	.flow__aboarea{
		position:relative;
		bottom: 0;
	}

	.relative__area .slick-dots li:before{
		font-size: 10px!important;
	}

	.relative__area .slick-dots li{
		width: 38px;
	}



	.relative__area .slick-dots{
		left: 20px;
		bottom: 8px;
	}

	.ct__img{
		width: 400px;
		margin-bottom: 14px;
	}

	.ts1__right img{
		border-bottom-left-radius:16px;
	}


	.top__section4 .ts1__right{
		height: auto;
	}

	.ts1__right img{
		height: auto;
	}

	.ts4__flex{
		display:block;
	}

	.flow__area{
		height: auto;
		min-height: auto;
	}

	.ts4__flex{
		margin-bottom: 40px;
	}

	.video{
		min-height:64vw;
		width: calc(100% + 40px);
		position:relative;
		left: -40px;
	}

	.num2{
		right: 33px;
	}

	.flow__bar{
		box-sizing: border-box;
		padding-right: 40px;
	}

	.pc{
		display:none!important;
	}

	.sp{
		display:block!important;
	}

	.top__section1, .top__section2, .top__section5{
		margin:90px 0;
	}

	.top__section1{
		display:block;
	}

	.top__section3, .top__section4{
		margin-bottom: 90px;
	}

	h2.ts__title span{
		display:block;
		margin: 0;
	}

	h2.ts__title span{
		font-size: 26px;
		letter-spacing: 0.12em;
	}

	h2.ts__title{
		display:block;
		margin-bottom: 35px;
		font-size: 12px;
	}

	.ts1__left{
		min-height: auto;
		height: auto;
		width: 100%;
	}

	.ts1__right{
		width: 100%;
		height: 100vw;
		min-height: 100vw;
	}

	.ts1__left h3{
		font-size: 30px;
		margin-top: 35px;
		letter-spacing: 0.1em;
	}

	.view__right{
		margin-top: 30px;
	}

	.ts1__text1{
		font-size: 18px;
		margin-bottom:35px;
	}

	.ts2__flex{
		display:block;
	}

	.ts2__left{
		width: 100%;
	}

	.ts2__right{
		width: 100%;
	}

	.works__area a{
		width: 252px;
		margin-right: 40px;
	}

	.works__area .w__flex{
		min-width: calc(292px * 6);
	}

	.works__area a img{
		height: 138px;
		object-fit: cover;
	}

	.w__thm{
		margin-bottom: 27px;
		height: 138px;
	}

	.w__category span{
		font-size: 10px;
	}

	.w__date{
		font-size: 12px;
	}

	.works__area a h3{
		font-size: 15px;
	}

	.works__area .w__excerpt{
		font-size: 11px;
	}

	.top__section4 .ts1__right{
		min-height: 89vw;
	}

	.ts1__left .flow__titlesub{
		margin-top: 50px;
	}

	.top__section4 .rel__area{
		padding-right: 40px;
	}

	.abo__num{
		right: 40px;
	}

	.flow__link{
		margin-top: 40px;
	}

	.about__flex{
		display:block;
	}

	.about__left{
		width: 100%;
	}

	.about__right{
		width: 100%;
		padding:0;
		margin-top: 30px;
	}

	.ab__text{
		margin-bottom: 40px;
	}

	.footer__flex{
		display:block;
	}

	.footer__left{
		width: 100%;
	}

	.footer__right{
		padding:0;
		width: 100%;
		margin-top: 40px;
	}

	.fr__list{
		display:block;
	}

	.fr__list li{
		margin:0 0 10px;
	}

	.copyright{
		left: 0;
	}

	.about__img{
		margin-top: 90px;
	}

	.about__img{
		min-height: 44vw;
	}

	footer{
		padding-right: 40px;
	}

	.news__article.right__space{
		padding-right: 0;
	}

	.news__article li a{
		padding-right: 80px;
	}

	.news__article li a:after{
		right: 40px;
	}

	.sec_titleimg img{
		width: 400px;
		margin-bottom: 15px;
	}

	.relative__area , .top__section2 .slider , .slide__left0.slide  , .slide__left0.slide-p{
		width: calc(100% + 40px);
		left: -40px;
	}

	.slide , .slide-p{
		border-radius: 0;
	}

	.top__section2 .slider .slick-track{
/*		width: calc(3566px * 5)!important;*/
	}

	.slider li img{
	}

	.top__section2 .slider li{
		padding-right: 20px;
		height:auto;
		overflow: hidden;
	}	

	.pageV-sp{
		width: calc(100% + 80px);
		position:relative;
		left:-40px;
		display: block;
		margin-bottom: 13px;
	}

	.shr__left{
		width: 100%;
		padding-right: 40px;
	}

	.page__title h2{
		line-height: 1.5;
	}

	.shr__left .sh__sub{
		margin: 50px 0;
	}

	.pt__0 .page__title.first{
		padding-top: 40px;
	}

	.sh__text1 br{
		display: none;
	}

	.page__title h2{
		font-size: 12px;
	}

	.features__area{
		margin-top: 100px;
	}

	.fea__flex{
		display:block;
	}

	.fea__right{
		width: 100%;
		height: 58vw;
	}

	.fea__left{
		width: 100%;
		padding: 0;
		margin-top: 25px;
	}

	.fea__flex.type2{
		margin-top: 70px;
	}

	.fea__flex.type2{
		margin-bottom: 70px;
	}

	.feature__bottom{
		width: calc(100% + 80px);
		position: relative;
		left: -40px;
		height: 65vw;
	}

	.ac__address{
		margin-bottom: 15px;
	}

	.page__title.type3{
		margin-top: 100px;
	}

	.right__space iframe{
		height: 300px;
	}

	.ac__address--link.sp{
		display:flex!important;
		margin-top: 20px;
	}

	.reserve__bg{
		width: calc(100% + 80px);
		position:relative;
		left: -40px;
		height: 530px;
		padding:50px 40px 0;
		border-radius: 0;
		background-position:25% 70%;
	}

	.reserve__bg p{
		margin-top: 180px;
	}

	.reserve__bg img{
		bottom: -60px;
	}

	.pca__flex{
		display:block;
	}

	.pca__flex a{
		margin-left: auto;
		margin-top: 32px;
		margin-right: 40px;
	}

	.pca__flex p{
		width: 100%;
		margin-top: 24px;
	}

	.faq-question{
		padding-left: 54px;
	}

	.faq-question:before{
		left: 16px;
		    transform: translateY(0%);
    -webkit-transform: translateY(0%);
    -ms-transform: translateY(0%);
    top: 22px;
	}

	.faq-answer:before{
		left: 16px;
		top: 22px;
	}

	.faq-answer{
		padding-left: 54px;
		padding-right: 40px;
	}

	.faq-question:after{
		right: 20px;
	}

	.faq-question{
		padding-right: 40px;
	}

	.blog__article{
		display:block;
	}

	.blog__article li{
		width: 100%;
	}

	.blog__article li a .art__thm{
		height: 44vw;
	}

	.blog__info{
		margin-top: 15px;
	}

	.blog__info .blog__date{
		font-size: 10px;
	}

	.blog__category ul li{
		font-size: 10px;
		padding:0 10px;
	}

	.blog__title{
		font-size: 14px;
		margin:10px 0 12px;
	}

	.blog__excerpt{
		font-size: 10px;
	}

	.blog__article li a{
		margin-bottom: 50px;
	}

	.blog__categorylink ul li a{
		padding:4px 13px;
	}

	.blog__categorylink ul{
		flex-wrap: wrap;
	}

	.blog__categorylink ul li{
		margin-right: 7px;
		margin-bottom: 5px;
	}

	.single__date{
		font-size: 10px;
		margin-bottom: 10px;
	}

	.single__title{
		font-size: 19px;
	}

	.single__content{
		margin-top: 45px;
	}

	.single__content h2, .single__content h3{
		font-size: 18px;
	}

	.news__page .news__article li a span{
		margin-bottom: 7px;
	}

	.news__page .news__article li a:after{
		bottom: 50%;
    transform: translateY(50%);
    -webkit-transform: translateY(50%);
    -ms-transform: translateY(50%);		
	}

	.news__page .news__article li{
		margin-bottom: 25px;
		padding-bottom: 15px;
	}

	.news__page{
		margin-top: 80px;
	}

	.page__navi{
		margin-top: 35px;
	}

	.blog__bottom{
		padding-bottom: 100px;
	}

	.member__flex{
		display:block;
	}

	.member__col2{
		width: 100%;
		height: 54vw;
	}

	.member__col1{
		width: 100%;
		padding: 0;
	}

	.member__col1.type2{
		padding: 0;
	}

	.member__col2 img{
		border-top-right-radius: 0;
		border-bottom-right-radius: 0;
	}

	.member__col1 h3{
		margin-top: 20px;
		line-height: 1.6;
		font-size: 15px;
		margin-bottom: 18px;
	}

	.member__flex{
		margin-bottom: 50px;
	}

	.page__title.type2{
		margin-bottom: 45px;
	}

	.policy__area a{
		width: calc(100% + 80px);
		position:relative;
		left: -40px;
		border-radius: 0;
		padding-top: 15vw;
		max-height:inherit;
		height: 96vw;
		margin-top: 80px;
		background-image: url('img/about/policy_bgsp.png');
	}

	.policy__area a h3{
		display:block;
		margin: 0;
		line-height: 1.6;
	}

	.policy__area a h3 span{
		margin: 0;
	}

	.caf__right{
		width: 72%;
	}

	.page__title.page__title.type3.mb__0 h2{
		margin-bottom: 45px;
	}

	.tbpb0{
		padding-bottom: 0!important;
	}

	.concept__page .fea__left h3{
		font-size: 18px;
		margin-bottom: 8px;
	}

	.concept__bottom.feature__bottom{
		height: 48vw;
		margin-top: 80px;
	}

	.cb__area p{
		box-sizing: border-box;
		font-size: 17px;
		padding-right: 40px;
	}

	.feature__bottom.concept__bottom img{
		border-radius: 0;
	}

	.contactV{
		position:relative;
		width: calc(100% + 40px);
		left: -40px;
		margin-bottom: 15px;
	}

	.cr__space{
		padding: 0;
	}

	.crs__text{
		text-align: center;
		line-height: 2.4;
		margin:80px 0 40px;
	}

	.cr__space .tel__flex{
		justify-content: center;
	}

	.form__flex{
		display:block;
	}

	.form__left{
		width: 100%;
		margin-bottom: 15px;
	}

	.form__right{
		width: 100%;
		margin-bottom: 40px;
	}

	.form__right.mtp1, .form__left.mtp1{
		margin-top: 15px;
	}

	.form__right.mtp2, .form__left.mtp2{
		margin:15px 0;
	}

	.submit__area p{
		display:block;
		margin:0 auto!important;
	}

	.form__left p span{
		position:relative;
		left:0;
		top: 0;
		margin-right: 5px;
	}

	.form__left p{
		display:flex;
		padding-left: 0;
		align-items: center;
	}

	.wb__pageV{
		position:relative;
		width: calc(100% + 80px);
		left: -40px;
		height: 51vw;
	}

	.wb__pageV img{
		border-radius: 0;
	}

	.num{
		font-size: 20px;
		left: 16px;
	}

	.faq__box.flow__box:before{
		left: 54px;
	}

	.flow__box .fb__text1{
		font-size: 10px;
	}

	.flow__box .fb__text2{
		font-size: 16px;
	}

	.flow__box .faq-question{
		padding-left: 70px;
		padding-top: 28px;
		padding-bottom: 28px;
	}

	.rel__faq:before{
		width: 4px;
	}

	.faq__box.flow__box:after{
		right: 18px;
	}

	.rel__faq:after{
		right: 48px;
	}

	.flow__box .faq-question{
		padding-right: 65px;
	}

	.faq__box.flow__box .faq-answer{
		padding-left: 70px;
		padding-right: 65px;
	}

	.content{
		padding:40px 0;
		padding-left: 20px;
	}

	.pop__text1{
		font-size: 10px;
		margin-bottom: 10px;
	}

	.pop__text2{
		font-size: 14px;
		margin-bottom: 12px;
	}

	.pop__text3{
		font-size: 10px;
		margin-bottom: 25px;
	}

	.content .slider2 .next-arrow{
		margin-top: 25px;
	}

	.slider2 .slick-dots li{
		width: 60px;
	}

	.slider2 .slick-list{
		padding-right: 10vw!important;
	}

	.content .slider2 li img{
		height: 42vw;
	}



}

.sp2{
	display:none!important;
}

/*文字サイズダウン*/
@media screen and (max-width: 480px){

	.video{
		min-height: 63vw;
		border-bottom-left-radius: 70px;
	}

	.single__title{
		font-size: 14px;
	}

	.menu_button{
		top: 28px;
	}

	.sec_titleimg img{
		width: 270px;
	}

	#nav ul.navlink__flex{

	}

	.menu_button.open .menu_icon01{
		top: 7px;
	}

	.top__section1{
		margin:54px 0 30px!important;
	}

	h2.ts__title{
		margin-bottom: 32px;
		font-size: 10px;
	}

	h2.ts__title span{
		font-size: 24px;
	}

	.ts1__left h3{
		font-size: 25px;
		margin-top: 30px;
	}

	.ts1__text1{
		font-size: 15px;
		margin-bottom: 35px;
	}

	.ts1__text2{
		line-height: 2.5;
	}

	.top__section2{
		margin:80px 0;
	}

	.sp2{
		display:block!important;
	}

	.top__section2 .ts1__text2{
		margin-bottom: 20px;
	}

	.slider li img{
/*		width: 1284px!important;
		height: 307px!important;*/
	}

	.slider li{
/*		padding:0 10px;
		width: 1304px!important;*/
	}

	.slider .slick-track{
/*		width: calc(1304px * 5)!important;
    height: 307px!important;*/
	}

	.w__category{
		margin-right: 10px;
	}

	.works__area a h3{
		font-size: 14px;
		margin:10px 0 9px;
	}

	.works__area .w__excerpt{
		font-size: 10px;
	}

	.top__section4 h2.ts__title{
		margin-bottom: 20px;
	}

	.ts1__left .flow__titlesub span{
		font-size: 10px;
	}

	.abo__num{
		top: 22px;
	}

	.ts4__text{
		line-height: 2.5;
	}

	.top__section4{
		margin-bottom: 50px;
	}

	.top__section5{
		margin-top: 80px;
	}

	.news__article li a:after{
		bottom: 50%;
    transform: translateY(50%);
    -webkit-transform: translateY(50%);
    -ms-transform: translateY(50%);		
	}

	.news__article li a{
		padding-right: 70px;
	}

	.news__article{
		margin-top: 20px;
		margin-bottom: 20px;
	}

	.news__article li a span{
		margin-bottom: 5px;
	}

	.news__article li{
		margin-bottom: 15px;
		padding-bottom: 15px;
	}

	.inview__fade img{
		width: calc(100% - 2px);
		left: 2px;
	}

	.inview__fade:after{
		width: calc(100% + 2px);
		left: -2px;
		top: -2px;
	}


	.content__area{
		overflow-x: inherit;
	}

	body{
		overflow-x: hidden;
	}

	.about__left iframe{
		height: 200px;
	}

	.ab__text{
		margin-bottom: 30px;
	}

	footer{
		padding-top: 50px;
	}

	.footer__ad{
		display:none;
	}

	.fi__flex{
		justify-content: center;
	}

	.footer__ad2.sp2{
		font-size: 12px;
		margin:20px 0 0;
		font-weight: 500;
		text-align: center;
	}

	.icon__flex{
		margin-top: 34px;
		justify-content: center;
	}

	.icon__flex li{
		margin:0 15px;
	}

	.icon1{
		width: 49px;
	}

	.icon2{
		width: 37px;
	}

	.icon3{
		width: 28px;
	}

	.icon4{
		width: 38px;
	}

	.fr__list li{
		margin-bottom: 20px;
	}

	.fr__list{
		width: 250px;
		margin:0 auto;
	}

	.copyright{
		margin-top: 45px;
	}

	.left__fix h1 img{
		width: 40px;
	}

	.left__fix{
		height: 80px;
		padding:13px 40px;
	}

	.content__area{
		margin-top: 80px;
	}

	.sec_titleimg img{
		max-width: calc(100% - 20px);
	}


	.top__section2 .slider .slick-track{
/*		width: calc(1793px * 5)!important;*/
	}

	.slider li img{
/*		width: 1773px;*/
		height: 528px;
		object-fit: cover;
	}

	.top__section2 .slider li{
		padding-right: 5px;
		height:auto;
		overflow: hidden;
/*		width: 1793px!important;*/
	}	

	.os__text{
		font-size: 11px;
		width: 98px;
		height: 18px;
		line-height: 18px;
	}

	.top__section3{
		margin-bottom: 80px;
	}

	.pt__0 .page__title.first{
		padding-top: 20px;
	}

	.page__title h2{
		font-size: 10px;
	}

	.page__title h2 span{
		margin-right: 0;
		letter-spacing: 0.09em;
	}

	.shr__left .sh__sub{
		margin: 32px 0 36px;
		font-size: 15px;
	}

	.fea__left h3{
		font-size: 16px;
		margin-bottom: 22px;
	}

	.fea__left p br{
		display:none;
	}

	.fea__flex.type2{
		margin-top: 45px;
	}

	.fea__flex{
		margin-bottom: 0;
	}

	.fea__left h3 span{
		font-size: 10px;
	}

	.fea__flex.type2{
		margin-bottom: 32px;
	}

	.page__title.type3{
		margin-top: 80px;
	}

	.right__space iframe{
		height: 205px;
	}

	.reserve__bg{
		margin-top: 85px;
		padding-top: 47px;
		height: 490px;
	}

	.reserve__bg h3{
		line-height: 1.6;
		font-size: 10px;
	}

	.reserve__bg h3 span{
		font-size: 24px;
	}

	.reserve__bg p br{
		display:none;
	}

	.reserve__bg p{
		margin-top: 145px;
	}

	.reserve__bg img{
		bottom: -57px;
	}

	.faq-answer p br{
		display:none;
	}

	.page__area{
		padding-bottom: 80px;
	}

	.privacy__area{
		margin-top: 80px;
	}

	.privacy__area h3{
		font-size: 18px;
	}

	.privacy__area ul{
		padding-left: 1em;
	}

	.page__navi .wp-pagenavi span.current{
		width: 37px;
		height: 37px;
		font-size: 12px;
		line-height: 35px;
		margin:0 7px;
	}

	.page__navi .wp-pagenavi a{
		width: 37px;
		height:37px;
		font-size: 12px;
		line-height: 35px;
		margin:0 7px;
	}

	.page__navi .wp-pagenavi a.nextpostslink{
		padding-right: 20px;
		margin-left: 14px;
	}

	.page__navi .wp-pagenavi a.nextpostslink:after{
		width: 6px;
		height: 12px;
	}

	.page__navi .wp-pagenavi a.previouspostslink:before{
		width: 6px;
		heihgt:12px;

	}

	.page__navi .wp-pagenavi a.previouspostslink{
		margin-right: 14px;
		padding-left: 20px;
	}

	.single__content h2, .single__content h3{
		font-size: 16px;
		margin:50px 0 16px;
	}

	.single__content p{
		margin:14px 0;
	}

	.single__content h2.mark:before, .single__content h3:before{
		width: 6px;
		height: 7px;
		top: 12px;
	}

	.single__content ul li{
		margin:20px 0;
	}

	.single__content ol li{
		margin: 20px 0;
	}

	.single__content img{
		margin:35px 0;
	}

	.single__content ul{
		margin:35px 0;
	}

	.single__content .wp-block-quote{
		padding:50px 30px 30px;
	}

	.single__content .wp-block-quote:before{
		font-size: 50px;
		left: 13px;
		top: 35px;
	}

	.link__flex .list__all{
		width: 70px;
		height: 70px;
		line-height: 68px;
		font-size: 14px;
		margin: 0;
	}

	.link__flex{
		display:flex;
		justify-content: space-between;
	}

	.link__flex a{
		font-size: 12px;
	}

	.link__flex a[rel="prev"]:before{
		top: 8px;
	}

	.link__flex a[rel="next"]:before{
		top: 8px;
	}

	.th__event{
		font-size:12px;
	}

	.link__flex a[rel="next"]{
		padding-right: 16px;
	}

	.link__flex a[rel="prev"]{
		padding-left: 16px;
	}

	.news__page .news__article li a{
		font-size: 12px;
	}

	.news__article li a{
		padding-right: 60px;
	}

	.page__title.type2{
		margin-top: 80px;
	}

	.member__col1 h3{
		font-size: 12px;
	}

	.member__col1 h3 span{
		font-size: 20px;
	}

	.member__col1{
		font-size: 10px;
	}

	.policy__area a h3{
		font-size: 10px;
	}

	.policy__area a h3 span{
		font-size: 24px;
	}

	.policy__area a p{
		font-size: 15px;
		margin-top: 15px;
	}

	.policy__area a{
		padding-left: 20px;
		padding-right: 20px;
		height: 111vw;
		padding-top: 21vw;
	}

	.caf__left{
		width: 24%;
		padding-bottom: 15px;
		margin-bottom: 15px;
	}

	.caf__right{
		width: 69%;
		padding-bottom: 15px;
		margin-bottom: 15px;		
	}

	.page__title.type3{
		margin-bottom: 45px;
	}

	.ct__img{
		width: 270px;
	}

	.shr__left .sh__sub{
		margin-top: 28px;
	}

	.features__area{
		margin-top: 80px;
	}

	.concept__page .fea__left h3{
		font-size: 16px;
	}

	.cb__area p{
		font-size: 15px;
		line-height: 2;
		margin-top: 25px;
	}

	.crs__text{
		margin-top: 0px;
	}

	.contact__page{
		margin-top: 80px;
	}

	.tf__left img{
		width: 44px;
	}

	.tf__right a{
		font-size: 24px;
	}

	.form__right .wpcf7-form-control.wpcf7-radio .wpcf7-list-item label{
		margin-right: 12px;

	}

	.form__right .wpcf7-form-control.wpcf7-radio input{
		width: 26px;
		height: 26px;
		margin-right: 8px;
	}

	.form__right.text__input textarea{
		height: 184px;
		padding:18px 30px;
	}

	.form__right.pr__col p{
		font-size: 12px;
	}

	.content__area{
		padding-bottom: 50px;
	}

	.complete__text p.ct__1{
		margin-top: 80px;
	}

	.tf__left{
		margin-right: 18px;
	}

	.complete__text p.ct__1{
		text-align: left;
	}

	.works__page{
		margin-top: 80px;
	}

	.works__bottom{
		margin-top: 80px;
	}

	.flow__title{
		margin-top: 80px;
	}

	.num{
		left: 12px;
	}

	.faq__box.flow__box:before{
		left: 44px;
		width: 1px;
	}

	.flow__box .faq-question{
		padding-left: 60px;
		padding-right: 50px;
	}

	.flow__box .fb__text1{
		line-height: 1.6;
	}

	.faq__box.flow__box:after{
		right: 13px;
	}

	.rel__faq:after{
		right: 38px;
		width: 1px;
	}

	.faq__box.flow__box .faq-answer{
		padding-left: 60px;
		padding-right: 50px;
	}

	.faq-answer p{
		line-height: 1.9;
	}

	.relative__area .slick-dots li{
		width: 32px;
	}

	.relative__area .slick-dots{
		left: 10px;
		bottom: 3px;
	}

	#nav{
		
		height: 100vh;
		height: auto;
		
		 
	}

	#nav ul.navlink__flex{
		width: 100%;overflow-x: hidden;
		box-sizing: border-box;
	}

	.scroll__area{
		position: absolute;
		right: 0;
		overflow-y:auto;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
				box-sizing: border-box;
		padding-bottom: 70px;
		-webkit-overflow-scrolling: touch;
	}

	.view__right{
		top: -50px;
	}

	.pc2{
		display:none;
	}

	.works__bottom .faq-answer p br{
		display:block;
	}

	.works__bottom .faq-answer p br.pc2{
		display:none!important;
	}





}



/* 追加CSS（2024年11月） */
@media screen and (min-width: 768px) {
	.hidden-pc {
		display: none;
	}
}

.top__section6{
	margin-block: 40px;
}

.form__right p.small{
	left: 0;
	font-size: 10px;
}

.cr__space{

}

.cr__space .tel__flex{
	justify-content: center;
}

.crs__text{
	font-size: 12px;
	color:black;
	line-height: 2;
	margin:50px 0 20px;
	text-align: center;
}

.right__space .calender{
	height: 300px;
}

@media screen and (min-width: 768px) {
	.right__space .calender{
		width: 90%;
		height: 400px;
		display: block;          /* ブロック要素にして、幅を指定 */
		margin-left: auto;       /* 左側の余白を自動調整 */
		margin-right: auto;      /* 右側の余白を自動調整 */
		margin-top: 40px;
	}
}



/* 202510月追加分 */

/* =========================================================
   基本設定（モバイル基準）
========================================================= */

/* 共通初期値 */
.sp-hidden {
  display: block; /* PCでは表示 */
}
.pc-hidden {
  display: none;  /* PCでは非表示 */
}

/* SP用切り替え */
@media screen and (max-width: 768px) {
  .sp-hidden {
    display: none; /* SPでは非表示 */
  }
  .pc-hidden {
    display: block; /* SPでは表示 */
  }
}



/* ===============================
   メインビジュアル（PC）
=============================== */

@media screen and (min-width: 769px) {
  .mv-l-pc {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #F5F5F5;
    padding: 60px 0;
  }

  .mv-l-pc_inner {
    display: flex;
    flex-direction: row; /* 横並び */
    justify-content: center;
    align-items: center;
    gap: 40px;
    width: 100%;
    max-width: 1000px; /* ✅ 全体幅の上限を設定 */
    margin: 0 auto;
  }

  /* 画像・動画のコンテナ */
  .mv-i-pc_img,
  .mv-l-pc_movie {
    flex: 1 1 50%;
    max-width: 480px; /* ✅ 各ブロックの最大幅を制限 */
  }

  /* 中の画像・動画 */
  .mv-i-pc_img img,
  .mv-l-pc_movie video {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    border-radius: 8px;
  }
}


/* =========================================================
   セクション（共通）
========================================================= */
.section-l {
  padding: 80px 20px;
  text-align: center;
}

.heading-l {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 40px;
  letter-spacing: 0.2em;
}

.subheading-l {
  position: relative;
  display: inline-block;
  font-size: 16px;
  margin-bottom: 8px;
}

.subheading-l::before,
.subheading-l::after {
  font-size: 16px;
  position: relative;
  top: 0;
}

.subheading-l::before {
  content: "\\";
  margin-right: 10px;
}

.subheading-l::after {
  content: "/";
  margin-left: 10px;
}

.section-gray {
  background: #F5F5F5;
}

@media screen and (min-width: 769px) {
  .section-l {
    padding: 100px 60px; /* 上下100px、左右60px */
    text-align: center;
  }
}


/* =========================================================
  セクション装飾
========================================================= */
.under-line{
  background: linear-gradient(transparent 70%, #FFF000 50%);
}

.text-green{
  color: #349599;
}


/* =========================================================
  セクション装飾：波線・強調文字
========================================================= */
.text-deco {
  position: relative;
  display: inline-block;
  padding-bottom: 4px;
  color: #349599;
}

.text-deco::before {
  content: "";
  position: absolute;
  top: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 2.5em;
  height: 0.4em;
  background:
    radial-gradient(circle, #000 40%, transparent 41%) 0% 50%,
    radial-gradient(circle, #000 40%, transparent 41%) 50% 50%,
    radial-gradient(circle, #000 40%, transparent 41%) 100% 50%;
  background-size: 0.4em 0.4em;
  background-repeat: no-repeat;
}

.text-deco::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -2px;
  transform: translateX(-50%);
  width: 100%;
  height: 14px;
  background: url("./img/lp-img/wave.png") no-repeat center center;
  background-size: contain;
}



/* =========================================================
  お悩みセクション（.section-problem-l）
========================================================= */

/* ---------------------------------
   基本構造
--------------------------------- */

/* セクション内見出し・サブ見出し */
.section-problem-l .heading-l .subheading-l {
  display: inline-block;
  margin-bottom: 20px;
}

/* 見出し下の画像 */
.section-problem-l .problem-img {
  width: 100%;
  max-width: 480px;
  margin-inline: auto;
  display: block;
}

/* ---------------------------------
   ラッパー構造
--------------------------------- */
.problem-wrapper {
  margin-top: 30px;
}

/* ---------------------------------
   丸リスト（全体）
--------------------------------- */
.problem-list {
  display: flex;
  flex-direction: column;       /* 📱 スマホ：縦並び */
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

/* ---------------------------------
   各アイテム（丸1つ）
--------------------------------- */
.problem-item {
  aspect-ratio: 1 / 1;
  border: 1px solid #349599;
  border-radius: 50%;
  width: 300px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: #fff;
  box-sizing: border-box;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  flex-direction: column;
}

@media screen and (max-width: 393px) {
  .problem-item {
  width: 250px;
  }
}

/* ---------------------------------
   丸内部構造（カード内要素）
--------------------------------- */
.problem-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  line-height: 1.4;
}

/* 番号バッジ */
.problem-num {
  display: inline-block;
  background: #349599;
  color: #fff;
  font-size: 10px;
  padding-block: 2px;
  padding-inline: 15px;
  border-radius: 20px;
}

/* テキスト（メイン・サブ） */
.problem-main,
.problem-sub {
  font-size: 12px;
  color: #333;
}

.problem-sub {
  font-weight: 700;
}

/* アイコン画像 */
.problem-icon {
  width: 33%;
}

/* =========================================================
  PC版レイアウト調整（769px以上）
========================================================= */
@media screen and (min-width: 769px) {
  .problem-list {
    flex-direction: row;        /* 💻 PC：横並びに変更 */
    justify-content: center;
    align-items: center;
    gap: 40px;                  /* 横の間隔を広めに */
  }

  .problem-item {
    width: clamp(200px, 18vw, 220px);
    border-width: 2px;
  }

  .problem-card {
    gap: 8px;
    width: 90%;
  }

  .problem-num {
    font-size: 8px;
    padding-block: 4px;
    padding-inline: 20px;
  }

  .problem-main {
    font-size: 10px;
    line-height: 1.6;
  }

  .problem-sub {
    font-size: 12px;
  }

  .problem-icon {
    width: 35%;
    max-width: 80px;
  }
}



/* =========================================================
  解決セクション（.section-solution-l）
========================================================= */

/* --- 全体ラッパー --- */
.solution-wrapper {
  width: 100%;
  max-width: 1200px; /* PC時の幅制限に備えて先に定義 */
  margin: 0 auto;
  padding-inline: 20px;
}

/* --- 解決リスト全体 --- */
.solution-list {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 40px;
  margin: 0 auto;
}

/* --- 各解決アイテム --- */
.solution-item {
  flex: 1 1 280px;
  text-align: center;
  max-width: 360px;
}

/* --- 各解決アイテム内の構造 --- */
.solution-inner img {
  margin-top: 10px;
  width: 60%;
  height: auto;
}

/* --- テキストブロック（Check!＋番号＋タイトル） --- */
.solution-text {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

/* --- 丸い番号エリア --- */
.solution-num {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: #349599;
  color: #fff;
  font-weight: 700;
  border-radius: 50%;
  aspect-ratio: 1 / 1;
  width: 40px;
  font-size: 10px;
  line-height: 1;
}

/* --- Check! テキスト --- */
.solution-num span:first-child {
  font-size: 8px;
  line-height: 1;
}

/* --- 解決タイトル --- */
.solution-title {
  font-size: 14px;
  text-align: left;
  line-height: 1.5;
}

/* --- 下部メッセージ --- */
.solution-message {
  font-size: 14px;
  margin-top: 30px;
  text-align: center;
}

/* --- メッセージ内の強調テキスト --- */
.solution-message span {
  font-size: 20px;
  font-weight: 700;
}

/* =========================================================
  PC版レイアウト調整（769px以上）
========================================================= */
@media screen and (min-width: 769px) {
  /* --- リスト配置 --- */
  .solution-list {
    gap: 40px;
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
    gap: 10px;
    margin: 0 auto;
  }

  /* --- 各アイテム --- */
  .solution-item {
    max-width: 300px;
  }

  /* --- 丸番号エリア --- */
  .solution-num {
    width: 40px;
    font-size: 10px;
  }

  .solution-num span:first-child {
    font-size: 6px;
  }

  /* --- タイトル --- */
  .solution-title {
    font-size: 12px;
  }

  /* --- メッセージ --- */
  .solution-message {
    font-size: 14px;
    margin-top: 40px;
  }

  .solution-message span {
    font-size: 22px;
  }

  .solution-inner img {
  margin-top: 10px;
  width: 90%;
  height: auto;
}

}

/* =========================================================
  特徴セクション（.section-feature-l）
========================================================= */

/* --- 全体ラッパー --- */
.feature-wrapper {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding-inline: 20px;
}

/* --- 特徴リスト --- */
.feature-list {
  display: flex;
  flex-direction: column; /* モバイルでは縦並び */
  gap: 40px;
  margin: 0 auto;
}

/* --- 各特徴アイテム --- */
.feature-item {
  display: flex;
  flex-direction: column; /* モバイル基準：縦 */
  align-items: center;
  text-align: center;
  gap: 20px;
}

/* --- コンテンツ（テキスト部分） --- */
.feature-content {
  width: 100%;
}

/* --- 見出し（画像） --- */
.feature-heading-img {
  width: 120px;
  height: auto;
  margin-bottom: 10px;
}

/* --- タイトル --- */
.feature-title {
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 10px;
  color: #333;
}

/* --- テキスト --- */
.feature-text {
  font-size: 12px;
  line-height: 1.8;
  color: #333;
}


/* =========================================================
  PC版レイアウト調整（769px以上）
========================================================= */
@media screen and (min-width: 769px) {

  .feature-list{
    width: 80%;
    margin: 0 auto;
  }

  /* --- 横並びレイアウト --- */
  .feature-item {
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 80px;
    text-align: left;
  }

  /* 偶数行は反転配置 */
  .feature-item:nth-child(even) {
    flex-direction: row-reverse;
  }

  /* --- テキストエリア --- */
  .feature-content {
    flex: 1 1 50%;
  }

  /* --- 画像エリア --- */
  .feature-image {
    flex: 1 1 50%;
    text-align: center;
  }

  /* --- 見出し画像 --- */
  .feature-heading-img {
    width: 150px;
  }

  /* --- タイトル・テキスト --- */
  .feature-title {
    font-size: 16px;
  }

  .feature-text {
    font-size: 14px;
    line-height: 1.8;
  }
}


/* =========================================================
   おうち見学会情報セクション
========================================================= */
.section-info-l{

}

.info-icon{
  width: 10%;
}

/* --- メインビジュアル --- */
.info-main {
  width: 100%;
  aspect-ratio: 16 / 9;  
  overflow: hidden;       
  background: #000;      
}

.info-main .info-thumbnail {
  width: 100%;
  height: 100%;
  object-fit: cover;   
  display: block;
}


/* --- 概要エリア --- */
.info-summary {
  margin-top: 50px;
}
.info-heading {
  max-width: 30%;
}
.info-title {
  margin-top: 16px;
  font-size: 16px;
}
.info-lead {
  margin-top: 30px;
  font-size: 12px;
}
.info-img {
  margin-top: 30px;
  width: 80%;
}

/* --- 開催情報エリア --- */
.info-data {
    margin-top: 30px;
    font-size: 14px;
}
.info-data dt {
  margin-top: 20px;
  font-weight: bold;
}
.info-data dd {
  margin-top: 10px;
}

/* --- ご来場特典 --- */
.info-present-text {
  margin-top: 30px;
  font-size: 14px;
}



/* PC専用セクション全体に適用 */
.pc-only .info-wrapper {
  display: flex;
  justify-content: center;   /* 左右中央寄せ */
  align-items: center;  
  max-width: 1200px;
  margin: 0 auto;
  padding-inline: 40px;
  box-sizing: border-box;
}

/* 左右カラム */
.pc-only .info-visual,
.pc-only .info-summary {
  width: 50%;
  box-sizing: border-box;
}

.pc-only .info-summary {
  margin-top: 0;
}

/* ギャラリー画像群 */
.pc-only .info-gallery {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;                 /* 画像間の余白 */
  width: 100%;
  flex-wrap: wrap;           /* 画像が多くても折り返す */
  box-sizing: border-box;
}

.pc-only .info-gallery img {
  width: calc(50% - 5px);    /* 2枚並びで余白を均等に */
  object-fit: cover;
}

.pc-only .info-data dt {
  margin-top: 10px;
}

.pc-only .info-icon{
  width: 3%;
  max-width: 30px;
}


/* =========================================================
  CTAボタン（上下グラデーション＋右アイコンPNG／ホバーなし）
========================================================= */

/* --- ボタン --- */
.btn-cta {
  display: inline-flex;
  flex-direction: column;       /* 2行テキストを縦並びに */
  justify-content: center;
  align-items: center;
  position: relative;
  background: linear-gradient(to bottom, #F6A129, #EF6728); /* 上下グラデーション */
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  border-radius: 50px;
  padding: 14px 48px 14px 32px; /* 右に余白多め（アイコン分） */
  text-align: center;
  width: 300px;
  height: 70px;
  line-height: 0.6;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
  overflow: hidden;
  font-size: 20px;
  margin-top: 50px;
}

@media screen and (max-width: 393px) {
  .btn-cta {
    width: 250px;
  }
}


/* --- 上段テキスト --- */
.btn-cta span {
  display: block;
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
  font-weight: bold;
}

.btn-cta span::before,
.btn-cta span::after {
  font-size: 12px;
  position: relative;
  top: 0;
}

.btn-cta span::before{
  content: "\\";
  margin-right: 10px;
}

.btn-cta span::after{
  content: "/";
  margin-left: 10px;
}


/* --- 右側アイコン（PNG画像） --- */
.btn-cta::after {
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  background: url("./img/lp-img/icon-arrow.png") no-repeat center center;
  background-size: contain;
}


/* ======================================================
   お客様の声セクション（モバイル1列 → PC2列）
====================================================== */

/* --- ラッパー --- */
.review-wrapper {
  max-width: 1200px;
  margin: 0 auto;
  box-sizing: border-box;
}

/* --- レビューリスト --- */
.review-list {
  display: grid;
  grid-template-columns: 1fr; /* 📱 モバイル：1列 */
  list-style: none;
  padding: 0;
  margin: 0 auto;             /* ✅ grid全体を中央寄せ */
  justify-content: center;    /* ✅ アイテムを中央寄せ */
}

/* 💻 タブレット以上（768px〜）：2列固定 */
@media (min-width: 768px) {
  .review-list {
    grid-template-columns: repeat(2, 360px); /* ✅ 各カード幅を固定 */
    justify-content: center;                 /* ✅ グリッドを中央寄せ */
  }
}

/* --- 各レビューアイテム --- */
.review-item {
  width: 360px;       /* ✅ 固定幅にする */
  margin: 0 auto;
  box-sizing: border-box;
}

/* ======================================================
   レビューカード本体
====================================================== */
.review-card {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 300px;
}

/* --- 背景画像 --- */
.review-bg {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
  object-fit: contain;           /* 自然な表示 */
  object-position: center;
  z-index: 1;
  opacity: 0.9;
}

/* --- 重ねるコンテンツ --- */
.review-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 70%;
  padding: 16px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  z-index: 2;
  color: #333;
}

/* --- 上部（アイコン・タイトル部分） --- */
.review-header {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 10px;
  margin-bottom: 10px;
  padding-bottom: 6px;
  border-bottom: 1px solid #CBCBCB;
}

.review-img {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border-radius: 50%;
}

.review-header-text {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}

.review-subtitle {
  font-size: 10px;
  opacity: 0.9;
}

.review-title {
  font-weight: 700;
  font-size: 13px;
  margin-bottom: 8px;
}

/* --- 下部（本文） --- */
.review-body p {
  font-size: 11px;
  line-height: 1.6;
  text-align: justify;
}





/* ======================================================
   施工事例セクション（スマホ：縦並び → PC：横並び）
====================================================== */

/* --- 全体ラッパー --- */
.construction-wrapper {
  max-width: 1200px;
  margin: 0 auto;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 100px; /* 各事例の間隔 */
}

/* --- 各施工事例ブロック --- */
.construction-item {
  display: flex;
  flex-direction: column; /* 📱モバイル：縦並び */
  align-items: center;
  gap: 24px;
}

/* 💻 PCでは横並びに変更 */
@media (min-width: 1024px) {
  .construction-item {
    flex-direction: row;       /* ✅ 横並び */
    align-items: center;
    justify-content: center;
    gap: 40px;                 /* 左右の間隔 */
  }
}

/* --- 左側：画像ブロック --- */
.construction-image {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  flex: 1 1 50%; /* 横幅比率を調整（画像6：テキスト4） */
  max-width: 600px;
}

.construction-main img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.construction-gallery {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}

.construction-gallery img {
  width: calc(33.333% - 6px);
  object-fit: cover;
}

/* --- 右側：テキストブロック --- */
.construction-content {
  flex: 1 1 50%;
  max-width: 480px;
}

.construction-title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 16px;
}

.construction-content p {
  font-size: 15px;
  line-height: 1.8;
  text-align: left;
}

/* --- 画像右・テキスト左の反転パターン（偶数ブロック用） --- */
@media (min-width: 1024px) {
  .construction-item:nth-child(even) {
    flex-direction: row-reverse; /* ✅ 偶数行を反転 */
  }
}


/* =========================================================
  よくある質問セクション
========================================================= */
.faq-l-list {
  width: min(90%, 800px);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* --- 各項目 --- */
.faq-l-item {
  background: #F7F7F7;
  overflow: hidden;
  text-align: left;
}

/* --- 質問部分 --- */
.faq-l-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  padding: 20px;
}

.faq-l-q {
  font-size: 12px;
  font-weight: 600;
  display: flex;
  margin: 0;
}

.faq-l-q-icon {
  display: flex; /* ✅ flexで中央寄せ */
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  background: #000;
  color: #fff;
  font-weight: 700;
  border-radius: 50%; /* ✅ 完全な正円 */
  font-size: 12px;
  margin-right: 8px;
  flex-shrink: 0; /* ✅ 親要素の影響で潰れないよう固定 */
}

/* --- 矢印アイコン --- */
.faq-l-icon {
  width: 18px;
  height: 18px;
  transition: transform 0.3s ease;
}

/* --- 回答部分 --- */
.faq-l-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, padding 0.3s;
  padding: 0 20px;
}

.faq-l-a {
  font-size: 12px;
  line-height: 1.8;
  color: #333;
  margin: 12px 0;
  display: flex;
  align-items: flex-start;
}

.faq-l-a-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  background: #0099a8;
  color: #fff;
  font-weight: 700;
  border-radius: 50%; /* ✅ 完全な円形に */
  font-size: 12px;
  margin-right: 8px;
  flex-shrink: 0; /* ✅ 行の高さに潰されないよう固定 */
}


/* --- 開いたときの状態 --- */
.faq-l-item.active .faq-l-answer {
  max-height: 200px;
  padding: 16px 20px;
}

.faq-l-item.active .faq-l-icon {
  transform: rotate(180deg);
}


@media (min-width: 1024px) {
  .faq-l-q{
    font-size: 14px;
  }
  .faq-l-a {
    font-size: 14px;
  }
}

/* =========================================================
  Contact Form
========================================================= */


.contact-l-lead{
  font-size: 12px;
  margin-bottom: 40px;
}


.contact-wrapper {
  width: min(90%, 700px);
  margin: 0 auto;
  border: 1px solid #e5e5e5;
  padding: 40px;
  border-radius: 8px;
}

.contact-form{
  max-width: 768px;
  margin: 0 auto;
}

/* --- 各項目 --- */
.form-group {
  margin-bottom: 30px;
}

label {
  display: block;
  font-weight: 700;
  margin-bottom: 8px;
  font-size: 12px;
  text-align: left;
}

label small {
  font-weight: 400;
  font-size: 10px;
  color: #666;
  margin-left: 4px;
}

.required {
  color: #e60012;
  margin-left: 4px;
}

/* --- テキスト入力・セレクト・テキストエリア --- */
input[type="text"],
input[type="tel"],
input[type="email"],
select,
textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid #ccc;
  font-size: 15px;
  box-sizing: border-box;
}

textarea {
  resize: vertical;
}

/* --- プレースホルダーの色 --- */
input::placeholder,
textarea::placeholder {
  color: #bbb;
  font-size: 12px;
}

/* --- ラジオボタン --- */
.radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
}

.radio-group label {
  font-weight: 400;
  font-size: 15px;
  cursor: pointer;
}

.radio-group input[type="radio"] {
  margin-right: 6px;
}

/* --- プルダウン --- */
/* 通常状態 */
select {
  display: block;
  width: 100%;
  height: 42px;
  padding: 6px 12px; /* ← 上に寄せる */
  line-height: 1.1;         /* ← 行間を狭く */
  font-size: 15px;
  border: 1px solid #ccc;
  border-radius: 4px;
  color: #333;
  appearance: auto;          /* iOS用：ネイティブUIを維持 */
  -webkit-appearance: menulist; /* Safariで自然な表示に */
}

/* 未選択（placeholder表示時）だけ色変更 */
select:invalid {
  color: #bbb; /* ← デフォルト文字の色を変更 */
}


/* --- ボタン --- */
.form-submit {
  text-align: center;
  margin-top: 40px;
}

.form-submit{
  width: 100%;
  background: #0099a8;
  color: #fff;
  font-weight: bold;
  border: none;
  padding: 14px 40px;
  border-radius: 10px;
  font-size: 16px;
  cursor: pointer;
  transition: background 0.3s;
}

.form-submit button:hover {
  background: #007a89;
}




.footer-l{
  display: flex;
  justify-content: center;   /* 横中央 */
  align-items: flex-end;     /* 縦下揃え */
  height: 50px;
  font-size: 8px;
  padding-bottom: 10px;      /* 下に少し余白 */
  text-align: center;
  padding-left: 0;
}


@media (min-width: 1024px) {
  label{
    font-size: 14px;
  }
  input::placeholder,
  textarea::placeholder {
  font-size: 14px;
}
}

/* =========================================================
  ページトップボタン（モバイル用・フェード＋スライド付き）
========================================================= */
.back-to-top {
  position: fixed;
  right: 16px;
  bottom: 16px;
  width: 70px;
  height: 70px;
  background-color: #349599;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  opacity: 0;                 /* 初期は透明 */
  transform: translateY(20px); /* 下から少しスライドして出現 */
  pointer-events: none;       /* 非表示時クリック無効 */
  transition: opacity 0.6s ease, transform 0.6s ease; /* フェード＆スライド */
  z-index: 999;
  line-height: 1.5;
}

/* アイコン画像 */
.back-to-top img {
  width: 20px;
  display: block;
}

/* 表示状態（ふんわり＋上がる） */
.back-to-top.is-visible {
  opacity: 1;
  transform: translateY(0);   /* 元の位置へスライドイン */
  pointer-events: auto;
}

/* =========================================================
  Contact Form 7 対応：ラジオボタン カスタマイズ（#349599）
========================================================= */

/* --- ラッパー全体（.radio-group） --- */
.radio-group {
  width: 100%;
  margin-top: 8px;
}

/* --- Contact Form 7 ラジオボタン出力本体 --- */
.radio-group .wpcf7-form-control.wpcf7-radio {
  display: grid !important;                  /* ✅ 明示的にブロック化してグリッド有効化 */
  grid-template-columns: repeat(3, 1fr);     /* 横3列に均等配置 */
  gap: 10px 20px;                            /* 縦・横の余白 */
  justify-items: start;                      /* 各項目を左寄せ（右寄せしたい場合は end） */
  align-items: center;
  width: 100%;
}

@media screen and (min-width: 480px) {
  .radio-group .wpcf7-form-control.wpcf7-radio {
    grid-template-columns: repeat(4, 1fr);   /* スマホ時は2列 */
    gap: 20px 40px; 
  }
}

/* --- 各項目（wpcf7-list-item） --- */
.radio-group .wpcf7-list-item {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0;
}

/* --- ラベル全体 --- */
.radio-group .wpcf7-list-item label {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 15px;
  color: #333;
  cursor: pointer;
  user-select: none;
  margin-bottom: 0;
}

/* --- ラジオボタン本体 --- */
.radio-group .wpcf7-list-item input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  width: 18px;
  height: 18px;
  border: 2px solid #ccc;
  border-radius: 50%;
  margin-right: 8px;
  background-color: #fff;
  outline: none;
  cursor: pointer;
  transition: all 0.2s ease;
}

/* --- ホバー時 --- */
.radio-group .wpcf7-list-item input[type="radio"]:hover {
  border-color: #349599;
}

/* ✅ 選択時：外枠だけ色変更 */
.radio-group .wpcf7-list-item input[type="radio"]:checked {
  border-color: #349599;
  background-color: #fff;
}

/* ✅ 真ん中の円（選択状態） */
.radio-group .wpcf7-list-item input[type="radio"]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  background-color: #349599;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

/* --- フォーカス時（アクセシビリティ対応） --- */
.radio-group .wpcf7-list-item input[type="radio"]:focus-visible {
  outline: 2px solid rgba(52, 149, 153, 0.4);
  outline-offset: 2px;
}
