@charset "UTF-8";



/* ------------------------------
	.fv
------------------------------ */
.fv{
	position: relative;
	z-index: 1;
	padding: 70px 0 80px;
	visibility: hidden;
	opacity: 0;
}
.fv.fade{
	visibility: visible;
	opacity: 1;
}

.fv_bg{
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	width: 100%;
	height: 760px;
	background: url(https://file003.shop-pro.jp/PA01461/237/img/index/fv_bg.png) no-repeat left top;
}

.mv{
	position: relative;
	z-index: 3;
	width: calc(50% + 540px);
	padding-left: 2px;
	margin-left: auto;
}
.mv .sp{
	display: none !important;
}

.fv_txt01{
	position: absolute;
	z-index: 4;
	top: 80px;
	right: calc(50% - 260px);
	text-transform: uppercase;
	font-size: 12.5rem;
	font-weight: 500;
	color: #fff;
	letter-spacing: 0.4em;
	line-height: 1.1;
	text-shadow: -10px 15px 18px rgba(0,0,0, 0.5);
}
.fv_txt01 .o{
	opacity: 0;
}
.fv_txt01 .mask{
	padding-left: 20px;
	padding-bottom: 20px;
	margin-left: -20px;
}

.fv_img{
	position: absolute;
	z-index: 5;
	top: 0;
	right: calc(50% - 140px);
	width: 96px;
}

.fv_txt02{
	position: absolute;
	z-index: 6;
	top: 360px;
	right: calc(50% - 90px);
	text-transform: uppercase;
	font-style: italic;
	color: #fff;
	letter-spacing: 0.6em;
	font-size: 4.6rem;
}
.fv_txt02 .mask{
	padding-left: 70px;
	background: url(https://file003.shop-pro.jp/PA01461/237/img/index/fv_ico01.png) no-repeat 2px center;
	background-size: 46px;
}

.fv_txt03 {
	position: absolute;
	z-index: 4;
	top: 415px;
	right: calc(50% - 100px);
	text-transform: uppercase;
	font-size: 12.5rem;
	font-weight: 500;
	color: #fff;
	letter-spacing: 0.4em;
	line-height: 1.1;
	text-shadow: -10px 15px 18px rgba(0,0,0, 0.5);
}
.fv_txt03 .mask {
	padding-left: 20px;
	padding-bottom: 20px;
	margin-left: -20px;
}


@media screen and (max-width: 768px){
	.fv{
		padding: 80px 0 25px;
	}

	.mv{
		width: 96%;
		padding-left: 0;
	}
	.mv .sp{
		display: block !important;
	}
	.mv .pc{
		display: none !important;
	}

	.mv .img{
		position: relative;
		height: 95vw;
		overflow: hidden;
		text-align: center;
	}
	.mv img{
		position: absolute;
		top: 0;
		right: 0;
		width: auto;
		height: 100%;
		min-width: 100%;
		min-height: 100%;
		max-width: inherit;
		object-fit: cover;
	}

	.fv .fv_bg{
		background-size: 60%;
		height: 90vw;
	}

	.fv .fv_txt01{
		top: 29.5vw;
		left: 2%;
        right: 0;
		font-size: 14vw;
	}
	.fv .fv_txt02{
		top: 62vw;
		left: 6%;
		right: initial;
		font-size: 6.5vw;
		min-height: 6.5vw;
	}
	.fv .fv_txt02 .mask{
		padding-left: 10vw;
		background-size: 6.5vw;
	}
    .fv .fv_txt03{
		top: 70vw;
		left: 2%;
		font-size: 14vw;
	}

	.fv_img{
		left: 71vw;
		width: 11.3vw;
	}
}



/* ------------------------------
	.fade
------------------------------ */
.fv .fv_img{
	-webkit-transition-property: opacity;
	transition-property: opacity;
	-webkit-transition-duration: 1s;
	transition-duration: 1s;
	-webkit-transition-timing-function: cubic-bezier(.215, .61, .355, 1);
	transition-timing-function: cubic-bezier(.215, .61, .355, 1);
	opacity: 0;
}

@keyframes mask{
	0%{-webkit-mask-position: 100% 0}
	100%{-webkit-mask-position:0 0}
}
@keyframes maskdown{
	0%{-webkit-mask-position: 0 100%}
	100%{-webkit-mask-position:0 0}
}

.fv .fv_bg{
	display: block;
  /*
	-webkit-mask-image: url('https://img21.shop-pro.jp/PA01461/237/etc/mask_img02.png?cmsp_timestamp=20201224090601');
	mask-image: url('https://img21.shop-pro.jp/PA01461/237/etc/mask_img02.png?cmsp_timestamp=20201224090601');
	-webkit-mask-size: 200% auto;
	mask-size: 200% auto;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
  */
	-webkit-transition-property: opacity;
}

.fv .mv{
	display: block;
  /*
	-webkit-mask-image: url('https://img21.shop-pro.jp/PA01461/237/etc/mask_img01.png?cmsp_timestamp=20201224090616');
	mask-image: url('https://img21.shop-pro.jp/PA01461/237/etc/mask_img01.png?cmsp_timestamp=20201224090616');
	-webkit-mask-size: 200% auto;
	mask-size: 200% auto;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
  */
	-webkit-transition-property: opacity;
}

.fv.fade .fv_txt01 .mask,
.fv.fade .fv_txt02 .mask,
.fv.fade .fv_txt03 .mask {
	display: block;
  /*
	-webkit-mask-image: url('https://img21.shop-pro.jp/PA01461/237/etc/mask_img01.png?cmsp_timestamp=20201224090616');
	mask-image: url('https://img21.shop-pro.jp/PA01461/237/etc/mask_img01.png?cmsp_timestamp=20201224090616');
	-webkit-mask-size: 200% auto;
	mask-size: 200% auto;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
  */
	opacity: 0;
	-webkit-transition-property: opacity;
}
.fv.fade .fv_bg{
	animation: maskdown 3s both cubic-bezier(0,0,.25,1);
	opacity: 1;
}
.fv.fade .mv{
	animation: mask 0.7s both cubic-bezier(0,0,.25,1);
	opacity: 1;
}
.fv.fade .fv_txt01 .mask,
.fv.fade .fv_txt02 .mask,
.fv.fade .fv_txt03 .mask {
	animation: mask 1s both cubic-bezier(0,0,.25,1);
	opacity: 1;
}


.fv.fade .fv_bg{
	animation-delay: 0.5s;
	transition-delay: 0.5s;
}
.fv.fade .mv{
	animation-delay: 2s;
	transition-delay: 2s;
}
.fv.fade .fv_txt01 .mask{
	transition-delay: 3.5s;
	animation-delay: 3.5s;
}
.fv.fade .fv_img{
	transition-delay: 4s;
	opacity: 1;
}
.fv.fade .fv_txt02 .mask{
	transition-delay: 4.5s;
	animation-delay: 4.5s;
}
.fv.fade .fv_txt03 .mask{
	transition-delay: 5.5s;
	animation-delay: 5.5s;
}

/* IE */
.ie .fv .fv_bg,
.ie .mv,
.ie .fv_txt01,
.ie .fv_txt02,
.ie .fv_txt03 {
	-webkit-transition-property: opacity;
	transition-property: opacity;
	-webkit-transition-duration: 1s;
	transition-duration: 1s;
	-webkit-transition-timing-function: cubic-bezier(.215, .61, .355, 1);
	transition-timing-function: cubic-bezier(.215, .61, .355, 1);
	opacity: 0;
}
.ie .fv.fade .fv_bg,
.ie .fv.fade .mv,
.ie .fv.fade .fv_txt01,
.ie .fv.fade .fv_txt02,
.ie .fv.fade .fv_txt03 {
	opacity: 1;
}


@media screen and (max-width: 768px){
	.fv{
		overflow: hidden;
	}

	.fv .mv{
		-webkit-transform: translate3d(-50px,0,0) scale(0.95);
		transform: translate3d(-50px,0,0) scale(0.95);
	}
}



/* ------------------------------
	.blog
------------------------------ */
.blog .wrap{
	display: flex;
}
.blog.inviewed-fade{
	-webkit-transform: translate3d(0,0,0) scale(1.05);
	transform: translate3d(0,0,0) scale(1.05);
	opacity: 0;
}
.blog.fade.inviewed-fade{
	-webkit-transform: translate3d(0,0,0) scale(1.0);
	transform: translate3d(0,0,0) scale(1.0);
	opacity: 1;
}

.blog .ttl{
	flex-shrink: 0;
	margin-right: 40px;
	font-size: 3.0rem;
	line-height: 1.1;
	letter-spacing: 0.2em;
}

.blog .blog_box{
	width: 100%;
}

.blog .blog_list{
	display: flex;
}

.blog .blog_list li{
	width: 265px;
}
.blog .blog_list li + li{
	margin-left: 70px;
}

.blog .blog_list a{
	display: flex;
	width: 100%;
}
@media screen and (min-width: 769px) {
	.blog .blog_list a:hover{
		opacity: 1;
	}
	.blog .blog_list a:hover .img img{
		-webkit-transform: translate3d(0,0,0) scale(1.2);
		transform: translate3d(0,0,0) scale(1.2);
		opacity: 0.7;
	}
}

.blog .blog_list .img{
	flex-shrink: 0;
	width: 70px;
	height: 70px;
	margin-right: 15px;
	overflow: hidden;
	background: #000;
}
.blog .blog_list .img img{
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
}

.blog .blog_list .txt_box{
	width: 100%;
}

.blog .blog_list .date{
	margin-bottom: 8px;
	font-size: 2.4rem;
	letter-spacing: 0.2em;
}

.blog .blog_list .txt{
	text-decoration: underline;
	font-size: 1.3rem;
	letter-spacing: 0.1em;
}
@media screen and (min-width: 769px){
	.blog .blog_list a:hover .txt{
		text-decoration: none;
	}
}

.blog .btn{
	margin-top: 40px;
}


@media screen and (max-width: 768px){
	.blog .wrap{
		flex-wrap: wrap;
	}

	.blog .ttl{
		width: 100%;
		margin-right: 0;
		margin-left: -2%;
		font-size: 2.4rem;
	}

	.blog .blog_list{
		flex-wrap: wrap;
		margin-top: 20px;
	}

	.blog .blog_list li{
		width: 100%;
	}
	.blog .blog_list li + li{
		margin-left: 0;
		margin-top: 25px;
	}

	.blog .blog_list .img{
		margin-right: 20px;
	}

	.blog .blog_list .date{
		margin-bottom: 5px;
		font-size: 1.6rem;
	}
}



/* ------------------------------
	.about
------------------------------ */
.about{
	position: relative;
	width: 100%;
	margin-top: 20px;
	padding-bottom: 100px;
}

.about .wrap{
	position: relative;
	z-index: 2;
}

.about .txt_box{
	position: relative;
	z-index: 5;
	padding-left: 150px;
	padding-top: 80px;
}

.about .ttl{
	flex-shrink: 0;
	margin-bottom: 15px;
	font-size: 7.2rem;
	letter-spacing: 0.4em;
}

.about .txt{
	line-height: 2.3;
	letter-spacing: 0.1em;
}

.about .btn{
	margin-top: 45px;
}

.about .bg01{
	position: absolute;
	top: 0;
	right: calc(50% + 325px);
	width: 402px;
	height: 560px;
	background: url(https://file003.shop-pro.jp/PA01461/237/img/index/about_bg01.png) no-repeat center top;
	background-size: 100%;
}
.about .bg02{
	position: absolute;
	top: 65px;
	left: calc(50% + 180px);
	width: 199px;
	height: 255px;
	background: url(https://file003.shop-pro.jp/PA01461/237/img/index/about_bg02.png) no-repeat center top;
	background-size: 100%;
}
.about .bg03{
	position: absolute;
	top: 140px;
	left: calc(50% + 320px);
	width: 241px;
	height: 312px;
	background: url(https://file003.shop-pro.jp/PA01461/237/img/index/about_bg03.png) no-repeat center top;
	background-size: 100%;
}


@media screen and (max-width: 768px){
	.about{
		padding-bottom: 80px;
		margin-top: 25px;
	}

	.about .txt_box{
		padding-left: 0;
		padding-top: 65px;
	}

	.about .ttl{
		font-size: 3.7rem;
		line-height: 1.1;
	}

	.about .bg01{
		right: -30px;
		width: 200px;
		height: 300px;
	}
	.about .bg02{
		top: 250px;
		right: 0;
		left: initial;
		width: 100px;
		height: 140px;
	}
	.about .bg03{
		top: initial;
		bottom: 0;
		left: 0;
		width: 120px;
		height: 145px;
	}

	.about .btn{
		margin-right: -2%;
	}
	.about .btn a{
		margin-left: auto;
	}
}



/* ------------------------------
	.school
------------------------------ */
.school{
	position: relative;
	width: 100%;
	padding: 80px 0 100px;
}

.school .wrap{
	position: relative;
	z-index: 2;
}

.school .school_logo{
	position: relative;
	z-index: 4;
	margin: 25px auto 30px;
	text-align: center;
	padding-left: 80px;
}
.school .school_logo img{
	width: 542px;
}

.school .txt{
	position: relative;
	z-index: 6;
	text-align: center;
	letter-spacing: 0.1em;
}

.school .txt.en{
	color: #fff;
	font-size: 4.0rem;
	letter-spacing: 0.4em;
}

.school .school_logo + .txt{
	margin-bottom: 10px;
	font-size: 3.2rem;
	font-weight: bold;
}

.school .btn{
	position: relative;
	z-index: 10;
	margin-top: 30px;
}

.school .img01{
	position: absolute;
	z-index: 5;
	top: 80px;
	right: calc(50% + 90px);
	width: 400px;
	height: 325px;
	background: url(https://file003.shop-pro.jp/PA01461/237/img/index/school_img01.png) no-repeat center top;
	background-size: 100%;
}

.school .bg01{
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	width: calc(50% + 75px);
	height: 320px;
	background: url(https://file003.shop-pro.jp/PA01461/237/img/index/school_bg01.png) no-repeat center top;
	background-size: cover;
}
.school .bg02{
	position: absolute;
	z-index: 2;
	top: 205px;
	right: calc(50% + 250px);
	width: 319px;
	height: 270px;
	background: url(https://file003.shop-pro.jp/PA01461/237/img/index/school_bg02.png) no-repeat center top;
	background-size: 100%;
}
.school .bg03{
	position: absolute;
	z-index: 3;
	top: 355px;
	left: calc(50% + 240px);
	width: 328px;
	height: 183px;
	background: url(https://file003.shop-pro.jp/PA01461/237/img/index/school_bg03.png) no-repeat center top;
	background-size: 100%;
}

.school.inview-fade{
	-webkit-transform: translate3d(0,0,0) scale(1.0);
	transform: translate3d(0,0,0) scale(1.0);
	opacity: 1;
}

.school.inview-fade .bg01,
.school.inview-fade .bg03{
	-webkit-transition-property: all;
	transition-property: all;
	-webkit-transition-duration: 2s;
	transition-duration: 2s;
	-webkit-transition-timing-function: transform 3000ms cubic-bezier(0.18, 1.01, 0.29, 1.04) 100ms, opacity 1000ms ease;
	transition-timing-function: transform 3000ms cubic-bezier(0.18, 1.01, 0.29, 1.04) 100ms, opacity 1000ms ease;
	-webkit-transform: translate3d(100px,0,0) scale(0.95);
	transform: translate3d(100px,0,0) scale(0.95);
	opacity: 0;
}

.school.inview-fade .bg02,
.school.inview-fade .img01{
	-webkit-transition-property: all;
	transition-property: all;
	-webkit-transition-duration: 2s;
	transition-duration: 2s;
	-webkit-transition-timing-function: transform 3000ms cubic-bezier(0.18, 1.01, 0.29, 1.04) 100ms, opacity 1000ms ease;
	transition-timing-function: transform 3000ms cubic-bezier(0.18, 1.01, 0.29, 1.04) 100ms, opacity 1000ms ease;
	-webkit-transform: translate3d(-100px,0,0) scale(0.95);
	transform: translate3d(-100px,0,0) scale(0.95);
	opacity: 0;
}

.school.inview-fade .btn{
	-webkit-transition-property: opacity, transform;
	transition-property: opacity, transform;
	-webkit-transition-duration: 2s;
	transition-duration: 2s;
	-webkit-transition-timing-function: cubic-bezier(.215, .61, .355, 1);
	transition-timing-function: cubic-bezier(.215, .61, .355, 1);
	-webkit-transform: translate3d(0,0,0) scale(1.05);
	transform: translate3d(0,0,0) scale(1.05);
	opacity: 0;
}

.school.inview-fade .txt.en,
.school.inview-fade .school_logo,
.school.inview-fade .school_logo + .txt,
.school.inview-fade .txt + .txt{
	-webkit-transition-property: all;
	transition-property: all;
	-webkit-transition-duration: 2s;
	transition-duration: 2s;
	-webkit-transition-timing-function: transform 3000ms cubic-bezier(0.18, 1.01, 0.29, 1.04) 100ms, opacity 1000ms ease;
	transition-timing-function: transform 3000ms cubic-bezier(0.18, 1.01, 0.29, 1.04) 100ms, opacity 1000ms ease;
	-webkit-transform: translate3d(0,100px,0) scale(0.95);
	transform: translate3d(0,100px,0) scale(0.95);
	opacity: 0;
}

.school.inviewed-fade .bg01,
.school.inviewed-fade .bg02,
.school.inviewed-fade .bg03,
.school.inviewed-fade .img01,
.school.inviewed-fade .btn,
.school.inviewed-fade .txt.en,
.school.inviewed-fade .school_logo,
.school.inviewed-fade .school_logo + .txt,
.school.inviewed-fade .txt + .txt{
	-webkit-transform: translate3d(0,0,0) scale(1.0);
	transform: translate3d(0,0,0) scale(1.0);
	opacity: 1;
}

.school.inview-fade .bg01{
	transition-delay: 0.3s;
}
.school.inview-fade .bg02{
	transition-delay: 0.6s;
}
.school.inview-fade .bg03{
	transition-delay: 0.9s;
}
.school.inview-fade .txt.en{
	transition-delay: 1.2s;
}
.school.inview-fade .school_logo{
	transition-delay: 1.5s;
}
.school.inview-fade .img01{
	transition-delay: 1.8s;
}
.school.inview-fade .school_logo + .txt{
	transition-delay: 2.2s;
}
.school.inview-fade .txt + .txt{
	transition-delay: 2.5s;
}
.school.inview-fade .btn{
	transition-delay: 3.5s;
}


@media screen and (max-width: 768px){
	.school{
		padding: 60px 0 40px;
	}

	.school .txt.en{
		font-size: 2.0rem;
		line-height: 1.2;
	}

	.school .school_logo{
		padding-left: 0;
		margin: 15px auto 20px;
	}
	.school .school_logo img{
		width: 80%;
		max-width: 300px;
	}

	.school .school_logo + .txt{
		font-size: 1.6rem;
	}
	.school .txt{
		font-size: 1.3rem;
		text-shadow: 1px 0 5px rgba(255,255,255,0.5);
	}

	.school .bg01{
		left: 0;
		margin: auto;
		width: 98%;
		max-width: 366px;
		height: 170px;
	}
	.school .bg02{
		top: 145px;
		right: calc(50% + 30px);
		width: 149px;
		background: url(https://file003.shop-pro.jp/PA01461/237/img/index/school_bg02_sp.png) no-repeat center top;
		background-size: 100%;
	}
	.school .bg03{
		top: 210px;
		left: calc(50% + 80px);
		width: 107px;
		background: url(https://file003.shop-pro.jp/PA01461/237/img/index/school_bg03_sp.png) no-repeat center top;
		background-size: 100%;
	}

	.school .img01{
		top: 195px;
		right: calc(50% + 30px);
		max-width: 235px;
		width: 55%;
	}

	.school.inview-fade .bg01,
	.school.inview-fade .bg03{
		-webkit-transform: translate3d(50px,0,0) scale(0.95);
		transform: translate3d(50px,0,0) scale(0.95);
	}

	.school.inview-fade .bg02,
	.school.inview-fade .img01{
		-webkit-transform: translate3d(-50px,0,0) scale(0.95);
		transform: translate3d(-50px,0,0) scale(0.95);
	}

	.school.inviewed-fade .bg01,
	.school.inviewed-fade .bg02,
	.school.inviewed-fade .bg03,
	.school.inviewed-fade .img01{
		-webkit-transform: translate3d(0,0,0) scale(1.0);
		transform: translate3d(0,0,0) scale(1.0);
	}
}



/* ------------------------------
	.product
------------------------------ */
.product{
	padding: 120px 0 50px;
    position: relative;
}
.product .wrap{
	position: relative;
	z-index: 2;
}
.product .ttl{
	position: relative;
	z-index: 2;
	padding-left: 35px;
	margin-bottom: 15px;
	line-height: 1;
}
.product .ttl .en{
	font-size: 7.2rem;
	letter-spacing: 0.4em;
}
.product .ttl .txt{
	margin-bottom: 20px;
	vertical-align: top;
	line-height: 2.5;
}
.product .btn{
	margin-top: 50px;
}
.product_slide{
	position: relative;
	/*margin-top: -45px;*/
}
.product_slide .slick-list{
	padding-left: calc(50% - 370px);
	padding-right: calc(50% - 370px);
}
.product_slide .product_item{
	width: 33.3333%;
	padding: 0 14px;
}
.product_slide .product_item a{
	display: block;
	outline: 0;
}
.product_slide .img,
.product_slide .img img{
	width: 100%;
}
.product_slide .img{
	overflow: hidden;
}
.product_slide .img img{
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
}
.product_area .product_slide,
.coming_txt {
    margin-left: calc(50% - 370px);
}
.coming_txt {
    font-size: 4.4rem;
    color: #fff;
    letter-spacing: 5px;
    text-align: center;
}
.product_area .product_slide .slick-list {
    padding-left: 0;
}
.product_sp {
    display: none;
}
.product_tit_box .ttl {
    font-size: 4rem;
    color: #fff;
    padding-left: 0;
    margin-bottom: 0;
    text-align: center;
}
.product_tit_box .ttl span {
    letter-spacing: 0.2em;
}
.product_tit_box .p_icon {
    text-align: center;
    margin-bottom: 20px;
}
.product_tit_box .p_icon img {
    width: 80px;
}

@media screen and (min-width: 1081px) {
    .product_tit_box {
        position: absolute;
        top: 40%;
        left: 12.5vw;
        transform: translateY(0) translateX(-50%);
        -webkit- transform: translateY(0) translateX(-50%);
    }
}

@media screen and (min-width: 1350px) {
    .product_tit_box {
        left: 10.5vw;
    }
}

@media screen and (min-width: 1130px) {
    .product_tit_box {
        left: 10vw;
    }
}

@media screen and (max-width: 1200px) {
    .product_tit_box .ttl {
        font-size: 3rem;
    }
}

@media screen and (max-width: 1080px) {
    .product_sp {
        display: block;
    }
    .product_pc {
        display: none;
    }
    .product_slide {
        margin-top: 30px;
    }
    .product_tit_box .p_icon,
    .product_tit_box .ttl {
        text-align: left;
        padding-left: 35px;
    }
}

@media screen and (min-width: 769px) {
	.product_slide a:hover{
		opacity: 1;
	}
	.product_slide a:hover .img img{
		-webkit-transform: translate3d(0,0,0) scale(1.1);
		transform: translate3d(0,0,0) scale(1.1);
	}
}

.product_slide .txt{
	margin-top: 10px;
	/*text-align: right;*/
	color: #fff;
	font-size: 2.5rem;
	line-height: 1.2;
	letter-spacing: 0.1em;
    margin-bottom: 5px;
}
.product_slide .txt_amount,
.product_slide .txt_price {
    font-size: 1.6rem;
    color: #fff;
}
.product_slide .txt_price {
    margin: 15px 0 10px;
    color: #fff;
}
.product_slide .txt_little {
    font-size: 1.4rem;
    line-height: 1.5;
    color: #fff;
}

.slick-arrow{
	position: absolute;
	z-index: 5;
	width: 112px;
	height: 85px;
	margin: auto;
	cursor: pointer;
	-webkit-transition: opacity .4s ease;
	transition: opacity .4s ease;
}
@media screen and (min-width: 769px) {
	.slick-arrow:hover{
		opacity: 0.6;
	}
}
.slick-arrow.slick-disabled{
	opacity: 0;
	visibility: hidden;
}


.product_slide .slick-arrow{
	top: 13.5vw;
}

.product_slide .slick-arrow.next_arrow{
	right: 3%;
	background: url(https://file003.shop-pro.jp/PA01461/237/img/common/ico_next_arw.png) no-repeat center center;
	background-size: 100%;
}
.product_slide .slick-arrow.prev_arrow{
	left: 3%;
	background: url(https://file003.shop-pro.jp/PA01461/237/img/common/ico_prev_arw.png) no-repeat center center;
	background-size: 100%;
}


@media screen and (max-width: 768px) {
	.product {
		padding: 50px 0 20px;
	}
    .product_top {
        padding-top: 0;
    }

    .product_tit_box .p_icon {
        padding-left: 0;
        margin-bottom: 10px;
    }
    .product .ttl {
        font-size: 2.5rem;
		display: inline-block;
		padding-left: 0;
		line-height: 1.3;
        margin-bottom: 15px;
	}
	.product .ttl .en{
		font-size: 3.7rem;
		line-height: 1.1;
	}

	.product_slide{
		margin-top: 0;
	}

	.product_slide .slick-list{
		padding-left: calc(4% - 14px);
		padding-right: 40%;
	}

	.product_slide .product_item{
		width: 60%;
		padding: 0 14px;
	}

	.slick-arrow{
		width: 19px;
		height: 35px;
	}

	.product_slide .slick-arrow{
		top: -55px;
	}
	.product_slide .slick-arrow.prev_arrow{
		left: initial;
		right: calc(4% + 70px);
		background: url(https://file003.shop-pro.jp/PA01461/237/img/common/ico_prev_arw_sp.png) no-repeat center center;
		background-size: 100%;
	}
	.product_slide .slick-arrow.next_arrow{
		right: 4%;
		left: initial;
		background: url(https://file003.shop-pro.jp/PA01461/237/img/common/ico_next_arw_sp.png) no-repeat center center;
		background-size: 100%;
	}

	.product_slide .txt{
		font-size: 1.4rem;
	}
	.product .btn{
		margin-top: 20px;
	}
    .product .wrap {
        z-index: 0;
    }
    .product_area .product_slide,
    .coming_txt {
        margin-left: 0;
    }
    .coming_txt {
        font-size: 3rem;
    }
    .product_area .product_slide .slick-list {
        padding-left: calc(4% - 14px);
    }
    .product_tit_box .p_icon img {
        width: 60px;
    }
}

/* ------------------------------
	.movie
------------------------------ */
.movie{
	padding: 80px 0;
}

.movie .ttl{
	display: inline-block;
	padding-right: 45px;
	background: url(https://file003.shop-pro.jp/PA01461/237/img/index/ico_movie_ttl.png) no-repeat right center;
	background-size: 33px;
	color: #fff;
	font-size: 3.0rem;
	letter-spacing: 0.2em;
	line-height: 1;
}

.movie .btn{
	margin-top: 55px;
}

.movie_slide{
	position: relative;
	margin-top: 45px;
	outline: 0;
}
.movie_slide div:focus{
	outline: 0;
	bottom: 0;
}

.movie_slide .slick-list{
	padding-left: calc(25% - 14px);
	padding-right: calc(25% - 14px);
}

.movie_slide .movie_item{
	width: 50%;
	padding: 0 14px;
}

.movie_slide .movie_item a{
	display: block;
	outline: 0;
}

.movie_slide .img,
.movie_slide .img img{
	width: 100%;
}

.movie_slide .slick-arrow{
	top: 11vw;
	margin: 0;
}

.movie_slide .slick-arrow.prev_arrow{
	left: 3%;
	background: url(https://file003.shop-pro.jp/PA01461/237/img/common/ico_prev_arw_wh.png) no-repeat center center;
	background-size: 100%;
}
.movie_slide .slick-arrow.next_arrow{
	right: 3%;
	background: url(https://file003.shop-pro.jp/PA01461/237/img/common/ico_next_arw_wh.png) no-repeat center center;
	background-size: 100%;
}

.movie_slide .movie_box{
	position: relative;
	width: 100%;
	min-height: 27.7vw;
}

.movie_slide .movie_thumb::before{
	position: absolute;
	z-index: 3;
	top: 0;
	left: 0;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: #000;
	opacity: 0.4;
	pointer-events: none;
}
.movie_slide .slick-current .movie_thumb::before{
	opacity: 1;
	background: url(https://file003.shop-pro.jp/PA01461/237/img/common/ico_movie_play.png) no-repeat center center;
	background-size: 98px;
}

.movie_slide .movie_thumb,
.movie_slide .movie_thumb img{
	position: relative;
	z-index: 2;
	width: 100%;
	pointer-events: none;
}
.movie_slide .movie_thumb.none{
	opacity: 0;
	visibility: hidden;
}
.movie_slide .slick-current .movie_thumb{
	cursor: pointer;
	pointer-events: auto;
}
.movie_slide .slick-current .movie_thumb.none::before{
	opacity: 0;
}

.movie_slide .movie_box iframe{
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	border: 0;
	pointer-events: none;
}
.movie_slide .slick-current .movie_box iframe{
	pointer-events: auto;
}

.movie_slide .txt{
	margin-top: 25px;
	font-size: 1.4rem;
}


@media screen and (max-width: 768px){
	.movie{
		padding: 50px 0 45px;
	}

	.movie .ttl{
		padding-right: 35px;
		font-size: 2.4rem;
		background-size: 25px;
	}

	.movie_slide{
		margin-top: 20px;
	}

	.movie_slide .movie_item{
		padding: 0 6px;
	}

	.movie_slide .movie_box{
		min-height: 51vw;
	}

	.movie_slide .slick-list{
		padding-left: calc(4% - 3px);
		padding-right: calc(4% - 3px);
	}

	.movie_slide .slick-arrow{
		top: -55px;
	}
	.movie_slide .slick-arrow.prev_arrow{
		left: initial;
		right: calc(4% + 70px);
		background: url(https://file003.shop-pro.jp/PA01461/237/img/common/ico_prev_arw_sp.png) no-repeat center center;
		background-size: 100%;
	}
	.movie_slide .slick-arrow.next_arrow{
		right: 4%;
		left: initial;
		background: url(https://file003.shop-pro.jp/PA01461/237/img/common/ico_next_arw_sp.png) no-repeat center center;
		background-size: 100%;
	}

	.movie_slide .slick-current .movie_thumb::before{
		background-size: 60px;
	}

	.movie_slide .txt{
		font-size: 1.3rem;
	}

	.movie .btn{
		margin-top: 20px;
	}
}



/* ------------------------------
	.insta
------------------------------ */
.insta .ttl{
	margin-bottom: 35px;
	color: #fff;
	font-size: 3.0rem;
	letter-spacing: 0.2em;
}

.insta_wrap ul{
	display: flex;
	flex-wrap: wrap;
}

.insta_wrap .insta_item{
	width: 25%;
}
.insta_wrap .insta_item img{
	width: 100%;
}


@media screen and (max-width: 768px){
	.insta .ttl{
		margin-bottom: 20px;
		font-size: 2.4rem;
	}

	.insta_wrap .insta_item{
		width: calc(33.3333% - 2px);
	}
	.insta_wrap .insta_item + .insta_item{
		margin-left: 3px;
	}
	.insta_wrap .insta_item:nth-child(3n + 1){
		margin-left: 0;
	}
	.insta_wrap .insta_item:nth-child(n + 4){
		margin-top: 3px;
	}
}



/* ------------------------------
	.explanation
------------------------------ */
.explanation{
	margin: 140px 0 65px;
}
.explanation .ttl{
	position: relative;
	z-index: 2;
	margin-bottom: 30px;
	line-height: 1;
}
.explanation .ttl .en{
	font-size: 7.2rem;
	letter-spacing: 0.4em;
}
.explanation .ttl .txt{
	vertical-align: top;
	line-height: 2.5;
}

.explanation .txt{
	line-height: 2.3;
	letter-spacing: 0.1em;
}

.explanation_box{
	position: relative;
	padding: 60px 0 50px;
	margin: 40px auto 0;
	overflow: hidden;
}
.explanation_box .bg_box{
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	height: 62vw;
	min-height: 200vh;
	background: url(https://file003.shop-pro.jp/PA01461/237/img/index/explanation_bg01.png) no-repeat center center;
	background-size: cover;
}

.explanation_box .wrap{
	position: relative;
	z-index: 2;
}

.explanation_box .txt{
	color: #fff;
}

.explanation_box .box_ttl{
	margin-bottom: 10px;
	color: #fff;
	font-size: 2.4rem;
	letter-spacing: 0.05em;
}
.explanation_box .box_ttl span{
	font-size: 4.8rem;
	vertical-align: middle;
}

.explanation_list{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 75px;
}

.explanation_list li{
	width: 31%;
	padding: 10px 0 10px 75px;
	margin-top: 15px;
	border-bottom: 1px solid #fff;
}

.explanation_list li + li:not(:nth-child(3n + 1)){
	margin-left: 3.5%;
}
.explanation_list li:nth-child(n + 4){
	margin-top: 20px;
}

.explanation_list li .num{
	margin-bottom: 10px;
	font-size: 1.0rem;
	color: #fff;
}

.explanation_list li .txt{
	display: flex;
	align-items: center;
	min-height: 2.8em;
	font-size: 1.8rem;
	line-height: 1.4;
}

.explanation_list li:nth-child(1){
	background: url(https://file003.shop-pro.jp/PA01461/237/img/index/explanation_ico01.png) no-repeat 3px center;
	background-size: 45px;
}
.explanation_list li:nth-child(2){
	background: url(https://file003.shop-pro.jp/PA01461/237/img/index/explanation_ico02.png) no-repeat 3px center;
	background-size: 43px;
}
.explanation_list li:nth-child(3){
	background: url(https://file003.shop-pro.jp/PA01461/237/img/index/explanation_ico03.png) no-repeat 3px center;
	background-size: 54px;
}
.explanation_list li:nth-child(4){
	background: url(https://file003.shop-pro.jp/PA01461/237/img/index/explanation_ico04.png) no-repeat 3px center;
	background-size: 39px;
}
.explanation_list li:nth-child(5){
	background: url(https://file003.shop-pro.jp/PA01461/237/img/index/explanation_ico05.png) no-repeat 3px center;
	background-size: 41px;
}
.explanation_list li:nth-child(6){
	background: url(https://file003.shop-pro.jp/PA01461/237/img/index/explanation_ico06.png) no-repeat 3px center;
	background-size: 47px;
}
.explanation_list li:nth-child(7){
	background: url(https://file003.shop-pro.jp/PA01461/237/img/index/explanation_ico07.png) no-repeat 3px center;
	background-size: 46px;
}
.explanation_list li:nth-child(8){
	background: url(https://file003.shop-pro.jp/PA01461/237/img/index/explanation_ico08.png) no-repeat 3px center;
	background-size: 53px;
}

.explanation .flex .fukidashi{
	position: relative;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 360px;
	height: 55px;
	margin-right: 25px;
	border-radius: 30px;
	background: #b5b3cf;
	letter-spacing: 0.1em;
	font-size: 1.9rem;
}
.explanation .flex .fukidashi span{
	position: relative;
	z-index: 2;
}
.explanation .flex .fukidashi::before{
	position: absolute;
	z-index: 1;
	bottom: -15px;
	left: 10px;
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-top: 20px solid #b5b3cf;
	border-bottom: 20px solid transparent;
	border-right: 20px solid #b5b3cf;
	border-left: 20px solid transparent;
}

.explanation .flex ul{
	display: flex;
	flex-wrap: wrap;
}
.explanation .flex ul .txt{
	font-size: 1.8rem;
}
.explanation .flex ul .txt::before{
	content: "‘¦";
}
.explanation .flex ul .txt:nth-child(2n){
	margin-left: 1em;
}

@media screen and (max-width: 1200px) {
	.explanation_box{
		background: url(https://file003.shop-pro.jp/PA01461/237/img/index/explanation_bg01.png) no-repeat center center;
		background-size: cover;
		background-attachment: fixed;
	}
	.explanation_box .bg_box{
		display: none;
	}
}

@media screen and (max-width: 768px){
	.explanation{
		margin: 50px 0 30px;
	}

	.explanation .ttl{
		display: flex;
		flex-direction: column;
		padding-left: 0;
		margin-bottom: 20px;
		line-height: 1.3;
	}
	.explanation .ttl .en{
		order: 1;
		font-size: 3.7rem;
		line-height: 1.1;
	}
	.explanation .ttl .txt{
		order: 2;
	}

	.explanation_box{
		padding: 40px 0 35px;
		background-attachment: scroll;
	}

	.explanation_box .box_ttl{
		font-size: 1.6rem;
		line-height: 1.6;
	}
	.explanation_box .box_ttl span{
		font-size: 2.0rem;
		line-height: 1;
	}

	.explanation_list{
		margin-bottom: 50px;
	}

	.explanation_list li{
		width: 100%;
		padding-left: 65px;
	}
	.explanation_list li + li{
		margin-top: 10px;
	}
	.explanation_list li + li:not(:nth-child(3n + 1)){
		margin-left: 0;
	}
	.explanation_list li:nth-child(n + 4){
		margin-top: 20px;
		margin-top: 10px;
	}

	.explanation_list li .txt{
		font-size: 1.4rem;
	}

	.explanation_list li:nth-child(1){
		background-size: 40px;
	}
	.explanation_list li:nth-child(2){
		background-size: 38px;
	}
	.explanation_list li:nth-child(3){
		background-size: 49px;
	}
	.explanation_list li:nth-child(4){
		background-size: 34px;
	}
	.explanation_list li:nth-child(5){
		background-size: 36px;
	}
	.explanation_list li:nth-child(6){
		background-size: 42px;
	}
	.explanation_list li:nth-child(7){
		background-size: 41px;
	}
	.explanation_list li:nth-child(8){
		background-size: 48px;
	}

	.explanation .flex{
		flex-wrap: wrap;
	}

	.explanation .flex .fukidashi{
		max-width: 300px;
		width: 100%;
		height: 45px;
		margin-bottom: 25px;
		font-size: 1.6rem;
	}

	.explanation .flex ul{
		width: 100%;
	}

	.explanation .flex li{
		width: 100%;
	}
	.explanation .flex ul .txt{
		font-size: 1.4rem;
	}
	.explanation .flex ul .txt:nth-child(2n){
		margin-left: 0;
	}
}



/* ------------------------------
	.calendar
------------------------------ */
.calendar_wrap .txt{
	margin-bottom: 60px;
	color: #fff;
	line-height: 2;
	letter-spacing: 0.1em;
	font-size: 1.4rem;
}

.calendar_box{
	width: 100%;
	max-width: 650px;
	padding: 20px 0 0;
	margin: 0 auto;
	background: #2b2b2b;
	border-radius: 5px;
	overflow: hidden;
}

.calendar{
	display: none;
}
.calendar.active{
	display: block;
}

.calendar_head{
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 40px;
	background: #fff;
}

.calendar_head .en{
	font-size: 2.4rem;
	letter-spacing: 0.1em;
}

.calendar_head .calendar_btn,
.calendar_head .calendar_btn a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 140px;
	height: 100%;
	background: #bababa;
	color: #fff;
}
.calendar_head .calendar_btn{
	background: #2b2b2b;
	border-top: 1px solid #bababa;
	border-bottom: 1px solid #bababa;
}

.calendar_head .prev a::before{
	content: "&#9664;";
	font-size: 1.0rem;
	margin-right: 1em;
}
.calendar_head .next a::after{
	content: "&#9654;";
	font-size: 1.0rem;
	margin-left: 1em;
}

.calendar_box table{
	width: 100%;
	table-layout: fixed;
}

.calendar_box th{
	padding: 10px 8px;
	color: #bababa;
	font-size: 1.4rem;
	line-height: 1.3;
	text-align: right;
}

.calendar_box td{
	position: relative;
	height: 60px;
	padding: 10px;
	border-top: 1px solid #5c5c5c;
	color: #fff;
	font-family: "futura-pt-condensed", serif;
	font-size: 1.8rem;
	text-align: right;
	vertical-align: top;
}
.calendar_box td + td{
	border-left: 1px solid #5c5c5c;
}

.calendar_box td.ok::after,
.calendar_box td.no::after{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	content: "";
	display: block;
}
.calendar_box td.ok::after{
	width: 17px;
	height: 17px;
	background: url(https://file003.shop-pro.jp/PA01461/237/img/index/calendar_ok.png) no-repeat center center;
	background-size: 100%;
}
.calendar_box td.no::after{
	width: 12px;
	height: 12px;
	background: url(https://file003.shop-pro.jp/PA01461/237/img/index/calendar_no.png) no-repeat center center;
	background-size: 100%;
}

.ie .calendar_box td.ok::after,
.ie .calendar_box td.no::after{
	top: auto;
	bottom: auto;
}


@media screen and (max-width: 768px){
	.calendar_wrap .txt{
		margin-bottom: 30px;
	}

	.calendar_head{
		height: 35px;
	}

	.calendar_head .en{
		font-size: 1.8rem;
	}

	.calendar_head .calendar_btn,
	.calendar_head .calendar_btn a{
		width: 95px;
	}

	.calendar_head .prev a::before{
		margin-right: 0.5em;
	}
	.calendar_head .next a::after{
		margin-left: 0.5em;
	}

	.calendar_box th{
		padding: 7px;
		font-size: 1.2rem;
	}

	.calendar_box td{
		padding: 7px;
		height: 50px;
		font-size: 1.4rem;
	}
	.calendar_box td.ok::after,
	.calendar_box td.no::after{
		top: 12px;
	}
	.calendar_box td.ok::after{
		width: 12px;
		height: 12px;
	}
}



/* ------------------------------
	.mail_form
------------------------------ */
.mail_form{
	padding: 75px 0 50px;
}

.mail_form .ttl{
	margin-bottom: 40px;
	color: #fff;
	font-size: 3.0rem;
	letter-spacing: 0.2em;
}

.mail_form .ttl + .btn a{
	width: 390px;
	height: 60px;
	margin: 0 auto;
	align-items: center;
	justify-content: center;
	border: 2px solid #fff;
	background: rgba(255,255,255, 0.25);
	font-weight: bold;
	text-align: center;
	font-size: 1.6rem;
	letter-spacing: 0.1em;
}

.mail_form .form_box{
	width: 100%;
	max-width: 680px;
	margin: 0 auto;
}

.mail_form .form_box > div + div{
	margin-top: 60px;
	padding-top: 50px;
	border-top: 2px solid #fff;
}

.mail_form dl + dl{
	margin-top: 50px;
}

.mail_form dt{
	margin-bottom: 10px;
	color: #fff;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	line-height: 1.6;
}
.mail_form dt .req{
	color: #ca0000;
	margin-left: 0.5em;
}
.mail_form dt .req.min{
	font-size: 1.2rem;
}

.mail_form dd{
	width: 100%;
}
.mail_form .half_box{
	width: 55%;
}

.mail_form input:not([type="radio"]){
	width: 100%;
	height: 75px;
	padding: 0 15px;
	background: #d1e8f5;
	font-size: 1.6rem;
}

.mail_form textarea{
	width: 100%;
	height: 290px;
	padding: 10px 15px;
	background: #d1e8f5;
	word-break: break-all;
}

.mail_form .radio_box{
	display: flex;
	padding: 60px 0;
}
.mail_form .radio_box.box1{
	justify-content: space-between;
}
.mail_form .radio_box.box2 label:not(:first-child){
	margin-left: 40px;
}

.mail_form label{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-right: 35px;
	cursor: pointer;
	color: #fff;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
}

.mail_form input[type="radio"]{
	margin: 0;
	border: 0;
	visibility: hidden;
	width: 1px;
}
.mail_form .check{
	position: relative;
	width: 30px;
	height: 30px;
	margin-right: 15px;
	background: #d1e8f5;
	cursor: pointer;
}
.mail_form .check::before{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 2px;
	margin: auto;
	content: "";
	display: none;
	width: 12px;
	height: 7px;
	transform: rotate(-40deg);
	border-left: 3px solid #111;
	border-bottom: 3px solid #111;
}
.mail_form input[type="radio"]:checked + .check::before{
	display: block;
}

.mail_form .ico_post{
	position: relative;
}
.mail_form .ico_post input{
	padding-left: 45px;
}
.mail_form .ico_post::before{
	position: absolute;
	top: 0;
	left: 15px;
	bottom: 0;
	margin: auto;
	display: flex;
	align-items: center;
	content: "’©";
	font-weight: bold;
}

.mail_form .ico_people{
	position: relative;
}
.mail_form .ico_people input{
	padding-right: 50px;
}
.mail_form .ico_people::before{
	position: absolute;
	top: 0;
	right: 20px;
	bottom: 0;
	margin: auto;
	display: flex;
	align-items: center;
	content: "ΏΝ";
	font-weight: bold;
}

.mail_form .txt{
	margin-bottom: 45px;
	color: #fff;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
}

.form_btn{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 178px;
	height: 44px;
	margin-top: 30px;
	margin-left: auto;
	background: #fff;
	color: #3a87ad;
	font-size: 1.4rem;
	line-height: 1.1;
	letter-spacing: 0.5em;
	padding-left: 0.5em;
	overflow: hidden;
}
.form_btn:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #3a87ad;
	-webkit-transform: translate3d(0,101%,0) skewY(13.6deg);
	transform: translate3d(0,101%,0) skewY(13.6deg);
	-webkit-transform-origin: 0 0;
	transform-origin: 0 0;
}
@media screen and (min-width: 769px) {
	.form_btn:hover{
		opacity: 1;
	}
	.form_btn:hover:after {
		-webkit-transition: -webkit-transform .65s cubic-bezier(.165,.84,.44,1) 0s;
		transition: -webkit-transform .65s cubic-bezier(.165,.84,.44,1) 0s;
		transition: transform .65s cubic-bezier(.165,.84,.44,1) 0s;
		transition: transform .65s cubic-bezier(.165,.84,.44,1) 0s,-webkit-transform .65s cubic-bezier(.165,.84,.44,1) 0s;
		-webkit-transform: translate3d(0,-260%,0) skewY(13.6deg);
		transform: translate3d(0,-260%,0) skewY(13.6deg);
	}
}


@media screen and (max-width: 768px){
	.mail_form{
		padding: 50px 0;
	}

	.mail_form .ttl{
		margin-bottom: 20px;
		font-size: 2.4rem;
		text-align: left;
	}

	.mail_form .ttl + .btn a{
		width: 100%;
		height: 45px;
		font-size: 1.4rem;
	}
	.mail_form .ttl + .btn a span{
		font-size: 1.2rem;
	}

	.mail_form .radio_box{
		flex-direction: column;
		padding: 25px 0;
	}

	.mail_form .radio_box label{
		justify-content: flex-start;
		margin-right: 0;
		font-size: 1.3rem;
	}
	.mail_form .radio_box label + label{
		margin-top: 15px;
	}
	.mail_form .radio_box.box2 label:not(:first-child){
		margin-left: 0;
	}

	.mail_form dl + dl{
		margin-top: 20px;
	}

	.mail_form dt{
		font-size: 1.3rem;
	}

	.mail_form input:not([type="radio"]){
		height: 45px;
		padding: 0 10px;
		font-size: 1.3rem;
	}

	.mail_form .ico_post input{
		padding-left: 30px;
	}
	.mail_form .ico_post::before{
		left: 10px;
		font-size: 1.3rem;
	}

	.mail_form .ico_people input{
		padding-right: 30px;
	}
	.mail_form .ico_people::before{
		right: 10px;
		font-size: 1.3rem;
	}

	.mail_form .form_box > div + div{
		margin-top: 30px;
		padding-top: 25px;
	}
	.mail_form .txt{
		margin-bottom: 20px;
		font-size: 1.3rem;
	}
	.mail_form dt .req.min{
		font-size: 1.1rem;
	}

	.mail_form textarea{
		height: 150px;
		padding: 10px;
		font-size: 1.3rem;
	}

	.form_btn{
		height: 30px;
		font-size: 1.3rem;
	}
}



/* ------------------------------
	.faq
------------------------------ */
.faq .wrap{
	position: relative;
	padding-bottom: 50px;
}

.faq .ttl{
	position: absolute;
	top: 0;
	left: 0;
	color: #fff;
	font-size: 3.0rem;
	letter-spacing: 0.2em;
}

.faq_box{
	width: 100%;
	max-width: 680px;
	margin: 0 auto;
}

.faq_box dl + dl{
	margin-top: 10px;
}

.faq_box dt,
.faq_box dd{
	color: #fff;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
}

.faq_box dt{
	position: relative;
	padding: 15px 25px 15px 0;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	line-height: 2;
}

.faq_box dd{
	padding: 10px 0;
	margin-top: 5px;
	line-height: 2;
	-webkit-transition: opacity 1s ease;
	transition: opacity 1s ease;
	opacity: 0;
}
.faq_box .accordion_head.open + dd{
	opacity: 1;
}

.faq_box .accordion_head .ico,
.faq_box .accordion_head .ico span{
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 20px;
	height: 4px;
	background: #fff;
	transition: all 0.5s ease-out;
}

.faq_box .accordion_head .ico{
	right: 0;
}
.faq_box .accordion_head .ico span{
	right: 0;
	transform: rotate(-90deg);
}
.faq_box .accordion_head.open .ico span{
	transform: rotate(0deg);
}

.faq_box .accordion_box.open{
	display: block;
}


@media screen and (max-width: 768px){
	.faq .wrap{
		padding-bottom: 30px;
	}

	.faq .ttl{
		position: relative;
		margin-bottom: 25px;
		font-size: 2.4rem;
	}

	.faq_box .accordion_head .ico,
	.faq_box .accordion_head .ico span{
		width: 15px;
	}

	.faq_box dt,
	.faq_box dd{
		font-size: 1.3rem;
	}
}

/* ------------------------------
	.lineup
------------------------------ */
.lineup .ttl {
    flex-shrink: 0;
    padding-left: 35px;
    margin-bottom: 15px;
    font-size: 10rem;
    letter-spacing: 0.4em;
    text-align: center;
}
.product_other {
    position: relative;
    top: -85px;
}
.btn-all a {
    width: 95px;
    height: 40px;
    font-size: 2.4rem;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    padding: 0;
}

@media screen and (max-width: 768px) {
    .lineup .ttl {
        padding-left: 0;
        font-size: 3.7rem;
        text-align: left;
    }
    .product_other {
        top: -49px;
    }
    .btn-all a {
        font-size: 1.8rem;
        height: 30px;
        border-radius: 15px;
    }
}
