@charset "utf-8";

@media print {
	html, body {
		width: 1000px;
	}
	main {
		margin: 0 !important;
	}
}
:root {
	--animate-duration: 1500ms;
	--animate-delay: 0.9s;
}
.fv .animate__animated.animate__fadeIn {
	--animate-duration: 3s;
}


/* 背景固定レイヤー（PC/Android/iOS対応） */
.bgFixedLayer {
	position: relative;
	max-width: 750px;
	margin: 0 auto;
}
.bgFixedLayer .bg {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 auto;
	max-width: 750px;
	width: 100%;
	height: 100vh;
	z-index: -1;
	background-image: url('../images/fixed_bg.webp');
	background-repeat: no-repeat;
	background-size: cover;
	background-position: top center;
}

#contents {
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	text-align: center;
	max-width: 750px;
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
}

#lp_main a {
	display: block;
}
#lp_main img {
	max-width: 100%;
	margin: auto;
	vertical-align: bottom;
}
#lp_main .sp {
	display: block;
	max-width: 100%;
}

@media print, screen and (min-width: 640px) {
	#lp_main a:hover img {
        opacity: 0.75;
    }
}
.cta_btn {
	padding-bottom: 6.66%;
}
.fv{
	position: relative;
}
.mov_wrap{
	position: relative;
	width: 100%;
	line-height: 0;
}
.mov_wrap .movie{
	position: absolute;
	margin: auto;
	padding-bottom: 100%;
	height: 0;
	overflow: hidden;
	max-width: 608px;
}
.mov_wrap .movie iframe {
	position: absolute;
	top: 0;
	left: 0;
}
@media screen and (max-width: 749px){
	.mov_wrap .mov01{
		padding-bottom: 61.55%;
	}
	.mov_wrap .mov02{
		padding-bottom: 60.5%;
	}
	.mov_wrap .mov03{
		padding-bottom: 81%;
	}
	.mov_wrap .mov04{
		padding-bottom: 60.7%;
	}
	.mov_wrap .movie iframe {
		width: 100%!important;
		height: 100%!important;
	}
}
.mov01 {
	width: 82%;
    left: 9%;
    top: 12%;
}
.mov02 {
	width: 81%;
    left: 9.5%;
    top: 42.5%;
}
.mov03 {
	width: 81%;
    left: 9%;
    top: 32.5%;
}
.mov04 {
	width: 81%;
    left: 9%;
    top: 35%;
}
.sec01 h2{
	position: relative;
	z-index: 2;
}
.sec01 .mov_wrap {
	margin-top: -5.2%;
}
.cta-area {
	position: relative;
	margin-top: -12%;
	z-index: 3;
}
.cta-area > div {
	background: #0169c1;
	padding-bottom: 9.99%;
}

.sec02{
	position: relative;
}
.sec02 h2{
	position: absolute;
	left: 0;
	right: 0;
	top: 6.66%;
	margin: auto;
	width: 100%;
}
.merit{
	position: relative;
    margin-top: -30%;
}
.merit_inner{
	background: center top / cover no-repeat url("../images/merit_bg.webp");
	padding: 6.66%;
}
.merit ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	gap: 3.33%;
}
.merit ul li{
	width: 48%;
	margin-bottom: 3.33%;
}
.merit ul li:nth-child(1){
	animation-delay: .3s;
}
.merit ul li:nth-child(2){
	animation-delay: .6s;
}
.merit ul li:nth-child(3){
	animation-delay: .6s;
}
.merit ul li:nth-child(4){
	animation-delay: .9s;
}

.feature{
	position: relative;
	background: #b2dae4;
}
.feature > img{
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: 0!important;
	z-index: 1;
	width: 100%;
}
.feature_inner{
	position: relative;
	margin: auto;
	width: 100%;
	z-index: 3;
}
.product01 .feature_inner{
	padding-top: 4.44%;
}
.product01 .recommended ul li:nth-child(1){
	animation-delay: .3s;
}
.product01 .recommended ul li:nth-child(2){
	animation-delay: .6s;
}
.product01 .recommended ul li:nth-child(3){
	animation-delay: .6s;
}

.product02 .feature_inner{
	padding-top: 38%;
	padding-bottom: 12%;
}

.sec04{
	background: center top / cover no-repeat url("../images/sec04_bg.webp");
	padding-bottom: 6.66%;
}



.flex{
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	gap: 3.33%;
}
.relative_box{
	position: relative;
}
.relative_box aside{
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 100%;
}

.qna {
	background: #fff;
	padding-bottom: 15%;
}
.qna dl{
	margin: 6.66% auto;
}
.qna dd {
	display: none;
	margin: 3.33% auto;
}
.qna dl.open dd {
	display: block;
}
.qna dt {
	cursor: pointer;
}

.sec05{
	background: #f3f1f1;
	padding-bottom: 9.99%;
}

.om{
	background: center top / cover no-repeat url("../images/om_bg.webp");
	margin-top: -6.66%;
	padding: 6.66% 0;
}
.product01{
	padding-bottom: 6.66%;
}
.howto {
	background-color: #fff;
}


/* ----- 注文フォーム start ----- */

.product_order p {
	display: block;
	text-align: center;
}
.product_order .product_order_ttl {
	padding: min(40px, calc(40 / 750* 100vw)) min(10px, calc(10 / 750* 100vw));
	color: #fff;
	font-size: min(30px, calc(30 / 750* 100vw));
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	background-color: #046ac0;
}
.product_order .product_order_description {
	padding: min(25px, calc(25 / 750* 100vw)) min(10px, calc(10 / 750* 100vw));
	font-size: min(28px, calc(28 / 750* 100vw));
}
.product_order .product_select {
	border-bottom: min(2px, calc(2 / 750* 100vw)) solid #b8d5ee;
}
.product_order .product_select > li {
	padding: min(30px, calc(30 / 750* 100vw)) 0;
	position: relative;
	text-align: center;
	border-top: min(2px, calc(2 / 750* 100vw)) solid #b8d5ee;
	background-color: #e5f0f9;
}
.product_order .product_select > li .product_select_name {
	color: #046ac0;
	font-size: min(30px, calc(30 / 750* 100vw));
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
}
.product_order .product_select > li .product_select_name strong {
	background-color: #ffcaca;
}
.product_order .product_select > li .product_select_name small {
	font-size: min(26px, calc(26 / 750* 100vw));
}
.product_order .product_select > li .icon_off {
	position: absolute;
	top: min(10px, calc(10 / 750* 100vw));
	left: min(10px, calc(10 / 750* 100vw));
	width: min(120px, calc(120 / 750* 100vw));;
}

.product_order .product_select > li .product_select_color {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 20px;
	box-sizing: border-box;
	padding: 0 3%;
}
.product_order .product_select > li .product_select_color li {
	width: calc((100% / 2) - 10px);
	max-width: 340px;
}
.product_order .product_select > li .product_select_color li input[type="radio"] {
    visibility: hidden;
	position: fixed;
}
.product_order .product_select > li .product_select_color li label {
	display: flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	background-color: #fff;
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100% auto;
	border: min(4px, calc(4 / 750* 100vw)) solid #fff;
	border-radius:  min(20px, calc(20 / 750* 100vw));
	cursor: pointer;
	overflow: hidden;
}
.product_order .product_select > li .product_select_color li label:hover {
	border: min(4px, calc(4 / 750* 100vw)) solid #0169c1;
}
.product_order .product_select > li .product_select_color li label .select_button {
	width: 100%;
	padding: min(17px, calc(17 / 750* 100vw)) min(30px, calc(30 / 750* 100vw));
	color: #645c51;
	font-size: min(24px, calc(24 / 750* 100vw));
	font-weight: 600;
	text-align: center;
	text-decoration: none;
	line-height: 1.1;
	border-radius: 99px;
	background-color: #fff465;
}
.product_order .product_select > li .product_select_color li input:checked + label {
	border: min(4px, calc(4 / 750* 100vw)) solid #0169c1;
}

/* ----- 注文フォーム end ----- */
.to_top {
	width: min(60px, calc(60 / 750* 100vw));
	margin:10px;
	position:fixed;
	right:0;
	bottom:0;
	font-size: 0;
	cursor: pointer;
	filter: drop-shadow(0px 5px 7px rgba(0,0,0,0.5));
}
@media (max-width: 767px) {
	.to_top {
		display: none !important;
	}
}

.btn_floating {
	position: fixed;
	width: 100%;
	max-width: 750px;
	margin: 0 auto;
	right:0;
	left: 0;
	bottom:0;
	font-size: 0;
	cursor: pointer;
	z-index: 999;
}
.btn_floating a:hover img {
	filter: brightness(80%);
	opacity: 1 !important;
}

.footer__contents--link > dl > dt {
	font-family: var(--font-en);
	font-size: 1rem!important;
	font-weight: 600;
	letter-spacing: 0.075em;
}

.footer__contents--link > dl > dd > ul > li{
	font-size: .9rem!important;
}


.footer__contents--logo img{
	width: auto!important;
	margin: 0!important;
}



@media (min-width: 768px) {
	.footer__blk{
		padding: 5rem 2rem 4rem!important;
	}

	.footer__contents._left{
		width: 100%!important;
		padding-top: 7rem!important;
	}

	.footer__contents--link{
		justify-content: start;
		column-gap:10%;
	}

	.footer__contents--link > dl > dt{
		margin-bottom: 2rem!important;
	}

	.footer__contents--link > dl > dd > ul > li:nth-of-type(n+2){
		margin-top: .8rem!important;
	}

	.footer__copyright {
		padding: 1.4rem 0 2.7rem!important;
	}
}

@media (min-width: 1024px){
	.footer__blk{
		padding: 5rem 10rem 4rem!important;
	}
}

@media (max-width: 767px) {
	.footer__contents--link > dl > dt{
		padding: 1.5rem!important;
	}
	.footer__contents--logo{
		margin: auto!important;
		width: 11rem!important;
		top: 1.7rem!important;
	}
	.footer__blk{
		padding: 6.7rem 0 4rem!important;
	}
	.footer__copyright{
		padding: 1.9rem 0 2rem!important;
		background-color: #FFF!important;
	}

	.footer__contents--link > dl > dd > ul > li > a{
		padding: 1.4rem!important;
		font-size:.7rem!important;
	}

	.footer__contents--link > dl > dt{
		font-size:.9rem!important;
	}
}

/*2024_10_30追記*/

.webCm{
	display: flex;
	flex-flow: column;
	align-items: center;
	background: rgb(242,195,157);
	background: linear-gradient(180deg, rgba(242,195,157,1) 0%, rgba(213,158,112,1) 99%);
	padding: min(60px, calc(60 / 750* 100vw));
}

.jstreamContainer{
	max-width: 100%;
	width: 100%;
}

.jstreamContainer iframe{
	max-width: 100%;
	width: 100% !important;
	height: 360px!important;
}

.coolcomfort_movie{
	aspect-ratio: 1/1;
}

.webCm_heading{
	font-size: 2rem;
	margin-bottom: 1rem;
}

.webCm a{
	transition: .3s;
	&:hover{
		opacity: .7;
		transition: .3s;
	}

	&:active,
	&:link,
	&:visited,
	&:focus,
	&:hover{
		color: #333;
		text-decoration: underline;
	}
}

@media (max-width: 767px) {
	.webCm{
		padding: min(30px, calc(30 / 750* 100vw));
	}

	.webCm_heading{
		font-size: 1.6rem;
		margin-bottom: 1rem;
	}

	.cta{
		margin-top: -2px;
	}

	.product_detail_block .product_point3 {
		margin: min(50px, calc(50 / 750* 100vw)) auto min(50px, calc(80 / 750* 100vw));
	}
}

/* アクティブスライド：中央に100%サイズで表示 */
.swiper {
    overflow: hidden;
	margin: 9.99% 0 12%;
}

.swiper-slide {
    width: 60%;           /* 中央スライドの基準幅 */
    transition: transform 0.4s ease;
       /* 非アクティブは少し縮小 */
}
.swiper-slide img {
    transform: scale(0.7);
    transition: transform 0.4s ease;
}

.swiper-slide-active img {
    transform: scale(1);
}

.swiper-slide-prev img {
    transform-origin: right center; /* 右基点で縮小→右寄せになる */
}

.swiper-slide-next img {
    transform-origin: left center; /* 左基点で縮小→左寄せになる */
}
.swiper-button-next, .swiper-button-prev {
	color: #a19085;
}
#Foot, #lp-form{ background: #fff; }
#lp-form {
	padding-bottom: calc(6 * var(--font-root-lp));
}