*,
*:before,
*:after {
	box-sizing: border-box;
}

html {
	font-size: 16px;
	height: 100%;
	scroll-behavior: smooth;
}

body {
	color: #50514f;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 400;
	line-height: 1.75;
}

img,
video,
object {
	border: none;
	display: block;
	height: auto;
	max-width: 100%;
}

a {
	cursor: url("https://lp.guruwan.pet/assets/img/custom_cursor.png"), auto;
	text-decoration: none;
	transition: all 0.3s;
}

/*===================================================================
# フッター
===================================================================*/

.footer {
	margin-top: 300px;
}

/*===================================================================
# BUTTON
===================================================================*/

.purchase__btn-link { /* デフォルトはreasonセクション内のボタン */
}

.purchase__btn-inner {
	align-items: center;
	background-image: linear-gradient(to top, #d45c37 0%, #f86133 40%, #f9bba8 100%);
	border: solid 3px #fff;
	border-radius: 57px;
	box-shadow: 2.3px 3.3px 4.6px 0.4px rgba(131, 104, 96, 0.36), inset 6.3px 9px 13px 0 rgba(247, 81, 30, 0.35);
	display: flex;
	gap: 21px;
	height: 115px;
	justify-content: center;
	transition: background-image 3s ease;
	width: 100%;
}

.purchase__btn-inner.--fv {
	border-radius: 20px;
	height: 101px;
	justify-content: space-between;
	margin-top: -4px;
	padding-inline: 38px 44px;
	width: 392px; /* fvセクション */
}

.purchase__btn-inner.--product1 {
	border-radius: 20px;
	gap: 5px;
	height: 50px;
	margin-inline: auto;
	margin-top: 29px;
	width: 366px; /* productセクション 3dayセット内 */
}

.purchase__btn-inner.--product2 {
	margin-inline: auto;
	width: 932px; /* productセクション 大きいボタン */
}

.purchase__btn-text {
	color: #fff;
	font-size: 44px;
	font-weight: 700;
	letter-spacing: 6.16px;
	text-align: center;
	text-shadow: 2.3px 3.3px 4.6px rgba(75, 60, 56, 0.23);
}

.purchase__btn-text.--fv {
	font-size: 25px; /* fvセクション */
	letter-spacing: 4.2px;
	line-height: 1.5;
}

.purchase__btn-text.--product1 {
	font-size: 20px; /* productセクション 3dayセット内 */
	letter-spacing: 2.8px;
}

.purchase__btn-text.--product2 { /* productセクション 大きいボタン */
}

.purchase__yellow {
	color: #f7ee12;
}

.purchase__yellow.--product2 { /* productセクション 大きいボタン */
}

.purchase__small {
	font-size: 40px; /* を */
	letter-spacing: 5.6px;
}

.purchase__small.--fv {
	font-size: 23px; /* fvセクション */
	letter-spacing: 3.22px;
}

.purchase__small.--product1 {
	font-size: 20px; /* productセクション 3dayセット内 */
	letter-spacing: 2.8px;
}

.purchase__small.--product2 { /* productセクション 大きいボタン */
}

.purchase__btn-circle {
	border-radius: 50%;
	box-shadow: 2.3px 3.3px 4.6px 0.4px rgba(75, 60, 56, 0.23);
	height: 52px;
	width: 52px;
}

.purchase__btn-circle.--fv {
	height: 37px;
	width: 37px; /* fvセクション */
}

.purchase__btn-circle.--product1 {
	height: 18px;
	width: 18px; /* productセクション 3dayセット内 */
}

.purchase__btn-circle.--product2 { /* productセクション 大きいボタン */
}

/*===================================================================
# インナー幅
===================================================================*/

/*===================================================================
# セクション
===================================================================*/

.dummy {
	background-color: blue;
	height: 300px;
}

/*===================================================================
# FV
===================================================================*/

.fv {
	background: url(/assets/img/fv_bg.jpg) center center/cover no-repeat;
	margin-top: 40px;
	padding-bottom: 80px;
	position: relative;
}

.fv__inner {
	margin-inline: auto;
	max-width: 1140px;
	padding-left: 107px;
	position: relative;
}

.fv__text1-wrap {
	background-color: #e9e7b6;
	box-shadow: 2.3px 3.3px 4.6px 0.4px rgba(80, 81, 79, 0.23);
	height: 93px;
	left: 50%;
	margin-inline: auto;
	position: absolute;
	text-align: center;
	top: -40px;
	translate: -50%;
	width: 100%;
}

.fv__text1 {
	align-items: center;
	display: inline-flex;
	font-size: 48px;
	font-weight: 500;
	height: 92px; /* 大切な家族だから～ */
	line-height: 1;
	position: relative;
	text-shadow: 0 0 18.9px #fff;
	text-shadow: 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 18.9px #fff, 0 0 18.9px #fff, 0 0 18.9px #fff, 0 0 18.9px #fff; /* 上 */
}

.fv__text1::before {
	background: url(../../assets/img/fv_before.svg);
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 49px;
	left: -77px;
	position: absolute;
	top: 51%;
	translate: 0 -50%;
	width: 38px;
}

.fv__text1::after {
	background: url(../../assets/img/fv_after.svg);
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 49px;
	position: absolute;
	right: -77px;
	top: 51%;
	translate: 0 -50%;
	width: 38px;
}

.fv__text-strong {
	color: #d45c37;
	font-size: 52px;
}

.fv__bg-sp {
	display: none; /* SP用 背景画像 */
}

.fv__text2 {
	font-size: 35px; /* 愛犬の命を守る備え～ */
	font-weight: 500;
	letter-spacing: 1.75px;
	padding-top: 80px;
	text-shadow: 0.6px 0.8px 17.3px #fff, -0.6px -0.8px 17.3px #fff, 0.6px -0.8px 17.3px #fff, -0.6px 0.8px 17.3px #fff, 0.6px 0 17.3px #fff, -0.6px 0 17.3px #fff, 0 0.8px 17.3px #fff, 0 -0.8px 17.3px #fff; /* 上 */
}

.fv__upper-contents {
	display: flex;
	gap: 16px;
	margin-left: -10px;
}

.fv__products-img {
	margin-top: -5px;
}

.fv__title {
	margin-top: 97px; /* ぐるわん防災BOX */
}

.fv__lower-contents {
	display: flex;
}

.fv__text3 {
	font-weight: 500; /* ぐるわんアプリをお持ち～ */
	margin-top: 8px;
	padding-left: 68px;
}

.fv__link {
	color: #d45c37;
	transition: color 0.3s;
}

.fv__lower-content-right {
	bottom: -20px;
	display: flex;
	gap: 13px;
	position: absolute; /* ３つの特徴（circle）のコンテナ */
	right: 20px;
}

.fv__circle {
	align-items: center;
	display: flex;
	flex-direction: column;
	height: 179px;
	justify-content: space-between;
	padding-block: 35px;
	position: relative;
	text-align: center;
	width: 179px;
}

.fv__circle-img {
	position: absolute;
	top: 0;
	z-index: 0;
}

.fv__bone {
	height: 26px;
	width: 62px;
	z-index: 1;
}

.fv__circle-text1 {
	color: #536f39;
	font-weight: 500;
	letter-spacing: 0.8px;
	line-height: 1.6;
	z-index: 1;
}

.fv__circle-text1.--1 {
	margin-top: 9px;
}

.fv__circle-text1.--2,
.fv__circle-text1.--3 {
	margin-bottom: -3px;
	margin-top: 3px;
}

.fv__circle-text2 {
	color: #d45c37;
	font-size: 22px;
	font-weight: 500;
	letter-spacing: 1.1px;
	line-height: 1.45;
	z-index: 1;
}

.webp .fv {
	background-image: url(../../assets/img/fv_bg.webp); /* webp対応ブラウザ用の画像設定 */
}

/*===================================================================
# ABOUT
===================================================================*/

.about__inner {
	background: url(/assets/img/about_bg.png) center left/cover no-repeat;
	margin-inline: auto;
	max-width: 960px;
	padding-block: 58px 30px;
}

.about__box {
	background: #fff;
	border-radius: 20px;
	box-shadow: 2.3px 3.3px 4.6px 0.4px rgba(80, 81, 79, 0.13);
	margin-left: auto;
	margin-right: 91px;
	max-width: 825px;
	padding: 5px;
	padding: 31px 44px 41px;
	position: relative;
	z-index: 1;
}

.about__box::before {
	background: linear-gradient(to left, #e9e7b6, #8c9e60);
	border-radius: 25px;
	bottom: -5px;
	box-shadow: 2.3px 3.3px 4.6px 0.4px rgba(80, 81, 79, 0.13);
	content: "";
	left: -5px;
	position: absolute;
	right: -5px;
	top: -5px; /* 外側の余白 */
	z-index: -1; /* ボックスの下に配置 */
}

.about__box::after {
	background: #fff; /* 内側の白背景 */
	border-radius: 20px; /* 白ボックスの角丸と同じ */
	bottom: 0;
	content: "";
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 0; /* グラデーションの上に配置 */
}

.about__title {
	color: #d45c37;
	font-size: 33px;
	font-weight: 700;
	left: 50%;
	letter-spacing: 1.65px;
	position: absolute;
	text-shadow: 1px 1px 2px #fff, 1px -1px 2px #fff, -1px 1px 2px #fff, -1px -1px 2px #fff, 1px 0 2px #fff, -1px 0 2px #fff, 0 1px 2px #fff, 0 -1px 2px #fff; /* 上 */
	top: -36px;
	translate: -50%;
	z-index: 3;
}

.about__white-line {
	background: #fff;
	height: 5px;
	left: 50%;
	position: absolute;
	top: -5px;
	translate: -50%;
	width: 405px;
	z-index: 2;
}

.about__box-text {
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.9px;
	position: relative;
	text-align: center;
	z-index: 2;
}

.about__img {
	bottom: -25px;
	position: absolute;
	right: -49px;
	z-index: 3;
}

.about__text {
	font-size: 18px;
	font-weight: 500;
	padding-left: 113px;
	padding-right: 130px;
	padding-top: 35px;
}

.webp .about__inner {
	background-image: url(../../assets/img/about_bg.webp); /* webp対応ブラウザ用の画像設定 */
}

/*===================================================================
# CONCERN
===================================================================*/

.concern {
	margin-block: 100px 193px;
}

.concern__inner {
	margin-inline: auto;
	max-width: 1000px;
	padding-block: 31px 129px;
	padding-inline: 20px;
	position: relative;
}

.concern__text1 {
	color: #fff;
	font-family: "Shippori Mincho";
	font-size: 30px;
	font-weight: 600;
	letter-spacing: 1.5px;
	margin-left: auto;
	margin-right: 152px;
	position: relative; /* 過去の震災では～ */
	text-align: center;
	width: -moz-fit-content;
	width: fit-content;
	z-index: 1;
}

.concern__text1.show-sp {
	margin-left: auto;
	text-align: center;
}

.concern__strong1 {
	border: solid 1px #fff;
	color: #f7ee12;
	font-size: 35px;
	letter-spacing: 1.75px;
	padding: 1px 9px;
	position: relative;
}

.concern__strong1::after {
	background: url(../../assets/img/concern_wave1.svg);
	background-repeat: no-repeat;
	background-size: contain;
	bottom: -10px;
	content: "";
	height: 23px;
	left: -3px;
	position: absolute;
	width: 171px;
	z-index: -1;
}

.concern__contents {
	margin-left: auto;
	margin-right: 76px;
	margin-top: 24px;
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
	z-index: 1;
}

.concern__content {
	align-items: flex-start;
	display: flex;
	gap: 5px;
	margin-bottom: 30px;
}

.concern__content:last-of-type {
	margin-bottom: 0;
}

.concern__check {
	height: 20px;
	margin-top: 8px;
	width: 23px;
}

.concern__content-title {
	color: #fff;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.9px;
}

.concern__content-text {
	color: #fff;
	font-weight: 500;
	letter-spacing: 0.9px;
}

.concern__content-text.--2 {
	margin-right: 18px;
}

.concern__content-strong {
	color: #f7ee12;
}

.concern__text2-wrap { /* SP用の余白調整 */
}

.concern__text2 {
	color: #f7ee12;
	font-family: "Shippori Mincho";
	font-size: 24px;
	font-weight: 600;
	letter-spacing: 1.2px;
	margin-left: auto;
	margin-right: 26px;
	margin-top: 14px;
	position: relative; /* この数字は～ */
	position: relative;
	text-align: center;
	width: -moz-fit-content;
	width: fit-content;
	z-index: 1;
}

.concern__text2::after {
	background: url(../../assets/img/concern_wave2.svg);
	background-repeat: no-repeat;
	background-size: contain;
	bottom: -11px;
	content: "";
	height: 15px;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: -1;
}

.concern__text2 .show-pc {
	display: inline;
}

.concern__text2.--sp {
	display: none;
}

.concern__text2.--1,
.concern__text2.--2 {
	position: relative;
}

.concern__text2.--1::after,
.concern__text2.--2::after {
	background: url(../../assets/img/concern_wave2_sp.svg);
	background-repeat: no-repeat;
	background-size: contain;
	bottom: -7px;
	content: "";
	display: none;
	height: 15px;
	left: 50%;
	position: absolute;
	translate: -50%;
	width: 229px;
	z-index: -1;
}

.concern__text2.--3 {
	position: relative;
}

.concern__text2.--3::after {
	background: url(../../assets/img/concern_wave2_sp.svg);
	background-repeat: no-repeat;
	background-size: contain;
	bottom: -6px;
	content: "";
	display: none;
	height: 13px;
	left: 50%;
	position: absolute;
	translate: -50%;
	width: 200px;
	z-index: -1;
}

.concern__strong2 {
	color: #fff;
	font-size: 30px;
	letter-spacing: 1.5px;
}

.concern__text3 {
	background: #fff;
	background-color: #fff;
	border-radius: 20px;
	margin-left: auto;
	margin-right: 65px;
	margin-top: 32px;
	max-width: 810px;
	padding: 10px 36px 26px 36px;
	position: relative; /* 避難所での生活を考えると～ */
	width: -moz-fit-content;
	width: fit-content;
	z-index: 1;
}

.concern__strong3 {
	color: #d45c37;
	font-weight: 500;
}

.concern__img1 {
	left: 25px;
	position: absolute; /* 振り返ってこちらを見ているワンちゃん */
	top: 140px;
	z-index: 0;
}

.concern__img2 {
	bottom: 27px;
	position: absolute; /* 伏せているワンちゃん */
	right: 36px;
	z-index: 2;
}

.concern__dark-filter {
	background-image: linear-gradient(to top, #000, #6e6568);
	height: 100%;
	left: 0;
	opacity: 0.65;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 0;
}

.concern__text4 {
	font-size: 25px;
	letter-spacing: 1.25px;
	margin-inline: auto;
	margin-top: 85px;
	max-width: 888px; /* ぐるわん防災BOX」は、ペット飼育者 */
}

/*===================================================================
# PRODUCT
===================================================================*/

.product__upper {
	background-image: linear-gradient(to bottom, #9de8d0, #71debb, #fff);
	padding-block: 43px 58px;
}

.product__inner {
	margin-inline: auto;
	max-width: 1000px;
	padding-inline: 20px;
}

.product__title-wrap {
	position: relative;
	text-align: center;
}

.product__title {
	align-items: center;
	background-color: #d45c37;
	color: #fff;
	display: inline-flex;
	font-family: "Shippori Mincho";
	font-size: 40px;
	height: 60px;
	justify-content: center;
	letter-spacing: 2px;
	padding-bottom: 3px;
	position: relative;
	text-shadow: 0.6px 0.8px 3.7px rgba(77, 62, 58, 0.33);
	width: 416px;
	z-index: 2;
}

.product__title::before,
.product__title::after {
	border-color: #d45c37 transparent;
	border-style: solid;
	content: "";
	position: absolute;
	top: 0;
}

.product__title::before {
	border-left-color: transparent;
	border-width: 30px 0 30px 20px;
	left: -20px;
}

.product__title::after {
	border-right-color: transparent;
	border-width: 30px 20px 30px 0;
	right: -20px;
}

.product__title-outline {
	background-color: #fff;
	box-shadow: 0.6px 0.8px 9.7px 0.3px rgba(177, 145, 122, 0.8);
	height: 66px;
	left: 50%;
	position: absolute;
	top: -3px;
	translate: -50%;
	width: 422px;
	z-index: 1;
}

.product__title-outline::before,
.product__title-outline::after {
	border-color: #fff transparent;
	border-style: solid;
	content: "";
	position: absolute;
	top: 0;
}

.product__title-outline::before {
	border-left-color: transparent;
	border-width: 33px 0 33px 23px;
	left: -23px;
}

.product__title-outline::after {
	border-right-color: #fff transparent;
	border-width: 33px 23px 33px 0;
	right: -23px;
}

.product__sub-title {
	font-size: 26px;
	font-weight: 500;
	letter-spacing: 1.3px;
	margin-top: 7px;
	text-align: center;
}

.product__items {
	display: flex; /* 商品 */
	gap: 25px;
	justify-content: center;
	margin-inline: auto;
	margin-top: 42px;
}

.product__item {
	background-color: #fff;
	border-radius: 20px;
	box-shadow: 0.6px 0.8px 3.7px 1.3px rgba(67, 72, 52, 0.33);
	padding: 239px 0 32px;
	position: relative;
	width: 400px;
}

.product__item-img {
	left: 50%;
	position: absolute;
	top: -34px;
	translate: -50%;
}

.product__item-title {
	font-family: "Alata";
	font-size: 35px;
	letter-spacing: 1.75px;
}

.product__item-title.--1day {
	margin-left: 105px;
	margin-right: auto;
	width: -moz-fit-content;
	width: fit-content;
}

.product__item-title.--3days {
	margin-left: auto;
	margin-right: 95px;
	width: -moz-fit-content;
	width: fit-content;
}

.product__line {
	background-color: #c9c9c9;
	height: 1px;
	margin-inline: auto;
	margin-top: 12px;
	width: 350px;
}

.product__line.--1day {
	margin-bottom: -28px;
}

.product__item-set {
	font-family: "Zen Kaku Gothic New";
	font-weight: 700;
}

.product__price-wrap.--1day {
	text-align: center;
}

.product__item-price {
	align-items: flex-end;
	color: #536f39;
	display: inline-flex;
	font-family: "Shippori Mincho";
	font-size: 89px;
	letter-spacing: 4.45px;
}

.product__item-price.--3days {
	letter-spacing: -2px;
	margin-top: -48px;
}

.product__item-price-yen {
	font-size: 51px;
	letter-spacing: 2.55px;
	margin-bottom: 11px;
	margin-left: 2px;
	vertical-align: baseline;
}

.product__item-price-yen.--3days {
	margin-left: 8px;
}

.product__item-detail {
	font-family: "Shippori Mincho";
	font-size: 15px;
	letter-spacing: 0.75px;
	line-height: 1.4;
	text-align: right;
}

.product__item-detail.--1day {
	margin-left: auto;
	margin-right: 38px;
	margin-top: -27px;
	width: -moz-fit-content;
	width: fit-content;
}

.product__item-detail.--3days {
	margin-left: auto;
	margin-right: 44px;
	margin-top: -33px;
	width: -moz-fit-content;
	width: fit-content;
}

.product__price-container {
	display: flex; /* ３day 金額 */
	gap: 10px;
	margin-left: 10px;
}

.product__micro-copy {
	color: #d45c37;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.75px;
	margin-right: 13px;
	margin-top: 2px;
	text-align: right;
}

.product__circle {
	background: rgba(233, 231, 182, 0.8);
	border-radius: 50%;
	box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.34);
	height: 100px;
	margin-top: 18px;
	padding-block: 23px 0;
	width: 100px; /* 29%OFF */
}

.product__circle-text {
	color: #536f39;
	font-size: 26px;
	letter-spacing: 1.3px;
	line-height: 1;
	text-align: center;
}

.product__circle-small {
	font-size: 17px;
	letter-spacing: 0.85px;
}

.product__circle-lower {
	display: inline-block;
	margin-top: -25px;
}

.product__annotation {
	font-family: "Shippori Mincho";
	letter-spacing: 0.8px;
	margin-top: 21px;
	text-align: center;
}

.product__annotation.--left {
	display: none;
}

.product__lower {
	padding-block: 75px 62px;
}

.product__lower-text-wrap {
	display: flex;
	flex-direction: column;
}

.product__lower-text {
	letter-spacing: 0.8px;
	margin-inline: auto;
	margin-top: 6px;
	max-width: 770px;
	text-align: left;
}

.product__box {
	background: #fff;
	border-radius: 20px;
	box-shadow: 1.1px 1.6px 3.8px 0.2px rgba(69, 76, 56, 0.22);
	margin-inline: auto;
	margin-top: 98px;
	max-width: 625px;
	padding: 5px;
	padding: 43px 77px 45px;
	position: relative;
	z-index: 1;
}

.product__box::before {
	background: linear-gradient(to left, #e9e7b6, #8c9e60);
	border-radius: 25px;
	bottom: -5px;
	box-shadow: 2.3px 3.3px 4.6px 0.4px rgba(80, 81, 79, 0.13);
	content: "";
	left: -5px;
	position: absolute;
	right: -5px;
	top: -5px; /* 外側の余白 */
	z-index: -1; /* ボックスの下に配置 */
}

.product__box::after {
	background: #fff; /* 内側の白背景 */
	border-radius: 20px; /* 白ボックスの角丸と同じ */
	bottom: 0;
	content: "";
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 0; /* グラデーションの上に配置 */
}

.product__merit-title-wrap {
	left: 50%;
	position: absolute;
	top: -43px;
	translate: -50%;
	z-index: 1;
}

.product__merit-title-inner {
	position: relative;
	text-align: center;
}

.product__merit-title {
	align-items: center;
	background-color: #d45c37;
	color: #fff;
	display: inline-flex;
	font-family: "Shippori Mincho";
	font-size: 30px;
	height: 60px;
	justify-content: center;
	letter-spacing: 2px;
	padding-bottom: 3px;
	position: relative;
	text-shadow: 0.6px 0.8px 3.7px rgba(77, 62, 58, 0.33);
	width: 481px;
	z-index: 2;
}

.product__merit-title::before,
.product__merit-title::after {
	border-color: #d45c37 transparent;
	border-style: solid;
	content: "";
	position: absolute;
	top: 0;
}

.product__merit-title::before {
	border-left-color: transparent;
	border-width: 30px 0 30px 20px;
	left: -19px;
}

.product__merit-title::after {
	border-width: 30px 20px 30px 0;
	right: -19px;
}

.product__merit-title-outline {
	background-color: #fff;
	box-shadow: 0.6px 0.8px 9.7px 0.3px rgba(177, 145, 122, 0.8);
	height: 66px;
	left: 50%;
	position: absolute;
	top: -3px;
	translate: -50%;
	width: 487px;
	z-index: 1;
}

.product__merit-title-outline::before,
.product__merit-title-outline::after {
	border-color: #fff transparent;
	border-style: solid;
	content: "";
	position: absolute;
	top: 0;
}

.product__merit-title-outline::before {
	border-left-color: transparent;
	border-width: 33px 0 33px 23px;
	left: -22px;
}

.product__merit-title-outline::after {
	border-right-color: #fff transparent;
	border-width: 33px 23px 33px 0;
	right: -22px;
}

.product__merit-title-small {
	font-size: 28px;
}

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

.product__list {
	align-items: center;
	display: flex;
	gap: 19px;
	margin-bottom: 3px;
}

.product__list:last-of-type {
	margin-bottom: 0;
}

.product__check {
	height: 17px;
	width: 19px;
}

.product__list-text {
	font-size: 20px;
	letter-spacing: 1px;
}

.product__list-red {
	color: #d45c37;
}

.product__list-num {
	font-family: "Alata";
}

/*===================================================================
# MESSAGE
===================================================================*/

.message__inner {
	margin-inline: auto;
	max-width: 1000px;
	padding-inline: 20px;
}

.message__upper-container {
	background: rgba(233, 231, 182, 0.4);
	padding: 23px 0 160px;
}

.message__upper-inner {
	padding-inline: 70px;
}

.message__upper-text1 {
	font-size: 20px; /* 日本は過去に～ */
	letter-spacing: 1px;
}

.message__upper-text2,
.message__upper-text3 {
	align-items: center;
	background: #fff;
	box-shadow: 0.6px 0.8px 4.4px 1.6px rgba(93, 109, 116, 0.16);
	display: flex;
	font-size: 21.3px;
	font-weight: 500;
	height: 58px;
	justify-content: center;
	letter-spacing: 1.06px;
	margin-inline: auto;
}

.message__upper-text-strong {
	color: #d45c37;
	font-size: 23.1px;
	font-weight: 700;
	letter-spacing: 1.16px;
}

.message__upper-text2 {
	margin-block: 28px 20px;
	max-width: 562px;
}

.message__upper-text3 {
	width: 701px;
}

.message__upper-img-wrap {
	margin: 58px auto 98px 70px;
	position: relative;
	width: 604px;
}

.message__upper-img {
	position: relative;
}

.message__upper-text4,
.message__upper-text5,
.message__upper-text6 {
	font-family: "Shippori Mincho";
	font-size: 24.5px;
	letter-spacing: 1.23px;
	position: absolute;
	text-shadow: 1px 1px 10px #fff, 1px 1px 15px #fff, 1px 1px 20px #fff, 1px 1px 30px #fff, 1px 1px 40px #fff, 1px 1px 50px #fff, 1px 1px 60px #fff, -1px -1px 4px #fff, 1px -1px 4px #fff, -1px 1px 4px #fff;
	transform: rotate(-14deg);
}

.message__upper-text4 {
	bottom: -20px;
	left: -102px;
}

.message__upper-text5 {
	bottom: -13px;
	color: #d45c37;
	left: 92px;
}

.message__upper-text6 {
	bottom: -16px;
	left: 157px;
}

.message__upper-text7-wrap {
	position: relative;
}

.message__upper-text7 {
	font-family: "Shippori Mincho";
	font-size: 25px;
	font-weight: 500;
	letter-spacing: 0.6px;
	position: relative;
	text-align: center;
	text-shadow: 1px 1px 10px #fff, 1px 1px 15px #fff, 1px 1px 20px #fff, 1px 1px 30px #fff, 1px 1px 40px #fff, 1px 1px 50px #fff, 1px 1px 60px #fff, -1px -1px 10px #fff, 1px -1px 10px #fff, -1px 1px 10px #fff;
	z-index: 1;
}

.message__heart {
	left: 38px;
	position: absolute; /* ハートが２つ並んでいるリボンの装飾 */
	top: -31px;
}

.message__lower-container {
	background: url(../../assets/img/message_lower_bg.jpg) top left/cover no-repeat;
	padding-block: 34px 35px;
}

.message__lower-inner { /* SP用のインナー */
}

.message__lower-text1,
.message__lower-text2 {
	font-size: 30px;
	font-weight: 500;
	letter-spacing: 1.5px;
	position: relative;
	text-align: center;
}

.message__lower-text1::after,
.message__lower-text2::after {
	border-bottom: 2px dashed #5d6d74;
	bottom: 0;
	content: "";
	position: absolute;
	translate: -50%;
}

.message__lower-text1 { /* だからこそ */
}

.message__lower-text1::after {
	left: 50%;
	width: 165px;
}

.message__lower-text2 {
	margin-top: 4px; /* 一家にひとつ～ */
}

.message__lower-text2::after {
	left: 49%;
	width: 790px;
}

.message__lower-text2 .show-pc {
	display: inline;
}

.message__lower-text2.show-sp {
	white-space: nowrap;
}

.message__lower-text2.show-sp::after {
	width: 330px;
}

.message__lower-text3,
.message__lower-text4 {
	align-items: center;
	background: #fff;
	box-shadow: 0.6px 0.8px 4.4px 1.6px rgba(93, 109, 116, 0.16);
	display: flex;
	font-size: 25px;
	font-weight: 500;
	height: 58px;
	justify-content: center;
	letter-spacing: 1.25px;
}

.message__lower-text-strong {
	color: #d45c37;
}

.message__lower-text3 {
	margin: 34px auto 0 274px;
	width: 343px; /* 災害が多発する～ */
}

.message__lower-text4 {
	margin: 20px auto 0;
	width: 585px; /* ペットを家族の一員として～ */
}

.message__lower-img-wrap {
	display: flex;
	gap: 16px;
	margin-left: 253px;
	margin-right: auto;
	margin-top: 54px;
}

.message__lower-img { /* ワンちゃんの画像 */
}

.message__lower-text5 {
	font-family: "Shippori Mincho"; /* 今すぐ始めましょう */
	font-size: 36px;
	letter-spacing: 1.8px;
	margin-top: 32px;
	position: relative;
	text-orientation: upright;
	writing-mode: vertical-rl;
}

.message__lower-text5::after {
	background: url(../../assets/img/message_circle.png);
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 154px;
	position: absolute;
	right: -42px;
	top: -15px;
	width: 140px;
}

.message__lower-text-green {
	color: #536f39;
	font-size: 40px;
	letter-spacing: 2px;
	margin-bottom: 20px;
}

.webp .message__lower-container {
	background-image: url(../../assets/img/message_lower_bg.webp); /* webp対応ブラウザ用の画像設定 */
}

/*===================================================================
# FEATURE
===================================================================*/

.feature__inner {
	margin-inline: auto;
	max-width: 1000px;
	padding-inline: 20px;
}

.feature__container {
	background: rgba(233, 231, 182, 0.6);
	padding: 38px 30px 60px;
	position: relative;
}

.feature__title {
	text-align: center;
}

.feature__title-sub {
	background-color: #8c9e60;
	color: #fff;
	display: inline-block;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 1px;
	padding: 1px 11px;
	position: relative;
}

.feature__title-sub::after {
	background: url(../../assets/img/feature_triangle.svg) center center/contain no-repeat;
	bottom: -9px;
	content: "";
	height: 14px;
	left: 50%;
	position: absolute;
	translate: -50%;
	width: 16px;
}

.feature__title-main {
	font-family: "Shippori Mincho";
	font-size: 40px;
	letter-spacing: 2px;
	margin-top: 1px;
}

.feature__contents {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	-moz-column-gap: 97px;
	column-gap: 97px;
	margin-block: 14px 50px;
	row-gap: 40px;
}

.feature__content-img-wrap {
	align-items: center;
	display: flex;
	height: 290px;
	justify-content: center;
}

.feature__content-img-wrap.--lower {
	height: 232px; /* PC 下段 */
}

.feature__content-img-wrap.--sp-middle { /* SP 中段 */
}

.feature__content-img-wrap.--sp-lower { /* SP 下段 */
}

.feature__content-title {
	color: #8c9e60;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 1px;
	margin-top: 21px;
	text-align: center;
}

.feature__content-text {
	font-weight: 500; /* 商品の説明 */
	letter-spacing: 0.8px;
	margin-top: 3px;
}

.feature__img {
	margin-left: auto; /* 伏せているワンちゃんの画像 SPでは非表示 */
	margin-right: 15px;
}

.feature__img-wrap {
	display: none;
	margin-inline: auto; /* SP用のワンちゃん画像コンテナ */
	overflow: hidden;
}

.feature__img--sp {
	margin-left: 28%; /* 伏せているワンちゃんの画像 PCでは非表示 */
	margin-right: auto;
}

/*===================================================================
# BOX（防災BOX）
===================================================================*/

.box__inner {
	margin-inline: auto;
	max-width: 1000px;
	padding-inline: 20px;
}

.box__container {
	background-color: #e9e7b6;
	padding: 53px 20px;
}

.box__content-inner {
	background-color: #fff;
	border-radius: 20px;
	padding: 39px 100px 50px;
}

.box__title {
	align-items: center;
	border: solid 2px #d45c37;
	border-radius: 20px;
	color: #d45c37;
	display: flex;
	font-size: 25px;
	font-weight: 500;
	height: 57px;
	justify-content: center;
	letter-spacing: 1.25px;
	margin-inline: auto;
	width: 273px;
}

.box__message-1,
.box__message-3,
.box__message-4 {
	letter-spacing: 0.8px; /* ペットと共に避難を～ */
}

.box__message-1 {
	margin-top: 10px;
	max-width: 665px;
	text-align: center;
}

.box__message-2-wrap {
	margin-block: 82px 78px;
}

.box__message-2 {
	align-items: center;
	background-color: #8c9e60;
	border-radius: 50%;
	color: #fff;
	display: flex;
	font-size: 20px; /* しかし */
	font-weight: 500;
	height: 83px;
	justify-content: center;
	letter-spacing: 1px;
	margin-inline: auto;
	position: relative;
	width: 83px;
}

.box__message-2::before,
.box__message-2::after {
	background-color: #50514f;
	content: "";
	height: 41px;
	left: 50%;
	position: absolute;
	translate: -50%;
	width: 3px;
}

.box__message-2::before {
	top: -59px;
}

.box__message-2::after {
	bottom: -59px;
}

.box__message-4 {
	margin-top: 28px;
}

/*===================================================================
# STORY1（開発者ストーリー）
===================================================================*/

.story1 {
	margin-top: 130px;
}

.story1__inner {
	margin-inline: auto;
	max-width: 1000px;
	padding-inline: 20px;
}

.story1__upper-container {
	background-color: rgba(232, 231, 202, 0.28);
	padding-block: 485px 38px;
	position: relative;
}

.story1__upper-img {
	left: 0;
	position: absolute;
	top: 0;
	z-index: 1;
}

.story1__title {
	color: #d45c37;
	font-family: "Shippori Mincho";
	font-size: 40px;
	left: 50%;
	letter-spacing: 2px;
	position: absolute;
	text-shadow: 2px 2px 2px #fff, -2px -2px 2px #fff, -2px 2px 2px #fff, 2px -2px 2px #fff, 2px 0 2px #fff, -2px 0 2px #fff, 0 2px 2px #fff, 0 -2px 2px #fff;
	top: 346px;
	translate: -50%;
	z-index: 2;
}

.story1__pen-letter {
	left: 50%;
	position: absolute;
	top: 416px;
	translate: -50%;
	z-index: 2;
}

.story1__accent {
	left: 44.25%;
	position: absolute; /* 波線の装飾 */
	top: 444px;
	translate: -50%;
	z-index: 2;
}

.story1__upper-content {
	background-color: #fff;
	border-radius: 20px;
	box-shadow: 1.8px 0.8px 4px 0.1px rgba(69, 76, 56, 0.22);
	margin-inline: 20px;
	padding: 7px 90px 33px;
	z-index: 10;
}

.story1__upper-text-1 {
	color: #d45c37;
	font-weight: 500;
	letter-spacing: 0.8px;
	margin-block: 9px 17px;
	text-align: center;
}

.story1__upper-text-2 {
	letter-spacing: 0.8px;
	margin-bottom: 28px;
}

.story1__upper-text-2:last-of-type {
	margin-bottom: 0;
}

.story1__lower-container {
	margin-block: 100px 114px; /* ボトムは疑似要素の四角形の底辺から100pxになるように調整 */
}

.story1__lower-content-wrap {
	margin-bottom: 45px;
	margin-left: 224px;
	margin-right: auto;
	position: relative;
	width: 344px;
}

.story1__lower-content-wrap:last-of-type {
	margin-bottom: 0;
}

.story1__lower-content-wrap.--reverse {
	margin-left: auto;
	margin-right: 224px;
}

.story1__lower-img {
	position: relative;
	z-index: 1;
}

.story1__lower-img.--reverse {
	margin-left: auto;
	margin-right: 0;
}

.story1__lower-rectangle {
	background-color: #e9e7b6;
	border-bottom-right-radius: 20px;
	border-top-right-radius: 20px;
	height: 215px;
	left: 52px;
	position: absolute;
	top: 19px;
	width: 314px;
	z-index: 0;
}

.story1__lower-text-wrap {
	position: absolute;
	right: -169px;
	top: 50%;
	translate: 0 -50%;
	z-index: 2;
}

.story1__lower-text-wrap.--reverse {
	align-items: flex-end;
	display: flex;
	flex-direction: column;
	left: -150px;
	right: auto;
}

.story1__lower-text {
	align-items: center;
	background-color: #8c9e60;
	color: #fff;
	display: flex;
	height: 32px;
	justify-content: center;
	letter-spacing: 0.8px;
	margin-bottom: 5px;
	opacity: 0.85;
	white-space: nowrap;
}

.story1__lower-text.--1,
.story1__lower-text.--5 {
	width: 245px;
}

.story1__lower-text.--2,
.story1__lower-text.--4 {
	width: 225px;
}

.story1__lower-text.--3 {
	width: 145px;
}

.story1__lower-text.--6 {
	width: 232px;
}

.story1__lower-text.--2,
.story1__lower-text.--4,
.story1__lower-text.--6 {
	padding-left: 0.5em; /* テキストが中央寄せに見えるための調整 */
}

.story1__lower-text:last-of-type {
	margin-bottom: 0;
}

.story1__bracket {
	margin-left: -0.5em; /* テキストの綴じカギカッコの余白調整 */
}

.story1__lower-kirakira {
	position: absolute;
	right: -170px;
	top: 0;
	z-index: 2;
}

.story1__lower-kirakira.--reverse {
	left: -170px;
	right: auto;
}

/*===================================================================
# REASON
===================================================================*/

.reason {
	padding-block: 74px 47px;
}

.reason__inner {
	margin-inline: auto;
	max-width: 1000px;
	padding-inline: 20px;
}

.reason__title-wrap {
	text-align: center;
}

.reason__title {
	color: #d45c37;
	display: inline-block;
	font-family: "Shippori Mincho";
	font-size: 40px;
	letter-spacing: 2px;
	position: relative;
}

.reason__title::after {
	background: url(../../assets/img/reason_wave1.svg);
	background-repeat: no-repeat;
	background-size: contain;
	bottom: -10px;
	content: "";
	height: 15px;
	left: 0;
	position: absolute;
	width: 202px;
}

.reason__sub-title-wrap {
	position: relative;
}

.reason__dot {
	height: auto;
	left: 50%;
	position: absolute;
	top: -18px;
	translate: -50%;
	width: 100%;
	z-index: 0;
}

.reason__sub-title-wrap {
	margin-top: 68px;
	position: relative;
	text-align: center;
}

.reason__sub-title {
	color: #536f39;
	display: inline-block;
	font-size: 30px;
	font-weight: 500;
	letter-spacing: 1.5px;
	position: relative;
	text-align: center;
	z-index: 2;
}

.reason__sub-title::before {
	background: url(../../assets/img/reason_before.svg);
	background-repeat: no-repeat;
	background-size: contain;
	bottom: 11px;
	content: "";
	height: 34px;
	left: -31px;
	position: absolute;
	width: 24px;
}

.reason__sub-title::after {
	background: url(../../assets/img/reason_after.svg);
	background-repeat: no-repeat;
	background-size: contain;
	bottom: 11px;
	content: "";
	height: 34px;
	position: absolute;
	right: -31px;
	width: 24px;
}

.reason__main-content {
	background-color: rgba(233, 231, 182, 0.4);
	margin-top: 63px;
	padding: 45px 20px 52px;
}

.reason__message-wrap {
	margin-bottom: 45px;
	padding-inline: 50px;
}

.reason__message1,
.reason__message2 {
	font-size: 20px;
	font-weight: 300;
	letter-spacing: 1px;
}

.reason__message2 {
	margin-top: 34px; /* また、調査によると～ */
}

.reason__message3,
.reason__message4 {
	font-weight: 300;
	letter-spacing: 0.8px;
	text-align: center;
}

.reason__message3 {
	margin-top: 40px; /* この「ぐるわん防災BOX」は～ */
}

.reason__message-strong {
	color: #d45c37;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 1px;
	position: relative;
}

.reason__message-strong::after {
	background: url(../../assets/img/reason_wave2.svg);
	background-repeat: no-repeat;
	background-size: contain;
	bottom: -3px;
	content: "";
	height: 13px;
	left: 10px;
	position: absolute;
	width: 183px;
}

.reason__message4 {
	margin-top: 35px; /* これらの実績が～ */
}

.reason__message-red {
	color: #d45c37;
	font-weight: 500;
}

/*===================================================================
# POINT
===================================================================*/

.point {
	padding-block: 38px 0px;
}

.point__title {
	color: #d45c37;
	font-family: "Shippori Mincho";
	font-size: 40px;
	letter-spacing: 2px;
	text-align: center;
}

.point__arc {
	margin-inline: auto;
	margin-top: 35px;
}

.point__inner {
	margin-inline: auto;
	max-width: 1000px;
	padding-inline: 20px;
}

.point__main-container {
	background-color: rgba(233, 231, 182, 0.4);
}

.point__contents {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	padding-top: 57px;
}

.point__content {
	margin-bottom: 158px;
	max-width: 470px;
}

.point__content:last-of-type {
	margin-bottom: 0;
}

.point__img-wrap {
	position: relative;
}

.point__pow {
	height: 29px;
	left: 50%;
	position: absolute;
	top: -75px;
	translate: -50%;
	width: 31px; /* 肉球 */
	z-index: 1;
}

.point__content-title {
	align-items: center;
	background-color: #fff;
	border: solid 1px #b2ae72;
	border-radius: 10px;
	color: #8c9e60;
	display: flex;
	font-size: 25px;
	font-weight: 500;
	height: 75px;
	justify-content: center;
	left: 50%;
	letter-spacing: 1.25px;
	position: absolute;
	top: -55px;
	translate: -50%;
	width: 347px;
}

.point__img {
	border-radius: 20px;
	box-shadow: 1.1px 1.6px 3.8px 0.2px rgba(69, 76, 56, 0.4);
}

.point__content-text {
	letter-spacing: 0.8px;
	margin-top: 27px;
}

/*===================================================================
# STORY1（開発者ストーリー）
===================================================================*/

.story2 {
	margin-top: 130px;
}

.story2__inner {
	margin-inline: auto;
	max-width: 1000px;
	padding-inline: 20px;
}

.story2__upper-container {
	background-color: rgba(232, 231, 202, 0.28);
	padding-block: 488px 28px;
	position: relative;
}

.story2__upper-img {
	left: 0;
	position: absolute;
	top: 0;
	z-index: 1;
}

.story2__title {
	color: #d45c37;
	font-family: "Shippori Mincho";
	font-size: 40px;
	left: 50%;
	letter-spacing: 2px;
	position: absolute;
	text-shadow: 2px 2px 2px #fff, -2px -2px 2px #fff, -2px 2px 2px #fff, 2px -2px 2px #fff, 2px 0 2px #fff, -2px 0 2px #fff, 0 2px 2px #fff, 0 -2px 2px #fff;
	top: 407px;
	translate: -50%;
	z-index: 2;
}

.story2__pen-letter {
	left: 50%;
	position: absolute;
	top: 382px;
	translate: -50%;
	z-index: 2;
}

.story2__accent {
	left: 47.5%;
	position: absolute;
	top: 465px;
	translate: -50%;
	z-index: 2;
}

.story2__upper-content {
	background-color: #fff;
	border-radius: 20px;
	box-shadow: 1.8px 0.8px 4px 0.1px rgba(69, 76, 56, 0.22);
	margin-inline: 20px;
	margin-top: 35px;
	padding: 49px 80px 72px;
	z-index: 10;
}

.story2__upper-text-2 {
	font-size: 20px; /* 近年、ペットを～ */
	letter-spacing: 1px;
	margin-bottom: 35px;
}

.story2__upper-text-2:last-of-type {
	margin-bottom: 0;
}

.story2__triangle {
	opacity: 0.28;
}

.story2__middle-text {
	background-color: rgba(140, 158, 96, 0.85);
	color: #fff;
	font-size: 28px;
	font-weight: 500;
	letter-spacing: 1.4px;
	margin-top: 50px;
	padding-block: 25px 41px;
	text-align: center;
	text-shadow: 1.1px 1.6px 3.8px rgba(53, 56, 46, 0.4);
}

.story2__middle-text-small {
	font-size: 30px;
}

.story2__lower-container {
	margin-block: 100px 136px; /* ボトムは疑似要素の四角形の底辺から100pxになるように調整 */
}

.story2__lower-content-wrap {
	margin-bottom: 45px;
	margin-left: 224px;
	margin-right: auto;
	position: relative;
	width: 344px;
}

.story2__lower-content-wrap:last-of-type {
	margin-bottom: 0;
}

.story2__lower-content-wrap.--reverse {
	margin-left: auto;
	margin-right: 224px;
}

.story2__lower-img {
	position: relative;
	z-index: 1;
}

.story2__lower-img.--reverse {
	margin-left: auto;
	margin-right: 0;
}

.story2__lower-rectangle {
	background-color: #e9e7b6;
	border-bottom-right-radius: 20px;
	border-top-right-radius: 20px;
	height: 215px;
	left: 52px;
	position: absolute;
	top: 19px;
	width: 314px;
	z-index: 0;
}

.story2__lower-text-wrap {
	position: absolute;
	right: -325px;
	top: 50%;
	translate: 0 -50%;
	z-index: 2;
}

.story2__lower-text-wrap.--reverse {
	align-items: flex-end;
	display: flex;
	flex-direction: column;
	left: -243px;
	right: auto; /* 2枚目の画像 */
}

.story2__lower-text-wrap.--last {
	right: -280px; /* 3枚目の画像 */
}

.story2__lower-text {
	align-items: center;
	background-color: #8c9e60;
	color: #fff;
	display: flex;
	height: 32px;
	justify-content: center;
	letter-spacing: 0.8px;
	margin-bottom: 5px;
	opacity: 0.85;
	text-align: center;
	white-space: nowrap;
}

.story2__lower-text.--1 {
	padding-left: 0.5em; /* テキストが中央寄せに見えるための調整 */
	width: 151px;
}

.story2__lower-text.--2 {
	padding-left: 0.5em;
	width: 400px;
}

.story2__lower-text.--2-2 {
	padding-left: 0.5em;
	width: 189px;
}

.story2__lower-text.--3 {
	width: 320px;
}

.story2__lower-text.--3-2 {
	padding-left: 0.5em;
	width: 130px;
}

.story2__lower-text.--4 {
	padding-left: 0.5em;
	width: 272px;
}

.story2__lower-text.--5 {
	padding-left: 0.5em;
	width: 355px;
}

.story2__lower-text.--5-2 {
	width: 210px;
}

.story2__lower-text.--6 {
	padding-left: 0.5em;
	width: 242px;
}

.story2__lower-text:last-of-type {
	margin-bottom: 0;
}

.story2__lower-text.--sp {
	display: none;
}

.story2__lower-kirakira {
	position: absolute;
	right: -170px;
	top: 0;
	z-index: 2;
}

.story2__lower-kirakira.--reverse {
	left: -170px;
	right: auto;
}

/*===================================================================
# VOICE
===================================================================*/

.voice {
	background-color: rgba(233, 231, 182, 0.4);
	padding-block: 123px 58px;
	position: relative;
}

.voice__inner {
	margin-inline: auto;
	max-width: 1040px;
	padding-inline: 20px;
}

.voice__title-wrap {
	left: 50%;
	position: absolute;
	top: -18px;
	translate: -50%;
}

.voice__title {
	align-items: center;
	background-color: #8c9e60;
	border-radius: 10px;
	color: #fff;
	display: flex;
	font-family: "Shippori Mincho";
	font-size: 40px;
	height: 56px;
	justify-content: center;
	letter-spacing: 2px;
	position: relative;
	width: 280px;
}

.voice__title::before {
	border: solid 1px #50514f;
	border-radius: 10px;
	content: "";
	height: 62px;
	left: 50%;
	position: absolute;
	top: 50%;
	translate: -50% -50%;
	width: 287px;
}

.voice__title::after {
	background: url(../../assets/img/voice_triangle.svg) center center/contain no-repeat;
	bottom: -10px;
	content: "";
	height: 8px;
	left: 50%;
	position: absolute;
	translate: -50%;
	width: 10px;
}

.voice__title-small {
	font-size: 38px; /* の */
	letter-spacing: 1.9px;
}

.voice__contents {
	display: flex;
	gap: 30px;
}

.voice__content {
	background-color: #fff;
	border-radius: 10px;
	box-shadow: 1.1px 1.6px 3.8px 0.2px rgba(53, 56, 46, 0.2);
	min-height: 314px;
	padding: 109px 22px 32px;
	position: relative;
	width: 32.6041666667%;
}

.voice__img-wrap {
	background-color: #fff;
	box-shadow: 1.1px 1.6px 3.8px 0.2px rgba(53, 56, 46, 0.2);
	height: 139px;
	left: 32px;
	padding: 6px;
	position: absolute;
	top: -43px;
	width: 193px;
}

.voice__info {
	position: absolute;
	right: 28px;
	top: -19px;
}

.voice__info-inner {
	align-items: center;
	background-color: #8c9e60;
	border-radius: 50%;
	display: flex;
	flex-direction: column;
	height: 89px;
	padding-top: 25px;
	width: 89px;
}

.voice__bone {
	left: 51%;
	position: absolute;
	top: 20px;
	translate: -50%;
}

.voice__age {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.6px;
	margin-top: -2px;
	position: relative;
	z-index: 1;
}

.voice__gender {
	color: #fff;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.75px;
	margin-top: 5px;
}

.voice__content-title {
	color: #d45c37;
	font-weight: 500;
	letter-spacing: 0.8px;
	text-align: center;
}

.voice__content-text {
	letter-spacing: 0.8px;
	margin-top: 6px;
}

/*===================================================================
# MERIT
===================================================================*/

.merit {
	background-color: rgba(233, 231, 182, 0.4);
	margin-top: 147px;
	padding-block: 55px 60px;
	position: relative;
}

.merit__title-wrap {
	left: 50%;
	position: absolute;
	top: -44px;
	translate: -50%;
	z-index: 2;
}

.merit__title {
	align-items: center;
	background-color: #d45c37;
	color: #fff;
	display: flex;
	font-family: "Shippori Mincho";
	font-size: 30px;
	height: 60px;
	justify-content: center;
	letter-spacing: 1.5px;
	position: relative;
	text-shadow: 0.6px 0.8px 3.7px rgba(77, 62, 58, 0.33);
	width: 458px;
	z-index: 2;
}

.merit__title::before,
.merit__title::after {
	border-color: #d45c37 transparent;
	border-style: solid;
	content: "";
	position: absolute;
	top: 0;
}

.merit__title::before {
	border-left-color: transparent;
	border-width: 30px 0 30px 24px;
	left: -23px;
}

.merit__title::after {
	border-right-color: transparent;
	border-width: 30px 24px 30px 0;
	right: -23px;
}

.merit__title-outline {
	background-color: #fff;
	box-shadow: 0.6px 0.8px 9.7px 0.3px rgba(177, 145, 122, 0.8);
	height: 66px;
	left: 50%;
	position: absolute;
	top: -3px;
	translate: -50%;
	width: 464px;
	z-index: 1;
}

.merit__title-outline::before,
.merit__title-outline::after {
	border-color: #fff transparent;
	border-style: solid;
	content: "";
	position: absolute;
	top: 0;
}

.merit__title-outline::before {
	border-left-color: transparent;
	border-width: 33px 0 33px 26px;
	left: -26px;
}

.merit__title-outline::after {
	border-right-color: #fff transparent;
	border-width: 33px 26px 33px 0;
	right: -26px;
}

.merit__stripe {
	left: 50%;
	max-width: none;
	position: absolute;
	top: 0;
	translate: -50%;
	z-index: 1;
}

.merit__inner {
	margin-inline: auto;
	max-width: 1000px;
	padding-inline: 20px;
	position: relative;
	z-index: 2;
}

.merit__contents {
	background-color: #fff;
	border-radius: 10px;
	box-shadow: 1.1px 1.6px 3.8px 0.2px rgba(53, 56, 46, 0.2);
	padding: 61px 182px 74px 245px;
}

.merit__contents.--lower {
	margin-top: 18px;
}

.merit__content {
	align-items: flex-start;
	display: flex;
	gap: 10px;
	margin-bottom: 32px;
}

.merit__content:last-of-type {
	margin-bottom: 0;
}

.merit__check {
	margin-top: 6px;
}

.merit__text-wrap {
	margin-top: -5px;
}

.merit__content-title {
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 1px;
}

.merit__content-text {
	letter-spacing: 0.8px;
	padding-right: 52px;
}

.merit__text {
	color: #d45c37;
	font-family: "Shippori Mincho";
	font-size: 30px;
	letter-spacing: 1.5px;
	margin-top: 410px;
	text-align: center;
	text-shadow: 1.1px 1.6px 3.8px rgba(85, 73, 66, 0.36); /* こんな方におすすめ！ */
}

.merit__text-small {
	font-size: 28px; /* に */
	letter-spacing: 1.4px;
}

/*===================================================================
# CTA
===================================================================*/

.cta__upper {
	margin-block: 105px 100px;
	margin-inline: auto;
	max-width: 1440px;
	position: relative;
}

.cta__text {
	color: #d45c37;
	font-family: "Shippori Mincho";
	font-size: clamp(1.563rem, 0.209rem + 2.82vw, 2.75rem);
	font-weight: 600;
	left: 50%;
	letter-spacing: 6.16px;
	position: absolute;
	text-shadow: 0.6px 0.8px 131.1px #fff;
	top: 305px;
	translate: -50%;
	white-space: nowrap;
}

.cta__lower {
	background-color: #e9e7b6;
	padding-block: 60px;
}

.cta__btn-wrap {
	display: flex;
	gap: 44px;
	justify-content: center;
}

.cta__btn-inner {
	align-items: center;
	border: solid 3px #fff;
	border-radius: 20px;
	display: flex;
	height: 95px;
	justify-content: center;
}

.cta__btn-inner.--ec {
	background-image: linear-gradient(to top, #d45c37 0%, #f86133 60%, #f9bba8 100%);
	box-shadow: 2.3px 3.3px 4.6px 0.4px rgba(131, 104, 96, 0.36), inset 6.3px 9px 13px 0 rgba(247, 81, 30, 0.35);
	gap: 32px;
	width: 386px;
}

.cta__btn-inner.--line {
	background-image: linear-gradient(to bottom, #32963b 0%, #7bb640 40%, #43ae10 100%);
	box-shadow: 2.3px 3.3px 4.6px 0.4px rgba(131, 104, 96, 0.36), inset 6.3px 9px 13px 0 rgba(83, 148, 26, 0.35);
	gap: 15px;
	width: 395px;
}

.cta__btn-text {
	color: #fff;
	font-size: 23px;
	font-weight: 700;
	letter-spacing: 3.22px;
	line-height: 1.6;
	text-align: center;
	text-shadow: 2.3px 3.3px 4.6px rgba(75, 60, 56, 0.23);
}

.cta__yellow {
	color: #f7ee12;
	font-size: 25px;
	letter-spacing: 3.5px;
	text-shadow: 2.3px 3.3px 4.6px rgba(75, 60, 56, 0.32);
}

.cta__yellow.--ec {
	letter-spacing: 2.8px;
}

.cta__btn-circle {
	border-radius: 50%;
	box-shadow: 2.3px 3.3px 4.6px 0.4px rgba(75, 60, 56, 0.23);
	height: 37px;
	width: 37px;
}

/*===================================================================
# 改行のレスポンシブ
===================================================================*/

.br-pc {
	display: block;
}

.br-sp {
	display: none;
}

/*===================================================================
# 表示のレスポンシブ
===================================================================*/

.show-pc {
	display: block;
}

.show-sp {
	display: none;
}

.no-show-tab {
	display: block;
}

@media (any-hover: hover) {

.purchase__btn-link:hover .purchase__btn-inner {
	background-image: linear-gradient(to top, #32963b 0%, #7bb640 27%, #43ae10 100%);
	box-shadow: 2.3px 3.3px 4.6px 0.4px rgba(131, 104, 96, 0.36), inset 6.3px 9px 13px 0 rgba(83, 148, 26, 0.35);
}

.fv__link:hover {
	color: #536f39;
}

.cta__btn-link.--ec:hover .cta__btn-inner {
	background-image: linear-gradient(to top, #32963b 0%, #7bb640 27%, #43ae10 100%);
	box-shadow: 2.3px 3.3px 4.6px 0.4px rgba(131, 104, 96, 0.36), inset 6.3px 9px 13px 0 rgba(83, 148, 26, 0.35);
}

.cta__btn-link.--line:hover .cta__btn-inner {
	background-image: linear-gradient(to top, #d45c37 0%, #f86133 60%, #f9bba8 100%);
	box-shadow: 2.3px 3.3px 4.6px 0.4px rgba(131, 104, 96, 0.36), inset 6.3px 9px 13px 0 rgba(247, 81, 30, 0.35);
}

}

@media screen and (min-width: 768px) and (max-width: 999px) {

.purchase__btn-inner {
	gap: 20px;
	margin-inline: auto;
	max-width: 760px;
	width: 100%;
}

.purchase__btn-inner.--fv {
	gap: 15px;
	height: 86px;
	width: 339px;
}

.purchase__btn-inner.--product2 {
	gap: 20px;
	max-width: 760px;
	width: 100%;
}

.purchase__btn-text {
	font-size: 30px;
	line-height: 1.3;
}

.purchase__btn-text.--fv {
	font-size: 20px;
	line-height: 1.3;
	padding-bottom: 5px;
}

.purchase__btn-text.--product2 {
	font-size: 30px;
	line-height: 1.3;
}

.purchase__small {
	font-size: 25px;
}

.purchase__small.--fv {
	font-size: 19px;
	letter-spacing: 2.8px;
}

.purchase__small.--product2 {
	font-size: 25px;
}

.fv {
	padding-bottom: 110px;
}

.fv__inner {
	padding-left: 30px;
}

.fv__text1 {
	font-size: 38px;
}

.fv__text1::before {
	left: -46px;
}

.fv__text1::after {
	right: -46px;
}

.fv__text-strong {
	font-size: 42px;
}

.fv__text2 {
	font-size: 32px;
}

.fv__products-img {
	height: auto;
	width: 200px;
}

.fv__title {
	margin-top: 51px;
}

.fv__lower-content-right {
	bottom: -105px;
}

.fv__circle {
	height: 120px;
	padding-block: 23px;
	width: 120px;
}

.fv__bone {
	height: auto;
	width: 40px;
}

.fv__circle-text1 {
	font-size: 12px;
}

.fv__circle-text2 {
	font-size: 14px;
}

.about__inner {
	padding-left: 40px;
}

.about__title {
	font-size: 26px;
	top: -26px;
}

.about__white-line {
	width: 340px;
}

.concern {
	margin-block: 100px;
}

.concern__text1 {
	margin-right: 118px;
}

.concern__text2 {
	font-size: 20px;
}

.concern__strong2 {
	font-size: 25px;
}

.concern__text4 {
	padding-inline: 40px;
}

.product__item-title.--1day {
	margin-left: auto;
}

.message__inner {
	padding-inline: 0;
}

.message__upper-inner {
	padding-inline: 20px;
}

.message__upper-text4 {
	left: -82px;
}

.message__upper-text5 {
	left: 102px;
}

.message__upper-text6 {
	left: 177px;
}

.message__upper-text7 {
	font-size: 23px;
}

.message__heart {
	height: auto;
	width: 650px;
}

.message__lower-text1,
.message__lower-text2 {
	font-size: 25px;
}

.message__lower-text2::after {
	width: 675px;
}

.feature__inner {
	padding-inline: 0;
}

.box__inner {
	padding-inline: 0;
}

.story1__inner {
	padding-inline: 0;
}

.reason__inner {
	padding-inline: 0;
}

.point__contents {
	padding-top: 100px;
}

.point__content {
	width: calc(50% - 10px);
}

.story2__inner {
	padding-inline: 0;
}

.story2__lower-text-wrap {
	right: -100px;
}

.story2__lower-text-wrap.--reverse {
	left: -100px;
}

.story2__lower-text-wrap.--last {
	right: -100px;
}

.story2__lower-text.--2 {
	padding-left: 0;
	width: 232px;
}

.story2__lower-text.--3 {
	width: 200px;
}

.story2__lower-text.--4 {
	width: 245px;
}

.story2__lower-text.--5 {
	width: 148px;
}

.story2__lower-text.--sp {
	display: block;
}

.voice__contents {
	flex-direction: column;
	gap: 94px;
}

.voice__content {
	margin-inline: auto;
	width: 40%;
}

.merit {
	margin-top: 80px;
	overflow-x: hidden;
	padding-top: 150px;
}

.merit__title-wrap {
	top: 40px;
}

.merit__contents {
	padding: 50px 20px 60px 50px;
}

.cta__btn-wrap {
	flex-wrap: wrap;
	gap: 20px;
}

.br-pc {
	display: none;
}

.br-pc.--story2 {
	display: block;
}

.show-pc {
	display: none;
}

.no-show-tab {
	display: none;
}

}

@media screen and (min-width: 1000px) and (max-width: 1439px) {

.fv__circle {
	height: 140px;
	padding-block: 23px;
	width: 140px;
}

.fv__bone {
	height: auto;
	width: 45px;
}

.fv__circle-text1 {
	font-size: 14px;
}

.fv__circle-text2 {
	font-size: 16px;
}

.merit {
	margin-top: 80px;
	overflow-x: hidden;
	padding-top: 100px;
}

.merit__title-wrap {
	top: 15px;
}

.merit__contents {
	padding-bottom: 60px;
	padding-top: 50px;
}

}

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

.purchase__btn-inner {
	border-radius: 20px;
	gap: 14px;
	height: 78px;
	margin-inline: auto;
	width: 300px;
}

.purchase__btn-inner.--fv {
	height: 86px;
	left: 50%;
	position: absolute;
	top: 500px;
	translate: -50%;
	width: 339px;
}

.purchase__btn-inner.--product1 {
	gap: 13px;
	height: 78px;
	width: 300px;
}

.purchase__btn-inner.--product2 {
	gap: 20px;
	width: 100%;
}

.purchase__btn-text {
	font-size: 18px;
	letter-spacing: 2.52px;
	line-height: 1.5;
}

.purchase__btn-text.--fv {
	line-height: 1.3;
	padding-bottom: 5px;
}

.purchase__btn-text.--product2 {
	font-size: 23px;
	line-height: 1.3;
}

.purchase__yellow {
	font-size: 20px;
	letter-spacing: 3.5px;
}

.purchase__yellow.--product2 {
	font-size: 23px;
}

.purchase__small {
	font-size: 18px;
	letter-spacing: 2.52px;
}

.purchase__small.--fv {
	font-size: 19px;
	letter-spacing: 2.8px;
}

.purchase__small.--product2 {
	font-size: 23px;
}

.purchase__btn-circle {
	height: 28px;
	margin-right: 2px;
	width: 28px;
}

.purchase__btn-circle.--fv {
	height: 31px;
	width: 31px;
}

.purchase__btn-circle.--product1 {
	height: 28px;
	width: 28px;
}

.purchase__btn-circle.--product2 {
	height: 38px;
	width: 38px;
}

.fv {
	background: none;
	margin-top: 0;
	padding-bottom: 0;
}

.fv__inner {
	max-width: 402px;
	padding-left: 0;
	text-align: center;
}

.fv__bg-sp {
	width: 100%;
}

.fv__text1-wrap {
	height: 48px;
	position: relative;
	top: 0;
}

.fv__text1 {
	font-size: 18px;
	height: 48px;
}

.fv__text1::before {
	height: 22px;
	left: -24px;
	width: 17px;
}

.fv__text1::after {
	height: 22px;
	right: -24px;
	width: 17px;
}

.fv__text-strong {
	font-size: 20px;
}

.fv__bg-sp {
	display: block;
}

.fv__text2 {
	font-size: 20px;
	left: 50%;
	letter-spacing: 1px;
	padding-top: 0px;
	position: absolute;
	top: 0;
	translate: -50%;
	width: 100%;
}

.fv__upper-contents {
	display: block;
	margin-left: 0;
}

.fv__products-img {
	height: 154px;
	left: 17px;
	position: absolute;
	top: 153px;
	width: 118px;
}

.fv__title {
	left: 50%;
	margin-top: 0;
	position: absolute;
	top: 300px;
	translate: -50%;
}

.fv__text3 {
	font-size: 14px;
	left: 50%;
	padding-left: 0;
	position: absolute;
	top: 590px;
	translate: -50%;
	width: 100%;
}

.fv__lower-content-right {
	height: 113px;
	left: 50%;
	right: auto;
	top: 357px;
	translate: -50%;
}

.fv__circle {
	height: 113px;
	padding-block: 23px;
	width: 113px;
}

.fv__bone {
	height: 16px;
	width: 38px;
}

.fv__circle-text1 {
	font-size: 10px;
	letter-spacing: 0.5px;
}

.fv__circle-text2 {
	font-size: 13.5px;
	letter-spacing: 0.68px;
}

.webp .fv {
	background-image: none;
}

.about {
	margin-top: -90px;
}

.about__inner {
	background: none;
	max-width: 375px;
	padding-block: 0 55px;
	padding-inline: 10px;
}

.about__box {
	margin-right: auto;
	max-width: 345px;
	padding: 20px 34px 42px 20px;
}

.about__title {
	font-size: 20px;
	letter-spacing: 1px;
	top: -21px;
	white-space: nowrap;
}

.about__white-line {
	width: 230px;
}

.about__box-text {
	font-size: 16px;
	letter-spacing: 0.8px;
	text-align: left;
}

.about__img {
	bottom: -91px;
	right: 3px;
}

.about__text {
	margin-inline: auto;
	max-width: 345px;
	padding-left: 5px;
	padding-right: 5px;
	padding-top: 98px;
}

.webp .about__inner {
	background: none;
}

.concern {
	margin-block: 3px 57px;
}

.concern__inner {
	max-width: 375px;
	padding-block: 23px 89px;
	padding-inline: 0;
}

.concern__text1 {
	font-size: 20px;
	letter-spacing: 1px;
	line-height: 2;
	margin-left: 75px;
	margin-right: auto;
	text-align: left;
}

.concern__strong1 {
	font-size: 25px;
	letter-spacing: 1.25px;
	padding: 3px 6px;
}

.concern__strong1::after {
	bottom: -5px;
	height: 15px;
	left: 6px;
	width: 113px;
}

.concern__contents {
	margin-left: 111px;
	margin-right: 5px;
	margin-top: 38px;
}

.concern__check {
	height: 16px;
	width: 18px;
}

.concern__text2-wrap {
	margin-top: 1px;
}

.concern__text2 {
	font-size: 20px;
	letter-spacing: 1px;
	margin-right: auto;
	margin-top: 68px;
	text-align: center;
}

.concern__text2::after {
	display: none;
}

.concern__text2 .show-pc {
	display: none;
}

.concern__text2.--sp {
	display: block;
	margin-top: 0;
}

.concern__text2.--1::after,
.concern__text2.--2::after {
	display: block;
}

.concern__text2.--3::after {
	display: block;
}

.concern__strong2 {
	font-size: 25px;
	letter-spacing: 1.25px;
}

.concern__text3-wrap {
	margin-inline: 20px;
}

.concern__text3 {
	margin-right: auto;
	margin-top: 52px;
	padding-bottom: 37px;
	padding-left: 27px;
	padding-top: 21px;
	width: 100%;
}

.concern__img1 {
	height: 223px;
	left: 29px;
	top: 154px;
	width: 217px;
}

.concern__img2 {
	bottom: 21px;
	height: 95px;
	right: 6px;
	width: 156px;
}

.concern__text4 {
	font-size: 16px;
	letter-spacing: 0.8px;
	margin-top: 50px;
	max-width: 335px;
}

.product__upper {
	padding-block: 53px 58px;
}

.product__inner {
	max-width: 375px;
}

.product__title {
	font-size: 25px;
	height: 45px;
	letter-spacing: 1.25px;
	width: 301px;
}

.product__title::before {
	border-width: 23px 0 22px 15px;
	left: -14px;
}

.product__title::after {
	border-width: 23px 15px 22px 0;
	right: -14px;
}

.product__title-outline {
	height: 51px;
	width: 307px;
}

.product__title-outline::before {
	border-width: 26px 0 25px 17px;
	left: -17px;
}

.product__title-outline::after {
	border-width: 26px 17px 25px 0;
	right: -17px;
}

.product__sub-title {
	font-size: 17px;
	letter-spacing: 0.85px;
	margin-top: 10px;
}

.product__items {
	flex-direction: column;
	gap: 113px;
	margin-top: 55px;
}

.product__item {
	padding-bottom: 25px;
	padding-top: 242px;
	width: 335px;
}

.product__item.--left {
	position: relative;
}

.product__item.--right {
	padding-bottom: 38px;
}

.product__item-img {
	max-width: none;
	top: -27px;
}

.product__item-title {
	font-size: 30px;
	letter-spacing: 1.5px;
}

.product__item-title.--1day {
	margin-left: auto;
}

.product__item-title.--3days {
	margin-right: auto;
}

.product__line.--1day {
	margin-bottom: -14px;
}

.product__line {
	margin-top: 15px;
	width: 295px;
}

.product__item-price {
	font-size: 65px;
	letter-spacing: 3.25px;
}

.product__item-price.--3days {
	letter-spacing: -0.5px;
	margin-top: -30px;
}

.product__item-price-yen {
	font-size: 30px;
	letter-spacing: 1.5px;
	margin-bottom: 12px;
}

.product__item-detail.--1day {
	line-height: 1.6;
	margin-right: 54px;
	margin-top: -15px;
}

.product__item-detail.--3days {
	margin-top: -12px;
}

.product__price-container {
	gap: 9px;
	margin-left: 20px;
}

.product__micro-copy {
	margin-top: 4px;
}

.product__annotation {
	margin-top: 9px;
}

.product__annotation.--left {
	bottom: -38px;
	display: block;
	left: 50%;
	position: absolute;
	translate: -50%;
	white-space: nowrap;
}

.product__lower {
	padding-block: 0 50px;
}

.product__lower-text-wrap {
	flex-direction: column-reverse;
}

.product__lower-text {
	margin-bottom: 35px;
}

.product__box {
	margin-top: 140px;
	padding: 67px 24px 27px 30px;
}

.product__merit-title {
	display: inline-block;
	font-size: 25px;
	height: 71px;
	letter-spacing: 1.25px;
	line-height: 1.15;
	padding-block: 6px;
	text-align: center;
	width: 269px;
}

.product__merit-title::before {
	border-width: 36px 0 35px 15px;
	left: -14px;
}

.product__merit-title::after {
	border-right-color: transparent;
	border-width: 36px 15px 35px 0;
	right: -14px;
}

.product__merit-title-outline {
	height: 77px;
	width: 275px;
}

.product__merit-title-outline::before {
	border-width: 39px 0 38px 18px;
	left: -17px;
}

.product__merit-title-outline::after {
	border-width: 39px 18px 38px 0;
	right: -17px;
}

.product__merit-title-small {
	font-size: 25px;
}

.product__list {
	align-items: flex-start;
	gap: 13px;
}

.product__check {
	margin-top: 11px;
}

.message__inner {
	padding-inline: 0;
}

.message__upper-container {
	padding: 23px 0 82px;
}

.message__upper-inner {
	margin-inline: auto;
	max-width: 375px;
	padding-inline: 20px;
}

.message__upper-text1 {
	font-size: 16px;
	letter-spacing: 0.8px;
}

.message__upper-text2,
.message__upper-text3 {
	font-size: 20px;
	letter-spacing: 1px;
}

.message__upper-text2.show-sp,
.message__upper-text3.show-sp {
	display: flex;
}

.message__upper-text-strong {
	font-size: 20px;
	letter-spacing: 1px;
}

.message__upper-text2 {
	margin-block: 26px 17px;
}

.message__upper-text2.show-sp {
	margin-block: 0 17px;
}

.message__upper-text3 {
	margin-bottom: 17px;
	width: 100%;
}

.message__upper-text3.show-sp {
	margin-bottom: 0;
}

.message__upper-img-wrap {
	margin: 30px auto 56px auto;
	width: 315px;
}

.message__upper-text4,
.message__upper-text5,
.message__upper-text6 {
	font-size: 17.5px;
	letter-spacing: 0.88px;
	white-space: nowrap;
}

.message__upper-text4 {
	bottom: -17px;
	left: -13px;
}

.message__upper-text5 {
	bottom: -14px;
	left: 122px;
}

.message__upper-text6 {
	bottom: -15px;
	left: 169px;
}

.message__upper-text7-wrap {
	margin-inline: auto;
	max-width: 375px;
}

.message__upper-text7 {
	font-size: 12px;
	letter-spacing: 0;
}

.message__heart {
	height: 47px;
	left: 10px;
	top: -10px;
	width: 364px;
}

.message__lower-container {
	background: url(../../assets/img/message_lower_bg_sp.jpg) top left/cover no-repeat;
	padding-block: 34px 4px;
}

.message__lower-inner {
	margin-inline: auto;
	max-width: 375px;
	padding-inline: 20px;
}

.message__lower-text1,
.message__lower-text2 {
	font-size: 25px;
	letter-spacing: 1.25px;
	line-height: 1.7;
}

.message__lower-text1::after {
	width: 140px;
}

.message__lower-text2::after {
	width: 302px;
}

.message__lower-text2 .show-pc {
	display: none;
}

.message__lower-text3,
.message__lower-text4 {
	font-size: 20px;
	letter-spacing: 1px;
}

.message__lower-text3 {
	margin: 39px auto 0 auto;
	width: 100%;
}

.message__lower-text4 {
	margin-top: 17px;
	width: 100%;
}

.message__lower-text4.show-sp {
	display: flex;
}

.message__lower-img-wrap {
	gap: 0;
	margin-left: 13px;
	margin-top: 110px;
}

.message__lower-img {
	height: 306px;
	margin-top: 75px;
	width: 228px;
}

.message__lower-text5 {
	margin-left: -20px;
	margin-top: 0;
}

.webp .message__lower-container {
	background-image: url(../../assets/img/message_lower_bg_sp.webp);
}

.feature {
	background: rgba(233, 231, 182, 0.6);
	padding-bottom: 60px;
}

.feature__inner {
	max-width: 375px;
	overflow: visible;
	padding-inline: 0;
}

.feature__container {
	background: none;
	overflow-x: hidden;
	padding: 30px 20px 0;
	position: relative;
}

.feature__title-main {
	font-size: 25px;
	letter-spacing: 1.25px;
	margin-top: 21px;
}

.feature__contents {
	grid-template-columns: repeat(2, 1fr);
	-moz-column-gap: 20px;
	column-gap: 20px;
	margin-block: 12px 20px;
	row-gap: 50px;
}

.feature__content-img-wrap {
	height: 160px;
}

.feature__content-img-wrap.--lower {
	height: auto;
}

.feature__content-img-wrap.--sp-middle {
	height: 110px;
}

.feature__content-img-wrap.--sp-lower {
	height: 155px;
}

.feature__content-img.--1 {
	height: 90px;
	width: 119px; /* ドッグフード */
}

.feature__content-img.--2 {
	height: 159px;
	width: 48px; /* ペットウォーター */
}

.feature__content-img.--3 {
	height: 119px;
	width: 136px; /* ペットシート */
}

.feature__content-img.--4 {
	height: 90px;
	width: 152px; /* ウェットシート */
}

.feature__content-img.--5 {
	height: 131px;
	width: 130px; /* うんち袋 */
}

.feature__content-img.--6 {
	height: 154px;
	width: 44px; /* 消臭スプレー */
}

.feature__content-title {
	margin-top: 26px;
}

.feature__content-title.--spacing1 {
	letter-spacing: -0.4px; /* ペットウォーターを改行させない */
}

.feature__content-title.--spacing2 {
	letter-spacing: -2.5px; /* ウェットティッシュを改行させない */
}

.feature__content-text {
	margin-top: -5px;
}

.feature__img {
	display: none;
}

.feature__img-wrap {
	display: block;
}

.box__inner {
	padding-inline: 0;
}

.box__container {
	padding: 35px 25px;
}

.box__content-inner {
	margin-inline: auto;
	max-width: 325px;
	padding: 20px 15px;
}

.box__message-1,
.box__message-3,
.box__message-4 {
	text-align: justify;
}

.box__message-1 {
	letter-spacing: 0.3px;
	margin-top: 21px;
}

.box__message-2-wrap {
	margin-block: 73px 69px;
}

.box__message-2::before {
	top: -49px;
}

.box__message-2::after {
	bottom: -49px;
}

.box__message-4 {
	margin-top: 17px;
}

.story1 {
	margin-top: 55px;
}

.story1__inner {
	max-width: 375px;
	padding-inline: 0;
}

.story1__upper-container {
	padding-block: 333px 38px;
}

.story1__title {
	font-size: 25px;
	letter-spacing: 1.25px;
	top: 207px;
	white-space: nowrap;
}

.story1__pen-letter {
	top: 251px;
}

.story1__accent {
	left: 35.5%;
	top: 272px;
}

.story1__upper-content {
	margin-inline: auto;
	max-width: 335px;
	padding: 20px 20px 30px;
}

.story1__upper-text-1 {
	margin-block: 9px 30px;
}

.story1__lower-container {
	margin-block: 30px 20px;
	margin-inline: auto;
	overflow: hidden;
	padding-bottom: 20px;
}

.story1__lower-content-wrap {
	margin-left: 0;
}

.story1__lower-content-wrap.--reverse {
	margin-right: 0;
}

.story1__lower-img {
	height: auto;
	width: 216px;
}

.story1__lower-rectangle {
	height: 167px;
	left: 12px;
	top: 12px;
	width: 216px;
}

.story1__lower-rectangle.--reverse {
	border-bottom-left-radius: 20px;
	border-bottom-right-radius: 0px;
	border-top-left-radius: 20px;
	border-top-right-radius: 0px;
	left: auto;
	right: 12px;
}

.story1__lower-text-wrap {
	right: -32px;
	top: 77px;
	translate: 0 0;
}

.story1__lower-text-wrap.--reverse {
	left: -12px;
}

.story1__lower-kirakira {
	right: -14px;
}

.story1__lower-kirakira.--reverse {
	left: -14px;
}

.reason {
	padding-block: 11px 47px;
}

.reason__inner {
	max-width: 375px;
	padding-inline: 0;
}

.reason__title {
	font-size: 25px;
	letter-spacing: 1.25px;
}

.reason__title::after {
	bottom: -5px;
	height: 9px;
	width: 125px;
}

.reason__sub-title-wrap {
	margin-top: 24px;
}

.reason__sub-title {
	font-size: 20px;
	letter-spacing: 1px;
}

.reason__sub-title::before {
	bottom: 18px;
}

.reason__sub-title::after {
	bottom: 18px;
}

.reason__main-content {
	margin-top: 13px;
	padding: 22px 20px 39px;
}

.reason__message-wrap {
	margin-bottom: 32px;
	padding-inline: 0;
}

.reason__message1,
.reason__message2 {
	font-size: 16px;
	letter-spacing: 0.8px;
}

.reason__message2 {
	margin-top: 28px;
}

.reason__message3 {
	margin-top: 23px;
}

.reason__message-strong {
	font-size: 18px;
	letter-spacing: 0.9px;
}

.reason__message-strong::after {
	height: 11px;
	left: 10px;
	width: 159px;
}

.reason__message4 {
	margin-top: 23px;
}

.reason__message-red {
	font-size: 18px;
	letter-spacing: 0.9px;
}

.point__title {
	font-size: 25px;
	letter-spacing: 1.25px;
}

.point__arc {
	margin-top: 20px;
}

.point__inner {
	max-width: 375px;
}

.point__contents {
	padding-top: 47px;
}

.point__content {
	margin-bottom: 81px;
}

.point__pow {
	height: 19px;
	top: -37px;
	width: 20px;
}

.point__content-title {
	font-size: 20px;
	height: 37px;
	letter-spacing: 1px;
	top: -24px;
	width: 227px;
}

.point__img {
	height: 166px;
	margin-inline: auto;
	width: 254px;
}

.point__content-text {
	letter-spacing: 0.6px;
	margin-top: 14px;
}

.story2 {
	margin-top: 55px;
}

.story2__inner {
	max-width: 375px;
	padding-inline: 0;
}

.story2__upper-container {
	background-color: rgba(232, 231, 202, 0.4);
	padding-block: 318px 28px;
}

.story2__title {
	font-size: 25px;
	letter-spacing: 1.25px;
	top: 243px;
	white-space: nowrap;
}

.story2__pen-letter {
	left: 47%;
	top: 221px;
}

.story2__accent {
	height: 18px;
	left: 51%;
	top: 281px;
	width: 247px;
}

.story2__upper-content {
	max-width: 335px;
	padding: 40px 20px 72px;
}

.story2__upper-text-2 {
	font-size: 16px;
	letter-spacing: 0.8px;
	margin-bottom: 27px;
}

.story2__triangle {
	opacity: 1;
}

.story2__middle-text {
	font-size: 18px;
	letter-spacing: 0.9px;
}

.story2__middle-text-small {
	font-size: 18px;
}

.story2__lower-container {
	margin-block: 52px 67px;
	margin-inline: auto;
	overflow: hidden;
	padding-bottom: 20px;
}

.story2__lower-content-wrap {
	margin-left: 0;
}

.story2__lower-content-wrap.--reverse {
	margin-right: 0;
}

.story2__lower-img {
	height: auto;
	width: 216px;
}

.story2__lower-rectangle {
	height: 167px;
	left: 12px;
	top: 12px;
	width: 216px;
}

.story2__lower-rectangle.--reverse {
	border-bottom-left-radius: 20px;
	border-bottom-right-radius: 0px;
	border-top-left-radius: 20px;
	border-top-right-radius: 0px;
	left: auto;
	right: 12px;
}

.story2__lower-text-wrap {
	right: -32px;
	top: 35px;
	translate: 0 0;
}

.story2__lower-text-wrap.--reverse {
	left: -30px;
}

.story2__lower-text-wrap.--last {
	right: -41px;
}

.story2__lower-text.--2 {
	padding-left: 0;
	width: 232px;
}

.story2__lower-text.--3 {
	width: 200px;
}

.story2__lower-text.--4 {
	width: 245px;
}

.story2__lower-text.--5 {
	width: 148px;
}

.story2__lower-text.--sp {
	display: block;
}

.story2__lower-kirakira {
	right: -14px;
}

.story2__lower-kirakira.--reverse {
	left: -14px;
}

.voice {
	padding-block: 118px 74px;
}

.voice__inner {
	padding-inline: 30px;
}

.voice__title-wrap {
	top: -16px;
}

.voice__title {
	font-size: 25px;
	height: 39px;
	letter-spacing: 1.25px;
	width: 179px;
}

.voice__title::before {
	height: 45px;
	width: 185px;
}

.voice__title-small {
	font-size: 25px;
	letter-spacing: 1.25px;
}

.voice__contents {
	flex-direction: column;
	gap: 94px;
}

.voice__content {
	margin-inline: auto;
	max-width: 315px;
	width: 100%;
}

.voice__content.--3 {
	min-height: auto;
}

.voice__img-wrap {
	height: 140px;
	width: 192px;
}

.voice__age {
	margin-top: 0;
}

.merit {
	margin-top: 82px;
	padding-block: 29px 60px;
}

.merit__title-wrap {
	top: -27px;
}

.merit__title {
	height: 45px;
	width: 301px;
}

.merit__title::before {
	border-width: 23px 0 22px 15px;
	left: -14px;
}

.merit__title::after {
	border-width: 23px 15px 22px 0;
	right: -14px;
}

.merit__title-outline {
	height: 51px;
	width: 307px;
}

.merit__title-outline::before {
	border-width: 26px 0 25px 17px;
	left: -17px;
}

.merit__title-outline::after {
	border-width: 26px 17px 25px 0;
	right: -17px;
}

.merit__stripe {
	height: auto;
	max-width: 375px;
	width: 100%;
}

.merit__inner {
	max-width: 375px;
}

.merit__contents {
	padding: 37px 25px 44px 25px;
}

.merit__contents.--lower {
	margin-top: 23px;
}

.merit__content {
	margin-bottom: 36px;
}

.merit__check {
	margin-top: 1px;
}

.merit__content-title {
	font-size: 16px;
	letter-spacing: 0.8px;
}

.merit__content-text {
	margin-top: 2px;
	padding-right: 12px;
}

.merit__text {
	font-size: 25px;
	letter-spacing: 1.25px;
	margin-top: 151px;
}

.merit__text-small {
	font-size: 20px;
	letter-spacing: 1px;
}

.cta__upper {
	margin-block: 57px 55px;
	max-width: 400px;
}

.cta__text {
	font-size: 24px;
	left: 52%;
	letter-spacing: 2px;
	line-height: 1.3;
	top: 107px;
}

.cta__lower {
	padding-block: 16px;
}

.cta__btn-wrap {
	align-items: center;
	flex-direction: column;
	gap: 27px;
}

.cta__btn-inner {
	justify-content: flex-start;
	position: relative;
}

.cta__btn-inner.--ec {
	height: 55px;
	padding-left: 24px;
	width: 230px;
}

.cta__btn-inner.--line {
	height: 55px;
	padding-left: 27px;
	width: 230px;
}

.cta__btn-text {
	font-size: 13.5px;
	letter-spacing: 1.89px;
}

.cta__btn-text.--line {
	letter-spacing: 0.4px;
	margin-right: 12px;
	white-space: nowrap;
}

.cta__yellow {
	font-size: 15px;
	letter-spacing: 2.1px;
}

.cta__btn-circle {
	height: 21px;
	position: absolute;
	right: 26px;
	top: 50%;
	translate: 0 -50%;
	width: 21px;
}

.br-pc {
	display: none;
}

.br-sp {
	display: block;
}

.show-pc {
	display: none;
}

.show-sp {
	display: block;
}

}

