@charset "UTF-8";

/* --------------------------------------------------------------------------------
			Reset
-------------------------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	font-feature-settings: "palt";
	letter-spacing: 0.1em;
}
*, *:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box !important;
}
h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
	font-size: 100%;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
img {
	vertical-align: top;
}
html {
	scroll-behavior: smooth;
}

/* --------------------------------------------------------------------------------
		common
-------------------------------------------------------------------------------- */
.device_sp {
	display: none !important;
}
body {
	margin: 0;
	font-size: 16px;
	line-height: 1.6;
	font-family: "Zen Kaku Gothic New", sans-serif;
	color: #000;
	-webkit-text-size-adjust: 100%;
	min-width: 1170px;
}
a {
	text-decoration: none;
	transition: all .3s;
}
a:hover {
	opacity: .6;
}
a, a:visited, a:link, a:active {
	color: #000;
}
.inner {
	width: 1100px;
	position: relative;
	margin: 0 auto;
}

/* --------------------------------------------------------------------------------
		header
-------------------------------------------------------------------------------- */
#header {
	position: relative;
	z-index: 10;
}
#header .header-band {
	height: 36px;
	overflow: hidden;
	background-color: #c91522;
	color: #fce3e1;
}
#header .header-band-track {
	display: flex;
	width: max-content;
	height: 100%;
	animation: header-band-scroll 40s linear infinite;
}
#header .header-band-group {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}
#header .header-band-group > span {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	padding: 0 17px;
	font-family: "mamelon", sans-serif;
	font-size: 23px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0;
	white-space: nowrap;
}
#header .header-band-group .heart {
	margin-left: 3px;
	font-family: "mamelon", sans-serif;
	font-size: 20px;
	letter-spacing: 0;
}
#header .header-inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	position: absolute;
	top: 52px;
	left: 4%;
	width: 94%;
}
#header .header-logo {
	width: 82px;
}
#header .header-logo a {
	display: block;
}
#header .header-logo img {
	width: 100%;
	height: auto;
}
#header .header-nav ul {
	display: flex;
	gap: 22px;
}
#header .header-nav a {
	color: #cf1523;
	font-size: 13px;
	letter-spacing: 0.03em;
}
@keyframes header-band-scroll {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-50%);
	}
}


/* --------------------------------------------------------------------------------
		メインビジュアル
-------------------------------------------------------------------------------- */
#mv {
	position: relative;
	height: 650px;
	overflow: hidden;
	background-color: #f8dcd9;
	background-image: none;
}
#mv:before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 1200px;
	height: 100%;
	background-image: url("../images/mv-pc.jpg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 1200px 650px;
	transform: translateX(-50%);
	-webkit-mask-image: linear-gradient(to right, transparent 0%, #000 8%, #000 92%, transparent 100%);
	mask-image: linear-gradient(to right, transparent 0%, #000 8%, #000 92%, transparent 100%);
	pointer-events: none;
}
#mv > .inner {
	position: relative;
	z-index: 1;
	width: 1200px;
	height: 100%;
	margin: 0 auto;
}
#mv .mv-copy {
	position: absolute;
	top: 188px;
	left: 96px;
}
#mv .mv-copy p {
	position: relative;
	z-index: 1;
	color: #231815;
	font-size: 34px;
	font-weight: 700;
	line-height: 1.78;
	letter-spacing: 0.2em;
}
#mv .mv-copy p span {
	color: #cf1523;
	letter-spacing: inherit;
}
#mv .mv-ichigo {
	position: absolute;
	top: 75px;
	left: 270px;
	width: 95px;
	height: auto;
}
#mv .mv-bottom {
	position: absolute;
	right: 0;
	bottom: 18px;
	left: 0;
	text-align: center;
}
#mv .mv-title {
	color: #c91522;
	font-family: "mamelon", sans-serif;
	font-size: 82px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0.02em;
	white-space: nowrap;
}
#mv .mv-brand-list {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 30px;
	width: 580px;
	min-height: 45px;
	margin: 16px auto 0;
	padding: 8px 20px;
	border: 2px solid #e50020;
	border-radius: 50px;
	background-color: #fff;
}
#mv .mv-brand-list li {
	position: relative;
	padding-left: 11px;
	color: #cf1523;
	font-family: "mamelon", sans-serif;
	font-size: 17px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 0;
	white-space: nowrap;
}
#mv .mv-brand-list li:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background-color: #cf1523;
	transform: translateY(-50%);
}

#mv .mv-brand-list li a {
	
	color: #cf1523;
	
}




/* --------------------------------------------------------------------------------
		アニメーション設定
-------------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
	#header .header-band-track {
		animation: none;
	}
}




/* --------------------------------------------------------------------------------
		商品紹介
-------------------------------------------------------------------------------- */
#about {
	position: relative;
	overflow: hidden;
	padding: 64px 0 52px;
	background-color: #fbdfe3;
	background-image:
		linear-gradient(to right, #e61932 2px, transparent 2px),
		linear-gradient(to bottom, #e61932 2px, transparent 2px);
	background-size: 54px 54px;
	background-position: center top;
}
#about:before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-image: url("../images/about-deco-pc.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 1200px auto;
	pointer-events: none;
}
#about .about-panel {
	position: relative;
	z-index: 1;
	width: 630px;
	margin: 0 auto;
	padding: 38px 80px 66px;
	border-radius: 34px;
	background-color: #c91522;
	color: #fff;
}
#about .about-heading {
	text-align: center;
}
#about .about-heading-en {
	font-family: "mamelon", sans-serif;
	font-size: 25px;
	line-height: 1.5;
	letter-spacing: 0.03em;
}
#about .about-heading h2 {
	margin-top: 5px;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.12em;
}
#about .about-count {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 43px;
	right: 42px;
	width: 76px;
	height: 76px;
	border-radius: 50%;
	background-color: #fff;
	color: #cf1523;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.1em;
}
#about .about-count span {
	margin: 0 3px;
	font-size: 24px;
	letter-spacing: 0;
}
#about .about-product-list {
	display: flex;
	flex-direction: column;
	gap: 66px;
	margin-top: 54px;
}
#about .about-product {
	display: flex;
	align-items: center;
	gap: 40px;
}
#about .about-product-img {
	flex-shrink: 0;
	width: 160px;
	height: 160px;
	overflow: hidden;
	border-radius: 50%;
}
#about .about-product-img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#about .about-product-txt {
	flex: 1;
	min-width: 0;
}
#about .about-product-kana {
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0.05em;
}
#about .about-product-txt h3 {
	margin-top: 2px;
	font-family: "mamelon", sans-serif;
	font-size: 34px;
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: 0;
	white-space: nowrap;
}
#about .about-product-copy {
	margin-top: 10px;
	font-size: 18px;
	line-height: 1.5;
	letter-spacing: 0.08em;
}

/* --------------------------------------------------------------------------------
		商品ごとの出現アニメーション
-------------------------------------------------------------------------------- */
#about .js-product-reveal.is-reveal-ready {
	opacity: 0;
	transform: translateY(45px);
	transition: opacity .9s ease, transform .9s cubic-bezier(.22, 1, .36, 1);
}
#about .js-product-reveal.is-reveal-ready.is-visible {
	opacity: 1;
	transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
	#about .js-product-reveal.is-reveal-ready {
		opacity: 1;
		transform: none;
		transition: none;
	}
}


/* --------------------------------------------------------------------------------
		コンセプト
-------------------------------------------------------------------------------- */
#concept {
	position: relative;
	overflow: hidden;
	padding: 134px 0 138px;
	background-color: #b9e2c4;
	background-image: url("../images/concept-bg.jpg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
#concept .inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	z-index: 1;
	width: 1000px;
}
#concept .concept-txt {
	width: 600px;
	padding-top: 12px;
}
#concept .concept-txt h2 {
	padding-left: 20px;
	border-left: 6px solid #231815;
	color: #231815;
	font-size: 48px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: 0.14em;
}
#concept .concept-description {
	margin-top: 58px;
	color: #231815;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.1em;
}
#concept .concept-description p {
	letter-spacing: inherit;
}
#concept .concept-description p + p {
	margin-top: 24px;
}
#concept .concept-visual {
	position: relative;
	flex-shrink: 0;
	width: 270px;
	margin-right: 70px;
	isolation: isolate;
}
#concept .concept-visual:before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 38px;
	left: 35px;
	width: 100%;
	height: 100%;
	border-radius: 20px;
	background-color: #83aa8f;
}
#concept .concept-img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 20px;
}
#concept .concept-badge {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	right: -64px;
	bottom: 56px;
	width: 100px;
	height: 100px;
	border-radius: 50%;
	background-color: #ffdf5b;
	color: #231815;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0.03em;
	text-align: center;
}
#concept .concept-flight {
	position: absolute;
	top: 120px;
	left: calc(50% + 42px);
	width: 36px;
	height: 36px;
	pointer-events: none;
}
#concept .concept-flight:before {
	content: "";
	position: absolute;
	top: 34px;
	right: 28px;
	width: 820px;
	height: 16px;
	background-color: rgba(104, 177, 126, .22);
	clip-path: polygon(0 0, 100% 45%, 100% 55%, 0 100%);
	transform: rotate(-25deg);
	transform-origin: right center;
}
#concept .concept-flight img {
	display: block;
	position: relative;
	width: 100%;
	height: auto;
	margin: 15px;
}


/* --------------------------------------------------------------------------------
		商品紹介詳細
-------------------------------------------------------------------------------- */
#products {
	padding: 80px 0 100px;
	background-color: #fbdfe5;
}
#products > .inner {
	width: 1000px;
}
#products .products-heading {
	color: #c91522;
	text-align: center;
}
#products .products-heading h2 {
	font-family: "mamelon", sans-serif;
	font-size: 88px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0.06em;
}
#products .products-heading > p {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 150px;
	min-height: 40px;
	margin: 12px auto 0;
	padding: 5px 15px;
	border-radius: 30px;
	background-color: #fff;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.2em;
}
#products .products-list {
	margin-top: 100px;
}
#products .products-item {
	display: grid;
	grid-template-columns: 435px 350px;
	justify-content: center;
	column-gap: 72px;
	position: relative;
}
#products .products-item + .products-item {
	margin-top: 100px;
	padding-top: 104px;
}
#products .products-item + .products-item:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 8px;
	background-image: radial-gradient(circle, #c91522 4px, transparent 4px);
	background-repeat: repeat-x;
	background-position: left center;
	background-size: 30px 8px;
}
#products .products-photo {
	overflow: hidden;
	border-radius: 22px;
}
#products .products-photo img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}
#products .products-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 7px 8px;
	margin-top: 40px;
}
#products .products-tags li {
	padding: 4px 8px;
	border: 1px solid #f03860;
	color: #f03860;
	font-size: 14px;
	line-height: 1.4;
	letter-spacing: 0.04em;
}
#products .products-features {
	margin-top: 30px;
}
#products .products-features li {
	position: relative;
	padding-left: 24px;
	color: #231815;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.65;
	letter-spacing: 0.1em;
}
#products .products-features li + li {
	margin-top: 5px;
}
#products .products-features li:before {
	content: "";
	position: absolute;
	top: 6px;
	left: 0;
	width: 14px;
	height: 18px;
	background-image: url("../images/i-ichigo.svg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}
#products .products-info {
	padding-top: 28px;
}
#products .products-title {
	color: #c91522;
}
#products .products-kana {
	font-size: 17px;
	line-height: 1.5;
	letter-spacing: 0.15em;
}
#products .products-title h3 {
	margin-top: 6px;
	font-family: "mamelon", sans-serif;
	font-size: 56px;
	font-weight: 400;
	line-height: 1.08;
	letter-spacing: 0.12em;
}
#products .products-copy {
	margin-top: 26px;
	font-size: 25px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: 0.14em;
}
#products .products-packages {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
	margin-top: 110px;
}
#products .products-package {
	width: 100%;
	text-align: center;
}
#products .products-package-visual {
	position: relative;
	width: 300px;
	margin: 0 auto;
}
#products .products-package-img {
	display: block;
	width: 100%;
	height: auto;
	filter: drop-shadow(14px 10px 0 rgba(176, 75, 87, .28));
	transform-origin: center bottom;
	transition: transform .35s cubic-bezier(.22, 1, .36, 1);
}
#products .products-package-airemel .products-package-visual {
	width: 220px;
}
#products .products-package figcaption {
	margin-top: 15px;
	color: #231815;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0;
}
#products .products-price {
	font-size: 24px;
	font-weight: 500;
	letter-spacing: 0;
}

/* --------------------------------------------------------------------------------
		商品パッケージのホバー
-------------------------------------------------------------------------------- */
#products .products-hover-lines {
	position: absolute;
	top: -52px;
	right: -50px;
	width: 80px;
	height: 70px;
	overflow: visible;
	opacity: 0;
	transform: translate(-8px, 8px) scale(.8);
	transform-origin: left bottom;
	transition: opacity .2s ease, transform .3s ease;
	pointer-events: none;
}
#products .products-hover-lines path {
	fill: none;
	stroke: #c91522;
	stroke-width: 4;
	stroke-linecap: round;
}
@media (hover: hover) and (pointer: fine) {
	#products .products-package-visual:hover .products-package-img {
		transform: translateY(-8px) rotate(-8deg);
	}
	#products .products-package-visual:hover .products-hover-lines {
		opacity: 1;
		transform: translate(0, 0) scale(1);
	}
}

/* --------------------------------------------------------------------------------
		商品ごとの出現アニメーション
-------------------------------------------------------------------------------- */
#products .js-product-reveal.is-reveal-ready {
	opacity: 0;
	transform: translateY(45px);
	transition: opacity .9s ease, transform .9s cubic-bezier(.22, 1, .36, 1);
}
#products .js-product-reveal.is-reveal-ready.is-visible {
	opacity: 1;
	transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
	#products .js-product-reveal.is-reveal-ready {
		opacity: 1;
		transform: none;
		transition: none;
	}
	#products .products-package-img,
	#products .products-hover-lines {
		transition: none;
	}
	#products .products-package-visual:hover .products-package-img {
		transform: none;
	}
}


/* --------------------------------------------------------------------------------
		ブランドステートメント
-------------------------------------------------------------------------------- */
#statement {
	padding: 64px 0 80px;
	background-color: #fbdfe5;
}
#statement .statement-panel {
	width: 900px;
	margin: 0 auto;
	padding: 120px 40px 110px;
	border-radius: 64px;
	background-color: #fa8da2;
	background-image: url("../images/statement-bg.jpg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	color: #fff;
	text-align: center;
}
#statement .statement-label {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.18em;
}
#statement h2 {
	margin-top: 18px;
	color: #fff39b;
	font-family: "mamelon", sans-serif;
	font-size: 56px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0.12em;
}
#statement .statement-copy {
	margin-top: 30px;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.08em;
}
#statement .statement-ichigo {
	display: block;
	width: 86px;
	height: auto;
	margin: 24px auto 0;
}
#statement .statement-description {
	margin-top: 30px;
	font-size: 19px;
	font-weight: 700;
	line-height: 2.1;
	letter-spacing: 0.12em;
}
#statement .statement-description p {
	letter-spacing: inherit;
}
#statement .statement-description p + p {
	margin-top: 22px;
	line-height: 1.6;
}


/* --------------------------------------------------------------------------------
		FUKUOKA SCENE
-------------------------------------------------------------------------------- */
#scene {
	padding: 140px 0 80px;
	background-color: #fbdfe5;
}
#scene .scene-bag {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	width: 1000px;
	margin: 0 auto;
	padding: 78px 55px 58px 73px;
	border-radius: 60px;
	background-color: #9fc8d8;
}
#scene .scene-bag:before {
	content: "";
	position: absolute;
	bottom: 100%;
	left: 50%;
	width: 340px;
	height: 80px;
	border: 21px solid #9fc8d8;
	border-bottom: none;
	border-radius: 30px 30px 0 0;
	transform: translateX(-50%);
}
#scene .scene-txt {
	width: 413px;
}
#scene .scene-label {
	color: #ff6080;
	font-size: 26px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.14em;
}
#scene .scene-txt h2 {
	margin-top: 12px;
	color: #40839c;
	font-size: 38px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.14em;
}
#scene .scene-list {
	margin-top: 28px;
	padding: 24px;
	border-radius: 22px;
	background-color: #fff;
}
#scene .scene-list li {
	display: grid;
	grid-template-columns: 144px minmax(0, 1fr);
	align-items: center;
	position: relative;
	padding: 16px 0;
}
#scene .scene-list li + li:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background-image: radial-gradient(circle, #cfe3eb 1.5px, transparent 1.5px);
	background-repeat: repeat-x;
	background-position: left center;
	background-size: 12px 3px;
}
#scene .scene-category {
	display: flex;
	align-items: center;
	gap: 12px;
	color: #ff6080;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.04em;
}
#scene .scene-category span {
	font-size: 14px;
	letter-spacing: 0.05em;
}
#scene .scene-description {
	color: #231815;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.04em;
}
#scene .scene-gallery {
	display: grid;
	grid-template-columns: 200px 200px;
	gap: 15px;
	width: 415px;
}
#scene .scene-gallery-column {
	display: flex;
	flex-direction: column;
	gap: 15px;
}
#scene .scene-photo {
	overflow: hidden;
	border-radius: 22px;
}
#scene .scene-photo-airemel {
	height: 350px;
}
#scene .scene-photo-bonbonberry {
	height: 200px;
}
#scene .scene-photo-omoty {
	height: 275px;
}
#scene .scene-photo-cream-sand {
	height: 230px;
}
#scene .scene-photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1);
	transition: transform .6s cubic-bezier(.22, 1, .36, 1);
}

/* --------------------------------------------------------------------------------
		写真のホバー
-------------------------------------------------------------------------------- */
@media (hover: hover) and (pointer: fine) {
	#scene .scene-photo:hover img {
		transform: scale(1.06);
	}
}
@media (prefers-reduced-motion: reduce) {
	#scene .scene-photo img {
		transition: none;
	}
	#scene .scene-photo:hover img {
		transform: none;
	}
}




/* --------------------------------------------------------------------------------
		お問い合わせ
-------------------------------------------------------------------------------- */
#contact {
	padding: 60px 0 100px;
	background-color: #fbdfe5;
}
#contact > .inner {
	width: 1100px;
}
#contact .contact-heading {
	color: #c91522;
	text-align: center;
}
#contact .contact-heading h2 {
	font-family: "mamelon", sans-serif;
	font-size: 88px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0.06em;
}
#contact .contact-heading > p {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 166px;
	min-height: 40px;
	margin: 12px auto 0;
	padding: 5px 15px;
	border-radius: 30px;
	background-color: #fff;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.08em;
}
#contact .contact-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 25px;
	margin-top: 35px;
}
#contact .contact-card {
	display: flex;
	flex-direction: column;
	min-height: 415px;
	padding: 56px 44px;
	border-radius: 34px;
	color: #231815;
}
#contact .contact-produced {
	background-color: #e8325b;
	color: #fff;
}
#contact .contact-general {
	background-color: #9fdaad;
}
#contact .contact-business {
	background-color: #cca0d9;
}
#contact .contact-label {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.08em;
}
#contact .contact-general .contact-label {
	color: #1b9f42;
}
#contact .contact-business .contact-label {
	color: #af26d0;
}
#contact .contact-card h3 {
	margin-top: 18px;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: 0.02em;
}
#contact .contact-description {
	margin-top: 14px;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.9;
	letter-spacing: 0;
}
#contact .contact-btn {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 100%;
	min-height: 46px;
	margin-top: auto;
	padding: 9px 30px;
	border: 2px solid transparent;
	border-radius: 30px;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.03em;
	text-align: center;
	transition: background-color .3s ease, color .3s ease;
}
#contact .contact-btn span {
	letter-spacing: inherit;
}
#contact .contact-general .contact-btn {
	border-color: #1b9f42;
	background-color: #1b9f42;
}
#contact .contact-business .contact-btn {
	border-color: #af26d0;
	background-color: #af26d0;
}
#contact .contact-arrow {
	display: block;
	position: absolute;
	top: 50%;
	right: 13px;
	width: 20px;
	height: 10px;
	background-color: currentColor;
	-webkit-mask: url("../images/i-arrow.svg") center / contain no-repeat;
	mask: url("../images/i-arrow.svg") center / contain no-repeat;
	transform: translateY(-50%);
}
/* --------------------------------------------------------------------------------
		お問い合わせボタンのホバー
-------------------------------------------------------------------------------- */
#contact .contact-btn:hover {
	opacity: 1;
}
#contact .contact-btn:focus-visible {
	outline: 3px solid #231815;
	outline-offset: 4px;
}
#contact .contact-general .contact-btn:focus-visible {
	background-color: #fff;
	color: #1b9f42;
}
#contact .contact-business .contact-btn:focus-visible {
	background-color: #fff;
	color: #af26d0;
}
@media (hover: hover) and (pointer: fine) {
	#contact .contact-general .contact-btn:hover {
		background-color: #fff;
		color: #1b9f42;
	}
	#contact .contact-business .contact-btn:hover {
		background-color: #fff;
		color: #af26d0;
	}
}
@media (prefers-reduced-motion: reduce) {
	#contact .contact-btn {
		transition: none;
	}
}

/* --------------------------------------------------------------------------------
		footer
-------------------------------------------------------------------------------- */
#footer {
	background-color: #e8325b;
	color: #fff;
}
#footer > .inner {
	display: flex;
	align-items: center;
	gap: 64px;
	width: 910px;
	padding: 34px 0 24px;
}
#footer .footer-logo {
	flex-shrink: 0;
	width: 130px;
}
#footer .footer-logo a {
	display: block;
}
#footer .footer-logo img {
	display: block;
	width: 100%;
	height: auto;
}
#footer .footer-content {
	flex: 1;
	min-width: 0;
}
#footer .footer-nav ul {
	display: flex;
	align-items: center;
	gap: 36px;
}
#footer .footer-nav a {
	display: inline-block;
	position: relative;
	padding-left: 19px;
	color: #fff;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.08em;
}
#footer .footer-nav a:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background-color: #fff;
	transform: translateY(-50%);
}
#footer .footer-produced {
	margin-top: 24px;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.08em;
}
#footer .footer-policy {
	display: flex;
	align-items: center;
	margin-top: 4px;
}
#footer .footer-policy li {
	font-size: 12px;
	line-height: 1.5;
}
#footer .footer-policy li + li {
	margin-left: 12px;
	padding-left: 12px;
	border-left: 1px solid #fff;
}
#footer .footer-policy a {
	color: #fff;
	letter-spacing: 0.05em;
}
#footer .footer-bottom {
	padding: 4px 44px;
	border-top: 1px solid rgba(255, 255, 255, .5);
}
#footer .footer-copyright {
	text-align: right;
}
#footer .footer-copyright small {
	display: block;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.06em;
}
