/* layout */
.lower-sec {
	padding: 80px 5%;
	color: #ffffff;
}
.sec-inner {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}

.sec-cont {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 50px;
}

@media (max-width: 768px) {
	.lower-sec {
		padding: 60px 5%;
	}
}

/* heading */

.ec-h2 {
	text-align: center;
	font-size: 40px;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.04em;
	font-family: "Shippori Mincho", serif;
}

.ec-h3 {
	width: auto;
	position: relative;
	font-size: 28px;
	font-family: "Shippori Mincho", serif;
	line-height: 1.5;
	color: #ffffff;
	letter-spacing: 0.04em;
	font-weight: 400;
	padding-left: 10px;
	border-left: 1.5px solid #fff;
}
.tb-mode-light .ec-h3 {
	color: #090d10;
	border-left: 1.5px solid #090d10;
}
@media (max-width: 768px) {
	.ec-h2 {
		font-size: 26px;
	}
	.ec-h3 {
		font-size: 22px;
	}
}

/* table */

.c-tbl-wrapper {
	width: 100%;
	position: relative;
}
.c-tbl {
	width: 100%;
}
.tb-mode-light .c-tbl {
	color: #111;
}
.tb-mode-dark .c-tbl {
	color: #fff;
}
.c-tbl > thead tr {
	background: #8a8b56;
}
.c-tbl > thead th {
	color: #fff;
	padding: 10px 40px;
	font-size: 15px;
	font-weight: 400;
}
.c-tbl > tbody th,
.c-tbl > tbody td {
	font-size: 14px;
	padding: 20px;
	border-bottom: 1px solid;
	line-height: 1.4;
}

.tb-mode-light .c-tbl > tbody th,
.tb-mode-light .c-tbl > tbody td {
	border-color: rgb(17 17 17 / 20%);
}
.tb-mode-dark .c-tbl > tbody th,
.tb-mode-dark .c-tbl > tbody td {
	border-color: rgb(255 255 255 / 20%);
}
.c-tbl > tbody th {
	font-weight: 500;
}
/* postage table */
.c-tbl.postage-tbl > tbody th br,
.c-tbl.postage-tbl > tbody td br {
	display: none;
}
.c-tbl.postage-tbl > thead th:nth-of-type(1) {
	width: 220px;
}
/* tradelaw table */
.c-tbl.tradelaw-tbl {
	max-width: 750px;
	margin: 0 auto;
}
.c-tbl.tradelaw-tbl > tbody th:nth-of-type(1) {
	width: 190px;
}
/* cart table */
.c-tbl.cart-tbl > thead th {
	text-wrap: nowrap;
	padding: 10px;
}
.c-tbl.cart-tbl > thead th:nth-of-type(1) {
	width: 5.45%;
}
.c-tbl.cart-tbl > thead th:nth-of-type(2) {
	width: 15.9%;
}
.c-tbl.cart-tbl > thead th:nth-of-type(3) {
	width: 30.9%;
}
.c-tbl.cart-tbl > thead th:nth-of-type(4) {
	width: 15.6%;
}
.c-tbl.cart-tbl > thead th:nth-of-type(4) {
	width: 16.9%;
}
.c-tbl.cart-tbl > thead th:nth-of-type(6) {
	width: 12%;
}

/* scroll hint */
.scroll-hint-area {
	display: none;
}
.scroll-hint {
	display: flex;
	position: absolute;
	top: -50px;
	right: 20px;
	width: 66px;
	height: auto;
	aspect-ratio: 66 / 64;
	pointer-events: none;
	animation: move-hand 2s infinite ease-in-out;
}

.scroll-hint::after {
	content: "";
	position: relative;
	display: flex;
	width: 66px;
	height: auto;
	aspect-ratio: 66 / 64;
	background-image: url("../img/common/icon-hand.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}

@keyframes move-hand {
	0% {
		transform: translateX(0);
	}
	50% {
		transform: translateX(30px);
	}
	100% {
		transform: translateX(0);
	}
}

@media (max-width: 768px) {
	.c-tbl-wrapper {
		width: 100%;
		position: relative;
		overflow-x: auto;
		overflow-y: hidden;
		padding-bottom: 10px;
	}
	.c-tbl {
		width: 100%;
		max-width: 768px;
		min-width: 700px;
	}

	/* postage table */
	.c-tbl.postage-tbl > tbody th br,
	.c-tbl.postage-tbl > tbody td br {
		display: inline;
	}
	.c-tbl.postage-tbl > thead th:nth-of-type(1) {
		width: 145px;
	}

	/* tradelaw table */
	.c-tbl.tradelaw-tbl {
		min-width: 500px;
	}
	.c-tbl.tradelaw-tbl > tbody th:nth-of-type(1) {
		width: 150px;
	}

	/* cart table */

	.c-tbl.tradelaw-tbl {
		max-width: 1000px;
		min-width: 800px;
	}

	.scroll-hint-area {
		display: flex;
		width: 100%;
		position: relative;
		z-index: 50;
	}
}

/* select box */
.c-select {
	display: flex;
	align-items: center;
	position: relative;
}
.c-select::after {
	position: absolute;
	right: 15px;
	width: 13px;
	height: auto;
	aspect-ratio: 13 / 8;
	background-image: url("../img/common/icon-chevron-down.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	pointer-events: none;
}
.c-select > select {
	appearance: none;
	width: 110px;
	height: 48px;
	padding: 4px 30px 4px 8px;
	border: 1px solid #fff;
	border-radius: 3px;
	background-color: #fff;
	color: #111;
	font-size: 16px;
	cursor: pointer;
}

/* button */
.btn-box {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.btn-box.btn-box-2col {
	gap: 40px;
}
.btn {
	width: 240px;
	height: 48px;
	border-radius: 3px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 18px;
	line-height: 1;
	overflow: hidden;
	position: relative;
	cursor: pointer;
	transition: all ease 0.33s;
}
.btn.btn-outline {
	border: 1px solid;
}
.btn.btn-icon-plus::before {
	position: absolute;
	left: 15px;
	width: 16px;
	height: auto;
	aspect-ratio: 1 / 1;
	background-image: url("../img/common/icon-plus.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	pointer-events: none;
}
.btn.btn-arrow {
	overflow: visible;
}
.btn.btn-arrow::before {
	position: absolute;
	left: calc(100% - 32px);
	width: 78px;
	margin-bottom: 5px;
	height: auto;
	aspect-ratio: 78 / 6;
	background-image: url("../img/common/icon-long-arrow.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	pointer-events: none;
	transition: all ease 0.33s;
}
.btn-arrow.btn-arrow-left::before {
	transform: scaleX(-1);
	left: auto;
	right: calc(100% - 32px);
}

.btn.btn-primary {
	background: #8a8b56;
	color: #fff;
}
.btn.btn-primary:hover {
	background: #5b5c2d;
}
.btn.btn-dark {
	background: #090d11;
	color: #fff;
}
.btn.btn-dark:hover {
	background: #333;
}
.btn.btn-outline:hover {
	background: #fff;
	color: #090d11;
	font-weight: bold;
}
.btn.btn-arrow:hover::before {
	left: calc(100% - 22px);
}

.btn-arrow.btn-arrow-left:hover::before {
	left: auto;
	right: calc(100% - 22px);
}

.icon-btn {
	width: 30px;
	height: auto;
	aspect-ratio: 1 / 1;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	position: relative;
}
.icon-btn::before {
	content: "";
	width: 100%;
	height: 100%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}
.icon-btn.icon-btn-tel::before {
	background-image: url("../img/common/icon-tel.svg");
}
.icon-btn.icon-btn-cart::before {
	background-image: url("../img/common/icon-cart.svg");
}

@media (max-width: 768px) {
	.btn {
		font-size: 16px;
	}
}

/* Modal */
[x-cloak] {
	display: none !important;
}
.not-scroll {
	touch-action: none;
	overflow: hidden;
}
.no-scroll-bar::-webkit-scrollbar {
	display: none;
}
.modal-area {
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: 999999;
	display: flex;
	height: 100%;
	width: 100%;
	align-items: center;
	justify-content: center;
}

.modal-inner {
	position: absolute;
	left: 0px;
	right: 0px;
	top: 50%;
	z-index: 10;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	height: 100%;
	width: 100%;
	transform: translateY(-50%);
	align-items: center;
	justify-content: center;
}

.modal-body {
	position: relative;
	width: 80%;
	height: auto;
	max-width: 1100px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fefefe;
}

.modal-bg {
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: 0;
	display: flex;
	height: 100%;
	width: 100%;
	align-items: center;
	justify-content: center;
	background-color: #111;
	opacity: 0.6;
}
.modal-close {
	position: absolute;
	width: 26px;
	height: auto;
	aspect-ratio: 1 / 1;
	cursor: pointer;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	bottom: calc(100% + 20px);
	right: 0;
}
.modal-close::after {
	content: "";
	width: 26px;
	height: auto;
	aspect-ratio: 1 / 1;
	display: block;
	background-image: url("../img/common/icon-close.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}
.modal-contents {
	width: 100%;
	height: 100%;
	padding: 40px 50px;
	overflow: hidden;
}
.btn-modal-open {
	cursor: pointer;
}
@media (max-width: 768px) {
	.modal-body {
		width: 90%;
	}

	.modal-contents {
		padding: 30px;
	}
}

/* fixed cart */
.fixed-cart-box {
	position: fixed;
	right: 0;
	bottom: 50px;
	z-index: 80;
	background: #fff;
	padding: 34px 30px;
	width: 300px;
	overflow: hidden;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 20px;
}
.fixed-cart-item-list {
	width: 100%;
	display: flex;
	flex-flow: column;
	gap: 10px;
	padding-bottom: 17px;
	border-bottom: 1px solid rgb(17 17 17 / 20%);
}
.fixed-cart-item {
	width: 100%;
	display: flex;
	flex-flow: column;
	gap: 9px;
	align-items: flex-end;
}
.fci-name {
	width: 100%;
	font-size: 16px;
	font-weight: 400;
}
.fci-price {
	width: 100%;
	text-align: right;
	font-size: 32px;
	margin-bottom: 5px;
	font-weight: 400;
	font-family: "Inter", sans-serif;
}
.fci-price > span {
	font-size: 18px;
}
.fci-note {
	width: 100%;
	text-align: right;
	font-size: 16px;
}
.btn-group {
	width: 100%;
	display: flex;
	flex-flow: column;
	gap: 10px;
}

@media (max-width: 768px) {
	.fixed-cart-box {
		bottom: 0;
		padding: 13px 20px;
		width: 60%;
		gap: 12px;
	}
	.fixed-cart-item-list {
		padding-bottom: 10px;
		gap: 5px;
	}
	.fixed-cart-item {
		gap: 5px;
	}
	.fci-name {
		font-size: 13px;
	}
	.fci-price {
		font-size: 18px;
		margin-bottom: 0;
	}
	.fci-price > span {
		font-size: 10px;
	}
	.fci-note {
		font-size: 12px;
	}
	.fixed-cart-box > form {
		width: 100%;
	}
	.fixed-cart-box > form .btn {
		font-size: 14px;
		width: 100%;
		height: 36px;
	}
}

/* header */
header {
	width: 100%;
	height: 90px;
	color: #fff;
	display: flex;
	border-bottom: 1px solid #fff;
	padding: 0 5%;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
}
.header-inner {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 1100px;
	gap: 50px;
}
.header-ttl {
	font-size: 36px;
	font-weight: 400;
	line-height: 1;
	font-family: "Shippori Mincho", serif;
	flex-shrink: 0;
}
.header-contents {
	width: auto;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 20px;
}
.header-tel-box {
	display: flex;
	flex-flow: column;
	gap: 3px;
	align-items: center;
}
.header-tel {
	display: flex;
	align-items: center;
	gap: 5px;
	font-family: "Inter", sans-serif;
	font-size: 24px;
	font-weight: bold;
	line-height: 1;
}
.header-tel::before {
	position: relative;
	width: 24px;
	height: auto;
	aspect-ratio: 1 / 1;
	background-image: url("../img/common/icon-tel.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	pointer-events: none;
}
.header-tel-note {
	width: 100%;
	text-align: center;
	font-family: "Inter", "Noto Sans JP", sans-serif;
	font-size: 13px;
	font-weight: 500;
}
.header-contents > .btn {
	width: 200px;
	height: 44px;
	font-size: 16px;
}

.header-sp-btns {
	display: none;
}
@media (max-width: 768px) {
	header {
		height: 70px;
		padding: 0 20px;
	}
	.header-contents {
		display: none;
	}
	.header-sp-btns {
		display: flex;
		align-items: center;
		gap: 18px;
	}
	.header-ttl {
		font-size: 26px;
	}
}

/* Products */
.products-grid-group {
	width: 100%;
	display: flex;
	flex-flow: column;
	gap: 30px;
	padding: 0 20px;
}
.products-grid {
	width: 100%;
	display: grid;
	margin: 0 auto;
	overflow: hidden;
	gap: 30px;
}
.products-grid.pg-col-2 {
	grid-template-columns: repeat(2, 1fr);
	max-width: 984px;
}
.products-grid.pg-col-3 {
	grid-template-columns: repeat(3, 1fr);
	max-width: 1200px;
}
.products-grid-item {
	width: 100%;
	display: flex;
	flex-flow: column;
	overflow: hidden;
	padding: 40px 5%;
	border: 1px solid #fff;
	gap: 40px;
	align-items: center;
	justify-content: space-between;
}
.product-item-main {
	width: 100%;
	display: flex;
	flex-flow: column;
	gap: 15px;
	align-items: center;
}
.products-grid-item > .product-item-main > figure {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	height: auto;
	aspect-ratio: 600 / 750;
	position: relative;
}
.products-grid-item > .product-item-main > figure > img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.txt-comming-soon {
	position: absolute;
	z-index: 10;
	background: #000;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	opacity: 0.7;
	font-size: 30px;
	font-weight: 300;
	line-height: 1;
}
.product-item-body {
	width: 100%;
	display: flex;
	flex-flow: column;
	gap: 36px;
	align-items: center;
}
.product-ttl-box {
	width: 100%;
	display: flex;
	justify-content: space-between;
	gap: 15px;
	font-size: 16px;
	font-weight: bold;
	font-family: "Shippori Mincho", serif;
	padding: 0 15px;
	flex-wrap: wrap;
}
.product-txt {
	width: 100%;
	text-align: center;
	line-height: 2;
	font-size: 16px;
	font-weight: bold;
	font-family: "Noto Sans JP", sans-serif;
}
.product-price {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	font-family: "Shippori Mincho", serif;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.add-top-cart-box {
	width: 100%;
	max-width: 240px;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 15px;
}
.select-quantity-box {
	width: 100%;
	display: flex;
	justify-content: space-between;
	gap: 20px;
	align-items: center;
}
.select-quantity-box > span {
	font-size: 18px;
	flex-shrink: 0;
	line-height: 1;
	letter-spacing: 0.05em;
}

@media (max-width: 999px) {
	.products-grid.pg-col-3 {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 768px) {
	.products-grid.pg-col-2 {
		grid-template-columns: repeat(1, 1fr);
	}
	.products-grid.pg-col-3 {
		grid-template-columns: repeat(1, 1fr);
	}
	.products-grid-item {
		max-width: 480px;
		margin: 0 auto;
		padding: 20px;
	}
	.product-txt {
		font-size: 14px;
	}
}

.postage-tbl-area {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	display: flex;
	flex-flow: column;
}
.products-grid-group > .postage-tbl-area {
	margin-top: 30px;
}
.postage-tbl-area > .ec-h3 {
	margin-bottom: 20px;
}

/* step contents */
.step-contents {
	width: 100%;
	max-width: 675px;
	margin: 0 auto;
	color: #fff;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	gap: 58px;
}
.step-item {
	width: 82px;
	display: flex;
	flex-flow: column;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	position: relative;
}
.step-item::after {
	content: "";
	width: 140px;
	background: #fff;
	height: 1px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 100%;
}
.step-item:last-of-type:after {
	content: none;
}
.step-num {
	width: 100%;
	text-align: center;
	font-size: 16px;
	font-family: "Inter", sans-serif;
	letter-spacing: 0;
	position: relative;
	z-index: 10;
}
.step-icon {
	width: 82px;
	height: auto;
	aspect-ratio: 1 / 1;
	border-radius: 999px;
	background: #090d10;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid #fff;
	flex-shrink: 0;
	overflow: hidden;
	margin-bottom: 5px;
	position: relative;
	z-index: 10;
}
.step-item.is-current-step > .step-icon {
	background: #8a8b56;
	border: 1px solid #8a8b56;
}
.step-ttl {
	font-size: 16px;
	text-align: center;
	width: 100%;
	flex-shrink: 0;
	line-height: 1;
	text-wrap: nowrap;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	z-index: 10;
}
.step-ttl br {
	display: none;
}

@media (max-width: 768px) {
	.step-contents {
		max-width: 400px;
		gap: 30px;
	}
	.step-item {
		width: 60px;
		gap: 10px;
	}
	.step-item::after {
		width: 80px;
	}
	.step-num {
		font-size: 12px;
		margin-bottom: 7px;
	}
	.step-icon {
		width: 60px;
		margin-bottom: 0px;
	}
	.step-icon > img {
		height: 22px;
		max-width: 20px;
	}
	.step-ttl {
		font-size: 12px;
		line-height: 1.2;
	}
	.step-ttl br {
		display: inline;
	}
}

/* cart */
.cart-tbl-area {
	width: 100%;
	margin: 0 auto;
	display: flex;
	flex-flow: column;
}
.cart-tbl-img {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	height: auto;
	aspect-ratio: 600 / 750;
	position: relative;
	max-width: 115px;
}
.cart-tbl-img > img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.cart-tbl-links {
	width: auto;
	display: flex;
	justify-content: flex-end;
	gap: 20px;
	align-items: center;
	color: #fff;
	margin-bottom: 30px;
}
.cart-tbl-links > a {
	line-height: 1;
	font-size: 16px;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	text-decoration: underline;
	text-underline-offset: 4px;
	padding-right: 10px;
}
.cart-tbl-links > a::after {
	content: "/";
	position: absolute;
	right: -10px;
}
.cart-tbl-links > a:last-of-type::after {
	content: none;
}
.cart-tbl-ttl {
	font-size: 16px;
}
.cart-tbl-quantity-btn-box {
	width: 110px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 18px;
	overflow: hidden;
	margin: 0 auto;
}
.quantity-btn {
	width: 30px;
	height: auto;
	aspect-ratio: 1 / 1;
	display: flex;
	justify-content: center;
	align-items: center;
	background: rgb(255 255 255 / 65%);
	border-radius: 4px;
	line-height: 1;
}
.quantity-btn.quantity-btn-disabled {
	background: rgb(255 255 255 / 40%);
}
.quantity-count {
	width: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-size: 16px;
}

.cart-tbl-price {
	font-size: 16px;
	font-weight: 400;
	font-family: "Inter", sans-serif;
	text-wrap: nowrap;
}
.cart-tbl-price > span {
	font-size: 12px;
}
.btn-delete {
	text-decoration: underline;
	text-underline-offset: 4px;
	font-size: 16px;
	text-align: center;
	color: #999;
}
.cart-total-area {
	margin-top: 40px;
	color: #fff;
	display: flex;
	flex-flow: column;
	align-items: flex-end;
	gap: 25px;
}
.cart-total {
	display: flex;
	align-items: baseline;
	gap: 20px;
}
.cart-total-ttl {
	font-size: 16px;
}
.cart-total-price {
	font-size: 24px;
	font-family: "Inter", sans-serif;
	font-weight: 400;
}
.cart-total-price > span {
	font-size: 14px;
}
.cart-total-note {
	font-size: 16px;
}
.cart-total-note strong {
	font-size: 20px;
}
.cart-total-area .btn-box {
	justify-content: flex-end;
}
.cart-total-area .btn-box .btn {
	width: 200px;
	height: 44px;
	font-size: 16px;
}
.sp-postage {
	display: none;
}
@media (max-width: 768px) {
	#cart .sec-cont {
		gap: 80px;
	}
	#checkout .sec-cont {
		gap: 80px;
	}
	#review_order .sec-cont {
		gap: 80px;
	}
	.cart-tbl-links {
		display: none;
	}
	.btn-delete {
		font-size: 14px;
		text-wrap: nowrap;
	}

	.cart-total-area {
		margin-top: 20px;
		align-items: center;
		gap: 15px;
	}
	.cart-total {
		gap: 8px;
	}
	.cart-total-ttl {
		font-size: 15px;
	}
	.cart-total-price {
		font-size: 22px;
	}
	.cart-total-price > span {
		font-size: 12px;
	}
	.cart-total-note {
		font-size: 13px;
	}
	.cart-total-note strong {
		font-size: 14px;
	}
	.cart-total-area .btn-box {
		justify-content: center;
		margin-top: 15px;
	}

	.sp-postage {
		display: block;
		width: 100%;
	}
}

/* form */
.form-area {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 70px;
	color: #fff;
}
.form-area > .ec-h3 {
	width: 100%;
}
.c-form {
	width: 100%;
	position: relative;
}
.c-form-group {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: flex-start;
	gap: 30px;
}
.c-form-group > dl {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 20px;
}
.c-form-group > dl > dt {
	width: 32.7%;
	flex-shrink: 0;
	max-width: 360px;
}
.c-form-group > dl.dl-payment-select > dt {
	width: 250px;
	max-width: 250px;
}
.c-form-group > dl > dd {
	width: 100%;
}
.c-form-ttl-box {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.c-form-ttl {
	font-size: 18px;
	font-weight: 400;
}
.badge-required {
	width: 54px;
	height: 26px;
	font-size: 14px;
	background: #8a8b56;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	border-radius: 3px;
	line-height: 1;
	flex-shrink: 0;
	font-weight: 400;
}
.c-form-input-box {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 10px;
}
.c-form-input-box > input {
	width: 100%;
	padding: 14px 20px;
	font-size: 16px;
	height: 50px;
	background: #ffffff;
	border-radius: 3px;
	color: #090d11;
}
.c-form-input-box.c-form-input-box-sm > input {
	width: 200px;
}
.c-form-input-box.c-form-input-box-xs > input {
	width: 80px;
}
.c-form-input-box.c-form-input-box-xs > span {
	font-size: 18px;
}

.c-form-input-box > input::placeholder {
	color: #ccc;
}

.c-radio > input[type="radio"] {
	display: none;
}
.c-radio > span {
	cursor: pointer;
	display: flex;
	position: relative;
	align-items: center;
	padding-left: 40px;
	font-size: 18px;
	font-weight: 400;
}
.c-radio > span > br {
	display: none;
}

.c-radio > input[type="radio"]:checked + span::after {
	opacity: 1;
}
.c-radio > span::before {
	content: "";
	display: block;
	width: 20px;
	height: auto;
	aspect-ratio: 1 / 1;
	position: absolute;
	left: 0;
	border: 1px solid #8a8b56;
	background: #fff;
	border-radius: 999px;
}

.c-radio > span::after {
	content: "";
	display: flex;
	width: 12px;
	height: auto;
	aspect-ratio: 1 / 1;
	border-radius: 999px;
	background: #8a8b56;
	position: absolute;
	left: 4px;
	opacity: 0;
}

.c-form-payment-img-box {
	width: auto;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	justify-content: flex-start;
}
.c-form-payment-img-box > img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: left;
}

.acc-panel {
	width: 100%;
}
.acc-panel-inner {
	border-top: 1px solid #fff;
	padding-top: 30px;
	padding-bottom: 30px;
}
.acc-panel-inner .c-form-ttl-box {
	justify-content: flex-end;
	gap: 40px;
}

@media (max-width: 768px) {
	.form-area {
		gap: 30px;
	}
	.c-form-group {
		gap: 24px;
	}
	.c-form-group > dl {
		gap: 12px;
		flex-flow: column;
		align-items: flex-start;
	}
	.c-form-group > dl > dt {
		width: 100%;
		max-width: none;
	}
	.c-form-ttl-box {
		justify-content: flex-start;
		gap: 14px;
	}
	.acc-panel-inner .c-form-ttl-box {
		justify-content: flex-start;
		gap: 14px;
	}
	.c-form-ttl {
		font-size: 16px;
	}
	.badge-required {
		width: 48px;
		height: 24px;
	}
	.c-form-input-box > input {
		padding: 14px 10px;
	}
	.form-area .btn-box {
		margin-top: 30px;
	}
	.form-area .btn-box.btn-box-2col {
		flex-flow: column-reverse;
		gap: 15px;
	}

	.c-form-group > dl.dl-payment-select {
		flex-flow: row;
		align-items: center;
	}
	.c-form-group > dl.dl-payment-select > dt {
		width: 170px;
		max-width: none;
	}
	.c-radio > span {
		padding-left: 35px;
		font-size: 16px;
	}
	.c-radio > span::before {
		width: 18px;
	}
	.c-radio > span::after {
		width: 10px;
	}
	.c-form-payment-img-box {
		height: 24px;
	}
	.c-radio > span > br {
		display: inline;
	}
}

/* review-order */
.review-order-tbl-area {
	width: 100%;
	margin: 0 auto;
	margin-bottom: 30px;
	display: flex;
	flex-flow: column;
}
.review-order-tbl-area > .ec-h3 {
	margin-bottom: 30px;
}
.review-order-tbl-area > .c-tbl-wrapper {
	display: flex;
	flex-flow: column;
	gap: 57px;
}
.c-tbl.review-order-tbl > thead > tr {
	background: transparent;
	border-bottom: 1px solid rgb(255 255 255 / 20%);
}
.c-tbl.review-order-tbl > thead th {
	padding: 20px;
}

.c-tbl.review-order-total-tbl > tbody td {
	vertical-align: middle;
}
.customer-tbl-area {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 100px;
	margin-bottom: 30px;
	overflow: hidden;
}
.customer-tbl-col {
	width: 100%;
	margin: 0 auto;
	display: flex;
	flex-flow: column;
	gap: 30px;
	overflow: hidden;
}
.c-tbl.customer-tbl > tbody > tr th {
	width: 145px;
}

.caution-box {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 16px;
	background: #fff;
	color: #111;
	padding: 25px 25px 48px;
}
.caution-box > h3 {
	width: 100%;
	max-width: 723px;
	font-size: 24px;
	font-weight: 400;
	line-height: 1;
	font-family: "Shippori Mincho", serif;
	flex-shrink: 0;
	text-align: center;
	padding-bottom: 13px;
	border-bottom: 1px solid rgb(0 0 0 / 20%);
}
.caution-box > div {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 20px;
}
.caution-box > div > p {
	font-size: 16px;
	font-weight: 400;
	text-align: center;
	line-height: 1.4;
}
.caution-box > div > p strong {
	font-weight: bold;
}

@media (max-width: 768px) {
	.review-order-tbl-area {
		margin-bottom: 0px;
	}
	.customer-tbl-area {
		grid-template-columns: repeat(1, 1fr);
		gap: 40px;
		margin-bottom: 0;
	}
	#review_order .sec-cont .btn-box.btn-box-2col {
		gap: 15px;
		flex-flow: column-reverse;
	}
	.caution-box > h3 {
		font-size: 22px;
	}
	.caution-box {
		padding: 20px 20px 35px;
	}
}

/* order complete */
#order_complete .sec-cont {
	gap: 80px;
}
.thanks-msg-area {
	width: 100%;
	margin: 0 auto;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 70px;
}
.thanks-msg-box {
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 30px;
	text-align: center;
}
.thanks-msg-box > h3 {
	display: flex;
	justify-content: center;
	align-items: center;
	width: max-content;
	font-size: 28px;
	font-weight: 400;
	padding: 0 10px;
	margin: 0 auto;
	line-height: 1;
	font-family: "Shippori Mincho", serif;
	flex-shrink: 0;
	text-align: center;
	padding-bottom: 13px;
	border-bottom: 1px solid #fff;
}
.thanks-msg-box > h3 br {
	display: none;
}
.thanks-msg-box > p {
	width: 100%;
	text-align: center;
	font-size: 16px;
}

@media (max-width: 768px) {
	.thanks-msg-area {
		gap: 40px;
	}
	.thanks-msg-box {
		gap: 30px;
	}
	.thanks-msg-box > h3 {
		font-size: 22px;
		line-height: 1.6;
	}
	.thanks-msg-box > h3 br {
		display: inline;
	}
}

/* 2025.06.06 */
@media (max-width: 768px) {
	.fv__ttl-box-txt > a {
		margin: 0;
	}
	.fv__ttl-box-txt > a {
		color: transparent;
		width: 30px;
		height: auto;
		aspect-ratio: 1 / 1;
		display: flex;
		justify-content: center;
		align-items: center;
		overflow: hidden;
		position: relative;
	}
	.fv__ttl-box-txt > a::before {
		content: "";
		width: 100%;
		height: 100%;
		background-image: url("../img/common/icon-tel.svg");
		background-position: center;
		background-repeat: no-repeat;
		background-size: contain;
		position: absolute;
	}
}
