/* == root == */

:root {
	--color-black: rgba(0,0,0,1);
	--color-white: rgba(255,255,255,1);
	--color-text: rgba(34,34,34,1);
	--color-main: rgba(68,131,162,1);
	--color-sub: rgba(243,171,64,1);
	--color-line: rgba(158,194,220,1);
	--color-lightblue: rgba(224,238,248,1);
	--color-green: rgba(155,209,98,1);
	--color-marker: rgba(242,120,146,0.2);
	--gradient-blue: linear-gradient(170deg,rgba(87, 144, 171, 1) 0%, rgba(68, 131, 162, 1) 100%);
	--gradient-ligthblue: linear-gradient(170deg,rgba(240, 247, 252, 1) 0%, rgba(224, 238, 248, 1) 100%);
	--gradient-orange: linear-gradient(170deg,rgba(246, 192, 112, 1) 0%, rgba(243, 171, 64, 1) 100%);
	--gradient-white: linear-gradient(170deg,rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0.1) 100%);
	--length-base: 40px;
	--length-s: 4px;
	--length-1: 8px;
	--length-2: 16px;
	--length-3: 24px;
	--length-4: 32px;
	--length-5: 40px;
	--length-6: 48px;
	--length-7: 56px;
	--length-8: 64px;
	--length-9: 72px;
	--length-10: 80px;
	--length-11: 88px;
	--length-12: 96px;
	--length-13: 104px;
	--length-14: 112px;
	--length-15: 120px;
	--fontfamily-ja: "Noto Sans JP", sans-serif;
	--fontfamily-en: "Lato", sans-serif;
	--fontfamily-cursive: "Island Moments", cursive;
	--fontsize-xs: 0.75em; /* 12px */
	--fontsize-sm: 0.875em; /* 14px */
	--fontsize-md: 1em; /* 16px */
	--fontsize-lg: 1.125em; /* 18px */
	--fontsize-xl: 1.25em; /* 20px */
	--fontsize-xxl: 1.5em; /* 24px */
	--fontsize-xxxl: 1.75em; /* 28px */
	--fontsize-x2: 2em; /* 32px */
	--lineheight-1: 1;
	--lineheight-xs: 1.1;
	--lineheight-sm: 1.333;
	--lineheight-md: 1.666;
	--lineheight-lg: 2;
}

/* == global utility == */

/* font-family */
.u-ff-notosans { font-family: "Noto Sans JP", sans-serif; }
.u-ff-lato { font-family: "Lato", sans-serif; }
.u-ff-cursive { font-family: "Island Moments", cursive; }

/* font-size */
.u-fs-xs { font-size: 0.75em; }
.u-fs-sm { font-size: 0.875em; }
.u-fs-md { font-size: 1em; }
.u-fs-lg { font-size: 1.125em; }
.u-fs-xl { font-size: 1.25em; }
.u-fs-xxl { font-size: 1.5em; }
.u-fs-xxxl { font-size: 1.75em; }
.u-fs-x2 { font-size: 2em; }

/* line-height */
.u-lh-1 { line-height: 1; }
.u-lh-xs { line-height: 1.1; }
.u-lh-sm { line-height: 1.333; }
.u-lh-md { line-height: 1.666; }
.u-lh-lg { line-height: 2; }

/* font-weight */
.u-fw-100 { font-weight: 100; }
.u-fw-200 { font-weight: 200; }
.u-fw-300 { font-weight: 300; }
.u-fw-400, .u-fw-n { font-weight: 400; }
.u-fw-500 { font-weight: 500; }
.u-fw-600 { font-weight: 600; }
.u-fw-700, .u-fw-b { font-weight: 700; }
.u-fw-800 { font-weight: 800; }
.u-fw-900 { font-weight: 900; }

/* color */
.u-c-black { color: rgba(0,0,0,1); }
.u-c-white { color: rgba(255,255,255,1); }
.u-c-text { color: rgba(34,34,34,1); }
.u-c-main { color: rgba(68,131,162,1); }
.u-c-sub { color: rgba(243,171,64,1); }
.u-c-line { color: rgba(158,194,220,1); }
.u-c-lightblue { color: rgba(224,238,248,1); }
.u-c-green { color: rgba(155,209,98,1); }
.u-c-marker { color: rgba(242,120,146,0.2); }

/* background gradient */
.u-bg-gra_blue { background: linear-gradient(170deg,rgba(87, 144, 171, 1) 0%, rgba(68, 131, 162, 1) 100%); }
.u-c-gra_lightblue { background: linear-gradient(170deg,rgba(240, 247, 252, 1) 0%, rgba(224, 238, 248, 1) 100%) }
.u-c-gra_orange { background: linear-gradient(170deg,rgba(246, 192, 112, 1) 0%, rgba(243, 171, 64, 1) 100%) }
.u-c-gra_white { background: linear-gradient(170deg,rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0.1) 100%) }

/* font-style */
.u-fst-n { font-style: normal; }
.u-fst-1 { font-style: italic; }

/* margin-top */
.u-mt-xs { margin-top: 0.25em; }
.u-mt-sm { margin-top: 0.5em; }
.u-mt-md { margin-top: 1em; }
.u-mt-lg { margin-top: 2em; }
.u-mt-xl { margin-top: 3em; }

/* margin-bottom */
.u-mb-xs { margin-bottom: 0.25em; }
.u-mb-sm { margin-bottom: 0.5em; }
.u-mb-md { margin-bottom: 1em; }
.u-mb-lg { margin-bottom: 2em; }
.u-mb-xl { margin-bottom: 3em; }

/* padding */
.u-p-xs { padding: 0.25em; }
.u-p-sm { padding: 0.5em; }
.u-p-md { padding: 1em; }
.u-p-lg { padding: 2em; }

/* text-align */
.u-ta-c { text-align: center; }
.u-ta-l { text-align: left; }
.u-ta-r { text-align: right; }

/* == base == */

* {
	box-sizing: border-box;
}

body {
	margin: 0;
	padding: 0;
	padding-top: 6em;
	font-size: 16px;
	line-height: 2;
	color: var(--color-text);
	letter-spacing: 0.05em;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-optical-sizing: auto;
	font-feature-settings: "palt";
}

@media (max-width: 1320px) { body { padding-top: calc( 15px * 6 ); } #header { font-size: 15px; } }
@media (max-width: 1250px) { body { padding-top: calc( 14px * 6 ); } #header { font-size: 14px; } }
@media (max-width: 1180px) { body { padding-top: calc( 13px * 6 ); } #header { font-size: 13px; } }
@media (max-width: 1150px) { body { padding-top: calc( 12px * 6 ); } #header { font-size: 12px; } }
@media (max-width: 1050px) { body { padding-top: calc( 11px * 6 ); } #header { font-size: 11px; } }

img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

a {
	color: var(--color-main);
	text-decoration: underline;
	transition: color 0.4s;
}

a:hover {
	color: var(--color-line);
	text-decoration: none;
}

a img {
	transition: opacity 0.4s;
}

a:hover img {
	opacity: 0.6;
}

.pc { display: block; }
.tb { display: none; }
.sp { display: none; }
.pc.tb { display: block; }
.pc.sp { display: block; }
.tb.sp { display: none; }

ul, ol, li {
	list-style-type: none;
}

h1 {
	font-size: 3em;
	line-height: var(--lineheight-xs);
	font-weight: 900;
}

h2 {
	font-size: 2.5em;
	line-height: var(--lineheight-xs);
	font-weight: 900;
}

h3 {
	font-size: 2em;
	line-height: var(--lineheight-sm);
	font-weight: 900;
}

h4 {
	font-size: 1.5em;
	line-height: var(--lineheight-sm);
	font-weight: 700;
}

h5 {
	font-size: 1.25em;
	line-height: var(--lineheight-md);
	font-weight: 700;
}

h6 {
	font-size: 1.125em;
	line-height: var(--lineheight-md);
	font-weight: 700;
}


details summary::-webkit-details-marker {
	display: none;
}

details summary::marker {
	display: none;
}

details summary {
	list-style: none;
}

details summary::-webkit-details-marker {
	display: none !important;
}

.main {
	position: relative;
	width: 100%;
}

.maincontents {
	padding: var(--length-8) 0 var(--length-10) 0;
}

.wrapper {
	position: relative;
	width: 100%;
	max-width: 1244px;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--length-base);
	padding-right: var(--length-base);
}

.wrapper.narrow { 
	max-width: 848px;
}

.wrapper_narrow {
	position: relative;
	width: 100%;
	max-width: 848px;
	margin-left: auto;
	margin-right: auto;
}

/* == parts == */

/* pagetitle */

.pagetitle {
	padding: 0 var(--length-2);
}

.pagetitle .wrapper {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: var(--length-2);
	max-width: 100%;
	padding: var(--length-8) 0;
	background: var(--gradient-ligthblue);
	border-radius: var(--length-1);
}

.pagetitle .pagetitle__jatitle {
	line-height: var(--lineheight-1);
}

.pagetitle .pagetitle__entitle {
	font-size: var(--fontsize-xxl);
	line-height: var(--lineheight-sm);
	font-weight: 700;
	color: var(--color-main);
}

/* breadcrumb */

.breadcrumb {
	padding: var(--length-1) var(--length-2);
	font-size: var(--fontsize-sm);
	font-weight: 700;
	line-height: var(--lineheight-sm);
	white-space: nowrap;
}

.breadcrumb a {
	color: var(--color-text);
	font-weight: 400;
}

.breadcrumb a:hover {
	color: var(--color-main);
}

.breadcrumb ol {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: var(--length-2);
}

.breadcrumb li {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: var(--length-2);
}

.breadcrumb li + li:before {
	content: "";
	flex-shrink: 0;
	display: block;
	width: 0.533em;
	height: 0.8em;
	background: url(/assets/image/i_arrow_blue.svg) no-repeat center center;
	background-size: 100% 100%;
}

.breadcrumb li:last-child {
	white-space: wrap;
}

/* pagination */

.pagination {
	padding-top: var(--length-6);
}

.pagination .pagination__list {
	display: flex;
	justify-content: center;
	color: var(--color-main);
	align-items: center;
	gap: var(--length-1);
}

.pagination .pagination__item--current {
	display: flex;
	justify-content: center;
	align-items: center;
	width: var(--length-5);
	height: var(--length-5);
	color: var(--color-white);
	font-weight: 700;
	text-decoration: none;
	background: var(--color-main);
	border: 1px solid var(--color-main);
	border-radius: var(--length-1);
}

.pagination .pagination__item a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: var(--length-5);
	height: var(--length-5);
	text-decoration: none;
	border: 1px solid var(--color-main);
	border-radius: var(--length-1);
	transition: box-shadow 0.4s;
}

.pagination .pagination__item a:hover {
	color: var(--color-main);
	box-shadow: 0 0 var(--length-1) rgba(68,131,162,0.5);
}

.pagination .pagination__item--prev a:before {
	content: "";
	flex-shrink: 0;
	display: block;
	width: 0.533em;
	height: 0.8em;
	background: url(/assets/image/i_arrow_blue.svg) no-repeat center center;
	background-size: 100% 100%;
	transform: rotate(180deg);
}

.pagination .pagination__item--next a:before {
	content: "";
	flex-shrink: 0;
	display: block;
	width: 0.533em;
	height: 0.8em;
	background: url(/assets/image/i_arrow_blue.svg) no-repeat center center;
	background-size: 100% 100%;
}

/* btn */

.btn {
	display: inline-block;
	line-height: var(--lineheight-md);
	font-weight: 700;
	text-decoration: none;
	color: var(--color-white);
	background: var(--gradient-blue);
	border-radius: var(--length-1);
	filter: brightness(1);
	transition: box-shadow 0.4s, filter 0.4s;
}

.btn.btn-s {
	font-size: var(--fontsize-sm);
	line-height: var(--lineheight-sm);
}

.btn.btn__sub {
	background: var(--gradient-orange);
}

.btn:hover {
	color: var(--color-white);
	filter: brightness(1.3);
	box-shadow: 0 0 var(--length-2) rgba(68,131,162,0.5);
}

.btn.btn__sub:hover {
	filter: brightness(1.1);
	box-shadow: 0 0 var(--length-2) rgba(243,171,64,0.5);
}

.btn.btn__ghost {
	color: var(--color-main);
	background: none;
	border: 1px solid var(--color-main);
	border-radius: var(--length-10);
}

.btn .btn__inner {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: var(--length-2);
	padding: 1em 3em;
}

.btn.btn__ghost .btn__inner  {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: var(--length-2);
	padding: 0.5em 1em;
}

.btn .btn__icon-cart {
	display: block;
	width: 1.2em;
	height: 1.2em;
	background: url(/assets/image/i_cart.webp) no-repeat center center;
	background-size: 100%;
}

.btn .btn__icon-arrow {
	position: relative;
	display: block;
	width: var(--length-s);
	height: var(--length-s);
	background: var(--color-white);
	border-radius: 100%;
}

.btn.btn__ghost .btn__icon-arrow {
	background: var(--color-main);
}

.btn .btn__icon-arrow::before,
.btn .btn__icon-arrow::after {
	content: "";
	position: absolute;
	right: var(--length-s);
	display: block;
	width: var(--length-s);
	height: var(--length-s);
	background: var(--color-white);
	border-radius: 100%;
}

.btn.btn__ghost .btn__icon-arrow::before,
.btn.btn__ghost .btn__icon-arrow::after {
	background: var(--color-main);
}

.btn .btn__icon-arrow::before {
	top: var(--length-s);
}

.btn .btn__icon-arrow::after {
	bottom: var(--length-s);
}

/* marker */

.marker {
  background: linear-gradient(transparent 50%, var(--color-marker) 0%);
  display: inline;
  padding: 0 1px 0px;
}

/* == header == */

#header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	padding: 1em 0;
	background: linear-gradient(0deg,rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
	z-index: 1000;
}

#header a {
	color: var(--color-text);
	font-weight: 700;
	text-decoration: none;
}

#header .btn .btn__inner {
	padding: 1em 1em;
	color: var(--color-white);
	filter: brightness(1);
	transition: filter 0.4s, box-shadow 0.4s;
}

#header .btn .btn__icon-cart {
	width: 2em;
	height: 2em;
}

#header .wrapper {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: var(--length-3);
	max-width: 100%;
	padding-left: var(--length-4);
	padding-right: var(--length-4);
}

#header .header__logo {
	margin-right: auto;
}

#header .header__logo img {
	width: auto;
	height: 2em;
}

#header .header__nav-list {
	display: flex;
	align-items: center;
	gap: var(--length-2);
}

#header .header__nav-list a {
	transition: color 0.4s;
}

#header .header__nav-list a:hover {
	color: var(--color-main);
}

#header .header__actions {
	display: flex;
	align-items: center;
	gap: var(--length-3);
}

#header .header__actions .header__icon-link {
	flex-shrink: 0;
	width: 2em;
}

#header .hiraku-open-btn {
	display: none;
	padding: var(--length-1) 0;
	border: none;
	border-radius: none;
}

#header .hiraku-open-btn-line {
	width: var(--length-4);
	background-color: var(--color-text);
}

#header [aria-expanded="true"] .hiraku-open-btn-line {
	background-color: transparent;
}

#header .hiraku-open-btn-line:before {
	top: calc( 0px - var(--length-1) );
	background-color: var(--color-text);
}

#header [aria-expanded="true"] .hiraku-open-btn-line:before {
	top: 0;
	width: var(--length-5);
    transform: translate(-2px, 0) rotate(45deg);
}

#header .hiraku-open-btn .hiraku-open-btn-line:after {
	bottom: calc( 0px - var(--length-1) );
	background-color: var(--color-text);
}

#header [aria-expanded="true"] .hiraku-open-btn-line:after {
	top: 0;
	width: var(--length-5);
    transform: translate(-2px, 0) rotate(-45deg);
}

/* == drawer menu == */

.js-hiraku-offcanvas-body-active .js-hiraku-offcanvas-sidebar-right,
.js-hiraku-offcanvas-body-active .js-hiraku-offcanvas-sidebar-left {
	min-height: 100svh !important;
}

.drawer-menu {
	padding-top: var(--length-5);
	text-align: center;
}

.drawer-menu a {
	color: var(--color-text);
	font-weight: 700;
	text-decoration: none;
}

.drawer-menu .header__logo img {
	width: 50%;
	height: auto;
}

.drawer-menu .header__nav {
	margin: var(--length-6) 0;
	font-size: var(--fontsize-xxxl);
	line-height: 2.5;
}

.drawer-menu .header__actions {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--length-6);
}

.drawer-menu .header__actions .btn__inner {
	padding: 1em 1em;
	font-size: var(--fontsize-xxl);
	color: var(--color-white);
	filter: brightness(1);
	transition: filter 0.4s, box-shadow 0.4s;
}

.drawer-menu .header__actions .header__icon-link {
	width: 4em;
}

.drawer-menu .hiraku-open-btn {
	display: none;
}

/* == footer == */

#footer {
	background: var(--gradient-ligthblue);
}

#footer .footer__contact {
	padding: var(--length-10) 0;
}

#footer .footer__contact h2 {
	font-size: var(--fontsize-x2);
	text-align: center;
}

#footer .footer__contact .faq__title {
	margin-bottom: var(--length-4);
	font-size: var(--fontsize-x2);
	text-align: center;
	color: var(--color-main);
}

#footer .footer__contact .faq__item {
	line-height: var(--lineheight-md);
	background: var(--color-white);
	border: 1px solid var(--color-line);
	border-radius: var(--length-2);
	overflow: hidden;
}

#footer .footer__contact .faq__item + .faq__item {
	margin-top: var(--length-1);
}

#footer .footer__contact .faq-item__q {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: var(--length-3);
	padding: var(--length-3) var(--length-4);
	font-weight: 700;
	cursor: pointer;
}

#footer .footer__contact .faq-item__q-alphabet {
	width: 1em;
	font-family: var(--fontfamily-en);
	font-size: var(--fontsize-x2);
	line-height: var(--lineheight-1);
	font-weight: 300;
	text-align: center;
	color: var(--color-sub);
}

#footer .footer__contact .faq-item__q-text {
	width: 100%;
	transition: color 0.4s;
}

#footer .footer__contact .faq-item__q:hover .faq-item__q-text {
	color: var(--color-main);
}

#footer .footer__contact .faq-item__q-icon {
	position: relative;
	display: block;
	width: var(--length-s);
	height: var(--length-s);
	background: var(--color-main);
	border-radius: 100%;
	transition: transform 0.4s;
}

#footer .footer__contact .faq-item__q-icon::before,
#footer .footer__contact .faq-item__q-icon::after {
	content: "";
	position: absolute;
	bottom: var(--length-s);
	display: block;
	width: var(--length-s);
	height: var(--length-s);
	background: var(--color-main);
	border-radius: 100%;
	transition: bottom 0.4s;
}

#footer .footer__contact .is-opened .faq-item__q-icon {
	transform: translateY( calc( 0px - ( var(--length-s) / 2 ) ) );
}

#footer .footer__contact .is-opened .faq-item__q-icon::before,
#footer .footer__contact .is-opened .faq-item__q-icon::after {
	bottom: 0;
}

#footer .footer__contact .faq-item__q-icon::before {
	left: var(--length-s);
}

#footer .footer__contact .faq-item__q-icon::after {
	right: var(--length-s);
}

#footer .footer__contact .faq-item__a {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	gap: var(--length-3);
	padding: var(--length-4);
	padding-top: 0;
}

#footer .footer__contact .faq-item__a-alphabet  {
	width: 1em;
	font-family: var(--fontfamily-en);
	font-size: var(--fontsize-x2);
	line-height: var(--lineheight-1);
	font-weight: 300;
	text-align: center;
	color: var(--color-green);
}

#footer .footer__contact .faq-item__a-content  {
	width: 100%;
}

#footer .footer__contact .faq-item__a-content p + p  {
	margin-top: var(--length-2);
}

#footer .footer__contact .faq__actions {
	margin: var(--length-5) 0;
	text-align: center;
}
#footer .footer__contact .faq-item__a-content strong {
  background: linear-gradient(transparent 50%, var(--color-marker) 0%);
  display: inline;
  padding: 0 1px 0px;
}

#footer .footer__contact .b2b {
	padding: var(--length-4);
	text-align: center;
	background: var(--gradient-white);
	border: 1px solid var(--color-white);
	border-radius: var(--length-2);
}

#footer .footer__contact .b2b-cta__title {
	margin-bottom: var(--length-2);
	font-size: var(--fontsize-xxl);
	color: var(--color-main);
}

#footer .footer__contact .b2b-cta__text {
	margin-bottom: var(--length-3);
}

#footer .footer__main {
	padding: var(--length-10) 0 0 0;
	text-align: center;
	color: var(--color-white);
	background: var(--gradient-blue);
}

#footer .footer__main a {
	color: inherit;
	text-decoration: none;
}

#footer .footer__main a:hover {
	text-decoration: underline;
}

#footer .footer__main .wrapper {
	display: flex;
	justify-content: space-between;
	gap: var(--length-3);
}

#footer .footer__main .footer__aboutus {
	display: flex;
	justify-content: space-between;
	gap: var(--length-3);
	width: 75%;
}

#footer .footer__main .footer__brand {
	width: 33.333%;
}

#footer .footer__main .footer__logo {
	width: 100%;
	margin-bottom: var(--length-2);
}

#footer .footer__main .footer__message {
	margin-bottom: var(--length-2);
	font-size: var(--fontsize-lg);
	font-weight: 700;
}

#footer .footer__main .footer__message span {
	display: inline-block;
	position: relative;
	overflow: visible;
	line-height: 2;
}

#footer .footer__main .footer__message span::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(/assets/image/i_heart_white.svg) no-repeat center bottom;
	background-size: auto 90%;
	opacity: 0.5;
}

#footer .footer__main .footer__address {
	margin-bottom: var(--length-1);
	font-size: var(--fontsize-sm);
	line-height: var(--lineheight-sm);
}

#footer .footer__main .footer__instagram {
	margin-bottom: var(--length-3);
}

#footer .footer__main .footer__instagram a {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: var(--length-1);
}

#footer .footer__main .footer__instagram a:hover img {
	opacity: 1;
}

#footer .footer__main .footer__instagram-icon {
	width: var(--length-3);
}

#footer .footer__main .footer__cart .btn.btn__ghost {
	color: var(--color-white);
	border: 1px solid var(--color-white);
	transition: background 0.4s, box-shadow 0.4s, filter 0.4s;
}

#footer .footer__main .footer__cart .btn.btn__ghost:hover {
	text-decoration: none;
	background: rgba(255,255,255,0.25);
}

#footer .footer__main .footer__cart .btn.btn__ghost .btn__inner  {
	gap: var(--length-2);
	padding: 0.25em 1em;
}

#footer .footer__main .footer__map {
	width: 66.666%;
}

#footer .footer__main .footer__googlemap {
	position: relative;
	width: 100%;
	height: 100%;
}

#footer .footer__main .footer__googlemap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#footer .footer__main .footer__nav {
	align-self: center;
	width: 25%;
	text-align: left;
}

#footer .footer__bar {
	padding: var(--length-5);
	font-size: var(--fontsize-sm);
}

@media (max-width: 1280px) {

#footer .footer__main .wrapper {
	flex-wrap: wrap;
	gap: var(--length-6) var(--length-4);
}

#footer .footer__main .footer__aboutus {
	gap: var(--length-4);
	width: 100%;
}

#footer .footer__main .footer__brand {
	width: 40%;
}

#footer .footer__main .footer__logo img {
	width: 80%;
}

#footer .footer__main .footer__map {
	width: 60%;
}

#footer .footer__main .footer__nav {
	width: 100%;
	font-size: var(--fontsize-sm);
}

#footer .footer__main .footer__nav-list {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: var(--length-2);
	width: 100%;
}

}

/* == home == */

/* hero */

body.home #hero {
	position: relative;
}

body.home #hero .hero__copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	position: absolute;
	top: 0;
	left: 50%;
	width: 100%;
	height: 100%;
	padding-bottom: var(--length-15);
	max-width: 1244px;
	padding-left: var(--length-base);
	padding-right: var(--length-base);
	transform: translateX(-50%);
}

body.home #hero .hero__title {
	font-size: 3.5em;
	line-height: 1.333;
}

body.home #hero .hero__title span {
	display: inline-block;
	position: relative;
	overflow: visible;
}

body.home #hero .hero__title span::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(/assets/image/i_heart_color.svg) no-repeat center bottom;
	background-size: auto 90%;
	opacity: 0.5;
	z-index: -1;
	transform: scale(1.5) translateX(0.06em);
}

body.home #hero .hero__text {
	margin-top: var(--length-4);
	font-size: var(--fontsize-xxl);
	line-height: var(--lineheight-md);
	font-weight: bold;
}

body.home #hero .hero__visual {
	position: relative;
	text-align: right;
	z-index: -2;
}

body.home #hero .hero__img {
	width: 75%;
}

/* story */

body.home #story {
	padding: var(--length-15);
	text-align: center;
}

body.home #story .story__header {
	position: relative;
	margin-bottom: var(--length-4);
	z-index: 1;
}

body.home #story .story__lead {
	font-size: var(--fontsize-xxl);
	font-weight: 900;
	color: var(--color-sub);
}

body.home #story .story__text {
	position: relative;
	margin-bottom: var(--length-4);
	font-size: var(--fontsize-lg);
	z-index: 1;
}

body.home #story .story__images img {
	border-radius: 100%;
}

body.home #story .story__image-pic1,
body.home #story .story__image-pic2,
body.home #story .story__image-pic3,
body.home #story .story__image-bg1,
body.home #story .story__image-bg2,
body.home #story .story__image-bg3 {
	position: absolute;
}

body.home #story .story__image-pic1 {
	top: 50%;
	right: 0;
	width: 22%;
	margin-top: calc( 0px - var(--length-15) );
	margin-right: calc( 0px - var(--length-10) );
}

body.home #story .story__image-pic2 {
	bottom: 50%;
	left: 0;
	margin-top: calc( 0px - var(--length-10) );
	margin-left: calc( 0px - var(--length-10) );
	width: 20%;
}

body.home #story .story__image-pic3 {
	top: 50%;
	left: 0;
	margin-top: calc( 0px + var(--length-5) );
	margin-left: 0;
	width: 18%;
}

body.home #story .story__image-bg1 {
	top: 50%;
	right: 0;
	margin-top: calc( 0px + var(--length-5) );
	margin-right: 0;
	width: 22%;
}

body.home #story .story__image-bg2 {
	bottom: 60%;
	right: 0;
	margin-top: calc( 0px - var(--length-10) );
	margin-left: calc( 0px - var(--length-10) );
	width: 16%;
}

body.home #story .story__image-bg3 {
	top: 50%;
	left: 0;
	margin-top: calc( 0px - var(--length-15) );
	margin-left: calc( 0px + var(--length-2) );
	width: 18%;
}

/* products */

body.home #products .wrapper {
	display: flex;
	gap: var(--length-3);
}

body.home #products .products__header {
	width: 33.333%;
}

body.home #products .products__header-inner {
	position: sticky;
	top: 6em;
}

body.home #products .products__title {
	margin-top: -0.5em;
	margin-bottom: var(--length-2);
	color: var(--color-main);
}

body.home #products .products__title span {
	padding-left: 0.2em;
	font-size: 0.5em;
}

body.home #products .products__desc {
	margin-bottom: var(--length-3);
}

body.home #products .products__header .btn {
	display: block;
	line-height: 1;
}
body.home #products .products__header .btn + .btn {
	margin-top: var(--length-1);
}

body.home #products .products__header .btn__inner {
	justify-content: space-between;
	padding: 1em 2em;
}

body.home #products .product__list {
	width: 66.666%;
}

body.home #products .product__list .product-card + .product-card {
	margin-top: var(--length-6);
}

body.home #products .product__list .product-card__figure {
	aspect-ratio: 120/63;
	overflow: hidden;
	position: relative;
	border-radius: var(--length-2);
}

body.home #products .product__list .product-card__figure img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

body.home #products .product__list .btn.btn__ghost {
	position: absolute;
	top: 50%;
	left: 50%;
	padding: 0 1em;
	line-height: 1;
	transform: translate(-50%, -50%);
}

body.home #products .product__list .btn.btn__ghost:hover {
	filter: brightness(1);
	box-shadow: var(--length-2) rgba(243,171,64,0.5);
}

body.home #products .product-card__body {
	margin-top: var(--length-2);
}

body.home #products .product-card__body .product-card__title a {
	color: var(--color-text);
	text-decoration: none;
}

body.home #products .product-card__body .product-card__title a:hover {
	color: var(--color-main);
}

body.home #products .product-card__body .product-card__lead {
	line-height: var(--lineheight-md);
	margin-bottom: var(--length-s);
}

/* scenes */

body.home #scenes {
	padding: var(--length-15) 0;
	text-align: center;
}

body.home #scenes .scenes__header {
	position: relative;
	margin-bottom: var(--length-4);
	z-index: 1;
}

body.home #scenes .scenes__lead {
	font-size: var(--fontsize-xxl);
	font-weight: 900;
	color: var(--color-sub);
}

body.home #scenes .scenes__text {
	margin-top: var(--length-3);
	font-size: var(--fontsize-lg);
}

body.home #scenes .scenes__list {
	margin-bottom: var(--length-4);
	display: flex;
	gap: var(--length-3);
}

body.home #scenes .scene-card__figure {
	margin-bottom: var(--length-2);
	border-radius: var(--length-2);
	overflow: hidden;
}

body.home #scenes .scene-card__title {
	font-size: var(--fontsize-xl);
	font-weight: 700;
}

/* media */

body.home #media {
	padding: var(--length-10) 0;
	background: var(--gradient-ligthblue);
}

body.home #media .media__header {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: var(--length-2);
	margin-bottom: var(--length-5);
}

body.home #media .media__title {
	font-size: var(--fontsize-x2);
}

body.home #media .swiper-wrapper {
	transition-timing-function: linear;
}

body.home #media .swiper-slide {
	width: 150px;
	height: 150px;
}

body.home #media .swiper-slide img {
	object-fit: contain;
	width: 100%;
	height: 100%;
}

/* news */

body.home #news {
	padding: var(--length-10) 0;
}

body.home #news  .wrapper {
	display: flex;
	gap: var(--length-3);
}

body.home #news .news__header {
	width: 16.666%;
}

body.home #news .news__title {
	margin-bottom: var(--length-2);
	font-size: var(--fontsize-x2);
}

body.home #news .news__list {
	width: 83.333%;
	border-top: 1px solid var(--color-line);
}

body.home #news .news__item {
	border-bottom: 1px solid var(--color-line);
}

body.home #news .news-card__link {
	display: block;
	padding: var(--length-2) var(--length-3);
	text-decoration: none;
}

body.home #news .news-card__link:hover {
	color: var(--color-main);
}

body.home #news .news-card {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--length-3);
}

body.home #news .news-card__date {
	width: 15%;
}

body.home #news .news-card__title {
	width: 80%;
	font-size: var(--fontsize-md);
	line-height: var(--lineheight-md);
	font-weight: 700;
	color: var(--color-text);
	transition: color 0.4s;
}

body.home #news .news-card__link:hover .news-card__title {
	color: var(--color-main);
}

body.home #news .news-card__icon-wrapper {
	width: 5%;
}

body.home #news .news-card .news-card__icon {
	position: relative;
	display: block;
	margin-left: auto;
	margin-right: 0;
	width: var(--length-s);
	height: var(--length-s);
	background: var(--color-main);
	border-radius: 100%;
}

body.home #news .news-card .news-card__icon::before,
body.home #news .news-card .news-card__icon::after {
	content: "";
	position: absolute;
	right: var(--length-s);
	display: block;
	width: var(--length-s);
	height: var(--length-s);
	background: var(--color-main);
	border-radius: 100%;
}

body.home #news .news-card .news-card__icon::before {
	top: var(--length-s);
}

body.home #news .news-card .news-card__icon::after {
	bottom: var(--length-s);
}

/* == our-story == */

body.our-story .hero-message {
	margin-bottom: var(--length-10);
	text-align: center;
}

body.our-story .hero-message__title {
	line-height: var(--lineheight-sm);
}

body.our-story .hero-message__lead {
	margin-top: var(--length-3);
	font-size: var(--fontsize-xl);
	line-height: var(--lineheight-md);
	font-weight: 700;
}

body.our-story .story-section +.story-section {
	margin-top: var(--length-6);
}

body.our-story .story-section__inner {
	display: flex;
	align-items: center;
	gap: var(--length-3);
}

body.our-story .story-section__image {
	position: relative;
	width: 66.666%;
	border-radius: var(--length-2);
	overflow: hidden;
	aspect-ratio: 3/2;
}

body.our-story .evaluation-section .story-section__image {
	width: 50%;
	aspect-ratio: auto;
}

body.our-story .story-section__image img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

body.our-story .story-section__content {
	position: relative;
	width: 41.666%;
	z-index: 1;
}

body.our-story .evaluation-section .story-section__content {
	position: relative;
	width: 50%;
}

body.our-story .story-section.story-section__left .story-section__content {
	order: 1;
}

body.our-story .story-section.story-section__right .story-section__content {
	order: 2;
}

body.our-story .story-section.story-section__left .story-section__image {
	order: 2;
	margin-left: -8.333%;
}

body.our-story .story-section.story-section__left .story-section__image::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 33.333%);
}

body.our-story .story-section.story-section__right .story-section__image {
	order: 1;
	margin-right: -8.333%;
}

body.our-story .story-section.story-section__right .story-section__image:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(-90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 33.333%);
}

body.our-story .story-section.evaluation-section.story-section__left .story-section__image,
body.our-story .story-section.evaluation-section.story-section__right .story-section__image {
	margin-left: 0;
	margin-right: 0;
}

body.our-story .story-section.evaluation-section.story-section__left .story-section__image::after,
body.our-story .story-section.evaluation-section.story-section__right .story-section__image::after {
	display: none;
}

body.our-story .story-section.story-section__center {
	margin-top: var(--length-10);
}

body.our-story .story-section.story-section__center .story-section__inner {
	flex-direction: column;
	justify-content: center;
	gap: var(--length-3);
}

body.our-story .story-section.story-section__center .story-section__content {
	width: 66.666%;
}

body.our-story .story-section.story-section__center .story-section__title {
	text-align: center;
}

body.our-story .story-section__title {
	font-size: var(--fontsize-xxxl);
}

body.our-story .story-section__text {
	margin-top: var(--length-2);
	line-height: var(--lineheight-lg);
}

body.our-story .story-section__text:first-child {
	margin-top: 0;
}

body.our-story .message-section {
	margin-top: var(--length-10);
	margin-bottom: var(--length-10);
	text-align: center;
}

body.our-story .message-section__content {
	font-size: var(--fontsize-xxl);
	line-height: var(--lineheight-lg);
}

body.our-story .message-section__content p + p {
	margin-top: var(--length-2);
}

body.our-story .cta-section {
	margin-top: var(--length-5);
	text-align: center;
}

body.our-story .cta-section__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: var(--length-2);
}

body.our-story .cta-section .btn {
	width: 380px;
}

/* == products == */

body.products .productlist__header {
	margin-bottom: var(--length-6);
	text-align: center;
}

body.products .products__title {
	color: var(--color-main);
}

body.products .products__title span {
	padding-left: 0.2em;
	font-size: 0.5em;
}

body.products .products__desc {
	margin-top: var(--length-3);
	font-size: var(--fontsize-lg);
}

body.products .product__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--length-4);
}

body.products .product-card {
	width: calc( ( 100% - var(--length-4) ) / 2 );
}

body.products .product__list .product-card__figure {
	aspect-ratio: 120/63;
	overflow: hidden;
	position: relative;
	border-radius: var(--length-2);
}

body.products .product__list .product-card__figure img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

body.products .product__list .btn.btn__ghost {
	position: absolute;
	top: 50%;
	left: 50%;
	padding: 0 1em;
	line-height: 1;
	opacity: 0;
	transform: translate(-50%, -50%);
	transition: opacity 0.4s;
}

body.products .product__list a:hover .btn.btn__ghost {
	opacity: 1;
}

body.products .product__list .btn.btn__ghost:hover {
	filter: brightness(1);
	box-shadow: none;
}

body.products .product-card__body {
	margin-top: var(--length-1);
}

body.products .product-card__body .product-card__title {
	font-size: var(--fontsize-xxxl);
}

body.products .product-card__body .product-card__title a {
	color: var(--color-text);
	text-decoration: none;
}

body.products .product-card__body .product-card__title a:hover {
	color: var(--color-main);
}

body.products .product-card__body .product-card__lead {
	line-height: var(--lineheight-md);
	margin-top: var(--length-s);
}

/* == products detail == */

body.products.single .product-hero__container {
	position: relative;
}

body.products.single .product-hero__container::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(5deg, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0.4) 100%);
	z-index: 1;
}

body.products.single .product-hero__slider-wrapper {
	padding: 0 var(--length-2);
}

body.products.single .product-hero__image {
	margin-bottom: 0;
	aspect-ratio: 120/63;
	border-radius: var(--length-2);
	overflow: hidden;
}

body.products.single .product-hero__image img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

body.products.single .swiper-horizontal>.swiper-pagination-bullets,
body.products.single .swiper-pagination-bullets.swiper-pagination-horizontal,
body.products.single .swiper-pagination-custom, .swiper-pagination-fraction {
	top: auto;
	bottom: var(--length-2);
	left: auto;
	right: var(--length-2);
	width: auto;
	line-height: 0;
}

body.products.single .swiper-pagination-bullet-active {
	background: var(--color-main);
	opacity: 1;
}

body.products.single .product-hero__badges {
	display: flex;
	gap: var(--length-1);
	position: absolute;
	top: var(--length-2);
	right: var(--length-4);
	z-index: 100;
}

body.products.single .product-badge {
	width: 8vw;
	height: 8vw;
}

body.products.single .product-badge img {
	object-fit: contain;
	width: 100%;
	height: 100%;
}

body.products.single .product-hero__details {
	position: absolute;
	bottom: var(--length-2);
	left: var(--length-4);
	z-index: 100;
}

body.products.single .product-hero__lead {
	margin-bottom: var(--length-1);
	font-size: var(--fontsize-lg);
	line-height: var(--lineheight-md);
}

body.products.single .product-hero__action {
	margin-top: var(--length-2);
}

body.products.single .product-cta {
	margin-top: var(--length-10);
	text-align: center;
}

body.products.single .product-cta .btn {
	font-size: var(--fontsize-xxl);
}

body.products.single .product-navigation {
	padding: var(--length-10) 0;
	background: var(--color-lightblue);
}

body.products.single .product-navigation .wrapper {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: var(--length-3);
}

body.products.single .product-navigation .btn {
	width: 360px;
}

/* == ways-to-use == */

body.ways-to-use .hero-message {
	margin-bottom: var(--length-10);
	text-align: center;
}

body.ways-to-use .hero-message__title {
	line-height: var(--lineheight-sm);
}

body.ways-to-use .hero-message__lead {
	margin-top: var(--length-3);
	font-size: var(--fontsize-xl);
	line-height: var(--lineheight-md);
	font-weight: 700;
}

body.ways-to-use .hero-message__text {
	margin-top: var(--length-3);
	font-size: var(--fontsize-lg);
}

body.ways-to-use .scene-card +.scene-card {
	margin-top: var(--length-4);
}

body.ways-to-use .scene-card__inner {
	display: flex;
	align-items: center;
	gap: var(--length-3);
}

body.ways-to-use .scene-card__image {
	width: 58.333%;
	border-radius: var(--length-2);
	overflow: hidden;
	aspect-ratio: 3/2;
}
body.ways-to-use .scene-card.scene01 .scene-card__image,
body.ways-to-use .scene-card.scene03 .scene-card__image {
	order: 1;
}
body.ways-to-use .scene-card.scene02 .scene-card__image,
body.ways-to-use .scene-card.scene04 .scene-card__image {
	order: 2;
}

body.ways-to-use .scene-card__image img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

body.ways-to-use .scene-card__content {
	position: relative;
	width: 41.666%;
}
body.ways-to-use .scene-card.scene01 .scene-card__content,
body.ways-to-use .scene-card.scene03 .scene-card__content {
	order: 2;
}
body.ways-to-use .scene-card.scene02 .scene-card__content,
body.ways-to-use .scene-card.scene04 .scene-card__content {
	order: 1;
}

body.ways-to-use .scene-card__title::before {
	position: absolute;
	bottom: 95%;
	left: calc( 0px - var(--length-4) );
	font-family: var(--fontfamily-cursive);
	font-size: var(--fontsize-xl);
	color: var(--color-sub);
	transform: rotate(-5deg);
}

body.ways-to-use .scene-card.scene01 .scene-card__title::before {
	content: "Scene 01";
}

body.ways-to-use .scene-card.scene02 .scene-card__title::before {
	content: "Scene 02";
}

body.ways-to-use .scene-card.scene03 .scene-card__title::before {
	content: "Scene 03";
}

body.ways-to-use .scene-card.scene04 .scene-card__title::before {
	content: "Scene 04";
}

body.ways-to-use .scene-card__lead {
	margin-top: var(--length-2);
	font-size: var(--fontsize-lg);
	line-height: var(--lineheight-md);
	font-weight: 700;
}

body.ways-to-use .scene-card__text {
	margin-top: var(--length-2);
	line-height: var(--lineheight-md);
}

body.ways-to-use .message-section {
	margin-top: var(--length-10);
	text-align: center;
}

body.ways-to-use .message-section__content {
	font-size: var(--fontsize-xxl);
	line-height: var(--lineheight-md);
	font-weight: 700;
}

body.ways-to-use .cta-section {
	margin-top: var(--length-5);
	text-align: center;
}

body.ways-to-use .cta-section__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: var(--length-2);
}

body.ways-to-use .cta-section .btn {
	width: 380px;
}

/* == media == */

body.media .media__pickup {
	padding-bottom: var(--length-6);
	border-bottom: 1px solid var(--color-line);
}

body.media .pickup__header {
	margin-bottom: var(--length-6);
	text-align: center;
}

body.media .pickup__title {
	color: var(--color-main);
}

body.media .media__list {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
}

body.media .media__pickup .media__list {
	justify-content: center;
	gap: var(--length-4) var(--length-6);
}

body.media .media__list a {
	text-decoration: none;
}

body.media .media__archive .media__item {
	width: 100%;
	border-bottom: 1px solid var(--color-line);
}

body.media .media__pickup .media__item {
	width: calc( (100% - var(--length-12) ) /3 );
}

body.media .media__thumbnail {
	width: 80%;
	margin-left: auto;
	margin-right: auto;
	aspect-ratio: 1/1;
	border-radius: var(--length-2);
	overflow: hidden;
}

body.media .media__thumbnail img {
	object-fit: contain;
	width: 100%;
	height: 100%;
}

body.media .media__pickup .media__thumbnail {
	margin-bottom: var(--length-2);
}

body.media .media__title {
	font-size: var(--fontsize-xl);
}

body.media .media__pickup .media__title {
	font-size: var(--fontsize-xxl);
}

body.media .media__title a {
	color: var(--color-text);
}

body.media .media__title a:hover {
	color: var(--color-main);
}

body.media .media__archive .media__card {
	display: flex;
	align-items: center;
	gap: var(--length-2);
	padding: var(--length-2);
}

body.media .media__archive .media__thumbnail {
	flex-shrink: 0;
	width: 80px;
}

body.media .media__archive .media__content {
	width: 100%;
}

/* == news == */

body.news .news__pickup {
	margin-bottom: var(--length-4);
	padding-bottom: var(--length-6);
	border-bottom: 1px solid var(--color-line);
}

body.news .pickup__header {
	margin-bottom: var(--length-6);
	text-align: center;
}

body.news .pickup__title {
	color: var(--color-main);
}

body.news .news__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--length-4) var(--length-3);
}

body.news .news__pickup .news__list {
	justify-content: center;
}

body.news .news__list a {
	text-decoration: none;
}

body.news .news__item {
	width: calc( (100% - var(--length-6) ) /3 );
}

body.news .news__pickup .news__item {
	width: calc( (100% - var(--length-3) ) /2 );
}

body.news .news__thumbnail {
	border-radius: var(--length-2);
	overflow: hidden;
}

body.news .news__content {
	margin-top: var(--length-2);
}

body.news .news__meta {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: var(--length-1);
	margin-bottom: var(--length-1);
	font-size: var(--fontsize-sm);
	line-height: var(--lineheight-1);
	color: var(--color-main);
}

body.news .news__category {
	padding: 0.5em 1em;
	font-size: var(--fontsize-xs);
	text-decoration: none;
	border: 1px solid var(--color-main);
	border-radius: 100px;
	transition: box-shadow 0.4s, filter 0.4s;
}

body.news .category-nav__item--current .news__category {
	color: var(--color-white);
	font-weight: 700;
	background: var(--color-main);
}

body.news .category-nav__item--current .news__category:hover {
	color: var(--color-white);
}

body.news .news__category:hover {
	color: var(--color-main);
	filter: brightness(1);
	box-shadow: 0 0 var(--length-2) rgba(68,131,162,0.5);
}

body.news .news__title {
	font-size: var(--fontsize-xl);
}

body.news .news__pickup .news__title {
	font-size: var(--fontsize-xxl);
}

body.news .news__title a {
	color: var(--color-text);
}

body.news .news__title a:hover {
	color: var(--color-main);
}

body.news .category-nav__list {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: var(--length-1);
	margin-bottom: var(--length-4);
}

/* == news post == */

body.news.single .pagetitle .wrapper {
	padding: var(--length-5);
}

body.news.single .post__header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--length-5);
	max-width: 1244px;
}

body.news.single .post__header-thumbnail {
	width: 50%;
	border-radius: var(--length-2);
	overflow: hidden;
	box-shadow: 0 0 var(--length-3) rgba(68,131,162,0.1);
}

body.news.single .post__header-content {
	width: 50%;
	border-radius: var(--length-2);
}

body.news.single .post__header-meta {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: var(--length-1);
	margin-bottom: var(--length-2);
	font-size: var(--fontsize-sm);
	line-height: var(--lineheight-1);
	color: var(--color-main);
}

body.news.single .post__header-category {
	padding: 0.5em 1em;
	text-decoration: none;
	border: 1px solid var(--color-main);
	border-radius: 100px;
	transition: box-shadow 0.4s, filter 0.4s;
}

body.news.single .post__header-category:hover {
	color: var(--color-main);
	filter: brightness(1);
	box-shadow: 0 0 var(--length-2) rgba(68,131,162,0.5);
}

body.news.single .post__header-title {
	line-height: var(--lineheight-sm);
	font-size: var(--fontsize-x2);
}

body.news.single .back-to-list {
	margin-top: var(--length-8);
	text-align: center;
}

/* == about-us == */

body.about-us .main-visual {
	margin-bottom: var(--length-8);
	border-radius: var(--length-2);
	overflow: hidden;
}

body.about-us .company-info__title {
	margin-bottom: var(--length-4);
	font-size: var(--fontsize-x2);
	text-align: center;
}

body.about-us .company-info__list {
	border-top: 1px solid var(--color-line);
}

body.about-us .company-info__item {
	display: flex;
	align-items: center;
	gap: var(--length-3);
	padding: var(--length-3) 0;
	border-bottom: 1px solid var(--color-line);
}

body.about-us .company-info__label {
	flex-shrink: 1;
	width: 20%;
	white-space: nowrap;
}

body.about-us .company-info__data {
	width: 100%;
}

body.about-us .map-section {
	margin-top: var(--length-8);
}

body.about-us .map-section__container {
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	aspect-ratio: 3/2;
}

body.about-us .map-section__container iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* == contact-us == */

body.contact .contact-form__intro {
	margin-bottom: var(--length-4);
}

body.contact .required {
	color: #e74c3c;
	margin-left: var(--length-s);
}

body.contact .form-group {
	display: flex;
	align-items: center;
	gap: var(--length-2);
	width: 100%;
	margin-bottom: var(--length-2);
}

body.contact .form-group-message .form-group__label {
	padding-top: 0.5em;
	align-self: flex-start;
}

body.contact .form-group__label {
	flex-shrink: 0;
	width: 25%;
	font-weight: 700;
}

body.contact .form-group__input {
	width: 75%;
}

body.contact .form-group__input input[type="text"],
body.contact .form-group__input input[type="email"],
body.contact .form-group__input input[type="tel"],
body.contact .form-group__input select,
body.contact .form-group__input textarea {
	width: 100%;
	padding: 0.5em;
	border: 1px solid var(--color-text);
	border-radius: var(--length-1);
	font-size: 16px;
}

body.contact .form-group__input select {
	cursor: pointer;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1em center;
	padding-right: 2em;
}

body.contact .radio-group {
	display: flex;
	gap: var(--length-4);
}

body.contact .mw_wp_form_confirm .radio-group {
	gap: 0;
}

body.contact .radio-label {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: var(--length-1);
	cursor: pointer;
}

body.contact .radio-label input[type="radio"] {
	width: var(--length-4);
	height: var(--length-4);
	cursor: pointer;
}

body.contact .form-group--checkbox {
	margin-top: var(--length-3);
	justify-content: center;
}

body.contact .checkbox-label {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: var(--length-1);
	cursor: pointer;
}

body.contact .checkbox-label input[type="checkbox"] {
	width: var(--length-4);
	height: var(--length-4);
	cursor: pointer;
}

body.contact .form-group--submit {
	margin-top: var(--length-4);
	justify-content: center;
}

body.contact .submit-btn {
	padding: 1em 3em;
	line-height: var(--lineheight-md);
	font-weight: 700;
	text-decoration: none;
	color: var(--color-white);
	background: var(--gradient-blue);
	border-radius: var(--length-1);
	filter: brightness(1);
	transition: box-shadow 0.4s, filter 0.4s;
}

body.contact .submit-btn:hover {
	color: var(--color-white);
	filter: brightness(1.3);
	box-shadow: 0 0 var(--length-2) rgba(68,131,162,0.5);
}

body.contact input::placeholder,
body.contact textarea::placeholder,
body.contact select::placeholder {
    color: #ccc;
    opacity: 1;
}

/* == privacy-policy == */

body.privacy-policy .policy-section + .policy-section {
	margin-top: var(--length-4);
}

body.privacy-policy .policy-section > * + * {
	margin-top: var(--length-1);
}

body.privacy-policy .policy-section .policy-section__title {
	margin-top: var(--length-4);
	margin-bottom: var(--length-3);
	font-size: var(--fontsize-x2);
	line-height: var(--lineheight-sm);
}

body.privacy-policy .policy-section .policy-section__title:first-child {
	margin-top: 0;
}

body.privacy-policy .policy-section .policy-section__subtitle {
	margin-top: var(--length-4);
	margin-bottom: var(--length-2);
	font-size: var(--fontsize-xxl);
	line-height: var(--lineheight-sm);
}

body.privacy-policy .policy-section ul,
body.privacy-policy .policy-section ol {
	padding-left: 1.5em;
}

body.privacy-policy .policy-section ul li {
	list-style-type: disc;
}

body.privacy-policy .policy-section ol li {
	list-style-type: desimal;
}

body.privacy-policy .policy-section .contact-info {
	margin-top: var(--length-4);
}

body.privacy-policy .policy-section .policy-date {
	font-size: var(--fontsize-sm);
	text-align: right;
}



/* ================
タブレット
================ */

@media (max-width: 1024px) {

/* == root == */

:root {
	--length-base: 40px;
}

/* == base == */

body {
	font-size: 14px;
	padding-top: calc( 16px * 4 );
}

.pc { display: none; }
.tb { display: block; }
.sp { display: none; }
.pc.tb { display: block; }
.pc.sp { display: none; }
.tb.sp { display: block; }

.main {
	overflow: hidden;}


/* == header == */

#header {
	font-size: 16px;
}

#header .header__nav {
	display: none;
}

#header .header__actions {
	display: none;
}

#header .hiraku-open-btn {
	display: block;
}

/* == footer == */

#footer .footer__main .footer__logo img {
	width: 100%;
}

#footer .footer__main .footer__nav {
	width: 100%;
	font-size: var(--fontsize-xs);
}

/* == home == */

/* hero */

body.home #hero .hero__copy {
	top: calc( 0px - 7vw );
	padding-bottom: var(--length-15);
}

body.home #hero .hero__title {
	font-size: 6vw;
}

body.home #hero .hero__text {
	margin-top: 3vw;
	font-size: 3vw;
}

body.home #hero .hero__visual {
	position: relative;
	width: 100%;
	padding-left: var(--length-5);
	text-align: right;
	z-index: -2;
}

body.home #hero .hero__img {
	width: 140%;
}

/* story */

body.home #story {
	padding: var(--length-10) 0 var(--length-15) 0;
}

body.home #story .story__image-pic1 {
	top: 50%;
	right: 0;
	width: 22%;
	margin-top: calc( 0px - var(--length-5) );
	margin-right: calc( 0px - var(--length-5) );
}

body.home #story .story__image-pic2 {
	bottom: 50%;
	left: 0;
	margin-top: calc( 0px - var(--length-5) );
	margin-left: calc( 0px - var(--length-2) );
	width: 20%;
}

body.home #story .story__image-pic3 {
	top: 50%;
	left: 5%;
	margin-top: var(--length-10);
	margin-left: 0;
	width: 18%;
}

body.home #story .story__image-bg1 {
	top: 50%;
	right: 0;
	margin-top: calc( 0px + var(--length-5) );
	margin-right: 0;
	width: 22%;
}

body.home #story .story__image-bg2 {
	bottom: 50%;
	right: 0;
	margin-top: calc( 0px - var(--length-10) );
	margin-left: calc( 0px - var(--length-10) );
	width: 16%;
}

body.home #story .story__image-bg3 {
	top: 60%;
	left: 5%;
	margin-top: calc( 0px - var(--length-15) );
	margin-left: calc( 0px + var(--length-2) );
	width: 20%;
}

/* products */

body.home #products .wrapper {
	display: flex;
	gap: var(--length-3);
}

body.home #products .products__header {
	width: 33.333%;
}

body.home #products .products__header-inner {
	position: sticky;
	top: 6em;
}

body.home #products .products__title {
	margin-top: -0.5em;
	margin-bottom: var(--length-2);
	color: var(--color-main);
}

body.home #products .products__title span {
	padding-left: 0.2em;
	font-size: 0.5em;
}

body.home #products .products__desc {
	margin-bottom: var(--length-3);
}

body.home #products .products__header .btn {
	display: block;
	line-height: 1;
}
body.home #products .products__header .btn + .btn {
	margin-top: var(--length-1);
}

body.home #products .products__header .btn__inner {
	justify-content: space-between;
	padding: 1em 2em;
}

body.home #products .product__list {
	width: 66.666%;
}

body.home #products .product__list .product-card + .product-card {
	margin-top: var(--length-6);
}

body.home #products .product__list .product-card__figure {
	overflow: hidden;
	position: relative;
	border-radius: var(--length-2);
}

body.home #products .product__list .btn.btn__ghost {
	position: absolute;
	top: 50%;
	left: 50%;
	padding: 0 1em;
	line-height: 1;
	transform: translate(-50%, -50%);
}

body.home #products .product__list .btn.btn__ghost:hover {
	filter: brightness(1);
	box-shadow: var(--length-2) rgba(243,171,64,0.5);
}

body.home #products .product-card__body {
	margin-top: var(--length-2);
}

body.home #products .product-card__body .product-card__title a {
	color: var(--color-text);
	text-decoration: none;
}

body.home #products .product-card__body .product-card__title a:hover {
	color: var(--color-main);
}

body.home #products .product-card__body .product-card__lead {
	line-height: var(--lineheight-md);
	margin-bottom: var(--length-s);
}

/* scenes */

#scenes {
}

/* media */

#media {
}

/* news */

#news {
}

/* == our-story == */

body.our-story .story-section__image {
	aspect-ratio: 1/1;
}

body.our-story .story-section.story-section__center .story-section__image {
	aspect-ratio: 2/1;
}

body.our-story .story-section__content {
	width: 50%;
}

body.our-story .story-section.story-section__left .story-section__image {
	margin-left: -16.666%;
}

body.our-story .story-section.story-section__right .story-section__image {
	margin-right: -16.666%;
}

body.our-story .story-section .story-section__text:first-child {
	margin-top: 0;
}

body.our-story .story-section.story-section__center .story-section__image,
body.our-story .story-section.story-section__center .story-section__content {
	width: 100%;
}

/* == ways-to-use == */

body.ways-to-use .scene-card__image {
	aspect-ratio: 4/3;
}

body.ways-to-use .message-section__content {
	font-size: var(--fontsize-xl);
}

/* == news post == */

body.news.single .post__header {
	flex-wrap: wrap;
	gap: var(--length-3);
}

body.news.single .post__header-thumbnail {
	width: 100%;
}

body.news.single .post__header-content {
	width: 100%;
}

}



/* ================
スマホ
================ */

@media (max-width: 767px) {

/* == root == */

:root {
	--length-base: 4.5vw;
	--length-s: 0.5vw;
	--length-1: 1.5vw;
	--length-2: 3vw;
	--length-3: 4.5vw;
	--length-4: 6vw;
	--length-5: 7.5vw;
	--length-6: 9vw;
	--length-7: 10.5vw;
	--length-8: 12vw;
	--length-9: 13.5vw;
	--length-10: 15vw;
	--length-11: 16.5vw;
	--length-12: 17vw;
	--length-13: 18.5vw;
	--length-14: 20vw;
	--length-15: 21.5vw;
	--fontsize-xs: 0.714em; /* 2.5px */
	--fontsize-sm: 0.857em; /* 3vw */
	--fontsize-md: 1em; /* 3.5vw */
	--fontsize-lg: 1.142em; /* 4vw */
	--fontsize-xl: 1.285em; /* 4.5vw */
	--fontsize-xxl: 1.428em; /* 5vw */
	--fontsize-xxxl: 1.571em; /* 5.5vw */
	--fontsize-x2: 1.714em; /* 6vw */
}

/* == base == */

body {
	font-size: 3.5vw;
	padding-top: calc( 3vw * 4 );
}

.pc { display: none; }
.tb { display: none; }
.sp { display: block; }
.pc.tb { display: none; }
.pc.sp { display: block; }
.tb.sp { display: block; }

/* == parts == */

/* pagetitle */

.pagetitle .pagetitle__jatitle {
	font-size: 2.5em;
}

/* breadcrumb */

.breadcrumb {
	font-size: var(--fontsize-xs);
}

/* == header == */

#header {
	font-size: 3vw;
}

/* == drawer menu == */

.drawer-menu a {
	text-decoration: none;
}

.drawer-menu .header__logo img {
	width: 75%;
}

.drawer-menu .header__nav {
	margin: 4vh 0;
	font-size: var(--fontsize-lg);
	line-height: 2.5;
}

.drawer-menu .header__actions .btn__inner {
	font-size: var(--fontsize-md);
}

/* == footer == */

#footer .footer__main .wrapper {
	flex-wrap: wrap;
	gap: var(--length-4);
}

#footer .footer__contact .faq-item__q-icon {
	width: var(--length-1);
	height: var(--length-1);
}

#footer .footer__contact .faq-item__q-icon::before,
#footer .footer__contact .faq-item__q-icon::after {
	bottom: var(--length-1);
	width: var(--length-1);
	height: var(--length-1);
}

#footer .footer__contact .is-opened .faq-item__q-icon {
	transform: translateY( calc( 0px - ( var(--length-1) / 2 ) ) );
}

#footer .footer__contact .faq-item__q-icon::before {
	left: var(--length-1);
}

#footer .footer__contact .faq-item__q-icon::after {
	right: var(--length-1);
}

#footer .footer__main .footer__aboutus {
	flex-wrap: wrap;
	gap: var(--length-6);
}

#footer .footer__main .footer__brand {
	width: 100%;
}

#footer .footer__main .footer__logo {
	margin-bottom: var(--length-3);
}
#footer .footer__main .footer__logo img {
	width: 80%;
}

#footer .footer__main .footer__map {
	width: 100%;
}

#footer .footer__main .footer__nav {
	width: 100%;
	font-size: var(--fontsize-md);
}

#footer .footer__main .footer__nav-list {
	flex-wrap: wrap;
	gap: var(--length-1) var(--length-4);
}

#footer .footer__main .footer__map {
	width: 100%;
}

#footer .footer__main .footer__googlemap {
	position: relative;
	width: 100%;
	aspect-ratio: 1/1;
}

/* == home == */

/* hero */

body.home #hero .hero__copy {
	top: 19vw;
	padding-bottom: 0;
}

body.home #hero .hero__title {
	font-size: 9.5vw;
}

body.home #hero .hero__text {
	margin-top: 48vw;
	margin-left: 2.1vw;
	font-size: 5vw;
}

body.home #hero .hero__visual {
	position: relative;
	width: 100%;
	padding-left: 3.5vw;
	text-align: right;
	z-index: -2;
}

body.home #hero .hero__img {
	width: 160%;
}

/* story */

body.home #story {
	padding: 90vw 0 var(--length-15) 0;
	text-align: left;
}

body.home #story .story__title {
	line-height: var(--lineheight-sm);
}

body.home #story .story__image-pic1 {
	top: -30vw;
	bottom: auto;
	left: auto;
	right: -5vw;
	width: 50%;
	margin: 0;
	margin-top: 0;
	margin-right: 0;
}

body.home #story .story__image-pic2 {
	top: -55vw;
	bottom: auto;
	left: -2vw;
	right: auto;
	width: 45%;
	margin: 0;
	margin-top: 0;
	margin-right: 0;
}

body.home #story .story__image-pic3 {
	top: auto;
	bottom: -12vw;
	left: auto;
	right: -10vw;
	width: 45%;
	margin: 0;
	margin-top: 0;
	margin-right: 0;
}

body.home #story .story__image-bg1 {
	top: -50vw;
	bottom: auto;
	left: auto;
	right: 10vw;
	width: 55%;
	margin: 0;
	margin-top: 0;
	margin-right: 0;
}

body.home #story .story__image-bg2 {
	top: 50vw;
	bottom: auto;
	left: auto;
	right: 2vw;
	width: 50%;
	margin: 0;
	margin-top: 0;
	margin-right: 0;
}

body.home #story .story__image-bg3 {
	top: auto;
	bottom: -35vw;
	left: auto;
	right: 2vw;
	width: 40%;
	margin: 0;
	margin-top: 0;
	margin-right: 0;
}

/* products */

body.home #products .wrapper {
	display: block;
}

body.home #products .products__header {
	width: 100%;
	margin-bottom: var(--length-6);
	text-align: left;
}

body.home #products .products__header-inner {
	position: relative;
	top: 0;
}

body.home #products .products__title {
	margin-top: -0.5em;
	margin-bottom: var(--length-2);
	color: var(--color-main);
}

body.home #products .products__title span {
	padding-left: 0.2em;
	font-size: 0.5em;
}

body.home #products .products__desc {
	margin-bottom: var(--length-3);
}

body.home #products .products__header .products__actions {
	width: 75vw;
}

body.home #products .products__header .btn {
	display: block;
	line-height: 1;
}
body.home #products .products__header .btn + .btn {
	margin-top: var(--length-1);
}

body.home #products .products__header .btn__inner {
	justify-content: space-between;
	padding: 1em 2em;
}

body.home #products .product__list {
	width: 100%;
}

body.home #products .product__list .product-card + .product-card {
	margin-top: var(--length-6);
}

/* scenes */

body.home #scenes {
	padding: var(--length-12) 0;
	text-align: center;
}

body.home #scenes .scenes__header {
	position: relative;
	margin-bottom: var(--length-6);
	z-index: 1;
}

body.home #scenes .scenes__title {
	line-height: var(--lineheight-sm);
}

body.home #scenes .scenes__list {
	margin-bottom: var(--length-6);
	display: flex;
	flex-wrap: wrap;
	gap: var(--length-3);
}

body.home #scenes .scenes__item {
	width: calc( ( 100% - var(--length-3) ) / 2  );
}

body.home #scenes .scene-card__figure {
	margin-bottom: var(--length-2);
	border-radius: var(--length-2);
	overflow: hidden;
}

body.home #scenes .scene-card__title {
	font-size: var(--fontsize-xl);
	font-weight: 700;
}

/* media */

#media {
}

 

body.home #news  .wrapper {
	display: block;
}

body.home #news .news__header {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: var(--length-2);
	width: 100%;
	margin-bottom: var(--length-4);
}

body.home #news .news__title {
	margin-bottom: 0;
	font-size: var(--fontsize-x2);
}

body.home #news .news__list {
	width: 100%;
}

body.home #news .news-card__link {
	padding: var(--length-3) 0;
}

body.home #news .news-card {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--length-3);
}

body.home #news .news-card__date {
	width: 20%;
}

body.home #news .news-card__title {
	width: 75%;
	font-size: var(--fontsize-md);
	line-height: var(--lineheight-md);
	font-weight: 700;
	color: var(--color-text);
	transition: color 0.4s;
}

body.home #news .news-card__link:hover .news-card__title {
	color: var(--color-main);
}

body.home #news .news-card__icon-wrapper {
	width: 5%;
}

body.home #news .news-card .news-card__icon {
	width: var(--length-1);
	height: var(--length-1);
}

body.home #news .news-card .news-card__icon::before,
body.home #news .news-card .news-card__icon::after {
	right: var(--length-1);
	width: var(--length-1);
	height: var(--length-1);
}

body.home #news .news-card .news-card__icon::before {
	top: var(--length-1);
}

body.home #news .news-card .news-card__icon::after {
	bottom: var(--length-1);
}

/* == our-story == */

body.our-story .story-section__inner {
	flex-direction: column;
	gap: var(--length-3);
}

body.our-story .story-section__image {
	width: 100%;
	aspect-ratio: 2/1;
}

body.our-story .evaluation-section .story-section__image {
	width: 100%;
	aspect-ratio: auto;
}

body.our-story .story-section__content {
	width: 100%;
}

body.our-story .evaluation-section .story-section__content {
	width: 100%;
}

body.our-story .story-section.story-section__left .story-section__content,
body.our-story .story-section.story-section__right .story-section__content {
	order: 2;
}

body.our-story .story-section.story-section__left .story-section__image,
body.our-story .story-section.story-section__right .story-section__image {
	order: 1;
	margin-left: 0;
	margin-right: 0;
}

body.our-story .story-section.story-section__left .story-section__image::after,
body.our-story .story-section.story-section__right .story-section__image:after {
	display: none;
}

body.our-story .story-section.story-section__center {
	margin-top: var(--length-10);
}

body.our-story .story-section__title {
	font-size: var(--fontsize-xxl);
	text-align: center;
}

body.our-story .story-section__text {
	line-height: var(--lineheight-md);
}

body.our-story .message-section__content {
	font-size: var(--fontsize-lg);
	line-height: var(--lineheight-lg);
}

body.our-story .cta-section .btn {
	width: 100%;
}

/* == products == */

body.products .product__list {
	gap: var(--length-4);
}

body.products .product-card {
	width: 100%;
}

body.products .product__list .product-card__figure {
	border-radius: var(--length-2);
}

/* == products detail == */

body.products.single .product-hero__container::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(5deg, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0.4) 100%);
	z-index: 1;
}

body.products.single .product-hero__slider-wrapper {
	padding: 0 var(--length-2);
}

body.products.single .product-hero__image {
	aspect-ratio: 3/2;
}

body.products.single .product-badge {
	width: 14vw;
	height: 14vw;
}

body.products.single .product-hero__details {
	position: relative;
	bottom: auto;
	left: auto;
	padding: var(--length-2);
	padding-top: var(--length-6);
}

body.products.single .product-hero__lead {
	margin-bottom: var(--length-1);
	font-size: var(--fontsize-md);
}

body.products.single .product-hero__title {
	margin-bottom: var(--length-2);
	font-size: 2em;
	line-height: var(--lineheight-sm);
}

body.products.single .product-hero__action {
	margin-top: var(--length-1);
}

body.products.single .product-hero__action .btn .btn__inner {
	padding: 0.5em 1.5em;
}

body.products.single .breadcrumb {
	position: absolute;
	top: 63vw;
	left: 0;
}

body.products.single .product-cta .btn {
	font-size: var(--fontsize-xl);
}

body.products.single .product-navigation .wrapper {
	flex-wrap: wrap;
	gap: var(--length-2);
}

body.products.single .product-navigation .btn {
	width: 100%;
}

/* == news == */

body.news .news__pickup {
	margin-bottom: var(--length-6);
	padding-bottom: var(--length-6);
}

body.news .news__list {
	gap: var(--length-4) 0;
}

body.news .news__item {
	width: 100%;
}

body.news .news__pickup .news__item {
	width: 100%;
}

body.news .category-nav__list {
	justify-content: center;
	font-size: var(--fontsize-xs);
	margin-bottom: var(--length-6);
}

/* == news post == */

body.news.single .pagetitle .wrapper {
	padding: var(--length-2);
	padding-bottom: var(--length-4);
}

/* == ways-to-use == */

body.ways-to-use .hero-message {
	margin-bottom: var(--length-10);
	text-align: center;
}

body.ways-to-use .scene-card +.scene-card {
	margin-top: var(--length-6);
}

body.ways-to-use .scene-card__inner {
	display: flex;
	flex-wrap: wrap;
	gap: var(--length-2);
}

body.ways-to-use .scene-card__image {
	width: 100%;
	aspect-ratio: 3/2;
}
body.ways-to-use .scene-card.scene01 .scene-card__image,
body.ways-to-use .scene-card.scene02 .scene-card__image,
body.ways-to-use .scene-card.scene03 .scene-card__image,
body.ways-to-use .scene-card.scene04 .scene-card__image {
	order: 1;
}

body.ways-to-use .scene-card__content {
	width: 100%;
}
body.ways-to-use .scene-card.scene01 .scene-card__content,
body.ways-to-use .scene-card.scene02 .scene-card__content,
body.ways-to-use .scene-card.scene03 .scene-card__content,
body.ways-to-use .scene-card.scene04 .scene-card__content {
	order: 2;
}

body.ways-to-use .scene-card__title::before {
	position: absolute;
	bottom: 95%;
	left: calc( 0px - var(--length-2) );
	font-family: var(--fontfamily-cursive);
	font-size: var(--fontsize-lg);
	color: var(--color-sub);
	transform: rotate(-5deg);
}

body.ways-to-use .scene-card__lead {
	margin-top: var(--length-1);
}

body.ways-to-use .scene-card__text {
	margin-top: var(--length-1);
}

body.ways-to-use .message-section {
	margin-top: var(--length-10);
	text-align: center;
}

body.ways-to-use .message-section__content {
	font-size: var(--fontsize-lg);
}

body.ways-to-use .cta-section__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: var(--length-2);
}

body.ways-to-use .cta-section .btn {
	width: 100%;
}

/* == media == */

body.media .media__list {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
}

body.media .media__pickup .media__list {
	justify-content: flex-start;
	gap: 0;
}

body.media .media__pickup .media__item {
	width: 100%;
}

body.media .media__thumbnail {
	border-radius: var(--length-2);
	overflow: hidden;
}

body.media .media__pickup .media__thumbnail {
	margin-bottom: 0;
}

body.media .media__title {
	font-size: var(--fontsize-md);
}

body.media .media__pickup .media__title {
	font-size: var(--fontsize-lg);
}

body.media .media__title a {
	color: var(--color-text);
}

body.media .media__title a:hover {
	color: var(--color-main);
}

body.media .media__card {
	display: flex;
	align-items: center;
	gap: var(--length-2);
	padding: var(--length-2) 0;
}

body.media .media__archive .media__card {
	padding: var(--length-2) 0;
}

body.media .media__pickup .media__thumbnail {
	flex-shrink: 0;
	width: var(--length-15);
}

body.media .media__archive .media__thumbnail {
	flex-shrink: 0;
	width: var(--length-10);
}

/* == contact == */

body.contact .form-group {
	flex-direction: column;
	flex-wrap: wrap;
	gap: var(--length-1);
}

body.contact .form-group__label {
	width: 100%;
}

body.contact .form-group__input {
	width: 100%;
}

}