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

/* - 共通
--------------------------------------------------------------------------------------------- */
img{
	max-width: 100%;
	height: auto;
}
/* フォントweight */
.fw300{
	font-weight: 300;
}
.fw400{
	font-weight: 400;
}
.fw500{
	font-weight: 500;
}
/* 英語フォント */
.f-eng{
	font-family: "Cormorant Garamond", serif;
}
/* 明朝 */
.txtmin{
	font-family: "Shippori Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
/* テキスト中央寄せ */
.txt-center{
	text-align: center;
}
/* pタグのマージンなし */
.txt_block p{
	margin-bottom: 0;
}
/* 背景 */
.bg_f4f4f6, .bg_666{
	position: relative;
}
.bg_f4f4f6::before, .bg_666::before{
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: -1;
}
.bg_f4f4f6::before{
	background-color: #f4f4f6;
}
.bg_666::before{
	background-color: #666;
}
/* 見出し */
.lp-title1{
	font-size: 1rem;
	letter-spacing: 0.05em;
}
.lp-title1 .f-eng{
	display: block;
	font-size: 2.571rem;
	letter-spacing: 0.04em;
	line-height: 1;
	margin-bottom: 1.085rem;
}
@media screen and (min-width: 1200px){
	.lp-title1{
		font-size: 1.1428rem;
	}
	.lp-title1 .f-eng{
		font-size: 3.214rem;
		margin-bottom: 1.557rem;
	}
}

/* ボタン */
.lp-btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: #000;
	color: #fff;
	width: 260px;
	height: 56px;
	border-radius: 30px;
	font-size: 1.0714rem;
	letter-spacing: 0.1em;
	transition: .4s
}
.lp-btn:hover{
	background-color: rgba(0,0,0,0.7);
	color: #fff;
	text-decoration: none;
}
@media screen and (min-width: 1200px){
	.lp-btn{
		font-size: 1.214rem;
		width: 280px;
		height: 60px;
	}
}
/* container */
.lp-container{
	width: 89.7435%;
	margin-right: auto;
	margin-left: auto;
	display: block;
}
@media screen and (min-width: 1200px){
	.lp-container{
		width: 93.333%;
		max-width: 1620px;
	}
}
/* 表示・非表示 */
@media screen and (min-width: 768px){
	.pc-none{
		display: none;
	}
	.sp-none{
		display: block;
	}
}
@media screen and (max-width: 767px){
	.pc-none{
		display: block;
	}
	.sp-none{
		display: none;
	}
}
@media screen and (min-width: 992px){
	.none_max991{
		display: block;
	}
	.none_min992{
		display: none;
	}
}
@media screen and (max-width: 991px){
	.none_max991{
		display: none;
	}
	.none_min992{
		display: block;
	}
}
/* 改行 */
.br_992-1199, .br_1200-1399{
	display: none;
}
@media screen and (min-width: 992px) and (max-width: 1199px){
	.br_992-1199{
		display: block;
	}
}
@media screen and (min-width: 1200px) and (max-width: 1399px){
	.br_1200-1399{
		display: block;
	}
}
@media screen and (min-width: 768px){
	.br_max767{
		display: none;
	}
	.br_min768{
		display: block;
	}
}
@media screen and (max-width: 767px){
	.br_max767{
		display: block;
	}
	.br_min768{
		display: none;
	}
}
@media screen and (min-width: 992px){
	.br_max991{
		display: none;
	}
	.br_min992{
		display: block;
	}
}
@media screen and (max-width: 991px){
	.br_max991{
		display: block;
	}
	.br_min992{
		display: none;
	}
}
@media screen and (min-width: 1200px){
	.br_max1199{
		display: none;
	}
	.br_min1200{
		display: block;
	}
}
@media screen and (max-width: 1199px){
	.br_max1199{
		display: block;
	}
	.br_min1200{
		display: none;
	}
}
@media screen and (min-width: 1400px){
	.br_max1399{
		display: none;
	}
	.br_min1400{
		display: block;
	}
}
@media screen and (max-width: 1399px){
	.br_max1399{
		display: block;
	}
	.br_min1400{
		display: none;
	}
}


/* - HEADER
--------------------------------------------------------------------------------------------- */
#header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    width: 100%;
    height: 65px;
    position: fixed;
    top: 0;
    left: 0; 
    z-index: 1000;
    background-color: transparent;
    /* transitionに transform を明示的に含めるか、all で制御します */
    -webkit-transition: all 0.4s ease-in-out, color 0.4s;
    -o-transition: all 0.4s ease-in-out, color 0.4s;
    transition: all 0.4s ease-in-out, color 0.4s;
}
@media screen and (min-width: 1200px){
	#header{
		height: 105px;
	}
}
body.fixed{
    overflow: hidden;
    width: 100%;
}

/* CONTAINER  */
.header_container {
	width: 89.7435%;
	margin-right: auto;
	margin-left: auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	position: relative;	
	z-index: 1005;
}
@media screen and (min-width: 1200px){
	.header_container{ 
		width: 93.333%;
	}
}

/* logo */
.scroll_logo{
    width: 180px;
    margin-bottom: 0;
	transition: .4s;
	position: relative;
}
.scroll_logo a{
	display: block;
    width: 100%;
    height: 100%;
	z-index: 1;
	position: relative;
	transition: .4s;
}
.scroll_logo svg{
	max-width: 100%;
	height: auto;
}
.scroll_logo .logo_color{
	fill: #fff;
	transition: .4s;
}
body.fixed .scroll_logo .logo_color{
	fill: #fff;
}
#header.view .scroll_logo .logo_color{
	fill: #000;
}
@media screen and (min-width: 1200px){
    .scroll_logo{
        width: 240px;
    } 
}
/**** header_right ****/
.header_right{
	display: flex;
	align-items: center;
	justify-content: space-between;
}
/* head_nav */
.head_nav{
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 0;
	transition: .4s;
}
.head_nav li{	
	list-style: none;
}
.head_nav li:not(:first-child){
	margin-left: 2rem;
}
.head_nav li a{
	display: inline-block;
	color: #fff;
	line-height: 1;
	letter-spacing: 0.1em;
	font-size: 1rem;
	transition: .4s;
}
.head_nav li a:hover{
	text-decoration: none;
	opacity: 0.7;
}
#header.view .head_nav li a{
	color: #000;
}
@media screen and (min-width: 1200px){
	.head_nav li:not(:first-child){
		margin-left: 25px;
	}
}
@media screen and (min-width: 1400px){
	.head_nav li:not(:first-child){
		margin-left: 30px;
	}
}
@media screen and (max-width: 1199px){
	.head_nav{
		display: none;
	}
}
/* head_sns */
.head_sns{
	display: block;
	width: 20px;
	height: 20px;
	margin-left: 2.1428rem;
	transition: .4s;
}
.head_sns:hover{
	opacity: 0.7;
}
.head_sns svg{
	max-width: 100%;
	height: auto;
	display: block;
}
.head_sns .insta_color{
	fill: #fff;
	transition: .4s;
}
body.fixed .head_sns .insta_color{
	fill: #fff;
}
#header.view .head_sns .insta_color{
	fill: #000;
}
@media screen and (max-width: 767px){
	.head_sns{
		display: none;
	}
}
/* head_btn */
.head_btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 180px;
	height: 40px;
	border-radius: 20px;
	background-color: rgba(255,255,255,0.3);
	color: #fff;
	letter-spacing: 0.1em;
	font-size: 1rem;
	transition: .4s;
	margin-left: 2.1428rem;
}
.head_btn:hover{
	text-decoration: none;
	color: #fff;background-color: rgba(255,255,255,0.2);
}
#header.view .head_btn{
	background-color: #000;
}
@media screen and (max-width: 767px){
	.head_btn{
		display: none;
	}
}




/* TRIGGER 本体 */
.menu-trigger {
    width: 34px;
    height: 11px;
    position: relative;
    cursor: pointer;
    z-index: 1001; 
    transition: .4s;
	margin-left: 2.1428rem;
}
.menu-trigger span{
    position: absolute;
    width: 34px;
    height: 1px;
    background-color: #fff;
	left: 50%;
	transform: translateX(-50%);
    transition: all 0.3s;
}
.menu-trigger span:nth-child(1){
	top: 0;
}
.menu-trigger span:nth-child(2){
	bottom: 0;
}
#header.view .menu-trigger span{
	background-color: #000;
}
.menu-trigger.tgl-active span:nth-child(1) {
    top: 50%;
    transform: translate(-50%,-50%) rotate(45deg);
}
.menu-trigger.tgl-active span:nth-child(2) {
    top: 50%;
	bottom: unset;
    transform: translate(-50%,-50%) rotate(-45deg);
}
@media screen and (min-width: 1200px){
	.menu-trigger{
		display: none;
	}
}

/* MENU TOGGLE */
.menu-toggle {
	position: fixed;
	top: 0;
	right: 0;
	width: 100vw;
	height: 100vh;
	z-index: 1000;
	transition: 0.4s ease-in-out;
	overflow: hidden;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
/* Hide scrollbar for Chrome, Safari and Opera */
.menu-toggle::-webkit-scrollbar {
	display: none;
}
/*menu-toggle.active*/
.menu-toggle.active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
	touch-action: pan-y;
	width: 100%;
	height: 100svh;
	height: 100vh;
	background-color: #666;
	color: #fff;
}
.toggle_inner{
	width: 76.923%;
	margin: 0 auto;
	padding-top: 9.6428rem;
	padding-bottom: 10.428rem;
	text-align: center;
}
.tgl_nav-list{
	margin: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	text-align: center;
	align-items: center;
	position: relative;
	padding-bottom: 6.9285rem;
}
.tgl_nav-list::after{
	position: absolute;
	content: "";
	width: 100%;
	max-width: 600px;
	height: 1px;
	background-color: rgba(140,140,140,0.75);
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
}
.tgl_nav-list li + li{
	margin-top: 2.1571rem;
}
.tgl_nav-list li a{
	display: inline-block;
	color: #fff;
	font-size: 1.1428rem;
	letter-spacing: 0.05em;
	transition: .3s;
}
.tgl_nav-list li a:hover{
	color: #fff;
	opacity: 0.7;
	text-decoration: none;
}
.tgl-sns{
	margin-top: 6.9428rem;
}
.tgl-sns a{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	letter-spacing: 0.04em;
	font-size: 1.1428rem;
	color: #fff;
	transition: .3s;
}
.tgl-sns a svg{
	display: block;
	width: 18px;
	height: 18px;
	margin-right: 6px;
}
.tgl-sns a .insta_color{
	fill: #fff;
}
.tgl-sns a:hover{
	color: #fff;
	text-decoration: none;
	opacity: 0.7;
}
.tgl-btn{
	margin-top: 3.88571rem;
}
.tgl-btn a{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 250px;
	height: 56px;
	border-radius: 30px;
	background-color: rgba(255,255,255,0.3);
	color: #fff;
	letter-spacing: 0.1em;
	font-size: 1rem;
	transition: .4s;
}
.tgl-btn a:hover{
	text-decoration: none;
	color: #fff;
	background-color: rgba(255,255,255,0.2);
}

/************************************************  
  MV Slider - Zoom Fade Version
************************************************/
.mv {
    position: relative;
    width: 100%;
    height: 100vh;
    height: 100svh;
    overflow: hidden;
    background-color: #000; /* 切り替え時の隙間対策 */
}

.mv_slider {
    width: 100%;
    height: 100%;
}

/* スライドの基本設定 */
.mv_slider .swiper-slide {
    width: 100%;
    height: 100%;
    overflow: hidden;
    opacity: 0 !important; /* JSの制御と競合しないよう基本は透明 */
    z-index: 1;
    transition: opacity 2500ms linear; /* Swiperのspeed設定に合わせる */
    will-change: opacity;
}

/* アクティブなスライドを表示 */
.mv_slider .swiper-slide-active,
.mv_slider .swiper-slide-duplicate-active {
    opacity: 1 !important;
    z-index: 2;
}

/* ズームさせる外枠（念のためオーバーフローを制御） */
.zoom-wrapper {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

/* 画像を表示するインナー要素 */
.mv_slider .slide-img {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    
    /* 
       初期状態：
       クラスが外れた瞬間に transition を 0s にすることで、
       「縮んでいく動き」を見せずに scale(1) へリセットします。
    */
    transform: scale(1);
    transition: transform 0s linear;
    will-change: transform;
}

/* 
   ★最重要：拡大アニメーションのトリガー
   .is-zooming クラスがついている間だけ、ゆっくりと拡大させます。
   animation ではなく transition を使うことで、0%への強制リセットを防ぎます。
*/
.mv_slider .swiper-slide.is-zooming .slide-img {
    transform: scale(1.15); /* 最終的な拡大率 */
    transition: transform 10000ms linear; /* 次のスライドが来るまで動き続けるよう長めに設定 */
}

/* スライドの上に被せるオーバーレイ */
.mv_slider .swiper-slide::after {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
    z-index: 3;
}

/* 背景画像指定 */
.mv_slider .bg01 { background-image: url("../images/mv1.webp"); }
.mv_slider .bg02 { background-image: url("../images/mv2.webp"); }

@media screen and (max-width: 767px) {
    .mv_slider .bg01 { background-image: url("../images/mv1_sp.webp"); }
    .mv_slider .bg02 { background-image: url("../images/mv2_sp.webp"); }
}

/* テキストエリア */
.mv_txt {
    position: absolute;
    bottom: 10%;
    left: 5.12825%;
    z-index: 10;
    width: 74.358%;
	max-width: 290px;
    text-align: center;
    pointer-events: none;
    color: #fff;
}
.mv_txt h1{
	margin-bottom: 0;
}
@media screen and (min-width: 768px){
	.mv_txt{
		width: 50%;
		max-width: 630px;
	}
}
@media screen and (min-width: 992px){
	.mv_txt{
		bottom: 11.8%;
		left: 3.33%;
	}
}


/* - Contents
--------------------------------------------------------------------------------------------- */
/************************************************  
  Concept
************************************************/
.concept-outer{
	padding: 6.928rem 0 7.1428rem;
	overflow: hidden;
}
.concept-inner{
	width: 94.8717%;
	margin-left: auto;
}
.concept-enttl{
	font-size: 1.285rem;
	letter-spacing: 0.04em;
	line-height: 1;
	margin-bottom: 4.3rem;
}
.concept-img{
	margin-bottom: 3.885rem;
}
.concept-txtArea{
	padding-right: 6.0869%;
}
.concept-ttl{
	font-size: 1.857rem;
	letter-spacing: 0.1em;
	text-wrap: nowrap;	
	margin-bottom: 2.871rem;
}
.concept-ttl .reduce{
	margin-left: -0.5rem;
}
.concept-ttl .f-eng{
	font-size: 0.928rem;
	letter-spacing: 0.1em;
	line-height: 1;
	display: block;
	margin-top: 1.585rem;
}
.concept-txtArea .txt_block{
	font-size: 1.0714rem;
	letter-spacing: 0.03em;
	line-height: 1.73;
	text-align: justify;
}
.concept-txtArea .txt_block p + p{
	margin-top: 1.814rem;
}
.concept-txtArea .lp-btn{
	margin-top: 3.885rem;
}
@media screen and (min-width: 768px){
	.concept-outer{
		overflow: visible;
	}
	.concept-inner{
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		position: relative;
	}
	.concept-enttl{
		position: absolute;
		top: 0;
		left: 0;
		margin: 0;
	}
	.concept-left{
		width: 45%;
		position: sticky;
		top: 100px;
	}
	.concept-left .inner{
		position: relative;
		display: flex;
		align-items: center;
		min-height: 400px;
	}
	.concept-ttl{
		margin-bottom: 0;
	}
	.concept-left .lp-btn{
		position: absolute;
		bottom: 0;
		left: 0;
	}
	.concept-right{
		width: 50%;
	}
	.concept-txtArea{
		padding-right: 10.81%;
	}
}
@media screen and (min-width: 992px){
	.concept-outer{
		padding: 10.714rem 0;
	}
	.concept-inner{
		width: 89.7435%;
		margin: 0 auto;
	}
	.concept-left{
		width: 44.617%;
		display: flex;
		justify-content: center;
	}
	.concept-left .inner{
		min-height: calc(100vh - 200px);
	}
	.concept-right{
		width: 50.444%;
	}
	.concept-txtArea{
		padding-right: 0;
	}
	.concept-txtArea .txt_block span{
		display: block;
		margin-top: 1.814rem;
	}
}
@media screen and (min-width: 1200px){
	.concept-inner{
		width: 93.333%;
		max-width: 1620px;
		margin: 0 auto;
	}
	.concept-enttl{
		font-size: 2rem;
	}
	.concept-left{
		width: 45.617%;
		top: 150px;
	}
	.concept-left .inner{
		min-height: calc(100vh - 250px);
	}
	.concept-ttl{
		font-size: 2.5rem;
	}
	.concept-ttl .f-eng{
		font-size: 1.1428rem;
	}
	.concept-right{
		width: 49.444%;
	}
	.concept-txtArea .txt_block{
		font-size: 1.285rem;
		letter-spacing: 0.05em;
		line-height: 1.88;
	}
	.concept-txtArea .txt_block p + p, .concept-txtArea .txt_block span{
		margin-top: 2.371rem;
	}
}
@media screen and (min-width: 1400px){
	.concept-outer{
		padding: 14.28rem 0;
	}
	.concept-left{
		width: 50.617%;
	}
	.concept-left .inner{
		min-height: calc(100vh - 350px);
	}
	.concept-ttl{
		font-size: 3.214rem;
	}
	.concept-ttl .f-eng{
		font-size: 1.428rem;
	}
	.concept-right{
		width: 44.444%;
	}
	.concept-img{
		margin-bottom: 6.4428rem;
	}
}
@media screen and (max-width: 767px){
	.concept-right{
		padding-left: 6.41%;
	}
}
/************************************************  
  Important
************************************************/
.imp-outer{
	margin-top: 6.7428rem;
}
.imp-outer .lp-title1{
	margin-bottom: 3.885rem;
}
.imp-ttl{
	font-size: 1.5rem;
	line-height: 1.43;
	margin-bottom: 1.8428rem;
}
.imp-ttl span{
	display: block;
	font-size: 1.285rem;
	letter-spacing: 0.04em;
	line-height: 1;
	margin-bottom: 1.54rem;
}
.imp-img{
	margin-bottom: 1.8428rem;
}
.imp-item .txt_block{
	text-align: justify;
}
@media screen and (min-width: 768px){
	.imp-flex{
		display: flex;
		justify-content: space-between;
	}
	.imp-item{
		width: calc((100% - 80px)/3);
		position: relative;
	}
	.imp-item:nth-child(1)::after, .imp-item:nth-child(2)::after{
		position: absolute;
		content: "";
		width: 1px;
		height: 100%;
		background-color: rgba(180,180,180,0.5);
		top: 0;
		right: -20px;
	}
}
@media screen and (min-width: 992px){
	.imp-outer{
		margin-top: 10.314rem;
	}
	.imp-item{
		width: calc((100% - 120px)/3);
	}
	.imp-item:nth-child(1)::after, .imp-item:nth-child(2)::after{
		right: -30px;
	}
}
@media screen and (min-width: 1200px){
	.imp-outer .lp-title1{
		margin-bottom: 6.6428rem;
	}
	.imp-item{
		width: calc((100% - 140px)/3);
	}
	.imp-item:nth-child(1)::after, .imp-item:nth-child(2)::after{
		right: -35px;
	}
	.imp-ttl{
		font-size: 1.714rem;
		margin-bottom: 2.814rem;
	}
	.imp-ttl span{
		font-size: 2.1428rem;
		margin-bottom: 1.685rem;
	}
	.imp-img{
		margin-bottom: 2.1714rem;
	}
	.imp-item .txt_block{
		font-size: 1.0714rem;
	}
}
@media screen and (min-width: 1400px){
	.imp-outer{
		margin-top: 13.685rem;
	}
	.imp-item{
		width: calc((100% - 168px)/3);
	}
	.imp-item:nth-child(1)::after, .imp-item:nth-child(2)::after{
		right: -42px;
	}
}
@media screen and (max-width: 767px){
	.imp-outer{
		width: 82.05128%;
	}
	.imp-item + .imp-item{
		margin-top: 4.1428rem;
	}
}
/************************************************  
  Line up
************************************************/
.lineup-outer{
	color: #fff;
	padding: 6.7857rem 0;
	margin-top: 6.7857rem;
}
.lineup-outer .lp-title1{
	margin-bottom: 4.1857rem;
}
.lineup-item + .lineup-item{
	margin-top: 5.457rem;
}
.lineup-ttl{
	width: 100%;
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	position: relative;
	padding-top: 0.928rem;
	line-height: 1;
	margin-bottom: 4.0428rem;
}
.lineup-ttl .f-eng{
	font-size: 1.071rem;
	letter-spacing: 0.04em;
}
.lineup-ttl .txtmin{
	font-size: 1rem;
	letter-spacing: 0.05em;
}
.lineup-ttl::before{
	position: absolute;
	content: "";
	width: 100%;
	height: 1px;
	top: 0;
	left: 0;
	background-color: rgba(220,220,220,0.25);
}
.lineup-copy{
	font-size: 1.857rem;
	line-height: 1.54;
	letter-spacing: 0.1em;
	margin-bottom: 2.5714rem;
}
.lineup-txtArea{
	position: relative;
}
.lineup-txtArea .txt_block{
	text-align: justify;
	letter-spacing: 0.03em;
	line-height: 1.85;
}
.lineup-swiper .swiper-slide{
	width: 86.486%;
}
.lineup-pagination{
	position: absolute;
	top: unset !important;
	bottom: 0 !important;
	left: 0;
	display: flex;
	align-items: center;
	height: 6px;
	gap: 10px;
}
.lineup-pagination .swiper-pagination-bullet{
	width: 5px;
	height: 5px;
	border: 1px solid #fff;
	background-color: transparent;
	opacity: 1;
	margin: 0 !important;
}
.lineup-pagination .swiper-pagination-bullet-active{
	width: 5px;
	height: 5px;
	border: 1px solid #fff;
	background-color: #fff;	
}
@media screen and (min-width: 768px){
	.lineup-outer{
		margin-top: 7.1428rem;
		padding-bottom: 5.857rem;
	}
	.lineup-item{
		width: calc(100vw - (100vw - 89.7435%) / 2);
	}
	.lineup-flex{
		display: flex;
		justify-content: space-between;
	}
	.lineup-img{
		width: 58.36257%;
	}
	.lineup-swiper{
		height: 100%;
	}
	.lineup-swiper .swiper-slide{
		width: 91.683%;
	}
	.lineup-swiper .swiper-slide img{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.lineup-txtArea{
		min-height: 350px;
	}
	.lineup-ttl, .lineup-txtArea{
		width: 33.9181%;
	}
	.lineup-item:nth-of-type(2n){
		margin-left: auto;
	}
	.lineup-item:nth-of-type(2n) .lineup-flex{
		flex-direction: row-reverse;
	}
	.lineup-item:nth-of-type(odd) .lineup-ttl{
		margin-left: auto;
	}
}
@media screen and (min-width: 992px){
	.lineup-outer{
		padding: 10.357rem 0 8.5714rem ;
		margin-top: 10.714rem;
	}
	.lineup-item + .lineup-item{
		margin-top: 8.5714rem;
	}
	.lineup-txtArea{
		display: flex;
		align-items: center;
	}
}
@media screen and (min-width: 1200px){
	.lineup-outer .lp-title1{
		margin-bottom: 7.1428rem;
	}
	.lineup-item{
		width: calc(100vw - (100vw - 93.333%) / 2);
	}
	.lineup-img{
		min-height: 600px;
	}
	.lineup-txtArea{
		min-height: 350px;
	}
	.lineup-ttl{
		padding-top: 2.1428rem;
		margin-bottom: 4.657rem;
	}
	.lineup-ttl .f-eng{
		font-size: 1.428rem;
	}
	.lineup-copy{
		font-size: 2.428rem;
		line-height: 1.61;
		margin-bottom: 2.985rem;
	}
	.lineup-txtArea .txt_block{
		font-size: 1.1428rem;
		line-height: 1.75;
		letter-spacing: 0.05em;
	}
	.lineup-txtArea .txt_block p + p{
		margin-top: 1.957rem;
	}
	.lineup-pagination{
		height: 10px;
		gap: 15px;
	}
	.lineup-pagination .swiper-pagination-bullet, .lineup-pagination .swiper-pagination-bullet-active{
		width: 10px;
		height: 10px;
	}
}
@media screen and (min-width: 1400px){
	.lineup-outer{
		padding: 13.714rem 0 11.428rem;
		margin-top: 14.285rem;
	}
	.lineup-item + .lineup-item{
		margin-top: 11.428rem;
	}
}
@media screen and (min-width: 1736px){
    .lineup-item {
        width: calc(100vw - (100vw - 1620px) / 2);
    }
}
@media screen and (max-width: 767px){
	.lineup-ttl, .lineup-txtArea{
		width: 89.7435%;
		margin-right: auto;
		margin-left: auto;
	}
	.lineup-img{
		width: 94.8717%;
		margin-left: auto;
	}
	.lineup-txtArea{
		margin-top: 1rem;
		padding-top: 3.214rem;
	}
	.lineup-pagination{
		top: 0 !important;
		bottom: unset !important;
	}
}
/* lineup-end */
.lineup-end{
	margin-top: 7.2714rem;
}
.tel-no{
	font-size: 2rem;
	line-height: 1;
	margin-top: 2rem;
}
.tel-no a{
	color: #fff;
	display: inline-block;
	transition: .4s;
}
.tel-no a:hover{
	text-decoration: none;
	opacity: 0.7;
}
.opentime{
	font-size: 1rem;
	line-height: 1;
	margin-top: 1.328rem;	
}
.lineup-end .lp-btn{
	margin-top: 3.714rem;
}
@media screen and (min-width: 768px){
	.lineup-end{
		margin-top: 5.557rem;
	}
	.tel-no{
		margin-top: 0;
	}
	.tel-no a{
		pointer-events: none;
        cursor: default;
        text-decoration: none;
        color: inherit;
	}
	.tel-no a:hover{
		opacity: 1;
	}
	.lineup-end .lp-btn{
		width: 320px;
		margin-top: 2.1428rem;
	}
}
@media screen and (min-width: 992px){
	.lineup-end{
		margin-top: 8.1714rem;
	}
}
@media screen and (min-width: 1200px){
	.tel-no{
		font-size: 2.428rem;
	}
	.opentime{
		font-size: 1.0714rem;
		margin-top: 2.0428rem;
	}
	.lineup-end .lp-btn{
		margin-top: 2.857rem;
		width: 360px;		
	}
}
@media screen and (min-width: 1400px){
	.lineup-end{
		margin-top: 11.028rem;
	}
}
/************************************************  
  Spec
************************************************/
.spec-outer{
	margin-top: 6.6428rem;
}
.spec-outer .lp-title1{
	margin-bottom: 4.1857rem;
}
.spec-list{
	margin-bottom: 0;
	list-style: none;
}
.spec-list li{
	margin-top: 3.9857rem;
}
.spec-list li:first-child{
	margin-top: 0;
}
.spec-imgArea{
	position: relative;
	margin-bottom: 1.5428rem;
}
.spec-img{
	width: 74.857%;
	margin-left: auto;
}
.spec-no{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background-color: #000;
	color: #fff;
	width: 60px;
	height: 60px;
	font-size: 1.2857rem;
	letter-spacing: 0.04em;
	line-height: 1;
}
.spec-no .f-eng{
	display: block;
}
.spec-no::before{
	position: absolute;
	content: "";
	width: 8px;
	height: 14px;
	background-image: url("../images/spec-arrow.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	top: 50%;
	right: -8px;
	transform: translateY(-50%);
}
.spec-type{
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 1;
	font-size: 0.928rem;
	letter-spacing: 0.06em;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #000;
	color: #fff;
	width: 110px;
	height: 34px;
	border-radius: 17px;
}
.spec-type.wide{
	width: 150px;
}
.spec-type.f-eng{
	background-color: #e6e6e6;
	color: #000;
	font-size: 1rem;
	letter-spacing: 0.04em;
}
.spec-ttl{
	font-size: 1.428rem;
	letter-spacing: 0.05em;
	margin-bottom: 0.8714rem;
}
.spec-copy{
	font-size: 1.1428rem;
	letter-spacing: 0.05em;
	margin-bottom: 2rem;
}
.spec-type .txt_block{
	text-align: justify;
}
@media screen and (min-width: 768px){
	.spec-list{
		display: flex;
		flex-wrap: wrap;
	}
	.spec-list li{
		width: calc((100% - 60px)/2);
		margin-right: 60px;
	}
	.spec-list li:nth-child(2){
		margin-top: 0;
	}
	.spec-list li:nth-child(2n){
		margin-right: 0;
	}
	.spec-ttl{
		margin-bottom: 0.3285rem;
	}
}
@media screen and (min-width: 992px){
	.spec-outer{
		margin-top: 10.214rem;
	}
	.spec-list li{
		width: calc((100% - 70px)/3);
		margin-right: 35px;
	}
	.spec-list li:nth-child(3){
		margin-top: 0;
	}
	.spec-list li:nth-child(2n){
		margin-right: 35px;
	}
	.spec-list li:nth-child(3n){
		margin-right: 0;
	}
	.spec-imgArea{
		margin-bottom: 1.4428rem;
	}
	.spec-copy{
		margin-bottom: 1.3428rem;
	}
}
@media screen and (min-width: 1200px){
	.spec-outer .lp-title1{
		margin-bottom: 7.11428rem;
	}
	.spec-list li{
		width: calc((100% - 90px)/3);
		margin-right: 45px;
	}
	.spec-list li:nth-child(2n){
		margin-right: 45px;
	}
	.spec-list li:nth-child(3n){
		margin-right: 0;
	}
	.spec-img{
		width: 70.2127%;
	}
	.spec-no{
		font-size: 1.607rem;
		width: 75px;
		height: 75px;
	}
	.spec-no .f-eng{
		font-size: 0.75rem;
		margin-top: 2px;
	}
	.spec-no::after{
		width: 9px;
		height: 17px;
	}
	.spec-type.wide{
		width: 160px;
	}
}
@media screen and (min-width: 1400px){
	.spec-outer{
		margin-top: 13.685rem;
	}
	.spec-list li{
		width: calc((100% - 120px)/3);
		margin-top: 5.214rem;
		margin-right: 60px;
	}
	.spec-list li:nth-child(2n){
		margin-right: 60px;
	}
	.spec-list li:nth-child(3n){
		margin-right: 0;
	}
	.spec-imgArea{
		margin-bottom: 2.507rem
	}
	.spec-no{
		font-size: 2.1428rem;
		width: 100px;
		height: 100px;
	}
	.spec-no .f-eng{
		font-size: 1rem;
		margin-top: 2px;
	}
	.spec-no::after{
		width: 12px;
		height: 22px;
	}
	.spec-ttl{
		font-size: 1.6428rem;
		margin-bottom: 0.5428rem;
	}
	.spec-copy{
		margin-bottom: 2.057rem;
	}
}
@media screen and (min-width: 1600px){
	.spec-list li{
		width: calc((100% - 180px)/3);
		margin-top: 6.7428rem;
		margin-right: 90px;
	}
	.spec-list li:nth-child(2n){
		margin-right: 90px;
	}
	.spec-list li:nth-child(3n){
		margin-right: 0;
	}
}
@media screen and (min-width: 1700px){
	.spec-list li{
		width: calc((100% - 210px)/3);
		margin-top: 9.5rem;
		margin-right: 105px;
	}
	.spec-list li:nth-child(2n){
		margin-right: 105px;
	}
	.spec-list li:nth-child(3n){
		margin-right: 0;
	}
}
@media screen and (max-width: 1199px){
	.spec-imgArea{
		padding-bottom: 2px;
	}
	.spec-no .f-eng{
		display: none;
	}
}
/************************************************  
  Guarantee
************************************************/
.guarantee-outer{
	padding: 6.71428rem 0 7.1428rem;
	margin-top: 6.8428rem;
}
.guarantee-outer .lp-title1{
	margin-bottom: 4.1857rem;
}
.guarantee-img-outer
.guarantee-img{
	width: 100%;
	text-align: center;
	overflow-x: auto;
	display: flex;
	-webkit-overflow-scrolling: touch;
}
.guarantee-img::-webkit-scrollbar {
    height: 2px; /* バーの太さ */
}
.guarantee-img::-webkit-scrollbar-track {
    height: 2px; /* バーの太さ */
    background: #b4b4b4; /* レールの色 */
    border-radius: 10px;
}
.guarantee-img::-webkit-scrollbar-thumb {
    height: 2px; /* バーの太さ */
    background: #000;    /* ツマミの色 */
    border-radius: 10px;
}
.guarantee-img::-webkit-scrollbar-thumb:hover {
    opacity: 0.8;
}
.guarantee-outer > p{
	text-align: justify;
	width: 89.74358%;
	max-width: 1340px;
	margin-top: 2.557rem;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 0;
}
.guarantee-outer .lineup-end{
	margin-top: 5.15714rem;
}
.guarantee-outer .tel-no a{
	color: #000;
}
.guarantee-outer .tel-no a:hover{
	color: #000;
}
@media screen and (min-width: 992px){
	.guarantee-outer{
		padding: 10.285rem 0 9.2857rem;
		margin-top: 10.414rem;
	}
	.guarantee-img{
		width: 89.7435%;
		max-width: 1340px;
		margin-right: auto;
		margin-left: auto;
	}
	.guarantee-outer > p{
		margin-top: 2.257rem;
	}
	.guarantee-outer .lineup-end{
		margin-top: 7.76428rem;
	} 
}
@media screen and (min-width: 1200px){
	.guarantee-outer .lp-title1{
		margin-bottom: 7.1857rem;
	}
	.guarantee-outer > p{
		font-size: 1.0714rem;
	}
}
@media screen and (min-width: 1400px){
	.guarantee-outer{
		padding: 13.714rem 0 11.428rem;
		margin-top: 13.885rem;
	}
	.guarantee-outer .lineup-end{
		margin-top: 10.0714rem;
	}
}
@media screen and (max-width: 991px){
	.guarantee-scroll-container{
		padding-left: 5%;
		padding-right: 5%;
	}
	.guarantee-img{
		padding-bottom: 30px;
		scrollbar-width: thin;
		scrollbar-color: #000 #b4b4b4;
	}
	.guarantee-img img{
		width: 1040px;
		max-width: unset;
		flex-shrink: 0;
		display: block;
	}
}
/************************************************  
  Location
************************************************/
.location-outer{
	margin-top: 6.6428rem;
	background-color: #fff;
}
.location-map{
	width: 100%;
	aspect-ratio: 16 / 9;
	margin-top: 4.2857rem;
}
.location-map iframe{
	width: 100%;
	height: 100%;
}
.model-enttl{
	font-size: 3.5714rem;
	line-height: 1;
	letter-spacing: 0.04em;
	margin-bottom: 3.3rem;
	z-index: 1;
}
.model-enttl-base{
	color: #000;
}
.model-enttl-white{
	position: absolute;
	left: 0;
	top: 0;
	color: #fff;
	pointer-events: none;
	clip-path: inset(0 100% 100% 0);
}
.model-enttl-white.is-active{
	clip-path: inset(var(--clip-top, 0) var(--clip-right, 0) var(--clip-bottom, 0) var(--clip-left, 0));
}
.model-ttl{
	font-size: 1.857rem;
	letter-spacing: 0.1em;
	margin-bottom: 0.9857rem;
}
.model-add{
	margin-bottom: 0;
}
.location-left .lp-btn{
	margin-top: 4.128rem;
}
@media screen and (min-width: 768px){
	.location-outer{
		width: 89.7435%;
		margin-right: auto;
		margin-left: auto;
	}
	.location-flex{
		display: flex;
		justify-content: space-between;
	}
	.location-left{
		width: 45.741%;
		position: relative;
	}
	.location-outer .lp-title1{
		position: absolute;
		top: 0;
		left: 0;
	}
	.location-left .inner{
		position: absolute;
		top: 22%;
	}
	.model-enttl{
		text-wrap: nowrap;
	}
	.model-enttl-base,
	.model-enttl-white{
		text-wrap: nowrap;
	}
	.model-enttl span.space{
		margin-right: 0.3em;
	}
	.model-enttl-ohmi{
		display: inline;
	}
	.model-enttl-space{
		display: inline;
	}
	.location-right{
		width: 54.259%;
	}
}
@media screen and (min-width: 992px){
	.location-outer{
		margin-top: 10.2142rem;
		width: 93.333%;
		max-width: 1620px;
	}
	.location-left{
		width: 40.7408%;
		z-index: 2;
	}
	.location-left .inner{
		top: calc(21.3% + 8.571rem);
		padding-left: 21.212%;
	}
	.location-right{
		width: 59.2592%;
	}
}
@media screen and (min-width: 1200px){
	.model-enttl{
		font-size: 5.7857rem;
		margin-bottom: 3.51428rem;
	}
	.model-ttl{
		font-size: 2.428rem;
		margin-bottom: 0.6428rem;
	}
	.model-add{
		font-size: 1.1428rem;
	}
	.location-left .lp-btn{
		width: 360px;
	}
}
@media screen and (min-width: 1400px){
	.location-outer{
		margin-top: 14.285rem;
	}
	.location-left .inner{
		padding-left: 21.212%;
		top: calc(20.4% + 8.571rem);
	}
}
@media screen and (min-width: 1600px){
	.location-left .inner{
		top: calc(24.7% + 8.571rem);
	}
}
@media screen and (min-width: 1700px){
	.location-left .inner{
		top: calc(27% + 8.571rem);
	}
}
@media screen and (max-width: 767px){
	.location-outer .lp-title1{
		text-align: center;
		margin-bottom: 4.1857rem;
	}
	.model-enttl span.space{
		display: block;
	}
	.model-enttl-ohmi{
		display: block;
	}
	.model-enttl-space{
		display: none;
	}
	.location-left{
		text-align: center;
		width: 89.7435%;
		margin-right: auto;
		margin-left: auto;
		margin-top: -1.328rem;
	}
	.location-map{
		aspect-ratio: 35 / 23;
		width: 89.7435%;
		margin-right: auto;
		margin-left: auto;
	}
}
.location-img-pc, .location-img-sp{
	position: relative;
}
.location-pc-pagination{
	position: absolute;
	top: unset !important;
	bottom: -20px !important;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 6px;
	gap: 10px;
}
.location-pc-pagination .swiper-pagination-bullet{
	width: 5px;
	height: 5px;
	border: 1px solid #000;
	background-color: transparent;
	opacity: 1;
	margin: 0 !important;
}
.location-pc-pagination .swiper-pagination-bullet-active{
	width: 5px;
	height: 5px;
	border: 1px solid #000;
	background-color: #000;
}
@media screen and (min-width: 1200px){
	.location-pc-pagination{
		height: 10px;
		gap: 15px;
		bottom: -35px !important;
	}
	.location-pc-pagination .swiper-pagination-bullet{
		width: 10px;
		height: 10px;
	}
	.location-pc-pagination .swiper-pagination-bullet-active{
		width: 10px;
		height: 10px;
	}
}
/************************************************
  Contact Form
************************************************/
.contact-outer{
	margin-top: 6.7428rem;
	padding: 6.71428rem 0 7.1428rem;
}
.contact-inner{
	width: 89.7435%;
    margin-right: auto;
    margin-left: auto;
}
.contact-inner .lp-title1{
	margin-bottom: 3.8857rem;
}
.contact-left .lineup-end{
	margin-top: 0;
}
.tel-txt{
	letter-spacing: 0.05em;
}
.contact-left .tel-no a{
	color: #000;
}
.contact-left .tel-no a:hover{
	color: #000;
	text-decoration: none;
	opacity: 0.7;
}
@media screen and (min-width: 768px){
	.contact-flex{
		display: flex;
		align-items: flex-start;
	}
	.contact-left{
		width: 44.328%;
		top: 100px;
		position: sticky;
		text-align: left;
	}
	.contact-left .lineup-end{
		display: inline-block;
	}
	.contact-left .tel-no{
		margin-top: 2rem;
	}
	.contact-right{
		width: 55.67164%;
	}
}
@media screen and (min-width: 992px){
	.contact-outer{
		padding: 10.2857rem 0 10.71428rem;
		margin-top: 10.314285rem;
	}
	.contact-left{
		width: 34.32836%;
	}
	.contact-right{
		width: 65.67164%;
	}
}
@media screen and (min-width: 1200px){
	.contact-inner{
		width: 93.333%;
		max-width: 1340px;
	}
	.contact-inner .lp-title1{
		margin-bottom: 6.6428rem;
	}
	.contact-left{
		top: 150px;
	}
	.tel-txt{
		font-size: 1.1428rem;
	}
	.contact-left .tel-no{
		margin-top: 1.957rem;
	}
	.contact-left .opentime{
		margin-top: 1.371rem;
	}
	.contact-right{
		margin-top: -0.5rem;
	}
}
@media screen and (min-width: 1400px){
	.contact-outer{
		padding: 13.71428rem 0 14.2857rem;
		margin-top: 13.7857rem;
	}
}
@media screen and (max-width: 767px){
	.contact-left{
		position: relative;
		padding-bottom: 4.2857rem;
		margin-bottom: 1.857rem;
	}
	.contact-left::after{
		position: absolute;
		content: "";
		width: 100%;
		height: 1px;
		background-color: rgba(0,0,0,0.75);
		bottom: 0;
		left: 0;
	}
}

/************************************************  
  form
************************************************/
#form_customize input, #form_customize select
, #form_customize textarea, #form_customize input[type="date"] {
	background-color: #fff;
	border: none;
	padding: 1.17rem 1rem;
	font-size: 0.928rem;
	letter-spacing: 0.04em;
	font-weight: 500;
	margin: 0;
	width: 100%;
	line-height: 1.75;
	outline: none;
	resize: none;
}
#form_customize input:focus, #form_customize select:focus, #form_customize textarea:focus {
	outline: none;
}
#form_customize .form_block {
	position: relative;
	margin-bottom: 1.857rem;
	padding-bottom: 1.428rem;
}
#form_customize .form_block::after{
	position: absolute;
	content: "";
	width: 100%;
	height: 1px;
	background-color: rgba(180,180,180,0.5);
	bottom: 0;
	left: 0;
}
#form_customize .form_block.mb0 {
	margin-bottom: 0;
}
/* プレースホルダー */
#form_customize .wpcf7-form-control::placeholder {
	color: #c8c8c8;
	opacity: 1;
}
/* ラベル */
#form_customize .form_c_label {
	display: flex;
	align-items: flex-start;
	font-size: 1rem;
	letter-spacing: 0.05em;
	margin-bottom: 0.0714;
	line-height: 1;
	color: #000;
}
/* 必須 */
.form_label_req {
	display: block;
	background-color: #ef4e34;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	margin-left: 9px;
}
/* 入力してください */
#form_customize .wpcf7-not-valid-tip {
	font-size: 0.88rem;
	color: #ef4e34;
}
/* 個人情報 */
#form_customize .form_block.form_c_agree{
	padding-bottom: 0;
	margin-bottom: 4.0857rem;
	text-align: center;
}
#form_customize .form_block.form_c_agree::after{
	display: none;
}
#form_customize .form_check_box .wpcf7-list-item-label{
	letter-spacing: 0.05em;
}
#form_customize .form_c_agree .form_check_box .wpcf7-list-item {
	margin: 0;
	width: 100%;
}
#form_customize .form_block.form_c_agree .f_note{
	letter-spacing: 0.03em; 
	margin-bottom: 0;
}
#form_customize .form_block.form_c_agree .f_note a{
	color: #000;
	text-decoration: underline;
}
/* 送信ボタン */
#form_customize .form_block.form_c_submit{
	margin-bottom: 0;
	padding-bottom: 0;
}
#form_customize .form_block.form_c_submit::after{
	display: none;
}
#form_customize .form_block.form_c_submit p{
	margin-bottom: 0;
}
#form_customize .form_c_submit {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
	position: relative;
	text-align: center;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}
#form_customize .form_c_submit input {
	width: 100%;
	max-width: 260px;
	height: 56px;
	font-size: 1.0714rem;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: #000;
	color: #fff;
	border-radius: 80px;
	margin-bottom: 0;
	padding: 0;
	transition: .3s;
}
#form_customize .form_c_submit input:hover {
  opacity: 0.7;
  transition: .3s;
}
#form_customize .form_c_submit .wpcf7-spinner {
  display: none;
}
@media screen and (min-width: 768px){
	/* 個人情報 */
	#form_customize .form_block.form_c_agree{
		text-align: left;
	}
	/* 送信ボタン */
	#form_customize .form_c_submit{
		text-align: left;
	}
}
@media screen and (min-width: 1200px) {
	#form_customize input, #form_customize select, #form_customize textarea, #form_customize input[type="date"] {
		padding: 1.62rem 1.6rem;
		font-size: 1rem;
	}
	#form_customize .form_block {
		margin-bottom: 2.857rem;
		padding-bottom: 2.1428rem;
	}
	/* ラベル */
	#form_customize .form_c_label {
		margin-bottom: 0.0285rem;
		font-size: 1.1428rem;
	}
	/* 必須 */
	.form_label_req{
		font-size: 0.93rem;
	}
	/* 個人情報 */
	#form_customize .form_block.form_c_agree{
		margin-bottom: 3.8857rem;
	}
	#form_customize .form_c_agree .form_check_box .wpcf7-list-item-label{
		font-size: 1.1428rem;
	}
	#form_customize .form_block.form_c_agree .f_note{
		font-size: 1.1428rem;
	}
	/* 送信ボタン */
	#form_customize .form_c_submit input{
		max-width: 360px;
		height: 60px;
		font-size: 1.21428rem;
	}
}
/* CUSTOM SELECTBOX */
#form_customize select {
  color: #000;
  -webkit-appearance: none;
  appearance: none;
}
#form_customize select.selected {
  color: #000;
}
/* CUSTOM CHECKBOX */
#form_customize .form_check_box .wpcf7-form-control {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -0.5rem;
}
#form_customize .form_check_box .wpcf7-list-item {
  display: inline-block;
  width: auto;
  margin: 0 1.5rem 0.5rem 0;
}
#form_customize .form_check_box label {
  cursor: pointer;
  margin-bottom: 0;
}
#form_customize .form_check_box input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
#form_customize .form_check_box .wpcf7-list-item-label {
	position: relative;
	display: flex;
	align-items: center;
	margin-bottom: 0;
	font-size: 1rem;
	line-height: 1.75;
}
#form_customize .form_check_box .wpcf7-list-item-label::before, #form_customize .form_check_box .wpcf7-list-item-label::after {
  content: "";
  border-radius: inherit;
  transition: .2s;
}
#form_customize .form_check_box .wpcf7-list-item-label::before {
	left: 0;
	display: block;
	width: 40px;
	height: 40px;
	margin-right: 10px;
	background-color: #fff;
	border: none;
}
#form_customize .form_check_box .wpcf7-list-item-label::after {
	position: absolute;
	left: 16px;
	width: 9px;
	height: 9px;
	background-color: #000;
	opacity: 0;
}
#form_customize .form_check_box input:checked ~ .wpcf7-list-item-label::after {
	opacity: 1;
}
/* CUSTOM RADIO */
#form_customize .form_check_box.radio .wpcf7-list-item-label::before {
  border-radius: 50%;
}
#form_customize .form_check_box.radio .wpcf7-list-item-label::after {
  border-radius: 50%;
}
/* 日付 */
.form-input-Wishto-date {
  position: relative;
}
.form-input-Wishto-date .wpcf7-form-control-wrap {
  position: relative;
  display: block;
  width: 100%;
}
.form-input-Wishto-date input[type="date"] {
  position: relative;
  z-index: 1;
  background-color: transparent;
}
.form-input-Wishto-date .wpcf7-date-placeholder {
  position: absolute;
  top: 50%;
  left: 1rem;
  transform: translateY(-50%);
  z-index: 2;
  pointer-events: none;
  color: #000;
  opacity: 1;
	font-size: 0.928rem;
	letter-spacing: 0.04em;
  transition: opacity 0.2s;
}
input[type="date"]:focus + .wpcf7-date-placeholder {
  opacity: 0;
}
input[type="date"]:not(:placeholder-shown) + .wpcf7-date-placeholder {
  background: #fff;
  width: 250px;
  padding-left: 0.3rem;
}
@media screen and (min-width: 1200px) {
	.form-input-Wishto-date .wpcf7-date-placeholder{
		font-size: 1rem;
	}
  input[type="date"]:not(:placeholder-shown) + .wpcf7-date-placeholder {
    padding-left: 0.8rem;
  }
}
/*希望日時部分*/
.form-input-multiline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.form-input-multiline + .form-input-multiline {
  margin-top: 1em;
}
.form-input-Wishto-date {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.form-input-Wishto-date p{
	width: 100%;
	margin-bottom: 0;
}
.form-input-Wishto-date .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}
.form-input-Wishto-time {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.form-input-Wishto-time .wpcf7-form-control-wrap {
  display: block;
}
.form-input-tk {
  font-size: 0.875em;
  margin-top: 1.5em;
}
#form_customize .form-input-Wishto-date input[type="date"] {
  min-height: 56px;
  height: 56px;
  line-height: normal;
  box-sizing: border-box;
  -webkit-appearance: none;
  appearance: none;
}

#form_customize .form-input-Wishto-date input[type="date"]::-webkit-date-and-time-value {
  min-height: 1.75em;
  text-align: left;
}
@media screen and (min-width: 1200px){
	#form_customize .form-input-Wishto-date input[type="date"]{
		min-height: 70px;
		height: 70px;
	}
}
/************************************************  
  Footer
************************************************/
#footer{
	color: #fff;
	padding: 4.285rem 0;
}

.footer-container{
	width: 89.7435%;
	margin-right: auto;
	margin-left: auto;
	display: flex;
	flex-direction: column;
}
.footer-logo{
	display: inline-block;
	width: 180px;
	margin: 0 auto 3.2285rem;
}
.footer-logo a{
	display: block;
	transition: .3s;
}
.footer-logo svg{
	display: block;
	width: 100%;
	height: 100%;
}
.footer-logo .logo_color{
	fill: #fff;
}
.footer-sns{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.1428rem;
	letter-spacing: 0.04em;
	color: #fff;
	transition: .3s;
	margin-bottom: 3.1571rem;
}
.footer-sns svg{
	width: 18px;
	height: 18px;
	margin-right: 6px;
	display: block;
}
.footer-sns .insta_color{
	fill: #fff;
}
.footer-sns:hover{
	color: #fff;
	text-decoration: none;
	opacity: 0.7;
}
.footer-add{
	position: relative;
	line-height: 1;
	font-size: 0.928rem;
	margin-bottom: 4rem;
	padding: 1.357rem 0;
}
.footer-add::before, .footer-add::after{
	position: absolute;
	content: "";
	width: 100%;
	height: 1px;
	left: 0;
	background-color: rgba(140,140,140,0.5);
}
.footer-add::before{
	top: 0;
}
.footer-add::after{
	bottom: 0;
}
.footer-copy{
	display: block;
	margin: 0;
	font-size: 0.928rem;
	letter-spacing: 0.04em;
	line-height: 1;
	color: #c8c8c8;
}
@media screen and (min-width: 992px){
	#footer{
		padding: 5.714rem 0 3.4615rem;
	}
}
@media screen and (min-width: 1200px){
	.footer-container{
		width: 93.333%;
		max-width: 1340px;
	}
	.footer-logo{
		width: 260px;
		margin-bottom: 3.785rem;
	}
	.footer-sns{
		font-size: 1.28571rem;
		margin-bottom: 3.785rem;
	}
	.footer-sns svg{
		width: 20px;
		height: 20px;
		margin-right: 9px;
	}
	.footer-add{
		font-size: 1rem;
		padding: 1.6428rem 0;
	}
	.footer-copy{
		font-size: 1.0714rem;
	}
}
@media screen and (min-width: 1400px){
	#footer{
		padding: 7.1428rem 0 4.2857rem;
	}
}
#btn-gnav{
	display: none !important;
}
