@charset "UTF-8";

/* ===============================
	変数定義
=============================== */
:root {

	/* カラー */
	--color-blue1: #1F67C6;
	--color-blue2: #E2EFF1;
	--color-blue3: #F5F8F9;
	--color-gray: #959595;

	/* マージン */
	--margin-large: 6rem;
	--margin-medium: 4rem;
	--margin-small: 2rem;


	/* フォント */
	--copper: "corporate-logo-ver2", sans-serif;
	--ryo: "ryo-gothic-plusn", sans-serif;
	--noto: "Noto Sans JP", sans-serif;
}

/* ===============================
	共通スタイル
=============================== */


/* アニメーションの初期化 */

.common-anime,
.info-stagger-text,
.shison-img-animation,
.info-product-anime {
	opacity: 0;
}

/* マージン */
.mts {
	margin-top: var(--margin-small);
}

.mtm {
	margin-top: var(--margin-medium)
}

.mtl {
	margin-top: var(--margin-large);
}

.mt1em {
	margin-top: 1em;
}

.ml-a {
	margin-left: auto;
}

/* 共通 */
.caption-space {
	position: relative;
	padding-right: 0.4em;
}

.caption-space>sup {
	position: absolute;
	font-size: 0.4em;
	right: 0;
	top: 0;
}

.overflow-h {
	overflow: hidden;
}

article {
	font-family: var(--copper);
}

em {
	color: var(--color-blue1);
	font-weight: 700;
}

.title-icon {
	display: inline-block;
	padding: 8px 20px;
	font-family: var(--ryo);
	font-size: 1.2rem;
	font-weight: bold;
	border-radius: 20px;
}

.title-icon.white {
	background-color: var(--color-blue1);
	color: #fff;
}

.title-icon.blue {
	background-color: #fff;
	color: var(--color-blue1);
}

.title-icon.blue.moving {
	padding: 4px 20px;
	color: #1A2D8B;
	font-weight: bold;
}

.bg-blue2 {
	background-color: var(--color-blue2);
}

.bg-blue3 {
	background-color: var(--color-blue3);
}

.section-icon-area {
	position: relative;
	z-index: 3;
	padding-top: 6.5rem;
	text-align: center;
}

.section-icon.black {
	position: relative;
	z-index: 2;
	display: inline-block;
	padding: 7px 30px;
	font-size: 1.8rem;
	color: #fff;
	background-color: #222;
	border-radius: 18px;
	font-weight: 500;
}

.section-icon.white {
	display: inline-block;
	padding: 4px 50px;
	font-size: 1.8rem;
	color: var(--color-blue1);
	font-weight: bold;
	border: 1px solid var(--color-blue1);
	background-color: #fff;
	border-radius: 30px;
	transform: translateX(-105%);
}

.column-container {
	position: relative;
	margin-top: 8.5rem;
	padding: 20px 50px 50px;
	background-color: #fff;
}

.column-mb {
	margin-bottom: 6rem;
}

.shison-bg {
	position: absolute;
	top: 0;
	left: 0;
	transform: translateY(-99%);
}


.sticky-area {
	position: relative;
}

.sticky-box {
	position: sticky;
	top: -30%;
	z-index: 3;
}


.common-contents {
	position: relative;
	background-color: var(--color-blue1);
	clip-path: shape(from 0 10vw,
			curve to 100% 10vw with 50% -10vw,
			line to 100% 100%,
			line to 0 100%,
			close);
	padding-bottom: 15rem;
}

/* コンテンツ幅 */

.base-width-1000 {
	max-inline-size: 1000px;
	margin-inline: auto;
}

.base-width-1050 {
	max-inline-size: 1050px;
	margin-inline: auto;
}

.base-width-1100 {
	max-inline-size: 1100px;
	margin-inline: auto;
}


/* MV */
.mv {
	overflow: hidden;
	opacity: 0;
	animation: back-ground 1s 0.5s forwards;
}

.mv-inner {
	position: relative;

}

.mv-bg {
	block-size: 700px;
}

.mv-bg img {
	block-size: 100%;
	object-fit: cover;
}

.mv-contents-pc {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	inline-size: 1200px;
}

.mv-under-text {
	margin-top: 0.5em;
	text-align: right;
	font-family: var(--noto);
	font-weight: 400;
	font-size: 1.2rem;
	opacity: 0;
	animation: penguin 0.5s 3s forwards;
}

.mv-title {
	position: relative;
	inline-size: 590px;
	margin-left: 75px;
}

.mv-title>span {
	display: block;
}


.fukidashi {
	position: absolute;
	top: -5%;
	left: 50px;
	transform: translateY(-100%);
	inline-size: 240px;
	opacity: 0;
	animation: fukidashi .8s 1s ease-out forwards;
}

.animal1 {
	position: absolute;
	top: 30%;
	left: 80px;
	inline-size: 115px;
	opacity: 0;
	animation: momonga 0.3s 2.5s forwards;
}

.animal2 {
	position: absolute;
	top: 75%;
	right: 15%;
	opacity: 0;
	inline-size: 56px;
	animation: penguin 0.3s 2.8s forwards;
}

.mv-title>span:first-of-type {

	clip-path: inset(0 100% 0 0);
	animation: title-anime .7s 1.5s forwards;
}

.mv-title>span:nth-of-type(2) {
	position: relative;
	clip-path: inset(0 100% 0 0);
	animation: title-anime .7s 1.7s ease-out forwards;
}

.mv-title>span:nth-of-type(3) {
	position: relative;
	clip-path: inset(0 100% 0 0);
	animation: title-anime .7s 2s ease-out forwards;
}

.title-parts1 {
	margin-left: 125px;
	inline-size: 350px;
}

.title-parts2,
.title-parts3 {
	inline-size: 550px;
	margin-top: 50px;
	margin-left: 125px;
}


/* メインビジュアルのアニメーション */

@keyframes back-ground {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}


/* 吹き出し */

@keyframes fukidashi {
	0% {
		opacity: 0;
		transform: scale(0) translateY(-100%);
	}

	50% {
		opacity: 1;
		transform: scale(1.15) translateY(-100%);
	}

	70% {
		transform: scale(0.92) translateY(-100%);
	}

	85% {
		transform: scale(1.05) translateY(-100%);
	}

	100% {
		opacity: 1;
		transform: scale(1) translateY(-100%);
	}
}


/* タイトル */
@keyframes title-anime {

	0% {
		clip-path: inset(0 100% 0 0);
	}

	100% {
		clip-path: inset(0 0 0 0);
	}

}

/* モモンガ */

@keyframes momonga {
	0% {
		opacity: 0;
		transform: translate(-10px, -10px);
	}

	100% {
		opacity: 1;
		transform: translate(0, 0);
	}
}

@keyframes penguin {

	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}

}


/* イントロ */

.intro {
	padding-block: 12rem 8rem;
}

.intro-container {
	display: grid;
	grid-template-columns: auto auto;
	grid-template-rows: auto;
	justify-content: center;
}

.intro-text {
	text-align: center;
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 2;
}

.intro-text:nth-of-type(n+2) {
	margin-top: 2em;
}

/* 波 */

/* 2. アニメーション波形境界線のスタイル */
.custom-shape-divider {
	margin-top: -1px;
	width: 100%;
	overflow: hidden;
	line-height: 0;
	transform: scaleX(1) rotate(0deg);
	background-color: var(--color-blue2);
}

.custom-shape-divider svg {
	display: block;
	width: 100%;
	height: 100px;
}

.wave-animation>use {
	fill: #1F67C6;
	animation: wave-move 8s cubic-bezier(.55, .5, .45, .5) infinite;
}

.wave-animation>use:nth-child(1) {
	animation-delay: -2s;
	animation-duration: 10s;
}

@keyframes wave-move {
	0% {
		transform: translate3d(-90px, 0, 0);
	}

	100% {
		transform: translate3d(85px, 0, 0);
	}
}

.wash-img {
	position: relative;
	overflow: hidden;
}

.wash-img-caption {
	position: absolute;
	bottom: 0.5em;
	left: 0;
	font-family: var(--noto);
	font-weight: bold;
	font-size: 1.2rem;
}

.circle-img {
	position: absolute;
	top: 0;
	left: 0;
	clip-path: circle(0% at 50% 50%);
	will-change: clip-path;
}

/* スクロール連動の画像切り替え */
/* .compare {
	position: sticky;
	top: max(-15vw, -150px);
} */

/* セクション */

.eco {
	padding-bottom: 9rem;
}

.wash-caption {
	margin-top: 1rem;
	text-align: center;
	color: #fff;
	font-size: 1.2rem;
	font-weight: 300;
	font-family: var(--noto);
}

.common-title {
	margin-top: 80px;
	text-align: center;
}

.common-title>span {
	display: block;
	font-size: 5.4rem;
	font-weight: bold;
	line-height: 1.3;
	color: #fff;
	overflow: hidden;
}

.common-title span>strong {
	font-size: 7.4rem;
	line-height: 1.5;
	letter-spacing: 3.7px;
}


.common-title span>strong>span {
	position: relative;
}

.common-title span>strong>span sup {
	position: absolute;
	top: 15px;
	right: -10px;
	color: #fff;
	font-size: 0.2em;
}


.wash-img-container {
	margin-top: 4rem;
}


.title-split,
.strong-title-split {
	display: inline-block;
}

/* 洗浄力のyoutube動画 */
.wash-movie-container {
	margin-top: 5rem;
	margin-inline: auto;
	max-inline-size: 560px;
}

.wash-movie-link {
	display: inline-block;
	transition: .3s;
}

.wah-movie-thum {
	overflow: hidden;
}

.wah-movie-thum img {
border-radius: 10px;
}

/* .wash-movie-text-wrap {
	inline-size: 50%;
	line-height: 1.3;
	text-align: center;
	font-size: 1.8rem;
	font-weight: bold;
	color: var(--color-blue1);
}

.wash-movie-text-wrap p:nth-of-type(2) {
	margin-top: 3px;
	font-size: 2.4rem;
} */

/* 洗浄力の秘密を解説 */
.contents-secret {
	padding-top: 4rem;
	background-color: var(--color-blue2);
}

.secret-title-wrapper {
	display: grid;
	grid-template-columns: min(550px, 50vw) 1fr;
	grid-template-rows: auto;
}

.secret-title-wrapper.drying {
	grid-template-columns: 1fr min(550px, 50vw);
}

.drying .secret-title {
	padding-right: 50px;
}

.drying>.secret-column-text p {
	font-family: var(--noto);
	line-height: 1.8;
	font-weight: 500;
}

.secret-title-wrapper.washing .secret-title-area {
	grid-column: 1;
}

.secret-title-wrapper.drying .secret-title-area {
	grid-column: 2;
}

.secret-title {
	margin-top: 1.5rem;
	padding-bottom: 10px;
	border-bottom: 1px dashed #000;
}

.secret-title .secret-title-text {
	display: block;
	font-size: 4.5rem;
	font-weight: bold;
}

.wash-secret-text {
	margin-top: 5rem;
	font-size: 1.7rem;
	font-family: var(--ryo);
	font-weight: 500;
}

/* 秘密のコラム */

.secret-column {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto;
	gap: min(50px, 3.3vw);
	align-items: center;
}

.secret-column.washing {
	grid-template-columns: 440px 1fr;
}

.secret-column.drying {
	grid-template-columns: 1fr 440px;
}

.secret-column:nth-of-type(n+2) {
	margin-top: 4rem;
}

.secret-column-text>h4 {
	margin-top: 10px;
	font-size: 3.5rem;
	font-weight: bold;
	line-height: 1.4;
}

.secret-column-text>p {
	margin-top: 30px;
	font-size: 1.6rem;
	font-weight: 500;
	font-family: var(--ryo);
	line-height: 1.6;
}

.secret-feature-title {
	line-height: 2;
	text-align: center;
	color: #fff;
	font-weight: 500;
	font-family: var(--ryo);
	background-color: var(--color-blue1);
	border-radius: 10px;
}

.secret-feature-img {
	margin-top: 20px;
}

/* 動画の再生ボタン操作 */

.movie-button {
	inline-size: fit-content;
	margin-left: auto;
	margin-top: 0.4em;
}

.movie-replay {
	display: flex;
	align-items: center;
	gap: 3px;
	font-size: 1.4rem;
}

.movie-btn {
	inline-size: 20px;
	block-size: 20px;
}

/* その他の特長エリア */

.feature {
	padding-bottom: 8rem;
	background-color: var(--color-blue3);
	clip-path: shape(from 0 10vw,
			curve to 100% 10vw with 50% -10vw,
			line to 100% 100%,
			line to 0 100%,
			close);
}

.feature-title {
	margin-top: 8.5rem;
	text-align: center;
}

.feature-title span {
	display: block;
	font-size: 4.5rem;
	font-weight: bold;
	line-height: 1.6;
	color: var(--color-blue1);
	overflow: hidden;
}

.feature-container {
	padding-top: 7.5rem;
}

.feature-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: auto auto;
	gap: 20px 50px;
}

.feature-box {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: subgrid;
	grid-row: span 3;
	gap: 0;
}

.feature-list-title {
	align-self: center;
	font-size: 1.8rem;
	text-align: center;
	line-height: 1.8;
	color: var(--color-blue1);
	font-weight: bold;
}

.feature-img {
	/* margin-top: 1rem; */
	padding-top: 1rem;
	border-top: 1px dashed var(--color-blue1);
}

.feature-text {
	margin-top: 1rem;
	font-size: 1.5rem;
	color: var(--color-blue1);
	font-family: var(--ryo);
	font-weight: 500;
}


/* 動画紹介 */

.movie {
	margin-left: 30px;
	padding-block: 8rem;
	background-color: var(--color-blue1);
	border-top-left-radius: 60px;
	border-bottom-left-radius: 60px;
}

.movie-title {
	margin-top: 1rem;
	display: block;
	color: #fff;
	font-size: 3.4rem;
	font-weight: bold;
	font-family: var(--copper);
}

.movie-container {
	margin-top: 5rem;
	display: grid;
	grid-template-columns: 48% 48%;
	gap: 4%;
}

.cm-thum {
	border-radius: 20px;
}

.shison-movie {
	transition: .3s;
}

/* 製品紹介 */

.product {
	padding-block: 10rem 5rem;
	background-color: var(--color-blue3);
}

.product-title {
	margin-top: 1rem;
}

.product-title span {
	display: block;
	color: var(--color-blue1);
	font-size: 3.4rem;
	line-height: 1.5;
	font-weight: bold;
	font-family: var(--copper);
}

.product-grid-container {
	padding-inline: 50px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto;
	/* gap: min(100px, 7vw); */
	gap: 100px;
	align-items: center;
}

.product-info {
	inline-size: fit-content;
	font-family: var(--copper);
	color: var(--color-blue1);
	line-height: 1;
}

.product-info-area {
	margin-top: 60px;
}

.product-info-title {
	margin-top: 1rem;
	font-size: 3.2rem;
	font-weight: bold;
}

.product-info-list {
	display: flex;
	gap: 15px;
	margin-top: 1rem;
}

.product-info-list li {
	padding: 10px;
	border-top: 1px dashed var(--color-blue1);
	border-bottom: 1px dashed var(--color-blue1);
	font-size: 1.5rem;
	font-weight: 500;
}

.product-info-btn {
	margin-top: 40px;
}

.product-info-btn a {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	inline-size: 235px;
	padding: 15px 25px 15px 25px;
	color: var(--color-blue1);
	font-family: var(--copper);
	font-weight: 500;
	background-color: #fff;

	border-radius: 25px;
	border: 1px solid var(--color-blue1);
}

.product-info-btn a svg {
	transition: .3s;
}

.product-img-container {
	display: flex;
}

.product-img {
	text-align: center;
}

.product-img span {
	font-family: var(--copper);
	font-size: 1.4rem;
	font-weight: 500;
}

/* 注釈エリア */
.caption-area {
	padding-block: 5rem 7rem;
	font-family: var(--noto);
	font-weight: 400;
}

/* 商品比較 */

.product-compare {
	padding-block: 5rem;
	font-family: var(--noto);
}

.compare-table-area {
	overflow-x: scroll;
	margin-top: 5rem;
}

.compare-title {
	text-align: center;
	font-size: 2.6rem;
	font-weight: bold;
}

.compare-table {
	position: relative;
	border-collapse: separate;
	border-spacing: 0;
	inline-size: 1200px;
	text-align: center;
}

.compare-table .sticky {
	position: sticky;
	left: 0;
	z-index: 2;
}

.compare-table .sticky.white {
	background-color: #fff;
	border-top: 1px solid #a0a0a0;
	border-left: 1px solid #a0a0a0;
	border-bottom: 1px solid #a0a0a0;
}

.compare-table td {
	padding: 7px 5px;
	font-weight: 400;
}

.compare-table th,
.compare-table td {
	border-right: 1px solid #a0a0a0;
	border-bottom: 1px solid #a0a0a0;
}

.compare-table .th-title {
	padding: 10px 15px;
	inline-size: 228px;
	background-color: #F5F5F5;
	border-right: none;
	border-left: 1px solid #a0a0a0;
	border-bottom: 1px solid #a0a0a0;
}

.compare-table tr:last-of-type .th-title {
	border-bottom: 1px solid #a0a0a0;
}

.compare-product-icon {
	inline-size: 1em;
	block-size: 1em;
}

.compare-product-name {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.3em;
	font-size: 2.2rem;
	font-weight: bold;
}

.compare-link {
	display: block;
	margin-top: 3rem;
}

.compare-img {
	margin-top: 10px;
	transition: .3s;
}

.compare-table .product-cell {
	padding: 2rem 30px 10px;
	border-top: 1px solid #a0a0a0;
	background-color: #fff;
}

.compare-table .current-product {
	border-left: 3px solid var(--color-blue1);
	border-right: 3px solid var(--color-blue1);
	background-color: rgba(31, 103, 198, 0.10);
}

.compare-table tr:last-of-type .current-product {
	border-bottom: 3px solid var(--color-blue1);
}

.product-cell:nth-of-type(2) {
	position: relative;
	border-top: 3px solid var(--color-blue1);
	border-left: 3px solid var(--color-blue1);
	border-right: 3px solid var(--color-blue1);
}

.current-icon {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	inline-size: 101%;
	padding-block: 5px;
	color: #fff;
	line-height: 1.4;
	background-color: var(--color-blue1);
}


/* ====================================
	画面の高さが1100px以上のスタイル（1000px~）
===================================== */
@media screen and (min-height:1000px) {

	.sticky-box {
		top: 0;
	}

	.sticky-box.second {
		top: 50px;
	}

}

/* ====================================
	スタイル（～1080px）
===================================== */
@media screen and (width <1080px) {

	/* MV */

	.mv-bg {
		block-size: 550px;
	}

	.mv-title {
		inline-size: 520px;
		margin-left: 137px;
	}

	.fukidashi {
		left: 90px;
	}

	.title-parts1 {
		inline-size: 300px;
	}

	.title-parts2,
	.title-parts3 {
		inline-size: 480px;
		margin-top: 45px;
	}

	.animal1 {
		top: 30%;
		inline-size: 100px;
	}

	.animal2 {
		top: 72%;
		right: 14%;
	}

	/* 共通 */
	.common-title>span {
		font-size: 4rem;
	}

	.common-title span>strong {
		font-size: 6rem;
	}

	/* イントロ */

	.intro-text {
		font-size: 1.8rem;
	}


	/* 秘密のコラム */

	.secret-title .secret-title-text {
		font-size: 3.8rem;
	}

	.secret-column.washing {
		grid-template-columns: 300px 1fr;
	}

	.secret-column.drying {
		grid-template-columns: 1fr 300px;
	}

	.secret-column-text>h4 {
		font-size: 2.8rem;
	}

	/* その他の特長 */

	.feature-title {
		margin-top: 5rem;
	}

	.feature-title span {
		font-size: 3rem;
	}


	/* 製品紹介 */

	.product-grid-container {
		gap: 50px;
	}

	.product-title span {
		font-size: 2.8rem;
	}



}

/* ====================================
	スマートフォン専用スタイル（～768px）
===================================== */
@media screen and (width <768px) {

	.sticky-box {
		top: 0;
	}

	.sticky-box.second {
		top: 50px;
	}

	.caption-space {
		padding-right: 0.6em;
	}

	.caption-space>sup {
		font-size: 0.4em;
	}

	/* コンテンツ幅 */

	.base-width-1000,
	.base-width-1050,
	.base-width-1100 {
		padding-inline: 5%;
	}

	.compare-area {
		block-size: 1500px;
	}

	/* 導入 */

	.intro {
		padding-block: 5rem 3rem;
	}

	.intro-container {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto;
		gap: 30px;
	}

	.intro-text-container {
		grid-row: 1;
		margin-inline: auto;
	}

	.intro-text {
		font-size: 1.8rem;
		line-height: 1.8;
	}

	.intro-img {
		grid-row: 2;
		inline-size: fit-content;
		margin-left: 50px;
	}

	/* MV */

	.mv-contents-pc {
		display: none;
	}

	.mv-bg {
		block-size: auto;
	}

	.mv-under-text {
		animation: penguin 0.5s 0.5s forwards;
	}

	/* セクション */

	.wash-movie-container {
		inline-size: 80%;
		max-inline-size: 100%;
	}

	.dry,
	.eco {
		padding-bottom: 5rem;
	}

	.wash-movie-text-wrap {
		font-size: 1.4rem;
	}

	.wash-movie-text-wrap p:nth-of-type(2) {
		font-size: 1.6rem;
	}

	/* 共通 */

	.common-contents {
		padding-bottom: 5rem;
	}

	.column-mb {
		margin-bottom: 0rem;
	}

	.section-icon.black {
		padding: 6px 10px;
		font-size: 1.4rem;
	}

	.section-icon.white {
		padding: 3px 30px;
		font-size: 1.4rem;
	}

	.shison-bg {
		display: none;
	}

	.common-title {
		margin-top: 40px;
	}

	.common-title>span {
		font-size: 2rem;
		line-height: 1.3;
	}

	.common-title span>strong {
		font-size: 3.6rem;
		line-height: 1.5;
	}

	.common-title span>strong>span sup {
		top: 7px;
		right: -12px;
		font-size: 0.3em;
	}


	/* 秘密のコラム */

	.drying .secret-title {
		padding-right: 0;
		padding-left: 40%;
	}

	.drying .title-icon {
		margin-left: 40%;
	}

	.saving .secret-title {
		padding-right: 31%;
	}

	.column-container {
		padding: 20px;
		margin-top: 2rem;
	}

	.secret-title-wrapper {
		grid-template-columns: 1fr;
	}

	.secret-title-wrapper.drying {
		grid-template-columns: 1fr;
	}

	.secret-title {
		position: relative;
		border-bottom: none;
	}

	.shison-bg-sp {
		position: absolute;
		bottom: -10px;
		left: 0;
	}

	.secret-title .secret-title-text {
		font-size: 2.4rem;
	}

	.wash-secret-text {
		margin-top: 2rem;
		font-size: 1.6rem;
	}

	.secret-column {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.secret-column.washing {
		grid-template-columns: 1fr;
	}

	.secret-column.drying {
		grid-template-columns: 1fr;
	}

	.secret-column-text>h4 {
		margin-top: 0;
		font-size: 2.2rem;
		line-height: 1.5;
	}

	.secret-column-text>p {
		margin-top: 10px;
	}

	.secret-column:nth-of-type(n+2) {
		margin-top: 7rem;
	}

	/* その他の特長エリア */

	.feature {
		padding-bottom: 4rem;
	}

	.feature-title {
		margin-top: 4rem;
	}

	.feature-list-title {
		line-height: 1.5;
	}

	.feature-title span {
		line-height: 1.3;
	}

	.feature-title span:first-of-type {
		font-size: 2rem;
		margin-bottom: 0.3em;
	}

	.feature-title span:nth-of-type(2) {
		font-size: 2.4rem;
		padding-inline: 2.5%;
	}

	.feature-container {
		margin-top: 1.5rem;
		padding-top: 1.5rem;
	}

	.feature-list {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 30px 20px;
	}

	.feature-text {
		font-size: 1.4rem;
	}


	/* 動画紹介 */

	.movie {
		margin-left: 0;
		padding-block: 3rem 5rem;
		border-top-left-radius: 0;
		border-bottom-left-radius: 0;
	}

	.shison-movie figure {
		inline-size: 93%;
		margin-inline: auto;
	}

	.movie-title {
		margin-top: 1rem;
		font-size: 2rem;
	}

	.movie-container {
		margin-top: 3rem;
		grid-template-columns: 1fr;
		grid-template-rows: auto auto;
		gap: 45px;
	}


	/* 製品紹介 */

	.product {
		padding-block: 5rem;
	}

	.product-title span {
		font-size: 2rem;
	}

	.product-grid-container {
		padding-inline: 0;
		/* margin-top: 4rem; */
		grid-template-columns: auto;
		grid-template-rows: auto auto auto;
		gap: 0;
	}

	.product-title-area {
		grid-row: 1;
		inline-size: fit-content;
		/* margin-inline: auto; */
	}

	.product-info-area {
		grid-row: 3;
		inline-size: fit-content;
		margin-inline: auto;
		margin-top: 30px;
		text-align: center;
	}

	.product-info {
		display: contents;
	}

	.product-img-container {
		margin-inline: auto;
		margin-top: 40px;
		justify-content: center;
		align-items: center;
		gap: 20px;
	}

	.product-img {
		inline-size: 140px;
	}

	.product-info-btn {
		margin-top: 2rem;
	}

	.product-info-btn a {
		margin-inline: auto;
		text-align: left;
	}



	/* 製品比較表 */

	.compare-title {
		font-size: 1.8rem;
	}

	.compare-table {
		inline-size: 100%;
		table-layout: fixed;
	}

	.compare-table .sticky {
		inline-size: 94px;
	}

	.current-icon {
		font-size: 1.2rem;
	}

	.compare-img {
		margin-top: 20px;
	}

	.compare-product-name {
		font-size: 1.6rem;
	}

	.compare-table .product-cell {
		padding: 10px;
		inline-size: 119px;
	}

	.product-cell:nth-of-type(2) {
		inline-size: 125px;
	}

	.compare-table .th-title {
		padding: 10px 5px;
		inline-size: 140px;
		font-size: 1.3rem;
	}

	.compare-table td {
		font-size: 1.4rem;
		padding: 7px;
	}

	.compare-link {
		margin-top: 40px;
	}

	/* 波 */
	.custom-shape-divider svg {
		height: 40px;
	}
}

/* ====================================
	TAB、PC、印刷専用スタイル（768px～）
===================================== */
@media print,
screen and (width >=768px) {
	:root {
		--margin-large: 8rem;
		--margin-medium: 6rem;
		--margin-small: 4rem;
	}


}

/* ====================================
	タブレット専用スタイル（768px～1079px）
===================================== */
@media screen and (768px <=width < 1080px) {}

/* ====================================
	PC専用スタイル（1600px～）
===================================== */
@media print,
screen and (1600px <=width) {

	.animal2 {
		right: 20%;
		inline-size: 63px;
	}

	.animal1 {
		top: 32%;
		left: 20px;
	}

	/* MV */

	.mv-bg {
		block-size: 100%;
		max-block-size: 85vw;
	}

	.mv-title {
		inline-size: 50%;
		margin-left: 60px;
	}

	.title-parts1 {
		margin-left: 60px;
		inline-size: 70%;
	}

	.title-parts2,
	.title-parts3 {
		inline-size: 100%;
		margin-left: 60px;
	}


	/* 画像の固定 */

}


/* ====================================
	ホバーが有効な環境のみ
===================================== */
@media (hover:hover) and (pointer: fine) {

	a:hover {
		text-decoration: none;
	}

	.product-info-btn a:hover {
		text-decoration: none;
	}

	.product-info-btn a:hover svg {
		transform: translateX(8px);
	}

	.wash-movie-link:hover {
		opacity: 0.7;
	}

	.shison-movie:hover {
		opacity: 0.7;
	}

	.compare-link:hover .compare-img {
		opacity: 0.7;
	}
}