@charset "utf-8";

:root {
	--oc-link-color: #2454a1;
	--oc-primary-color: #233b68;

	--oc-btn-primary-color: #233b68;
	--oc-btn-alt-color: #233b68;

	--oc-blog-heading-mt: 1.9rem;
	--oc-blog-heading-mb: 1.625rem;
	--oc-blog-heading-pt: 1.625rem;
	--oc-blog-font-size: calc(1rem + .069vw);
	--oc-blog-heading1-fs: calc(1.6rem + .069vw);
	--oc-blog-heading2-fs: calc(1.5rem + .069vw);
	--oc-blog-heading3-fs: calc(1.35rem + .069vw);
	--oc-blog-line-height: 1.625rem;
}


/*
 * Adobe font loaded via JS:
 *
 * font-family: “heisei-mincho-std”, serif;
 * font-weight: 300;
 * font-style: normal;
 *
 * font-family: “heisei-mincho-std”, serif;
 * font-weight: 700;
 * font-style: normal;
 */


.font-caviar {
	font-family: 'Caviar Dreams';
}

@font-face {
	font-family: 'Caviar Dreams';
	font-weight: 500;
	font-style: normal;
	font-display: swap;
	src: url("../fonts/caviardreams/CaviarDreams.ttf");
}

@font-face {
	font-family: 'Caviar Dreams';
	font-weight: 700;
	font-style: normal;
	font-display: swap;
	src: url("../fonts/caviardreams/CaviarDreams_Bold.ttf");
}

@font-face {
	font-family: 'Roboto';
	font-weight: 400;
	font-style: normal;
	font-display: swap;
	src: url("../fonts/roboto/Roboto-Regular.woff2") format("woff2"),
		url("../fonts/roboto/Roboto-Regular.woff") format("woff");
}

@font-face {
	font-family: 'Roboto';
	font-weight: 500;
	font-style: normal;
	font-display: swap;
	src: url("../fonts/roboto/Roboto-Medium.woff2") format("woff2"),
		url("../fonts/roboto/Roboto-Medium.woff") format("woff");
}

@font-face {
	font-family: 'Roboto';
	font-weight: 700;
	font-style: normal;
	font-display: swap;
	src: url("../fonts/roboto/Roboto-Bold.woff2") format("woff2"),
		url("../fonts/roboto/Roboto-Bold.woff") format("woff");
}

.font-notosansjp {
	/* font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; */
	font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}

@font-face {
	font-family: 'NotoSansJP';
	font-weight: 300;
	font-style: normal;
	font-display: swap;
	src: url("../fonts/notosansjp/NotoSansJP-Light.woff2") format("woff2"),
		url("../fonts/notosansjp/NotoSansJP-Light.woff") format("woff");
}

@font-face {
	font-family: 'NotoSansJP';
	font-weight: 400;
	font-style: normal;
	font-display: swap;
	src: url("../fonts/notosansjp/NotoSansJP-Regular.woff2") format("woff2"),
		url("../fonts/notosansjp/NotoSansJP-Regular.woff") format("woff");
}

@font-face {
	font-family: 'NotoSansJP';
	font-weight: 500;
	font-style: normal;
	font-display: swap;
	src: url("../fonts/notosansjp/NotoSansJP-Medium.woff2") format("woff2"),
		url("../fonts/notosansjp/NotoSansJP-Medium.woff") format("woff");
}

@font-face {
	font-family: 'NotoSansJP';
	font-weight: 700;
	font-style: normal;
	font-display: swap;
	src: url("../fonts/notosansjp/NotoSansJP-Bold.woff2") format("woff2"),
		url("../fonts/notosansjp/NotoSansJP-Bold.woff") format("woff");
}

@font-face {
	font-family: 'NotoSansJP';
	font-weight: 900;
	font-style: normal;
	font-display: swap;
	src: url("../fonts/notosansjp/NotoSansJP-Black.woff2") format("woff2"),
		url("../fonts/notosansjp/NotoSansJP-Black.woff") format("woff");
}


body {
	font-size: 16px;
	line-height: 1.8;
	letter-spacing: 0.04em;
	/* font-family: "heisei-mincho-std", serif; */
	/* font-family: "游ゴシック体", "YuGothic", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif; */
	font-family: "メイリオ", Meiryo, "Yu Gothic Bold", "游ゴシック体", "YuGothic", sans-serif;
    font-weight: normal; /* 游ゴシックの太字指定を優先するために設定 */
	color: #0c0c0c;
}
.print-cart-btn .print-btn,
button, input[type="button"], input[type="reset"], input[type="submit"], .button, .widget a.button,
button.alt, input[type="button"].alt, input[type="reset"].alt, input[type="submit"].alt, .button.alt, .widget-area .widget a.button.alt {
	background: white;
    border: 1px solid #1f5da9;
    color: #1f5da9;
}

body,
.secondary-navigation a {
	color: #0c0c0c;
}

body.locked {
	overflow: hidden;
}

body.privacy-policy li {
	list-style-type: none;
}

.text-primary-color {
	color: var(--oc-primary-color);
}

.clear-fix {
	clear: both;
}

a {
	text-decoration: none;
	color: var(--oc-link-color);
	;
}

a:hover {
	text-decoration: none;
}

.bg-image {
	z-index: 0;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.text-bg-top {
	z-index: 0;
	height: 200px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
.required{
	text-decoration: none;
}
.text-bg-top .caption {}

.text-bg-top .caption h1,
.text-bg-top .caption h2 {
	color: #fff;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
}

.content-none {
	text-align: center;
	font-size: 20px;
	padding: 80px 10px;
}

.content-none .error-number {
	font-size: 70px;
}

.content-none .content-none-btn {
	margin: 20px auto;
	text-align: center;
}

/* OC Button Style */
.site-btn {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 375px;
	height: 73px;
	max-width: 90%;
	border: 1px solid #fff;
	color: #fff;
	background-color: transparent;
	transition: all 0.5s;
}

.site-btn {
	color: var(--oc-primary-color);
	border-color: var(--oc-primary-color);
}

/* END - OC Button Style */

/* OC Modal Style */
.modal-design {
	height: 80vh;
	overflow: scroll;
	margin: 15% 0 10% 0;
	border-radius: unset;
}

.modal-dialog {
	max-width: 800px;
	padding: 1rem;
}

@media (min-width: 576px) {
	.modal-dialog {
		max-width: 500px;
		margin: 1.75rem auto;
	}
}

.close-btn {
	position: fixed;
	right: 0x;
	top: 25px;
}

.modal-side-margin {
	margin: 0;
}

.modal-body-design {
	padding: 0;
}

.round_btn {
	display: block;
	width: 45px;
	height: 45px;
	border: 2px solid #AA8400;
	/* 枠の調整 */
	border-radius: 50%;
	/* 丸みの度合い */
	background: #fff;
	/* ボタンの背景色 */
}

.round_btn::before,
.round_btn::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 3px;
	/* 棒の幅（太さ） */
	height: 22px;
	/* 棒の高さ */
	background: #AA8400;
	/* バツ印の色 */
}

.round_btn::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.round_btn::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

/* END - OC Modal Style */

.wp-block-heading,
.wc-block-grid__product-title {
	color: #0c0c0c;
}

.wp-block-list,
.wp-block-list {
	margin: 0 0 1.41575em 1.25em;
}

.page-id-20840 ul.wp-block-list {
	list-style: none;
}

/* ----------------------------------------------------------------------------
 * STOREFRONT THEME ADJUSTMENTS    --------------------------------------------
 * ----------------------------------------------------------------------------
 */

.col-full {
	padding: 0;
	width: 100%;
	max-width: 1440px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box
}

.theme-storefront .site-main {
	margin-bottom: 0;
}

.theme-storefront a.fm-dark-link {
	color: #0c0c0c;
}

.theme-storefront a:focus-visible,
.theme-storefront a:focus {
	outline: none;
}

.single-product .storefront-product-pagination {
	display: none;
}

/* SINGLE PRODUCT PAGE */

/* Adjust content for removal of sidebar in functions.php */
.single-product .col-full .content-area {
	width: calc(100% - 30px);
	max-width: 1440px;
	margin: 30px auto 0 auto;
	float: unset;
}

.single-product .site-content div.product {
	display: flex;
	flex-wrap: wrap;
	column-gap: 40px;
	align-items: stretch;
	justify-content: center;
}

.single-product .site-content div.product::before,
.single-product .site-content div.product::after {
	content: unset;
	display: none;
}

.single-product div.product div.tone-product-gallery {
	width: 30%;
	flex: 0 0 30%;
	margin-bottom: 50px;
}

.summary p#product_variation_desc {
	white-space: pre-line;
}

.variation-image-slides {
	display: none;
}

.swiper-slide.single-product-swiper-slide {
	aspect-ratio: 1/1;
	transition: opacity 0.1s;
}

.swiper-slide.single-product-swiper-slide.loading {
	opacity: 0.3;
}

.single-product div.product div.summary {
	/* flex: 0 0 calc(55% - 40px); */
	float: unset;
	margin: unset;
}

.single-product .site-content div.product div.woocommerce-tabs {
	flex: 0 0 100%;
}

.single-product .site-content div.product .related.products {
	flex: 1 1 100%;
	margin: 0 1.2rem 1.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid #ccc;
}

.single-product .site-content div.product .related.products h2 {
	position: relative;
	color: #0c0c0c;
	font-size: 30px;
	font-weight: 600;
	line-height: 51px;
	text-align: center;
	padding-bottom: 30px;
	margin-bottom: 30px;
}

.single-product .site-content div.product .related.products h2:after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 41px;
	height: 4px;
	background-color: #54a095;
	transform: translateX(-50%);
}

.single-product .site-content div.product .related.products ul.products {
	display: flex;
	column-gap: 25px;
	margin: 0 1.2rem;
}

.single-product .site-content div.product .related.products ul.recently-viewed-products {
	border-top: none;
}

.single-product .site-content div.product .related.products ul.products .category-page-product {
	flex: 0 0 calc((100% - 100px) / 5);
	display: flex;
	flex-direction: column;
}

.single-product .site-content div.product .related.products ul.products:before {
	content: unset;
}

.single-product .site-content div.product .related.products ul.products li.product {
	flex: 0 0 calc((100% - 100px) / 5);
	text-align: left;
	margin: 0;
}

.single-product .site-content div.product .related.products ul.products li.product .woocommerce-loop-product__link {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.single-product .site-content div.product .related.products ul.products li.product img {
	flex: 0 0 auto;
	width: 100%;
	display: block;
	border-radius: 0;
	margin: 0;
	height: 178px;
	object-fit: contain;
}

.single-product .site-content div.product .related.products ul.products li.product .woocommerce-loop-product__title {
	flex: 1 0 1px;
	color: #0c0c0c;
	font-size: 16px;
	font-weight: 300;
	line-height: 27px;
	text-align: left;
	padding-bottom: 0;
	margin: 16px 0 20px 0;
}

.single-product .site-content div.product .related.products ul.products li.product .woocommerce-loop-product__title:after {
	content: unset;
	display: none;
}

.single-product .site-content div.product .related.products ul.products li.product .price {
	margin: 0;
}

.single-product .site-content div.product .related.products ul.products li.product .woocommerce-Price-amount {
	margin: 0;
	flex: 0 0 auto;
	color: #0c0c0c;
	font-size: 16px;
	font-weight: 600;
	line-height: 27px;
	text-align: left;
}

.single-product .site-content div.product .related.products ul.products li.product ins {
	margin-left: 0;
}

.single-product .site-content div.product .related.products ul.products li.product del .woocommerce-Price-amount {
	font-size: 13px;
	text-decoration: line-through;
}

.single-product .site-content div.product .related.products ul.products li.product ins .woocommerce-Price-amount {
	color: #d06060;
}

.single-product .site-content div.product .related.products ul.products li.product .woocommerce-Price-amount .woocommerce-Price-currencySymbol {
	color: #0c0c0c;
	font-size: 13px;
	font-weight: 600;
	line-height: 27px;
	margin: 0;
}

.single-product .site-content div.product .related.products ul.products li.product del .woocommerce-Price-amount .woocommerce-Price-currencySymbol {
	font-size: 11px;
}

.single-product .site-content div.product .related.products ul.products li.product ins .woocommerce-Price-amount .woocommerce-Price-currencySymbol {
	color: #d06060;
}

.single-product .site-content div.product .related.products ul.products li.product .onsale,
.single-product .site-content div.product .related.products ul.products li.product .add_to_cart_button,
.single-product .site-content div.product .related.products ul.products li.product .button.product_type_variable {
	display: none;
}

.return-to-category-container {
	margin: 0 1.2rem 0 auto;
}

.return-to-category-link-btn {
	display: flex;
	column-gap: 11px;
	align-items: center;
	color: #0085cd;
	font-size: 15px;
	font-weight: 500;
	line-height: 40px;
	letter-spacing: 0.1em;
	text-decoration: underline;
	margin: 0 0 50px;
}

.return-to-category-link-btn:before {
	content: "";
	width: 11px;
	height: 5px;
	display: block;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url('../img/return-to-category-arrow.svg');
}


/* ----------------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 * SITE    --------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 */

.mb-only {
	display: none;
}

span.mb-only {
	display: none;
}

/* .layout-wrap {
	margin-top: 100px;
} */
.col-sidebar {
	flex: 0 0 290px;
	padding-left: 10px;
}

/* Several (missing) Bootstrap styles used in the blog code. */
.d-flex {
	display: flex;
}

.align-items-center {
	align-items: center;
}

.flex-wrap {
	flex-wrap: wrap;
}

.wrapp-blog-list {
	margin-top: 40px;
}

.site-section {
	position: relative;
}

.site-container {
	width: 100%;
	margin: 0 auto;
	max-width: 1100px;
}

.site-heading {}

.site-heading.centered {
	display: flex;
	align-items: center;
	flex-direction: column;
}

.site-heading-title-ja {
	margin: 0;
	color: #0c0c0c;
	font-size: 30px;
	font-weight: 600;
	line-height: 61px;
}

.site-heading-title-en {
	margin: 0;
	color: #2454a1;
	font-size: 16px;
	font-weight: 700;
	line-height: 19px;
	letter-spacing: 0.1em;
	font-family: 'Caviar Dreams';
}

.site-heading.white-text .site-heading-title-ja,
.site-heading.white-text .site-heading-title-en {
	color: #fff;
}

.site-heading.underlined .site-heading-title-ja {
	position: relative;
	padding-bottom: 6px;
	margin-bottom: 18px;
}

.site-heading.underlined .site-heading-title-ja:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 20px;
	height: 2px;
	background-color: #2454a1;
}

.site-heading.centered.underlined .site-heading-title-ja:after {
	left: calc(50% - 10px);
}

.site-section-link {
	margin: 0;
	column-gap: 11px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	color: #0085cd;
	font-size: 15px;
	font-weight: 500;
	line-height: 40px;
	letter-spacing: 0.1em;
	text-decoration: underline;
}

.site-section-link.right {
	justify-content: flex-end;
}

.site-section-link:before {
	content: "";
	width: 11px;
	height: 5px;
	display: block;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url('../img/site-link-arrow.svg');
}

.site-section-link:hover {
	color: #82d0fa;
}

.site-section-link.news-columns {
	margin-top: 48px;
}

.site-link-btn {
	width: 230px;
	height: 50px;
	display: flex;
	position: relative;
	align-items: center;
	justify-content: center;
	padding: 0 15px 0 30px;
	border-radius: 3px;
}

.site-link-btn-label {
	font-size: 20px;
	font-weight: 400;
	line-height: 34px;
}

.site-link-btn.centered {
	margin: 0 auto;
}

.site-link-btn.full-width {
	width: 100%;
}

.site-link-btn.green {
	background-color: #54a095;
}

.site-link-btn.green:hover {
	background-color: rgba(84 160 149 / 80%);
}

.site-link-btn.green:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 13px;
	width: 8px;
	height: 10px;
	transform: translateY(-50%);
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url(../img/site-btn-green-arrow.svg);
}

.site-link-btn.green .site-link-btn-label {
	color: #fff;
}

.site-page-bread-crumbs {
	width: 100%;
	margin: 0 auto;
	max-width: 1440px;
	padding: 0 16px;
	background-color: #f8fcfe;
}

.site-page-bread-crumbs.bread-crumbs .bc-item,
.site-page-bread-crumbs.bread-crumbs .bc-item h1 {
	color: #0c0c0c;
	font-size: 13px;
	font-weight: 300;
	line-height: 32px;
	margin: 0 20px 0 0;
	align-items: center;
	/* font-family: 'NotoSansJP'; */
}

.site-page-bread-crumbs.bread-crumbs .bc-item:not(.bc-home):before {
	content: "";
	width: 4px;
	height: 8px;
	margin-right: 20px;
	display: inline-block;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url('../img/bc-item-arrow.svg');
}

.site-page-bread-crumbs .bc-home .bc-link {
	color: #54a095;
	text-decoration: none;
}

.site-page-bread-crumbs .bc-home .bc-home-icon {
	display: inline-block;
}

.gold-border-heading {
	display: flex;
	column-gap: 10px;
	align-items: center;
	justify-content: flex-start;
}

.gold-border-heading-border {
	width: auto;
	height: 40px;
	display: block;
	border-radius: 0;
}

.gold-border-heading-label {
	margin: 0;
	color: #0c0c0c;
	font-size: 30px;
	font-weight: 600;
	line-height: 51px;
	letter-spacing: 0.1em;
}

img.me-1,
img.me-2 {
	width: 21px;
	height: 21px;
	padding: 3px;
}


/* ----------------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 * HEADER    ------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 */

.site-header {
	top: 0;
	left: 0;
	width: 100vw;
	height: 80px;
	position: fixed;
	box-shadow: 0 0 10px 0 rgba(0 0 0 / 10%);
	padding: 0;
}

.site-header-container {
	width: 100%;
	height: 100%;
	margin: 0 auto;
	max-width: 1440px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	color: #0c0c0c;
	font-size: 12px;
	font-weight: 600;
	background-color: #fff;
	padding: 23px 30px;
}

.header-spacer {
	height: 80px;
	max-height: 80px;
}

.home.blog .site-header,
.home.page:not(.page-template-template-homepage) .site-header,
.home.post-type-archive-product .site-header {
	margin-bottom: 0;
}

.site-header .header-logo-image {
	width: 152px;
	border-radius: 0;
}

.site-header .header-logo-link {
	flex: 0 0 auto;
}

.site-header .header-menus {
	flex: 1 0 1px;
	display: flex;
	column-gap: 50px;
	align-items: center;
	padding-left: 30px;
}

.header-megamenu-item {
	height: 80px;
	display: flex;
	column-gap: 8px;
	align-items: center;
	justify-content: center;
	position: relative;
}

.header-megamenu-dropdown-arrow {
	content: "";
	left: -100vw;
	bottom: -1px;
	width: 0px;
	height: 0px;
	opacity: 0;
	display: block;
	position: absolute;
	transition: opacity 0.5s;
	transform: translateX(-50%);
	border-left: 7px solid transparent;
	border-right: 7px solid transparent;
	border-bottom: 8px solid rgba(36 84 161 / 81%);
}

.header-megamenu-item-link {
	display: inline-block;
	color: #2454a1;
	font-size: 15px;
	font-weight: 400;
	line-height: 25px;
	letter-spacing: 0.03em;
	text-decoration: none;
	/* font-family: 'NotoSansJP'; */
	margin: 0;
}

/*
 * NOTE You will be tempted to "reduce" the "common" styles for category and manufacturer
 *      below. This will bring tears. The menus operate _separately_
 */
.header-megamenu-dropdown {
	opacity: 0;
	position: fixed;
	top: 80px;
	left: 50%;
	width: 100%;
	min-height: 300px;
	max-width: 1440px;
	transition: opacity 0.5s;
	backdrop-filter: blur(15px);
	background-color: rgba(36 84 161 / 81%);
	transform: translate(-50%, calc(-100% - 80px));
}

.header-megamenu-dropdown.category {
	padding: 50px 20px 70px 20px;
}

.header-megamenu-item.category:hover .header-megamenu-dropdown-arrow {
	left: 50%;
	opacity: 1;
}

.header-megamenu-item.category:hover .header-megamenu-dropdown {
	opacity: 1;
	transform: translate(-50%, 0);
}

.header-megamenu-item.category .header-megamenu-item-arrow {
	transition: transform 0.3s;
}

.header-megamenu-item.category:hover .header-megamenu-item-arrow {
	transform: rotate(180deg);
}

.header-megamenu-dropdown.manufacturer {
	padding: 108px 20px 70px 20px;
}

.header-megamenu-item.manufacturer:hover .header-megamenu-dropdown-arrow {
	left: 50%;
	opacity: 1;
}

.header-megamenu-item.manufacturer:hover .header-megamenu-dropdown {
	opacity: 1;
	transform: translate(-50%, 0);
}

.header-megamenu-item.manufacturer .header-megamenu-item-arrow {
	transition: transform 0.3s;
}

.header-megamenu-item.manufacturer:hover .header-megamenu-item-arrow {
	transform: rotate(180deg);
}

.header-megamenu-item.category .megamenu-item-boxes {
	display: flex;
	row-gap: 41px;
	flex-wrap: wrap;
	column-gap: 50px;
	max-width: 1040px;
	margin: 0 auto;
}

.header-megamenu-item.category .megamenu-item-box {
	flex: 0 0 calc((100% - 200px) / 5);
}

.header-megamenu-item.category .megamenu-item-box .megamenu-item-box-image {
	width: 100%;
	display: block;
}

.header-megamenu-item.category .megamenu-item-box .megamenu-item-box-title {
	color: #fff;
	font-size: 15px;
	font-weight: 500;
	line-height: 25px;
	letter-spacing: 0.03em;
	margin-top: 15px;
	margin-bottom: 0;
}

.header-megamenu-item.manufacturer .megamenu-item-boxes {
	display: flex;
	row-gap: 56px;
	flex-wrap: wrap;
	column-gap: 39px;
	max-width: 1040px;
	margin: 0 auto;
}

.header-megamenu-item.manufacturer .megamenu-item-box {
	flex: 0 0 calc((100% - 195px) / 6);
}

.header-megamenu-item.manufacturer .megamenu-item-box .megamenu-item-box-image-wrap {
	width: 100%;
	padding: 5px;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 134 / 67;
	background-color: #fff;
}

.header-megamenu-item.manufacturer .megamenu-item-box .megamenu-item-box-image {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: contain;
}

.header-megamenu-item.manufacturer .megamenu-item-box .megamenu-item-box-title {
	display: block;
	color: #fff;
	font-size: 13px;
	font-weight: 500;
	line-height: 25px;
	text-align: center;
	letter-spacing: 0.03em;
	word-break: keep-all;
	margin-top: 7px;
	margin-bottom: 0;
}

.header-megamenu-dropdown .megamenu-link {
	width: 100%;
	max-width: 1040px;
	margin: 68px auto 0 auto;
	display: flex;
	column-gap: 11px;
	align-items: center;
	justify-content: flex-end;
	color: #fff;
	font-size: 15px;
	font-weight: 500;
	line-height: 40px;
	letter-spacing: 0.1em;
	text-decoration: underline;
}

.header-megamenu-dropdown .megamenu-link:before {
	content: "";
	width: 9px;
	height: 5px;
	display: block;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url('../img/megamenu-link-arrow.svg');
}


/*
 * PAGE: Front Page
 */
.front-page-link {
	width: 100%;
	margin: 48px auto 0 auto;
	display: flex;
	column-gap: 11px;
	align-items: center;
	justify-content: flex-end;
	color: #0085cd;
	font-size: 15px;
	font-weight: 500;
	line-height: 10px;
	letter-spacing: 0.1em;
	text-decoration: underline;
}

.front-page-link:before {
	content: "";
	width: 9px;
	height: 5px;
	display: block;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url('../img/front-link-arrow.svg');
}

.site-section.front-inventory-section {
	padding: 60px 0;
	border-top: 1px solid #2454a1;
}

.site-container.front-inventory-container {
	position: relative;
}

.front-inventory-content {
	width: 100%;
	margin: 0 auto;
	max-width: 1000px;
}

.front-inventory-intro {
	color: #2454a1;
	font-size: 30px;
	font-weight: 500;
	line-height: 45px;
	text-align: center;
	letter-spacing: 0.1em;
	margin-bottom: 106px;
}

.front-inventory-box {
	z-index: 2;
	position: relative;
	left: 60px;
	width: 100%;
	max-width: 830px;
	margin-bottom: 150px;
	background-color: #fff;
	padding: 45px 50px 50px 50px;
	box-shadow: 0 0 20px 0 rgba(0 0 0 / 10%);
}

.front-inventory-logo {
	width: 325px;
	display: block;
	margin-bottom: 30px;
}

.front-inventory-text {
	color: #0c0c0c;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: 0.04em;
	margin-bottom: 0;
}

.front-inventory-image-lt {
	z-index: 0;
	display: block;
	position: absolute;
	left: 0;
	top: 352px;
	width: 595px;
}

.front-inventory-image-rt {
	z-index: 0;
	display: block;
	position: absolute;
	right: 0;
	top: 151px;
	width: 50%;
}

.front-inventory-buttons {
	max-width: 841px;
	display: flex;
	column-gap: 41px;
	margin: 0 auto;
}

.front-inventory-button {
	width: calc((100% - 41px) / 2);
	max-width: 400px;
	aspect-ratio: 400 / 120;
	display: flex;
	column-gap: 10px;
	align-items: center;
	justify-content: center;
}

.front-inventory-button.phone {
	background-size: 100% auto;
	background-position: top left;
	background-image: url('../img/front-inventory-btn-phone-bg.jpg');
}

.front-inventory-button.phone:hover {
	background-position: bottom left;
}

.front-inventory-button.contact {
	background-size: 100% auto;
	background-position: top left;
	background-image: url('../img/front-inventory-btn-contact-bg.jpg');
}

.front-inventory-button.contact:hover {
	background-position: bottom left;
}

.front-inventory-button-icon.phone {
	width: 38px;
	display: block;
	margin-top: 6px;
}

.front-inventory-button-phone-info {
	display: flex;
	flex-direction: column;
}

.front-inventory-button-phone-number {
	color: #182445;
	font-size: 30px;
	font-weight: 700;
	line-height: 35px;
	letter-spacing: 0.06em;
	font-family: 'Helvetica Neue';
	margin: 0;
}

.front-inventory-button-phone-hours {
	color: #182445;
	font-size: 15px;
	font-weight: 500;
	line-height: 20px;
	letter-spacing: 0.1em;
	margin: 0;
}

.front-inventory-button-icon.contact {
	width: 18px;
	display: block;
}

.front-inventory-button.contact .front-inventory-button-label {
	color: #fff;
	font-size: 25px;
	font-weight: 500;
	line-height: 40px;
	letter-spacing: 0.1em;
	margin: 0;
}

.site-header .header-search-wrap.desktop {
	/* width: 19%;
	height: 40px;
	flex: 0 1 19%;
	max-width: 276px;
	margin-right: 25px;
	position: relative; */
	margin-left: auto;
	margin-right: 0;
	width: 30%;
	flex: 0 1 30%;
}

.site-header .header-search-wrap.mobile {
	display: none;
}

.site-header .header-search-wrap input#woocommerce-product-search-field {
	background-color: white;
	border: 2px solid #2454a1;
	border-radius: 5px;
	width: 70%;
}

form.woocommerce-product-search {
	margin: 0;
}

.site-header .header-search-input {
	width: 100%;
	height: 38px;
	font-size: 15px;
	font-weight: 400;
	line-height: 38px;
	border: none;
	outline: none;
	box-shadow: unset;
	border-radius: 5px;
	padding: 7px 33px 7px 11px;
	background-color: #fcfdff;
	border: 1px solid #e1e9ed;
}

.site-header .header-search-input:focus {
	border-color: #2454a1;
	background-color: #f8fafc;
}

.site-header .header-search-icon-wrap {
	top: 0;
	right: 0;
	bottom: 0;
	width: 36px;
	position: absolute;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}

.site-header .header-search-icon {
	pointer-events: none;
}

.site-header .header-search-wrap:focus-within .header-search-icon path {
	fill: #2454a1;
}

.site-header .header-btns {
	display: flex;
	align-items: center;
}

.site-header .header-btn {
	height: 28px;
	display: flex;
	column-gap: 4px;
	align-items: center;
}

.site-header .header-btn-seper {
	width: 1px;
	height: 10px;
	display: block;
	margin: 0 20px;
	background-color: #0c0c0c;
}

.site-header .header-btn.cart {
	position: relative;
}

.site-header .header-btn-icon.account {
	width: 19px;
	margin-right: 1px;
}

.site-header .flex-column.header-rank {
	flex-direction: column;
	row-gap: 3px;
}

.site-header .flex-column.header-rank .header-btn-label {
	line-height: 0.9em;
}

.site-header .flex-column.header-rank .header-btn-label.rank {
	color: black;
	font-size: 11px;
}

.header-btn-icon {
	width: 18px;
	margin-right: 6.4px;
}

.site-header .header-btn-icon.login {
	width: 18px;
}

.site-header .header-btn-icon.cart {
	width: 20px;
	margin-right: 2.4px;
}

.site-header .header-btn-label {
	font-size: 15px;
	font-weight: 500;
	line-height: 25px;
	letter-spacing: 0.03em;
	/* font-family: 'NotoSansJP'; */
}

.site-header .header-btn-label.user-guide {
	color: #2454a1;
}

.site-header .header-btn-label.account {
	color: #0085cd;
}

.site-header .header-btn-label.cart {
	color: #d06060;
}

.site-header .header-btn-cart-qty {
	position: absolute;
	top: -10px;
	right: 0;
	min-width: 20px;
	height: 20px;
	color: #fff;
	font-size: 10px;
	font-weight: 300;
	line-height: 20px;
	text-align: center;
	border-radius: 50%;
	background-color: #aa0000;
}

.site-header .burger-icon {
	display: none;
}

.mobile-menu-slideout {
	display: none;
}


/* ----------------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 * FOOTER    ------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 */

.site-footer {
	padding: 0;
	background-color: #fff;
}

.site-fixed-footer {
	display: none;
}

body.tax-product_cat .site-footer {
	padding-top: 0;
}

.site-footer .footer-container {
	width: 100%;
	margin: 0 auto;
	max-width: 1440px;
	position: relative;
	background-color: #182445;
}

.site-footer .footer-content {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin: 0 auto;
	/* max-width: 1200px;  */
	padding: 20px 40px 25px 13%;
}

.site-footer .footer-content .footer-menu-wrap-outside {
	display: flex;
	max-width: 500px;
}

.site-footer .footer-content .footer-menu-wrap:first-child {
	margin-right: 80px;
}

.site-footer .footer-menu {
	margin: 0;
	list-style: none;
}

.site-footer .footer-menu .menu-item a {
	margin: 0;
	color: #fff;
	font-size: 15px;
	font-weight: 300;
	line-height: 25px;
	letter-spacing: 0.1em;
	text-decoration: none;
	font-family: 'NotoSansJP';
}

.site-footer .footer-menu .menu-item a:before {
	content: "";
	display: inline-block;
	width: 5px;
	height: 10px;
	margin-right: 6px;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url('../img/footer-menu-item-arrow.svg');
}

.site-footer .footer-company-info {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	font-weight: 400;
	font-family: 'NotoSansJP';
}

.site-footer .footer-company-name {
	font-size: 20px;
	color: #fff !important;
	text-align: right;
	margin: 10px 0 5px;
}

.site-footer .footer-company-logo {
	width: 250px;
	display: block;
}

.site-footer .footer-company-address {
	color: #fff;
	font-size: 15px;
	line-height: 1.5;
	letter-spacing: 0.03em;
	margin-bottom: 7px;
}

.site-footer .footer-company-manager {
	margin: 0;
	color: #fff;
	font-size: 13px;
	line-height: 25px;
	letter-spacing: 0.03em;
}

.site-footer .footer-company-manager .sales-manager-label {
	font-weight: 500;
}

.footer-company-contact {
	column-gap: 5px;
	display: flex;
	align-items: center;
}

.footer-company-contact-icon {
	display: block;
	border-radius: 0;
}

.footer-company-contact-number {
	color: #fff;
	font-size: 15px;
	line-height: 17px;
	letter-spacing: 0.03em;
	margin-bottom: 2px;
	white-space: nowrap;
}

.footer-company-contact-hours {
	color: #fff;
	font-size: 13px;
	line-height: 17px;
	margin: 0;
}

.site-footer .footer-copyright {
	width: 100%;
	height: 30px;
	margin: 0 auto;
	max-width: 1440px;
	display: block;
	background-color: #2454A1;
}

.site-footer .footer-copyright-text {
	margin: 0;
	color: #fff;
	font-size: 13px;
	font-weight: 400;
	line-height: 29px;
	text-align: center;
	font-family: 'NotoSansJP';
}

.fixed-footer {
	display: none;
}



/* ----------------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 * FRONT PAGE
 * ----------------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 */
.col-main {
	width: calc(100% - 290px);
}

.front-section-heading {
	display: flex;
	align-items: center;
	flex-direction: column;
}

.front-section-heading-icon {
	width: 18px;
	display: block;
	border-radius: 0;
}

.front-section-heading-title {
	color: #0c0c0c;
	font-size: 30px;
	font-weight: 500;
	line-height: 40px;
	letter-spacing: 0.1em;
	margin: 27px 0 0 0;
}

.front-swiper-content {
	width: 100%;
	margin: 0 auto;
	max-width: 1440px;
}

.swiper.front-swiper {}

.swiper.front-swiper .front-swiper-pagination.swiper-pagination-horizontal.swiper-pagination-bullets {
	position: absolute;
	top: unset;
	left: unset;
	right: 20px;
	bottom: 20px;
	width: auto;
	z-index: 2;
}

.swiper.front-swiper .front-swiper-pagination.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
	width: 40px;
	height: 6px;
	opacity: 1.0;
	border-radius: 3px;
	border: 1px solid #2454a1;
	background-color: transparent;
}

.swiper.front-swiper .front-swiper-pagination.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background-color: #0085cd;
}

.swiper-slide.front-swiper-slide {
	width: 100%;
	aspect-ratio: 1440 / 560;
	aspect-ratio: 1440 / 445;
}

.swiper-slide-image {
	display: block;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.swiper-slide-image.dt {
	border-radius: 0;
}

.swiper-slide-image.mb {
	display: none;
}

.front-swiper-slide-content {
	left: 11.5%;
	position: absolute;
}

.slide-one .front-swiper-slide-content {
	top: 50%;
	transform: translateY(-50%);
	background-color: rgba(255, 255, 255, 0.9);
	padding: 25px 20px;
}

.slide-two .front-swiper-slide-content {
	top: 11%;
}

.slide-three .front-swiper-slide-content {
	top: 229px;
}

.front-slide-text {}

.front-slide-text.top {
	color: #0c0c0c;
	font-size: 30px;
	font-weight: 500;
	line-height: 45px;
	letter-spacing: 0.1em;
	margin-bottom: 16px;
}

.front-slide-bar {
	display: inline-block;
	color: #fff;
	font-size: 20px;
	font-weight: 500;
	line-height: 45px;
	letter-spacing: 0.1em;
	padding: 0 20px 0 11px;
	margin-bottom: 9px;
	background-color: #2454a1;
}

.front-slide-logo {
	display: block;
	width: 600px;
}

.slide-two .front-slide-bar {
	font-size: 18px;
}

.slide-three .front-slide-bar {
	font-size: 25px;
}

.front-slide-bigblk {
	color: #0c0c0c;
	font-size: 100px;
	font-weight: 700;
	font-style: italic;
	line-height: 120px;
	font-family: 'Helvetica Neue';
	letter-spacing: 0.04em;
	margin-bottom: 0;
}

.front-slide-bigwht {
	color: #fff;
	font-size: 35px;
	font-weight: 600;
	font-family: 'NotoSansJP';
	line-height: 1.35;
	margin-bottom: 0;
	letter-spacing: 0.05em;
	position: relative;
}

.front-slide-bigwht-quote {
	position: absolute;
	top: 0;
	right: 46px;
	color: #2454a1;
	font-size: 47px;
	font-weight: 600;
	line-height: 53px;
	letter-spacing: 0.03em;
	font-family: 'heisei-mincho-std';
	padding: 0 10px 0 5px;
	background-color: #fff;
	transform: translateY(-140%);
}

.front-slide-bigwht-quote.mb {
	display: none;
}

.front-slide-bigwht-quote .front-slide-quote-arrow {
	left: 10%;
	width: 36px;
	bottom: -16px;
	position: absolute;
}

.front-slide-bigwht-quote .thin-ltr {
	letter-spacing: -5px;
}

.front-slide-bigwht-quote .natural-ltr {
	letter-spacing: 0;
}

.front-slide-quote-txt {
	font-size: 35px;
	font-weight: 600;
	line-height: 53px;
	letter-spacing: -3px;
	margin-left: -6px;
}

.front-slide-btmbar {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 50px;
	color: #fff;
	font-size: 24px;
	font-weight: 500;
	line-height: 50px;
	text-align: center;
	letter-spacing: 0.1em;
	background-color: rgba(34 34 34 / 70%);
	margin-bottom: 0;
}

.front-slide-categories-wrap {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	column-gap: 44px;
	padding: 31px 0 28px 0;
	background-color: rgba(0 0 0 / 40%);
}

.front-slide-categories {
	width: 100%;
	max-width: 940px;
	display: flex;
	column-gap: 44px;
	margin: 0 auto 0 calc(10% + 11px);
}

.front-slide-category {
	flex: 0 0 calc((100% - 220px) / 6);
	max-width: calc((100% - 220px) / 6);
	display: block;
}

.front-slide-category-title {
	color: #fff;
	font-size: 20px;
	font-weight: 500;
	line-height: 45px;
	letter-spacing: 0.1em;
	position: relative;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	word-break: keep-all;
	padding-left: 10px;
	margin: 0 0 0 -10px;
}

.front-slide-category-title:before {
	content: "";
	position: absolute;
	left: 0;
	top: 10px;
	bottom: 10px;
	width: 4px;
	background-color: #0085cd;
}

.front-slide-category-image {
	width: 100%;
	display: block;
	object-fit: cover;
	aspect-ratio: 110 / 85;
}


.front-cta-boxes {
	padding: 12px 15px 10px;
	display: flex;
	column-gap: 20px;
}

.front-cta-box {
	width: calc((100% - 40px) / 3);
	flex: 0 0 calc((100% - 40px) / 3);
}

.front-cta-box-link {
	width: 100%;
	display: block;
}

.front-cta-box-image {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.front-cta-box-image.mb-only {
	display: none;
}

.site-section.front-news-section {
	padding: 20px 0;
	background-size: cover;
	background-image: url('../img/front-news-bg.jpg');
}

.front-news-container {
	max-width: 940px;
	position: relative;
}

.front-news-content {
	display: flex;
	column-gap: 14%;
	align-items: center;
	justify-content: space-between;
}

.front-news-left {
	flex: 0 0 auto;
	min-width: 196px;
	display: flex;
	align-items: center;
	flex-direction: column;
}

.front-news-right {
	flex: 0 1 67%;
	display: flex;
	column-gap: 13px;
}

.front-news-right-left,
.front-news-right-right {
	flex: 0 0 auto;
	width: 13px;
	height: auto;
	border: 1px solid #fff;
}

.front-news-right-left {
	border-right: none;
}

.front-news-right-right {
	border-left: none;
}

.front-news-title-en {
	color: #fff;
	font-size: 30px;
	font-weight: 500;
	line-height: 40px;
	text-align: center;
	letter-spacing: 0.1em;
	margin-bottom: 8px;
}

.front-news-title-ja {
	color: #fff;
	font-size: 15px;
	font-weight: 500;
	line-height: 20px;
	text-align: center;
	letter-spacing: 0.1em;
	margin: 0 0 30px 0;
}

.front-news-link {
	display: inline-flex;
	align-items: center;
	column-gap: 11px;
	text-decoration: underline;
	text-decoration-color: #fff;
}

.front-news-link.mb {
	display: none;
}

.front-news-link-icon {
	width: 15px;
	display: block;
}

.front-news-link-label {
	color: #fff;
	font-size: 16px;
	font-weight: 400;
	line-height: 27px;
	white-space: nowrap;
	margin: 0;
}

.front-news-list {
	flex: 1 0 1px;
	display: flex;
	row-gap: 16px;
	flex-direction: column;
	padding: 16px 0;
}

.front-news-article {
	display: flex;
	column-gap: 40px;
	color: #fff;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: 0.03em;
	font-family: 'NotoSansJP';
}

.front-news-article .news-date {
	flex: 0 0 auto;
}

.front-news-article .news-sep {
	flex: 0 0 auto;
}

.front-news-article .news-title {
	flex: 1 0 1px;
}

.site-section.front-column-section {
	padding: 60px 0 60px 0;
}

.front-column-content {
	width: 100%;
	margin: 0 auto;
	max-width: 1000px;
}

.front-section-heading.front-column {
	margin-bottom: 64px;
}

.front-column-articles {
	display: flex;
	column-gap: 20px;
}

.front-column-article {
	flex: 0 0 calc((100% - 40px) / 3);
	display: flex;
	flex-direction: column;
	box-shadow: 0 0 10px 0 rgb(24 36 69 / 10%);
}

.front-column-article .column-image {
	width: 100%;
	object-fit: cover;
	aspect-ratio: 320/200;
}

.front-column-article .column-details {
	padding: 15px 20px;
	background-color: #fff;
	font-family: 'NotoSansJP';
}

.front-column-article .column-date {
	color: #2454A1;
	font-size: 13px;
	font-weight: 400;
	line-height: 25px;
	letter-spacing: 0.03em;
	margin-bottom: 7px;
}

.front-column-article .column-title {
	color: #0c0c0c;
	font-size: 15px;
	font-weight: 400;
	line-height: 25px;
	letter-spacing: 0.03em;
	margin-bottom: 0;
}

.site-section.front-recommend-section {
	padding: 68px 0;
	border-top: 1px solid #2454a1;
}

.front-recommend-content {
	width: 100%;
	margin: 0 auto;
	max-width: 1000px;
}

.front-section-heading.recommend {
	margin-bottom: 84px;
}

.front-recommend-products {
	display: flex;
	column-gap: 50px;
	margin-bottom: 100px;
}

.front-recommend-product {
	flex: 0 0 calc((100% - 200px) / 5);
	display: flex;
	flex-direction: column;
}

.recommend-product-image {
	width: 100%;
	display: block;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.recommend-product-title {
	color: #0c0c0c;
	font-size: 15px;
	font-weight: 400;
	line-height: 25px;
	letter-spacing: 0.03em;
	margin: 15px 0 16px 0;
	font-family: 'NotoSansJP';
}

.recommend-product-price {
	color: #0c0c0c;
	font-size: 13px;
	font-weight: 400;
	line-height: 25px;
	letter-spacing: 0.03em;
	font-family: 'NotoSansJP';
	margin: 0;
}

.site-section.front-category-section {
	padding: 60px 0;
	border-top: 1px solid #2454a1;
}

.site-container.front-category-container {}

.front-category-content {
	width: 100%;
	margin: 0 auto;
	max-width: 1000px;
}

.front-section-heading.front-category {
	margin-bottom: 48px;
}

.front-category-boxes {
    display: flex;
    row-gap: 30px;
    column-gap: 7px;
    flex-wrap: wrap;
}

.front-category-box {
	flex: 0 0 calc((100% - 28px) / 5);
}

.front-category-box-image-link {
	display: block;
}

.front-category-box-image {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: contain;
	border-radius: 0;
	border: 1px solid #ccc;
}

.front-category-box-title {
	display: block;
	color: #0c0c0c;
	font-size: 15px;
	font-weight: 900;
	line-height: 25px;
	letter-spacing: 0.03em;
	margin: 15px 0 7px 0;
	text-align: center;
}

.front-category-box-subitems {
	margin: 0;
	padding: 0;
}

.front-category-box-subitem {
	margin: 0;
	display: flex;
	column-gap: 6px;
}

.front-category-box-subitem .thumbnail {
	display: block;
	width: 25px;
	height: 20px;
	object-fit: contain;
	margin-top: 3px;
}

.front-category-box-subitem-link {
	display: block;
	color: #0c0c0c;
	font-size: 13px;
	font-weight: 500;
	line-height: 25px;
	text-decoration: none;
	letter-spacing: 0.03em;
	margin: 0;
}

.site-section.front-manufacturer-section {
	padding: 60px 0;
	border-top: 1px solid #2454a1;
}

.site-container.front-manufacturer-container {}

.front-manufacturer-content {
	width: 100%;
	margin: 0 auto;
	max-width: 1000px;
}

.front-section-heading.front-manufacturer {
	margin-bottom: 80px;
}

.front-manufacturer-boxes {
	display: flex;
	row-gap: 56px;
	column-gap: 39px;
	flex-wrap: wrap;
	justify-content: center;
}

.front-manufacturer-box {
	width: calc((100% - 156px) / 5);
}

.front-manufacturer-box-image-wrap {
	width: 100%;
	display: block;
	aspect-ratio: 2 / 1;
	padding: 5px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 9px;
}

.front-manufacturer-box-image {
	display: block;
	max-width: 100%;
	max-height: 100%;
	border: 1px solid #ccc;
}

.front-manufacturer-box-title {
	color: #0c0c0c;
	font-size: 13px;
	font-weight: 400;
	line-height: 17px;
	text-align: center;
	text-decoration: none;
	letter-spacing: 0.02em;
	font-family: 'NotoSansJP';
	word-break: keep-all;
	margin: 0;
}

.front-manufacturer-box-text {
	color: #0c0c0c;
	font-size: 20px;
	font-weight: 500;
	line-height: 30px;
	letter-spacing: 0.1em;
	text-align: center;
	margin: 86px 0 0 0;
}



/* ----------------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 * COMMON: GUIDE   ------------------------------------------------------------
 * ----------------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 */


.site-section.common-guide-section {
	padding: 100px 0 162px 0;
	background-color: #f5fafc;
}

.site-container.common-guide-container {}

.common-guide-content {
	width: 100%;
	margin: 0 auto;
	max-width: 1000px;
	display: flex;
	column-gap: 7.6%;
}

.common-guide-content .common-guide-left {
	flex: 0 0 46.2%;
}

.common-guide-content .common-guide-right {
	flex: 0 0 46.2%;
}

.common-guide-group.margin-btm {
	margin-bottom: 61px;
}

.common-guide-group-head {
	display: flex;
	column-gap: 8px;
	align-items: center;
	margin-bottom: 27px;
}

.common-guide-group-head-icon {}

.common-guide-group-head-title {
	color: #0c0c0c;
	font-size: 25px;
	font-weight: 500;
	line-height: 40px;
	letter-spacing: 0.1em;
	margin: 0;
}

.common-guide-group-content {
	padding-left: 20px;
	font-family: 'NotoSansJP';
}

.common-guide-text-big {
	color: #0c0c0c;
	font-size: 20px;
	font-weight: 500;
	line-height: 25px;
	letter-spacing: 0.03em;
	margin-bottom: 33px;
}

.common-guide-text-big.margin-sm {
	margin-bottom: 11px;
}

.common-guide-text-note {
	color: #0c0c0c;
	font-size: 13px;
	font-weight: 400;
	line-height: 25px;
	letter-spacing: 0.03em;
	margin-bottom: 40px;
}

.common-guide-list {
	padding: 0;
	list-style: none;
	margin: 0 0 0 27px;
}

.common-guide-list-item {
	color: #0c0c0c;
	font-size: 15px;
	font-weight: 400;
	line-height: 25px;
	letter-spacing: 0.03em;
	margin-bottom: 21px;
}

.common-guide-list-item .credit-card-names {
	display: inline-block;
	margin-left: 15px;
}

.common-guide-list-item.margin-dbl {
	margin-bottom: 41px;
}

.common-guide-list-item:before {
	content: "";
	width: 6px;
	height: 4.8px;
	margin-right: 5px;
	margin-bottom: 4px;
	display: inline-block;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url('../img/common-guide-list-marker.svg');
}

.common-guide-list-item-bold {
	font-size: 17px;
	font-weight: 600;
}

.common-guide-list-item-content {
	margin-top: 11px;
	padding-left: 13px;
}

.common-guide-list-item-image {
	margin-top: 21px;
}

.common-guide-group-text {
	color: #0c0c0c;
	font-size: 15px;
	font-weight: 400;
	line-height: 25px;
	letter-spacing: 0.03em;
	margin-bottom: 30px;
}

.common-guide-text-medium {
	color: #0c0c0c;
	font-size: 15px;
	font-weight: 500;
	line-height: 25px;
	letter-spacing: 0.03em;
	margin-bottom: 34px;
}

.common-guide-note {
	color: #0c0c0c;
	font-size: 13px;
	font-weight: 400;
	line-height: 25px;
	letter-spacing: 0.03em;
	margin-bottom: 40px;
}

.common-guide-note.extra-margin {
	margin-bottom: 54px;
}

.site-section-link.common-guide {
	margin-top: 94px;
	text-decoration: underline;
	font-family: "heisei-mincho-std", serif;
}

.common-guide-email-address {
	font-family: 'Helvetica Neue';
}


/* ----------------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 * COMMON: PAGE     -----------------------------------------------------------
 * ----------------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 */

.page-heading {}

.page-heading.company-message {
	margin-bottom: 100px;
}

.page-heading-icon {
	margin-left: 8px;
}

.page-heading-title {
	color: #2454a1;
	font-size: 40px;
	font-weight: 500;
	line-height: 40px;
	letter-spacing: 0.04em;
	margin: 31px 0 0 0;
}

.page-title-wrap {
	display: flex;
	column-gap: 7px;
	align-items: center;
	margin-bottom: 30px;
}

.page-title-wrap.centered {
	flex-direction: column;
	row-gap: 30px;
}

.page-title-wrap.consumption-tax {
	margin-bottom: 57px;
}

.page-title-wrap.registration-what {
	margin-bottom: 40px;
}

.page-title-wrap.registration-check {
	margin-bottom: 35px;
}

.page-title-wrap.faq {
	margin-bottom: 72px;
}

.page-title-icon {
	width: 25px;
	display: block;
}

.page-title-text {
	color: #2454a1;
	font-size: 35px;
	font-weight: 500;
	line-height: 40px;
	letter-spacing: 0.04em;
	margin: 0;
}

.blue-heading-section {
	background-color: #2454a1;
}

.blue-heading {
	display: flex;
	column-gap: 10px;
	align-items: center;
	padding: 25px 0 25px 20px;
}

.blue-heading-icon {}

.blue-heading-title {
	margin: 0;
	color: #fff;
	font-size: 30px;
	font-weight: 500;
	line-height: 40px;
	letter-spacing: 0.1em;
}



/* ----------------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 * PAGE: COMPANY    -----------------------------------------------------------
 * ----------------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 */

.site-section.company-top-section {}

.site-container.company-top-container {
	overflow: hidden;
	position: relative;
	padding: 75px 0 108px 0;
	background-color: #e5f5ff;
	background-image: linear-gradient(180deg, #e5f5ff, #f5fafc);
}

.company-top-content {
	width: 100%;
	margin: 0 auto;
	max-width: 1040px;
	padding: 0 20px;
}

.company-top-image {
	z-index: 0;
	position: absolute;
	top: 145px;
	right: -170px;
	width: 825px;
	display: block;
}

.company-top-title {
	z-index: 1;
	position: relative;
	color: #0c0c0c;
	font-size: 40px;
	font-weight: 500;
	line-height: 55px;
	letter-spacing: 0.1em;
	margin: 0 0 50px 0;
}

.company-top-text {
	z-index: 1;
	position: relative;
	color: #0c0c0c;
	font-size: 15px;
	font-weight: 400;
	line-height: 25px;
	letter-spacing: 0.03em;
	font-family: 'NotoSansJP';
	margin: 0 0 87px 0;
}

.company-top-boxes {
	z-index: 1;
	position: relative;
	display: flex;
	column-gap: 66px;
	margin: 0 14px;
}

.company-top-box {
	flex: 0 0 calc((100% - 132px) / 3);
}

.company-top-circle {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1/1;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url('../img/company-top-circle-bg.svg');
}

.company-top-circle-title {
	margin: 0;
	color: #2454a1;
	font-size: 23.5px;
	font-weight: 700;
	line-height: 35px;
	text-align: center;
	letter-spacing: 0.1em;
}

.company-top-circle-title.letter-thin {
	letter-spacing: 0.02em;
}

.company-top-circle-text {
	color: #0c0c0c;
	font-size: 15px;
	font-weight: 400;
	line-height: 25px;
	letter-spacing: 0.02em;
	font-family: 'NotoSansJP';
	margin: 58px 0 0 0;
}

.company-top-circle-note {
	font-size: 13px;
}

.site-section.company-message-section {}

.site-container.company-message-container {
	overflow: hidden;
	position: relative;
	padding: 53px 0 146px 0;
	background-color: #f5fafc;
}

.company-message-content {
	width: 100%;
	margin: 0 auto;
	max-width: 1040px;
	padding: 0 20px;
}

.company-message-wrap {
	padding: 40px 50px;
	background-color: #fff;
}

.company-message-columns {
	display: flex;
	column-gap: 44px;
}

.company-message-column-left {
	flex: 1 0 1px;
}

.company-message-column-right {
	flex: 0 0 50%;
}

.company-message-text {
	color: #0c0c0c;
	font-size: 15px;
	font-weight: 400;
	line-height: 30px;
	letter-spacing: 0.03em;
	font-family: 'NotoSansJP';
	margin: 0 0 30px 0;
	text-align: justify;
}

.company-message-text.date {
	margin-bottom: 0.5em;
	display: block;
}

.company-message-sign {
	color: #0c0c0c;
	font-size: 15px;
	font-weight: 500;
	line-height: 25px;
	letter-spacing: 0.03em;
	font-family: 'NotoSansJP';
	margin: 60px 0 0 0;
}

.company-message-image {
	width: 100%;
	display: block;
}

.company-overview-section {
	padding: 144px 0 180px 0;
}

.company-overview-content {
	width: 100%;
	margin: 0 auto;
	max-width: 1040px;
	padding: 0 20px;
}

.company-overview-indented {
	padding-left: 50px;
	display: flex;
	flex-direction: column;
}

.company-overview-row {
	display: flex;
	column-gap: 16px;
	align-items: flex-start;
	padding: 20px 0;
	background-size: 4px 1px;
	background-repeat: repeat-x;
	background-image: linear-gradient(90deg, #ccc 0%, #ccc 25%, transparent 25%, transparent 100%);
}

.company-overview-row-label {
	flex: 0 0 135px;
	color: #0c0c0c;
	font-size: 15px;
	font-weight: 500;
	line-height: 21px;
	letter-spacing: 0.1em;
	font-family: 'NotoSansJP';
	margin: 5px 0 0 0;
}

.company-overview-row-value {
	flex: 1 0 1px;
	color: #0c0c0c;
	font-size: 15px;
	font-weight: 400;
	line-height: 30px;
	letter-spacing: 0.1em;
	font-family: 'NotoSansJP';
	margin: 0;
}

.company-overview-row-value .value-title {
	display: block;
	font-size: 15px;
	font-weight: 600;
	margin: 0;
}

.company-overview-row-value .value-title:not(:first-child) {
	margin-top: 25px;
}

.company-overview-row-value .value-address {
	display: block;
}

.company-overview-row-value .value-link {
	color: #0085cd;
	overflow-wrap: anywhere;
}

.company-overview-row-value .value-link.black-text {
	color: #0c0c0c;
}

.company-overview-row-value .icon-value {
	display: inline-flex;
	align-items: center;
	column-gap: 5px;
	line-height: 25px;
	margin-right: 30px;
}

.company-overview-row-value .icon-value-icon {
	margin-top: 2px;
	border-radius: 0;
}

.company-history-section {
	padding: 0 0 310px 0px;
	margin-bottom: 120px;
}

.company-history-container {
	position: relative;
}

.company-history-content {}

.page-title-wrap.history {
	width: 100%;
	margin: 0 auto 77px auto;
	max-width: 1020px;
	padding-left: 20px;
}

.company-history-image-wrap {
	width: 100%;
	display: block;
	position: relative;
}

.company-history-image {
	width: 100%;
	display: block;
}

.company-history-info {
	top: 119px;
	left: 27.778%;
	width: 56.944%;
	min-width: 440px;
	position: absolute;
	background-color: #182445;
	padding: 15px 50px 40px 57px;
}

.company-history-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.company-history-list-item {
	display: flex;
	column-gap: 50px;
	align-items: flex-start;
	padding: 24px 0 17px 0;
	background-size: 4px 1px;
	background-repeat: repeat-x;
	background-position: bottom left;
	background-image: linear-gradient(90deg, #fff 0%, #fff 25%, transparent 25%, transparent 100%);
}

.company-history-list-label {
	flex: 0 0 174px;
	color: #fff;
	font-size: 15px;
	font-weight: 500;
	line-height: 21px;
	letter-spacing: 0.1em;
	font-family: 'NotoSansJP';
	margin: 5px 0 0 0;
}

.company-history-list-value {
	flex: 1 0 1px;
	color: #fff;
	font-size: 15px;
	font-weight: 500;
	line-height: 30px;
	letter-spacing: 0.1em;
	font-family: 'NotoSansJP';
	margin: 0;
}

.company-history-link {
	display: block;
	color: #fff;
	font-size: 15px;
	font-weight: 500;
	line-height: 21px;
	text-align: right;
	letter-spacing: 0.1em;
	font-family: 'NotoSansJP';
	margin: 29px 0 0 0;
}



/* ----------------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 * PAGE: USER GUIDE    --------------------------------------------------------
 * ----------------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 */

.site-section.guide-heading-section {
	padding: 88px 20px 0;
}

.site-container.guide-heading-container {
	max-width: 1000px;
}

.guide-heading-content {}

.site-section.guide-nav-section {
	padding: 60px 20px 0;
}

.guide-nav-content {
	width: 100%;
	margin: 0 auto;
	max-width: 1000px;
}

.guide-nav-buttons {
	display: flex;
	row-gap: 20px;
	column-gap: 30px;
	flex-wrap: wrap;
}

.guide-nav-buttons .guide-nav-button {
	height: 50px;
	position: relative;
	color: #fff;
	font-size: 17px;
	font-weight: 500;
	line-height: 48px;
	letter-spacing: 0.1em;
	flex: 0 0 calc((100% - 90px) / 4);
	padding-left: 21px;
	background-image: linear-gradient(120deg, #2454A1 0%, #0085CD 100%);
}

.guide-nav-buttons .guide-nav-button:nth-child(3) {
	font-size: 15px;
	padding-left: 10px;
}

.guide-nav-buttons .guide-nav-button:after {
	content: "";
	width: 10px;
	height: 6px;
	top: 50%;
	right: 18px;
	position: absolute;
	transform: translateY(-50%);
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url('../img/guide-nav-btn-arrow.svg');
}

.guide-nav-contact {
	margin-top: 30px;
}

.guide-nav-contact.two-buttons {
	display: flex;
	column-gap: calc((100% - 580px) / 3);
	justify-content: center;
	align-items: center;
}

.guide-nav-contact-note {
	color: #0c0c0c;
	font-size: 17px;
	font-weight: 500;
	line-height: 45px;
	text-align: center;
	letter-spacing: 0.1em;
	margin-bottom: 30px;
}

.guide-nav-contact-button {
	width: 220px;
	height: 50px;
	position: relative;
	display: flex;
	column-gap: 8px;
	align-items: center;
	padding-left: 22px;
	margin: 0 auto;
	background-image: linear-gradient(120deg, #2454A1 0%, #0085CD 100%);
}

.two-buttons .guide-nav-contact-button {
	width: 290px;
	justify-content: center;
	padding: 0 35px 0 22px;
	margin: initial;
}

.guide-nav-contact-icon {
	width: 18px;
	display: block;
}

.guide-nav-contact-label {
	color: #fff;
	font-size: 17px;
	font-weight: 500;
	line-height: 48px;
	letter-spacing: 0.1em;
	margin: 0;
}

.two-buttons .guide-nav-contact-label {
	line-height: 1.5;
}

.guide-nav-contact-button:after {
	content: "";
	width: 10px;
	height: 6px;
	top: 50%;
	right: 18px;
	position: absolute;
	transform: translateY(-50%) rotate(-90deg);
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url('../img/guide-nav-btn-arrow.svg');
}

.site-section.guide-group-section.group-pad-top {
	padding-top: 120px;
}

.site-section.guide-group-section {}

.site-container.guide-group-container {
	max-width: 1000px;
}

.guide-group-content {
	width: 100%;
	margin: 0 auto;
	max-width: 1000px;
}

/* .guide-group-section {
	padding-left: 20px !important;
	padding-right: 20px !important;
} */
.guide-group-section {
	padding: 100px 20px 40px;
}

.guide-group-section.faq {
	padding-bottom: 200px;
}

.guide-group-blue-box {
	padding: 18px 21px 28px 21px;
	border: 1px solid #aaa;
	border-radius: 5px;
	margin-bottom: 40px;
}

.quide-group-title {
	color: #0c0c0c;
	font-size: 25px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.1em;
	margin-bottom: 19px;
}

.quide-group-subtitle {
	color: #0c0c0c;
	font-size: 19px;
	font-weight: 700;
	line-height: 40px;
	letter-spacing: 0.1em;
	margin-bottom: 15px;
}

.quide-group-text {
	color: #0c0c0c;
	font-size: 15px;
	font-weight: 400;
	line-height: 25px;
	letter-spacing: 0.03em;
}

.quide-group-text:not(:last-child) {
	margin-bottom: 45px;
}

.quide-group-text.mgn-btm-25 {
	margin-bottom: 25px;
}

.quide-group-text.mgn-small {
	margin-bottom: 11px;
}

.quide-group-text.mgn-large {
	margin-bottom: 82px;
}

.quide-group-note {
	color: #4d4d4d;
	font-size: 13px;
	font-weight: 400;
	line-height: 21px;
	letter-spacing: 0.03em;
	font-family: 'NotoSansJP';
	margin-bottom: 32px;
}

.quide-group-list {
	display: flex;
	row-gap: 16px;
	flex-direction: column;
	list-style: circle;
	margin-left: 1em;
}

.guide-group-list-item {
	color: #0c0c0c;
}

.guide-group-list-item::marker {
	color: #000;
}

.order-flow-items {
	display: flex;
	row-gap: 31px;
	flex-direction: column;
}

.order-flow-item {
	display: flex;
	align-items: center;
	padding: 23px 31px 30px 10px;
	border: 1px solid #aaa;
	border-radius: 5px;
}

.order-flow-item-left {
	flex: 0 0 114px;
	display: flex;
	justify-content: center;
}

.order-flow-item-number {
	margin: 0;
	color: #0c0c0c;
	font-size: 40px;
	font-weight: 700;
	line-height: 40px;
	letter-spacing: 0.1em;
}

.order-flow-item-right {}

.order-flow-item-title {
	color: #0c0c0c;
	font-size: 19px;
	font-weight: 700;
	line-height: 40px;
	letter-spacing: 0.1em;
	margin-bottom: 20px;
}

.order-flow-item-subtitle {
	color: #2454a1;
	font-size: 15px;
	font-weight: 700;
	line-height: 25px;
	letter-spacing: 0.03em;
	font-family: 'NotoSansJP';
	margin-bottom: 7px;
}

.order-flow-item-subtitle.mgn-top {
	margin-top: 28px;
}

.order-flow-item-text {
	color: #0c0c0c;
	font-size: 15px;
	font-weight: 400;
	line-height: 25px;
	letter-spacing: 0.03em;
	margin-bottom: 0;
}

.order-flow-item-text.mgn-btm {
	margin-bottom: 21px;
}

.order-flow-item-note {
	color: #4d4d4d;
	font-size: 13px;
	font-weight: 400;
	line-height: 21px;
	letter-spacing: 0.03em;
	margin: 26px 0 0 0;
}

.guide-group-section.shippingDate .guide-group .quide-group-text {
	padding: 0;
}

.guide-group-section.shippingDate .guide-group .quide-group-text.first {
	margin-bottom: 30px;
}

.tag-description {
	margin-bottom: 30px;
}

.tag-box {
	display: flex;
	column-gap: 0.75em;
	margin-bottom: 1rem;
	align-items: center;
	color: #0c0c0c;
}

.tag-box .tag {
	width: 130px;
	padding: 0.25em 0;
	font-size: 14px;
	font-weight: bold;
	line-height: 1;
	text-align: center;
}

.tag-box .tag.three-days,
.shipping-tag.out-of-stock.３営業日 {
	background-color: #caecd0;
}

.tag-box .tag.five-days,
.shipping-tag.out-of-stock.５営業日 {
	background-color: #d1f1ff;
}

.tag-box .tag.ten-days,
.shipping-tag.out-of-stock.１０営業日 {
	background-color: #ffe2e2;
}

.tag-box .tag.contact,
.shipping-tag.out-of-stock.別途案内 {
	background-color: #fff193;
}
.tag-box .tag.maker-direct,
.shipping-tag.out-of-stock.メーカー直送 {
	background-color: #ffb56f;
}
.tag-box .tag.stock,
.shipping-tag.out-of-stock.在庫品 {
	background-color: #ff0000;
	color: #fff;
	align-self: flex-start;
	margin-top: 6.4px;
}

/* .tag-box .tag:not(.stock) {
	border: 1px solid #b1b1b1;
} */
.tag-box .description {
	font-size: 16px;
	margin-bottom: 0 !important;
}

.calender-link {
	font-weight: bold;
}

.guide-group-boxed-items {
	display: flex;
	row-gap: 30px;
	flex-direction: column;
	/* margin-bottom: 70px; */
}

.guide-group-boxed-item {
	padding: 18px 21px 28px 21px;
	border-radius: 5px;
	border: 1px solid #aaa;
}

.boxed-item-title {
	color: #0c0c0c;
	font-size: 19px;
	font-weight: 700;
	line-height: 40px;
	letter-spacing: 0.1em;
	margin-bottom: 20px;
}

.boxed-item-listtitle,
.boxed-item-list-subtitle {
	color: #0c0c0c;
	font-size: 17px;
	font-weight: 600;
	line-height: 30px;
	letter-spacing: 0.03em;
	margin-bottom: 3px;
}

.boxed-item-list-subtitle {
	display: block;
	font-size: 15px;
	line-height: 1.5;
	margin-bottom: 8px;
}

.boxed-item-list {
	border: 1px solid #e7eaee;
	border-collapse: collapse;
}

.guide-group-section.payment .quide-group-text.first {
	padding: 0;
}

.boxed-item-list-row {
	border: 1px solid #e7eaee;
}

.boxed-item-list-row .boxed-item-list-subtitle {
	color: var(--oc-link-color);
	display: table-cell;
	width: 30%;
	background-color: #f8fcfe;
	padding: 20px;
	height: 100%;
}

.boxed-item-list-row .quide-group-text {
	width: 70%;
	padding: 20px;
	background: none !important;
	border: 1px solid #e7eaee;
}

.guide-group-section.payment .text-red {
	display: block;
	color: #ff0000;
	margin-top: 20px;
}

.guide-group-section.payment .item-five .boxed-item-listtitle {
	margin-bottom: 12px;
}

.fw-emphasize {
	font-weight: bold;
	display: inline-block;
}

.fw-bold {
	font-weight: bold;
}

.paid-how-to-image {
	display: block;
	margin: 40px auto;
	min-width: 300px;
	max-width: 80%;
}

.big-paid-btton {
	display: block;
	width: fit-content;
	margin: 35px auto 0;
	font-size: 20px;
	font-weight: bold;
	background-color: #fff;
	color: #1c5eaa;
	border: 1.5px solid #1c5eaa;
	padding: 0.25em 1em;
	border-radius: 24px;
	transition: all 0.3s;
}

.big-paid-btton:hover {
	background-color: #1c5eaa;
	color: #fff;

	/* opacity: 0.7; */

}

.boxed-item-text {
	color: #0c0c0c;
	font-size: 15px;
	font-weight: 400;
	line-height: 25px;
	letter-spacing: 0.03em;
	margin-bottom: 21px;
}

.boxed-item-text .yen {
	font-size: 12px;
}

.boxed-item-text.mgn-small {
	margin-bottom: 11px;
}

.boxed-item-textlist {
	color: #0c0c0c;
	font-size: 15px;
	font-weight: 400;
	line-height: 30px;
	letter-spacing: 0.03em;
	font-family: 'NotoSansJP';
	margin-bottom: 0;
}

.boxed-item-textlist.suck-up {
	margin-bottom: -5px;
}

.boxed-item-text:last-child {
	margin-bottom: 0;
}

.boxed-item-text .payment-item-link {
	color: #0085cd;
	text-decoration: underline;
}

.boxed-item-note {
	color: #4d4d4d;
	font-size: 13px;
	font-weight: 400;
	line-height: 21px;
	letter-spacing: 0.03em;
	margin-bottom: 32px;
}

.boxed-item-note:last-child {
	margin-bottom: 0;
}

.boxed-item-link {
	color: #0085cd;
	text-decoration: underline;
}

.boxed-item-link:hover {
	color: #0085cd;
}

.payment-item-image-cc {
	width: 450px;
	display: block;
	margin-bottom: 30px;
}

.boxed-item-image-pies {
	margin-bottom: 21px;
}

.guide-group-delivery-table {
	width: 100%;
	max-width: 463px;
}

.guide-group-delivery-table tbody tr:nth-child(2n) td {
	background-color: #fff !important;
}

.guide-group-delivery-table .label-cell,
.guide-group-delivery-table .value-cell {
	margin: 0;
	color: #0c0c0c;
	font-size: 15px;
	font-weight: 400;
	line-height: 25px;
	letter-spacing: 0.03em;
	padding: 20px 0 13px 0;
	background-color: #fff;
}

.guide-group-delivery-table .value-cell {
	text-align: right;
	padding-right: 7px;
}

.guide-group-delivery-table .value-cell .yen {
	font-size: 12px;
}

.consumption-tax-table {
	width: 95%;
	border-collapse: collapse;
}

.consumption-tax-table .label-cell,
.consumption-tax-table .value-cell {
	color: #0c0c0c;
	font-size: 15px;
	font-weight: 400;
	line-height: 25px;
	letter-spacing: 0.03em;
	font-family: 'NotoSansJP';
	border: 1px solid #aaa;
	background-color: #fff;
}

.consumption-tax-table .label-cell {
	background-color: #f8fcfe;
}

.consumption-tax-table tbody tr:nth-child(2n) td {
	background-color: #fff !important;
}

.consumption-tax-table tbody tr:nth-child(2n) td.label-cell {
	background-color: #f8fcfe !important;
}

.guide-group-faq-items {
	display: flex;
	row-gap: 101px;
	flex-direction: column;
}

.guide-group-faq-item {
	display: flex;
	row-gap: 34px;
	flex-direction: column;
}

.faq-item-question {
	display: flex;
	column-gap: 11px;
	margin: 0;
	color: #0c0c0c;
	font-size: 17px;
	font-weight: 600;
	line-height: 25px;
	letter-spacing: 0.03em;
}

.faq-item-question:before {
	content: "Q";
	width: 35px;
	height: 35px;
	flex: 0 0 35px;
	display: block;
	color: #fff;
	font-size: 25px;
	font-weight: 500;
	line-height: 35px;
	text-align: center;
	border-radius: 3px;
	border: 1px solid #2454a1;
	transform: translateY(-4px);
	background-image: linear-gradient(180deg, #2454a1 0%, #0085cd 100%);
	font-family: 'Helvetica Neue';
}

.faq-item-answer {
	display: flex;
	column-gap: 11px;
	margin: 0;
	color: #0c0c0c;
	font-size: 15px;
	font-weight: 400;
	line-height: 25px;
	letter-spacing: 0.03em;
}

.faq-item-answer:before {
	content: "A";
	width: 35px;
	height: 35px;
	flex: 0 0 35px;
	display: block;
	color: #fff;
	font-size: 25px;
	font-weight: 500;
	line-height: 35px;
	text-align: center;
	border-radius: 3px;
	border: 1px solid #ad3c00;
	transform: translateY(-4px);
	background-image: linear-gradient(180deg, #E85428 0%, #EF7D29 100%);
	font-family: 'Helvetica Neue';
}


/* ----------------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 * PAGE: MANUFACTURERS    --------------------------------------------------
 * ----------------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 */


.manufacturers-listing-section {
	padding: 103px 0 301px 0;
}

.manufacturers-listing-content {
	width: 100%;
	margin: 0 auto;
	max-width: 1090px;
	display: flex;
	flex-wrap: wrap;
	column-gap: 30px;
	row-gap: 60px;
}

.manufacturers-listing-manufacturer {
	display: block;
	flex: 0 0 calc((100% - 90px) / 4);
}

.manufacturers-listing-image-wrap {
	width: 100%;
	aspect-ratio: 1/1;
	border: 1px solid #ccc;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 25px;
}

.manufacturers-listing-image {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.manufacturers-listing-title {
	color: #0c0c0c;
	font-size: 15px;
	font-weight: 400;
	line-height: 25px;
	letter-spacing: 0.03em;
	margin: 15px 0 0 0;
	text-align: center;
}


/* ----------------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 * PAGE: PRODUCT CATEGORIES    ------------------------------------------------
 * ----------------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 */


.product-categories-listing-section {
	padding: 90px 0 294px 0;
}

.product-categories-listing-content {
	width: 100%;
	margin: 0 auto;
	max-width: 1090px;
	display: flex;
	flex-wrap: wrap;
	column-gap: 30px;
	row-gap: 60px;
}

.product-categories-listing-category {
	display: block;
	flex: 0 0 calc((100% - 90px) / 4);
}

.product-categories-listing-image-wrap {
	width: 100%;
	aspect-ratio: 1/1;
}

.product-categories-listing-image {
	max-width: 100%;
	max-height: 100%;
	object-fit: cover;
}

.product-categories-listing-title {
	color: #0c0c0c;
	font-size: 15px;
	font-weight: 400;
	line-height: 25px;
	letter-spacing: 0.03em;
	margin: 15px 0 0 0;
	text-align: center;
}


/* ----------------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 * PAGE: PRODUCT CATEGORY    --------------------------------------------------
 * ----------------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 */


.category-page-content {
	width: 100%;
	margin: 0 auto;
	max-width: 1440px;
	display: flex;
	/* column-gap: 20px; */
	align-items: stretch;
	padding-right: 20px;
	padding-left: 20px;
	margin-top: 20px;
}

.category-page-sidebar {
	flex: 0 0 290px;
	padding: 0;
	overflow-y: scroll;
}

.category-page-sidebar-closer {
	display: none;
}

.category-page-sidebar-inner {
	height: 100%;
	padding-right: 0;
	position: relative;
	border-right: 1px solid #e1e9ed;
}

/* ===== BEGIN Scrollbar CSS ===== */
/* Firefox */
.category-page-sidebar {
	scrollbar-width: 13px;
	scrollbar-color: #c8cdd0 #f8fcfe;
}

/* Chrome, Edge, and Safari */
.category-page-sidebar::-webkit-scrollbar {
	width: 11px;
	border-right: 1px solid #e1e9ed;
}

.category-page-sidebar::-webkit-scrollbar-track {
	background: #f8fcfe;
	border-right: 1px solid #e1e9ed;
}

.category-page-sidebar::-webkit-scrollbar-thumb {
	width: 11px;
	border-radius: 6px;
	background-color: #c8cdd0;
}

/* ===== END Scrollbar CSS ===== */
.category-page-sidebar-group.closed .category-page-sidebar-list {
	max-height: 0;
	overflow: hidden;
}

.category-page-sidebar-group.closed .category-page-sidebar-group-title {
	margin-bottom: 0;
}

.category-page-sidebar-group.closed .category-page-filters-clear {
	display: none;
}

.category-page-sidebar-group.closed .category-sidebar-list-closer-icon {
	transform: rotate(180deg);
}

.category-page-sidebar-group.filters,
.category-page-sidebar-group.categories,
.category-page-sidebar-group.manufacturers {
	position: relative;
	margin-bottom: 30px;
	padding-bottom: 30px;
	border-bottom: 1px solid #f4f3f0;
}

.category-page-sidebar-group.filters:last-child {
	margin-bottom: 0;
	border-bottom: none;
}

.category-page-sidebar-title {
	display: block;
	color: #0c0c0c;
	font-size: 16px;
	font-weight: 300;
	line-height: 32px;
	margin-bottom: 30px;
	/* font-family: 'NotoSansJP'; */
}

.category-page-sidebar-group-title {
	display: block;
	color: #0c0c0c;
	font-size: 16px;
	font-weight: bold;
	line-height: 32px;
	margin: 0 0 16px 0;
	/* font-family: 'NotoSansJP'; */
}

.category-page-sidebar-list {
	margin: 0;
	padding: 0;
	list-style: none;
	/* max-height: 2200px;  */
	/* REVIEW This is the height of a full product grid... */
}

.category-page-sidebar-list.sub-list {
	margin-left: 25px;
	margin-bottom: 0;
}

.category-page-sidebar-sublist-item {
	position: relative;
}

.category-page-sidebar-sublist-item:after {
	content: "";
	top: 5px;
	width: 8px;
	left: -15px;
	height: 10px;
	position: absolute;
	border-left: 1px solid #000;
	border-bottom: 1px solid #000;
}

.category-page-sidebar-link {
	margin: 0;
	color: #0c0c0c;
	font-size: 15px;
	font-weight: 300;
	line-height: 24px;
	letter-spacing: 0.3em;
	transition: .3s;
}
.side-menu-wrapper .category-page-sidebar-link{
	font-weight: bold;
}
.category-page-sidebar-link:hover {
	text-decoration: underline;
	transition: .3s;
}
.side-menu-wrapper {
    margin-bottom: 2rem;
}

.category-page-sidebar-link:has(.category-page-sidebar-img),
.category-page-sidebar-link:has(.manufacturer_thumbnail_img) {
	display: flex;
}

.category-page-sidebar-img,
.manufacturer_thumbnail_img {
	display: inline-block;
	width: 30px;
	height: auto;
	vertical-align: middle;
	margin-right: 5px;
	object-fit: contain;
}

.active-term>.category-page-sidebar-link {
	font-weight: 600;
}

.category-page-sidebar-list-item {
	width: 100%;
	overflow: hidden;
	position: relative;
	padding: 5px 0;
}

.category-page-sidebar-list-checkbox {
	position: absolute;
	top: 0;
	left: -30px;
}

.category-page-sidebar-list-checkbox~.category-page-sidebar-list-checkbox-label {
	position: relative;
	color: #0c0c0c;
	font-size: 15px;
	font-weight: 300;
	line-height: 32px;
	letter-spacing: 0.03em;
	user-select: none;
	margin: 0 0 0 28px;
}

.category-page-sidebar-list-checkbox~.category-page-sidebar-list-checkbox-label:before {
	content: "";
	top: 2px;
	left: -24px;
	width: 15px;
	height: 15px;
	position: absolute;
	outline-width: 1px;
	outline-offset: 2px;
	outline-style: solid;
	outline-color: #575756;
	background-color: #fff;
}

.category-page-sidebar-list-checkbox:checked~.category-page-sidebar-list-checkbox-label:before {
	background-color: #575756;
}

.category-page-products-side {
	flex: 1 0 1px;
}

.subcat-ul {
	padding-bottom: 1rem;
	border-bottom: 1px solid #ccc;
	flex-wrap: wrap;
	margin-left: 0;
	column-gap: 0.7rem;
	row-gap: 1.5rem;
	margin-top: 1rem;
}

.subcat-ul li.subcat-list {
	font-size: 14px;
	list-style: none;
	flex: 1 0 19%;
	color: black;
	max-width: 19%;
	text-align: center;
	opacity: 1;
}

.subcat-ul li.subcat-list:hover {
	transform: .3s;
	opacity: .5;
}

.subcat-ul li.subcat-list a img {
	border: 1px solid #ccc;
	max-width: 50%;
	margin: 0 auto 10px;
}

.category-page-products-filters {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	position: relative;
	margin-bottom: 20px;
	margin-top: 1rem;
}

.category-sidebar-list-closer-icon {
	top: 10px;
	right: 18px;
	width: 14px;
	display: block;
	cursor: pointer;
	position: absolute;
}

.category-page-filters-clear {
	left: 0.5px;
	top: 40px;
	width: 21px;
	display: block;
	cursor: pointer;
	position: absolute;
	border-radius: 50%;
}

.category-page-filters-clear path {
	fill: #2454a1;
}

.category-page-filters-clear:hover {
	background-color: #f0ddbb;
}

.category-page-filters-clear:hover path {
	fill: #a7844c;
}

.category-page-slideout-btn {
	display: none;
}

.category-page-filter-sort {
	height: 40px;
	min-width: 160px;
	color: #575756;
	font-size: 16px;
	font-weight: 300;
	letter-spacing: 0.1em;
	border-radius: 3px;
	padding-left: 10px;
	padding-right: 20px;
	border: 1px solid #c7c1b6;
}

.category-page-products {
	flex: 1 0 1px;
	display: flex;
	row-gap: 25px;
	column-gap: 17px;
	flex-wrap: wrap;
	padding: 0 20px;
}

.category-page-products .product-manufacturer {
	height: 28px;
	overflow: hidden;
}

.category-page-product {
	flex: 0 0 calc((100% - 68px) / 5);
	display: flex;
	flex-direction: column;
}

.category-page-product:hover {
	opacity: 0.6;

}

.category-page-product-image {
	border: 1px solid #ccc;
	width: 100%;
	display: block;
	aspect-ratio: 1/1;
	object-fit: contain;
	border-radius: 0;
	margin-bottom: 15px;
}

.category-page-product-title {
	color: #0c0c0c;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.2;
	margin-bottom: 10px;
	height: 3.5em;
	overflow: hidden;
}

.product-stock {
	margin: 0;
	display: block;
}

.product-stock .stocked {
	color: white;
	background-color: red;
	padding: 1px 10px;
	border-radius: 3px;
	display: block;
	text-align: center;
}

.product-stock .out-of-stock {
	color: black;
	/* padding: 1px 10px; */
	border-radius: 3px;
	/* border: 1px solid black; */
}

.product-stock .shipping-tag {
	padding: 1px 10px;
	display: block;
	text-align: center;
}

.category-page-product-price {
	color: #0c0c0c;
	font-size: 20px;
	font-weight: 600;
	line-height: 40px;
	margin-bottom: 0;
	font-family: 'Roboto';
}

.category-page-product-price .out-of-stock-price {
	color: #688abf;
	font-size: 15px;
	font-weight: 600;
}

p.category-page-product-price span.woocommerce-Price-amount.amount.animate__bounce {
	font-size: 15px;
}

.category-page-product-price del bdi {
	font-size: 16px;
	font-weight: 400;
}

.category-page-product-price ins bdi {
	color: #d06060;
}

.category-page-product-price ins bdi:before {
	content: "";
	width: 9px;
	height: 7px;
	display: inline-block;
	margin: 0 8px 3px 3px;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url('../img/discounted-arrow.svg');
}

.product-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 45px;
	column-gap: 0.75em;
}

.product-pagination:has(.page-numbers) {
	margin-top: 100px;
	margin-bottom: 1.5em;
}

.page-numbers {
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #0c0c0c;
	font-size: 16px;
	font-weight: 700;
	line-height: 19px;
	font-family: 'Caviar Dreams';
	border: 1px solid #c7c1b6;
	transition: all 0.3s;
}

.page-numbers.prev,
.page-numbers.next {
	width: auto;
	padding: 0.5em 1.25em;
}

.page-numbers:not(.current):not(.dots):hover {
	background-color: #989898;
	color: #fff;
	border: none;
}

.page-numbers:last-child {
	border-right: 1px solid #c7c1b6;
}

.page-numbers.current {
	color: #c7c1b6;
}

.page-number-info {
	justify-content: center;
	margin-bottom: 45px;
	display: none;
}

.product-pagination:has(.page-numbers)+.page-number-info {
	display: flex;
}

/* ----------------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 * PAGE: SINGLE PRODUCT    ----------------------------------------------------
 * ----------------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 */


.single-product-categories {
	display: flex;
	column-gap: 7.5px;
	align-items: center;
	margin: 20px 0 15px 0;
	flex-wrap: wrap;
}

.single-product-mobile-heading {
	display: none;
}

.single-product-category-link {
	display: inline-block;
	/* color: #0c0c0c; */
	font-size: 14px;
	font-weight: 300;
	line-height: 24px;
	margin: 0;
}

.single-product-category-link.top-category {
	font-weight: 600;
}

.single-product-category-sep {
	display: inline-block;
	width: 13px;
	height: 1px;
	transform: rotate(-45deg);
	border-bottom: 1px solid #c7c1b6;
}

.single-product-sku {
	color: #0c0c0c;
	font-size: 18px;
	font-weight: 300;
	line-height: 24px;
	margin-bottom: 10px;
}

.single-product-title {
	color: #0c0c0c;
	font-size: 24px;
	font-weight: 600;
	margin: 10px 0;
}

.single-product-manufacturer {
	color: #0c0c0c;
	font-size: 18px;
	line-height: 1.5;
	margin-bottom: 10px;
}

.single-product .single-product-price {
	display: flex;
	flex-wrap: wrap;
	column-gap: 11px;
	align-items: flex-end;
	margin: 10px 0;
	/* height: 34px; */
}

.single-product .woocommerce-Price-amount {
	color: #0c0c0c;
}

.single-product .woocommerce-Price-amount.amount {
	display: inline-block;
	color: red;
	font-size: 30px;
	font-weight: 700;
	line-height: 30px;
	font-family: 'Roboto';
	margin: 0;
}

.single-product .woocommerce-Price-amount.amount.ask {
	font-size: 20px;
	line-height: 20px;
}

.single-product .related.products .woocommerce-Price-amount.amount {
	color: #0c0c0c;
	font-size: 20px;
	font-weight: 600;
	line-height: 40px;
	margin-bottom: 0;
	font-family: 'Roboto';
}

.single-product .related.products .woocommerce-Price-amount.amount.ask {
	font-size: 16px;
	line-height: 20px;
}

.single-product del {
	opacity: 1.0;
}

.single-product del .woocommerce-Price-amount.amount {
	font-size: 20px;
	font-weight: 400;
	text-decoration: line-through;
}

.single-product del .woocommerce-Price-amount.amount .woocommerce-Price-currencySymbol {
	font-size: 15px;
	margin-left: 3px;
}

.single-product ins .woocommerce-Price-amount.amount {
	color: #d06060;
}

.single-product ins .woocommerce-Price-amount:before {
	content: "";
	width: 12px;
	height: 10px;
	display: inline-block;
	margin: 0 8px 3px 3px;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url('../img/discounted-arrow.svg');
}

.single-product .woocommerce-Price-amount.amount .woocommerce-Price-currencySymbol {
	display: inline-block;
	font-size: 16px;
	font-weight: 600;
	line-height: 27px;
	margin: 0 0 0 5px;
}

.single-product .single-product-price .tax-excl {
	display: inline-block;
	color: red;
	font-size: 16px;
	line-height: 27px;
	margin: 0;
}

.single-product .single-product-price .retail_price span.amount {
	text-decoration: line-through;
}

.single-product .single-product-price .retail-price-cover {
	height: 30px;
	width: 100%;
}

.single-product .single-product-price .availability-stock {
	display: inline-block;
	color: #0c0c0c;
	font-size: 16px;
	line-height: 27px;
	margin: 0 0 0 11px;
}

.single-product .single-product-price .availability-stock .out-of-stock-text {
	color: #cc0000;
}

.single-product-contact-link {
	padding: 0 7px;
	margin: 15px 0 15px 0;
	display: inline-block;
	color: #2454a1;
	font-size: 15px;
	font-weight: 400;
	line-height: 30px;
	letter-spacing: 0.03em;
	font-family: 'NotoSansJP';
	border: 1px solid #ccc;
	border-radius: 3px;
}

.single-product-contact-link:before {
	content: "";
	width: 10px;
	height: 5px;
	margin: 0 6px 3px 0;
	display: inline-block;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url('../img/single-product-contact-arrow.svg');
}

.single-product-shipping-class {
	display: none;
	border-radius: 3px;
	border: 1px solid #ccc;
	margin-bottom: 0;
	padding: 10px 20px 10px 20px;
}

.single-product-shipping-class.show-shipping-class {
	display: block;
}

.single-product-shipping-class-title {
	color: #0c0c0c;
	font-size: 18px;
	font-weight: 500;
	line-height: 40px;
	letter-spacing: 0.04em;
	font-family: 'NotoSansJP';
	margin-bottom: 0;
}

.single-product-shipping-class-info {
	margin: 0;
	display: flex;
	column-gap: 8px;
	align-items: center;
	padding-left: 10px;
}

.single-product-shipping-class-name {
	color: #0c0c0c;
	font-size: 17px;
	font-weight: 600;
	line-height: 30px;
	letter-spacing: 0.1em;
	font-family: 'Roboto';
	white-space: nowrap;
	word-break: keep-all;
}

.single-product-shipping-class-dash,
.single-product-shipping-class-description {
	color: #0c0c0c;
	font-size: 14px;
	font-weight: 500;
	line-height: 30px;
	letter-spacing: 0.04em;
	font-family: 'Roboto';
}

.single-product-shipping-class-description {
	line-height: 25px;
}


.single-product-description p {
	color: #0c0c0c;
	font-size: 16px;
	font-weight: 300;
	line-height: 32px;
	letter-spacing: 0.02em;
	margin-bottom: 0;
}

.single-product .product .summary .variations_button {
	padding-top: 40px;
}

.single-product .product .summary .variations_button .quantity {
	position: relative;
}

.single-product .product .summary .variations_button .quantity::before {
	content: '個数';
	display: block;
	width: 100%;
	position: absolute;
	top: -2em;
	left: 0;
	text-align: center;
}

.single-product .product .summary .form-group.select-variation-group {
	margin-bottom: 20px;
}

.single-product .product .summary .form-group.select-variation-group:last-child {
	margin-bottom: 20px;
}

.single-product .product .summary .form-group.basic-variation .form-group-heading,
.single-product .product .summary .form-group.color-variation .form-group-heading {
	display: flex;
	align-items: center;
	margin-bottom: 10px;
	padding-left: 4px;
}

.single-product .product .summary .form-group-color-box.color-box {
	width: 13px;
	height: 13px;
	margin-right: 5px;
	display: inline-block;
	box-shadow: 0 0 1px 0 rgba(0 0 0 / 70%);
}

.single-product .product .summary .form-group.color-variation .color-label {
	color: #0c0c0c;
	font-size: 14px;
	font-weight: 300;
	line-height: 24px;
	margin: 0;
}

.single-product .product .summary .form-group.color-variation .form-color-name {
	color: #0c0c0c;
	font-size: 14px;
	font-weight: 600;
	line-height: 24px;
	margin: 0 0 0 7px;
}

.single-product .product .summary form.cart .quantity {
	margin-right: 20px;
	display: inline-block;
}

.single-product .summary .quantity .input-text.qty {
	display: inline-block;
	min-width: 100px;
	height: 60px;
	font-size: 16px;
	font-weight: 300;
	line-height: 58px;
	letter-spacing: 0.1em;
	outline: none;
	border-radius: 3px;
	background-color: #fff;
	border: 1px solid #c7c1b6;
}

.single-product .summary .single_add_to_cart_button {
	height: 60px;
	display: inline-block;
	width: calc(100% - 120px);
	color: #fff;
	font-size: 20px;
	font-weight: 400;
	line-height: 34px;
	text-align: center;
	border-radius: 3px;
	background-image: linear-gradient(180deg, #2454a1 0%, #0085cd 100%);
}

.single-product .summary .single_add_to_cart_button:focus {
	outline: none;
}

.single-product .summary .single_add_to_cart_button:hover {
	background-image: linear-gradient(180deg, #0e8cdb 0%, #48ace2 100%);
}

.single-product-swiper {
	margin-bottom: 10px;
}

.single-product-single-image {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: contain;
	border-radius: 0;
	border: 1px solid #ccc;
}

.fancybox-content img.fancybox-image {
	object-fit: contain;
	background-color: #fff;
}

.single-product-thumbnails {
	width: 100%;
	padding-bottom: 10px;
}

.single-product-thumbnail-wrapper {
	display: flex;
	column-gap: 10px;
	align-items: stretch;
	justify-content: flex-start;
	row-gap: 7px;
	flex-wrap: wrap;
}

.single-product-thumbnail {
	aspect-ratio: 1/1;
	transition: opacity 0.1s;
	flex: 0 0 calc((100% - 70px) / 5);
	/* "-70px" = (6 + 1) * column-gap */
}

.single-product-thumbnail.thumbnail-active {
	border: 2px solid #2454a1;
}

.single-product-thumbnail.loading {
	opacity: 0.3;
}

.single-product-thumbnail-image {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	border-radius: 0;
	border: 1px solid #e0dddd;
}

.single-product .product .summary .form-group.basic-variation .basic-label {
	color: #0c0c0c;
	font-size: 14px;
	font-weight: 300;
	line-height: 24px;
	margin: 0;
}

.single-product .product .summary .form-group.basic-variation .selected-variation-name {
	display: inline-block;
	color: #0c0c0c;
	font-size: 14px;
	font-weight: 300;
	line-height: 24px;
	margin: 0 0 0 5px;
}

.form-group-basic-btns {
	display: flex;
	flex-wrap: wrap;
	row-gap: 11px;
	column-gap: 15px;
	align-items: center;
	justify-content: flex-start;
}

.variation-btn-wrap.basic-btn-wrap {
	position: relative;
	overflow: hidden;
	cursor: pointer;
}

.variation-btn-wrap.basic-btn-wrap.inactive {
	background: linear-gradient(to top right, transparent 49%, black 49%, black 51%, transparent 51%);
	display: none;
}

.variation-btn-wrap.basic-btn-wrap .basic-btn {
	top: 0;
	left: -30px;
	position: absolute;
}

.variation-btn-wrap.basic-btn-wrap .basic-btn-label {
	display: block;
	width: fit-content;
	color: #2454a1;
	font-size: 15px;
	font-weight: 300;
	line-height: 34px;
	letter-spacing: 0.1em;
	cursor: pointer;
	border-radius: 3px;
	border: 1px solid #2454a1;
	font-family: 'Hiragino Sans';
	padding: 0 20px;
	margin: 0;
}

.variation-btn-wrap.basic-btn-wrap .basic-btn:checked+label {
	background-color: #2454a1;
	color: #fff;
	border-color: #2454a1;
}

.form-group-color-btns {
	display: flex;
	column-gap: 6px;
}

.color-btn-wrap {
	position: relative;
	overflow: hidden;
	padding: 4px;
}

.color-btn {
	position: absolute;
	top: -30px;
}

.color-btn-label {
	width: 30px;
	height: 30px;
	display: inline-block;
	border-radius: 3px;
	outline-style: solid;
	outline-color: #c7c1b6;
	outline-width: 1px;
	outline-offset: 2px;
}

.color-btn:checked~.color-btn-label {
	width: 30px;
	height: 30px;
	display: inline-block;
	border-radius: 3px;
	outline-style: solid;
	outline-color: #000;
	outline-width: 3px;
	outline-offset: 0;
}

.color-btn-wrap input[type=radio]+label {
	margin: 0;
}

.variation-selection.variation-size {
	display: flex;
	row-gap: 20px;
	flex-wrap: wrap;
	column-gap: 20px;
	align-items: center;
}

.variation-selection.variation-size .variation-selection-title {
	flex: 0 0 100%;
	margin-bottom: 20px;
}

.variation-radio-selection {
	display: inline-block;
	position: relative;
	overflow: hidden;
}

.variation-radio {
	position: absolute;
	top: -30px;
}

.variation-radio-label {
	height: 32px;
	min-width: 120px;
	display: inline-block;
	color: #ccc;
	font-size: 14px;
	font-weight: 500;
	line-height: 30px;
	text-align: center;
	padding: 0 1.5em;
	cursor: pointer;
	user-select: none;
	border-radius: 3px;
	border: 1px solid #ccc;
	margin-left: 0 !important;
	/* Must override WC styling... */
}

.variation-radio:checked~.variation-radio-label {
	margin: 0;
	color: #0c0c0c;
	border-color: #0c0c0c;
}

.woocommerce-cart-form__cart-item dl.variation {
	display: flex;
	column-gap: 15px;
	align-items: center;
}

.woocommerce-cart-form__cart-item dl.variation dd {
	margin: 0;
}


/* ===== BEGIN Scrollbar CSS ===== */
/* Firefox */
.single-product-thumbnails {
	scrollbar-width: 8px;
	scrollbar-color: #c7c1b6 #f4f3f0;
}

/* Chrome, Edge, and Safari */
.single-product-thumbnails::-webkit-scrollbar {
	height: 8px;
}

.single-product-thumbnails::-webkit-scrollbar-track {
	background: #f4f3f0;
}

.single-product-thumbnails::-webkit-scrollbar-thumb {
	height: 8px;
	border-radius: 5px;
	background-color: #c7c1b6;
}

/* ===== END Scrollbar CSS ===== */

/* 
	Account Page
 */
.woocommerce-order-details a.user-document-btn {
	padding: 10px 25px;
	border: 1px solid;
	border-radius: 10px;
	background-color: #2454a1;
	color: white;
}

.woocommerce-order-details .order-buttons {
	margin-bottom: 2rem;
}

.header-col.order-branding img {
	width: 200px;
	margin-bottom: 10px;
}

.document-header .header-col p.company-title {
	font-size: 13px;
	font-weight: bold;
}

/* ----------------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 * PAGE: CONTACT PAGE   -------------------------------------------------------
 * ----------------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 */


.site-section.contact-section {
	padding: 88px 0 110px 0;
}

.site-container.contact-container {
	max-width: 1000px;
}

.contact-form-intro {
	color: #0c0c0c;
	font-size: 16px;
	font-weight: 300;
	line-height: 32px;
	letter-spacing: 0.1em;
	margin: 85px 0 50px 0;
}

.contact-form-intro .contact-form-intro-phone {
	color: #54a095;
}

.contact-form-intro .contact-form-intro-hours {
	font-size: 13px;
}

.contact-form {
	width: 100%;
	margin: 0 auto;
	max-width: 1000px;
	border: 1px solid #c7c1b6;
	padding: 62px 98px;
}

.contact-form .field-group {
	height: auto;
	margin-bottom: 40px;
}

.contact-form .field-group.align-flex-start {
	align-items: flex-start;
}

.contact-form .field-group.align-flex-start .label-wrap {
	margin-top: 8px;
}

.contact-form .field-group .input-wrap {
	height: auto;
	flex: 1 0 1px;
}

.contact-form .field-group .label-wrap .group-label {
	flex: 0 0 250px;
	display: flex;
	align-items: center;
	color: #0c0c0c;
	font-size: 16px;
	font-weight: 600;
	line-height: 32px;
	margin: 0;
}

.contact-form .field-group .label-wrap .group-label:after {
	display: inline-block;
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	line-height: 19px;
	padding: 0 5px;
	margin-left: 7px;
	border-radius: 2px;
	letter-spacing: 0.1em;
}

/* .contact-form .field-group .label-wrap .group-label.reqd:after {
	content: "必須";
	background-color: #b94545;
} */
.contact-form .field-group .label-wrap .group-label.opt:after {
	content: "任意";
	background-color: #65a0db;
}

.contact-form .field-group .text-input {
	flex: 1 0 1px;
	font-size: 16px;
	font-weight: 300;
	line-height: 48px;
	padding: 0 1em;
	outline: none;
	box-shadow: none;
	border-radius: 3px;
	background-color: #fff;
	border: 1px solid #c7c1b6;
}

.contact-form .field-group .text-area-input {
	flex: 1 0 1px;
	font-size: 16px;
	font-weight: 300;
	padding: 0 1em;
	outline: none;
	box-shadow: none;
	border-radius: 3px;
	background-color: #fff;
	border: 1px solid #c7c1b6;
}

.contact-form .field-group .text-input::placeholder,
.contact-form .field-group .text-area-input::placeholder {
	color: #c7c1b6;
	font-size: 16px;
	font-weight: 300;
	line-height: 48px;
}

.contact-form .field-group .text-input {
	height: 50px;
}

.contact-form .field-group .text-input.postcode {
	max-width: 250px;
}

.contact-form .field-group .text-area-input {
	height: 280px;
}

.contact-form .field-group .select-input {
	width: 400px;
	height: 50px;
	font-size: 16px;
	font-weight: 300;
	line-height: 48px;
	padding: 0 13px;
	outline: none;
	border-radius: 3px;
	border: 1px solid #c7c1b6;
}

.contact-form .confirm-group {}

.contact-form .confirm-group .agree-confirm {
	margin: 0 auto;
	overflow: hidden;
	position: relative;
	width: fit-content;
}

.contact-form .confirm-group .agree-checkbox {
	width: 19px;
	height: 19px;
	margin-right: 8px;
	border-radius: 3px;
	border: 1px solid #c7c1b6;
	background: none;
	border-radius: 0;
	outline: none;
}

.contact-form .field-group.confirm-group .label-wrap .group-label {
	flex: unset;
	cursor: pointer;
}

/* .contact-form .field-group.confirm-group input[type="checkbox"] ~ .label-wrap .group-label:before {
	content: "";
	width: 19px;
	height: 19px;
	margin-right: 17px;
	border-radius: 3px;
	border: 1px solid #c7c1b6;
} */
/* .contact-form .field-group.confirm-group input[type="checkbox"]:checked ~ .label-wrap .group-label:before {
	background-color: #c7c1b6;
} */

.contact-form-submit-btn {
	width: 300px;
	height: 70px;
	display: flex;
	position: relative;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 20px;
	font-weight: 400;
	line-height: 34px;
	margin: 0 auto;
	padding: 0 15px;
	border: none;
	border-radius: 3px;
	background-color: #54a095;
}

.contact-form-submit-btn:hover {
	color: #fff;
	background-color: #54a095;
}

.contact-form-submit-btn:before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 10px;
	margin-right: 5px;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url(../img/site-btn-green-arrow.svg);
}

.contact-form .agree-confirm {
    text-decoration: underline;
}

/* ----------------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 * PAGE: REGISTRATION     -----------------------------------------------------
 * ----------------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 */


.registration-top-section {
	padding-bottom: 45px;
}

.registration-top-container {
	position: relative;
}

.registration-top-image {
	position: absolute;
	left: -15%;
	top: 80px;
	width: 899px;
}

.registration-top-content {
	margin: 0 auto;
	max-width: 1000px;
	width: calc(100% - 40px);
}

.registration-top-heading {
	margin-bottom: 160px;
}

.registration-top-title {
	z-index: 1;
	display: block;
	width: fit-content;
	position: relative;
	color: #0c0c0c;
	font-size: 40px;
	font-weight: 600;
	line-height: 55px;
	letter-spacing: 0.1em;
	padding-top: 120px;
	margin: 0 60px 0 auto;
}

.registration-top-boxes {
	z-index: 1;
	display: flex;
	column-gap: 20px;
	position: relative;
	margin-bottom: 25px;
}

.registration-top-box {
	flex: 0 0 calc((100% - 40px) / 3);
	position: relative;
	background-color: #fff;
	padding: 40px 20px 30px 20px;
	box-shadow: 0 0 20px 0 rgba(24 36 69 / 10%);
}

.registration-top-box:before {
	content: "";
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 10px;
	position: absolute;
	background-image: linear-gradient(90deg, #2454a1, #0085cd);
}

.registration-top-box-title {
	color: #2454a1;
	font-size: 25px;
	font-weight: 700;
	line-height: 35px;
	letter-spacing: 0.1em;
	text-align: center;
	margin-bottom: 20px;
}

.registration-top-box-text {
	color: #0c0c0c;
	font-size: 15px;
	font-weight: 400;
	line-height: 25px;
	letter-spacing: 0.02em;
	margin-bottom: 0;
	font-family: 'NotoSansJP';
}

.registration-top-note {
	color: #2454a1;
	font-size: 25px;
	font-weight: 500;
	line-height: 25px;
	letter-spacing: 0.03em;
	text-align: center;
	margin-bottom: 0;
	font-family: 'NotoSansJP';
}

.registration-save-section {
	margin-top: 100px;
	margin-bottom: 141px;
}

.registration-save-container {}

.registration-save-content {
	margin: 0 auto;
	max-width: 1000px;
	width: calc(100% - 40px);
}

.registration-save-wrap {
	display: flex;
	row-gap: 30px;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	padding: 88px 0 74px 0;
	background-size: cover;
	background-position: center center;
	background-image: url('../img/registration-save-bg.jpg');
}

.registration-save-title {
	color: #fff;
	font-size: 30px;
	font-weight: 500;
	line-height: 45px;
	letter-spacing: 0.1em;
	text-align: center;
	margin-bottom: 0;
}

.registration-save-text {
	color: #fff;
	font-size: 15px;
	font-weight: 400;
	line-height: 25px;
	letter-spacing: 0.03em;
	text-align: center;
	margin-bottom: 0;
	font-family: 'NotoSansJP';
}

.registration-what-section {
	padding: 125px 0 150px 0;
	background-color: #f5fafc;
}

.registration-what-text {
	color: #0c0c0c;
	font-size: 15px;
	font-weight: 400;
	line-height: 25px;
	letter-spacing: 0.03em;
	text-align: center;
	margin-bottom: 14px;
	font-family: 'NotoSansJP';
}

.registration-what-note {
	color: #4d4d4d;
	font-size: 13px;
	font-weight: 400;
	line-height: 25px;
	letter-spacing: 0.03em;
	text-align: center;
	margin-bottom: 30px;
	font-family: 'NotoSansJP';
}

.registration-plans-box {
	margin: 0 auto;
	max-width: 900px;
	width: calc(100% - 40px);
	padding: 40px;
	margin-bottom: 50px;
	background-color: #fff;
	box-shadow: 0 5px 50px 0 rgba(0 0 0 / 8%);
}

.registration-plans-image {
	width: 100%;
	display: block;
}

.registration-plans-image.mb {
	display: none;
}

.registration-rankup-box {
	margin: 0 auto;
	max-width: 900px;
	width: calc(100% - 40px);
	padding: 44px 40px 36px 40px;
	background-color: #fff;
	box-shadow: 0 5px 50px 0 rgba(0 0 0 / 8%);
}

.registration-rankup-title {
	position: relative;
	color: #2454a1;
	font-size: 30px;
	font-weight: 500;
	line-height: 45px;
	letter-spacing: 0.1em;
	margin-bottom: 18px;
}

.registration-rankup-title:before {
	content: "";
	display: block;
	width: 65px;
	height: 53px;
	left: -65px;
	bottom: 7px;
	position: absolute;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url('../img/blue-question-bubble.svg');
}

.registration-rankup-text {
	color: #0c0c0c;
	font-size: 15px;
	font-weight: 400;
	line-height: 25px;
	letter-spacing: 0.03em;
	margin-bottom: 35px;
	font-family: 'NotoSansJP';
}

.registration-steps-box {
	position: relative;
	border-radius: 20px;
	border: 5px solid #2454a1;
	padding: 40px 0 32px 40px;
}

.registration-steps-box-title {
	position: absolute;
	top: 0;
	left: 50%;
	color: #2454a1;
	font-size: 25px;
	font-weight: 500;
	line-height: 25px;
	letter-spacing: 0.03em;
	padding: 5px 16px;
	background-color: #fff;
	font-family: 'NotoSansJP';
	transform: translate(-50%, -50%);
}

.registration-steps-box-title .squeezed {
	letter-spacing: -0.02em;
}

.registration-steps-list {
	display: flex;
	row-gap: 21px;
	flex-direction: column;
}

.registration-steps-step {
	display: flex;
	column-gap: 27px;
	align-items: flex-start;
}

.registration-steps-step-number {
	position: relative;
	margin: 0;
	padding: 0 5px;
	color: #fff;
	font-size: 15px;
	font-weight: 400;
	line-height: 25px;
	letter-spacing: 0.03em;
	white-space: nowrap;
	word-break: keep-all;
	font-family: 'NotoSansJP';
	background-color: #2454a1;
}

.registration-steps-step-number:after {
	content: "";
	top: 0;
	height: 0;
	right: -10px;
	position: absolute;
	border-left: 10px solid #2454a1;
	border-top: 13px solid transparent;
	border-bottom: 12px solid transparent;
}

.registration-steps-step-text {
	margin: 0;
	color: #0c0c0c;
	font-size: 15px;
	font-weight: 400;
	line-height: 25px;
	letter-spacing: 0;
	font-family: 'NotoSansJP';
}

.registration-rank-periods {
	margin-top: 60px;
	margin-bottom: 28px;
	position: relative;
}

.registration-rank-periods-example {
	display: flex;
}

.registration-rank-periods-example.dt {
	top: 0;
	left: 0;
	position: absolute;
}

.registration-rank-periods-example.mb {
	display: none;
}

.registration-rank-periods-image {
	width: 100%;
	display: block;
	margin-bottom: 28px;
}

.registration-rank-periods-note {
	display: flex;
	align-items: center;
	margin: 0;
	color: #0c0c0c;
	font-size: 13px;
	font-weight: 400;
	line-height: 20px;
	letter-spacing: 0.03em;
	font-family: 'NotoSansJP';
	margin-bottom: 10px;
}

.registration-rank-periods-note:first-child {
	margin-top: 28px;
}

.registration-rank-periods-note:last-child {
	margin-bottom: 0;
}

/*.registration-rank-periods-note span {
	width: 350px;
	display: inline-block;
}
*/
.registration-rank-periods-note span {
	flex: 0 0 350px;
	display: inline-block;
	white-space: nowrap;
}

.registration-rank-periods-arrow {
	width: 7px;
	display: block;
	margin: 0 25px 0 0;
}

.registration-check-section {
	margin: 100px 0;
}

.registration-check-container {}

.registration-check-content {
	margin: 0 auto;
	max-width: 950px;
	width: calc(100% - 40px);
}

.registration-check-intro {
	color: #0c0c0c;
	font-size: 15px;
	font-weight: 400;
	line-height: 25px;
	letter-spacing: 0.03em;
	font-family: 'NotoSansJP';
	margin-bottom: 66px;
}

.registration-check-screens {
	/* display: flex; */
	column-gap: 60px;
	margin-left: 50px;
	max-width: 50%;
	margin: auto;
}

.registration-check-screen {
	flex: 0 0 calc((100% - 60px) / 2);
}

.registration-check-screen-title {
	display: block;
	position: relative;
	width: fit-content;
	color: #2454a1;
	font-size: 25px;
	font-weight: 700;
	line-height: 25px;
	letter-spacing: 0.03em;
	text-align: center;
	font-family: 'NotoSansJP';
	margin: 0 auto 11px auto;
}

.registration-check-screen-title:before,
.registration-check-screen-title:after {
	content: "";
	top: 50%;
	width: 40px;
	height: 8px;
	display: block;
	position: absolute;
	background-color: #2454a1;
	transform: translateY(-50%);
}

.registration-check-screen-title:before {
	left: -50px;
	border-top-left-radius: 6px;
	border-bottom-left-radius: 6px;
}

.registration-check-screen-title:after {
	right: -50px;
	border-top-right-radius: 6px;
	border-bottom-right-radius: 6px;
}

.registration-check-screen-subtitle {
	color: #0c0c0c;
	font-size: 15px;
	font-weight: 400;
	line-height: 25px;
	letter-spacing: 0.03em;
	text-align: center;
	font-family: 'NotoSansJP';
	margin-bottom: 21px;
}

.registration-check-screen-image {
	width: 100%;
	display: block;
}

.registration-guide-section {
	padding: 60px 0;
	background-color: #f5fafc;
}

.registration-guide-content {
	margin: 0 auto;
	max-width: 1000px;
	padding: 0 20px;
}

.registration-guide-left,
.registration-guide-right {
	flex: 0 0 calc((100% - 40px) / 2);
}

.registration-guide-head {
	display: flex;
	column-gap: 10px;
	align-items: center;
	margin-bottom: 5px;
}

.registration-guide-head-icon {
	width: auto;
	height: 20px;
	display: block;
}

.registration-guide-head-title {
	margin: 0;
	color: #0c0c0c;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.registration-guide-group {
	display: flex;
	justify-content: space-between;
	margin-bottom: 20px;
}

.registration-guide-group-left {
	width: 60%;
}

.registration-guide-link {
	align-self: flex-end;

}

.registration-guide-group:last-child {
	margin-bottom: 0;
}

.registration-guide-group-indented {
	margin-left: 30px;
}

.registration-guide-title {
	margin: 0;
	color: #0c0c0c;
	font-size: 20px;
	font-weight: 500;
	line-height: 25px;
	letter-spacing: 0.03em;
	/* font-family: 'NotoSansJP'; */
	margin-bottom: 33px;
}

.registration-guide-title.mgn-btm-11 {
	margin-bottom: 11px;
}

.registration-guide-text {
	color: #0c0c0c;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.03em;
	/* font-family: 'NotoSansJP'; */
}

.registration-guide-text.no-mgn-btm {
	margin-bottom: 0;
}

.registration-guide-text.mgn-btm-21 {
	margin-bottom: 21px;
}

.registration-guide-note {
	color: #0c0c0c;
	font-size: 13px;
	font-weight: 400;
	line-height: 25px;
	letter-spacing: 0.03em;
	font-family: 'NotoSansJP';
	margin-bottom: 40px;
}

.registration-guide-image {
	width: 100%;
	display: block;
}

.registration-guide-link {
	color: #0085cd;
	font-size: 15px;
	font-weight: 400;
	line-height: 40px;
	letter-spacing: 0.1em;
	text-align: right;
	text-decoration: underline;
}

.registration-guide-link:hover {
	color: #0085cd;
}

.registration-guide-link:before {
	content: "";
	width: 8px;
	height: 4px;
	margin-right: 11px;
	margin-bottom: 4px;
	display: inline-block;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url('../img/registration-guide-link-arrow.svg');
}

.registration-guide-list {
	display: flex;
	row-gap: 21px;
	flex-direction: column;
	margin-left: 30px;
	margin-bottom: 20px;
	list-style: none;
}

.registration-guide-list.no-mgn-btm {
	margin-bottom: 0;
}

.registration-guide-list.mgn-btm-42 {
	margin-bottom: 42px;
}

.registration-guide-list-item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	position: relative;
	color: #0c0c0c;
	font-size: 15px;
	font-weight: 400;
	line-height: 25px;
	letter-spacing: 0.03em;
	/* font-family: 'NotoSansJP'; */
	margin-bottom: 0;
}

.registration-guide-list-item:before {
	content: "";
	top: 10px;
	left: -13px;
	width: 4px;
	height: 5px;
	display: block;
	position: absolute;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url('../img/registration-guide-triangle.svg');
}

.guide-list-item-strong {
	font-size: 17px;
	font-weight: 600;
	margin-bottom: 10px;
}

body.page-template-page-registration .guide-nav-contact-button {
	width: 250px;
	margin-top: 100px;
}

body.page-template-page-registration .guide-nav-contact-button::after {
	right: 14px;
}




/* ----------------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 * PAGE: SEARCH RESULTS   -----------------------------------------------------
 * ----------------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 */


body.search-results .wrapp-blog-list {
	padding: 0 20px 120px 20px;
}

body.search-results .wrapp-blog-list .title {
	font-size: 21px;
	font-weight: 500;
	line-height: 25px;
	letter-spacing: 0.03em;
	margin-bottom: 21px;
}

.woocommerce-MyAccount-navigation ul,
.woocommerce-MyAccount-navigation li {
	list-style: none;
	margin-left: 0;
}

.woocommerce-MyAccount-navigation ul li a {
	color: #2454A1;
	padding: 10px;
}

.woocommerce-form-login {
	max-width: 800px;
	margin: auto;
}

.static-content {
	margin: 60px auto;
	padding: 0 20px;
	max-width: 1100px;
}

.static-content h2 {
	color: #2454a1;
	font-size: 30px;
	font-weight: 700;
	line-height: 40px;
	letter-spacing: 0.04em;
	margin-bottom: 30px;
}

.wc-proceed-to-checkout .button.checkout-button {
	background-image: linear-gradient(180deg, #2454a1 0%, #0085cd 100%);
	color: white;
}

.woocommerce-button {
	color: #fff;
	background-color: #2454A1;
	border-color: none;
}

.catalog-box {
	text-align: center;
	margin: 10px 0;
}

.d-flex.layout-wrap {
	margin-top: 20px;
}

body.home .d-flex.layout-wrap {
	margin-top: 10px;
}

.side-calender h3 {
	font-size: 20px;
}

.side-calender img {
	padding-right: 20px;
	padding-bottom: 20px;
}

.woocommerce-MyAccount-navigation-link--request-quote {
	display: none;
}

a.product_pdf {
	padding: 10px;
	background-color: #2454a1;
	color: #fff;
	transition: .3s;
}
a.product_pdf:hover {
	background-color: #2454a1;
	transition: .3s;
}
a.product_pdf:before {
	content: "";
	width: 10px;
	height: 5px;
	margin: 0 6px 3px 0;
	display: inline-block;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url('../img/front-news-link-arrow.svg');
}

body.woocommerce-account .woocommerce {
	padding: 0 20px;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	padding: 0;
	font-size: 14px;
	letter-spacing: 0;
}

.search-noItem-text {
	font-size: 17px;
}

/* ----------------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 * PAGE: CART             -----------------------------------------------------
 * ----------------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 */
.woocommerce-cart-form__cart-item.cart_item a.remove::before {
	color: #ff4848;
	font-size: 25px;
	line-height: 25px;
}
.woocommerce-cart-form__cart-item.cart_item a.remove:hover::before {
	color: #df0000;
}

#payment .payment_methods li.wc_payment_method>input[type=radio]:first-child:not(:checked)+label::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 400;
	content: "";
	border: 2px solid #0c0c0c;
	border-radius: 50%;
	width: 11px;
	height: 11px;
}


/* ----------------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 * PAGE: MEDIA STYLES   -------------------------------------------------------
 * ----------------------------------------------------------------------------
 * ----------------------------------------------------------------------------
 */

@media (min-width: 1111px) and (min-width: 1000px) {
	.d-flex.layout-wrap {
		padding-left: 20px;
		padding-right: 20px;
	}
}

@media (min-width: 1111px) and (max-width: 1440px) {
	.site-section.front-column-section {
		padding-left: 20px;
		padding-right: 20px;
	}

	.front-category-content {
		padding-left: 8px;
		padding-right: 8px;
	}
}

@media screen and (max-width: 1280px) {
	.category-page-product {
		flex: 0 0 calc((100% - 51px) / 4);
	}

	.site-container.contact-container {
		padding: 0 40px;
	}

	.site-section.front-news-section {
		padding-left: 20px;
		padding-right: 20px;
	}

	.front-slide-btmbar {
		font-size: 18px;
		height: 40px;
		line-height: 40px;
	}
}

@media screen and (min-width: 1111px) and (max-width: 1200px) {
	.slide-two .front-slide-bar {
		font-size: 16px;
	}

	.front-slide-bigwht {
		font-size: 30px;
	}
}

@media screen and (max-width: 1140px) {
	.static-content {
		padding: 0 20px;
	}
}

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

@media screen and (max-width: 1080px) {
	.site-header .header-menu {
		display: none;
	}

	.site-footer .footer-content {
		width: 90%;
		padding: 20px 0 25px;
	}
}

@media screen and (max-width: 1040px) {
	.site-section.front-column-section {
		padding-left: 20px;
		padding-right: 20px;
	}

	.front-category-content {
		padding-left: 8px;
		padding-right: 8px;
	}
}

@media screen and (max-width: 1100px) {
	.col-sidebar {
		flex: 0 0 190px;
	}

	.col-main {
		width: calc(100% - 190px);
	}
}

@media screen and (max-width: 1023px) {
	.col-sidebar {
		display: none;
	}

	.col-main {
		width: 100%;
	}
}

@media screen and (min-width: 768px) {
	.storefront-full-width-content.single-product div.product .summary {
		margin-bottom: 0;
	}
}

@media screen and (max-width: 1000px) {
	.guide-nav-buttons {
		row-gap: 20px;
		column-gap: 25px;
		padding: 0 15px;
		justify-content: center;
		max-width: 800px;
		margin: 0 auto;
	}

	.guide-nav-buttons .guide-nav-button {
		height: 40px;
		font-size: 16px;
		line-height: 40px;
		letter-spacing: 0.01em;
		padding-left: 22px;
		flex: 0 0 calc((100% - 25px) / 2);
	}

	.guide-nav-buttons .guide-nav-button:nth-child(3) {
		font-size: 16px;
		padding-left: 22px;
	}

	.guide-nav-buttons .guide-nav-button:after {
		right: 20px;
	}
}

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

	/* .site-footer .footer-content {
		padding-left: 20px;
		padding-right: 20px;
	} */
	.company-history-section {
		padding: 0;
		margin-bottom: 90px;
	}

	.company-history-info {
		width: 100%;
		position: static;
	}
}

@media screen and (max-width: 881px) {
	.front-inventory-buttons {
		padding: 0 20px;
	}

	.site-header-container {
		padding: 23px 9px;
	}

	.site-header .header-btn-seper {
		margin: 0 5px;
	}

	.site-header .header-logo-image {
		width: 100px;
	}

	.slide-two .front-swiper-slide-content {
		top: 50%;
		transform: translateY(-50%);
	}

	.slide-two .front-slide-bar {
		font-size: 16px;
	}
}

@media screen and (max-width: 834px) {
	.front-news-content {
		padding: 0 15px;
		flex-direction: column;
	}

	.front-news-right {
		flex: auto;
		width: 100%;
		min-width: unset;
	}

	.front-news-list {
		row-gap: 20px;
	}

	.front-news-title-ja {
		margin-bottom: 37px;
	}

	.front-news-link.mb {
		display: flex;
		margin: 30px auto 0 auto;
	}

	.front-news-link.dt {
		display: none;
	}

	.front-news-article {
		flex-wrap: wrap;
		column-gap: 0;
	}

	.front-news-article .news-date {
		flex: 0 0 100%;
		font-size: 14px;
		font-weight: 600;
	}

	.front-news-article .news-sep {
		display: none;
	}

	.front-news-article .news-title {
		flex: 0 0 100%;
	}

	.front-inventory-box {
		left: initial;
		box-shadow: unset;
	}

	.site-footer .footer-content {
		width: calc(100% - 40px);
	}

	.site-footer .footer-content .footer-menu-wrap:first-child {
		margin-right: 40px;
	}
}

@media screen and (min-width: 768px) and (max-width: 834px) {
	.front-slide-btmbar {
		font-size: 20px;
	}

	.swiper-slide.front-swiper-slide {
		width: 100%;
		height: 500px;
	}

	.swiper-slide-image.dt {
		height: 100%;
		object-fit: cover;
	}

	.swiper.front-swiper .front-swiper-pagination.swiper-pagination-horizontal.swiper-pagination-bullets {
		bottom: 5px;
	}

	.front-inventory-image-lt,
	.front-inventory-image-rt {
		display: none;
	}

	.front-inventory-intro {
		margin-bottom: 45px;
	}
}

@media screen and (max-width: 767px) {
	.mb-only {
		display: initial;
	}

	.dt-only {
		display: none;
	}

	span.mb-only {
		display: initial;
	}

	span.dt-only {
		display: none;
	}

	.theme-storefront.page .site-header {
		height: 60px;
	}

	.gold-border-heading-border {
		width: 4px;
		height: 26px;
		display: block;
		border-radius: 0;
	}

	.gold-border-heading-label {
		font-size: 25px;
		line-height: 43px;
	}

	.site-heading-title-ja {
		font-size: 25px;
		line-height: 43px;
	}

	.site-heading.underlined .site-heading-title-ja {
		font-size: 25px;
		line-height: 25px;
		padding-bottom: 20px;
	}

	.site-heading-title-en {
		font-size: 14px;
		line-height: 17px;
	}

	.site-link-btn.green {
		height: 60px;
		padding: 0 15px;
	}

	.site-link-btn.green:before {
		position: relative;
		top: unset;
		left: unset;
		width: 8px;
		height: 10px;
		transform: unset;
		margin-right: 11px;
	}

	.site-link-btn.centered-mb {
		margin: 0 auto;
	}

	.site-link-btn.full-width-mb {
		width: calc(100% - 30px);
		margin: 0 auto;
	}

	.page-title-wrap {
		margin-left: 15px;
	}

	.theme-storefront.archive .site-header,
	.theme-storefront.blog .site-header,
	.theme-storefront.category .site-header,
	.theme-storefront.error404 .site-header,
	.theme-storefront.single-post .site-header,
	.theme-storefront.single-product .site-header,
	.theme-storefront.page .site-header {
		height: 60px;
	}

	.header-spacer {
		height: 115px;
		min-height: 115px;
	}

	.site-header-container {
		height: 50px;
		padding: 0 0 0 14px;
		justify-content: space-between;
	}

	.site-header .header-logo-image {
		width: 100px;
	}

	.site-header .header-menus {
		display: none;
	}

	.site-header .header-btns {
		margin-left: auto;
	}

	.site-header .header-btns .header-btn.user-guide {
		display: none;
	}

	.site-header .header-btns .header-btn-seper:nth-of-type(1) {
		display: none;
	}

	.site-header .header-btn-seper {
		background-color: #E1E9ED;
		height: 24px;
	}

	.mobile-menu-inner .header-btns {
		display: flex;
		flex-wrap: wrap;
		width: 260px;
		margin: 0 auto;
		row-gap: 20px;
		justify-content: center;
	}

	.mobile-menu-inner .header-btn.user-guide {
		display: flex;
	}

	.site-header .header-search-wrap.desktop {
		display: none;
	}

	.site-header .header-search-wrap.mobile {
		width: 100%;
		display: block;
		padding: 10px 10px;
		background-color: #000;
	}

	.site-header .header-search-wrap.mobile>form {
		height: 45px;
		display: block;
		overflow: hidden;
		position: relative;
		border-radius: 5px;
	}

	.site-header .header-search-wrap.mobile input#woocommerce-product-search-field {
		width: 100%;
		padding-right: 80px;
		border: none;
		border-radius: 0;
	}

	.site-header .header-search-wrap.mobile button {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		width: 78px;
		color: #fff;
		font-size: 13px;
		background-color: #2454A1;
	}

	.site-header .mobile-menu-inner .header-search-wrap {
		width: 100%;
		display: block;
		padding: 24px 15px;
		background: none;
	}

	.site-header .mobile-menu-inner .header-search-wrap>form {
		display: block;
		overflow: hidden;
		position: relative;
		border-radius: 5px;
	}

	.site-header .mobile-menu-inner .header-search-wrap input#woocommerce-product-search-field {
		width: 100%;
		padding-right: 80px;
		border: none;
		border-radius: 0;
	}

	.site-header .mobile-menu-inner .header-search-wrap button {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		width: 78px;
		color: #fff;
		background-color: #2454A1;
	}

	.site-header .header-btn {
		border-radius: 3px;
		padding: 5px 3px 5px 3px;
	}

	.site-header .header-btn.cart {
		padding-right: 0;
		margin-right: 12px;
	}

	.site-header .header-btn-label {
		font-size: 12px;
		font-weight: bold;
	}

	.site-header .header-btn-seper {
		margin: 0 1em;
	}

	.site-header .header-btn-icon.account {
		width: 13px;
		margin-right: 1px;
	}

	.site-header .flex-column.header-rank {
		row-gap: 4.5px;
	}

	.site-header .header-btn-icon.cart {
		width: 16.94px;
	}

	.site-header .header-btn-cart-qty {
		right: -10px;
	}

	.site-header .burger-icon {
		height: 100%;
		aspect-ratio: 1 / 1;
		background-color: #E1E9ED;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.site-header .burger-icon .burgur-bar-wrap {
		display: flex;
	}

	.site-header .burger-icon .burgur-bar-wrap {
		width: 15px;
		height: 12px;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}

	.site-header .burger-icon .burger-bar {
		width: 100%;
		height: 2px;
		transition: all 0.2s;
		background-color: #2454a1;
	}

	.site-header .burger-icon.open .burgur-bar-wrap {
		justify-content: center;
	}

	.site-header .burger-icon.open .burger-bar.top {
		transform: translateY(1px) rotate(-45deg);
	}

	.site-header .burger-icon.open .burger-bar.middle {
		display: none;
	}

	.site-header .burger-icon.open .burger-bar.btm {
		transform: translateY(-1px) rotate(45deg);
	}

	.mobile-menu-slideout {
		z-index: 4;
		top: 50px;
		bottom: 0;
		left: 101%;
		width: 100%;
		display: flex;
		position: fixed;
		transition: all 0.4s;
		background: rgb(201 222 255 / 60%);
		-webkit-backdrop-filter: blur(30px);
		backdrop-filter: blur(30px);
	}

	.mobile-menu-slideout.open {
		left: 0;
	}

	.mobile-menu-inner {
		width: 100%;
		height: 100%;
		overflow-y: auto;
	}

	ul.mobile-menu {
		margin: 0;
		list-style: none;
		padding: 0 15px 24px 15px;
	}

	.mobile-menu .menu-item {
		text-align: left;
		padding: 24px 0 20px 10px;
		border-top: 1px solid #2455a1;
	}

	.mobile-menu .menu-item:first-child {}

	.mobile-menu .menu-item a {
		display: inline-flex;
		align-items: center;
		flex-direction: column;
		margin: 0;
		color: #2455a1;
		font-size: 25px;
		font-weight: 400;
		line-height: 30px;
		/* font-family: 'NotoSansJP'; */
	}

	.mobile-menu .menu-item a .menu-en {
		color: #fff;
		font-size: 17px;
		font-weight: 700;
		line-height: 20px;
		letter-spacing: 0.05em;
		font-family: 'Caviar Dreams';
		margin-bottom: 0;
	}


	.mobile-menu .menu-item.oc-menu-list.menu-item-has-children {
		position: relative;
	}

	.mobile-menu .menu-item.oc-menu-list.menu-item-has-children:after {
		content: "\2013";
		position: absolute;
		top: 22px;
		right: 11px;
		width: 22px;
		color: #2454A1;
		font-size: 30px;
		font-weight: 300;
		line-height: 30px;
		text-align: center;
	}

	.mobile-menu .menu-item.oc-menu-list.menu-item-has-children.oc-menu-list-closed:after {
		content: "+";
	}

	.mobile-menu .menu-item.oc-menu-list.menu-item-has-children .oc-menu-list-submenu {
		margin-top: 0;
		margin-left: -10px;
		overflow: hidden;
		transition: max-height 0.5s;
	}

	.mobile-menu .menu-item.oc-menu-list.menu-item-has-children.oc-menu-list-closed .oc-menu-list-submenu {
		max-height: 0 !important;
	}

	.mobile-menu .menu-item.oc-menu-list .oc-menu-list-submenu .menu-item {
		border-top: none;
		background-size: 6px 1px;
		background-repeat: repeat-x;
		background-position: top left;
		background-image: linear-gradient(90deg, #2455a1 0%, #2455a1 33%, transparent 33%, transparent 100%);
	}

	.mobile-menu .menu-item.oc-menu-list .oc-menu-list-submenu .menu-item:first-child {
		margin-top: 20px;
	}

	.mobile-menu .menu-item.oc-menu-list .oc-menu-list-submenu .menu-item:last-child {
		padding-bottom: 0;
	}

	.mobile-menu .menu-item.oc-menu-list .oc-menu-list-submenu .menu-item a {
		font-size: 20px;
	}

	.mobile-menu-btm {
		padding: 9px 15px;
	}

	.mobile-menu-btm .menu-item {
		padding: 15px 0;
	}

	.mobile-menu-btm .menu-item a {
		display: inline-flex;
		align-items: center;
		margin: 0;
		color: #fff;
		font-size: 16px;
		font-weight: 300;
		line-height: 30px;
		text-decoration: underline;
	}

	.mobile-menu-btm .menu-item a:before {
		content: "";
		width: 5px;
		height: 7px;
		margin-right: 5px;
		display: inline-block;
		background-size: contain;
		background-repeat: no-repeat;
		background-image: url('../img/menu-menu-item-arrow.svg');
	}

	.site-footer {
		margin-bottom: 80px;
	}

	.site-footer .footer-content {
		padding: 44px 15px 20px;
		width: 100%;
		margin: 0;
		flex-direction: column;
		row-gap: 30px;
	}

	.site-footer .footer-content {
		flex-direction: column;
		align-items: center;
	}

	.site-footer .footer-content .footer-menu-wrap:first-child {
		margin-right: 0;
	}

	.site-footer .footer-content .footer-menu-wrap-outside {
		width: 100%;
		justify-content: space-between;
	}

	.site-footer .footer-content .footer-menu-wrap:first-child {
		margin: 0;
	}

	.site-footer .site-link-btn {
		text-decoration: none;
	}

	/* .footer-menu-wrap-outside {
		display: none;
	}
	.footer-menu-wrap {
		display: none;
	} */
	.site-footer .footer-company-info {
		flex-direction: column;
		align-items: flex-start;
		align-self: flex-start;
	}

	.site-footer .footer-contact-intro {
		width: calc(100% - 30px);
		font-size: 18px;
		line-height: 27px;
		margin-left: auto;
		margin-right: auto;
	}

	.site-footer .footer-guide-top-tab {
		width: 100%;
		border-radius: 0;
	}

	.footer-guide-btm-wrap .footer-guide-btm-link {
		display: none;
	}

	.footer-guide-btm-wrap .site-link-btn.full-width-mb {
		display: flex;
	}

	.site-footer .footer-contact-btns {
		width: 345px;
		margin: 0 auto;
		flex-direction: column;
	}

	.site-footer .footer-contact-btn {
		height: 100px;
		flex: 0 0 auto;
	}

	.site-footer .footer-contact-btn.email {
		flex-direction: row;
	}

	.site-footer .footer-contact-btn-wrap {
		column-gap: 13px;
		flex-direction: row;
	}

	.site-footer .footer-contact-btn.phone .footer-contact-btn-icon {
		width: 17px;
		margin-bottom: 0;
	}

	.site-footer .footer-contact-phone-number {
		font-size: 20px;
		line-height: 27px;
	}

	.site-footer .footer-contact-phone-hours {
		font-size: 13px;
		line-height: 25px;
	}

	.site-footer .footer-contact-email-label {
		font-size: 18px;
		line-height: 31px;
	}

	.site-footer .footer-contact-btn.email .footer-contact-btn-icon {
		width: 27px;
		margin-bottom: 0;
		margin-right: 6px;
	}

	.site-footer .footer-menus-wrap {
		display: none;
	}

	.site-footer .footer-company-box {
		flex: 0 0 auto;
		margin: 0 auto;
	}

	/* .site-footer .footer-company-name {
		min-height: unset;
		padding-right: 0;
		margin-right: 0;
		border-right: none;
	} */
	.site-footer .footer-company-logo {
		width: 157px;
	}

	.site-footer .footer-company-name {
		font-size: 16px;
		margin: 7px 0 2px;
	}

	.site-footer .footer-company-location {
		padding-right: 0;
		margin-right: 0;
		border-right: 0;
	}

	.site-footer .footer-company-address {
		font-size: 13px;
		margin-bottom: 4px;
	}

	.footer-company-contact-number {
		font-size: 13px;
		margin-bottom: 2px;
	}

	.site-footer .footer-commpany-contact {
		justify-content: center;
	}

	.site-footer .footer-copyright-text {}

	.site-footer .return-to-top {
		right: 15px;
		bottom: 310px;
	}

	.site-fixed-footer {
		z-index: 5;
		display: block;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		height: 80px;
	}

	.fixed-footer-wrap {
		height: 100%;
		display: flex;
		column-gap: 9px;
		padding: 10px;
		backdrop-filter: blur(10px);
		background-color: rgba(255, 255, 255, 0.8);
	}

	footer .site-fixed-footer .fixed-footer-wrap .fixed-footer-btn {
		height: 100%;
		display: flex;
		row-gap: 4px;
		align-items: center;
		flex-direction: column;
		justify-content: center;
		color: #fff;
		font-size: 16px;
		font-weight: 700;
		line-height: 26px;
		text-align: center;
		text-decoration: none;
		letter-spacing: -0.05em;
		flex: 1 0 calc((100% - 9px) / 2);
	}

	footer .site-fixed-footer .fixed-footer-wrap .fixed-footer-btn.first-time {
		background-color: #2454A1;
	}

	footer .site-fixed-footer .fixed-footer-wrap .fixed-footer-btn.account {
		letter-spacing: 0.13em;
		background-color: #0085CD;
	}

	footer .site-fixed-footer .fixed-footer-wrap .fixed-footer-btn .fixed-footer-btn-icon {
		display: block;
		height: 15px;
	}

	/* COMMON GUIDE SECTION */

	.site-section.common-guide-section {
		padding: 60px 0 100px 0;
	}

	.common-guide-content {
		width: calc(100% - 30px);
		flex-direction: column;
		column-gap: unset;
	}

	.blue-heading {
		padding: 45px 0 45px 20px;
	}

	.blue-heading .blue-heading-title {
		font-size: 25px;
	}

	.blue-heading .blue-heading-icon {
		width: 23px;
	}

	.page-heading-title {
		font-size: 30px;
		line-height: 30px;
		letter-spacing: 0.04em;
		margin: 21px 0 0 0;
	}

	.page-title-icon {
		width: 23px;
	}

	.page-title-text {
		font-size: 25px;
	}

	/* FRONT PAGE */

	.front-section-heading-title {
		font-size: 25px;
		margin: 17px 0 0 0;
	}

	.front-page-link {
		padding-right: 15px;
	}

	.swiper.front-swiper .front-swiper-pagination.swiper-pagination-horizontal.swiper-pagination-bullets {
		left: 50%;
		bottom: 4px;
		transform: translateX(-50%);
		width: fit-content;
	}

	.swiper.front-swiper .front-swiper-pagination.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
		width: 30px;
	}

	.swiper-slide.front-swiper-slide {
		width: 100%;
		aspect-ratio: 375 / 400;
	}

	.swiper-slide-image.mb {
		width: 100%;
		display: block;
		border-radius: 0;
	}

	.swiper-slide-image.dt {
		display: none;
	}

	.slide-one .front-swiper-slide-content {
		width: 100%;
		top: 26%;
		transform: initial;
		left: 0;
		padding: 25px 15px 28px;
	}

	.slide-two .front-swiper-slide-content {
		top: 40%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 100%;
		text-align: center;
	}

	.slide-three .front-swiper-slide-content {
		top: 24px;
		left: 5%;
	}

	.front-slide-text.top {
		font-size: 20px;
		line-height: 1.5;
		letter-spacing: 0.02em;
		margin-bottom: 12px;
	}

	.front-slide-bar {
		font-size: 20px;
		line-height: 33px;
		letter-spacing: 0.02em;
		padding: 0 17px 0 9px;
		margin-bottom: 12px;
	}

	.slide-one .front-slide-bar {
		width: 100%;
		padding: 13px 0 11px 13px;
	}

	.front-slide-logo {
		width: 300px;
		margin: 0 auto;
	}

	.slide-one .front-slide-bar .big-text {
		font-size: 25px;
		letter-spacing: 0.1em;
		line-height: 1.36;
	}

	.front-slide-bigblk {
		font-size: 48px;
		line-height: 40px;
		letter-spacing: 0.08em;
		margin-bottom: 0;
	}

	.front-slide-btmbar {
		height: 100px;
		font-size: 20px;
		line-height: 1.5;
		text-align: center;
		letter-spacing: 0.1em;
		margin-bottom: 0;
		padding-top: 13px;
	}

	.slide-two .front-slide-bar {
		font-size: 19px;
		padding-right: 0;
		margin: 0 0 16px;
	}

	.front-slide-bigwht {
		font-size: 24px;
		margin-bottom: 0;
		letter-spacing: 0.05em;
	}

	.front-slide-bigwht-quote.mb {
		display: inline-block;
		position: relative;
		transform: initial;
		left: 0;
		margin-bottom: 20px;
	}

	.front-slide-bigwht-quote {
		display: none;
	}

	.front-slide-quote-txt {
		font-size: 34px;
		font-weight: 600;
		line-height: 33px;
		letter-spacing: -1px;
		margin-left: -10px;
	}

	.front-slide-bigwht-quote .front-slide-quote-arrow {
		display: none;
	}

	.slide-three .front-slide-bar {
		font-size: 15px;
	}

	.front-slide-categories-wrap {
		overflow-x: auto;
		padding: 5px 0 34px 0;
	}

	.front-slide-categories {
		column-gap: 17px;
		margin: 0 auto 0 15px;
	}

	.front-slide-category {
		overflow: hidden;
		flex: 0 0 calc((100% - 75px) / 3.5);
		max-width: calc((100% - 75px) / 3.5);
	}

	.front-slide-category.dt-only {
		display: none;
	}

	.front-slide-category-title {
		font-size: 15px;
		line-height: 40px;
		letter-spacing: 0.05em;
		padding-left: 10px;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}

	.front-slide-category-title:before {
		left: 0;
	}

	.front-cta-boxes {
		padding: 10px;
		display: flex;
		column-gap: 10px;
	}

	.front-cta-box {
		width: calc((100% - 20px) / 3);
		flex: 0 0 calc((100% - 20px) / 3);
	}

	.front-cta-box-image.dt-only {
		display: none;
	}

	.front-cta-box-image.mb-only {
		display: initial;
	}

	.site-section.front-news-section {
		padding-top: 30px;
		padding-bottom: 34px;
	}

	.site-section-link.right {
		padding-right: 15px;
	}

	.site-section.front-column-section {
		padding: 60px 0 60px 0;
	}

	.front-section-heading.front-column {
		margin-bottom: 33px;
	}

	.front-column-articles {
		flex-direction: column;
		column-gap: unset;
		padding: 0 15px;
		row-gap: 30px;
	}

	.site-section.front-recommend-section {
		padding: 64px 0;
	}

	.front-section-heading.recommend {
		margin-bottom: 54px;
	}

	.front-recommend-products {
		flex-wrap: wrap;
		column-gap: 15px;
		row-gap: 30px;
		padding: 0 15px;
		margin-bottom: 30px;
	}

	.front-recommend-product {
		flex: 0 0 calc((100% - 15px) / 2);
	}

	.site-section.front-category-section {
		padding: 74px 0 82px 0;
	}

	.front-category-content {
		padding: 0;
	}

	.front-section-heading.front-category {
		margin-bottom: 44px;
	}

	.front-category-boxes {
		row-gap: 40px;
		column-gap: 15px;
		padding: 0 15px;
	}

	.front-category-box {
		flex: 0 0 calc((100% - 15px) / 2);
	}

	.front-manufacturer-content {
		width: 100%;
	}

	.front-section-heading.front-manufacturer {
		margin-bottom: 40px;
	}

	.front-manufacturer-boxes {
		row-gap: 30px;
		column-gap: 15px;
		padding: 0 15px;
		justify-content: initial;
	}

	.front-manufacturer-box {
		flex: 0 0 calc((100% - 15px) / 2);
	}

	.front-manufacturer-box-text {
		font-size: 17px;
		letter-spacing: 0.03em;
		text-align: left;
		margin: 56px 15px 0 15px;
		text-align: center;
	}

	.front-inventory-image-lt {
		display: none;
	}

	.front-inventory-image-rt {
		display: block;
		width: 100%;
		position: relative;
	}

	.front-inventory-intro {
		font-size: 25px;
		line-height: 40px;
		text-align: center;
		letter-spacing: 0.1em;
		margin: 0 15px 36px 15px;
	}

	.front-inventory-box {
		margin-bottom: 28px;
		padding: 45px 0 50px;
		width: 320px;
		margin: 0 auto;
	}

	.front-inventory-buttons {
		width: 100%;
		row-gap: 30px;
		column-gap: 0;
		padding: 0 15px;
		align-items: center;
		flex-direction: column;
	}

	.front-inventory-button {
		width: 320px;
		height: 96px;
	}

	.front-inventory-image-rt {
		position: relative;
		top: unset;
		right: unset;
		width: 100%;
		margin-top: 40px;
	}

	.site-section.front-about-section {
		padding-top: 17px;
		padding-bottom: 55px;
		border-bottom: 1px solid #c7c1b6;
	}

	.front-about-top-content {
		flex-direction: column;
	}

	.front-about-container {
		padding-top: 67px;
		padding-bottom: 0;
	}

	.front-about-top-left {
		flex: 0 0 auto;
		padding: 0 15px;
	}

	.front-about-text.top {
		margin-top: 43px;
		margin-bottom: 40px;
	}

	.front-about-btm-content {
		padding: 0 15px;
	}

	.front-feature-content .site-heading {
		padding-top: 0;
		margin-left: 15px;
		margin-bottom: 41px;
	}

	.front-feature-image-wrap {
		width: 100%;
		position: relative;
	}

	.front-about-image.mb {
		width: 100%;
		display: block;
	}

	.front-about-image.dt {
		display: none;
	}

	.site-section.front-feature-section {
		padding-top: 60px;
		padding-bottom: 55px;
		border-bottom: 1px solid #c7c1b6;
	}

	.front-feature-wrap {
		position: relative;
		width: calc(100% - 30px);
		border-top-right-radius: 50px;
		margin: 40px auto 0 auto;
		padding: 0;
	}

	.front-feature-items {
		row-gap: 40px;
	}

	.front-feature-item-head {
		height: auto;
		position: relative;
		padding: 11px 0 12px 0;
	}

	.front-feature-item-head-bullet {
		top: 0;
		left: 0;
		bottom: 0;
		width: 40px;
		height: unset;
		position: absolute;
	}

	.front-feature-item-head-title {
		font-size: 18px;
		line-height: 24px;
		margin-left: 50px;
		margin-right: 10px;
	}

	.site-section.front-gift-section {
		padding: 62px 0 60px 0;
	}

	.front-gift-section .site-heading-title-en {
		font-size: 16px;
	}

	.front-gift-section .site-heading-title-ja {
		font-size: 25px;
		line-height: 25px;
		margin: 13px 0 19px 0;
	}

	.site-product-grid.front-gift-products {
		row-gap: 48px;
		column-gap: 15px;
		margin: 0 15px 47px 15px;
	}

	.site-product-grid-product {
		flex: 0 0 calc((100% - 30px) / 2);
	}

	.site-footer .footer-guide-btm-content {
		row-gap: 30px;
		column-gap: 0;
		flex-wrap: wrap;
	}

	.site-footer .footer-guide-btm-box {
		flex: 0 0 50%;
	}

	/* COMPANY PAGE */

	.site-section.company-profile-section {
		padding-top: 30px;
	}

	.site-container.company-profile-container {
		margin: 0 auto;
		width: calc(100% - 30px);
	}

	.company-profile-list {
		row-gap: 0;
		margin: 24px 0 0 0;
	}

	.company-profile-item {
		row-gap: 0;
		column-gap: 0;
		flex-direction: column;
		padding: 15px 0;
	}

	.company-profile-item-label {
		width: 100%;
		flex: 0 0 auto;
		padding-bottom: 10px;
		background-size: 4px 1px;
		background-repeat: repeat-x;
		background-position: bottom left;
		background-image: linear-gradient(90deg, #c7c1b6 0%, #c7c1b6 25%, transparent 25%, transparent 100%);
	}

	.company-profile-item-value {
		width: 100%;
		flex: 0 0 auto;
		padding-top: 10px;
	}

	.site-section.company-map-section {
		padding: 20px 0 0 0;
	}

	.company-map-wrap {
		padding: 0;
	}

	.company-map-wrap .company-map {
		width: 100%;
		height: unset;
		aspect-ratio: 345 / 200;
	}

	/* MANUFACTURERS PAGE */

	.manufacturers-listing-section {
		padding: 43px 15px 91px 15px;
	}

	.manufacturers-listing-content {
		row-gap: 30px;
		column-gap: 15px;
	}

	.manufacturers-listing-manufacturer {
		flex: 0 0 calc((100% - 30px) / 2);
	}

	.manufacturers-listing-image-wrap {
		padding: 15px;
	}

	.manufacturers-listing-title {
		font-size: 15px;
		letter-spacing: 0.02em;
		margin: 13px 0 0 0;
	}

	/* PRODUCT CATEGORIES PAGE */

	.product-categories-listing-section {
		padding: 30px 0 94px 0;
	}

	.product-categories-listing-content {
		column-gap: 10px;
		row-gap: 30px;
		padding: 0 15px;
	}

	.product-categories-listing-category {
		flex: 0 0 calc((100% - 20px) / 3);
	}

	.subcat-ul li.subcat-list {
		flex: 1 0 26%;
		max-width: 26%;
		display: flex;
	}

	.subcat-ul li.subcat-list a {
		text-align: center;
		color: black;
	}

	/* COMPANY PAGE */
	.site-container.company-top-container {
		padding-top: 35px;
		padding-bottom: 35px;
	}

	.company-top-content {
		width: calc(100% - 30px);
	}

	.company-top-title {
		font-size: 30px;
		margin-bottom: 30px;
		line-height: 1.33;
	}

	.company-top-image {
		top: 300px;
		opacity: 0.65;
	}

	.company-top-text {
		margin-bottom: 90px;
	}

	.company-top-boxes {
		row-gap: 68px;
		column-gap: 0;
		flex-direction: column;
		margin: 0;
	}

	.company-top-box {
		flex: 0 0 auto;
	}

	.company-top-circle {
		width: 280px;
		margin: 0 auto;
	}

	.company-top-circle-text {
		margin-top: 38px;
		text-align: justify;
	}

	.site-container.company-message-container {
		padding-bottom: 76px;
	}

	.company-message-content {
		padding: 0 20px;
	}

	.page-heading.company-message {
		margin-bottom: 50px;
	}

	.company-message-wrap {
		padding: 0;
		background-color: #f5fafc;
	}

	.company-message-columns {
		row-gap: 20px;
		column-gap: 0;
		flex-direction: column-reverse;
	}

	.company-message-column-left,
	.company-message-column-right {
		flex: 0 0 auto;
	}

	.company-overview-section {
		padding: 74px 0 80px 0;
	}

	.page-title-wrap.history {
		margin-left: 15px;
	}

	.company-overview-indented {
		padding-left: 0;
	}

	.company-overview-row {
		column-gap: 8px;
		padding: 15px 0;
	}

	.company-history-section {
		padding: 0;
	}

	.page-title-wrap.history {
		margin-bottom: 37px;
	}

	.page-title-wrap.registration-check {
		margin-bottom: 20px;
	}

	.company-overview-row-label {
		letter-spacing: 0.05em;
	}

	.company-history-info {
		top: 0;
		left: 0;
		width: 100%;
		min-width: unset;
		position: relative;
		padding: 15px 15px 30px 15px;
	}

	.company-history-list-item {
		column-gap: 10px;
	}

	.company-history-list-label {
		flex: 0 0 135px;
	}

	/* USER GUIDE PAGE */
	.site-section.guide-heading-section {
		padding: 30px 0 15px;
	}

	.site-section.guide-group-section.group-pad-top {
		padding-top: 34px;
		padding-bottom: 80px;
	}

	.site-section.guide-nav-section {
		padding: 45px 0 49px 0;
	}

	.guide-nav-buttons {
		row-gap: 15px;
		column-gap: 15px;
		justify-content: space-between;
	}

	.guide-nav-buttons .guide-nav-button {
		font-size: 13px;
		padding-left: 11px;
		flex: 0 0 calc((100% - 15px) / 2);
	}

	.guide-nav-buttons .guide-nav-button:nth-child(3) {
		font-size: 11.5px;
		padding-left: 11px;
	}

	.guide-nav-buttons .guide-nav-button:after {
		right: 11px;
	}

	.guide-nav-contact {
		margin-top: 40px;
		flex-direction: column;
	}

	.guide-nav-contact.two-buttons {
		flex-direction: column;
		row-gap: 30px;
	}

	.guide-nav-contact-note {
		font-size: 17px;
		line-height: 35px;
		padding: 0 15px;
	}

	.guide-group {
		padding: 0 15px;
	}

	.quide-group-text {
		padding: 0 15px;
	}

	.quide-group-text:not(:last-child) {
		margin-bottom: 30px;
	}

	.quide-group-text:last-child {
		margin-bottom: 0;
	}

	.guide-group-section.registration .guide-group-blue-box .quide-group-text,
	.guide-group-section.cancellation .guide-group-blue-box .quide-group-text {
		padding: 0;
	}

	.guide-group-title-wrap.order-flow {
		margin-bottom: 26px;
	}

	.consumption-tax-table .label-cell,
	.consumption-tax-table .value-cell {
		letter-spacing: 0.01em;
		padding: 10px 7px;
	}

	.guide-group-delivery-table .label-cell {
		padding-right: 11px;
	}

	.guide-group-delivery-table .value-cell {
		white-space: nowrap;
	}

	.order-flow-items .order-flow-item {
		display: flex;
		column-gap: 0;
	}

	.order-flow-item-left {
		display: none;
	}

	.order-flow-item-right {
		flex: 0 0 100%;
	}

	.order-flow-items .order-flow-item-title-divider {
		margin: 12px 0 14px 0;
	}

	.order-flow-items .order-flow-item-image.mb {
		width: 100%;
		display: block;
	}

	.order-flow-items .order-flow-item-divider.mb {
		display: block;
		margin: 40px 0;
	}

	.order-flow-items .order-flow-item-divider.dt {
		display: none;
	}

	.order-flow-items .order-flow-item-title {
		column-gap: 9px;
		font-size: 18px;
		line-height: 31px;
	}

	.order-flow-items .order-flow-item-text {
		margin-top: 20px;
	}

	.tag-box {
		flex-direction: column;
		align-items: flex-start;
	}

	.site-section.guide-group-section {
		padding: 45px 0;
	}

	.guide-group-gold-box {
		width: 100%;
		row-gap: 10px;
		column-gap: 0;
		flex-direction: column;
		align-items: flex-start;
		margin-bottom: 30px;
	}

	.guide-group-gold-box .gold-box-slash {
		display: none;
	}

	.site-section.guide-group-section:last-child {
		padding-bottom: 60px;
	}

	.boxed-item-list-row .boxed-item-list-subtitle {
		display: block;
		width: 100%;
		margin-bottom: 0;
		text-align: center;
		border-bottom: 1px solid #e7eaee;
	}

	.boxed-item-list-row .quide-group-text {
		display: block;
		width: 100%;
		margin-bottom: 0;
		border: none;
	}

	.fw-emphasize.has-sp-style {
		display: inline-block;
		width: 100%;
		text-align: center;
	}

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

	.boxed-item-list-row:first-child .quide-group-text,
	.boxed-item-list-row:last-child .quide-group-text {
		text-align: center;
	}

	.mb-sp-10 {
		margin-bottom: 10px;
	}

	.text-sp-center {
		text-align: center;
	}

	.guide-group-blue-box {
		padding: 33px 15px 27px 15px;
		margin: 0 15px 30px;
	}

	.quide-group-title {
		font-size: 20px;
	}

	.guide-group-faq-items {
		padding-right: 15px;
	}

	/* CONTACT PAGE */

	.site-section.contact-section {
		padding: 30px 0 60px 0;
	}

	.site-container.contact-container {
		width: calc(100% - 30px);
		padding: 0;
	}

	.contact-form-intro {
		width: 100%;
		letter-spacing: 0.02em;
		margin: 34px 0 30px 0;
	}

	.contact-form {
		padding: 22px 15px;
	}

	.contact-form .field-group {
		margin-bottom: 30px;
	}

	.contact-form .confirm-group {
		margin-top: 5px;
	}

	.contact-form .field-group.confirm-group .label-wrap .group-label {
		line-height: 24px;
		text-align: left;
	}

	.contact-form .field-group.confirm-group input[type="checkbox"]~.label-wrap .group-label:before,
	.contact-form .field-group.confirm-group input[type="checkbox"]~.label-wrap .group-label:after {
		margin-top: 3px;
	}

	/* CATEGORY PAGE */

	.category-page-heading {
		flex-direction: column-reverse;
	}

	.category-page-heading-left {
		flex: 0 0 auto;
		background-size: cover;
		background-position: center center;
		padding: 50px 15px 43px 15px;
	}

	.category-page-heading-right {
		width: 100%;
		flex: 0 0 auto;
		background-size: cover;
		background-position: center center;
		aspect-ratio: 375 / 300;
	}

	.category-page-heading-title {
		color: #fff;
		font-size: 25px;
		font-weight: 600;
		line-height: 43px;
		margin-bottom: 30px;

	}

	.subcat-ul {
		padding: 0 15px;
	}

	.category-page-products-filters {
		column-gap: 15px;
		padding: 0 15px;
	}

	.category-page-slideout-btn {
		flex: 0 0 calc((100% - 15px) / 2);
		height: 40px;
		display: flex;
		column-gap: 9px;
		align-items: center;
		color: #575756;
		font-size: 16px;
		font-weight: 300;
		line-height: 32px;
		outline: none;
		border-radius: 3px;
		padding: 0 0 0 12px;
		letter-spacing: 0.1em;
		background-color: #fff;
		border: 1px solid #c7c1b6;
	}

	.category-page-products-filters .category-page-slideout-btn:hover,
	.category-page-products-filters .category-page-slideout-btn:focus {
		outline: none;
		background-color: #fff;
	}

	.category-page-slideout-btn-icon {
		width: 12px;
	}

	.category-page-filter-sort {
		flex: 0 0 calc((100% - 15px) / 2);
	}

	.category-page-content {
		padding: 0;
	}

	.category-page-sidebar {
		z-index: 4;
		flex: unset;
		position: fixed;
		top: 60px;
		bottom: 0;
		left: 101vw;
		width: 100vw;
		transition: all 0.2s;
		overflow-y: scroll;
		background: rgb(201 222 255 / 85%);
		-webkit-backdrop-filter: blur(30px);
		backdrop-filter: blur(30px);
	}

	.category-page-sidebar-closer {
		z-index: 3;
		position: absolute;
		top: 14px;
		right: 16px;
		display: flex;
		column-gap: 12px;
		align-items: center;
	}

	.category-page-sidebar-closer-label {
		display: inline-block;
		color: #2454a1;
		font-size: 15px;
		font-weight: 300;
		line-height: 32px;
		letter-spacing: 0.03em;
		margin: 0;
	}

	.category-page-sidebar-closer-bars {
		width: 19px;
		height: 12px;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}

	.category-page-sidebar-closer-bar {
		width: 100%;
		height: 2px;
		background-color: #2454a1;
	}

	.category-page-sidebar-closer-bar.top {
		transform: translateY(1px) rotate(30deg);
	}

	.category-page-sidebar-closer-bar.btm {
		transform: translateY(-1px) rotate(-30deg);
	}

	.category-page-sidebar-inner {
		padding: 80px 30px;
	}

	.category-page-sidebar.open {
		left: 0;
	}

	.category-page-sidebar-link,
	.category-page-sidebar-title,
	.category-page-sidebar-group-title,
	.category-page-sidebar-list-checkbox~.category-page-sidebar-list-checkbox-label {
		color: #2454a1;
	}

	.category-page-sidebar-sublist-item:after {
		border-color: #2454a1;
	}

	.category-page-filters-clear path {
		fill: #2454a1;
	}

	.category-page-sidebar-list-checkbox~.category-page-sidebar-list-checkbox-label:before {
		outline-color: #2454a1;
		background-color: transparent;
	}

	.category-page-sidebar-list-checkbox:checked~.category-page-sidebar-list-checkbox-label:before {
		background-color: #2454a1;
	}

	.category-page-products {
		flex: 0 0 auto;
		display: flex;
		column-gap: 15px;
		padding: 0 15px;
	}

	.category-page-product {
		flex: 0 0 calc((100% - 15px) / 2);
	}

	.single-product .site-content div.product .related.products ul.products .category-page-product {
		flex: 0 0 calc((100% - 15px) / 2);
	}

	.product-pagination:has(.page-numbers) {
		margin-top: 70px;
	}

	.page-numbers {
		width: 36px;
		height: 36px;
		font-size: 15px;
	}

	.page-numbers.prev,
	.page-numbers.next {
		padding: 0.5em;
	}

	.product-pagination {
		column-gap: 0.5em;
	}

	/* SINGLE PRODUCT PAGE */

	.single-product div.product form.cart {
		max-width: calc(100vw - 30px);
		margin-bottom: 0;
	}

	.single-product-mobile-heading {
		width: 100%;
		display: block;
		padding: 0 15px;
	}

	.single-product .site-content div.product {
		flex-direction: column;
	}

	.single-product div.product div.tone-product-gallery {
		width: 100%;
		flex: 0 0 auto;
		padding: 0 15px;
	}

	.single-product div.product div.summary {
		width: 100%;
		padding: 0 15px;
	}

	.single-product .col-full .content-area {
		width: 100%;
		margin-top: 15px;
	}

	.single-product-categories {
		margin-top: 0;
		margin-bottom: 22px;
	}

	.single-product-sku {
		margin-bottom: 0;
	}

	.single-product-title {
		margin-bottom: 22px;
	}

	.summary.entry-summary .single-product-sku,
	.summary.entry-summary .single-product-title,
	.summary.entry-summary .single-product-categories {
		display: none;
	}

	.single-product .single-product-price {
		margin-top: 36px;
	}

	.single-product .product .summary .variations_button {
		max-width: calc(100vw - 30px);
		margin-bottom: 0;
	}

	.single-product .site-content div.product .related.products {
		width: 100%;
		flex: 0 0 auto;
		margin: 0;
		padding: 1.5rem 15px 0;
	}

	.single-product .site-content div.product .related.products ul.products {
		overflow-x: auto;
		column-gap: 15px;
		padding-bottom: 10px;
		margin: 0;
	}

	.single-product .site-content div.product .related.products ul.products li.product {
		flex: 0 0 calc((100% - 20px) / 2.6);
		display: flex;
		flex-direction: column;
	}

	.single-product .site-content div.product .related.products ul.products li.product .woocommerce-loop-product__link {
		flex: 1 0 1px;
		display: flex;
		flex-direction: column;
	}

	.single-product .site-content div.product .related.products .recently-viewed-products {
		margin: 0;
		padding: 0;
	}

	.single-product .site-content div.product .related.products h2 {
		font-size: 25px;
		line-height: 43px;
		margin-bottom: 40px;
		padding-bottom: 20px;
	}

	.variation-radio-label {
		height: 40px;
		min-width: 100px;
		line-height: 38px;
	}

	.variation-radio:checked~.variation-radio-label {
		line-height: 38px;
	}

	.return-to-category-container {
		margin: 50px 15px 0 auto;
	}

	.single-product .summary .single_add_to_cart_button {
		padding-left: 0;
		padding-right: 0;
	}

	.single-product-shipping-class.show-shipping-class {
		max-width: calc(100vw - 30px);
	}

	.single-product-shipping-class-info {
		align-items: flex-start;
	}

	.single-product-shipping-class-description {
		margin-top: 2px;
	}

	/* REGISTRATION PAGE */

	.registration-top-title {
		font-size: 27px;
		line-height: 45px;
		letter-spacing: 0.03em;
		padding-top: 46px;
		margin-right: 0;
	}

	.registration-top-image {
		top: 207px;
		max-width: unset;
		width: calc(115%);
	}

	.registration-top-heading {
		margin-bottom: 155px;
	}

	.registration-top-boxes {
		row-gap: 20px;
		flex-direction: column;
	}

	.registration-top-box {
		padding-top: 36px;
		padding-bottom: 23px;
	}

	.site-page-bread-crumbs.registration-breadcrumbs {
		display: flex;
	}

	.registration-top-content {
		width: calc(100% - 30px);
	}

	.registration-top-box-title {
		font-size: 20px;
		text-align: left;
	}

	.registration-top-note {
		font-size: 20px;
	}

	.registration-top-note .squeeze {
		letter-spacing: -0.2em;
	}

	.registration-save-section {
		margin-top: 0;
		margin-bottom: 0;
	}

	.registration-save-content {
		width: 100%;
	}

	.registration-save-wrap {
		padding: 57px 30px 62px 30px;
	}

	.registration-save-title {
		font-size: 20px;
		line-height: 30px;
		letter-spacing: 0.03em;
	}

	.registration-what-section {
		padding-top: 70px;
		padding-bottom: 94px;
	}

	.registration-what-content {
		width: calc(100% - 30px);
		margin: 0 auto;
	}

	.registration-what-note,
	.registration-what-text {
		text-align: left;
	}

	.registration-plans-image.mb {
		display: block;
	}

	.registration-plans-image.dt {
		display: none;
	}

	.registration-plans-box {
		width: 100%;
		padding: 25px 20px;
		margin-bottom: 20px;
	}

	.registration-rankup-box {
		width: 100%;
		padding: 30px 20px 42px 20px;
	}

	.registration-rankup-title {
		font-size: 25px;
		line-height: 35px;
		margin-left: 27px;
	}

	.registration-steps-box-title {
		top: -5px;
		font-size: 18px;
		line-height: 25px;
		letter-spacing: 0.03em;
		white-space: nowrap;
		padding: 0 9px;
	}

	.registration-steps-box {
		padding: 27px 20px 14px 20px;
	}

	.registration-steps-step {
		row-gap: 5px;
		flex-direction: column;
	}

	.registration-rank-periods-image {
		width: initial;
		max-width: unset;
	}

	.registration-rank-periods {
		width: 100%;
		display: block;
		overflow: auto;
		margin-top: 20px;
		padding-bottom: 5px;
		/* room for the scroller */
	}

	.registration-rank-periods-example.mb {
		display: flex;
		column-gap: 5px;
		align-items: flex-end;
		margin-top: 39px;
	}

	.registration-rank-periods-example.dt {
		display: none;
	}

	.registration-check-screens {
		display: flex;
		column-gap: 0;
		margin-left: 0;
		row-gap: 40px;
		flex-direction: column;
	}

	.registration-check-section {
		margin-top: 74px;
		margin-bottom: 100px;
	}

	.registration-check-screen-title:before,
	.registration-check-screen-title:after {
		height: 4px;
	}

	.registration-check-intro {
		margin-bottom: 33px;
	}

	.registration-guide-section {
		padding-top: 55px;
		padding-bottom: 69px;
	}

	.registration-guide-group {
		flex-direction: column;
	}

	.registration-guide-content {
		row-gap: 61px;
		column-gap: 0;
		flex-direction: column;
		width: calc(100% - 30px);
		padding-left: 10px;
	}

	.registration-guide-head-title {
		font-size: 20px;
	}

	.registration-guide-group-indented {
		margin-left: 20px;
	}

	.registration-guide-head {
		margin-bottom: 30px;
	}

	.registration-guide-list {
		margin-left: 15px;
	}

	.registration-guide-title {
		font-size: 17px;
		margin-bottom: 20px;
	}

	.registration-guide-text.mb-mgn-btm-7 {
		margin-bottom: 7px;
	}

	.registration-guide-text.mb-mgn-btm-14 {
		margin-bottom: 14px;
	}

	.registration-guide-note {
		margin-bottom: 20px;
	}

	.registration-guide-group-left {
		width: 100%;
	}

	body.page-template-page-registration .guide-nav-contact-button {
		margin: 70px auto;
	}

	body.page-template-page-registration .registration-what-section .guide-nav-contact-button {
		margin-bottom: 0;
		margin-top: 94px;
	}

	.guide-list-item-span-indent {
		display: inline-block;
		margin-left: 70px;
		font-size: 15px;
		letter-spacing: 0;
	}

	body.woocommerce-account .woocommerce {
		padding: 0 20px;
	}

	.static-content h2 {
		font-size: 24px;
	}

	.front-cta-boxes {
		display: block;
	}

	.front-cta-box {
		width: 100%;
	}

	.front-cta-box-image {
		margin: 10px auto;
	}

	body.home .d-flex.layout-wrap {
		margin-top: 0;
	}
}

/* TGE Work 20241005 */

.tone-login-members-only {
	width: 420px;
	height: auto;
	display: block;
	max-width: 100%;
	margin-top: 40px;
	filter: drop-shadow(0px 5px 20px rgba(0, 0, 0, 0.25));
}

#customer_login .u-column1 {
	padding: 32px 0;
}

#customer_login .u-column2 {
	padding: 32px 40px;
	margin-bottom: 120px;
	background: rgba(34 65 161 / 5%);
}

#customer_login .u-column1 h2,
#customer_login .u-column2 h2 {
	text-align: center;
	padding-bottom: 9px;
	border-bottom: 1px solid #2454A1;
}

#customer_login form label {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4em;
	font-family: 'NotoSansJP';
	margin-bottom: 7px;
}
#customer_login form label .oc-company-label-note {
	color: #747474;
	font-size: 13px;
}

.woocommerce-form-register input[type=text],
.woocommerce-form-register input[type=number],
.woocommerce-form-register input[type=email],
.woocommerce-form-register input[type=tel],
.woocommerce-form-register input[type=url],
.woocommerce-form-register input[type=password],
.woocommerce-form-register input[type=search],
.woocommerce-form-register textarea,
.woocommerce-form-register .input-text {
	font-weight: 400;
	padding: .6180469716em;
	background-color: #fff;
	color: #282828;
	border: 0;
	-webkit-appearance: none;
	box-sizing: border-box;
	box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.1);
}
.woocommerce-form-register select.state_select {
	height: 46px;
	padding: 0 7px;
	border: none;
}
.woocommerce-form-register select.state_select:focus {
	outline: 2px solid #7f54b3;
}
.woocommerce-form-register #reg_address_field {
	margin-bottom: 10px;
}

.woocommerce-form-register .form-row-w72pct {
	width: 72%;
}

.woocommerce-form-register .form-row-w86pct {
	width: 86%;
}

.woocommerce-form-register .form-row.oc-reg-input-invalid .input-text {
	border: 1px solid #ff0000;
}

.woocommerce-form-register .oc-error-message {
	color: #ff0000;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4em;
	font-family: 'NotoSansJP';
	margin-top: 5px;
	display: block;
}

.afreg_extra_fields .reg-form-group,
.woocommerce-form-register .reg-form-group {
	display: flex;
	align-items: center;
	justify-content: space-between;
	column-gap: 40px;
}

.afreg_extra_fields .reg-form-group .form-row,
.woocommerce-form-register .reg-form-group .form-row {
	flex: 0 0 calc((100% - 40px) / 2);
}