/* reset css */
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
	all: unset;
	display: revert;
}

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

/* Reapply the pointer cursor for anchor tags */
a,
button {
	cursor: pointer;
}

/* a:visited {
	color: #333;
} */

a:hover {
	color: #389938;
}

/* Remove list styles (bullets/numbers) */
ol,
ul,
menu {
	list-style: none;
}

/* For images to not be able to exceed their container */
img {
	max-inline-size: 100%;
	max-block-size: 100%;
	aspect-ratio: attr(width) / attr(height);
}

/* removes spacing between cells in tables */
table {
	border-collapse: collapse;
}

/* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
input,
textarea {
	-webkit-user-select: auto;
}

/* revert the 'white-space' property for textarea elements on Safari */
textarea {
	white-space: revert;
}

/* minimum style to allow to style meter element */
meter {
	-webkit-appearance: revert;
	appearance: revert;
}

/* preformatted text - use only for this feature */
:where(pre) {
	all: revert;
}

/* reset default text opacity of input placeholder */
::placeholder {
	color: unset;
}

/* remove default dot (•) sign */
::marker {
	content: initial;
}

/* fix the feature of 'hidden' attribute.
   display:revert; revert to element instead of attribute */
:where([hidden]) {
	display: none;
}

/* revert for bug in Chromium browsers
   - fix for the content editable attribute will work properly.
   - webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element*/
:where([contenteditable]:not([contenteditable="false"])) {
	-moz-user-modify: read-write;
	-webkit-user-modify: read-write;
	overflow-wrap: break-word;
	-webkit-line-break: after-white-space;
	-webkit-user-select: auto;
}

/* apply back the draggable feature - exist only in Chromium and Safari */
:where([draggable="true"]) {
	-webkit-user-drag: element;
}

/* Revert Modal native behavior */
:where(dialog:modal) {
	all: revert;
}

/* reset css end */

* {
	min-width: 0;
	min-height: 0;
}

body {
	margin: 0;
	padding: 0;
	font-family: "Helvetica Neue", "Helvetica", "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
	line-height: 1.5;
	letter-spacing: 0.05em;
	font-size: 1.3rem;
	font-weight: inherit;
	color: #333;
	background: none;
}

p,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
li,
a,
dl,
dd {
	margin: 0;
	padding: 0;
}

ul,
li {
	list-style: none;
}

/* p,
h1,
h2,
h3,
h4,
h5,
ul,
li,
a,
div {
	color: #333;
} */

.flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.flex_r {
	flex-direction: row-reverse;
}

.relative {
	position: relative;
}

.absolute {
	position: absolute;
}

div img {
	width: 100%;
	/* max-width: max-content; */
	height: auto;
	-o-object-fit: contain;
	object-fit: contain;
	vertical-align: top;
}

header {
	width: auto;
	margin: auto;
}


@media screen and (max-width: 640px) {
	.pc {
		display: none;
	}
}

.sp {
	display: none;
}

@media screen and (max-width: 640px) {
	.sp {
		display: block;
	}
}

.btn_pcl_spl {
	text-align: left;
}

.btn_pcl_spc {
	text-align: left;
}

.btn_pcc_spc {
	text-align: center;
}

.btn_pcr_spr {
	text-align: right;
}

.btn_pcr_spc {
	text-align: right;
}

@media(width <=640px) {

	.btn_pcl_spc,
	.btn_pcr_spc {
		text-align: center;
	}
}

a {
	.hover {
		transition: 0.1s;

		&:hover {
			opacity: 0.9;
		}
	}
}


/* マージン */
.mb0 {
	margin-bottom: 0px;
}

.mb5 {
	margin-bottom: 5px;
}

.mb10 {
	margin-bottom: 10px;
}

.mb15 {
	margin-bottom: 15px;
}

.mb20 {
	margin-bottom: 20px;
}

.mb25 {
	margin-bottom: 25px;
}

.mb30 {
	margin-bottom: 30px;
}

.mb40 {
	margin-bottom: 40px !important;
}

.mt0 {
	margin-top: 0px;
}

.mt5 {
	margin-top: 5px;
}

.mt10 {
	margin-top: 10px;
}

.mt15 {
	margin-top: 15px;
}

.mt20 {
	margin-top: 20px;
}

.mt25 {
	margin-top: 25px;
}

.mt30 {
	margin-top: 30px;
}

.ml0 {
	margin-left: 0px;
}

.ml5 {
	margin-left: 5px;
}

.ml10 {
	margin-left: 10px;
}

.ml15 {
	margin-left: 15px;
}

.ml20 {
	margin-left: 20px;
}

.ml25 {
	margin-left: 25px;
}

.ml30 {
	margin-left: 30px;
}

.mr0 {
	margin-right: 0px;
}

.mr5 {
	margin-right: 5px;
}

.mr10 {
	margin-right: 10px;
}

.mr15 {
	margin-right: 15px;
}

.mr20 {
	margin-right: 20px;
}

.mr25 {
	margin-right: 25px;
}

.mr30 {
	margin-right: 30px;
}

.pt10 {
	padding-top: 10px;
}

/* ボーダー */
.bt1 {
	border-top: 1px solid #bbbbbb;
}


/* メインリンクボタン */
.btn_green {
	display: inline-block;
	margin: 15px 0;
}

.btn_green a {
	border: 1px solid #409988;
	padding: 10px 30px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-radius: 30px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	text-decoration: none;
	color: #409988;
	font-size: 1.4rem;
	display: block;
	transition: 0.3s;

	&:hover {
		color: #fff;
		background-color: #409988;
	}

	&:after {
		content: "";
		display: inline-block;
		width: 6px;
		height: 10px;
		background-image: url(https://www.mamoru-k.com/img/n_arrow-green.webp);
		background-size: contain;
		background-repeat: no-repeat;
		margin-left: 10px;
	}
}

.top-head {
	/* min-width: 1200px; */
	padding-top: 1px;
	background-color: #389938;
}

@media screen and (max-width: 640px) {
	.top-head {
		min-width: 100%;
	}
}

.top-head .inner {
	max-width: 1200px;
	text-align: left;
	margin: 0 auto;
	padding: 1px 0 2px 0px;
}

.top-head .inner h1 {
	color: #fff;
	font-size: 1.0rem;
	font-weight: normal;
	line-height: 1.3;
	letter-spacing: 0.05em;
}

@media screen and (max-width: 640px) {
	.top-head {
		padding: 2px 0.3em;
	}
}

.top-cont {
	width: 1200px;
	height: 71px;
	margin: 0 auto;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 3px 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

@media screen and (max-width: 640px) {
	.top-cont {
		width: 100%;
		height: auto;
	}
}

.top-cont .logo {
	width: 160px;
	height: 65px;
	margin-right: 20px;
}

@media screen and (max-width: 640px) {
	.top-cont .logo {
		width: 100%;
		height: auto;
		margin-right: 0px;
	}

	.top-cont .logo img {
		width: 100%;
		height: auto;
	}
}

.top-cont .item {
	height: 54px;
}

.top-cont>div:nth-child(2),
.top-cont>div:nth-child(5) {
	width: 91px;
}

.top-cont>div:nth-child(3) {
	width: 82px;
}

.top-cont>div:nth-child(4) {
	width: 84px;
}

.top-cont>div:nth-child(6) {
	width: 70px;
}

.top-cont>div:nth-child(7) {
	width: 94px;
}

.top-cont .tel {
	width: 268px;
	height: 54px;
	margin: auto;
}

.top-cont .item {
	margin-right: 6px;
}

.top-cont .item:nth-child(6) {
	margin-right: 5px;
}

.top-cont .item a:hover {
	opacity: 0.8;
}

.top-cont .item.border {
	border-right: 1px solid #C0C0C0;
	border-left: 1px solid #C0C0C0;
}

.top-cont .item.mini {
	padding: 5px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0;
	width: 60px;
	text-align: center;
}

.top-cont .item:nth-child(10) {
	margin-right: 15px;
}

.top-cont .item.mini a img {
	height: 44px;
}

.top-cont .item.mini a .hover {
	display: none;
}

.top-cont .item.mini a:hover img {
	display: none;
	width: 100%;
}

.top-cont .item.mini a:hover .hover {
	display: block;
}

.top-cont .item .mypage_list {
	visibility: hidden;
	position: absolute;
	top: 50px;
	left: 0;
	width: 165px;
	transition: all 0.1s ease;
	-webkit-transition: all 0.1s ease;
	padding: 20px 30px;
	box-sizing: border-box;
}

.top-cont .item .mypage_list .subnavi_box li {
	position: relative;
	display: block;
	font-size: 13px;
	margin-bottom: 15px;
}

.top-cont .item .mypage_list .subnavi_box li:last-child {
	margin-bottom: 0px;
}

.top-cont .item .mypage_list .subnavi_box li::before {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	left: -15px;
	width: 6px;
	height: 6px;
	border-right: 1px solid #333;
	border-bottom: 1px solid #333;
	-webkit-transform: translateY(-50%) rotate(-45deg);
	transform: translateY(-50%) rotate(-45deg);
}

.top-cont .item .mypage_list .subnavi_box li a {
	text-align: left;
	display: block;
}

.top-cont .item:hover>.mypage_list {
	visibility: visible;
	background-color: rgba(245, 245, 245, 0.90);
	z-index: 99999;
}

.bottom-cont {
	min-width: 1200px;
	background-color: #efefef;
	padding: 10px 0;
}

@media screen and (max-width: 640px) {
	.bottom-cont {
		min-width: 100%;
		background-color: transparent;
	}
}

.bottom-cont .search-cont {
	width: 1200px;
	height: 34px;
	margin: 0 auto;
}

@media screen and (max-width: 640px) {
	.bottom-cont .search-cont {
		width: 100%;
		height: auto;
	}
}

.bottom-cont .search-cont .search_area {
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
}

.bottom-cont .search-cont .search_area dt {
	width: 649px;
	margin-right: 10px;
}

@media screen and (max-width: 640px) {
	.bottom-cont .search-cont .search_area dt {
		width: calc(100% - 63px);
		margin-right: 5px;
	}
}

@media screen and (max-width: 640px) {
	.bottom-cont .search-cont .search_area .dt_topic {
		display: none;
	}
}

.bottom-cont .search-cont .search_area dt select,
.bottom-cont .search-cont .search_area dt input {
	width: 100%;
	height: 100%;
	padding: 6px 10px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	color: #777777;
	border: 1px solid #777777;
	background-color: #fff;
	font-size: 12px;
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
}

@media screen and (max-width: 640px) {
	.bottom-cont .search-cont .search_area dt input {
		padding: 4px 10px;
		font-size: 1.6rem !important;
	}
}

.bottom-cont .search-cont .search_area dt input {
	cursor: text;
}

.bottom-cont .search-cont .search_area dt:first-child {
	width: 351px;
	margin-right: 10px;
	position: relative;
}

.bottom-cont .search-cont .search_area dt p.topic {
	font-size: 13px;
	text-align: center;
	margin-top: 8px;
}

.bottom-cont .search-cont .search_area dt p.topic a {
	color: #dc2c08;
	text-decoration: underline;
}

.bottom-cont .search-cont .search_area dt select {
	background-color: transparent;
	background-image: url(https://mamoru.itembox.design/item/img/n_arrow-bottom.webp);
	background-position: right 10px center;
	background-repeat: no-repeat;
	background-size: 9px 6px;
	line-height: 32px;
	padding: 0 0 0 10px;
}

.bottom-cont .search-cont .search_area dd {
	width: 180px;
}

.bottom-cont .search-cont .search_area dd input {
	width: 180px;
	vertical-align: top;
	cursor: pointer;
}

@media screen and (max-width: 640px) {
	.bottom-cont .search-cont .search_area dd {
		width: 58px;
	}

	.bottom-cont .search-cont .search_area dd input {
		width: 58px;
	}
}

@media screen and (max-width: 640px) {
	.bottom-cont .search-cont .search_area dd .btn_pc {
		display: none;
	}
}

@media screen and (min-width: 640px) {
	.bottom-cont .search-cont .search_area dd .btn_sp {
		display: none;
	}
}

.bottom-cont .nvarea {
	width: 1200px;
	height: 55px;
	margin: 8px auto 0;
}

@media screen and (max-width: 640px) {
	.bottom-cont .nvarea {
		display: none;
	}
}

.bottom-cont .nvarea>ul {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.bottom-cont .nvarea ul .nav-box {
	width: 104px;
	height: 55px;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: #fff;
	margin-right: 5px;
}

.bottom-cont .nvarea ul .nav-box:last-child {
	margin-right: 0;
}

.bottom-cont .nvarea ul .nav-box .top-box {
	width: 100%;
	height: 100%;
	display: block;
	text-align: center;
	text-decoration: none;
	padding: 3px 0 3px 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border: 1px solid #fff;
}

.bottom-cont .nvarea ul .nav-box .top-box img {
	width: 100%;
	height: auto;
}

.bottom-cont .nvarea ul .nav-box .top-box p {
	font-size: 11px;
}

/* .bottom-cont .nvarea ul .nav-box .top-box:after {
	content: "";
	display: inline-block;
	width: 6px;
	height: 10px;
	background-image: url(https://mamoru.itembox.design/item/img/n_arrow-gray.webp);
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	right: 5px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
} */

.bottom-cont .nvarea ul .nav-box .sabnavi_area {
	opacity: 0;
	width: 1200px;
	background-color: #fff;
	top: 55px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	-webkit-transition: all .1s;
	-o-transition: all .1s;
	transition: all .1s;
	z-index: -1;
	border: 1px solid #ACACAC;
}

.bottom-cont .nvarea ul .nav-box .sabnavi_area li {
	padding: 15px 15px 10px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-bottom: 1px solid #ACACAC;
}

.bottom-cont .nvarea ul .nav-box .sabnavi_area li:last-chid {
	border: none;
}

.bottom-cont .nvarea ul .nav-box.feature .sabnavi_area li {
	padding: 0px;
}

.bottom-cont .nvarea ul .nav-box .sabnavi_area li .sabnavi_image {
	width: calc(20% - 60px);
	margin-right: 60px;
}

.bottom-cont .nvarea ul .nav-box .sabnavi_area li .sabnavi_image .a_block {
	display: block;
}

.bottom-cont .nvarea ul .nav-box .sabnavi_area li .sabnavi_image a:hover {
	opacity: 0.8;
}

.bottom-cont .nvarea ul .nav-box .sabnavi_area li .sabnavi_image .name {
	color: #389938;
	font-weight: bold;
	font-size: 14px;
	margin-bottom: 10px;
	letter-spacing: 0.08px;
}

.bottom-cont .nvarea ul .nav-box .sabnavi_area li .sabnavi_image .image img {
	width: 100%;
}

.bottom-cont .nvarea ul .nav-box .sabnavi_area li .subnavi_list {
	width: 80%;
	margin-top: 5px;
}

.bottom-cont .nvarea ul .nav-box .sabnavi_area li .subnavi_list .subnavi_box li {
	width: calc(25% - 23px);
	margin-right: 30px;
	margin-bottom: 12px;
	padding: 0;
	border: none;
	font-size: 1.2rem;
}

.bottom-cont .nvarea ul .nav-box .sabnavi_area li .subnavi_list .subnavi_box li:nth-child(4n) {
	margin-right: 0;
}

.bottom-cont .nvarea ul .nav-box .sabnavi_area li .subnavi_list .subnavi_box li a {
	text-align: left;
	text-decoration: none;
	position: relative;
	letter-spacing: 0.06px;
}

.bottom-cont .nvarea ul .nav-box .sabnavi_area li .subnavi_list .subnavi_box li a:hover {
	color: #389938;
	text-decoration: underline;
}

.bottom-cont .nvarea ul .nav-box .sabnavi_area li .subnavi_list .subnavi_box li a:before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 10px;
	background-image: url(https://www.mamoru-k.com/img/n_arrow-gray.webp);
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	left: -10px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.bottom-cont .nvarea ul .nav-box:hover>.sabnavi_area {
	-webkit-transition: all .1s;
	-o-transition: all .1s;
	transition: all .1s;
	-webkit-transition-delay: .1s;
	-o-transition-delay: .1s;
	transition-delay: .1s;
	opacity: 1;
	z-index: 1000;
}

.bottom-cont .nvarea ul .nav-box.feature .sabnavi_area {
	right: 0;
	left: auto;
	width: 500px;
	top: 55px;
	-webkit-transform: none;
	-ms-transform: none;
	transform: none;
}

.bottom-cont .nvarea ul .nav-box:hover>.top-box {
	border: 1px solid #389938;
	background-color: #dbe7de;
}

.bottom-cont .nvarea ul .nav-box:hover>.top-box p {
	color: #389938;
}

.bottom-cont .nvarea ul .nav-box:hover>.top-box:after {
	background-image: url(https://mamoru.itembox.design/item/img/n_arrow-green.webp);
}

.bottom-cont .nvarea ul .nav-box.brand .sabnavi_area li {
	padding: 0;
}

.bottom-cont .nvarea ul .nav-box.brand .sabnavi_area li .subnavi_list,
.bottom-cont .nvarea ul .nav-box.feature .sabnavi_area li .subnavi_list {
	width: 100%;
	margin-top: 0;
}

.bottom-cont .nvarea ul .nav-box.feature .sabnavi_area li .subnavi_list {
	margin-top: 0;
}

.bottom-cont .nvarea ul .nav-box.brand .sabnavi_area li .subnavi_list .subnavi_box li {
	width: 10%;
	margin: 0;
	border-right: 1px solid #acacac;
	border-bottom: 1px solid #acacac;
	height: 70px;
	display: table;
}

.bottom-cont .nvarea ul .nav-box.brand .sabnavi_area li .subnavi_list .subnavi_box li a {
	padding: 5px 8px 4px 8px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: table-cell;
	vertical-align: middle;
	text-align: center;
}

.bottom-cont .nvarea ul .nav-box.brand .sabnavi_area li .subnavi_list .subnavi_box li a img {
	max-width: 100px;
	max-height: 60px;
}

.bottom-cont .nvarea ul .nav-box.brand .sabnavi_area li .subnavi_list .subnavi_box li:nth-last-child(-n + 10) {
	border-bottom: none;
}

.bottom-cont .nvarea ul .nav-box.brand .sabnavi_area li .subnavi_list .subnavi_box li a:before,
.bottom-cont .nvarea ul .nav-box.feature .sabnavi_area li .subnavi_list .subnavi_box li a:before {
	display: none;
}

.bottom-cont .nvarea ul .nav-box.feature .sabnavi_area li .subnavi_list .subnavi_box li {
	width: 100%;
	margin-right: 0;
	border-bottom: 1px solid #acacac;
	margin-bottom: 0;
}

.bottom-cont .nvarea ul .nav-box.feature .sabnavi_area li .subnavi_list .subnavi_box li:last-child {
	border-bottom: none;
}

.bottom-cont .nvarea ul .nav-box.feature .sabnavi_area li .subnavi_list .subnavi_box li a {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 15px 10px 15px 20px;
}

.bottom-cont .nvarea ul .nav-box.feature .sabnavi_area li .subnavi_list .subnavi_box li a .left {
	width: 50px;
	margin-right: 20px;
}

.bottom-cont .nvarea ul .nav-box.feature .sabnavi_area li .subnavi_list .subnavi_box li a p {
	position: relative;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.bottom-cont .nvarea ul .nav-box.feature .sabnavi_area li .subnavi_list .subnavi_box li a p:before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 8px;
	background-image: url(https://mamoru.itembox.design/item/img/n_arrow-gray.webp);
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	left: -7px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.bottom-cont .nvarea ul .nav-box.feature .sabnavi_area li .subnavi_list .subnavi_box li a:hover p {
	color: #389938;
	text-decoration: underline;
}

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

	.top-cont,
	.bottom-cont {
		padding: 0 5%;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
}

.wrap {
	width: 1200px;
	margin: 0 auto;
	padding-top: 10px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

@media screen and (max-width: 640px) {
	.wrap {
		width: 100%;
	}
}

.wrap .side {
	width: 240px;
}

.wrap .side .banner {
	width: 100%;
	margin-bottom: 10px;
}

.wrap .side .banner img {
	width: 100%;
}

.wrap .side .headline {
	background-color: #389938;
	color: #fff;
	text-align: center;
	padding: 10px 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 13px;
	line-height: 1.6em;
}

.wrap .side .headline h3,
.wrap .side .headline h4 {
	color: #fff;
	font-size: 13px;
	line-height: 1.6em;
}

.wrap .side .side-list,
.wrap .side .calendar,
.wrap .side .concept {
	margin-bottom: 20px;
}

.wrap .side .side-list .list,
.wrap .side .calendar .list,
.wrap .side .concept .list {
	background: rgb(251, 251, 251);
	background: -webkit-gradient(linear, left top, left bottom, from(rgb(251, 251, 251)), to(rgb(236, 238, 238)));
	background: -o-linear-gradient(top, rgb(251, 251, 251) 0%, rgb(236, 238, 238) 100%);
	background: linear-gradient(to bottom, rgb(251, 251, 251) 0%, rgb(236, 238, 238) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#fbfbfb", endColorstr="#eceeee", GradientType=0);
	position: relative;
}

.wrap .side .side-list .list a,
.wrap .side .calendar .list a,
.wrap .side .concept .list a {
	padding: 5px 10px 5px 10px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	text-decoration: none;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-transition: 0.1s;
	-o-transition: 0.1s;
	transition: 0.1s;
}

.wrap .side .side-maker-list .list a {
	padding: 15px 20px;
}

.wrap .side .side-list .list .subnavi_list a::after,
.wrap .side .calendar .list a::after,
.wrap .side .concept .list a::after {
	content: "";
	display: inline-block;
	width: 6px;
	height: 10px;
	background-image: url(https://mamoru.itembox.design/item/img/n_arrow-gray.webp);
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	right: 15px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.wrap .side .side-list .list .image,
.wrap .side .calendar .list .image,
.wrap .side .concept .list .image {
	width: 45px;
	height: 45px;
	margin-right: 10px;
}

.wrap .side .side-list .list .cate-image img {
	max-width: 45px;
	max-height: 45px;
}

.wrap .side .side-list .list .image img,
.wrap .side .calendar .list .image img,
.wrap .side .concept .list .image img {
	width: 100%;
}


.wrap .side .side-list .sabnavi_area,
.wrap .side .calendar .sabnavi_area,
.wrap .side .concept .sabnavi_area {
	opacity: 0;
	width: 450px;
	background-color: #fff;
	z-index: -1;
	border: 1px solid #ACACAC;
	top: -30px;
	left: 240px;
}

.wrap .side .side-list .sabnavi_area li,
.wrap .side .calendar .sabnavi_area li,
.wrap .side .concept .sabnavi_area li {
	padding: 10px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-bottom: 1px solid #ACACAC;
}

.wrap .side .side-list .sabnavi_area li:last-child,
.wrap .side .calendar .sabnavi_area li:last-child,
.wrap .side .concept .sabnavi_area li:last-child {
	border: none;
}

.wrap .side .side-list .sabnavi_area .subnavi_box li,
.wrap .side .calendar .sabnavi_area .subnavi_box li,
.wrap .side .concept .sabnavi_area .subnavi_box li {
	padding: 0px;
	border: none;
}

.wrap .side .side-list .sabnavi_area .name,
.wrap .side .calendar .sabnavi_area .name,
.wrap .side .concept .sabnavi_area .name {
	color: #389938;
	padding-bottom: 15px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-bottom: 1px solid #ACACAC;
	width: 100%;
	margin-bottom: 20px;
	font-size: 14px;
	font-weight: bold;
}

.wrap .side .side-list .sabnavi_area .name {
	width: 408px;
}


.wrap .side .side-list .sabnavi_area li .sabnavi_image,
.wrap .side .calendar .sabnavi_area li .sabnavi_image,
.wrap .side .concept .sabnavi_area li .sabnavi_image {
	width: 100%;
}

.wrap .side .side-list .sabnavi_area li .sabnavi_image .image,
.wrap .side .calendar .sabnavi_area li .sabnavi_image .image,
.wrap .side .concept .sabnavi_area li .sabnavi_image .image {
	width: 100%;
	height: 100%;
}

.wrap .side .side-list .sabnavi_area li .sabnavi_image .image img,
.wrap .side .calendar .sabnavi_area li .sabnavi_image .image img,
.wrap .side .concept .sabnavi_area li .sabnavi_image .image img {
	width: 100%;
}

.wrap .side .side-list .sabnavi_area li .subnavi_list,
.wrap .side .calendar .sabnavi_area li .subnavi_list,
.wrap .side .concept .sabnavi_area li .subnavi_list {
	width: 100%;
}

.wrap .side .side-list .sabnavi_area li .subnavi_list .subnavi_box li,
.wrap .side .calendar .sabnavi_area li .subnavi_list .subnavi_box li,
.wrap .side .concept .sabnavi_area li .subnavi_list .subnavi_box li {
	width: calc(50% - 10px);
	margin-right: 15px;
	margin-bottom: 10px;
}

.wrap .side .side-list .sabnavi_area li .subnavi_list .subnavi_box li:nth-child(2n),
.wrap .side .calendar .sabnavi_area li .subnavi_list .subnavi_box li:nth-child(2n),
.wrap .side .concept .sabnavi_area li .subnavi_list .subnavi_box li:nth-child(2n) {
	margin-right: 0;
}

.wrap .side .calendar .sabnavi_area li .subnavi_list .subnavi_box li a,
.wrap .side .concept .sabnavi_area li .subnavi_list .subnavi_box li a {
	text-align: left;
	text-decoration: none;
	letter-spacing: 0.06px;
	font-weight: bold;
	padding: 15px 20px;
}

.wrap .side .side-list .sabnavi_area li .subnavi_list .subnavi_box li a:hover,
.wrap .side .calendar .sabnavi_area li .subnavi_list .subnavi_box li a:hover,
.wrap .side .concept .sabnavi_area li .subnavi_list .subnavi_box li a:hover {
	color: #389938;
}

.wrap .side .side-list .sabnavi_area li .subnavi_list .subnavi_box li a:after {
	display: none;
}

.wrap .side .side-list .sabnavi_area li .subnavi_list .subnavi_box li {
	padding-left: 20px;
	text-indent: -20px;
	font-size: 1.2rem;
}

.wrap .side .side-list .sabnavi_area li .subnavi_list .subnavi_box li a {
	position: relative;
	padding: 10px 0px 10px 15px;
}

.wrap .side .side-list .sabnavi_area li .subnavi_list .subnavi_box li a:before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 8px;
	background-image: url(https://www.mamoru-k.com/img/n_arrow-gray.webp);
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	left: 5px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.wrap .side .side-list li:hover>.sabnavi_area,
.wrap .side .calendar li:hover>.sabnavi_area,
.wrap .side .concept li:hover>.sabnavi_area {
	-webkit-transition: all .1s;
	-o-transition: all .1s;
	transition: all .1s;
	-webkit-transition-delay: .1s;
	-o-transition-delay: .1s;
	transition-delay: .1s;
	z-index: 1000;
	opacity: 1;
}

.wrap .side .side-list li .title,
.wrap .side .calendar li .title,
.wrap .side .concept li .title {
	font-size: 1.2rem;
}

.wrap .side .side-list .information {
	margin-top: 10px;
}

.wrap .side .side-list li:hover .title,
.wrap .side .calendar li:hover .title,
.wrap .side .concept li:hover .title {
	color: #389938;
}

.wrap .side .concept img {
	width: 100%;
}

.wrap .side .concept {
	border: 1px solid #389938;
}

.wrap .side .concept .inner {
	padding: 10px 10px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.wrap .side .concept .inner .image {
	margin-bottom: 10px;
}

.wrap .side .concept .inner .message {
	font-size: 12px;
}

/* .wrap .side .side-list:last-child .list {
	background: none;
} */

.wrap .side .side-list:last-child .list a {
	display: block;
}

.side .calendar #calendar table {
	width: 100%;
	table-layout: fixed
}

.wrap .main {
	width: 940px;
	margin-left: 20px;
}

.wrap .main img {
	max-width: max-content;
}

.wrap .main .fs-c-productCarouselMainImage__image>img {
	max-width: 100vw;
	width: 500px;
}
@media screen and (max-width: 640px){
	.wrap .main .fs-c-productCarouselMainImage__image>img {
		width: 100%;
	}
}

@media screen and (max-width: 640px) {
	.wrap .main {
		width: 100%;
		margin: 0;
	}
}

.fs-l-page .banner-content .slick-dots li button:before {
	width: 8px;
	height: 8px;
	padding: 5px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	opacity: 1;
}

.fs-l-page .banner-content .slick-dots li button:before {
	content: '';
	width: 8px;
	height: 8px;
	border: 1px solid #555555;
	border-radius: 50%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	opacity: 1;
}

.fs-l-page .banner-content .slick-dots li.slick-active button:before {
	background-color: #555555;
}

.wrap .main .headline {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	margin-bottom: 20px;
	width: 100%;
}

.wrap .main .headline:before {
	content: "";
	display: inline-block;
	margin-right: 10px;
	width: 26px;
	height: 26px;
	background-size: contain;
	background-repeat: no-repeat;
	margin-top: 3px;
}

.wrap .main .headline h2,
.wrap .main .headline h3,
.wrap .main .headline h2 a {
	font-size: 1.8rem;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	color: #409988 !important;
	text-align: center;
}

.wrap .main .headline h2 span,
.wrap .main .headline h3 span {
	width: 100%;
	display: block;
	margin-top: 3px;
	font-size: 1.4rem;
	text-align: center;
	font-weight: normal;
}

@media(width <=640px) {

	.wrap .main .headline h2,
	.wrap .main .headline h3 {
		font-size: 1.5rem;
	}

	.wrap .main .headline h2 span,
	.wrap .main .headline h3 span {
		font-size: 1.3rem;
	}
}

.slick-dots {
	/* width: auto; */
	left: 50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
}

.arrow {
	width: auto;
	height: auto;
	z-index: 1;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.arrow:hover {
	cursor: pointer;
}

.arrow.next {
	right: 40px;
}

.arrow.prev {
	left: 40px;
}

.arrow img {
	width: 100%;
}

@media screen and (max-width: 640px) {
	.arrow {
		width: 25px;
		height: 25px;
	}

	.arrow.next {
		right: 1%;
	}

	.arrow.prev {
		left: 1%;
	}
}

.top-image {
	margin-bottom: 30px;
	height: 324px;
}

.top-image img {
	width: 100%;
	height: auto;
}

@media screen and (max-width: 640px) {
	.top-image {
		padding: 0 5%;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		height: auto;
	}
}

.wrap .main .top-image .tel {
	width: 285px;
	height: 86px;
	bottom: 0px;
	left: 0;
}

/* .wrap .main .top-image .tel img {
	width: auto;
} */

@media screen and (max-width: 640px) {
	.wrap .main .top-image .tel {
		width: 100%;
		height: auto;
		margin: 20px auto 10px auto;
	}
}

.wrap .main .top-image .mail {
	border: 1px solid #409988;
	border-radius: 8px;
	text-align: center;
	bottom: 0px;
	left: 300px;
	width: 250px;
	height: 86px;
}

@media screen and (max-width: 640px) {
	.wrap .main .top-image .mail {
		width: 100%;
		height: auto;
		padding: 0;
		border: none;
	}
}

.wrap .main .top-image .mail a {
	text-decoration: none;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	justify-content: center;
	padding: 10px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-radius: 8px;
	height: 100%;
}

@media screen and (max-width: 640px) {
	.wrap .main .top-image .mail a {
		display: block;
		padding: 0px;
		border-radius: 0;
	}
}

.wrap .main .top-image .mail a:before {
	content: "";
	display: inline-block;
	width: 45px;
	height: 36px;
	margin-right: 20px;
	background-image: url(https://www.mamoru-k.com/img/n_mail.webp);
	background-size: contain;
	background-repeat: no-repeat;
}

@media screen and (max-width: 640px) {
	.wrap .main .top-image .mail a:before {
		display: none;
	}
}

.wrap .main .top-image .mail a:after {
	content: "";
	display: inline-block;
	width: 6px;
	height: 10px;
	margin-left: 10px;
	background-image: url(https://www.mamoru-k.com/img/n_arrow-green.webp);
	background-size: contain;
	background-repeat: no-repeat;
}

@media screen and (max-width: 640px) {
	.wrap .main .top-image .mail a:after {
		display: none;
	}
}

.wrap .main .top-image .mail a:hover {
	background-color: #409988;
}

@media screen and (max-width: 640px) {
	.wrap .main .top-image .mail a:hover {
		background-color: transparent;
	}
}

.wrap .main .top-image .mail a:hover:before {
	background-image: url(https://www.mamoru-k.com/img/n_logo-mailwhite.webp);
}

.wrap .main .top-image .mail a:hover:after {
	background-image: url(https://www.mamoru-k.com/img/n_arrow-white.webp);
}

.wrap .main .top-image .mail a div {
	font-size: 20px;
	color: #409988;
	font-weight: bold;
}

.wrap .main .top-image .mail a div span {
	display: block;
	font-size: 14px;
	color: #333333;
	text-align: center;
	font-weight: bold;
}

.wrap .main .top-image .mail a:hover div {
	color: #fff;
}

.wrap .main .top-image .mail a:hover div span {
	color: #fff;
}

.banner-content-wrap {
	width: 940px;
	height: 400px;
	overflow: hidden;
}

@media screen and (max-width: 640px) {
	.banner-content-wrap {
		width: 100%;
		height: auto;
		margin-bottom: auto;
	}
}

.banner-content {
	margin-bottom: 60px;
	width: 940px;
	height: 330px;
	display: block;
	visibility: hidden;
}

@media screen and (max-width: 640px) {
	.banner-content {
		width: 100%;
		height: auto;
	}
}

.banner-content.slick-initialized {
	visibility: visible;
}

.banner-content .slick-initialized .slick-slide {
	margin-right: 10px;
}

@media screen and (max-width: 640px) {
	.banner-content .slick-initialized .slick-slide {
		margin-right: 0;
	}

	.banner-content .banner .inner {
		margin: 0 6px;
	}
}

.wrap .main .pickup-content {
	margin-bottom: 60px;
}

@media screen and (max-width: 640px) {
	.wrap .main .pickup-content {
		padding: 0 5%;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		margin-bottom: 90px;
	}
}

.wrap .main .pickup-content .headline {
	margin-bottom: 20px;
}

.wrap .main .pickup-content .headline:before {
	background-image: url(https://mamoru.itembox.design/item/img/n_head01.webp);
}

.wrap .main .pickup-content .list .box {
	width: calc(25% - 8px);
	margin-right: 10px;
	margin-bottom: 20px;
}

@media screen and (max-width: 640px) {
	.wrap .main .pickup-content .list .box {
		width: 100%;
		margin-right: 0;
		margin-bottom: 0;
	}

	.wrap .main .pickup-content .slick-dotted.slick-slider {
		padding-bottom: 30px;
	}
}

.wrap .main .pickup-content .list .box:nth-child(4n) {
	margin-right: 0;
}

.wrap .main .pickup-content .list .box:nth-last-child(-n+4) {
	margin-bottom: 0;
}

.wrap .main .pickup-content .list .box .inner {
	padding-right: 5px;
}

.wrap .main .pickup-content .list .box .inner:nth-child(2n) {
	padding-right: 0px;
}

.wrap .main .pickup-content .list .box .image {
	width: 100%;
	position: relative;
	overflow: hidden;
	margin-bottom: 5px;
	border: 1px solid #333333;
}

.wrap .main .pickup-content .list .box .image:before {
	content: "";
	padding-top: 100%;
	display: block;
}

.wrap .main .pickup-content .list .box .image img {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	-o-object-fit: cover;
	object-fit: cover;
	padding: 10px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.wrap .main .pickup-content .list .box .title {
	font-size: 17px;
	margin-bottom: 5px;
	font-weight: 500;
}

.wrap .main .pickup-content .list .box .text {
	font-size: 14px;
	color: #666666;
}

.wrap .main .pickup-content .list .box a {
	text-decoration: none;
}

.wrap .main .pickup-content .list .box a:hover .image:after {
	content: "";
	display: inline-block;
	width: 100%;
	height: 100%;
	background-color: #389938;
	opacity: 0.18;
	z-index: 1;
	position: absolute;
	top: 0;
	left: 0;
}

.wrap .main .pickup-content .list .box a:hover .title {
	text-decoration: underline;
}

@media screen and (max-width: 640px) {
	.wrap .main .pickup-content .list .arrow.prev {
		left: 0%;
		-webkit-transform: translate(-50%, 0);
		-ms-transform: translate(-50%, 0);
		transform: translate(-50%, 0);
	}

	.wrap .main .pickup-content .list .arrow.next {
		right: 0%;
		-webkit-transform: translate(50%, 0);
		-ms-transform: translate(50%, 0);
		transform: translate(50%, 0);
	}
}

.wrap .main .pickup-content .list.pick-list.flex.sp.slick-initialized.slick-slider {
	display: none;
}

@media screen and (max-width: 640px) {
	.wrap .main .pickup-content .list.pick-list.flex.sp.slick-initialized.slick-slider {
		display: block;
	}
}

.wrap .main .ranking-content {
	margin-bottom: 45px;
	height: 400px;
}

@media screen and (max-width: 640px) {
	.wrap .main .ranking-content {
		margin-bottom: 40px;
		height: auto !important;
	}
}

.wrap .main .headline {
	margin-bottom: 30px;
}

.wrap .main .headline:before {
	background-image: url(https://www.mamoru-k.com/img/n_head02.webp);
}

.wrap .main .ranking-content .timeline {
	margin-top: -25px;
}

.wrap .main .ranking-content .timeline .update_time {
	text-align: right;
	margin-right: 2px;
	margin-bottom: 0;
	font-size: 16px;
}

@media screen and (max-width: 640px) {
	.wrap .main .ranking-content .timeline .update_time {
		text-align: center;
		font-size: 13px;
		margin: 0 0 13px 33px;
	}
}

.wrap .main .ranking-content .ranking-list {
	padding: 10px 0 10px 10px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	background-size: auto auto;
	background-color: rgb(255, 255, 255);
	background-image: -o-repeating-linear-gradient(330deg, transparent, transparent 4px, rgb(248, 239, 177) 4px, rgb(248, 239, 177) 44px);
	background-image: repeating-linear-gradient(120deg, transparent, transparent 4px, rgb(248, 239, 177) 4px, rgb(248, 239, 177) 44px);
	display: flex;
	overflow-x: scroll;
}

.wrap .main .ranking-content .ranking-list .box {
	background-color: #fff;
	border: 1px solid #646464;
	padding: 5px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	flex: 0 0 17%;
	margin-right: 10px;
}

@media screen and (max-width: 640px) {
	.wrap .main .ranking-content .ranking-list .box {
		flex: 0 0 40%;
	}
}

.wrap .main .ranking-content .ranking-list .box a {
	text-decoration: none;
}

.wrap .main .ranking-content .ranking-list.slick-initialized .slick-slide {
	margin: 0 7px 0 0;
}

.wrap .main .ranking-content .ranking-list .box .rank {
	font-size: 22px;
	color: #7D4746;
	margin-bottom: 10px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	font-weight: bold;
}

.wrap .main .ranking-content .ranking-list .box .rank.crown:before {
	content: "";
	display: inline-block;
	width: 25px;
	height: 22px;
	background-size: contain;
	background-repeat: no-repeat;
	margin-right: 5px;
}

.wrap .main .ranking-content .ranking-list .box .rank.crown.one:before {
	background-image: url(https://www.mamoru-k.com/img/n_crown1.webp);
}

.wrap .main .ranking-content .ranking-list .box .rank.crown.two:before {
	background-image: url(https://www.mamoru-k.com/img/n_crown2.webp);
}

.wrap .main .ranking-content .ranking-list .box .rank.crown.three:before {
	background-image: url(https://www.mamoru-k.com/img/n_crown3.webp);
}

.wrap .main .ranking-content .ranking-list .box .image {
	width: 100%;
	position: relative;
	overflow: hidden;
	margin-bottom: 10px;
}

.wrap .main .ranking-content .ranking-list .box .image:before {
	content: "";
	padding-top: 100%;
	display: block;
}

.wrap .main .ranking-content .ranking-list .box .image img {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	-o-object-fit: cover;
	object-fit: cover;
}

.wrap .main .ranking-content .ranking-list .box .title {
	margin-bottom: 3px;
	font-weight: 400;
	font-size: 13px;
	line-height: 1.3;
	height: 3.9em;
	overflow: hidden;
}

.wrap .main .ranking-content .ranking-list .box a:hover .title {
	text-decoration: underline;
}

.wrap .main .ranking-content .ranking-list .box .price {
	font-size: 1.5rem;
	color: #D62929;
	font-weight: bold;
	text-align: center;
}

@media screen and (max-width: 640px) {
	.wrap .main .ranking-content .ranking-list .box .title {
		font-size: 14px;
	}

	.wrap .main .ranking-content .ranking-list .box .price {
		font-size: 18px;
	}
}

.wrap .main .ranking-content .ranking-list .box a:hover .price {
	text-decoration: underline;
}

.wrap .main .ranking-content .ranking-list .box .price span {
	font-size: 1.3rem;
}

.wrap .main .topic-content {
	margin-bottom: 60px;
}

.wrap .main .topic-content .headline:before {
	/* margin-right: 0; */
	background-image: url(https://www.mamoru-k.com/img/n_head03.webp);
}

@media screen and (max-width: 640px) {
	.wrap .main .topic-content .headline {
		margin-bottom: 20px;
	}

	.wrap .main .topic-content .list {
		padding: 0 5%;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
}

.wrap .main .topic-content .list .box {
	width: calc(33% - 9px);
	margin-right: 18px;
	margin-bottom: 15px;
	box-shadow: 0 0 6px rgba(0, 0, 0, .15);
}

@media screen and (max-width: 640px) {
	.wrap .main .topic-content .list .box {
		width: 100%;
		margin-right: 0;
	}
}

.wrap .main .topic-content .list .box:nth-child(3n) {
	margin-right: 0;
}

/* .wrap .main .topic-content .list .box:nth-last-child(-n+2) {
	margin-bottom: 0;
} */

@media screen and (max-width: 640px) {
	.wrap .main .topic-content .list .box:nth-last-child(-n+2) {
		margin-bottom: 10px;
	}
}

@media screen and (max-width: 640px) {
	.wrap .main .topic-content .list .box:last-child {
		margin-bottom: 0;
	}
}

.wrap .main .topic-content .list .box a {
	text-decoration: none;
}

.wrap .main .topic-content .list .box a:hover {
	opacity: 0.8;
}

.wrap .main .topic-content .list .box .image img {
	width: 100%;
}

.wrap .main .topic-content .list .box .shadow {
	padding: 10px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	background-color: #fff;
}

.wrap .main .topic-content .list .box .shadow .title {
	font-size: 14px;
	margin-top: 2px;
	margin-bottom: 10px;
	font-weight: bold;
	text-align: center;
	line-height: 1.3;
}

@media screen and (max-width: 640px) {
	.wrap .main .topic-content .list .box .shadow .title {
		font-size: 16px;
		margin-bottom: 8px;
	}
}

.wrap .main .topic-content .list .box .shadow .text {
	font-size: 12px;
	color: #333333;
}

@media screen and (max-width: 640px) {
	.wrap .main .topic-content .list .box .shadow .text {
		font-size: 13px;
	}
}

.wrap .main .category-content {
	padding: 40px 30px 30px 30px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	background-color: #EFEFEF;
	margin-bottom: 60px;
}

@media screen and (max-width: 640px) {
	.wrap .main .category-content {
		padding: 40px 3% 30px 3%;
		margin-bottom: 40px;
	}
}

.wrap .main .category-content .headline:before {
	background-image: url(https://www.mamoru-k.com/img/n_head04.webp);
}

.wrap .main .category-content .back {
	width: 200vw;
	display: none;
	height: 100%;
	left: -65%;
	top: 0;
	background-color: #EFEFEF;
	z-index: -1;
}

.wrap .main .category-content .inner {
	background-color: #fff;
	padding: 30px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

@media screen and (max-width: 640px) {
	.wrap .main .category-content .inner {
		padding: 0 20px;
	}
}

.wrap .main .category-content .inner .box {
	border-bottom: 1px solid #409988;
	padding: 30px 0;
}

.wrap .main .category-content .inner .box:last-child {
	border: none;
}

.wrap .main .category-content .inner .box .top {
	margin-bottom: 30px;
}

.wrap .main .category-content .inner .box .top .info {
	width: calc(60% - 30px);
	margin-right: 30px;
}

@media screen and (max-width: 640px) {
	.wrap .main .category-content .inner .box .top .info {
		width: 100%;
		margin-right: 0;
	}

	.wrap .main .category-content .inner .box .top .info .text {
		font-size: 14px;
	}
}

.wrap .main .category-content .inner .box:nth-child(2n) .top {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}

.wrap .main .category-content .inner .box:nth-child(2n) .top .info {
	margin-right: 0px;
	margin-left: 30px;
}

@media screen and (max-width: 640px) {
	.wrap .main .category-content .inner .box:nth-child(2n) .top .info {
		margin-left: 0px;
	}
}

.wrap .main .category-content .inner .box .top .info .title {
	font-size: 18px;
	color: #409988;
	margin-bottom: 10px;

	& h1,
	& h2,
	& h3 {
		color: #409988;
	}
}

@media screen and (max-width: 640px) {
	.wrap .main .category-content .inner .box .top .info .title {
		text-align: center;
	}
}

.wrap .main .category-content .inner .box .top .info .text {
	font-weight: 400;
	font-size: 14px;
}

.wrap .main .category-content .inner .box .top .info .btn {
	display: inline-block;
	bottom: 0;
	right: 10px;
}

.wrap .main .topic-content {
	position: relative;
}

.wrap .main .topic-content .btn {
	display: inline-block;
	right: 0px;

}

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

	.wrap .main .topic-content .btn,
	.wrap .main .category-content .inner .box .top .info .btn {
		position: relative;
		right: 0;
		left: 50%;
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		transform: translateX(-50%);
		margin-top: 30px;
	}
}

.wrap .main .topic-content .btn a,
.wrap .main .category-content .inner .box .top .info .btn a {
	border: 1px solid #409988;
	padding: 10px 30px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-radius: 30px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	text-decoration: none;
	color: #409988;
	font-size: 14px;
}

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

	.wrap .main .topic-content .btn a,
	.wrap .main .category-content .inner .box .top .info .btn a {
		font-size: 14px;
	}
}

.wrap .main .topic-content .btn a:after,
.wrap .main .category-content .inner .box .top .info .btn a:after {
	content: "";
	display: inline-block;
	width: 6px;
	height: 10px;
	background-image: url(https://mamoru.itembox.design/item/img/n_arrow-green.webp);
	background-size: contain;
	background-repeat: no-repeat;
	margin-left: 10px;
}

.wrap .main .topic-content .btn a:hover,
.wrap .main .category-content .inner .box .top .info .btn a:hover {
	color: #fff;
	background-color: #409988;
}

.wrap .main .topic-content .btn a:hover:after,
.wrap .main .category-content .inner .box .top .info .btn a:hover:after {
	background-image: url(https://mamoru.itembox.design/item/img/n_arrow-white.webp);
}

.wrap .main .category-content .inner .box .top .image {
	width: 40%;
}

.wrap .main .category-content .inner .box .top .image img {
	width: 100%;
}

.wrap .main .category-content .inner .box .bottom .headline {
	color: #F29200;
	font-size: 18px;
	margin-bottom: 10px;
	font-weight: 500;
}

.wrap .main .category-content .inner .box .bottom .headline:before {
	display: none;
}

@media screen and (max-width: 640px) {
	.wrap .main .category-content .inner .box .bottom .headline {
		text-align: center;
		font-size: 18px;
	}
}

.wrap .main .category-content .inner .box .bottom .list .child {
	margin: 5px 30px 10px 0;
}

@media screen and (max-width: 640px) {
	.wrap .main .category-content .inner .box .bottom .list .child {
		margin: 5px 20px 5px 0;
	}
}

.wrap .main .category-content .inner .box .bottom .list .child a {
	text-decoration: none;
	font-size: 1.4rem;

	&:hover {
		text-decoration: underline;
	}
}

@media(width <=640px) {
	.wrap .main .category-content .inner .box .bottom .list .child a {
		font-size: 1.3rem;
	}
}

.wrap .main .maker-content {
	margin-bottom: 40px;
}

.wrap .main .maker-content .headline:before {
	background-image: url(https://mamoru.itembox.design/item/img/n_head05.webp);
}

.wrap .main .maker-content .list .box {
	width: 20%;
	transition: 0.5s;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-ms-transition: 0.5s;
}

.wrap .main .maker-content .list .box:hover {
	background-color: #f4f4f4;
}

.wrap .main .maker-content .list .box h3,
.wrap .main .maker-content .list .box h4 {
	height: 40px;
	text-align: center;
	font-weight: bold;
	border-bottom: solid 1.5px #333333;
	padding-bottom: 5px;
	margin-bottom: 5px;
	font-size: 1.4rem;
}

@media screen and (max-width: 640px) {
	.wrap .main .maker-content {
		margin-bottom: 60px;
	}

	.wrap .main .maker-content .list .box {
		width: 90%;
		margin: 0 auto;
		margin-bottom: 30px;
	}

	.wrap .main .maker-content .list .box:last-child {
		margin-bottom: 0;
	}
}

.wrap .main .maker-content .list .box a {
	display: block;
	text-decoration: none;
	padding: 20px 10px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

@media screen and (max-width: 640px) {
	.wrap .main .maker-content .list .box a {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		padding: 0;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}
}

.wrap .main .maker-content .list .box a:hover {
	opacity: 0.8;
}

.wrap .main .maker-content .list .box a:hover:after {
	content: "";
	display: inline-block;
	width: 100%;
	height: 100%;
	/* background-color: #389938; */
	opacity: 0.18;
	z-index: 1;
	position: absolute;
	top: 0;
	left: 0;
}

.wrap .main .maker-content .list .box .image {
	text-align: center;
}

@media screen and (max-width: 640px) {
	.wrap .main .maker-content .list .box .image {
		width: 88px;
		height: 88px;
	}

	.wrap .main .maker-content .list .box a:hover:after {
		display: none;
	}
}

.wrap .main .maker-content .list .box .image img {
	width: 50%;
}

@media screen and (max-width: 640px) {
	.wrap .main .maker-content .list .box .image img {
		width: 100%;
	}
}

.wrap .main .maker-content .list .box .image p {
	margin-top: 10px;
	font-size: 18px;
	text-align: center;
	font-weight: bold;
}

.wrap .main .maker-content .list .box .text {
	font-size: 1.3rem;
	color: #333;
	margin-top: 10px;
}

@media screen and (max-width: 640px) {
	.wrap .main .maker-content .list .box .text {
		width: calc(100% - 108px);
		margin: 0;
		margin-left: 20px;
	}

	.wrap .main .maker-content .list .box .text p {
		margin-bottom: 10px;
		font-size: 18px;
		font-weight: bold;
	}
}

.wrap .main .about-content {
	margin-bottom: 100px;
}

@media screen and (max-width: 640px) {
	.wrap .main .about-content {
		padding: 0 5%;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
}

.wrap .main .about-content .headline:before {
	background-image: url(https://www.mamoru-k.com/img/n_head06.webp);
}

footer {
	/* min-width: 1200px; */
	background-color: #EFEFEF;
}

@media screen and (max-width: 640px) {
	footer {
		min-width: 100%;
		padding-bottom: 50px;
	}
}

footer .green_ttl {
	display: block;
	width: 100%;
	background-color: #339900;
	font-size: 18px;
	font-weight: normal;
	color: #fff;
	text-align: center;
	padding: 5px 0;
}

footer .innerBox1 {
	width: 1200px;
	margin: 0 auto;
	padding-top: 20px;
	padding-bottom: 70px;
	font-size: 13px;
}

@media screen and (max-width: 640px) {
	footer .innerBox1 {
		width: 100%;
	}
}

@media screen and (max-width: 640px) {
	footer .innerBox1 {
		padding: 20px 3% 60px 3%;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
}

footer .innerBox1 .leftBox1 {
	width: 380px;
	margin-right: 65px;
}

@media screen and (max-width: 640px) {
	footer .innerBox1 .leftBox1 {
		width: 100%;
		margin: 0;
		margin-bottom: 30px;
	}
}

footer .innerBox1 .midBox1 {
	width: 380px;
	margin-right: 30px;
}

@media screen and (max-width: 640px) {
	footer .innerBox1 .midBox1 {
		width: 100%;
		margin: 0;
		margin-bottom: 30px;
	}
}

footer .innerBox1 .rightBox1 {
	width: 340px;
}

@media screen and (max-width: 640px) {
	footer .innerBox1 .rightBox1 {
		width: 100%;
		margin: 0;
	}
}

footer .innerBox1 dl dd p.txt {
	margin-bottom: 5px;
	font-size: 1.2rem;
}

footer .innerBox1 dl dd p {
	margin: 0;
	line-height: 1.6em;
	letter-spacing: 0.02em;
}

footer .innerBox1 dl dt p.ttl {
	font-size: 14px;
	font-weight: bold;
	color: #389938;
	margin-bottom: 5px;
}

footer .innerBox1 dl dd p.sub_ttl {
	font-size: 13px;
	font-weight: bold;
	margin-bottom: 3px;
}

footer .innerBox1 span.at {
	color: #ca0005;
	/* font-weight: bold; */
	font-size: 11px;
}

footer .innerBox1 dl dd p.phone {
	font-size: 12px;
	font-weight: bold;
	margin-bottom: 2px;
}

footer .innerBox1 .kome {
	color: #ca0005;
	font-size: 11px;
	display: block;
}

div#footer2 {
	clear: both;
	background-color: #555555;
	color: #fff;
	font-size: 12px;
	line-height: 1.4em;
}

div#footer2 a {
	color: #fff;
	letter-spacing: 0.05em;
	text-decoration: none;
}

div#footer2 .footer2_wrap {
	width: 1200px;
	margin: 0 auto;
	background-color: #555555;
}

div#footer2 .ft2_innerbox {
	padding-bottom: 10px;
	padding-top: 25px;
}

#top_anchor {
	width: 1200px;
	display: block;
	margin: 0 auto;
	position: relative;
}

p.pagetop {
	position: absolute;
	top: 680px;
	right: 35px;
	font-size: 16px;
	background-color: #333;
	color: #fff;
	padding: 28px 22px;
	border-radius: 60px;
	-moz-border-radius: 60px;
	-webkit-border-radius: 60px;
	letter-spacing: 0.05em;
	-webkit-transition: 0.5s;
	-o-transition: 0.5s;
	transition: 0.5s;
}

p.pagetop:hover {
	color: #333;
	background-color: #FFFFFF;
}

div#footer2 .ft_headarea {
	overflow: hidden;
	padding: 0 0 20px 20px;
}

div#footer2 .ft_headarea p.logo {
	width: 70px;
	float: left;
	margin-right: 20px;
}

div#footer2 .ft_headarea p.logo img {
	width: 60px;
	height: auto;
	background-color: #FFF;
	padding: 5px;
}

div#footer2 .ft_headarea p.toplink {
	margin-top: 25px;
	font-size: 14px;
}

div#footer2 ul.ft_column {
	clear: both;
	display: table;
}

div#footer2 ul.ft_column li.ft_column1 {
	display: table-cell;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 20%;
	padding: 10px 10px 10px 10px;
	border-right: 1px solid rgba(27, 27, 27, 1);
	-webkit-box-shadow: 1px 0px 0 rgba(255, 255, 255, 0.1);
	box-shadow: 1px 0px 0 rgba(255, 255, 255, 0.1);
}

div#footer2 ul.ft_column li.ft_column1:last-child {
	border-right: 0;
	-webkit-box-shadow: none;
	box-shadow: none;
}

div#footer2 ul.ft_column li.ft_column1 p.ttl {
	font-size: 13px;
	margin-bottom: 8px;
	font-weight: bold;
	letter-spacing: 0.1em;
}

div#footer2 ul.ft_column li.ft_column1 p.sub_ttl {
	letter-spacing: 0.05em;
	margin-bottom: 2px;
}

div#footer2 ul.ft_content {
	margin-left: 4%;
	margin-bottom: 10px;
}

div#footer2 ul.ft_content li.ft_content1 {
	margin-bottom: 0.3em;
}

div#footer_copy {
	clear: both;
	margin: 0 auto;
	background-color: #333333;
	color: #fff;
}

div#footer_copy .ftcopy_innerbox {
	width: 1200px;
	margin: 0 auto;
	padding: 10px 0;
	text-align: center;
	background-color: #333333;
}

div#footer_copy .ftcopy_innerbox p.copy {
	font-size: 11px;
	color: #999999;
}

div#footer_copy .ftcopy_innerbox {
	width: 1200px;
	margin: 0 auto;
	padding: 10px 0;
	text-align: center;
	background-color: #333333;
}

div#footer_copy .ftcopy_innerbox p.copy {
	font-size: 11px;
	color: #999999;
}

@media screen and (max-width: 640px) {
	div#footer_copy .ftcopy_innerbox {
		width: auto;
	}

	div#footer_copy .ftcopy_innerbox {
		width: auto;
	}
}

nav.sp_footer_nav {
	display: none;
}

nav.sp_footer_nav_submenu {
	display: none;
}

nav.sp_footer_nav {
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	background: #369000;
	display: none;
	z-index: 100;
}

@media screen and (max-width: 640px) {
	nav.sp_footer_nav {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
}

nav.sp_footer_nav>a,
nav.sp_footer_nav>div {
	text-decoration: none;
	display: block;
	width: 20%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-right: .5px solid #fff;
	color: #fff;
	padding: 6.5px 0;
	cursor: pointer;
}

nav.sp_footer_nav a:last-child {
	border-right: none;
}

nav.sp_footer_nav i {
	display: block;
	font-size: 18px;
	text-align: center;
}

nav.sp_footer_nav .nav_label {
	text-align: center;
	font-size: 11px;
	padding-top: 3px;
	color: #fff
}

nav.sp_footer_nav_submenu {
	display: block;
	background: #fff;
	position: fixed;
	left: -100%;
	top: 0;
	width: 80%;
	height: 100%;
	padding-bottom: 140px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	overflow-y: scroll;
	z-index: 99;
}

.menu_back_layer {
	display: none;
	z-index: 98;
	background: rgba(0, 0, 0, 0.6);
	width: 100%;
	height: 100%;
	position: fixed;
	left: 0;
	top: 0;
}

nav.sp_footer_nav_submenu ul {
	list-style: none;
	padding: 0;
	margin: 0;
	background: #fff;
}

nav.sp_footer_nav_submenu li {
	border-bottom: 1px dotted #aaa;
}

nav.sp_footer_nav_submenu .submenu_title {
	border: none;
	padding: 15px;
	font-weight: 700;
}

nav.sp_footer_nav_submenu li.subtitle {
	background: #898989;
	color: #fff;
	border: none;
	padding: 15px;
}

nav.sp_footer_nav_submenu .submenu_search_box {
	padding: 15px;
	background: #ccc;
}

nav.sp_footer_nav_submenu .submenu_search_box form {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

nav.sp_footer_nav_submenu .submenu_search_box input {
	display: block;
	width: 78%;
	margin-right: 2% !important;
	padding: 10px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 14px;
	margin: 0;
	border: none;
	border-radius: 0 !important;
	background-color: #fff;
	color: #757575;
}

nav.sp_footer_nav_submenu .submenu_search_box button[type="submit"] {
	display: block;
	font-size: 16px;
	width: 20%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 9px 0;
	margin: 0;
	border: none;
	background-color: #eee;
	color: #333;
	text-align: center;
}

nav.sp_footer_nav_submenu .submenu_keywords_title {
	padding: 15px;
	color: #666;
	border: none;
}

nav.sp_footer_nav_submenu .submenu_keywords {
	padding: 0px 30px 10px 30px;
}

nav.sp_footer_nav_submenu .submenu_keywords a {
	display: inline-block;
	padding: 0 15px 15px 0;
	background: none;
	text-decoration: underline;
	font-weight: normal;

}

nav.sp_footer_nav_submenu li a {
	border-bottom: none;
}

nav.sp_footer_nav_submenu li>.level_title {
	padding: 15px 0px 15px 15px;
	position: relative;
}

nav.sp_footer_nav_submenu li>.level_title::after {
	content: "+";
	text-align: center;
	position: absolute;
	top: 50%;
	right: 10px;
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	transform: translate(0, -50%);
	font-size: 18px;
	width: 30px;
}

nav.sp_footer_nav_submenu li>.level_title.is_open::after {
	content: "−";
	text-align: center;
	position: absolute;
	top: 50%;
	right: 10px;
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	transform: translate(0, -50%);
	font-size: 18px;
	width: 30px;
}

nav.sp_footer_nav_submenu>ul>li>ul {
	display: none;
}

nav.sp_footer_nav_submenu>ul>li>ul>li {
	background: #eee;
}

nav.sp_footer_nav_submenu>ul>li>ul>li>ul {
	display: none;
}

nav.sp_footer_nav_submenu>ul>li>ul>li>ul>li {
	background: #d9d9d9;
}

.sp_footer_nav_submenu_footer {
	text-align: center;
	margin-top: 35px;
}

.submenu_close_button {
	display: inline-block;
	background: #999;
	color: #fff;
	padding: 10px 40px;
	cursor: pointer;
}

.sp_footer_nav {
	p.sp_nav_bnr {
		a {}

		img {}
	}
}

/* 追記 */
nav ul a:link {
	text-decoration: none;
	font-weight: normal;
}

nav ul a {
	display: block;
	padding: 15px;
}

.to_top {
	display: block;
	position: fixed;
	bottom: 30px;
	right: 11px;
	z-index: 1;
	width: 40px;
	height: 40px;
}

@media screen and (max-width: 640px) {
	.to_top {
		position: fixed;
		bottom: 80px;
		right: 12px;
		z-index: 1;
		width: 40px;
		height: 40px;
	}
}

.to_top img {
	width: 100%;
}

.accordion {
	position: relative;
}

/* ボタン */
.accordion-btn {
	border: 1px solid #13A789;
	bottom: -50px;
	color: #13A789;
	cursor: pointer;
	display: inline-block;
	font-size: 14px;
	left: 0;
	margin: auto;
	padding: 5px 15px;
	position: absolute;
	right: 0;
	text-align: center;
	-webkit-transition: all .2s;
	-o-transition: all .2s;
	transition: all .2s;
	width: 120px;
	height: 44px;
	z-index: 1;
	border-radius: 30px;
}

@media screen and (min-width: 640px) {
	.accordion-btn {
		display: none;
	}
}



/* 続きを読むボタンの表記 */
.accordion-btn::before {
	content: "もっと見る";
}

.accordion-btn::after {
	content: "";
	display: block;
	width: 6px;
	height: 10px;
	background-image: url(https://www.mamoru-k.com/img/n_arrow-green.webp);
	background-size: contain;
	background-repeat: no-repeat;
	margin: 0 auto;
	margin-top: 5px;
	-webkit-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	transform: rotate(90deg);
}

.accordion-btn.is-show::after {
	-webkit-transform: rotate(-90deg);
	-ms-transform: rotate(-90deg);
	transform: rotate(-90deg);
}

@media screen and (max-width: 640px) {
	.accordion-text {
		overflow: hidden;
		/* テキストを隠す */
		position: relative;
	}

	/* 最初に見えてるテキストエリアの高さ */
	.accordion-text.is-hide {
		height: 300px;
	}

	/* テキストをグラデーションで隠す */
	.accordion-text::before {
		background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), color-stop(50%, rgba(255, 255, 255, .9)), color-stop(50%, rgba(255, 255, 255, .9)), to(#fff));
		background: -o-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .9) 50%, rgba(255, 255, 255, .9) 50%, #fff 100%);
		background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .9) 50%, rgba(255, 255, 255, .9) 50%, #fff 100%);
		bottom: 0;
		content: "";
		height: 60px;
		/* グラデーションで隠す高さ */
		position: absolute;
		width: 100%;
	}

	/* 閉じるボタンの位置 */
	.accordion-btn.is-show {
		bottom: -3em;
	}

	/* 閉じるボタンの表記 */
	.accordion-btn.is-show::before {
		content: "閉じる";
	}

	/* 続きを見るボタンをクリックしたらテキストを隠しているグラデーションを消す */
	.accordion-btn.is-show+.accordion-text::before {
		display: none;
	}

	/* レイアウトの為のスタイル */
	.accordion {
		margin: 0 auto;
	}
}

@media screen and (min-width: 960px) {
	.fs-c-productList__list {
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: 25% 25% 25% 25%;
		grid-template-columns: 25% 25% 25% 25%;
	}

	.fs-c-productList__list>*:nth-child(1) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 1;
		grid-row: 1;
	}

	.fs-c-productList__list>*:nth-child(2) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 1;
		grid-row: 1;
	}

	.fs-c-productList__list>*:nth-child(3) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 1;
		grid-row: 1;
	}

	.fs-c-productList__list>*:nth-child(4) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 1;
		grid-row: 1;
	}

	.fs-c-productList__list>*:nth-child(5) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 2;
		grid-row: 2;
	}

	.fs-c-productList__list>*:nth-child(6) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 2;
		grid-row: 2;
	}

	.fs-c-productList__list>*:nth-child(7) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 2;
		grid-row: 2;
	}

	.fs-c-productList__list>*:nth-child(8) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 2;
		grid-row: 2;
	}

	.fs-c-productList__list>*:nth-child(9) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 3;
		grid-row: 3;
	}

	.fs-c-productList__list>*:nth-child(10) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 3;
		grid-row: 3;
	}

	.fs-c-productList__list>*:nth-child(11) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 3;
		grid-row: 3;
	}

	.fs-c-productList__list>*:nth-child(12) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 3;
		grid-row: 3;
	}

	.fs-c-productList__list>*:nth-child(13) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 4;
		grid-row: 4;
	}

	.fs-c-productList__list>*:nth-child(14) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 4;
		grid-row: 4;
	}

	.fs-c-productList__list>*:nth-child(15) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 4;
		grid-row: 4;
	}

	.fs-c-productList__list>*:nth-child(16) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 4;
		grid-row: 4;
	}

	.fs-c-productList__list>*:nth-child(17) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 5;
		grid-row: 5;
	}

	.fs-c-productList__list>*:nth-child(18) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 5;
		grid-row: 5;
	}

	.fs-c-productList__list>*:nth-child(19) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 5;
		grid-row: 5;
	}

	.fs-c-productList__list>*:nth-child(20) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 5;
		grid-row: 5;
	}

	.fs-c-productList__list>*:nth-child(21) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 6;
		grid-row: 6;
	}

	.fs-c-productList__list>*:nth-child(22) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 6;
		grid-row: 6;
	}

	.fs-c-productList__list>*:nth-child(23) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 6;
		grid-row: 6;
	}

	.fs-c-productList__list>*:nth-child(24) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 6;
		grid-row: 6;
	}

	.fs-c-productList__list>*:nth-child(25) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 7;
		grid-row: 7;
	}

	.fs-c-productList__list>*:nth-child(26) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 7;
		grid-row: 7;
	}

	.fs-c-productList__list>*:nth-child(27) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 7;
		grid-row: 7;
	}

	.fs-c-productList__list>*:nth-child(28) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 7;
		grid-row: 7;
	}

	.fs-c-productList__list>*:nth-child(29) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 8;
		grid-row: 8;
	}

	.fs-c-productList__list>*:nth-child(30) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 8;
		grid-row: 8;
	}

	.fs-c-productList__list>*:nth-child(31) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 8;
		grid-row: 8;
	}

	.fs-c-productList__list>*:nth-child(32) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 8;
		grid-row: 8;
	}

	.fs-c-productList__list>*:nth-child(33) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 9;
		grid-row: 9;
	}

	.fs-c-productList__list>*:nth-child(34) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 9;
		grid-row: 9;
	}

	.fs-c-productList__list>*:nth-child(35) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 9;
		grid-row: 9;
	}

	.fs-c-productList__list>*:nth-child(36) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 9;
		grid-row: 9;
	}

	.fs-c-productList__list>*:nth-child(37) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 10;
		grid-row: 10;
	}

	.fs-c-productList__list>*:nth-child(38) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 10;
		grid-row: 10;
	}

	.fs-c-productList__list>*:nth-child(39) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 10;
		grid-row: 10;
	}

	.fs-c-productList__list>*:nth-child(40) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 10;
		grid-row: 10;
	}

	.fs-c-productList__list>*:nth-child(41) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 11;
		grid-row: 11;
	}

	.fs-c-productList__list>*:nth-child(42) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 11;
		grid-row: 11;
	}

	.fs-c-productList__list>*:nth-child(43) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 11;
		grid-row: 11;
	}

	.fs-c-productList__list>*:nth-child(44) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 11;
		grid-row: 11;
	}

	.fs-c-productList__list>*:nth-child(45) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 12;
		grid-row: 12;
	}

	.fs-c-productList__list>*:nth-child(46) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 12;
		grid-row: 12;
	}

	.fs-c-productList__list>*:nth-child(47) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 12;
		grid-row: 12;
	}

	.fs-c-productList__list>*:nth-child(48) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 12;
		grid-row: 12;
	}

	.fs-c-productList__list>*:nth-child(49) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 13;
		grid-row: 13;
	}

	.fs-c-productList__list>*:nth-child(50) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 13;
		grid-row: 13;
	}

	.fs-c-productList__list>*:nth-child(51) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 13;
		grid-row: 13;
	}

	.fs-c-productList__list>*:nth-child(52) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 13;
		grid-row: 13;
	}

	.fs-c-productList__list>*:nth-child(53) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 14;
		grid-row: 14;
	}

	.fs-c-productList__list>*:nth-child(54) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 14;
		grid-row: 14;
	}

	.fs-c-productList__list>*:nth-child(55) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 14;
		grid-row: 14;
	}

	.fs-c-productList__list>*:nth-child(56) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 14;
		grid-row: 14;
	}

	.fs-c-productList__list>*:nth-child(57) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 15;
		grid-row: 15;
	}

	.fs-c-productList__list>*:nth-child(58) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 15;
		grid-row: 15;
	}

	.fs-c-productList__list>*:nth-child(59) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 15;
		grid-row: 15;
	}

	.fs-c-productList__list>*:nth-child(60) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 15;
		grid-row: 15;
	}

	.fs-c-productList__list>*:nth-child(61) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 16;
		grid-row: 16;
	}

	.fs-c-productList__list>*:nth-child(62) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 16;
		grid-row: 16;
	}

	.fs-c-productList__list>*:nth-child(63) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 16;
		grid-row: 16;
	}

	.fs-c-productList__list>*:nth-child(64) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 16;
		grid-row: 16;
	}

	.fs-c-productList__list>*:nth-child(65) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 17;
		grid-row: 17;
	}

	.fs-c-productList__list>*:nth-child(66) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 17;
		grid-row: 17;
	}

	.fs-c-productList__list>*:nth-child(67) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 17;
		grid-row: 17;
	}

	.fs-c-productList__list>*:nth-child(68) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 17;
		grid-row: 17;
	}

	.fs-c-productList__list>*:nth-child(69) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 18;
		grid-row: 18;
	}

	.fs-c-productList__list>*:nth-child(70) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 18;
		grid-row: 18;
	}

	.fs-c-productList__list>*:nth-child(71) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 18;
		grid-row: 18;
	}

	.fs-c-productList__list>*:nth-child(72) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 18;
		grid-row: 18;
	}

	.fs-c-productList__list>*:nth-child(73) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 19;
		grid-row: 19;
	}

	.fs-c-productList__list>*:nth-child(74) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 19;
		grid-row: 19;
	}

	.fs-c-productList__list>*:nth-child(75) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 19;
		grid-row: 19;
	}

	.fs-c-productList__list>*:nth-child(76) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 19;
		grid-row: 19;
	}

	.fs-c-productList__list>*:nth-child(77) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 20;
		grid-row: 20;
	}

	.fs-c-productList__list>*:nth-child(78) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 20;
		grid-row: 20;
	}

	.fs-c-productList__list>*:nth-child(79) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 20;
		grid-row: 20;
	}

	.fs-c-productList__list>*:nth-child(80) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 20;
		grid-row: 20;
	}

	.fs-c-productList__list>*:nth-child(81) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 21;
		grid-row: 21;
	}

	.fs-c-productList__list>*:nth-child(82) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 21;
		grid-row: 21;
	}

	.fs-c-productList__list>*:nth-child(83) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 21;
		grid-row: 21;
	}

	.fs-c-productList__list>*:nth-child(84) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 21;
		grid-row: 21;
	}

	.fs-c-productList__list>*:nth-child(85) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 22;
		grid-row: 22;
	}

	.fs-c-productList__list>*:nth-child(86) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 22;
		grid-row: 22;
	}

	.fs-c-productList__list>*:nth-child(87) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 22;
		grid-row: 22;
	}

	.fs-c-productList__list>*:nth-child(88) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 22;
		grid-row: 22;
	}

	.fs-c-productList__list>*:nth-child(89) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 23;
		grid-row: 23;
	}

	.fs-c-productList__list>*:nth-child(90) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 23;
		grid-row: 23;
	}

	.fs-c-productList__list>*:nth-child(91) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 23;
		grid-row: 23;
	}

	.fs-c-productList__list>*:nth-child(92) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 23;
		grid-row: 23;
	}

	.fs-c-productList__list>*:nth-child(93) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 24;
		grid-row: 24;
	}

	.fs-c-productList__list>*:nth-child(94) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 24;
		grid-row: 24;
	}

	.fs-c-productList__list>*:nth-child(95) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 24;
		grid-row: 24;
	}

	.fs-c-productList__list>*:nth-child(96) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 24;
		grid-row: 24;
	}

	.fs-c-productList__list>*:nth-child(97) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 25;
		grid-row: 25;
	}

	.fs-c-productList__list>*:nth-child(98) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 25;
		grid-row: 25;
	}

	.fs-c-productList__list>*:nth-child(99) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 25;
		grid-row: 25;
	}

	.fs-c-productList__list>*:nth-child(100) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 25;
		grid-row: 25;
	}

	.fs-c-productList__list>*:nth-child(101) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 26;
		grid-row: 26;
	}

	.fs-c-productList__list>*:nth-child(102) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 26;
		grid-row: 26;
	}

	.fs-c-productList__list>*:nth-child(103) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 26;
		grid-row: 26;
	}

	.fs-c-productList__list>*:nth-child(104) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 26;
		grid-row: 26;
	}

	.fs-c-productList__list>*:nth-child(105) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 27;
		grid-row: 27;
	}

	.fs-c-productList__list>*:nth-child(106) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 27;
		grid-row: 27;
	}

	.fs-c-productList__list>*:nth-child(107) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 27;
		grid-row: 27;
	}

	.fs-c-productList__list>*:nth-child(108) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 27;
		grid-row: 27;
	}

	.fs-c-productList__list>*:nth-child(109) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 28;
		grid-row: 28;
	}

	.fs-c-productList__list>*:nth-child(110) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 28;
		grid-row: 28;
	}

	.fs-c-productList__list>*:nth-child(111) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 28;
		grid-row: 28;
	}

	.fs-c-productList__list>*:nth-child(112) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 28;
		grid-row: 28;
	}

	.fs-c-productList__list>*:nth-child(113) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 29;
		grid-row: 29;
	}

	.fs-c-productList__list>*:nth-child(114) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 29;
		grid-row: 29;
	}

	.fs-c-productList__list>*:nth-child(115) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 29;
		grid-row: 29;
	}

	.fs-c-productList__list>*:nth-child(116) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 29;
		grid-row: 29;
	}

	.fs-c-productList__list>*:nth-child(117) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 30;
		grid-row: 30;
	}

	.fs-c-productList__list>*:nth-child(118) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 30;
		grid-row: 30;
	}

	.fs-c-productList__list>*:nth-child(119) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 30;
		grid-row: 30;
	}

	.fs-c-productList__list>*:nth-child(120) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 30;
		grid-row: 30;
	}

	.fs-c-productList__list>*:nth-child(121) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 31;
		grid-row: 31;
	}

	.fs-c-productList__list>*:nth-child(122) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 31;
		grid-row: 31;
	}

	.fs-c-productList__list>*:nth-child(123) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 31;
		grid-row: 31;
	}

	.fs-c-productList__list>*:nth-child(124) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 31;
		grid-row: 31;
	}

	.fs-c-productList__list>*:nth-child(125) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 32;
		grid-row: 32;
	}

	.fs-c-productList__list>*:nth-child(126) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 32;
		grid-row: 32;
	}

	.fs-c-productList__list>*:nth-child(127) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 32;
		grid-row: 32;
	}

	.fs-c-productList__list>*:nth-child(128) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 32;
		grid-row: 32;
	}

	.fs-c-productList__list>*:nth-child(129) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 33;
		grid-row: 33;
	}

	.fs-c-productList__list>*:nth-child(130) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 33;
		grid-row: 33;
	}

	.fs-c-productList__list>*:nth-child(131) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 33;
		grid-row: 33;
	}

	.fs-c-productList__list>*:nth-child(132) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 33;
		grid-row: 33;
	}

	.fs-c-productList__list>*:nth-child(133) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 34;
		grid-row: 34;
	}

	.fs-c-productList__list>*:nth-child(134) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 34;
		grid-row: 34;
	}

	.fs-c-productList__list>*:nth-child(135) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 34;
		grid-row: 34;
	}

	.fs-c-productList__list>*:nth-child(136) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 34;
		grid-row: 34;
	}

	.fs-c-productList__list>*:nth-child(137) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 35;
		grid-row: 35;
	}

	.fs-c-productList__list>*:nth-child(138) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 35;
		grid-row: 35;
	}

	.fs-c-productList__list>*:nth-child(139) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 35;
		grid-row: 35;
	}

	.fs-c-productList__list>*:nth-child(140) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 35;
		grid-row: 35;
	}

	.fs-c-productList__list>*:nth-child(141) {
		-ms-grid-column: 1;

		grid-column: 1;
		-ms-grid-row: 36;
		grid-row: 36;
	}

	.fs-c-productList__list>*:nth-child(142) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 36;
		grid-row: 36;
	}

	.fs-c-productList__list>*:nth-child(143) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 36;
		grid-row: 36;
	}

	.fs-c-productList__list>*:nth-child(144) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 36;
		grid-row: 36;
	}

	.fs-c-productList__list>*:nth-child(145) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 37;
		grid-row: 37;
	}

	.fs-c-productList__list>*:nth-child(146) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 37;
		grid-row: 37;
	}

	.fs-c-productList__list>*:nth-child(147) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 37;
		grid-row: 37;
	}

	.fs-c-productList__list>*:nth-child(148) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 37;
		grid-row: 37;
	}

	.fs-c-productList__list>*:nth-child(149) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 38;
		grid-row: 38;
	}

	.fs-c-productList__list>*:nth-child(150) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 38;
		grid-row: 38;
	}

	.fs-c-productList__list>*:nth-child(151) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 38;
		grid-row: 38;
	}

	.fs-c-productList__list>*:nth-child(152) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 38;
		grid-row: 38;
	}

	.fs-c-productList__list>*:nth-child(153) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 39;
		grid-row: 39;
	}

	.fs-c-productList__list>*:nth-child(154) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 39;
		grid-row: 39;
	}

	.fs-c-productList__list>*:nth-child(155) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 39;
		grid-row: 39;
	}

	.fs-c-productList__list>*:nth-child(156) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 39;
		grid-row: 39;
	}

	.fs-c-productList__list>*:nth-child(157) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 40;
		grid-row: 40;
	}

	.fs-c-productList__list>*:nth-child(158) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 40;
		grid-row: 40;
	}

	.fs-c-productList__list>*:nth-child(159) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 40;
		grid-row: 40;
	}

	.fs-c-productList__list>*:nth-child(160) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 40;
		grid-row: 40;
	}

	.fs-c-productList__list>*:nth-child(161) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 41;
		grid-row: 41;
	}

	.fs-c-productList__list>*:nth-child(162) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 41;
		grid-row: 41;
	}

	.fs-c-productList__list>*:nth-child(163) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 41;
		grid-row: 41;
	}

	.fs-c-productList__list>*:nth-child(164) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 41;
		grid-row: 41;
	}

	.fs-c-productList__list>*:nth-child(165) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 42;
		grid-row: 42;
	}

	.fs-c-productList__list>*:nth-child(166) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 42;
		grid-row: 42;
	}

	.fs-c-productList__list>*:nth-child(167) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 42;
		grid-row: 42;
	}

	.fs-c-productList__list>*:nth-child(168) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 42;
		grid-row: 42;
	}

	.fs-c-productList__list>*:nth-child(169) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 43;
		grid-row: 43;
	}

	.fs-c-productList__list>*:nth-child(170) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 43;
		grid-row: 43;
	}

	.fs-c-productList__list>*:nth-child(171) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 43;
		grid-row: 43;
	}

	.fs-c-productList__list>*:nth-child(172) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 43;
		grid-row: 43;
	}

	.fs-c-productList__list>*:nth-child(173) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 44;
		grid-row: 44;
	}

	.fs-c-productList__list>*:nth-child(174) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 44;
		grid-row: 44;
	}

	.fs-c-productList__list>*:nth-child(175) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 44;
		grid-row: 44;
	}

	.fs-c-productList__list>*:nth-child(176) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 44;
		grid-row: 44;
	}

	.fs-c-productList__list>*:nth-child(177) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 45;
		grid-row: 45;
	}

	.fs-c-productList__list>*:nth-child(178) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 45;
		grid-row: 45;
	}

	.fs-c-productList__list>*:nth-child(179) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 45;
		grid-row: 45;
	}

	.fs-c-productList__list>*:nth-child(180) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 45;
		grid-row: 45;
	}

	.fs-c-productList__list>*:nth-child(181) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 46;
		grid-row: 46;
	}

	.fs-c-productList__list>*:nth-child(182) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 46;
		grid-row: 46;
	}

	.fs-c-productList__list>*:nth-child(183) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 46;
		grid-row: 46;
	}

	.fs-c-productList__list>*:nth-child(184) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 46;
		grid-row: 46;
	}

	.fs-c-productList__list>*:nth-child(185) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 47;
		grid-row: 47;
	}

	.fs-c-productList__list>*:nth-child(186) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 47;
		grid-row: 47;
	}

	.fs-c-productList__list>*:nth-child(187) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 47;
		grid-row: 47;
	}

	.fs-c-productList__list>*:nth-child(188) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 47;
		grid-row: 47;
	}

	.fs-c-productList__list>*:nth-child(189) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 48;
		grid-row: 48;
	}

	.fs-c-productList__list>*:nth-child(190) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 48;
		grid-row: 48;
	}

	.fs-c-productList__list>*:nth-child(191) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 48;
		grid-row: 48;
	}

	.fs-c-productList__list>*:nth-child(192) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 48;
		grid-row: 48;
	}

	.fs-c-productList__list>*:nth-child(193) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 49;
		grid-row: 49;
	}

	.fs-c-productList__list>*:nth-child(194) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 49;
		grid-row: 49;
	}

	.fs-c-productList__list>*:nth-child(195) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 49;
		grid-row: 49;
	}

	.fs-c-productList__list>*:nth-child(196) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 49;
		grid-row: 49;
	}

	.fs-c-productList__list>*:nth-child(197) {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 50;
		grid-row: 50;
	}

	.fs-c-productList__list>*:nth-child(198) {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 50;
		grid-row: 50;
	}

	.fs-c-productList__list>*:nth-child(199) {
		-ms-grid-column: 3;
		grid-column: 3;
		-ms-grid-row: 50;
		grid-row: 50;
	}

	.fs-c-productList__list>*:nth-child(200) {
		-ms-grid-column: 4;
		grid-column: 4;
		-ms-grid-row: 50;
		grid-row: 50;
	}
}

/* 追加CSS */

.ta_center {
	text-align: center !important;
}

.side #calendar table {
	width: 100%;
	margin: 7px auto 10px;
}

/* ここから商品カテゴリページ */
.fs-l-main {
	padding: 12px 0 0;
}

.fs-c-subgroup {
	clear: both;
	margin: 30px 0;
}

.fs-c-subgroupList {
	padding: 0;
}

.fs-c-subgroupList__link {
	background: #efefef;
	padding: 5px 4px;
}

.fs-c-subgroupList__item {
	flex-grow: 0;
}

.fs-c-subgroupList__link::after {
	grid-column: 1;
}

.fs-c-subgroupList__label {
	font-size: 13px;
	letter-spacing: 0.03em;
	font-weight: 500;
}

.fs-c-sortItems {
	margin: 0 auto;
}

.fs-c-listControl__status {
	margin-right: 8px;
}

.fs-c-listControl__status {
	font-size: 1.2rem;
}

.fs-c-pagination {
	font-size: 15px;
	margin: 8px auto 0;
}

@media screen and (min-width: 640px) {
	.fs-c-pagination {
		margin: 8px 8px 0;
	}
}

/* カテゴリH1 */
.fs-c-heading--page {
	font-weight: bold;
	font-size: 1.8rem;
	color: #333;
	border-bottom: 1px dotted #0A4466;
	padding: 0 0 3px 5px;
	margin-bottom: 6px;
}

.h1_bottom {
	font-size: 1.3rem;
	padding-left: 5px;
	margin-bottom: 15px;
	line-height: 1.5;
}

@media(width <=640px) {
	.fs-c-heading--page {
		font-weight: normal;
		font-size: 1.6rem;
		padding: 0 0 3px 10px;
		margin-bottom: 10px;
	}

	.h1_bottom {
		font-size: 1.2rem;
		padding: 0 10px;
		line-height: 1.4;
		color: #555;
	}
}

.fs-c-subgroupList__item {
	flex-basis: 50%;
}

@media screen and (min-width: 640px) {
	.fs-c-subgroupList__item {
		flex-basis: calc(25% + 1px);
	}
}

.fs-p-scrollingCartButton {
	display: none;
}

@media screen and (min-width: 640px) {
	.fs-p-scrollingCartButton {
		display: block;
	}

	.fs-body-category-order-workwear .fs-p-scrollingCartButton {
		bottom: 13%;
	}
}

.fs-c-subgroup .fs-c-listControl {
	display: none;
}

.fs-c-productName__name {
	font-weight: bold;
}

.fs-c-productPrice__main__label,
.fs-c-productPrice__addon--listed {
	font-size: 12px;
}

.fs-c-productPrice:not(.fs-c-productPrice--listed) .fs-c-productPrice__main__price {
	color: #e2403b;
}

.fs-c-productPrice--selling {
	color: #e2403b;
}

.fs-c-productPrice--selling .fs-c-productPrice__main__price {
	font-size: 20px;
	padding-right: 2px;
	font-weight: 600;
}

.fs-c-productPrice--listed .fs-c-price {
	font-size: 1.2rem;
}

.fs-c-productPrice__addon {
	font-size: 13px;
}

/* ここから商品詳細ページ */

/* パンくずリスト */

.fs-c-breadcrumb {
	margin-bottom: 10px;
	font-size: 1.3rem;
}

.fs-c-breadcrumb__list {
	padding: 0;
	margin-bottom: 5px;
}

@media(width <=640px) {
	.main_breadcrumb {
		.fs-c-breadcrumb {
			background-color: #f6f6f6;

			.fs-c-breadcrumb__list {
				padding: 7px 5px 1px 10px;

				.fs-c-breadcrumb__listItem {
					margin-bottom: 8px;
				}

				.fs-c-breadcrumb__listItem a {
					color: #666;
					font-size: 1.2rem;
					background-color: #fff;
					padding: 3px 4px;

					&:hover {
						color: #666;
					}
				}
			}
		}
	}
}

.fs-c-breadcrumb__listItem a {
	color: #0A4466;

	&:hover {
		color: #389938;
	}
}

.sab_breadcrumb {
	.sub_breadcrumb_ttl01 {
		border-bottom: 1px dotted #0A4466;
		padding: 0 0 3px 2px;
		margin-bottom: 6px;
	}

	.sub_breadcrumb_ttl01 p {
		font-size: 1.6rem;
		font-weight: bold;
	}
}

@media(width <=640px) {
	.sab_breadcrumb {
		.sub_breadcrumb_ttl01 {
			border-bottom: none;
			padding: 0;
			margin: 0;
		}

		.sub_breadcrumb_ttl01 p {
			padding: 8px 0 8px 8px;
			background-color: #eaeaea;
			font-size: 1.4rem;
		}

		.fs-c-breadcrumb__list {
			padding: 10px 5px 8px 10px;
			border-bottom: 1px dotted #ccc;
			margin-bottom: 0;

			&:nth-child(even) {
				background-color: #f6f6f6;
			}

			&:last-child {
				border-bottom: none;
			}

			.fs-c-breadcrumb__listItem {
				margin-bottom: 3px;
			}
		}

		.fs-c-breadcrumb__list a {
			color: #333;
		}
	}
}

.fs-body-product .fs-c-breadcrumb__list li:last-child {
	display: none;
}

.fs-body-product .fs-c-breadcrumb__list--subgroup:last-of-type {
	padding-bottom: 5px;
}

/* ポイント */
.itemtop_catcharea {
	position: relative;
	border-width: 2px;
	border-style: solid;
	border-color: rgb(218, 64, 51);
	border-image: initial;
	border-radius: 4px;
	margin: 2em 0px;
	padding: 15px 20px;
	line-height: 1.3;
}
@media(width <= 640px){
	.itemtop_catcharea{
		margin: 2em 10px;
		padding: 10px;
	}
}


.itemtop_catcharea::before {
	background-color: rgb(255, 255, 255);
	color: rgb(218, 64, 51);
	content: "POINT";
	font-weight: bold;
	left: 1em;
	position: absolute;
	top: -1em;
	padding: 0px 0.5em;
}

.catch_02 {
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.03em;
	color: rgb(218, 64, 51);
	margin-bottom: 5px;
}

.text_02 {
	font-size: 14px;
}


/* 独自コメント1バナー */
.op_4 img {
	width: 100%;
	margin-bottom: 5px;
}

/* メイン・サブ画像 */

@media screen and (min-width: 640px) {

	.fs-l-productLayout {
		grid-template-columns: 510px 1fr;
	}

	.fs-c-productCarouselMainImage__thumbnailList {
		overflow-x: visible;
		flex-wrap: wrap;
	}

	.fs-c-productCarouselMainImage,
	.fs-p-productDescription--full {
		width: 500px;
	}

	.fs-l-productLayout>h1,
	.fs-l-productLayout>script,
	.fs-l-productLayout>div:not(.fs-c-productCarouselMainImage, .fs-p-productDescription--full) {
		width: 430px;
	}

}

/* 商品名・バリエーションなど */
.fs-c-productNumber {
	border: none;
	/* color: #8C8C8C; */
	padding-left: 0;
}

.fs-c-productNumber__number {
	font-weight: normal;
}

h2.fs-c-productListItem__productName {
	font-size: 1.3rem;
}

.fs-c-productPrice--listed span {
	font-size: 1.2rem;
}

.fs-c-productPrice__main__label {
	font-size: 13px;
}

.fs-c-productPrices--productDetail .fs-c-productPrice:not(.fs-c-productPrice--listed) .fs-c-productPrice__main__price {
	font-size: 24px;
}

.fs-c-productPointDisplay {
	margin: 5px 0 13px;
}

.FS2_itemPrice_addition {
	font-size: 14px;
	margin-left: 2px;
}

.fs-c-button--addReview--detail {
	display: block;
	margin: 0 auto;
}

.btn_Inquiry:hover,
.btn_review:hover {
	opacity: 0.6;
}

.fs-p-snsArea {
	justify-content: center;
}

.select_area .fs-system-quantity-list {
	appearance: auto;
}

.select_area .fs-c-productQuantityAndWishlist__quantity {
	margin-left: 50px;
}

/* 商品説明（小）在庫表 */
.size_order_table table {
	width: 100%;
}

.size_order_table_title1 {
	font-weight: bold;
	text-align: center;
}

.size_order_table_title2 {
	text-align: center;
	margin-bottom: 5px;
}

/* 項目選択肢 */
.fs-c-productSelection {
	margin-top: 10px;
	margin-bottom: 8px;
}

/* 価格 */

.fs-c-productPostage {
	margin-bottom: 2px;
}

.fs-c-productPostage__label {
	background-color: #e2403b;
	padding: 7px 7px;
	font-weight: bold;
	color: #fff;
	letter-spacing: 0.15rem;
	font-size: 1.5rem;
}

.fs-c-productPostage::before,
.fs-c-productPostage::after {
	content: none;
}

/* スライダーパーツ */

/* 数量が横並びになるように調べてやる */

.select_area .fs-c-productQuantityAndWishlist__quantity {
	position: relative;
}

.select_area .fs-c-productQuantityAndWishlist__quantity::before {
	content: "数量";
	position: absolute;
	top: 2px;
	left: -38px;

}

/* 商品説明 */
.itemdes_base {
	font-size: 13px;
}

.fs-p-productDescription--full dl dt {
	font-weight: bold;
	padding: 0px 2% 8px 2%;
}

.fs-p-productDescription--full dl dd {
	font-size: 12px;
	padding: 0px 2% 10px 2%;
	border-bottom: 1px dotted #d8d8d8;
	margin-bottom: 10px;
}

/* 注意事項 */

.attention {
	margin: 20px 0;
}

@media screen and (max-width: 640px) {
	.attention {
		margin: 20px 10px;
	}
}

.attention p {
	font-size: 1.2rem;
}

.red {
	color: red;
}

.black {
	color: #333333;
}


.attention p a {
	text-decoration: underline;
}


/* 独自コメント2同一シリーズ */

.relationttl {
	position: relative;
	margin-bottom: 5px;
	font-size: 16px;
	font-weight: bold;
	padding: 0.4em 30px;
}

.relationttl::before {
	content: "";
	display: block;
	width: 14px;
	height: 14px;
	position: absolute;
	left: 8px;
	top: 11px;
	transform: rotate(45deg);
	border-width: 2px;
	border-style: solid;
	border-color: rgb(51, 51, 51);
	border-image: initial;
}

.relation {
	display: flex;
	flex-wrap: wrap;
	vertical-align: top;
}

.relation li {
	margin: 0 1% 15px 0;
	width: 19%;
}

.relation li img {
	margin-bottom: 5px;
	width: 100%;
}

.relation li p {
	font-size: 11px;
	text-align: left;
	letter-spacing: -0.03em;
}

@media screen and (max-width: 640px) {
	.relation li {
		margin: 0 1% 15px;
		width: 31%;
	}
}

/* ショッピングカート */

/* ライトエリア */

.amazon_delete {
	display: none;
}

.fs-c-purchaseHere__message {
	font-size: 13px;
	font-weight: 600;
}

.fs-c-payWithAmazon {
	border-top: 1px solid #b2b2b2;
	padding-top: 10px;
}

.btn_cart_member {
	font-size: 15px;
	font-weight: 600;
	background: #fd9310;
	border-radius: 11px;
	border: none
}

.btn_cart_member::after {
	content: "（会員ログイン画面へ）";
	display: block;
	font-size: 1.1rem;
	line-height: 1.1rem;
	font-weight: normal;
	margin-top: 10px;
}

.btn_cart_nomember {
	font-size: 14px;
	font-weight: 600;
	background: #ff5d2c;
	border-radius: 11px;
	border: none
}

.btn_cart_nomember::after {
	content: "（ご購入手続きへ）";
	display: block;
	font-size: 1.1rem;
	line-height: 1.1rem;
	font-weight: normal;
	margin-top: 10px;
}

.amazon_attention {
	padding-top: 10px;
}

/* メインエリア */

.fs-c-cartDiscountInfo__info {
	font-size: 15px;
	color: #DD2C08;
	line-height: 1.5;
}

.fs-p-announcement-border {
	border-top: 1px solid #b2b2b2;
	border-bottom: 1px solid #b2b2b2;
	padding-top: 10px;
}

.fs-c-button--continueShopping {
	background: #fff;
}

.fs-c-wishlistProduct__title {
	margin-top: 20px;
}

@media screen and (max-width: 640px) {
	.fs-c-button--continueShopping {
		min-width: 80%;
		margin-bottom: 10px;
		font-weight: bold;
	}

	.fs-c-continueShopping {
		text-align: center;
	}
}

/* ヘッダートップコンテンツのみ共通 */
.wrap .maincenter {
	margin: 0 auto;
}

.header_single {
	border-bottom: 3px solid #efefef;
}

/* カートログイン */

.fs-c-linkedServiceLogin__title {
	margin-bottom: 20px;
}

/* お客様情報入力 */

.fs-c-inputInformation__button {
	margin-bottom: 32px;
}

/* 特定取引法 */

#fs_AboutTerms .fs-c-documentColumn__content>ul>li,
#fs_AboutTerms .fs-c-documentColumn__content p {
	margin-bottom: 1rem;
}

.errorpage {
	width: 410px;
	margin: 0 auto;
}

.error_logo {
	height: 60px;
	margin-right: 10px;
}

.error_toTOP {
	font-size: 24px;
	line-height: 60px;
}

/* ご注文手続き */

.wrap .w_max {
	width: 100%;
}

/* ご注文完了 */

.prettl,
.ttl {
	font-size: 14px;
	font-weight: bold;
	margin-top: 15px;
	text-align: center;
}

.comfirm2 .main {
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 3px;
	text-align: center;
}

.comfirm2 .tet {
	text-align: center;
}

/* ヘルメットの名入れ印刷ページ */

#how_to_order {
	font-size: 1.4rem;
}

.fs-body-category-how-to-order .banner_orderhelmet {
	display: none;
}

#how_to_order .h2_grnbnr {
	text-align: left;
	margin: 0px 0px 15px;
	padding: 10px 0px 10px 15px;
	border-left: 10px solid rgb(51, 153, 0);
	border-bottom: 3px solid rgb(51, 153, 0);
	display: block;
	font-size: 1.5em;
	margin-block-start: 0.83em;
	margin-block-end: 0.83em;
	margin-inline-start: 0px;
	margin-inline-end: 0px;
	font-weight: bold;
}

#how_to_order .hto_flowbox,
.fs-body-category-receipt .hto_flowbox {
	width: 940px;
	background-color: rgb(250, 250, 250);
	margin: 20px 0;
	padding: 0px;
	overflow: auto;
	border-width: 1px;
	border-style: solid;
	border-color: rgb(238, 238, 238);
	border-image: initial;
	text-align: left;
}

#how_to_order .hto_flowbox1,
.fs-body-category-receipt .hto_flowbox1 {
	font-size: 143%;
	font-weight: bold;
	padding: 15px 15px 10px;
}

#how_to_order .hto_flowbox2,
.fs-body-category-receipt .hto_flowbox2 {
	width: 918px;
	background-color: rgb(255, 255, 255);
	overflow: auto;
	margin: 0px 10px 10px;
	padding: 15px;
	border-width: 1px;
	border-style: solid;
	border-color: rgb(238, 238, 238);
	border-image: initial;
}

#how_to_order {
	.hto_flowbox p {
		margin: 0px 0px 10px;
		line-height: 160%;
	}

	.hto_flowbox a {
		text-decoration: underline;
	}
}

#how_to_order .red {
	color: rgb(207, 1, 0);
}

#how_to_order .helmet_tel {
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	margin: 20px 0;
	border-top: solid 2px #eeeeee;
	border-bottom: solid 2px #eeeeee;
	padding: 55px 0 35px;

}

#how_to_order .mb0 {
	margin-bottom: 0;
}

.helmet_tel strong {
	font-size: 60px;
}

#how_to_order .helmet_tel strong a {
	pointer-events: none;
	text-decoration: none;
}

#how_to_order .helmet_tel p:nth-child(2) {
	margin: 0;
}


#how_to_order ul.fly141_1 {
	padding-left: 4%;
	padding-top: 10px;
	padding-bottom: 10px;
	overflow: auto;
	display: flex;
}

#how_to_order ul.fly141_1 li {
	width: 45%;
	float: left;
	margin-right: 5%;
	text-align: center;
}

#how_to_order ul.fly141_1 li img {
	width: 50%;
}

#how_to_order ul.fly141_1 li p {
	text-align: center;
	font-size: 22px;
	font-weight: bold;
	margin-top: 10px;
	margin-bottom: 5px;
	color: #ff8900;
}

#how_to_order ul.fly141_1 li a:hover {
	opacity: 0.5;
}

#how_to_order .fr80 {
	font-size: 13px;
	line-height: 1.5em;
}

#how_to_order ul.fly141_1 li div {
	margin-top: 5px;
	text-align: left;
}

#how_to_order .hto_boxL {
	float: left;
	width: 45%;
	overflow: auto;
	padding: 0px 20px 0px 0px;
}

#how_to_order .hto_boxR {
	width: 55%;
}

table {
	display: table;
	box-sizing: border-box;
	text-indent: initial;
	border-color: gray;
	border-collapse: collapse;
	vertical-align: top;
	border-spacing: 0px;
}

tbody {
	display: table-row-group;
	vertical-align: middle;
	border-color: inherit;
}

tr {
	display: table-row;
	vertical-align: inherit;
	border-color: inherit;
}

#how_to_order .hto_sampletable th {
	overflow-wrap: break-word;
}

#how_to_order table th {
	text-align: center;
	padding: 7px 11px;
}

table th {
	text-align: left;
	background-color: rgb(247, 248, 248);
	font-size: 93%;
	font-weight: normal;
	line-height: 1.6;
	padding: 10px;
	border-width: 1px;
	border-style: solid;
	border-color: rgb(216, 216, 216);
	border-image: initial;
	vertical-align: middle;
}

#how_to_order .hto_sampletable td {
	overflow-wrap: break-word;
}

#how_to_order table td {
	text-align: center;
	padding: 7px 11px;
}

table td {
	font-size: 100%;
	line-height: 1.6;
	padding: 5px;
	border-width: 1px;
	border-style: solid;
	border-color: rgb(216, 216, 216);
	border-image: initial;
}


#how_to_order .hto_feebox {
	width: 918px;
	background-color: rgb(255, 255, 255);
	margin: 15px auto 10px;
	padding: 15px;
	overflow: auto;
	border-width: 1px;
	border-style: solid;
	border-color: rgb(238, 238, 238);
	border-image: initial;
}

#how_to_order .topic1 {
	font-size: 18px;
	font-weight: bold;
	padding: 0px 0px 10px 5px;
	margin: 0px 0px 15px;
	border-bottom: 1px solid rgb(238, 238, 238);
}

#how_to_order .hto_feeboxL {
	float: left;
	width: 364px;
	margin: 0px 20px 0px 0px;
	padding: 0px 15px 0px 0px;
	border-right: 1px solid rgb(238, 238, 238);
}

.helmetpage_flex {
	width: 886px;
	display: flex;
}

#how_to_order .hto_feeboxL,
.hto_harfboxL {
	width: 50%;
}

.hto_feeboxR,
.hto_harfboxR {
	width: 50%;
}

.hto_harfboxL {
	margin-right: 40px;
}

#how_to_order .topic2 {
	font-size: 15px;
	color: rgb(51, 153, 0);
}

.helmetpage_font {
	flex-wrap: wrap;
	text-align: center;
}

.fontBOX,
.fontBOXend {
	width: 33%;
	padding: 0 5px;
}

#how_to_order .colorBOX2 {
	width: 134px;
	height: 40px;
}

.colorBOX_red {
	background-color: #EE1132;
}

.colorBOX_orange {
	background-color: #FF8022;
}

.colorBOX_yellow {
	background-color: #FFCB00;
}

.colorBOX_green {
	background-color: #0E6D46;
}

.colorBOX_lightblue {
	background-color: #009CBE;
}

.colorBOX_blue {
	background-color: #0071B9;
}

.colorBOX_darkblue {
	background-color: #22304F;
}

.colorBOX_purple {
	background-color: #765ECA;
}

.colorBOX_brown {
	background-color: #7D3824;
}

.colorBOX_white {
	background-color: #FFFFFF;
	border: 1px solid #CCCCCC;
	width: 132px;
	height: 38px;
}

.colorBOX_gray {
	background-color: #8C9DA1;
}

.colorBOX_black {
	background-color: #000000;
}

.colorBOX_gold {
	background-color: #a79221;
}

.colorBOX_silver {
	background-color: #c8cac9;
}

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

#how_to_order .colorBOX1 {
	width: 134px;
	text-align: center;
	margin: 0px 0px 5px;
}

.colorBOX {
	margin: 0 25px 20px;
}

.fs-body-category-how-to-order .fs-c-productList {
	display: none;
}

.seo_text {
	margin: 1.5rem;
}

/* ヘルメットの名入れ印刷ページ レスポンシブ*/

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

	#how_to_order .hto_flowbox,
	#how_to_order .hto_flowbox2 {
		width: auto;
	}

	.font_13 {
		font-size: 13px;
	}

	#how_to_order .helmet_tel {
		padding: 45px 0 25px;
	}

	.helmet_tel p:nth-child(3) {
		margin: 0;
	}

	.helmet_tel strong {
		font-size: 30px;
	}

	#how_to_order .helmet_tel strong a {
		pointer-events: auto;
	}

	#how_to_order ul.fly141_1 li {
		width: 100%;
		margin-bottom: 25px;
		text-align: center;
		margin-right: 0;
	}

	#how_to_order ul.fly141_1 li img {
		width: 40%;
	}

	#how_to_order .hto_boxL {
		padding: 0;
		margin-bottom: 5px;
		width: 100%;
	}

	#how_to_order .hto_boxR {
		width: 100%;
	}

	#how_to_order .hto_sampletable td {
		width: 70%;
	}

	.helmetpage_flex {
		display: block;
	}

	#how_to_order .hto_feebox,
	.helmetpage_flex,
	#how_to_order .hto_feeboxL,
	#how_to_order .hto_feeboxR {
		width: 100%;
	}

	#how_to_order .hto_feeboxL {
		padding: 0;
		border-right: none;
		margin-bottom: 15px;
	}

	.hto_harfboxL {
		margin-right: 0;
		width: 100%;
	}

	.hto_harfboxR {
		width: 100%;
	}

	.fontBOX {
		width: 100%;
	}

	.colorBOX {
		margin: 0 16px 20px;
	}

}


/* ここから刺繍加工ページ */

.fs-body-category-order-workwear #how_to_order .hto_boxL {
	width: 50%;
}

.fs-body-category-order-workwear #how_to_order .hto_boxR {
	width: 50%;
}

#float_btn {
	position: fixed;
	overflow: auto;
	bottom: 30px;
	right: 79px;
	z-index: 10;
}

#float_btn ul li {
	float: left;
	margin-left: 10px;
	overflow: auto;
}

#float_btn ul li a:link {
	text-decoration: none;
}

#float_btn ul li p {
	color: #FFF;
	background-color: #329902;
	text-align: center;
	padding: 0;
	font-size: 14px;
	display: block;
	width: 58px;
	height: 58px;
	border-radius: 58px;
	line-height: 58px;
}


.fs-body-category-order-workwear .to_top {
	width: 58px;
	height: 58px;
}

.fs-body-category-order-workwear .to_top img {
	width: 100%;
}

@media screen and (max-width: 640px) {
	.fs-body-category-order-workwear #how_to_order .hto_boxL {
		padding: 0;
		margin-bottom: 5px;
		width: 100%;
	}

	.fs-body-category-order-workwear #how_to_order .hto_boxR {
		width: 100%;
	}

	#float_btn {
		display: none;
	}

	.fs-body-category-order-workwear .to_top {
		width: 40px;
		height: 40px;
	}

	.fs-body-category-order-workwear .to_top img {
		width: 100%;
	}
}



/* お問い合わせ */
#how_to_order #hto7 #contact-bottom .otoiawasebtn {
	text-align: center;
}

#how_to_order #hto7 #contact-bottom .otoiawasebtn img {
	width: 80%;
}



/* FAXの書き方はこちら */
#how_to_order .btn-wrapper , #order-print .btn-wrapper {
	text-align: center;
	margin-top: 15px;
}

#how_to_order a.btn--orange {
	color: #fff;
	background-color: #E96D31;
	display: block;
	width: 100%;
	box-shadow: 0px 2px 2px #a14516;
}

#how_to_order a.btn , #order-print a.btn {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
	position: relative;
	display: inline-block;
	padding: 8px 0;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	letter-spacing: 0.1em;
	color: #212529;
	border-radius: 0.5rem;
}

#how_to_order a.btn--orange {
	color: #fff;
	background-color: #E96D31;
}

#how_to_order a.btn--orange:hover {
	opacity: .75;
	top: 1px;
	box-shadow: 0px 1px 2px #a14516
}

#how_to_order .link-btn a , #order-print .link-btn a {
	line-height: 80px;
	margin: 20px,0;
	display: block;
	width: 100%;
	border-radius: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

#how_to_order .link-btn .btn-blue , #order-print .link-btn .btn-blue {
	background-color: #00a1ea;
	box-shadow: 0px 3px 3px #006a9b;
}

#how_to_order .link-btn .btn-green , #order-print .link-btn .btn-green {
	background-color: #389938;
	box-shadow: 0px 3px 3px #216b21;
}

#how_to_order .link-btn a p , #order-print .link-btn a p {
	color: #fff;
	font-size: 2rem;
	font-weight: 1000;
	padding: 1rem,0;
}

#how_to_order .link-btn a img , #order-print .link-btn a img {
	height: 3rem;
	margin-right: 2rem;
}

#how_to_order .link-btn a:hover , #order-print .link-btn a:hover {
	opacity: .75;
	top: 1px;
	box-shadow: 0px 2px 3px #525252
}


/* ここからご利用ガイド */

.fs-body-about-returnPolicy .main,
.fs-body-category-guide01 .main,
.fs-body-category-guide02 .main,
.fs-body-category-guide03 .main,
.fs-body-category-guide04 .main,
.fs-body-category-guide05 .main {
	width: auto;
}

#fs_ReturnPolicy .guide_top,
#fs_ProductCategory .guide_top {
	width: auto;
	padding-bottom: 0;
	border-bottom: none;
	margin-bottom: 0;
}

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

#fs_ReturnPolicy .guide_menu,
#fs_ProductCategory .guide_menu {
	width: 28%;
	padding-right: 2%;
}

#fs_ReturnPolicy .guide_main,
#fs_ProductCategory .guide_main {
	width: 70%;
}

#guide_title {
	height: auto;
	font-size: 15px;
	cursor: pointer;
	background: #a7b0b5;
	line-height: 30px;
	padding: 10px;
	display: block;
	color: #fff;
	font-weight: 500;
}

.guide {
	font-size: 14px;
	text-decoration: none;
	text-align: left;
	display: block;
}

.guide li {
	border-bottom: 1px dotted #D5D5D5;
	height: auto;
}

.guide li a {
	display: block;
	text-decoration: none;
	background: #FFF;
	color: #333333;
}

.guide li p {
	padding: 11px 5px 11px 20px;
}

.guide_02 {
	font-size: 15px;
	text-decoration: none;
	color: #FFF;
	text-align: left;
	display: block;
}

.guide_02 li {
	color: #FFF;
	border-bottom: 1px dotted #D5D5D5;
	height: auto;
}

.guide_02 li a {
	display: block;
	text-decoration: none;
	background-color: #cfd5d9;
	color: #333333;
}

.guide_02 li p {
	font-size: 14px;
	padding: 15px 10px;
}

#fs_ReturnPolicy .guide_title_top,
#fs_ProductCategory .guide_title_top {
	font-size: 21px;
	font-weight: 600;
	border-left: 6px solid #d5d5d5;
	padding-left: 10px;
	margin-bottom: 20px;
}

#guide_title p {
	color: #ffffff;
}

.guide_main .guide_txt {
	margin-bottom: 40px;
}

.guide_main h3 {
	padding-left: 15px;
	padding-top: 10px;
	padding-bottom: 10px;
	margin-bottom: 10px;
	text-align: left;
	background-color: #f3f3f3;
	font-size: 18px;
	letter-spacing: 0.1em;
	font-weight: bold;
}

.guide_txt p span {
	color: #d80000;
}

.guide_main h4 {
	background: url(https://mamoru.itembox.design/item/img/common/h_icon_01.gif) no-repeat 0 7px;
	background-position: left;
	font-size: 18px;
	font-weight: bold;
	color: #555555;
	padding-left: 22px;
	margin-bottom: 10px;
}

.guide_txt .flow2 {
	margin-bottom: 30px;
}

.guide_txt .flow2 .flexbox {
	background: url(https://mamoru.itembox.design/item/img/guide/con_bk.gif) no-repeat;
	background-position: center;
	padding: 10px;
	overflow: hidden;
	height: 338px
}

.guide_txt .flow2 .flex_L img {
	border: #dddddd solid 1px;
}

.flex_L {
	width: 53%;
}

.flex_R {
	width: 47%;
	font-size: 14px;
}

.indent {
	display: table;
}

.indent p {
	display: table-cell;
	vertical-align: middle;
	padding-left: 0.9em;
	text-indent: -1.2em;
}

.guide_txt .fax {
	background: #fff;
	border: #cccccc solid 1px;
	padding: 10px;
	width: 510px;
	margin-bottom: 20px;
}

.mb15 {
	margin-bottom: 15px;
}

.fax .flex_L {
	width: 52%;
}

.fax .flex_R {
	width: 48%;
}

.guide_txt dl dt {
	margin-bottom: 15px;
}

table td {
	vertical-align: middle;
}

.guide_txt::before {
	margin-top: 0 !important;
	height: 0 !important;
}

.guide_txt dl dd {
	margin-bottom: 20px;
}

.guide_txt dl dd span {
	color: #d80000;
}

.fs-body-category-guide01 .fs-c-productList,
.fs-body-category-guide02 .fs-c-productList,
.fs-body-category-guide03 .fs-c-productList,
.fs-body-category-guide04 .fs-c-productList,
.fs-body-category-guide05 .fs-c-productList {
	display: none;
}

.delivery_table {
	width: 100%;
	table-layout: fixed;
}

.mb10 {
	margin-bottom: 10px;
}

.guide_txt a {
	color: #0085B2;
	text-decoration: underline;
}

.guide_txt table.pa_img td {
	height: 115px;
	vertical-align: middle;
}

.guide_txt .pa_img {
	margin-bottom: 20px;
}

.guide_txt span.guide_under {
	text-decoration: underline;
	font-weight: bold;
}

/* ここからご利用ガイド04 */

.guide_txt .excange_cap {
	width: 360px;
}

.exchangearea {
	margin-bottom: 10px;
	padding: 20px 0;
	background-color: #f6f6f6;
}

@media(width <=640px) {
	.exchangearea {
		margin: 0 10px 10px 10px;
	}
}

.exchangearea .exchange_ttl_01,
.exchangearea .exchange_ttl_02 {
	font-size: 2.2rem;
	text-align: center;
	font-weight: bold;
	letter-spacing: 0.05em;
	margin-bottom: 5px;
}

.exchangearea p.exchange_content_01,
.exchangearea p.exchange_content_02 {
	font-weight: bold;
	text-align: center;
	margin: 0;
	font-size: 1.4rem;
}

.exchangearea p.exchange_content_01 span,
.exchangearea p.exchange_content_02 span {
	margin: 0.2em;
	font-size: 1.2em;
}
.exchangearea p.exchange_content_01 span.guide_link,
.exchangearea p.exchange_content_02 span.guide_link {
	font-size: 0.9em;
}

.exchangearea p.exchange_content_01 span {
	color: #390;
}
.exchangearea p.exchange_content_02 span {
	color: #8c2200;
}

@media screen and (max-width: 640px) {
	.exchangearea {
		padding: 15px 0;
	}
}

.guide_txt dl dt {
	margin-bottom: 5px;
}

.mb20 {
	margin-bottom: 20px;
}

.fs-body-category-guide04 .guide_txt dt {
	font-weight: bold;
}

.guide_txt p span.print {
	font-size: 17px;
	font-weight: bold;
}

.fs_18 {
	font-size: 18px;
}

.fs-body-category-guide05 #theme01 table {
	width: 50%;
}

.fs-body-category-guide05 #theme01 table td {
	vertical-align: middle;
}

.guide_txt td.cal01 {
	border: none;
	vertical-align: top;
	width: 100%;
}

.guide_txt td.cal01_01 {
	text-align: center;
	vertical-align: middle;
}

.guide_txt td.cal01_02 {
	vertical-align: middle;
}

.fs-body-category-guide05 .flex_L {
	width: 70%;
}

.fs-body-category-guide05 .flex_R {
	width: 30%;
}

.fs-body-category-guide05 #theme02 .flexbox table {
	width: 80%;
}

.guide_cal .cal02 {
	text-align: center;
}

.fw_bold {
	font-weight: bold;
}

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

	#guide_title {
		font-size: 18px !important;
	}

	#fs_ReturnPolicy .guide_menu,
	#fs_ProductCategory .guide_menu {
		padding-right: 0;
		margin-bottom: 20px;
		font-weight: bold;
	}

	.guide,
	.guide_02 li p {
		font-size: 16px !important;
	}


	.guide_main h3 {
		padding: 10px 15px;
	}

	#fs_ReturnPolicy .guide_menu,
	#fs_ReturnPolicy .guide_main,
	#fs_ProductCategory .guide_menu,
	#fs_ProductCategory .guide_main,
	.flex_L,
	.flex_R {
		width: 100%;
	}


	.guide_txt .flow2 .flexbox {
		height: 420px;
		background-size: auto 420px;
	}

	.flex_L {
		height: 280px;
		text-align: center;
	}

	.flex_R {
		display: block;
		padding-bottom: 20px;
	}

	.guide_txt .flow2>.indent>p {
		padding-left: 1.7em;
	}

	.guide_txt .fax {
		width: auto;
		text-align: center;
	}

	.fax .flex_L,
	.fax .flex_R {
		width: 100%;
	}

	.fax .flex_R {
		padding-bottom: 0;
	}

	.fax .flex_L {
		height: auto;
	}

	.ta_center_sp {
		text-align: center;
	}



	.excange_cap {
		margin: auto;
	}

	.fs-body-category-guide05 #theme01 table {
		width: auto;
		margin: auto;
	}

	.fs-body-category-guide02 .table2 {
		width: 100%;
	}


	.fs-body-category-guide05 #theme02 .flexbox table,
	.fs-body-category-guide05 .flex_L,
	.fs-body-category-guide05 .flex_R {
		width: 100%;
	}

	.fs-body-category-guide05 .flex_L table th {
		width: 60px;
	}

	.guide_txt td.cal01_01 {
		width: 55px;
	}

	.fs-body-category-guide05 .flex_L {
		height: auto;
		margin-bottom: 20px;
	}

	.fs-body-category-guide05 .flex_R {
		padding-bottom: 0;
	}

	.fs-body-category-guide05 .flex_L table .cal01_02 {
		text-align: left;
	}
}


/* メインCSSから追記ここから */

#Resp_main {
	margin: 25px 0;
}

/*　画面サイズが480pxからはここを読み込む　*/
@media screen and (min-width:480px) {
	#Resp_main {
		max-width: 1070px;
		margin: 0 auto;
		margin-top: 25px;
		margin-bottom: 55px;
	}
}

/*以下より個別記述*/

.mainTitle {
	text-align: center;
	letter-spacing: 3px;
	display: flex;
	flex-direction: column;
	margin-bottom: 4px;
}

.mainTitle span {
	display: inline-block;
}

.mainTitle span:first-of-type {
	letter-spacing: 2px;
	margin-bottom: 11px;
	font-size: 14px;
	color: #66472c;
}

.mainTitle span:last-of-type {
	color: #43270f;
	font-family: Century Gothic, sans-serif;
	font-size: 30px;
	letter-spacing: 3px;
	margin-bottom: 15px;
}

.rankingblockInner {
	padding: 0 10px;
}

.dispFlex {
	display: flex;
}

.rankchild01 {
	justify-content: space-between;
	margin-bottom: 20px;
}

.rankchild01 div {
	flex-basis: calc((100% - 20px) / 2);
}

.card .cardVerticalLink {
	display: block;
	cursor: pointer;
}

.rankingblock {
	margin-bottom: 45px;
}

.rankingblock .rankNum {
	font-weight: bold;
	position: absolute;
	color: #fff;
	font-weight: bold;
	text-align: center;
	line-height: 1.1;
	box-sizing: border-box;
	margin: 0;
}

.rankingblock .rankchild01 .rankNum {
	font-size: 11px;
	width: 35px;
	height: 35px;
	padding: 4px 0 4px;
}

.rankingblock .rankchild02 .rankNum {
	font-size: 10px;
	width: 30px;
	height: 30px;
	padding: 5px 0 4px;
	background: #000;
}

.rankingblock .dispFlex.rankchild01>div .rankNum span {
	font-size: 17px;
}

.rankingblock .dispFlex.rankchild01>div:first-of-type .rankNum {
	background: #C9B23E;
}

.rankingblock .dispFlex.rankchild01>div:last-of-type .rankNum {
	background: #797979;
}

.card .cardVerticaTxt {
	margin-top: 5px;
	line-height: 1.6rem;
	letter-spacing: 0.1rem;
	font-size: 1.2rem;
	padding-left: 3%;
	padding-right: 3%;
	text-align: left;
	text-decoration: underline;
}

.card .cardVerticaTxt:hover {
	color: #389938;
}

.rankchild02 {
	flex-wrap: wrap;
}

.rankingblock .rankchild02 div {
	flex-basis: calc((100% - 12px) / 3);
	margin-right: 5px;
}

.rankchild02 div {
	flex-basis: calc((100% - 15px) / 3);
	margin-right: 5px;
}

.rankchild02 div:last-of-type {
	margin-right: 0;
}

.pickupblock {
	margin-bottom: 45px;
	padding: 0 5px 0 10px;
}

.dispFlex .cardVertical {
	margin-bottom: 15px;
}

.btnMore {
	border: 1px solid #36b7f4;
	text-align: center;
	border-radius: 100px;
	width: 250px;
	margin: 10px auto 15px;
}

.btnMore p {
	line-height: 3em;
	font-size: 1, 3rem;
	font-weight: normal;
	letter-spacing: 1px;
}

.btnMore p a {
	display: block;
	text-decoration: none;
	color: #08c;
}

.ttl_area .pickup_txt {
	font-size: 1.2rem;
	text-align: left;
	margin-bottom: 20px;
}

/*　画面サイズが480pxからはここを読み込む　*/
@media screen and (min-width:480px) {
	.ttl_area {
		border-bottom: 2px solid #D4D1CC;
		margin-bottom: 10px;
	}

	.ttl_area_noline {
		border-bottom: none;
		margin-bottom: 10px;
	}

	.ttl_area .pickup_txt {
		font-size: 13px;
		padding: 0 5px;
		margin-bottom: 10px;
	}

	.mainTitle {
		flex-direction: row;
		align-items: flex-end;
		padding: 0 0 5px 3px;
		margin-bottom: 0px;
	}

	.mainTitle span:first-of-type {
		order: 2;
		margin-bottom: 4px;
	}

	.mainTitle span:last-of-type {
		order: 1;
		margin: 0 10px 0 0;
	}

	.rankingblockInner {
		background: #eaeaea;
		padding: 16px;
	}

	.rankchild01 {
		float: left;
		width: 44%;
		box-sizing: border-box;
		margin-bottom: 0;
	}

	.rankchild01 div {
		flex-basis: calc((100% - 6px) / 2);
		margin-bottom: 0;
	}

	.rankingblockInner .rankchild02 {
		float: right;
		width: 55%;
		box-sizing: border-box;
	}

	.rankingblock .rankchild02 div {
		margin-top: 2.5%;
	}

	.clearFix::after {
		content: "";
		display: block;
		clear: both;
	}

	.pickupblock {
		padding: 0;
	}

	.rankchild02 div {
		flex-basis: calc((100% - 15px) / 4);
		margin-right: 5px;
	}

	.rankchild02 div:nth-child(4n) {
		margin-right: 0;
	}

	.btnMore {
		margin-left: auto;
		margin-right: 0;
	}
}


ul.anchor_btn {}

ul.anchor_btn li {
	display: inline-block;
	width: 49%;
	box-sizing: border-box;
	text-align: center;
	margin-bottom: 10px;
	padding: 0 3px;
}

ul.anchor_btn li a {
	display: block;
	padding: 5px;
	font-size: 14px;
	border: 1px solid #36b7f4;
	line-height: 1.5em;
	color: #08c;
	border-radius: 30px;
	text-decoration: none;
}

/*　画面サイズが480pxからはここを読み込む　*/
@media screen and (min-width:480px) {
	ul.anchor_btn {
		margin-top: 30px;
	}

	ul.anchor_btn li {
		width: 24%;
		margin-bottom: 20px;
	}

	ul.anchor_btn li a {
		padding: 10px 5px;
		transition: 0.3s;
	}

	ul.anchor_btn li a:hover {
		background-color: #36b7f4;
		color: #fff;
		border-color: #08c;
	}
}

/*タブ切り替え全体のスタイル*/
.tabs {
	margin-top: 50px;
	padding-bottom: 40px;
	width: 100%;
	margin: 0 auto;
}

/* :::::: button :::::: */
.tabBtn {
	display: flex;
	list-style: none;
	width: 100%;
	margin: 0 0 1px;
	padding: 0;
	text-align: center;
}

.tabBtn li {
	flex-basis: calc(100%/2);
}

.tabBtn a {
	display: flex;
	justify-content: center;
	align-items: center;
	color: #565656;
	overflow: hidden;
	border-bottom: 3px solid #5ab4bd;
	background-color: #d9d9d9;
	font-size: 10px;
	text-decoration: none;
	height: 50px;
	line-height: 1.4;
	font-weight: bold;
	transition: all 0.3s ease;
	letter-spacing: 0.1em;
}

.tabBtn a.emp {
	background-color: #5ab4bd;
	color: #fff;
}

/*画面サイズが480pxからはここを読み込む　*/
@media screen and (min-width:480px) {
	.tabBtn a {
		font-size: 14px;
	}

	.tabBtn a br {
		display: none;
	}

	.tabBtn a:hover {
		opacity: 0.75;
	}
}

.tabContents section.tabinner {
	display: none;
	padding: 40px 0 0 0;
	clear: both;
	overflow: hidden;
}

.tabBtn a[href="#tab-1"],
#tab-1:target~.tabBtn a[href="#tab-1"],
#tab-2:target~.tabBtn a[href="#tab-2"],
#tab-3:target~.tabBtn a[href="#tab-3"],
#tab-4:target~.tabBtn a[href="#tab-4"],
#tab-5:target~.tabBtn a[href="#tab-5"] {
	background-color: #5ab4bd;
	color: #fff;
}

.tabContents #section-1,
#tab-1:target~.tabContents #section-1,
#tab-2:target~.tabContents #section-2,
#tab-3:target~.tabContents #section-3,
#tab-4:target~.tabContents #section-4,
#tab-5:target~.tabContents #section-5 {
	display: block;
}

.switch {
	display: none;
}

.switch:target~.tabBtn a[href="#tab-1"] {
	color: #565656;
	background-color: #d9d9d9;
}

.switch:target~.tabContents #section-1 {
	display: none;
}

/*サンプルページ補足　*/
#Resp_main ul.sample_form {
	background-color: #d6eaeb;
	overflow: auto;
}

#Resp_main ul.sample_form li {
	width: 50%;
	float: left;
	padding: 7%;
}

/*画面サイズが480pxからはここを読み込む　*/
@media screen and (min-width:480px) {
	#Resp_main ul.sample_form li {
		width: 50%;
		padding: 10%;
	}
}

.sample_back {
	background-color: #d6eaeb;
	margin-bottom: -55px;
}

.campaign_video {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	margin: 50px 0;
}

.campaign_video iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

.seo_text {
	text-align: left;
}

/* 作業帽オプション品追加CSS */
table.hel_table_area {
	border-collapse: collapse;
	margin: 0 auto;
	width: 100%;
	table-layout: fixed;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
}

table.hel_table_area th,
table.hel_table_area td {
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}

table.hel_table_area tr {
	background: #eee;
}

table.hel_table_area th {
	padding: 1em;
	text-align: center;
}

table.hel_table_area tbody tr {
	background-color: #fff;
}

table.hel_table_area tbody th,
table.hel_table_area tbody td {
	padding: 1em;
	vertical-align: middle;
}

table.hel_table_area tbody th {
	line-height: 1.6em;
}

table.hel_table_area .dispFlex {
	display: block;
}

.hel_table_itemname {
	display: block;
	margin: 0.5em 0 1em 0;
}

/*画面サイズが480px以下はここを読み込む*/
@media screen and (max-width: 480px) {
	table.hel_table_area {
		border: none;
	}

	table.hel_table_area th,
	table.hel_table_area td {
		border: none;
	}

	table.hel_table_area th {
		text-align: left;
	}

	table.hel_table_area thead {
		display: none;
	}

	table.hel_table_area tbody tr {
		display: block;
		margin-bottom: 10px;
	}

	table.hel_table_area tbody th,
	table.hel_table_area tbody td {
		display: block;
		padding-left: 6em;
		position: relative;
		border: solid 1px #ccc;
	}

	table.hel_table_area tbody th {
		background-color: #eee;
		line-height: 1.3em;
	}

	table.hel_table_area tbody th:before,
	table.hel_table_area tbody td:before {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		left: 3%;
		display: block;
		content: attr(data-label);
		font-weight: bold;
	}

	table.hel_table_area .dispFlex {
		display: flex;
	}

	.hel-table-01,
	.hel-table-01 {
		padding: 0 10px;
	}


	/* 作業帽オプション品追加CSS End */


	@media screen and (max-width: 479px) {
		#floatL {
			display: none;
		}
	}

	@media screen and (min-width: 1321px) {
		#floatL {
			position: fixed;
			bottom: 30%;
			left: 0;
			width: 110px;
			z-index: 100000000000;
		}
	}

	#floatL li {
		margin-bottom: 5px;
		text-align: left;
	}

	#floatL li a {
		display: block;
	}


	#floatL li a img {
		width: 100%;
		height: auto;
		-webkit-transition: 0.2s;
		-moz-transition: 0.2s;
		-o-transition: 0.2s;
		transition: 0.2s;
	}

	#floatL li a img:hover {
		position: relative;
		padding: 0 0 0 20px;
		filter: alpha(opacity=1);
		opacity: 1;
	}

	#floatL li.nonlink {
		margin-bottom: 5px;
		text-align: left;
	}

	#floatL li.nonlink a img {
		width: 100%;
		height: auto;
		-webkit-transition: 0.2s;
		-moz-transition: 0.2s;
		-o-transition: 0.2s;
		transition: 0.2s;
	}

	#floatL li.nonlink a img:hover {
		position: relative;
		padding: 0 0 0 0px;
		filter: alpha(opacity=1);
		opacity: 1;
	}

	#floatL li.nonlink img {
		width: 100%;
		height: auto;
	}
}

/* メインCSSから追記ここまで */

/* キャンペーンページ追記ここから */

.dis_none {
	display: none;
}

.mainTitle span {
	display: inline-block;
	font-weight: bold;
}

div.seo_text h2.seo_text_sbttl {
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.1em;
	border-left: 2px solid rgb(0, 48, 88);
	padding: 0.6em 0px 0.6em 0.4em;
	margin: 1.5em 0.3em 0.5em 0.4em;
}

div.seo_text p {
	line-height: 1.5;
	letter-spacing: 0.05em;
	font-size: 1.3rem;
}

@media screen and (min-width: 1305px) {
	#floatL li a {
		display: block;
	}

	#floatL {
		position: fixed;
		top: 40%;
		right: 0;
		width: 115px;
		margin-top: -200px;
		z-index: 20;
	}

	#floatL li a img:hover {
		position: relative;
		padding: 0 5px 0 0;
		filter: alpha(opacity=1);
		opacity: 1;
	}

	#floatL li.nonlink {
		margin-bottom: 5px;
	}

	#floatL li {
		margin-bottom: 5px;
		text-align: right;
	}
}

/* ここからサービス特集 */

#header_pc #btmHDv2 {
	width: 1200px;
	margin: 0 auto;
	padding: 10px 0 10px 0;
}

.fs-body-category-service .nvarea ul.gnavi_v2 {
	width: 1150px;
}

.fs-body-category-service #footer2 .footer2_wrap {
	width: 1200px;
}

.fs-body-category-service #footer2 ul.ft_column {
	margin: 0 auto;
}

.fs-body-category-service #footer2 .footer2_wrap .ft_column .ft_column1 {
	width: 220px;
	height: auto;
}


/* matsuki */

div.sa_tittle1 {
	clear: both;
	margin-bottom: 10px;
}

div.sa_tittle1 p,
div.sa_tittle1 h2.title-safety-belt {
	font-size: 17px;
	letter-spacing: 0.1em;
	border-bottom: 4px solid #349800;
	padding: 8px 0 8px 8px;
}

div.sa_tittle1 p span.sa_tittle2,
div.sa_tittle1 h2.title-safety-belt span {
	font-size: 12px;
	letter-spacing: 0.05em;
	padding: 0 0 0 5px;
}

div.sa_tittle5 p {
	font-size: 2rem;
	letter-spacing: 0.1em;
	border-bottom: 2px solid #c0cdc0;
	padding: 0 0 2px 10px;
	margin-bottom: 10px;
}

div.cate_columnarea {
	position: relative;
	border: 1px solid #eeeeee;
	margin-bottom: 15px;
	padding: 12px 2% 3px 2%;
	overflow: auto;
}

div.cate_columnarea ul li {
	margin: 0 0 10px 4%;
	width: 46%;
	float: left;
	height: 30px;
	font-size: 14px !important;
	position: relative;
	letter-spacing: 0.03em;
}


div.cate_columnarea ul li::after,
div.cate_columnarea ul li::before {
	display: block;
	content: '';
	position: absolute;
}

div.cate_columnarea ul li::after {
	top: 1.5px;
	left: -22px;
	width: 14px;
	height: 14px;
	background-color: #3498db;
	border-radius: 100%;
}

div.cate_columnarea ul li::before {
	z-index: 2;
	top: 6px;
	left: -18px;
	width: 4px;
	height: 4px;
	border-right: 1px solid #FFFFFF;
	border-bottom: 1px solid #FFFFFF;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

div.cate_columnarea ul li a {
	text-decoration: none;
	font-size: 13px !important;
}

@media screen and (max-width: 640px) {
	div.cate_columnarea ul li {
		float: none;
		width: 100%;
	}
}

div.gloveBox300L {
	float: left;
	height: 138px;
	width: 465px;
	border: 1px solid #cecece;
	overflow: hidden;
	box-sizing: border-box;
	margin-right: 10px;
}

div.gloveBox300R {
	/* float: right; */
	height: 138px;
	width: 465px;
	border: 1px solid #cecece;
	overflow: hidden;
	box-sizing: border-box;
}

div.gloveimageBox {
	position: relative;
	float: left;
	width: 120px;
	margin-right: 10px;
	border-right: 1px solid #cecece;
}

div.gloveimageBox #absolute {
	position: absolute;
	bottom: 0px;
	right: -345px;
}

div.glovetextBox {
	margin: 10px;
}

div.glovetextBox p.catch {
	color: #349800;
	font-size: 12px;
	margin-top: 10px;
}

div.glovetextBox p.title {
	font-size: 15px;
	margin-bottom: 5px;
}

div.glovetextBox p.text {
	font-size: 12px;
}

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

	div.gloveBox300L,
	div.gloveBox300R {
		width: 100%;
		height: auto;
		margin: 0 2px 10px 0;
		border-right: 0px;
		border-left: 0px;
	}

	div.gloveimageBox #absolute {
		right: 0;
	}
}

ul.colorHD {
	clear: both;
	margin: 0 0 10px 0;
}

ul.colorHD li {
	display: inline-block;
	margin-right: 1%;
	width: 32%;
	box-sizing: border-box;
}

/* ul.colorHD li:last-child {
	margin-right: 0;
} */

@media screen and (max-width: 640px) {
	ul.colorHD {
		margin: 0;
		text-align: center;
	}

	ul.colorHD li {
		margin: 0 0 10px 0;
		width: 100%;
	}

	ul.colorHD li img {}
}

div.makerList {
	width: 100%;
	background: #eee;
	overflow: hidden;
	margin-bottom: 20px;
}

div.makerList dl {
	display: inline-block;
	margin: 10px 0 10px 10px;
	vertical-align: top;
}

div.makerList dl dt {
	box-sizing: border-box;
	width: 90px;
	height: 90px;
	border: 1px solid #cecece;
	margin-bottom: 5px;
}

div.makerList dl dd {
	width: 90px;
	font-size: 88%;
	overflow: hidden;
	text-align: center;
}

div.makerList dl dd {
	width: 90px;
	overflow: hidden;
	text-align: center;
}

ul.bnrCon {
	clear: both;
	margin-bottom: 10px;
	display: flex;
}

ul.bnrCon li {
	margin-right: 5px;
}

ul.bnrCon li:last-child {
	margin-right: 0;
}

@media screen and (max-width: 640px) {
	ul.bnrCon {}

	ul.bnrCon li {}
}

.ww-mk {
	float: left;
	width: 465px;
	text-align: center;
	margin-bottom: 10px;
	margin-right: 5px;
}

.ww-mk .ww-mk-two {
	margin-bottom: 5px;
}

.ww-mk ul {
	margin-bottom: 5px;
}

.ww-mk ul li {
	border: #999 1px solid;
	margin-right: 3px;
}

.ww-mk ul li img {
	width: 100%;
}

@media screen and (max-width: 640px) {
	.ww-mk {
		width: 100%;
	}

}

.packarea {
	margin-bottom: 10px;
}

p.relation_anchor {
	margin: 10px 0;
}

@media screen and (max-width: 640px) {
	p.relation_anchor {
		margin: 15px 10px;
	}
}

p.relation_anchor a {
	display: block;
	font-size: 1.6rem;
	font-weight: bold;
	text-decoration: none;
	line-height: 3;
	text-align: center;
	border: solid 2px #8c2200;
	color: #8c2200;
	transition: 0.3s;
	letter-spacing: 0.05em;
}

p.relation_anchor a:hover {
	background: #8c2200;
	color: #fff !important;
}

.set_items,
.op_temp_area {
	margin-bottom: 20px;
	background: #f5f5f5;
	padding: 10px;
}

.set_items p.set_ttl,
.op_temp_area .op_1 p.op_ttl {
	position: relative;
	display: inline-block;
	padding: 0px 320px;
	font-size: 16px;
	font-weight: bold;
	width: 100%;
	text-align: center;
	letter-spacing: 0.05em;
	margin-bottom: 15px;
}

.set_items p.set_ttl:before,
.set_items p.set_ttl:after,
.op_temp_area .op_1 p.op_ttl:before,
.op_temp_area .op_1 p.op_ttl:after {
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 130px;
	height: 1px;
	background-color: #333;
}

.set_items p.set_ttl:before,
.op_temp_area .op_1 p.op_ttl:before {
	left: 200px;
}

.set_items p.set_ttl:after,
.op_temp_area .op_1 p.op_ttl::after {
	right: 200px;
}

.set_items ul.set_list,
.op_temp_area .op_2 ul,
.op_temp_area .op_3 ul {
	padding: 0px;
	display: flex;
	flex-wrap: wrap;
	vertical-align: top;
}


.op_temp_area .op_5 ul {
	padding: 0px;
	display: flex;
	flex-wrap: nowrap;
	vertical-align: top;
}

.op_temp_area .op_2 ul li {
	width: 31%;
	margin: 0 1% 10px 1%;
	line-height: 1.4em;
}

.set_items ul.set_list li,
.op_temp_area .op_3 ul li {
	width: 18%;
	margin: 0 1% 10px 1%;
}

.set_items ul.set_list a {
	font-weight: normal;
	font-size: 12px;
	color: #333;
	word-break: break-all;
}

.set_items ul.set_list img {
	width: 100%;
	box-sizing: border-box;
	margin: 0 0 4px 0;
	border: 1px solid #ddd;
}

.set_items ul.set_list p {
	text-align: left;
}

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

	.set_items,
	.op_temp_area {
		background: none;
	}

	.set_items p.set_ttl,
	.op_temp_area .op_1 p.op_ttl {
		padding: 8px 0;
		background-color: #eaeaea;
		font-size: 1.4rem;
	}

	.set_items p.set_ttl:before,
	.set_items p.set_ttl:after,
	.op_temp_area .op_1 p.op_ttl:before,
	.op_temp_area .op_1 p.op_ttl:after {
		content: none;
	}

	.set_items ul.set_list li,
	.op_temp_area .op_3 ul li {
		width: 46%;
		margin: 0 2% 10px;
	}
}

/* 商品ページ other_linkarea */
.other_linkarea {
	margin: 20px 0;
	background-color: #FFFAF0;
	text-align: center;
	padding: 25px 10px;

	.linkarea_text01 {
		font-size: 1.5rem;
		margin-bottom: 10px;
		font-weight: bold;
	}

	.linkarea_text02 {
		font-size: 1.5rem;
	}

	.itemlink {
		margin-bottom: 10px;

		& li {
			font-size: 1.4rem;
			margin-bottom: 3px;

			& a {
				color: #E2403B;
				letter-spacing: 0.03em;
			}
		}
	}
}

#fs_form {
	margin-top: 30px;
}

/* オプション選択肢部分 */
.fs-c-productOption__name {
	padding: 10px;
}

.fs-c-productOption__option {
	padding: 10px 5px 15px;
}

/* 商品詳細ページ商品名 */
.fs-c-productNameHeading {
	color: #333;
	font-size: 1.5rem;
	line-height: 1.3em;
}

.glcatetitle {
	border-width: 0px 0px 3px 14px;
	border-color: #349800;
	border-style: solid;
	padding: 1px 5px 1px 11px;
	margin-bottom: 13px;
}

.glcatetitle p.catetitle {
	font-size: 2rem;
}

.glcatedetail_noline {
	padding: 0 5px;
	margin-bottom: 5px;
}

.glcatedetail_noline p.title {
	font-size: 1.8rem;
	color: #349800;
	margin-bottom: 5px;
}

.glcatedetail_noline p.title span {
	font-size: 13px;
	margin-left: 10px;
}

.glcatedetail_noline p.text {
	margin-bottom: 5px;
}

.sarecomendarea {
	background: url("https://mamoru.itembox.design/item/img/sarecomend_back.jpg") no-repeat;
	border-bottom: 1px dashed #999999;
	margin: 0 5px 10px 5px;
	height: 40px;
}

.sarecomendarea img {
	float: left;
	padding-left: 50px;
	margin-right: 15px;
}

.sarecomendarea p {
	line-height: 44px;
	font-size: 15px;
	font-weight: bold;
}

.recomenditemBOX3,
.recomenditemBOX3end {
	width: 32%;
	margin-bottom: 10px;
	margin-right: 1%;
	display: inline-block;
	vertical-align: top;
}



@media screen and (max-width: 640px) {
	.sarecomendarea {
		height: auto;
	}

	.sarecomendarea img {
		float: none;
	}

	.sarecomendarea p {
		font-size: 1.4rem;
	}

	.recomenditemBOX3,
	.recomenditemBOX3end {
		display: block;
		width: 100%;
		margin-bottom: 20px;
	}

	.recomenditemBOX3 p.imagebox,
	.recomenditemBOX3end p.imagebox {
		width: 100%;
		text-align: center;
		margin: 0 0 10px 0;
	}
}

/* matsuki End */

/* 商品グループ安全帯ページここから */

.safety-info {
	position: relative;
	margin: 2em auto;
	padding: 1.2em;
	background-color: #fff;
	border: 5px double #e2403b;
}

.safety-info-ttl {
	font-size: 18px;
	position: absolute;
	padding: 0 0.5em;
	left: 20px;
	top: -15px;
	font-weight: bold;
	background-color: #fff;
	color: #e2403b;
}

.safety-info li {
	list-style-type: square;
	margin: 0.5em 0em 0em 2em;
}

.safety-info p {
	font-size: 16px;
	margin: 1em 0em 0.5em 0em;
	font-weight: bold;
	color: #339900;
	text-decoration: underline;
}

.TopcateL {
	display: flex;
}

.TopcateR {
	display: flex;
	flex-direction: row-reverse;
}

.TopcateL .imagebox,
.TopcateR .imagebox {
	width: 40%;
}

.TopcateL .textbox,
.TopcateR .textbox {
	width: 60%;
}

.TopcateL .textbox p.title,
.TopcateR .textbox p.title,
.TopcateL .textbox h3.title-safety-belt,
.TopcateR .textbox h3.title-safety-belt,
.TopcateL .textbox h2.title-safety-belt2,
.TopcateR .textbox h2.title-safety-belt2 {
	color: #13A789;
	font-size: 20px;
	margin-bottom: 5px;
	font-weight: normal;
}

#safety-guide img {
	margin: 30px 0;
}

#safety-guide .TopcateR .imagebox img {
	margin: 0;
}

h2.safety-belt-standard {
	font-size: 1.8rem;
	line-height: 2;
}

h3.safety-belt-standard {
	position: relative;
	background: #accd65;
	padding: 0.4rem 30px;
	margin: 10px 5px;
	font-size: 1.8rem;
	font-weight: bold;
}

h4.safety-belt-standard1 {
	position: relative;
	background: #fff8ca;
	padding: 0.4rem 30px;
	margin: 10px 5px;
	font-size: 1.8rem;
	font-weight: bold;
}

h4.safety-belt-standard2 {
	position: relative;
	background: #d1ecf5;
	padding: 0.4rem 30px;
	margin: 10px 5px;
	font-size: 1.8rem;
	font-weight: bold;
}

h3.safety-belt-standard:before {
	content: '　';
	width: 3px;
	border-right: 8px solid #546136;
	position: absolute;
	left: 0;
	top: 0;
	margin-top: 0px;
	display: inline-block;
	font-size: 2.4rem;
}

h4.safety-belt-standard1:before {
	content: '　';
	width: 3px;
	border-right: 8px solid #c3bf9c;
	position: absolute;
	left: 0;
	top: 0;
	margin-top: 0px;
	display: inline-block;
	font-size: 2.4rem;
}

h4.safety-belt-standard2:before {
	content: '　';
	width: 3px;
	border-right: 8px solid #00a8f1;
	position: absolute;
	left: 0;
	top: 0;
	margin-top: 0px;
	display: inline-block;
	font-size: 2.4rem;
}

#safety-guide .subject01 {
	position: relative;
	border: 2px solid #136f0a;
	border-radius: 4px;
	padding: 4rem 2.5rem;
	margin: 30px 0;
}

#safety-guide .subject01 .subject_ttl01 {
	position: absolute;
	top: -12px;
	left: 10px;
	padding: 5px 25px;
	border: 2px solid #136f0a;
	border-radius: 4px;
	background-color: #FFFFFF;
	color: #136f0a;
	line-height: 1em;
}

#safety-guide .subject02 {
	position: relative;
	border: 2px solid #2a65a7;
	border-radius: 4px;
	padding: 4rem 2.5rem;
	margin-top: 30px;
}

#safety-guide .subject02 .subject_ttl02 {
	position: absolute;
	top: -12px;
	left: 10px;
	padding: 5px 25px;
	border: 2px solid #2a65a7;
	border-radius: 4px;
	background-color: #FFFFFF;
	color: #2a65a7;
	line-height: 1em;
}

#safety-guide .subject03 {
	border: 2px solid #a92a1b;
	border-radius: 4px;
	padding: 4rem 2.5rem;
	margin-bottom: 30px;
}

#safety-guide .subject03 .safety-belt-standard-under {
	text-align: center;
}


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

	h3.safety-belt-standard:before,
	h4.safety-belt-standard1:before,
	h4.safety-belt-standard2:before {
		font-size: 1.8rem;
		top: 0.4rem;
	}
}

.safety-belt-standard-under {
	text-decoration: underline;
	font-weight: bold;
}

.safety-belt-standard-red-under {
	text-decoration: underline;
	font-weight: bold;
	color: #d80000;
}

.fs-body-category-safety-g .textbox p.catetext {
	font-size: 13px;
	line-height: 1.6em;
	margin-bottom: 10px;
	padding-left: 5px;
}

.fs-body-category-safety-g .textbox p.catename {
	color: #DDA618;
	font-size: 15px;
	margin-bottom: 5px;
}

.fs-body-category-safety-g .textbox ul {
	display: block;
	overflow: hidden;
	padding-left: 3px;
}

.fs-body-category-safety-g .textbox ul li {
	background: url(https://mamoru.itembox.design/item/img/icon_category.gif) no-repeat 0.5em;
	float: left;
	color: #333;
	font-size: 100%;
	line-height: 1.5;
	letter-spacing: 1px;
	white-space: nowrap;
	border: none;
	margin-right: 8px;
	padding: 2px 0 0 15px;
}

.TopcateL,
.TopcateR {
	overflow: auto;
	margin-bottom: 15px;
	border-bottom: 1px dashed #cccccc;
	padding-left: 10px;
	padding-top: 5px;
	padding-bottom: 10px;
}

.textbox p.catelink {
	font-size: 14px;
	text-align: right;
	padding: 0 0 0 5px;
	margin-top: 15px;
}

.fs-body-category-safety-g .safety-info a,
.fs-body-category-safety-g .textbox a {
	text-decoration: underline;
}

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

	.TopcateL .imagebox,
	.TopcateR .imagebox,
	.TopcateL .textbox,
	.TopcateR .textbox {
		width: 100%;
	}

	.TopcateL,
	.TopcateR {
		flex-direction: column-reverse;
	}

	.TopcateL .imagebox,
	.TopcateR .imagebox {
		margin-top: 20px;
	}
}

/* 商品詳細ページの「お取り寄せ」 */

p.bottl {
	background-color: #795d48;
	color: #fff;
	font-weight: bold;
	text-align: center;
	font-size: 2.0rem;
	line-height: 1.9;
}

@media screen and (max-width: 640px) {
	p.bottl {
		font-size: 1.2em;
		margin-bottom: 0;
		line-height: 2.2;
	}
}

#bobox {
	box-sizing: border-box;
	background-color: #f9f7f4;
	margin-bottom: 20px;
	padding: 15px 15px;
}

#bobox p.bo_caution01,
#bobox p.bo_caution02 {
	color: #CC3300;
	font-weight: bold;
	margin-bottom: 15px;
}

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

	#bobox p.bo_caution01,
	#bobox p.bo_caution02 {
		font-size: 1.3rem;
	}
}


#bobox p.bo_caution02 {
	text-align: center;
}



#bobox p.ct_ttl {
	font-size: 1.8rem;
	font-weight: bold;
	color: #333;
	text-align: center;
}

#bobox p.ct_num {
	font-size: 3.0rem;
	font-weight: bold;
	text-align: center;
}

#bh_box {
	max-width: 400px;
	margin: 0 auto;
}



#bh-title {
	font-weight: bold;
	position: relative;
	padding: 5px;
	border: 1px solid #371804;
	width: 40px;
	line-height: 1.35;
	background: #fff;
	z-index: 0;
	text-align: center;
}

#bh-title:before {
	content: "";
	position: absolute;
	top: 50%;
	right: -8px;
	margin-top: -9px;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 9px 0 9px 9px;
	border-color: transparent transparent transparent #fff;
	z-index: 0;
}



#bh-title:after {
	content: "";
	position: absolute;
	top: 50%;
	right: -9px;
	margin-top: -9px;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 9px 0 9px 9px;
	border-color: transparent transparent transparent #371804;
	z-index: -1;
}



#bh {
	margin-top: -38px;
	margin-bottom: 20px;
	font-weight: bold;
	letter-spacing: 2px;
	font-size: 2.0rem;
	margin-left: 55px;
}



#bobox p.ct_mail {
	font-size: 31px;
	font-weight: bold;
	letter-spacing: 0.03em;
	line-height: 1.6;
	text-align: center;
}

/* 会員登録完了画面 */
.fs-body-register-success .fs-c-registerSuccessMessage {
	text-align: left;
}


/* ここからグローブ */

div.glove_cate {
	clear: both;
}

div.glcatetitle {
	border-width: 0px 0px 3px 14px;
	border-color: #349800;
	border-style: solid;
	padding: 1px 5px 1px 11px;
	margin-bottom: 13px;
}

div.glcatetitle h2 {
	font-size: 26px;
	font-weight: normal;
	margin-bottom: 0 !important;
}

div.glcatetitle h3 {
	font-size: 26px;
	font-weight: normal;
	margin-bottom: 0 !important;
}

div.glcatetitle p.catetitle {
	font-size: 26px;
	font-weight: normal;
	margin: 0;
	padding: 0;
}

/* div.glcatetitle p.contents_inner {
	padding-top: 102px;
	margin-top: -102px;
} */

div.glcatetitle p.catetitle span {
	font-size: 13px;
	font-weight: normal;
	margin-left: 10px;
}

div.glcatedetail {
	/*border-bottom: 1px dotted #999999;
    padding-left: 10px;*/
	padding-bottom: 5px;
	margin-bottom: 10px;
}

div.glcatedetail_noline {
	padding-left: 10px;
	padding-right: 10px;
	/*padding-bottom: 5px;*/
	margin-bottom: 5px;
}

div.glcatedetail p.title {
	font-size: 16px;
	color: #349800;
	margin-bottom: 5px;
	padding-left: 5px;
}

div.glcatedetail p.title span {
	font-size: 13px;
	margin-left: 10px;
}

div.glcatedetail_noline .title {
	font-size: 16px;
	color: #349800;
	margin-bottom: 5px;
	padding-left: 5px;
}

div.glcatedetail_noline .title span {
	font-size: 13px;
	margin-left: 10px;
}

div.glcatedetail p.text {
	font-size: 13px;
	padding-left: 10px;
	margin-bottom: 5px;
}

div.glcatedetail_noline p.text {
	font-size: 13px;
	padding-left: 10px;
	margin-bottom: 5px;
}

div.sarecomendarea {
	clear: both;
	height: 45px;
	background: url("/img/sarecomend_back.jpg") no-repeat;
	border-bottom: 1px dashed #999999;
	margin: 0 5px 10px 5px;
}

div.sarecomendarea img {
	float: left;
	padding-left: 50px;
	margin-right: 15px;
}

div.sarecomendarea p {
	line-height: 44px;
	float: left;
	font-size: 15px;
	font-weight: 600;
}



div.recomenditemBOX3 p.imagebox,
div.recomenditemBOX3end p.imagebox {
	margin: 0px 15px 15px 15px;
	position: relative;
	overflow: hidden;
	/* 不要部分を消す */
	padding: 1px;
}


div.recomenditemBOX3 p.imagebox:after,
div.recomenditemBOX3end p.imagebox:after {
	content: "";
	position: absolute;
	z-index: 1;
	width: 120px;
	height: 26px;
	background: #f06f36;
	content: "オススメ";
	text-align: center;
	color: #fff;
	font-size: 11px;
	font-weight: bold;
	padding: 5px 10px;
	right: -34px;
	bottom: 4px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
	transform: rotate(-30deg);
}

div.recomenditemBOX3 .itemtitle,
div.recomenditemBOX3end .itemtitle {
	font-size: 13px;
	font-weight: bold;
	margin: 0px 10px 10px 10px;
	height: 34px;
	overflow: hidden;
	line-height: 1.5;
}

div.recomenditemBOX3 p.highprice,
div.recomenditemBOX3end p.highprice {
	text-align: right;
	margin: 0px 15px 5px 15px;
	font-size: 11px;
}

div.recomenditemBOX3 p.lowprice,
div.recomenditemBOX3end p.lowprice {
	color: #ff0000;
	text-align: right;
	margin: 0px 15px 5px 15px;
}

div.recomenditemBOX3 p.itemdetailtext,
div.recomenditemBOX3end p.itemdetailtext {
	margin: 0px 10px 10px 10px;
	font-size: 12px;
	letter-spacing: 0.03em;
	line-height: 1.3;
}

div.rankkingBOX {
	margin-bottom: 10px;
	clear: both;
	overflow: auto;
}

div.rankarea {
	height: 40px;
	background: url("/img/recomend_back.jpg") no-repeat;
	border-bottom: 2px solid #ccc;
	margin-bottom: 15px;
}

div.rankarea p.catchimage {
	float: left;
	padding-left: 50px;
	margin-right: 15px;
}

div.rankarea p.catchtext {
	line-height: 44px;
	float: left;
	font-size: 15px;
	font-weight: bold;
	letter-spacing: 0.03em;
}

div.rankarea p.timetext {
	line-height: 44px;
	float: right;
	font-size: 13px;
}

div.rankitemBOX4 {
	width: 175px;
	margin: 0px 10px 10px 0px;
	float: left;
}

div.rankitemBOX4end {
	width: 175px;
	margin: 0px 0px 10px 0px;
	float: right;
}

div.rankitemBOX4 img:hover,
div.rankitemBOX4end img:hover {
	filter: alpha(opacity=70);
	opacity: 0.7;
}

div.rankitemBOX4 p.imagebox,
div.rankitemBOX4end p.imagebox {
	width: 165px;
	height: 165px;
	margin: 0px 5px 10px 5px;
}

div.rankitemBOX4 p.imagebox a img,
div.rankitemBOX4end p.imagebox a img {
	width: 163px;
	height: 163px;
	border: 1px solid #cecece;
}

div.rankitemBOX4 p.rankimage,
div.rankitemBOX4end p.rankimage {
	float: left;
	width: 38px;
	height: 30px;
	margin: 0px 10px 0px 5px;
}

div.rankitemBOX4 p.itemtitle,
div.rankitemBOX4end p.itemtitle {
	color: #39c;
	font-size: 13px;
	margin: 0px 5px 8px 6px;
	letter-spacing: 0.03em;
	height: 48px;
	line-height: 1.4em;
}

div.rankitemBOX4 p.highprice,
div.rankitemBOX4end p.highprice {
	clear: both;
	text-align: right;
	margin: 0px 5px 5px 5px;
	font-size: 11px;
}

div.rankitemBOX4 p.lowprice,
div.rankitemBOX4end p.lowprice {
	clear: both;
	color: #ff0000;
	margin: 0px 5px 5px 5px;
	text-align: right;
	font-size: 12px;
}

div.rankitemBOX4 p.itemdetailtext,
div.rankitemBOX4end p.itemdetailtext {
	clear: both;
	margin: 0 0 10px 5px;
	font-size: 12px;
	letter-spacing: 0.03em;
	line-height: 1.4em;
}


div.glove_cate_image {
	float: right;
}

div.glcatedetail ul.glove_cate {
	padding: 0 5px 5px 30px;
}

div.glcatedetail ul.glove_cate li {
	list-style-type: disc;
}

div.glcatedetail ul.merit {
	padding: 0 5px 5px 30px;
	color: orange;
}

div.glcatedetail ul.merit li {
	list-style-type: disc;
}

div.glcatedetail p.title img {
	float: right;
	margin-right: 20px;
}

p.imagebox4,
p.imagebox4_end {
	float: left;
	margin: 10px 0 20px 30px;
	box-shadow: 1px 3px 6px #cccccc;
}

.mouse_over a img {
	transition: 0.5s;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-ms-transition: 0.5s;
}

.mouse_over a img:hover {
	filter: alpha(opacity=80);
	opacity: 0.8;
}

.sa_gagebg {
	background: url(https://www.mamoru-k.com/img/sa_workglove_gagebg.jpg) no-repeat bottom;
	height: 115px;
	/* width: 730px; */
	margin: 30px 0 10px 0;
}

.sa_gagebg img:hover {
	filter: alpha(opacity=95);
	opacity: 0.95;
}

/* .sa_gagebg img.gage01 {
	position: relative;
	left: 137px;
}

.sa_gagebg img.gage02 {
	position: relative;
	left: 197px;
}

.sa_gagebg img.gage03 {
	position: relative;
	left: 255px;
} */

.glcate_purposepage {
	clear: both;
	width: 730px;
	height: 300px;
	margin-bottom: 10px;
	background: url(https://www.mamoru-k.com/img/function_bg8.jpg) no-repeat center center;
}

.glcate_purposepage .imageBOX1 {
	float: right;
	width: 300px;
	height: 300px;
	margin-bottom: 15px;
}

.glcate_purposepage .purposerightBOX {
	background: url(https://www.mamoru-k.com/img/sa_functionbg_fff.png);
	/*background: rgba(255,255,255,0.8);*/
	margin-left: 35px;
	padding: 5px 15px 5px 15px;
	width: 340px;
	height: 290px;
	color: #222222;
}

.purposerightBOX p.tittle {
	font-size: 14px;
	margin: 0 0 8px 0;
	padding: 6px 5px 3px 5px;
	border-bottom: 1px dashed #666666;
}

.purposerightBOX p.catch {
	font-size: 15px;
	margin: 0 5px 3px 5px;
	color: #218DE2;
}

.purposerightBOX p.text {
	font-size: 12px;
	margin: 0 5px 3px 5px;
}

.purposerightBOX ul {
	margin: 0 5px 3px 10px;
	font-size: 12px;
}


.purposerightBOX ul li {
	margin-bottom: 1px;
}

.gl_recomendtext {
	clear: both;
	font-size: 14px;
	color: #333333;
	margin: 0 15px 10px 5px;
	padding: 5px 5px 10px 5px;
	border-bottom: 1px dashed #999999;
}

.recomendleft {
	clear: both;
	overflow: auto;
	margin: 0 0 15px 0;
	width: 730px;
	height: auto;
	border-bottom: 1px dashed #999999;
}

.recomendleft .imagebox {
	float: left;
	margin: 0 15px 10px 15px;
	width: 170px;
	height: 170px;
}

.recomendleft .textbox {
	width: 520px;
	height: auto;
	float: right;
	margin: 0 10px 10px 0;
}

.recomendleft .textbox p.title {
	color: #39c;
	font-size: 13px;
	margin: 0 0 5px 0;
	padding: 0 10px 0 0;
}

.recomendleft .textbox p.recommend {
	font-size: 12px;
	margin: 0 0 2px 0;
	padding: 0 10px 0 10px;
}

.recomendleft .textbox p.itemname {
	color: #ff0000;
	font-size: 13px;
	margin: 0 0 5px 0;
	padding: 0 10px 0 5px;
}

.recomendleft .textbox p.itemname a:link {
	color: #ff0000;
}

.recomendleft .textbox p.itemname a:visited {
	color: #ff0000;
}

.recomendleft .textbox p.itemdetail {
	font-size: 12px;
	margin: 0 0 5px 0;
	padding: 0 10px 0 0;
}

.recomendleft .textbox p.catelink {
	font-size: 13px;
	text-align: right;
	padding: 0 10px 0 5px;
}

.recomendright {
	clear: both;
	overflow: auto;
	margin: 0 0 15px 0;
	width: 730px;
	border-bottom: 1px dashed #999999;
}

.recomendright .imagebox {
	float: right;
	margin: 0 15px 10px 15px;
	width: 170px;
}

.recomendright .textbox {
	width: 520px;
	float: left;
	margin: 0 0 10px 10px;
}

.recomendright .textbox p.title {
	color: #39c;
	font-size: 13px !important;
	margin: 0 0 5px 0;
	padding: 0 0 0 10px;
}

.recomendright .textbox p.recommend {
	font-size: 12px !important;
	margin: 0 0 2px 0;
	padding: 0 10px 0 20px;
}

.recomendright .textbox p.itemname {
	color: #ff0000;
	margin: 0 0 5px 0;
	padding: 0 10px 0 15px;
}

.recomendright .textbox p.itemname a:link {
	color: #ff0000;
}

.recomendright .textbox p.itemname a:visited {
	color: #ff0000;
}

.recomendright .textbox p.itemdetail {
	font-size: 12px !important;
	margin: 0 0 5px 0;
	padding: 0 0 0 10px;
}

.recomendright .textbox p.catelink {
	font-size: 13px !important;
	text-align: right;
	padding: 0 0 0 5px;
}

div.sa_colorList {
	clear: both;
	width: 730px;
	overflow: hidden;
	margin-bottom: 10px;
}

div.sa_colorList img {
	width: 110px;
	height: 110px;
	overflow: hidden;
}

div.sa_colorList dl {
	float: left;
	/* height: 110px; */
	margin: 10px 0 10px 10px;
}

div.sa_colorList dl dt {
	position: relative;
	width: 110px;
	height: 110px;
	margin-bottom: 5px;
}

div.sa_colorList dl dd {
	/*zoom: 1;*/
	overflow: hidden;
	text-align: center;
}

div.itembox5 {
	clear: both;
	margin-bottom: 10px;
	display: flex;
	flex-wrap: wrap;
}

@media screen and (max-width: 640px) {
	div.itembox5 {
		margin: 0 5px 10px 5px;
	}
}

div.itembox5 div.itembox {
	width: 20%;
	box-sizing: border-box;
	border-top: 1px solid #cecece;
	border-left: 1px solid #cecece;
	border-bottom: 1px solid #cecece;
}

div.itembox5 div.itembox:last-child {
	border-right: 1px solid #cecece;
}

@media screen and (max-width: 640px) {
	div.itembox5 div.itembox {
		margin-bottom: 10px;
		width: 33%;
	}

	div.itembox5 div.itembox:nth-child(3) {
		border-right: 1px solid #cecece;
	}
}

div.itembox5 div.itembox div.imagebox {
	text-align: center;
	padding: 10px;
	border-bottom: 1px solid #cecece;
}

div.itembox5 div.itembox div.imagebox img {
	width: 130px;
	height: 130px;
}

div.itembox5 div.itembox div.itemtitle {
	text-align: center;
	border-bottom: 1px #cecece dashed;
	color: #39c;
	padding: 4px 0;
	background: #f1f1f1;
}

div.itembox5 div.itembox div.textbox {
	font-size: 1.2rem;
	padding: 7px 5px 5px 5px;
}



/* 商品グループ　軍手 */
.gunte_sozai {
	height: 200px;
}

/* Youtube iframe埋め込みのレスポンシブ対応 */
.youtube_block01 {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	margin-bottom: 15px;
}

.youtube_block02 {
	position: relative;
	width: 100%;
	padding-top: 177.77%;
	margin-bottom: 15px;
}

.youtube_block01 iframe,
.youtube_block02 iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

/* stock-sale-page */
p.stock-topimg {
	margin-bottom: 10px;
}

p.stock-toptxt {
	font-size: 1.6rem;
	font-weight: bold;
	text-align: left;
	margin: 0 1em;
	line-height: 1.5;
	margin-bottom: 15px;
}

#stock_item_list .ttl_area {
	margin-bottom: 15px;
}

#stock_item_list .ttl_area .pickup_txt {
	line-height: 1.4em;
	margin: 0 2% 25px;
}

.stock-toptxt span {
	background: linear-gradient(transparent 60%, #ff6 60%);
}

#stock_item_list .ttl_area .search-box p.catttl {
	text-align: center;
	font-size: 15px;
	font-weight: bold;
	margin-bottom: 10px;
}

#stock_item_list .ttl_area .search-box label {
	display: inline-block;
}

#stock_item_list .ttl_area .search-box input[type="radio"] {
	appearance: none;
	display: none;
	opacity: 0;
	width: 1px;
	position: absolute;
	height: 1px;
}

#stock_item_list .ttl_area .search-box input[type="radio"]+span {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	cursor: pointer;
	padding: 7px 11px 8px 36px;
	border-radius: 4px;
	font-weight: bold;
	font-size: 14px;
}

#stock_item_list .ttl_area .search-box input[type="radio"]+span::before,
#stock_item_list .ttl_area .search-box input[type="radio"]+span::after {
	position: absolute;
	display: block;
	content: "";
	border-radius: 50%;
	top: 0;
	bottom: 0;
	margin: auto 10px auto 0;
	box-sizing: border-box;
}

#stock_item_list .ttl_area .search-box input[type="radio"]+span::before {
	width: 20px;
	height: 20px;
	background: #fff;
	border: 2px solid #999999;
	left: 9px;
}

#stock_item_list .ttl_area .search-box input[type="radio"]+span::after {
	width: 10px;
	height: 10px;
	background: #999999;
	left: 14px;
	opacity: 0;
}

#stock_item_list .ttl_area .search-box input[type="radio"]:checked+span::before {
	border: 2px solid #0070bd;
}

#stock_item_list .ttl_area .search-box input[type="radio"]:checked+span::after {
	background: #0070bd;
	opacity: 1;
}

/* 検索ラベル部分 */

#stock_item_list .is-hide {
	display: none !important;
}

@keyframes is-display {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

#stock_item_list .is-display {
	display: inline-block !important;
	animation: is-display 1s linear 0s;
}

#stock_item_list ul.list {
	letter-spacing: -1em;
	margin: 0 1%;
	display: flex;
	/* justify-content: space-between; */
	flex-wrap: wrap;
}

#stock_item_list ul.list li.list_item {
	width: 50%;
	box-sizing: border-box;
	padding: 4% 2%;
	vertical-align: top;
	border-bottom: 1px solid #ccc;
	letter-spacing: 0.03em;
}

#stock_item_list ul.list li.list_item .stock-itemcont {
	font-family: Roboto, sans-serif;
}

#stock_item_list ul.list li.list_item .stock-itemcont .stock-itemimg img {
	transition: 0.2s;
}

#stock_item_list ul.list li.list_item .stock-itemcont .stock-itemimg img:hover {
	opacity: 0.8;
}

#stock_item_list ul.list li.list_item .stock-itemcont .stock-itemname {
	font-size: 1.3rem;
	margin: 4px 0 2px 0;
}

#stock_item_list ul.list li.list_item .stock-itemcont .stock-itemname a {
	color: #3572b0;
	text-decoration: none;
}

#stock_item_list .stock-itemcont .stock-maker {
	display: block;
	/* margin-bottom: 5px; */
}

#stock_item_list .stock-itemcont .stock-item-price-line1 {
	margin-bottom: 2px;
	color: #ff0000;
}

#stock_item_list .stock-itemcont .stock-item-discount-amount {
	font-weight: bold;
	font-size: 1.5rem;
	margin-right: 1px;
}

#stock_item_list .stock-itemcont .stock-item-discount-type {
	font-weight: bold;
	font-size: 1.3rem;
	/* line-height: 15px; */
}

#stock_item_list .stock-itemcont .stock-item-price-text {
	text-decoration: line-through;
	margin-right: 4px;
	font-size: 1.3rem;
	display: block;
}

#stock_item_list .stock-itemcont .stock-item-discount-text {
	color: #ff0000;
	font-weight: bold;
	margin-top: 4px;
	font-size: 2rem;
}

#stock_item_list .stock-itemcont .stock-item-price-line2 {
	margin-bottom: 5px;
}

/* #stock_item_list .stock-itemcont .stock-item-price-line3{
    display: none;
} */
#stock_item_list .stock-itemcont .stock-item-stock-text,
#stock_item_list .stock-itemcont .stock-item-stock-amount {
	font-size: 14px;
	line-height: 14px;
	font-weight: bold;
}

#stock_item_list .stock-itemcont .stock-item-stock-amount {
	color: #ff0000;
}


/*　画面サイズが641pxからはここを読み込む　*/
@media screen and (min-width: 641px) {
	#Resp_main {
		max-width: 100%;
	}

	p.stock-topimg {
		margin-bottom: 20px;
		background-color: #c03;
		text-align: center;
	}

	p.stock-toptxt {
		font-size: 1.8rem;
		margin-bottom: 25px;
	}

	#stock_item_list .ttl_area {
		border-bottom: none;
		margin: 0 1% 10px;
	}

	#stock_item_list .ttl_area .pickup_txt {
		margin: 0 0 25px;
	}

	#stock_item_list .ttl_area .search-box {
		text-align: center;
	}

	#stock_item_list .ttl_area .search-box p.catttl {
		font-size: 1.8rem;
	}

	#stock_item_list .ttl_area .search-box input[type="radio"]+span {
		font-size: 1.8rem;
	}

	#stock_item_list ul.list li.list_item {
		width: 25%;
		padding: 2% 1%;
	}

	#stock_item_list ul.list li.list_item .stock-itemcont .stock-itemname {
		text-align: left;
		margin: 8px 0;
	}

	#stock_item_list .stock-itemcont .stock-item-price-line1 {
		/* margin-bottom: 4px; */
	}

	#stock_item_list .stock-itemcont .stock-item-discount-amount {
		font-size: 1.6rem;
	}

	#stock_item_list .stock-itemcont .stock-item-discount-type {
		font-size: 1.6rem;
		line-height: 20px;
	}

	#stock_item_list .stock-itemcont .stock-item-price-line2 {
		margin-bottom: 8px;
	}

	#stock_item_list .stock-itemcont .stock-item-price-text {
		font-size: 1.4rem;
	}

	#stock_item_list .stock-itemcont .stock-item-discount-text {}

	#stock_item_list .stock-itemcont .stock-item-stock-text {
		font-size: 1.8rem;
		line-height: 18px;
	}

	#stock_item_list .stock-itemcont .stock-item-stock-amount {
		font-size: 1.8rem;
		line-height: 18px;
	}
}

/* stock-sale-page */

/* サイズ表記 シューズ表記*/

.about_size,
.about_shoes {
	background-color: #f9f7f4;
	margin-bottom: 20px;
	font-size: 1.2rem;
}

.about_size .about_size_txt,
.about_shoes .about_shoes_txt {
	padding: 15px 20px;
}

.about_size p,
.about_shoes p {
	font-size: 1.4rem;
	line-height: 1.8;
}

.about_size p.about_size_ttl,
.about_shoes p.about_shoes_ttl {
	background-color: #795d48;
	color: #fff;
	font-weight: bold;
	text-align: center;
	font-size: 2.0rem;
	line-height: 1.9;
}

.about_size p.about_size_line {
	font-size: 3.2rem;
	font-weight: bold;
	text-align: center;
}

.about_size p.about_size_line span {
	background: linear-gradient(transparent 65%, #fff387 0%);
}

.about_size p.about_size_line span br {
	display: none;
}

.about_size .about_red,
.about_shoes .about_red {
	color: #8c2200;
	font-weight: bold;
}

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

	.about_size .about_size_txt,
	.about_shoes .about_shoes_txt {
		padding: 7px 10px;
	}

	.about_size p,
	.about_shoes p {
		font-size: 1.0em;
		line-height: 1.4;
		margin-bottom: 5px;
	}

	.about_size p.about_size_ttl,
	.about_shoes p.about_shoes_ttl {
		font-size: 1.2em;
		margin-bottom: 0;
		line-height: 2.2;
	}

	.about_size p.about_size_line {
		margin-bottom: 15px;
		font-size: 2.5rem;
		font-size: 1.8em;
	}

	.about_size p.about_size_line span br {
		display: initial;
	}

	.about_size .about_red {
		display: block;
		/* text-align: center; */
		margin: 12px 5px 3px;
		font-size: 1.1em;
	}

	.about_size .about_red+br {
		display: none;
	}
}

/* ヘルメット型番の記載 */

.hel-inner-at {
	margin: 20px 0;
}

.hel-inner-at .hel-inner-ttl {
	text-align: center;
	font-size: 3.0rem;
	font-weight: bold;
	color: #389938;
	border-bottom: 2px solid #389938;
	padding-bottom: 4px;
	margin-bottom: 10px;
}

.hel-inner-at .hel-inner-txt {
	font-size: 1.5rem;
	padding: 0 8px;
	line-height: 1.6;
}

.hel-inner-at .hel-inner-txt span {
	color: #CC3300;
}

@media screen and (max-width: 640px) {
	.hel-inner-at {
		margin: 20px 15px;

		.hel-inner-ttl {
			font-size: 1.6rem;
		}

		.hel-inner-txt {
			font-size: 1.3rem;
		}
	}
}



/* 現在登録されている商品はありません 非表示 */

.fs-c-productList__message {
	display: none;
}

/* TOPページ以外のヘッダー部分（h1タグ調整） */
.top-head .inner p {
	color: #fff;
	font-size: 1.0rem;
	font-weight: normal;
	line-height: 1.3;
	letter-spacing: 0.05em;
}

/* アイトスページ調整 */

.modelrank {
	width: 940px;
	overflow: auto;
	padding-left: 10px;
	margin-top: 20px;
	margin-bottom: 10px;
}

.modelrank a img {
	transition: 0.4s;

	&:hover {
		opacity: 0.7;
	}
}

.modelrank .left {
	width: 390px;
	float: left;
	position: relative;
}

.modelrank .right {
	width: 530px;
	float: right;
	margin-top: 50px;
}

.modelrank .right img {
	width: 255px;
}

.modelrank .ttlarea,
.wear_seriesarea .ttlarea {
	width: 280px;
	height: 70px;
	margin-bottom: 10px;
	position: relative;
}

.modelrank .ttlarea p.brand,
.wear_seriesarea .ttlarea p.brand {
	font-size: 35px;
	color: #a40000;
	font-weight: bold;
	position: absolute;
	top: 0;
	margin-left: 5px;
}

.modelrank .ttlarea p.txt,
.wear_seriesarea .ttlarea p.txt {
	font-size: 15px;
	margin-left: 5px;
	position: absolute;
	bottom: 0;
}

.modelrank .ra_mainimg {
	position: relative;
}

.modelrank .detealbox {
	width: 280px;
	height: 60px;
	padding: 5px 8px;
	position: absolute;
	bottom: 0px;
	background-color: rgba(40, 40, 40, 0.7);
}

.modelrank .deteal01 {
	position: relative;
	height: 60px;
	width: 264px;
}

.modelrank p.name {
	color: #fff;
	font-size: 12px;
	position: absolute;
	top: 0;
	letter-spacing: 0.03em;
	line-height: 1.4em;
}

.modelrank p.name a {
	color: #fff;
	text-decoration: none;

	&:hover {
		color: #fff !important;
		text-decoration: underline;
	}
}

.modelrank p.price {
	color: #fff;
	position: absolute;
	bottom: 0;
	right: 0;
	font-size: 14px;
	/*font-weight: bold;*/
	letter-spacing: 0.03em;
}

.modelrank ul li.box04 {
	float: left;
	margin-right: 10px;
	margin-bottom: 10px;
	position: relative;
}

.modelrank .ra_subimg {
	position: relative;
}

.modelrank .detealbox01 {
	position: absolute;
	width: 196px;
	padding: 5px 4px 5px 5px;
	height: 60px;
	bottom: 0px;
	background-color: rgba(40, 40, 40, 0.7);
}

.modelrank .deteal02 {
	width: 189px;
	height: 60px;
	position: absolute;
}

.modelrank span.rankpt {
	position: absolute;
	border-radius: 50%;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	-o-border-radius: 50%;
	-ms-border-radius: 50%;
	text-align: center;
	top: 8px;
	left: 8px;
	z-index: 1;
}

.modelrank span.ranks1 {
	width: 40px;
	height: 40px;
	font-size: 26px;
	line-height: 36px;
}

.modelrank span.ranks2 {
	width: 30px;
	height: 30px;
	font-size: 18px;
	line-height: 28px;
}

.modelrank span.rank1 {
	border-color: #d9b340;
	background-color: #d9b340;
	color: #fff;
}

.modelrank span.rank2 {
	border-color: #6f7b83;
	background-color: #6f7b83;
	color: #fff;
}

.modelrank span.rank3 {
	border-color: #a15326;
	background-color: #a15326;
	color: #fff;
}

.modelrank span.rank4 {
	border-color: #999;
	background-color: #fff;
	color: #999;
}

.modelrank span.rank5 {
	border-color: #999;
	background-color: #fff;
	color: #999;
}

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

	.modelrank,
	.modelrank .left,
	.modelrank .right,
	.modelrank .right>ul,
	.box04,
	.ra_subimg,
	.modelrank img {
		width: 100% !important;
	}

	.modelrank {
		padding-left: 0;
	}

	.modelrank ul li.box04 {
		margin-right: 0;
	}
}

/* 商品グループ　軍手ページ */

.sa_gagebg {
	background-size: contain;
	text-align: center;
}

.gunte_g {
	display: flex;
	justify-content: space-between;
	width: 60%;
	margin: auto;
}

@media screen and (max-width: 640px) {
	.sa_gagebg {
		width: 100%;
	}

	.gunte_g {
		width: 90%;
	}

	.gunte_sozai {
		height: 360px;
	}

}

/* フロート解除 */

.fs-c-productList {
	clear: both;
}

.clear {
	clear: both;
}

@media screen and (max-width: 640px) {
	div.glove_cate_image {
		width: 100%;
		text-align: center;
	}
}

/* バリエーション選択肢*/
.fs-c-variationPanelList__panel__content {
	background: rgba(126, 126, 126, 0.12);
}

.fs-c-variationPanelList__panel--outOfStock .fs-c-variationPanelList__panel__content {
	color: #999999;
}

/* サービス・フードページ */

/* ---------------------------------------
            toppage contents
--------------------------------------- */

.fs-body-category-food-uniform div#contents {
	width: 940px;
	padding-top: 10px;
	margin: auto;
}

p.contents_ttl {
	padding: 0 0 0 10px;
	margin-bottom: 10px;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	/* 縦方向中央揃え（Safari用） */
	align-items: center;
	/* 縦方向中央揃え */
}

p.contents_ttl span.contents_ttl01 {
	font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-size: 36px;
	margin-right: 10px;
}

p.contents_ttl span.contents_ttl02 {
	font-size: 15px;
}

.maker_list {
	margin-bottom: 40px;
}

ul.bnrCon {
	overflow: hidden;
	margin-bottom: 10px;
}

ul.bnrCon li {
	float: left;
}

/* --- メーカーリスト 3カラムレイアウト --- */
.maker_list ul.flex {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 10px;
}

.maker_list ul.flex > li {
	width: calc((100% - 20px) / 3);
}

.maker_list ul.flex > li > a {
	display: block;
	position: relative;
	overflow: hidden;
}

.maker_list ul.flex > li > a img {
	width: 100%;
	height: auto;
	display: block;
}

/* OFFイメージ（通常時） */
.maker_list ul.flex > li > a img.rollover {
	position: relative;
	z-index: 1;
}

/* ONイメージ（マウスオーバー時に表示） */
.maker_list ul.flex > li > a img:not(.rollover) {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 2;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.maker_list ul.flex > li > a:hover img:not(.rollover) {
	opacity: 1;
}

/* =============================
   カテゴリブロック（food-cate）
   ============================= */

.food-cate-block {
	margin-bottom: 40px;
}

.food-cate-item {
	display: flex;
	gap: 20px;
	margin-bottom: 15px;
	padding-bottom: 15px;
	border-bottom: 1px dashed #999;
}

.food-cate-item:last-child {
	border-bottom: none;
	margin-bottom: 0;
}

/* 画像右・テキスト左に反転 */
.food-cate-item--rev {
	flex-direction: row-reverse;
}

.food-cate-img {
	flex-shrink: 0;
	width: 300px;
}

.food-cate-img img {
	width: 100%;
	height: auto;
	display: block;
}

.food-cate-body {
	flex: 1;
}

.food-cate-title {
	color: #13A789;
	font-size: 20px;
	font-weight: bold;
	margin: 0 0 8px;
}

.food-cate-desc {
	font-size: 14px;
	line-height: 1.7;
	margin-bottom: 12px;
}

.food-cate-label {
	font-size: 13px;
	font-weight: bold;
	margin-bottom: 6px;
}

.food-cate-list {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	padding: 0;
	margin-bottom: 12px;
	font-size: 13px;
	gap: 4px 16px;
}

.food-cate-list li {
	white-space: nowrap;
}

.food-cate-link {
	font-size: 13px;
	text-align: right;
}

.food-cate-link a {
	color: #13A789;
	text-decoration: underline;
}

/* --- industryセクション 5カラム --- */
.industry ul.flex > li {
	width: calc((100% - 40px) / 5);
}

.fs-body-category-food-uniform .TopcateL,
.fs-body-category-food-uniform .TopcateR {
	clear: both;
	overflow: auto;
	margin: 0 0 15px 0;
	width: 730px;
	height: 230px;
	border-bottom: 1px dashed #999999;
}

.fs-body-category-food-uniform .Topcate .imagebox {
	width: 300px;
	height: 195px;
}

.fs-body-category-food-uniform .Topcate .textbox p.title {
	color: #13A789;
	font-size: 20px;
	margin: 0 0 5px 0;
	padding: 0 10px 0 0;
}

.fs-body-category-food-uniform .Topcate .textbox {
	width: 400px;
	margin: 0 10px 10px 0;
}

.fs-body-category-food-uniform .TopcateL .imagebox,
.fs-body-category-food-uniform .TopcateR .textbox {
	float: left;
	margin-right: 20px;
}

.fs-body-category-food-uniform .TopcateR .imagebox,
.fs-body-category-food-uniform .TopcateL .textbox {
	float: right;
}

.fs-body-category-food-uniform .Topcate .textbox p.catetext {
	margin: 0 0 6px 0;
	padding: 0 10px 0 10px;
}

.fs-body-category-food-uniform .Topcate .textbox p.catename {
	color: #DDA618;
	margin: 5px 0 5px 0;
}

.fs-body-category-food-uniform .Topcate .textbox p.catelink {
	text-align: right;
	padding-left: 5px;
	margin-top: 15px;
}

.fs-body-category-food-uniform .textbox p.catelink {
	padding-right: 10px;
}

.fs-body-category-food-uniform .Topcate ul {
	display: block;
	overflow: hidden;
	padding: 0 3px;
}

.fs-body-category-food-uniform .Topcate ul li {
	background: url(https://www.mamoru-k.com/img/icon_category.gif) no-repeat 0.5em;
	float: left;
	color: #333;
	line-height: 1.5;
	letter-spacing: 1px;
	white-space: nowrap;
	border: none;
	margin-right: 8px;
	padding: 2px 0 0 15px;
}

.fs-body-category-food-uniform div.seo_text {
	margin: 1em 0.5em;
	line-height: 1.6em;
}

.fs-body-category-food-uniform div.seo_text p {
	margin-bottom: 1em;
	letter-spacing: 0.03em;
}

.fs-body-category-food-uniform div.seo_text h2.seo_text_sbttl {
	border-left: 2px solid #003058;
	padding: 0.6em 0 0.6em 0.4em;
	margin: 1.5em 0.3em 0.6em 0.4em;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: -0.03em;
}

.fs-body-category-food-uniform div.seo_text h3.seo_text_sbttl02 {
	margin-left: 0.3em;
	padding: 0.4em 0;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: -0.03em;
}

.fs-body-category-food-uniform div.seo_text ul li {
	padding: 0.5em;
}

.fs-body-category-food-uniform #contents a {
	text-decoration: underline;
}

@media screen and (min-width: 640px) {
	.fs-body-category-food-uniform .accordion-btn {
		display: block;
	}

	.fs-body-category-food-uniform .accordion-text {
		overflow: hidden;
		/* テキストを隠す */
		position: relative;
	}

	/* 最初に見えてるテキストエリアの高さ */
	.fs-body-category-food-uniform .accordion-text.is-hide {
		height: 300px;
	}

	/* テキストをグラデーションで隠す */
	.fs-body-category-food-uniform .accordion-text::before {
		background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), color-stop(50%, rgba(255, 255, 255, .9)), color-stop(50%, rgba(255, 255, 255, .9)), to(#fff));
		background: -o-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .9) 50%, rgba(255, 255, 255, .9) 50%, #fff 100%);
		background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .9) 50%, rgba(255, 255, 255, .9) 50%, #fff 100%);
		bottom: 0;
		content: "";
		height: 60px;
		/* グラデーションで隠す高さ */
		position: absolute;
		width: 100%;
	}

	/* 閉じるボタンの位置 */
	.fs-body-category-food-uniform .accordion-btn.is-show {
		bottom: -4em;
	}

	/* 閉じるボタンの表記 */
	.fs-body-category-food-uniform .accordion-btn.is-show::before {
		content: "閉じる";
	}

	/* 続きを見るボタンをクリックしたらテキストを隠しているグラデーションを消す */
	.fs-body-category-food-uniform .accordion-btn.is-show+.accordion-text::before {
		display: none;
	}

	/* レイアウトの為のスタイル */
	.fs-body-category-food-uniform .accordion {
		margin: 0 auto 70px;
	}
}

/* レスポンシブ */

@media screen and (max-width: 640px) {
	.fs-body-category-food-uniform div#contents {
		width: 100%;
	}

	.fs-body-category-food-uniform .TopcateL,
	.fs-body-category-food-uniform .TopcateR {
		width: 100%;
	}

	ul.bnrCon {
		display: block;
		margin-bottom: 0;
	}

	.maker_list ul.bnrCon li {
		margin: 0 0 10px;
	}

	.makerlist li {
		width: 100%;
		text-align: center;
	}

	/* メーカーリスト レスポンシブ（640px以下）2列 */
	.maker_list ul.flex > li {
		width: calc((100% - 10px) / 2);
	}

	/* カテゴリブロック レスポンシブ */
	.food-cate-block {
		padding: 0 15px;
	}

	.food-cate-item,
	.food-cate-item--rev {
		flex-direction: column;
		gap: 12px;
	}

	.food-cate-img {
		width: 100%;
		text-align: center;
	}

	.food-cate-img img {
		display: inline-block;
		width: auto;
		max-width: 100%;
	}

	.food-cate-title {
		font-size: 17px;
	}

	.food-cate-desc,
	.food-cate-label,
	.food-cate-link {
		font-size: 13px;
	}

	.food-cate-list {
		font-size: 13px;
	}

	/* industryセクション レスポンシブ（640px以下）3列 */
	.industry ul.flex > li {
		width: calc((100% - 20px) / 3);
	}

	.industry ul {
		width: 100%;
	}

	.industry .bnrCon li {
		width: 50%;
		margin-right: 0;
		text-align: center;
	}

	.fs-body-category-food-uniform .Topcate .textbox {
		width: 100%;
		margin: 0 auto;
	}

	.fs-body-category-food-uniform .Topcate .imagebox {
		width: 100%;
		height: auto;
		text-align: center;
		margin-bottom: 5px;
	}

	.fs-body-category-food-uniform .TopcateL,
	.fs-body-category-food-uniform .TopcateR {
		width: 100%;
		height: auto;
		flex-direction: column;
	}

	.fs-body-category-food-uniform .TopcateL .imagebox,
	.fs-body-category-food-uniform .TopcateR .textbox {
		margin-right: 0;
	}

	.fs-body-category-food-uniform #footer {
		margin-top: 60px;
	}

}

/* 当日出荷 */
.intarea2 {
	background-color: #f6f6f6;
	margin: 20px 0;
	padding: 30px;
	text-align: center;

	.txt01 {
		font-size: 2.8rem;
		font-weight: bold;
		margin-bottom: 15px;
	}

	.mainint {
		display: inline-block;

		& p {
			font-weight: bold;
			color: #8c2200;
		}

		.txt02 {
			font-size: 4.5rem;
			line-height: 1.3;
			border: 1px solid #8c2200;
			padding: 20px 25px;
			margin-bottom: 10px;

			& span {
				display: block;
			}
		}

		.txt03 {
			font-size: 2.0rem;
			margin-bottom: 10px;
		}
	}

	.subarea {
		display: inline-block;

		& p {
			text-align: left;
		}
	}
}

@media(width <=640px) {
	.intarea2 {
		margin: 20px 10px;

		.txt01 {
			font-size: 2.0rem;

			& span {
				display: block;
			}
		}

		.mainint {
			.txt02 {
				font-size: 3.5rem;
				padding: 15px 20px;
			}

			.txt03 {
				font-size: 1.5rem;
			}
		}

		.subarea {
			font-size: 1.2rem;
		}
	}
}

/* 通信欄 Start */
#ex_com {
	.ttl2 {
		color: #dd2c08;
		font-size: 15px;
		font-weight: bold;
		margin-left: 5px;
		margin-top: 5px;
	}

	& ul {
		display: flex;
		flex-wrap: wrap;
	}

	& li {
		margin-right: 5px;
	}

	.order_smple_btn a {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 250px;
		padding: .9em 2em;
		border: none;
		border-radius: 5px;
		box-shadow: 0 2px 3px rgb(0 0 0 / 25%), 0 2px 3px -2px rgb(0 0 0 / 15%);
		background-color: #339900;
		font-weight: bold;
		font-size: 1em;
		color: #fff;
		text-decoration: none;

		&::after {
			transform: rotate(45deg);
			width: 5px;
			height: 5px;
			margin-left: 10px;
			border-top: 2px solid #fff;
			border-right: 2px solid #fff;
			content: '';
		}

		&:hover {
			background-color: #238900;
			color: #fff !important;
		}
	}

	.order_smple_btn a.cart_logo_btn {
		width: 340px;
	}

	.order_smple_btn_logo {
		margin: 5px 10px 15px 5px;
	}

	.order_smple_btn_bottom {
		margin: 5px 5px 10px 5px;
	}
}


/* SPお知らせ */
#sp_infoarea {
	margin: 35px 8% 0;

	& p {
		line-height: 1.6;

		& span {
			color: #7a0000;
		}
	}

	.sp_infottl {
		color: #7a0000;
		font-weight: bold;
		text-align: center;
		margin-bottom: 12px;
	}

	.sp_infotxt {
		margin-bottom: 20px;
	}
}

/* レイアウト関連 */
.flex_gap10 {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 10px;

	& img {
		width: 100%;
	}
}

.s2s1 li,
.s2s2 li,
.s2s1>div,
.s2s2>div {
	width: calc(calc(100% - 10px) / 2);
}

/* PC2列、SP1列 */
.s3s1 li,
.s3s2 li,
.s3s1>div,
.s3s2>div {
	width: calc(calc(100% - 20px) / 3);
}

/* PC3列、SP1列 */
.s4s1 li,
.s4s2 li,
.s4s1>div,
.s4s2>div {
	width: calc(calc(100% - 30px) / 4);
}

/* PC4列、SP1列 */
.s4s1 li,
.s5s2 li,
.s4s1>div,
.s5s2>div {
	width: calc(calc(100% - 40px) / 5);
}

/* PC5列、SP1列 */
@media (width <=640px) {

	.s2s1 li,
	.s3s1 li,
	.s4s1 li,
	.s5s1 li,
	.s2s1>div,
	.s3s1>div,
	.s4s1>div,
	.s5s1>div {
		width: 100%;
	}

	.s2s2 li,
	.s3s2 li,
	.s4s2 li,
	.s5s2 li,
	.s2s2>div,
	.s3s2>div,
	.s4s2>div,
	.s5s2>div {
		width: calc(calc(100% - 10px) / 2);
	}

	.s2s3 li,
	.s3s3 li,
	.s4s3 li,
	.s5s3 li,
	.s2s3>div,
	.s3s3>div,
	.s4s3>div,
	.s5s3>div {
		width: calc(calc(100% - 20px) / 3);
	}
}

.pc3sp1>div,
.pc3sp2>div {
	width: calc(calc(100% - 30px) / 3);
	margin: 0 15px 15px 0;
}

.pc4sp2>div,
.pc4sp3>div {
	width: calc(calc(100% - 45px) / 4);
	margin: 0 15px 15px 0;
}

.pc5sp2>div,
.pc5sp3>div {
	width: calc(calc(100% - 60px) / 5);
	margin: 0 15px 15px 0;
}

@media(640px < width) {

	.pc3sp1>div:nth-child(3n),
	.pc3sp2>div:nth-child(3n),
	.pc4sp2>div:nth-child(4n),
	.pc4sp3>div:nth-child(4n),
	.pc5sp2>div:nth-child(5n),
	.pc5sp3>div:nth-child(5n) {
		margin: 0 0 15px 0;
	}
}

@media(width <=640px) {
	.pc3sp1>div {
		width: 100%;
		margin: 0 0 15px 0;
	}

	.pc3sp2>div,
	.pc4sp2>div,
	.pc5sp2>div {
		width: calc(calc(100% - 15px) / 2);
		margin: 0 15px 15px 0;
	}

	.pc4sp3>div,
	.pc5sp3>div {
		width: calc(calc(100% - 30px) / 3);
		margin: 0 15px 15px 0;
	}

	.pc3sp2>div:nth-child(2n),
	.pc4sp2>div:nth-child(2n),
	.pc5sp2>div:nth-child(2n),
	.pc4sp3>div:nth-child(3n),
	.pc5sp3>div:nth-child(3n) {
		margin: 0 0 15px 0;
	}
}

.innerbox_pd10 {
	padding: 0;
}

@media(width <=640px) {
	.innerbox_pd10 {
		padding: 0 10px;
	}
}

/* レフトサイドナビ */
.wrap .side .side-information .list {
	background: none;
}

.wrap .side .side-information .list a {
	padding: 5px 10px;
}

/* フードユニフォーム特集キャンペーンページ */
.tabContents ul.type-list li {
	width: 24%;
}

.fs-body-category-service .mainTitle {
	clear: both;
}

.tabContents #section-4 ul.type-list {
	height: 430px;
}

.tabContents p.type-list-text {
	margin-top: 30px;
}

.fs-body-category-service .mainTitle span:first-of-type {
	text-align: left;
}

.fs-p-scrollingCartButton__button {
	text-decoration: none !important;
}

/* サンクス_共通ページ */
.contact_thanks {
	text-align: center;
	margin-bottom: 50px;

	& p {
		font-weight: bold;
	}

	.th_img {
		margin: 45px 0;

		& img {
			width: 120px;
			height: auto;
		}
	}

	.th_ttl {
		font-size: 1.8rem;
		margin-bottom: 20px;
		color: #409988;
	}

	.th_txt {
		font-size: 1.4rem;
		line-height: 1.8;
		margin-bottom: 40px;

	}

	.th_infobox {
		margin-bottom: 35px;

		& p {
			font-size: 1.5rem;
		}
	}

	.th_btn {
		& a {
			text-decoration: none;
			padding: 12px 24px;
			font-size: 1.6rem;
			color: #fff;
			background-color: #409988;
			display: inline-block;
			transition: 0.5s;

			&:hover {
				background-color: #218471;
			}
		}
	}

	.th_auto {
		font-size: 1.6rem;
		font-weight: normal;
		margin: 30px 0 20px;
	}

	.th_auto_link {
		font-size: 1.6rem;
		font-weight: normal;

		& a {
			text-decoration: underline;
		}
	}
}

@media(width <=640px) {
	.contact_thanks {
		padding: 0 10px;

		.th_img {
			margin: 25px auto 35px;

			& img {
				width: 30%;
				height: auto;
			}
		}

		.th_ttl {
			font-size: 1.5rem;

			& span {
				display: block;
			}
		}

		.th_txt {
			text-align: left;
			font-size: 1.2rem;
			line-height: 1.5;
			font-weight: normal;
			margin-bottom: 20px;
		}

		.th_infobox {
			margin-bottom: 25px;

			& p {
				font-size: 1.4rem;
			}
		}

		.th_btn {
			& a {
				font-size: 1.3rem;
			}
		}

		.th_auto {
			font-size: 1.4rem;
		}

		.th_auto_link {
			font-size: 1.4rem;
		}
	}
}

/* 2列（BNR＋TTL＋TXT） */
.top_cont_bnr2 {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 20px;

	.box_50 {
		width: 460px;
		margin-bottom: 15px;
		margin-right: 15px;

		&:nth-child(even) {
			margin-right: 0px;
		}

		& img {
			width: 100%;
			transition: .1s;

			&:hover {
				opacity: 0.8;
			}
		}

		.bnr {
			margin-bottom: 10px;
		}

		.ttl {
			color: #409988;
			font-size: 1.5rem;
			font-weight: bold;
			margin: 0 0 10px 0;
			text-align: center;

			& a {
				color: #409988;
			}
		}

		.txt {
			padding: 0 0 0 2px;
			font-size: 1.3rem;
			line-height: 1.5;
		}

	}
}

@media(width<=640px) {
	.top_cont_bnr2 {
		padding: 0 10px;

		.box_50 {
			margin-right: 0;
			width: 100%;

			.ttl {
				font-size: 1.4rem;
			}

			.txt {
				font-size: 1.2rem;
			}
		}
	}
}

/* レコメンド */
.fs-p-heading--lv2,
.fs-c-wishlistProduct__title {
	border-bottom: 2px solid currentColor;
	color: #333;
	font-weight: bold;
	font-size: 1.6rem;
	padding: 5px 8px;
	margin-bottom: 10px;
	border-bottom: 1px dotted #333;
}

.flywheel-recommend__frame {
	margin-bottom: 20px;
}

.flywheel-recommend__frame .fr3-productListCarousel__responsive_1 .fr3-productListCarousel__slide,
.flywheel-recommend__frame .fr3-productListCarousel__responsive_2 .fr3-productListCarousel__slide {
	flex: 0 0 calc((100% - 65px * 1) / 2);
}

@media screen and (min-width: 600px) {

	.flywheel-recommend__frame .fr3-productListCarousel__responsive_1 .fr3-productListCarousel__slide,
	.flywheel-recommend__frame .fr3-productListCarousel__responsive_2 .fr3-productListCarousel__slide {
		flex: 0 0 calc((100% - 30px * 4) / 5);
	}
}

.wrap .main .recomend_product_title:before {
	/* margin-right: 0; */
	background-image: url(https://www.mamoru-k.com/img/n_head03.webp);
}

.fs-body-top div.flywheel-recommend__frame[data-frame-id="recommend_action"] .fs-p-heading--lv2 {
	display: none;
}

.fr3-item__productName {
	font-size: 1.3rem !important;
	line-height: 1.4;
	margin-bottom: 2px;
	overflow: hidden;
	display: -webkit-box !important;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 6;
}

.fr3-item__productPrice {
	font-weight: bold;
	color: #D62929;
}

.fr3-item__productPrice__price {
	font-size: 1.6rem !important;
}

.fr3-item__productPrice__addon {
	font-size: 1.3rem !important;
}

.wrap .main .topic-content .btn a {
	border: 1px solid #409988;
	padding: 10px 30px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-radius: 30px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	text-decoration: none;
	color: #409988;
	font-size: 14px;
}

/* .fr3-productListCarousel {
	height: 312px;
} */

@media screen and (max-width: 640px) {
	.flywheel-recommend__frame {
		height: auto !important;
	}
}

div.flywheel-recommend__frame[data-frame-id="recommend_product"] .fs-p-heading--lv2 {
	display: none;
}

/* カテゴリトピック */
.topic_cont_cate {
	margin-bottom: 40px;
}

.topic_ttl_area {
	.topic_cont_ttl {
		font-size: 1.6rem;
		border-bottom: 3px solid #349800;
		padding: 5px 0 5px 5px;
		margin-bottom: 10px;

		& span {
			margin-left: 10px;
			font-size: 1.2rem;
		}
	}
}

.topic_cont_column {
	padding: 10px;

	& ul {
		column-count: 2;
	}

	& li {
		margin: 0 0 15px 16px;
		position: relative;

		&::before {
			display: block;
			content: '';
			position: absolute;
			z-index: 2;
			top: 5px;
			left: -18px;
			width: 4px;
			height: 4px;
			border-right: 1px solid #fff;
			border-bottom: 1px solid #fff;
			-webkit-transform: rotate(-45deg);
			transform: rotate(-45deg);
		}

		&::after {
			display: block;
			content: '';
			position: absolute;
			top: 0px;
			left: -22px;
			width: 14px;
			height: 14px;
			background-color: #3498db;
			border-radius: 100%;
		}
	}
}

/* カテゴリ 枠付きボックス イメージ＋テキスト */
.box_2_50 {
	display: flex;
	flex-wrap: wrap;

	.tablebox {
		width: 465px;
		margin-bottom: 10px;
		margin-right: 10px;
		display: flex;
		flex-wrap: wrap;

		&:nth-child(even) {
			margin-right: 0;
		}

		.tablebox01 {
			text-align: center;
			width: 20%;
			box-sizing: border-box;
			border: 1px solid #ccc;
		}

		.tablebox02 {
			padding: 10px;
			width: 80%;
			box-sizing: border-box;
			border: 1px solid #ccc;
			border-left: 0px;
			position: relative;

			& a {
				&:hover {
					text-decoration: none;
				}
			}

			.catch {
				font-weight: bold;
				font-size: 1.4rem;
				margin-bottom: 5px;

				& a {
					color: #389938;
				}
			}

			.table_txt {
				font-size: 1.2rem;
				line-height: 1.4;
				margin-bottom: 15px;
			}

			.cate_label {
				position: absolute;
				bottom: 0;
				right: 0;
				background-color: #aaa;
				padding: 1px 4px;
				transition: 0.3s;

				&:hover {
					background-color: #389938;
				}

				& p {
					color: #fff;
					font-size: 1.2rem;
				}
			}
		}
	}
}

@media(width <=640px) {
	.topic_cont_cate {
		margin-bottom: 20px;
	}

	.topic_ttl_area {
		.topic_cont_ttl {
			padding-bottom: 7px;
			margin-bottom: 5px;

			& span {
				display: none;
			}
		}
	}

	.topic_cont_column {
		& ul {
			column-count: 1;
		}
	}

	.box_2_50 {
		padding: 5px 10px;

		.tablebox {
			width: 100%;
			margin-right: 0;

			.tablebox02 {
				.table_txt {
					font-size: 1.2rem;
				}

				.cate_label {
					background-color: #389938;
				}
			}
		}
	}
}

/* ヘルメット リピートページ サンクスページ */
/* reset */
#repeat_helmet_thanks section,
#repeat_helmet_thanks img,
#repeat_helmet_thanks p,
#repeat_helmet_thanks h2,
#repeat_helmet_thanks span {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

#repeat_helmet_thanks {
	width: 100%;
	margin: 50px 0;
	line-height: 1.7em;
}

@media screen and (max-width: 767px) {
	#repeat_helmet_thanks {
		width: 95%;
		margin: 50px auto;
	}
}

/* inline-block */
#repeat_helmet_thanks .ib {
	display: inline-block;
}

/* text-indent */
#repeat_helmet_thanks .ti {
	padding-left: 1em;
	text-indent: -1em;
}

/* font-weight: bold */
#repeat_helmet_thanks .fb {
	font-weight: bold;
}

#repeat_helmet_thanks .top {
	text-align: center;
}

#repeat_helmet_thanks .top p {
	margin: 0 150px 2em;
	padding: .7em;
	font-size: 1.2em;
	border: 2px solid #339900;
}

#repeat_helmet_thanks picture source,
#repeat_helmet_thanks picture img {
	width: 80%;
}

@media screen and (max-width: 767px) {
	#repeat_helmet_thanks .top p {
		margin: 0 0 2em;
	}

	#repeat_helmet_thanks picture source,
	#repeat_helmet_thanks picture img {
		width: 100%;
	}
}

#repeat_helmet_thanks .first {
	margin: 20px 0 50px;
}

#repeat_helmet_thanks .koumoku {
	margin: 30px 0;
	padding: 2em 2em;
	background-color: rgb(245, 245, 245);
}

@media screen and (max-width: 767px) {
	#repeat_helmet_thanks .koumoku {
		padding: 1em 1em;
	}
}

#repeat_helmet_thanks .koumoku .h2 {
	margin-bottom: 35px;
	font-size: 1.5em;
	text-align: center;
	line-height: 1.5em;
	position: relative;
}

#repeat_helmet_thanks .koumoku .h2::before {
	background-color: #339900;
	bottom: -15px;
	content: "";
	height: 5px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 50px;
}


/* ヘルメット リピートページ */
#repeat_helmet {
	width: 940px;
	scroll-behavior: smooth;
	height: 100%;
}

@media screen and (max-width: 767px) {
	#repeat_helmet {
		width: inherit;
	}
}

#repeat_helmet,
#repeat_helmet .h1,
#repeat_helmet .h2,
#repeat_helmet .h3,
#repeat_helmet .h4,
#repeat_helmet .h5,
#repeat_helmet p,
#repeat_helmet ul,
#repeat_helmet ol,
#repeat_helmet li,
#repeat_helmet dl,
#repeat_helmet dt,
#repeat_helmet dd {
	font-size: 1.6rem;
	color: #333;
	line-height: 1.7;
	font-family: 'Noto Sans JP', sans-serif;
	margin: 0;
	padding: 0;
	list-style: none inside;
	-webkit-text-size-adjust: 100%;
	overflow-wrap: break-word;
}

#repeat_helmet img {
	vertical-align: bottom;
}

#repeat_helmet .fit img,
#repeat_helmet img.fit {
	width: 100%;
	height: auto;
}




/* Text
---------------------------------------------------------- */
#repeat_helmet .break-all {
	/* 強制改行  */
	word-break: break-all;
}

#repeat_helmet .white {
	color: #fff;
}

#repeat_helmet .callbtn {
	background-color: #E96D31;
	border-radius: 10px;
}

#repeat_helmet .formbtn {
	background-color: #fff;
	border-radius: 10px;
}

#repeat_helmet .formbtntext {
	color: #333;
}

#repeat_helmet .in-center {
	text-align: center;
}

#repeat_helmet .in-left {
	text-align: left;
}

#repeat_helmet .in-right {
	text-align: right;
}

#repeat_helmet .bold,
#repeat_helmet .h1,
#repeat_helmet .h2,
#repeat_helmet .h3,
#repeat_helmet .h4,
#repeat_helmet .h5,
[class*="strong-"] {
	font-weight: bold;
}

#repeat_helmet a {
	text-decoration: none;
}

#repeat_helmet .h1,
#repeat_helmet .h2,
#repeat_helmet .h3 {
	line-height: 1.4;
}

#repeat_helmet .h4,
#repeat_helmet .h5 {
	line-height: 1.5;
}

[class*="strong-"],
[class*="strong-"] li {
	line-height: 1.6;
}

#repeat_helmet .h1,
#repeat_helmet .h2,
#repeat_helmet .h3,
#repeat_helmet .h4,
#repeat_helmet .h5,
[class*="strong-"] {
	letter-spacing: .08em;
}

#repeat_helmet .h1 {
	font-size: 5.6rem;
}

#repeat_helmet .h2 {
	font-size: 3.6rem;
}

#repeat_helmet .h3 {
	font-size: 3.4rem;
}

#repeat_helmet .h4 {
	font-size: 3.0rem;
}

#repeat_helmet .h5 {
	font-size: 2.4rem;
}

#repeat_helmet .strong-l,
#repeat_helmet .strong-l li {
	font-size: 2.2rem;
}

#repeat_helmet .strong-m,
#repeat_helmet .strong-m li {
	font-size: 2.0rem;
}

#repeat_helmet .strong-s,
#repeat_helmet .strong-s li {
	font-size: 1.8rem;
}

#repeat_helmet .weak-l,
#repeat_helmet .weak-l li,
#repeat_helmet .weak-l td {
	font-size: 1.5rem;
}

#repeat_helmet .weak-m,
#repeat_helmet .weak-m li,
#repeat_helmet .weak-m td {
	font-size: 1.4rem;
}

#repeat_helmet .weak-s,
#repeat_helmet .weak-s li,
#repeat_helmet .weak-s td {
	font-size: 1.3rem;
}

#repeat_helmet .sp {
	display: none;
}




/* Flex
---------------------------------------------------------- */
#repeat_helmet .flex-row {
	display: flex;
	justify-content: space-between;
	gap: 10px;
}

#repeat_helmet .flex-col {
	display: flex;
	flex-direction: column;
	gap: 56px;
}

#repeat_helmet .flex-center-v {
	display: flex;
	align-items: center;
}

#repeat_helmet .flex_between {
	display: flex;
	justify-content: space-between;
}

#repeat_helmet .sp {
	display: none;
}




/* Section Initial
---------------------------------------------------------- */
#repeat_helmet section {
	padding: 80px 0 80px;
}

#repeat_helmet section:first-child {
	padding: 0;
}

#repeat_helmet header>.inner,
#repeat_helmet footer>.inner,
#repeat_helmet section>.inner {
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 40px;
}

#repeat_helmet .big-inner {
	width: 90%;
	margin: 0 auto;
}

@media screen and (max-width: 767px) {
	#repeat_helmet .big-inner {
		width: 90%;
	}
}




/* header
---------------------------------------------------------- */
#repeat_helmet .header-a {
	padding: 16px 0;
	background-color: #339900;
}

#repeat_helmet .header-a .omitumoritext {
	color: #fff;
	font-size: 30px;
	font-weight: bold;
}

@media screen and (max-width: 767px) {
	#repeat_helmet .header-a .omitumoritext {
		font-size: 20px;
	}
}

#repeat_helmet .header-a .flex .flex {
	gap: 8px;
}

#repeat_helmet .header-a li a {
	display: block;
	padding: 8px 16px 8px 16px;
	color: #fff;
	border-radius: 8px;
}

#repeat_helmet .header-a li img {
	display: inline;
	width: 3rem;
	height: 3rem;
	padding-bottom: 8px;
}

@media screen and (max-width: 767px) {
	#repeat_helmet .header-a li img {
		width: 2rem;
		height: 2rem;
		padding-bottom: 3px;
	}
}

#repeat_helmet .btn-cv {
	box-sizing: border-box;
	display: block;
	max-width: 506px;
	margin: 0 auto;
	padding: 16px 0;
	background: url(../img/icon-cv-arrow.svg) no-repeat 92.291666667% 50% #339900;
	border-radius: 50px;
	color: #fff;
	text-align: center;
}

#repeat_helmet .btn-cv:hover,
.header-a li a:hover {
	opacity: .75;
}




/* FIXBTN 
---------------------------------------------------------- */
#repeat_helmet .fixbtn-a {
	display: none;
	padding: 16px 0;
	background-color: rgba(51, 153, 0, 1);
	position: fixed;
	bottom: 0px;
	width: inherit;
	z-index: 1000;
}

@media screen and (max-width: 640px) {
	#repeat_helmet .fixbtn-a {
		/* bottom: 50.5px; */
		display: none !important;
	}
}

#repeat_helmet .fixbtn-a .omitumoritext {
	color: #fff;
	font-size: 30px;
	font-weight: bold;
}

@media screen and (max-width: 767px) {
	#repeat_helmet .fixbtn-a .omitumoritext {
		font-size: 20px;
	}
}

#repeat_helmet .fixbtn-a .flex .flex {
	gap: 8px;
}

#repeat_helmet .fixbtn-a li a {
	display: block;
	padding: 8px 16px 8px 16px;
	color: #fff;
	border-radius: 8px;
}

#repeat_helmet .fixbtn-a li img {
	display: inline;
	width: 3rem;
	height: 3rem;
	padding-bottom: 8px;
}

@media screen and (max-width: 640px) {
	#repeat_helmet .fixbtn-a li img {
		width: 2rem;
		height: 2rem;
		padding-bottom: 3px;
	}
}

#repeat_helmet .btn-cv:hover,
#repeat_helmet .fixbtn-a li a:hover {
	opacity: .75;
}




/* FV
---------------------------------------------------------- */
#repeat_helmet .fv-a {
	position: relative;
	padding: 0;
}

#repeat_helmet .fv-a .inner {
	padding: 35px 40px 16px;
}

#repeat_helmet .fv-a .img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../img/fv_bg.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	overflow: hidden;
}

#repeat_helmet .fv-a .img img {
	position: absolute;
	left: 55.895833333%;
	bottom: 0;
	max-width: 495px;
}

#repeat_helmet .fv-a .box {
	position: relative;
	z-index: 1;
}

#repeat_helmet .fv-a .box>p:last-child {
	margin: 16px 0 0;
	text-shadow: 1px 1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, -1px -1px 0 #fff;
}

#repeat_helmet .callbtn .time {
	font-size: 15px;
}

#repeat_helmet .callbtn .fa-phone {
	font-size: 2.5rem;
	padding-left: 5px;
}

#repeat_helmet .phonesize {
	font-size: 2.5rem;
}




/* title
---------------------------------------------------------- */
#repeat_helmet .h2,
#repeat_helmet .h3 {
	text-align: center;
	font-size: 60px;
	font-weight: bold;
	color: #C92023;
	line-height: 45px;
	text-transform: uppercase;
}

#repeat_helmet .sub-h2,
#repeat_helmet .sub-h3 {
	font-size: 26px;
	color: #333;
	line-height: 32px;
}

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

	#repeat_helmet .h2,
	#repeat_helmet .h3 {
		font-size: 40px;
		line-height: 36px;
	}

	#repeat_helmet .sub-h2,
	#repeat_helmet .sub-h3 {
		font-size: 20px;
		line-height: 32px;
	}
}




/* toform フォームリンク
---------------------------------------------------------- */
#repeat_helmet .toform a {
	max-width: 600px;
	height: 70px;
	margin: 10px auto 0;
	padding-top: .3em;
	font-size: 30px;
	text-align: center;
	border-radius: 70px;
	display: block;
	position: relative;
	color: white;
	background-color: #C92023;
	font-weight: bold;
	text-decoration: none;
	box-shadow: 0px 3px 3px #6e0305;
}

#repeat_helmet .toform a:link,
#repeat_helmet .toform a:visited,
#repeat_helmet .toform a:hover,
#repeat_helmet .toform a:active {
	color: white;
}

#repeat_helmet .toform a:hover {
	opacity: .75;
	top: 2px;
	box-shadow: 0px 1px 3px #6e0305;
}

@media screen and (max-width: 767px) {
	#repeat_helmet .toform a {
		max-width: 500px;
		height: 60px;
		font-size: 23px;
		padding-top: 10px;
	}
}

/* フォームの矢印 */
#repeat_helmet .toform a::before {
	content: "";
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 40px;
	width: 40px;
	height: 40px;
	background: #fff;
	border-radius: 50%;
}

#repeat_helmet .toform a::after {
	content: "";
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 50px;
	width: 0;
	height: 0;
	border-top: 12px solid transparent;
	border-bottom: 12px solid transparent;
	border-left: 16px solid #C92023;
}

@media screen and (max-width: 767px) {
	#repeat_helmet .toform a::before {
		width: 34px;
		height: 34px;
		right: 28px;
	}

	#repeat_helmet .toform a::after {
		border-top: 10px solid transparent;
		border-bottom: 10px solid transparent;
		border-left: 13px solid #C92023;
		right: 36px;
	}
}

@media screen and (max-width: 500px) {
	#repeat_helmet .toform a::before {
		display: none;
	}

	#repeat_helmet .toform a::after {
		display: none;
	}
}




/* kaitei
---------------------------------------------------------- */
#repeat_helmet #kaitei {
	width: 90%;
	margin: 40px auto;
	padding: 15px 15px;
	background-color: #C92023;
}

#repeat_helmet #kaitei .kaitei-inner {
	padding: 20px 30px;
	background-color: #fff;
	border-radius: 15px;
}

#repeat_helmet #kaitei .kaitei-inner .kaitei-title {
	padding-bottom: 10px;
	text-align: center;
	border-bottom: 2px dashed #5c5c5c;
}

#repeat_helmet #kaitei .kaitei-inner .kaitei-title h2 {
	margin: 0;
	font-size: 35px;
	font-weight: bold;
	line-height: 1.2em;
}

#repeat_helmet #kaitei .kaitei-inner .kaitei-title h2 span {
	display: inline-block;
}

#repeat_helmet #kaitei .kaitei-inner p {
	margin: 10px 0 0;
}

#repeat_helmet #kaitei .kaitei-inner .kaitei-pdf {
	text-align: right;
}

#repeat_helmet #kaitei .kaitei-inner .kaitei-pdf a {
	text-decoration: underline;
}

@media screen and (max-width: 767px) {
	#repeat_helmet #kaitei .kaitei-inner .kaitei-title h2 {
		font-size: 25px;
	}
}




/* flow
---------------------------------------------------------- */
/* リピート購入のながれ */
#repeat_helmet #flow .h2 {
	margin: 30px 0;
	text-align: center;
}

/* お客様作業の丸 */
#repeat_helmet #flow .step_wrapper .title_flex {
	display: flex;
	justify-content: center;
	align-items: last baseline;
	gap: 15px;
}

#repeat_helmet #flow .step_wrapper .maru {
	position: relative;
	display: inline-block;
	width: 120px;
	height: 120px;
	border-radius: 50%;
	background-color: #C92023;
}

#repeat_helmet #flow .step_wrapper .maru span {
	color: #fff;
	font-size: 24px;
	line-height: 40px;
	font-weight: bold;
	position: absolute;
	display: inline-block;
	left: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 120px;
	text-align: center;
}

@media screen and (max-width: 767px) {
	#repeat_helmet #flow .step_wrapper .title_flex {
		flex-direction: column;
		align-items: center;
	}

	#repeat_helmet #flow .step_wrapper .maru {
		position: relative;
		display: inline-block;
		width: 250px;
		height: 60px;
		border-radius: 0%;
		background-color: #C92023;
	}

	#repeat_helmet #flow .step_wrapper .maru span {
		letter-spacing: 2px;
		left: 0%;
		top: 15%;
		-webkit-transform: translateY(0%);
		transform: translateY(0%);
		width: 100%;
		height: 100%;
		;
	}
}

@media screen and (max-width: 500px) {
	#repeat_helmet #flow .step_wrapper .maru {
		width: 100%;
	}
}

/* 背景色 大枠 */
#repeat_helmet #flow #step1 {
	background-color: #F2E9E0;
	padding: 40px 0 80px;
}

#repeat_helmet #flow #step2 {
	background-color: white;
	padding: 100px 0 70px;
}

#repeat_helmet #flow #step3 {
	background-color: #F2E9E0;
	padding: 90px 0 70px;
}

@media screen and (max-width: 767px) {
	#repeat_helmet #flow #step1 {
		padding: 40px 0 70px;
	}

	#repeat_helmet #flow #step2,
	#repeat_helmet #flow #step3 {
		padding: 90px 0 60px;
	}
}

/* 背景矢印 */
#repeat_helmet #flow #step1,
#repeat_helmet #flow #step2 {
	position: relative;
}

#repeat_helmet #flow #step1::after,
#repeat_helmet #flow #step2::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -60px;
	left: 0;
	width: 0px;
	height: 0px;
	margin: auto;
	border-style: solid;
	border-width: 80px 100px 0 100px;
	z-index: 100;
}

#repeat_helmet #flow #step1::after {
	border-color: #F2E9E0 transparent;
}

#repeat_helmet #flow #step2::after {
	border-color: #fff transparent;
}

#repeat_helmet #flow #step3 .sub-inner {
	margin: 50px 0 0;
	text-align: center;
}

@media screen and (max-width: 767px) {
	#repeat_helmet #flow #step3 .sub-inner {
		margin: 40px 0 0;
	}
}

#repeat_helmet #flow #step3 .sub-inner p {
	font-size: 26px;
	font-weight: bold;
	margin-bottom: 10px;
	line-height: 36px;
}

/* タイトル 本文 */
#repeat_helmet #flow .step_wrapper .big-inner .title_flex {
	margin-bottom: 50px
}

#repeat_helmet #flow .step_wrapper .big-inner .flex_between .step_p {
	margin-top: 50px;
}

#repeat_helmet #flow .step_wrapper p span {
	display: inline-block;
}

@media screen and (max-width: 767px) {
	#repeat_helmet #flow .step_wrapper .big-inner .title_flex {
		margin-bottom: 35px
	}

	#repeat_helmet #flow .step_wrapper .big-inner .flex_between .step_p {
		margin-top: 30px;
	}
}

/* STEP 1 */
#repeat_helmet #flow #step1 .flex_between {
	padding: 20px 0;
	align-items: center;
	border-bottom: 2px solid #fff;
}

#repeat_helmet #flow #step1 .big-inner .mb0 {
	padding: 0 0 20px;
}

#repeat_helmet #flow #step1 .big-inner .flex_between:last-of-type {
	padding: 20px 0 0;
	border-bottom: none;
}

#repeat_helmet #flow #step1 div picture {
	width: 53%;
}

#repeat_helmet #flow #step1 div picture source,
#repeat_helmet #flow #step1 div picture img {
	width: 100%;
	height: auto;
}

#repeat_helmet #flow #step1 .big-inner .flex_between p {
	width: 45%;
	padding-left: 1.2em;
	text-indent: -1.2em;
}

#repeat_helmet #flow #step1 .big-inner .flex_between p span {
	padding-left: 0em;
	text-indent: 0em;
	color: #C92023;
}

#repeat_helmet #flow #step1 .big-inner hr {
	margin: 20px 0;
}

@media screen and (max-width: 767px) {
	#repeat_helmet #flow #step1 .big-inner hr {
		margin: 30px 0;
	}

	#repeat_helmet #flow #step1 .flex_between {
		flex-direction: column;
		align-items: flex-start;
		gap: 20px;
	}

	#repeat_helmet #flow #step1 div picture {
		width: 100%;
	}

	#repeat_helmet #flow #step1 .big-inner .flex_between p {
		width: 95%;
		margin: 0 auto;
		padding: 0 0 0 1.2em;
		text-indent: -1.2em;
	}

	#repeat_helmet #flow #step1 div p {
		margin-bottom: 10px;
	}
}

/* STEP2 STEP3 */
#repeat_helmet #flow .step_wrapper .img_wrapper {
	width: 70%;
	margin: 0 auto;
}

#repeat_helmet #flow .step_wrapper .img_wrapper picture {
	width: 100%;
}

#repeat_helmet #flow .step_wrapper .img_wrapper picture source,
#repeat_helmet #flow .step_wrapper .img_wrapper picture img {
	width: 100%;
	height: auto;
}

@media screen and (max-width: 767px) {
	#repeat_helmet #flow .step_wrapper .img_wrapper {
		width: 90%;
	}
}




/* Q&A question_wrapper
---------------------------------------------------------- */
#repeat_helmet #question_wrapper {
	background: #fff;
}

#repeat_helmet #question_wrapper .items {
	margin: 0 auto;
	width: 95%;
	gap: 24px;
}

#repeat_helmet #question_wrapper .items dd {
	margin: 0 0 16px;
	padding: 0 0 40px 1.2em;
	border-bottom: 1px solid #333;
	text-indent: -1.2em;
}

#repeat_helmet #question_wrapper .items dd:last-child {
	margin: 0;
	padding: 0 0 0 1.2em;
	border: none;
	text-indent: -1.2em;
}

#repeat_helmet #question_wrapper .items span {
	background: linear-gradient(transparent 50%, #ff6 10%);
}




/* お問い合わせ contact
---------------------------------------------------------- */
/* フォーム */
#repeat_helmet #contact {
	background-color: #F2E9E0;
}

#repeat_helmet #contact .flex-row {
	justify-content: space-around;
}

#repeat_helmet #contact .formmailer-embed {
	width: 90%;
	margin: 0 auto;
}

@media screen and (max-width: 767px) {
	#repeat_helmet .form-a .flex-col {
		gap: 10px;
	}

	#repeat_helmet #contact .main-h2 {
		margin-bottom: 20px;
	}

	#repeat_helmet .otoiawasebtn {
		max-width: 250px;
	}

	#repeat_helmet .otoiawasebtn p {
		font-size: 1.6rem;
	}
}

/* お問い合わせアイコン */
#repeat_helmet #contact-bottom {
	background-color: #F2E9E0;
	width: 100%;
	padding: 0 0 80px;
}

#repeat_helmet #contact-bottom .flex-between {
	max-width: 1200px;
	margin: 0 5%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#repeat_helmet #contact-bottom .flex-between>picture {
	width: 23%;
}

#repeat_helmet #contact-bottom .flex-between>picture img {
	width: 100%;
	height: auto;
}

#repeat_helmet #contact-bottom .flex-between .center {
	width: 72%;
	text-align: center;
}

#repeat_helmet #contact-bottom .flex-between .center .flex-row {
	justify-content: space-between;
}

#repeat_helmet #contact-bottom .contact-p {
	padding: 1em 0;
	border-top: 2px solid #616161;
	border-bottom: 2px solid #616161;
}

#repeat_helmet #contact-bottom .contact-p span {
	display: inline-block;
	font-size: 24px;
	line-height: 30px;
	font-weight: bold;
}

@media screen and (max-width: 767px) {
	#repeat_helmet #contact-bottom .contact-p {
		margin-top: 20px;
		padding: .5em 0;
		text-align: center;
	}

	#repeat_helmet #contact-bottom .contact-p span {
		margin-top: 0px;
		font-size: 18px;
		line-height: 25px;
	}
}

#repeat_helmet #contact-bottom .flex-between .center .items .otoiawasebtn {
	width: 30%;
}

#repeat_helmet #contact-bottom .flex-between .center .items .otoiawasebtn img {
	margin: 20px 0 10px;
}

#repeat_helmet #contact-bottom .flex-between .center .items .otoiawasebtn p {
	text-decoration: underline;
	line-height: 2.2rem;
}

#repeat_helmet #contact-bottom .flex-between .center .items .otoiawasebtn p span {
	display: inline-block;
	text-decoration: underline;
}

@media screen and (max-width: 560px) {
	#repeat_helmet #contact-bottom .flex-between>picture {
		display: none;
	}

	#repeat_helmet #contact-bottom .flex-between .center {
		width: 100%;
	}

	#repeat_helmet #contact-bottom .flex-between .center .items .otoiawasebtn img {
		margin: 10px 0 10px;
	}

	#repeat_helmet #contact-bottom .flex-between .center .items .otoiawasebtn p {
		font-size: 16px;
	}
}




/* ページトップスクロール footer
---------------------------------------------------------- */
/* ページトップをスクロールしたら表示する */
#repeat_helmet #page_top {
	position: absolute;
	width: 70px;
	height: 100px;
	right: 15px;
	top: -75px;
	transition: all 0.3s;
	text-align: center;
	font-weight: bold;
}

@media screen and (max-width: 767px) {
	#repeat_helmet #page_top {
		width: 70px;
		right: 10px;
		top: -70px;
	}
}

#repeat_helmet #page_top img {
	width: 90%;
	stroke-width: 3px;
}

#repeat_helmet #page_top p {
	text-transform: uppercase;
	color: #C92023;
}

@media screen and (max-width: 767px) {
	#repeat_helmet #page_top p {
		font-size: 15px;
	}
}

/* フォームより下に再表示する */
#repeat_helmet #page_top_second {
	position: fixed;
	width: 70px;
	height: 70px;
	right: 15px;
	bottom: 5px;
	transition: ease-in-out 0.01s;
	text-align: center;
	font-weight: bold;
	animation: fadein-top .6s ease-out forwards;
}

@keyframes fadein-top {
	0% {
		opacity: 0;
		transform: translateY(-100px);
	}

	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

@media screen and (max-width: 767px) {
	#repeat_helmet #page_top_second {
		display: none;
	}
}

#repeat_helmet #page_top_second img {
	width: 90%;
	stroke-width: 3px;
}

#repeat_helmet #page_top_second p {
	text-transform: uppercase;
	color: #C92023;
}




/* ------------------------------------------------------- */





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

	#repeat_helmet .h1 {
		font-size: 4.8rem;
	}

	#repeat_helmet .h4 {
		font-size: 2.6rem;
	}

	#repeat_helmet .h5 {
		font-size: 2.2rem;
	}

	#repeat_helmet .strong-l,
	#repeat_helmet .strong-l li {
		font-size: 2.0rem;
	}

	#repeat_helmet .strong-m,
	#repeat_helmet .strong-m li {
		font-size: 1.9rem;
	}

	#repeat_helmet .midashi {
		font-size: 3.0rem;
		line-height: 1.4;
		padding: 30px 0;
		margin-bottom: 50px;
	}

	#repeat_helmet .pc {
		display: none;
	}

	#repeat_helmet .sp {
		display: block;
	}




	/* Section Initial
    ---------------------------------------------------------- */
	#repeat_helmet>section {
		padding: 50px 0;
	}

	#repeat_helmet header>.inner,
	#repeat_helmet footer>.inner,
	#repeat_helmet section>.inner {
		padding: 0 15px;
	}




	/* type A Section
    ---------------------------------------------------------- */
	#repeat_helmet .header-a {
		padding: 10px 0 20px;
	}

	#repeat_helmet .header-a ul.flex-row {
		gap: 0;
		width: 100%;
	}

	#repeat_helmet .header-a .inner {
		flex-direction: column;
	}

	#repeat_helmet .header-a ul.flex-row li {
		flex: 1;
		margin: 0 10px;
	}

	#repeat_helmet .header-a ul.flex-row a {
		padding: 4px 4px 4px 4px;
		border-radius: 0;
		font-size: 1rem;
		background-position: 94% 50%;
	}

	#repeat_helmet .header-a ul.flex-row a .strong-m {
		font-size: 1.5rem;
	}

	#repeat_helmet .omitumoritext {
		color: #fff;
		font-size: 2.2rem;
		font-weight: bold;
		text-align: center;
	}




	/* FIXBTN 
---------------------------------------------------------- */
	#repeat_helmet .fixbtn-a {
		padding: 10px 0 20px;
	}

	#repeat_helmet .fixbtn-a ul.flex-row {
		gap: 0;
		width: 100%;
	}

	/* #repeat_helmet .fixbtn-a .inner {
		flex-direction: column;
	} */

	#repeat_helmet .fixbtn-a ul.flex-row li {
		flex: 1;
		margin: 0 10px;
	}

	#repeat_helmet .fixbtn-a ul.flex-row a {
		padding: 4px 4px 4px 4px;
		border-radius: 0;
		font-size: 1rem;
		background-position: 94% 50%;
	}

	#repeat_helmet .fixbtn-a ul.flex-row a .strong-m {
		font-size: 1.5rem;
	}




	/* Fv
    ---------------------------------------------------------- */
	#repeat_helmet .fv-a .img,
	#repeat_helmet .fv-a .img img {
		position: static;
		padding: 8px 0 0;
	}

	#repeat_helmet .fv-a .img {
		overflow: hidden;
		display: none;
	}

	#repeat_helmet .fv-a .img img {
		display: block;
		width: 160px;
		margin: 0 auto -63px;
	}

	#repeat_helmet .fv-a .inner {
		padding: 15px;
	}

	#repeat_helmet .fv-a .box {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		width: 100%;
	}

	#repeat_helmet .callbtn .time {
		font-size: 10px;
	}

	#repeat_helmet .callbtn .fa-phone {
		font-size: 1.5rem;
		padding-left: 5px;
	}

	#repeat_helmet .phonesize {
		font-size: 1.5rem;
	}




	/* Q&A
    ---------------------------------------------------------- */
	#repeat_helmet #question_wrapper .items {
		gap: 12px;
	}

	#repeat_helmet #question_wrapper .items dd {
		margin: 0 0 20px;
	}




	/* form
    ---------------------------------------------------------- */
	#repeat_helmet .form-a .flex-col {
		gap: 10px;
	}

	#repeat_helmet #contact .h2 {
		margin-bottom: 20px;
	}

	#repeat_helmet .otoiawasebtn {
		max-width: 250px;
	}

	#repeat_helmet .otoiawasebtn p {
		font-size: 1.6rem;
	}
}



/* ヘルメットグループ */
.helmet_situation ul li {
	width: calc(33% - 9px);
	margin-right: 18px;
	margin-bottom: 15px;
	box-shadow: 0 0 6px rgba(0, 0, 0, .15);
	padding: 10px;

	& a {
		transition: 0.3s;

		&:hover {
			text-decoration: none;
			opacity: 0.8;
		}
	}

	&:nth-child(3n) {
		margin-right: 0;
	}

	& img {
		display: block;
		margin: auto;
	}

	& p {
		font-size: 1.2rem;
	}

	& h3 {
		font-weight: bold;
		font-size: 1.4rem;
		padding-top: 10px;
		margin-bottom: 5px;
		text-align: center;
	}

}

@media(width <=640px) {
	.helmet_situation ul li {
		width: calc(100% - 20px);
		margin: 0 10px 10px;

		&:nth-child(3n) {
			margin: 0 10px 10px;
		}
	}
}

/* 商品一覧タイトル */
#itemlist_title .itemlist_title01 {
	font-size: 1.8rem;
	font-weight: bold;
	border-bottom: 1px dotted #0A4466;
	padding: 0 0 5px 5px;
	margin-top: 30px;
	margin-bottom: 6px;
}

@media(width <=640px) {
	#itemlist_title .itemlist_title01 {
		padding: 8px 0 8px 8px;
		background-color: #eaeaea;
		font-size: 1.4rem;
		border-bottom: none;
	}
}

/* 空調服商標 */
.about_trademark {
	display: flex;
	flex-wrap: wrap;
	margin: 20px 0;
	background-color: #f5f5f5;
	padding: 30px;
	align-items: center;

	.trademark_img {
		width: 30%;
		margin-right: 30px;
	}

	.trademark_txt {
		width: calc(70% - 30px);
	}
}

@media(width <=640px) {
	.about_trademark {
		margin: 20px 10px;
		display: block;

		.trademark_img {
			width: 50%;
			margin: 0 auto;
			margin-bottom: 20px;
		}

		.trademark_txt {
			width: 100%;
		}
	}
}


/* 安全靴グループページ */

.shose_catch {
	font-size: 1.2rem;
	color: #333333;
	line-height: 1.5;
}

.fs-body-category-shoes .cate_columnarea {
	margin-bottom: 20px;
}

.maker-content .list .box .maker_fontsmall {
	font-size: 1.3rem !important;
}

/*人気検索キーワード*/
.top_kensakuword {
	width: 100%;
	text-align: left
}

.top_kensakuword li {
	display: inline-block;
	margin: .5em .5em 0 0
}

.top_kensakuword li a {
	text-decoration: underline
}


/* 地下足袋グループページ */

div.sarecomendarea h2 span {
	line-height: 44px;
	float: left;
	font-size: 15px;
	font-weight: 600;
}

div.glcatedetail_noline {
	margin-bottom: 25px;
}

div.glcatedetail_noline ul {
	font-size: 13px;
	padding-left: 10px;
	margin-bottom: 5px;
}

.glcatedetail_noline ul li {
	padding-bottom: 15px;
	display: flex;
	position: relative;
	padding-left: 5px;
}

@media(width <=640px) {
	.glcatedetail_noline ul li {
		flex-direction: column;
	}
}

.glcatedetail_noline ul li::before {
	content: "▶";
	display: inline-block;
	width: 6px;
	height: 8px;
	position: absolute;
	top: -2px;
	left: -16px;
}

.glcatedetail_noline ul li h3 {
	font-weight: bold;
}

.wrap .main .h_480 {
	height: 480px;
}

@media(width <=640px) {
	.wrap .main .h_480 {
		height: auto;
	}
}

/* アシックスグループページ */

/*AIレコメンド　r_action_f_shoesの見出しのみを非表示*/
div.flywheel-recommend__frame[data-frame-id="pickup_asics"] .fs-p-heading--lv2 {
	display: none;
}

.wrap .main .ranking_three {
	height: 655px;
}


.ranking_three .fr3-productListStatic__responsive_1 {
	grid-template-columns: 1fr 1fr 1fr !important;
}

.ranking_three .flywheel-recommend__frame .fr3-productListStatic article:first-of-type::before {
	content: "";
	display: inline-block;
	width: 50px;
	height: 50px;
	background: url(/img/crown1.webp) no-repeat;
	background-size: contain;
	margin-right: 8px;
	margin-bottom: 10px;
}

.ranking_three .flywheel-recommend__frame .fr3-productListStatic article:nth-of-type(2)::before {
	content: "";
	display: inline-block;
	width: 50px;
	height: 50px;
	background: url(/img/crown2.webp) no-repeat;
	background-size: contain;
	margin-right: 8px;
	margin-bottom: 10px;
}

.ranking_three .flywheel-recommend__frame .fr3-productListStatic article:nth-of-type(3)::before {
	content: "";
	display: inline-block;
	width: 50px;
	height: 50px;
	background: url(/img/crown3.webp) no-repeat;
	background-size: contain;
	margin-right: 8px;
	margin-bottom: 10px;
}

.fs-body-category-sm-asics .box {
	margin-right: 10px;
	margin-left: 10px;
}

.fs-body-category-sm-asics .box a {
	box-shadow: 0 5px 10px -5px rgba(0, 0, 0, 0.5);
}

.fs-body-category-sm-asics .box a:hover {
	opacity: 0.8;
}

.fs-body-category-sm-asics .makerTOP_mizuno {
	margin-top: 50px;
}

@media screen and (max-width: 767px) {
	.fs-body-category-sm-asics .box {
		width: 30%;
		margin-right: 5px;
		margin-left: 5px;
	}

	.sportsmaker {
		justify-content: space-between;
	}
}




/* 共通アイテムボックス（img+ttl+txt+price） */
.item_box_common {
	& a {
		transition: 0.1s;

		&:hover {
			text-decoration: none;
			opacity: 0.9;
		}
	}

	& img {
		margin-bottom: 10px;
	}

	.itembox_ttl {
		font-size: 1.3rem;
		line-height: 1.4;
		letter-spacing: 0;
		font-weight: bold;
		margin-bottom: 3px;
	}

	.itembox_txt {
		font-size: 1.3rem;
		line-height: 1.4;
		letter-spacing: 0;
		margin-bottom: 3px;
	}

	.itembox_price {
		font-size: 1.5rem;
		font-weight: bold;
		color: #e2403b;
		text-align: right;

		& span {
			font-size: 1.2rem;
			padding-left: 1px;
		}
	}
}


/* インボイス制度と領収書発行 */

.receipt_samplebox {
	width: 500px;
	margin-bottom: 15px;
}

.receipt_samplebox img {
	border: 1px solid #acacac;
}


.receipt_samplebox img {
	margin-bottom: 8px;
}

.receipt_samplebox p {
	font-weight: bold;
}

.receipt_title {
	text-align: left;
	margin: 0px 0px 15px;
	padding: 10px 0px 10px 15px;
	border-left: 10px solid rgb(51, 153, 0);
	border-bottom: 3px solid rgb(51, 153, 0);
	display: block;
	font-size: 1.5em;
	margin-block-start: 0.83em;
	margin-block-end: 0.83em;
	margin-inline-start: 0px;
	margin-inline-end: 0px;
	font-weight: bold;
}

.border_box {
	width: 100%;
	font-size: 18px;
	margin: 10px 0 10px;
	padding: 15px 10px;
	border: 2px solid #ccc;
}

.invoice,
.receipt_sample,
.receipt_how {
	margin-bottom: 33px;
}

.fs-body-category-receipt h3 {
	font-weight: bold;
}

.fs-body-category-receipt p {
	line-height: 1.6;
}

.receipt_sample_pdf {
	color: #389938;
	text-decoration: underline;
}

.receipt_sample_pdf:visited {
	color: #389938;
}

.receipt_sample_pdf:hover {
	color: #dc2c08;
}

@media(width <=640px) {
	.receipt_samplebox {
		width: 100%;
	}

	.fs-body-category-receipt .hto_flowbox,
	.fs-body-category-receipt .hto_flowbox .hto_flowbox1,
	.fs-body-category-receipt .hto_flowbox .hto_flowbox2 {
		width: 100%;
	}

	.fs-body-category-receipt .hto_flowbox .hto_flowbox2 {
		margin: 0 0 10px 0;
	}
}

/* お知らせ */

.news_box a {
	display: block;
	font-weight: 400;
	padding: 10px;
	color: #000;
	border: 1px solid #ffc468;
	border-radius: 5px;
	background-color: #fff7ca;
	width: 1200px;
	margin: 10px auto 0;
	text-align: center;
}

.news_box a:hover {
	text-decoration: none;
	opacity: 0.8;
}

@media(width <=640px) {
	.news_box a {
		width: 100%;
	}
}

/* ヘッダー領収書発行アイコン */

.receipt_btn:hover {
	text-decoration: none;
	color: #fff;
}

.receipt_btn {
	width: 91px;
	height: 51px !important;
	background-color: #D62929;
	color: #fff;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.receipt_btn p {
	line-height: 1.3;
}

.receipt_btn:hover {
	opacity: 0.8;
}

.receipt_over {
	font-size: 10px;
}

.receipt_under {
	font-size: 15px;
}



/* コンテンツエリア */
.contents_area {
	& p {
		margin-bottom: 20px;
		font-size: 1.6rem;
		line-height: 1.6;
	}

	.contents_h2 {
		&:first-of-type {
			margin-top: 20px;
		}
	}
}

@media(width <=640px) {
	.contents_area {
		padding: 0 10px;
	}
}

.contents_imgarea {
	margin: 20px 0;
}

.contents_h1 {
	font-weight: bold;
	font-size: 2.3rem;
	margin: 20px 0;
}

.contents_h2 {
	font-size: 2.1rem;
	font-weight: bold;
	position: relative;
	padding-bottom: 14px;
	margin-top: 40px;
	margin-bottom: 20px;
	overflow: hidden;
}

.contents_h2::before {
	content: "";
	position: absolute;
	bottom: 0;
	width: 100%;
	border-bottom: 4px solid #a83f3f
}

.contents_h2::after {
	content: "";
	position: absolute;
	bottom: 0;
	width: 100%;
	border-bottom: 4px solid #d8d8d8
}

/* コンテンツエリアの目次 */
.outline {
	margin: 10px 0 20px;
	border: 1px dotted #d8d8d8;
	padding: 20px;
	display: inline-block;
}

.outline__toggle {
	display: none
}

.outline__switch::before {
	content: "開く";
	cursor: pointer;
	border: solid 1px #d8d8d8;
	padding: 5px;
	font-size: 1.2rem;
	margin-left: 5px;
	border-radius: 5px
}

.outline__toggle:checked+.outline__switch::before {
	content: "閉じる"
}

.outline__switch+.outline__list {
	overflow: hidden;
	width: 0;
	height: 0;
	margin-top: 0;
	margin-left: -20px;
	padding: 0;
	transition: .2s;
	background: #fff;
	border: 0;
	box-shadow: none
}

.outline__switch+.outline__list::before {
	content: normal
}

.outline__switch+.outline__list::after {
	content: normal
}

.outline__toggle:checked+.outline__switch+.outline__list {
	width: auto;
	height: auto;
	margin-top: 2rem
}

.outline__item {
	font-size: 1.5rem;
	padding-left: 1.7rem;
	margin-bottom: 10px;
}

.outline__item:before {
	content: normal
}

.outline__link {
	display: inline-block;
	color: #191919
}

.outline__link:hover {
	border: none
}

.outline__number {
	display: inline-block;
	font-size: 1.6rem;
	color: #7f7f7f;
	background: #f2f2f2;
	padding: 3px 6px;
	margin-right: 5px
}

/* おしゃれな安全靴ページ */

.fs-body-category-fashionable_shoes h1 {
	font-size: 2.5rem;
	text-align: left;
	margin-top: 20px;
}

.fs-body-category-fashionable_shoes .contents_area .ranking-content {
	margin-top: 45px;
	margin-bottom: 0;
}

/* AIレコメンド 見出し非表示 ai_rec_headnoneをクラスに付与してください*/
.ai_rec_headnone {
	.fs-p-heading--lv2 {
		display: none;
	}
}

.wrap .main .headline .recommend_text {
	width: 100%;
	color: #666 !important;
	font-size: 1.3rem;
	margin: 10px 0 5px;
	line-height: 1.5;
	padding: 0 5px;
}

/* ミズノページ */

.makerTOP_mizuno {
	display: flex;
}

.makerTOP h2 {
	margin-top: 10px;
	margin-bottom: 37px;
}

.makerTOP_mizuno .banner p {
	margin-top: 10px;
	margin-bottom: 20px;
}

.fs-body-category .headline_border {
	border-bottom: 1px dotted #999;
}

.rankingblockbg01 {
	background-color: #43788f0d;
	padding: 40px 5px 30px;
}

.fs-body-category .wrap .main .maker_sale .headline .recommend_text {
	text-align: left;
}

.btn_blue {
	display: inline-block;
	margin: 15px 0;
}

.btn_blue a {
	border: 1px solid #1994d2;
	padding: 10px 30px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-radius: 30px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	text-decoration: none;
	color: #1994d2;
	font-size: 1.4rem;
	display: block;
	transition: 0.3s;
}

.btn_blue a::after {
	content: "";
	display: inline-block;
	width: 6px;
	height: 10px;
	background-image: url(https://www.mamoru-k.com/img/n_arrow-green.webp);
	background-size: contain;
	background-repeat: no-repeat;
	margin-left: 10px;
}

.btn_blue a:hover {
	color: #fff;
	background-color: #1994d2;
}

.fs-body-category h4 span {
	font-weight: bold;
	display: block;
}

.fs-body-category .wrap .main .ranking_h500 {
	height: 500px;
}

.pickup_txt {
	line-height: 1.5;
}

@media screen and (max-width: 767px) {
	.makerTOP_mizuno {
		display: block;
	}

	.makerTOP_mizuno .banner p {
		margin-top: 5px;
		margin-bottom: 10px;
	}

	.recommend_text {
		display: none;
	}
}


/* 刺繍リピートページ */
#repeat_sisyu {
	width: 940px;
	scroll-behavior: smooth;
	/* height: 100%; */
}

@media screen and (max-width: 767px) {
	#repeat_sisyu {
		width: inherit;
	}
}

#repeat_sisyu .main-h2,
#repeat_sisyu .main-h3,
#repeat_sisyu p,
#repeat_sisyu ul,
#repeat_sisyu dl,
#repeat_sisyu dt,
#repeat_sisyu dd {
	font-size: 1.6rem;
	color: #333;
	line-height: 1.7;
	font-family: 'Noto Sans JP', sans-serif;
	margin: 0;
	padding: 0;
	list-style: none inside;
	-webkit-text-size-adjust: 100%;
	overflow-wrap: break-word;
}

#repeat_sisyu ol,
#repeat_sisyu li {
	color: #333;
	line-height: 1.7;
	font-family: 'Noto Sans JP', sans-serif;
	margin: 0;
	padding: 0;
	list-style: none inside;
	-webkit-text-size-adjust: 100%;
	overflow-wrap: break-word;
}

#repeat_sisyu source,
#repeat_sisyu img {
	vertical-align: bottom;
	max-width: inherit;
}

#repeat_sisyu .fit picture,
#repeat_sisyu img.fit {
	width: 100%;
	height: auto;
}




/* Text
---------------------------------------------------------- */
#repeat_sisyu .white {
	color: #fff;
}

#repeat_sisyu .callbtn {
	background-color: #E96D31;
	border-radius: 10px;
}

#repeat_sisyu .formbtn {
	background-color: #fff;
	border-radius: 10px;
}

#repeat_sisyu .formbtntext {
	color: #333;
}

#repeat_sisyu .in-center {
	text-align: center;
}

#repeat_sisyu .bold [class*="strong-"] {
	font-weight: bold;
}

#repeat_sisyu .main-h2,
#repeat_sisyu .main-h3 {
	line-height: 1.4;
}

[class*="strong-"],
[class*="strong-"] li {
	line-height: 1.6;
}

#repeat_sisyu .main-h2,
#repeat_sisyu .main-h3,
[class*="strong-"] {
	letter-spacing: .08em;
}

#repeat_sisyu .main-h2 {
	font-size: 3.6rem;
}

#repeat_sisyu .main-h2,
#repeat_sisyu .main-h3 {
	font-size: 3.4rem;
}

#repeat_sisyu .sp {
	display: none;
}

#repeat_sisyu .uc {
	text-transform: uppercase;
}

#repeat_sisyu .uline {
	text-decoration: underline;
}

#repeat_sisyu .red {
	color: red;
}

@media screen and (max-width: 767px) {
	#repeat_sisyu .pc {
		display: none;
	}

	#repeat_sisyu .sp {
		display: block;
	}
}




/* Flex
---------------------------------------------------------- */
.flex-row {
	display: flex;
	gap: 8px;
}

.flex-col {
	display: flex;
	flex-direction: column;
	gap: 56px;
}

.flex-center-v {
	display: flex;
	align-items: center;
}

.flex-between {
	display: flex;
	justify-content: space-between;
}




/* Section Initial
---------------------------------------------------------- */
#repeat_sisyu section {
	padding: 80px 0 80px;
}

#repeat_sisyu section:first-child {
	padding: 0;
}

#repeat_sisyu header>.inner,
#repeat_sisyu footer>.inner,
#repeat_sisyu section>.inner {
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 40px;
}

#repeat_sisyu .big-inner {
	width: 90%;
	margin: 0 auto;
}

@media screen and (max-width: 767px) {
	#repeat_sisyu>section {
		padding: 50px 0;
	}

	#repeat_sisyu header>.inner,
	#repeat_sisyu footer>.inner,
	#repeat_sisyu section>.inner {
		padding: 0 15px;
	}

	#repeat_sisyu .big-inner {
		width: 90%;
	}
}




/* header
---------------------------------------------------------- */
#repeat_sisyu .header-a {
	padding: 16px 0;
	background-color: #002060;
	;
}

#repeat_sisyu .header-a .inner {
	justify-content: space-between;
}

#repeat_sisyu .header-a .inner .omitumoritext {
	color: #fff;
	font-size: 30px;
	font-weight: bold;
}

#repeat_sisyu .header-a .inner ul.flex-row li a {
	display: block;
	padding: 8px 16px 8px 16px;
	color: #fff;
	border-radius: 8px;
}

#repeat_sisyu .header-a .inner ul.flex-row li a .formbtntext {
	font-size: 2rem;
}

#repeat_sisyu .header-a .inner ul.flex-row li.callbtn picture source,
#repeat_sisyu .header-a .inner ul.flex-row li.callbtn picture img {
	display: inline;
	width: 3rem;
	height: 3rem;
	padding-bottom: 8px;
}

#repeat_sisyu .header-a .inner ul.flex-row li a:hover {
	opacity: .75;
}

@media screen and (max-width: 767px) {
	#repeat_sisyu .header-a .inner {
		padding: 10px 0 20px;
		flex-direction: column;
	}

	#repeat_sisyu .header-a .inner .omitumoritext {
		color: #fff;
		font-size: 2.2rem;
		font-weight: bold;
		text-align: center;
	}

	#repeat_sisyu .header-a .inner ul.flex-row {
		gap: 0;
		width: 100%;
	}

	#repeat_sisyu .header-a .inner ul.flex-row li {
		flex: 1;
		margin: 0 10px;
	}

	#repeat_sisyu .header-a .inner ul.flex-row li a {
		padding: 4px 4px 4px 4px;
		border-radius: 0;
		font-size: 1rem;
		background-position: 94% 50%;
	}

	#repeat_sisyu .header-a .inner ul.flex-row li a span.strong-m {
		font-size: 1.5rem;
	}

	#repeat_sisyu .header-a .inner ul.flex-row li.callbtn picture source,
	#repeat_sisyu .header-a .inner ul.flex-row li.callbtn picture img {
		width: 2rem;
		height: 2rem;
		padding-bottom: 3px;
	}
}




/* FIXBTN 
---------------------------------------------------------- */
#repeat_sisyu .fixbtn-a {
	display: none;
	padding: 16px 0;
	background-color: #002060;
	position: fixed;
	bottom: 0px;
	width: inherit;
	z-index: 1000;
}

#repeat_sisyu .fixbtn-a .inner .flex-between {
	justify-content: space-between;
	gap: 8px;
}

#repeat_sisyu .fixbtn-a .inner .omitumoritext {
	color: #fff;
	font-size: 30px;
	font-weight: bold;
}

#repeat_sisyu .fixbtn-a .inner ul.flex-between li a {
	display: block;
	padding: 8px 16px 8px 16px;
	color: #fff;
	border-radius: 8px;
}

#repeat_sisyu .fixbtn-a .inner ul.flex-between li a .formbtntext {
	font-size: 2rem;
}

#repeat_sisyu .fixbtn-a .inner ul.flex-between li.callbtn picture source,
#repeat_sisyu .fixbtn-a .inner ul.flex-between li.callbtn picture img {
	display: inline;
	width: 3rem;
	height: 3rem;
	padding-bottom: 8px;
}

#repeat_sisyu .fixbtn-a .inner ul.flex-between li a:hover {
	opacity: .75;
}

@media screen and (max-width: 767px) {
	#repeat_sisyu .fixbtn-a {
		display: none;
	}

	#repeat_sisyu .fixbtn-a .inner {
		flex-direction: column;
	}

	#repeat_sisyu .fixbtn-a .inner .omitumoritext {
		font-size: 20px;
	}

	#repeat_sisyu .fixbtn-a .inner ul.flex-between {
		gap: 0;
		width: 100%;
	}

	#repeat_sisyu .fixbtn-a .inner ul.flex-between li {
		flex: 1;
		margin: 0 10px;
	}

	#repeat_sisyu .fixbtn-a .inner ul.flex-between li a {
		padding: 4px 4px 4px 4px;
		border-radius: 0;
		font-size: 1rem;
		background-position: 94% 50%;
	}

	#repeat_sisyu .fixbtn-a .inner ul.flex-between li a .strong-m {
		font-size: 1.5rem;
	}

	#repeat_sisyu .fixbtn-a .inner ul.flex-between li.callbtn picture source,
	#repeat_sisyu .fixbtn-a .inner ul.flex-between li.callbtn picture img {
		width: 2rem;
		height: 2rem;
		padding-bottom: 3px;
	}
}




/* FV
---------------------------------------------------------- */
#repeat_sisyu .fv-a {
	position: relative;
	padding: 0;
}

#repeat_sisyu .fv-a picture source,
#repeat_sisyu .fv-a picture img {
	width: 100%;
	height: auto;
}

#repeat_sisyu .callbtn .time {
	font-size: 15px;
}

#repeat_sisyu .phonesize {
	font-size: 2.5rem;
}

@media screen and (max-width: 767px) {
	#repeat_sisyu .callbtn .time {
		font-size: 10px;
	}

	#repeat_sisyu .phonesize {
		font-size: 1.5rem;
	}
}




/* title
---------------------------------------------------------- */
#repeat_sisyu .main-h2,
#repeat_sisyu .main-h3 {
	text-align: center;
	font-size: 60px;
	font-weight: bold;
	color: #002060;
	line-height: 45px;
}

#repeat_sisyu .sub-h2,
#repeat_sisyu .sub-h3 {
	font-size: 26px;
	color: #333;
	line-height: 32px;
}

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

	#repeat_sisyu .main-h2,
	#repeat_sisyu .main-h3 {
		font-size: 40px;
		line-height: 36px;
	}

	#repeat_sisyu .sub-h2,
	#repeat_sisyu .sub-h3 {
		font-size: 20px;
		line-height: 32px;
	}
}




/* toform フォームリンク
---------------------------------------------------------- */
#repeat_sisyu .toform a {
	max-width: 600px;
	height: 70px;
	margin: 10px auto 0;
	padding-top: .4em;
	font-size: 30px;
	text-align: center;
	border-radius: 70px;
	display: block;
	position: relative;
	color: white;
	background-color: #E96D31;
	font-weight: bold;
	text-decoration: none;
	box-shadow: 0px 3px 3px #a14516;
}

#repeat_sisyu .toform a:link,
#repeat_sisyu .toform a:visited,
#repeat_sisyu .toform a:hover,
#repeat_sisyu .toform a:active {
	color: white;
}

#repeat_sisyu .toform a:hover {
	opacity: .75;
	top: 2px;
	box-shadow: 0px 1px 3px #a14516;
}

@media screen and (max-width: 767px) {
	#repeat_sisyu .toform a {
		max-width: 500px;
		height: 60px;
		font-size: 23px;
		padding-top: 10px;
	}
}

/* フォームの矢印 */
#repeat_sisyu .toform a::before {
	content: "";
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 40px;
	width: 40px;
	height: 40px;
	background: #fff;
	border-radius: 50%;
}

#repeat_sisyu .toform a::after {
	content: "";
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 50px;
	width: 0;
	height: 0;
	border-top: 12px solid transparent;
	border-bottom: 12px solid transparent;
	border-left: 16px solid #E96D31;
}

@media screen and (max-width: 767px) {
	#repeat_sisyu .toform a::before {
		width: 34px;
		height: 34px;
		right: 28px;
	}

	#repeat_sisyu .toform a::after {
		border-top: 10px solid transparent;
		border-bottom: 10px solid transparent;
		border-left: 13px solid #E96D31;
		right: 36px;
	}
}

@media screen and (max-width: 500px) {
	#repeat_sisyu .toform a::before {
		display: none;
	}

	#repeat_sisyu .toform a::after {
		display: none;
	}
}




/* simpleflow-wrapper
-------------------------------------------------rapper .flex-col {
	gap: 25px;
}

/* pc */
#simpleflow-wrapper {
	width: 95%;
	margin: 0 auto;
}

/* フローの矢印 */
#simpleflow-wrapper .step-list {
	list-style-type: none;
	display: table;
	width: 100%;
	padding: 0;
	margin-top: 15px;
	overflow: hidden;
}

#simpleflow-wrapper .step-list li {
	display: table-cell;
	position: relative;
	background: #504944;
	padding: 1em 0.5em 1em 2em;
	color: #fff;
}

#simpleflow-wrapper .step-list li:last-child {
	padding-right: 1em;
}

#simpleflow-wrapper .step-list li:before,
#simpleflow-wrapper .step-list li:after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	margin: auto;
}

#simpleflow-wrapper .step-list li:before {
	top: -15px;
	right: -1em;
	border-style: solid;
	border-color: transparent transparent transparent #fff;
	border-width: 40px 0 40px 1em;
	z-index: 10;
}

#simpleflow-wrapper .step-list li:after {
	top: -15px;
	right: -.8em;
	border-style: solid;
	border-color: transparent transparent transparent #3EC4DD;
	border-width: 40px 0 40px 1em;
	z-index: 10;
}

#simpleflow-wrapper .step-list li {
	background: #3EC4DD;
	font-weight: bold;
}

/* 矢印以下 */
#simpleflow-wrapper .flex-between {
	width: 100%;
	margin: 0 auto;
	text-align: center;
	align-items: center;
}

#simpleflow-wrapper .flex-between .simpleflow-inner {
	width: 30%;
	text-align: center;
}

#simpleflow-wrapper .flex-between .simpleflow-inner .flowp {
	display: block;
	width: 90%;
	margin-top: 10px;
	color: white;
}

#simpleflow-wrapper .flex-between .simpleflow-inner .flowp_c {
	font-weight: bold;
	color: #002060;
	border-bottom: 2px solid #002060;
}

#simpleflow-wrapper .flex-between .simpleflow-inner .flowp_m {
	color: #727272;
	border-bottom: 2px dashed #727272;
}

#simpleflow-wrapper .flex-between .simpleflow-inner .step-img {
	width: 50%;
	height: auto;
	margin: 30px 0 20px;
	filter: invert(67%) sepia(92%) saturate(393%) hue-rotate(150deg) brightness(88%) contrast(95%);
}

#simpleflow-wrapper .flex-between p.simpleflow-inner {
	font-weight: bold;
	align-items: center;
}

/* sp */
@media screen and (max-width: 767px) {
	#simpleflow-wrapper {
		width: 90%;
		margin: 0 auto;
	}
}

#simpleflow-wrapper .order-step .flex-center-v {
	gap: 15px;
	align-items: center;
}

#simpleflow-wrapper .order-step .tal {
	width: 95%;
	aspect-ratio: 7 / 1;
	margin-left: 5%;
	padding-left: 15%;
	text-align: left;
	border: 3px solid #3EC4DD;
	position: relative;
}

#simpleflow-wrapper .order-step .order-circle {
	width: calc(95% / 7 * 1.4);
	aspect-ratio: 1 / 1;
	background-color: #3EC4DD;
	border-radius: 50%;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	flex-flow: column;
	vertical-align: top;
	position: absolute;
	top: 50%;
	left: -7%;
	transform: translate(0, -50%);
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	text-align: center;
}

#simpleflow-wrapper .order-step .order-circle .uc {
	/* position: relative;
    top: 22%; */
	color: #fff;
	font-weight: bold;
}

#simpleflow-wrapper .order-step .order-circle .mintext {
	display: none;
}

#simpleflow-wrapper .order-step .order-circle img {
	width: 50%;
	height: auto;
	filter: invert(99%) sepia(18%) saturate(337%) hue-rotate(55deg) brightness(115%) contrast(100%);
}

#simpleflow-wrapper .order-step .order-circle p.uc {
	font-size: 1.5em;
}

#simpleflow-wrapper .order-step .tal .flowp {
	width: 100%;
	padding: .3rem 1rem;
}

#simpleflow-wrapper .order-step .tal .flowp_c {
	color: white;
	background-color: #002060;
}

#simpleflow-wrapper .order-step .tal .flowp_m {
	color: #333;
	background-color: rgb(192, 192, 192);
}

#simpleflow-wrapper .order-step .tal>p.bold {
	position: absolute;
	top: calc(50% + .3rem);
	transform: translate(0, -50%);
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	font-weight: bold;
}

#simpleflow-wrapper .order-step .triangle {
	margin: 20px auto;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 25px 25px 0 25px;
	border-color: #7e7e7e transparent transparent transparent;
}

@media screen and (max-width: 550px) {
	#simpleflow-wrapper .order-step .tal {
		aspect-ratio: 5 / 1;
		padding-left: 20%;
	}

	#simpleflow-wrapper .order-step .order-circle {
		width: calc(95% / 5 * 1.4);
	}

	#simpleflow-wrapper .order-step .order-circle .mintext {
		display: block;
		font-size: 1.5em;
		line-height: 1.3em;
	}

	#simpleflow-wrapper .order-step .tal>p.bold {
		top: 50%;
		line-height: 1.3em;
	}

	#simpleflow-wrapper .order-step .order-circle p:first-child,
	#simpleflow-wrapper .order-step .tal .flowp,
	#simpleflow-wrapper .order-step .tal br {
		display: none;
	}

	#simpleflow-wrapper .order-step .triangle {
		border-width: 20px 20px 0 20px;
	}
}

#simpleflow-wrapper .toform {
	margin-top: 40px;
}



/* flow
---------------------------------------------------------- */
/* リピート購入のながれ */
#repeat_sisyu #flow .main-h2 {
	margin: 30px 0;
	text-align: center;
}

/* お客様作業の丸 */
#repeat_sisyu #flow .step_wrapper .title_flex {
	display: flex;
	justify-content: center;
	align-items: last baseline;
	gap: 15px;
}

#repeat_sisyu #flow .step_wrapper .maru {
	position: relative;
	display: inline-block;
	width: 120px;
	height: 120px;
	border-radius: 50%;
	background-color: #3EC4DD;
}

#repeat_sisyu #flow .step_wrapper .maru span {
	color: #fff;
	font-size: 24px;
	line-height: 40px;
	font-weight: bold;
	position: absolute;
	display: inline-block;
	left: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 120px;
	text-align: center;
}

#repeat_sisyu #flow .step_wrapper .maru.toten {
	background-color: gray;
}

@media screen and (max-width: 767px) {
	#repeat_sisyu #flow .step_wrapper .title_flex {
		flex-direction: column;
		align-items: center;
	}

	#repeat_sisyu #flow .step_wrapper .maru {
		position: relative;
		display: inline-block;
		width: 250px;
		height: 60px;
		border-radius: 0%;
		background-color: #3EC4DD;
	}

	#repeat_sisyu #flow .step_wrapper .maru span {
		letter-spacing: 2px;
		left: 0%;
		top: 15%;
		-webkit-transform: translateY(0%);
		transform: translateY(0%);
		width: 100%;
		height: 100%;
		;
	}
}

@media screen and (max-width: 500px) {
	#repeat_sisyu #flow .step_wrapper .maru {
		width: 100%;
	}
}

/* 背景色 大枠 */
#repeat_sisyu #flow #step1 {
	background-color: #efefef;
	padding: 40px 0 80px;
}

#repeat_sisyu #flow #step2,
#repeat_sisyu #flow #step4 {
	background-color: white;
	padding: 100px 0 70px;
}

#repeat_sisyu #flow #step3,
#repeat_sisyu #flow #step5 {
	background-color: #efefef;
	padding: 90px 0 70px;
}

@media screen and (max-width: 767px) {
	#repeat_sisyu #flow #step1 {
		padding: 40px 0 70px;
	}

	#repeat_sisyu #flow #step2,
	#repeat_sisyu #flow #step3 {
		padding: 90px 0 60px;
	}
}

/* 背景矢印 */
#repeat_sisyu #flow #step1,
#repeat_sisyu #flow #step2,
#repeat_sisyu #flow #step3,
#repeat_sisyu #flow #step4 {
	position: relative;
}

#repeat_sisyu #flow #step1::after,
#repeat_sisyu #flow #step2::after,
#repeat_sisyu #flow #step3::after,
#repeat_sisyu #flow #step4::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -60px;
	left: 0;
	width: 0px;
	height: 0px;
	margin: auto;
	border-style: solid;
	border-width: 80px 100px 0 100px;
	z-index: 100;
}

#repeat_sisyu #flow #step1::after,
#repeat_sisyu #flow #step3::after {
	border-color: #efefef transparent;
}

#repeat_sisyu #flow #step2::after,
#repeat_sisyu #flow #step4::after {
	border-color: #fff transparent;
}

/* タイトル 本文 */
#repeat_sisyu #flow .step_wrapper .big-inner .title_flex {
	margin-bottom: 50px
}

#repeat_sisyu #flow .step_wrapper .big-inner .flex-between .step_p {
	margin-top: 50px;
}

#repeat_sisyu #flow .step_wrapper p span {
	display: inline-block;
}

@media screen and (max-width: 767px) {
	#repeat_sisyu #flow .step_wrapper .big-inner .title_flex {
		margin-bottom: 35px
	}

	#repeat_sisyu #flow .step_wrapper .big-inner .flex-between .step_p {
		margin-top: 30px;
	}
}

/* STEP 1 */
#repeat_sisyu #flow #step1 .flex-between {
	padding: 20px 0;
	align-items: center;
	border-bottom: 2px solid #fff;
}

#repeat_sisyu #flow #step1 .flex-between.bordernone {
	border-bottom: none;
}

#repeat_sisyu #flow #step1 .big-inner .mb0 {
	padding: 0 0 20px;
}

#repeat_sisyu #flow #step1 .big-inner .flex-between:last-of-type {
	padding: 20px 0 0;
	border-bottom: none;
}

#repeat_sisyu #flow #step1 .big-inner .picture-wrapper {
	width: 53%;
}

#repeat_sisyu #flow #step1 .big-inner .picture-wrapper picture {
	width: 100%;
	display: block;
}

#repeat_sisyu #flow #step1 .big-inner .picture-wrapper picture source,
#repeat_sisyu #flow #step1 .big-inner .picture-wrapper picture img {
	width: 100%;
	height: auto;
}

#repeat_sisyu #flow #step1 .big-inner .flex-between p {
	width: 45%;
	padding-left: 1.2em;
	text-indent: -1.2em;
}

#repeat_sisyu #flow #step1 .big-inner .flex-between p.w100 {
	width: 100%;
	font-size: 20px;
	margin-bottom: 5px;
}

#repeat_sisyu #flow #step1 .big-inner .flex-between p span {
	padding-left: 0em;
	text-indent: 0em;
}

@media screen and (max-width: 767px) {
	#repeat_sisyu #flow #step1 .flex-between {
		flex-direction: column;
		align-items: flex-start;
		gap: 20px;
	}

	#repeat_sisyu #flow #step1 .big-inner .picture-wrapper {
		width: 100%;
	}

	#repeat_sisyu #flow #step1 .big-inner .flex-between p {
		width: 95%;
		margin: 0 auto;
		padding: 0 0 0 1.2em;
		text-indent: -1.2em;
	}

	#repeat_sisyu #flow #step1 div p {
		margin-bottom: 10px;
	}
}

/* STEP2 STEP3 */
#repeat_sisyu #flow .step_wrapper .big-inner .title_flex .sub-h3 {
	line-height: .05em;
}

#repeat_sisyu #flow .step_wrapper .img_wrapper {
	width: 70%;
	margin: 0 auto;
}

#repeat_sisyu #flow .step_wrapper .img_wrapper picture {
	width: 100%;
}

#repeat_sisyu #flow .step_wrapper .img_wrapper picture source,
#repeat_sisyu #flow .step_wrapper .img_wrapper picture img {
	width: 100%;
	height: auto;
}

@media screen and (max-width: 767px) {
	#repeat_sisyu #flow .step_wrapper .img_wrapper {
		width: 90%;
	}
}

/* STEP5 toform */
#repeat_sisyu #flow #step5 .sub-inner {
	margin: 50px 0 0;
	text-align: center;
}

@media screen and (max-width: 767px) {
	#repeat_sisyu #flow #step5 .sub-inner {
		margin: 40px 0 0;
	}
}

#repeat_sisyu #flow #step5 .sub-inner p {
	font-size: 26px;
	font-weight: bold;
	margin-bottom: 10px;
	line-height: 36px;
}




/* Q&A question_wrapper
---------------------------------------------------------- */
#repeat_sisyu #question_wrapper {
	background: #fff;
}

#repeat_sisyu #question_wrapper .items {
	margin: 0 auto;
	width: 90%;
	gap: 24px;
}

#repeat_sisyu #question_wrapper .items dd {
	margin: 0 0 16px;
	padding: 0 0 40px 1.2em;
	border-bottom: 1px solid #333;
	text-indent: -1.2em;
}

#repeat_sisyu #question_wrapper .items dd:last-child {
	margin: 0;
	padding: 0 0 0 1.2em;
	border: none;
	text-indent: -1.2em;
}

#repeat_sisyu #question_wrapper .items .yellow {
	background: linear-gradient(transparent 50%, #ff6 10%);
}

#repeat_sisyu #question_wrapper .items .bold {
	font-weight: bold;
}

@media screen and (max-width: 767px) {
	#repeat_sisyu #question_wrapper .items {
		gap: 12px;
	}

	#repeat_sisyu #question_wrapper .items dd {
		margin: 0 0 20px;
	}
}




/* お問い合わせ contact
---------------------------------------------------------- */
/* フォーム */
#repeat_sisyu #contact {
	background-color: rgb(225, 245, 254);
}

#repeat_sisyu #contact .flex-row {
	justify-content: space-around;
}

@media screen and (max-width: 767px) {
	#repeat_sisyu .form-a .flex-col {
		gap: 10px;
	}

	#repeat_sisyu #contact .main-h2 {
		margin-bottom: 20px;
	}

	#repeat_sisyu .otoiawasebtn {
		max-width: 250px;
	}

	#repeat_sisyu .otoiawasebtn p {
		font-size: 1.6rem;
	}
}

/* お問い合わせアイコン */
#repeat_sisyu #contact-bottom .big-inner {
	background-color: #fff;
}

#repeat_sisyu #contact-bottom .flex-between {
	max-width: 1200px;
	margin: 0 auto;
	align-items: center;
}

#repeat_sisyu #contact-bottom .flex-between>picture {
	width: 23%;
}

#repeat_sisyu #contact-bottom .flex-between>picture source,
#repeat_sisyu #contact-bottom .flex-between>picture img {
	width: 100%;
	height: auto;
}

#repeat_sisyu #contact-bottom .flex-between .center {
	width: 72%;
	text-align: center;
}

#repeat_sisyu #contact-bottom .flex-between .center .flex-row {
	justify-content: space-between;
}

#repeat_sisyu #contact-bottom .contact-p {
	padding: 1em 0;
	border-top: 2px solid #616161;
	border-bottom: 2px solid #616161;
}

#repeat_sisyu #contact-bottom .contact-p span {
	display: inline-block;
	font-size: 24px;
	line-height: 30px;
	font-weight: bold;
}

@media screen and (max-width: 767px) {
	#repeat_sisyu #contact-bottom .contact-p {
		margin-top: 20px;
		padding: .5em 0;
		text-align: center;
	}

	#repeat_sisyu #contact-bottom .contact-p span {
		margin-top: 0px;
		font-size: 18px;
		line-height: 25px;
	}
}

#repeat_sisyu #contact-bottom .flex-between .center .items .otoiawasebtn {
	width: 30%;
}

#repeat_sisyu #contact-bottom .flex-between .center .items .otoiawasebtn img {
	margin: 20px 0 10px;
}

#repeat_sisyu #contact-bottom .flex-between .center .items .otoiawasebtn p {
	text-decoration: underline;
	line-height: 2.2rem;
}

#repeat_sisyu #contact-bottom .flex-between .center .items .otoiawasebtn p span {
	display: inline-block;
	text-decoration: underline;
}

@media screen and (max-width: 560px) {
	#repeat_sisyu #contact-bottom .flex-between>picture {
		display: none;
	}

	#repeat_sisyu #contact-bottom .flex-between .center {
		width: 100%;
	}

	#repeat_sisyu #contact-bottom .flex-between .center .items .otoiawasebtn p {
		font-size: 16px;
	}
}

/* FAXの書き方はこちら */
#repeat_sisyu #contact-bottom .btn-wrapper {
	text-align: center;
	margin-top: 30px;
}

#repeat_sisyu #contact-bottom a.btn--orange {
	color: #fff;
	background-color: #E96D31;
	display: block;
	width: 100%;
	box-shadow: 0px 3px 3px #a14516;
}

#repeat_sisyu #contact-bottom a.btn {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
	position: relative;
	display: inline-block;
	padding: 1rem 0;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	letter-spacing: 0.1em;
	color: #212529;
	border-radius: 0.5rem;
}

#repeat_sisyu #contact-bottom a.btn--orange {
	color: #fff;
	background-color: #E96D31;
}

#repeat_sisyu #contact-bottom a.btn--orange:hover {
	opacity: .75;
	top: 2px;
	box-shadow: 0px 1px 3px #a14516
}


/* 刺繍リピート サンクスページ */
/* reset */
#repeat_sisyu_thanks section,
#repeat_sisyu_thanks img,
#repeat_sisyu_thanks p,
#repeat_sisyu_thanks h2,
#repeat_sisyu_thanks span {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

#repeat_sisyu_thanks {
	width: 100%;
	margin: 50px 0;
	line-height: 1.7em;
}

@media screen and (max-width: 767px) {
	#repeat_sisyu_thanks {
		width: 95%;
		margin: 50px auto;
	}
}

/* inline-block */
#repeat_sisyu_thanks .ib {
	display: inline-block;
}

/* text-indent */
#repeat_sisyu_thanks .ti {
	padding-left: 1em;
	text-indent: -1em;
}

/* font-weight: bold */
#repeat_sisyu_thanks .fb {
	font-weight: bold;
}

#repeat_sisyu_thanks .top {
	text-align: center;
}

#repeat_sisyu_thanks .top p {
	margin: 0 150px 2em;
	padding: .7em;
	font-size: 1.2em;
	border: 2px solid #339900;
}

#repeat_sisyu_thanks picture source,
#repeat_sisyu_thanks picture img {
	width: 80%;
}

@media screen and (max-width: 767px) {
	#repeat_sisyu_thanks .top p {
		margin: 0 0 2em;
	}

	#repeat_sisyu_thanks picture source,
	#repeat_sisyu_thanks picture img {
		width: 100%;
	}
}

#repeat_sisyu_thanks .first {
	margin: 20px 0 50px;
}

#repeat_sisyu_thanks .koumoku {
	margin: 30px 0;
	padding: 2em 2em;
	background-color: rgb(245, 245, 245);
}

@media screen and (max-width: 767px) {
	#repeat_sisyu_thanks .koumoku {
		padding: 1em 1em;
	}
}

#repeat_sisyu_thanks .koumoku .h2 {
	margin-bottom: 35px;
	font-size: 1.5em;
	text-align: center;
	line-height: 1.5em;
	position: relative;
}

#repeat_sisyu_thanks .koumoku .h2::before {
	background-color: #339900;
	bottom: -15px;
	content: "";
	height: 5px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 50px;
}


/* ご注文手続きページ */

.fs-c-checkout-communicationTextarea {
	font-size: 1.6rem;
}

/* プーマページ */
.makerTOP img {
	display: block;
	margin: auto;
}


/* 刺繍・プリント・ワッペン FAX記入例 */

.fax_example {
	max-width: 940px;
	margin: 0 auto;
	background-color: #e1f5fe;
}

.fax_example source,
.fax_example img {
	width: 100%;
}

.fax_example .tabs {
	padding-bottom: 40px;
	margin: auto;
	flex-wrap: wrap;
	display: flex;
}

.fax_example .fax_tab_class {
	width: calc(100%/3);
	height: 50px;
	border-bottom: 3px solid #002060;
	background-color: #d9d9d9;
	line-height: 50px;
	font-size: 16px;
	text-align: center;
	color: #565656;
	display: block;
	float: left;
	order: -1;
	text-align: center;
	font-weight: bold;
	transition: sisyu_fax 0.2s ease;
}

.fax_example .fax_tab_class:hover {
	opacity: 0.75;
}

.fax_example input[name="fax_tab_name"] {
	display: none;
}

.fax_example .tabs .tab_content {
	display: none;
	width: 100%;
}

.fax_example input:checked + .fax_tab_class + .tab_content {
	display: block;
}

.fax_example .tabs input:checked+.fax_tab_class {
	background-color: #002060;
	color: #fff;
}

.fax_example .tabs .tab_content_description {
	margin-top: 30px;
}

.fax_example .fax_title source,
.fax_example .fax_title img {
	margin: 20px 0 10px 0;
}

/* 安全靴　規格と特徴、選び方ページ */
.fs-body-category-shoes-std-feature .main a,
.fs-body-category-shoes_point .main a {
	text-decoration: underline;
}

/*FAQPage*/
div#faq {
	margin-left: 10px;
}

#faq p {
	margin-bottom: 10px;
}

#faq .nav {
	border-top: 2px solid #369000;
	text-align: right;
	overflow: auto;
	margin-bottom: 10px;
	padding: 8px 0 0 0;
}

#faq .nav ul {
	float: right;
}

#faq .nav ul li {
	float: left;
	display: block;
	margin: 0 10px 0 0;
}


#faq .nav ul li a {}

#faq .nav ul li.current {}

#faq .nav ul li.last {}

#faq .faq_tittle {
	border-left: 3px solid #369000;
	padding: 5px 10px;
	margin-bottom: 10px;
}

#faq .faq_tittle h2 {
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.05em;
}

#faq ul.faq_index {
	position: relative;
	border: 1px solid #eeeeee;
	margin-bottom: 15px;
	padding: 12px 2% 3px 2%;
	overflow: auto;
}

#faq ul.faq_index li {
	margin: 0 0 10px 4%;
	width: 46%;
	float: left;
	height: 30px;
	font-size: 14px !important;
	position: relative;
	letter-spacing: 0.03em;
}

#faq ul.faq_index li::after,
#faq ul.faq_index li::before {
	display: block;
	content: '';
	position: absolute;
}

#faq ul.faq_index li::after {
	top: 1.5px;
	left: -22px;
	width: 14px;
	height: 14px;
	background-color: #3498db;
	border-radius: 100%;
}

#faq ul.faq_index li::before {
	z-index: 2;
	top: 6px;
	left: -18px;
	width: 4px;
	height: 4px;
	border-right: 1px solid #FFFFFF;
	border-bottom: 1px solid #FFFFFF;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

#faq ul.faq_index li a {
	text-decoration: none;
	font-size: 13px !important;
}

#faq .faq_question {
	overflow: auto;
	width: 100%;
	clear: both;
	margin-bottom: 10px;
}

#faq .faq_question .question_mark {
	font-size: 30px;
	color: #369000;
	font-weight: normal;
	float: left;
	width: 40px;
}

#faq .faq_question .question_text {
	border: 2px solid #369000;
	float: left;
	padding: 10px;
	width: 640px;
	margin-right: 16px;
}

#faq .faq_question .question_text p {
	font-size: 13px;
	margin: 0;
	letter-spacing: 0.05em;
	font-weight: normal;
}

#faq .faq_answer {
	overflow: auto;
	width: 100%;
	clear: both;
	margin-bottom: 5px;
}

#faq .faq_answer .answer_mark {
	font-size: 30px;
	color: #FF7700;
	font-weight: bold;
	float: left;
	width: 40px;
}

#faq .faq_answer .answer_text {
	border: 2px solid #FF7700;
	float: left;
	padding: 10px 10px 5px 10px;
	width: 640px;
	margin-right: 16px;
}

#faq .faq_answer .answer_text p {
	font-size: 13px;
	margin-bottom: 5px;
	letter-spacing: 0.05em;
	font-weight: normal;
}

#faq .faq_answer .answer_text p.img_area {
	float: right;
	width: 120px;
	margin: 0 0 5px 5px;
}

#faq .faq_answer .answer_text p.img_area img {
	width: 100%;
	height: auto;
}

#faq .index_link_area p.index_link {
	float: right;
	margin: 0 16px 15px 0;
	background-color: #666;
	color: #FFF;
	padding: 4px;
	font-size: 11px;
	letter-spacing: 0.05em;
}

/*FAQPage end*/

/* ヘルメット名入れ */

#how_to_order h3 {
	font-weight: bold;
}

.td_none {
	text-decoration: none !important;
}

.fs-body-category-how-to-order .wrap .main .headline:before {
	margin-top: 30px;
}

.fs-body-category-how-to-order .rankingblockbg01 {
	padding-top: 25px;
}

/* 商品グループの商品一覧　ひとこと説明 */

.fs-c-productListItem__productDescription {
	font-size: 1.3rem;
	letter-spacing: -0.8px;
	line-height: 1.4;
	overflow-y: scroll;
	height: calc(1em * 1.4 * 5)
}

/* 商品ダイレクトリンク付きのHタグブロック */
.topicbnr {
	font-size: 2.5rem;
	padding: 10px;
	font-weight: bold;
	line-height: 1.5;
	background-image: repeating-linear-gradient(-45deg, transparent, transparent 5px, rgba(255, 255, 255, .1) 5px, rgba(255, 255, 255, .1) 15px);
	margin-bottom: 5px;
	color: #fff;

	& span {
		display: block;
		font-size: 1.3rem;
		font-weight: normal;
		margin-top: 5px;
	}

	& a {
		color: #fff;
		text-decoration: none;
	}
}

.topicbnr_bg {
	background-color: #efefef;
}

.scroll_block {
	display: flex;
	gap: 10px;
	margin: 10px 10px 0;

	& a {
		transition: 0.3s;
	}

	& a:hover {
		text-decoration: none;
		opacity: 0.8;
	}

	.scroll_box_w25 {
		width: 25%;
	}

	.scroll_box_w33 {
		width: 33%;
	}

	.scroll_box01 {
		padding-bottom: 15px;

		.scroll_block_img {
			padding: 5px;
		}

		.scroll_block_itemname {
			padding: 5px;
			font-size: 1.4rem;
			font-weight: bold;
			letter-spacing: -0.03em;

			& span {
				display: block;
				margin-top: 3px;
				font-weight: normal;
				font-size: 1.3rem;
			}
		}

		.price {
			padding: 0 10px 0 5px;
			font-size: 2.0rem;
			color: #D62929;
			font-weight: bold;
			text-align: right;

			& span {
				font-size: 1.4rem;
				margin-left: 1px;
			}
		}

		.pfm_ttl {
			font-size: 1.6rem;
			text-align: center;
			margin: 5px 0;
		}

		.pfm_txt {
			padding: 0 15px;
			font-size: 1.3rem;

			& span {
				font-weight: bold;
			}
		}
	}
}

.topicbnr_btn_wrap {
	text-align: right;
	padding-right: 15px;
}

.topicbnr_btn {
	display: inline-block;
	margin: 15px 0;
	transition: 0.3s;

	&:hover {
		opacity: 0.8;
	}

	& a {
		color: #fff;
		padding: 10px 30px;
		border-radius: 30px;
		align-items: center;
		text-decoration: none;
		font-size: 1.4rem;
		display: block;
	}
}

/* ここにカラーを追加してください 追加すると色々なタイトルカラーが作れます。*/
.topicbnr_cl_green {

	.topicbnr,
	.topicbnr_btn {
		background-color: #339a02;
	}
}

.topicbnr_cl_blue {

	.topicbnr,
	.topicbnr_btn {
		background-color: #387099;
	}
}

.topicbnr_cl_red {

	.topicbnr,
	.topicbnr_btn {
		background-color: #99383b;
	}
}

@media(width <=640px) {
	.topicbnr {
		font-size: 2.0rem;
	}

	.scroll_block {
		overflow-x: scroll;
		padding-bottom: 15px;

		.scroll_box_w25,
		.scroll_box_w33 {
			width: 42%;
		}

		.scroll_box01 {
			flex-shrink: 0;
		}
	}

	.topicbnr_btn_wrap {
		text-align: center;
		padding: 0;
	}
}

#how_to_order {
	.catcharea {
		position: relative;
		padding: 0 0 0 30px;
		margin: 0 0 60px 0;

		.main_catch {
			font-size: 4.3rem;
			color: #339a02;
			margin: 10px 0 10px 0;
			padding: 25px 0 0;
			font-weight: bold;
		}

		.sub_catch {
			width: 550px;
			font-size: 1.8rem;
			line-height: 1.5;
			margin: 0 0 10px 0;
			padding: 0;
			color: #666;
		}

		.ptext01 {
			color: #ff7703;
			font-size: 7.0rem;
			font-weight: bold;
			margin: 0;
			padding-left: 15px;
			line-height: 1.3;
		}

		.ptext02 {
			font-size: 3.0rem;
			font-weight: bold;
			margin: 0;
			padding-left: 16px;
			color: #666;
		}

		.catchimg {
			z-index: -1;
			width: 500px;
			height: auto;
			display: block;
			position: absolute;
			top: 10px;
			right: 0px;

			& img {
				width: 100%;
				height: auto;
			}
		}
	}

	.hel_point_cont {
		border: 2px solid #339a02;
		width: 80%;
		margin: 0 auto;
		margin-bottom: 35px;

		.point_ttl {
			margin: 0;
			padding: 0 0 2px 10px;
			color: #fff;
			font-size: 2.5rem;
			background-color: #339a02;
			line-height: 1.8;
		}

		& ul {
			padding: 10px;
		}

		& li {
			font-size: 2.0rem;
			font-weight: bold;
			line-height: 1.6;
			padding-left: 10px;
		}
	}

	.cta_bnr {
		background-color: #339a02;
		margin-bottom: 20px;

		& p {
			margin: 0;
			line-height: 1.3
		}

		.cta_inner {
			display: flex;
			flex-wrap: wrap;
			align-items: center;
			justify-content: space-between;
			padding: 0 20px 0 50px;

			.cta_pretxt {
				color: #fff;
				font-size: 30px;
				font-weight: bold;
			}

			.cta_btn {
				display: flex;
				align-items: center;
				gap: 15px;
				padding: 15px 0;

				& a {
					display: block;
					padding: 0 15px;
					font-weight: bold;
					font-size: 2.5rem;
					text-decoration: none;
				}

				& li {
					border-radius: 8px;
					text-align: center;
					height: 65px;
					display: flex;
					align-items: center;
				}

				.cta_btn_01 {
					background-color: #fff;

					& a:hover {
						color: #555;
						text-decoration: none;
					}
				}

				.cta_btn_02 {
					background-color: #ff7703;

					& a {
						color: #fff;
						line-height: 1.3;

						&:hover {
							color: #ececec;
						}

						& span {
							display: block;
							font-size: 1.4rem;
						}
					}
				}
			}
		}
	}

	@media(width <=640px) {
		.catcharea {
			padding: 0 5px 0 15px;
			margin-bottom: 30px;

			.main_catch {
				font-size: 2.6rem;
			}

			.sub_catch {
				font-size: 1.4rem;
				width: 100%;
				margin-bottom: 5px;
			}

			.ptext01 {
				padding: 0;
				font-size: 3.6rem;
			}

			.ptext02 {
				padding: 0;
				font-size: 1.8rem;
			}

			.catchimg {
				top: auto;
				bottom: 0;
				width: 50%;
			}
		}

		.hel_point_cont {
			width: 94%;
			margin: 20px 3%;
			box-sizing: border-box;

			.point_ttl {
				text-align: center;
				font-size: 1.8rem;
			}

			& li {
				font-size: 1.6rem;
			}
		}

		.cta_bnr {
			.cta_inner {
				padding: 15px 20px 0;
				display: inherit;
				text-align: center;

				.cta_pretxt {
					font-size: 2.0rem;
				}

				.cta_btn {

					.cta_btn_01,
					.cta_btn_02 {
						width: 50%;
					}

					.cta_btn_01 a,
					.cta_btn_02 a {
						margin: 0 auto;
						font-size: 2.0rem;
						padding: 0 10px;
					}
				}
			}
		}
	}
}




/* 谷沢製作所への乗り換えキャンペーン helmet/helmet-tanizawa-cp */

#helmet-tanizawa-cp {
	width: 940px;
	scroll-behavior: smooth;
	height: 100%;
}

@media screen and (max-width: 767px) {
	#helmet-tanizawa-cp {
		width: inherit;
	}
}

#helmet-tanizawa-cp,
#helmet-tanizawa-cp .tanizawa-h1,
#helmet-tanizawa-cp .tanizawa-h2,
#helmet-tanizawa-cp .tanizawa-h3,
#helmet-tanizawa-cp .tanizawa-h4,
#helmet-tanizawa-cp .tanizawa-h5,
#helmet-tanizawa-cp p {
	color: #333;
	font-family: 'Noto Sans JP', sans-serif;
	margin: 0;
	padding: 0;
	list-style: none inside;
	-webkit-text-size-adjust: 100%;
	overflow-wrap: break-word;
}

#helmet-tanizawa-cp img {
	vertical-align: bottom;
}

/* font color */
#helmet-tanizawa-cp .tanizawa-red {
	color: rgb(228, 16, 16);
}

#helmet-tanizawa-cp .tanizawa-gray {
	color: rgb(112, 104, 104);
}

#helmet-tanizawa-cp .tanizawa-green {
	color: #389938;
}

#helmet-tanizawa-cp .tanizawa-deepgreen {
	color: #006a00;
}

/* basic */
#helmet-tanizawa-cp .tanizawa-center {
	margin: 0 auto;
	text-align: center;
	justify-content: center;
}

#helmet-tanizawa-cp .tanizawa-flex {
	display: flex;
}

#helmet-tanizawa-cp .tanizawa-between {
	justify-content: space-between;
}

#helmet-tanizawa-cp .tanizawa-relative {
	position: relative;
}

#helmet-tanizawa-cp .tanizawa-absolute {
	position: absolute;
}

#helmet-tanizawa-cp .bold {
	font-weight: bold;
}

#helmet-tanizawa-cp .sp {
	display: none;
}

@media screen and (max-width: 767px) {
	#helmet-tanizawa-cp .pc {
		display: none;
	}

	#helmet-tanizawa-cp .sp {
		display: block;
	}
}

#helmet-tanizawa-cp picture source,
#helmet-tanizawa-cp picture img {
	object-fit: cover;
	max-width: 100%;
	height: auto;
}


/* #top
-------------------------------------------------------------- */
#helmet-tanizawa-cp #top {
	margin: 15px auto 100px;
}

/* コラボ～谷沢以外をご使用中の */
#helmet-tanizawa-cp #top>picture.collab {
	width: 40%;
	margin: 0 auto 5px;
	display: block;
}

#helmet-tanizawa-cp #top>.tanizawa-h3 {
	max-width: 80%;
	display: inline-block;
	font-size: 26px;
	border-bottom: 4px dotted rgb(112, 104, 104);
}

#helmet-tanizawa-cp #top>.tanizawa-h3 span {
	display: inline-block;
}

@media screen and (max-width: 767px) {
	#helmet-tanizawa-cp #top>.tanizawa-h3 {
		font-size: 20px;
	}
}

/* #campaign
-------------------------------------------------------------- */
/* 期間～画像 */
#helmet-tanizawa-cp #top #campaign.w90 {
	width: 90%;
	margin: 30px auto 40px;
}

#helmet-tanizawa-cp #top #campaign .tanizawa-flex .left {
	width: 50%;
	margin: 30px auto 0;
	text-align: justify;
	text-align-last: justify;
	text-justify: inter-ideograph;
}

#helmet-tanizawa-cp #top #campaign .tanizawa-flex .left picture {
	display: inline-block;
	width: 100%;
	margin-bottom: 25px;
	text-align: center;
}

#helmet-tanizawa-cp #top #campaign .tanizawa-flex .tanizawa-h1 .norikae {
	font-size: 105px;
}

#helmet-tanizawa-cp #top #campaign .tanizawa-flex .tanizawa-h1 {
	font-size: 65px;
	line-height: 85px;
}

#helmet-tanizawa-cp #top #campaign .tanizawa-flex picture {
	width: 47%;
}

@media screen and (max-width: 767px) {
	#helmet-tanizawa-cp #top #campaign.w90>.tanizawa-flex {
		flex-direction: column;
	}

	#helmet-tanizawa-cp #top #campaign .tanizawa-flex .left {
		width: 100%;
		margin: 10px auto 0;
		text-align: center;
		text-align-last: inherit;
		text-justify: inherit;
	}

	#helmet-tanizawa-cp #top #campaign .tanizawa-flex picture:first-child {
		max-width: 80%;
	}

	#helmet-tanizawa-cp #top #campaign .tanizawa-flex picture:last-child {
		width: 100%;
	}

	#helmet-tanizawa-cp #top #campaign .tanizawa-flex .tanizawa-h1 {
		max-width: 95%;
		margin: 0 auto;
	}
}

/* のりかえキャンペーンfont-size微調整 */
@media screen and (max-width: 550px) {
	#helmet-tanizawa-cp #top #campaign .tanizawa-flex .tanizawa-h1 .norikae {
		font-size: 90px;
	}

	#helmet-tanizawa-cp #top #campaign .tanizawa-flex .tanizawa-h1 {
		font-size: 60px;
		line-height: 70px;
	}
}

@media screen and (max-width: 450px) {
	#helmet-tanizawa-cp #top #campaign .tanizawa-flex .tanizawa-h1 .norikae {
		font-size: 75px;
	}

	#helmet-tanizawa-cp #top #campaign .tanizawa-flex .tanizawa-h1 {
		font-size: 50px;
		line-height: 60px;
	}
}

@media screen and (max-width: 370px) {
	#helmet-tanizawa-cp #top #campaign .tanizawa-flex .tanizawa-h1 .norikae {
		font-size: 65px;
	}

	#helmet-tanizawa-cp #top #campaign .tanizawa-flex .tanizawa-h1 {
		font-size: 43px;
		line-height: 50px;
	}
}

/* #free
-------------------------------------------------------------- */
/* 他社ヘルメット～0円キャンペーン */
#helmet-tanizawa-cp #top #free p.baai {
	display: inline-block;
	max-width: 90%;
	margin-bottom: 15px;
	font-size: 26px;
	font-weight: bold;
}

#helmet-tanizawa-cp #top #free p.baai span {
	display: inline-block;
}

#helmet-tanizawa-cp #top #free picture {
	width: 90%;
	display: block;
}

@media screen and (max-width: 767px) {
	#helmet-tanizawa-cp #top #free picture {
		width: 75%;
		display: block;
	}
}

@media screen and (max-width: 600px) {
	#helmet-tanizawa-cp #top #free picture {
		width: 85%;
	}
}

/* #otoku
-------------------------------------------------------------- */
/* 5~9個～おトク！の表 */
#helmet-tanizawa-cp #top #otoku {
	width: 90%;
	margin: 70px auto 0;
	flex-flow: column;
	gap: 40px;
}

#helmet-tanizawa-cp #top #otoku .extable {
	margin: 0 auto;
	font-size: 22px;
	width: 100%;
	text-align: center;
	border-collapse: collapse;
	border-spacing: 0;
}

#helmet-tanizawa-cp #top #otoku .extable tr:nth-child(2n+1) {
	background: #fff9fc;
}

#helmet-tanizawa-cp #top #otoku .extable th {
	padding: 10px;
	background: rgb(112, 104, 104);
	border-right: solid 1px #fff;
	color: #ffffff;
	text-align: center;
}

#helmet-tanizawa-cp #top #otoku .extable th:last-child {
	border-right: none;
}

#helmet-tanizawa-cp #top #otoku .extable td {
	padding: 10px;
	border-right: solid 1px rgb(112, 104, 104);
}

#helmet-tanizawa-cp #top #otoku .extable td:last-child {
	border-right: none;
}

@media screen and (max-width: 767px) {
	#helmet-tanizawa-cp #top #otoku .extable {
		font-size: 18px;
	}

	#helmet-tanizawa-cp #top #otoku .extable th {
		border-right: none;
		border-left: solid 1px #fff;
	}

	#helmet-tanizawa-cp #top #otoku .extable th:first-child {
		border-left: none;
	}

	#helmet-tanizawa-cp #top #otoku .extable td {
		border-right: none;
		border-left: solid 1px rgb(112, 104, 104);
	}

	#helmet-tanizawa-cp #top #otoku .extable td:first-child {
		border-left: none;
	}
}

/* お得になるパターンの一例 */
#helmet-tanizawa-cp #top #otoku .ex-wrapper {
	padding-bottom: 20px;
	background-color: rgb(239, 239, 239);
}

#helmet-tanizawa-cp #top #otoku .ex-wrapper .tanizawa-h3 {
	font-size: 32px;
	background-color: #006a00;
	padding: 10px;
	font-weight: bold;
	line-height: 1.5;
	background-image: repeating-linear-gradient(-45deg, transparent, transparent 5px, rgba(255, 255, 255, .1) 5px, rgba(255, 255, 255, .1) 15px);
	margin: 50px auto 10px;
	color: #fff;
}

#helmet-tanizawa-cp #top #otoku .ex-wrapper .tanizawa-h3 span {
	display: inline-block;
}

#helmet-tanizawa-cp #top #otoku .ex-wrapper .tanizawa-flex {
	margin: 0 10px;
	gap: 20px;
	font-size: 20px;
}

#helmet-tanizawa-cp #top #otoku .otoku-message {
	margin-top: 20px;
}

#helmet-tanizawa-cp #top #otoku .otoku-message p {
	font-size: 26px;
	line-height: 50px;
}

#helmet-tanizawa-cp #top #otoku .otoku-message p span {
	display: inline-block;
}

#helmet-tanizawa-cp #top #otoku .otoku-message p .tanizawa-red {
	display: inline-block;
	margin-bottom: 10px;
	font-size: 46px;
	line-height: 0px;
	vertical-align: middle;
}

#helmet-tanizawa-cp #top #otoku .otoku-message p.small {
	font-size: 16px;
}

@media screen and (max-width: 767px) {
	#helmet-tanizawa-cp #top #otoku {
		margin: 20px auto 0;
	}

	#helmet-tanizawa-cp #top #otoku .ex-wrapper .tanizawa-h3 {
		font-size: 28px;
	}

	#helmet-tanizawa-cp #top #otoku .ex-wrapper .tanizawa-flex {
		flex-direction: column;
		font-size: 20px;
	}

	#helmet-tanizawa-cp #top #otoku .otoku-message {
		margin-top: 40px;
		padding: 10px 20px;
		border: 2px solid rgba(112, 104, 104, .7);
	}

	#helmet-tanizawa-cp #top #otoku .otoku-message p {
		font-size: 24px;
		line-height: 40px;
	}

	#helmet-tanizawa-cp #top #otoku .otoku-message p .tanizawa-red {
		font-size: 40px;
		line-height: 25px;
	}

	#helmet-tanizawa-cp #top #otoku .otoku-message p.small {
		margin-top: 10px;
		font-size: 14px;
		line-height: 20px;
	}
}

/* フォーム
-------------------------------------------------------------- */
#helmet-tanizawa-cp #form {
	background-color: #e8f5e9;
	text-align: center;
}

#helmet-tanizawa-cp #form .tanizawa-h3 {
	display: inline-block;
	padding: 30px 40px 0;
	font-size: 32px;
	line-height: 32px;
}

#helmet-tanizawa-cp #form .tanizawa-h3 span {
	display: inline-block;
}

#helmet-tanizawa-cp #form .formmailer-embed {
	width: 95%;
	margin: 0 auto;
}

@media screen and (max-width: 767px) {
	#helmet-tanizawa-cp #form .tanizawa-h3 {
		font-size: 30px;
	}
}

@media screen and (max-width: 561px) {
	#helmet-tanizawa-cp #form .tanizawa-h3 {
		padding: 20px 30px 10px;
	}
}


/* TOP スマホTOP 初回 リピートページバナー
-------------------------------------------------------------- */
#helmet-tanizawa-cp-banner {
	margin-bottom: 20px;
}

#helmet-tanizawa-cp-banner-link:hover #helmet-tanizawa-cp-banner {
	opacity: .8;
}

/* 商品価格 */

.card_price {
	color: #e2403b;
	font-size: 13px;
	margin-right: 4px;
	text-align: end;
}

.card_price>span {
	font-weight: bold;
	font-size: 20px;
}

/* ヘルメット商品ページ */
.custom_hel1>p {
	font-size: 1.3rem;
	font-weight: bold;
	padding-top: 5px;
	padding-bottom: 5px;
}

.packarea a:hover {
	opacity: 0.7;
}

.packarea img {
	box-shadow: 0 5px 10px -5px rgba(0, 0, 0, 0.5);
}

/* 作業着カテゴリ */

.topic_another {
	text-align: right;
}

.topic_another a {
	text-decoration: underline;
}

/* タニザワ ハーネス、ランヤードラインナップ部分（谷口作成） */
#tanizawaLineup .borderTNo {
	border-top: none;
}

#tanizawaLineup .borderBNo {
	border-bottom: none;
}

#fujiiLineup table,
#tanizawaLineup table,
#titanLineup table,
#tsubakiLineup table,
#waistLineup table {
	font-size: 100%;
	vertical-align: middle;
	box-sizing: border-box;
	margin-bottom: 10px;
	width: 940px;
}

#fujiiLineup table tr,
#tanizawaLineup table tr,
#titanLineup table tr,
#tsubakiLineup table tr,
#waistLineup table tr {
	background-color: #fff;
	font-size: 120%;
}

#fujiiLineup .highlightIntro,
#tanizawaLineup .highlightIntro,
#titanLineup .highlightIntro,
#tsubakiLineup .highlightIntro,
#waistLineup .highlightIntro {
	font-size: 200%;
	text-align: center;
	margin: 30px 0 0;
}

#fujiiLineup .highlight,
#tanizawaLineup .highlight,
#titanLineup .highlight,
#tsubakiLineup .highlight,
#waistLineup .highlight {
	font-size: 350%;
	font-weight: bold;
	text-align: center;
	margin: 20px 0 30px;
	line-height: 1.5;
}

#fujiiLineup .highlight span,
#tanizawaLineup .highlight span,
#titanLineup .highlight span,
#tsubakiLineup .highlight span,
#waistLineup .highlight span {
	color: #c80f23;
}

#fujiiLineup .bgblack,
#tanizawaLineup .bgblack,
#tsubakiLineup .bgblack,
#waistLineup .bgblack {
	background-color: #000;
}

#fujiiLineup .bgblack th,
#tanizawaLineup .bgblack th,
#tsubakiLineup .bgblack th,
#waistLineup .bgblack th {
	color: #fff;
	font-size: 150%;
	font-weight: bold;
	text-align: center;
	border: solid 1px #000;
	background-color: #000;
}

#fujiiLineup table td,
#tanizawaLineup table td,
#titanLineup table td,
#tsubakiLineup table td,
#waistLineup table td {
	border: solid 1px #000;
	text-align: center;
	padding: 2px;
	line-height: 1.5;
}

#tanizawaLineup table.tanizawaTable td,
#titanLineup table.sankoTable td,
#tsubakiLineup table.aidaTable td {
	padding: 15px;
}

#waistLineup table.waistTable td {
	padding: 5px 15px;
}

#tanizawaLineup td.cola5 .purchaseButton {
	width: 40%;
	display: inline-block;
	margin: 0 0 0 10%;
}

#titanLineup td.colb2 .purchaseButton,
#tsubakiLineup td.colb2 .purchaseButton,
#waistLineup td.colb2 .purchaseButton {
	width: 40%;
	display: inline-block;
	margin-left: auto;
}

#fujiiLineup td.cola {
	width: 30.8%;
}

#fujiiLineup td.colb {
	width: 69.2%;
}

#fujiiLineup td.col1 {
	width: 30.8%;
}

#fujiiLineup td.col2 {
	width: 28.2%;
}

#fujiiLineup td.col3 {
	width: 20.5%;
}

#fujiiLineup td.col4 {
	width: 20.5%;
}

#tanizawaLineup td.cola1,
#tanizawaLineup td.cola2,
#tanizawaLineup td.cola3 {
	width: 33.33%;
}

#titanLineup td.colb1,
#tsubakiLineup td.colb1,
#waistLineup td.colb1 {
	width: 33.33%;
}

#titanLineup td.colb2,
#tsubakiLineup td.colb2,
#waistLineup td.colb2 {
	width: 66.67%;
}

#fujiiLineup table td a,
#tanizawaLineup table td a,
#titanLineup table td a,
#tsubakiLineup table td a,
#waistLineup table td a {
	text-decoration: none;
}

#fujiiLineup td img,
#tanizawaLineup td img,
#titanLineup td img,
#tsubakiLineup td img {
	width: 100%;
}

#waistLineup table.waistTable td img {
	width: 90%;
}

#fujiiLineup .harnessExp,
#tanizawaLineup .harnessExp,
#titanLineup .harnessExp,
#tsubakiLineup .harnessExp,
#waistLineup .harnessExp {
	text-align: left;
	padding: 7px 15px;
}

#fujiiLineup .harnessIcon,
#tanizawaLineup .harnessIcon,
#titanLineup .harnessIcon,
#tsubakiLineup .harnessIcon {
	display: flex;
	flex-wrap: wrap;
	padding: 0 15px;
}

#waistLineup .harnessExp span.empha {
	font-weight: bold;
	background: linear-gradient(transparent 50%, rgba(255, 107, 209, .24) 50%);
}

#fujiiLineup .harnessIcon p,
#tanizawaLineup .harnessIcon p,
#titanLineup .harnessIcon p,
#tsubakiLineup .harnessIcon p {
	text-align: center;
	color: #FFFFFF;
}

#fujiiLineup .harnessIcon p.iconBack,
#tanizawaLineup .harnessIcon p.iconBack,
#titanLineup .harnessIcon p.iconBack,
#tsubakiLineup .harnessIcon p.iconBack {
	background-color: #0175c0;
	width: 29%;
	margin-right: 1%;
	border-radius: 5px;
}

#fujiiLineup .harnessIcon p.iconThigh,
#tanizawaLineup .harnessIcon p.iconThigh,
#titanLineup .harnessIcon p.iconThigh,
#tsubakiLineup .harnessIcon p.iconThigh {
	background-color: #22918a;
	width: 29%;
	margin-right: 1%;
	border-radius: 5px;
}

#fujiiLineup .harnessIcon p.iconBackle,
#tanizawaLineup .harnessIcon p.iconBackle,
#titanLineup .harnessIcon p.iconBackle,
#tsubakiLineup .harnessIcon p.iconBackle {
	background-color: #62a531;
	width: 39%;
	border-radius: 5px;
}

#fujiiLineup .harnessExp {
	text-align: left;
	padding: 7px 15px;
}



#fujiiLineup .harnessPrice,
#fujiiLineup .lanyardPrice,
#tanizawaLineup .harnessPrice,
.lanyardPrice {
	font-size: 150%;
	color: #e2403b;
}

#fujiiLineup .setPrice,
#tanizawaLineup .tanizawaHarnessPrice,
#tanizawaLineup .tanizawaLanyardPrice,
#titanLineup .sankoPrice,
#titanLineup .sankoPrice2,
#tsubakiLineup .aidaPrice,
#waistLineup .waistPrice {
	color: #e2403b;
	font-size: 180%;
	font-weight: bold;
}

#titanLineup .sankoPrice,
#tsubakiLineup .aidaPrice,
#waistLineup .waistPrice {
	width: 20%;
	display: inline-block;
	text-align: right;
}

#fujiiLineup .purchaseButton,
#tanizawaLineup .purchaseButton,
#titanLineup .purchaseButton,
#tsubakiLineup .purchaseButton,
#waistLineup .purchaseButton {
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	color: #ffffff !important;
	border-radius: 5px;
	font-weight: bold;
	border-bottom: 2px solid #369000;
	transition: 0.3s;
	box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.4);
	background-color: #62a531;
	padding: 6px 0;
}

#fujiiLineup td.col4 .purchaseButton {
	width: 96%;
	margin: 0 auto 10px;
}

#fujiiLineup .purchaseButton:hover,
#tanizawaLineup .purchaseButton:hover,
#titanLineup .purchaseButton:hover,
#tsubakiLineup .purchaseButton:hover,
#waistLineup .purchaseButton:hover {
	box-shadow: 0 0 rgba(0, 0, 0, 0.4);
	border-bottom-width: 2px;
	transform: translateY(2px);
}

#fujiiLineup td p,
#tanizawaLineup td.cola1 p,
#tanizawaLineup td.cola2 p,
#tanizawaLineup td.cola3 p,
#tanizawaLineup td.cola4 p,
#tanizawaLineup td.cola5 p,
#titanLineup td p,
#tsubakiLineup td p,
#waistLineup td p {
	margin: 10px 0;
}

#tanizawaLineup .cola5>p {
	text-align: left;
	margin-left: 15px !important;
}

#tanizawaLineup .cola5>p .purchaseButton {
	text-align: center;
}

#tanizawaLineup p.lineBreakOK {
	overflow-wrap: anywhere;
	word-break: break-all;
}

#tanizawaLineup table.tanizawaTable tr.HarnessNameRow td {
	padding: 15px 15px 0 15px;
}

#tanizawaLineup table.tanizawaTable tr.HarnessPriceRow td {
	padding: 0px 15px 15px 15px;
}

#titanLineup .sankoHarnessName,
#tsubakiLineup .aidaHarnessName,
#waistLineup .waistHarnessName {
	font-size: 180%;
	text-decoration: underline;
	line-height: 1.8;
}

#titanLineup table.sankoTable td ul {
	display: flex;
	width: 100%;
	align-items: stretch;
	justify-content: space-between;
}

#titanLineup table.sankoTable td ul li {
	width: 30%;
	display: flex;
	flex-direction: column;
}

#titanLineup table.sankoTable td ul li img {
	width: 100%;
}

#titanLineup table.sankoTable td ul li div {
	width: 100%;
	flex-grow: 1;
}

#tsubakiLineup .harnessType,
#tsubakiLineup .lanyardType,
#waistLineup .harnessType {
	display: inline-block;
	width: 15%;
	margin-left: auto;
}

#tsubakiLineup .immediateSending {
	display: inline-block;
	color: #ffffff !important;
	text-decoration: none;
	font-weight: bold;
	background-color: #ff0000;
	margin-left: 1em;
	font-size: initial;
	padding: 0 6px;
}

#tsubakiLineup table.aidaTable td ul {
	color: #ff0000;
	margin: 0 0 10px 20px;
}

#tsubakiLineup table.aidaTable td ul li {
	list-style-type: disc;
}

@media (640px <=width) {

	#titanLineup .colb2>p,
	#tsubakiLineup .colb2>p,
	#waistLineup .colb2>p {
		display: flex;
		justify-content: center;
		align-items: baseline;
		padding: 0 15px;
	}
}

@media (width < 640px) {

	#fujiiLineup .highlightIntro,
	#tanizawaLineup .highlightIntro,
	#titanLineup .highlightIntro,
	#tsubakiLineup .highlightIntro,
	#waistLineup .highlightIntro {
		font-size: 150%;
	}

	#fujiiLineup .highlight,
	#tanizawaLineup .highlight,
	#titanLineup .highlight,
	#tsubakiLineup .highlight,
	#waistLineup .highlight {
		font-size: 250%;
	}

	#fujiiLineup table,
	#tanizawaLineup table,
	#titanLineup table,
	#tsubakiLineup table,
	#waistLineup table {
		width: 100%;
	}

	#fujiiLineup .harnessIcon p.iconBack,
	#tanizawaLineup .harnessIcon p.iconBack,
	#titanLineup .harnessIcon p.iconBack,
	#tsubakiLineup .harnessIcon p.iconBack {
		width: 100%;
		margin-right: 0;
	}

	#fujiiLineup .harnessIcon p.iconThigh,
	#tanizawaLineup .harnessIcon p.iconThigh,
	#titanLineup .harnessIcon p.iconThigh,
	#tsubakiLineup .harnessIcon p.iconThigh {
		width: 100%;
		margin-right: 0;
	}

	#fujiiLineup .harnessIcon p.iconBackle,
	#tanizawaLineup .harnessIcon p.iconBackle,
	#titanLineup .harnessIcon p.iconBackle,
	#tsubakiLineup .harnessIcon p.iconBackle {
		width: 100%;
	}

	#fujiiLineup .harnessPrice,
	#fujiiLineup .lanyardPrice,
	#tanizawaLineup .tanizawaHarnessPrice,
	#tanizawaLineup .tanizawaLanyardPrice,
	#titanLineup .sankoPrice,
	#titanLineup .sankoPrice2,
	#tsubakiLineup .aidaPrice,
	#waistLineup .waistPrice {
		font-size: 160%;
	}

	#titanLineup .sankoPrice,
	#tsubakiLineup .aidaPrice,
	#waistLineup .waistPrice {
		width: auto;
	}

	#tsubakiLineup .harnessType,
	#tsubakiLineup .lanyardType {
		width: auto;
	}

}

@media (width < 545px) {

	#tanizawaLineup table.tanizawaHarness td.cola1 p:first-of-type,
	#tanizawaLineup table.tanizawaHarness td.cola2 p:first-of-type,
	#tanizawaLineup table.tanizawaHarness td.cola3 p:first-of-type {
		height: 45px;
	}
}

/* タニザワ ハーネス、ランヤードラインナップ部分（谷口作成）ここまで */

/* 特集ページ関係（谷口作成） */
.fireProofBigImg {
	margin: 10px 0;
}

.fireProofH2 {
	background-color: #e50c0c;
	margin: 20px 0 10px;
	padding: 15px;
}

.fireProofH2 h2,
.fireProofH2 p {
	color: #fff;
}

.fireProofH2 h2 {
	font-size: 3rem;
	font-weight: bold;
}

.fireProofH3 {
	font-size: 1.8rem;
	margin: 10px 0;
}

.fireProofProducts {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	box-sizing: border-box;
	margin: 20px 0;
}

.fireProofProductBox {
	width: 32%;
	display: flex;
	flex-direction: column;
	margin: 0 2% 20px 0;
}

.fireProofProductBox:nth-of-type(3n) {
	margin: 0 0 20px 0;
}

.fireProofProductBox a {
	display: contents;
}

.fireProofProductPic {
	width: 100%;
}

.fireProofProductName {
	font-size: 1.5rem;
	flex-grow: 1;
	margin: 10px 0;
}

.fireProofProductPrice {
	text-align: right;
	color: #c61818;
}

#fireProofRanking .update_time {
	text-align: right;
	margin-right: 2px;
	margin-bottom: 0;
	font-size: 16px;
}

#fireProofRanking .ranking-list {
	padding: 10px 0 10px 10px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	background-size: auto auto;
	background-color: rgb(255, 255, 255);
	background-image: -o-repeating-linear-gradient(330deg, transparent, transparent 4px, rgb(248, 239, 177) 4px, rgb(248, 239, 177) 44px);
	background-image: repeating-linear-gradient(120deg, transparent, transparent 4px, rgb(248, 239, 177) 4px, rgb(248, 239, 177) 44px);
	display: flex;
	overflow-x: scroll;
}

#fireProofRanking .ranking-list .box {
	background-color: #fff;
	border: 1px solid #646464;
	padding: 5px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	flex: 0 0 17%;
	margin-right: 10px;
}

#fireProofRanking .ranking-list.slick-initialized .slick-slide {
	margin: 0 7px 0 0;
}

#fireProofRanking .ranking-list .box .rank {
	font-size: 22px;
	color: #7D4746;
	margin-bottom: 10px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	font-weight: bold;
}

#fireProofRanking .ranking-list .box .rank.crown:before {
	content: "";
	display: inline-block;
	width: 25px;
	height: 22px;
	background-size: contain;
	background-repeat: no-repeat;
	margin-right: 5px;
}

#fireProofRanking .ranking-list .box .rank.crown.one:before {
	background-image: url(https://www.mamoru-k.com/img/n_crown1.webp);
}

#fireProofRanking .ranking-list .box .rank.crown.two:before {
	background-image: url(https://www.mamoru-k.com/img/n_crown2.webp);
}

#fireProofRanking .ranking-list .box .rank.crown.three:before {
	background-image: url(https://www.mamoru-k.com/img/n_crown3.webp);
}

#fireProofRanking .ranking-list .box .image {
	width: 100%;
	position: relative;
	overflow: hidden;
	margin-bottom: 10px;
}

#fireProofRanking .ranking-list .box .image:before {
	content: "";
	padding-top: 100%;
	display: block;
}

#fireProofRanking .ranking-list .box .image img {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	-o-object-fit: cover;
	object-fit: cover;
}

#fireProofRanking .ranking-list .box .title {
	margin-bottom: 3px;
	font-weight: 400;
	font-size: 13px;
	line-height: 1.3;
	height: 3.9em;
	overflow: hidden;
}

#fireProofRanking .ranking-list .box a:hover .title {
	text-decoration: underline;
}

#fireProofRanking .ranking-list .box .price {
	font-size: 1.5rem;
	color: #D62929;
	font-weight: bold;
	text-align: center;
}

.fireProofContents {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	box-sizing: border-box;
	margin: 20px 0;
}

.fireProofContentBox {
	width: 32%;
	display: flex;
	flex-direction: column;
	margin: 0 2% 20px 0;
}

.fireProofContentBox:nth-of-type(3n) {
	margin: 0 0 20px 0;
}

.fireProofContentBox a {
	display: contents;
}

.fireProofContentBox img {
	width: 100%;
}

.fireProofContentBox h3 {
	font-size: 1.5rem;
	flex-grow: 1;
	font-weight: bold;
	margin: 10px 0;
}

.aitozPage .highlight {
	font-size: 350%;
	font-weight: bold;
	text-align: center;
	margin: 20px 0 30px;
	line-height: 1.5;
}
.aitozPage .highlight span {
	color: #c80f23;
}
.aitozBigImg {
	margin: 10px 0;
}
.aitozPageH3 {
	font-size: 1.8rem;
    margin: 10px 0;
}
.aitozProducts {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    box-sizing: border-box;
    margin: 20px 0;
}
.aitozProductBox {
	width: 23%;
    display: flex;
    flex-direction: column;
    margin: 0 2% 20px 0;
}
.aitozProductBox a {
	display: contents;
}
.aitozProductPic {
	width:100%;
}
.aitozProductName {
    font-size: 1.5rem;
    flex-grow: 1;
    margin: 10px 0;
}
.aitozProductPrice {
    text-align: right;
    color: #c61818;
}

@media (width < 640px) {
	.fireProofH2 {
		padding: 10px;
	}

	.fireProofH2 h2 {
		font-size: 2rem;
		margin-bottom: 5px;
	}

	.fireProofProductBox {
		width: 48%;
	}

	.fireProofProductBox:nth-of-type(3n) {
		margin: 0 2% 20px 0;
	}

	.fireProofProductBox:nth-of-type(2n) {
		margin: 0 0 20px 0;
	}

	#fireProofRanking .ranking-list .box {
		flex: 0 0 40%;
	}

	.fireProofContentBox {
		width: 48%;
	}

	.fireProofContentBox:nth-of-type(3n) {
		margin: 0 2% 20px 0;
	}

	.fireProofContentBox:nth-of-type(2n) {
		margin: 0 0 20px 0;
	}

	.aitozPage .highlight {
		font-size: 250%;
	}
	.aitozProductBox {
		width: 48%;
	}
}

.heat_shield_page {
	margin-bottom:10px;
}
.heat_shield_title1 {
	font-weight:bold;
	font-size:3.0rem;
	color:#e88d2a;
	margin: 30px 15px 10px;
}
.heat_shield_title2 {
	font-weight:bold;
	font-size:2.0rem;
	color:#FFF;
	background-color:#024da1;
	border: solid 1px #024da1;
	border-radius: 10px;
}
.heat_shield_text1 {
	font-weight:bold;
	font-size:2.0rem;
	width:80%;
	margin:0 auto;
}
div.heat_shield_explanation1 {
	margin-bottom:10px;
}
.heat_shield_page h3 {
	font-weight:bold;
	font-size:1.7rem;
	color:#0f4a8d;
	margin:15px 0;
}
.heat_shield_page h3:before {
	content: '　';
    width: 3px;
    border-right: 10px solid #45c9f5;
    margin-right: 5px;
    display: inline-block;
    font-size: 1.8rem;
}
.heat_shield_pcright_img {
	float:right;
}
.heat_shield_sp_img {
	display:none;
}
div.heat_shield_explanation1:after {
	content: "";
	clear: both;
	display: block;
}
.heat_shield_text2 {
	font-weight:bold;
	font-size:1.7rem;
	width:90%;
	margin:0 auto;
}
.heat_shield_title2 {
	font-weight:bold;
	font-size:2.0rem;
	color:#FFF;
	background-color:#024da1;
	padding:5px 0 5px 15px;
	margin:20px auto 10px;
}
.heat_shield_explanation2_first_part,.heat_shield_explanation2_second_part {
	width:49%;
	float:left;
}
.heat_shield_explanation2_first_part {
	margin-right:2%;
}
@media (width <= 640px) {
	.heat_shield_title1 {
		font-size:2.5rem;
	}
	.heat_shield_pcright_img {
		display:none;
	}
	.heat_shield_sp_img {
		display:block;
		width:100%;
	}
	div.heat_shield_explanation1 {
		padding: 0 10px;
	}
	.heat_shield_explanation2_first_part,.heat_shield_explanation2_second_part {
		width:100%;
		float:none;
		margin-bottom:15px;
	}
	.heat_shield_explanation2_first_part {
		margin-right:0;
	}
	div.heat_shield_explanation2_first_part p,div.heat_shield_explanation2_second_part p {
		width:96%;
		margin: 0 auto;
	}
}

/* 特集ページ関係（谷口作成）ここまで */


p.cpprice {
	text-align: right;
	font-size: 13px;
	margin-right: 10px;
	text-decoration: none;
	font-weight: bold;
	color: rgb(191, 0, 0);

	span.price {
		font-size: 16px;
	}
}

@media (width <=640px) {
	p.cpprice {
		span.price {
			font-size: 13px;
		}
	}
}

/* PCフロートバナー */
.floatarea_wrap {
	position: sticky;
	width: 1200px;
	margin: 0 auto;
	top: 0;
}

.floatarea {}

.floatL,
.floatR {
	position: absolute;
	top: 10px;

	p {
		margin-bottom: 10px;
	}

	img {
		width: 110px;
		max-width: max-content;
		height: auto;
		transition: 0.1s;
	}

	a {
		img:hover {
			opacity: 0.8;
		}
	}
}

.floatR {
	margin-left: 1210px;
}

.floatL {
	margin-left: -120px;
}

@media (width < 1200px) {
	.floatarea_wrap {
		display: none;
	}
}

/* TOPお客様の声 */

.wrap .main .customer-voice img {
	object-fit: cover;
	max-width: none;
	height: 225px;

}


.wrap .main .customer-voice .scroll_box01 {
	background-color: #fff;
}

.wrap .main .customer-voice h2,
.wrap .main .top_review h2 {
	text-align: center;
	margin-bottom: 10px;
}

.wrap .main .customer-voice h3 {
	font-size: 1.7rem;
	font-weight: bold;
	margin: 10px 0;
	margin-inline: auto;
	width: fit-content;
	background: linear-gradient(transparent 70%, #95c7eb94 70%);
}

.wrap .main .customer-voice .pfm_txt {
	margin: 0 15px 10px 15px;
	display: inline-block;
	border: solid #84adcb;
	border-width: 0 0 0 5px;
}

.customer-voice .pfm_txt2 {
	margin: 0px 10px;
	border-top: 1px dotted #84adcb;
	padding-top: 10px;
}

.no_border {
	border: none !important;
}

.wrap .main .customer-voice .scroll_block {
	margin: 0 5px;
}

.wrap .main .customer-voice .scroll_box01 {
	margin: 0 5px;
}

.wrap .main .scroll_box_w33 {
	width: calc(100% / 3);
}

.wrap .main .customer-voice .scroll_block_img {
	padding: 0;
}

.topicbnr_btn {
	background-color: transparent !important;
}


.topicbnr_btn a {
	background-color: #387099;
	transition: .1s;
	box-shadow: 0 5px 10px -5px rgba(0, 0, 0, 0.5);
}

.topicbnr_btn a:hover {
	opacity: 0.8;
	transform: translateY(4px);
}




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

	.wrap .main .customer-voice img {
		width: 100%;
		height: 100px;
	}

	.wrap .main .topic-content .scroll_block {
		overflow-x: hidden;
	}

	.wrap .main .scroll_box01 {
		width: 50%;
	}


	.wrap .main .customer-voice .pfm_txt {
		display: none;
	}

	.wrap .main .customer-voice .scroll_block {
		margin: 0 2px;
	}

	.wrap .main .customer-voice .scroll_box01 {
		margin: 0 2px;
	}


}

/* TOPページ　口コミ */

.wrap .main .top_review {
	margin-bottom: 60px;
}

.wrap .main .top_review .fs-c-listControl {
	display: none;
}

.wrap .main .top_review .topic-content {
	margin-bottom: 0;
}

.fs-c-reviewer__status {
	display: none;
}



#fs_Reviews .fs-c-reviewList__item,
#fs_Top .fs-c-reviewList__item {
	width: calc(100%/2 - 20px);
	display: flex;
}

#fs_Reviews .fs-c-reviewList__item__product,
#fs_Top .fs-c-reviewList__item__product {
	flex-direction: row;
}

#fs_Reviews .fs-c-reviewList,
#fs_Top .fs-c-reviewList {
	display: flex;
	flex-wrap: wrap;
}

#fs_Reviews .fs-c-reviewProduct__image,
#fs_Top .fs-c-reviewProduct__image {
	width: 40%;
}

#fs_Reviews .fs-c-reviewProduct__info,
#fs_Top .fs-c-reviewProduct__info {
	width: 60%;
	padding-left: 15px;
}

#fs_Reviews .fs-c-reviewList__item,
#fs_Top .fs-c-reviewList__item {
	border: 1px solid #b1b1b1;
	margin: 10px;
	padding: 16px 15px;
	background-color: #d7d7d724;
}

.topicbnr_cl_green .topicbnr_btn a {
	background-color: #339a02;
}

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

	#fs_Reviews .fs-c-reviewList__item,
	#fs_Top .fs-c-reviewList__item {
		width: 100%;
	}

	#fs_Reviews .fs-c-reviewList__item__info,
	#fs_Top .fs-c-reviewList__item__info {
		flex-direction: row;
		flex-wrap: wrap;
	}

	#fs_Reviews .fs-c-reviewRating,
	#fs_Top .fs-c-reviewRating {
		width: 30%;
	}

	#fs_Reviews .fs-c-reviewInfo__reviewer,
	#fs_Top .fs-c-reviewInfo__reviewer {
		width: 70%;
		flex-direction: row;
	}

	#fs_Reviews .fs-c-reviewer__name,
	#fs_Top .fs-c-reviewer__name {
		padding-right: 10px;
	}

}


/* TOPページ おすすめ特集バナーエリア */

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

	.top_cont_bnr2 {
		padding: 0;
	}

	.top_cont_bnr2 .box_50 {
		width: calc(50% - 2px);
		margin: 0 1px;
	}

	.top_cont_bnr2 .box_50 .ttl {
		font-weight: normal;
		font-size: 1.2rem;
	}

	.top_cont_bnr2 .w100 {
		width: 100%;
	}

}

/* TOPページ メインスライダー */

#fs_Top .fs-l-page .banner-content {
	margin: 10px auto 35px;
	width: 1200px;
	height: 346px;
}

.slick-slide {
	opacity: 0.3;
	margin: 0 10px;
}

.slick-current {
	opacity: 1;
}



@media screen and (max-width: 640px) {
	#fs_Top .fs-l-page .banner-content {
		width: auto;
		height: auto;
	}

	#fs_Top .fs-l-page .banner-content .slick-dots li {
		margin: 0;
	}

	.slick-slide {
		margin: 0 3px;
	}
}


/* 刺繍加工 更新 */

#how_to_order .main-h2,
#how_to_order .main-h3,
#how_to_order p,
#how_to_order ul,
#how_to_order dl,
#how_to_order dt,
#how_to_order dd {
	font-size: 1.6rem;
	color: #333;
	line-height: 1.7;
	font-family: 'Noto Sans JP', sans-serif;
	margin: 0;
	padding: 0;
	list-style: none inside;
	-webkit-text-size-adjust: 100%;
	overflow-wrap: break-word;
}

#how_to_order .hover a:hover {
	opacity: 0.7;
}

/* title
----------------------------- */
#how_to_order .main-h2,
#how_to_order .main-h3 {
	text-align: center;
	font-size: 60px;
	font-weight: bold;
	color: #002060;
	line-height: 45px;
}

#how_to_order .sub-h2,
#how_to_order .sub-h3 {
	font-size: 26px;
	color: #333;
	line-height: 32px;
}

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

	#how_to_order .main-h2,
	#how_to_order .main-h3 {
		font-size: 40px;
		line-height: 36px;
	}

	#how_to_order .sub-h2,
	#how_to_order .sub-h3 {
		font-size: 20px;
		line-height: 32px;
	}
}

#how_to_order .white {
	color: #fff;
}

#how_to_order .callbtn {
	background-color: #E96D31;
	border-radius: 10px;
}

#how_to_order .formbtn {
	background-color: #fff;
	border-radius: 10px;
}

#how_to_order .formbtntext {
	color: #333;
}

#how_to_order .in-center {
	text-align: center;
}

#how_to_order .bold [class*="strong-"] {
	font-weight: bold;
}

#how_to_order .main-h2,
#how_to_order .main-h3,
[class*="strong-"] {
	letter-spacing: .08em;
}

#how_to_order .sp {
	display: none;
}

#how_to_order .uc {
	text-transform: uppercase;
}

#how_to_order .uline {
	text-decoration: underline;
}

#how_to_order .red {
	color: red;
}

@media screen and (max-width: 767px) {
	#how_to_order .pc {
		display: none;
	}

	#how_to_order .sp {
		display: block;
	}
}

#how_to_order .flex-col {
	gap: 20px;
}

#how_to_order #sinpleflow-wrapper {
	margin: 50px auto;
}

#how_to_order #simpleflow-wrapper {
	width: 100%;
}


/* Section Initial
----------------------------- */
#how_to_order section {
	margin: 30px 0 0;
}

#how_to_order section:first-child {
	padding: 0;
}

#how_to_order header>.inner,
#how_to_order footer>.inner,
#how_to_order section>.inner {
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 40px;
}

#how_to_order .big-inner {
	width: 95%;
	margin: 0 auto;
}

@media screen and (max-width: 767px) {
	#how_to_order>section {
		padding: 50px 0;
	}

	#how_to_order header>.inner,
	#how_to_order footer>.inner,
	#how_to_order section>.inner {
		padding: 0 15px;
	}

	#how_to_order .big-inner {
		width: 90%;
	}
}


/* header
----------------------------- */
#how_to_order .header-a {
	padding: 16px 0;
	background-color: #002060;
	;
}

#how_to_order .header-a .inner {
	justify-content: space-between;
}

#how_to_order .header-a .inner .omitumoritext {
	color: #fff;
	font-size: 30px;
	font-weight: bold;
}

#how_to_order .header-a .inner ul.flex-row li a {
	display: block;
	padding: 8px 16px 8px 16px;
	color: #fff;
	border-radius: 8px;
}

#how_to_order .header-a .inner ul.flex-row li a .formbtntext {
	font-size: 2rem;
}

#how_to_order .header-a .inner ul.flex-row li.callbtn picture source,
#how_to_order .header-a .inner ul.flex-row li.callbtn picture img {
	display: inline;
	width: 3rem;
	height: 3rem;
	padding-bottom: 8px;
}

#how_to_order .header-a .inner ul.flex-row li a:hover {
	opacity: .75;
}

@media screen and (max-width: 767px) {
	#how_to_order .header-a .inner {
		padding: 10px 0 20px;
		flex-direction: column;
	}

	#how_to_order .header-a .inner .omitumoritext {
		color: #fff;
		font-size: 2.2rem;
		font-weight: bold;
		text-align: center;
	}

	#how_to_order .header-a .inner ul.flex-row {
		gap: 0;
		width: 100%;
	}

	#how_to_order .header-a .inner ul.flex-row li {
		flex: 1;
		margin: 0 10px;
	}

	#how_to_order .header-a .inner ul.flex-row li a {
		padding: 4px 4px 4px 4px;
		border-radius: 0;
		font-size: 1rem;
		background-position: 94% 50%;
	}

	#how_to_order .header-a .inner ul.flex-row li a span.strong-m {
		font-size: 1.5rem;
	}

	#how_to_order .header-a .inner ul.flex-row li.callbtn picture source,
	#how_to_order .header-a .inner ul.flex-row li.callbtn picture img {
		width: 2rem;
		height: 2rem;
		padding-bottom: 3px;
	}
}

/* hto7 お問い合わせ
----------------------------- */
#how_to_order #hto7 img {
	width: 90%;
}

#how_to_order #hto7 .flex-row {
	gap: 0;
}

#how_to_order #hto7 .flex-between {
	gap: 20px;
}

/* FIXBTN 
---------------------------------------------------------- */
/* #how_to_order .fixbtn-a {
	display: none;
	padding: 16px 0;
	background-color: #002060;
	position: fixed;
	bottom: 0px;
	width: inherit;
	z-index: 1000;
}

#how_to_order .fixbtn-a .inner .flex-between {
	justify-content: space-between;
	gap: 8px;
}

#how_to_order .fixbtn-a .inner .omitumoritext {
	color: #fff;
	font-size: 30px;
	font-weight: bold;
}

#how_to_order .fixbtn-a .inner ul.flex-between li a {
	display: block;
	padding: 8px 16px 8px 16px;
	color: #fff;
	border-radius: 8px;
}

#how_to_order .fixbtn-a .inner ul.flex-between li a .formbtntext {
	font-size: 2rem;
}

#how_to_order .fixbtn-a .inner ul.flex-between li.callbtn picture source,
#how_to_order .fixbtn-a .inner ul.flex-between li.callbtn picture img {
	display: inline;
	width: 3rem;
	height: 3rem;
	padding-bottom: 8px;
}

#how_to_order .fixbtn-a .inner ul.flex-between li a:hover {
	opacity: .75;
} */

/* @media screen and (max-width: 767px) {
	#how_to_order .fixbtn-a {
		display: none;
	}

	#how_to_order .fixbtn-a .inner {
		flex-direction: column;
	}

	#how_to_order .fixbtn-a .inner .omitumoritext {
		font-size: 20px;
	}

	#how_to_order .fixbtn-a .inner ul.flex-between {
		gap: 0;
		width: 100%;
	}

	#how_to_order .fixbtn-a .inner ul.flex-between li {
		flex: 1;
		margin: 0 10px;
	}

	#how_to_order .fixbtn-a .inner ul.flex-between li a {
		padding: 4px 4px 4px 4px;
		border-radius: 0;
		font-size: 1rem;
		background-position: 94% 50%;
	}

	#how_to_order .fixbtn-a .inner ul.flex-between li a .strong-m {
		font-size: 1.5rem;
	}

	#how_to_order .fixbtn-a .inner ul.flex-between li.callbtn picture source,
	#how_to_order .fixbtn-a .inner ul.flex-between li.callbtn picture img {
		width: 2rem;
		height: 2rem;
		padding-bottom: 3px;
	}
} */

/* 返品特約リンクボタン */
.fs-c-returnedSpecialContract__link a {
	background: #eee;
	border-radius: 3px;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	/* margin: auto; */
	max-width: 250px;
	padding: 10px 25px;
	font-family: "Noto Sans Japanese";
	text-decoration: none;
	color: #333;
	line-height: 1.8;
	transition: 0.3s ease-in-out;
	font-weight: 500;
	margin-bottom: 20px;

	&:after {
		content: "";
		position: absolute;
		top: 50%;
		bottom: 0;
		right: 2rem;
		font-size: 90%;
		display: flex;
		justify-content: center;
		align-items: center;
		transition: right 0.3s;
		width: 6px;
		height: 6px;
		border-top: solid 2px currentColor;
		border-right: solid 2px currentColor;
		transform: translateY(-50%) rotate(45deg);
	}

	&:hover {
		background: #333;
		color: #FFF;
	}

	&:hover:after {
		right: 1.4rem;
	}
}

@media (width <=640px) {
	.fs-c-returnedSpecialContract__link a {
		margin: auto;
	}
}

/* 左サイド加工メニュー */


summary {
	position: relative;
	list-style: none;
	/* デフォルトの三角形アイコンを消します */
	cursor: pointer;
	/* ポインターを指さしマークに変更 */
}

summary::-webkit-details-marker {
	display: none;
	/* Safariで表示されるデフォルトの三角形アイコンを消します */
}

.kakou_summary::after {
	position: absolute;
	width: 10px;
	height: 10px;
	right: 15px;
	border-right: 1px solid #333;
	border-bottom: 1px solid #333;
	box-sizing: border-box;
	content: "";
	transform: rotate(45deg);
	transition: top 0.4s ease-out, transform 0.4s ease-out;
}

.kakou_details[open] .kakou_summary::after {
	top: calc(50% - 5px);
	transform: rotate(-135deg);
}

.side_kakoumenu_title {
	font-size: 1.1em;
	font-weight: 700;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	text-align: center;
	padding: 0.8em 0.6em;
	background-color: #ffeada;
	color: #ff6337;
	margin-bottom: 20px;
	position: relative;
	line-height: 1.5;
}

.side_kakoumenu_title::after {
	position: absolute;
	bottom: -10px;
	left: 50%;
	margin-left: -10px;
	width: 0;
	height: 0;
	content: '';
	border-width: 10px 10px 0;
	border-style: solid;
	border-color: #ffeada transparent transparent;
}

.side_kakoumenu {
	margin-bottom: 10px;
}

.side_kakoumenu a:hover {
	color: #ff6337;
	text-decoration: none;
}

.kakou_details {
	width: 100%;
}

.kakou_summary {
	font-weight: 700;
	display: -webkit-box;
	display: -ms-flexbox;
	background-color: #f2f2f2;
	padding: 15px 0 15px 10px;
	cursor: pointer;
	border-bottom: 1px dotted #888;
}

.kakou_summary:hover {
	background-color: #cfcfcf;
}

.kakou_summary h3 {
	font-weight: bold;
	font-size: 1.3rem;
}

.summary_under li {
	background-color: #ffffff;
	border-bottom: 1px solid #ccc;
}

.summary_under li a {
	display: block;
	padding: 10px 0 10px 20px;
}

.summary_under li a:hover {
	background-color: #eee;
}

.summary_under_under {
	margin-top: 8px;
}

.summary_under_under li {
	border-bottom: 1px dotted #ccc;
	position: relative;
}

.summary_under_under li a {
	padding-left: 35px;
}

.summary_under_under li::before {
	content: "";
	position: absolute;
	top: 50%;
	/* 縦軸をセンタリングする */
	left: 20px;
	transform: translateY(-50%);
	/* 縦軸をセンタリングする */
	border: 5px solid transparent;
	border-left: 8px solid #555;
	/* 好みで色を変えてください */
}

/* 左サイド加工メニュー（スマホ） */

@media screen and (max-width: 640px) {
	.side_kakoumenu_sp {
		width: 80px;
		cursor: pointer;
		position: fixed !important;
		right: 3px;
		bottom: 130px;
		z-index: 101;
	}

	.kakou_sp_summary::after {
		border: none;
	}









	/* 初期状態でメニューを右側に隠す */
	.kakou_sp_menu {
		position: fixed;
		top: 0;
		right: -250px;
		/* メニュー幅分だけ画面外に隠す */
		width: 250px;
		height: 100%;
		background-color: #fff;
		box-shadow: -2px 0 5px rgba(0, 0, 0, 0.2);
		transition: right 0.3s ease;
		/* スライドアニメーション */
		z-index: 999;
	}

	/* メニューが開いた状態 */
	.kakou_sp_details[open] .kakou_sp_menu {
		right: 0;
		/* 画面内にスライドイン */
	}

	/* 背景オーバーレイ */
	.overlay {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0, 0, 0, 0.5);
		z-index: 998;
		opacity: 0;
		transition: opacity 0.3s ease;
		pointer-events: none;
		/* 非表示時はクリック無効 */
	}

	/* メニューが開いた状態でオーバーレイを表示 */
	.kakou_sp_details[open]~.overlay {
		opacity: 1;
		pointer-events: auto;
		/* 表示時はクリック有効 */
	}
}




/* 作業着プリント加工ページ */


#order-print h1,
#order-print h2,
#order-print h3,
#order-print h4,
#order-print h5,
#order-print p,
#order-print ul,
#order-print ol,
#order-print li,
#order-print dl,
#order-print dt,
#order-print dd,
#order-print table,
#order-print tr,
#order-print th,
#order-print td,
#order-print input,
#order-print textarea,
#order-print select,
#order-print button {
	font-size: 1.6rem;
	color: #333;
	line-height: 1.7;
	font-family: 'Noto Sans JP', sans-serif;
	margin: 0;
	padding: 0;
	list-style: none inside;
	-webkit-text-size-adjust: 100%;
	overflow-wrap: break-word;
}

#order-print img {
	vertical-align: bottom;
}

#order-print .fit img,
#order-print img.fit {
	width: 100%;
	height: auto;
}




/* Text
---------------------------------------------------------- */
#order-print .break-all {
	/* 強制改行  */
	word-break: break-all;
}

#order-print .white {
	color: #fff;
}

#order-print .callbtn {
	background-color: #E96D31;
	border-radius: 10px;
}

#order-print .formbtn {
	background-color: #fff;
	border-radius: 10px;
}

#order-print .formbtntext {
	color: #333;
}

#order-print .in-center {
	text-align: center;
}

#order-print .in-left {
	text-align: left;
}

#order-print .in-right {
	text-align: right;
}

#order-print .bold,
#order-print .h1,
#order-print .h2,
#order-print .h3,
#order-print .h4,
#order-print .h5,
#order-print [class*="strong-"] {
	font-weight: bold;
}

#order-print .normal {
	font-weight: normal;
}

#order-print a {
	text-decoration: none;
}

#order-print .anchor {
	text-decoration: underline;
}

#order-print .sans {
	font-family: 'Noto Sans JP', sans-serif;
}

#order-print .serif {
	font-family: 'Noto Serif JP', sans-serif;
}

#order-print .roboto {
	font-family: 'Roboto', sans-serif;
}

#order-print h1,
#order-print h2,
#order-print h3,
#order-print .h1,
#order-print .h2,
#order-print .h3 {
	line-height: 1.4;
	font-weight: bold;
}

#order-print h4,
#order-print h5,
#order-print .h4,
#order-print .h5 {
	line-height: 1.5;
	font-weight: bold;
}

#order-print [class*="strong-"],
#order-print [class*="strong-"] li {
	line-height: 1.6;
}

#order-print h1,
#order-print h2,
#order-print h3,
#order-print h4,
#order-print h5,
#order-print .h1,
#order-print .h2,
#order-print .h3,
#order-print .h4,
#order-print .h5,
#order-print [class*="strong-"] {
	letter-spacing: .08em;
}

#order-print h1,
.h1 {
	font-size: 5.6rem;
}

#order-print h2,
.h2 {
	font-size: 3.6rem;
}

#order-print h3,
.h3 {
	font-size: 3.4rem;
}

#order-print h4,
.h4 {
	font-size: 3.0rem;
}

#order-print h5,
.h5 {
	font-size: 2.4rem;
}

#order-print .strong-l,
#order-print .strong-l li {
	font-size: 2.2rem;
}

#order-print .strong-m,
#order-print .strong-m li {
	font-size: 2.0rem;
}

#order-print .strong-s,
#order-print .strong-s li {
	font-size: 1.6rem;
}

#order-print .para {
	font-size: 1.7rem;
	line-height: 1.3;
}

#order-print .weak-l,
#order-print .weak-l li,
#order-print .weak-l td {
	font-size: 1.5rem;
}

#order-print .weak-m,
#order-print .weak-m li,
#order-print .weak-m td {
	font-size: 1.4rem;
}

#order-print .weak-s,
#order-print .weak-s li,
#order-print .weak-s td {
	font-size: 1.3rem;
}

#order-print .note {
	font-size: 1.2rem;
}

#order-print .min {
	font-size: 1.0rem;
}

#order-print .green {
	color: #13A789;
}

#order-print .fs {
	font-size: 3rem;
}

#order-print .midashi {
	background-color: #339900;
	color: #fff;
	font-size: 3.8rem;
	line-height: 1.4;
	padding: 30px 0;
	position: relative;
	text-align: center;
	margin-bottom: 50px;
}

#order-print .midashi:after {
	position: absolute;
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	border-top-color: #339900;
	border-width: 30px;
	margin-left: -30px;
}

/* Flex
---------------------------------------------------------- */
#order-print .flex-row {
	display: flex;
	justify-content: space-between;
	gap: 8px;
}

#order-print .flex-col {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

#order-print .flex-start {
	justify-content: flex-start;
}

#order-print .flex-center {
	display: flex;
	justify-content: center;
	align-items: center;
}

#order-print .flex-center-v {
	display: flex;
	align-items: center;
}

#order-print .flex-end {
	align-items: flex-end;
}






/* Section Initial
---------------------------------------------------------- */
body #order-print section {
	padding: 60px 0;
}

#order-print .inner {
	max-width: 940px;
	margin: 0 auto;
	padding: 0 40px;
}

#order-print .print-a .inner {
	padding-top: 40px;
	padding-bottom: 40px;
}


/* type A Section
---------------------------------------------------------- */
#order-print .header-a {
	padding: 16px 20px;
	background-color: #339900;
}

#order-print .omitumoritext {
	color: #fff;
	font-size: 30px;
	font-weight: bold;
}

#order-print .header-a .flex .flex {
	gap: 8px;
}

#order-print .header-a li a {
	display: block;
	padding: 8px 24px 8px 24px;
	color: #fff;
	border-radius: 8px;
}

#order-print .footer-a {
	padding: 48px 0;
}

#order-print .footer-a>.inner {
	gap: 32px;
}

#order-print .footer-a .flex-row {
	justify-content: center;
}

#order-print .footer-a .flex-row li {
	margin: 0 24px 0 0;
	padding: 0 24px 0 0;
	border-right: 1px solid #333;
}

#order-print .footer-a .flex-row li:last-child {
	margin: 0;
	padding: 0;
	border: none;
}

#order-print .footer-a a {
	color: #333;
	text-decoration: none;
}

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



#order-print .btn-cv {
	box-sizing: border-box;
	display: block;
	max-width: 506px;
	margin: 0 auto;
	padding: 16px 0;
	background: url(/print/img/icon-cv-arrow.svg) no-repeat 92.291666667% 50% #339900;
	border-radius: 50px;
	color: #fff;
	text-align: center;
}

#order-print .btn-cv:hover,
#order-print .header-a li a:hover {
	opacity: .75;
}



/* FIXBTN 
---------------------------------------------------------- */
#order-print .fixbtn-a {
	display: none;
	padding: 16px 0;
	background-color: rgba(51, 153, 0, 1);
	position: fixed;
	bottom: 0px;
	width: 940px;

}

#order-print .fixbtn-a .flex .flex {
	gap: 8px;
}

#order-print .fixbtn-a li a {
	display: block;
	padding: 8px 24px 8px 24px;
	color: #fff;
	border-radius: 8px;
}


#order-print .btn-cv:hover,
#order-print .fixbtn-a li a:hover {
	opacity: .75;
}

#order-print .btn_end {
	position: fixed;
	bottom: 10px;
	right: 10px;
	width: 30%;
}

/* FV
---------------------------------------------------------- */
#order-print .fv-a {
	position: relative;
	padding: 0;

}

#order-print .fv-a .inner {
	padding: 35px 40px 16px;


}

#order-print .fv-a .img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(/print/img/fv_bg.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	overflow: hidden;

}

#order-print .fv-a .img img {
	position: absolute;
	left: 65%;
	bottom: -20px;
	/* height: 97%; */
	width: 400px;

}

#order-print .fv-a .box {
	position: relative;
	z-index: 1;
}

#order-print .fv-a h1 {
	font-size: 3rem;
	background-color: #fff;
	padding: 10px 10px 10px 15px;
}

#order-print .fv-a h1,
#order-print .fv-a h1+p {
	width: 72%;
}

#order-print .fv-a h1+p {
	margin: 20px 0 25px;
	font-size: 4rem;
}




#order-print .fv-a .badge {
	gap: 16px;
	margin: 0 0 16px
}

#order-print .fv-a .badge li {
	width: 158px;
	height: 158px;
	background: #fff;
	border-radius: 50%;
}

#order-print .fv-a .box>p:last-child {
	margin: 16px 0 0;
	text-shadow: 1px 1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, -1px -1px 0 #fff;
}

#order-print .callbtn .time {
	font-size: 15px;
}

#order-print .callbtn .fa-phone {
	font-size: 2.5rem;
	padding-left: 5px;

}


#order-print .phonesize {
	font-size: 2.0rem;
}



#order-print .clip {
	clip-path: polygon(0% 0%, 60% 0%, 75% 50%, 60% 100%, 0% 100%);
	background-color: #D7F3E2;
	opacity: 0.7;
	height: 100%;
}


#order-print .mosgreen {
	background-color: #D7F3E2;
	width: 100%;
}





/* Worry
---------------------------------------------------------- */
#order-print .worry-a {
	background: url(/print/img/worry_bg.jpg) no-repeat right center;
	background-color: #FFF;
	background-size: 85%;
	padding-bottom: 0;
}

#order-print .worry-a .flex-row {
	gap: 56px;
}

#order-print .worry-a .items>div {
	max-width: 296px;
}

#order-print .worry-a .items h3 {
	margin: 16px 0 8px;
}

#order-print .worry-a ul.items li {
	padding: 0 0 0 34px;
	background: url(/print/img/square-check-solid.svg) no-repeat 0 6px;
	background-size: 20px;
}


/* reason
---------------------------------------------------------- */


#order-print .reason-a .flex-col.items,
#order-print .reason-a .flex-col.items .flex-row {
	gap: 0px;
}

#order-print .reason-a .flex-col.items .flex-row:nth-child(even) {
	flex-direction: row-reverse;
}

#order-print .reason-a .flex-col.items .flex-row .flex-col {
	gap: 16px;
}

#order-print .reason-a .flex-col.items .flex-row>div {
	flex: 1;
}

#order-print .reason-a .box {
	gap: 8px;
	padding: 32px;
	background: #f0f0f0;
}

#order-print .reason-a .box .items {
	justify-content: center;
	gap: 16px;
}

#order-print .reason-a .box .items li {
	padding: 8px 16px;
	border: 1px solid #333;
	border-radius: 50px;
}


#order-print .picture {
	height: 270px;
	overflow: hidden;
}



#order-print .greenbg {
	background-color: #D9EFE4;
	height: auto;
	padding: 20px 20px 20px 20px;
}

/* print
---------------------------------------------------------- */

#order-print .table-scroll {
	overflow: scroll;
	-ms-overflow-style: none;
	scrollbar-width: none;
}

#order-print .table-scroll::-webkit-scrollbar {
	display: none;
}

#order-print table {
	width: 100%;
	white-space: nowrap;
}

#order-print .print-a table,
#order-print .print-a th,
#order-print .print-a td {
	box-sizing: border-box;
	border: 1px solid #999;
	border-collapse: collapse;
	background-color: #fff;
}

#order-print .print-a tr {
	text-align: center;
}

#order-print .print-a th {
	width: 20%;
	white-space: nowrap;
}

#order-print .print-a th,
#order-print .print-a td {
	width: 200px;
	padding: 20px 8px;
}

#order-print .print-a .onecolor {
	margin-bottom: 40px;
}

#order-print .print-a .fullcolor {
	margin-bottom: 40px;
}

#order-print .onecolor {
	background-color: #D9EFE4;

}

#order-print .fullcolor {
	background-color: #FBEACE;
	margin-top: 50px;
}

#order-print .price {
	background-color: #e3eef9;
	margin-top: 50px;
}

#order-print .bgwhite {
	background-color: #FFF;
	padding: 30px;
}

#order-print .meri {
	width: 48%;
	border: 2px solid #E80406;
	text-align: center;
	background-color: #FFF;
}

#order-print .meri h4 {
	background-color: #E80406;
	padding: 10px;
	color: #FFF;
}

#order-print .deri {
	width: 48%;
	border: 2px solid #1034A6;
	text-align: center;
	background-color: #FFF;
}

#order-print .deri h4 {
	background-color: #1034A6;
	padding: 10px;
	color: #FFF;
}

#order-print .meri ul,
#order-print .deri ul {
	padding: 20px;
	text-align: left;
}



#order-print .meri ul li,
#order-print .deri ul li {
	padding: 0 0 0 30px;
	background: url(/print/img/square-check-solid.svg) no-repeat 0 6px;
	background-size: 16px;
}


#order-print .underline {
	padding-bottom: 8px;
	border-bottom: solid;
	border-color: #333;
	border-width: 2px;
}

#order-print .underlinered {
	display: inline-block;
	padding-bottom: 8px;
	margin-top: 15px;
	border-bottom: solid;
	border-color: #E80406;
	border-width: 2px;
}

#order-print .marker {
	background: linear-gradient(transparent 60%, #FFF256 60%);
}




/* Sample
---------------------------------------------------------- */

#order-print .sample-a .flex-col.items,
#order-print .sample-a .flex-col.items .flex-row {
	gap: 40px;
}

#order-print .sample-a .flex-col.items .flex-row:nth-child(even) {
	flex-direction: row-reverse;
}

#order-print .sample-a .flex-col.items .flex-row .flex-col {
	gap: 16px;
}

#order-print .sample-a .flex-col.items .flex-row>div {
	flex: 1;
}

#order-print .sample-a .box {
	gap: 8px;
	padding: 32px;
	background: #f0f0f0;
}

#order-print .sample-a .box .items {
	justify-content: center;
	gap: 16px;
}

#order-print .sample-a .box .items li {
	padding: 8px 16px;
	border: 1px solid #333;
	border-radius: 50px;
}


#order-print .colorpattern {
	background-color: #EEEEEE;
	padding: 8px;
}




/* CV
---------------------------------------------------------- */
#order-print .cv-a {
	background: #D9EFE4;

}

#order-print .cv-a .flex-row {
	gap: 56px;
}

#order-print .cv-a .flex-row>* {
	flex: 1;
}

#order-print .cv-a .flex-center-v .flex-col {
	gap: 40px;
}




/* works
---------------------------------------------------------- */

#order-print .works-a .items>div {
	max-width: 296px;
}

#order-print .works-a .items h3 {
	margin: 16px 0 8px;
}




/* Flow
---------------------------------------------------------- */

#order-print .flow-a .items>.flex-col {
	gap: 8px;
	width: 17%;
}

#order-print .flow-a .items>div:nth-child(even) img {
	position: relative;
	top: 25%;
}

#order-print .flowimg {
	width: 100%;
}


/* Notes
---------------------------------------------------------- */

#order-print .red {
	color: #CF0100;
}


#order-print .notes-a .notes {
	padding-top: 40px;
	padding-bottom: 40px;
}



#order-print .darkblue {
	background-color: #07182F;
	padding: 20px;
	color: #EAB56F;
	width: 50%;
}

#order-print .darkred p {
	color: #EAB56F;
	margin-bottom: 15px;
}

#order-print .darkred {
	background-color: #950404;
	padding: 20px;
	width: 50%;
}

#order-print .darkblue p {
	color: #EAB56F;
	margin-bottom: 15px;
}


#order-print .fwb {
	font-weight: bold;
}

#order-print .ngmaterial1 {
	width: 22%;
}



#order-print .ngmaterial2 {
	width: 45%;
}


#order-print .ng {
	width: 20%;
}

#order-print .ngtext {
	width: 75%;
	padding-top: 25px;
}

/* Q&A
---------------------------------------------------------- */
#order-print .qa-a {
	background: #f0f0f0;
}

#order-print .qa-a .items {
	gap: 24px;
}

#order-print .qa-a .items dd {
	margin: 0 0 16px;
	padding: 0 0 40px;
	border-bottom: 1px solid #333;
}

#order-print .qa-a .items dd:last-child {
	margin: 0;
	padding: 0;
	border: none;
}




/* USP2
---------------------------------------------------------- */
#order-print .usp2-a {
	background: #f0f0f0;
}

#order-print .usp2-a .items {
	gap: 32px;
}

#order-print .usp2-a .items .box {
	gap: 32px;
	padding: 32px;
	background: #fff;
}

#order-print .usp2-a .items .box>p:first-child {
	width: 72px;
	height: 72px;
	margin: 0 auto;
	background: #333;
	border-radius: 50%;
}

#order-print .usp2-a .items .box .flex-col {
	gap: 16px;
}




/* FORM
---------------------------------------------------------- */

#order-print .form-a {
	background-color: #D9EFE4;

}

#order-print .form-a .flex-row {
	justify-content: space-around;
}

#order-print .otoiawasebtn {
	max-width: 240px;
	width: 30%;
}

#order-print .otoiawasebtn p {
	margin-top: 20px;
	font-size: 2.2rem;
}


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

	#order-print h1,
	#order-print .h1 {
		font-size: 4.8rem;
	}

	#order-print h2,
	#order-print .h2 {
		font-size: 3.0rem;
	}

	#order-print h3,
	#order-print .h3 {
		font-size: 2.8rem;
	}

	#order-print h4,
	#order-print .h4 {
		font-size: 2.6rem;
	}

	#order-print h5,
	#order-print .h5 {
		font-size: 2.2rem;
	}

	#order-print .strong-l,
	#order-print .strong-l li {
		font-size: 2.0rem;
	}

	#order-print .strong-m,
	#order-print .strong-m li {
		font-size: 1.9rem;
	}

	#order-print .midashi {
		font-size: 3.0rem;
		line-height: 1.4;
		padding: 30px 0;
		margin-bottom: 50px;
	}

	#order-print .flex-col {
		gap: 40px;
	}


	/* Section Initial
    ---------------------------------------------------------- */
	body #order-print section {
		padding: 30px 0;
	}

	#order-print section .inner {
		padding: 0 15px;
	}


	#order-print .print-a .inner {
		padding-top: 40px;

	}

	/* type A Section
    ---------------------------------------------------------- */

	#order-print .header-a {
		padding: 16px 15px;
	}

	#order-print .header-a ul.flex-row {
		gap: 0;
		width: 100%;
		/* position: fixed; */
		/* left: 0;
        bottom: 0;
        z-index: 100; */
	}


	#order-print .header-a .inner {
		flex-direction: column;
	}

	#order-print .header-a ul.flex-row li {
		flex: 1;
		margin: 0 5px;
	}

	#order-print .header-a ul.flex-row a {
		padding: 4px 4px 4px 4px;
		border-radius: 0;
		font-size: 1rem;
		background-position: 94% 50%;
	}

	#order-print .header-a ul.flex-row a .strong-m {
		font-size: 1.5rem;
	}

	#order-print .footer-a {
		padding-bottom: 110px;
	}

	#order-print .footer-a>.inner {
		gap: 40px;
	}

	#order-print .footer-a .flex-row {
		flex-direction: column;
		align-items: center;
		gap: 16px;
	}

	#order-print .footer-a .flex-row li {
		margin: 0;
		padding: 0;
		border: none;
	}

	#order-print .omitumoritext {
		color: #fff;
		font-size: 2.2rem;
		font-weight: bold;
		text-align: center;
	}



	/* FIXBTN 
---------------------------------------------------------- */

	#order-print .fixbtn-a {
		padding: 0px 0;
		background-color: rgba(51, 153, 0, 0);
		position: fixed;
		bottom: 0px;
		width: 100%;

	}


	#order-print .fixbtn-a ul.flex-row {
		gap: 0;
		width: 100%;
		position: fixed;
		left: 0;
		bottom: 0;
		z-index: 100;
		padding: 0 5px;
		background-color: #339900;
	}


	#order-print .fixbtn-a ul.flex-row li {
		flex: 1;
		margin: 5px;
	}

	#order-print .fixbtn-a ul.flex-row a {
		padding: 4px 4px 4px 4px;
		border-radius: 0;
		font-size: 1rem;
		background-position: 94% 50%;
	}

	#order-print .fixbtn-a ul.flex-row a .strong-m {
		font-size: 1.5rem;
	}





	/* Fv
    ---------------------------------------------------------- */
	#order-print .fv-a .img,
	#order-print .fv-a .img img {
		position: static;
		padding: 8px 0 0;
	}

	#order-print .fv-a .img {
		overflow: hidden;
		display: none;
	}

	#order-print .fv-a .img img {
		display: block;
		width: 160px;
		margin: 0 auto -63px;
	}

	#order-print .fv-a .inner {
		padding: 15px;


	}

	#order-print .fv-a .box {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		width: 100%;
	}



	#order-print .fv-a h1 {
		padding: 10px 0px 10px 0px;
		text-align: center;
		font-size: 2.4rem;
		width: 100%;

	}

	#order-print .fv-a h1+p {
		margin: 15px 0 15px;
		font-size: 3rem;
		text-align: center;
		width: 100%;
	}


	#order-print .fv-a .badge {
		justify-content: center;
		flex-wrap: wrap;
	}

	#order-print .fv-a .badge li {
		width: 146px;
		height: 146px;
	}


	#order-print .fv_spbg {
		height: 100%;
		background: url(/print/img/fv_bg.jpg);
		background-size: cover;
		background-repeat: no-repeat;
	}

	#order-print .callbtn .time {
		font-size: 10px;
	}

	#order-print .callbtn .fa-phone {
		font-size: 1.5rem;
		padding-left: 5px;

	}


	#order-print .phonesize {
		font-size: 1.5rem;
	}




	/* Worry
    ---------------------------------------------------------- */

	#order-print .worry-a {
		background: url(/print/img/worry_bg.jpg) no-repeat center center;
		background-color: #FFF;
		background-color: rgba(255, 255, 255, 0.8);
		background-blend-mode: lighten;
		width: 100%;
		padding-bottom: 30px;
	}

	#order-print .worry-a .items {
		gap: 40px;
		flex-direction: column;
	}

	#order-print .worry-a .items>div {
		max-width: none;
	}


	/* Reason
    ---------------------------------------------------------- */
	#order-print .reason-a .inner .flex-col.items .flex-row {
		flex-direction: column;
		gap: 0px;
		margin-bottom: 20px;
	}

	#order-print .reason-a .box {
		gap: 16px;
		padding: 24px;
	}

	#order-print .reason-a .box .items {
		flex-direction: column;
	}

	#order-print .picture {
		width: 100%;
		height: 270px;
		overflow: hidden;
	}

	/* Print
    ---------------------------------------------------------- */
	#order-print .print-a .flex-row {
		flex-direction: column;
		gap: 16px;
	}


	#order-print .bgwhite {
		padding: 15px;
	}

	#order-print .meri {
		width: 100%;
	}

	#order-print .deri {
		width: 100%;
	}

	/* sample
    ---------------------------------------------------------- */
	#order-print .sample-a .inner .flex-col.items .flex-row {
		flex-direction: column;
		gap: 16px;
	}

	#order-print .sample-a .box {
		gap: 16px;
		padding: 24px;
	}

	#order-print .sample-a .box .items {
		flex-direction: column;
	}



	/* CV
    ---------------------------------------------------------- */
	#order-print .cv-a .flex-col {
		gap: 40px;
	}


	#order-print .cv-a .flex-row {
		flex-direction: column;
	}

	#order-print .cv-a .flex-row>* {
		width: 100%;
	}

	#order-print .cv-a .flex-center-v .flex-col {
		gap: 16px;
	}



	/* Works
    ---------------------------------------------------------- */
	#order-print .works-a .items {
		gap: 40px;
		flex-direction: column;
	}

	#order-print .works-a .items>div {
		max-width: none;
	}


	/* Flow
    ---------------------------------------------------------- */
	#order-print .flow-a .items {
		flex-direction: column;
		gap: 24px;
	}

	#order-print .flow-a .items>.flex-col {
		gap: 8px;
		width: 100%;
	}

	#order-print .flow-a .items>div:nth-child(even) img {
		display: block;
		position: static;
		margin: 0 auto;
		transform: rotate(90deg);
	}

	#order-print .flowimg {
		width: 100%;
	}



	/* Notes
    ---------------------------------------------------------- */

	#order-print .notes-a .flex-row {
		align-items: center;
		gap: 30px;
		margin-bottom: 20px;
		flex-wrap: wrap;
		justify-content: center;

	}

	#order-print .notes-a .flex-col {
		gap: 0px;
	}

	#order-print .darkblue {
		background-color: #07182F;
		padding-top: 15px;
		padding-bottom: 15px;
		color: #EAB56F;
		width: 100%;
	}

	#order-print .darkred p {
		color: #EAB56F;
		margin-bottom: 15px;
	}

	#order-print .darkred {
		background-color: #950404;
		padding-top: 15px;
		padding-bottom: 15px;
		width: 100%;
	}

	#order-print .darkblue p {
		color: #EAB56F;
		margin-bottom: 15px;
	}

	#order-print .ngmaterial1 {
		width: 45%;
	}

	#order-print .ngmaterial2 {
		width: 45%;
	}

	#order-print .ng {
		margin-left: 0px;
		width: 60%;
	}

	#order-print .ngtext {
		width: 100%;
	}

	#order-print .underline {
		border-bottom: none;
	}

	#order-print .underlinered {
		border-bottom: none;
		margin-top: 30px;
		margin-bottom: 30px;
	}

	/* Q&A
    ---------------------------------------------------------- */
	#order-print .qa-a .items {
		gap: 16px;
	}

	#order-print .qa-a .items dd {
		margin: 0 0 24px;
	}


	/* form
    ---------------------------------------------------------- */

	#order-print .form-a .flex-col {
		gap: 30px;


	}

	#order-print .otoiawasebtn {
		max-width: 250px;
	}

	#order-print .otoiawasebtn p {
		margin-top: 20px;
		font-size: 1.6rem;
	}

}

/* 修正用
    ---------------------------------------------------------- */

#order-print .callbtn img {
	width: 20px;
	vertical-align: sub;
}

#order-print .header-a .inner {
	padding: 0;
}

#order-print .darkblue .fs,
#order-print .darkred .fs {
	font-size: 2.7rem;
}

#order-print .fixbtn-a .inner {
	padding: 0 20px;
}

@media screen and (max-width: 767px) {
	#order-print .table-scroll::before {
		content: "横にスクロールできます >>>";
		font-size: 1.2rem;
		font-weight: 800;
		color: #0268b7;
		position: relative;
		position: -webkit-sticky;
		position: sticky;
		left: 0;
		animation: yokoSC 1.5s ease-in-out infinite alternate;
	}

	@keyframes yokoSC {
		0% {
			opacity: .2;
		}

		100% {
			opacity: 1;
		}
	}

	@-webkit-keyframes yokoSC {
		0% {
			opacity: .2;
		}

		100% {
			opacity: 1;
		}
	}

	@-moz-keyframes yokoSC {
		0% {
			opacity: .2;
		}

		100% {
			opacity: 1;
		}
	}

	#order-print .fixbtn-a {
		z-index: 1000;
	}

	#order-print .fixbtn-a .omitumoritext {
		display: none;
	}


}

#order-print .callbtn a {
	height: 80px;
}

@media screen and (max-width: 767px) {
	#order-print .callbtn a {
		height: 58px;
		padding-top: 8px !important;
	}

}

@media(width <= 640px){
	.fs-c-productNameHeading{
		margin: 0 10px;
	}
	.fs-c-productNumber{
		margin: 0 10px;
		font-size: 1.5rem;
		padding: 8px 8px 3px 0px;
	}
	.fs-c-productPrice--selling{
		margin-left: 10px;
	}
	.fs-c-productPointDisplay{
		margin: 5px 0 13px 10px;
	}
	.fs-c-variationLabel{
		margin-left: 10px;
	}
	.fs-c-variationPanelList__list > li{
		margin-left: 10px;
	}
	.fs-c-variationPanelList__list{
		grid-template-columns: repeat(auto-fill, 9em);
	}
	.fs-c-variationPanelList__list__item{
		min-width: 9em;
	}
	.fs-c-buttonContainer{
		margin: 0 10px;
	}
	.fs-c-productReview{
		margin: 10px;
	}
}



/* 取り寄せ表記エリア */
.original_com_area{
	.lt01{
		background-color:#389938;
		padding:15px;
		p{
			font-size: 3rem;
			font-weight: bold;
			text-align: center;
			letter-spacing: 0.2rem;
			color: #fff;
			margin-bottom: 3px;
			span{font-size: 145%;}
		}
		.lt01_txt_area{
			background-color:#fff;
			padding: 20px 20px 15px 20px;
			li{
				font-size: 2rem;
				font-weight: bold;
				margin-bottom: 8px;
				span{background: linear-gradient(transparent 50%, #f5ff54 50%);}
			}
		}
	}
}

@media(width <= 640px){
	.original_com_area{
		.lt01{
			padding:10px;
			margin: 10px;
			p{
				font-size: 1.4rem;
				letter-spacing: 0;
				margin-bottom: 10px;
			}
			.lt01_txt_area{
				padding: 10px 10px 5px 10px;
				li{
					font-size: 1.5rem;
					font-weight: normal;
					span{
						background: linear-gradient(transparent 60%, #f5ff54 50%);
						font-weight: bold;
					}
				}
			}
		}	
	}

}


.fs-p-productDescription{
	.lt01{
		background-color:#389938;
		padding: 5px 10px 10px;
		margin-bottom: 10px;
		p{
			font-size: 1.6rem;
			font-weight: bold;
			text-align: center;
			letter-spacing: 0.1rem;
			color: #fff;
			margin-bottom: 5px;
			span{font-size: 130%;margin: 0 3px;}
		}
		.lt01_txt_area{
			background-color:#fff;
			padding: 20px 20px 15px 20px;
			li{
				font-size: 1.4rem;
				font-weight: bold;
				margin-bottom: 6px;
				line-height: 1.3;
				span{background: linear-gradient(transparent 60%, #f5ff54 65%);}
			}
		}
	}
}

@media(width <= 640px){
	.fs-p-productDescription{
		.lt01{
			padding:10px;
			margin: 10px;
			p{
				font-size: 1.4rem;
				letter-spacing: 0;
				margin-bottom: 10px;
			}
			.lt01_txt_area{
				padding: 10px 10px 5px 10px;
				li{
					font-size: 1.5rem;
					font-weight: normal;
					span{
						background: linear-gradient(transparent 60%, #f5ff54 50%);
						font-weight: bold;
					}
				}
			}
		}	
	}

}



/* 作業着ワッペン加工ページ */


/* header
---------------------------------------------------------- */

#how_to_order.order-patch .header-a{
	background-color: #349901;
}


/* ワッペンについて
---------------------------------------------------------- */

#how_to_order.order-patch .hto_flowbox .hto_flowbox2 .flex-between{
	gap: 10px;
}



/* 作業着ワッペン 生地種類・カラー一覧
---------------------------------------------------------- */

#how_to_order.order-patch #hto1 .hto_flowbox2 .hto1_sample .flex-between .topic1{
	width: 30%;
}

#how_to_order.order-patch #hto1 .hto_flowbox2 .hto1_explanation .helmetpage_flex{
	align-items: flex-start;
	gap: 10px;
}


/* リピート注文でよくあるご質問
---------------------------------------------------------- */

#how_to_order.order-patch #hto8 .hto_flowbox2 .topic1{
	margin: 0 0 10px;
}




/* ヘルメット 加工ページ */

/* header
---------------------------------------------------------- */
#helmet_how_to_order section {
	margin: 30px 0 0;
}

#helmet_how_to_order section:first-child {
	padding: 0;
}

#helmet_how_to_order header>.inner,
#helmet_how_to_order footer>.inner,
#helmet_how_to_order section>.inner {
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 40px;
}

#helmet_how_to_order .big-inner {
	width: 95%;
	margin: 0 auto;
}

@media screen and (max-width: 767px) {
	#helmet_how_to_order>section {
		padding: 50px 0;
	}

	#helmet_how_to_order header>.inner,
	#helmet_how_to_order footer>.inner,
	#helmet_how_to_order section>.inner {
		padding: 0 15px;
	}

	#helmet_how_to_order .big-inner {
		width: 90%;
	}
}

#helmet_how_to_order .width95{
	width: 95%;
	margin: 0 auto;
}

#helmet_how_to_order .header-a {
	padding: 16px 0;
	background-color: #339900;
	margin-bottom: 50px;
}

#helmet_how_to_order .header-a .omitumoritext {
	color: #fff;
	font-size: 30px;
	font-weight: bold;
}

@media screen and (max-width: 767px) {
	#helmet_how_to_order .header-a .omitumoritext {
		font-size: 20px;
	}
}

#helmet_how_to_order .header-a .flex .flex {
	gap: 8px;
}

#helmet_how_to_order .header-a li a {
	display: block;
	padding: 8px 16px 8px 16px;
	color: #fff;
	border-radius: 8px;
}

#helmet_how_to_order .header-a li img {
	display: inline;
	width: 3rem;
	height: 3rem;
	padding-bottom: 8px;
}

@media screen and (max-width: 767px) {
	#helmet_how_to_order .header-a li img {
		width: 2rem;
		height: 2rem;
		padding-bottom: 3px;
	}
}


.ptext03 {
	text-align: center;
	font-size: 4.3rem;
	font-weight: bold;
	color: #002060;
	margin-bottom: 1.5rem;
	line-height: 1.0;
}

.ptext04 {
	font-size: 3.0rem;
}


@media screen and (max-width: 767px) {
	.ptext03 {
		width: 95%;
		margin: 2rem auto 1.5rem;
		font-size: 3.0rem;
	}

	.ptext04 {
		font-size: 1.8rem;
	}
}


/* FV
---------------------------------------------------------- */
#helmet_how_to_order .fv-a {
	position: relative;
	padding: 0;
}

#helmet_how_to_order .fv-a .inner {
	padding: 35px 40px 16px;
}

#helmet_how_to_order .fv-a .img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../img/fv_bg.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	overflow: hidden;
}

#helmet_how_to_order .fv-a .img img {
	position: absolute;
	left: 55.895833333%;
	bottom: 0;
	max-width: 495px;
}

#helmet_how_to_order .fv-a .box {
	position: relative;
	z-index: 1;
}

#helmet_how_to_order .fv-a .box>p:last-child {
	margin: 16px 0 0;
	text-shadow: 1px 1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, -1px -1px 0 #fff;
}

#helmet_how_to_order .callbtn .time {
	font-size: 15px;
}

#helmet_how_to_order .callbtn .fa-phone {
	font-size: 2.5rem;
	padding-left: 5px;
}

#helmet_how_to_order .phonesize {
	font-size: 2.5rem;
}

#helmet_how_to_order .fixbtn-a {
	background-color: #339900;
}

#helmet_how_to_order .callbtn img{
	display: flex;
	align-items: center;
}



/* title
---------------------------------------------------------- */
#helmet_how_to_order .h2,
#helmet_how_to_order .h3 {
	color: #006a00;
}


/* まもる君のオーダーヘルメット
---------------------------------------------------------- */
#helmet_how_to_order .catcharea .catchimg {
	top: auto;
	bottom: 10px;
}

#helmet_how_to_order {
	.hel_point_cont {
		border: none;
		width: 95%;
		margin: 0 auto;
		margin-bottom: 35px;
		padding: 1rem;
		background-color: #e6f4eb;
		box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.35);
	}
	.point_ttl {
		text-align: center;
		margin: 0 auto;
		padding: 0 0 2px 10px;
		color: #006a00 !important;
		font-size: 3.5rem;
		background-color: #e6f4eb !important;
		line-height: 1.8;
	}
	.flex-between{
		gap: 1rem;
	}
	.hel_point_cont_box{
		background-color: #fff;
		text-align: center;
		padding: 3rem 1rem;
	}
	.hel_point_cont_box h4{
		font-size: 2.5rem;
		font-weight: bold;
		background: linear-gradient(transparent 50%, #ff6 10%);
	}
	.hel_point_cont_box p{
		font-size: 1.5rem;
		margin-top: 0.5rem;
	}
}

@media screen and (min-width: 640px) {
	#helmet_how_to_order .hel_point_cont .hel_point_cont_box{
			width: 24%;
		}
}

@media screen and (max-width: 640px) {
	#helmet_how_to_order {
		.flex-between {
			flex-wrap: wrap;
		}
		.hel_point_cont_box{
			width: 48.5%;
		}
		.hel_point_cont_box h4{
			font-size: 2rem;
		}
		.hel_point_cont_box p{
			font-size: 1.2rem;
			font-weight: bold;
		}
	}
}

@media screen and (max-width: 380px) {
	#helmet_how_to_order .hel_point_cont_box{
			width: 100%;
		}
}


/* toform フォームリンク
---------------------------------------------------------- */
#helmet_how_to_order #repeat_helmet .toform a {
	background-color: #006a00;
	box-shadow: 0px 3px 3px #12561b;
}

#helmet_how_to_order #repeat_helmet .toform a:hover {
	box-shadow: 0px 1px 3px #12561b;
}

/* フォームの矢印 */
#helmet_how_to_order #repeat_helmet .toform a::after {
	border-left: 16px solid #006a00;
}

@media screen and (max-width: 767px) {
	#helmet_how_to_order #repeat_helmet .toform a::after {
		border-left: 13px solid #006a00;
	}
}


/* ヘルメット加工実績
---------------------------------------------------------- */
/* @media screen and (max-width: 767px) {
	#helmet_how_to_order #repeat_helmet .topicbnr .pc {
		display: none;
	}
} */

@media screen and (max-width: 640px) {
	#helmet_how_to_order .wrap .main .topic-content .scroll_block {
		overflow-x: auto;
	}
}



/* flow
---------------------------------------------------------- */

/* お客様作業横並びフロー */

#helmet_how_to_order #repeat_helmet #flow #step0 {
	width: 95%;
	margin: 0 auto;
}

@media screen and (max-width: 767px) {
	#helmet_how_to_order #repeat_helmet #flow #step0 .pc {
		display: none;
	}

}

#helmet_how_to_order #repeat_helmet #flow #step0.step_wrapper .title_flex {
    align-items: center;
}


#helmet_how_to_order #repeat_helmet #flow #step0 .sub-h3:first-child {
	background-color: #006a00;
	padding: 0 2rem;
	margin-bottom: 2rem;
	color: #FFF;
}

#helmet_how_to_order #repeat_helmet #flow #step0 .sub-h3.subsub-h3 {
	background-color: #fff;
	border: solid 2px #006a00;
	box-sizing: border-box;
	color: #006a00;
}

@media screen and (max-width: 767px) {
	#helmet_how_to_order #repeat_helmet #flow .step_wrapper .maru {
		background-color: #006a00;
	}

}

#helmet_how_to_order #repeat_helmet #flow #step0 .h3 {
	font-size: 50px;
	line-height: 30px;
}

#helmet_how_to_order #repeat_helmet #flow #step0 .sub-h3 {
	font-size: 20px;
}

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

	#helmet_how_to_order #repeat_helmet #flow #step0 .h3 {
	font-size: 40px;
}

	#helmet_how_to_order #repeat_helmet #flow #step0 .sub-h3 {
		font-size: 18px;
		line-height: 32px;
	}
}

/* 背景矢印 */
#helmet_how_to_order #repeat_helmet #flow #step1,
#helmet_how_to_order #repeat_helmet #flow #step2 {
	position: none;
}

/* 背景色 大枠 */
#helmet_how_to_order #repeat_helmet #flow #step1,
#helmet_how_to_order #repeat_helmet #flow #step3 {
	background-color: #e6f4eb;
}

/* 背景矢印 */
#helmet_how_to_order #repeat_helmet #flow #step1::after {
	border-color: #e6f4eb transparent;
}

/* STEP 1 */
#helmet_how_to_order #repeat_helmet #flow #step1 .big-inner .flex_between p span {
	color: #006a00;
}

#helmet_how_to_order #repeat_helmet #flow #step1::after,
#helmet_how_to_order #repeat_helmet #flow #step2::after {
	content: none;
	position: static;
	display: none;
}


/* table
---------------------------------------------------------- */
#helmet_how_to_order table{
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}

/* #helmet_how_to_order table a{
	text-decoration: underline;
} */

#helmet_how_to_order table.purpose th{
	font-size: 1.7rem!important;
}

#helmet_how_to_order table.purpose td{
	font-size: 4rem!important;
	background-color: #fff;
}

#helmet_how_to_order table.purpose td a{
	font-size: 4rem!important;
}

#helmet_how_to_order table.purpose td{
	color: #339900;
}

#helmet_how_to_order table.fee source,
#helmet_how_to_order table.fee img {
	width: 120px;   /* ← 最初の画像の表示サイズに合わせて調整 */
	height: auto;
	max-width: 100%;
}

#helmet_how_to_order table.fee picture:hover{
	text-decoration: none;
	opacity: 0.8;
	transition: 0.3s;
}

#helmet_how_to_order #helmetkakou_03{
		.table-wrap {
			overflow-x: scroll;
	}
		.table {
			width: 100%;
			border-collapse: collapse;
			white-space: nowrap;
	}
		.table th,
		.table td {
			border: 2px solid #eee;
			padding: 4px 8px;
	}
}

@media screen and (max-width: 640px) {
	#helmet_how_to_order .table-wrap{
		overflow-x: auto;
		}
	#helmet_how_to_order table{
		width: 900px;
	}
}


/* カラーサンプル
---------------------------------------------------------- */
#helmet_how_to_order .colorch_gs{
	align-items: center;
}


/* お問い合わせ contact
---------------------------------------------------------- */
/* フォーム */
#helmet_how_to_order #repeat_helmet #contact {
	background-color: #e6f4eb;
}

/* お問い合わせアイコン */
#helmet_how_to_order #repeat_helmet #contact-bottom {
	background-color: #e6f4eb;
}


/* ページトップスクロール footer
---------------------------------------------------------- */
/* ページトップをスクロールしたら表示する */
#helmet_how_to_order #repeat_helmet #page_top p {
	color: #006a00;
}

/* フォームより下に再表示する */
#helmet_how_to_order #repeat_helmet #page_top_second p {
	color: #006a00;
}


/* Q&A アコーディオンメニュー
---------------------------------------------------------- */

#helmet_how_to_order #question_wrapper .accordion  {
	border-bottom:1px solid #a9a9a9
}

#helmet_how_to_order #question_wrapper .accordion_title {
	position: relative;
	border: none;
	display: block;
	list-style: none;
	width: 100%;
	cursor: pointer;
	padding: 1em 3em 0 0;
	line-height: 1.6em;
}

#helmet_how_to_order #question_wrapper summary.accordion_title::-webkit-details-marker {
	display:none;
}

#helmet_how_to_order #question_wrapper .accordion_title:after {
	content: "+";
	position: absolute;
	top: calc(50% - 0.5em);
	right: 20px;
	line-height: 1;
	padding: 0;
	pointer-events: none;
}

#helmet_how_to_order #question_wrapper .accordion::details-content {
	opacity: 0;
	block-size: 0;
	transition: .3s;
	transition-property: display, opacity, block-size, padding;
	transition-behavior: allow-discrete;
	line-height: 1.6em;
}

#helmet_how_to_order #question_wrapper .accordion .accordion_contents {
	padding: 0 2em 0 3em;
}

#helmet_how_to_order #question_wrapper .accordion .accordion_contents > *:first-of-type {
	margin-top: 0;
}

#helmet_how_to_order #question_wrapper .accordion .accordion_contents > *:last-of-type {
	margin-bottom: 0;
}

#helmet_how_to_order #question_wrapper .accordion[open]::details-content {
	opacity: 1;
	block-size: auto;
	block-size: calc-size(auto, size);
}

#helmet_how_to_order #question_wrapper .accordion[open] .accordion_contents {
	padding: 0 2em 1.4em 1em;
}

#helmet_how_to_order #question_wrapper .accordion[open] .accordion_title:after {
	content: "-";
}

#helmet_how_to_order #question_wrapper .accordion p {
	margin-bottom: 2em;
}




/* ------------------------------------------------------- */


/* 問い合わせページ */
@media screen and (min-width: 640px) {
	.contact_bnr {
		display: none;
	}
}
.contact_bnr .top_cont_bnr2 .w100{
	width: 49.5%;
}


/* ---------------------------------------------------
   会社概要ページ（2026-07 リニューアル）
   対象: https://www.mamoru-k.com/c/company
   ・新規クラスはすべて mk- 接頭辞
   ・既存セレクタの変更・削除は一切していない
   ・ブレイクポイントは 640px
   ・1rem = 10px（body: 1.3rem = 13px）
--------------------------------------------------- */

/* 商品0件の自動メッセージを company グループページに限って非表示にする
   （他のグループページでは在庫状況が伝わらなくなるため、必ず body クラスで限定する） */
.fs-body-category-company .fs-c-productList .fs-c-noResultMessage {
	display: none;
}

/* ---- ページ見出し（h1「会社概要」）----
   h1 は本文HTMLに書かれている場合と Futureshop が自動出力する場合があるため、
   どちらでも同じ見た目になるよう body クラスで限定して指定する。
   ・fs- クラスへの指定だが .fs-body-category-company 限定なので他ページには波及しない
     （既存にも .fs-body-category-how-to-order で同じ手法の前例あり）
   ・h1 の文字列は itemseo 管轄のため変更しない。英語サブは CSS の :after で付加する
   ・既定値（18px / 紺の点線ボーダー / padding-left 5px）を上書きしている */
.fs-body-category-company .fs-l-pageMain .fs-c-heading--page {
	position: relative;
	margin: 0 0 30px;
	padding: 0 0 18px;
	border-bottom: 1px solid #D9D9D9;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.4;
	letter-spacing: 0.08em;
	color: #333333;
	text-align: center;
}

.fs-body-category-company .fs-l-pageMain .fs-c-heading--page:after {
	content: "COMPANY PROFILE";
	display: block;
	margin-top: 8px;
	font-size: 1.2rem;
	font-weight: normal;
	letter-spacing: 0.15em;
	color: #888888;
}

.fs-body-category-company .fs-l-pageMain .fs-c-heading--page:before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -1px;
	width: 80px;
	height: 3px;
	margin-left: -40px;
	background-color: #389938;
}

/* ---- 全体 ---- */
.mk-company {
	width: 100%;
	max-width: 940px;
	margin: 0 auto 40px;
	color: #333333;
	font-size: 1.3rem;
	line-height: 1.8;
}

.mk-company,
.mk-company *,
.mk-company *:before,
.mk-company *:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.mk-company a {
	color: #389938;
}

.mk-company-lead {
	margin: 0 0 40px;
	font-size: 1.4rem;
	line-height: 1.9;
}

.mk-company-sec {
	margin-bottom: 50px;
}

.mk-company-sec:last-child {
	margin-bottom: 0;
}

/* ---- セクション見出し（アイコン＋日本語＋英語サブの3点セット） ---- */
.mk-company-hd {
	margin-bottom: 20px;
	text-align: center;
}

.mk-company-hd h2 {
	margin: 0;
	padding: 0;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.4;
	color: #389938;
	text-align: center;
}

.mk-company-hd h2 i {
	margin-right: 8px;
	color: #389938;
}

.mk-company-hd h2 span {
	display: block;
	width: 100%;
	margin-top: 3px;
	font-size: 1.2rem;
	font-weight: normal;
	letter-spacing: 0.1em;
	color: #888888;
}

/* ---- 本文ブロック ---- */
.mk-company-body p {
	margin: 0 0 15px;
}

.mk-company-body p:last-child {
	margin-bottom: 0;
}

/* ---- 理念・ビジョン ---- */
.mk-philosophy {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 20px;
}

.mk-philosophy-item {
	-webkit-box-flex: 1;
	-ms-flex: 1 1 calc(50% - 10px);
	flex: 1 1 calc(50% - 10px);
	min-width: 0;
	padding: 20px;
	border: 1px solid #D9D9D9;
	text-align: center;
}

.mk-philosophy-item h3 {
	margin: 0 0 10px;
	padding: 0 0 8px;
	border-bottom: 1px solid #D9D9D9;
	font-size: 1.4rem;
	font-weight: bold;
	color: #389938;
}

.mk-philosophy-item p {
	margin: 0;
	font-size: 1.5rem;
	line-height: 1.6;
}

/* ---- 代表挨拶 ---- */
.mk-message {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	gap: 25px;
}

.mk-message-img {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
	width: 100%;
	max-width: 400px;
	margin: 0;
}

.mk-message-img img {
	display: block;
	width: 100%;
	height: auto;
}

.mk-message-body {
	-webkit-box-flex: 1;
	-ms-flex: 1 1 300px;
	flex: 1 1 300px;
	min-width: 0;
}

.mk-message-body h3 {
	margin: 0 0 15px;
	padding: 2px 0 2px 12px;
	border-left: 4px solid #F29200;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.5;
	color: #333333;
}

.mk-message-body p {
	margin: 0 0 15px;
}

.mk-message-sign {
	margin-bottom: 0 !important;
	text-align: right;
	font-weight: bold;
}

/* ---- 会社概要テーブル ---- */
.mk-company-table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}

.mk-company-table th,
.mk-company-table td {
	padding: 12px 15px;
	border: 1px solid #D9D9D9;
	font-size: 1.3rem;
	line-height: 1.7;
	text-align: left;
	vertical-align: top;
}

.mk-company-table th {
	width: 28%;
	background-color: #EEEEEE;
	font-weight: bold;
}

/* ---- 沿革 ---- */
.mk-history {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0;
	border-top: 1px solid #D9D9D9;
}

.mk-history dt {
	width: 130px;
	margin: 0;
	padding: 12px 10px;
	border-bottom: 1px solid #D9D9D9;
	font-weight: bold;
	color: #389938;
}

.mk-history dd {
	width: calc(100% - 130px);
	margin: 0;
	padding: 12px 10px;
	border-bottom: 1px solid #D9D9D9;
}

/* ---- 拠点・アクセス ---- */
.mk-office {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 25px;
}

.mk-office-item {
	-webkit-box-flex: 1;
	-ms-flex: 1 1 calc(50% - 10px);
	flex: 1 1 calc(50% - 10px);
	min-width: 0;
	padding: 20px;
	border: 1px solid #D9D9D9;
}

.mk-office-item h3,
.mk-office-center h3 {
	margin: 0 0 10px;
	font-size: 1.4rem;
	font-weight: bold;
	color: #389938;
}

.mk-office-img {
	margin: 0 0 12px;
}

.mk-office-img img {
	display: block;
	width: 100%;
	height: auto;
}

.mk-office-address {
	margin: 0 0 8px;
	font-weight: bold;
}

.mk-office-access {
	margin: 0;
	font-size: 1.2rem;
	color: #555555;
}

.mk-office-center {
	padding: 20px;
	background-color: #EEEEEE;
}

.mk-office-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 10px 30px;
	margin: 0 0 8px;
	padding: 0;
	list-style: none;
}

.mk-office-list li {
	position: relative;
	padding-left: 14px;
	font-weight: bold;
}

.mk-office-list li:before {
	content: "";
	position: absolute;
	top: 0.7em;
	left: 0;
	width: 8px;
	height: 8px;
	background-color: #389938;
	border-radius: 50%;
}

.mk-office-note {
	margin: 0;
	font-size: 1.2rem;
	color: #555555;
}

/* ---- 運営店舗 ---- */
.mk-shops {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mk-shops-item {
	-webkit-box-flex: 1;
	-ms-flex: 1 1 calc(33.333% - 14px);
	flex: 1 1 calc(33.333% - 14px);
	min-width: 0;
	padding: 20px;
	border: 1px solid #D9D9D9;
}

.mk-shops-name {
	margin: 0 0 10px;
	padding: 0 0 8px;
	border-bottom: 1px solid #D9D9D9;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.5;
}

.mk-shops-current {
	display: inline-block;
	margin-left: 6px;
	padding: 1px 6px;
	background-color: #389938;
	font-size: 1.1rem;
	font-weight: normal;
	color: #FFFFFF;
	vertical-align: 2px;
}

.mk-shops-desc {
	margin: 0;
	font-size: 1.2rem;
	line-height: 1.7;
}

/* ---- お問い合わせ ---- */
.mk-contact {
	margin-bottom: 30px;
	padding: 25px;
	border: 1px solid #D9D9D9;
	border-top: 3px solid #F29200;
	text-align: center;
}

.mk-contact-row {
	margin: 0 0 8px;
}

.mk-contact-label {
	display: inline-block;
	margin-right: 10px;
	font-size: 1.2rem;
	font-weight: bold;
}

.mk-company .mk-tel {
	font-size: 2.0rem;
	font-weight: bold;
	color: #D62929;
	text-decoration: none;
	letter-spacing: 0.05em;
}

.mk-company .mk-company-table .mk-tel {
	font-size: 1.3rem;
}

.mk-contact-time {
	margin: 12px 0 0;
	font-size: 1.2rem;
}

.mk-contact-mail {
	margin: 4px 0 0;
	font-size: 1.2rem;
}

.mk-contact-form {
	margin: 15px 0 0;
}

.mk-contact-form a {
	display: inline-block;
	padding: 10px 30px;
	background-color: #389938;
	font-weight: bold;
	color: #FFFFFF !important;
	text-decoration: none;
}

/* ---- 関連ページ ---- */
.mk-links-ttl {
	margin: 0 0 12px;
	font-size: 1.4rem;
	font-weight: bold;
	color: #389938;
}

.mk-links {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 8px 25px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mk-links li {
	position: relative;
	padding-left: 14px;
}

.mk-links li:before {
	content: "";
	position: absolute;
	top: 0.55em;
	left: 2px;
	width: 5px;
	height: 5px;
	border-top: 2px solid #389938;
	border-right: 2px solid #389938;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

/* =====================================================
   SP（640px以下）
===================================================== */
@media screen and (max-width: 640px) {

	/* ページ見出し（h1） */
	.fs-body-category-company .fs-l-pageMain .fs-c-heading--page {
		margin-bottom: 20px;
		padding-bottom: 14px;
		font-size: 1.8rem;
	}

	.fs-body-category-company .fs-l-pageMain .fs-c-heading--page:after {
		margin-top: 5px;
		font-size: 1.1rem;
	}

	.fs-body-category-company .fs-l-pageMain .fs-c-heading--page:before {
		width: 60px;
		margin-left: -30px;
	}

	.mk-company {
		margin-bottom: 30px;
		padding: 0 10px;
	}

	.mk-company-lead {
		margin-bottom: 30px;
		font-size: 1.3rem;
	}

	.mk-company-sec {
		margin-bottom: 35px;
	}

	.mk-company-hd h2 {
		font-size: 1.5rem;
	}

	.mk-company-hd h2 span {
		font-size: 1.1rem;
	}

	/* 理念・ビジョン */
	.mk-philosophy {
		gap: 12px;
	}

	.mk-philosophy-item {
		-ms-flex: 1 1 100%;
		flex: 1 1 100%;
		padding: 15px;
	}

	.mk-philosophy-item p {
		font-size: 1.4rem;
	}

	/* 代表挨拶：回り込みを解除して写真を上に */
	.mk-message {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		gap: 15px;
	}

	.mk-message-img {
		max-width: 240px;
		margin: 0 auto;
	}

	.mk-message-body {
		-ms-flex: 1 1 auto;
		flex: 1 1 auto;
		width: 100%;
	}

	.mk-message-body h3 {
		font-size: 1.4rem;
	}

	/* 会社概要テーブル：縦積み */
	.mk-company-table,
	.mk-company-table tbody,
	.mk-company-table tr,
	.mk-company-table th,
	.mk-company-table td {
		display: block;
		width: 100%;
	}

	.mk-company-table th {
		padding: 8px 12px;
		border-bottom: none;
	}

	.mk-company-table td {
		padding: 10px 12px;
		border-top: none;
	}

	.mk-company-table tr {
		margin-bottom: -1px;
	}

	/* 沿革：縦積み */
	.mk-history dt {
		width: 100%;
		padding: 10px 10px 0;
		border-bottom: none;
		font-size: 1.2rem;
	}

	.mk-history dd {
		width: 100%;
		padding: 2px 10px 10px;
	}

	/* 拠点 */
	.mk-office {
		gap: 12px;
		margin-bottom: 20px;
	}

	.mk-office-item {
		-ms-flex: 1 1 100%;
		flex: 1 1 100%;
		padding: 15px;
	}

	.mk-office-center {
		padding: 15px;
	}

	.mk-office-list {
		gap: 8px 20px;
	}

	/* 運営店舗 */
	.mk-shops {
		gap: 12px;
	}

	.mk-shops-item {
		-ms-flex: 1 1 100%;
		flex: 1 1 100%;
		padding: 15px;
	}

	/* お問い合わせ */
	.mk-contact {
		padding: 18px 15px;
	}

	.mk-contact-label {
		display: block;
		margin: 0 0 2px;
	}

	.mk-company .mk-tel {
		font-size: 2.2rem;
	}

	/* テーブル内の電話番号は本文サイズのまま（お問い合わせブロックのみ大きくする） */
	.mk-company .mk-company-table .mk-tel {
		font-size: 1.3rem;
	}

	.mk-contact-form a {
		display: block;
		padding: 12px 10px;
	}

	.mk-links {
		gap: 8px 18px;
	}
}

/* --------------- / 会社概要ページ ここまで --------------- */

/* ============================================================
   個人情報の取扱いページ（2026-07 改定）
   作成: 2026-07-31 / サイト制作君
   対象: https://www.mamoru-k.com/p/about/privacy-policy

   ■ 追記先
     /css/n_index.css の末尾。FTPでアップロードする。
     既存クラスのスタイルは一切変更していない（追記のみ）。

   ■ 設計方針
     ページ本体は Futureshop のコンポーネントクラス
     （fs-c-documentArticle / fs-c-documentColumn / fs-c-orderedList / fs-p-address）
     に載せているため、既存スタイルをそのまま使う。
     ここで定義するのは、改定で新しく増えた5種類の要素だけ。

     ・mk-privacy-list      … <ul>（Futureshopのリセットで記号が消えるため）
     ・mk-privacy-table     … 委託先一覧・クッキー事業者一覧
     ・mk-privacy-dl        … 安全管理措置の4区分
     ・mk-privacy-note      … 補足ブロック（3章「第6号の分析について」）
     ・mk-privacy-revision  … 制定日・最終改定日

   ■ 準拠
     本文色 #333333 / 罫線 #D9D9D9 / 薄い背景 #EEEEEE / 基準の緑 #389938
     コンテンツ幅 940px（固定値でハードコードしない）
     ブレイクポイント 640px
     法定公表物のため、読みやすさを装飾より優先している
============================================================ */

/* --- <ul> の記号を復活させる ------------------------------- */
/* Futureshopのリセットで list-style が none になるため明示する */
.mk-privacy-list {
	margin: 0.8em 0 1.2em;
	padding-left: 1.6em;
	list-style: disc outside;
}

.mk-privacy-list > li {
	margin-bottom: 0.6em;
	line-height: 1.7;
	list-style: disc outside;
}

.mk-privacy-list > li:last-child {
	margin-bottom: 0;
}

/* --- 表（委託先一覧・クッキー事業者一覧） ------------------- */
.mk-privacy-table {
	width: 100%;
	max-width: 940px;
	margin: 1em 0 1.5em;
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 1.3rem;
	line-height: 1.7;
	/* 長いURLや事業者名でレイアウトが崩れないようにする */
	table-layout: auto;
	word-break: break-word;
}

.mk-privacy-table th,
.mk-privacy-table td {
	padding: 0.8em 1em;
	border: 1px solid #D9D9D9;
	text-align: left;
	vertical-align: top;
}

.mk-privacy-table thead th {
	background-color: #EEEEEE;
	font-weight: bold;
	white-space: nowrap;
}

/* 各社のポリシー／オプトアウトページ、個人情報保護委員会へのリンク。
   Futureshopの本文リンクは既定で本文と同色・下線なしのため、
   このままではリンクだと分からない。オプトアウト手段への到達性は
   本ページの目的そのものなので、色と下線を指定する。
   色は会社概要ブロックの .mk-company a と同じ緑（サイトの既存慣習）。 */
.mk-privacy-table a,
.mk-privacy-list a {
	color: #389938;
	text-decoration: underline;
	word-break: break-all;
}

/* --- 定義リスト（安全管理措置の4区分＋外的環境の把握） ----- */
.mk-privacy-dl {
	margin: 1em 0 1.5em;
	max-width: 940px;
}

.mk-privacy-dl > dt {
	margin-top: 1.2em;
	padding-left: 0.7em;
	border-left: 3px solid #389938;
	font-weight: bold;
	line-height: 1.6;
}

.mk-privacy-dl > dt:first-child {
	margin-top: 0;
}

.mk-privacy-dl > dd {
	margin: 0.5em 0 0 0;
	padding-left: 1em;
	line-height: 1.7;
}

/* --- 補足ブロック（3章「第6号の分析について」） ------------ */
/* 本文と区別できるが、強調しすぎない。装飾は最小限にとどめる */
.mk-privacy-note {
	margin: 1.2em 0 0;
	padding: 1.2em 1.4em;
	max-width: 940px;
	background-color: #F7F7F7;
	border-left: 3px solid #D9D9D9;
	box-sizing: border-box;
}

.mk-privacy-note > p {
	margin: 0;
	line-height: 1.8;
}

/* --- 制定日・最終改定日 ------------------------------------- */
.mk-privacy-revision {
	margin-top: 2em;
	font-size: 1.2rem;
	line-height: 1.8;
	color: #666666;
	text-align: right;
}

/* ============================================================
   SP（640px以下）
   表は横スクロールではなくカード積み上げにする。
   理由：法定公表物であり、横スクロールに気づかず読み飛ばされる事故を避けたい。
        列数が2〜3列で、各セルの内容が独立して意味を持つため縦積みが成立する。
============================================================ */
@media screen and (max-width: 640px) {

	.mk-privacy-table {
		font-size: 1.3rem;
		border: none;
	}

	/* thead を隠し、各セルに data-label で見出しを出す方式にはしない。
	   （管理画面での貼り付け作業を増やしたくないため）
	   代わりに thead は最初の行として残し、tbody の各行をカードにする。 */
	.mk-privacy-table thead {
		display: none;
	}

	.mk-privacy-table,
	.mk-privacy-table tbody,
	.mk-privacy-table tr,
	.mk-privacy-table th,
	.mk-privacy-table td {
		display: block;
		width: auto;
	}

	.mk-privacy-table tbody tr {
		margin-bottom: 1em;
		border: 1px solid #D9D9D9;
	}

	.mk-privacy-table tbody tr:last-child {
		margin-bottom: 0;
	}

	.mk-privacy-table tbody td {
		border: none;
		border-bottom: 1px dotted #D9D9D9;
		padding: 0.7em 0.9em;
	}

	.mk-privacy-table tbody td:first-child {
		background-color: #F7F7F7;
		font-weight: bold;
	}

	.mk-privacy-table tbody td:last-child {
		border-bottom: none;
	}

	.mk-privacy-list {
		padding-left: 1.4em;
	}

	.mk-privacy-dl > dd {
		padding-left: 0.7em;
	}

	.mk-privacy-note {
		padding: 1em 1.1em;
	}

	.mk-privacy-revision {
		text-align: left;
	}
}

/* ============================================================
   印刷
   法定公表物なので、印刷して保管されることを想定する。
============================================================ */
@media print {

	.mk-privacy-table {
		font-size: 10pt;
		page-break-inside: auto;
	}

	.mk-privacy-table tr {
		page-break-inside: avoid;
	}

	.mk-privacy-table thead {
		display: table-header-group;
	}

	.mk-privacy-note {
		background-color: transparent;
		border-left: 2px solid #999999;
	}

	.mk-privacy-dl > dt {
		page-break-after: avoid;
	}
}

/* --------------- / 個人情報の取扱いページ ここまで --------------- */

/* ---------------------------------------------------
   ご利用ガイド（2026-08 長期不在・受け取り拒否の返金規定追加と整合是正）
   対象: guide01〜05 の独自コメント／パーツ「返品特約本文」
   ・独自コメント1〜7への分割に対応するため、2カラムを
     「サイドナビ＝float / 本文セクション＝margin-left」で組み直す。
     各欄が独立した兄弟要素になるので、欄をまたぐ開始・終了タグが不要になる。
   ・既存の .flexbox / .guide_menu / .guide_main / #fs_ReturnPolicy 系は
     一切書き換えていない（旧クラスを使うページが残っても影響しない）。
--------------------------------------------------- */

/* --- 2カラムレイアウト（欄分割対応） --- */
/* 現行の #fs_ProductCategory .guide_menu（28% ＋ padding-right 2%・content-box）と
   同じ寸法になるよう box-sizing を指定しない。実測：1200px幅で 336 ＋ 24 = 360px */
.mk-guide-nav {
	float: left;
	width: 28%;
	padding-right: 2%;
}

.mk-guide-sec {
	margin-left: 30%;
	margin-bottom: 40px;
}

.mk-guide-end {
	clear: both;
}

/* サイドナビの上下余白を詰める（2026-08-05 松木さん指示）
   既存の .guide li p（11px）／.guide_02 li p（15px）を書き換えず、
   .mk-guide-nav を前置して詳細度で上書きする。
   ★注意：ここを <nav> にすると n_index.css:3081 の
   　「nav ul a { display:block; padding:15px }」に一致して1項目あたり30px増える。
   　必ず <div class="mk-guide-nav"> のままにすること。 */
/* 行の高さ＝上下padding ＋ line-height 21px ＋ border-bottom 1px
   ページ間リンク：14 + 21 + 14 + 1 = 50px（本番現行は52px）
   章リンク      ：12 + 21 + 12 + 1 = 46px（本番現行は44px）
   　章リンクは誤タップ対策として上下2pxずつ広げた（2026-08-05 松木さん指示） */
.mk-guide-nav .guide li p {
	padding: 12px 5px 12px 20px;
}

.mk-guide-nav .guide_02 li p {
	padding: 14px 10px;
}

/* --- 見出し（h1 → h2 → h3 に1段ずつ繰り上げ） --- */
/* 旧 h2.guide_title_top の見た目を h1 が引き継ぐ */
h1.mk-guide-page-title {
	font-size: 21px;
	font-weight: 600;
	line-height: 1.4;
	color: #333333;
	background: none;
	border: none;
	border-left: 6px solid #d5d5d5;
	border-radius: 0;
	text-align: left;
	padding: 0 0 0 10px;
	margin: 0 0 20px;
}

/* 旧 .guide_main h3 の見た目を h2 が引き継ぐ */
.mk-guide-section-title {
	padding: 10px 0 10px 15px;
	margin-bottom: 10px;
	text-align: left;
	background-color: #f3f3f3;
	font-size: 18px;
	letter-spacing: 0.1em;
	font-weight: bold;
}

/* 旧 .guide_main h4 の見た目を h3 が引き継ぐ */
.mk-guide-sub-title {
	background: url(https://mamoru.itembox.design/item/img/common/h_icon_01.gif) no-repeat left 7px;
	font-size: 18px;
	font-weight: bold;
	color: #555555;
	padding-left: 22px;
	margin-bottom: 10px;
}

/* --- サイドナビのホバー --- */
/* guide02 だけが読み込んでいた guide_style.css の <link> を外すため、
   ホバー指定をこちらへ移設する（guide02 の退行防止＋5ページで挙動が揃う） */
.guide li a:hover {
	cursor: pointer;
	background-color: #e8eef3;
	text-decoration: none;
}

.guide_02 li a:hover {
	cursor: pointer;
	background-color: #a1a9ad;
	color: #ffffff;
	text-decoration: none;
}

/* --- 交換手数料の吹き出し（クラス名の typo 是正版） --- */
/* 既存の .excange_cap は残したまま、正しい綴りのクラスを併設する */
.guide_txt .mk-guide-exchange-cap {
	width: 360px;
}

/* --- 本文の dt を太字にそろえる（ガイド5ページ＋返品特約パーツ） --- */
/* 既存ルールが .fs-body-category-guide04 .guide_txt dt に限定されており、
   guide04 だけが太字、他の4ページと /p/about/return-policy は太字でない状態だった。
   同一パーツ（返品特約本文）を表示する guide04 と return-policy で見た目が違うのは不具合。
   .mk-guide-sec は本案件で組んだ本文セクションだけに付くクラスなので、
   これを起点にすればガイド5ページとパーツにのみ効き、他ページには波及しない。
   （2026-08-05 松木さん指示で guide01・02・03・05 にも拡大） */
.mk-guide-sec dl dt {
	font-weight: bold;
}

/* --- クレジットカードのブランドロゴ（guide02 ／ フッター共通） --- */
/* 実画像は 1206×129。共通の img 指定は max-inline-size のみで height が追随しないため、
   height:auto を明示して縦横比を保つ（guide02 は約840px、フッターは約463pxに収まる） */
.mk-guide-card-img {
	width: 100%;
	max-width: 1206px;
	height: auto;
}

/* --- 送料表（PC用・SP用の二重管理を解消した1つの表） --- */
.mk-guide-fee-area {
	width: 100%;
	border-collapse: collapse;
	table-layout: auto;
	margin-bottom: 10px;
}

.mk-guide-fee-area th,
.mk-guide-fee-area td {
	border: 1px solid #d9d9d9;
	padding: 8px 10px;
	vertical-align: middle;
}

.mk-guide-fee-area thead th {
	background-color: #f3f3f3;
	text-align: center;
}

.mk-guide-fee-area tbody th {
	background-color: #f3f3f3;
	text-align: center;
	white-space: nowrap;
	width: 7em;
}

.mk-guide-fee-area .mk-guide-fee-price {
	text-align: right;
	white-space: nowrap;
	width: 7em;
	font-weight: bold;
}

/* --- 対象外条件（旧 guide_flow02.jpg のHTML化） --- */
.mk-guide-exclusion {
	background-color: #999999;
	border-radius: 10px;
	padding: 0 6px 6px;
	margin-bottom: 20px;
}

.mk-guide-exclusion-title {
	background: none;
	color: #ffffff;
	font-size: 26px;
	font-weight: bold;
	letter-spacing: 0.05em;
	text-align: center;
	padding: 12px 10px;
	margin: 0;
}

.mk-guide-exclusion-body {
	position: relative;
	background-color: #ffffff;
	background-image: url(https://www.mamoru-k.com/img/guide/guide_watermark_mamoru.webp);
	background-repeat: no-repeat;
	background-position: right 40px center;
	background-size: auto 82%;
	border-radius: 6px;
	padding: 22px 28px;
	overflow: hidden;
}

.mk-guide-exclusion-ban {
	position: absolute;
	right: 65px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 200px;
	line-height: 1;
	color: #d62929;
	opacity: 0.45;
	pointer-events: none;
}

.mk-guide-exclusion-list {
	position: relative;
	z-index: 1;
	list-style: none;
	margin: 0;
	padding: 0;
	max-width: 62%;
}

.mk-guide-exclusion-list li {
	position: relative;
	padding-left: 1.8em;
	margin-bottom: 0.9em;
	font-size: 15px;
	line-height: 1.5;
}

.mk-guide-exclusion-list li:last-child {
	margin-bottom: 0;
}

.mk-guide-exclusion-list li::before {
	content: "\00d7";
	position: absolute;
	left: 0.2em;
	top: 0;
	color: #d62929;
	font-weight: bold;
}

/* --- 返品・交換の費用マトリクス（旧 guide_flow03.jpg のHTML化） --- */
.mk-guide-matrix {
	width: 100%;
	border-collapse: separate;
	border-spacing: 6px;
	table-layout: fixed;
	margin-bottom: 10px;
}

.mk-guide-matrix th,
.mk-guide-matrix td {
	border: none;
	vertical-align: middle;
	padding: 0;
}

/* 諸費用・手数料合計のセルは色面が無く境目が分からないため罫線を入れる
   （2026-08-05 松木さん指示。原本の画像には罫線が無かった） */
.mk-guide-matrix .mk-guide-matrix-cost,
.mk-guide-matrix .mk-guide-matrix-total {
	border: 1px solid #d9d9d9;
}

.mk-guide-matrix thead th {
	background-color: #999999;
	color: #ffffff;
	font-size: 15px;
	font-weight: bold;
	text-align: center;
	padding: 8px 5px;
}

.mk-guide-matrix .mk-guide-matrix-blank {
	background: none;
	width: 8%;
}

/* 区分の縦ラベル */
.mk-guide-matrix-cat {
	color: #ffffff;
	font-size: 17px;
	font-weight: bold;
	letter-spacing: 0.35em;
	text-align: center;
	writing-mode: vertical-rl;
	white-space: nowrap;
	padding: 20px 8px;
}

.mk-guide-matrix-cat--defect {
	background-color: #389938;
}

.mk-guide-matrix-cat--customer {
	background-color: #d62929;
}

/* 事由カード */
.mk-guide-matrix-case {
	padding: 0;
	width: 32%;
}

.mk-guide-matrix-case-inner {
	border: 4px solid #389938;
	background-color: #389938;
	height: 100%;
	box-sizing: border-box;
}

.mk-guide-matrix-case--customer .mk-guide-matrix-case-inner {
	border-color: #d62929;
	background-color: #d62929;
}

.mk-guide-matrix-case--none .mk-guide-matrix-case-inner {
	border-color: #333333;
	background-color: #333333;
}

.mk-guide-matrix-case-ttl {
	color: #ffffff;
	font-size: 17px;
	font-weight: bold;
	letter-spacing: 0.1em;
	text-align: center;
	padding: 8px 5px;
}

.mk-guide-matrix-case-body {
	background-color: #ffffff;
	padding: 12px 14px;
	font-size: 13px;
	line-height: 1.6;
}

/* リード文は2〜3行に折り返すため左寄せ（中央寄せだと行頭がずれる） */
.mk-guide-matrix-case-lead {
	color: #d62929;
	font-weight: bold;
	text-align: left;
	margin: 0 0 10px;
}

.mk-guide-matrix-cond {
	margin: 0;
	font-weight: bold;
}

.mk-guide-matrix-cond-list {
	list-style: none;
	margin: 0 0 0 1em;
	padding: 0;
}

/* 諸費用 */
.mk-guide-matrix-cost {
	width: 34%;
	text-align: center;
	padding: 10px 5px;
}

.mk-guide-matrix-badge {
	display: inline-block;
	color: #ffffff;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 0.1em;
	padding: 3px 10px;
	margin-bottom: 6px;
	background-color: #389938;
}

.mk-guide-matrix-badge--customer {
	background-color: #d62929;
}

.mk-guide-matrix-badge--none {
	background-color: #333333;
}

.mk-guide-matrix-cost-txt {
	margin: 0;
	font-size: 15px;
	font-weight: bold;
	color: #389938;
}

.mk-guide-matrix-cost--customer .mk-guide-matrix-cost-txt {
	color: #d62929;
}

.mk-guide-matrix-cost--none .mk-guide-matrix-cost-txt {
	color: #333333;
}

.mk-guide-matrix-cost-note {
	display: block;
	margin-top: 4px;
	font-size: 12px;
	font-weight: normal;
	color: #333333;
}

.mk-guide-matrix-icon {
	font-size: 34px;
	margin-bottom: 4px;
	color: #389938;
}

.mk-guide-matrix-cost--customer .mk-guide-matrix-icon,
.mk-guide-matrix-cost--none .mk-guide-matrix-icon {
	color: #d62929;
	opacity: 0.45;
}

.mk-guide-matrix-cost--none .mk-guide-matrix-icon {
	color: #5c5c5c;
	opacity: 0.55;
}

/* 手数料合計 */
.mk-guide-matrix-total {
	width: 18%;
	text-align: center;
	font-weight: bold;
	padding: 10px 5px;
}

.mk-guide-matrix-total-zero {
	display: block;
	font-size: 40px;
	line-height: 1.1;
	color: #389938;
}

.mk-guide-matrix-total-zero .mk-guide-matrix-yen {
	font-size: 20px;
}

.mk-guide-matrix-total-sum {
	margin: 0;
	font-size: 15px;
	color: #d62929;
	line-height: 1.5;
}

.mk-guide-matrix-total-amount {
	font-size: 20px;
}

.mk-guide-matrix-total-ng {
	margin: 0;
	font-size: 22px;
}

/* 箱に赤い✗（fa-stack）。.guide_txt p span の赤字指定に勝つ詳細度を確保する */
.guide_txt .mk-guide-matrix-ng-box {
	color: #999999;
}

.guide_txt .mk-guide-matrix-ng-cross {
	color: #d62929;
	opacity: 0.5;
}

.mk-guide-matrix-link {
	margin: 0 0 20px;
	font-weight: bold;
}

/* --- お買い物の流れ（旧 guide_flow01.jpg / _sp.jpg のHTML化） --- */
/* 見出し帯の高さをカード間でそろえる。subgrid で行を共有し、
   未対応ブラウザ向けには @supports で min-height のフォールバックを当てる */
.mk-guide-flow {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	grid-template-rows: auto 1fr;
	gap: 10px 18px;
	list-style: none;
	margin: 0 0 15px;
	padding: 0;
}

.mk-guide-flow-item {
	position: relative;
	display: grid;
	grid-row: span 2;
	grid-template-rows: subgrid;
	background-color: #ffffff;
	border: 1px solid #d9d9d9;
}

@supports not (grid-template-rows: subgrid) {
	.mk-guide-flow-item {
		display: flex;
		flex-direction: column;
	}

	.mk-guide-flow-step {
		min-height: 76px;
	}

	.mk-guide-flow-body {
		flex: 1 1 auto;
	}
}

.mk-guide-flow-item:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -15px;
	width: 0;
	height: 0;
	margin-top: -7px;
	border-style: solid;
	border-width: 7px 0 7px 9px;
	border-color: transparent transparent transparent #a9c6e0;
}

.mk-guide-flow-step {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	background-color: #d9d9d9;
	color: #333333;
	font-size: 13px;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	padding: 10px 5px;
	margin: 0;
}

/* 本文は左寄せ。折り返し位置が自動で決まる文章を中央寄せにすると
   行頭が毎行ずれて読みにくい（2026-08-05 松木さん指摘）。
   見出し帯（.mk-guide-flow-step）と赤バッジは短いラベルなので中央のまま／
   ではなく、赤バッジも折り返すため左寄せにしている */
.mk-guide-flow-body {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 12px 10px;
	font-size: 13px;
	line-height: 1.7;
	text-align: left;
}

.mk-guide-flow-body p {
	margin: 0;
}

/* 本文の長さが違ってもカードの下端でそろえる（2026-08-05 松木さん指示）
   ★セレクタを .mk-guide-flow-body で前置しないと、直前の
   　.mk-guide-flow-body p { margin: 0 }（詳細度 0,1,1）に負けて margin-top:auto が効かない */
.mk-guide-flow-body p.mk-guide-flow-alert {
	margin-top: auto;
	background-color: #d62929;
	color: #ffffff;
	font-weight: bold;
	padding: 6px 4px;
}

/* --- 当日出荷の目安（旧 guide_flow04.jpg のHTML化） --- */
.mk-guide-cutoff {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 15px;
}

.mk-guide-cutoff th,
.mk-guide-cutoff td {
	border: 1px solid #333333;
	padding: 10px;
	text-align: center;
	vertical-align: middle;
}

.mk-guide-cutoff thead th {
	background-color: #f3f3f3;
	font-weight: bold;
}

.mk-guide-cutoff tbody th {
	background-color: #ffffff;
	font-weight: bold;
	white-space: nowrap;
}

.mk-guide-cutoff-time {
	font-weight: bold;
}

.mk-guide-cutoff-ship {
	font-weight: bold;
}

.mk-guide-cutoff-ship--today {
	color: #d62929;
}

/* 「翌営業日出荷」は1色に統一。
   元の図では 翌日出荷（緑）／月曜日出荷（青）／翌営業日出荷（グレー）と3色だったが、
   月曜が祝日の場合に「月曜日出荷」が成り立たないため文言を「翌営業日出荷」へ統一した
   （2026-08-05 松木さん指摘）。同じ文言に3色あると意味が読めないので色も1つにする。 */
.mk-guide-cutoff-ship--nextworkday {
	color: #0085b2;
}

/* --- 返品・交換の流れ（旧 guide_flow05.jpg のHTML化） --- */
.mk-guide-steps-legend {
	margin: 0 0 12px;
	font-size: 13px;
}

.mk-guide-steps-key {
	display: inline-block;
	width: 3em;
	height: 0.9em;
	margin: 0 6px 0 16px;
	vertical-align: middle;
	font-style: normal;
	background-color: #999999;
}

.mk-guide-steps-key--customer {
	background-color: #f29200;
}

.mk-guide-steps-ttl {
	margin: 0 0 8px;
	font-size: 16px;
	font-weight: bold;
	color: #389938;
}

.mk-guide-steps-ttl--customer {
	color: #d62929;
}

.mk-guide-steps-badge {
	display: inline-block;
	background-color: #389938;
	color: #ffffff;
	font-size: 15px;
	letter-spacing: 0.1em;
	padding: 2px 10px;
	margin-right: 10px;
}

.mk-guide-steps {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 8px;
	list-style: none;
	margin: 0 0 25px;
	padding: 0;
}

.mk-guide-steps-item {
	position: relative;
	flex: 1 1 0;
	min-width: 0;
	border: 2px solid #999999;
	border-radius: 6px;
	background-color: #ffffff;
	padding: 12px 8px;
	font-size: 13px;
	line-height: 1.5;
	text-align: center;
}

.mk-guide-steps-item--customer {
	border-color: #f29200;
}

.mk-guide-steps-item:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -9px;
	width: 0;
	height: 0;
	margin-top: -6px;
	border-style: solid;
	border-width: 6px 0 6px 7px;
	border-color: transparent transparent transparent #999999;
	z-index: 1;
}

.mk-guide-steps-note {
	display: block;
	margin-top: 5px;
	font-size: 11px;
	line-height: 1.4;
	color: #555555;
}

/* --- 配送希望日の時間帯（旧 yamato_date.png のHTML化） --- */
.mk-guide-timeslot {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
}

.mk-guide-timeslot li {
	flex: 1 1 0;
	min-width: 110px;
	border: 1px solid #d9d9d9;
	border-radius: 6px;
	padding: 12px 6px;
	text-align: center;
	font-size: 14px;
	font-weight: bold;
}

.mk-guide-timeslot i {
	display: block;
	margin-bottom: 6px;
	font-size: 22px;
	color: #999999;
}

/* --- guide05 営業日／営業時間の受付表（旧 .guide_cal / .cal01 / .cal02 の組み直し） --- */
/* 旧構造は guide_style.css が table 前提・HTMLは div で、3セレクタが空振りしていた。
   営業日カレンダーの iframe は 2026-08-05 に表示を停止したため、ここには含めない。 */
.mk-guide-hours-table {
	width: 100%;
	max-width: 560px;
	border-collapse: collapse;
	margin-bottom: 10px;
}

.mk-guide-hours-table th,
.mk-guide-hours-table td {
	border: 1px solid #d9d9d9;
	padding: 8px 10px;
	vertical-align: middle;
}

.mk-guide-hours-table th {
	background-color: #f3f3f3;
	white-space: nowrap;
}

.mk-guide-hours-table .mk-guide-hours-ch {
	width: 5em;
	text-align: center;
	white-space: nowrap;
}

/* --- 長期不在・受け取り拒否・住所不備の規定 --- */
.mk-guide-absence-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 15px;
}

.mk-guide-absence-table th,
.mk-guide-absence-table td {
	border: 1px solid #d9d9d9;
	padding: 8px 10px;
	vertical-align: middle;
}

.mk-guide-absence-table thead th {
	background-color: #f3f3f3;
	text-align: center;
}

.mk-guide-absence-table tbody th {
	background-color: #f3f3f3;
	text-align: left;
	white-space: nowrap;
}

/* --- SP（640px以下） --- */
@media screen and (max-width: 640px) {

	.mk-guide-nav {
		float: none;
		width: 100%;
		padding-right: 0;
		margin-bottom: 20px;
		font-weight: bold;
	}

	.mk-guide-sec {
		margin-left: 0;
	}

	h1.mk-guide-page-title {
		font-size: 19px;
	}

	.guide_txt .mk-guide-exchange-cap {
		width: auto;
		margin: auto;
	}

	/* 送料表：地域ごとのカードに縦積み */
	.mk-guide-fee-area,
	.mk-guide-fee-area tbody,
	.mk-guide-fee-area tr,
	.mk-guide-fee-area th,
	.mk-guide-fee-area td {
		display: block;
		width: auto;
	}

	.mk-guide-fee-area thead {
		display: none;
	}

	.mk-guide-fee-area tr {
		margin-bottom: 10px;
		border: 1px solid #d9d9d9;
	}

	.mk-guide-fee-area th,
	.mk-guide-fee-area td {
		border: none;
		border-bottom: 1px dotted #d9d9d9;
	}

	.mk-guide-fee-area tr td:last-child {
		border-bottom: none;
	}

	.mk-guide-fee-area tbody th {
		text-align: left;
		width: auto;
	}

	.mk-guide-fee-area .mk-guide-fee-price {
		text-align: left;
		width: auto;
	}

	.mk-guide-fee-area .mk-guide-fee-price::before {
		content: "送料：";
		font-weight: normal;
	}

	.mk-guide-fee-area .mk-guide-fee-detail::before {
		content: "対象地域：";
	}

	/* 対象外条件：透かしと禁止マークを出さない（940px前提の配置のため） */
	.mk-guide-exclusion-title {
		font-size: 19px;
	}

	.mk-guide-exclusion-body {
		background-image: none;
		padding: 16px 14px;
	}

	.mk-guide-exclusion-ban {
		display: none;
	}

	.mk-guide-exclusion-list {
		max-width: none;
	}

	.mk-guide-exclusion-list li {
		font-size: 14px;
	}

	/* 費用マトリクス：行単位のカードに縦積み */
	.mk-guide-matrix,
	.mk-guide-matrix tbody,
	.mk-guide-matrix tr,
	.mk-guide-matrix th,
	.mk-guide-matrix td {
		display: block;
		width: auto;
	}

	.mk-guide-matrix {
		border-spacing: 0;
	}

	.mk-guide-matrix thead {
		display: none;
	}

	.mk-guide-matrix tr {
		margin-bottom: 12px;
	}

	.mk-guide-matrix-cat {
		writing-mode: horizontal-tb;
		letter-spacing: 0.1em;
		padding: 8px;
		margin-bottom: 6px;
	}

	.mk-guide-matrix-case,
	.mk-guide-matrix-cost,
	.mk-guide-matrix-total {
		margin-bottom: 6px;
	}

	.mk-guide-matrix-total::before {
		content: "手数料合計";
		display: block;
		background-color: #999999;
		color: #ffffff;
		font-size: 13px;
		padding: 3px;
		margin-bottom: 4px;
	}

	.mk-guide-matrix-icon {
		font-size: 28px;
	}

	/* お買い物の流れ：2列 */
	.mk-guide-flow {
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}

	.mk-guide-flow-item:not(:last-child)::after {
		display: none;
	}

	/* 当日出荷：見出しを残したまま横スクロールさせない */
	.mk-guide-cutoff th,
	.mk-guide-cutoff td {
		padding: 8px 5px;
		font-size: 12px;
	}

	/* 返品・交換の流れ：縦積み */
	.mk-guide-steps {
		display: block;
	}

	.mk-guide-steps-item {
		margin-bottom: 14px;
	}

	.mk-guide-steps-item:not(:last-child)::after {
		top: auto;
		right: auto;
		bottom: -12px;
		left: 50%;
		margin: 0 0 0 -6px;
		border-width: 7px 6px 0 6px;
		border-color: #999999 transparent transparent transparent;
	}

	.mk-guide-timeslot li {
		min-width: 0;
		flex-basis: 30%;
		font-size: 12px;
	}

	.mk-guide-hours-table .mk-guide-hours-ch {
		width: 4em;
	}

	/* 長期不在の算定表：縦積み */
	.mk-guide-absence-table,
	.mk-guide-absence-table tbody,
	.mk-guide-absence-table tr,
	.mk-guide-absence-table th,
	.mk-guide-absence-table td {
		display: block;
		width: auto;
	}

	.mk-guide-absence-table thead {
		display: none;
	}

	.mk-guide-absence-table tr {
		margin-bottom: 10px;
		border: 1px solid #d9d9d9;
	}

	.mk-guide-absence-table th,
	.mk-guide-absence-table td {
		border: none;
		border-bottom: 1px dotted #d9d9d9;
		white-space: normal;
	}

	.mk-guide-absence-table tr td:last-child {
		border-bottom: none;
	}

}

/* --------------- / ご利用ガイド（2026-08）ここまで --------------- */

/* ---------------------------------------------------
   ブランドタイル hover 時の不可視オーバーレイ無効化（2026-08-12）

   .wrap .main .maker-content .list .box a:hover:after は
   position:absolute だが、基準となる positioned な祖先が1つも無いため、
   擬似要素がタイル内ではなくドキュメント最上部(0,0)へ飛び、
   ウィンドウと同サイズ(100% x 100%)の透明な板になっていた。
   板は hover 中の <a> の一部なので、ヘッダー・検索窓・h1・導入文・
   ランキングの当たり判定を奪い、クリックするとブランドページへ遷移していた。

   同ブロックは background-color がコメントアウトされており表示上の役割が
   無いため、擬似要素ごと無効化する。タイルの hover 表現は
   .box:hover の背景色(#f4f4f4) と a:hover の opacity(.8) で維持される。

   対象: / , /c/shoes , /c/helmet , /c/work-clothing ,
         /c/work-clothing/kutyofuku
--------------------------------------------------- */
.wrap .main .maker-content .list .box a:hover:after {
	display: none;
}

/* ---------------------------------------------------
   ミズノ安全靴ページ（2026-08 ブロック整理）
   対象: /c/shoes/shoes-maker/shoes-maker-m/sm-mizuno

   ・新商品バナー4枚      … SPのみ横スクロール（PCは2列2行＝現行の見え方を維持）
   ・レコメンド枠 new_mizuno … SPのみ横スクロール（表示枠のテンプレートは変更しない）
              カード幅は人気ランキングと同じ142px（41%）、商品名は4行で打ち切り

   ⚠️ SP限定。PC（768px以上）の表示は現行から変えていない。
   ⚠️ 既存の .makerTOP_mizuno は 767px で display:block になるため、
      ブレイクポイントを 640px ではなく 767px に合わせている（641〜767pxの死角を作らないため）。
--------------------------------------------------- */

/* --- 新商品バナー（C） --- */
.mk-mizuno-bnr {
	display: flex;
	flex-wrap: wrap;
}

.mk-mizuno-bnr > .mk-mizuno-bnr-item {
	flex: 0 0 50%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0 5px;
}

.mk-mizuno-bnr > .mk-mizuno-bnr-item img {
	width: 100%;
	height: auto;
}

@media screen and (max-width: 767px) {
	.mk-mizuno-bnr {
		display: flex;
		flex-wrap: nowrap;
		overflow-x: auto;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
		scroll-padding-left: 10px;
		padding: 0 0 5px 10px;
		scrollbar-width: none;
	}

	.mk-mizuno-bnr::-webkit-scrollbar {
		display: none;
	}

	.mk-mizuno-bnr > .mk-mizuno-bnr-item {
		flex: 0 0 70%;
		scroll-snap-align: start;
		margin-right: 10px;
		padding: 0;
	}
}

/* --- レコメンド枠「最新モデル」（F） ---
   new_mizuno は sm-mizuno のみで使用（2026-08-12 商品グループCSV全数で確認）。
   pick_mizuno_limited / mizuno_company は mizuno-coupon でも使用中のため、
   表示枠そのものは削除しないこと。
   Flywheel側は display:grid で出力される。data-frame-id で絞って上書きするので
   他の表示枠には影響しない（詳細度・読み込み順とも n_index.css 側が勝つことを実測確認済み）。 */
@media screen and (max-width: 767px) {
	div.flywheel-recommend__frame[data-frame-id="new_mizuno"] .fr3-productListStatic {
		display: flex;
		flex-wrap: nowrap;
		overflow-x: auto;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
		scroll-padding-left: 10px;
		padding-left: 10px;
		scrollbar-width: none;
	}

	div.flywheel-recommend__frame[data-frame-id="new_mizuno"] .fr3-productListStatic::-webkit-scrollbar {
		display: none;
	}

	div.flywheel-recommend__frame[data-frame-id="new_mizuno"] .fr3-item {
		flex: 0 0 41%;
		scroll-snap-align: start;
		margin-right: 10px;
	}

	/* 商品名は既定で6行まで表示され、カードを縦に伸ばしていた。
	   既定の6行ではカードが縦に伸びるため4行で打ち切る。
	   ミズノはデザインで選ばれることが多く、テキストの優先度は高くないという判断（2026-08-12 松木さん）。 */
	div.flywheel-recommend__frame[data-frame-id="new_mizuno"] .fr3-item__productName {
		-webkit-line-clamp: 4;
	}
}

/* ---------------------------------------------------
   PUMA安全靴ページ（2026-08 ブロック整理）
   対象: /c/shoes/shoes-maker/shoes-maker-h/puma

   ・バナー2枚            … SPのみ横スクロール（PCは2列＝現行の見え方を維持）
   ・レコメンド枠3種        … SPのみ横スクロール（表示枠のテンプレートは変更しない）
                            pick_puma_new / puma_high_cut / puma_low_cut
                            カード幅は人気ランキングと同じ142px（41%）、商品名は4行で打ち切り
   ・ブランド説明文（枠10）  … 商品一覧の下へ移設したテキスト

   ⚠️ SP限定。PC（768px以上）の表示は現行から変えていない。
   ⚠️ 既存の .makerTOP_mizuno は 767px で display:block になるため、
      ブレイクポイントを 640px ではなく 767px に合わせている（641〜767pxの死角を作らないため）。
   ⚠️ ミズノ（2026-08-12）は data-frame-id だけで絞ったが、**当ブロックは
      body.fs-body-category-puma でも絞っている。** 同じ表示枠IDを他ページが使っていても
      影響しないため（表示枠の使用箇所を全数確認しなくてよい）。
--------------------------------------------------- */

/* --- バナー2枚 --- */
body.fs-body-category-puma .mk-puma-bnr {
	display: flex;
	flex-wrap: wrap;
}

body.fs-body-category-puma .mk-puma-bnr > .mk-puma-bnr-item {
	flex: 0 0 50%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0 5px;
}

body.fs-body-category-puma .mk-puma-bnr > .mk-puma-bnr-item img {
	width: 100%;
	height: auto;
}

@media screen and (max-width: 767px) {
	body.fs-body-category-puma .mk-puma-bnr {
		display: flex;
		flex-wrap: nowrap;
		overflow-x: auto;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
		scroll-padding-left: 10px;
		padding: 0 0 5px 10px;
		scrollbar-width: none;
	}

	body.fs-body-category-puma .mk-puma-bnr::-webkit-scrollbar {
		display: none;
	}

	body.fs-body-category-puma .mk-puma-bnr > .mk-puma-bnr-item {
		flex: 0 0 70%;
		scroll-snap-align: start;
		margin-right: 10px;
		padding: 0;
	}
}

/* --- レコメンド枠3種（新作・ハイカット・ローカット） ---
   Flywheel側は display:grid で出力される。data-frame-id と body クラスの両方で
   絞っているため、他ページ・他の表示枠には影響しない。 */
@media screen and (max-width: 767px) {
	body.fs-body-category-puma div.flywheel-recommend__frame[data-frame-id="pick_puma_new"] .fr3-productListStatic,
	body.fs-body-category-puma div.flywheel-recommend__frame[data-frame-id="puma_high_cut"] .fr3-productListStatic,
	body.fs-body-category-puma div.flywheel-recommend__frame[data-frame-id="puma_low_cut"] .fr3-productListStatic {
		display: flex;
		flex-wrap: nowrap;
		overflow-x: auto;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
		scroll-padding-left: 10px;
		padding-left: 10px;
		scrollbar-width: none;
	}

	body.fs-body-category-puma div.flywheel-recommend__frame[data-frame-id="pick_puma_new"] .fr3-productListStatic::-webkit-scrollbar,
	body.fs-body-category-puma div.flywheel-recommend__frame[data-frame-id="puma_high_cut"] .fr3-productListStatic::-webkit-scrollbar,
	body.fs-body-category-puma div.flywheel-recommend__frame[data-frame-id="puma_low_cut"] .fr3-productListStatic::-webkit-scrollbar {
		display: none;
	}

	body.fs-body-category-puma div.flywheel-recommend__frame[data-frame-id="pick_puma_new"] .fr3-item,
	body.fs-body-category-puma div.flywheel-recommend__frame[data-frame-id="puma_high_cut"] .fr3-item,
	body.fs-body-category-puma div.flywheel-recommend__frame[data-frame-id="puma_low_cut"] .fr3-item {
		flex: 0 0 41%;
		scroll-snap-align: start;
		margin-right: 10px;
	}

	/* 商品名は既定で6行まで表示されカードを縦に伸ばす。4行で打ち切る（ミズノと同じ扱い） */
	body.fs-body-category-puma div.flywheel-recommend__frame[data-frame-id="pick_puma_new"] .fr3-item__productName,
	body.fs-body-category-puma div.flywheel-recommend__frame[data-frame-id="puma_high_cut"] .fr3-item__productName,
	body.fs-body-category-puma div.flywheel-recommend__frame[data-frame-id="puma_low_cut"] .fr3-item__productName {
		-webkit-line-clamp: 4;
	}
}

/* --- ブランド説明文（独自コメント10・商品一覧の下） --- */
body.fs-body-category-puma .mk-puma-about {
	margin: 30px auto 10px;
	padding: 0 5px;
}

body.fs-body-category-puma .mk-puma-about h2 {
	font-size: 1.6rem;
	margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
	body.fs-body-category-puma .mk-puma-about {
		padding: 0 10px;
	}

	body.fs-body-category-puma .mk-puma-about h2 {
		font-size: 1.5rem;
	}
}

/* ===================================
   ヘルメット加工案内ボタン
=================================== */

.helmet-cart-process {
  width: 100%;
  margin: 24px 0 0;
  padding: 18px;
  box-sizing: border-box;
  border: 2px solid #198f3c;
  border-radius: 8px;
  background-color: #f6fff8;
  text-align: center;
}

.helmet-cart-process .helmet-cart-process__note {
  margin: 0 0 10px;
  color: #333;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
}

.helmet-cart-process .helmet-cart-process__button,
.helmet-cart-process .helmet-cart-process__button:visited {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 56px;
  padding: 12px 18px;
  box-sizing: border-box;
  border-radius: 6px;
  background-color: #198f3c;
  color: #fff !important;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  text-decoration: none !important;
}

.helmet-cart-process .helmet-cart-process__button:hover {
  background-color: #10752d;
  color: #fff !important;
}

.helmet-cart-process .helmet-cart-process__examples {
  margin: 10px 0 0;
  color: #555;
  font-size: 13px;
  line-height: 1.6;
}

@media screen and (max-width: 767px) {
  .helmet-cart-process {
    margin-top: 18px;
    padding: 14px;
  }

  .helmet-cart-process .helmet-cart-process__button,
  .helmet-cart-process .helmet-cart-process__button:visited {
    min-height: 52px;
    padding: 11px 12px;
    font-size: 16px;
  }
}

/* ===================================
   ヘルメット加工案内ボタン・サイズ調整
=================================== */

/* 加工注文ボタンをカートボタンと同じサイズにする */
.helmet-cart-process .helmet-cart-process__button,
.helmet-cart-process .helmet-cart-process__button:visited {
  width: 190px;
  height: 35px;
  min-height: 35px;
  margin: 0 auto;
  padding: 0 12px;
  box-sizing: border-box;
  border-radius: 4px;
  font-size: 16px;
}

/* 加工実績リンクを見やすくする */
.helmet-cart-process .helmet-cart-process__examples,
.helmet-cart-process .helmet-cart-process__examples:visited {
  display: inline-block;
  margin: 16px 0 0;
  color: #198f3c !important;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

/* リンクの右側に矢印を付ける */
.helmet-cart-process .helmet-cart-process__examples::after {
  content: " ＞";
  font-size: 13px;
}

/* マウスを乗せたとき */
.helmet-cart-process .helmet-cart-process__examples:hover {
  color: #10752d !important;
}

/* ===================================
   ヘルメット加工ボタン・文字切れ修正
=================================== */

/* 加工注文ボタンを大きいサイズへ戻す */
.helmet-cart-process .helmet-cart-process__button,
.helmet-cart-process .helmet-cart-process__button:visited {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: auto;
  min-height: 56px;
  margin: 0;
  padding: 12px 18px;
  box-sizing: border-box;
  border-radius: 6px;
  background-color: #198f3c;
  color: #fff !important;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  white-space: normal;
  text-decoration: none !important;
}

/* マウスを乗せたとき */
.helmet-cart-process .helmet-cart-process__button:hover {
  background-color: #10752d;
  color: #fff !important;
}

/* 加工実績を見る、との間を空ける */
.helmet-cart-process .helmet-cart-process__examples,
.helmet-cart-process .helmet-cart-process__examples:visited {
  display: inline-block;
  margin: 16px 0 0;
  color: #198f3c !important;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

/* 右側に矢印を付ける */
.helmet-cart-process .helmet-cart-process__examples::after {
  content: " ＞";
  font-size: 13px;
}

/* スマートフォン用 */
@media screen and (max-width: 767px) {
  .helmet-cart-process .helmet-cart-process__button,
  .helmet-cart-process .helmet-cart-process__button:visited {
    width: 100%;
    height: auto;
    min-height: 52px;
    padding: 11px 12px;
    font-size: 16px;
  }
}

/* ===================================================
   商品詳細ページ カート周り（2026-08 リデザイン）
   価格ヘッダー／オプション／バリエーション／数量／
   カート・お気に入り・加工ブロック・在庫問い合わせ
   HTMLはFutureshopのシステムパーツなので、すべてCSSの上書きで作る
=================================================== */

/* --- 1. 購入エリアのレイアウト ------------------------------------------
   価格ヘッダー〜在庫を問い合わせ の並びと、ブロック間の縦の間隔を決める。
   外枠は付けない（ページの背景が白のため。2026-08-27 松木さん判断）。
   縦の間隔は margin ではなく padding で取っている。 */

/* 価格とポイントは別々のシステムパーツで縦に並んでいる。
   親をグリッドにして「価格＝左／ポイント＝右」の1行にする。
   他の子（商品名・商品番号・商品説明・オプション・選択エリア）は全幅のまま */
.productName_Price {
	display: grid;
	grid-template-columns: 1fr auto;
	align-content: start;
}

.productName_Price > * {
	grid-column: 1 / -1;
	min-width: 0;
}

/* 価格（グリッドの左） */
.productName_Price > .fs-c-productPrices--productDetail {
	grid-column: 1;
	margin: 0;
	padding: 18px 0;
	background: #FFFFFF;
	border-bottom: 1px solid #ECEEF0;
}

/* ポイント（グリッドの右） */
.productName_Price > .fs-c-productPointDisplay {
	grid-column: 2;
	align-self: stretch;
	display: flex;
	align-items: flex-start;
	justify-content: flex-end;
	margin: 0;
	padding: 18px 0;
	background: #FFFFFF;
	border-bottom: 1px solid #ECEEF0;
	border-radius: 0;
	color: inherit;
	line-height: normal;
}

/* 以降のブロック。縦の間隔をここでまとめて取る */
.productName_Price > .fs-c-productPostage,
.productName_Price > .fs-c-productOption,
.select_area > .fs-c-productChooseVariation,
.select_area > .fs-c-productQuantityAndWishlist,
.select_area > .fs-c-productActionButton,
.select_area > .mk-proc-wrap,
.select_area > .fs-c-inquiryAboutProduct {
	margin: 0;
	padding: 20px 0 0;
	background: #FFFFFF;
}

/* 最後のブロック。下に10pxだけ余白を置く */
.select_area > .fs-c-inquiryAboutProduct {
	padding-bottom: 0;
	margin-bottom: 10px;
}

/* --- 2. 価格ヘッダー ---------------------------------------------------- */

/* 1行目＝「特別価格（税込）」／2行目＝金額 */
.productName_Price .fs-c-productPrice--selling {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	row-gap: 8px;
	column-gap: 4px;
	margin: 0;
	color: inherit;
}

/* __main のラベルと金額を、__addon と同じ並びに出すため入れ子を解除する */
.productName_Price .fs-c-productPrice--selling .fs-c-productPrice__main {
	display: contents;
}

.productName_Price .fs-c-productPrice--selling .fs-c-productPrice__main__label {
	order: 1;
	display: flex;
	align-items: center;
	min-height: 23px;
	margin-right: 0;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	color: #6D7276;
}

/* 「(税込)」の丸括弧はFutureshopが疑似要素で付けている */
.productName_Price .fs-c-productPrice--selling .fs-c-productPrice__addon,
.productName_Price .fs-c-productPrice--selling .fs-c-productPrice__main__addon {
	order: 2;
	align-items: center;
	min-height: 23px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	color: #6D7276;
}

.productName_Price .fs-c-productPrices--productDetail .fs-c-productPrice.fs-c-productPrice--selling .fs-c-productPrice__main__price {
	order: 3;
	width: 100%;
	justify-content: flex-start;
	padding-right: 0;
	font-size: 38px;
	font-weight: 900;
	line-height: 1;
	letter-spacing: -0.01em;
	color: #D81F24;
}

/* ポイントのバッジ。「[」「28」「ポイント進呈]」の3つのspanを
   隣り合わせて1つのバッジに見せる（親がflexなので隙間が出ない） */
.productName_Price .fs-c-productPointDisplay__label,
.productName_Price .fs-c-productPointDisplay__quantity,
.productName_Price .fs-c-productPointDisplay__unit {
	display: flex;
	align-items: center;
	height: 23px;
	padding: 0;
	background: #ECEEF0;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	color: #6D7276;
}

.productName_Price .fs-c-productPointDisplay__label {
	padding-left: 9px;
	border-radius: 3px 0 0 3px;
}

.productName_Price .fs-c-productPointDisplay__unit {
	padding-right: 9px;
	border-radius: 0 3px 3px 0;
}

/* --- 3. オプション（ヘルメット加工など）--------------------------------- */

.productName_Price .fs-c-productOption__name {
	margin: 0;
	padding: 0 0 10px;
	background: none;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	color: #17191B;
}

.productName_Price .fs-c-productOption__label {
	display: inline-flex;
	align-items: center;
}

.productName_Price .fs-c-requiredMark::before {
	color: #D81F24;
}

.productName_Price .fs-c-productOption__option {
	margin: 0;
	padding: 0;
}

/* プルダウンは数量と同じ見た目にそろえる */
.productName_Price .fs-c-dropdown {
	overflow: visible;
}

.productName_Price .fs-c-dropdown::after {
	display: none;
}

.productName_Price .fs-c-dropdown__menu {
	height: 46px;
	padding: 0 34px 0 14px;
	border: 1px solid #C9CED2;
	border-radius: 6px;
	background-color: #FFFFFF;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%233D4246' stroke-width='2'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 13px center;
	background-size: 13px 8px;
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	line-height: 44px;
	color: #17191B;
	cursor: pointer;
	transition: border-color .15s ease;
}

.productName_Price .fs-c-dropdown__menu:hover {
	border-color: #9AA0A5;
}

.productName_Price .fs-c-productOption__comment {
	margin-top: 10px;
	font-size: 12px;
	line-height: 1.7;
	color: #3D4246;
}

/* --- 4. バリエーション選択（カラー／サイズ）----------------------------- */

/* 「選択してください」＝見出し */
.select_area .fs-c-variationPanelList {
	gap: 10px;
}

.select_area .fs-c-variationPanelList__label.fs-c-variationLabel {
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	color: #17191B;
}

/* 軸が2つ並ぶときの間隔 */
.select_area .fs-c-productChooseVariation__variation + .fs-c-productChooseVariation__variation {
	margin-top: 20px;
}

/* 選択肢は3列グリッド。Futureshopの横スクロール指定を解除する */
.select_area .fs-c-variationPanelList__list {
	display: grid;
	grid-auto-flow: row;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
	padding-bottom: 0;
	overflow: visible;
	white-space: normal;
}

.select_area .fs-c-variationPanelList__list__item {
	min-width: 0;
}

/* 選択肢1つ分の枠 */
.select_area .fs-c-variationPanelList__panel {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	height: auto;
	padding: 0 10px;
	background: #FFFFFF;
	border: 1px solid #C9CED2;
	border-radius: 4px;
	cursor: pointer;
	transition: border-color .15s ease;
}

.select_area .fs-c-variationPanelList__panel:hover {
	border-color: #9AA0A5;
}

.select_area .fs-c-variationPanelList__panel__content {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 0;
	padding: 4px 0;
	background: none;
	gap: 0;
}

.select_area .fs-c-variationPanelList__panel__label {
	font-size: 12px;
	font-weight: 500;
	line-height: 1.35;
	color: #3D4246;
	text-align: center;
	word-break: break-word;
}

/* 選択中 */
.select_area .fs-c-variationPanelList__radio:checked + .fs-c-variationPanelList__panel {
	border: 2px solid #17191B;
	background: #FFFFFF;
}

.select_area .fs-c-variationPanelList__radio:checked + .fs-c-variationPanelList__panel .fs-c-variationPanelList__panel__content {
	background: none;
	color: #17191B;
}

.select_area .fs-c-variationPanelList__radio:checked + .fs-c-variationPanelList__panel .fs-c-variationPanelList__panel__label {
	color: #17191B;
}

/* 在庫切れ */
.select_area .fs-c-variationPanelList__panel--outOfStock {
	background: #F7F8F9;
	border-style: dashed;
}

.select_area .fs-c-variationPanelList__panel--outOfStock .fs-c-variationPanelList__panel__content {
	background: none;
	color: #A8ADB1;
}

.select_area .fs-c-variationPanelList__panel--outOfStock .fs-c-variationPanelList__panel__label {
	color: #A8ADB1;
}

/* --- 5. 数量・お気に入り ------------------------------------------------ */

.select_area .fs-c-productQuantityAndWishlist {
	align-items: center;
	grid-template-columns: auto 1fr;
}

/* 数量とお気に入りの高さを46pxでそろえる
   （Futureshopは数量が align-self: baseline、お気に入り側は上下8pxのpadding） */
.select_area .fs-c-productQuantityAndWishlist__quantity,
.select_area .fs-c-productQuantityAndWishlist__wishlist {
	align-self: center;
	padding-top: 0;
	padding-bottom: 0;
}

.select_area .fs-c-productQuantityAndWishlist__quantity {
	position: relative;
	display: flex;
	align-items: center;
	width: 104px;
	max-width: none;
	margin-left: 50px;
}

/* 「数量」ラベル（HTMLに無いのでCSSで出している。既存の指定を上書き） */
.select_area .fs-c-productQuantityAndWishlist__quantity::before {
	content: "数量";
	position: absolute;
	top: 50%;
	left: -50px;
	transform: translateY(-50%);
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	color: #17191B;
}

.select_area .fs-c-quantity__select.fs-system-quantity-list {
	width: 100%;
	height: 46px;
	padding: 0 34px 0 14px;
	border: 1px solid #C9CED2;
	border-radius: 6px;
	background-color: #FFFFFF;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%233D4246' stroke-width='2'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 13px center;
	background-size: 13px 8px;
	-webkit-appearance: none;
	appearance: none;
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	line-height: 44px;
	color: #17191B;
	cursor: pointer;
	transition: border-color .15s ease;
}

.select_area .fs-c-quantity__select.fs-system-quantity-list:hover {
	border-color: #9AA0A5;
}

/* 「10+」を選んだときに出てくる数値入力欄。プルダウンと同じ見た目・同じ幅にする。
   ⚠ Futureshopは同じ行に「入力してください」の吹き出し（.fs-c-quantity__message）を
   静的配置で出す。放っておくと入力欄が 104px → 30px まで潰れて数字が読めない。
   吹き出しを絶対配置で外に出し、入力欄は縮まないようにする。 */
.select_area .fs-c-quantity__select.fs-system-quantity-list,
.select_area .fs-c-quantity__number.fs-system-quantity-text {
	flex: 0 0 auto;
}

.select_area .fs-c-quantity__number.fs-system-quantity-text {
	width: 104px;
	height: 46px;
	padding: 0 14px;
	border: 1px solid #C9CED2;
	border-radius: 6px;
	box-shadow: none;
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	color: #17191B;
}

.select_area .fs-c-quantity__number.fs-system-quantity-text:focus {
	border-color: #17191B;
	outline: none;
}

/* 吹き出しは入力欄の下に浮かせる（行の幅を食わせない） */
.select_area .fs-c-productQuantityAndWishlist__quantity .fs-c-quantity__message {
	position: absolute;
	left: 0;
	top: calc(100% + 6px);
	z-index: 3;
	white-space: nowrap;
}

/* お気に入り。登録前（addToWishList）と登録済み（removeFromWishList）の
   両方に効くよう、クラス名の部分一致で指定する */
.select_area .fs-c-button--particular[class*="WishList--detail"] {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 46px;
	padding: 0 16px;
	background: #FFFFFF;
	border: 1px solid #C9CED2;
	border-radius: 6px;
	box-shadow: none;
	color: #3D4246;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	transition: border-color .15s ease;
}

/* ハートを文字の前へ */
.select_area .fs-c-button--particular[class*="WishList--detail"]::after {
	order: -1;
	margin: 0 6px 0 0;
	font-size: 15px;
	color: #3D4246;
}

.select_area .fs-c-button--particular[class*="WishList--detail"]:hover {
	border-color: #9AA0A5;
	opacity: 1;
	color: #3D4246;
}

/* 登録済み（お気に入りを解除する）。ハートは塗りつぶしの赤 */
.select_area .fs-c-button--particular.fs-c-button--removeFromWishList--detail {
	background: #F7F8F9;
	color: #6D7276;
}

.select_area .fs-c-button--particular.fs-c-button--removeFromWishList--detail::after {
	color: #E01F26;
}

/* バリエーション未選択で押せない状態 */
.select_area .fs-c-button--particular[class*="WishList--detail"].is-disabled {
	background: #F7F8F9;
	border: 1px solid #E2E5E8;
	color: #A8ADB1;
}

.select_area .fs-c-button--particular[class*="WishList--detail"].is-disabled::after {
	color: #A8ADB1;
}

.select_area .fs-c-button--particular[class*="WishList--detail"].is-disabled:hover {
	border-color: #E2E5E8;
}

/* --- 6. カート／在庫問い合わせの画像ボタンのホバー ---------------------- */

/* カートに入れる：画像の #F07800 に #FF8C14 を lighten で重ね、白文字は白のまま残す。
   ⚠ 独自クラスは商品によって btn_cart_common / btn_cart_variation と変わるので、
   Futureshop側のクラスで指定する（2026-08-27 に btn_cart_variation の取りこぼしが判明） */
.select_area .fs-c-button--addToCart--detail.fs-c-button--image {
	position: relative;
	isolation: isolate;
}

.select_area .fs-c-button--addToCart--detail.fs-c-button--image::after {
	content: "";
	position: absolute;
	inset: 0;
	background: #FF8C14;
	mix-blend-mode: lighten;
	opacity: 0;
	transition: opacity .15s ease;
	pointer-events: none;
}

.select_area .fs-c-button--addToCart--detail.fs-c-button--image:hover::after {
	opacity: 1;
}

/* 再入荷をメールで受け取る（画像ボタン）：カートと同じ方式で地色を明るくする
   #4A5670 に #5A6989 を lighten で重ねる。白文字・白い角はそのまま残る */
.select_area .fs-c-button--subscribeToArrivalNotice--detail.fs-c-button--image {
	position: relative;
	isolation: isolate;
}

.select_area .fs-c-button--subscribeToArrivalNotice--detail.fs-c-button--image::after {
	content: "";
	position: absolute;
	inset: 0;
	background: #5A6989;
	mix-blend-mode: lighten;
	opacity: 0;
	transition: opacity .15s ease;
	pointer-events: none;
}

.select_area .fs-c-button--subscribeToArrivalNotice--detail.fs-c-button--image:hover::after {
	opacity: 1;
}

/* 在庫を問い合わせ：枠だけを #9AA0A5 に */
.select_area .fs-c-button--inquiryAboutProduct.fs-c-button--image {
	position: relative;
}

.select_area .fs-c-button--inquiryAboutProduct.fs-c-button--image::after {
	content: "";
	position: absolute;
	inset: 0;
	border: 1px solid transparent;
	border-radius: 6px;
	transition: border-color .15s ease;
	pointer-events: none;
}

.select_area .fs-c-button--inquiryAboutProduct.fs-c-button--image:hover::after {
	border-color: #9AA0A5;
}

/* 既存の opacity ホバーは打ち消す（画像が薄くなるのを止める） */
.select_area .btn_Inquiry:hover {
	opacity: 1;
}

/* --- 7. 名入れ・ロゴ加工ブロック（Futureshopパーツで挿入）----------------
   マークアップはパーツ側、見た目はここが正本。
   .mk-proc-wrap は上下の間隔を padding で取るためのラッパー（上の 1. で指定） */

.mk-proc {
	margin: 0;
	padding: 16px;
	background: #F7F9F8;
	border: 1px solid #DFE8E3;
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.mk-proc-ttl {
	margin: 0;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	color: #17191B;
}

.mk-proc-btns {
	display: flex;
	gap: 10px;
}

.mk-proc-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	border-radius: 6px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: background-color .15s ease, border-color .15s ease;
}

.mk-proc-btn:hover {
	text-decoration: none;
}

.mk-proc-btn--primary {
	flex: 1;
	min-width: 0;
	padding: 0 8px;
	background: #1A6B3C;
	border: none;
	font-size: 15px;
}

.mk-proc-btn--primary,
.mk-proc-btn--primary:link,
.mk-proc-btn--primary:visited,
.mk-proc-btn--primary:hover {
	color: #FFFFFF;
}

.mk-proc-btn--primary:hover {
	background: #14562F;
}

.mk-proc-btn--sub {
	flex: 0 0 140px;
	width: 140px;
	background: #FFFFFF;
	border: 1.5px solid #1A6B3C;
	font-size: 13px;
}

.mk-proc-btn--sub,
.mk-proc-btn--sub:link,
.mk-proc-btn--sub:visited,
.mk-proc-btn--sub:hover {
	color: #1A6B3C;
}

.mk-proc-btn--sub:hover {
	background: #EAF4EE;
}

@media screen and (max-width: 639px) {
	.mk-proc-btns {
		flex-direction: column;
	}

	.mk-proc-btn {
		flex: 0 0 auto;
		width: 100%;
	}
}

/* --- 8. スマートフォン -------------------------------------------------- */

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

	/* カードは左右10px空けて置く */
	.productName_Price > .fs-c-productPrices--productDetail {
		margin-left: 10px;
		padding: 16px 0;
	}

	.productName_Price > .fs-c-productPointDisplay {
		margin: 0 10px 0 0;
		padding: 16px 0;
	}

	.productName_Price > .fs-c-productPostage,
	.productName_Price > .fs-c-productOption,
	.select_area > .fs-c-productChooseVariation,
	.select_area > .fs-c-productQuantityAndWishlist,
	.select_area > .fs-c-productActionButton,
	.select_area > .mk-proc-wrap,
	.select_area > .fs-c-inquiryAboutProduct {
		margin: 0 10px;
		padding: 16px 0 0;
	}

	.select_area > .fs-c-inquiryAboutProduct {
		padding-bottom: 16px;
		margin-bottom: 10px;
	}

	/* 既存のSP指定（左に10px寄せる）はカードのpaddingと二重になるので打ち消す */
	.productName_Price .fs-c-productPrice--selling {
		margin-left: 0;
	}

	.select_area .fs-c-variationLabel {
		margin-left: 0;
	}

	.select_area .fs-c-variationPanelList__list > li {
		margin-left: 0;
	}

	/* 選択肢は2列 */
	.select_area .fs-c-variationPanelList__list {
		grid-template-columns: repeat(2, 1fr);
		padding: 0;
	}

	.select_area .fs-c-variationPanelList__list__item {
		min-width: 0;
	}

	/* お気に入りは幅が足りないのでハートのみに縮小
	   （ラベルは画面外に退避し、読み上げには残す） */
	.select_area .fs-c-button--particular[class*="WishList--detail"] {
		padding: 0 14px;
	}

	.select_area .fs-c-button--particular[class*="WishList--detail"] .fs-c-button__label {
		position: absolute;
		width: 1px;
		height: 1px;
		margin: -1px;
		padding: 0;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
	}

	.select_area .fs-c-button--particular[class*="WishList--detail"]::after {
		margin: 0;
		font-size: 20px;
	}
}

/* --- 9. カラー選択肢の刷新（2026-08-27 追加デザイン）---------------------
   未選択はグレー地でボタン感を出し、選択中は加工ブロックと同じ緑＋チェック、
   欠品は斜線ハッチ＋打ち消し線＋「欠品」バッジの3点セットで示す。 */

/* 未選択 */
.select_area .fs-c-variationPanelList__panel {
	min-height: 52px;
	height: auto;
	padding: 6px 8px;
	background: #F7F9F8;
	border: 1px solid #DFE8E3;
	border-radius: 5px;
	overflow: visible;          /* 「欠品」バッジが枠の外に出るため */
	line-height: 1.35;
	text-align: center;
}

.select_area .fs-c-variationPanelList__panel__content {
	gap: 4px;
}

.select_area .fs-c-variationPanelList__panel__label {
	font-size: 12px;
	font-weight: 500;
	color: #3D4246;
}

.select_area .fs-c-variationPanelList__panel:hover {
	border-color: #1A6B3C;
}

/* 選択中 */
.select_area .fs-c-variationPanelList__radio:checked + .fs-c-variationPanelList__panel {
	background: #EAF4EE;
	border: 2px solid #1A6B3C;
}

.select_area .fs-c-variationPanelList__radio:checked + .fs-c-variationPanelList__panel .fs-c-variationPanelList__panel__label {
	color: #1A6B3C;
	font-weight: 700;
}

/* チェックはHTMLに無いので疑似要素で出す */
.select_area .fs-c-variationPanelList__radio:checked + .fs-c-variationPanelList__panel .fs-c-variationPanelList__panel__label::before {
	content: "✓";
	display: inline-block;      /* 欠品の打ち消し線がチェックを貫かないようにする */
	margin-right: 4px;
	font-size: 12px;
	font-weight: 900;
	color: #1A6B3C;
}

/* 欠品 */
.select_area .fs-c-variationPanelList__panel--outOfStock {
	position: relative;
	background: repeating-linear-gradient(-45deg, #F1F2F3 0 5px, #E6E8EA 5px 10px);
	border: 1px solid #DFE1E3;
	border-style: solid;
	cursor: pointer;
}

/* ⚠ 欠品も選択できる（当社の仕様）。選ぶとカートボタンが「再入荷お知らせ」に切り替わる。
   デザインデータの「クリック無効」は当社仕様と異なるため採用しない（2026-08-27 松木さん） */

/* 欠品を選択中。緑（＝購入できる色）は使わず、欠品バッジと同じグレーで示す */
.select_area .fs-c-variationPanelList__radio:checked + .fs-c-variationPanelList__panel--outOfStock {
	background: repeating-linear-gradient(-45deg, #F1F2F3 0 5px, #E6E8EA 5px 10px);
	border: 2px solid #8A8F94;
}

.select_area .fs-c-variationPanelList__radio:checked + .fs-c-variationPanelList__panel--outOfStock .fs-c-variationPanelList__panel__label {
	color: #6D7276;
	font-weight: 700;
}

.select_area .fs-c-variationPanelList__radio:checked + .fs-c-variationPanelList__panel--outOfStock .fs-c-variationPanelList__panel__label::before {
	color: #6D7276;
}

.select_area .fs-c-variationPanelList__panel--outOfStock .fs-c-variationPanelList__panel__label {
	color: #A6ABAF;
	text-decoration: line-through;
}

/* Futureshopが出す「在庫切れ」テキストは、上の「欠品」バッジと重複するので隠す
   （残す場合はこのブロックを削除する） */
.select_area .fs-c-variationPanelList__panel--outOfStock .fs-c-variationPanelList__panel__stock {
	display: none;
}

/* 「欠品」バッジもHTMLに無いので疑似要素で出す */
.select_area .fs-c-variationPanelList__panel--outOfStock::after {
	content: "欠品";
	position: absolute;
	top: -7px;
	right: -4px;
	padding: 1px 6px;
	border-radius: 9px;
	background: #8A8F94;
	color: #FFFFFF;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.6;
}

/* 商品個別送料パーツ（「送料込」バッジ）。ブロックの余白は上の 1. で付けている */
.productName_Price > .fs-c-productPostage {
	display: flex;
	justify-content: flex-start;
}

/* --- 11. 価格つき選択肢（サイズなど）------------------------------------
   Futureshopは選択肢の中に価格を出す（カラーを選んだあとJSで描画される）。
   ラベルと価格が横1行に並ぶため、3列だと価格が「¥2,99 / 2」と折り返して読めない。
   縦2行に分けて、価格側の折り返しを止める。 */

/* 価格の有無にかかわらず縦積みにする。
   価格が無い選択肢は __price が display:none なので見た目は変わらない */
.select_area .fs-c-variationPanelList__panel {
	flex-direction: column;
}

/* 価格行。ここの nowrap が折り返し対策の本体 */
.select_area .fs-c-variationPanelList__panel__price {
	display: flex;
	justify-content: center;
	width: 100%;
	padding: 0;              /* Futureshopの padding:8px を消す */
}

.select_area .fs-c-productVariationPrice {
	align-items: baseline;
	flex-wrap: nowrap;
	gap: 3px;
	white-space: nowrap;
}

.select_area .fs-c-productVariationPrice__price {
	flex-wrap: nowrap;
	justify-content: center;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	color: #D81F24;
	white-space: nowrap;
}

/* 「(税込)」の丸括弧はFutureshopが疑似要素で付けている */
.select_area .fs-c-productVariationPrice__addon {
	flex-wrap: nowrap;
	font-size: 10px;
	font-weight: 500;
	line-height: 1.3;
	color: #B0787A;
	white-space: nowrap;
}

/* 価格が出ている選択肢だけ、2行ぶんの高さとラベルの大きさにする。
   :has() が効かない古いブラウザでも、上の縦積みと nowrap は効くので折り返しは起きない */
.select_area .fs-c-variationPanelList__panel:has(.fs-c-productVariationPrice) {
	min-height: 62px;
	padding: 8px 6px;
	gap: 2px;
}

.select_area .fs-c-variationPanelList__panel:has(.fs-c-productVariationPrice) .fs-c-variationPanelList__panel__content {
	padding: 0;
}

.select_area .fs-c-variationPanelList__panel:has(.fs-c-productVariationPrice) .fs-c-variationPanelList__panel__label {
	font-size: 13px;
	font-weight: 700;
	color: #17191B;
	white-space: nowrap;
}

/* 価格つき選択肢にはチェックを出さない（デザイン指定。カラー選択のみ ✓ を出す） */
.select_area .fs-c-variationPanelList__radio:checked + .fs-c-variationPanelList__panel:has(.fs-c-productVariationPrice) .fs-c-variationPanelList__panel__label::before {
	content: none;
}

/* ===================================================
   テストレイアウト移行（2026-08）
   対象は #product_details_area_wrap を持つ新レイアウトのみ。
   :has() で絞っているので、旧レイアウトの商品ページには一切効かない。
=================================================== */

/* --- T1. 商品エリアのレイアウトを組み直す --------------------------------
   新レイアウトでは #product_details_area_wrap が
   「商品画像 ／ 商品情報 ／ レビュー」の3つを包んでいる。
   ところが従来の2カラムは親の .fs-l-productLayout 側で組まれているため、
   本来1カラムで下に並ぶはずの要素（関連カテゴリ・商品説明・独自コメント）まで
   2列に振り分けられて回り込んでしまう。
   → 親は縦1列に戻し、2カラムは新ラッパーの中で組み直す。 */

.fs-l-productLayout:has(> #product_details_area_wrap) {
	display: block;
}

/* 旧レイアウト用の width:430px を解除する（全ての子に効いていた） */
.fs-l-productLayout:has(> #product_details_area_wrap) > * {
	width: auto;
}

@media screen and (min-width: 640px) {

	/* 左＝商品画像とレビュー ／ 右＝商品情報（購入エリア）
	   右カラムが縦に長くなったとき、左下にできる空白をレビューが埋める */
	#product_details_area_wrap {
		/* 左カラム（商品画像）の幅。画像の幅もここを見るので、変えるときはここ1箇所 */
		--mk-gallery-width: 460px;

		display: grid;
		grid-template-columns: var(--mk-gallery-width) 1fr;
		/* 1行目は画像の高さちょうど、余りは2行目へ。
		   auto auto にすると、2行ぶんをまたぐ商品情報の余った高さが
		   1行目にも分配され、画像とレビューの間が空いてしまう */
		grid-template-rows: auto 1fr;
		/* 460（画像）＋ 20（間隔）＋ 460（商品情報）＝ 940 */
		column-gap: 20px;
		row-gap: 20px;
		align-items: start;
	}

	#product_details_area_wrap > .fs-c-productCarouselMainImage {
		width: 100%;
	}

	/* ⚠ メイン画像はスライダー（slick）の中にある。
	   slickは初期化時の画像の幅でスライド幅を決めるため、
	   img が 500px 固定（n_index.css の .wrap .main .fs-c-productCarouselMainImage__image>img）だと
	   列を460pxにしてもスライドが500pxのまま残り、左右に20pxずつはみ出す。
	   width:100% は親が「中身に合わせて縮む」箱なので効かない（循環して500pxに戻る）。
	   列幅と同じ実寸を入れるのが確実。 */
	#product_details_area_wrap .fs-c-productCarouselMainImage__image > img {
		width: var(--mk-gallery-width);
		max-width: 100%;
	}

	/* サムネイルは4列。既定は80px固定＋右マージン8pxで、
	   460pxの列に対して右が20px余っていた */
	#product_details_area_wrap .fs-c-productCarouselMainImage__thumbnailList {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 8px;
		overflow-x: visible;
	}

	#product_details_area_wrap .fs-c-productCarouselMainImage__thumbnailList > li {
		width: auto;
		margin: 0;
	}

	#product_details_area_wrap .fs-c-productCarouselMainImage__thumbnailList > li img {
		display: block;
		width: 100%;
		height: auto;
	}

	#product_details_area_wrap > .fs-c-productCarouselMainImage {
		grid-column: 1;
		grid-row: 1;
	}

	#product_details_area_wrap > .productName_Price {
		grid-column: 2;
		grid-row: 1 / span 2;
	}

	#product_details_area_wrap > .fs-c-productReview {
		grid-column: 1;
		grid-row: 2;
	}
}

/* --- T2. 関連カテゴリ（サブグループパンくずリスト）------------------------
   見出し「関連カテゴリ」はHTMLに実体がある（.sub_breadcrumb_ttl01）。
   商品名の行は既存の
   .fs-body-product .fs-c-breadcrumb__list li:last-child { display:none }
   で隠れているので、そのまま使う。 */

.sab_breadcrumb {
	border-top: 1px solid #ECEEF0;
	padding: 18px 26px;
}

.sab_breadcrumb .sub_breadcrumb_ttl01 {
	border-bottom: none;
	padding: 0;
	margin: 0 0 8px;
}

.sab_breadcrumb .sub_breadcrumb_ttl01 p {
	margin: 0;
	padding: 0;
	background: none;
	font-size: 13px;
	font-weight: 900;
	line-height: 1.4;
	color: #6D7276;
}

.sab_breadcrumb .fs-c-breadcrumb {
	display: flex;
	flex-direction: column;
	gap: 5px;
	font-size: 12px;
}

.sab_breadcrumb .fs-c-breadcrumb__list--subgroup {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 0;
	border-bottom: none;
	background: none;
}

.sab_breadcrumb .fs-c-breadcrumb__listItem {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	font-size: 12px;
	line-height: 1.5;
	word-break: normal;
}

/* 区切りの「›」。Futureshopの " > " を差し替える。
   デザイン指定の #C9CED2 は薄くて見えにくかったので、
   1段濃い #8A8F94 にして文字も一回り大きくしている（2026-08-28 松木さん） */
.sab_breadcrumb .fs-c-breadcrumb__listItem + .fs-c-breadcrumb__listItem::before {
	content: "›";
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	color: #8A8F94;
}

.sab_breadcrumb .fs-c-breadcrumb__list a {
	color: #1A6B3C;
	font-size: 12px;
	text-decoration: none;
}

.sab_breadcrumb .fs-c-breadcrumb__list a:hover {
	color: #0F4526;
}

/* 先頭の HOME だけ補助グレー */
.sab_breadcrumb .fs-c-breadcrumb__listItem:first-child a {
	color: #6D7276;
}

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

	/* 左右10pxはカート周り・レビューとそろえるため（デザイン指定は16px） */
	.sab_breadcrumb {
		padding: 14px 10px;
	}

	.sab_breadcrumb .sub_breadcrumb_ttl01 {
		margin: 0 0 7px;
	}

	.sab_breadcrumb .sub_breadcrumb_ttl01 p {
		padding: 0;
		background: none;
		font-size: 12px;
	}

	/* スマホは誤タップを避けるため、リンクの当たり判定を上下に広げる。
	   1本のパンくずが2行に折り返すので、行の切れ目が分かるよう
	   1本ごとに薄い区切り線を引く（折り返し行間より行の区切りを強くする） */
	.sab_breadcrumb .fs-c-breadcrumb {
		gap: 0;
	}

	.sab_breadcrumb .fs-c-breadcrumb__list--subgroup {
		row-gap: 0;
		column-gap: 8px;
		padding: 5px 0;
		margin: 0;
		border-bottom: 1px solid #F1F2F3;
		background: none;
	}

	.sab_breadcrumb .fs-c-breadcrumb__list--subgroup:last-child {
		border-bottom: none;
		padding-bottom: 0;
	}

	.sab_breadcrumb .fs-c-breadcrumb__list--subgroup:nth-child(even) {
		background: none;
	}

	.sab_breadcrumb .fs-c-breadcrumb__listItem {
		gap: 8px;
		margin: 0;
		font-size: 12px;
	}

	.sab_breadcrumb .fs-c-breadcrumb__listItem + .fs-c-breadcrumb__listItem::before {
		font-size: 14px;
	}

	/* 上下2px（7px→2px 2026-08-30 松木さん。行を詰める） */
	.sab_breadcrumb .fs-c-breadcrumb__list a,
	.sab_breadcrumb .fs-c-breadcrumb__list--subgroup a {
		display: inline-block;
		padding: 2px 0;
		color: #1A6B3C;
		font-size: 12px;
		line-height: 1.5;
	}

	.sab_breadcrumb .fs-c-breadcrumb__listItem:first-child a {
		color: #6D7276;
	}
}

/* --- T3. レビュー -------------------------------------------------------
   デザインは「見出し行（レビュー／平均点／件数／すべて見る）＋カード＋レビューを書く」。
   HTMLでは「すべてのレビューを見る」がリストの後ろにあるので、
   .fs-c-productReview をグリッドにして1行目の右へ回す。 */

.fs-c-productReview {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	column-gap: 12px;
	row-gap: 14px;
	margin: 0;
}

.fs-c-productReview > * {
	grid-column: 1 / -1;
	min-width: 0;
}

.fs-c-productReview > .fs-c-productReview__aggregateRating {
	grid-column: 1;
	grid-row: 1;
}

.fs-c-productReview > .fs-c-productReview__allReviews {
	grid-column: 2;
	grid-row: 1;
	justify-self: end;
}

/* 見出し行 */
.fs-c-productReview .fs-c-productReview__aggregateRating {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
	margin: 0;
}

.fs-c-productReview .fs-c-aggregateRating__rating {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	gap: 8px;
	font-size: inherit;
	line-height: 1;
}

/* Futureshopの「この商品の平均評価」を見出し「レビュー」に差し替える */
.fs-c-productReview .fs-c-aggregateRating__rating::before {
	content: "レビュー";
	flex: 0 0 auto;
	font-size: 16px;
	font-weight: 900;
	line-height: 1;
	color: #17191B;
}

/* 見出し行の星（2026-08-30 表示に変更）。星はfs_style.cssがfs-iconフォントで描く */
.fs-c-productReview .fs-c-aggregateRating__rating .fs-c-reviewStars {
	display: flex;
	line-height: 1;
}

.fs-c-productReview .fs-c-aggregateRating__rating .fs-c-reviewStars::before {
	color: #F07800;
	font-size: 15px;
}

.fs-c-productReview .fs-c-rating__value {
	margin: 0;
	font-size: 23px;
	font-weight: 900;
	line-height: 1;
	color: #F07800;
}

/* 「件」はFutureshopが ::after で付けている。前に「／」を足す */
.fs-c-productReview .fs-c-aggregateRating__count {
	flex: 0 0 auto;
	font-size: 12px;
	font-weight: 400;
	line-height: 1;
	color: #8A8F94;
}

.fs-c-productReview .fs-c-aggregateRating__count::before {
	content: "／";
}

/* すべてのレビューを見る */
.fs-c-productReview .fs-c-productReview__allReviews {
	margin: 0;
	padding: 0;
	justify-content: flex-end;
}

.fs-c-productReview .fs-c-button--viewAllReviews {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 13px;
	font-weight: 700;
	color: #1A6B3C;
	text-decoration: none;
}

.fs-c-productReview .fs-c-button--plain.fs-c-button--viewAllReviews::before {
	content: none;
}

.fs-c-productReview .fs-c-button--viewAllReviews::after {
	content: "›";
}

.fs-c-productReview .fs-c-button--viewAllReviews:hover {
	color: #0F4526;
}

/* カード */
.fs-c-productReview .fs-c-reviewList {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0;
	padding: 0;
}

.fs-c-productReview .fs-c-reviewList__item,
.fs-c-productReview .fs-c-reviewList--productDescription .fs-c-reviewList__item {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 14px;
	background: #FAFBFB;
	border: 1px solid #F1F2F3;
	border-radius: 8px;
}

/* カード1行目：投稿者名／属性／日付（右端） */
.fs-c-productReview .fs-c-reviewList__item__info {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0;
}

.fs-c-productReview .fs-c-reviewInfo__reviewer {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 8px;
}

.fs-c-productReview .fs-c-reviewer__name {
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	color: #17191B;
}

.fs-c-productReview .fs-c-reviewer__profile {
	display: flex;
	gap: 4px;
	font-size: 12px;
	line-height: 1.4;
	color: #8A8F94;
}

.fs-c-productReview .fs-c-reviewInfo__date {
	order: 1;   /* 星（.fs-c-reviewRating）がDOM上は日付の後ろにあるため、日付を右端に保つ */
	margin: 0 0 0 auto;
	font-size: 12px;
	line-height: 1.4;
	color: #A6ABAF;
}

.fs-c-productReview .fs-c-reviewInfo__date > dt {
	display: none;
}

.fs-c-productReview .fs-c-reviewInfo__date > dd {
	margin: 0;
}

/* カード内の星（2026-08-30 表示に変更） */
.fs-c-productReview .fs-c-reviewRating {
	display: flex;
	align-items: center;
	margin: 0;
	line-height: 1;
}

.fs-c-productReview .fs-c-reviewRating .fs-c-reviewStars::before {
	color: #F07800;
	font-size: 13px;
}

/* 本文 */
.fs-c-productReview .fs-c-reviewBody {
	margin: 0;
	padding: 0;
	border: none;
	font-size: 13px;
	line-height: 1.85;
	color: #3D4246;
}

/* レビューを書く（画像ボタン） */
.fs-c-productReview .fs-c-productReview__addReview {
	margin: 0;
	padding: 0;
	justify-content: center;
}

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

	/* カート周りと左右の位置をそろえる（サイトのSPは左右10px空ける） */
	.fs-c-productReview {
		margin: 0 10px;
		row-gap: 12px;
	}

	/* 星が入ると375px幅では1行に収まらず「11件」とリンクが重なるため、
	   SPは「すべてのレビューを見る」を2段目（右寄せ）に落とす（2026-08-30） */
	.fs-c-productReview > .fs-c-productReview__aggregateRating {
		grid-column: 1 / -1;
	}

	.fs-c-productReview > .fs-c-productReview__allReviews {
		grid-column: 1 / -1;
		grid-row: 2;
	}

	.fs-c-productReview .fs-c-aggregateRating__rating .fs-c-reviewStars::before {
		font-size: 13px;
	}

	.fs-c-productReview .fs-c-aggregateRating__rating::before {
		font-size: 15px;
	}

	.fs-c-productReview .fs-c-rating__value {
		font-size: 20px;
	}

	.fs-c-productReview .fs-c-aggregateRating__count {
		font-size: 11px;
	}

	.fs-c-productReview .fs-c-button--viewAllReviews {
		padding: 6px 0;
		font-size: 12px;
	}

	.fs-c-productReview .fs-c-reviewList {
		gap: 12px;
	}

	.fs-c-productReview .fs-c-reviewList__item,
	.fs-c-productReview .fs-c-reviewList--productDescription .fs-c-reviewList__item {
		padding: 12px;
	}

	.fs-c-productReview .fs-c-reviewer__name {
		font-size: 12px;
	}

	.fs-c-productReview .fs-c-reviewer__profile,
	.fs-c-productReview .fs-c-reviewInfo__date {
		font-size: 11px;
	}

	.fs-c-productReview .fs-c-reviewBody {
		font-size: 12px;
		line-height: 1.9;
	}
}

/* --- T4. 下部コンテンツのタブ切り替え ------------------------------------
   タブバーと切り替えJSは「配送・送料」パーツ（.attention と同じパーツ）に同梱。
   パネルは 商品仕様（商品説明・大）／独自コメント9／.attention の3つで、
   JSが .mk-tab-panel を付けて hidden で切り替える。JSが動かなければ全文表示のまま。 */

.mk-tabbar {
	display: flex;
	margin-top: 20px;
	background: #FAFBFB;
	border-bottom: 1px solid #DCDFE2;
}

.mk-tab {
	flex: 1;
	padding: 15px 8px;
	border: none;
	border-bottom: 3px solid transparent;
	background: transparent;
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	text-align: center;
	color: #6D7276;
	cursor: pointer;
}

.mk-tab--on {
	color: #1A6B3C;
	background: #FFFFFF;
	border-bottom-color: #1A6B3C;
}

/* パネル。min-height はタブ切替時のガタつき防止 */
.mk-tab-panel {
	padding: 24px 26px;
	min-height: 340px;
}

/* .original_com_area などに display 指定が足されても hidden が勝つように */
.mk-tab-panel[hidden] {
	display: none !important;
}

/* 商品仕様（｜商品名｜のdl）を枠付きの表組みに再スタイル（参考デザイン 2026-08-28）。
   ソースはTシステムから他モールにも出力されるため触らず、CSSだけで寄せる。
   table版（T5）と同じ見た目にすること */
.mk-tab-panel .itemdes_base {
	font-size: 13px;
}

.mk-tab-panel .itemdes_base dl {
	display: grid;
	grid-template-columns: 160px 1fr;
	gap: 0;
	margin: 0;
	padding: 0;
	border: 1px solid #DCDFE2;
	border-top: none;
	border-bottom-color: #ECEEF0;
}

.mk-tab-panel .itemdes_base dl:first-of-type {
	border-top: 1px solid #DCDFE2;
	border-radius: 10px 10px 0 0;
	overflow: hidden;
}

.mk-tab-panel .itemdes_base dl:last-of-type {
	border-bottom-color: #DCDFE2;
	border-radius: 0 0 10px 10px;
	overflow: hidden;
}

/* ラベル列。行の高さいっぱいに地色を敷き、文字は上下中央 */
.mk-tab-panel .itemdes_base dl dt {
	display: flex;
	align-items: center;
	padding: 14px 16px;
	background: #FAFBFB;
	border: none;
	border-right: 1px solid #ECEEF0;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.6;
	color: #3D4246;
}

.mk-tab-panel .itemdes_base dl dd {
	align-self: center;
	margin: 0;
	padding: 14px 16px;
	border: none;
	font-size: 13px;
	line-height: 1.8;
	color: #17191B;
}

/* 配送・送料（.attention）の本文 */
.mk-tab-panel.attention p {
	margin: 0 0 12px;
	font-size: 13px;
	line-height: 1.9;
	color: #3D4246;
}

.mk-tab-panel.attention p:last-child {
	margin-bottom: 0;
}

.mk-tab-panel.attention a {
	font-weight: 700;
	color: #1A6B3C;
	text-decoration: none;
}

.mk-tab-panel.attention a:hover {
	color: #0F4526;
}

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

	.mk-tab {
		padding: 13px 4px;
		font-size: 12px;
	}

	/* 4タブ以上（独自コメント9に複数ブロックがある商品＝実質空調服）は
	   1行に詰めず 2×2 のグリッドにする（2026-08-28 松木さん決定・案B） */
	.mk-tabbar--many {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.mk-tabbar--many .mk-tab {
		padding: 12px 4px;
		font-size: 12px;
		border-bottom: 1px solid #DCDFE2;
	}

	.mk-tabbar--many .mk-tab--on {
		padding-bottom: 10px;
		border-bottom: 3px solid #1A6B3C;
	}

	.mk-tab-panel {
		padding: 18px 16px;
		min-height: 0;
	}

	/* SPは枠・地色・縦線を外し、区切り線だけのシンプル型にする
	   （枠付きはpaddingがかさんで縦に伸びるため。2026-08-28 松木さん） */
	.mk-tab-panel .itemdes_base dl {
		grid-template-columns: 90px 1fr;
		gap: 12px;
		border: none;
		border-bottom: 1px solid #F1F2F3;
	}

	.mk-tab-panel .itemdes_base dl:first-of-type {
		border-top: none;
		border-radius: 0;
	}

	.mk-tab-panel .itemdes_base dl:last-of-type {
		border-bottom: 1px solid #F1F2F3;
		border-radius: 0;
	}

	.mk-tab-panel .itemdes_base dl dt {
		align-items: flex-start;
		padding: 10px 0;
		background: none;
		border-right: none;
		font-size: 12px;
		color: #6D7276;
	}

	.mk-tab-panel .itemdes_base dl dd {
		align-self: start;
		padding: 10px 0;
		font-size: 12px;
	}

	.mk-tab-panel.attention p {
		font-size: 12px;
		line-height: 1.85;
	}
}

/* --- T5. 商品仕様の table 版（dlとの両対応）------------------------------
   Tシステムの書き出しを Futureshop 専用に dl → table へ移行する予定。
   移行が済むまで dl と table が商品ごとに混在するため、両方を同じ見た目にする。
   出力契約は 05_deploy/プログラマー向け_商品仕様table出力仕様.html を参照。
   ※タブが動かない環境でも崩れないよう .mk-tab-panel には依存させない */

.fs-p-productDescription--full .itemdes_spec {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	font-size: 13px;
}

.fs-p-productDescription--full .itemdes_spec th,
.fs-p-productDescription--full .itemdes_spec td {
	padding: 14px 16px;
	border: none;
	border-bottom: 1px solid #ECEEF0;
	text-align: left;
	vertical-align: middle;
}

/* 外枠は左右の辺をセルが受け持つ */
.fs-p-productDescription--full .itemdes_spec th {
	width: 160px;
	background: #FAFBFB;
	border-left: 1px solid #DCDFE2;
	border-right: 1px solid #ECEEF0;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.6;
	color: #3D4246;
}

.fs-p-productDescription--full .itemdes_spec td {
	border-right: 1px solid #DCDFE2;
	font-size: 13px;
	line-height: 1.8;
	color: #17191B;
}

.fs-p-productDescription--full .itemdes_spec tr:first-child th,
.fs-p-productDescription--full .itemdes_spec tr:first-child td {
	border-top: 1px solid #DCDFE2;
}

.fs-p-productDescription--full .itemdes_spec tr:last-child th,
.fs-p-productDescription--full .itemdes_spec tr:last-child td {
	border-bottom: 1px solid #DCDFE2;
}

/* 角丸 */
.fs-p-productDescription--full .itemdes_spec tr:first-child th {
	border-top-left-radius: 10px;
}

.fs-p-productDescription--full .itemdes_spec tr:first-child td {
	border-top-right-radius: 10px;
}

.fs-p-productDescription--full .itemdes_spec tr:last-child th {
	border-bottom-left-radius: 10px;
}

.fs-p-productDescription--full .itemdes_spec tr:last-child td {
	border-bottom-right-radius: 10px;
}

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

	/* SPは枠・地色・縦線を外し、区切り線だけのシンプル型（dl版と同じ見た目） */
	.fs-p-productDescription--full .itemdes_spec th,
	.fs-p-productDescription--full .itemdes_spec td {
		padding: 10px 0;
		border: none;
		border-bottom: 1px solid #F1F2F3;
		vertical-align: top;
		font-size: 12px;
	}

	.fs-p-productDescription--full .itemdes_spec th {
		width: 102px;   /* ラベル90 ＋ 列間12（padding-right） */
		padding-right: 12px;
		background: none;
		color: #6D7276;
	}

	.fs-p-productDescription--full .itemdes_spec tr:first-child th,
	.fs-p-productDescription--full .itemdes_spec tr:first-child td {
		border-top: none;
		border-radius: 0;
	}

	.fs-p-productDescription--full .itemdes_spec tr:last-child th,
	.fs-p-productDescription--full .itemdes_spec tr:last-child td {
		border-bottom: 1px solid #F1F2F3;
		border-radius: 0;
	}
}

/* --- T6. 同一シリーズ・別シーズン対応シリーズ（独自コメント12・13）--------
   マークアップは .relationarea > .relationttl + ul.relation（見出し文言は商品により可変）。
   縦バー見出し＋角丸サムネイルの6列グリッド（SP3列）に再スタイル。
   .relation系は旧レイアウトの商品ページでも使われているため、
   新レイアウト（#product_details_area_wrap を持つページ）に限定する */

/* ⚠ 独自コメントが未入力でもラッパー <div class="original_com_area_12/13"> 自体は
   出力される（Futureshop仕様・2026-08-29 w-153-0193で確認）。
   余白と区切り線はラッパーではなく内側の実コンテンツ .relationarea に当て、
   空のページでは何も表示させない */
/* 区切り線は付けない。左カラムが長いページでは2カラム枠の直後に来る線が
   「レビューを書く」に張り付くため削除（2026-08-30 松木さん）。区切りは上余白で取る */
.fs-l-productLayout:has(> #product_details_area_wrap) .original_com_area_12 .relationarea,
.fs-l-productLayout:has(> #product_details_area_wrap) .original_com_area_13 .relationarea {
	padding: 24px 26px 20px;
}

.fs-l-productLayout:has(> #product_details_area_wrap) .relationttl {
	position: relative;
	margin: 0 0 12px;
	padding: 0 0 0 14px;
	font-size: 16px;
	font-weight: 900;
	line-height: 1.4;
	color: #17191B;
}

/* 既存のひし形マーカーを縦バーに置き換える */
.fs-l-productLayout:has(> #product_details_area_wrap) .relationttl::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 4px;
	height: 18px;
	border: none;
	border-radius: 2px;
	background: #1A6B3C;
	transform: translateY(-50%);
}

.fs-l-productLayout:has(> #product_details_area_wrap) .relation {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.fs-l-productLayout:has(> #product_details_area_wrap) .relation li {
	width: auto;
	margin: 0;
	min-width: 0;
}

.fs-l-productLayout:has(> #product_details_area_wrap) .relation li a {
	display: flex;
	flex-direction: column;
	gap: 6px;
	text-decoration: none;
}

.fs-l-productLayout:has(> #product_details_area_wrap) .relation li img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	margin: 0;
	border: 1px solid #E3E5E7;
	border-radius: 6px;
	transition: border-color .15s ease;
}

.fs-l-productLayout:has(> #product_details_area_wrap) .relation li a:hover img {
	border-color: #9AA0A5;
}

.fs-l-productLayout:has(> #product_details_area_wrap) .relation li p {
	font-size: 11px;
	line-height: 1.5;
	letter-spacing: 0;
	text-align: left;
	color: #3D4246;
}

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

	.fs-l-productLayout:has(> #product_details_area_wrap) .original_com_area_12 .relationarea,
	.fs-l-productLayout:has(> #product_details_area_wrap) .original_com_area_13 .relationarea {
		padding: 20px 10px 16px;
	}

	.fs-l-productLayout:has(> #product_details_area_wrap) .relationttl {
		font-size: 15px;
	}

	.fs-l-productLayout:has(> #product_details_area_wrap) .relationttl::before {
		height: 16px;
	}

	/* スマホは横スクロール（2026-08-28 松木さん決定）。
	   商品数が多いと3列グリッドでは縦に伸びるため、高さ一定のカルーセルにする。
	   2商品＋3商品目の半分が見える幅にして、スクロールできることを認知させる */
	.fs-l-productLayout:has(> #product_details_area_wrap) .relation {
		display: flex;
		flex-wrap: nowrap;
		gap: 9px;
		overflow-x: auto;
		padding-bottom: 6px;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x proximity;
	}

	/* (100% − gap2つ) ÷ 2.5 ＝ 2商品＋半分 */
	.fs-l-productLayout:has(> #product_details_area_wrap) .relation li {
		flex: 0 0 calc((100% - 18px) / 2.5);
		scroll-snap-align: start;
	}

	.fs-l-productLayout:has(> #product_details_area_wrap) .relation li p {
		font-size: 10px;
	}
}

/* --- T7. セット商品（独自コメント07）------------------------------------
   マークアップは .set_items > .set_ttl + ul.set_list > li > a(img+p)。
   カード型（デザイン確定 11a）。価格 .set_price はプログラマーの改修後に
   出力される要素で、無くても成立する（p:last-child が下余白を持つ）。
   .set_items は旧レイアウトでも使われるため新レイアウトに限定する */

/* ⚠ 余白と区切り線はラッパー（.original_com_area_07）ではなく .set_items に当てる。
   独自コメント未入力でもラッパー自体は出力されるため（12/13と同じ対処） */
.fs-l-productLayout:has(> #product_details_area_wrap) .set_items {
	margin: 0;
	padding: 24px 26px 20px;
	background: none;   /* 区切り線なし（12/13と同じ理由・2026-08-30） */
}

/* 見出し。中央寄せ＋左右の飾り線をやめ、他セクションと同じ縦バーに */
.fs-l-productLayout:has(> #product_details_area_wrap) .set_items p.set_ttl {
	position: relative;
	display: block;
	width: auto;
	margin: 0 0 14px;
	padding: 0 0 0 14px;
	background: none;   /* 旧CSSのSP用グレー帯（#eaeaea）を打ち消す */
	font-size: 16px;
	font-weight: 900;
	line-height: 1.4;
	text-align: left;
	color: #17191B;
}

.fs-l-productLayout:has(> #product_details_area_wrap) .set_items p.set_ttl::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 4px;
	height: 18px;
	border: none;
	border-radius: 2px;
	background: #1A6B3C;
	transform: translateY(-50%);
}

.fs-l-productLayout:has(> #product_details_area_wrap) .set_items p.set_ttl::after {
	content: none;
}

/* 商品は基本2つ・最大3つ。2つでも3カラムのまま（伸びすぎ防止・デザイン指定） */
.fs-l-productLayout:has(> #product_details_area_wrap) .set_items ul.set_list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.fs-l-productLayout:has(> #product_details_area_wrap) .set_items ul.set_list li {
	width: auto;
	margin: 0;
	min-width: 0;
}

/* カードの下地は薄いグレー。画像部分は img 自身の白背景（余白ごと塗る）で
   白のまま残るので、商品名〜価格のエリアだけが薄い背景になる（2026-08-28 松木さん） */
/* ⚠ flexにしない。WebKit（iPhoneのChrome/Safari）はflexアイテムの<img>に
   aspect-ratioが絡むと幅100%に伸びず、PCのChrome(Blink)と表示が変わる（2026-08-30実測） */
.fs-l-productLayout:has(> #product_details_area_wrap) .set_items ul.set_list li a {
	display: block;
	height: 100%;
	background: #FAFBFB;
	border: 1px solid #E3E5E7;
	border-radius: 8px;
	overflow: hidden;
	text-decoration: none;
	transition: border-color .15s ease;
}

.fs-l-productLayout:has(> #product_details_area_wrap) .set_items ul.set_list li a:hover {
	border-color: #1A6B3C;
}

/* 画像は上下を基準に全体を収める（cover だと正方形画像の上下が切れる）。
   左右にできる余白は許容（2026-08-28 松木さん）。
   上下10pxの余白は「角丸に画像の角が食い込んで欠けて見える」
   「画像の濃い色が枠に密着して枠が太く見える」の対策を兼ねる
   （5px→10px 2026-08-28 松木さん） */
/* ⚠ aspect-ratio を使わない。WebKit（iPhoneのChrome/Safari）は置換要素の
   aspect-ratio の解釈がBlinkと食い違い、実機とPCで画像の形が変わる（2026-08-30実測）。
   高さを明示して全エンジンで同一にする（「画像は上下基準で収める」の意図とも一致） */
.fs-l-productLayout:has(> #product_details_area_wrap) .set_items ul.set_list li img {
	display: block;
	box-sizing: content-box;
	width: 100%;
	max-width: 100%;   /* 旧CSSの .wrap .main img { max-width: max-content } を打ち消す。
	                      WebKitは高さ指定があると max-content＝高さ×原比率 になり幅が潰れる */
	height: 215px;
	object-fit: contain;
	margin: 0;
	padding: 10px 0;
	background: #FFFFFF;
}

.fs-l-productLayout:has(> #product_details_area_wrap) .set_items ul.set_list li p {
	margin: 0;
	padding: 12px 12px 0;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0;
	text-align: left;
	color: #3D4246;
}

/* 価格が無い（改修前の）商品では商品名が最後の要素になるので、下余白をここで持つ */
.fs-l-productLayout:has(> #product_details_area_wrap) .set_items ul.set_list li p:last-child {
	padding-bottom: 12px;
}

/* 価格。「(税込)」はCSSで付けるので、ソースは金額だけでよい */
.fs-l-productLayout:has(> #product_details_area_wrap) .set_items ul.set_list li .set_price {
	display: block;
	margin: 6px 12px 12px;
	font-size: 17px;
	font-weight: 900;
	line-height: 1.2;
	color: #D81F24;
}

.fs-l-productLayout:has(> #product_details_area_wrap) .set_items ul.set_list li .set_price::after {
	content: "(税込)";
	margin-left: 4px;
	font-size: 10px;
	font-weight: 400;
	color: #B0787A;
}

/* 金額は <span class="price" data-id="…"> に /json/price.json から流し込まれる。
   他文脈の .price 指定が漏れないよう親から継承させる */
.fs-l-productLayout:has(> #product_details_area_wrap) .set_items ul.set_list li .set_price .price {
	margin: 0;
	padding: 0;
	font: inherit;
	letter-spacing: inherit;
	color: inherit;
}

/* JSONに価格が無い・読み込み前は中身が空＝「¥(税込)」だけ残るので、行ごと隠す */
.fs-l-productLayout:has(> #product_details_area_wrap) .set_items ul.set_list li .set_price:has(> .price:empty) {
	display: none;
}

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

	.fs-l-productLayout:has(> #product_details_area_wrap) .set_items {
		padding: 20px 10px 16px;
	}

	.fs-l-productLayout:has(> #product_details_area_wrap) .set_items p.set_ttl {
		font-size: 15px;
	}

	.fs-l-productLayout:has(> #product_details_area_wrap) .set_items p.set_ttl::before {
		height: 16px;
	}

	.fs-l-productLayout:has(> #product_details_area_wrap) .set_items ul.set_list {
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}

	.fs-l-productLayout:has(> #product_details_area_wrap) .set_items ul.set_list li img {
		height: 130px;
	}
}

/* ===================================================
   商品情報アイコンチップ＋説明ポップアップ（2026-08）
   商品詳細ページ・商品名直下のチップ行。デザイン確定 12a。
   チップ本体はマスタ管理のHTML（mk-chip）、整列と説明ボタンは
   フリーパーツのJS（Futureshopパーツ_アイコン説明ポップアップ.html）が行う。
   =================================================== */

/* --- チップ共通 ------------------------------------------------ */

.mk-chip {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	height: 34px;
	padding: 0 12px 0 8px;
	border-radius: 5px;
	border: 1px solid #DCDFE2;
	background: #F7F8F9;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	color: #3D4246;
	text-decoration: none;
	white-space: nowrap;
}

.mk-chip__icon {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 10px;
	background: #3D4246;
	color: #FFFFFF;
	font-size: 11px;
	font-weight: 700;
}

/* 「押せる」ことの視認性を優先して大きめに（2026-08-29 松木さん） */
.mk-chip__arrow {
	font-size: 15px;
	font-weight: 900;
	opacity: .75;
}

/* リンクチップは「押せる・続きがある」ことをホバーでも示す */
a.mk-chip {
	transition: border-color .15s ease, box-shadow .15s ease;
}

a.mk-chip:hover {
	border-color: currentColor;
	box-shadow: 0 1px 4px rgba(23, 25, 27, .12);
	text-decoration: underline;
	text-underline-offset: 3px;
}

a.mk-chip:hover .mk-chip__arrow {
	opacity: 1;
}

/* --- チップ別カラー（デザイン確定 12a。tone / bg / bd） -------- */

.mk-chip--sameday { color: #B05A00; background: #FDF3E7; border-color: #ECD7B8; }
.mk-chip--sameday .mk-chip__icon { background: #B05A00; }

.mk-chip--yupacket { color: #1A6B3C; background: #F7F9F8; border-color: #CFE0D5; }
.mk-chip--yupacket .mk-chip__icon { background: #1A6B3C; }

.mk-chip--backorder { color: #8A6A10; background: #FDFAF1; border-color: #E8DCB8; }
.mk-chip--backorder .mk-chip__icon { background: #8A6A10; }

.mk-chip--noexchange { color: #B8161C; background: #FDF6F6; border-color: #F0CDCF; }
.mk-chip--noexchange .mk-chip__icon { background: #B8161C; }

/* 交換可能・返品不可＝交換ガイドへ誘導する重要リンク。唯一の青系（色変更しない） */
.mk-chip--exchangeok { color: #1C5F9E; background: #F2F7FC; border-color: #C9DCED; }
.mk-chip--exchangeok .mk-chip__icon { background: #1C5F9E; }

.mk-chip--embroidery { color: #1A6B3C; background: #F7F9F8; border-color: #CFE0D5; }
.mk-chip--embroidery .mk-chip__icon { background: #1A6B3C; }

/* --- 送料込（商品個別送料パーツ）。HTML修正不可のためCSSのみで
       チップと同じ見た目に。丸アイコン「送」は疑似要素 ------------- */

.fs-l-productLayout:has(> #product_details_area_wrap) .fs-c-productPostage {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	height: 34px;
	padding: 0 12px 0 8px;
	border: 1px solid #CFE0D5;
	border-radius: 5px;
	background: #EAF4EE;
	color: #1A6B3C;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
}

.fs-l-productLayout:has(> #product_details_area_wrap) .fs-c-productPostage::before {
	content: "送";
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 10px;
	background: #1A6B3C;
	color: #FFFFFF;
	font-size: 11px;
	font-weight: 700;
}

/* 旧CSSの赤地バッジ（#e2403b・白文字・padding 7px）を打ち消してチップの文字に */
.fs-l-productLayout:has(> #product_details_area_wrap) .fs-c-productPostage__label {
	background: none;
	padding: 0;
	letter-spacing: 0;
	font-size: 12px;
	font-weight: 700;
	color: inherit;
}

/* --- チップ行（フリーパーツのJSが商品名直下に生成） ------------ */

.mk-chips {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 10px 0 2px;
}

/* 行末の「? アイコンの説明」 */
.mk-chips__help {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	height: 30px;
	padding: 0 10px;
	border: none;
	border-radius: 15px;
	background: transparent;
	font-family: inherit;
	font-size: 11px;
	font-weight: 700;
	color: #6D7276;
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 3px;
	text-align: center;
}

.mk-chips__help-q {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 15px;
	height: 15px;
	border-radius: 8px;
	border: 1.5px solid #8A8F94;
	font-size: 10px;
	font-weight: 900;
	text-decoration: none;
}

.mk-chips__help:hover {
	color: #3D4246;
}

/* --- 「アイコンの説明」ポップアップ ---------------------------- */

.mk-iconhelp {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

.mk-iconhelp[hidden] {
	display: none;
}

.mk-iconhelp__overlay {
	position: absolute;
	inset: 0;
	background: rgba(23, 25, 27, .45);
}

.mk-iconhelp__dialog {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 560px;
	max-width: 100%;
	max-height: 80vh;
	overflow-y: auto;
	background: #FFFFFF;
	border-radius: 12px;
	box-shadow: 0 18px 50px rgba(0, 0, 0, .25);
}

.mk-iconhelp__head {
	flex-shrink: 0;   /* WebKitは80vhに収めようと子を圧縮し、説明文が数pxに潰れる */
	position: sticky;
	top: 0;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 18px 22px;
	background: #FFFFFF;
	border-bottom: 1px solid #ECEEF0;
}

.mk-iconhelp__ttl {
	font-size: 16px;
	font-weight: 900;
	color: #17191B;
}

.mk-iconhelp__close {
	margin-left: auto;
	width: 32px;
	height: 32px;
	border: none;
	border-radius: 16px;
	background: #F1F2F3;
	color: #3D4246;
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	text-align: center;
	padding: 0;
}

.mk-iconhelp__close:hover {
	background: #E3E5E7;
}

.mk-iconhelp__body {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 18px 22px 22px;
}

.mk-iconhelp__row {
	flex-shrink: 0;
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin: 0;
}

.mk-iconhelp__row .mk-chip {
	flex: none;
}

/* ポップアップ内のチップ見本は押させない（説明のための実物表示） */
.mk-iconhelp__row a.mk-chip {
	pointer-events: none;
}

.mk-iconhelp__desc {
	font-size: 12px;
	line-height: 1.85;
	color: #3D4246;
	padding-top: 4px;
}

.mk-iconhelp__note {
	margin: 0;
	padding: 12px 14px;
	border-radius: 6px;
	background: #F7F8F9;
	font-size: 11px;
	line-height: 1.8;
	color: #6D7276;
}

/* ポップアップ表示中は背面のスクロールを止める */
html.mk-iconhelp-open,
html.mk-iconhelp-open body {
	overflow: hidden;
}

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

	/* カート周りと左右の位置をそろえる（サイトのSPは左右10px空ける） */
	.mk-chips {
		margin: 10px 10px 2px;
	}

	/* 送料込（システムパーツ）も同じ高さ・文字サイズに揃える */
	.mk-chip,
	.fs-l-productLayout:has(> #product_details_area_wrap) .fs-c-productPostage {
		height: 32px;
		font-size: 11px;
	}

	.fs-l-productLayout:has(> #product_details_area_wrap) .fs-c-productPostage__label {
		font-size: 11px;
	}

	.mk-iconhelp {
		padding: 16px 10px;
	}

	.mk-iconhelp__dialog {
		max-height: 84vh;
	}

	.mk-iconhelp__row {
		flex-direction: column;
		gap: 6px;
	}

	.mk-iconhelp__desc {
		padding-top: 0;
	}
}

/* ===================================================
   カートイン後のフィードバック一式（2026-08）
   デザイン確定: design_handoff_cart_feedback（追従カートは2b緑を採用）。
   ①カート数バッジ3箇所 ②追従カートの再デザイン＋カートイン直後の強制表示
   ③トースト再デザイン ④カートインボタンの完了表示。
   JSと追従カート/トーストのHTMLはフリーパーツ
   「Futureshopパーツ_追従カートボタン_v2.html」が持つ。
   =================================================== */

/* --- 1. カート数バッジ（3箇所共通仕様） ---------------------------------
   #E25B33・白フチ1.5px・白11px/700。1桁=直径18pxの正円、2桁=ピル型。
   数字はFutureshop公式機能（fs-client-cart-count）が流し込む。 */

.mk-cart-badge,
.fs-body-product .fs-p-scrollingCartButton .fs-p-cartItemNumber {
	position: absolute;
	top: -7px;
	right: -7px;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 9px;
	background: #E25B33;
	border: 1.5px solid #FFFFFF;
	color: #FFFFFF;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
}

/* 0個・未置換（フリーページ等では置換が走らない）のときはバッジごと非表示 */
.mk-cart-badge:empty,
.mk-cart-badge.fs-client-cart-count--0,
.fs-body-product .fs-p-scrollingCartButton .fs-p-cartItemNumber:empty,
.fs-body-product .fs-p-scrollingCartButton .fs-p-cartItemNumber.fs-client-cart-count--0 {
	display: none;
}

/* 置き場所ごとの位置調整 */
.mk-headcart {
	position: relative;
	display: inline-block;
}

.mk-headcart .mk-cart-badge {
	top: -8px;
	right: -10px;
}

/* 旧CSSはアイコン(i)自身が全幅ブロック＋text-align:centerで中央化していた。
   バッジ用ラッパー（inline-flex＝縮む）で包んだぶん、セル側で中央寄せする */
.mk-spnav-cart {
	text-align: center;
}

.mk-spnav-cart__icon {
	position: relative;
	display: inline-flex;
}

.mk-spnav-cart .mk-cart-badge {
	top: -9px;
	right: -11px;
}

/* --- 2. 追従カートボタン（案2b キーカラー緑・PC64px/SP56px） ------------
   テーマ既定（灰色・right:0）と旧CSS（SPはdisplay:none）を上書きする。
   表示/非表示はパーツ内JS（ヘッダーが見えている間は非表示＋カートイン強制表示） */

.fs-body-product .fs-p-scrollingCartButton {
	display: none;   /* 初期状態。JSが制御する */
	position: fixed;
	right: 16px;
	bottom: 24px;
	z-index: 100;
}

.fs-body-product .fs-p-scrollingCartButton__button {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	width: 64px;
	height: 64px;
	padding: 0;
	background: #1A6B3C;
	border-radius: 6px;
	box-shadow: 0 4px 12px rgba(26, 107, 60, .28);
	color: #FFFFFF;
	opacity: 1;
	text-align: center;
	text-decoration: none !important;
	transition: background .15s ease;
}

.fs-body-product .fs-p-scrollingCartButton__button:hover {
	background: #0F4526;
	color: #FFFFFF;
}

.fs-body-product .fs-p-scrollingCartButton__svg {
	display: block;
}

.fs-body-product .fs-p-scrollingCartButton__label {
	display: block;
	font-size: 10px;
	font-weight: 400;
	line-height: 1;
}

/* ページ上部へ（.to_top）は追従カートの真上へ退避（商品ページのみ。
   PC:カート右16px+64px幅 / SP:右10px+56px幅 に中心をそろえる） */
.fs-body-product .to_top {
	bottom: 98px;
	right: 28px;
}

/* --- 3. カートイン直後の強制表示（パターンA） --------------------------- */

@keyframes mkSlideInUp {
	from { transform: translateY(18px); opacity: 0; }
	to { transform: translateY(0); opacity: 1; }
}

@keyframes mkFadeOut {
	to { opacity: 0; }
}

@keyframes mkBadgePop {
	0% { transform: scale(.4); }
	55% { transform: scale(1.35); }
	100% { transform: scale(1); }
}

@keyframes mkCheckPop {
	0% { transform: scale(0); }
	60% { transform: scale(1.3); }
	100% { transform: scale(1); }
}

@keyframes mkToastShrink {
	from { width: 100%; }
	to { width: 0; }
}

.fs-body-product .fs-p-scrollingCartButton.mk-fab-in {
	animation: mkSlideInUp .24s ease-out both;
}

.fs-body-product .fs-p-scrollingCartButton.mk-fab-in .fs-p-scrollingCartButton__button {
	box-shadow: 0 6px 16px rgba(26, 107, 60, .3);
}

.fs-body-product .fs-p-scrollingCartButton.mk-fab-out {
	animation: mkFadeOut .4s ease both;
}

.fs-body-product .fs-p-scrollingCartButton .fs-p-cartItemNumber.mk-badge-pop {
	animation: mkBadgePop .3s ease-out .24s both;
}

/* --- 4. トースト（パターンB。標準トーストの代替） ------------------------
   PC: 画面下中央・幅460px ／ SP: フッターナビ直上・全幅 */

.mk-carttoast {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 24px;
	z-index: 10001;
	display: flex;
	justify-content: center;
	pointer-events: none;
}

.mk-carttoast[hidden] {
	display: none;
}

.mk-carttoast__card {
	pointer-events: auto;
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	gap: 14px;
	width: 460px;
	max-width: calc(100% - 20px);
	box-sizing: border-box;
	padding: 14px 16px;
	background: #FFFFFF;
	border: 1px solid #E3E5E7;
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(23, 25, 27, .16);
}

.mk-carttoast__card.mk-in {
	animation: mkSlideInUp .28s ease-out both;
}

.mk-carttoast__card.mk-out {
	animation: mkFadeOut .3s ease both;
}

.mk-carttoast__check {
	flex: none;
	width: 36px;
	height: 36px;
	border-radius: 18px;
	background: #1A6B3C;
	display: flex;
	align-items: center;
	justify-content: center;
}

.mk-carttoast__text {
	flex: 1;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
	color: #17191B;
}

.mk-carttoast__go {
	flex: none;
	padding: 10px 16px;
	border-radius: 6px;
	background: #F07800;
	color: #FFFFFF !important;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	text-decoration: none !important;
	transition: background .15s ease;
}

.mk-carttoast__go:hover {
	background: #FF8C14;
}

.mk-carttoast__close {
	flex: none;
	border: none;
	background: none;
	padding: 2px;
	color: #8A8F94;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	font-family: inherit;
}

.mk-carttoast__bar {
	position: absolute;
	left: 0;
	bottom: 0;
	height: 3px;
	background: #1A6B3C;
	width: 100%;
}

/* ホバー中は残り時間バーを止める（タイマー本体はJSが止める） */
.mk-carttoast__card:hover .mk-carttoast__bar {
	animation-play-state: paused;
}

/* --- 5. カートインボタンの完了表示 ---------------------------------------
   ボタンは画像登録のシステムパーツのためHTMLは触らず、
   JSが .mk-added を付け、パーツJSが差し込む .mk-added-layer を重ねて表示する */

.fs-body-product .fs-c-button--addToCart--detail {
	position: relative;
	border-radius: 6px;
	transition: background .3s linear;
}

.fs-body-product .fs-c-button--addToCart--detail img {
	transition: opacity .3s linear;
}

.fs-body-product .fs-c-button--addToCart--detail .mk-added-layer {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: none;
	align-items: center;
	justify-content: center;
	gap: 8px;
	color: #FFFFFF;
	font-size: 17px;
	font-weight: 700;
	pointer-events: none;
}

.fs-body-product .fs-c-button--addToCart--detail.mk-added {
	background: #1A6B3C;
}

.fs-body-product .fs-c-button--addToCart--detail.mk-added img {
	opacity: 0;
}

.fs-body-product .fs-c-button--addToCart--detail.mk-added .mk-added-layer {
	display: flex;
}

.fs-body-product .fs-c-button--addToCart--detail .mk-added-layer svg.mk-check-pop {
	animation: mkCheckPop .25s ease-out both;
}

/* 完了表示中はホバーの明色オーバーレイ（mix-blend）を無効に */
.fs-body-product .fs-c-button--addToCart--detail.mk-added::before,
.fs-body-product .fs-c-button--addToCart--detail.mk-added::after {
	content: none;
}

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

	.fs-body-product .fs-p-scrollingCartButton {
		right: 10px;
		bottom: 76px;   /* フッターナビ58px＋余白。ナビと重ねない */
	}

	.fs-body-product .fs-p-scrollingCartButton__button {
		width: 56px;
		height: 56px;
	}

	.fs-body-product .to_top {
		bottom: 142px;
		right: 18px;
	}

	.mk-carttoast {
		bottom: 66px;   /* フッターナビ直上 */
		padding: 0 6px;
	}

	.mk-carttoast__card {
		width: 100%;
		max-width: none;
		gap: 10px;
		padding: 12px;
	}

	.mk-carttoast__check {
		width: 30px;
		height: 30px;
		border-radius: 15px;
	}

	.mk-carttoast__text {
		font-size: 13px;
	}

	.mk-carttoast__go {
		padding: 9px 12px;
		font-size: 12px;
	}

	.fs-body-product .fs-c-button--addToCart--detail .mk-added-layer {
		font-size: 15px;
	}
}

/* --- 6. 選択肢未入力エラー（エラートースト＋赤枠ハイライト） ----------------
   デザイン確定 3a/3b（design_handoff_error_feedback）。
   Futureshop標準のピンクトースト（iziToast is-error）はパーツJSが非表示化し、
   このカスタムトーストと未選択欄のハイライトに差し替える。
   エラートーストは自動で消えない（×か、全欄選択で閉じる） */

@keyframes mkShakeX {
	0%, 100% { transform: translateX(0); }
	20% { transform: translateX(-6px); }
	40% { transform: translateX(6px); }
	60% { transform: translateX(-4px); }
	80% { transform: translateX(3px); }
}

.mk-carttoast--error .mk-carttoast__card {
	width: 480px;
	align-items: flex-start;
	border-left: 4px solid #D81F24;
}

/* 入りは成功と同じスライドイン＋0.4秒後に横シェイクで「失敗」を伝える */
.mk-carttoast--error .mk-carttoast__card.mk-in {
	animation: mkSlideInUp .28s ease-out both, mkShakeX .4s .4s both;
}

.mk-carttoast__erricon {
	flex: none;
	width: 36px;
	height: 36px;
	border-radius: 18px;
	background: #D81F24;
	display: flex;
	align-items: center;
	justify-content: center;
}

.mk-carttoast__errbody {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.mk-carttoast__errttl {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	color: #D81F24;
}

.mk-carttoast__errmsg {
	font-size: 13px;
	line-height: 1.7;
	color: #3D4246;
}

/* 未選択欄のハイライト（バリエーションの軸ブロック／オプションのselect） */
.fs-body-product .mk-field-error {
	border: 2px solid #D81F24 !important;
	box-shadow: 0 0 0 3px rgba(216, 31, 36, .12) !important;
	border-radius: 6px;
}

/* 軸ブロック（カラー/サイズ）は枠が中身に食い込まないよう内側に余白。
   縦は負マージンにしない（直前の注記と次の軸の赤枠が重なるため） */
.fs-body-product .fs-c-productChooseVariation__variation.mk-field-error {
	padding: 8px;
	margin: 0 -10px 8px;
}

.mk-field-error-note {
	margin: 6px 0 0;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	color: #D81F24;
}

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

	.mk-carttoast--error .mk-carttoast__card {
		width: 100%;
	}

	.mk-carttoast__errttl {
		font-size: 14px;
	}

	.mk-carttoast__errmsg {
		font-size: 12px;
	}
}

/* ===================================================
   シリーズ関連（独自コメント12・13）の価格表示（2026-08）
   マークアップは <span class="rel_price">¥<span class="price" data-id="…"></span></span>
   をカードの商品名<p>の直後に出力（プログラマー改修待ち）。
   金額は全ページ共通スクリプトが /json/price.json から流し込む。
   セット商品（.set_price）と同じ設計で、カードが小さいぶん文字は一回り小さい。
   =================================================== */

.fs-l-productLayout:has(> #product_details_area_wrap) .relationarea .relation li .rel_price {
	display: block;
	margin: 4px 0 0;
	font-size: 14px;
	font-weight: 900;
	line-height: 1.2;
	color: #D81F24;
}

.fs-l-productLayout:has(> #product_details_area_wrap) .relationarea .relation li .rel_price::after {
	content: "(税込)";
	margin-left: 3px;
	font-size: 9px;
	font-weight: 400;
	color: #B0787A;
}

/* 他文脈の .price 指定が漏れないよう親から継承させる */
.fs-l-productLayout:has(> #product_details_area_wrap) .relationarea .relation li .rel_price .price {
	margin: 0;
	padding: 0;
	font: inherit;
	letter-spacing: inherit;
	color: inherit;
}

/* JSONに価格が無い・読み込み前は中身が空＝「¥(税込)」だけ残るので、行ごと隠す */
.fs-l-productLayout:has(> #product_details_area_wrap) .relationarea .relation li .rel_price:has(> .price:empty) {
	display: none;
}

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

	.fs-l-productLayout:has(> #product_details_area_wrap) .relationarea .relation li .rel_price {
		font-size: 13px;
	}
}


/* ---------------------------------------------------
   マイページ系 共通（2026-09-03）
   ページ個別のCSSより前に読み込む。個別側で上書きできるようにするため。

   🔴 SPの左右余白
   マイページ系15画面は**すべて同じ構造**（実測 2026-09-03）:
       div.fs-l-page > div.wrap.flex.flex_r > div.fs-l-pageMain.maincenter
   `.fs-l-pageMain` 自身は padding を持たないため、SPでは中身が画面端に接する。
   余白は親の `.wrap` に持たせる（パンくず・見出し・本体すべてに同じ余白が付いて揃う）。

   ⚠️ 2026-09-03 に事故: この指定を**マイページTOPと注文履歴の2ページにだけ**書いており、
      他の9画面はSPで左右余白ゼロのまま公開してしまった（松木さん指摘）。
      fixture側に `.fs-l-pageMain { padding: 0 16px }` を自分で足して検証していたため、
      **実機に無い余白を前提に「OK」と判定していた。**
      → fixtureに実機に無いスタイルを足さない。余白は必ず実機で測る。
--------------------------------------------------- */

@media screen and (max-width: 640px) {
	body:is(
		.fs-body-my-top,
		.fs-body-my-orders,
		.fs-body-my-orders-details,
		.fs-body-my-points,
		.fs-body-my-reviews,
		.fs-body-my-wishlist,
		.fs-body-my-addressbook,
		.fs-body-my-addressbook-new,
		.fs-body-my-addressbook-edit,
		.fs-body-my-account-settings,
		.fs-body-my-account-settings-edit,
		.fs-body-my-account-password,
		.fs-body-my-account-delete,
		.fs-body-my-coupons,
		.fs-body-my-linkedAccounts
	) .wrap {
		padding-left: 16px;
		padding-right: 16px;
		box-sizing: border-box;
	}
}

/* 🔴 ページ下部の余白（フッターとの間）
   `.wrap` に持たせる。SPの左右余白と同じ理由で、**ページ個別に書くと必ず漏れる。**
   ⚠️ 2026-09-03 事故: 注文履歴詳細だけ padding-bottom が無く、
      「戻る」ボタンとフッターの隔たりが **0px** で公開されていた（松木さん指摘）。
      個別に書いていた11ページぶんをここへ集約した。 */
body:is(
	.fs-body-my-top,
	.fs-body-my-orders,
	.fs-body-my-orders-details,
	.fs-body-my-points,
	.fs-body-my-reviews,
	.fs-body-my-wishlist,
	.fs-body-my-addressbook,
	.fs-body-my-addressbook-new,
	.fs-body-my-addressbook-edit,
	.fs-body-my-account-settings,
	.fs-body-my-account-settings-edit,
	.fs-body-my-account-password,
	.fs-body-my-account-delete,
	.fs-body-my-coupons,
	.fs-body-my-linkedAccounts
) .wrap {
	padding-bottom: 56px;
}
/* ---------------------------------------------------
   購入フロー再設計（2026-09 カート/分岐/情報入力/注文手続き）
   ゲート: bodyクラス直がけ（fs-body-cart / fs-body-cart-login /
           fs-body-customerDetails / fs-body-checkout）。JS非依存。
   フリーパーツのスクリプトは動的装飾（文言変更・要素移動・送料バー等）のみ担当
--------------------------------------------------- */
/* 購入フロー4画面のスコープ略記 */


/* ===== 共通: ステップインジケーター ===== */
.mk-steps {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	margin: 14px 0 4px;
}
.mk-steps__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 5px;
	position: relative;
}
.mk-steps__item:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 11px;
	left: 50%;
	width: 100%;
	height: 2px;
	background: #E3E5E7;
}
.mk-steps__item.is-done:not(:last-child)::after { background: #1A6B3C; }
/* 現在地・済みは bodyクラス × 位置 でも自動判定（静的パーツ用・JS不要） */
body.fs-body-cart-login .mk-steps__item:nth-child(1):not(:last-child)::after,
body.fs-body-customerDetails .mk-steps__item:nth-child(1):not(:last-child)::after,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .mk-steps__item:nth-child(1):not(:last-child)::after,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .mk-steps__item:nth-child(2):not(:last-child)::after { background: #1A6B3C; }
.mk-steps__dot {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #FFFFFF;
	border: 2px solid #E3E5E7;
	color: #8A8F94;
	font-size: 12px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 1;
	box-sizing: border-box;
}
.mk-steps__label { font-size: 10px; color: #8A8F94; }
.mk-steps__item.is-done .mk-steps__dot,
body.fs-body-cart-login .mk-steps__item:nth-child(1) .mk-steps__dot,
body.fs-body-customerDetails .mk-steps__item:nth-child(1) .mk-steps__dot,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .mk-steps__item:nth-child(1) .mk-steps__dot,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .mk-steps__item:nth-child(2) .mk-steps__dot { border-color: #1A6B3C; color: #1A6B3C; }
.mk-steps__item.is-done .mk-steps__label,
body.fs-body-cart-login .mk-steps__item:nth-child(1) .mk-steps__label,
body.fs-body-customerDetails .mk-steps__item:nth-child(1) .mk-steps__label,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .mk-steps__item:nth-child(1) .mk-steps__label,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .mk-steps__item:nth-child(2) .mk-steps__label { color: #1A6B3C; }
/* 済みステップの数字は✓に置換（静的HTML用） */
.mk-steps__item.is-done .mk-steps__num,
body.fs-body-cart-login .mk-steps__item:nth-child(1) .mk-steps__num,
body.fs-body-customerDetails .mk-steps__item:nth-child(1) .mk-steps__num,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .mk-steps__item:nth-child(1) .mk-steps__num,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .mk-steps__item:nth-child(2) .mk-steps__num { display: none; }
.mk-steps__item.is-done .mk-steps__dot::before,
body.fs-body-cart-login .mk-steps__item:nth-child(1) .mk-steps__dot::before,
body.fs-body-customerDetails .mk-steps__item:nth-child(1) .mk-steps__dot::before,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .mk-steps__item:nth-child(1) .mk-steps__dot::before,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .mk-steps__item:nth-child(2) .mk-steps__dot::before { content: "✓"; }
.mk-steps__item.is-current .mk-steps__dot,
body.fs-body-cart .mk-steps__item:nth-child(1) .mk-steps__dot,
body.fs-body-cart-login .mk-steps__item:nth-child(2) .mk-steps__dot,
body.fs-body-customerDetails .mk-steps__item:nth-child(2) .mk-steps__dot,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .mk-steps__item:nth-child(3) .mk-steps__dot { background: #1A6B3C; border-color: #1A6B3C; color: #FFFFFF; }
.mk-steps__item.is-current .mk-steps__label,
body.fs-body-cart .mk-steps__item:nth-child(1) .mk-steps__label,
body.fs-body-cart-login .mk-steps__item:nth-child(2) .mk-steps__label,
body.fs-body-customerDetails .mk-steps__item:nth-child(2) .mk-steps__label,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .mk-steps__item:nth-child(3) .mk-steps__label { color: #1A6B3C; font-weight: 700; }
/* 静的パーツの出し分け（ホワイトリスト方式）:
   見出しテキストはbodyクラスに合うspanだけ表示。ステップ・リードも対象画面のみ。
   （ログインレイアウトはマイページログインと共用のため） */
body:not(.fs-body-cart):not(.fs-body-cart-login):not(.fs-body-customerDetails):not(.fs-body-checkout):not(.fs-body-checkout-amazon):not(:has(.fs-c-checkoutSuccess)) .mk-steps,
body:not(.fs-body-customerDetails) .mk-lead--customer { display: none; }
.mk-pagehead .mk-t { display: none; }
body.fs-body-cart .mk-pagehead .mk-t--cart,
body.fs-body-cart-login .mk-pagehead .mk-t--branch,
body.fs-body-login .mk-pagehead .mk-t--login,
body.fs-body-customerDetails .mk-pagehead .mk-t--customer,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .mk-pagehead .mk-t--checkout { display: inline; }
/* 見出し行（PC=見出し左・ステップ右横／SP=見出しの下にステップ） */
.mk-pagehead { margin: 4px 0 10px; }
.mk-pagehead .fs-c-heading--page {
	text-align: left;
	border: none;
	background: transparent;
	margin: 0;
	padding: 0;
	font-size: 20px;
	font-weight: 700;
	color: #17191B;
}
@media screen and (min-width: 641px) {
	.mk-pagehead {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		flex-wrap: wrap;
		max-width: 1200px;
		margin: 10px auto 14px;
	}
	.mk-pagehead .fs-c-heading--page { font-size: 24px; }
	/* PCのステップは横並び（円＋ラベル横・接続線28px） */
	.mk-steps { display: flex; align-items: center; margin: 0; }
	.mk-steps__item { flex-direction: row; gap: 7px; }
	.mk-steps__item:not(:last-child)::after {
		position: static;
		width: 28px;
		height: 2px;
		margin: 0 10px;
	}
	.mk-steps__dot { width: 26px; height: 26px; font-size: 13px; }
	.mk-steps__label { font-size: 12px; }
}

/* ===== 共通: ボタン・小物 ===== */
.mk-hidden { display: none !important; }
.mk-cta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	height: 56px;
	border: none;
	border-radius: 6px;
	background: #F07800;
	color: #FFFFFF !important;
	font-size: 17px;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
	box-shadow: 0 2px 6px rgba(240, 120, 0, 0.35);
	box-sizing: border-box;
}
.mk-cta:hover { background: #D96C00; color: #FFFFFF; }
.mk-cta--green { background: #1A6B3C; box-shadow: none; }
.mk-cta--green:hover { background: #0F4526; }
.mk-cta__arrow { font-size: 18px; }
/* テキスト表示時の縦ズレ保険（テーマ/FS由来のline-height対策） */
.mk-cta .fs-c-button__label { line-height: 1; display: inline-block; vertical-align: middle; }
.mk-backlink { text-align: center; margin-top: 12px; }
.mk-backlink a { font-size: 13px; color: #1A6B3C; text-decoration: underline; }
.mk-ctanote { margin-top: 6px; font-size: 11px; color: #8A8F94; text-align: center; }
.mk-lead { margin: 10px 0 2px; font-size: 13px; color: #3D4246; }
@media screen and (min-width: 641px) {
	.mk-lead { text-align: center; font-size: 14px; }
}

/* 共通: アコーディオン（details/summary＝JS不要で開閉） */
.mk-acc { border-top: 1px solid #ECEEF0; border-bottom: 1px solid #ECEEF0; }
.mk-acc + .mk-acc { border-top: none; }
.mk-acc__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 50px;
	padding: 0 2px;
	border: none;
	background: transparent;
	cursor: pointer;
	font-family: inherit;
	text-align: left;
	box-sizing: border-box;
	list-style: none;
}
summary.mk-acc__head::-webkit-details-marker { display: none; }
summary.mk-acc__head::marker { content: ""; }
.mk-acc__title { font-size: 13px; font-weight: 700; color: #3D4246; }
.mk-acc__icon { font-size: 15px; color: #8A8F94; flex: 0 0 auto; }
.mk-acc__icon::before { content: "＋"; }
details.mk-acc[open] .mk-acc__icon::before { content: "−"; }
.mk-acc__body { padding: 4px 2px 14px; font-size: 12px; color: #3D4246; line-height: 1.8; }
.mk-acc__body .mk-accwrapped { margin: 0; padding: 0; border: none; background: transparent; }
.mk-acc__body h2 { font-size: 13px; font-weight: 700; margin: 0 0 6px; padding: 0; background: transparent; border: none; color: #3D4246; }

/* 共通: エラーパネル再スタイル */
.mk-errpanel,
.fs-c-panel--error.mk-errpanel {
	background: #FBEAEA;
	border: 1px solid #F0C2C3;
	border-radius: 6px;
	padding: 12px 14px;
	margin: 12px 0;
	color: #D81F24;
}
.mk-errpanel__title { font-size: 12px; font-weight: 700; color: #D81F24; line-height: 1.6; }
.mk-errpanel ul,
.mk-errpanel li,
.mk-errpanel p { color: #D81F24; font-size: 12px; line-height: 1.8; }
.mk-errpanel ul { margin: 6px 0 0; padding: 0 0 0 18px; }
.mk-errbox {
	margin: 12px 0 0;
	background: #FBEAEA;
	border: 1px solid #F0C2C3;
	border-radius: 6px;
	padding: 10px 12px;
	font-size: 12px;
	font-weight: 700;
	color: #D81F24;
	line-height: 1.6;
}
.mk-input-error,
input.mk-input-error { border-color: #D81F24 !important; }

:is(body.fs-body-cart, body.fs-body-cart-login, body.fs-body-customerDetails, body:is(.fs-body-checkout, .fs-body-checkout-amazon)) .wrap {
	padding-bottom: 56px;
}
/* SP: 左右マージン（購入フロー4画面共通） */
@media screen and (max-width: 640px) {
	:is(body.fs-body-cart, body.fs-body-cart-login, body.fs-body-customerDetails, body:is(.fs-body-checkout, .fs-body-checkout-amazon)) .wrap {
		padding-left: 16px;
		padding-right: 16px;
		box-sizing: border-box;
	}
}

/* フォーム部品の共通化（購入フロー4画面のみ） */
:is(body.fs-body-cart, body.fs-body-cart-login, body.fs-body-login, body.fs-body-customerDetails, body:is(.fs-body-checkout, .fs-body-checkout-amazon)) input[type="text"],
:is(body.fs-body-cart, body.fs-body-cart-login, body.fs-body-login, body.fs-body-customerDetails, body:is(.fs-body-checkout, .fs-body-checkout-amazon)) input[type="tel"],
:is(body.fs-body-cart, body.fs-body-cart-login, body.fs-body-login, body.fs-body-customerDetails, body:is(.fs-body-checkout, .fs-body-checkout-amazon)) input[type="email"],
:is(body.fs-body-cart, body.fs-body-cart-login, body.fs-body-login, body.fs-body-customerDetails, body:is(.fs-body-checkout, .fs-body-checkout-amazon)) input[type="password"] {
	height: 44px;
	border: 1px solid #E3E5E7;
	border-radius: 6px;
	background: #FFFFFF;
	font-size: 14px;
	box-sizing: border-box;
}
:is(body.fs-body-cart, body.fs-body-cart-login, body.fs-body-login, body.fs-body-customerDetails, body:is(.fs-body-checkout, .fs-body-checkout-amazon)) input[type="text"]:focus,
:is(body.fs-body-cart, body.fs-body-cart-login, body.fs-body-login, body.fs-body-customerDetails, body:is(.fs-body-checkout, .fs-body-checkout-amazon)) input[type="tel"]:focus,
:is(body.fs-body-cart, body.fs-body-cart-login, body.fs-body-login, body.fs-body-customerDetails, body:is(.fs-body-checkout, .fs-body-checkout-amazon)) input[type="email"]:focus,
:is(body.fs-body-cart, body.fs-body-cart-login, body.fs-body-login, body.fs-body-customerDetails, body:is(.fs-body-checkout, .fs-body-checkout-amazon)) input[type="password"]:focus { border-color: #1A6B3C; outline: none; }
:is(body.fs-body-cart, body.fs-body-cart-login, body.fs-body-login, body.fs-body-customerDetails, body:is(.fs-body-checkout, .fs-body-checkout-amazon)) select { border: 1px solid #E3E5E7; border-radius: 6px; background: #FFFFFF; }
:is(body.fs-body-cart, body.fs-body-cart-login, body.fs-body-login, body.fs-body-customerDetails, body:is(.fs-body-checkout, .fs-body-checkout-amazon)) input[type="checkbox"],
:is(body.fs-body-cart, body.fs-body-cart-login, body.fs-body-login, body.fs-body-customerDetails, body:is(.fs-body-checkout, .fs-body-checkout-amazon)) input[type="radio"] { accent-color: #1A6B3C; }

/* FSカスタムチェックボックス・ラジオの色を緑に統一（購入フロー4画面のみ） */
:is(body.fs-body-cart, body.fs-body-cart-login, body.fs-body-login, body.fs-body-customerDetails, body:is(.fs-body-checkout, .fs-body-checkout-amazon)) .fs-c-checkbox__checkMark { border-color: #C6CACD; border-radius: 4px; }
:is(body.fs-body-cart, body.fs-body-cart-login, body.fs-body-login, body.fs-body-customerDetails, body:is(.fs-body-checkout, .fs-body-checkout-amazon)) .fs-c-checkbox__checkbox:checked + label .fs-c-checkbox__checkMark,
:is(body.fs-body-cart, body.fs-body-cart-login, body.fs-body-login, body.fs-body-customerDetails, body:is(.fs-body-checkout, .fs-body-checkout-amazon)) .fs-c-checkbox__checkbox:checked ~ label .fs-c-checkbox__checkMark {
	background: #1A6B3C;
	border-color: #1A6B3C;
}
:is(body.fs-body-cart, body.fs-body-cart-login, body.fs-body-login, body.fs-body-customerDetails, body:is(.fs-body-checkout, .fs-body-checkout-amazon)) .fs-c-radio__radioMark { border-color: #C6CACD; }
:is(body.fs-body-cart, body.fs-body-cart-login, body.fs-body-login, body.fs-body-customerDetails, body:is(.fs-body-checkout, .fs-body-checkout-amazon)) .fs-c-radio__radio:checked + label .fs-c-radio__radioMark,
:is(body.fs-body-cart, body.fs-body-cart-login, body.fs-body-login, body.fs-body-customerDetails, body:is(.fs-body-checkout, .fs-body-checkout-amazon)) .fs-c-radio__radio:checked ~ label .fs-c-radio__radioMark { border-color: #1A6B3C; }
:is(body.fs-body-cart, body.fs-body-cart-login, body.fs-body-login, body.fs-body-customerDetails, body:is(.fs-body-checkout, .fs-body-checkout-amazon)) .fs-c-radio__radio:checked + label .fs-c-radio__radioMark::before,
:is(body.fs-body-cart, body.fs-body-cart-login, body.fs-body-login, body.fs-body-customerDetails, body:is(.fs-body-checkout, .fs-body-checkout-amazon)) .fs-c-radio__radio:checked ~ label .fs-c-radio__radioMark::before { background: #1A6B3C; }

/* ===================================================
   ① カート（fs-body-cart）
=================================================== */
body.fs-body-cart .side.pc { display: none; }
body.fs-body-cart .wrap .main { width: 100%; max-width: 1200px; margin: 0 auto; float: none; }

/* 2カラム（PC） */
@media screen and (min-width: 641px) {
	body.fs-body-cart .fs-l-cart__contentsArea {
		display: flex;
		gap: 24px;
		align-items: flex-start;
	}
	body.fs-body-cart .fs-l-cart__mainColumn { flex: 1; min-width: 0; width: auto; float: none; }
	body.fs-body-cart .fs-l-cart__sideColumn {
		flex: 0 0 380px;
		width: 380px;
		float: none;
		position: sticky;
		top: 16px;
	}
}
body.fs-body-cart .fs-l-cart__sideColumn {
	background: transparent;
	border: none;
	padding: 0;
	box-sizing: border-box;
}
/* 購入グループのカード（JSが合計〜Amazonを包む） */
body.fs-body-cart .mk-totalcard {
	background: #FAFBFB;
	border: 1px solid #ECEEF0;
	border-radius: 8px;
	padding: 16px;
	box-sizing: border-box;
}
@media screen and (min-width: 641px) {
	body.fs-body-cart .mk-totalcard { padding: 18px; }
}


/* 明細カード化 */
body.fs-body-cart .fs-c-cartTableContainer { border: none; padding: 0; background: transparent; }
body.fs-body-cart .fs-c-cartTable { width: 100%; border: none; }
body.fs-body-cart .fs-c-cartTable thead { display: none; }
body.fs-body-cart .fs-c-cartTable tbody { display: block; }
body.fs-body-cart .fs-c-cartTable__row {
	display: grid;
	background: #FAFBFB;
	border: 1px solid #ECEEF0;
	border-radius: 8px;
	margin-bottom: 14px;
	position: relative;
	box-sizing: border-box;
}
body.fs-body-cart .fs-c-cartTable__dataCell { display: block; border: none; background: transparent; }

/* 商品セル */
body.fs-body-cart .fs-c-cartTable__product { display: flex; gap: 12px; align-items: flex-start; }
body.fs-body-cart .fs-c-cartTable__productImage { flex: 0 0 auto; margin: 0; }
body.fs-body-cart .fs-c-cartTable__productImage img {
	width: 56px;
	height: 56px;
	object-fit: contain;
	background: #FFFFFF;
	border: 1px solid #ECEEF0;
	border-radius: 6px;
	box-sizing: border-box;
}
body.fs-body-cart .fs-c-cartTable__productInfo { min-width: 0; }
body.fs-body-cart .fs-c-cartTable__productName a,
body.fs-body-cart .fs-c-listedProductName__name {
	font-size: 12px;
	line-height: 1.3;
	color: #17191B;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	text-decoration: none;
}
body.fs-body-cart .fs-c-listedProductName__variation {
	display: inline-block;
	width: fit-content;
	max-width: 100%;
	box-sizing: border-box;
	margin-top: 6px;
	font-size: 11px;
	color: #3D4246;
	background: #FFFFFF;
	border: 1px solid #E3E5E7;
	border-radius: 4px;
	padding: 2px 8px;
}
body.fs-body-cart .fs-c-cartTable__unitPrice { margin-top: 6px; font-size: 13px; font-weight: 700; color: #D81F24; }
body.fs-body-cart .fs-c-cartTable__unitPrice .fs-c-productPrice__addon { font-size: 11px; font-weight: 400; color: #6D7276; }

/* 数量・小計・削除 */
body.fs-body-cart .fs-c-cartTable__dataCell--quantity::before {
	content: "数量";
	font-size: 12px;
	color: #6D7276;
	margin-right: 8px;
	white-space: nowrap;
}
body.fs-body-cart .fs-c-cartTable__dataCell--quantity { display: flex; align-items: center; white-space: nowrap; }
/* ⚠️ fs-c-quantity の display は変更しない（flex化するとFSの「10+」での
   select→入力欄切替が壊れる。2026-09-01 実害発生）。
   空メッセージspanの高さ除去だけで縦ズレを解消する */
body.fs-body-cart .fs-c-quantity { margin: 0; }
body.fs-body-cart .fs-c-quantity .fs-c-quantity__message:empty { display: none; }
body.fs-body-cart .fs-c-cartTable__dataCell--quantity { justify-content: flex-start; }
body.fs-body-cart .fs-c-quantity__select,
body.fs-body-cart .fs-c-cartTable__dataCell--quantity select {
	/* iOS Safariはheight指定だとselectの文字が上に寄るため、paddingで高さを作る */
	height: auto;
	width: 88px;
	border: 1px solid #E3E5E7;
	border-radius: 6px;
	background: #FFFFFF;
	font-size: 15px;
	font-weight: 700;
	color: #17191B;
	line-height: 1.4;
	padding: 10px;
	cursor: pointer;
	box-sizing: border-box;
	text-align: center;
}
body.fs-body-cart .fs-c-cartTable__dataCell--quantity input.fs-c-quantity__number {
	height: 44px;
	width: 88px;
	border: 1px solid #E3E5E7;
	border-radius: 6px;
	background: #FFFFFF;
	font-size: 15px;
	font-weight: 700;
	color: #17191B;
	padding: 0 10px;
	box-sizing: border-box;
	text-align: center;
}
/* 数量入力欄（10+選択時）: 幅がFS側指定に負けるため固定 */
body.fs-body-cart .fs-c-cartTable__dataCell--quantity input.fs-c-quantity__number {
	min-width: 88px;
	max-width: 88px;
	text-align: center;
}
@media screen and (min-width: 641px) {
	body.fs-body-cart .fs-c-cartTable__dataCell--quantity input.fs-c-quantity__number {
		min-width: 78px;
		max-width: 78px;
	}
}

/* FS標準の送料割引テキスト・告知パーツはJSのプログレスバー表示成功時にJSが隠す
   （JSなし時のフォールバックとして表示は残す） */
body.fs-body-cart .fs-c-cartTable__dataCell--subtotal { text-align: right; }
body.fs-body-cart .fs-c-cartTable__dataCell--subtotal::before {
	content: "小計";
	display: block;
	font-size: 11px;
	color: #6D7276;
	font-weight: 400;
}
body.fs-body-cart .fs-c-cartTable__dataCell--subtotal { font-size: 17px; font-weight: 700; color: #17191B; }
/* ポイント列を隠す（SPの1カラム化で列が入りきらないため）
   ✅ 2026-09-03 松木さん確認: `ショッピングカートパーツ` の設定に**ポイントの項目が無い。**
      → FSの機能では消せないのでCSSが唯一の手段。例外として確定。再検討しないこと。 */
body.fs-body-cart .fs-c-cartTable__dataCell--point { display: none; }

/* 削除ボタン（ゴミ箱化）・あとで買う等は非表示 */
body.fs-body-cart .fs-c-cartTable__actionButton__container { display: none; }
body.fs-body-cart .fs-c-cartTable__actionButton__container[class*="cancel"] { display: block; }
body.fs-body-cart .fs-c-cartTable__dataCell--action button,
body.fs-body-cart .fs-c-cartTable__dataCell--action a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: none;
	border-radius: 6px;
	background-color: transparent;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 16 16'%3E%3Cpath d='M3 4.5h10M6.5 4.5V3h3v1.5M4.5 4.5l.6 8.5h5.8l.6-8.5' stroke='%238A8F94' fill='none' stroke-width='1.2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 22px 22px;
	font-size: 0;
	color: transparent;
	cursor: pointer;
	text-decoration: none;
}
body.fs-body-cart .fs-c-cartTable__dataCell--action button:hover,
body.fs-body-cart .fs-c-cartTable__dataCell--action a:hover { background-color: #ECEEF0; }
body.fs-body-cart .fs-c-cartTable__dataCell--action .fs-c-button__label { display: none; }

/* SP: カードレイアウト（1行目=商品+削除、2行目=数量+小計） */
@media screen and (max-width: 640px) {
	body.fs-body-cart .fs-c-cartTable__row {
		grid-template-columns: minmax(0, 1fr) auto;
		padding: 12px;
	}
	body.fs-body-cart .fs-c-cartTable__dataCell--product { grid-column: 1 / 2; grid-row: 1; }
	body.fs-body-cart .fs-c-cartTable__dataCell--action { grid-column: 2 / 3; grid-row: 1; align-self: start; }
	body.fs-body-cart .fs-c-cartTable__dataCell--quantity {
		grid-column: 1 / 2;
		grid-row: 2;
		margin-top: 12px;
		padding-top: 12px;
		border-top: 1px solid #ECEEF0;
	}
	body.fs-body-cart .fs-c-cartTable__dataCell--subtotal {
		grid-column: 2 / 3;
		grid-row: 2;
		margin-top: 12px;
		padding-top: 12px;
		border-top: 1px solid #ECEEF0;
	}
}
/* PC: 行レイアウト */
@media screen and (min-width: 641px) {
	body.fs-body-cart .fs-c-cartTable__row {
		grid-template-columns: minmax(0, 1fr) auto 110px 44px;
		gap: 16px;
		align-items: start;
		padding: 16px;
	}
	/* 数量・小計・削除は行の高さに関わらず「商品画像の縦中心ライン」に揃える
	   （画像中心 = padding16 + 32 = 48px。各要素の中心が48pxになるようマージンを算出） */
	body.fs-body-cart .fs-c-cartTable__dataCell--quantity { margin-top: 29px; } /* select38px: 48-19 */
	body.fs-body-cart .fs-c-cartTable__dataCell--action { margin-top: 26px; }   /* ボタン44px: 48-22 */
	body.fs-body-cart .fs-c-cartTable__dataCell--subtotal { margin-top: 22px; } /* ラベル+金額≒52px: 48-26 */
	body.fs-body-cart .fs-c-cartTable__product { align-items: flex-start; }
	body.fs-body-cart .fs-c-cartTable__product { align-items: center; gap: 16px; }
	body.fs-body-cart .fs-c-cartTable__productImage img { width: 64px; height: 64px; }
	body.fs-body-cart .fs-c-cartTable__productName a,
	body.fs-body-cart .fs-c-listedProductName__name { font-size: 12px; line-height: 1.3; }
	body.fs-body-cart .fs-c-quantity__select,
	body.fs-body-cart .fs-c-cartTable__dataCell--quantity select { height: auto; width: 78px; font-size: 14px; padding: 8px 10px; }
	body.fs-body-cart .fs-c-cartTable__dataCell--quantity input.fs-c-quantity__number { height: 38px; width: 78px; font-size: 14px; }
	body.fs-body-cart .fs-c-cartTable__dataCell--subtotal { font-size: 18px; min-width: 90px; }
}

/* 送料無料プログレス */
body.fs-body-cart .mk-shipbar {
	border: 1px solid #ECEEF0;
	border-radius: 8px;
	padding: 12px 14px;
	margin-top: 2px;
	background: #FFFFFF;
}
body.fs-body-cart .mk-shipbar__lead { font-size: 13px; font-weight: 700; color: #17191B; }
body.fs-body-cart .mk-shipbar__amount { color: #D81F24; font-size: 15px; }
body.fs-body-cart .mk-shipbar__lead--ok { color: #1A6B3C; font-size: 14px; }
body.fs-body-cart .mk-shipbar__track {
	margin-top: 8px;
	height: 8px;
	border-radius: 4px;
	background: #ECEEF0;
	overflow: hidden;
}
body.fs-body-cart .mk-shipbar__fill {
	height: 100%;
	border-radius: 4px;
	background: #1A6B3C;
	transition: width .3s;
}
body.fs-body-cart .mk-shipbar__note { margin-top: 8px; font-size: 11px; color: #8A8F94; line-height: 1.6; }
/* 🔴 注意書きの中身は送料無料告知パーツ（.mk-shipnote）のHTMLをそのままコピーしている。
   <p> が入るので余白を消す。文言を直す場所は管理画面のパーツ1箇所だけ（JSは文言を持たない） */
body.fs-body-cart .mk-shipbar__note p { margin: 0; font-size: inherit; line-height: inherit; color: inherit; }
/* 金額の強調。バー側（コピー先）と告知パーツ側（フォールバック表示）の両方に効かせる */
body.fs-body-cart .mk-shipbar__note .mk-em,
body.fs-body-cart .mk-shipnote .mk-em,
body.fs-body-cart .fs-c-payWithAmazon__message .mk-em { color: #D81F24; font-weight: 700; }
@media screen and (min-width: 641px) {
	body.fs-body-cart .mk-shipbar {
		display: flex;
		align-items: center;
		gap: 20px;
		padding: 14px 18px;
	}
	body.fs-body-cart .mk-shipbar__lead { flex: 0 0 auto; font-size: 14px; white-space: nowrap; }
	body.fs-body-cart .mk-shipbar__amount { font-size: 16px; }
	body.fs-body-cart .mk-shipbar__track { flex: 1; margin-top: 0; }
	body.fs-body-cart .mk-shipbar__note { flex: 0 0 auto; margin-top: 0; }
}

/* 合計テーブル */
body.fs-body-cart .fs-c-orderTotalTable { width: 100%; border: none; }
body.fs-body-cart .fs-c-orderTotalTable tr,
body.fs-body-cart .fs-c-orderTotalTable tbody { border: none; }
body.fs-body-cart .fs-c-orderTotalTable__getPoint th,
body.fs-body-cart .fs-c-orderTotalTable__getPoint td { border-bottom: none; }
body.fs-body-cart .fs-l-cart__sideColumn hr { display: none; }
body.fs-body-cart .fs-c-orderTotalTable th,
body.fs-body-cart .fs-c-orderTotalTable td {
	border: none;
	background: transparent;
	font-size: 13px;
	color: #3D4246;
	padding: 4px 0;
}
body.fs-body-cart .fs-c-orderTotalTable td { text-align: right; }
/* 商品合計（税込）: デザインの主役表示（26px/900/赤） */
body.fs-body-cart .fs-c-orderTotalTable__itemPriceSummary th {
	font-size: 14px;
	font-weight: 700;
	color: #17191B;
	vertical-align: middle;
}
body.fs-body-cart .fs-c-orderTotalTable__itemPriceSummary td {
	font-size: 26px;
	font-weight: 900;
	color: #D81F24;
	line-height: 1.3;
}
/* 獲得ポイント行: 緑Pバッジ＋緑太字・上に罫線 */
body.fs-body-cart .fs-c-orderTotalTable__getPoint th,
body.fs-body-cart .fs-c-orderTotalTable__getPoint td {
	border-top: 1px solid #ECEEF0;
	padding-top: 8px;
}
body.fs-body-cart .fs-c-orderTotalTable__getPoint th { font-size: 12px; color: #3D4246; font-weight: 400; vertical-align: middle; }
body.fs-body-cart .fs-c-orderTotalTable__getPoint td { font-size: 13px; font-weight: 700; color: #1A6B3C; }
body.fs-body-cart .fs-c-orderTotalTable__getPoint td::before {
	content: "P";
	display: inline-flex;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #1A6B3C;
	color: #FFFFFF;
	font-size: 11px;
	font-weight: 700;
	align-items: center;
	justify-content: center;
	margin-right: 6px;
	vertical-align: middle;
}

/* CTA・Amazon・続ける
   購入ボタンはコマクリ＞ボタン設定の画像（ご購入手続きへ）が正。画像を全幅で綺麗に出す */
body.fs-body-cart .fs-c-purchaseHere { margin-top: 14px; border: none; padding-bottom: 0; margin-bottom: 0; }
body.fs-body-cart .fs-c-purchaseHere .fs-c-cartPayment__button { width: 100%; padding: 0; margin: 0; }
body.fs-body-cart .fs-c-payWithAmazon .fs-c-cartPayment__button,
body.fs-body-cart .fs-c-payWithAmazon__button { padding: 0; margin: 0; }
body.fs-body-cart .fs-c-purchaseHere a { display: block; text-align: center; }
body.fs-body-cart .fs-c-purchaseHere a img {
	width: 100%;
	max-width: 400px;
	height: auto;
	display: block;
	margin: 0 auto;
	border-radius: 6px;
}
/* 合計金額の「点数」行を隠す（1カラム化した総合計を金額だけに絞るため）
   ✅ 2026-09-03 松木さん確認: `合計金額表示エリア` のパーツ設定に**点数行の項目は無い。**
      → FSの機能では消せないのでCSSが唯一の手段。例外として確定。再検討しないこと。 */
body.fs-body-cart .fs-c-orderTotalTable__count { display: none; }
body.fs-body-cart .btn_cart_member::before,
body.fs-body-cart .btn_cart_member::after,
body.fs-body-cart .btn_cart_nomember::before,
body.fs-body-cart .btn_cart_nomember::after { content: none !important; }
/* CTA化したボタンにテーマ由来の注記(::before/::after)が付く場合も常に消す（ログイン中のボタン等） */
body.fs-body-cart .fs-c-purchaseHere .mk-cta::before,
body.fs-body-cart .fs-c-purchaseHere .mk-cta::after { content: none !important; }
body.fs-body-cart .fs-c-purchaseHere .mk-cta { margin: 0 auto; }
/* ⚠️ margin-top は「見た目の隙間 ＋ 9.25px」で決める。
   AmazonPayボタンは scale(1.7) で枠の上下に各9.25pxはみ出して描画されるため、
   10pxだと実際の隙間は0.8pxしかなく、オレンジのボタンとほぼ接していた。
   18px ＝ 見た目で約9px（2026-09-03 松木さんが実機で実測して決定。
   いったん26px＝見た目17pxにしたが、開きすぎたため8px詰めた）。 */
body.fs-body-cart .fs-c-payWithAmazon { margin-top: 18px; padding-top: 0; border: none; display: flex; flex-direction: column; }
/* Amazonボタンを「ご購入手続きへ」と同等サイズに。
   ウィジェット（約200×34px・Amazon描画）は幅指定が効かないため transform: scale で拡大する */
body.fs-body-cart .fs-c-payWithAmazon__button {
	width: 100%;
	height: 58px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: visible;
}
body.fs-body-cart .fs-c-payWithAmazon__button > * {
	transform: scale(1.7);
	transform-origin: center center;
}
/* FSのAmazon説明文はボタンの下に小さな注記として表示（DOM順はボタンの前のためorderで入替） */
/* ⚠️ margin-top は 14px 必要。AmazonPayボタンは transform: scale(1.7) ＋ overflow:visible で
   レイアウト上の枠から上下に約9pxはみ出して描画される。4pxだと5px重なる（2026-09-03 実測で修正）。 */
body.fs-body-cart .fs-c-payWithAmazon__message { order: 2; margin-top: 14px; }
body.fs-body-cart .fs-c-payWithAmazon__message p { font-size: 10px; color: #8A8F94; text-align: left; margin: 0; line-height: 1.6; }
body.fs-body-cart .fs-c-payWithAmazon__button { order: 1; }
/* 「お買い物を続ける」= カード外・左右罫線のセパレーター様式（購入アクションと明確に分離） */
body.fs-body-cart .fs-c-continueShopping {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 20px;
	border: none;
	padding: 0;
}
/* FSのボタンラッパー（buttonContainer等）が全幅を取り左右の罫線を潰すため、内容幅に制限 */
body.fs-body-cart .fs-c-continueShopping > * {
	flex: 0 0 auto;
	width: auto;
	margin: 0;
	padding: 0;
	text-align: center;
}
body.fs-body-cart .fs-c-continueShopping::before,
body.fs-body-cart .fs-c-continueShopping::after {
	content: "";
	flex: 1;
	height: 1px;
	background: #E3E5E7;
}
body.fs-body-cart .fs-c-continueShopping .fs-c-button--continueShopping {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	flex: 0 0 auto;
	width: auto;
	min-width: 0;
	max-width: none;
	border: none;
	background: transparent;
	font-size: 13px;
	color: #3D4246;
	text-decoration: none;
	padding: 0;
	box-shadow: none;
	white-space: nowrap;
}
body.fs-body-cart .fs-c-continueShopping .fs-c-button--continueShopping:hover { color: #0F4526; }
body.fs-body-cart .fs-c-continueShopping .fs-c-button--continueShopping .fs-c-button__label::before { content: "‹ "; color: #8A8F94; font-size: 15px; }
body.fs-body-cart .mk-acc { margin-top: 8px; }
body.fs-body-cart .mk-acc__body .amazon_attention p,
body.fs-body-cart .mk-acc__body .amazon_attention li,
body.fs-body-cart .mk-acc__body p { font-size: 12px; color: #3D4246; line-height: 1.8; margin: 0 0 6px; }
body.fs-body-cart .mk-acc__body .amazon_attention ul { margin: 0; padding-left: 2px; list-style: none; }

/* 送料無料告知（フォールバック表示時）の様式をデザインに合わせる */
body.fs-body-cart .mk-shipnote {
	border: 1px solid #ECEEF0;
	border-radius: 8px;
	background: #FFFFFF;
	padding: 12px 14px;
	margin-top: 14px;
}
body.fs-body-cart .mk-shipnote .fs-p-announcement__title {
	font-size: 13px;
	font-weight: 700;
	color: #17191B;
	background: transparent;
	border: none;
	padding: 0;
	margin: 0 0 6px;
	text-align: left;
}
body.fs-body-cart .mk-shipnote .fs-p-announcement__body p { font-size: 11px; color: #8A8F94; line-height: 1.6; margin: 0; }

/* おすすめ商品パーツ非表示
   ✅ 2026-09-03 松木さん確認: **このパーツはFSのシステム的に必須でレイアウトから外せない。**
      表示・非表示はレイアウトで行うのが原則だが、この1件は例外としてCSSで隠す。
      再検討しないこと（レイアウトツリーには
      「ショッピングカート」＞ ショッピングカート内_商品エリア の子として残る）。 */
body.fs-body-cart .fs-c-featuredProduct { display: none; }
/* 「初めてお買い物の方はコチラ」: 単一CTA設計のため常時非表示
   （会員/ゲストの分岐は次のログイン画面が担う。CSSで最初から隠し、
     リロード時にスクリプト実行前の一瞬見えるチラつきを防ぐ）
   ✅ 2026-09-03 確認: カートのレイアウトツリーに `ログインせずに購入` 相当のパーツは無く、
      `futureshop購入エリア` の中でFSが自動出力している。
      → レイアウトから外せないのでCSSが唯一の手段。例外として確定。 */
body.fs-body-cart .fs-c-button--unregisteredUserPurchase,
body.fs-body-cart .btn_cart_nomember { display: none !important; }
/* ⚠️ !important は「.fs-c-purchaseHere a { display:block }」（画像ボタン整形）に
   詳細度で負けないため。2026-09-01 に自ルール同士の競合で復活する事故が発生 */
/* Apple Pay購入エリア: 当店はApple Pay決済を提供していないため非表示
   （対応ブラウザでは「このサイトでお支払い」ボタンが実体化してしまう。
     Apple Payを導入する場合はこのルールを削除すること）
   ✅ 2026-09-03 松木さん確認: `futureshop購入エリア` の設定に **Apple Pay の項目は無い。**
      レイアウトにも Apple Pay 単独のパーツが無く、購入エリアの中でFSが自動出力している。
      → CSSが唯一の手段。例外として確定。再検討しないこと。 */
body.fs-body-cart .fs-c-applePay { display: none; }

/* お気に入りパーツ（ログイン中のみ表示・最近閲覧と同じ様式に統一） */
body.fs-body-cart .fs-c-wishlistProduct { margin-top: 24px; }
body.fs-body-cart .fs-c-wishlistProduct__title {
	font-size: 15px;
	font-weight: 700;
	color: #17191B;
	background: transparent;
	border: none;
	padding: 0;
	margin: 0 0 10px;
	text-align: left;
}
body.fs-body-cart .fs-c-wishlistProduct .fs-c-productListItem__image img {
	width: 120px;
	height: 120px;
	object-fit: contain;
	background: #FFFFFF;
	border: 1px solid #ECEEF0;
	border-radius: 6px;
	box-sizing: border-box;
	margin: 0 auto;
}
body.fs-body-cart .fs-c-wishlistProduct .fs-c-productListItem__productName {
	margin: 6px 0 0;
	padding: 0;
	background: transparent;
	border: none;
}
body.fs-body-cart .fs-c-wishlistProduct .fs-c-productListItem__productName a {
	font-size: 11px;
	line-height: 1.5;
	color: #17191B;
	text-decoration: none;
	font-weight: 400;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}
body.fs-body-cart .fs-c-wishlistProduct .fs-c-productName__variation {
	display: block;
	margin-top: 2px;
	font-size: 10px;
	color: #6D7276;
}
body.fs-body-cart .fs-c-wishlistProduct .fs-c-productPrice--selling .fs-c-price {
	font-size: 12px;
	font-weight: 700;
	color: #D81F24;
}
body.fs-body-cart .fs-c-wishlistProduct .fs-c-productPrice__main__label { font-size: 10px; color: #6D7276; font-weight: 400; }
body.fs-body-cart .fs-c-wishlistProduct .fs-c-productPrice__addon { font-size: 10px; color: #6D7276; }
body.fs-body-cart .fs-c-wishlistProduct .fs-c-productPrice--listed { display: none; }
/* ✅ 2026-09-03 松木さん確認: この一言説明は `お気に入りパーツ`（システムパーツ）が
      出力しており、**子パーツに展開できない**ためレイアウトから外せない。
      → CSSが唯一の手段。例外として確定。再検討しないこと。
      ⚠️ お気に入りページ（/my/wishlist）の `お気に入り一覧` は**別のパーツ**で、
         そちらはシステムパーツグループなので `商品一言説明パーツ` を外して対応済み。
         パーツが違うので片方の操作はもう片方に効かない。 */
body.fs-body-cart .fs-c-wishlistProduct .fs-c-productListItem__productDescription { display: none; }
body.fs-body-cart .fs-c-wishlistProduct .fs-c-button--addToCart--list,
body.fs-body-cart .fs-c-wishlistProduct .fs-c-button--viewProductDetail {
	display: inline-block;
	margin-top: 6px;
	padding: 6px 10px;
	border: 1px solid #1A6B3C;
	border-radius: 6px;
	background: #FFFFFF;
	color: #1A6B3C;
	font-size: 11px;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
	box-shadow: none;
}
body.fs-body-cart .fs-c-wishlistProduct .fs-c-button--addToCart--list:hover,
body.fs-body-cart .fs-c-wishlistProduct .fs-c-button--viewProductDetail:hover { background: #F1F6F3; }
body.fs-body-cart .fs-c-wishlistProduct__footer { margin-top: 8px; text-align: right; }
body.fs-body-cart .fs-c-wishlistProduct .fs-c-viewAllProductsLink__label { font-size: 12px; color: #1A6B3C; text-decoration: underline; }
@media screen and (min-width: 641px) {
	body.fs-body-cart .fs-c-wishlistProduct__title { font-size: 16px; }
	body.fs-body-cart .fs-c-wishlistProduct .fs-c-productListItem__image img { width: 150px; height: 150px; }
	body.fs-body-cart .fs-c-wishlistProduct .fs-c-productListItem__productName a { font-size: 12px; }
	body.fs-body-cart .fs-c-wishlistProduct .fs-c-productPrice--selling .fs-c-price { font-size: 13px; }
}

/* カート内の商品リストセクション（閲覧履歴・お気に入り・おすすめ商品）
   パーツ設計で .cartarea_itemsection にwrap済み（2026-09-01 松木さん）。
   見出し・余白はこのラッパー基準で統一する（JSでの判別は不要） */
body.fs-body-cart .cartarea_itemsection { margin-top: 24px; }
body.fs-body-cart .cartarea_itemsection .fs-p-heading--lv2,
body.fs-body-cart .cartarea_itemsection h2:not(.fs-c-productListItem__productName) {
	font-size: 15px;
	font-weight: 700;
	border: none;
	background: transparent;
	padding: 0;
	margin: 0 0 10px;
	color: #17191B;
	text-align: left;
}
@media screen and (min-width: 641px) {
	body.fs-body-cart .cartarea_itemsection .fs-p-heading--lv2,
	body.fs-body-cart .cartarea_itemsection h2:not(.fs-c-productListItem__productName) { font-size: 16px; }
}

/* ===================================================
   ② 購入分岐（fs-body-cart-login）
   2026-09-01 FSパーツ準拠化: 2カード構造はレイアウトのclass設定で出力し、
   JSのDOM移設を廃止した。
   - ログイン情報表示エリア       = fs-c-loginForm ＋ mk-branch
   - ゲスト購入エリア（新規）     = mk-branch__card mk-branch__card--guest
     （中身: フリーパーツ見出し → ログインせずに購入表示 → フリーパーツ安心文言）
   - futureshop会員エリア         = fs-c-registeredUsers fs-c-subSection
                                    ＋ mk-branch__card mk-branch__card--login
   - Amazonログインエリア（新規） = mk-amazon（フリーパーツ説明＋他社サービスログイン）
   レイアウトのDOM順は ゲスト → 会員（SP通常時の表示順そのまま）。
   エラー時はJSが body に mk-login-error を付けるだけ（順序・強調はCSSが担う）。
=================================================== */
/* ⛔ 2026-09-03 実機ソースで確認: このレイアウト（ショッピングカートログイン）には
      `会員登録誘導表示` パーツが**入っていない**ため `.fs-c-newUsers` は出力されない。
      ゲスト側は「ログインせずに購入表示」が担っている。→ 指定ごと削除した。
      ※「外せない」という確認はマイページログイン側のレイアウトについてのもので、
        そちらは表示させる（新規会員登録カードとして必要）。 */

body.fs-body-cart-login .mk-branch { display: flex; flex-direction: column; gap: 14px; margin-top: 14px; }
/* エラー時: SPは会員カード（入力し直す場所）を先頭へ */
body.mk-login-error .mk-branch .mk-branch__card--login { order: -1; }
@media screen and (min-width: 641px) {
	body.fs-body-cart-login .mk-branch {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: stretch;
		gap: 24px;
		max-width: 1200px;
		margin: 20px auto 0;
	}
	/* PCは常に 会員が左・ゲストが右（DOM順=ゲスト→会員なので order で入替） */
	body.fs-body-cart-login .mk-branch .mk-branch__card--login { order: 1; }
	body.fs-body-cart-login .mk-branch .mk-branch__card--guest { order: 2; }
	body.fs-body-cart-login .mk-branch__card { flex: 1 1 0; min-width: 0; }
	/* Amazonエリア・カートに戻るをmk-branch内に置いた場合は全幅で最後に折り返す
	   （外に置いた場合は各既定スタイル。orderを振らないと flex の order:0 で先頭に出てしまう） */
	body.fs-body-cart-login .mk-branch .mk-amazon { flex: 1 1 100%; order: 3; margin: 0; }
	body.fs-body-cart-login .mk-branch .mk-backlink { flex: 1 1 100%; order: 4; }
}
body.fs-body-cart-login .mk-branch__card {
	background: #FAFBFB;
	border: 1px solid #ECEEF0;
	border-radius: 8px;
	padding: 16px;
	box-sizing: border-box;
	/* FS既定のsection margin-bottom:24pxが残るとPCでカード高さが揃わない */
	margin: 0;
}
@media screen and (min-width: 641px) {
	body.fs-body-cart-login .mk-branch__card { padding: 28px 32px; }
}
body.fs-body-cart-login .mk-branch__title { font-size: 16px; font-weight: 700; color: #17191B; }
@media screen and (min-width: 641px) {
	body.fs-body-cart-login .mk-branch__title { font-size: 18px; }
}
body.fs-body-cart-login .mk-branch__note { margin-top: 10px; font-size: 12px; color: #6D7276; line-height: 1.7; }
/* エラー時のゲストカード強調＋アラート（アラートはフリーパーツに常設し通常時は非表示） */
body.fs-body-cart-login .mk-branch__alert { display: none; margin-top: 10px; font-size: 13px; font-weight: 700; color: #D81F24; }
body.mk-login-error .mk-branch__alert { display: block; }
body.mk-login-error .mk-branch__card--guest { border-left: 4px solid #D81F24; }
@media screen and (min-width: 641px) {
	body.mk-login-error .mk-branch__alert { font-size: 14px; }
}

/* ゲスト購入ボタン: FSネイティブの a.fs-c-button--guestPurchase をそのままCTA化
   （文言はコマクリ＞ボタン設定「ログインせずに購入-注文」が正。JSの書き換えは保険のみ） */
body.fs-body-cart-login .fs-c-guestPurchase { border: none; margin: 0; padding: 0; }
body.fs-body-cart-login .fs-c-buttonContainer--guestPurchase { padding: 0; margin: 12px 0 0; }
body.fs-body-cart-login .fs-c-button--guestPurchase {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	min-width: 0;
	max-width: none;
	height: 56px;
	padding: 0;
	border: none;
	border-radius: 6px;
	background: #1A6B3C;
	color: #FFFFFF !important;
	font-size: 17px;
	font-weight: 700;
	text-decoration: none;
	box-shadow: none;
	box-sizing: border-box;
	cursor: pointer;
}
body.fs-body-cart-login .fs-c-button--guestPurchase:hover { background: #0F4526; color: #FFFFFF; }
body.fs-body-cart-login .fs-c-button--guestPurchase::after { content: "›"; font-size: 18px; line-height: 1; }
body.fs-body-cart-login .fs-c-button--guestPurchase .fs-c-button__label { line-height: 1; display: inline-block; vertical-align: middle; }
@media screen and (min-width: 641px) {
	body.fs-body-cart-login .fs-c-buttonContainer--guestPurchase { max-width: 400px; }
}

/* 会員ログインフォームの整形
   ✅ 2026-09-03: FS出力の見出し「会員登録がお済みのお客様」は
      **メッセージ設定「ショッピングカートログイン ＞ ログイン見出し」を空にして消した。**
      実機ソースで `.fs-c-subSection__title` が出力されなくなったことを確認したため、
      CSSの display:none を削除した（表示・非表示はFSの機能で行うのが正）。
      見出しはフリーパーツ .mk-branch__title が正本。 */
/* エラーパネル: レイアウトで「エラー表示」を futureshop会員エリア の中
   （分岐_会員見出し と ログインパーツ の間）へ置く。JS(initLogin)の移設は保険で残す。
   ⚠️ 器（#fs-page-error-container）は display:contents。エラーが無いときに
      空のdivが余白を作らないようにするため（マイページログインと同じ扱い）。 */
body.fs-body-cart-login .mk-branch__card--login > #fs-page-error-container { display: contents; }
body.fs-body-cart-login .mk-branch__card--login .fs-c-panel--error {
	margin: 12px 0 0;
	background: #FBEAEA;
	border: 1px solid #F0C2C3;
	border-radius: 6px;
	padding: 10px 12px;
	font-size: 12px;
	font-weight: 700;
	color: #D81F24;
	line-height: 1.6;
}
body.fs-body-cart-login .mk-branch__card--login .fs-c-panel--error * { color: #D81F24; font-size: 12px; }
/* 文は左寄せ（ご注文手続き・マイページログインと揃える。2026-09-03）。
   FS既定の罠2つ: ① li が display:flex + justify-content:center で中央に寄る
                  ② ::before のアイコンが position:absolute; left:8px なので左paddingで逃がす */
body.fs-body-cart-login .mk-branch__card--login .fs-c-panel--error .fs-c-panel__contentList__item { justify-content: flex-start; }
body.fs-body-cart-login .mk-branch__card--login .fs-c-panel--error,
body.fs-body-cart-login .mk-branch__card--login .fs-c-panel--error ul,
body.fs-body-cart-login .mk-branch__card--login .fs-c-panel--error li,
body.fs-body-cart-login .mk-branch__card--login .fs-c-panel--error p { text-align: left; }
body.fs-body-cart-login .mk-branch__card--login .fs-c-panel--error { padding: 12px 14px 12px 36px; }
body.mk-login-error .mk-branch__card--login input[type="text"],
body.mk-login-error .mk-branch__card--login input[type="password"] { border-color: #D81F24; }
body.fs-body-cart-login .mk-branch__card--login .fs-c-inputTable th,
body.fs-body-cart-login .mk-branch__card--login .fs-c-inputTable td { display: block; border: none; background: transparent; padding: 0; text-align: left; }
body.fs-body-cart-login .mk-branch__card--login .fs-c-inputTable tr { display: block; margin-top: 12px; }
body.fs-body-cart-login .mk-branch__card--login .fs-c-inputTable { width: 100%; border: none; }
body.fs-body-cart-login .mk-branch__card--login .fs-c-inputTable__label,
body.fs-body-cart-login .mk-branch__card--login .fs-c-inputTable th label { font-size: 12px; color: #3D4246; font-weight: 400; }
body.fs-body-cart-login .mk-branch__card--login input[type="text"],
body.fs-body-cart-login .mk-branch__card--login input[type="password"] { width: 100%; padding: 0 12px; margin-top: 4px; }
/* FS既定の #fs_form margin-top:30px を除去
   （見出し直後が空きすぎ＋ゲスト側CTAと開始位置がずれる。除去すると両カードとも
     「見出し→12px→最初の要素」で左右が揃う） */
body.fs-body-cart-login .mk-branch__card--login #fs_form { margin: 0; }
/* フォーカス時: FS既定の水色inset影を消し、枠は緑のみ */
body.fs-body-cart-login .mk-branch__card--login input[type="text"]:focus,
body.fs-body-cart-login .mk-branch__card--login input[type="password"]:focus {
	border-color: #1A6B3C;
	box-shadow: none;
	outline: none;
}
/* パスワード欄: FS既定の fs-c-inputGroup（枠#ccc・高さ50px）と input の二重枠を解消。
   枠はinput側に統一し、パスワード表示切替ボタンはinputの右端に重ねる */
body.fs-body-cart-login .mk-branch__card--login .fs-c-inputGroup {
	position: relative;
	display: block;
	border: none;
	background: transparent;
	padding: 0;
}
body.fs-body-cart-login .mk-branch__card--login .fs-c-inputGroup input[type="password"],
body.fs-body-cart-login .mk-branch__card--login .fs-c-inputGroup input[type="text"] { padding-right: 44px; }
body.fs-body-cart-login .mk-branch__card--login .fs-c-button--displayPassword {
	position: absolute;
	top: 50%;
	right: 6px;
	transform: translateY(-50%);
	margin: 0;
}
/* 「パスワードをお忘れですか？」: FS既定の右寄せ→ボタン幅内センター */
body.fs-body-cart-login .mk-branch__card--login .fs-c-inputInformation__link {
	text-align: center;
	margin-top: 10px;
}
@media screen and (min-width: 641px) {
	body.fs-body-cart-login .mk-branch__card--login .fs-c-inputTable,
	body.fs-body-cart-login .mk-branch__card--login .fs-c-buttonContainer,
	body.fs-body-cart-login .mk-branch__card--login .fs-c-inputInformation__link { max-width: 400px; }
}
body.fs-body-cart-login .mk-branch__card--login .fs-c-inputInformation__field {
	background: transparent;
	border: none;
	padding: 0;
	margin: 0;
}
body.fs-body-cart-login .fs-c-button--login {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 50px;
	margin-top: 14px;
	border: 1px solid #1A6B3C;
	border-radius: 6px;
	background: #FFFFFF;
	color: #1A6B3C;
	font-size: 15px;
	font-weight: 700;
	box-shadow: none;
	cursor: pointer;
}
body.fs-body-cart-login .fs-c-button--login:hover { background: #F1F6F3; }
/* 確定ボタンの上余白は 18px に統一（2026-09-04 松木さん判断。統一値の根拠は
   00_共通/Futureshopシステム領域_基本.md「確定ボタンの上余白は18px」） */
/* ⚠️ FS標準は `.fs-c-inputInformation__button { margin: 32px 0 }`（2026-09-04 実測）。
      放置すると購入フローだけ32pxになり、マイページ系の18pxとずれる */
body.fs-body-cart-login .fs-c-buttonContainer--login { margin: 18px 0 0; padding: 0; }

/* Amazonブロック（レイアウトパーツ「Amazonログインエリア」class=mk-amazon。
   中身: フリーパーツ説明（.mk-amazon__text）＋他社サービスログインエリア(カート)） */
body.fs-body-cart-login .mk-amazon {
	background: #FFFFFF;
	border: 1px solid #ECEEF0;
	border-radius: 8px;
	padding: 16px;
	margin-top: 14px;
	box-sizing: border-box;
}
@media screen and (min-width: 641px) {
	body.fs-body-cart-login .mk-amazon {
		display: flex;
		align-items: center;
		gap: 32px;
		max-width: 1200px;
		margin: 24px auto 0;
		padding: 22px 32px;
	}
	body.fs-body-cart-login .mk-amazon__text { flex: 1; }
	body.fs-body-cart-login .mk-amazon .fs-c-otherServiceLogin { flex: 0 0 300px; margin: 0; }
}
body.fs-body-cart-login .mk-amazon__desc { margin-top: 6px; font-size: 12px; color: #6D7276; line-height: 1.7; }
@media screen and (min-width: 641px) {
	body.fs-body-cart-login .mk-amazon__desc { font-size: 13px; }
}
/* ✅ 2026-09-03: 連携ログインの見出し「連携サービスでログイン・会員登録」は
      **メッセージ設定「ショッピングカートログイン ＞ 連携ログイン見出し」を空にして消した。**
      実機ソースで `.fs-c-otherServiceLogin__title` が出力されなくなったことを確認し、
      CSSの display:none を削除した。見出しはフリーパーツ .mk-branch__title が正本。 */
@media screen and (max-width: 640px) {
	body.fs-body-cart-login .mk-amazon .fs-c-otherServiceLogin { margin-top: 12px; }
}
body.fs-body-cart-login .mk-amazon .fs-c-anotherLogin { margin: 0; }

/* ===================================================
   ③ お客様情報入力（fs-body-customerDetails）
=================================================== */
@media screen and (min-width: 641px) {
	body.fs-body-customerDetails .fs-c-inputInformation { max-width: 640px; margin: 0 auto; }
}
body.fs-body-customerDetails .fs-c-inputInformation__field {
	background: #FAFBFB;
	border: 1px solid #ECEEF0;
	border-radius: 8px;
	padding: 16px;
	box-sizing: border-box;
}
@media screen and (min-width: 641px) {
	body.fs-body-customerDetails .fs-c-inputInformation__field { padding: 28px 32px; }
}

/* テーブル→縦積みフォーム */
body.fs-body-customerDetails .fs-c-inputTable { width: 100%; border: none; }
body.fs-body-customerDetails .fs-c-inputTable tbody { display: block; }
body.fs-body-customerDetails .fs-c-inputTable tr { display: block; margin-bottom: 14px; }
body.fs-body-customerDetails .fs-c-inputTable th,
body.fs-body-customerDetails .fs-c-inputTable td {
	display: block;
	border: none;
	background: transparent;
	padding: 0;
	text-align: left;
	width: auto;
}
body.fs-body-customerDetails .fs-c-inputTable th { margin-bottom: 4px; font-size: 12px; color: #3D4246; font-weight: 400; }
body.fs-body-customerDetails .fs-c-requiredMark { color: #D81F24; font-size: 10px; font-weight: 700; }
body.fs-body-customerDetails .fs-c-inputField__field { display: flex; gap: 8px; }
body.fs-body-customerDetails .fs-c-inputField__field > * { flex: 1; min-width: 0; }
body.fs-body-customerDetails .fs-c-inputTable input[type="text"],
body.fs-body-customerDetails .fs-c-inputTable input[type="tel"],
body.fs-body-customerDetails .fs-c-inputTable input[type="password"] { width: 100%; padding: 0 12px; }
body.fs-body-customerDetails .fs-c-inputTable select { height: 44px; width: 100%; padding: 0 10px; font-size: 14px; }
body.fs-body-customerDetails .fs-c-inputField__explanation { font-size: 11px; color: #8A8F94; margin-top: 4px; }

/* 会員登録ブロック（第1のagreementConfirmationをカード化） */
body.fs-body-customerDetails .mk-memcard {
	background: #FAFBFB;
	border: 1px solid #ECEEF0;
	border-radius: 8px;
	padding: 16px;
	margin-top: 16px;
	box-sizing: border-box;
}
@media screen and (min-width: 641px) {
	body.fs-body-customerDetails .mk-memcard { padding: 24px 32px; }
}
body.fs-body-customerDetails .mk-memcard .fs-c-checkbox__labelText { font-size: 14px; font-weight: 700; line-height: 1.5; }
body.fs-body-customerDetails .mk-memcard .fs-c-agreementConfirmation__password__input { max-width: 400px; display: flex; gap: 8px; align-items: center; }
body.fs-body-customerDetails .mk-memcard .fs-c-agreementConfirmation__password__input input { flex: 1; min-width: 0; padding: 0 12px; }
body.fs-body-customerDetails .mk-memcard .fs-c-agreementConfirmation__addon__message { font-size: 12px; color: #3D4246; margin: 12px 0 4px; }
body.fs-body-customerDetails .fs-c-agreementConfirmationArea > .fs-c-agreementConfirmation + .fs-c-agreementConfirmation { margin-top: 14px; }
body.fs-body-customerDetails .fs-c-agreementConfirmation .fs-c-checkbox__labelText { font-size: 13px; color: #3D4246; }
body.fs-body-customerDetails .fs-c-privacyPolicyAgreeField { margin-top: 10px; border: none; padding: 0; }
body.fs-body-customerDetails .fs-c-privacyPolicyAgreeField .fs-c-checkbox__labelText { font-size: 13px; color: #3D4246; }
body.fs-body-customerDetails .mk-memperks { margin-top: 12px; display: flex; flex-direction: column; gap: 8px; }
body.fs-body-customerDetails .mk-memperks__row { display: flex; align-items: center; gap: 8px; font-size: 12px; color: #3D4246; }
body.fs-body-customerDetails .mk-pbadge {
	width: 18px; height: 18px; border-radius: 50%;
	background: #1A6B3C; color: #FFFFFF;
	font-size: 11px; font-weight: 700;
	display: flex; align-items: center; justify-content: center; flex: 0 0 auto;
}
body.fs-body-customerDetails .mk-cbadge {
	width: 18px; height: 18px; border-radius: 50%;
	background: #FFFFFF; border: 1px solid #1A6B3C; color: #1A6B3C;
	font-size: 11px; font-weight: 700;
	display: flex; align-items: center; justify-content: center; flex: 0 0 auto;
	box-sizing: border-box;
}
body.fs-body-customerDetails .mk-memon { margin-top: 12px; font-size: 12px; color: #6D7276; line-height: 1.7; }
body.fs-body-customerDetails .mk-memoff {
	display: none;
	margin-top: 12px;
	background: #FFFFFF;
	border: 1px solid #E3E5E7;
	border-radius: 6px;
	padding: 10px 12px;
	font-size: 12px;
	color: #3D4246;
	line-height: 1.7;
}
body.fs-body-customerDetails .mk-memoff__sub { color: #8A8F94; }
body.fs-body-customerDetails .fs-c-memberInfoField.mk-mem--off .mk-memoff { display: block; }
body.fs-body-customerDetails .fs-c-memberInfoField.mk-mem--off .mk-memon { display: none; }
body.fs-body-customerDetails .fs-c-memberInfoField.mk-mem--off .mk-memperks { display: none; }

/* 次へボタン */
body.fs-body-customerDetails .fs-c-button--registerAndContinue,
body.fs-body-customerDetails .fs-c-button--next {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 400px;
	height: 56px;
	margin: 0 auto;
	border: none;
	border-radius: 6px;
	background: #F07800;
	color: #FFFFFF;
	font-size: 17px;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 2px 6px rgba(240, 120, 0, 0.35);
}
body.fs-body-customerDetails .fs-c-button--registerAndContinue:hover,
body.fs-body-customerDetails .fs-c-button--next:hover { background: #D96C00; }
body.fs-body-customerDetails .fs-c-inputInformation__button { margin-top: 18px; }   /* 統一値（2026-09-04） */

/* ===================================================
   ④ ご注文手続き（fs-body-checkout / fs-body-checkout-amazon）
   ⚠️ 2026-09-02: ご注文手続きは**テンプレートが3種類**あり、bodyクラスが違う。
      単数/複数 = fs-body-checkout ／ **Amazon = fs-body-checkout-amazon**（実測）。
      `.fs-body-checkout` は `-amazon` にマッチしないため、
      **Amazon経由の注文では購入フロー再設計が丸ごと効いていなかった。**
      以降このセクションのゲートは body:is(.fs-body-checkout, .fs-body-checkout-amazon)。
      （:is() の詳細度は引数の最大値なので (0,1,1) のまま変わらない）
=================================================== */
@media screen and (min-width: 641px) {
	body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-l-checkout {
		display: flex;
		gap: 24px;
		align-items: flex-start;
		max-width: 1200px;
		margin: 0 auto;
	}
	body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-l-checkout__mainColumn { flex: 1; min-width: 0; width: auto; float: none; }
	body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-l-checkout__sideColumn {
		flex: 0 0 380px;
		width: 380px;
		float: none;
		position: sticky;
		top: 16px;
	}
	/* セクションは1カラム（全幅）。
	   🔴 2026-09-02: 元は「お客様情報｜お届け先」「クーポン｜配送方法」の2列だったが、
	      **1カラムに変更**（松木さん判断）。理由: セクションごとに情報量が大きく違い
	      （Amazonは各セクションに説明文が入る／複数は商品一覧と送料表を内包）、
	      **2列では左右の高さが揃わず段差ができる**。テンプレート別に調整しても破綻するため
	      3テンプレート共通で成立する1カラムに寄せた。
	      右カラム（お支払い金額＋確定CTA）は sticky なので縦に長くてもCTAは常に見える。 */
	body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-l-checkout__mainColumn { display: grid; grid-template-columns: 1fr; gap: 16px; align-items: start; }
	/* ラッパーdivのFS既定margin-top(24px)が残ると2列の開始位置がずれる → 行間はgapに一本化 */
	body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-l-checkout__mainColumn > * { grid-column: 1 / -1; min-width: 0; margin-top: 0; margin-bottom: 0; }
	body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-l-checkout__mainColumn > div > .fs-c-checkout-preview { height: 100%; }
	body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-l-checkout__mainColumn > .mk-gridskip { display: none; }
}

/* セクションカード */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-preview {
	background: #FAFBFB;
	border: 1px solid #ECEEF0;
	border-radius: 8px;
	padding: 14px 16px;
	margin-bottom: 14px;
	position: relative;
	box-sizing: border-box;
}
@media screen and (min-width: 641px) {
	body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-preview { padding: 18px 20px; margin-bottom: 0; }
}
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-preview__title {
	font-size: 16px;
	font-weight: 700;
	color: #17191B;
	background: transparent;
	border: none;
	padding: 0;
	margin: 0 0 8px;
	text-align: left;
}
@media screen and (min-width: 641px) {
	body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-preview__title { font-size: 18px; }
}
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-preview__body { font-size: 13px; color: #3D4246; line-height: 1.7; }
/* 氏名（ruby=氏名・rt=フリガナ）・住所・電話をデザインの13pxに統一 */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-preview__body ruby { font-size: 13px; font-weight: 400; letter-spacing: normal; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-preview__body ruby rt { font-size: 10px; color: #8A8F94; font-weight: 400; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-preview__body .fs-c-address__zipCode,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-preview__body .fs-c-address__addressWhole,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-preview__body .fs-c-string,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-preview__body p { font-size: 12px; }
/* お届け先の「（ご自宅）」ラベルもFS既定18px→本文と同じ13px */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-destination__name__home,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-homeLabel { font-size: 13px; font-weight: 400; }
/* 配送方法名（h4）・説明 */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-delivery__method__title {
	font-size: 14px;
	font-weight: 700;
	color: #3D4246;
	margin: 0;
	padding: 0;
	background: transparent;
	border: none;
}
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-delivery__method__message p { font-size: 12px; color: #6D7276; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-preview__body table,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-preview__body th,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-preview__body td,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-preview__body dl,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-preview__body dt,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-preview__body dd { background: transparent; border: none; }

/* 変更ボタン */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-button--change--small {
	position: absolute;
	top: 10px;
	right: 12px;
	height: 40px;
	padding: 0 16px;
	border: 1px solid #1A6B3C;
	border-radius: 6px;
	background: #FFFFFF;
	color: #1A6B3C;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	box-shadow: none;
}
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-button--change--small:hover { background: #F1F6F3; }
@media screen and (min-width: 641px) {
	body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-button--change--small { height: 36px; top: 14px; right: 16px; }
}

/* 支払い方法カード型 */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-paymentMethodList { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
@media screen and (min-width: 641px) {
	body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-paymentMethodList { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; align-items: start; }
}
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-paymentMethod {
	border: 1px solid #E3E5E7;
	border-radius: 6px;
	background: #FFFFFF;
	padding: 12px;
	box-sizing: border-box;
}
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-paymentMethod.is-selected,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-paymentMethod:has(.fs-c-radio__radio:checked) { border: 2px solid #1A6B3C; padding: 11px; }
/* FS既定は選択中タイトルに bg#666＋白文字を高詳細度で当てるため !important で無効化
   （2026-09-01 実測: モーダルを閉じた後にタイトル背景が黒くなる） */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-paymentMethod__title { border: none; background: transparent !important; color: #17191B !important; padding: 0 !important; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-paymentMethod__title .fs-c-radio__label { color: inherit !important; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-paymentMethod .fs-c-radio__radioLabelText { font-size: 14px; color: #3D4246; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-paymentMethod.is-selected .fs-c-radio__radioLabelText,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-paymentMethod:has(.fs-c-radio__radio:checked) .fs-c-radio__radioLabelText { font-weight: 700; color: #17191B; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-paymentMethod__message { margin-top: 8px; font-size: 11px; color: #6D7276; line-height: 1.6; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-paymentMethod__body { padding: 0; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-button--inputCreditCardData {
	width: 100%;
	height: 44px;
	margin-top: 10px;
	border: 1px solid #1A6B3C;
	border-radius: 6px;
	background: #FFFFFF;
	color: #1A6B3C;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	box-shadow: none;
}
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-button--inputCreditCardData:hover { background: #F1F6F3; }
@media screen and (min-width: 641px) {
	body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-button--inputCreditCardData { height: 40px; }
}
/* 代引不可などの注意メッセージ（エラー赤にしない） */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-paymentInfo__message p,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-paymentInfo__body > p {
	font-size: 12px;
	color: #6D7276;
}

/* クーポン */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-couponCodeInput { display: flex; gap: 8px; align-items: center; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-couponCodeInput input[type="text"] { flex: 1; min-width: 0; padding: 0 12px; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-couponCodeInput button {
	flex: 0 0 auto;
	height: 44px;
	padding: 0 16px;
	border: 1px solid #1A6B3C;
	border-radius: 6px;
	background: #FFFFFF;
	color: #1A6B3C;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	box-shadow: none;
}
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-couponCodeInput button:hover { background: #F1F6F3; }

/* 通信欄 */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .mk-commlead { font-size: 12px; color: #6D7276; margin: 0 0 6px; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .mk-commpreview {
	background: #FFFFFF;
	border: 1px solid #E3E5E7;
	border-radius: 6px;
	padding: 10px 12px;
	font-size: 12px;
	color: #3D4246;
	line-height: 1.7;
	white-space: pre-wrap;
	margin-top: 10px;
}
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-communicationInfo .fs-c-checkout-previewAndEdit { display: block; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-communicationInfo .fs-c-checkout-previewAndEdit__info { width: 100%; box-sizing: border-box; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-communicationInfo .fs-c-checkout-previewAndEdit__button { margin-top: 10px; text-align: left; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .mk-commbtn {
	position: static;
	display: block;
	width: 100%;
	height: 48px;
	margin-top: 0;
}
@media screen and (min-width: 641px) {
	body:is(.fs-body-checkout, .fs-body-checkout-amazon) .mk-commbtn { display: inline-block; width: auto; height: 44px; padding: 0 18px; }
	body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-communicationInfo .mk-ctanote { display: inline-block; margin: 0 0 0 12px; text-align: left; vertical-align: middle; }
}

/* ご注文内容（カートテーブル流用の読み取り表示） */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-orderInfo .fs-c-cartTable { width: 100%; border: none; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-orderInfo .fs-c-cartTable thead { display: none; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-orderInfo .fs-c-cartTable tbody { display: block; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-orderInfo .fs-c-cartTable__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 4px 16px;
	align-items: center;
	border-bottom: 1px solid #ECEEF0;
	padding: 10px 0;
	background: transparent;
}
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-orderInfo .fs-c-cartTable__dataCell { display: block; border: none; background: transparent; padding: 0; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-orderInfo .fs-c-cartTable__dataCell--product { grid-row: 1 / 3; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-orderInfo .fs-c-cartTable__dataCell--quantity { text-align: right; font-size: 12px; color: #6D7276; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-orderInfo .fs-c-cartTable__dataCell--quantity::before { content: "数量 "; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-orderInfo .fs-c-cartTable__dataCell--subtotal { text-align: right; font-size: 15px; font-weight: 700; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-orderInfo .fs-c-cartTable__dataCell--point { display: none; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-orderInfo .fs-c-cartTable__product { display: flex; gap: 12px; align-items: center; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-orderInfo .fs-c-cartTable__productImage { flex: 0 0 auto; margin: 0; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-orderInfo .fs-c-cartTable__productImage img {
	width: 56px; height: 56px; object-fit: contain;
	background: #FFFFFF; border: 1px solid #ECEEF0; border-radius: 6px; box-sizing: border-box;
}
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-orderInfo .fs-c-cartTable__productInfo { min-width: 0; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-orderInfo .fs-c-cartTable__productName a,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-orderInfo .fs-c-listedProductName__name {
	font-size: 13px; line-height: 1.5; color: #17191B; text-decoration: none;
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
}
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-orderInfo .fs-c-listedProductName__variation {
	display: inline-block; margin-top: 6px; font-size: 11px; color: #3D4246;
	background: #FFFFFF; border: 1px solid #E3E5E7; border-radius: 4px; padding: 2px 8px;
}
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-orderInfo .fs-c-cartTable__unitPrice { margin-top: 4px; font-size: 12px; font-weight: 700; color: #D81F24; }
/* ⚠️ 2026-09-02: セレクタに `.fs-c-checkout-orderInfo .fs-c-button--change--small` を追加した。
   このボタンはカート画面へ戻る <a> で、モーダルを開く他の「変更」とは意味が違うため
   **カード下部**に置く設計。従来は JS が付ける .mk-orderchange だけを見ていたので、
   **スクリプトが入っていないテンプレート（複数など）ではカード右上に絶対配置されたまま**になり、
   単数と位置が食い違っていた。CSSだけで位置が決まるようにする（設計方針「レイアウトはCSSのみで成立」）。 */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .mk-orderchange,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-orderInfo .fs-c-button--change--small {
	position: static;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 44px;
	margin-top: 12px;
	border: 1px solid #E3E5E7;
	color: #3D4246;
}
/* FSボタンのlabelはline-heightが大きく枠の上にはみ出す（カートCTAと同事象） */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .mk-orderchange .fs-c-button__label,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-orderInfo .fs-c-button--change--small .fs-c-button__label { line-height: 1; display: inline-block; vertical-align: middle; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .mk-orderchange:hover,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-orderInfo .fs-c-button--change--small:hover { background: #F2F4F5; }
@media screen and (min-width: 641px) {
	body:is(.fs-body-checkout, .fs-body-checkout-amazon) .mk-orderchange,
	body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-orderInfo .fs-c-button--change--small { display: inline-flex; width: auto; height: 40px; padding: 0 18px; }
	/* 補足「カート画面に移動します…」をボタンの右横に */
	body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-orderInfo .mk-ctanote { display: inline-block; margin: 0 0 0 12px; text-align: left; vertical-align: middle; }
}

/* 右カラム: お支払い金額＋確定CTA */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-l-checkout__sideColumn .fs-c-checkout-preview { margin-bottom: 0; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-orderTotalTable { width: 100%; border: none; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-orderTotalTable th,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-orderTotalTable td {
	border: none; background: transparent;
	font-size: 13px; color: #3D4246; padding: 4px 0;
}
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-orderTotalTable td { text-align: right; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-orderTotalTable tr[class*="grandTotal"] th,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-orderTotalTable tr[class*="total"]:last-child th { font-size: 14px; font-weight: 700; color: #17191B; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-orderTotalTable tr[class*="grandTotal"] td,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-orderTotalTable tr[class*="total"]:last-child td { font-size: 26px; font-weight: 900; color: #D81F24; }
@media screen and (min-width: 641px) {
	body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-orderTotalTable tr[class*="grandTotal"] td { font-size: 28px; }
}
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-button--confirmOrder {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	height: 56px;
	margin-top: 14px;
	border: none;
	border-radius: 6px;
	background: #F07800;
	color: #FFFFFF;
	font-size: 17px;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 2px 6px rgba(240, 120, 0, 0.35);
}
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-button--confirmOrder:hover { background: #D96C00; }

/* モーダル（4種: buyer / changeShippingAddress / deliveryMethod / communication）
   ⚠️ FSのモーダルルートは aside.fs-c-modal--medium.fs-c-modal--checkout-* で
   基底クラス .fs-c-modal は付かない（2026-09-01 実測）。
   子孫スコープは aside[class*="fs-c-modal--"] を使うこと */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-modal__inner {
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 16px 48px rgba(23, 25, 27, 0.3);
}
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-modal__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 16px;
	border-bottom: 1px solid #ECEEF0;
	background: #FFFFFF;
}
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-modal__title { font-size: 15px; font-weight: 700; color: #17191B; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-modal__close { color: #8A8F94; border-radius: 6px; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-modal__close:hover { background: #F2F4F5; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] input[type="text"],
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] input[type="tel"],
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] input[type="password"] { padding: 0 12px; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] textarea {
	border: 1px solid #E3E5E7;
	border-radius: 6px;
	font-size: 13px;
	line-height: 1.7;
	padding: 10px 12px;
	box-sizing: border-box;
	width: 100%;
	min-height: 320px;
}
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] textarea:focus { border-color: #1A6B3C; outline: none; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-button--cancel,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] button[class*="cancel"] {
	height: 44px;
	border: 1px solid #E3E5E7;
	border-radius: 6px;
	background: #FFFFFF;
	color: #3D4246;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	box-shadow: none;
}
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-button--cancel:hover,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] button[class*="cancel"]:hover { background: #F2F4F5; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-button--settings,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] button[class*="settings"],
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] button[class*="commit"] {
	height: 44px;
	border: none;
	border-radius: 6px;
	background: #1A6B3C;
	color: #FFFFFF;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	box-shadow: none;
}
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-button--settings:hover,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] button[class*="settings"]:hover,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] button[class*="commit"]:hover { background: #0F4526; }


/* モーダル: 幅・中身の整形（2026-09-01 デザイン適用） */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--checkout-buyer"] .fs-c-modal__inner,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--changeShippingAddress"] .fs-c-modal__inner,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--checkout-deliveryMethod"] .fs-c-modal__inner,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--checkout-communication"] .fs-c-modal__inner {
	max-width: 520px;
	background: #FFFFFF;
}
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-modal__contents { padding: 16px; }
/* 入力表: FS既定のグレー帯(th)をやめ、ラベル上・入力下の縦積みに */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-inputTable--inModal,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-inputTable--inModal tbody { display: block; width: 100%; border: none; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-inputTable--inModal tr { display: block; margin-top: 12px; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-inputTable--inModal tr:first-child { margin-top: 0; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-inputTable--inModal th,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-inputTable--inModal td {
	display: block;
	background: transparent;
	border: none;
	padding: 0;
	text-align: left;
	width: auto;
}
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-inputTable--inModal th { font-size: 12px; color: #3D4246; font-weight: 400; margin-bottom: 4px; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-inputTable--inModal th label { font-size: 12px; color: #3D4246; font-weight: 400; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-requiredMark { color: #D81F24; font-size: 10px; font-weight: 700; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] select { height: 44px; padding: 0 10px; font-size: 14px; }
/* フッター: キャンセル左・設定右（DOM順は設定→キャンセルのためorderで入替） */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-buttonContainer--pair {
	display: flex;
	gap: 10px;
	padding: 14px 0 0;
	margin-top: 14px;
	border-top: 1px solid #ECEEF0;
}
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-buttonContainer--pair .fs-c-button--cancel { flex: 1; order: 1; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-buttonContainer--pair .fs-c-button--settings { flex: 1; order: 2; }
/* お届け先・配送方法のラジオカード */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-checkout-checkoutMethodList { list-style: none; margin: 0; padding: 0; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-checkout-checkoutMethod,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-checkout-deliveryMethod {
	border: 1px solid #E3E5E7;
	border-radius: 6px;
	background: #FFFFFF;
	padding: 12px;
	margin-top: 10px;
	box-sizing: border-box;
}
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-checkout-checkoutMethod:first-child,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-checkout-deliveryMethod:first-child { margin-top: 0; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-checkout-checkoutMethod.is-active,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-checkout-deliveryMethod.is-active { border: 2px solid #1A6B3C; padding: 11px; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-checkout-checkoutMethod .fs-c-radio__radioLabelText,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-checkout-deliveryMethod .fs-c-radio__radioLabelText { font-size: 14px; color: #3D4246; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-checkout-checkoutMethod.is-active .fs-c-radio__radioLabelText,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-checkout-deliveryMethod.is-active .fs-c-radio__radioLabelText { font-weight: 700; color: #17191B; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-checkout-deliveryMethod__message,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-checkout-checkoutMethod__message { font-size: 12px; color: #3D4246; line-height: 1.7; }
/* 通信欄モーダル: 案内文とテンプレ全文が見えるtextarea高さ */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-inputInformation__message { font-size: 12px; color: #3D4246; line-height: 1.7; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--checkout-communication"] textarea { min-height: 480px; }

/* 獲得ポイント行（会員のみ表示）: カート右カラムと同じ緑Pバッジ様式
   FSの行クラス（__getPoint系）とJS付与のmk-getpointの両建て
   （「ポイント」の文字はJSが付記＝スクリプト貼り替えが必要） */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-orderTotalTable tr.mk-getpoint th,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-orderTotalTable tr[class*="getPoint"] th,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-orderTotalTable tr.mk-getpoint td,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-orderTotalTable tr[class*="getPoint"] td {
	border-top: 1px solid #ECEEF0;
	padding-top: 8px;
}
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-orderTotalTable tr.mk-getpoint th,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-orderTotalTable tr[class*="getPoint"] th { font-size: 12px; color: #3D4246; font-weight: 400; vertical-align: middle; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-orderTotalTable tr.mk-getpoint td,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-orderTotalTable tr[class*="getPoint"] td { font-size: 13px; font-weight: 700; color: #1A6B3C; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-orderTotalTable tr.mk-getpoint td::before,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-orderTotalTable tr[class*="getPoint"] td::before {
	content: "P";
	display: inline-flex;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #1A6B3C;
	color: #FFFFFF;
	font-size: 11px;
	font-weight: 700;
	align-items: center;
	justify-content: center;
	margin-right: 6px;
	vertical-align: middle;
}

/* モーダル内ラジオ行: FS既定のタイトル帯（選択中#666・未選択グレー）を無効化 */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-checkout-checkoutMethod__title,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-checkout-deliveryMethod__title {
	background: transparent !important;
	color: #17191B !important;
	padding: 0 !important;
	border: none;
	font-size: 14px;
}
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-checkout-checkoutMethod__title .fs-c-radio__label,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-checkout-deliveryMethod__title .fs-c-radio__label { color: inherit !important; }

/* モーダル内の宛名（ruby=氏名/フリガナ）: FS既定の両端揃えで字間が開くのを解消 */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] ruby { ruby-align: start; text-align: left; letter-spacing: normal; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] ruby rt { font-size: 10px; color: #8A8F94; text-align: left; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal--"] .fs-c-checkout-checkoutMethod__info { text-align: left; letter-spacing: normal; font-size: 12px; color: #3D4246; line-height: 1.7; }

/* ご注文内容のボタン行: FS既定のbuttonContainer(flex)がボタンと補足を横並びに圧縮するため解除 */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-orderInfo .fs-c-checkout-preview__button {
	display: block;
	padding: 0;
	margin: 0;
}

/* カード情報入力モーダル: 有効期限selectがFS既定幅で潰れる（実測 月39px/年56px） */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal"] .fs-c-creditCardInfoField select { min-width: 110px; width: auto; }

/* モーダルフッター: 「設定」のFS既定min-width:240pxがSPでキャンセルを潰す */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal"] .fs-c-buttonContainer--pair button {
	min-width: 0;
	white-space: nowrap;
	padding-left: 8px;
	padding-right: 8px;
}

/* iOS Safari: フォーム部品が16px未満だとフォーカス時に画面ごとズームされるため、
   SPの購入フロー4画面ではフォーム部品を16pxにする（ズーム抑止の定石） */
@media screen and (max-width: 640px) {
	:is(body.fs-body-cart, body.fs-body-cart-login, body.fs-body-login, body.fs-body-customerDetails, body:is(.fs-body-checkout, .fs-body-checkout-amazon)) input[type="text"],
	:is(body.fs-body-cart, body.fs-body-cart-login, body.fs-body-login, body.fs-body-customerDetails, body:is(.fs-body-checkout, .fs-body-checkout-amazon)) input[type="tel"],
	:is(body.fs-body-cart, body.fs-body-cart-login, body.fs-body-login, body.fs-body-customerDetails, body:is(.fs-body-checkout, .fs-body-checkout-amazon)) input[type="email"],
	:is(body.fs-body-cart, body.fs-body-cart-login, body.fs-body-login, body.fs-body-customerDetails, body:is(.fs-body-checkout, .fs-body-checkout-amazon)) input[type="password"],
	:is(body.fs-body-cart, body.fs-body-cart-login, body.fs-body-login, body.fs-body-customerDetails, body:is(.fs-body-checkout, .fs-body-checkout-amazon)) input[type="number"],
	:is(body.fs-body-cart, body.fs-body-cart-login, body.fs-body-login, body.fs-body-customerDetails, body:is(.fs-body-checkout, .fs-body-checkout-amazon)) select,
	:is(body.fs-body-cart, body.fs-body-cart-login, body.fs-body-login, body.fs-body-customerDetails, body:is(.fs-body-checkout, .fs-body-checkout-amazon)) textarea { font-size: 16px; }
}

/* モーダル内select: 専用ルール(14px)が上のiOS対策より詳細度が高いため、SPは16pxを明示 */
@media screen and (max-width: 640px) {
	body:is(.fs-body-checkout, .fs-body-checkout-amazon) aside[class*="fs-c-modal"] select { font-size: 16px; }
}

/* お客様の情報／お届け先の本文サイズを12pxで統一（2026-09-01 松木さん指示）
   お届け先はliに直接font-sizeがあり継承で下がらないため明示。
   購入者側のメール・電話も12pxに揃える（liに個別指定があり13pxのまま残るため。
   これを入れないと同じ電話番号が左カード13px・右カード12pxでズレる） */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-destination__list > li,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-customerInfo__email,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-customerInfo__tel { font-size: 12px; }

/* ===================================================
   ⑤ ご注文完了（/p/checkout/success）
   2026-09-01 Claude Design「ご注文完了画面」を実装。
   ⚠️ この画面のbodyクラスはFSマニュアルに記載がなく実物も注文しないと見られないため、
      ゲートは body:has(.fs-c-checkoutSuccess)（システムパーツの存在で判定）を使う。
      bodyクラス名に依存せずJSも不要。:has()非対応の古い環境では素の表示に戻るだけ。
   HTMLはコメントエリア（#ordercom）の貼り替えで入る .mk-cmp-* が持つ
=================================================== */
/* 見出し「ご注文完了」＋ステップ（静的パーツのホワイトリストに完了画面を追加） */
body:has(.fs-c-checkoutSuccess) .mk-pagehead .mk-t--complete { display: inline; }
/* 1〜3は済み（✓・接続線も緑）・4が現在地 */
body:has(.fs-c-checkoutSuccess) .mk-steps__item:nth-child(1):not(:last-child)::after,
body:has(.fs-c-checkoutSuccess) .mk-steps__item:nth-child(2):not(:last-child)::after,
body:has(.fs-c-checkoutSuccess) .mk-steps__item:nth-child(3):not(:last-child)::after { background: #1A6B3C; }
body:has(.fs-c-checkoutSuccess) .mk-steps__item:nth-child(-n+3) .mk-steps__dot { border-color: #1A6B3C; color: #1A6B3C; }
body:has(.fs-c-checkoutSuccess) .mk-steps__item:nth-child(-n+3) .mk-steps__label { color: #1A6B3C; }
body:has(.fs-c-checkoutSuccess) .mk-steps__item:nth-child(-n+3) .mk-steps__num { display: none; }
body:has(.fs-c-checkoutSuccess) .mk-steps__item:nth-child(-n+3) .mk-steps__dot::before { content: "✓"; }
body:has(.fs-c-checkoutSuccess) .mk-steps__item:nth-child(4) .mk-steps__dot { background: #1A6B3C; border-color: #1A6B3C; color: #FFFFFF; }
body:has(.fs-c-checkoutSuccess) .mk-steps__item:nth-child(4) .mk-steps__label { color: #1A6B3C; font-weight: 700; }
/* FS標準の見出し（fs-c-subSection__title等）は使わない */
body:has(.fs-c-checkoutSuccess) .fs-c-checkoutSuccess { border: none; padding: 0; margin: 0; }
/* 購入フロー4画面と同じ下部余白・SP左右16px（.wrapの共通指定は4画面スコープのため個別に） */
body:has(.fs-c-checkoutSuccess) .wrap { padding-bottom: 56px; }
@media screen and (max-width: 640px) {
	body:has(.fs-c-checkoutSuccess) .wrap { padding-left: 16px; padding-right: 16px; box-sizing: border-box; }
}

/* --- コメントエリア本体（#ordercom に貼る .mk-cmp-*） --- */
.mk-cmp { display: flex; flex-direction: column; gap: 14px; margin-top: 4px; }
@media screen and (min-width: 641px) {
	/* PCはコンテンツ1200pxの中で本文800px中央（幅いっぱいに広げない） */
	.mk-cmp { gap: 16px; max-width: 800px; margin: 24px auto 0; }
}
/* ⚠️ ここに .mk-cmp p { margin: 0 } を書かないこと。
   詳細度(0,1,1)が個別クラス(0,1,0)に勝ち、.mk-cmp-hours 等の margin-top が全部消える
   （2026-09-01 本番で発生。過去にも .mk-guide-flow-body p で同じ罠を踏んでいる）。
   pタグの要素は各クラスで margin を上下とも明示する。 */

/* 完了ヒーロー */
.mk-cmp-hero {
	background: #F1F6F3;
	border: 1px solid #CDE3D6;
	border-radius: 8px;
	padding: 20px 16px;
	text-align: center;
	box-sizing: border-box;
}
@media screen and (min-width: 641px) {
	.mk-cmp-hero { padding: 32px; }
}
.mk-cmp-hero__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin: 0 auto;
	border-radius: 50%;
	background: #1A6B3C;
}
.mk-cmp-hero__title { margin: 12px 0 0; font-size: 19px; font-weight: 700; line-height: 1.5; color: #17191B; }
.mk-cmp-hero__lead { margin: 8px 0 0; font-size: 13px; color: #3D4246; line-height: 1.8; }
@media screen and (min-width: 641px) {
	.mk-cmp-hero__icon { width: 56px; height: 56px; }
	.mk-cmp-hero__icon svg { width: 30px; height: 30px; }
	.mk-cmp-hero__title { margin-top: 14px; font-size: 24px; }
	.mk-cmp-hero__lead { font-size: 14px; }
}

/* カード共通 */
.mk-cmp-card {
	background: #FAFBFB;
	border: 1px solid #ECEEF0;
	border-radius: 8px;
	padding: 16px;
	box-sizing: border-box;
}
.mk-cmp-card--plain { background: #FFFFFF; }
@media screen and (min-width: 641px) {
	.mk-cmp-card { padding: 24px 28px; }
}
.mk-cmp-card__title { margin: 0; font-size: 15px; font-weight: 700; color: #17191B; line-height: 1.5; }
.mk-cmp-card:first-of-type .mk-cmp-card__title { font-size: 16px; }
@media screen and (min-width: 641px) {
	.mk-cmp-card__title { font-size: 16px; }
	.mk-cmp-card:first-of-type .mk-cmp-card__title { font-size: 18px; }
}
.mk-cmp-text { margin: 8px 0 0; font-size: 12px; color: #3D4246; line-height: 1.8; }
@media screen and (min-width: 641px) {
	.mk-cmp-text { font-size: 13px; }
}

/* このあとのご案内: SP=縦3行 / PC=3列カード */
.mk-cmp-steps { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
@media screen and (min-width: 641px) {
	.mk-cmp-steps { margin-top: 14px; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; }
}
.mk-cmp-steps__item { display: flex; gap: 10px; align-items: flex-start; }
@media screen and (min-width: 641px) {
	.mk-cmp-steps__item {
		display: block;
		background: #FFFFFF;
		border: 1px solid #ECEEF0;
		border-radius: 6px;
		padding: 14px 16px;
		box-sizing: border-box;
	}
}
.mk-cmp-steps__num {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #FFFFFF;
	border: 1px solid #1A6B3C;
	color: #1A6B3C;
	font-size: 11px;
	font-weight: 700;
	box-sizing: border-box;
}
.mk-cmp-steps__text { font-size: 13px; color: #3D4246; line-height: 1.7; }
.mk-cmp-steps__text b { font-weight: 700; color: #17191B; }
@media screen and (min-width: 641px) {
	.mk-cmp-steps__text { display: block; margin-top: 8px; }
}

/* 注意（非エラーのグレー様式） */
.mk-cmp-note {
	margin: 12px 0 0;
	background: #F2F4F5;
	border-radius: 6px;
	padding: 10px 12px;
	font-size: 12px;
	color: #6D7276;
	line-height: 1.7;
}
@media screen and (min-width: 641px) {
	.mk-cmp-note { margin-top: 14px; padding: 10px 14px; }
}
/* 重要（エラー様式・他画面と同一トークン） */
.mk-cmp-alert {
	margin: 10px 0 0;
	background: #FBEAEA;
	border: 1px solid #F0C2C3;
	border-radius: 6px;
	padding: 10px 12px;
	font-size: 12px;
	font-weight: 700;
	color: #D81F24;
	line-height: 1.7;
}
@media screen and (min-width: 641px) {
	.mk-cmp-alert { padding: 10px 14px; font-size: 13px; }
}

/* カスタマーサポート: 電話・メールをタップ可能なボタンに */
.mk-cmp-contact { margin-top: 12px; display: flex; flex-direction: column; gap: 8px; }
@media screen and (min-width: 641px) {
	.mk-cmp-contact { margin-top: 14px; flex-direction: row; gap: 12px; }
}
.mk-cmp-contact__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 52px;
	border: 1px solid #1A6B3C;
	border-radius: 6px;
	background: #FFFFFF;
	color: #1A6B3C !important;
	text-decoration: none;
	box-sizing: border-box;
}
.mk-cmp-contact__btn:hover { background: #F1F6F3; color: #1A6B3C !important; }
.mk-cmp-contact__tel { font-size: 17px; font-weight: 700; }
.mk-cmp-contact__mail { font-size: 15px; font-weight: 700; }
@media screen and (min-width: 641px) {
	.mk-cmp-contact__btn { flex: 1; height: 56px; gap: 10px; }
	.mk-cmp-contact__tel { font-size: 19px; }
	.mk-cmp-contact__mail { font-size: 16px; }
}
.mk-cmp-hours { margin: 16px 0 0; display: flex; gap: 8px; font-size: 12px; line-height: 1.7; }
.mk-cmp-hours__label { flex: 0 0 62px; color: #6D7276; }
.mk-cmp-hours__value { color: #3D4246; }
@media screen and (min-width: 641px) {
	.mk-cmp-hours { margin-top: 18px; font-size: 13px; }
	.mk-cmp-hours__label { flex-basis: 68px; }
}
.mk-cmp-fine { margin: 10px 0 0; font-size: 11px; color: #8A8F94; line-height: 1.7; }
@media screen and (min-width: 641px) {
	.mk-cmp-fine { font-size: 12px; }
}

/* 次のアクション（購入は完了しているのでCTAオレンジは使わない） */
.mk-cmp-actions { display: flex; flex-direction: column; gap: 10px; }
@media screen and (min-width: 641px) {
	.mk-cmp-actions { flex-direction: row; gap: 12px; }
}
.mk-cmp-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	height: 56px;
	border-radius: 6px;
	text-decoration: none;
	font-weight: 700;
	box-sizing: border-box;
}
.mk-cmp-btn--primary { background: #1A6B3C; color: #FFFFFF !important; font-size: 17px; }
.mk-cmp-btn--primary:hover { background: #0F4526; color: #FFFFFF !important; }
.mk-cmp-btn__arrow { font-size: 18px; line-height: 1; }
.mk-cmp-btn--sub {
	height: 48px;
	border: 1px solid #E3E5E7;
	background: #FFFFFF;
	color: #3D4246 !important;
	font-size: 14px;
}
.mk-cmp-btn--sub:hover { background: #F2F4F5; color: #3D4246 !important; }
@media screen and (min-width: 641px) {
	.mk-cmp-btn--primary { flex: 1; }
	.mk-cmp-btn--sub { flex: 0 0 260px; width: 260px; height: 56px; }
}

/* 通信欄メッセージ（コマクリ＞メッセージ側で details.mk-acc を書いた版）の整形。
   既存の #ex_com .ttl2（赤15px）は他ページでも使うため触らず、購入フロー内だけ整える */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-communicationInfo #ex_com { margin: 0; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-communicationInfo .mk-commlead { margin: 0 0 6px; }
/* ⚠️ 既存は #ex_com { .ttl2 {...} }（ネストCSS）＝詳細度 (1,1,0) のIDセレクタ。
   クラスをいくら足しても勝てないので、こちらもIDを含めて (1,2,0) にする */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) #ex_com .mk-acc__body .ttl2 {
	margin: 10px 0 2px;
	margin-left: 0;
	color: #17191B;
	font-size: 12px;
	font-weight: 700;
}
body:is(.fs-body-checkout, .fs-body-checkout-amazon) #ex_com .mk-acc__body .ttl2:first-child { margin-top: 0; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) #ex_com .mk-acc__body p { margin: 0; font-size: 12px; color: #3D4246; line-height: 1.8; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) #ex_com .mk-acc__body p + .ttl2 { margin-top: 10px; }

/* エラーパネルをレイアウトでコンテンツエリア内へ移した結果、FS標準の様式が効くようになる。
   実測（2026-09-02）で分かった2点を打ち消す:
     ① .fs-c-panel--error::before がアイコンフォント(fs-icon)を position:absolute; left:8px で置く
        → 左paddingを広げて文字と重ならないようにする（アイコン自体はFSの表現なので残す）
     ② li が display:flex; justify-content:center で中央寄せになる
        → flex-start に戻す（text-align だけでは効かない） */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .mk-errpanel,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .mk-errpanel__title,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .mk-errpanel ul,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .mk-errpanel li,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .mk-errpanel p { text-align: left; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .mk-errpanel { padding: 12px 14px 12px 36px; }
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .mk-errpanel .fs-c-panel__contentList__item { justify-content: flex-start; }

/* ---------------------------------------------------
   ④-b ご注文手続き（複数）— fs-c-checkout-shippingInfo
   2026-09-02 追加。**現在は複数配送先設定OFFのため未使用**（松木さん確認）。
   将来ONにすると使われるので、そのとき破綻しないよう最低限だけ当てておく。

   🔴 なぜ必要か（実測で判明した機能バグ）:
   複数テンプレートのお届け先は単数の `fs-c-checkout-destination` ではなく
   **`fs-c-checkout-shippingInfo`**（＝お届け先＋配送方法＋商品一覧＋送料が1セクション）。
   ここには「変更」ボタンが**3つ**入るが、上の `.fs-c-button--change--small` は
   カード右上への `position:absolute` なので **3つが同一座標(814,297)に重なり、
   お届け先の変更ボタンがクリックできなくなる**（Chromium実測）。
   → このセクション内だけ絶対配置を解除し、通常フローに戻す。
--------------------------------------------------- */
body.fs-body-checkout .fs-c-checkout-shippingInfo .fs-c-button--change--small {
	position: static;
	height: 32px;
	padding: 0 14px;
	font-size: 12px;
}
/* セクション見出し直下の「変更」（配送方法の変更）だけはカード右上に置く＝単数と同じ見え方。
   ⚠️ 2026-09-02: ここで top/right を再指定しない。共通ルールは top:14px/right:16px なので、
      独自に 10px/12px と書くと**このボタンだけ4pxずれる**（実測で発覚）。position だけ戻す。 */
body.fs-body-checkout .fs-c-checkout-shippingInfo > .fs-c-checkout-preview__body > .fs-c-checkout-shippingOption > .fs-c-checkout-shippingOption__control .fs-c-button--change--small {
	position: absolute;
	height: 40px;
	padding: 0 16px;
	font-size: 13px;
}
/* 内側の見出し（お届け先／お届け内容）はFS既定がグレー帯＋白文字＋中央寄せで浮くため、
   他のカード内見出しと同じ様式に戻す */
body.fs-body-checkout .fs-c-checkout-shippingInfo .fs-c-checkout-heading {
	background: transparent;
	color: #17191B;
	text-align: left;
	font-size: 14px;
	font-weight: 700;
	padding: 0 0 6px;
	margin: 14px 0 8px;
	border: none;
	border-bottom: 1px solid #ECEEF0;
}
/* 「アドレス帳から選択」はFS既定のグレーボタンのままだと変更ボタンと様式が揃わない */
body.fs-body-checkout .fs-c-checkout-shippingInfo .fs-c-button--chooseDestination {
	height: 32px;
	padding: 0 14px;
	border: 1px solid #1A6B3C;
	border-radius: 6px;
	background: #FFFFFF;
	color: #1A6B3C;
	font-size: 12px;
	font-weight: 700;
	box-shadow: none;
}
/* お届け先の操作ボタン2つは横並びにして間隔を空ける */
body.fs-body-checkout .fs-c-checkout-shippingDestination__control {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
}
/* 配送方法プレビューの縦の間延びを詰める */
body.fs-body-checkout .fs-c-checkout-shippingOptionPreview { margin: 0; }
body.fs-body-checkout .fs-c-checkout-shippingOptionPreview__label { margin-top: 8px; }
body.fs-body-checkout .fs-c-checkout-shippingOptionPreview__value { margin: 2px 0 0; font-size: 13px; }

/* ---------------------------------------------------
   ④-c 1カラム化に伴う「はみ出し」対策（バッファー）
   2026-09-02 松木さん指示。「各コンテンツの内容量が増えるとはみ出したりと不安定」への対処。

   1カラムにしても、カード内の要素が親より広くなるとカードを突き破る。主因は3つ:
     ① 変更ボタンが position:absolute で右上固定 → 見出しが長いと文字の上に重なる
     ② テーブル・長い商品名・URLなど「縮まない要素」がカード幅を押し広げる
     ③ グリッド/フレックスの子は既定 min-width:auto で、中身より小さくならない
   → カード側に「余白の予約」と「あふれの逃し方」を用意しておく。
--------------------------------------------------- */
/* ① 変更ボタンのぶんだけ見出し右に余白を予約する（ボタン最大幅+右余白 ≒ 96px） */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-preview__title { padding-right: 96px; }
/* 説明文もボタンの下に潜り込まないよう、ボタンの高さぶんだけ確保 */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-preview > .fs-c-checkout-preview__body > [class$="__message"],
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-preview > .fs-c-checkout-preview__body > [class*="__message "] { padding-right: 96px; }

/* ② ③ カードと中身が横にはみ出さないようにする */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-preview,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-preview__body { min-width: 0; max-width: 100%; }
/* 長い商品名・住所・メールアドレスは折り返す（英数字の連続も切る） */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-preview__body { overflow-wrap: anywhere; }
/* 画像がカード幅を超えない */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-preview__body img { max-width: 100%; height: auto; }
/* テーブルは縮まないので、収まらないときだけ横スクロールで逃がす（縦の破綻を防ぐ） */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-preview__body > table,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-orderInfo__body > table { display: block; max-width: 100%; overflow-x: auto; }
/* 支払い方法カードは3列固定をやめ、入りきらなければ折り返す（決済手段が増えても崩れない） */
@media screen and (min-width: 641px) {
	body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-paymentMethodList {
		grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	}
}
/* グリッド/フレックスの子が中身より小さくなれるようにする（③の既定 min-width:auto を解除） */
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-l-checkout__mainColumn > *,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-paymentMethod,
body:is(.fs-body-checkout, .fs-body-checkout-amazon) .fs-c-checkout-previewAndEdit > * { min-width: 0; }

/* ===================================================
   ⑥ マイページログイン（fs-body-login / id=fs_Login）
   2026-09-02 新規。**「ショッピングカートログイン」とは別テンプレート**。

   🔴 混同しないこと:
     ショッピングカート経由 = テンプレート「ショッピングカートログイン」 body.fs-body-cart-login
       → 上の②。ゲスト購入CTAが主役。レイアウトのclass設定（mk-branch 等）で2カード構造を作る。
     ログインボタン経由     = テンプレート「マイページログイン」    body.fs-body-login（このセクション）
       → **ログインが主CTA**。ゲスト購入は無く、右は「会員登録誘導表示」。
         **HTML/レイアウトは変更せず、FS標準クラスに直接当てる**（class設定を増やさない方針）。

   DOM（実測 2026-09-02）:
     h1.fs-c-heading--page「ログイン」
     div.fs-c-loginForm
       section.fs-c-registeredUsers.fs-c-subSection   ← 会員（左）
         h2.fs-c-registeredUsers__title
         div.fs-c-fsLogin.fs-c-inputInformation       ← メール/パスワード/ログイン/お忘れですか
         div.fs-c-otherServiceLogin                   ← Amazonでログイン（**会員エリアの中**）
       section.fs-c-newUsers.fs-c-subSection          ← 新規（右）
         h2.fs-c-newUsers__title / __message / .fs-c-buttonContainer--memberRegister
   ※②と違い h2 見出しは**表示する**（見出し用フリーパーツが無いため）
=================================================== */
/* 見出し: サイト共通CSSが中央寄せなので左寄せへ（購入フローの .mk-pagehead と同じ見え方に揃える） */
body.fs-body-login .fs-c-heading--page {
	text-align: left;
	font-size: 22px;
	font-weight: 700;
	color: #17191B;
	border: none;
	padding: 0;
	margin: 4px 0 0;
}
@media screen and (min-width: 641px) {
	body.fs-body-login .fs-c-heading--page { font-size: 28px; }
}

/* 2カード（PCは横並び・高さを揃える／SPは縦積み） */
body.fs-body-login .fs-c-loginForm { display: flex; flex-direction: column; gap: 14px; margin-top: 14px; }
@media screen and (min-width: 641px) {
	body.fs-body-login .fs-c-loginForm {
		flex-direction: row;
		align-items: stretch;
		gap: 24px;
		margin-top: 20px;
	}
	body.fs-body-login .fs-c-registeredUsers,
	body.fs-body-login .fs-c-newUsers { flex: 1 1 0; min-width: 0; }
}
body.fs-body-login .fs-c-registeredUsers,
body.fs-body-login .fs-c-newUsers {
	background: #FAFBFB;
	border: 1px solid #ECEEF0;
	border-radius: 8px;
	padding: 16px;
	box-sizing: border-box;
	/* FS既定の section margin-bottom:24px が残るとPCで高さが揃わない */
	margin: 0;
}
@media screen and (min-width: 641px) {
	body.fs-body-login .fs-c-registeredUsers,
	body.fs-body-login .fs-c-newUsers { padding: 28px 32px; }
}
/* カード見出し: FS既定は薄い文字＋下線。カード内なので下線を外して本文と同じ濃さに */
body.fs-body-login .fs-c-subSection__title {
	font-size: 16px;
	font-weight: 700;
	color: #17191B;
	background: transparent;
	border: none;
	padding: 0;
	margin: 0;
	text-align: left;
}
@media screen and (min-width: 641px) {
	body.fs-body-login .fs-c-subSection__title { font-size: 18px; }
}
body.fs-body-login .fs-c-newUsers__message { margin: 10px 0 0; font-size: 12px; color: #6D7276; line-height: 1.7; }
body.fs-body-login .fs-c-newUsers__message p { margin: 0; font-size: 12px; }

/* 入力フォーム: FS既定のグレー背景ブロックを解除し、ラベル→入力の縦積みにする */
body.fs-body-login .fs-c-inputInformation__field {
	background: transparent;
	border: none;
	padding: 0;
	margin: 0;
}
body.fs-body-login #fs_form { margin: 0; }
body.fs-body-login .fs-c-inputTable { width: 100%; border: none; }
body.fs-body-login .fs-c-inputTable tr { display: block; margin-top: 12px; }
body.fs-body-login .fs-c-inputTable th,
body.fs-body-login .fs-c-inputTable td { display: block; border: none; background: transparent; padding: 0; text-align: left; }
body.fs-body-login .fs-c-inputTable__label,
body.fs-body-login .fs-c-inputTable th label { font-size: 12px; color: #3D4246; font-weight: 400; }
body.fs-body-login input[type="text"],
body.fs-body-login input[type="password"] { width: 100%; padding: 0 12px; margin-top: 4px; }
/* フォーカス時: FS既定の水色inset影を消し、枠は緑のみ（②と同じ） */
body.fs-body-login input[type="text"]:focus,
body.fs-body-login input[type="password"]:focus { border-color: #1A6B3C; box-shadow: none; outline: none; }
/* パスワード欄: fs-c-inputGroup の枠と input の枠が二重になるので枠はinput側に統一し、
   表示切替ボタンをinputの右端に重ねる（②と同じ対処） */
body.fs-body-login .fs-c-inputGroup {
	position: relative;
	display: block;
	border: none;
	background: transparent;
	padding: 0;
}
body.fs-body-login .fs-c-inputGroup input[type="password"],
body.fs-body-login .fs-c-inputGroup input[type="text"] { padding-right: 44px; }
body.fs-body-login .fs-c-button--displayPassword {
	position: absolute;
	top: 50%;
	right: 6px;
	transform: translateY(-50%);
	margin: 0;
}

/* ログインボタン: この画面の主CTAなので緑の塗り（②はゲスト購入が主CTAなのでこちらは白抜き） */
body.fs-body-login .fs-c-button--login {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 56px;
	margin-top: 16px;
	border: none;
	border-radius: 6px;
	background: #1A6B3C;
	color: #FFFFFF !important;
	font-size: 17px;
	font-weight: 700;
	box-shadow: none;
	cursor: pointer;
}
body.fs-body-login .fs-c-button--login:hover { background: #0F4526; color: #FFFFFF; }
/* 確定ボタンの上余白は 18px に統一（2026-09-04 松木さん判断。統一値の根拠は
   00_共通/Futureshopシステム領域_基本.md「確定ボタンの上余白は18px」） */
body.fs-body-login .fs-c-buttonContainer--login { padding: 0; margin: 18px 0 0; }

/* 「パスワードをお忘れですか？」: リンクとして分かる見た目に */
body.fs-body-login .fs-c-inputInformation__link { text-align: center; margin-top: 12px; }
body.fs-body-login .fs-c-inputInformation__link a { font-size: 12px; color: #1A6B3C; text-decoration: underline; }

/* 会員登録ボタン: 副CTAなので緑アウトライン */
body.fs-body-login .fs-c-buttonContainer--memberRegister { padding: 0; margin: 14px 0 0; }
body.fs-body-login .fs-c-button--memberRegister {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	min-width: 0;
	max-width: none;
	height: 50px;
	padding: 0;
	border: 1px solid #1A6B3C;
	border-radius: 6px;
	background: #FFFFFF;
	color: #1A6B3C !important;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	box-shadow: none;
	box-sizing: border-box;
	cursor: pointer;
}
body.fs-body-login .fs-c-button--memberRegister:hover { background: #F1F6F3; color: #1A6B3C; }
body.fs-body-login .fs-c-button--memberRegister::after { content: "›"; font-size: 17px; line-height: 1; }

/* Amazonでログイン（会員カードの中）: 区切り線を入れて別手段だと分かるようにする */
body.fs-body-login .fs-c-otherServiceLogin {
	margin: 20px 0 0;
	padding: 16px 0 0;
	border-top: 1px solid #ECEEF0;
}
body.fs-body-login .fs-c-otherServiceLogin__title,
body.fs-body-login .fs-c-linkedServiceLogin__title {
	font-size: 12px;
	font-weight: 400;
	color: #6D7276;
	background: transparent;
	border: none;
	padding: 0;
	margin: 0 0 10px;
	text-align: left;
}
body.fs-body-login .fs-c-anotherLogin { margin: 0; }
body.fs-body-login .fs-c-anotherLogin__button { margin: 0; }

/* エラーパネル（`/p/login/error`。レイアウトでは**メインエリアの外**＝ヘッダーとパンくずの間に出る。
   実HTML: div#fs-page-error-container > .fs-c-panel--error が <main> の直前）。
   ⚠️ 2026-09-02 実測: `.fs-l-main` / `.fs-l-pageMain` は **max-width:1216px の中央寄せ**
      （1440px→x=112 / 1280px→x=32 / 1200px以下→全幅）。
      パネル側で max-width:1200px にすると**左端が8pxずれる**ため、器に1216pxを持たせて揃える。 */
/* ⚠️ 器（#fs-page-error-container）側に max-width / margin:auto を当てても効かない。
      computed には出るのに実幅が変わらず margin:auto も潰れる（!important でも同じ・実測）。
      FS標準CSS側の指定と噛み合わないため**追わずに、パネル自身で幅を決める**方式にした。
      パネル側の max-width は素直に効く（公開版で実証済み）。 */
body.fs-body-login .fs-c-panel--error {
	max-width: 1216px;
	margin: 12px auto 0;
	background: #FBEAEA;
	border: 1px solid #F0C2C3;
	border-radius: 6px;
	padding: 10px 12px;
	font-size: 12px;
	font-weight: 700;
	color: #D81F24;
	line-height: 1.6;
}
body.fs-body-login .fs-c-panel--error * { color: #D81F24; font-size: 12px; }
body.fs-body-login:has(.fs-c-panel--error) input[type="text"],
body.fs-body-login:has(.fs-c-panel--error) input[type="password"] { border-color: #D81F24; }

/* 戻るボタン（レイアウトにあるが未ログイン時は出力されないことがある）。出たときの様式 */
body.fs-body-login .fs-c-buttonContainer--back { margin-top: 20px; text-align: center; }

/* SPの左右余白: このテンプレートには購入フロー4画面のような `.wrap` が無く
   （実測: section.fs-l-pageMain が直接の器）、そのままだとカードの枠線が画面端に接する。
   → .fs-l-pageMain 側に持たせる（パンくず・見出しにも同じ余白が付いて揃う） */
@media screen and (max-width: 640px) {
	body.fs-body-login .fs-l-pageMain {
		padding-left: 16px;
		padding-right: 16px;
		box-sizing: border-box;
	}
}
body.fs-body-login .fs-l-pageMain { padding-bottom: 56px; }

/* 🔴 エラー表示をレイアウトで「futureshop会員エリア」の中へ移したときの様式
   （2026-09-03 松木さん指示。カートからのログインと揃えるため）。

   実DOM（2026-09-03 実測）:
     section.fs-c-registeredUsers   ← ここが「futureshop会員エリア」レイアウトパーツ
       h2.fs-c-registeredUsers__title  ← ログインパーツ（システム）が出す見出し
       div.fs-c-fsLogin                ← 同上・フォーム
       div.fs-c-anotherLogin           ← 他社サービスログインエリア

   カート側は見出しがフリーパーツ「分岐_会員見出し」なので、レイアウトで
   その下に置ける。マイページ側は見出しがシステム出力で間に挟めないため、
   レイアウトでは会員エリアの先頭にしか置けない（＝見出しの上に出る）。
   そこで order で見出しの下へ回してカートと同じ並びにする。

   ⚠️ 器（#fs-page-error-container）は display:contents にする。
      エラーが無いときは空のdivだけが残るので、器をフレックスアイテムのままに
      すると余白が生まれる。contents なら中身が無いとき何も描かれない。

   ページ最上部のままでも上の .fs-c-panel--error が効くので、
   レイアウトを変えるまでの間も表示は崩れない（どちらでも成立する）。 */
body.fs-body-login .fs-c-registeredUsers { display: flex; flex-direction: column; }
body.fs-body-login .fs-c-registeredUsers > * { order: 3; }
body.fs-body-login .fs-c-registeredUsers > .fs-c-registeredUsers__title { order: 1; }
body.fs-body-login .fs-c-registeredUsers > #fs-page-error-container { display: contents; }
body.fs-body-login .fs-c-registeredUsers .fs-c-panel--error {
	order: 2;
	max-width: none;
	margin: 0 0 16px;
}
@media screen and (max-width: 640px) {
	/* 会員エリア内に入ったらカードの内側なので、最上位配置用の左右marginは戻す */
	body.fs-body-login .fs-c-registeredUsers .fs-c-panel--error { margin-left: 0; margin-right: 0; }
}

/* FS既定の罠2つ（購入フローのご注文手続きで踏んだものと同じ）:
   ① li が display:flex + justify-content:center → 文が中央に寄る
   ② ::before のアイコンが position:absolute; left:8px で文字に重なる（左paddingで逃がす） */
body.fs-body-login .fs-c-panel--error .fs-c-panel__contentList__item { justify-content: flex-start; }
body.fs-body-login .fs-c-panel--error,
body.fs-body-login .fs-c-panel--error ul,
body.fs-body-login .fs-c-panel--error li,
body.fs-body-login .fs-c-panel--error p { text-align: left; }
body.fs-body-login .fs-c-panel--error { padding: 12px 14px 12px 36px; }

@media screen and (max-width: 640px) {
	/* SPは .fs-l-pageMain の padding が効かない（エラーパネルは <main> の外）のでパネル側のmarginで逃がす */
	body.fs-body-login .fs-c-panel--error { margin-left: 16px; margin-right: 16px; }
}
/* ---------------------------------------------------
   商品説明エリア（独自コメント4）カード化
   2026-09-01 Claude Design「商品説明エリア デザイン案」案1a を実装
   対象: .original_com_area_04 > .itemtop_catcharea > .catch_02 / .text_02
   方式: HTML変更なし・CSS追記のみ（既存指定は削除せず詳細度で上書き）
   ⚠️ デザイン案の text-wrap: pretty は採用しない（2026-09-01 iPhone実機で判明）。
      WebKit(Safari)のprettyは全行を均等化するため、日本語では行が本来の幅まで伸びず
      右に50〜80pxの余白ができる。Chromiumは最終行だけ調整するので再現しない
      （実測 SP390px: 利用幅332pxに対し pretty=275/272/253px → 通常=326/323/151px）。
   ⚠️ ブレイクポイントはデザイン案の767pxではなく、サイト既存の640pxに合わせた
      （既存 .itemtop_catcharea のSP指定も @media(width <= 640px)。
        デザイン案の指示3「サイト既存のSP判定と異なる場合はその値に合わせる」に従う）
--------------------------------------------------- */
.original_com_area_04 .itemtop_catcharea {
	background: #FFFFFF;
	border: 1px solid #E5E8EC;
	border-top: 4px solid #CF1F2F;
	border-radius: 10px;
	padding: 28px 32px;
	box-shadow: 0 2px 10px rgba(24, 38, 58, 0.06);
	box-sizing: border-box;
}
/* 既存の「POINT」ラベル（::before）はカード上辺のアクセントラインと重なるため非表示。
   デザイン案にPOINTラベルは存在しない（キャッチ＋本文の2要素構成） */
.original_com_area_04 .itemtop_catcharea::before { display: none; }

.original_com_area_04 .catch_02 {
	margin: 0 0 14px;
	padding-bottom: 14px;
	border-bottom: 1px dashed #DCE0E6;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: normal;
	color: #182A44;
}
.original_com_area_04 .text_02 {
	margin: 0;
	font-size: 14px;
	line-height: 1.8;
	color: #3F4B60;
}

@media screen and (max-width: 640px) {
	.original_com_area_04 .itemtop_catcharea {
		padding: 20px 18px;
	}
	.original_com_area_04 .catch_02 {
		font-size: 17px;
		margin-bottom: 12px;
		padding-bottom: 12px;
	}
	.original_com_area_04 .text_02 {
		font-size: 13.5px;
		/* PCを1.8に詰めたので、SPだけ1.95で広いままにならないよう揃える（2026-09-01） */
		line-height: 1.8;
	}
}
/* ===================================================
   マイページTOP（fs-body-my-top / id=fs_MyPageTop）
   2026-09-02 Claude Design handoff「マイページ」を実装
   出典: 01_ページ/my-top_マイページ/20260902_マイページTOPデザイン/03_assets/README.md

   🔴 実装方針: **CSSのみ。JSは使わない。**
      handoffのREADMEは「説明文はJSで挿入」としていたが、実HTMLを見ると
      `fs-c-accountService__page--couponList` のような**項目ごとの識別クラスが10種すべて付く**
      （実測で確認）。そのため**CSSの content で出し分けられる**ので、JSは不要にした。
      松木さんの方針「レイアウトはFSの機能／JSで無理やり動かさない」に沿う。
      擬似要素の割り当て:
        - `__label::after` → 矢印「›」
        - `__pageLink::after` → 説明文（項目ごとに content を指定）

   ⚠️ 触ってはいけないもの:
      `.fs-p-accountInfo` は `fs-clientInfo` クラスを併せ持ち、**FS標準CSSが display:none**、
      **FSのJSがログイン時だけ表示する**。**display を上書きしないこと**（未ログイン時に
      会員情報の枠が見えてしまう）。
=================================================== */

/* --- ページ幅について（CSSでは何もしない）
   PCで 940px しか使えていなかったのは、コンテンツエリアのclassに `main` が入っていて
   サイト共通CSSの `.wrap .main { width: 940px; margin-left: 20px }`（サイドナビがある
   他ページ用）が当たっていたため。
   🔴 **CSSで打ち消すのではなく、管理画面でclassから `main` を外す**（松木さん指摘・2026-09-02）。
      レイアウトパーツ「コンテンツエリア」の class:
        変更前 `fs-l-pageMain main maincenter`
        変更後 `fs-l-pageMain maincenter`
      `maincenter`（margin:0 auto）は残す。`fs-l-pageMain` の max-width:1216px と
      `.wrap` の1200pxで、**1200px全幅**になる。
      → ここでCSSに幅指定を書くと `maincenter` の中央寄せを打ち消して逆効果になるので書かない。 --- */
/* SPの左右余白（購入フロー4画面と同じ手法。このテンプレートには .wrap がある） */
@media screen and (max-width: 640px) {
	/* SPの左右余白は 00_共通/css/追記_マイページ共通.css に移した（2026-09-03）。
	   2ページだけに書いていたため他9画面が余白ゼロで公開される事故を起こしたので、
	   マイページ系15画面を1箇所でまとめて指定する形に変えた */
}
/* 下余白は 00_共通/css/追記_マイページ共通.css に移した（2026-09-03） */

/* --- 見出し「マイページ」: サイト共通CSSが中央寄せ18px。購入フローと同じ左寄せに --- */
body.fs-body-my-top .fs-c-heading--page {
	text-align: left;
	font-size: 22px;
	font-weight: 700;
	color: #17191B;
	border: none;
	padding: 0;
	margin: 4px 0 0;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-top .fs-c-heading--page { font-size: 24px; }
}

/* --- 🔴 .fs-l-account（会員情報＋サービスカードの器）を縦積みにする
   FS標準は `display:flex; justify-content:space-between` で、会員情報とサービスカードを
   **横並び**にする。会員情報は未ログイン時 display:none（＝幅0）なので、
   **space-between でサービスカードが右半分に寄ってしまう**（PC1440で x=552・幅768pxを実測）。
   デザインは「会員情報バー → カードグリッド」の縦並びなので block に戻す。 --- */
body.fs-body-my-top .fs-l-account { display: block; }

/* ===== 会員情報バー（フリーパーツ .fs-p-accountInfo） ===== */
body.fs-body-my-top .fs-p-accountInfo {
	background: #F1F6F3;
	border: 1px solid #CDE3D6;
	border-radius: 8px;
	padding: 16px;
	margin: 16px 0 0;
	box-sizing: border-box;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-top .fs-p-accountInfo {
		padding: 20px 24px;
		margin-top: 20px;
	}
	/* PCは横1行（氏名 → ポイントカード → アクション）。
	   ⚠️ **`.is-ready` に対して書く**。FSのJSはログイン時に inline style ではなく
	      `is-ready` クラスを付けて表示する（2026-09-02 松木さん提供の実DOMで確認）。
	      素の `.fs-p-accountInfo` に display:flex を書くと **FS標準の display:none を
	      打ち消して未ログイン時に枠が見えてしまう**ので、必ず `.is-ready` を付ける。 */
	body.fs-body-my-top .fs-p-accountInfo.is-ready {
		display: flex;
		align-items: center;
		gap: 28px;
	}
	body.fs-body-my-top .fs-p-accountInfo__header { flex: 0 0 auto; }
	body.fs-body-my-top .fs-p-accountInfo__body {
		flex: 1;
		min-width: 0;
		display: flex;
		align-items: center;
		gap: 28px;
	}
	/* ポイントカードは伸ばし、アクション群は縮めない（デザイン案の指示） */
	body.fs-body-my-top .fs-p-accountInfo__point { flex: 1; min-width: 0; }
}
/* 氏名 */
body.fs-body-my-top .fs-p-accountInfo__accountName {
	display: flex;
	align-items: baseline;
	gap: 4px;
}
body.fs-body-my-top .fs-p-accountInfo__accountName__name {
	font-size: 19px;
	font-weight: 700;
	color: #17191B;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-top .fs-p-accountInfo__accountName__name { font-size: 20px; }
}
body.fs-body-my-top .fs-p-accountInfo__accountName__nameLabel { font-size: 12px; color: #3D4246; }

/* ポイントカード（白地・枠つき） */
body.fs-body-my-top .fs-p-accountInfo__point {
	background: #FFFFFF;
	border: 1px solid #CDE3D6;
	border-radius: 6px;
	padding: 12px 14px;
	margin: 12px 0 0;
	box-sizing: border-box;
	/* SPも「利用可能ポイント（左）｜数値（右）」を同じ行に（デザイン案どおり）。
	   付与率・有効期限は flex-basis:100% で次の行へ折り返す */
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}
body.fs-body-my-top .mk-pointmeta { flex: 1 1 100%; }
@media screen and (min-width: 641px) {
	body.fs-body-my-top .fs-p-accountInfo__point {
		margin: 0;
		padding: 12px 16px;
		gap: 24px;
		justify-content: flex-start;
		flex-wrap: nowrap;
	}
	body.fs-body-my-top .mk-pointmeta { flex: 1; }
}
/* 「利用可能ポイント」＋緑丸Pバッジ（::before で付与＝HTML追加なし） */
body.fs-body-my-top .fs-p-accountInfo__point__label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	color: #3D4246;
	flex: 0 0 auto;
}
body.fs-body-my-top .fs-p-accountInfo__point__label::before {
	content: "P";
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #1A6B3C;
	color: #FFFFFF;
	font-size: 12px;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
}
/* 数値 */
body.fs-body-my-top .fs-p-accountInfo__point__point {
	display: flex;
	align-items: baseline;
	gap: 3px;
	flex-wrap: wrap;
	margin-top: 8px;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-top .fs-p-accountInfo__point__point { margin-top: 0; flex: 0 0 auto; }
}
body.fs-body-my-top .fs-p-accountInfo__point__point__available {
	display: inline-flex;
	align-items: baseline;
	gap: 3px;
}
body.fs-body-my-top .fs-p-accountInfo__point__point__available__number {
	font-size: 24px;
	font-weight: 900;
	color: #1A6B3C;
	line-height: 1.1;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-top .fs-p-accountInfo__point__point__available__number { font-size: 26px; }
}
body.fs-body-my-top .fs-p-accountInfo__point__point__available__numberLabel {
	font-size: 12px;
	font-weight: 700;
	color: #1A6B3C;
}
body.fs-body-my-top .fs-p-accountInfo__point__point__rate { font-size: inherit; color: #3D4246; }

/* 付与率・有効期限（フリーパーツで dl.mk-pointmeta に整理した。2026-09-02） */
body.fs-body-my-top .mk-pointmeta {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 8px 0 0;
	padding-top: 8px;
	border-top: 1px solid #ECEEF0;
	font-size: 11px;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-top .mk-pointmeta {
		flex-direction: row;
		gap: 24px;
		margin: 0;
		padding-top: 0;
		padding-left: 24px;
		border-top: none;
		border-left: 1px solid #ECEEF0;
		font-size: 12px;
		align-items: center;
		flex: 1;
	}
}
body.fs-body-my-top .mk-pointmeta__row { display: flex; gap: 8px; }
body.fs-body-my-top .mk-pointmeta__key { color: #8A8F94; flex: 0 0 62px; }
@media screen and (min-width: 641px) {
	body.fs-body-my-top .mk-pointmeta__key { flex: 0 0 auto; }
}
body.fs-body-my-top .mk-pointmeta__val { color: #3D4246; }
/* ⚠️ 有効期限は空になることがある（ポイント購入履歴が無い会員。実測で activePoints:0 /
   purchase_point_expiration が空のケースを確認）。そのとき「有効期限」のラベルだけ
   残らないよう、行ごと隠す。:has() 非対応ブラウザではラベルが残るだけで崩れはしない */
body.fs-body-my-top .mk-pointmeta__row--exp:has(.fs-c-purchasePointExpiration__expiration:empty) { display: none; }

/* アクション行（ポイント履歴ボタン＋ログアウトリンク） */
body.fs-body-my-top .mk-accountaction {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 12px 0 0;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-top .mk-accountaction { margin: 0; gap: 16px; flex: 0 0 auto; white-space: nowrap; }
}
body.fs-body-my-top .mk-accountaction__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1;
	height: 44px;
	border: 1px solid #1A6B3C;
	border-radius: 6px;
	background: #FFFFFF;
	color: #1A6B3C !important;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	box-sizing: border-box;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-top .mk-accountaction__btn { flex: 0 0 auto; padding: 0 20px; }
}
body.fs-body-my-top .mk-accountaction__btn:hover { background: #E7F0EB; color: #1A6B3C !important; }
body.fs-body-my-top .mk-accountaction__logout {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: #3D4246 !important;
	text-decoration: none;
	flex: 0 0 auto;
	white-space: nowrap;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-top .mk-accountaction__logout { font-size: 13px; }
}
body.fs-body-my-top .mk-accountaction__logout::after { content: "›"; font-size: 14px; color: #8A8F94; }
body.fs-body-my-top .mk-accountaction__logout:hover { color: #17191B !important; text-decoration: underline; }
/* 有効期限: 旧構造（fs-c-purchasePointExpiration をそのまま使う場合）向け。
   新しいフリーパーツでは dl.mk-pointmeta に置き換えたので通常は当たらないが、
   **貼り替え前でも崩れないよう残してある**（貼り替え順序に依存しない） */
body.fs-body-my-top .fs-c-purchasePointExpiration {
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px solid #ECEEF0;
	display: flex;
	gap: 8px;
	font-size: 11px;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-top .fs-c-purchasePointExpiration {
		margin-top: 0;
		padding-top: 0;
		padding-left: 24px;
		border-top: none;
		border-left: 1px solid #ECEEF0;
		font-size: 12px;
		flex: 0 0 auto;
	}
}
body.fs-body-my-top .fs-c-purchasePointExpiration__label { color: #8A8F94; flex: 0 0 auto; }
body.fs-body-my-top .fs-c-purchasePointExpiration__expiration { color: #3D4246; }

/* ===== サービスカードグリッド（システムパーツ fs-c-accountService。HTML変更なし） ===== */
body.fs-body-my-top .fs-c-accountService {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
	border: none;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-top .fs-c-accountService {
		grid-template-columns: repeat(4, 1fr);
		gap: 16px;
		margin-top: 28px;
	}
}
body.fs-body-my-top .fs-c-accountService__page {
	border: 1px solid #ECEEF0;
	border-radius: 8px;
	background: #FAFBFB;
	margin: 0;
	padding: 0;
	list-style: none;
	min-width: 0;
	transition: background .15s, border-color .15s;
}
body.fs-body-my-top .fs-c-accountService__page:hover { background: #F1F6F3; border-color: #CDE3D6; }
body.fs-body-my-top .fs-c-accountService__page .fs-c-accountService__pageLink {
	display: flex;
	flex-direction: column;
	gap: 6px;
	/* ⚠️ FS標準が text-align:center を当てているため、説明文（::after）が中央寄せになる。
	   ラベル行は flex なので影響しないが説明文だけ中央に見える（2026-09-02 本番で松木さん指摘）。
	   リンク全体を左寄せに戻す。 */
	text-align: left;
	padding: 14px 12px;
	height: 100%;
	box-sizing: border-box;
	text-decoration: none;
	color: #17191B;
	background: transparent;
	border: none;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-top .fs-c-accountService__page .fs-c-accountService__pageLink { gap: 8px; padding: 18px 20px; }
}
body.fs-body-my-top .fs-c-accountService__page .fs-c-accountService__pageLink:hover { color: #17191B; text-decoration: none; }
/* ラベル行（左にラベル・右に矢印） */
/* ⚠️ セレクタに `__page` を挟んで詳細度を上げている。FS標準CSSに
     `.fs-c-accountService__page:not(.fs-c-accountService__page--accountDelete) .fs-c-accountService__pageLink__label { font-size: 1.2rem }`
     という **:not() 込みで (0,3,0) のルール**があり、
     `body.fs-body-my-top .fs-c-accountService__pageLink__label`（(0,2,1)）では**負ける**（実測）。
     `__page` を挟むと (0,3,1) で勝つ。 */
body.fs-body-my-top .fs-c-accountService__page .fs-c-accountService__pageLink__label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	color: #17191B;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-top .fs-c-accountService__page .fs-c-accountService__pageLink__label { font-size: 15px; }
}
body.fs-body-my-top .fs-c-accountService__page .fs-c-accountService__pageLink__label .fs-c-string--label {
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
	background: transparent;
}
/* 矢印（HTML追加なし） */
body.fs-body-my-top .fs-c-accountService__page .fs-c-accountService__pageLink__label::after {
	content: "›";
	color: #8A8F94;
	font-size: 14px;
	line-height: 1;
	flex: 0 0 auto;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-top .fs-c-accountService__page .fs-c-accountService__pageLink__label::after { font-size: 15px; }
}

/* --- 各項目の説明文（**CSSのみ・JS不要**）
       li の識別クラスで出し分ける。content を指定しない項目では ::after が生成されないので、
       将来システムが項目を増やしても**空の隙間が出ない**（安全側に倒してある）。 --- */
body.fs-body-my-top .fs-c-accountService__page .fs-c-accountService__pageLink::after {
	text-align: left;
	font-size: 11px;
	font-weight: 400;
	color: #6D7276;
	line-height: 1.6;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-top .fs-c-accountService__page .fs-c-accountService__pageLink::after { font-size: 12px; line-height: 1.7; }
}
body.fs-body-my-top .fs-c-accountService__page--couponList .fs-c-accountService__pageLink::after { content: "保有中のクーポンと利用期限を確認できます。"; }
body.fs-body-my-top .fs-c-accountService__page--wishList .fs-c-accountService__pageLink::after { content: "登録した商品を一覧で確認し、カートに入れられます。"; }
body.fs-body-my-top .fs-c-accountService__page--orderHistoryList .fs-c-accountService__pageLink::after { content: "ご注文内容と配送状況を確認できます。以前の商品はそのまま再注文できます。"; }
body.fs-body-my-top .fs-c-accountService__page--pointHistory .fs-c-accountService__pageLink::after { content: "獲得・利用したポイントの明細を確認できます。"; }
body.fs-body-my-top .fs-c-accountService__page--accountReviews .fs-c-accountService__pageLink::after { content: "投稿したレビューの内容を確認できます。"; }
body.fs-body-my-top .fs-c-accountService__page--addressbook .fs-c-accountService__pageLink::after { content: "複数のお届け先を登録・編集できます。"; }
body.fs-body-my-top .fs-c-accountService__page--accountPassword .fs-c-accountService__pageLink::after { content: "ログイン用のパスワードを変更できます。"; }
body.fs-body-my-top .fs-c-accountService__page--accountSettingsModify .fs-c-accountService__pageLink::after { content: "お名前・住所・メールアドレスなどを変更できます。"; }
body.fs-body-my-top .fs-c-accountService__page--linkedAccounts .fs-c-accountService__pageLink::after { content: "Amazonアカウントとの連携状況を管理できます。"; }
body.fs-body-my-top .fs-c-accountService__page--accountDelete .fs-c-accountService__pageLink::after { content: "当店の会員登録を解除します。"; }

/* ===== お気に入りリストの商品（システムパーツ fs-c-wishlistProduct。CSS上書きのみ） ===== */
body.fs-body-my-top .fs-c-wishlistProduct { margin-top: 28px; }
body.fs-body-my-top .fs-c-wishlistProduct__header { border: none; padding: 0; margin: 0; }
body.fs-body-my-top .fs-c-wishlistProduct__title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 16px;
	font-weight: 700;
	color: #17191B;
	background: transparent;
	border: none;
	padding: 0;
	margin: 0;
	text-align: left;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-top .fs-c-wishlistProduct__title { font-size: 18px; }
}
/* 見出し左の緑アクセントバー（HTML追加なし） */
body.fs-body-my-top .fs-c-wishlistProduct__title::before {
	content: "";
	width: 3px;
	height: 16px;
	background: #1A6B3C;
	border-radius: 2px;
	flex: 0 0 auto;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-top .fs-c-wishlistProduct__title::before { height: 18px; }
}
body.fs-body-my-top .fs-c-wishlistProduct__list { margin-top: 12px; }
@media screen and (min-width: 641px) {
	body.fs-body-my-top .fs-c-wishlistProduct__list { margin-top: 14px; }
}
/* 商品カード */
body.fs-body-my-top .fs-c-productListItem { border: none; padding: 0; }
body.fs-body-my-top .fs-c-productListItem__image__image {
	border: 1px solid #ECEEF0;
	border-radius: 6px;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	background: #FFFFFF;
	width: 100%;
	height: auto;
}
body.fs-body-my-top .fs-c-productListItem__productName {
	margin: 8px 0 0;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.5;
	background: transparent;
	border: none;
	padding: 0;
}
body.fs-body-my-top .fs-c-productListItem__productName a { color: #17191B; text-decoration: none; }
body.fs-body-my-top .fs-c-productName__name {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}
@media screen and (max-width: 640px) {
	body.fs-body-my-top .fs-c-productListItem__productName { font-size: 11px; }
}
/* バリエーションはチップ表示 */
body.fs-body-my-top .fs-c-productName__variation {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin-top: 4px;
}
body.fs-body-my-top .fs-c-productName__variation__x,
body.fs-body-my-top .fs-c-productName__variation__y {
	font-size: 10px;
	color: #3D4246;
	background: #FFFFFF;
	border: 1px solid #E3E5E7;
	border-radius: 4px;
	padding: 1px 6px;
}
/* 価格 */
body.fs-body-my-top .fs-c-productListItem__prices { margin-top: 4px; }
body.fs-body-my-top .fs-c-productPrice__main__label { font-size: 10px; color: #6D7276; font-weight: 400; }
body.fs-body-my-top .fs-c-productPrice__main__price { font-size: 13px; font-weight: 700; color: #D81F24; }
body.fs-body-my-top .fs-c-productPrice__main__price .fs-c-price__value,
body.fs-body-my-top .fs-c-productPrice__main__price .fs-c-price__currencyMark { font-size: inherit; font-weight: inherit; color: inherit; }
body.fs-body-my-top .fs-c-productPrice__addon__label { font-size: 10px; font-weight: 400; color: #6D7276; }
/* 商品説明はカード内では出さない（デザイン案に無く、縦に伸びてカルーセルが崩れる） */
/* ✅ 2026-09-03 松木さん確認: この一言説明は `お気に入りパーツ`（システムパーツ）が
      出力しており、**子パーツに展開できない**ためレイアウトから外せない。
      → CSSが唯一の手段。例外として確定。再検討しないこと。
      ⚠️ お気に入りページ（/my/wishlist）の `お気に入り一覧` は**別のパーツ**で、
         そちらはシステムパーツグループなので `商品一言説明パーツ` を外して対応済み。
         パーツが違うので片方の操作はもう片方に効かない。 */
body.fs-body-my-top .fs-c-productListItem__productDescription { display: none; }
/* カートに入れる／詳細を見る: 同じアウトライン様式にそろえる */
body.fs-body-my-top .fs-c-button--addToCart--list,
body.fs-body-my-top .fs-c-button--viewProductDetail {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 40px;
	margin-top: 8px;
	border: 1px solid #1A6B3C;
	border-radius: 6px;
	background: #FFFFFF;
	color: #1A6B3C !important;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
	box-shadow: none;
	box-sizing: border-box;
	cursor: pointer;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-top .fs-c-button--addToCart--list,
	body.fs-body-my-top .fs-c-button--viewProductDetail { font-size: 13px; }
}
body.fs-body-my-top .fs-c-button--addToCart--list:hover,
body.fs-body-my-top .fs-c-button--viewProductDetail:hover { background: #F1F6F3; color: #1A6B3C; }
/* フッターの「お気に入りへ」→ 左右罫線で挟んだ中央リンク */
body.fs-body-my-top .fs-c-wishlistProduct__footer {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 12px;
	border: none;
	padding: 0;
}
body.fs-body-my-top .fs-c-wishlistProduct__footer::before,
body.fs-body-my-top .fs-c-wishlistProduct__footer::after {
	content: "";
	flex: 1;
	height: 1px;
	background: #E3E5E7;
}
body.fs-body-my-top .fs-c-viewAllProductsLink {
	font-size: 13px;
	color: #3D4246;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	flex: 0 0 auto;
}
body.fs-body-my-top .fs-c-viewAllProductsLink::after { content: "›"; font-size: 15px; color: #8A8F94; }
body.fs-body-my-top .fs-c-viewAllProductsLink__label::after { content: "をすべて見る"; }

/* --- お気に入りカルーセルの並び
   ⚠️ このパーツは `fs-c-slick` クラスを持ち、**FSのJSがカルーセル化する**。
      並び方（slick-track の幅・transform）はJS側が作るので**触らない**。
      JSが動かない状態だと FS既定で中央寄せになるため、左寄せだけ入れておく
      （JS初期化後は slick-track が入るのでこの指定は無害）。 --- */
body.fs-body-my-top .fs-c-productListCarousel__list__itemTrack:not(.slick-track) { justify-content: flex-start; }

/* 🔴 サービスカードの「枠が濃く見える／薄く見える」の正体は影だった（2026-09-03 実測）
      カード内の `a.fs-c-accountService__pageLink` に FSテーマの
      `box-shadow: rgb(178,178,178) 0 0 2px` が付いており、これが枠を濃く見せていた。
      **退会手続きだけ影が無く**、そのため枠が薄く見えていた（枠自体は
      全カード `1px solid #ECEEF0` で同一）。
      デザイン指定に影は無いので**全カードから消して枠1pxだけに統一する。** */
body.fs-body-my-top .fs-c-accountService__pageLink { box-shadow: none; }

/* ===== サービスカードのアイコン =====
   FS標準の `label::before`（アイコンフォント fs-icon・48px・#7C8790）をそのまま活かす。

   🔴 「退会手続き」だけアイコンが出ない。FS側が
      `:not(.fs-c-accountService__page--accountDelete)` で除外しているため。
      **枠・地・角丸・高さは他カードと完全に同一**（1px solid #ECEEF0 / #FAFBFB /
      8px / 128px。2026-09-03 実測）。違いはアイコンの有無だけで、
      それが「デザインが違う」印象を作っていた。

   → SVGで補う（2026-09-03 松木さん指示）。
      ⚠️ アイコンフォントには退会に合うグリフが無いためSVGにした。
         色 #7C8790・48px角・線幅1.6 を他と揃えてある。
      ⚠️ 図案は「人＋マイナス」。ドアから出る矢印は**ログアウトと紛らわしい**ので避けた
         （ログアウトは会員情報バーに別途ある）。 */
body.fs-body-my-top .fs-c-accountService__page--accountDelete .fs-c-accountService__pageLink__label::before {
	content: "";
	display: block;
	width: 48px;
	height: 48px;
	margin: 0 auto;
	line-height: 57.6px;   /* 他カードのアイコン行と高さを揃える */
	background-repeat: no-repeat;
	background-position: center;
	background-size: 48px 48px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237C8790' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='7.6' r='3.2'/%3E%3Cpath d='M2.8 19c0-3.3 2.7-5.2 6.2-5.2 1.1 0 2.1.2 3 .5'/%3E%3Ccircle cx='17.4' cy='17.4' r='4.1'/%3E%3Cpath d='M15.3 17.4h4.2'/%3E%3C/svg%3E");
}

/* ===== お困りのことがありましたら（新規フリーパーツ .mk-support） =====
   配置はコンテンツエリアの「お気に入りパーツ」の直後。
   文言・電話番号・遷移先はフリーパーツ側にあるので、変更時にCSSは触らない。 */
body.fs-body-my-top .mk-support {
	background: #FAFBFB;
	border: 1px solid #ECEEF0;
	border-radius: 8px;
	padding: 16px;
	margin: 28px 0 0;
	box-sizing: border-box;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-top .mk-support {
		display: flex;
		align-items: center;
		gap: 32px;
		padding: 22px 28px;
	}
	body.fs-body-my-top .mk-support__lead { flex: 1; min-width: 0; }
}
body.fs-body-my-top .mk-support__title {
	margin: 0;
	font-size: 15px;
	font-weight: 700;
	color: #17191B;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-top .mk-support__title { font-size: 16px; }
}
/* 営業時間: SPはボタンの下、PCは見出しの直下 */
body.fs-body-my-top .mk-support__hours {
	margin: 10px 0 0;
	font-size: 11px;
	color: #8A8F94;
	line-height: 1.7;
	order: 3;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-top .mk-support__hours { margin-top: 4px; font-size: 12px; color: #6D7276; }
}
/* アクション（電話・フォーム） */
body.fs-body-my-top .mk-support__actions {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 10px;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-top .mk-support__actions {
		flex-direction: row;
		align-items: center;
		gap: 16px;
		margin-top: 0;
		flex: 0 0 auto;
	}
}
/* SPは「見出し → ボタン → 営業時間」の順にしたいが、HTMLは
   lead(見出し+営業時間) → actions の順。SPだけ flex+order で並べ替える
   （PCは lead を1つの塊として左に置くので order は使わない） */
@media screen and (max-width: 640px) {
	body.fs-body-my-top .mk-support { display: flex; flex-direction: column; }
	body.fs-body-my-top .mk-support__lead { display: contents; }
	body.fs-body-my-top .mk-support__title { order: 1; }
	body.fs-body-my-top .mk-support__actions { order: 2; }
	body.fs-body-my-top .mk-support__hours { order: 3; }
}
/* 電話（主導線・緑アウトライン） */
body.fs-body-my-top .mk-support__tel {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 48px;
	border: 1px solid #1A6B3C;
	border-radius: 6px;
	background: #FFFFFF;
	color: #1A6B3C !important;
	text-decoration: none;
	box-sizing: border-box;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-top .mk-support__tel { flex: 0 0 240px; height: 52px; }
}
body.fs-body-my-top .mk-support__tel:hover { background: #F1F6F3; color: #1A6B3C !important; }
body.fs-body-my-top .mk-support__telicon { flex: 0 0 auto; }
body.fs-body-my-top .mk-support__telnum { font-size: 15px; font-weight: 700; letter-spacing: 0.02em; }
@media screen and (min-width: 641px) {
	body.fs-body-my-top .mk-support__telnum { font-size: 17px; }
}
/* お問い合わせフォーム（副導線・グレー枠） */
body.fs-body-my-top .mk-support__form {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 44px;
	border: 1px solid #E3E5E7;
	border-radius: 6px;
	background: #FFFFFF;
	color: #3D4246 !important;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	box-sizing: border-box;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-top .mk-support__form { flex: 0 0 190px; height: 52px; }
}
body.fs-body-my-top .mk-support__form:hover { background: #F2F4F5; color: #3D4246 !important; }
/* ===================================================
   注文履歴（fs-body-my-orders / id=fs_MyOrders）
   2026-09-02 Claude Design handoff「注文履歴」を実装
   出典: 01_ページ/my-orders_注文履歴/20260902_注文履歴デザイン/03_assets/README.md

   🔴 実装方針: **CSSのみ。HTML変更・要素追加・並び替えなし。**
      レビューボタンのテキスト化だけ擬似要素（::after）を使う。

   🔴 FS標準CSSの2つの構造問題を組み直している（実測で判明）:
      ① `.fs-c-history` が `display:grid` で、`__listContainer` が **899px** に制限される
         （PC1200pxのうち899pxしか使えない）→ `display:block` に戻す
      ② `.fs-c-orderHistoryItem__product` のグリッド列が **`112px 0px 0px 729px`** になり、
         **商品名・単価・数量が幅0**（商品名が縦1文字ずつ・高さ2633pxになる）
         → grid-template-areas で組み直す
=================================================== */

/* SPの左右余白（購入フロー・マイページと同じ手法） */
@media screen and (max-width: 640px) {
	/* SPの左右余白は 00_共通/css/追記_マイページ共通.css に移した（2026-09-03） */
}
/* 下余白は 00_共通/css/追記_マイページ共通.css に移した（2026-09-03） */

/* 見出し「注文履歴」: サイト共通が中央寄せ18px */
body.fs-body-my-orders .fs-c-heading--page {
	text-align: left;
	font-size: 22px;
	font-weight: 700;
	color: #17191B;
	border: none;
	padding: 0;
	margin: 4px 0 0;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-orders .fs-c-heading--page { font-size: 24px; }
}

/* --- ① .fs-c-history の grid を解除（これがカード幅899pxの原因） --- */
body.fs-body-my-orders .fs-c-history { display: block; }
body.fs-body-my-orders .fs-c-history__listContainer { width: auto; }
body.fs-body-my-orders .fs-c-orderHistory { width: auto; margin: 10px 0 0; }

/* ===== 期間切替＋サマリ（fs-c-history__info） ===== */
body.fs-body-my-orders .fs-c-history__info {
	background: #FAFBFB;
	border: 1px solid #ECEEF0;
	border-radius: 8px;
	padding: 14px 16px;
	margin: 16px 0 0;
	box-sizing: border-box;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-orders .fs-c-history__info {
		padding: 18px 24px;
		margin-top: 20px;
		display: flex;
		align-items: center;
		gap: 32px;
	}
	body.fs-body-my-orders .fs-c-history__termCtrl { flex: 0 0 auto; }
	body.fs-body-my-orders .fs-c-history__infoSummary {
		flex: 1;
		min-width: 0;
		display: flex;
		align-items: center;
		gap: 32px;
	}
}
/* 年の select
   🔴 中身が上に寄る件（2026-09-03 松木さん指摘）の真因は Chromium の UA スタイルシート:
        select:not(:-internal-list-box) { align-items: -internal-auto-base(center, unset) }
   **appearance:none を書いた瞬間に垂直中央寄せが解除される**（center → unset）。
   当サイトは共通リセットに `select { appearance: none }` があるため全ページこの状態。
   対処は `align-items: center` の明示。line-height を height に合わせる書き方でも
   結果的に中央に見えるが、height を変えるたびに手計算が要るので使わない。 */
body.fs-body-my-orders .fs-c-history__termCtrl .fs-c-inputInformation__form { margin: 0; }
body.fs-body-my-orders .fs-c-history__termCtrl .fs-c-dropdown {
	display: block;
	overflow: visible;
	border: none;
	background: none;
}
body.fs-body-my-orders .fs-c-history__termCtrl .fs-c-dropdown::before,
body.fs-body-my-orders .fs-c-history__termCtrl .fs-c-dropdown::after { display: none; }
body.fs-body-my-orders .fs-c-history__termCtrl .fs-c-dropdown__menu {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	height: 44px;
	align-items: center;   /* ← これが無いと Chromium で文字が上に寄る（上記） */
	margin: 0;
	border: 1px solid #C9CED2;
	border-radius: 6px;
	background-color: #FFFFFF;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%233D4246' stroke-width='2'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 13px center;
	background-size: 13px 8px;
	padding: 0 34px 0 12px;
	font-family: inherit;
	font-size: 16px;  /* SPで16px未満だと iOS Safari がフォーカス時にズームする */
	font-weight: 700;
	color: #17191B;
	box-sizing: border-box;
	cursor: pointer;
	transition: border-color .15s ease;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-orders .fs-c-history__termCtrl .fs-c-dropdown__menu { width: 150px; font-size: 14px; }
}
body.fs-body-my-orders .fs-c-history__termCtrl .fs-c-dropdown__menu:hover { border-color: #9AA0A5; }
body.fs-body-my-orders .fs-c-history__termCtrl .fs-c-dropdown__menu:focus {
	border-color: #1A6B3C;
	outline: none;
}
/* 期間文 */
body.fs-body-my-orders .fs-c-history__term {
	margin: 10px 0 0;
	font-size: 12px;
	color: #3D4246;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-orders .fs-c-history__term { margin: 0; flex: 1; min-width: 0; font-size: 13px; }
}
/* 注文合計金額・合計注文件数 */
body.fs-body-my-orders .fs-c-history__total {
	margin: 10px 0 0;
	padding-top: 10px;
	border-top: 1px solid #ECEEF0;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-orders .fs-c-history__total {
		margin: 0;
		padding-top: 0;
		padding-left: 32px;
		border-top: none;
		border-left: 1px solid #ECEEF0;
		flex: 0 0 auto;
		white-space: nowrap;
	}
}
/* dl は dt/dd が交互に2組。列方向に流してラベル上・値下の2組を横並びにする
   （文言はシステムのまま。⚠️ クラス名と内容が食い違っている:
     __quantity=「注文合計金額」/ __number=「合計注文件数」） */
body.fs-body-my-orders .fs-c-history__total .fs-c-pairList {
	display: grid;
	grid-template-rows: auto auto;
	grid-auto-flow: column;
	gap: 2px 32px;
	justify-content: space-between;
	margin: 0;
	padding: 0;
	border: none;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-orders .fs-c-history__total .fs-c-pairList { justify-content: start; }
}
body.fs-body-my-orders .fs-c-history__total .fs-c-pairList dt {
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
	font-size: 11px;
	font-weight: 400;
	color: #6D7276;
	text-align: left;
}
body.fs-body-my-orders .fs-c-history__total .fs-c-pairList dd {
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
	font-size: 20px;
	font-weight: 900;
	color: #17191B;
	text-align: left;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-orders .fs-c-history__total .fs-c-pairList dd { font-size: 22px; }
}
/* 金額の ¥ と数字を同じサイズに（購入済みの記録なので**赤は使わない**） */
body.fs-body-my-orders .fs-c-history__total .fs-c-price,
body.fs-body-my-orders .fs-c-history__total .fs-c-price__currencyMark,
body.fs-body-my-orders .fs-c-history__total .fs-c-price__value {
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
}
/* SPは金額を左・件数を右に寄せる */
@media screen and (max-width: 640px) {
	body.fs-body-my-orders .fs-c-history__total .fs-c-pairList dt:nth-of-type(2),
	body.fs-body-my-orders .fs-c-history__total .fs-c-pairList dd:nth-of-type(2) { text-align: right; }
}

/* ===== 件数表示（fs-c-listControl）※上下2箇所に出るのが仕様。装飾しない ===== */
body.fs-body-my-orders .fs-c-listControl {
	margin: 14px 0 0;
	padding: 0;
	border: none;
	background: transparent;
	font-size: 11px;
	color: #8A8F94;
	display: block;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-orders .fs-c-listControl { font-size: 12px; }
}
body.fs-body-my-orders .fs-c-listControl__status {
	display: flex;
	gap: 6px;
	justify-content: flex-start;
	font-size: inherit;
	color: inherit;
}
body.fs-body-my-orders .fs-c-listControl__status span { font-size: inherit; color: inherit; }

/* ===== 注文カード（fs-c-orderHistoryItem） ===== */
body.fs-body-my-orders .fs-c-orderHistoryItem {
	border: 1px solid #ECEEF0;
	border-radius: 8px;
	overflow: hidden;
	margin: 0 0 14px;
	padding: 0;
	background: #FFFFFF;
	box-sizing: border-box;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-orders .fs-c-orderHistoryItem { margin-bottom: 16px; }
}
/* --- ヘッダー（ご注文日 / コード / 合計金額 ＋ 詳細ボタン） --- */
body.fs-body-my-orders .fs-c-orderHistoryItem__header {
	background: #FAFBFB;
	border-bottom: 1px solid #ECEEF0;
	padding: 12px 14px;
	display: block;
	box-sizing: border-box;
}
/* ⚠️ 順序が重要。SP用（無条件）を先に書き、PC用（@media）を後に書く。
   逆にすると @media の後の無条件指定が勝ってPCでも縦積みになる（2026-09-02 実際に踏んだ） */
body.fs-body-my-orders .fs-c-orderHistoryItem__orderInfo {
	display: flex;
	flex-direction: column;
	/* ⚠️ FS標準が中央寄せにするため明示（これが無いとSPで各行が右に寄る・実測） */
	align-items: stretch;
	gap: 4px;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-orders .fs-c-orderHistoryItem__header {
		padding: 14px 20px;
		display: flex;
		align-items: center;
		gap: 40px;
	}
	body.fs-body-my-orders .fs-c-orderHistoryItem__orderInfo {
		flex-direction: row;
		align-items: center;
		gap: 40px;
		flex: 1;
		min-width: 0;
	}
}
/* 各dl: SPは「ラベル84px｜値」の2カラム、PCはラベル上・値下 */
body.fs-body-my-orders .fs-c-orderHistoryItem__orderInfo__info {
	display: flex;
	align-items: baseline;
	/* ⚠️ FS標準が右寄せにするため明示（2026-09-02 実測） */
	justify-content: flex-start;
	gap: 8px;
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-orders .fs-c-orderHistoryItem__orderInfo__info {
		display: block;
		flex: 0 0 auto;
		white-space: nowrap;
	}
}
body.fs-body-my-orders .fs-c-orderHistoryItem__orderInfo__info dt {
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
	flex: 0 0 84px;
	font-size: 11px;
	font-weight: 400;
	color: #8A8F94;
	text-align: left;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-orders .fs-c-orderHistoryItem__orderInfo__info dt { flex: none; }
}
body.fs-body-my-orders .fs-c-orderHistoryItem__orderInfo__info dt .fs-c-string--label {
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
	background: transparent;
}
body.fs-body-my-orders .fs-c-orderHistoryItem__orderInfo__info dd {
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
	color: #17191B;
	text-align: left;
}
/* 値のサイズ: 日付 / コード（等幅）/ 合計金額 */
body.fs-body-my-orders .fs-c-orderHistoryItem__orderDate dd { font-size: 15px; font-weight: 700; }
@media screen and (min-width: 641px) {
	body.fs-body-my-orders .fs-c-orderHistoryItem__orderDate dd { font-size: 16px; }
}
body.fs-body-my-orders .fs-c-orderHistoryItem__orderDate .fs-c-time { font-size: inherit; font-weight: inherit; color: inherit; }
body.fs-body-my-orders .fs-c-orderHistoryItem__orderCode dd {
	font-size: 12px;
	color: #3D4246;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: 0.02em;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-orders .fs-c-orderHistoryItem__orderCode dd { font-size: 14px; }
}
body.fs-body-my-orders .fs-c-orderHistoryItem__orderCode .fs-c-string--code { font-size: inherit; color: inherit; font-family: inherit; background: transparent; }
body.fs-body-my-orders .fs-c-orderHistoryItem__orderSummary dd { font-size: 17px; font-weight: 700; }
@media screen and (min-width: 641px) {
	body.fs-body-my-orders .fs-c-orderHistoryItem__orderSummary dd { font-size: 18px; }
}
/* 合計金額の ¥ と数字（**赤は使わない**） */
body.fs-body-my-orders .fs-c-orderHistoryItem__orderSummary .fs-c-price,
body.fs-body-my-orders .fs-c-orderHistoryItem__orderSummary .fs-c-price__currencyMark,
body.fs-body-my-orders .fs-c-orderHistoryItem__orderSummary .fs-c-price__value {
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
}
/* 注文履歴詳細を見る（アウトライン緑） */
body.fs-body-my-orders .fs-c-orderHistoryItem__header__button { margin: 10px 0 0; padding: 0; }
@media screen and (min-width: 641px) {
	body.fs-body-my-orders .fs-c-orderHistoryItem__header__button { margin: 0; flex: 0 0 auto; }
}
body.fs-body-my-orders .fs-c-button--viewOrderHistoryDetail {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	height: 48px;
	border: 1px solid #1A6B3C;
	border-radius: 6px;
	background: #FFFFFF;
	color: #1A6B3C !important;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	box-shadow: none;
	box-sizing: border-box;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-orders .fs-c-button--viewOrderHistoryDetail { width: auto; height: 44px; padding: 0 20px; white-space: nowrap; }
}
body.fs-body-my-orders .fs-c-button--viewOrderHistoryDetail:hover { background: #F1F6F3; color: #1A6B3C !important; }
body.fs-body-my-orders .fs-c-button--viewOrderHistoryDetail::after { content: "›"; font-size: 15px; line-height: 1; }

/* --- 本体（商品行） ---
   🔴 FS標準のグリッド列が `112px 0px 0px 729px` になり商品名・単価・数量が幅0になるため、
      grid-template-areas で組み直す（DOM順は productImage / productName / unitPrice /
      productQuantity / deliveryInfo / button のまま。**HTMLは触っていない**） */
body.fs-body-my-orders .fs-c-orderHistoryItem__body { padding: 12px 14px; }
@media screen and (min-width: 641px) {
	body.fs-body-my-orders .fs-c-orderHistoryItem__body { padding: 16px 20px; }
}
body.fs-body-my-orders .fs-c-orderHistoryItem__product {
	display: grid;
	/* 1列目は auto。画像は width:56px 固定なので、2行目の「数量 1」が入る幅まで
	   自動で広がる（56px 固定にすると数量が折り返す・2026-09-02 実測） */
	grid-template-columns: auto minmax(0, 1fr);
	grid-template-areas:
		"img  name"
		"qty  price"
		"btn  btn";
	gap: 10px 12px;
	align-items: center;
	margin: 0;
	padding: 0;
	border: none;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-orders .fs-c-orderHistoryItem__product {
		grid-template-columns: 64px minmax(0, 1fr) 100px 140px auto;
		grid-template-areas: "img name qty price btn";
		gap: 16px;
	}
}
/* 商品が複数ある注文では __product が縦に並ぶ。間に罫線を入れる */
body.fs-body-my-orders .fs-c-orderHistoryItem__product + .fs-c-orderHistoryItem__product {
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid #ECEEF0;
}
body.fs-body-my-orders .fs-c-orderHistoryItem__productImage { grid-area: img; margin: 0; padding: 0; }
body.fs-body-my-orders .fs-c-orderHistoryItem__productName { grid-area: name; margin: 0; padding: 0; min-width: 0; }
body.fs-body-my-orders .fs-c-orderHistoryItem__productQuantity { grid-area: qty; margin: 0; padding: 0; }
body.fs-body-my-orders .fs-c-orderHistoryItem__unitPrice { grid-area: price; margin: 0; padding: 0; }
body.fs-body-my-orders .fs-c-orderHistoryItem__button { grid-area: btn; margin: 0; padding: 0; }
/* ⚠️ deliveryInfo は中身が空で出力される（実測）。空のときは隠して余白を作らない */
/* ✅ 2026-09-03 松木さん確認: 配送情報は `注文履歴パーツ`（システムパーツ）に
      含まれており**子パーツに展開できない**ため、レイアウトから外せない。
      → CSSが唯一の手段。例外として確定。再検討しないこと。 */
body.fs-body-my-orders .fs-c-orderHistoryItem__deliveryInfo { display: none; }
body.fs-body-my-orders .fs-c-orderHistoryItem__deliveryInfo:has(dt) { display: block; grid-area: name; margin: 6px 0 0; }

/* 商品画像 64px(PC)/56px(SP) 正方形 */
body.fs-body-my-orders .fs-c-orderHistoryItem__productImage__image {
	width: 56px;
	height: 56px;
	border: 1px solid #ECEEF0;
	border-radius: 6px;
	object-fit: contain;
	background: #FFFFFF;
	box-sizing: border-box;
	max-width: none;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-orders .fs-c-orderHistoryItem__productImage__image { width: 64px; height: 64px; }
}
/* 商品名（2行clamp） */
body.fs-body-my-orders .fs-c-orderHistoryItem__productName a { color: #17191B; text-decoration: none; }
body.fs-body-my-orders .fs-c-orderHistoryItem__productName .fs-c-listedProductName__name {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	font-size: 13px;
	line-height: 1.5;
	color: #17191B;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-orders .fs-c-orderHistoryItem__productName .fs-c-listedProductName__name { font-size: 14px; line-height: 1.6; }
}
/* バリエーションをチップ化（2つ並ぶ） */
body.fs-body-my-orders .fs-c-orderHistoryItem__productName .fs-c-listedProductName__variation {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin-top: 6px;
}
body.fs-body-my-orders .fs-c-orderHistoryItem__productName .fs-c-listedProductName__variation__choice {
	font-size: 11px;
	color: #3D4246;
	background: #FFFFFF;
	border: 1px solid #E3E5E7;
	border-radius: 4px;
	padding: 2px 8px;
}
/* 数量（SPは左・PCは右寄せ） */
/* ⚠️ セレクタに `__product` を挟んで詳細度を上げている。FS標準の text-align に負けるため */
body.fs-body-my-orders .fs-c-orderHistoryItem__product .fs-c-orderHistoryItem__productQuantity {
	display: flex;
	align-items: baseline;
	gap: 6px;
	font-size: 12px;
	color: #6D7276;
	padding-top: 10px;
	border-top: 1px solid #ECEEF0;
	/* ⚠️ nowrap が要る。grid の 1列目 `auto` は min-content で決まるので、
	   これが無いと「数量 1」が画像幅(56px)に押し込まれて4行に折り返す（実測） */
	white-space: nowrap;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-orders .fs-c-orderHistoryItem__product .fs-c-orderHistoryItem__productQuantity {
		display: block;
		text-align: right;
		white-space: nowrap;
		padding-top: 0;
		border-top: none;
	}
}
body.fs-body-my-orders .fs-c-orderHistoryItem__productQuantity__label { font-size: 11px; color: #6D7276; }
body.fs-body-my-orders .fs-c-orderHistoryItem__productQuantity__number { font-size: 14px; font-weight: 700; color: #17191B; }
@media screen and (min-width: 641px) {
	body.fs-body-my-orders .fs-c-orderHistoryItem__productQuantity__number { display: block; font-size: 15px; }
}
/* 単価（SPは右・PCは右寄せ。**赤は使わない**） */
body.fs-body-my-orders .fs-c-orderHistoryItem__product .fs-c-orderHistoryItem__unitPrice {
	text-align: right;
	white-space: nowrap;
	padding-top: 10px;
	border-top: 1px solid #ECEEF0;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-orders .fs-c-orderHistoryItem__product .fs-c-orderHistoryItem__unitPrice { padding-top: 0; border-top: none; }
}
body.fs-body-my-orders .fs-c-orderHistoryItem__unitPrice .fs-c-priceDisplay { display: block; }
body.fs-body-my-orders .fs-c-orderHistoryItem__unitPrice .fs-c-productPrice__main__price,
body.fs-body-my-orders .fs-c-orderHistoryItem__unitPrice .fs-c-price,
body.fs-body-my-orders .fs-c-orderHistoryItem__unitPrice .fs-c-price__currencyMark,
body.fs-body-my-orders .fs-c-orderHistoryItem__unitPrice .fs-c-price__value {
	font-size: 15px;
	font-weight: 700;
	color: #17191B;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-orders .fs-c-orderHistoryItem__unitPrice .fs-c-productPrice__main__price,
	body.fs-body-my-orders .fs-c-orderHistoryItem__unitPrice .fs-c-price,
	body.fs-body-my-orders .fs-c-orderHistoryItem__unitPrice .fs-c-price__currencyMark,
	body.fs-body-my-orders .fs-c-orderHistoryItem__unitPrice .fs-c-price__value { font-size: 17px; }
}
body.fs-body-my-orders .fs-c-orderHistoryItem__unitPrice .fs-c-productPrice__addon__label {
	font-size: 10px;
	font-weight: 400;
	color: #6D7276;
}


/* --- レビューを書く ---
   システム出力は**画像ボタン**（review-write-button.gif）。
   handoffのモックに合わせてテキスト化する（img を隠して ::after で文字を出す＝HTML変更なし）。
   💡 画像ボタンに戻したい場合は下の2ブロックを削除すれば、枠だけ整った画像ボタンになる。 */
body.fs-body-my-orders .fs-c-button--addReview--detail {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 44px;
	border: 1px solid #E3E5E7;
	border-radius: 6px;
	background: #FFFFFF;
	text-decoration: none;
	box-sizing: border-box;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-orders .fs-c-button--addReview--detail { width: auto; padding: 0 18px; white-space: nowrap; }
}
body.fs-body-my-orders .fs-c-button--addReview--detail:hover { background: #F2F4F5; }
/* 🔴 2026-09-03 実機で確認: テーマ＞ボタン設定の「レビューを書く」には
      画像 `review-write-button.gif`（識別子 btn_review）が割り当てられており、
      **商品詳細ページはこの画像ボタンを意図的に使っている**
      （商品詳細には cart-button.gif / stock-inquiry-button.gif も画像ボタンで存在）。
      テーマのボタン設定は**全ページ共通で1つしかない**ため、設定から画像を外すと
      商品詳細の画像ボタンも消える。
      → 「マイページ系だけテキストにする」にはCSSで画像を隠すのが唯一の手段。
      例外として確定。⛔ テーマ設定から外そうとしないこと。 */
body.fs-body-my-orders .fs-c-button--addReview--detail .fs-c-button__image { display: none; }
body.fs-body-my-orders .fs-c-button--addReview--detail::after {
	content: "レビューを書く";
	font-size: 13px;
	font-weight: 700;
	color: #3D4246;
}

/* ===== マイページトップボタン =====
   購入CTAではないので塗りボタンにしない。左右罫線で挟んだ中央テキストリンク
   （カートの「お買い物を続ける」と同じ様式） */
body.fs-body-my-orders .fs-c-buttonContainer--myPageTop {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 20px 0 0;
	padding: 0;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-orders .fs-c-buttonContainer--myPageTop { gap: 16px; }
}
body.fs-body-my-orders .fs-c-buttonContainer--myPageTop::before,
body.fs-body-my-orders .fs-c-buttonContainer--myPageTop::after {
	content: "";
	flex: 1;
	height: 1px;
	background: #E3E5E7;
}
body.fs-body-my-orders .fs-c-button--myPageTop {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	flex: 0 0 auto;
	min-width: 0;
	max-width: none;
	width: auto;
	height: auto;
	padding: 0;
	border: none;
	background: transparent;
	color: #3D4246 !important;
	font-size: 13px;
	font-weight: 400;
	text-decoration: none;
	white-space: nowrap;
	box-shadow: none;
}
body.fs-body-my-orders .fs-c-button--myPageTop:hover { color: #17191B !important; text-decoration: underline; background: transparent; }
body.fs-body-my-orders .fs-c-button--myPageTop::before { content: "‹"; font-size: 15px; color: #8A8F94; }

/* --- FS標準が付ける括弧とセパレータを消す（チップ化したので不要） ---
   実測: `（ サイズ（フリー） / 2個 ）` のように variation の前後に括弧、
   2つ目以降の choice の前に「/」が擬似要素で入る。 */
body.fs-body-my-orders .fs-c-orderHistoryItem__productName .fs-c-listedProductName__variation::before,
body.fs-body-my-orders .fs-c-orderHistoryItem__productName .fs-c-listedProductName__variation::after,
body.fs-body-my-orders .fs-c-orderHistoryItem__productName .fs-c-listedProductName__variation__choice::before,
body.fs-body-my-orders .fs-c-orderHistoryItem__productName .fs-c-listedProductName__variation__choice::after { content: none; display: none; }

/* 単価の「税込」: SPは金額の直後にインライン、PCは金額の下（デザイン案どおり）。
   ⚠️ 無条件で block にすると、SPで金額が左・「（税込）」が右端に離れる（実測） */
body.fs-body-my-orders .fs-c-orderHistoryItem__product .fs-c-orderHistoryItem__unitPrice .fs-c-productPrice__addon {
	display: inline;
	margin-left: 4px;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-orders .fs-c-orderHistoryItem__product .fs-c-orderHistoryItem__unitPrice .fs-c-productPrice__addon {
		display: block;
		margin-left: 0;
		margin-top: 2px;
	}
}
/* カード下部の余白が余るのを詰める（商品行がgridなので body の padding だけで足りる） */
body.fs-body-my-orders .fs-c-orderHistoryItem__body > *:last-child { margin-bottom: 0; }
body.fs-body-my-orders .fs-c-orderHistory > *:last-child { margin-bottom: 0; }

/* SPは「¥3,960（税込）」を1行に。金額(__main)が block だと「税込」が次行に落ちる（実測） */
body.fs-body-my-orders .fs-c-orderHistoryItem__product .fs-c-orderHistoryItem__unitPrice .fs-c-productPrice__main { display: inline; }
@media screen and (min-width: 641px) {
	body.fs-body-my-orders .fs-c-orderHistoryItem__product .fs-c-orderHistoryItem__unitPrice .fs-c-productPrice__main { display: block; }
}
/* ===================================================
   注文履歴詳細（fs-body-my-orders-details / id=fs_MyOrderDetails）
   2026-09-03。Claude Design handoff（design_handoff_order_detail）を実装。

   ★ HTML変更なし・要素追加なし・並び替えなし。CSSのみ。
     レビューボタンのテキスト化だけ ::after を使う。

   🔴 FS標準の構造（実測）:
      .fs-c-orderPerAddressee … display:grid / 848px 352px の2列
      .fs-c-orderDetailInfo   … display:grid / 848px 352px の2列
      .fs-c-orderDetailList   … display:grid / 100px 1114px
      .fs-c-addresseeList     … display:grid / 84px 756px
     お届け先セクションは「明細=全幅・その下に金額帯」にしたいので grid を組み直す。
     ご注文内容は2列のままだがサマリ幅を 380px にする。

   ⚠️ 幅は 940px（サイドバナーあり＝現状）でも 1200px（1カラム）でも成立するよう、
     固定幅を使わず minmax(0,1fr) と max-width で組んでいる。
=================================================== */

/* --- 0. トークン ------------------------------------------------------- */
body.fs-body-my-orders-details {
	--mkd-green: #1A6B3C;
	--mkd-ink: #17191B;
	--mkd-ink2: #3D4246;
	--mkd-sub: #6D7276;
	--mkd-sub2: #8A8F94;
	--mkd-line: #ECEEF0;
	--mkd-line2: #E3E5E7;
	--mkd-card: #FAFBFB;
}

/* --- 1. ページ見出し --------------------------------------------------- */
body.fs-body-my-orders-details .fs-c-heading--page {
	margin: 12px 0 20px;
	padding: 0;
	border: none;
	background: none;
	text-align: left;
	font-size: 22px;
	font-weight: 700;
	color: var(--mkd-ink);
}
@media screen and (min-width: 641px) {
	body.fs-body-my-orders-details .fs-c-heading--page { font-size: 24px; }
}

/* --- 2. セクション見出し（緑バー） ------------------------------------- */
body.fs-body-my-orders-details .fs-c-heading--section {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 24px 0 10px;
	padding: 0;
	border: none;
	background: none;
	font-size: 16px;
	font-weight: 700;
	color: var(--mkd-ink);
}
body.fs-body-my-orders-details .fs-c-heading--section::before {
	content: "";
	flex: 0 0 auto;
	width: 3px;
	height: 16px;
	border-radius: 2px;
	background: var(--mkd-green);
}
@media screen and (min-width: 641px) {
	body.fs-body-my-orders-details .fs-c-heading--section {
		gap: 10px;
		margin: 28px 0 12px;
		font-size: 18px;
	}
	body.fs-body-my-orders-details .fs-c-heading--section::before { height: 18px; }
}

/* --- 3. 注文メタ（ご注文日時・ご注文コード） --------------------------- */
body.fs-body-my-orders-details .fs-c-orderDetail__data {
	margin: 0;
	padding: 14px 16px;
	border: 1px solid var(--mkd-line);
	border-radius: 8px;
	background: var(--mkd-card);
}
/* SP: ラベル84px｜値 の2カラム行を縦に積む */
body.fs-body-my-orders-details .fs-c-orderDetailList {
	display: grid;
	grid-template-columns: 84px minmax(0, 1fr);
	align-items: baseline;
	gap: 6px 10px;
	margin: 0;
	padding: 0;
	border: none;
	background: none;
}
body.fs-body-my-orders-details .fs-c-orderDetailList > dt {
	margin: 0;
	padding: 0;
	border: none;
	background: none;
	font-size: 11px;
	font-weight: 400;
	color: var(--mkd-sub2);
}
body.fs-body-my-orders-details .fs-c-orderDetailList > dt .fs-c-string--label { font-weight: 400; }
body.fs-body-my-orders-details .fs-c-orderDetailList > dd {
	margin: 0;
	padding: 0;
	border: none;
	background: none;
	font-size: 15px;
	font-weight: 700;
	color: var(--mkd-ink);
}
body.fs-body-my-orders-details .fs-c-orderDetailList > dd .fs-c-string--code {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 13px;
	font-weight: 400;
	color: var(--mkd-ink2);
	letter-spacing: 0;
}
/* PC: ラベル上・値下の2組を横に並べる（grid-auto-flow:column で dt/dd を縦ペアに） */
@media screen and (min-width: 641px) {
	body.fs-body-my-orders-details .fs-c-orderDetail__data { padding: 18px 24px; }
	body.fs-body-my-orders-details .fs-c-orderDetailList {
		grid-auto-flow: column;
		grid-template-columns: none;
		grid-template-rows: auto auto;
		justify-content: start;
		align-items: baseline;
		gap: 2px 48px;
	}
	body.fs-body-my-orders-details .fs-c-orderDetailList > dd { font-size: 17px; white-space: nowrap; }
	body.fs-body-my-orders-details .fs-c-orderDetailList > dd .fs-c-string--code { font-size: 15px; }
}

/* --- 4. お届け先セクション（カード） ----------------------------------- */
body.fs-body-my-orders-details .fs-c-orderPerAddresseeList { margin: 0; }
/* 🔴 FS標準は 848px 352px の2列。areas で組み直して「明細=全幅・その下に金額帯」に */
body.fs-body-my-orders-details .fs-c-orderPerAddressee {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-areas:
		"head"
		"addr"
		"table"
		"deliv";
	gap: 0;
	margin: 0 0 14px;
	padding: 0;
	border: 1px solid var(--mkd-line);
	border-radius: 8px;
	overflow: hidden;
	background: #FFFFFF;
}
body.fs-body-my-orders-details .fs-c-orderPerAddressee:last-child { margin-bottom: 0; }
body.fs-body-my-orders-details .fs-c-orderPerAddressee__heading { grid-area: head; }
body.fs-body-my-orders-details .fs-c-orderPerAddressee__addressee { grid-area: addr; }
body.fs-body-my-orders-details .fs-c-orderPerAddressee__cartTable { grid-area: table; }
body.fs-body-my-orders-details .fs-c-orderPerAddressee__orderDeliveryInfo { grid-area: deliv; }

/* お届け先ヘッダー */
body.fs-body-my-orders-details .fs-c-orderPerAddressee__heading {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 12px 14px 0;
	border: none;
	background: var(--mkd-card);
	font-size: 14px;
	font-weight: 700;
	color: var(--mkd-ink);
}
body.fs-body-my-orders-details .fs-c-orderPerAddressee__headingNumber {
	font-size: 14px;
	font-weight: 700;
	color: var(--mkd-ink);
}
/* 「ご自宅」= 淡緑チップ */
body.fs-body-my-orders-details .fs-c-homeLabel {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 2px 8px;
	border: 1px solid #CDE3D6;
	border-radius: 4px;
	background: #F1F6F3;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.5;
	color: var(--mkd-green);
	white-space: nowrap;
}
/* お届け先 氏名・住所 */
body.fs-body-my-orders-details .fs-c-orderPerAddressee__addressee {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 6px;
	margin: 0;
	padding: 10px 14px 12px;
	border: none;
	border-bottom: 1px solid var(--mkd-line);
	background: var(--mkd-card);
}
body.fs-body-my-orders-details .fs-c-orderPerAddressee__addressee > dt {
	margin: 0;
	padding: 0;
	border: none;
	background: none;
	font-size: 11px;
	font-weight: 400;
	color: var(--mkd-sub2);
}
body.fs-body-my-orders-details .fs-c-orderPerAddressee__addressee > dd {
	margin: 0;
	padding: 0;
	border: none;
	background: none;
	font-size: 13px;
	line-height: 1.7;
	color: var(--mkd-ink);
}
body.fs-body-my-orders-details .fs-c-orderPerAddressee__addressee > dd.fs-c-address { color: var(--mkd-ink2); }
/* SPは郵便番号／住所／電話を3行 */
body.fs-body-my-orders-details .fs-c-address > span { display: block; }
body.fs-body-my-orders-details .fs-c-address__zipCode::before { content: "〒"; }
@media screen and (min-width: 641px) {
	/* PC: 「お届け先1＋ご自宅」｜氏名｜住所 を横1行に */
	body.fs-body-my-orders-details .fs-c-orderPerAddressee {
		grid-template-columns: auto minmax(0, 1fr);
		grid-template-areas:
			"head  addr"
			"table table"
			"deliv deliv";
	}
	body.fs-body-my-orders-details .fs-c-orderPerAddressee__heading {
		align-self: stretch;   /* ← 無いと地色が下まで伸びず、罫線が段差になる（2026-09-03 実測） */
		align-items: center;
		padding: 14px 0 14px 20px;
		border-bottom: 1px solid var(--mkd-line);
		font-size: 15px;
		white-space: nowrap;
	}
	body.fs-body-my-orders-details .fs-c-orderPerAddressee__headingNumber { font-size: 15px; }
	/* dt を上・dd を下に置いて2組（氏名／住所）を横に並べる。
	   ⚠️ margin-left で送ると heading と地色が分断されるので padding-left にする */
	body.fs-body-my-orders-details .fs-c-orderPerAddressee__addressee {
		grid-auto-flow: column;
		grid-template-columns: none;
		grid-template-rows: auto auto;
		align-content: center;
		justify-content: start;
		gap: 0 48px;
		padding: 14px 20px 14px 48px;
	}
	body.fs-body-my-orders-details .fs-c-orderPerAddressee__addressee > dd { font-size: 14px; }
	body.fs-body-my-orders-details .fs-c-address > span { display: inline; }
	body.fs-body-my-orders-details .fs-c-address__address { margin: 0 .5em; }
}

/* --- 5. 明細テーブル --------------------------------------------------- */
body.fs-body-my-orders-details .fs-c-cartTable {
	width: 100%;
	margin: 0;
	border: none;
	border-collapse: collapse;
	background: #FFFFFF;
}
body.fs-body-my-orders-details .fs-c-cartTable__headerCell {
	padding: 12px 0;
	border: none;
	border-bottom: 1px solid var(--mkd-line);
	background: none;
	font-size: 11px;
	font-weight: 400;
	color: var(--mkd-sub2);
	text-align: left;
}
body.fs-body-my-orders-details .fs-c-cartTable__headerCell--quantity,
body.fs-body-my-orders-details .fs-c-cartTable__headerCell--subtotal { text-align: right; }
body.fs-body-my-orders-details .fs-c-cartTable__row { border: none; }
body.fs-body-my-orders-details .fs-c-cartTable__dataCell {
	padding: 16px 0;
	border: none;
	background: none;
	vertical-align: middle;
}
body.fs-body-my-orders-details .fs-c-cartTable__row + .fs-c-cartTable__row .fs-c-cartTable__dataCell {
	border-top: 1px solid var(--mkd-line);
}
/* 商品セル */
body.fs-body-my-orders-details .fs-c-cartTable__product {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 0;
}
body.fs-body-my-orders-details .fs-c-cartTable__productImage {
	flex: 0 0 auto;
	width: 56px;
	margin: 0;
	padding: 0;
}
body.fs-body-my-orders-details .fs-c-cartTable__productImage__image {
	width: 56px;
	height: 56px;
	object-fit: contain;
	border: 1px solid var(--mkd-line);
	border-radius: 6px;
	background: #FFFFFF;
	max-width: none;
}
body.fs-body-my-orders-details .fs-c-cartTable__productInfo {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	padding: 0;
}
/* 商品名（2行clamp） */
body.fs-body-my-orders-details .fs-c-cartTable__productName { margin: 0; }
body.fs-body-my-orders-details .fs-c-cartTable__productName > a {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	font-size: 13px;
	line-height: 1.5;
	color: var(--mkd-ink);
	text-decoration: none;
}
body.fs-body-my-orders-details .fs-c-cartTable__productName > a:hover { text-decoration: underline; }
/* バリエーション = チップ2つ。FS標準の括弧・セパレータを消す */
body.fs-body-my-orders-details .fs-c-listedProductName__variation {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin: 6px 0 0;
	padding: 0;
	font-size: 0;
}
body.fs-body-my-orders-details .fs-c-listedProductName__variation::before,
body.fs-body-my-orders-details .fs-c-listedProductName__variation::after { content: none; }
body.fs-body-my-orders-details .fs-c-listedProductName__variation__choice {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 2px 8px;
	border: 1px solid var(--mkd-line2);
	border-radius: 4px;
	background: #FFFFFF;
	font-size: 11px;
	line-height: 1.5;
	color: var(--mkd-ink2);
}
body.fs-body-my-orders-details .fs-c-listedProductName__variation__choice::before,
body.fs-body-my-orders-details .fs-c-listedProductName__variation__choice::after { content: none; }
/* 単価 */
body.fs-body-my-orders-details .fs-c-cartTable__unitPrice { margin: 6px 0 0; }
body.fs-body-my-orders-details .fs-c-cartTable__unitPrice .fs-c-productPrice {
	display: flex;
	align-items: baseline;
	gap: 4px;
	margin: 0;
	font-size: 12px;
	color: var(--mkd-sub);
}
body.fs-body-my-orders-details .fs-c-cartTable__unitPrice .fs-c-productPrice__main,
body.fs-body-my-orders-details .fs-c-cartTable__unitPrice .fs-c-price {
	font-size: 12px;
	font-weight: 400;
	color: var(--mkd-sub);
}
body.fs-body-my-orders-details .fs-c-cartTable__unitPrice .fs-c-productPrice__addon {
	font-size: 10px;
	color: var(--mkd-sub);
}
body.fs-body-my-orders-details .fs-c-cartTable__unitPrice .fs-c-productPrice__addon::before,
body.fs-body-my-orders-details .fs-c-cartTable__unitPrice .fs-c-productPrice__addon::after { content: none; }
/* 数量・小計 */
body.fs-body-my-orders-details .fs-c-cartTable__dataCell--quantity {
	font-size: 15px;
	font-weight: 700;
	color: var(--mkd-ink);
	text-align: right;
	white-space: nowrap;
}
body.fs-body-my-orders-details .fs-c-cartTable__dataCell--subtotal {
	font-size: 17px;
	font-weight: 700;
	color: var(--mkd-ink);
	text-align: right;
	white-space: nowrap;
}
/* レビューを書く（画像ボタンをテキスト化＝HTML変更なし） */
body.fs-body-my-orders-details .fs-c-cartTable__dataCell--review { text-align: right; }
body.fs-body-my-orders-details .fs-c-button--addReview--detail {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 44px;
	margin: 0;
	padding: 0 18px;
	border: 1px solid var(--mkd-line2);
	border-radius: 6px;
	background: #FFFFFF;
	box-shadow: none;
	text-decoration: none;
	transition: background-color .15s ease;
}
body.fs-body-my-orders-details .fs-c-button--addReview--detail:hover { background: #F2F4F5; }
/* 🔴 2026-09-03 実機で確認: テーマ＞ボタン設定の「レビューを書く」には
      画像 `review-write-button.gif`（識別子 btn_review）が割り当てられており、
      **商品詳細ページはこの画像ボタンを意図的に使っている**
      （商品詳細には cart-button.gif / stock-inquiry-button.gif も画像ボタンで存在）。
      テーマのボタン設定は**全ページ共通で1つしかない**ため、設定から画像を外すと
      商品詳細の画像ボタンも消える。
      → 「マイページ系だけテキストにする」にはCSSで画像を隠すのが唯一の手段。
      例外として確定。⛔ テーマ設定から外そうとしないこと。 */
body.fs-body-my-orders-details .fs-c-button--addReview--detail .fs-c-button__image { display: none; }
body.fs-body-my-orders-details .fs-c-button--addReview--detail::after {
	content: "レビューを書く";
	font-size: 13px;
	font-weight: 700;
	color: var(--mkd-ink2);
	white-space: nowrap;
}

/* SP: テーブルをカード化 */
@media screen and (max-width: 640px) {
	body.fs-body-my-orders-details .fs-c-cartTable thead { display: none; }
	body.fs-body-my-orders-details .fs-c-cartTable,
	body.fs-body-my-orders-details .fs-c-cartTable tbody,
	body.fs-body-my-orders-details .fs-c-cartTable__dataCell { display: block; width: auto; }
	/* ⚠️ セルを block にすると「数量」と「小計」が縦に並ぶ。
	     行を flex にしても td の flex-basis:50% が効かなかった（table構造を崩したため）ので、
	     grid + areas で確実に2列に置く（2026-09-03 実測）。
	     「ご注文内容」側は review セルが無いが、未使用エリアは無視されるので同じ指定で足りる。 */
	body.fs-body-my-orders-details .fs-c-cartTable__row {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-template-areas:
			"prod prod"
			"qty  sub"
			"rev  rev";
		align-items: center;
		width: auto;
		padding: 12px 14px;
	}
	body.fs-body-my-orders-details .fs-c-cartTable__dataCell--product { grid-area: prod; }
	body.fs-body-my-orders-details .fs-c-cartTable__dataCell--quantity { grid-area: qty; }
	body.fs-body-my-orders-details .fs-c-cartTable__dataCell--subtotal { grid-area: sub; }
	body.fs-body-my-orders-details .fs-c-cartTable__dataCell--review { grid-area: rev; }
	body.fs-body-my-orders-details .fs-c-cartTable__row + .fs-c-cartTable__row { border-top: 1px solid var(--mkd-line); }
	body.fs-body-my-orders-details .fs-c-cartTable__dataCell { padding: 0; }
	body.fs-body-my-orders-details .fs-c-cartTable__row + .fs-c-cartTable__row .fs-c-cartTable__dataCell { border-top: none; }
	/* 「数量 1」「小計 ¥3,960」の行。data-cell-label をラベルに使う（HTML変更なし） */
	body.fs-body-my-orders-details .fs-c-cartTable__dataCell--quantity,
	body.fs-body-my-orders-details .fs-c-cartTable__dataCell--subtotal {
		display: flex;
		align-items: baseline;
		gap: 6px;
		margin-top: 10px;
		padding-top: 10px;
		border-top: 1px solid var(--mkd-line);
		box-sizing: border-box;
	}
	body.fs-body-my-orders-details .fs-c-cartTable__dataCell--quantity {
		justify-content: flex-start;
		text-align: left;
	}
	body.fs-body-my-orders-details .fs-c-cartTable__dataCell--quantity::before,
	body.fs-body-my-orders-details .fs-c-cartTable__dataCell--subtotal::before {
		content: attr(data-cell-label);
		font-size: 12px;
		font-weight: 400;
		color: var(--mkd-sub);
	}
	body.fs-body-my-orders-details .fs-c-cartTable__dataCell--subtotal { justify-content: flex-end; }
	body.fs-body-my-orders-details .fs-c-cartTable__dataCell--subtotal::before { font-size: 11px; }
	body.fs-body-my-orders-details .fs-c-cartTable__dataCell--review { margin-top: 10px; }
	body.fs-body-my-orders-details .fs-c-button--addReview--detail { width: 100%; height: 44px; }
}
/* PC: 列幅 */
@media screen and (min-width: 641px) {
	body.fs-body-my-orders-details .fs-c-cartTable { table-layout: fixed; }
	/* ⚠️ <table> への padding は行に効かない。左右の余白はセルに付ける（2026-09-03 実測） */
	body.fs-body-my-orders-details .fs-c-cartTable tr > *:first-child { padding-left: 20px; }
	body.fs-body-my-orders-details .fs-c-cartTable tr > *:last-child { padding-right: 20px; }
	body.fs-body-my-orders-details .fs-c-cartTable__headerCell--quantity,
	body.fs-body-my-orders-details .fs-c-cartTable__dataCell--quantity { width: 90px; }
	body.fs-body-my-orders-details .fs-c-cartTable__headerCell--subtotal,
	body.fs-body-my-orders-details .fs-c-cartTable__dataCell--subtotal { width: 130px; }
	body.fs-body-my-orders-details .fs-c-cartTable__headerCell--action,
	body.fs-body-my-orders-details .fs-c-cartTable__dataCell--review { width: 160px; }
	body.fs-body-my-orders-details .fs-c-cartTable__product { gap: 16px; }
	body.fs-body-my-orders-details .fs-c-cartTable__productImage { width: 64px; }
	body.fs-body-my-orders-details .fs-c-cartTable__productImage__image { width: 64px; height: 64px; }
	body.fs-body-my-orders-details .fs-c-cartTable__productName > a { font-size: 14px; line-height: 1.6; }
	/* PCは「チップ2つ＋単価」を同じ行に。
	   ⚠️ variation は productName の子で unitPrice とは親が違う。
	     productName を display:contents にして、孫を直接グリッドに載せる（HTML変更なし）。
	     負のマージンで重ねる方法は実際に文字が重なったので使わない（2026-09-03 実測）。 */
	body.fs-body-my-orders-details .fs-c-cartTable__productInfo {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		grid-template-areas:
			"name  name"
			"vari  price";
		align-items: center;
		gap: 6px 8px;
	}
	body.fs-body-my-orders-details .fs-c-cartTable__productName { display: contents; }
	body.fs-body-my-orders-details .fs-c-cartTable__productName > a { grid-area: name; }
	body.fs-body-my-orders-details .fs-c-listedProductName__variation { grid-area: vari; margin: 0; }
	body.fs-body-my-orders-details .fs-c-cartTable__unitPrice { grid-area: price; margin: 0; justify-self: start; }
}

/* --- 6. お届け先ごとの合計・お届け方法 --------------------------------- */
body.fs-body-my-orders-details .fs-c-orderDeliveryInfo {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	padding: 12px 14px;
	border: none;
	border-top: 1px solid var(--mkd-line);
	background: var(--mkd-card);
}
body.fs-body-my-orders-details .fs-c-orderTotalInfo { margin: 0; }
body.fs-body-my-orders-details .fs-c-orderTotalTable {
	width: 100%;
	margin: 0;
	border: none;
	border-collapse: collapse;
}
body.fs-body-my-orders-details .fs-c-orderTotalTable th,
body.fs-body-my-orders-details .fs-c-orderTotalTable td {
	padding: 4px 0;
	border: none;
	background: none;
	font-size: 13px;
	font-weight: 400;
	color: var(--mkd-ink2);
	text-align: left;
}
body.fs-body-my-orders-details .fs-c-orderTotalTable td { text-align: right; }
body.fs-body-my-orders-details .fs-c-orderTotalTable__total th,
body.fs-body-my-orders-details .fs-c-orderTotalTable__total td {
	padding-top: 8px;
	border-top: 1px solid var(--mkd-line);
	font-weight: 700;
}
body.fs-body-my-orders-details .fs-c-orderTotalTable__total th { font-size: 13px; }
body.fs-body-my-orders-details .fs-c-orderTotalTable__total td { font-size: 17px; color: var(--mkd-ink); }
/* お届け方法 */
body.fs-body-my-orders-details .fs-c-deliveryInfoList {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin: 0;
	padding-top: 8px;
	border-top: 1px solid var(--mkd-line);
}
/* ⚠️ FS標準が dt に左の装飾線を入れるので、クラス名まで指定して消す（詳細度対策） */
body.fs-body-my-orders-details .fs-c-deliveryInfoList .fs-c-deliveryInfoList__deliveryMethod,
body.fs-body-my-orders-details .fs-c-deliveryInfoList > dt {
	margin: 0;
	padding: 0;
	border: none;
	background: none;
	background: none;
	font-size: 12px;
	font-weight: 400;
	color: var(--mkd-sub2);
}
body.fs-body-my-orders-details .fs-c-deliveryInfoList > dd {
	margin: 0;
	padding: 0;
	border: none;
	background: none;
	font-size: 13px;
	font-weight: 700;
	color: var(--mkd-ink2);
	text-align: right;
}
@media screen and (min-width: 641px) {
	/* PC: 左「お届け方法」・右320pxの金額ブロック。
	   ⚠️ DOM順は 金額 → お届け方法 なので order で入れ替える（HTML変更なし） */
	body.fs-body-my-orders-details .fs-c-orderDeliveryInfo {
		flex-direction: row;
		align-items: flex-start;
		justify-content: space-between;
		gap: 32px;
		padding: 16px 20px;
	}
	body.fs-body-my-orders-details .fs-c-orderDeliveryInfo .fs-c-orderTotalInfo {
		order: 2;
		flex: 0 0 320px;
		max-width: 320px;
	}
	body.fs-body-my-orders-details .fs-c-orderDeliveryInfo .fs-c-deliveryInfoList {
		order: 1;
		flex: 0 0 auto;
		display: block;
		padding-top: 0;
		border-top: none;
	}
	body.fs-body-my-orders-details .fs-c-orderDeliveryInfo .fs-c-deliveryInfoList > dt { font-size: 11px; }
	body.fs-body-my-orders-details .fs-c-orderDeliveryInfo .fs-c-deliveryInfoList > dd { font-size: 14px; text-align: left; }
	body.fs-body-my-orders-details .fs-c-orderTotalTable__total th { font-size: 14px; }
	body.fs-body-my-orders-details .fs-c-orderTotalTable__total td { font-size: 18px; }
}

/* --- 7. ご注文内容 ----------------------------------------------------- */
/* 🔴 FS標準は 848px 352px の2列。見出しを全幅にして、下を「明細｜サマリ」に */
body.fs-body-my-orders-details .fs-c-orderDetailInfo {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-areas:
		"head"
		"table"
		"total";
	gap: 0;
	margin: 0;
}
body.fs-body-my-orders-details .fs-c-orderDetailInfo__heading { grid-area: head; }
body.fs-body-my-orders-details .fs-c-orderDetailInfo__cartTable { grid-area: table; }
body.fs-body-my-orders-details .fs-c-orderDetailInfo__orderTotal { grid-area: total; }
/* 明細（画像なし）をカード枠に。
   ⚠️ border-collapse:collapse だと <table> 自身の枠が描かれない。separate にする（2026-09-03 実測） */
body.fs-body-my-orders-details .fs-c-orderDetailInfo__cartTable {
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--mkd-line);
	border-radius: 8px 8px 0 0;
	border-bottom: none;
	overflow: hidden;
}
/* サマリカード */
body.fs-body-my-orders-details .fs-c-orderDetailInfo__orderTotal {
	margin: 0;
	padding: 14px;
	border: 1px solid var(--mkd-line);
	border-radius: 0 0 8px 8px;
	background: var(--mkd-card);
}
body.fs-body-my-orders-details .fs-c-orderDetailInfo__orderTotal .fs-c-orderTotalTable th,
body.fs-body-my-orders-details .fs-c-orderDetailInfo__orderTotal .fs-c-orderTotalTable td { padding: 4px 0; }
/* 総合計 */
body.fs-body-my-orders-details .fs-c-orderTotalTable__grandTotal th,
body.fs-body-my-orders-details .fs-c-orderTotalTable__grandTotal td {
	padding-top: 10px;
	border-top: 1px solid var(--mkd-line);
	vertical-align: baseline;
}
body.fs-body-my-orders-details .fs-c-orderTotalTable__grandTotal th { font-size: 14px; font-weight: 700; color: var(--mkd-ink); }
body.fs-body-my-orders-details .fs-c-orderTotalTable__grandTotal td {
	font-size: 24px;
	font-weight: 900;
	color: var(--mkd-ink);   /* 購入済みの記録なので赤にしない */
	line-height: 1.2;
}
/* 獲得ポイント（緑丸Pバッジは ::before で付与＝HTML変更なし） */
body.fs-body-my-orders-details .fs-c-orderTotalTable__earnPoints th,
body.fs-body-my-orders-details .fs-c-orderTotalTable__earnPoints td {
	padding-top: 10px;
	border-top: 1px solid var(--mkd-line);
	vertical-align: middle;
}
body.fs-body-my-orders-details .fs-c-orderTotalTable__earnPoints th { font-size: 12px; color: var(--mkd-ink2); }
body.fs-body-my-orders-details .fs-c-orderTotalTable__earnPoints td {
	font-size: 14px;
	font-weight: 700;
	color: var(--mkd-green);
}
body.fs-body-my-orders-details .fs-c-orderTotalTable__earnPoints td::before {
	content: "P";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	margin-right: 6px;
	border-radius: 50%;
	background: var(--mkd-green);
	font-size: 11px;
	font-weight: 700;
	color: #FFFFFF;
	vertical-align: middle;
}
/* お支払い方法 */
body.fs-body-my-orders-details .fs-c-orderPaymentTable {
	width: 100%;
	margin: 10px 0 0;
	padding-top: 10px;
	border: none;
	border-top: 1px solid var(--mkd-line);
	border-collapse: collapse;
}
body.fs-body-my-orders-details .fs-c-orderPaymentTable th,
body.fs-body-my-orders-details .fs-c-orderPaymentTable td {
	padding: 0;
	border: none;
	background: none;
	text-align: left;
}
body.fs-body-my-orders-details .fs-c-orderPaymentTable th { font-size: 12px; font-weight: 400; color: var(--mkd-sub2); }
body.fs-body-my-orders-details .fs-c-orderPaymentTable td { font-size: 13px; font-weight: 700; color: var(--mkd-ink2); text-align: right; }
@media screen and (min-width: 641px) {
	/* PC: 明細（可変）｜サマリ380px の2カラム */
	body.fs-body-my-orders-details .fs-c-orderDetailInfo {
		grid-template-columns: minmax(0, 1fr) 380px;
		grid-template-areas:
			"head  head"
			"table total";
		gap: 0 24px;
		align-items: start;
	}
	body.fs-body-my-orders-details .fs-c-orderDetailInfo__cartTable {
		border-radius: 8px;
		border-bottom: 1px solid var(--mkd-line);
	}
	body.fs-body-my-orders-details .fs-c-orderDetailInfo__orderTotal {
		padding: 20px;
		border-radius: 8px;
	}
	body.fs-body-my-orders-details .fs-c-orderTotalTable__grandTotal td { font-size: 26px; }
	body.fs-body-my-orders-details .fs-c-orderPaymentTable td { font-size: 14px; }
}

/* --- 8. 戻るボタン（罫線で挟んだ中央リンク） --------------------------- */
body.fs-body-my-orders-details .fs-c-buttonContainer--back {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 20px 0 0;
	padding: 0;
}
body.fs-body-my-orders-details .fs-c-buttonContainer--back::before,
body.fs-body-my-orders-details .fs-c-buttonContainer--back::after {
	content: "";
	flex: 1 1 auto;
	height: 1px;
	background: var(--mkd-line2);
}
body.fs-body-my-orders-details .fs-c-button--back {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
	height: auto;
	margin: 0;
	padding: 6px 4px;
	border: none;
	border-radius: 0;
	background: none;
	box-shadow: none;
	font-size: 13px;
	color: var(--mkd-ink2);
	text-decoration: none;
	white-space: nowrap;
}
body.fs-body-my-orders-details .fs-c-button--back::before {
	content: "‹";
	font-size: 15px;
	color: var(--mkd-sub2);
}
body.fs-body-my-orders-details .fs-c-button--back:hover { color: var(--mkd-green); }
body.fs-body-my-orders-details .fs-c-button--back .fs-c-button__label { font-size: 13px; }
@media screen and (min-width: 641px) {
	body.fs-body-my-orders-details .fs-c-buttonContainer--back { gap: 16px; margin-top: 24px; }
}

/* --- 9. FS標準が残す枠の掃除（2026-09-03 総点検で検出） ----------------
   個別に border-top だけ上書きすると、左右下の #B2B2B2 が残って
   「お届け方法」の左に縦線が出たり、合計行に余分な下線が入る。
   点検スクリプトで想定外の色の枠を洗い出して、ここでまとめて消す。 */
body.fs-body-my-orders-details .fs-c-deliveryInfoList {
	border-right: none;
	border-bottom: none;
	border-left: none;
}
/* ⚠️ FS標準は `.fs-c-orderTotalTable > tbody > tr:last-of-type` (0,2,2) で下線を当ててくる。
     `body.fs-body-my-orders-details .fs-c-orderTotalTable__total` (0,2,1) では**負ける**ので、
     同じ「> tbody > tr」の形で書いて詳細度を上げる（2026-09-03 実測。注文履歴で踏んだ :not() と同種） */
body.fs-body-my-orders-details .fs-c-orderTotalTable > tbody > tr,
body.fs-body-my-orders-details .fs-c-orderTotalTable > thead > tr,
body.fs-body-my-orders-details .fs-c-orderTotalTable > tfoot > tr,
body.fs-body-my-orders-details .fs-c-orderPaymentTable > tbody > tr {
	border: none;
}
/* ---------------------------------------------------
   ポイント履歴 /my/points（2026-09-03）
   body.fs-body-my-points / #fs_MyPoints
   HTML変更なし・CSSのみ。システムパーツの構造は
   02_source/ポイント履歴パーツ_現行.html を参照。

   🔴 実装できなかった分岐（システムがクラスを出さないため）
     ・ポイント状況（有効／無効／利用済）の色分け → 全件グレーのチップに統一
     ・符号の状況連動（有効なら緑）→ +/- とも #17191B に統一
       （+ と − は fs-c-symbol--plus/--minus でクラスが分かれるので分岐自体は可能。
         ただし「有効な＋だけ緑」は状況が取れないため不可。誤った信号を出さないよう統一した）
     どちらもハンドオフが認めているフォールバック。JSでのクラス付与は
     マイページ系にスクリプトが無いため採らない（運用ルール: FSの機能を優先）。
--------------------------------------------------- */

/* 下余白は 00_共通/css/追記_マイページ共通.css に移した（2026-09-03） */

/* 🔴 FS標準の器をリセットする（2026-09-03 実測）
   .fs-c-history__info は既定で max-width:560px / margin:0 320px / 灰色地 /
   padding:16px。これが効いたままだとサマリが中央に押し込められ、
   グレーの箱に入って見える。 */
body.fs-body-my-points .fs-c-history__info {
	max-width: none;
	margin: 0;
	padding: 0;
	background: transparent;
}
body.fs-body-my-points .fs-c-history__infoSummary { margin: 0; padding: 0; }
/* 主役（ご利用可能ポイント）にもFS標準の地色が付いている。淡緑カードの上で
   灰色の箱に見えるため消す（2026-09-03 実測） */
body.fs-body-my-points .fs-c-pointSummary__label--availablePoint,
body.fs-body-my-points .fs-c-pointSummary__value--availablePoint {
	background: transparent;
	border: none;
}

/* 🔴 FS標準が擬似要素で括弧と「：」を足している（2026-09-03 実測）
     label--limitedPoint::before = 「（」／::after = 「：」／value--limitedPoint::after = 「）」
     カード化すると「（うち期間限定ポイント： 0）」と読めてしまうので消す。 */
body.fs-body-my-points .fs-c-pointSummary__label--limitedPoint::before,
body.fs-body-my-points .fs-c-pointSummary__label--limitedPoint::after,
body.fs-body-my-points .fs-c-pointSummary__value--limitedPoint::after { content: none; }

/* ---- ポイントサマリ（dl を grid で組み替える） ----
   DOM順: dt(利用可能) dd(利用可能) dt(期間限定) dd(期間限定)
          dt(有効待ち) dd(有効待ち) dt(総保有) dd(総保有)
   ⚠️ dt と dd を1枚のカードに見せるため、dt に上・左右の枠、
      dd に下・左右の枠を付けて上下でつなぐ（要素を包めないため） */
body.fs-body-my-points .fs-c-pointSummary {
	display: grid;
	margin: 0;
	background: #F1F6F3;
	border: 1px solid #CDE3D6;
	border-radius: 8px;
	box-sizing: border-box;
}
body.fs-body-my-points .fs-c-pointSummary dt,
body.fs-body-my-points .fs-c-pointSummary dd { margin: 0; }

body.fs-body-my-points .fs-c-pointSummary__label--availablePoint { grid-area: aL; }
body.fs-body-my-points .fs-c-pointSummary__value--availablePoint { grid-area: aV; }
body.fs-body-my-points .fs-c-pointSummary__label--limitedPoint { grid-area: lL; }
body.fs-body-my-points .fs-c-pointSummary__value--limitedPoint { grid-area: lV; }
body.fs-body-my-points .fs-c-pointSummary__label--waitingPoint { grid-area: wL; }
body.fs-body-my-points .fs-c-pointSummary__value--waitingPoint { grid-area: wV; }
body.fs-body-my-points .fs-c-pointSummary__label--purchasePointTotal { grid-area: tL; }
body.fs-body-my-points .fs-c-pointSummary__value--purchasePointTotal { grid-area: tV; }

/* 主役: 緑円Pバッジ＋ラベル */
body.fs-body-my-points .fs-c-pointSummary__label--availablePoint {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #3D4246;
	font-weight: 400;
}
body.fs-body-my-points .fs-c-pointSummary__label--availablePoint::before {
	content: "P";
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #1A6B3C;
	color: #FFFFFF;
	font-weight: 700;
}
body.fs-body-my-points .fs-c-pointSummary__value--availablePoint {
	display: flex;
	align-items: baseline;
	gap: 3px;
	white-space: nowrap;
	color: #1A6B3C;
}
/* 「ポイント」の語はシステム出力に無いのでCSSで補う */
body.fs-body-my-points .fs-c-pointSummary__value--availablePoint::after {
	content: "ポイント";
	font-size: 13px;
	font-weight: 700;
}
body.fs-body-my-points .fs-c-pointSummary__value--availablePoint .fs-c-pointSummary__number {
	font-weight: 900;
	line-height: 1.1;
	color: #1A6B3C;
}

/* 補助3項目: dt＝カード上半分 / dd＝カード下半分 */
body.fs-body-my-points .fs-c-pointSummary__label--limitedPoint,
body.fs-body-my-points .fs-c-pointSummary__label--waitingPoint,
body.fs-body-my-points .fs-c-pointSummary__label--purchasePointTotal {
	background: #FFFFFF;
	border: 1px solid #CDE3D6;
	border-bottom: none;
	border-radius: 6px 6px 0 0;
	color: #6D7276;
	font-weight: 400;
	line-height: 1.4;
}
body.fs-body-my-points .fs-c-pointSummary__value--limitedPoint,
body.fs-body-my-points .fs-c-pointSummary__value--waitingPoint,
body.fs-body-my-points .fs-c-pointSummary__value--purchasePointTotal {
	background: #FFFFFF;
	border: 1px solid #CDE3D6;
	border-top: none;
	border-radius: 0 0 6px 6px;
	color: #17191B;
	font-weight: 700;
}

@media screen and (min-width: 641px) {
	body.fs-body-my-points .fs-c-pointSummary {
		grid-template-columns: auto 1fr auto auto auto;
		grid-template-areas:
			"aL . lL wL tL"
			"aV . lV wV tV";
		align-items: center;
		column-gap: 12px;
		padding: 20px 28px;
	}
	body.fs-body-my-points .fs-c-pointSummary__label--availablePoint { font-size: 12px; align-self: end; }
	body.fs-body-my-points .fs-c-pointSummary__label--availablePoint::before {
		width: 24px; height: 24px; font-size: 14px;
		/* バッジは2行にまたがる見え方にするため、ラベル行に置いたまま下へ寄せる */
		margin-bottom: -20px;
	}
	body.fs-body-my-points .fs-c-pointSummary__value--availablePoint {
		align-self: start;
		padding-left: 32px;   /* バッジ幅24px + gap8px 分だけ数値を右へ寄せて左端を揃える */
	}
	body.fs-body-my-points .fs-c-pointSummary__value--availablePoint .fs-c-pointSummary__number { font-size: 32px; }
	/* 補助3枚の左に区切り線（最初の1枚の左に引く） */
	body.fs-body-my-points .fs-c-pointSummary__label--limitedPoint { margin-left: 32px; }
	body.fs-body-my-points .fs-c-pointSummary__value--limitedPoint { margin-left: 32px; }
	/* ⚠️ 親の align-items: center のままだと dt と dd が各行の中央に置かれ、
	      上下がつながらず「1枚のカード」に見えない（2026-09-03 実測で修正）。
	      dt は行の下端、dd は行の上端に寄せて接地させる。 */
	body.fs-body-my-points .fs-c-pointSummary__label--limitedPoint,
	body.fs-body-my-points .fs-c-pointSummary__label--waitingPoint,
	body.fs-body-my-points .fs-c-pointSummary__label--purchasePointTotal {
		align-self: end;
		font-size: 11px; padding: 10px 18px 0;
	}
	body.fs-body-my-points .fs-c-pointSummary__value--limitedPoint,
	body.fs-body-my-points .fs-c-pointSummary__value--waitingPoint,
	body.fs-body-my-points .fs-c-pointSummary__value--purchasePointTotal {
		align-self: start;
		font-size: 20px; padding: 2px 18px 10px;
	}
}

@media screen and (max-width: 640px) {
	body.fs-body-my-points .fs-c-pointSummary {
		grid-template-columns: 1fr 1fr 1fr;
		grid-template-areas:
			"aL aL aV"
			"lL wL tL"
			"lV wV tV";
		column-gap: 8px;
		padding: 16px;
	}
	body.fs-body-my-points .fs-c-pointSummary__label--availablePoint { font-size: 13px; align-self: center; }
	body.fs-body-my-points .fs-c-pointSummary__label--availablePoint::before {
		width: 20px; height: 20px; font-size: 12px;
	}
	body.fs-body-my-points .fs-c-pointSummary__value--availablePoint { justify-content: flex-end; align-self: center; }
	body.fs-body-my-points .fs-c-pointSummary__value--availablePoint .fs-c-pointSummary__number { font-size: 28px; }
	body.fs-body-my-points .fs-c-pointSummary__value--availablePoint::after { font-size: 12px; }
	/* 補助3枚は罫線の下に3列 */
	body.fs-body-my-points .fs-c-pointSummary__label--limitedPoint,
	body.fs-body-my-points .fs-c-pointSummary__label--waitingPoint,
	body.fs-body-my-points .fs-c-pointSummary__label--purchasePointTotal {
		margin-top: 12px;
		font-size: 10px;
		padding: 8px 10px 0;
	}
	body.fs-body-my-points .fs-c-pointSummary__value--limitedPoint,
	body.fs-body-my-points .fs-c-pointSummary__value--waitingPoint,
	body.fs-body-my-points .fs-c-pointSummary__value--purchasePointTotal {
		font-size: 16px;
		padding: 2px 10px 8px;
	}
	/* 主役と補助を分ける罫線（補助の1行目の上に引く） */
	body.fs-body-my-points .fs-c-pointSummary__value--availablePoint { position: relative; }
}

/* ---- 期間切替 ＋ 件数表示 ---- */
body.fs-body-my-points .fs-c-history__listContainer { display: grid; }
body.fs-body-my-points .fs-c-history__termCtrl { margin: 0; }
body.fs-body-my-points .fs-c-history__termCtrl .fs-c-inputInformation__form { margin: 0; padding: 0; border: none; background: none; }
body.fs-body-my-points .fs-c-history__termCtrl .fs-c-dropdown { margin: 0; }
/* 🔴 select は appearance:none を書くと Chromium で文字が上へずれる。
      align-items: center が必須（Futureshopシステム領域_基本.md §4） */
body.fs-body-my-points .fs-c-history__termCtrl .fs-c-dropdown__menu {
	-webkit-appearance: none;
	appearance: none;
	align-items: center;
	height: 44px;
	margin: 0;
	border: 1px solid #E3E5E7;
	border-radius: 6px;
	background-color: #FFFFFF;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236D7276' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 13px center;
	padding: 0 34px 0 12px;
	font-size: 16px;   /* SPで16px未満だと iOS Safari がフォーカス時にズームする */
	font-weight: 700;
	color: #17191B;
	box-sizing: border-box;
	cursor: pointer;
}
body.fs-body-my-points .fs-c-history__termCtrl .fs-c-dropdown__menu:focus {
	border-color: #1A6B3C;
	outline: none;
}
body.fs-body-my-points .fs-c-listControl { margin: 0; padding: 0; border: none; }
body.fs-body-my-points .fs-c-listControl__status { color: #8A8F94; }

@media screen and (min-width: 641px) {
	/* PCは「年の選択」と「件数表示」を同じ行の左右へ。
	   ⚠️ 上下2つの .fs-c-listControl を位置で区別する。
	      上＝termCtrl の隣接兄弟／下＝コンテナの最後の子（nth-child は
	      パーツの有無で番号がずれるため使わない） */
	body.fs-body-my-points .fs-c-history__listContainer {
		grid-template-columns: auto 1fr;
		grid-template-areas:
			"ctrl  count"
			"table table"
			"count2 count2";
		align-items: center;
		row-gap: 12px;
	}
	body.fs-body-my-points .fs-c-history__termCtrl { grid-area: ctrl; }
	body.fs-body-my-points .fs-c-history__termCtrl + .fs-c-listControl { grid-area: count; justify-self: end; }
	body.fs-body-my-points .fs-c-pointListTable { grid-area: table; }
	body.fs-body-my-points .fs-c-listControl:last-child { grid-area: count2; }
	body.fs-body-my-points .fs-c-history__termCtrl .fs-c-dropdown__menu { width: 150px; font-size: 14px; }
	body.fs-body-my-points .fs-c-listControl__status { font-size: 12px; }
}
@media screen and (max-width: 640px) {
	body.fs-body-my-points .fs-c-history__listContainer { row-gap: 10px; }
	body.fs-body-my-points .fs-c-history__termCtrl .fs-c-dropdown__menu { width: 100%; }
	body.fs-body-my-points .fs-c-listControl__status { font-size: 11px; }
}

/* ---- ポイント履歴テーブル ---- */
body.fs-body-my-points .fs-c-pointListTable { width: 100%; margin: 0; }
body.fs-body-my-points .fs-c-pointListTable__data { display: inline; }
/* 注文コード: ラベル＋リンクを1行に */
body.fs-body-my-points .fs-c-pointListTable__dataDetail {
	display: flex;
	gap: 8px;
	align-items: baseline;
	margin: 4px 0 0;
}
body.fs-body-my-points .fs-c-pointListTable__dataDetail dt,
body.fs-body-my-points .fs-c-pointListTable__dataDetail dd { margin: 0; }
body.fs-body-my-points .fs-c-pointListTable__orderCode { font-size: 11px; color: #8A8F94; font-weight: 400; }
body.fs-body-my-points .fs-c-pointListTable__dataDetail dd a {
	font-size: 13px;
	color: #1A6B3C;
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	text-decoration: underline;
}
/* ポイント状況をチップに（全件同じ様式。状況のクラスが出ないため色分岐しない） */
body.fs-body-my-points .fs-c-pointListTable td[aria-label="ポイント状況"] .fs-c-pointListTable__data {
	display: inline-block;
	background: #F2F4F5;
	border: 1px solid #E3E5E7;
	border-radius: 4px;
	padding: 2px 8px;
	font-size: 11px;
	font-weight: 700;
	color: #6D7276;
	line-height: 1.5;
}
/* 符号: +/- は色を統一（有効・無効の区別はシステムから取れないため） */
body.fs-body-my-points .fs-c-pointListTable .fs-c-symbol--plus,
body.fs-body-my-points .fs-c-pointListTable .fs-c-symbol--minus { color: #17191B; font-weight: 700; }

@media screen and (min-width: 641px) {
	body.fs-body-my-points .fs-c-pointListTable {
		border: 1px solid #ECEEF0;
		border-radius: 8px;
		overflow: hidden;
		border-collapse: separate;   /* collapse だと table 自身の border が消える */
		border-spacing: 0;
	}
	body.fs-body-my-points .fs-c-pointListTable thead th {
		background: #FAFBFB;
		border: none;
		border-bottom: 1px solid #ECEEF0;
		padding: 10px 16px;
		font-size: 11px;
		font-weight: 400;
		color: #8A8F94;
		text-align: left;
		white-space: nowrap;
	}
	body.fs-body-my-points .fs-c-pointListTable tbody td {
		border: none;
		border-bottom: 1px solid #ECEEF0;
		padding: 14px 16px;
		vertical-align: middle;
		background: transparent;
	}
	body.fs-body-my-points .fs-c-pointListTable tbody tr:last-child td { border-bottom: none; }
	/* 列幅 */
	body.fs-body-my-points .fs-c-pointListTable th:nth-child(1),
	body.fs-body-my-points .fs-c-pointListTable td:nth-child(1) { width: 130px; }
	body.fs-body-my-points .fs-c-pointListTable th:nth-child(3),
	body.fs-body-my-points .fs-c-pointListTable td:nth-child(3) { width: 110px; }
	body.fs-body-my-points .fs-c-pointListTable th:nth-child(4),
	body.fs-body-my-points .fs-c-pointListTable td:nth-child(4) { width: 150px; text-align: right; }
	body.fs-body-my-points .fs-c-pointListTable th:nth-child(5),
	body.fs-body-my-points .fs-c-pointListTable td:nth-child(5) { width: 130px; text-align: right; }
	body.fs-body-my-points .fs-c-pointListTable td[aria-label="日付"] .fs-c-time { font-size: 14px; font-weight: 700; color: #17191B; }
	body.fs-body-my-points .fs-c-pointListTable td[aria-label="ポイント種類"] > .fs-c-pointListTable__pointType > .fs-c-pointListTable__data { font-size: 14px; color: #17191B; }
	/* 獲得・利用ポイントが主役 */
	body.fs-body-my-points .fs-c-pointListTable td[aria-label="獲得・利用ポイント"] .fs-c-pointListTable__data {
		font-size: 20px; font-weight: 900; color: #17191B; white-space: nowrap;
	}
	body.fs-body-my-points .fs-c-pointListTable td[aria-label="獲得・利用ポイント"] .fs-c-symbol { font-size: 16px; }
	body.fs-body-my-points .fs-c-pointListTable td[aria-label="有効期限"] .fs-c-pointListTable__data { font-size: 13px; color: #3D4246; }
}

@media screen and (max-width: 640px) {
	/* テーブルをカード化。tr を grid にして「日付＋ポイント」をカードヘッダーに。
	   ⚠️ tr を flex にしても td の幅指定は効かない。grid を使う（注文履歴詳細と同じ型） */
	body.fs-body-my-points .fs-c-pointListTable { border: none; border-collapse: separate; border-spacing: 0; }
	body.fs-body-my-points .fs-c-pointListTable thead { display: none; }
	body.fs-body-my-points .fs-c-pointListTable tbody { display: flex; flex-direction: column; gap: 10px; }
	body.fs-body-my-points .fs-c-pointListTable tbody tr {
		display: grid;
		grid-template-columns: 1fr auto;
		border: 1px solid #ECEEF0;
		border-radius: 8px;
		overflow: hidden;
	}
	body.fs-body-my-points .fs-c-pointListTable tbody td {
		display: block;
		border: none;
		padding: 0;
		background: transparent;
	}
	/* カードヘッダー（日付・ポイント）。
	   ⚠️ 行を明示しないと自動配置で下段に落ちる（2026-09-03 実測で修正）。
	      ポイント種類・状況・有効期限が全幅（1/-1）なので、
	      獲得ポイントは grid-row:1 を書かないと4行目へ回る。 */
	body.fs-body-my-points .fs-c-pointListTable td[aria-label="日付"],
	body.fs-body-my-points .fs-c-pointListTable td[aria-label="獲得・利用ポイント"] {
		grid-row: 1;
		background: #FAFBFB;
		border-bottom: 1px solid #ECEEF0;
		padding: 10px 14px;
		display: flex;
		align-items: center;
	}
	body.fs-body-my-points .fs-c-pointListTable td[aria-label="日付"] { grid-column: 1; }
	body.fs-body-my-points .fs-c-pointListTable td[aria-label="獲得・利用ポイント"] { grid-column: 2; justify-content: flex-end; }
	/* 🔴 FS標準がすでに td::before で aria-label をラベルとして出している（2026-09-03 実測）。
	      カードヘッダーの2つは見出しが不要なので消す。 */
	body.fs-body-my-points .fs-c-pointListTable td[aria-label="日付"]::before,
	body.fs-body-my-points .fs-c-pointListTable td[aria-label="獲得・利用ポイント"]::before { content: none; display: none; }
	body.fs-body-my-points .fs-c-pointListTable td[aria-label="日付"] .fs-c-time { font-size: 14px; font-weight: 700; color: #17191B; }
	body.fs-body-my-points .fs-c-pointListTable td[aria-label="獲得・利用ポイント"] .fs-c-pointListTable__data {
		font-size: 20px; font-weight: 900; color: #17191B; white-space: nowrap;
	}
	body.fs-body-my-points .fs-c-pointListTable td[aria-label="獲得・利用ポイント"] .fs-c-symbol { font-size: 16px; }

	/* 本体（ラベル88px＋値の行）。ラベルはFS標準の ::before をそのまま使い、様式だけ整える */
	body.fs-body-my-points .fs-c-pointListTable td[aria-label="ポイント種類"],
	body.fs-body-my-points .fs-c-pointListTable td[aria-label="ポイント状況"],
	body.fs-body-my-points .fs-c-pointListTable td[aria-label="有効期限"] {
		grid-column: 1 / -1;
		display: flex;
		gap: 10px;
		align-items: baseline;
		padding: 0 14px;
	}
	body.fs-body-my-points .fs-c-pointListTable td[aria-label="ポイント種類"] { padding-top: 10px; }
	body.fs-body-my-points .fs-c-pointListTable td[aria-label="有効期限"] { padding-bottom: 10px; }
	body.fs-body-my-points .fs-c-pointListTable td[aria-label="ポイント状況"] { align-items: center; padding-top: 6px; padding-bottom: 6px; }
	body.fs-body-my-points .fs-c-pointListTable td[aria-label="ポイント種類"]::before,
	body.fs-body-my-points .fs-c-pointListTable td[aria-label="ポイント状況"]::before,
	body.fs-body-my-points .fs-c-pointListTable td[aria-label="有効期限"]::before {
		content: attr(aria-label);
		flex: 0 0 88px;
		margin: 0;
		padding: 0;
		background: none;
		font-size: 11px;
		font-weight: 400;
		color: #8A8F94;
	}
	body.fs-body-my-points .fs-c-pointListTable td[aria-label="ポイント種類"] .fs-c-pointListTable__pointType { min-width: 0; }
	body.fs-body-my-points .fs-c-pointListTable td[aria-label="ポイント種類"] .fs-c-pointListTable__data { font-size: 13px; color: #17191B; }
	body.fs-body-my-points .fs-c-pointListTable td[aria-label="有効期限"] .fs-c-pointListTable__data { font-size: 13px; color: #3D4246; }
}

/* ---- マイページトップボタン（注文履歴・注文履歴詳細と同じ様式） ---- */
body.fs-body-my-points .fs-c-buttonContainer--myPageTop {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 20px;
	padding: 0;
}
body.fs-body-my-points .fs-c-buttonContainer--myPageTop::before,
body.fs-body-my-points .fs-c-buttonContainer--myPageTop::after {
	content: "";
	flex: 1;
	height: 1px;
	background: #E3E5E7;
}
body.fs-body-my-points .fs-c-button--myPageTop {
	background: none;
	border: none;
	box-shadow: none;
	padding: 0;
	min-width: 0;
	width: auto;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: #3D4246 !important;   /* テーマが a に色を当てているため必要 */
	text-decoration: none;
}
body.fs-body-my-points .fs-c-button--myPageTop::before {
	content: "‹";
	font-size: 15px;
	color: #8A8F94;
}
body.fs-body-my-points .fs-c-button--myPageTop::after { content: none; }
body.fs-body-my-points .fs-c-button--myPageTop .fs-c-button__label { font-size: 13px; }
/* ---------------------------------------------------
   レビュー履歴 /my/reviews（2026-09-03）
   body.fs-body-my-reviews / #fs_MyReviews
   HTML変更なし・CSSのみ。構造は 02_source/レビュー履歴パーツ_現行.html を参照。

   ⚠️ 行によって出ないものが2つある（ステータス／変更ボタン）。
      無い行でも崩れないよう、間隔は必ず margin-top 側で持たせる。
   ⚠️ 商品名・画像はリンクあり／なしの2パターン。a にだけ色を当てない。
--------------------------------------------------- */

/* 下余白は 00_共通/css/追記_マイページ共通.css に移した（2026-09-03） */

/* FS標準の器をリセット（ポイント履歴と同じ罠。.fs-c-history__info は無いが念のため） */
body.fs-body-my-reviews .fs-c-history { margin: 0; padding: 0; background: transparent; }
body.fs-body-my-reviews .fs-c-listControl { margin: 0; padding: 0; border: none; }
body.fs-body-my-reviews .fs-c-listControl__status { color: #8A8F94; }

/* ---- リスト ---- */
body.fs-body-my-reviews .fs-c-reviewList {
	list-style: none;
	margin: 12px 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}
body.fs-body-my-reviews .fs-c-reviewList__item {
	border: 1px solid #ECEEF0;
	border-radius: 8px;
	overflow: hidden;
	margin: 0;
	padding: 0;
	background: #FFFFFF;
}
/* 計測用の空spanがグリッドのセルを消費しないように */
body.fs-body-my-reviews .fs-c-reviewList__item > span[data-id="fs-analytics"] { display: none; }

/* ---- 商品（左／上） ---- */
/* ⚠️ FS標準が縦積み＆中央寄せを当ててくる（2026-09-03 実測）。
      クラスを2つ重ねて詳細度を上げないと勝てない
      （.fs-c-reviewList__item__product と .fs-c-reviewProduct は同じ要素の別クラス）。 */
body.fs-body-my-reviews .fs-c-reviewList__item__product.fs-c-reviewProduct {
	background: #FAFBFB;
	display: flex;
	flex-direction: row;
	gap: 12px;
	align-items: flex-start;
	text-align: left;
	margin: 0;
}
body.fs-body-my-reviews .fs-c-reviewProduct__image {
	flex: 0 0 auto;
	margin: 0;
	background: #FFFFFF;
	border: 1px solid #ECEEF0;
	border-radius: 6px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}
body.fs-body-my-reviews .fs-c-reviewProduct__image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}
/* No Image は画像と同じ枠に収めて縦位置をずらさない */
body.fs-body-my-reviews .fs-c-noImage {
	width: 100%;
	height: 100%;
	margin: 0;
	background: #FFFFFF;
	border: 1px dashed #E3E5E7;
	border-radius: 6px;
	color: #C6CACD;
	font-size: 10px;
	line-height: 1.3;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	box-sizing: border-box;
}
/* No Image のときは外枠の実線を消す（破線と二重になるため） */
body.fs-body-my-reviews .fs-c-reviewProduct__image:has(.fs-c-noImage) { border-color: transparent; background: transparent; }
body.fs-body-my-reviews .fs-c-reviewProduct__info { min-width: 0; margin: 0; }
body.fs-body-my-reviews .fs-c-reviewProduct .fs-c-productName { margin: 0; }
/* リンクあり／なしで見た目を揃える（a に色を当てない） */
body.fs-body-my-reviews .fs-c-reviewProduct .fs-c-productName a { text-decoration: none; color: inherit; }
body.fs-body-my-reviews .fs-c-productName__name {
	font-size: 13px;
	line-height: 1.6;
	color: #17191B;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* ---- 評価・投稿日・ステータス ---- */
/* ⚠️ FS標準が flex-direction: column を当てている（2026-09-03 実測）。
      row を明示しないと縦積みのままで、align-items: center が
      「横方向の中央寄せ」として働いてしまう。 */
body.fs-body-my-reviews .fs-c-reviewList__item__info.fs-c-reviewInfo {
	margin: 0;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	text-align: left;
}
/* ⚠️ FS標準が中央寄せ＆子を全幅にしてくる。子の幅を内容幅へ戻さないと
      評価・投稿日・ステータスが1行に並ばない（2026-09-03 実測） */
body.fs-body-my-reviews .fs-c-reviewList__item__info.fs-c-reviewInfo > * {
	width: auto;
	flex: 0 0 auto;
	margin: 0;
	text-align: left;
}
body.fs-body-my-reviews .fs-c-reviewRating { margin: 0; display: flex; align-items: center; gap: 6px; text-align: left; }
body.fs-body-my-reviews .fs-c-reviewStars { color: #F0A020; letter-spacing: 1px; margin: 0; }
/* 数値はシステム出力に無いので data-ratingCount から出す（HTML変更なし） */
body.fs-body-my-reviews .fs-c-reviewStars::after {
	content: attr(data-ratingCount);
	margin-left: 6px;
	font-weight: 700;
	color: #3D4246;
	letter-spacing: 0;
}
body.fs-body-my-reviews .fs-c-reviewInfo__date {
	margin: 0;
	display: flex;
	gap: 8px;
	align-items: baseline;
}
body.fs-body-my-reviews .fs-c-reviewInfo__date dt { margin: 0; font-size: 11px; font-weight: 400; color: #8A8F94; }
body.fs-body-my-reviews .fs-c-reviewInfo__date dd { margin: 0; color: #3D4246; }
body.fs-body-my-reviews .fs-c-reviewInfo__status { margin: 0; }
body.fs-body-my-reviews .fs-c-reviewStatus {
	display: inline-block;
	background: #F1F6F3;
	border: 1px solid #CDE3D6;
	border-radius: 4px;
	padding: 2px 8px;
	font-size: 11px;
	font-weight: 700;
	color: #1A6B3C;
	line-height: 1.5;
}

/* ---- 本文 ---- */
body.fs-body-my-reviews .fs-c-reviewList__item__body.fs-c-reviewBody {
	margin: 0;
	border: none;            /* FS標準が枠線を引いている */
	background: transparent;
	color: #3D4246;
	text-align: left;
	white-space: pre-wrap;   /* 🔴 ソースに改行を含む行がある */
}

/* ---- レビューを変更する（アウトライン緑） ---- */
body.fs-body-my-reviews .fs-c-buttonContainer--editReview { margin: 0; padding: 0; }
body.fs-body-my-reviews .fs-c-button--editReview {
	background: #FFFFFF;
	border: 1px solid #1A6B3C;
	border-radius: 6px;
	box-shadow: none;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 20px;
	font-size: 13px;
	font-weight: 700;
	color: #1A6B3C !important;   /* テーマが a に色を当てているため必要 */
	text-decoration: none;
	box-sizing: border-box;
}
body.fs-body-my-reviews .fs-c-button--editReview:hover { background: #F1F6F3; }
body.fs-body-my-reviews .fs-c-button--editReview::before,
body.fs-body-my-reviews .fs-c-button--editReview::after { content: none; }
body.fs-body-my-reviews .fs-c-button--editReview .fs-c-button__label { font-size: 13px; font-weight: 700; }

/* ---- PC ---- */
@media screen and (min-width: 641px) {
	body.fs-body-my-reviews .fs-c-listControl__status { font-size: 12px; }
	body.fs-body-my-reviews .fs-c-reviewList { gap: 16px; }
	/* 左＝商品（全行にまたがる）／右＝評価・本文・ボタン。
	   ⚠️ 3つが li の直接の子で包めないため、grid-template-areas で右列に積む */
	body.fs-body-my-reviews .fs-c-reviewList__item {
		display: grid;
		grid-template-columns: 320px minmax(0, 1fr);
		grid-template-areas:
			"prod info"
			"prod body"
			"prod edit";
		grid-template-rows: auto auto 1fr;
	}
	body.fs-body-my-reviews .fs-c-reviewProduct {
		grid-area: prod;
		border-right: 1px solid #ECEEF0;
		padding: 18px 20px;
	}
	body.fs-body-my-reviews .fs-c-reviewProduct__image { width: 72px; height: 72px; }
	body.fs-body-my-reviews .fs-c-productName__name { -webkit-line-clamp: 4; }
	body.fs-body-my-reviews .fs-c-reviewInfo {
		grid-area: info;
		gap: 20px;
		padding: 18px 24px 0;
	}
	body.fs-body-my-reviews .fs-c-reviewStars { font-size: 17px; }
	body.fs-body-my-reviews .fs-c-reviewStars::after { font-size: 13px; }
	body.fs-body-my-reviews .fs-c-reviewInfo__date dd { font-size: 13px; }
	body.fs-body-my-reviews .fs-c-reviewBody {
		grid-area: body;
		padding: 0 24px;
		margin-top: 12px;
		font-size: 14px;
		line-height: 1.9;
	}
	/* ⚠️ ボタンが無い行があるので、間隔はボタン側の margin-top で持たせる */
	body.fs-body-my-reviews .fs-c-buttonContainer--editReview {
		grid-area: edit;
		padding: 0 24px 18px;
		margin-top: 14px;
		align-self: start;
		justify-self: start;
	}
	/* ボタンが無い行は本文の下に余白が要る */
	body.fs-body-my-reviews .fs-c-reviewBody { padding-bottom: 18px; }
	body.fs-body-my-reviews .fs-c-reviewList__item:has(.fs-c-buttonContainer--editReview) .fs-c-reviewBody { padding-bottom: 0; }
}

/* ---- SP ---- */
@media screen and (max-width: 640px) {
	body.fs-body-my-reviews .fs-c-listControl__status { font-size: 11px; }
	/* FS標準が li を flex にしているため、SPでは block に戻して縦積みにする */
	body.fs-body-my-reviews .fs-c-reviewList > .fs-c-reviewList__item { display: block; }
	body.fs-body-my-reviews .fs-c-reviewList { gap: 14px; }
	body.fs-body-my-reviews .fs-c-reviewProduct {
		border-bottom: 1px solid #ECEEF0;
		padding: 12px 14px;
	}
	body.fs-body-my-reviews .fs-c-reviewProduct__image { width: 56px; height: 56px; }
	body.fs-body-my-reviews .fs-c-productName__name { -webkit-line-clamp: 2; }
	body.fs-body-my-reviews .fs-c-reviewInfo {
		gap: 8px 14px;
		padding: 12px 14px 0;
	}
	body.fs-body-my-reviews .fs-c-reviewStars { font-size: 15px; }
	body.fs-body-my-reviews .fs-c-reviewStars::after { font-size: 12px; }
	body.fs-body-my-reviews .fs-c-reviewInfo__date dd { font-size: 12px; }
	body.fs-body-my-reviews .fs-c-reviewBody {
		padding: 0 14px 12px;
		margin-top: 10px;
		font-size: 13px;
		line-height: 1.8;
	}
	body.fs-body-my-reviews .fs-c-buttonContainer--editReview { padding: 0 14px 12px; }
	body.fs-body-my-reviews .fs-c-button--editReview { width: 100%; }
}

/* ---- マイページトップボタン（他のマイページ系と同じ様式） ---- */
body.fs-body-my-reviews .fs-c-buttonContainer--myPageTop {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 20px;
	padding: 0;
}
body.fs-body-my-reviews .fs-c-buttonContainer--myPageTop::before,
body.fs-body-my-reviews .fs-c-buttonContainer--myPageTop::after {
	content: "";
	flex: 1;
	height: 1px;
	background: #E3E5E7;
}
body.fs-body-my-reviews .fs-c-button--myPageTop {
	background: none;
	border: none;
	box-shadow: none;
	padding: 0;
	min-width: 0;
	width: auto;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: #3D4246 !important;
	text-decoration: none;
}
body.fs-body-my-reviews .fs-c-button--myPageTop::before { content: "‹"; font-size: 15px; color: #8A8F94; }
body.fs-body-my-reviews .fs-c-button--myPageTop::after { content: none; }
body.fs-body-my-reviews .fs-c-button--myPageTop .fs-c-button__label { font-size: 13px; }
/* ---------------------------------------------------
   お届け先リスト /my/addressbook（2026-09-03）
   body.fs-body-my-addressbook / #fs_MyAddressBook
   HTML変更なし・CSSのみ。構造は 02_source/お届け先リストパーツ_現行.html を参照。

   🔴 列見出し（thead）はシステムが出さない。CSSだけでは作れないため
      **ヘッダーなし運用**にした（ハンドオフが認めているフォールバック）。
      氏名・住所は見れば分かるため実害は無い。
   🔴 削除は破壊的操作。常時赤にせず、hover時のみ赤に変える（誤クリック抑制）。
--------------------------------------------------- */

/* 下余白は 00_共通/css/追記_マイページ共通.css に移した（2026-09-03） */
body.fs-body-my-addressbook .fs-c-addressBookList { margin: 0; }

/* ---- ご利用方法（フリーパーツ） ---- */
body.fs-body-my-addressbook .fs-p-announcement {
	background: #FAFBFB;
	border: 1px solid #ECEEF0;
	border-radius: 8px;
	margin: 12px 0 0;
	box-sizing: border-box;
}
body.fs-body-my-addressbook .fs-p-announcement__title {
	margin: 0 0 8px;
	padding: 0;
	border: none;
	background: none;
	font-weight: 700;
	color: #17191B;
	text-align: left;
}
body.fs-body-my-addressbook .fs-p-announcement__body { margin: 0; }
body.fs-body-my-addressbook .fs-p-announcement .fs-c-list {
	margin: 0;
	padding-left: 20px;
	list-style: disc;
	color: #3D4246;
	line-height: 1.9;
}
body.fs-body-my-addressbook .fs-p-announcement .fs-c-list li { margin: 0; padding: 0; }
body.fs-body-my-addressbook .fs-p-announcement .fs-c-list li::before { content: none; }

/* ---- 追加ボタン＋件数 ----
   ⚠️ システム出力は「追加ボタン → 件数」の順。PCでは order で入れ替える */
body.fs-body-my-addressbook .fs-c-addressBookList__form { margin: 0; padding: 0; border: none; }
body.fs-body-my-addressbook .fs-c-addressBookList__addButton { margin: 0; padding: 0; }
body.fs-body-my-addressbook .fs-c-addressBookCount {
	margin: 0;
	display: flex;
	align-items: baseline;
	gap: 8px;
}
body.fs-body-my-addressbook .fs-c-addressBookCount__label,
body.fs-body-my-addressbook .fs-c-addressBookCount__addon { color: #8A8F94; font-size: 12px; }
body.fs-body-my-addressbook .fs-c-addressBookCount__count { font-size: 20px; font-weight: 700; color: #17191B; }

/* 追加ボタン＝このページの主アクション。塗り緑（購入CTAではないのでオレンジは使わない） */
body.fs-body-my-addressbook .fs-c-button--addToAddressbook {
	background: #1A6B3C;
	border: none;
	border-radius: 6px;
	box-shadow: none;
	color: #FFFFFF !important;   /* テーマが a に色を当てているため必要 */
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	box-sizing: border-box;
}
body.fs-body-my-addressbook .fs-c-button--addToAddressbook:hover { background: #0F4526; }
body.fs-body-my-addressbook .fs-c-button--addToAddressbook::before { content: "＋"; font-size: 17px; line-height: 1; }
body.fs-body-my-addressbook .fs-c-button--addToAddressbook::after { content: none; }
body.fs-body-my-addressbook .fs-c-button--addToAddressbook .fs-c-button__label { font-size: 15px; font-weight: 700; }

/* ---- リスト本体 ---- */
body.fs-body-my-addressbook .fs-c-addressBookList__list { width: 100%; margin: 0; }
/* FS標準の縞模様（偶数行の地色）を消す */
body.fs-body-my-addressbook .fs-c-addressBookList__list tbody tr { background: transparent; }
/* 氏名: ruby を「氏名の下にフリガナ」の縦積みに（HTML変更なし） */
body.fs-body-my-addressbook .fs-c-addressBookList__list ruby {
	display: inline-block;
	ruby-position: under;   /* WebKitで rt が上に出るのを防ぐ保険 */
	font-weight: 700;
	color: #17191B;
	line-height: 1.5;
}
body.fs-body-my-addressbook .fs-c-addressBookList__list rt {
	display: block;
	font-size: 11px;
	font-weight: 400;
	color: #8A8F94;
	margin-top: 2px;
	text-align: left;
	line-height: 1.4;
	ruby-align: start;
}
body.fs-body-my-addressbook .fs-c-addressBookList__list rp { display: none; }
/* 住所 */
body.fs-body-my-addressbook .fs-c-address { margin: 0; color: #3D4246; line-height: 1.8; }
body.fs-body-my-addressbook .fs-c-address__zipCode::before { content: "〒"; margin-right: 2px; }
body.fs-body-my-addressbook .fs-c-address__zipCode { margin-right: 8px; }
body.fs-body-my-addressbook .fs-c-address__address { display: inline; }
body.fs-body-my-addressbook .fs-c-address__address > span { display: inline; }
/* ⚠️ line2 / line3 は空タグで出力されることがある。詰めるために空要素を消す */
body.fs-body-my-addressbook .fs-c-address__address > span:empty { display: none; }
body.fs-body-my-addressbook .fs-c-address__tel { display: block; }

/* ---- 変更・削除ボタン ---- */
/* ⚠️ FS標準が row-reverse を当てており、DOM順（変更→削除）と表示が逆になる。
      row を明示しないと「削除」が左に来る（2026-09-03 実測）。
      破壊的操作を先に見せないため、必ず 変更→削除 の順にする。 */
body.fs-body-my-addressbook .fs-c-buttonContainer--deleteChange {
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: row;
	gap: 8px;
}
body.fs-body-my-addressbook .fs-c-button--changeInfomation,
body.fs-body-my-addressbook .fs-c-button--delete {
	height: 44px;
	border-radius: 6px;
	box-shadow: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	box-sizing: border-box;
	padding: 0 16px;
}
body.fs-body-my-addressbook .fs-c-button--changeInfomation {
	background: #FFFFFF;
	border: 1px solid #1A6B3C;
	color: #1A6B3C !important;
}
body.fs-body-my-addressbook .fs-c-button--changeInfomation:hover { background: #F1F6F3; }
/* 🔴 削除は破壊的操作。常時赤にしない。hoverで初めて赤に変える */
body.fs-body-my-addressbook .fs-c-button--delete {
	background: #FFFFFF;
	border: 1px solid #E3E5E7;
	color: #6D7276 !important;
}
body.fs-body-my-addressbook .fs-c-button--delete:hover {
	background: #F2F4F5;
	border-color: #F0C2C3;
	color: #D81F24 !important;
}
body.fs-body-my-addressbook .fs-c-button--changeInfomation::before,
body.fs-body-my-addressbook .fs-c-button--changeInfomation::after,
body.fs-body-my-addressbook .fs-c-button--delete::before,
body.fs-body-my-addressbook .fs-c-button--delete::after { content: none; }
body.fs-body-my-addressbook .fs-c-button--changeInfomation .fs-c-button__label,
body.fs-body-my-addressbook .fs-c-button--delete .fs-c-button__label { font-size: 14px; font-weight: 700; }

/* ---- PC ---- */
@media screen and (min-width: 641px) {
	body.fs-body-my-addressbook .fs-p-announcement { padding: 18px 24px; }
	body.fs-body-my-addressbook .fs-p-announcement__title { font-size: 15px; }
	body.fs-body-my-addressbook .fs-p-announcement .fs-c-list { font-size: 13px; }
	/* 件数（左）と追加ボタン（右）を1行に。DOM順は逆なので order で入れ替える */
	body.fs-body-my-addressbook .fs-c-addressBookList__form {
		display: grid;
		grid-template-columns: auto auto;
		grid-template-areas: "count add" "list list";
		align-items: center;
		justify-content: space-between;
		row-gap: 16px;
		margin-top: 20px;
	}
	body.fs-body-my-addressbook .fs-c-addressBookList__addButton { grid-area: add; }
	body.fs-body-my-addressbook .fs-c-addressBookCount { grid-area: count; }
	body.fs-body-my-addressbook .fs-c-addressBookList__list { grid-area: list; }
	body.fs-body-my-addressbook .fs-c-button--addToAddressbook { height: 48px; padding: 0 24px; }

	body.fs-body-my-addressbook .fs-c-addressBookList__list {
		border: 1px solid #ECEEF0;
		border-radius: 8px;
		overflow: hidden;
		border-collapse: separate;   /* collapse だと table 自身の border が消える */
		border-spacing: 0;
	}
	body.fs-body-my-addressbook .fs-c-addressBookList__list td {
		border: none;
		border-bottom: 1px solid #ECEEF0;
		padding: 18px 24px;
		vertical-align: middle;
		background: transparent;
	}
	body.fs-body-my-addressbook .fs-c-addressBookList__list tbody tr:last-child td { border-bottom: none; }
	body.fs-body-my-addressbook .fs-c-addressBookList__list td:nth-child(1) { width: 240px; }
	body.fs-body-my-addressbook .fs-c-addressBookList__list td:nth-child(3) { width: 220px; }
	body.fs-body-my-addressbook .fs-c-addressBookList__list ruby { font-size: 16px; }
	body.fs-body-my-addressbook .fs-c-address { font-size: 14px; }
	body.fs-body-my-addressbook .fs-c-buttonContainer--deleteChange { justify-content: flex-end; }
}

/* ---- SP ---- */
@media screen and (max-width: 640px) {
	body.fs-body-my-addressbook .fs-p-announcement { padding: 14px 16px; }
	body.fs-body-my-addressbook .fs-p-announcement__title { font-size: 14px; }
	body.fs-body-my-addressbook .fs-p-announcement .fs-c-list { font-size: 12px; }
	/* SPは 追加ボタン（全幅）→ 件数 の順（システム出力どおり） */
	body.fs-body-my-addressbook .fs-c-addressBookList__form {
		display: flex;
		flex-direction: column;
		gap: 12px;
		margin-top: 14px;
	}
	body.fs-body-my-addressbook .fs-c-button--addToAddressbook { width: 100%; height: 52px; }
	body.fs-body-my-addressbook .fs-c-addressBookCount { justify-content: flex-start; }

	/* テーブルをカード化 */
	body.fs-body-my-addressbook .fs-c-addressBookList__list { border: none; border-collapse: separate; border-spacing: 0; }
	body.fs-body-my-addressbook .fs-c-addressBookList__list tbody { display: flex; flex-direction: column; gap: 14px; }
	body.fs-body-my-addressbook .fs-c-addressBookList__list tr {
		display: block;
		border: 1px solid #ECEEF0;
		border-radius: 8px;
		overflow: hidden;
	}
	body.fs-body-my-addressbook .fs-c-addressBookList__list td {
		display: block;
		border: none;
		background: transparent;
	}
	/* 1セル目＝カードヘッダー（氏名） */
	body.fs-body-my-addressbook .fs-c-addressBookList__list td:nth-child(1) {
		background: #FAFBFB;
		border-bottom: 1px solid #ECEEF0;
		padding: 10px 14px;
	}
	body.fs-body-my-addressbook .fs-c-addressBookList__list ruby { font-size: 15px; }
	/* 2セル目＝住所 */
	body.fs-body-my-addressbook .fs-c-addressBookList__list td:nth-child(2) { padding: 12px 14px; }
	body.fs-body-my-addressbook .fs-c-address { font-size: 13px; }
	/* 3セル目＝操作ボタン */
	body.fs-body-my-addressbook .fs-c-addressBookList__list td:nth-child(3) { padding: 0 14px 12px; }
	body.fs-body-my-addressbook .fs-c-button--changeInfomation { flex: 1; }
	body.fs-body-my-addressbook .fs-c-button--delete { flex: 0 0 96px; padding: 0; }
}

/* ---- 削除確認モーダル（Handlebars出力・HTML変更不可） ---- */
body.fs-body-my-addressbook .fs-c-modal { background: rgba(23, 25, 27, 0.5); }
body.fs-body-my-addressbook .fs-c-modal__inner {
	background: #FFFFFF;
	border-radius: 8px;
	box-shadow: 0 16px 48px rgba(23, 25, 27, 0.3);
	border: none;
	overflow: hidden;
}
body.fs-body-my-addressbook .fs-c-modal__header {
	background: #FFFFFF;
	border-bottom: 1px solid #ECEEF0;
	padding: 14px 18px;
	font-size: 15px;
	font-weight: 700;
	color: #17191B;
}
body.fs-body-my-addressbook .fs-c-modal__close {
	width: 32px;
	height: 32px;
	border-radius: 6px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
body.fs-body-my-addressbook .fs-c-modal__close:hover { background: #F2F4F5; }
body.fs-body-my-addressbook .fs-c-modal__contents { padding: 16px 18px; font-size: 13px; color: #3D4246; }
body.fs-body-my-addressbook .fs-c-modal .fs-c-inputInformation { margin: 0; }
/* 情報ボックス（テーブルを枠なしのカードに） */
body.fs-body-my-addressbook .fs-c-inputTable--inModal {
	width: 100%;
	background: #FAFBFB;
	border: 1px solid #ECEEF0;
	border-radius: 6px;
	margin: 12px 0 0;
	border-collapse: separate;
	border-spacing: 0;
}
body.fs-body-my-addressbook .fs-c-inputTable--inModal tbody,
body.fs-body-my-addressbook .fs-c-inputTable--inModal tr { display: block; }
body.fs-body-my-addressbook .fs-c-inputTable--inModal td {
	display: block;
	border: none;
	background: transparent;
	padding: 0 14px;
	text-align: left;
}
body.fs-body-my-addressbook .fs-c-inputTable--inModal tr:first-child td { padding-top: 14px; }
body.fs-body-my-addressbook .fs-c-inputTable--inModal tr:last-child td { padding-bottom: 14px; }
body.fs-body-my-addressbook .fs-c-inputTable--inModal ruby { display: inline-block; font-size: 15px; font-weight: 700; }
body.fs-body-my-addressbook .fs-c-inputTable--inModal rt { display: block; font-size: 11px; font-weight: 400; color: #8A8F94; margin-top: 2px; }
body.fs-body-my-addressbook .fs-c-modal .fs-c-address { font-size: 13px; margin-top: 6px; }
/* ボタン2つ。⚠️ テンプレートは「削除 → キャンセル」の順。order でキャンセルを左にする */
body.fs-body-my-addressbook .fs-c-modal .fs-c-buttonContainer--pair {
	display: flex;
	gap: 10px;
	margin-top: 16px;
	padding: 0;
}
/* ⚠️ `> *` の flex:1 だけではFS標準に負けてキャンセルが潰れる。
      各ボタンに直接 flex を書く（2026-09-03 実測で修正）。 */
/* 🔴 padding を0にしないと2つの幅が揃わない（2026-09-03 実測）。
      FS標準がキャンセル側にだけ padding: 11.2px 22.4px を当てており、
      **box-sizing が content-box なので flex-basis:0 に padding が加算される**。
      結果 160px / 116px と 44.8px ずれる。中身は中央寄せなので padding は不要。 */
body.fs-body-my-addressbook .fs-c-modal .fs-c-buttonContainer--pair > * {
	flex: 1 1 0;
	min-width: 0;
	max-width: none;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
body.fs-body-my-addressbook .fs-c-modal .fs-c-button--cancel {
	order: 1;
	flex: 1 1 0;
	min-width: 0;
}
body.fs-body-my-addressbook .fs-c-modal .fs-c-button--delete,
body.fs-body-my-addressbook .fs-c-modal .fs-c-button--confirmDelete {
	order: 2;
	flex: 1 1 0;
	min-width: 0;
}
body.fs-body-my-addressbook .fs-c-modal .fs-c-buttonContainer--pair button {
	height: 44px;
	border-radius: 6px;
	box-shadow: none;
	font-size: 14px;
	font-weight: 700;
	box-sizing: border-box;
}
body.fs-body-my-addressbook .fs-c-modal .fs-c-button--cancel {
	background: #FFFFFF;
	border: 1px solid #E3E5E7;
	color: #3D4246 !important;
}
/* 🔴 モーダル内の「削除する」だけは塗り赤（確定操作） */
body.fs-body-my-addressbook .fs-c-modal .fs-c-button--delete,
body.fs-body-my-addressbook .fs-c-modal .fs-c-button--confirmDelete {
	background: #D81F24;
	border: 1px solid #D81F24;
	color: #FFFFFF !important;
}
body.fs-body-my-addressbook .fs-c-modal .fs-c-button--delete:hover,
body.fs-body-my-addressbook .fs-c-modal .fs-c-button--confirmDelete:hover { background: #B4181C; border-color: #B4181C; }

/* ---- 0件時 ---- */
body.fs-body-my-addressbook .fs-c-noResultMessage {
	border: 1px solid #ECEEF0;
	border-radius: 8px;
	background: transparent;
	padding: 32px 16px;
	text-align: center;
	margin: 0;
}
body.fs-body-my-addressbook .fs-c-noResultMessage__title { font-size: 14px; font-weight: 700; color: #3D4246; margin: 0; }

/* ---- マイページトップボタン（他のマイページ系と同じ様式） ---- */
body.fs-body-my-addressbook .fs-c-buttonContainer--myPageTop {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 20px;
	padding: 0;
}
body.fs-body-my-addressbook .fs-c-buttonContainer--myPageTop::before,
body.fs-body-my-addressbook .fs-c-buttonContainer--myPageTop::after {
	content: "";
	flex: 1;
	height: 1px;
	background: #E3E5E7;
}
body.fs-body-my-addressbook .fs-c-button--myPageTop {
	background: none;
	border: none;
	box-shadow: none;
	padding: 0;
	min-width: 0;
	width: auto;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: #3D4246 !important;
	text-decoration: none;
}
body.fs-body-my-addressbook .fs-c-button--myPageTop::before { content: "‹"; font-size: 15px; color: #8A8F94; }
body.fs-body-my-addressbook .fs-c-button--myPageTop::after { content: none; }
body.fs-body-my-addressbook .fs-c-button--myPageTop .fs-c-button__label { font-size: 13px; }
/* ---------------------------------------------------
   会員情報詳細 /my/account/settings          （fs-body-my-account-settings）
   会員登録内容変更 /my/account/settings/edit  （fs-body-my-account-settings-edit）
   2026-09-03・HTML変更なし・CSSのみ
   構造は 02_source/構造メモ.md を参照（実機から骨格のみ取得。個人情報は持ち出していない）

   ⚠️ bodyクラスは2つある。`fs-body-my-account-settings-edit` は
      `fs-body-my-account-settings` に**マッチしない**（クラスセレクタは完全一致）。
      共通指定は :is() で両方を並べる。
--------------------------------------------------- */

/* ===== 共通 ===== */
/* 下余白は 00_共通/css/追記_マイページ共通.css に移した（2026-09-03） */

/* PCは本文800px中央（コンテンツ幅いっぱいに広げない） */
@media screen and (min-width: 641px) {
	body:is(.fs-body-my-account-settings, .fs-body-my-account-settings-edit) .fs-c-inputInformation {
		max-width: 800px;
		margin: 20px auto 0;
	}
}
body:is(.fs-body-my-account-settings, .fs-body-my-account-settings-edit) .fs-c-inputInformation {
	border: none;
	padding: 0;
	background: transparent;
}
/* 🔴 FS標準が `__field` に max-width: 600px、`__message` に flex の中央寄せを当てている
      （2026-09-03 実測）。どちらも明示的に外さないと、カードが器（800px）より狭く
      左に寄り、注意文だけが中央寄せのまま残る。 */
body:is(.fs-body-my-account-settings, .fs-body-my-account-settings-edit) .fs-c-inputInformation__message {
	max-width: none;
	display: block;
	margin: 0 0 14px;
	padding: 0;
	border: none;
	background: transparent;
	color: #3D4246;
	text-align: left;
}
body:is(.fs-body-my-account-settings, .fs-body-my-account-settings-edit) .fs-c-inputInformation__message p { margin: 0; }
body:is(.fs-body-my-account-settings, .fs-body-my-account-settings-edit) .fs-c-memberInfoField {
	margin: 0;
	padding: 0;
	border: none;
}
body:is(.fs-body-my-account-settings, .fs-body-my-account-settings-edit) .fs-c-inputInformation__field {
	max-width: none;
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
}
/* table を block 化（詳細・変更で共通の下地） */
body:is(.fs-body-my-account-settings, .fs-body-my-account-settings-edit) .fs-c-inputTable,
body:is(.fs-body-my-account-settings, .fs-body-my-account-settings-edit) .fs-c-inputTable > tbody {
	display: block;
	width: 100%;
	margin: 0;
	border: none;
	border-collapse: separate;
	border-spacing: 0;
}
body:is(.fs-body-my-account-settings, .fs-body-my-account-settings-edit) .fs-c-inputTable th,
body:is(.fs-body-my-account-settings, .fs-body-my-account-settings-edit) .fs-c-inputTable td {
	display: block;
	border: none;
	background: transparent;
	padding: 0;
	text-align: left;
	font-weight: 400;
	vertical-align: top;
}

@media screen and (min-width: 641px) {
	body:is(.fs-body-my-account-settings, .fs-body-my-account-settings-edit) .fs-c-inputInformation__message { font-size: 14px; }
}
@media screen and (max-width: 640px) {
	body:is(.fs-body-my-account-settings, .fs-body-my-account-settings-edit) .fs-c-inputInformation__message { font-size: 13px; }
}

/* ===== 会員情報詳細（表示）＝定義リスト ===== */
body.fs-body-my-account-settings .fs-c-inputTable {
	background: #FAFBFB;
	border: 1px solid #ECEEF0;
	border-radius: 8px;
	box-sizing: border-box;
}
/* 🔴 FS標準が `tr` に margin-top: 24px を当てている（2026-09-03 実測）。
      明示的に 0 に戻さないと、こちらで作った行間に24pxが上乗せされる。 */
body.fs-body-my-account-settings .fs-c-inputTable > tbody > tr { border-bottom: 1px solid #ECEEF0; display: block; margin: 0; }
body.fs-body-my-account-settings .fs-c-inputTable > tbody > tr:last-child { border-bottom: none; }
body.fs-body-my-account-settings .fs-c-confirmation__data { display: block; color: #17191B; line-height: 1.6; }

@media screen and (min-width: 641px) {
	body.fs-body-my-account-settings .fs-c-inputTable { padding: 4px 28px; }
	/* 1行 = ラベル200px ＋ 値。tr を flex にする */
	/* 🔴 FS標準が tr に flex-direction: column を当てている（2026-09-03 実測）。
	      row を明示しないと `flex: 0 0 200px` が**高さ200px**として効いてしまう。
	      レビュー履歴の .fs-c-reviewInfo と同じ罠。 */
	body.fs-body-my-account-settings .fs-c-inputTable > tbody > tr {
		display: flex;
		flex-direction: row;
		align-items: baseline;
		gap: 24px;
		padding: 14px 0;
	}
	body.fs-body-my-account-settings .fs-c-inputTable__headerCell { flex: 0 0 200px; font-size: 13px; color: #6D7276; }
	body.fs-body-my-account-settings .fs-c-inputTable__dataCell { flex: 1; min-width: 0; }
	body.fs-body-my-account-settings .fs-c-confirmation__data { font-size: 15px; min-height: 22px; }
}
@media screen and (max-width: 640px) {
	body.fs-body-my-account-settings .fs-c-inputTable { padding: 4px 16px; }
	body.fs-body-my-account-settings .fs-c-inputTable > tbody > tr { padding: 12px 0; }
	body.fs-body-my-account-settings .fs-c-inputTable__headerCell { font-size: 11px; color: #8A8F94; }
	body.fs-body-my-account-settings .fs-c-inputTable__dataCell { margin-top: 3px; }
	body.fs-body-my-account-settings .fs-c-confirmation__data { font-size: 14px; min-height: 20px; }
}
/* ⚠️ 値が空の行（住所３）がある。min-height で行が潰れないようにしている（上記） */

/* 変更ボタン（このページの主アクション＝塗り緑） */
body.fs-body-my-account-settings .fs-c-inputInformation__button {
	margin: 18px 0 0;   /* 統一値（2026-09-04） */
	padding: 0;
	display: flex;
	justify-content: center;
}
body.fs-body-my-account-settings .fs-c-button--change {
	background: #1A6B3C;
	border: none;
	border-radius: 6px;
	box-shadow: none;
	height: 52px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 15px;
	font-weight: 700;
	color: #FFFFFF !important;   /* テーマが a に色を当てているため必要 */
	text-decoration: none;
	box-sizing: border-box;
}
body.fs-body-my-account-settings .fs-c-button--change:hover { background: #0F4526; }
body.fs-body-my-account-settings .fs-c-button--change::before,
body.fs-body-my-account-settings .fs-c-button--change::after { content: none; }
body.fs-body-my-account-settings .fs-c-button--change .fs-c-button__label { font-size: 15px; font-weight: 700; }
@media screen and (min-width: 641px) {
	body.fs-body-my-account-settings .fs-c-button--change { width: 280px; }
}
@media screen and (max-width: 640px) {
	body.fs-body-my-account-settings .fs-c-button--change { width: 100%; }
}

/* ===== 会員登録内容変更（入力）＝フォーム ===== */
body.fs-body-my-account-settings-edit .fs-c-inputTable {
	background: #FAFBFB;
	border: 1px solid #ECEEF0;
	border-radius: 8px;
	box-sizing: border-box;
}
body.fs-body-my-account-settings-edit .fs-c-inputTable > tbody { display: flex; flex-direction: column; }
body.fs-body-my-account-settings-edit .fs-c-inputTable > tbody > tr { display: block; border: none; margin: 0; }
body.fs-body-my-account-settings-edit .fs-c-inputTable__label { display: inline-flex; align-items: center; gap: 6px; margin: 0; color: #3D4246; }

/* 🔴 必須マークは「(必須)」。括弧を隠して「必須」だけを出す（HTML変更なし） */
/* ⚠️ FS標準が箱を0サイズに潰す指定を持っているため、
      width/height/overflow/text-indent も明示的に戻す（2026-09-03 実測） */
body.fs-body-my-account-settings-edit .fs-c-requiredMark {
	display: inline-flex;
	align-items: center;
	width: auto;
	height: auto;
	overflow: visible;
	text-indent: 0;
	font-size: 0;
	line-height: 1;
	color: transparent;
	background: none;
	border: none;
	padding: 0;
	margin: 0;
	flex: 0 0 auto;
}
body.fs-body-my-account-settings-edit .fs-c-requiredMark::before { content: none; }
body.fs-body-my-account-settings-edit .fs-c-requiredMark::after {
	content: "必須";
	font-size: 10px;
	font-weight: 700;
	color: #D81F24;
	line-height: 1.4;
}

/* 入力欄の共通様式 */
body.fs-body-my-account-settings-edit .fs-c-inputField { margin: 0; }
body.fs-body-my-account-settings-edit .fs-c-inputField__field { margin: 0; }
body.fs-body-my-account-settings-edit .fs-c-inputTable input[type="text"],
body.fs-body-my-account-settings-edit .fs-c-inputTable input[type="tel"],
body.fs-body-my-account-settings-edit .fs-c-inputTable input[type="email"],
body.fs-body-my-account-settings-edit .fs-c-inputTable input[type="password"] {
	height: 44px;
	width: 100%;
	border: 1px solid #E3E5E7;
	border-radius: 6px;
	background: #FFFFFF;
	padding: 0 12px;
	font-size: 16px;   /* SPで16px未満だと iOS Safari がフォーカス時にズームする */
	color: #17191B;
	box-sizing: border-box;
}
body.fs-body-my-account-settings-edit .fs-c-inputTable input:focus {
	border-color: #1A6B3C;
	outline: none;
}
/* 姓/名・セイ/メイの2分割 */
body.fs-body-my-account-settings-edit .fs-c-inputTextGroup {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}
body.fs-body-my-account-settings-edit .fs-c-inputTextGroup__item { margin: 0; min-width: 0; }
/* 郵便番号 */
body.fs-body-my-account-settings-edit .fs-c-inputField__field--zipCode { display: flex; align-items: center; gap: 10px; }
body.fs-body-my-account-settings-edit .fs-c-input--zipCode { flex: 0 0 auto; }
/* 都道府県 */
body.fs-body-my-account-settings-edit .fs-c-dropdown { margin: 0; }
/* 🔴 select は appearance:none を書くと Chromium で文字が上へずれる。
      align-items: center が必須（Futureshopシステム領域_基本.md §4） */
body.fs-body-my-account-settings-edit .fs-c-dropdown__menu {
	-webkit-appearance: none;
	appearance: none;
	align-items: center;
	height: 44px;
	margin: 0;
	border: 1px solid #E3E5E7;
	border-radius: 6px;
	background-color: #FFFFFF;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236D7276' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 13px center;
	padding: 0 34px 0 12px;
	font-size: 16px;
	color: #17191B;
	box-sizing: border-box;
	cursor: pointer;
}
body.fs-body-my-account-settings-edit .fs-c-dropdown__menu:focus { border-color: #1A6B3C; outline: none; }
body.fs-body-my-account-settings-edit .fs-c-dropdown::after { content: none; }   /* FS標準の矢印を消す（二重矢印の防止） */

/* 🔴 メールマガジン＝ラジオをカード型2択に
      input と label は span.fs-c-radio 内の兄弟なので
      `input:checked ~ label` で選択状態を作れる（HTML変更なし） */
body.fs-body-my-account-settings-edit .fs-c-radioGroup {
	display: flex;
	flex-direction: row;
	gap: 10px;
	margin: 0;
}
body.fs-body-my-account-settings-edit .fs-c-radio {
	flex: 1 1 0;
	min-width: 0;
	display: block;
	position: relative;
	margin: 0;
}
/* input は視覚的に隠すがフォーカスは残す（display:none にすると
   キーボード操作ができなくなるため使わない） */
body.fs-body-my-account-settings-edit .fs-c-radio__radio {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	margin: 0;
	pointer-events: none;
}
body.fs-body-my-account-settings-edit .fs-c-radio__label {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 48px;
	margin: 0;
	padding: 0;
	border: 1px solid #E3E5E7;
	border-radius: 6px;
	background: #FFFFFF;
	color: #3D4246;
	cursor: pointer;
	box-sizing: border-box;
}
body.fs-body-my-account-settings-edit .fs-c-radio__radioMark {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	border: 2px solid #C6CACD;
	background: transparent;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
}
body.fs-body-my-account-settings-edit .fs-c-radio__radioMark::before,
body.fs-body-my-account-settings-edit .fs-c-radio__radioMark::after { content: none; }
body.fs-body-my-account-settings-edit .fs-c-radio__radioLabelText { font-size: 14px; }
/* 選択中 */
body.fs-body-my-account-settings-edit .fs-c-radio__radio:checked ~ .fs-c-radio__label {
	border: 2px solid #1A6B3C;
}
body.fs-body-my-account-settings-edit .fs-c-radio__radio:checked ~ .fs-c-radio__label .fs-c-radio__radioMark { border-color: #1A6B3C; }
body.fs-body-my-account-settings-edit .fs-c-radio__radio:checked ~ .fs-c-radio__label .fs-c-radio__radioMark::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #1A6B3C;
}
body.fs-body-my-account-settings-edit .fs-c-radio__radio:checked ~ .fs-c-radio__label .fs-c-radio__radioLabelText { font-weight: 700; color: #17191B; }
/* キーボード操作時のフォーカス表示（input を隠しているので label に出す） */
body.fs-body-my-account-settings-edit .fs-c-radio__radio:focus-visible ~ .fs-c-radio__label {
	outline: 2px solid #1A6B3C;
	outline-offset: 2px;
}
/* メルマガの説明文 */
body.fs-body-my-account-settings-edit .fs-c-inputField__explanation {
	margin: 8px 0 0;
	padding: 0;
	border: none;
	background: transparent;
	color: #6D7276;
	line-height: 1.7;
	text-align: left;
}

@media screen and (min-width: 641px) {
	body.fs-body-my-account-settings-edit .fs-c-inputTable { padding: 28px 32px; }
	body.fs-body-my-account-settings-edit .fs-c-inputTable > tbody { gap: 18px; }
	/* 1行 = ラベル180px ＋ 入力 */
	/* 🔴 詳細と同じ。row を明示しないと `flex: 0 0 180px` が高さになる */
	body.fs-body-my-account-settings-edit .fs-c-inputTable > tbody > tr {
		display: flex;
		flex-direction: row;
		align-items: flex-start;
		gap: 24px;
	}
	/* ⚠️ セレクタに th を足して詳細度を上げている。`.fs-c-inputTable__headerCell` だけだと
	      上の `.fs-c-inputTable th { padding: 0 }`（詳細度 0,2,2）に負けて padding が効かない */
	body.fs-body-my-account-settings-edit .fs-c-inputTable th.fs-c-inputTable__headerCell {
		flex: 0 0 180px;
		padding-top: 12px;   /* 入力欄の垂直中央にラベルを合わせる */
	}
	body.fs-body-my-account-settings-edit .fs-c-inputTable__label,
	body.fs-body-my-account-settings-edit .fs-c-inputTable__headerCell { font-size: 13px; }
	body.fs-body-my-account-settings-edit .fs-c-inputTable__dataCell { flex: 1; min-width: 0; }
	/* PCは入力欄を広げすぎない */
	body.fs-body-my-account-settings-edit .fs-c-inputField__field:not(.fs-c-radioGroup):not(.fs-c-inputField__field--zipCode) { max-width: 400px; }
	body.fs-body-my-account-settings-edit .fs-c-inputTextGroup { max-width: 400px; }
	body.fs-body-my-account-settings-edit .fs-c-input--zipCode { width: 160px; }
	body.fs-body-my-account-settings-edit .fs-c-dropdown__menu { width: 240px; font-size: 14px; }
	body.fs-body-my-account-settings-edit .fs-c-inputTable input[type="text"],
	body.fs-body-my-account-settings-edit .fs-c-inputTable input[type="tel"],
	body.fs-body-my-account-settings-edit .fs-c-inputTable input[type="email"] { font-size: 14px; }
	body.fs-body-my-account-settings-edit .fs-c-radioGroup { max-width: 320px; }
	body.fs-body-my-account-settings-edit .fs-c-inputField__explanation { font-size: 12px; }
}
@media screen and (max-width: 640px) {
	body.fs-body-my-account-settings-edit .fs-c-inputTable { padding: 16px; }
	body.fs-body-my-account-settings-edit .fs-c-inputTable > tbody { gap: 14px; }
	/* ラベルは入力欄の上 */
	body.fs-body-my-account-settings-edit .fs-c-inputTable__headerCell { margin-bottom: 4px; }
	body.fs-body-my-account-settings-edit .fs-c-inputTable__label,
	body.fs-body-my-account-settings-edit .fs-c-inputTable__headerCell { font-size: 12px; }
	body.fs-body-my-account-settings-edit .fs-c-input--zipCode { width: 140px; }
	body.fs-body-my-account-settings-edit .fs-c-dropdown__menu { width: 100%; }
	body.fs-body-my-account-settings-edit .fs-c-inputField__explanation { font-size: 11px; }
}

/* 郵便番号サジェスト（Handlebars出力・HTML変更不可） */
body.fs-body-my-account-settings-edit .fs-c-suggestedAddress,
body.fs-body-my-account-settings-edit .fs-c-suggestedAddressList {
	background: #FFFFFF;
	border: 1px solid #E3E5E7;
	border-radius: 6px;
	box-shadow: 0 8px 24px rgba(23, 25, 27, 0.12);
	margin: 4px 0 0;
	padding: 4px 0;
	list-style: none;
}
body.fs-body-my-account-settings-edit .fs-c-suggestedAddressList li,
body.fs-body-my-account-settings-edit .fs-c-suggestedAddress li { padding: 8px 12px; font-size: 13px; cursor: pointer; }
body.fs-body-my-account-settings-edit .fs-c-suggestedAddressList li:hover,
body.fs-body-my-account-settings-edit .fs-c-suggestedAddress li:hover { background: #F1F6F3; }

/* 登録ボタン（塗り緑） */
body.fs-body-my-account-settings-edit .fs-c-inputInformation__button {
	margin: 18px 0 0;   /* 統一値（2026-09-04） */
	padding: 0;
	display: flex;
	justify-content: center;
}
body.fs-body-my-account-settings-edit .fs-c-button--confirmChange {
	background: #1A6B3C;
	border: none;
	border-radius: 6px;
	box-shadow: none;
	height: 56px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	font-weight: 700;
	color: #FFFFFF !important;
	box-sizing: border-box;
	cursor: pointer;
}
body.fs-body-my-account-settings-edit .fs-c-button--confirmChange:hover { background: #0F4526; }
body.fs-body-my-account-settings-edit .fs-c-button--confirmChange::before,
body.fs-body-my-account-settings-edit .fs-c-button--confirmChange::after { content: none; }
body.fs-body-my-account-settings-edit .fs-c-button--confirmChange .fs-c-button__label { font-size: 16px; font-weight: 700; }
@media screen and (min-width: 641px) {
	body.fs-body-my-account-settings-edit .fs-c-button--confirmChange { width: 320px; }
}
@media screen and (max-width: 640px) {
	body.fs-body-my-account-settings-edit .fs-c-button--confirmChange { width: 100%; }
}

/* エラー表示（両画面共通） */
body:is(.fs-body-my-account-settings, .fs-body-my-account-settings-edit) .fs-c-panel--error {
	background: #FBEAEA;
	border: 1px solid #F0C2C3;
	border-radius: 6px;
	padding: 12px 14px 12px 36px;
	font-size: 12px;
	font-weight: 700;
	color: #D81F24;
	line-height: 1.6;
	max-width: 1216px;
	margin: 12px auto 0;
}
body:is(.fs-body-my-account-settings, .fs-body-my-account-settings-edit) .fs-c-panel--error * { color: #D81F24; font-size: 12px; }
body:is(.fs-body-my-account-settings, .fs-body-my-account-settings-edit) .fs-c-panel--error,
body:is(.fs-body-my-account-settings, .fs-body-my-account-settings-edit) .fs-c-panel--error ul,
body:is(.fs-body-my-account-settings, .fs-body-my-account-settings-edit) .fs-c-panel--error li { text-align: left; }
body:is(.fs-body-my-account-settings, .fs-body-my-account-settings-edit) .fs-c-panel--error .fs-c-panel__contentList__item { justify-content: flex-start; }
/* 個別のエラーメッセージ（出る場合） */
body.fs-body-my-account-settings-edit .fs-c-inputField__errorMessage {
	margin: 4px 0 0;
	font-size: 12px;
	color: #D81F24;
}
body.fs-body-my-account-settings-edit .fs-c-inputTable input.is-error,
body.fs-body-my-account-settings-edit .fs-c-inputTable .is-error input { border-color: #D81F24; }

/* マイページトップボタン（他のマイページ系と同じ様式） */
body:is(.fs-body-my-account-settings, .fs-body-my-account-settings-edit) .fs-c-buttonContainer--myPageTop {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 20px;
	padding: 0;
}
body:is(.fs-body-my-account-settings, .fs-body-my-account-settings-edit) .fs-c-buttonContainer--myPageTop::before,
body:is(.fs-body-my-account-settings, .fs-body-my-account-settings-edit) .fs-c-buttonContainer--myPageTop::after {
	content: "";
	flex: 1;
	height: 1px;
	background: #E3E5E7;
}
body:is(.fs-body-my-account-settings, .fs-body-my-account-settings-edit) .fs-c-button--myPageTop {
	background: none;
	border: none;
	box-shadow: none;
	padding: 0;
	min-width: 0;
	width: auto;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: #3D4246 !important;
	text-decoration: none;
}
body:is(.fs-body-my-account-settings, .fs-body-my-account-settings-edit) .fs-c-button--myPageTop::before { content: "‹"; font-size: 15px; color: #8A8F94; }
body:is(.fs-body-my-account-settings, .fs-body-my-account-settings-edit) .fs-c-button--myPageTop::after { content: none; }
body:is(.fs-body-my-account-settings, .fs-body-my-account-settings-edit) .fs-c-button--myPageTop .fs-c-button__label { font-size: 13px; }
/* ---------------------------------------------------
   パスワード変更 /my/account/password（2026-09-03）
   body.fs-body-my-account-password / #fs_EditPassword
   HTML変更なし・CSSのみ。

   ⚠️ 会員情報（fs-body-my-account-settings）とは**別のbodyクラス**。
      fieldset も `fs-c-accountPasswordField`（会員情報は `fs-c-memberInfoField`）。
   🔴 パスワードの値には一切触れない（JSを使わない）。
      ウェブスキミング対策として、入力値を読む・書く処理は入れない。
--------------------------------------------------- */

/* 下余白は 00_共通/css/追記_マイページ共通.css に移した（2026-09-03） */

/* PCはフォーム640px中央 */
body.fs-body-my-account-password .fs-c-inputInformation {
	border: none;
	padding: 0;
	background: transparent;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-account-password .fs-c-inputInformation {
		max-width: 640px;
		margin: 20px auto 0;
	}
}
/* 🔴 FS標準が `__field` に max-width: 600px、`__message` に flex の中央寄せを当てている
      （2026-09-03 実測）。どちらも明示的に外さないと、カードが器より狭く左に寄り、
      注意文だけが中央寄せのまま残る。 */
body.fs-body-my-account-password .fs-c-inputInformation__message {
	max-width: none;
	display: block;
	margin: 0 0 14px;
	padding: 0;
	border: none;
	background: transparent;
	color: #3D4246;
	text-align: left;
}
body.fs-body-my-account-password .fs-c-inputInformation__message p { margin: 0; }
body.fs-body-my-account-password .fs-c-inputInformation__field {
	max-width: none;
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
}

/* 入力カード。⚠️ fieldset は既定の枠を持つので border-width も上書きする */
body.fs-body-my-account-password .fs-c-accountPasswordField {
	background: #FAFBFB;
	border: 1px solid #ECEEF0;
	border-width: 1px;
	border-radius: 8px;
	margin: 0;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
}

/* table を縦積みに。
   ⚠️ `tr` はフレックスアイテムにできないため、行間は tr の margin で作る
      （fieldset の gap は table が1つのアイテムなので効かない）。 */
body.fs-body-my-account-password .fs-c-inputTable,
body.fs-body-my-account-password .fs-c-inputTable > tbody,
body.fs-body-my-account-password .fs-c-inputTable > tbody > tr,
body.fs-body-my-account-password .fs-c-inputTable th,
body.fs-body-my-account-password .fs-c-inputTable td {
	display: block;
	width: auto;
	border: none;
	background: transparent;
	text-align: left;
	font-weight: 400;
	border-collapse: separate;
	border-spacing: 0;
}
/* 🔴 FS標準が `tr` に margin-top: 24px を当てている（2026-09-03 実測）。
      明示的に 0 に戻さないと、こちらで作った行間に24pxが上乗せされる。 */
body.fs-body-my-account-password .fs-c-inputTable > tbody > tr { margin-top: 0; }
body.fs-body-my-account-password .fs-c-inputTable { margin: 0; }
body.fs-body-my-account-password .fs-c-inputTable__headerCell { padding: 0 0 4px; }
body.fs-body-my-account-password .fs-c-inputTable__dataCell { padding: 0; }
body.fs-body-my-account-password .fs-c-inputTable > tbody > tr:last-child { margin-bottom: 0; }

/* ラベル */
body.fs-body-my-account-password .fs-c-inputTable__label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	color: #3D4246;
}
/* 🔴 必須マーク「(必須)」→「必須」。
      ⚠️ FS標準が箱を0サイズに潰すので width/height/overflow/text-indent も明示する
         （2026-09-03 会員情報で実測した罠と同じ）。 */
body.fs-body-my-account-password .fs-c-requiredMark {
	display: inline-flex;
	align-items: center;
	width: auto;
	height: auto;
	overflow: visible;
	text-indent: 0;
	font-size: 0;
	line-height: 1;
	color: transparent;
	background: none;
	border: none;
	padding: 0;
	margin: 0;
	flex: 0 0 auto;
}
body.fs-body-my-account-password .fs-c-requiredMark::before { content: none; }
body.fs-body-my-account-password .fs-c-requiredMark::after {
	content: "必須";
	font-size: 10px;
	font-weight: 700;
	color: #D81F24;
	line-height: 1.4;
}

/* 入力欄＋マスク切替ボタン。
   ⚠️ FSの要素をflexにするときは flex-direction を必ず明示する
      （2026-09-03 に3回踏んだ罠。`Futureshopシステム領域_基本.md` §6）。 */
body.fs-body-my-account-password .fs-c-inputField { margin: 0; }
/* 🔴 FS標準が `.fs-c-inputGroup` 自身に枠を付けている（2026-09-03 実測:
      border 1px solid #CCCCCC / border-radius 3px / background #FFF）。
      中の input にも枠があるので**枠が2重に見える**。必ず消すこと。
   ⚠️ 2026-09-03 松木さん指摘。flexコンテナにするだけで枠の打ち消しを忘れていた。 */
body.fs-body-my-account-password .fs-c-inputField__field.fs-c-inputGroup {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	gap: 8px;
	margin: 0;
	/* 入力欄はカード幅いっぱいに広げる（2026-09-03 松木さん指示。
	   以前は max-width: 420px で絞っていた） */
	max-width: none;
	width: 100%;
	border: none;
	border-radius: 0;
	background: transparent;
	box-sizing: border-box;
}
body.fs-body-my-account-password .fs-c-inputGroup input[type="password"],
body.fs-body-my-account-password .fs-c-inputGroup input[type="text"] {
	flex: 1 1 0;
	min-width: 0;
	height: 44px;
	border: 1px solid #E3E5E7;
	border-radius: 6px;
	background: #FFFFFF;
	padding: 0 12px;
	font-size: 16px;   /* SPで16px未満だと iOS Safari がフォーカス時にズームする */
	color: #17191B;
	box-sizing: border-box;
}
body.fs-body-my-account-password .fs-c-inputGroup input:focus { border-color: #1A6B3C; outline: none; }
/* マスク切替ボタン（中身は空・aria-labelのみ）→ 目のアイコンをSVGで描く */
body.fs-body-my-account-password .fs-c-button--displayPassword {
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	border: 1px solid #E3E5E7;
	border-radius: 6px;
	background-color: #FFFFFF;
	box-shadow: none;
	padding: 0;
	cursor: pointer;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 19px 19px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233D4246' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.8 12S5.5 5.5 12 5.5S22.2 12 22.2 12S18.5 18.5 12 18.5S1.8 12 1.8 12z'/%3E%3Ccircle cx='12' cy='12' r='3.2'/%3E%3C/svg%3E");
}
body.fs-body-my-account-password .fs-c-button--displayPassword:hover { background-color: #F1F6F3; border-color: #CDE3D6; }
/* ボタン内に文字が入る場合は隠す（アイコンだけにする） */
body.fs-body-my-account-password .fs-c-button--displayPassword .fs-c-button__label { font-size: 0; }
body.fs-body-my-account-password .fs-c-button--displayPassword::before,
body.fs-body-my-account-password .fs-c-button--displayPassword::after { content: none; }

/* パスワード条件の補足文言。
   ⚠️ システム出力に無いのでCSSで足す（data-rule-passwordFormat は minLength:6 / alphaNumeric:true）。
      **ルールが変わったらこの文言も直す**（CSSに文言を持つ唯一の例外）。 */
body.fs-body-my-account-password .fs-c-inputTable > tbody > tr:last-child .fs-c-inputField::after {
	content: "半角英数字6文字以上でご入力ください。";
	display: block;
	margin-top: 6px;
	color: #8A8F94;
	line-height: 1.6;
}

@media screen and (min-width: 641px) {
	body.fs-body-my-account-password .fs-c-inputInformation__message { font-size: 14px; }
	body.fs-body-my-account-password .fs-c-accountPasswordField { padding: 28px 32px; }
	body.fs-body-my-account-password .fs-c-inputTable > tbody > tr { margin-bottom: 18px; }
	body.fs-body-my-account-password .fs-c-inputTable__label { font-size: 13px; }
	body.fs-body-my-account-password .fs-c-inputGroup input { font-size: 14px; }
	body.fs-body-my-account-password .fs-c-inputTable > tbody > tr:last-child .fs-c-inputField::after { font-size: 12px; }
}
@media screen and (max-width: 640px) {
	body.fs-body-my-account-password .fs-c-inputInformation__message { font-size: 13px; }
	body.fs-body-my-account-password .fs-c-accountPasswordField { padding: 16px; }
	body.fs-body-my-account-password .fs-c-inputTable > tbody > tr { margin-bottom: 16px; }
	body.fs-body-my-account-password .fs-c-inputTable__label { font-size: 12px; }
	body.fs-body-my-account-password .fs-c-inputTable > tbody > tr:last-child .fs-c-inputField::after { font-size: 11px; }
}

/* 変更ボタン（設定変更の確定なので緑。購入CTAのオレンジは使わない） */
body.fs-body-my-account-password .fs-c-inputInformation__button {
	margin: 18px 0 0;   /* 統一値（2026-09-04） */
	padding: 0;
}
body.fs-body-my-account-password .fs-c-button--change {
	width: 100%;
	height: 56px;
	border: none;
	border-radius: 6px;
	box-shadow: none;
	background: #1A6B3C;
	color: #FFFFFF !important;
	font-size: 17px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	box-sizing: border-box;
	cursor: pointer;
}
body.fs-body-my-account-password .fs-c-button--change:hover { background: #0F4526; }
body.fs-body-my-account-password .fs-c-button--change::before { content: none; }
body.fs-body-my-account-password .fs-c-button--change::after { content: "›"; font-size: 18px; line-height: 1; }
body.fs-body-my-account-password .fs-c-button--change .fs-c-button__label { font-size: 17px; font-weight: 700; }

/* エラー表示 */
body.fs-body-my-account-password .fs-c-panel--error {
	background: #FBEAEA;
	border: 1px solid #F0C2C3;
	border-radius: 6px;
	padding: 12px 14px 12px 36px;
	font-size: 12px;
	font-weight: 700;
	color: #D81F24;
	line-height: 1.6;
	max-width: 1216px;
	margin: 12px auto 0;
}
body.fs-body-my-account-password .fs-c-panel--error * { color: #D81F24; font-size: 12px; }
body.fs-body-my-account-password .fs-c-panel--error,
body.fs-body-my-account-password .fs-c-panel--error ul,
body.fs-body-my-account-password .fs-c-panel--error li { text-align: left; }
body.fs-body-my-account-password .fs-c-panel--error .fs-c-panel__contentList__item { justify-content: flex-start; }

/* マイページトップボタン（他のマイページ系と同じ様式） */
body.fs-body-my-account-password .fs-c-buttonContainer--myPageTop {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 20px;
	padding: 0;
}
body.fs-body-my-account-password .fs-c-buttonContainer--myPageTop::before,
body.fs-body-my-account-password .fs-c-buttonContainer--myPageTop::after {
	content: "";
	flex: 1;
	height: 1px;
	background: #E3E5E7;
}
body.fs-body-my-account-password .fs-c-button--myPageTop {
	background: none;
	border: none;
	box-shadow: none;
	padding: 0;
	min-width: 0;
	width: auto;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: #3D4246 !important;
	text-decoration: none;
}
body.fs-body-my-account-password .fs-c-button--myPageTop::before { content: "‹"; font-size: 15px; color: #8A8F94; }
body.fs-body-my-account-password .fs-c-button--myPageTop::after { content: none; }
body.fs-body-my-account-password .fs-c-button--myPageTop .fs-c-button__label { font-size: 13px; }
/* ---------------------------------------------------
   お気に入り /my/wishlist（2026-09-03）
   body.fs-body-my-wishlist / #fs_MyWishList
   HTML変更なし・CSSのみ。構造は 02_source/構造メモ.md を参照。

   🔴 カードの中身は `form` に包まれている。
      `form { display: contents }` で箱を消さないと
      `margin-top: auto`（ボタンの下端固定）が効かない。
   ⚠️ ハートは押すと解除される。検証では押さない。
--------------------------------------------------- */

/* 下余白は 00_共通/css/追記_マイページ共通.css に移した（2026-09-03） */

/* ---- ご利用方法（フリーパーツ） ---- */
body.fs-body-my-wishlist .fs-p-announcement {
	background: #FAFBFB;
	border: 1px solid #ECEEF0;
	border-radius: 8px;
	margin: 12px 0 0;
	box-sizing: border-box;
}
body.fs-body-my-wishlist .fs-p-announcement__title {
	margin: 0 0 8px;
	padding: 0;
	border: none;
	background: none;
	font-weight: 700;
	color: #17191B;
	text-align: left;
}
body.fs-body-my-wishlist .fs-p-announcement__body { margin: 0; }
body.fs-body-my-wishlist .fs-p-announcement .fs-c-list {
	margin: 0;
	padding-left: 20px;
	list-style: disc;
	color: #3D4246;
}
body.fs-body-my-wishlist .fs-p-announcement .fs-c-list li { margin: 0; padding: 0; }
body.fs-body-my-wishlist .fs-p-announcement .fs-c-list li::before { content: none; }

/* ---- リスト＝グリッド ---- */
body.fs-body-my-wishlist .fs-c-wishList,
body.fs-body-my-wishlist .fs-c-productList { margin: 0; padding: 0; border: none; }
body.fs-body-my-wishlist .fs-c-productList__list {
	display: grid;
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
	border: none;
}
/* ---- 商品カード ---- */
body.fs-body-my-wishlist .fs-c-productListItem {
	display: flex;
	flex-direction: column;
	margin: 0;
	border: 1px solid #ECEEF0;
	border-radius: 8px;
	background: #FFFFFF;
	box-shadow: none;
	box-sizing: border-box;
	min-width: 0;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-wishlist .fs-c-productListItem:hover { border-color: #CDE3D6; }
}
/* 🔴 form の箱を消して、子を article の直接のフレックスアイテムにする */
body.fs-body-my-wishlist .fs-c-productListItem > form { display: contents; }

/* 商品画像 */
body.fs-body-my-wishlist .fs-c-productListItem__imageContainer { margin: 0; }
body.fs-body-my-wishlist .fs-c-productListItem__image {
	margin: 0;
	aspect-ratio: 1 / 1;
	border: 1px solid #ECEEF0;
	border-radius: 6px;
	overflow: hidden;
	background: #FFFFFF;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}
body.fs-body-my-wishlist .fs-c-productListItem__image a { display: block; width: 100%; height: 100%; }
body.fs-body-my-wishlist .fs-c-productListItem__image__image {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}
/* グリッドでは情報過多。非表示にする（拡大モーダル自体は残す） */
/* 🔴 2026-09-03 実機で確認: レイアウトの `商品画像・拡大パーツ` を外すと
      **「他の画像を見る」だけでなく商品画像そのものが出力されなくなる**
      （__imageContainer ごと消え、img要素が0件になった）。
      画像は必須なのでパーツは外せない。→ CSSで隠すのが唯一の手段。例外として確定。
      ⛔ 「レイアウトから外せないか」を再検討しないこと。 */
body.fs-body-my-wishlist .fs-c-productListItem__viewMoreImageButton { display: none; }
/* ⛔ 商品一言説明は CSS の display:none で消していたが、これはルール違反だった。
      表示・非表示はレイアウト（FSの機能）で行うのが正。
      2026-09-03 松木さんが「お気に入り一覧」から商品一言説明パーツを外したため、
      要素そのものが出力されなくなり、この指定は不要になったので削除した。 */

/* 商品名 */
body.fs-body-my-wishlist .fs-c-productListItem__productName { margin: 0; padding: 0; }
body.fs-body-my-wishlist .fs-c-productListItem__productName a { text-decoration: none; color: inherit; }
body.fs-body-my-wishlist .fs-c-productName__name {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	color: #17191B;
}
/* バリエーションをチップに（2つ並ぶ） */
body.fs-body-my-wishlist .fs-c-productName__variation {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	color: inherit;
}
body.fs-body-my-wishlist .fs-c-productName__variation__x,
body.fs-body-my-wishlist .fs-c-productName__variation__y {
	background: #FAFBFB;
	border: 1px solid #E3E5E7;
	border-radius: 4px;
	color: #3D4246;
	line-height: 1.5;
}
body.fs-body-my-wishlist .fs-c-productName__variation__x::before,
body.fs-body-my-wishlist .fs-c-productName__variation__y::before,
body.fs-body-my-wishlist .fs-c-productName__variation__x::after,
body.fs-body-my-wishlist .fs-c-productName__variation__y::after { content: none; }

/* レビュー（14件中1件にしか出ない。無い行で崩れないよう margin-top 側で間隔を持たせる） */
body.fs-body-my-wishlist .fs-c-aggregateRating {
	margin: 6px 0 0;
	padding: 0;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 6px;
}
body.fs-body-my-wishlist .fs-c-aggregateRating__rating { margin: 0; display: flex; align-items: center; gap: 5px; }
body.fs-body-my-wishlist .fs-c-reviewStars { color: #F0A020; letter-spacing: 1px; }
body.fs-body-my-wishlist .fs-c-rating__value { font-weight: 700; color: #3D4246; }
body.fs-body-my-wishlist .fs-c-aggregateRating__count { color: #8A8F94; }
/* 「レビューを見る」が出た場合はテキストリンクに（このページの出力には未確認） */
body.fs-body-my-wishlist .fs-c-button--viewReview {
	background: none;
	border: none;
	box-shadow: none;
	padding: 0;
	height: auto;
	min-width: 0;
	width: auto;
	font-size: 11px;
	color: #1A6B3C !important;
	text-decoration: underline;
}

/* 価格 */
body.fs-body-my-wishlist .fs-c-productListItem__prices { margin: 6px 0 0; padding: 0; }
body.fs-body-my-wishlist .fs-c-productPrice--selling { display: block; margin: 0; }
body.fs-body-my-wishlist .fs-c-productPrice__main {
	display: flex;
	flex-direction: row;
	align-items: baseline;
	gap: 3px;
	flex-wrap: wrap;
}
body.fs-body-my-wishlist .fs-c-productPrice__main__label { flex: 0 0 100%; color: #6D7276; }
body.fs-body-my-wishlist .fs-c-productPrice__main__price { font-weight: 700; color: #D81F24; }
body.fs-body-my-wishlist .fs-c-productPrice__addon { margin-left: 3px; }
body.fs-body-my-wishlist .fs-c-productPrice__addon__label { color: #6D7276; }
body.fs-body-my-wishlist .fs-c-productPrice__addon::before,
body.fs-body-my-wishlist .fs-c-productPrice__addon::after { content: none; }

/* ---- 操作ボタン（カード最下部） ---- */
body.fs-body-my-wishlist .fs-c-productListItem__control {
	margin-top: auto;   /* レビューの有無で高さが変わっても下端で揃う */
	padding: 0;
	display: flex;
	flex-direction: row;
	align-items: stretch;
}
/* 主ボタン（カートに入れる／詳細を見る＝排他） */
body.fs-body-my-wishlist .fs-c-button--addToCart--list,
body.fs-body-my-wishlist .fs-c-button--viewProductDetail {
	flex: 1 1 0;
	min-width: 0;
	height: 44px;
	margin: 0;
	padding: 0 8px;
	border-radius: 6px;
	box-shadow: none;
	background: #FFFFFF;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	text-decoration: none;
	box-sizing: border-box;
	cursor: pointer;
	/* SPの2列だと主ボタンの実効幅が約104pxしかない。折り返すと44pxを超えて
	   ハートと高さが揃わなくなるため、折り返しを禁止して字を詰める */
	white-space: nowrap;
}
body.fs-body-my-wishlist .fs-c-button--addToCart--list {
	border: 1px solid #1A6B3C;
	color: #1A6B3C !important;
}
body.fs-body-my-wishlist .fs-c-button--addToCart--list:hover { background: #F1F6F3; }
body.fs-body-my-wishlist .fs-c-button--viewProductDetail {
	border: 1px solid #E3E5E7;
	color: #3D4246 !important;
}
body.fs-body-my-wishlist .fs-c-button--viewProductDetail:hover { background: #F2F4F5; }
body.fs-body-my-wishlist .fs-c-button--addToCart--list::before,
body.fs-body-my-wishlist .fs-c-button--addToCart--list::after,
body.fs-body-my-wishlist .fs-c-button--viewProductDetail::before,
body.fs-body-my-wishlist .fs-c-button--viewProductDetail::after { content: none; }

/* ハート（お気に入り解除）＝44px正方形。ラベルは隠してSVGで描く */
body.fs-body-my-wishlist .fs-c-button--removeFromWishList--icon {
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 0;
	border: 1px solid #E3E5E7;
	border-radius: 6px;
	box-shadow: none;
	background-color: #FFFFFF;
	background-repeat: no-repeat;
	background-position: center;
	cursor: pointer;
	box-sizing: border-box;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M9 15.5S2.5 11.6 2.5 7.2A3.7 3.7 0 019 5.3a3.7 3.7 0 016.5 1.9c0 4.4-6.5 8.3-6.5 8.3z' fill='%23D81F24' stroke='%23D81F24' stroke-width='1.2'/%3E%3C/svg%3E");
}
body.fs-body-my-wishlist .fs-c-button--removeFromWishList--icon:hover {
	background-color: #FBEAEA;
	border-color: #F0C2C3;
}
/* ラベル「お気に入りを解除する」は隠す（title/aria として残る） */
body.fs-body-my-wishlist .fs-c-button--removeFromWishList--icon .fs-c-button__label { font-size: 0; }
body.fs-body-my-wishlist .fs-c-button--removeFromWishList--icon::before,
body.fs-body-my-wishlist .fs-c-button--removeFromWishList--icon::after { content: none; }

/* ---- PC ---- */
@media screen and (min-width: 641px) {
	body.fs-body-my-wishlist .fs-p-announcement { padding: 18px 24px; }
	body.fs-body-my-wishlist .fs-p-announcement__title { font-size: 15px; }
	body.fs-body-my-wishlist .fs-p-announcement .fs-c-list { font-size: 13px; line-height: 1.9; }
	body.fs-body-my-wishlist .fs-c-productList__list { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
	body.fs-body-my-wishlist .fs-c-productListItem { padding: 14px; }
	body.fs-body-my-wishlist .fs-c-productName__name { margin-top: 10px; font-size: 12px; line-height: 1.6; }
	body.fs-body-my-wishlist .fs-c-productName__variation { gap: 5px; margin-top: 6px; }
	body.fs-body-my-wishlist .fs-c-productName__variation__x,
	body.fs-body-my-wishlist .fs-c-productName__variation__y { font-size: 11px; padding: 2px 7px; }
	body.fs-body-my-wishlist .fs-c-reviewStars { font-size: 14px; }
	body.fs-body-my-wishlist .fs-c-rating__value { font-size: 12px; }
	body.fs-body-my-wishlist .fs-c-productListItem__prices { margin-top: 8px; }
	body.fs-body-my-wishlist .fs-c-productPrice__main__label { font-size: 11px; }
	body.fs-body-my-wishlist .fs-c-productPrice__main__price { font-size: 18px; }
	body.fs-body-my-wishlist .fs-c-productPrice__addon__label { font-size: 11px; }
	body.fs-body-my-wishlist .fs-c-productListItem__control { padding-top: 12px; gap: 8px; }
	body.fs-body-my-wishlist .fs-c-button--addToCart--list,
	body.fs-body-my-wishlist .fs-c-button--viewProductDetail { font-size: 13px; }
	body.fs-body-my-wishlist .fs-c-button--removeFromWishList--icon { background-size: 19px 19px; }
}

/* ---- SP ---- */
@media screen and (max-width: 640px) {
	body.fs-body-my-wishlist .fs-p-announcement { padding: 14px 16px; }
	body.fs-body-my-wishlist .fs-p-announcement__title { font-size: 14px; }
	body.fs-body-my-wishlist .fs-p-announcement .fs-c-list { font-size: 12px; line-height: 1.8; }
	body.fs-body-my-wishlist .fs-c-productList__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
	body.fs-body-my-wishlist .fs-c-productListItem { padding: 10px; }
	body.fs-body-my-wishlist .fs-c-productName__name { margin-top: 8px; font-size: 11px; line-height: 1.5; -webkit-line-clamp: 3; }
	body.fs-body-my-wishlist .fs-c-productName__variation { gap: 4px; margin-top: 6px; }
	body.fs-body-my-wishlist .fs-c-productName__variation__x,
	body.fs-body-my-wishlist .fs-c-productName__variation__y { font-size: 10px; padding: 1px 6px; }
	body.fs-body-my-wishlist .fs-c-reviewStars { font-size: 12px; }
	body.fs-body-my-wishlist .fs-c-rating__value { font-size: 11px; }
	body.fs-body-my-wishlist .fs-c-productPrice__main__label { font-size: 10px; }
	body.fs-body-my-wishlist .fs-c-productPrice__main__price { font-size: 15px; }
	body.fs-body-my-wishlist .fs-c-productPrice__addon__label { font-size: 10px; }
	body.fs-body-my-wishlist .fs-c-productListItem__control { padding-top: 8px; gap: 6px; }
	body.fs-body-my-wishlist .fs-c-button--addToCart--list,
	body.fs-body-my-wishlist .fs-c-button--viewProductDetail { font-size: 11px; padding: 0 4px; }
	body.fs-body-my-wishlist .fs-c-button--removeFromWishList--icon { background-size: 17px 17px; }
}

/* ---- 0件時 ---- */
body.fs-body-my-wishlist .fs-c-noResultMessage {
	border: 1px solid #ECEEF0;
	border-radius: 8px;
	background: transparent;
	padding: 32px 16px;
	text-align: center;
	margin: 14px 0 0;
}
body.fs-body-my-wishlist .fs-c-noResultMessage__title { font-size: 14px; font-weight: 700; color: #3D4246; margin: 0; }
body.fs-body-my-wishlist .fs-c-noResultMessage p { margin: 6px 0 0; font-size: 12px; color: #8A8F94; line-height: 1.7; }

/* ---- マイページトップボタン（他のマイページ系と同じ様式） ---- */
body.fs-body-my-wishlist .fs-c-buttonContainer--myPageTop {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 24px;
	padding: 0;
}
body.fs-body-my-wishlist .fs-c-buttonContainer--myPageTop::before,
body.fs-body-my-wishlist .fs-c-buttonContainer--myPageTop::after {
	content: "";
	flex: 1;
	height: 1px;
	background: #E3E5E7;
}
body.fs-body-my-wishlist .fs-c-button--myPageTop {
	background: none;
	border: none;
	box-shadow: none;
	padding: 0;
	min-width: 0;
	width: auto;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: #3D4246 !important;
	text-decoration: none;
}
body.fs-body-my-wishlist .fs-c-button--myPageTop::before { content: "‹"; font-size: 15px; color: #8A8F94; }
body.fs-body-my-wishlist .fs-c-button--myPageTop::after { content: none; }
body.fs-body-my-wishlist .fs-c-button--myPageTop .fs-c-button__label { font-size: 13px; }
/* ---------------------------------------------------
   お届け先登録 /my/addressbook/new       （fs-body-my-addressbook-new）
   お届け先変更 /my/addressbook/{id}      （fs-body-my-addressbook-edit）
   2026-09-03・HTML変更なし・CSSのみ
   構造は 02_source/構造メモ.md（実機から骨格のみ。個人情報は持ち出していない）

   ⚠️ bodyクラスは2つ。完全一致なので :is() で両方並べる。
   ⚠️ 入力部品の構成は会員登録内容変更（fs-body-my-account-settings-edit）と同じ。
      指定も同型にしてある。**片方を直したらもう片方も直す。**
      将来まとめるなら「マイページ入力フォーム共通」として1本に寄せる。
--------------------------------------------------- */

/* ===== 器 ===== */
/* 下余白は 00_共通/css/追記_マイページ共通.css に移した（2026-09-03） */

body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputInformation {
	border: none;
	padding: 0;
	background: transparent;
}
@media screen and (min-width: 641px) {
	/* PCは本文800px中央（コンテンツ幅いっぱいに広げない） */
	body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputInformation {
		max-width: 800px;
		margin: 20px auto 0;
	}
}
/* 🔴 FS標準が `__field` に max-width: 600px、`__message` に flex の中央寄せを当てている
      （2026-09-03 実測）。どちらも明示的に外さないと、カードが器（800px）より狭く
      左に寄り、注意文だけが中央寄せのまま残る。 */
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputInformation__message {
	max-width: none;
	display: block;
	margin: 0 0 14px;
	padding: 0;
	border: none;
	background: transparent;
	color: #3D4246;
	text-align: left;
}
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputInformation__message p { margin: 0; }
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputInformation__field {
	max-width: none;
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
}

/* ===== table を縦積みの入力カードに ===== */
/* ⚠️ このページは fieldset が無い。カード地は table 自身に付ける */
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputTable {
	display: block;
	width: 100%;
	margin: 0;
	background: #FAFBFB;
	border: 1px solid #ECEEF0;
	border-radius: 8px;
	border-collapse: separate;
	border-spacing: 0;
	box-sizing: border-box;
}
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputTable > tbody {
	display: flex;
	flex-direction: column;
	width: 100%;
	margin: 0;
	border: none;
}
/* 🔴 FS標準が `tr` に margin-top: 24px を当てている（2026-09-03 実測）。
      明示的に 0 に戻さないと、こちらで作った行間に24pxが上乗せされる。 */
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputTable > tbody > tr {
	display: block;
	border: none;
	margin: 0;
}
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputTable th,
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputTable td {
	display: block;
	border: none;
	background: transparent;
	padding: 0;
	text-align: left;
	font-weight: 400;
	vertical-align: top;
}
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputTable__label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	color: #3D4246;
}

/* 🔴 必須マークは「(必須)」。括弧を隠して「必須」だけ出す（HTML変更なし）
   ⚠️ FS標準が箱を0サイズに潰すため width/height/overflow/text-indent も戻す */
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-requiredMark {
	display: inline-flex;
	align-items: center;
	width: auto;
	height: auto;
	overflow: visible;
	text-indent: 0;
	font-size: 0;
	line-height: 1;
	color: transparent;
	background: none;
	border: none;
	padding: 0;
	margin: 0;
	flex: 0 0 auto;
}
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-requiredMark::before { content: none; }
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-requiredMark::after {
	content: "必須";
	font-size: 10px;
	font-weight: 700;
	color: #D81F24;
	line-height: 1.4;
}

/* ===== 入力欄 ===== */
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputField,
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputField__field { margin: 0; }
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputTable input[type="text"],
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputTable input[type="tel"] {
	height: 44px;
	width: 100%;
	border: 1px solid #E3E5E7;
	border-radius: 6px;
	background: #FFFFFF;
	padding: 0 12px;
	font-size: 16px;   /* SPで16px未満だと iOS Safari がフォーカス時にズームする */
	color: #17191B;
	box-sizing: border-box;
}
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputTable input:focus {
	border-color: #1A6B3C;
	outline: none;
}
/* 姓/名・セイ/メイの2分割 */
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputTextGroup {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputTextGroup__item { margin: 0; min-width: 0; }
/* 郵便番号 */
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputField__field--zipCode {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 10px;
}
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-input--zipCode { flex: 0 0 auto; }
/* 都道府県 */
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-dropdown { margin: 0; }
/* 🔴 select は appearance:none を書くと Chromium で文字が上へずれる。
      align-items: center が必須（Futureshopシステム領域_基本.md §4） */
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-dropdown__menu {
	-webkit-appearance: none;
	appearance: none;
	align-items: center;
	height: 44px;
	margin: 0;
	border: 1px solid #E3E5E7;
	border-radius: 6px;
	background-color: #FFFFFF;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236D7276' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 13px center;
	padding: 0 34px 0 12px;
	font-size: 16px;
	color: #17191B;
	box-sizing: border-box;
	cursor: pointer;
}
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-dropdown__menu:focus { border-color: #1A6B3C; outline: none; }
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-dropdown::after { content: none; }   /* 二重矢印の防止 */

/* 郵便番号サジェスト（Handlebars出力・HTML変更不可） */
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-suggestedAddress,
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-suggestedAddressList {
	background: #FFFFFF;
	border: 1px solid #E3E5E7;
	border-radius: 6px;
	box-shadow: 0 8px 24px rgba(23, 25, 27, 0.12);
	margin: 4px 0 0;
	padding: 4px 0;
	list-style: none;
}
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-suggestedAddress li,
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-suggestedAddressList li { padding: 8px 12px; font-size: 13px; cursor: pointer; }
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-suggestedAddress li:hover,
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-suggestedAddressList li:hover { background: #F1F6F3; }

/* ===== ボタンペア（登録／キャンセル） ===== */
/* ⚠️ FS標準の --pair は行方向を勝手に決めている場合がある（お届け先リストの
      --deleteChange は row-reverse だった）。flex-direction と order を必ず明示する */
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputInformation__button {
	margin: 18px 0 0;
	padding: 0;
	display: flex;
	justify-content: center;
}
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-button--register,
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-button--confirmChange,
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-button--cancel {
	margin: 0;
	border-radius: 6px;
	box-shadow: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	text-decoration: none;
	box-sizing: border-box;
	cursor: pointer;
	min-width: 0;
	max-width: none;
}
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-button--register::before,
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-button--register::after,
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-button--confirmChange::before,
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-button--confirmChange::after,
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-button--cancel::before,
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-button--cancel::after { content: none; }
/* 登録＝塗り緑（このページの主アクション） */
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-button--register,
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-button--confirmChange {
	order: 2;
	background: #1A6B3C;
	border: none;
	color: #FFFFFF !important;   /* テーマが a/button に色を当てているため必要 */
}
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-button--register:hover,
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-button--confirmChange:hover { background: #0F4526; }
/* キャンセル＝白枠グレー */
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-button--cancel {
	order: 1;
	background: #FFFFFF;
	border: 1px solid #E3E5E7;
	color: #3D4246 !important;
}
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-button--cancel:hover { background: #F2F4F5; }

@media screen and (min-width: 641px) {
	body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputInformation__message { font-size: 14px; }
	body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputTable { padding: 28px 32px; }
	body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputTable > tbody { gap: 18px; }
	/* 1行 = ラベル180px ＋ 入力 */
	/* 🔴 FS標準が tr に flex-direction: column を当てている。row を明示しないと
	      `flex: 0 0 180px` が**高さ180px**として効く（会員情報で実測） */
	body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputTable > tbody > tr {
		display: flex;
		flex-direction: row;
		align-items: flex-start;
		gap: 24px;
	}
	/* ⚠️ セレクタに th を足して詳細度を上げている。`__headerCell` だけだと
	      上の `.fs-c-inputTable th { padding: 0 }`（詳細度 0,2,2）に負ける */
	body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputTable th.fs-c-inputTable__headerCell {
		flex: 0 0 180px;
		padding-top: 12px;   /* 入力欄の垂直中央にラベルを合わせる */
		font-size: 13px;
	}
	body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputTable__label { font-size: 13px; }
	body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputTable__dataCell { flex: 1; min-width: 0; }
	/* PCは入力欄を広げすぎない */
	body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputField__field:not(.fs-c-inputField__field--zipCode) { max-width: 400px; }
	body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputTextGroup { max-width: 400px; }
	body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-input--zipCode { width: 160px; }
	body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-dropdown__menu { width: 240px; font-size: 14px; }
	body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputTable input[type="text"],
	body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputTable input[type="tel"] { font-size: 14px; }
	/* ボタンは横並び（キャンセル左・登録右） */
	body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputInformation__button {
		flex-direction: row;
		gap: 12px;
	}
	body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-button--register,
	body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-button--confirmChange { width: 280px; height: 56px; font-size: 16px; }
	body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-button--cancel { width: 160px; height: 56px; font-size: 14px; }
}
@media screen and (max-width: 640px) {
	body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputInformation__message { font-size: 13px; }
	body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputTable { padding: 16px; }
	body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputTable > tbody { gap: 14px; }
	/* ラベルは入力欄の上 */
	body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputTable__headerCell { margin-bottom: 4px; font-size: 12px; }
	body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputTable__label { font-size: 12px; }
	body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-input--zipCode { width: 140px; }
	body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-dropdown__menu { width: 100%; }
	/* SPはボタン縦積み。登録を上に出す（order を PC と入れ替える） */
	body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputInformation__button {
		flex-direction: column;
		gap: 10px;
	}
	body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-button--register,
	body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-button--confirmChange { order: 1; width: 100%; height: 56px; font-size: 16px; }
	body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-button--cancel { order: 2; width: 100%; height: 48px; font-size: 14px; }
}

/* ===== エラー表示 ===== */
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-panel--error {
	background: #FBEAEA;
	border: 1px solid #F0C2C3;
	border-radius: 6px;
	padding: 12px 14px 12px 36px;
	font-size: 12px;
	font-weight: 700;
	color: #D81F24;
	line-height: 1.6;
	max-width: 1216px;
	margin: 12px auto 0;
	text-align: left;
}
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-panel--error * { color: #D81F24; font-size: 12px; text-align: left; }
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-panel--error .fs-c-panel__contentList__item { justify-content: flex-start; }
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputField__errorMessage {
	margin: 4px 0 0;
	font-size: 12px;
	color: #D81F24;
}
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputTable input.is-error,
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-inputTable .is-error input { border-color: #D81F24; }

/* ===== マイページトップボタン（他のマイページ系と同じ様式） ===== */
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-buttonContainer--myPageTop {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 20px;
	padding: 0;
}
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-buttonContainer--myPageTop::before,
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-buttonContainer--myPageTop::after {
	content: "";
	flex: 1;
	height: 1px;
	background: #E3E5E7;
}
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-button--myPageTop {
	background: none;
	border: none;
	box-shadow: none;
	padding: 0;
	min-width: 0;
	width: auto;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: #3D4246 !important;
	text-decoration: none;
}
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-button--myPageTop::before { content: "‹"; font-size: 15px; color: #8A8F94; }
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-button--myPageTop::after { content: none; }
body:is(.fs-body-my-addressbook-new, .fs-body-my-addressbook-edit) .fs-c-button--myPageTop .fs-c-button__label { font-size: 13px; }
/* ---------------------------------------------------
   退会手続き /my/account/delete          （fs-body-my-account-delete）
   2026-09-03・HTML変更なし・CSSのみ
   構造は 02_source/構造メモ.md（実機から骨格のみ。個人情報は持ち出していない）

   ⚠️ 表示型（入力欄なし）。会員情報詳細（fs-body-my-account-settings）と同型。
   🔴 「退会する」は不可逆な操作なので赤。FSは --primary で出すが緑は当てない。
--------------------------------------------------- */

/* 下余白は 00_共通/css/追記_マイページ共通.css に移した（2026-09-03） */

body.fs-body-my-account-delete .fs-c-inputInformation {
	border: none;
	padding: 0;
	background: transparent;
}
@media screen and (min-width: 641px) {
	body.fs-body-my-account-delete .fs-c-inputInformation {
		max-width: 800px;
		margin: 20px auto 0;
	}
}

/* ===== 🔴 注意文は警告パネルにする（不可逆な操作なので目に留める） ===== */
/* 🔴 FS標準が `__field` に max-width: 600px、`__message` に flex の中央寄せを当てている
      （2026-09-03 実測）。どちらも明示的に外さないと、カードが器（800px）より狭く
      左に寄り、注意文だけが中央寄せのまま残る。 */
body.fs-body-my-account-delete .fs-c-inputInformation__message {
	max-width: none;
	display: block;
	margin: 0 0 18px;
	background: #FBEAEA;
	border: 1px solid #F0C2C3;
	border-radius: 6px;
	color: #D81F24;
	text-align: left;
	line-height: 1.7;
	font-weight: 700;
}
body.fs-body-my-account-delete .fs-c-inputInformation__message p { margin: 0; color: #D81F24; }

body.fs-body-my-account-delete .fs-c-inputInformation__field {
	max-width: none;
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
}
body.fs-body-my-account-delete .fs-c-memberInfoField {
	margin: 0;
	padding: 0;
	border: none;
	border-width: 0;   /* fieldset の既定枠 */
}

/* ===== 表示テーブル＝定義リストのカード ===== */
body.fs-body-my-account-delete .fs-c-inputTable,
body.fs-body-my-account-delete .fs-c-inputTable > tbody {
	display: block;
	width: 100%;
	margin: 0;
	border: none;
	border-collapse: separate;
	border-spacing: 0;
}
body.fs-body-my-account-delete .fs-c-inputTable {
	background: #FAFBFB;
	border: 1px solid #ECEEF0;
	border-radius: 8px;
	box-sizing: border-box;
}
body.fs-body-my-account-delete .fs-c-inputTable th,
body.fs-body-my-account-delete .fs-c-inputTable td {
	display: block;
	border: none;
	background: transparent;
	padding: 0;
	text-align: left;
	font-weight: 400;
	vertical-align: top;
}
/* 🔴 FS標準が `tr` に margin-top: 24px を当てている（2026-09-03 実測）。
      明示的に 0 に戻さないと、こちらで作った行間に24pxが上乗せされる。 */
body.fs-body-my-account-delete .fs-c-inputTable > tbody > tr {
	display: block;
	border-bottom: 1px solid #ECEEF0;
	margin: 0;
}
body.fs-body-my-account-delete .fs-c-inputTable > tbody > tr:last-child { border-bottom: none; }
/* ⚠️ 住所３が空の行がある。min-height で行が潰れないようにする */
body.fs-body-my-account-delete .fs-c-confirmation__data {
	display: block;
	color: #17191B;
	line-height: 1.6;
}

@media screen and (min-width: 641px) {
	body.fs-body-my-account-delete .fs-c-inputInformation__message { font-size: 13px; padding: 14px 16px; }
	body.fs-body-my-account-delete .fs-c-inputTable { padding: 4px 28px; }
	/* 1行 = ラベル200px ＋ 値 */
	/* 🔴 FS標準が tr に flex-direction: column を当てている。row を明示しないと
	      `flex: 0 0 200px` が**高さ200px**として効く（会員情報で実測） */
	body.fs-body-my-account-delete .fs-c-inputTable > tbody > tr {
		display: flex;
		flex-direction: row;
		align-items: baseline;
		gap: 24px;
		padding: 14px 0;
	}
	body.fs-body-my-account-delete .fs-c-inputTable__headerCell { flex: 0 0 200px; font-size: 13px; color: #6D7276; }
	body.fs-body-my-account-delete .fs-c-inputTable__dataCell { flex: 1; min-width: 0; }
	body.fs-body-my-account-delete .fs-c-confirmation__data { font-size: 15px; min-height: 22px; }
}
@media screen and (max-width: 640px) {
	body.fs-body-my-account-delete .fs-c-inputInformation__message { font-size: 12px; padding: 12px 14px; }
	body.fs-body-my-account-delete .fs-c-inputTable { padding: 4px 16px; }
	body.fs-body-my-account-delete .fs-c-inputTable > tbody > tr { padding: 12px 0; }
	body.fs-body-my-account-delete .fs-c-inputTable__headerCell { font-size: 11px; color: #8A8F94; }
	body.fs-body-my-account-delete .fs-c-inputTable__dataCell { margin-top: 3px; }
	body.fs-body-my-account-delete .fs-c-confirmation__data { font-size: 14px; min-height: 20px; }
}

/* ===== ボタンペア（退会する／キャンセル） ===== */
/* ⚠️ FS標準の --pair は行方向を勝手に決めている場合がある（お届け先リストの
      --deleteChange は row-reverse だった）。flex-direction と order を必ず明示する */
body.fs-body-my-account-delete .fs-c-inputInformation__button {
	margin: 18px 0 0;
	padding: 0;
	display: flex;
	justify-content: center;
}
body.fs-body-my-account-delete .fs-c-button--confirmLeave,
body.fs-body-my-account-delete .fs-c-button--cancel {
	margin: 0;
	border-radius: 6px;
	box-shadow: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	text-decoration: none;
	box-sizing: border-box;
	cursor: pointer;
	min-width: 0;
	max-width: none;
}
body.fs-body-my-account-delete .fs-c-button--confirmLeave::before,
body.fs-body-my-account-delete .fs-c-button--confirmLeave::after,
body.fs-body-my-account-delete .fs-c-button--cancel::before,
body.fs-body-my-account-delete .fs-c-button--cancel::after { content: none; }
/* 🔴 退会する＝赤。FSは --primary（緑）で出すが、不可逆な操作なので赤にする */
body.fs-body-my-account-delete .fs-c-button--confirmLeave {
	order: 2;
	background: #D81F24;
	border: none;
	color: #FFFFFF !important;
}
body.fs-body-my-account-delete .fs-c-button--confirmLeave:hover { background: #B01A1E; }
/* キャンセル＝白枠グレー（こちらを選びやすくしておく） */
body.fs-body-my-account-delete .fs-c-button--cancel {
	order: 1;
	background: #FFFFFF;
	border: 1px solid #E3E5E7;
	color: #3D4246 !important;
}
body.fs-body-my-account-delete .fs-c-button--cancel:hover { background: #F2F4F5; }
/* input[type=hidden] がボタンの間に挟まっている（フレックスアイテムにならないよう） */
body.fs-body-my-account-delete .fs-c-inputInformation__button > input[type="hidden"] { display: none; }

@media screen and (min-width: 641px) {
	body.fs-body-my-account-delete .fs-c-inputInformation__button { flex-direction: row; gap: 12px; }
	body.fs-body-my-account-delete .fs-c-button--confirmLeave { width: 240px; height: 52px; font-size: 15px; }
	body.fs-body-my-account-delete .fs-c-button--cancel { width: 200px; height: 52px; font-size: 15px; }
}
@media screen and (max-width: 640px) {
	/* SPは縦積み。キャンセルを上に出す（誤タップで退会させない） */
	body.fs-body-my-account-delete .fs-c-inputInformation__button { flex-direction: column; gap: 10px; }
	body.fs-body-my-account-delete .fs-c-button--cancel { order: 1; width: 100%; height: 52px; font-size: 15px; }
	body.fs-body-my-account-delete .fs-c-button--confirmLeave { order: 2; width: 100%; height: 52px; font-size: 15px; }
}

/* ===== エラー表示 ===== */
body.fs-body-my-account-delete .fs-c-panel--error {
	background: #FBEAEA;
	border: 1px solid #F0C2C3;
	border-radius: 6px;
	padding: 12px 14px 12px 36px;
	font-size: 12px;
	font-weight: 700;
	color: #D81F24;
	line-height: 1.6;
	max-width: 1216px;
	margin: 12px auto 0;
	text-align: left;
}
body.fs-body-my-account-delete .fs-c-panel--error * { color: #D81F24; font-size: 12px; text-align: left; }
body.fs-body-my-account-delete .fs-c-panel--error .fs-c-panel__contentList__item { justify-content: flex-start; }

/* ===== マイページトップボタン（他のマイページ系と同じ様式） ===== */
body.fs-body-my-account-delete .fs-c-buttonContainer--myPageTop {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 20px;
	padding: 0;
}
body.fs-body-my-account-delete .fs-c-buttonContainer--myPageTop::before,
body.fs-body-my-account-delete .fs-c-buttonContainer--myPageTop::after {
	content: "";
	flex: 1;
	height: 1px;
	background: #E3E5E7;
}
body.fs-body-my-account-delete .fs-c-button--myPageTop {
	background: none;
	border: none;
	box-shadow: none;
	padding: 0;
	min-width: 0;
	width: auto;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: #3D4246 !important;
	text-decoration: none;
}
body.fs-body-my-account-delete .fs-c-button--myPageTop::before { content: "‹"; font-size: 15px; color: #8A8F94; }
body.fs-body-my-account-delete .fs-c-button--myPageTop::after { content: none; }
body.fs-body-my-account-delete .fs-c-button--myPageTop .fs-c-button__label { font-size: 13px; }
/* ---------------------------------------------------
   クーポン情報 /my/coupons               （fs-body-my-coupons）
   2026-09-03・HTML変更なし・CSSのみ
   構造は 02_source/構造メモ.md（実機から骨格のみ取得）

   🔴 2026-09-03 時点で発行中のクーポンが 0件のため、
      クーポンカードのクラス名を実機で確認できていない。
      **推測でセレクタを書いていない**（当たらないまま「対応済み」に見えるため）。
      クーポンを1件発行したら骨格を取り直してここに追記する。
      現状は 0件表示・見出し・マイページトップボタンのみ整えてある。
--------------------------------------------------- */

/* 下余白は 00_共通/css/追記_マイページ共通.css に移した（2026-09-03） */

@media screen and (min-width: 641px) {
	body.fs-body-my-coupons .fs-c-couponList {
		max-width: 800px;
		margin: 20px auto 0;
	}
}
@media screen and (max-width: 640px) {
	body.fs-body-my-coupons .fs-c-couponList { margin: 14px 0 0; }
}

/* ===== 0件表示（お気に入りの0件と同じ様式） ===== */
body.fs-body-my-coupons .fs-c-couponList__message.fs-c-noResultMessage {
	border: 1px solid #ECEEF0;
	border-radius: 8px;
	background: transparent;
	padding: 32px 16px;
	margin: 0;
	text-align: center;
}
body.fs-body-my-coupons .fs-c-noResultMessage__title {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	color: #3D4246;
	line-height: 1.7;
}
body.fs-body-my-coupons .fs-c-noResultMessage p {
	margin: 6px 0 0;
	font-size: 12px;
	color: #8A8F94;
	line-height: 1.7;
}

/* ===== エラー表示 ===== */
/* ⚠️ この画面だけ エラー表示 がメインエリア直下にある（レイアウト側の不統一） */
body.fs-body-my-coupons .fs-c-panel--error {
	background: #FBEAEA;
	border: 1px solid #F0C2C3;
	border-radius: 6px;
	padding: 12px 14px 12px 36px;
	font-size: 12px;
	font-weight: 700;
	color: #D81F24;
	line-height: 1.6;
	max-width: 1216px;
	margin: 12px auto 0;
	text-align: left;
}
body.fs-body-my-coupons .fs-c-panel--error * { color: #D81F24; font-size: 12px; text-align: left; }
body.fs-body-my-coupons .fs-c-panel--error .fs-c-panel__contentList__item { justify-content: flex-start; }

/* ===== マイページトップボタン（他のマイページ系と同じ様式） ===== */
body.fs-body-my-coupons .fs-c-buttonContainer--myPageTop {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 24px;
	padding: 0;
}
body.fs-body-my-coupons .fs-c-buttonContainer--myPageTop::before,
body.fs-body-my-coupons .fs-c-buttonContainer--myPageTop::after {
	content: "";
	flex: 1;
	height: 1px;
	background: #E3E5E7;
}
body.fs-body-my-coupons .fs-c-button--myPageTop {
	background: none;
	border: none;
	box-shadow: none;
	padding: 0;
	min-width: 0;
	width: auto;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: #3D4246 !important;
	text-decoration: none;
}
body.fs-body-my-coupons .fs-c-button--myPageTop::before { content: "‹"; font-size: 15px; color: #8A8F94; }
body.fs-body-my-coupons .fs-c-button--myPageTop::after { content: none; }
body.fs-body-my-coupons .fs-c-button--myPageTop .fs-c-button__label { font-size: 13px; }
/* ---------------------------------------------------
   ログイン連携 /my/linked-accounts        （fs-body-my-linkedAccounts）
   2026-09-04・HTML変更なし・CSSのみ
   構造は 02_source/構造メモ.md（実機から骨格のみ取得）

   ⚠️ 器（`.wrap` / `.fs-l-pageMain maincenter`）は**レイアウトパーツ設定で
      他のマイページ系14画面に揃えた**ため、SPの左右余白・下余白は
      00_共通/css/追記_マイページ共通.css が担当する。ここでは書かない。
      （2026-09-04 松木さん。パーツ設定でHTML要素・class を付けられる＝§1.4）

   🔴 検証時に「停止する」を押さない。その先の「ログイン連携を停止する」で
      Amazon連携が実際に解除される。見た目の確認は fixture で行う。
--------------------------------------------------- */

/* ===== 器 ===== */
@media screen and (min-width: 641px) {
	/* PCは本文640px中央（他のマイページ系フォームと同じ） */
	body.fs-body-my-linkedAccounts .fs-c-inputInformation {
		max-width: 640px;
		margin: 20px auto 0;
	}
}
body.fs-body-my-linkedAccounts .fs-c-inputInformation {
	border: none;
	padding: 0;
	background: transparent;
}
/* 🔴 FS標準が `__field` に max-width: 600px、`__message` に flex の中央寄せを当てている
      （2026-09-03 実測。§6.5）。外さないとカードが器より狭く左に寄る */
body.fs-body-my-linkedAccounts .fs-c-inputInformation__message {
	max-width: none;
	display: block;
	margin: 0 0 16px;
	padding: 0;
	border: none;
	background: transparent;
	color: #3D4246;
	line-height: 1.8;
}
body.fs-body-my-linkedAccounts .fs-c-inputInformation__message p { margin: 0; }
body.fs-body-my-linkedAccounts .fs-c-inputInformation__field {
	max-width: none;
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
}

/* ===== サービス一覧 ===== */
/* 🔴 FS標準が `.fs-c-linkServicesList` / `.fs-c-linkService` に display:grid を当てている
      （2026-09-04 実測: grid-template-columns 106px 106px 290px / gap 16px）。
      flex を明示しないと flex:1 も flex-basis も無視される。§6.5と同じ罠 */
body.fs-body-my-linkedAccounts .fs-c-linkServicesList {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 0;
	border: none;
}
body.fs-body-my-linkedAccounts .fs-c-linkService {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 16px;
	margin: 0;
	background: #FAFBFB;          /* FS標準は白 */
	border: 1px solid #ECEEF0;
	border-radius: 8px;
	box-sizing: border-box;
}
body.fs-body-my-linkedAccounts .fs-c-linkService__service { flex: 0 0 auto; margin: 0; padding: 0; }
body.fs-body-my-linkedAccounts .fs-c-linkService__service__label {
	font-weight: 700;
	color: #17191B;
}
body.fs-body-my-linkedAccounts .fs-c-linkService__status { flex: 1; min-width: 0; margin: 0; padding: 0; }

/* ===== ステータス＝ピル型バッジ ===== */
/* FS標準は文字色だけ（実測 rgb(201,134,150)）。色だけに頼らずバッジ化する */
body.fs-body-my-linkedAccounts .fs-c-linkService__status__label {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 3px 10px;
	border-radius: 999px;
	background: #F2F4F5;
	border: 1px solid #E3E5E7;
	color: #6D7276;
	font-weight: 700;
	line-height: 1.6;
	white-space: nowrap;
}
body.fs-body-my-linkedAccounts .fs-c-linkService__status__label::before {
	content: "";
	flex: 0 0 auto;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #8A8F94;
}
/* 連携中 */
body.fs-body-my-linkedAccounts .is-linked .fs-c-linkService__status__label {
	background: #F1F6F3;
	border-color: #CDE3D6;
	color: #1A6B3C;
}
body.fs-body-my-linkedAccounts .is-linked .fs-c-linkService__status__label::before { background: #1A6B3C; }

/* ===== 「停止する」＝破壊的操作なので通常時は目立たせない ===== */
/* FS標準は 290×36px・地 #EBEBEB のベタボタン（2026-09-04 実測） */
/* 🔴 FS標準が `.fs-c-linkService__button > .fs-c-buttonContainer [class*="fs-c-button"]`
      に **height: 100%** を当てている（詳細度 0,3,0。2026-09-04 実測）。
      ボタン自身に height を書いても負けるので、**高さは親の器に持たせる**。
      （`body.fs-body-… .fs-c-button--revokeLinkedService` は 0,2,1 で負ける） */
/* ⚠️ FS標準が `__button` を display:flex にしている。そのままだと中身が空の
      `#AmazonPayButton`（未連携時）で `width:100%` が縮んでしまう（実測172px）。
      ただの器なので block に戻す */
body.fs-body-my-linkedAccounts .fs-c-linkService__button { display: block; margin: 0; padding: 0; }
body.fs-body-my-linkedAccounts .fs-c-linkService__button .fs-c-buttonContainer {
	width: 100%;    /* SPで #AmazonPayButton が親幅いっぱいにならないため必要 */
	height: 100%;
	margin: 0;
	padding: 0;
}
body.fs-body-my-linkedAccounts .fs-c-button--revokeLinkedService {
	width: 100%;
	height: 100%;
	margin: 0;
	border: 1px solid #E3E5E7;
	border-radius: 6px;
	background: #FFFFFF;
	box-shadow: none;
	color: #3D4246 !important;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	cursor: pointer;
}
body.fs-body-my-linkedAccounts .fs-c-button--revokeLinkedService:hover {
	background: #FBEAEA;
	border-color: #F0C2C3;
	color: #D81F24 !important;
}
body.fs-body-my-linkedAccounts .fs-c-button--revokeLinkedService::before,
body.fs-body-my-linkedAccounts .fs-c-button--revokeLinkedService::after { content: none; }

/* ===== Amazon公式ボタン（未連携時） ===== */
/* ⚠️ #AmazonPayButton は Amazon公式ウィジェットが描画する空div。中身は触らない。
   🔴 2026-09-04 実機で確認: この要素自身が
      `class="fs-c-anotherLogin__button fs-c-anotherLogin__button--amazon fs-c-buttonContainer"`
      を持つ。つまり **`.fs-c-buttonContainer` と #AmazonPayButton は同一要素**で、
      連携中（button が入る）のときのような入れ子にはならない。両方に同じ指定を当てている。 */
body.fs-body-my-linkedAccounts #AmazonPayButton { margin: 0; }

/* ===== 補足文（システム出力に無いので content で足す） ===== */
/* 未連携のときだけ出す。PCはバッジの下、SPはボタンの下（デザイン指示に合わせる） */
body.fs-body-my-linkedAccounts .fs-c-linkService:not(.is-linked) .fs-c-linkService__status::after {
	content: "Amazonアカウントでログインできるようになります。";
	display: block;
	margin-top: 6px;
	color: #8A8F94;
	line-height: 1.7;
}

@media screen and (min-width: 641px) {
	body.fs-body-my-linkedAccounts .fs-c-inputInformation__message { font-size: 14px; text-align: center; }
	body.fs-body-my-linkedAccounts .fs-c-linkService { padding: 20px 24px; }
	body.fs-body-my-linkedAccounts .fs-c-linkService__service__label { font-size: 16px; }
	body.fs-body-my-linkedAccounts .fs-c-linkService__status__label { font-size: 12px; }
	body.fs-body-my-linkedAccounts .fs-c-linkService__status::after { font-size: 12px; }
	body.fs-body-my-linkedAccounts .fs-c-linkService__button { flex: 0 0 180px; height: 44px; }
	body.fs-body-my-linkedAccounts .fs-c-button--revokeLinkedService { font-size: 14px; }
	body.fs-body-my-linkedAccounts .fs-c-linkService:not(.is-linked) .fs-c-linkService__button { flex: 0 0 220px; }
	body.fs-body-my-linkedAccounts #AmazonPayButton { width: 100%; height: 100%; }
}
@media screen and (max-width: 640px) {
	body.fs-body-my-linkedAccounts .fs-c-inputInformation__message { font-size: 13px; }
	/* SPは サービス名＋バッジ を1行、ボタンを全幅で折り返す */
	body.fs-body-my-linkedAccounts .fs-c-linkService { padding: 16px; flex-wrap: wrap; gap: 12px; }
	body.fs-body-my-linkedAccounts .fs-c-linkService__service { flex: 1 1 auto; }
	body.fs-body-my-linkedAccounts .fs-c-linkService__service__label { font-size: 15px; }
	body.fs-body-my-linkedAccounts .fs-c-linkService__status { flex: 0 0 auto; }
	body.fs-body-my-linkedAccounts .fs-c-linkService__status__label { font-size: 11px; }
	body.fs-body-my-linkedAccounts .fs-c-linkService__button { flex: 0 0 100%; height: 48px; }
	body.fs-body-my-linkedAccounts .fs-c-button--revokeLinkedService { font-size: 14px; }
	body.fs-body-my-linkedAccounts #AmazonPayButton { width: 100%; height: 100%; }
	/* SPは補足文をボタンの下に置く（1行目が窮屈になるため） */
	body.fs-body-my-linkedAccounts .fs-c-linkService:not(.is-linked) .fs-c-linkService__status::after { content: none; }
	body.fs-body-my-linkedAccounts .fs-c-linkService:not(.is-linked) .fs-c-linkService__button::after {
		content: "Amazonアカウントでログインできるようになります。";
		display: block;
		margin-top: 8px;
		font-size: 11px;
		color: #8A8F94;
		line-height: 1.7;
	}
}

/* ===== 停止モーダル ===== */
/* 🔴 2026-09-04 実機ソースで確定（松木さん提供）:
      雛形のボタンは `{{button.classes}}` だが、値は `_FS.val.linkedAccountTemplateInfo` に入っており
        revokeConfirmButton.classes = "fs-c-button--revokeLinkedAccountConfirm fs-c-button--primary"
        cancelButton.classes        = "fs-c-button--cancel fs-c-button--standard"
      ⚠️ **DOM順は「停止する」が先、「キャンセル」が後。**（雛形の記述順）
         見た目は FS標準の `--pair` が反転して キャンセル左・停止する右 になる。
      → 位置（first-child / last-child）で当てると**色が逆になる**ので使わない。
         クラス名で当て、並びは `order` で明示的に決める。 */
body.fs-body-my-linkedAccounts .fs-c-modal--linkedAccounts-revoke { background: rgba(23, 25, 27, 0.5); }
body.fs-body-my-linkedAccounts .fs-c-modal--linkedAccounts-revoke .fs-c-modal__inner {
	background: #FFFFFF;
	border-radius: 8px;
	box-shadow: 0 16px 48px rgba(23, 25, 27, 0.3);
	max-width: 520px;
	width: calc(100% - 32px);
	overflow: hidden;
	padding: 0;
}
body.fs-body-my-linkedAccounts .fs-c-modal--linkedAccounts-revoke .fs-c-modal__header {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0;
	padding: 14px 16px;
	border-bottom: 1px solid #ECEEF0;
	background: #FFFFFF;
	font-size: 15px;
	font-weight: 700;
	color: #17191B;
}
body.fs-body-my-linkedAccounts .fs-c-modal--linkedAccounts-revoke .fs-c-modal__close {
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	border: none;
	border-radius: 6px;
	background: transparent;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0;
	color: #8A8F94;
	cursor: pointer;
}
body.fs-body-my-linkedAccounts .fs-c-modal--linkedAccounts-revoke .fs-c-modal__close::before {
	content: "×";
	font-size: 18px;
	line-height: 1;
	color: #8A8F94;
}
body.fs-body-my-linkedAccounts .fs-c-modal--linkedAccounts-revoke .fs-c-modal__close:hover { background: #F2F4F5; }
body.fs-body-my-linkedAccounts .fs-c-modal--linkedAccounts-revoke .fs-c-modal__contents {
	margin: 0;
	padding: 20px 24px;
	text-align: left;
}
body.fs-body-my-linkedAccounts .fs-c-modal--linkedAccounts-revoke .fs-c-inputInformation { max-width: none; margin: 0; }
body.fs-body-my-linkedAccounts .fs-c-revokeLinkedAccountField { margin: 0; padding: 0; border: none; border-width: 0; }
body.fs-body-my-linkedAccounts .fs-c-revokeLinkedAccount__info {
	margin: 0;
	font-size: 14px;
	color: #17191B;
	line-height: 1.8;
}
body.fs-body-my-linkedAccounts .fs-c-revokeLinkedAccount__service { font-weight: 700; }
/* 注意書きはグレーのボックスに。li のマーカーは消す */
body.fs-body-my-linkedAccounts .fs-c-revokeLinkedAccount__note {
	margin: 12px 0 0;
	padding: 10px 14px;
	background: #F2F4F5;
	border-radius: 6px;
	list-style: none;
	font-size: 12px;
	color: #6D7276;
	line-height: 1.7;
}
body.fs-body-my-linkedAccounts .fs-c-revokeLinkedAccount__note li { list-style: none; padding-left: 0; margin: 0; }
body.fs-body-my-linkedAccounts .fs-c-revokeLinkedAccount__note li + li { margin-top: 6px; }

/* モーダルのボタン2つ */
body.fs-body-my-linkedAccounts .fs-c-modal--linkedAccounts-revoke .fs-c-buttonContainer--pair {
	display: flex;
	flex-direction: row;   /* FS標準が row-reverse のことがある（§6.5） */
	gap: 10px;
	margin: 0;
	padding: 14px 16px;
	border-top: 1px solid #ECEEF0;
}
body.fs-body-my-linkedAccounts .fs-c-modal--linkedAccounts-revoke .fs-c-buttonContainer--pair > * {
	flex: 1 1 0;
	min-width: 0;
	max-width: none;
	height: 44px;
	margin: 0;
	padding: 0;   /* 片側だけ padding を持つと等幅にならない（§6.5） */
	border-radius: 6px;
	box-shadow: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	font-weight: 700;
	box-sizing: border-box;
	cursor: pointer;
}
body.fs-body-my-linkedAccounts .fs-c-modal--linkedAccounts-revoke .fs-c-buttonContainer--pair .fs-c-button__image { display: none; }
/* 左＝キャンセル（DOM順は2番目。order で左へ） */
body.fs-body-my-linkedAccounts .fs-c-modal--linkedAccounts-revoke .fs-c-button--cancel {
	order: 1;
	background: #FFFFFF;
	border: 1px solid #E3E5E7;
	color: #3D4246 !important;
}
body.fs-body-my-linkedAccounts .fs-c-modal--linkedAccounts-revoke .fs-c-button--cancel:hover { background: #F2F4F5; }
/* 右＝停止する（DOM順は1番目）。破壊的操作なので塗りはhover時だけ */
body.fs-body-my-linkedAccounts .fs-c-modal--linkedAccounts-revoke .fs-c-button--revokeLinkedAccountConfirm {
	order: 2;
	background: #FFFFFF;
	border: 1px solid #D81F24;
	color: #D81F24 !important;
}
body.fs-body-my-linkedAccounts .fs-c-modal--linkedAccounts-revoke .fs-c-button--revokeLinkedAccountConfirm:hover {
	background: #D81F24;
	color: #FFFFFF !important;
}

/* ===== マイページトップボタン（他のマイページ系と同じ様式） ===== */
body.fs-body-my-linkedAccounts .fs-c-buttonContainer--myPageTop {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 24px;
	padding: 0;
}
body.fs-body-my-linkedAccounts .fs-c-buttonContainer--myPageTop::before,
body.fs-body-my-linkedAccounts .fs-c-buttonContainer--myPageTop::after {
	content: "";
	flex: 1;
	height: 1px;
	background: #E3E5E7;
}
body.fs-body-my-linkedAccounts .fs-c-button--myPageTop {
	background: none;
	border: none;
	box-shadow: none;
	padding: 0;
	min-width: 0;
	width: auto;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: #3D4246 !important;
	text-decoration: none;
	white-space: nowrap;
}
body.fs-body-my-linkedAccounts .fs-c-button--myPageTop::before { content: "‹"; font-size: 15px; color: #8A8F94; }
body.fs-body-my-linkedAccounts .fs-c-button--myPageTop::after { content: none; }
body.fs-body-my-linkedAccounts .fs-c-button--myPageTop .fs-c-button__label { font-size: 13px; }
/* ---------------------------------------------------
   お問い合わせ完了 お礼文（見積依頼）フリーパーツ  .mk-thanks
   置換文字 thanks_estimate ／ 2026-09-04 リニューアル
   受領デザイン: 20260904_お礼文_見積依頼リニューアル/03_assets/

   使用ページ（5枚・パーツ共有なので5枚同時に変わる）
     /f/thanks-hel-main-cv  /f/thanks-hel-rep-cv  /f/thanks-emb-main-cv
     /f/thanks-print-main-cv  /f/thanks-embprint-rep-cv

   ⚠️ 旧 #repeat_sisyu_thanks / #repeat_helmet_thanks の節は消さない。
      旧お礼文ページ（/f/thanks-hel-rep ・/f/thanks-sisyu-main ・
      /f/thanks-print-main ・/f/thanks-sisyu-rep）が今もその構造で公開されている。

   ⚠️ 色は受領デザイン（#1F6E43 / #16512F 系）を、当サイトで確立済みの
      トークン（緑 #1A6B3C・hover #0F4526・淡緑 #F1F6F3・枠 #CDE3D6・
      オレンジ #F07800 / #D96C00）へ寄せている。緑をこれ以上増やさないため
      （00_共通/デザインガイドライン.md「新規で緑を増やさない」）。
   ⚠️ font-family は宣言しない（サイト共通スタックを継承。line 116）。
      font-weight:900 は Noto Sans JP が 400/700 しか読み込まれていないため
      ブラウザ合成になる。他の新規デザイン節と同じ扱い。
--------------------------------------------------- */

.mk-thanks {
	max-width: 940px;
	margin: 30px auto 50px;
	padding: 44px 40px;
	box-sizing: border-box;
	background: #FFFFFF;
	border: 1px solid #E3E5E7;
	color: #3D4246;
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.mk-thanks * {
	box-sizing: border-box;
}

.mk-thanks a {
	color: #1A6B3C;
}

.mk-thanks a:hover {
	color: #0F4526;
}

/* ===== 見出し（完了バッジ＋タイトル） ===== */
.mk-thanks__head {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	text-align: center;
}

.mk-thanks__badge {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	background: #F1F6F3;
	border: 1px solid #CDE3D6;
	padding: 12px 22px;
	font-size: 14px;
	font-weight: 700;
	color: #1A6B3C;
	letter-spacing: .04em;
	line-height: 1.6;
}

.mk-thanks__badge i {
	width: 26px;
	height: 26px;
	border-radius: 999px;
	background: #1A6B3C;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
}

.mk-thanks__title {
	margin: 0;
	font-size: 32px;
	font-weight: 900;
	line-height: 1.5;
	color: #1A6B3C;
}

.mk-thanks__title span {
	display: inline-block;
}

/* ===== リード文 ===== */
.mk-thanks__lead {
	border: 1px solid #CDE3D6;
	border-left: 5px solid #1A6B3C;
	background: #F1F6F3;
	padding: 24px 28px;
}

.mk-thanks__lead p {
	margin: 0;
	font-size: 16px;
	line-height: 2;
}

.mk-thanks__lead strong {
	font-weight: 900;
	color: #1A6B3C;
	font-size: 18px;
}

/* ===== 各ブロック ===== */
.mk-thanks__block {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.mk-thanks__h2 {
	margin: 0;
	font-size: 22px;
	font-weight: 900;
	line-height: 1.5;
	color: #17191B;
	padding-bottom: 12px;
	border-bottom: 3px solid #1A6B3C;
}

.mk-thanks__h2 span {
	display: inline-block;
}

.mk-thanks__txt {
	margin: 0;
	font-size: 15px;
	line-height: 2;
}

/* ===== 「届かない理由」の2カラム行 ===== */
.mk-thanks__rows {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.mk-thanks__row {
	border: 1px solid #E3E5E7;
	display: flex;
	flex-wrap: wrap;
}

.mk-thanks__rowQ {
	flex: 1 1 300px;
	background: #F2F4F5;
	padding: 20px 22px;
	display: flex;
	gap: 12px;
	align-items: flex-start;
}

.mk-thanks__no {
	flex: none;
	font-size: 12px;
	font-weight: 900;
	color: #1A6B3C;
	background: #FFFFFF;
	border: 1px solid #CDE3D6;
	padding: 3px 8px;
	line-height: 1.6;
}

.mk-thanks__rowQ span:last-child {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.85;
	color: #17191B;
}

.mk-thanks__rowA {
	flex: 1 1 300px;
	padding: 20px 22px;
	font-size: 14px;
	line-height: 1.95;
	color: #6D7276;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.mk-thanks__mail {
	display: inline-block;
	background: #FFF7EE;
	border: 1px solid #F0C48A;
	padding: 2px 8px;
	margin: 0 3px;
	font-weight: 700;
	color: #3D4246;
}

/* ===== メールアドレス誤入力のカード ===== */
.mk-thanks__card {
	border: 1px solid #E3E5E7;
	padding: 24px 26px;
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	align-items: center;
}

.mk-thanks__cardL {
	flex: 1 1 280px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.mk-thanks__cardL span {
	font-size: 13px;
	font-weight: 700;
	color: #6D7276;
	line-height: 1.6;
}

.mk-thanks__btnMail {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 26px;
	background: #F07800;
	color: #FFFFFF !important;
	font-size: 17px;
	font-weight: 700;
	text-decoration: none;
	text-align: center;
	word-break: break-all;
}

.mk-thanks__btnMail:hover {
	background: #D96C00;
	color: #FFFFFF !important;
}

.mk-thanks__items {
	flex: 1 1 280px;
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px 12px;
}

.mk-thanks__items li {
	font-size: 15px;
	font-weight: 700;
	color: #17191B;
	background: #F2F4F5;
	padding: 10px 14px;
	line-height: 1.6;
}

.mk-thanks__note {
	margin: 0;
	flex: 1 1 100%;
	font-size: 14px;
	line-height: 1.95;
	color: #6D7276;
}

/* ===== 電話のお問い合わせ ===== */
.mk-thanks__tel {
	background: #F2F4F5;
	border: 1px solid #E3E5E7;
	padding: 26px;
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	align-items: center;
	justify-content: space-between;
}

.mk-thanks__tel p {
	margin: 0;
	flex: 1 1 360px;
	font-size: 15px;
	line-height: 2;
}

.mk-thanks__telBox {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	gap: 6px;
	align-items: flex-start;
}

.mk-thanks__telNum {
	display: flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	color: #1A6B3C;
}

.mk-thanks__telNum > span {
	font-size: 20px;
	line-height: 1;
}

.mk-thanks__telNum b {
	font-size: 34px;
	font-weight: 900;
	letter-spacing: .02em;
	font-variant-numeric: tabular-nums;
	line-height: 1.1;
}

.mk-thanks__telTime {
	font-size: 13px;
	color: #6D7276;
	line-height: 1.6;
}

@media screen and (max-width: 640px) {
	.mk-thanks {
		margin: 20px auto 40px;
		padding: 28px 16px;
		gap: 28px;
		border-left: none;
		border-right: none;
	}

	.mk-thanks__title {
		font-size: 24px;
	}

	.mk-thanks__lead {
		padding: 18px 16px;
	}

	.mk-thanks__lead p {
		font-size: 15px;
	}

	.mk-thanks__lead strong {
		font-size: 16px;
	}

	.mk-thanks__h2 {
		font-size: 19px;
	}

	.mk-thanks__rowQ,
	.mk-thanks__rowA {
		flex: 1 1 100%;
		padding: 16px;
	}

	.mk-thanks__card {
		padding: 16px;
	}

	.mk-thanks__btnMail {
		font-size: 16px;
	}

	.mk-thanks__items {
		grid-template-columns: 1fr;
	}

	.mk-thanks__tel {
		padding: 18px 16px;
	}

	.mk-thanks__telBox {
		align-items: center;
		width: 100%;
	}

	.mk-thanks__telNum {
		justify-content: center;
		width: 100%;
	}

	.mk-thanks__telNum b {
		font-size: 28px;
	}
}

/* ===================================================
   追従カートボタン：PC全ページ共通の見た目 ＋ SPは全ページ非表示（2026-09-09）

   ■ 方針（2026-09-09 松木さん決定）
     ・SP  … すべてのページで非表示
     ・PC  … すべてのページで表示

   ■ なぜページを限定しないのか
   2026-08-31「カートインフィードバック」では見た目を .fs-body-product 限定で書いた。
   同じフリーパーツがグループページのレイアウトにも入っていたため、
   グループページだけテーマ既定の灰色（#646464・角丸0・right:0）で残っていた
   （2026-09-09 松木さん指摘）。
   ページを増やすたびにセレクタを足す形は同じ事故を繰り返すので、
   **bodyクラスで限定せず「パーツが置かれている場所ならどこでも正しく出る」形にする。**
   → 今後TOPや他のレイアウトへパーツを追加しても、CSS側の作業は不要。

   ■ 打ち消す相手
   fs_theme.css（テーマ既定・詳細度 0,1,0）
     .fs-p-scrollingCartButton      { position:fixed; right:0; bottom:10%; z-index:100 }
     .fs-p-scrollingCartButton__button { background:#646464; border-radius:0; display:block;
                                         opacity:.9; padding:8px }
   n_index.css は fs_theme.css より後に読まれるので、同じ 0,1,0 でもこちらが勝つ。
   商品ページは 2026-08-31 の節（0,2,0）が勝つが、値は下記と同一なので見た目は変わらない。

   ■ display は宣言しない
   表示/非表示はパーツ内のJSが `style="display:block"` をインラインで書いて制御している。
   旧CSS（L4738付近）の display 指定もそのまま活かす。
   =================================================== */

/* --- 1. PC: 全ページ共通の見た目（緑・64px角） ------------------------- */

.fs-p-scrollingCartButton {
	position: fixed;
	right: 16px;
	bottom: 24px;
	z-index: 100;
}

.fs-p-scrollingCartButton__button {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	width: 64px;
	height: 64px;
	padding: 0;
	background: #1A6B3C;
	border-radius: 6px;
	box-shadow: 0 4px 12px rgba(26, 107, 60, .28);
	color: #FFFFFF;
	opacity: 1;
	text-align: center;
	text-decoration: none !important;
	transition: background .15s ease;
}

.fs-p-scrollingCartButton__button:hover {
	background: #0F4526;
	color: #FFFFFF;
}

.fs-p-scrollingCartButton__svg {
	display: block;
}

.fs-p-scrollingCartButton__label {
	display: block;
	font-size: 10px;
	font-weight: 400;
	line-height: 1;
}

/* カート数バッジ（2026-08-31 の3箇所共通仕様と同値） */
.fs-p-scrollingCartButton .fs-p-cartItemNumber {
	position: absolute;
	top: -7px;
	right: -7px;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 9px;
	background: #E25B33;
	border: 1.5px solid #FFFFFF;
	color: #FFFFFF;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
}

/* 0個・未置換（フリーページ等で置換が走らない場合）はバッジごと隠す */
.fs-p-scrollingCartButton .fs-p-cartItemNumber:empty,
.fs-p-scrollingCartButton .fs-p-cartItemNumber.fs-client-cart-count--0 {
	display: none;
}

/* カートイン直後の強制表示アニメーション（キーフレームは 2026-08-31 の節が持つ） */
.fs-p-scrollingCartButton.mk-fab-in {
	animation: mkSlideInUp .24s ease-out both;
}

.fs-p-scrollingCartButton.mk-fab-in .fs-p-scrollingCartButton__button {
	box-shadow: 0 6px 16px rgba(26, 107, 60, .3);
}

.fs-p-scrollingCartButton.mk-fab-out {
	animation: mkFadeOut .4s ease both;
}

.fs-p-scrollingCartButton .fs-p-cartItemNumber.mk-badge-pop {
	animation: mkBadgePop .3s ease-out .24s both;
}

/* --- 2. 刺繍加工ページだけ上へ退避 -------------------------------------
   このページは #float_btn（position:fixed / right:79px / bottom:30px / 204×58px）が
   右下に居るため、bottom:24px にすると新しい64px角のカートと接する。
   旧CSS（L4747）が bottom:13% にしていたのも同じ理由。
   上の共通ルール(0,1,0)より後ろかつ詳細度が高い(0,2,0)ので確実に勝つ。 */

.fs-body-category-order-workwear .fs-p-scrollingCartButton {
	bottom: 100px;
}

/* --- 3. SP: すべてのページで非表示（2026-09-09 松木さん決定） -----------
   ⚠️ パーツのJSが fab.style.display = 'block' を**インラインで**書き込むため、
      !important でないと打ち消せない。
      旧CSSのSP非表示（L4738付近の display:none）が効いていなかったのはこれが原因。
   ⚠️ ブレークポイントはサイトのSP定義に合わせて 640px。
      2026-08-31 の節にあるSP用の位置・サイズ指定（639px）は、これに飲まれて無効になる。
   ⚠️ 消えるのは追従カートだけ。トースト（.mk-carttoast）と
      ヘッダー・SPフッターナビのカート数バッジは残るので、
      カートインのフィードバックは失われない（2026-09-09 実測確認）。 */

@media screen and (max-width: 640px) {
	.fs-p-scrollingCartButton {
		display: none !important;
	}
}

/* ---------------------------------------------------
   新ヘッダー（2026-10 上下2パーツ化・Designキャンバス「作業用2」）
   案件: 01_作業本店/FS基本ページ/_共通パーツ_ヘッダー/20261005_ヘッダー修正/
   パーツ: mk_header_top（TOP以外）／mk_header_top_TOP（TOP）／mk_header_nav（下段の枠）
           ＋ mk_header_nav_left・mk_header_nav_right（下段の中身・左右。シーズンで中身が変わる）
   PCのみ新デザイン。SPは現行の見た目（.top-head／.top-cont.sp／.search-cont）をそのまま使う。
   メガメニューは既存の .bottom-cont .nvarea ul .nav-box … の指定を使い、寸法だけ上書きする。
--------------------------------------------------- */

/* ===== 上段 ===== */

/* 緑の帯：TOPは<h1>、それ以外は<p>。どちらも同じ見た目にする */
.mk-hd .top-head .inner h1,
.mk-hd .top-head .inner p {
	margin: 0;
	color: #fff;
	font-size: 1.0rem;
	font-weight: normal;
	line-height: 1.3;
	letter-spacing: 0.05em;
}

.mk-hd-main {
	width: 1200px;
	height: 71px;
	margin: 0 auto;
	padding: 3px 0;
	box-sizing: border-box;
	display: flex;
	align-items: flex-start;
	color: #333;
	font-size: 13px;
}

@media screen and (max-width: 640px) {
	.mk-hd-main {
		display: none;
	}
}

.mk-hd-logo {
	flex-shrink: 0;
	width: 160px;
	height: 64px;
	margin-right: 20px;
}

.mk-hd-logo img {
	width: 160px;
	height: 64px;
	display: block;
}

/* 検索（送信先・項目は現行と同じ） */
.mk-hd-search {
	flex: 1 1 auto;
	min-width: 0;
	height: 44px;
	margin: 11px 14px 0 0;
	position: relative;
}

.mk-hd-sr {
	position: absolute;
	left: -9999px;
}

/* 入力欄・ボタンの指定は header.mk-hd から書いて強くしている。
   購入フロー等の「入力欄をまとめて整える」指定（:is(body.fs-body-cart, …-login, …) input[type="text"]＝詳細度0,2,2）が
   検索窓を白・枠線・角丸6pxに上書きしていた（2026-10-06 植田さん指摘・ログイン画面）。こちらは 0,4,2 */
header.mk-hd .mk-hd-search input.mk-hd-search__input[type="text"] {
	width: 100%;
	margin: 0;
	line-height: normal;
	box-shadow: none;
	height: 44px;
	box-sizing: border-box;
	padding: 0 48px 0 20px;
	border: 0;
	border-radius: 999px;
	background: #eaedf0;
	color: #1f2933;
	font-size: 14px;
	font-family: inherit;
	outline: none;
}

header.mk-hd .mk-hd-search input.mk-hd-search__input[type="text"]:focus {
	box-shadow: 0 0 0 2px #389938 inset;
}

header.mk-hd .mk-hd-search button.mk-hd-search__btn {
	position: absolute;
	top: 0;
	right: 4px;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: #52606d;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

/* 刺繍・ヘルメットの加工カード（画像→テキスト・2026-10-05 植田さん指示）。
   角丸8px（2026-10-05 植田さん指示）。色は旧画像から抽出（オレンジ #FF8900／青 #0099EB） */
.mk-hd-card {
	flex-shrink: 0;
	height: 54px;
	margin: 6px 6px 0 0;
	padding: 0 10px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
	text-align: center;
	white-space: nowrap;
	text-decoration: none;
}

/* 1行目（作業着刺繍／ヘルメット）は2行目（プリントOK／社名ロゴOK）と同じ幅になる大きさ。
   13pxのとき1行目68.3px・2行目75.4px（Windows・Noto Sans JP 実測）→ 13×75.4÷68.3≒14.3px（2026-10-06 植田さん指示） */
.mk-hd-card__main {
	font-size: 14.3px;
}

.mk-hd-card + .mk-hd-card {
	margin-right: 10px;
}

.mk-hd-card--embroidery {
	background: #FF8900;
}

.mk-hd-card--helmet {
	background: #0099EB;
}

.mk-hd-card:hover,
.mk-hd-tel:hover,
.mk-hd-icon:hover {
	opacity: 0.8;
	text-decoration: none;
}

/* 文字色を「訪問済み・ホバー」でも固定する。Futureshop標準CSS（別ドメインで読めない）の
   a:visited 等が .mk-hd-card より強く、訪問済みのカードの文字が白でなくなっていた（2026-10-05 植田さん指摘） */
.mk-hd .mk-hd-card,
.mk-hd .mk-hd-card:link,
.mk-hd .mk-hd-card:visited,
.mk-hd .mk-hd-card:hover {
	color: #fff;
}

.mk-hd .mk-hd-tel,
.mk-hd .mk-hd-tel:link,
.mk-hd .mk-hd-tel:visited,
.mk-hd .mk-hd-tel:hover {
	color: #333;
}

.mk-hd .mk-hd-icon,
.mk-hd .mk-hd-icon:link,
.mk-hd .mk-hd-icon:visited,
.mk-hd .mk-hd-icon:hover {
	color: #4d4d4d;
}

/* マイページ・カート・サポート */
.mk-hd-icons {
	flex-shrink: 0;
	display: flex;
	gap: 10px;
	margin: 6px 0 0;
	padding: 0;
	list-style: none;
}

.mk-hd-icons > li {
	position: relative;
}

.mk-hd-icon {
	min-width: 44px;
	height: 54px;
	box-sizing: border-box;
	padding: 5px 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	color: #4d4d4d;
	text-decoration: none;
}

.mk-hd-icon span {
	font-size: 10px;
	line-height: 12px;
	white-space: nowrap;
}

/* カートの個数バッジ（.mk-cart-badge の基本形は 2026-08-31 の節）。
   .mk-headcart の display:inline-block をアイコンの flex で上書きし、位置だけ調整 */
.mk-hd .mk-headcart {
	display: flex;
}

.mk-hd .mk-headcart .mk-cart-badge {
	top: 0;
	right: -6px;
}

/* マウスを乗せると開く小メニュー（旧 .mypage_list と同じ見た目） */
.mk-hd-sub {
	visibility: hidden;
	position: absolute;
	top: 54px;
	left: 50%;
	transform: translateX(-50%);
	width: 165px;
	margin: 0;
	padding: 20px 30px;
	box-sizing: border-box;
	list-style: none;
	background-color: rgba(245, 245, 245, 0.90);
	transition: all 0.1s ease;
	z-index: 99999;
}

.mk-hd-menu:hover > .mk-hd-sub,
.mk-hd-menu:focus-within > .mk-hd-sub {
	visibility: visible;
}

.mk-hd-sub li {
	position: relative;
	display: block;
	font-size: 13px;
	margin-bottom: 15px;
}

.mk-hd-sub li:last-child {
	margin-bottom: 0;
}

.mk-hd-sub li::before {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	left: -15px;
	width: 6px;
	height: 6px;
	border-right: 1px solid #333;
	border-bottom: 1px solid #333;
	transform: translateY(-50%) rotate(-45deg);
}

.mk-hd-sub li a,
.mk-hd-sub li a:link,
.mk-hd-sub li a:visited {
	display: block;
	text-align: left;
	color: #333;
}

/* 電話（画像→テキスト・スマホのアイコンは無し・2026-10-05 植田さん指示）。
   色は旧画像から抽出（番号 #E50616／文字 #333）。3行で54px（旧画像と同じ高さ） */
.mk-hd-tel {
	flex-shrink: 0;
	height: 54px;
	margin: 6px 5px 0 8px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;     /* 3行をそれぞれ中央揃え（2026-10-05 植田さん指示） */
	text-align: center;
	color: #333;
	white-space: nowrap;
	text-decoration: none;
}

/* 案内文・営業時間とも太字（2026-10-05 植田さん指示） */
.mk-hd-tel__lead,
.mk-hd-tel__hours {
	font-size: 10px;
	line-height: 12px;
	font-weight: 700;
}

/* 番号のフォントは指定しない（サイト共通＝Noto Sans JP 等）。Montserrat／ヒラギノUD／メイリオを試したうえで元に戻した（2026-10-06 植田さん決定） */
.mk-hd-tel__num {
	color: #E50616;
	font-size: 32px;
	font-weight: 700;
	line-height: 30px;
	letter-spacing: 0.02em;
}

/* ===== 下段（カテゴリナビ） ===== */

@media screen and (min-width: 641px) {
	.bottom-cont.mk-gnav {
		padding: 10px 0;
	}

	.bottom-cont.mk-gnav .nvarea {
		height: 40px;
		margin: 0 auto;
	}

	.bottom-cont.mk-gnav .nvarea > ul {
		justify-content: flex-start;
		align-items: flex-start;
		gap: 6px;
	}

	/* li は下に10px伸ばす：ボタン（40px）とメニュー（top:50px）の間で
	   マウスが外れてメニューが閉じないように */
	.bottom-cont.mk-gnav .nvarea ul .nav-box {
		flex: 1 1 auto;
		width: auto;
		height: 50px;
		padding-bottom: 10px;
		box-sizing: border-box;
		margin-right: 0;
		background-color: transparent;
		align-items: flex-start;
	}

	.bottom-cont.mk-gnav .nvarea ul .nav-box .mk-gnav-btn {
		height: 40px;
		padding: 0 6px 0 3px;
		box-sizing: border-box;
		display: flex;
		align-items: center;
		justify-content: center;
		background: #fff;
		border: 1px solid #d5dae0;
		border-radius: 10px;
		font-size: 12px;
		font-weight: 700;
		color: #1f2933;
		white-space: nowrap;
		overflow: hidden;
		text-decoration: none;
	}

	.bottom-cont.mk-gnav .nvarea ul .nav-box:hover > .mk-gnav-btn {
		border-color: #389938;
		background-color: #dbe7de;
		color: #389938;
	}

	.bottom-cont.mk-gnav .nvarea ul .nav-box .mk-gnav-btn .mk-gnav-ico {
		width: 28px;
		height: 32px;
		flex-shrink: 0;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.bottom-cont.mk-gnav .nvarea ul .nav-box .mk-gnav-btn .mk-gnav-ico img {
		max-width: 28px;
		max-height: 32px;
		width: auto;
		height: auto;
		object-fit: contain;
	}

	.bottom-cont.mk-gnav .nvarea ul .nav-box .mk-gnav-btn .mk-gnav-txt {
		margin-left: 4px;
	}

	/* メガメニューは下段の帯の下端から出す（旧 top:55px）。
	   閉じている間は「見えない・触れない」にする。既存CSSは opacity:0／z-index:-1 で透明なまま残しており、
	   ヘッダーを固定（z-index:900）した結果、本文の上に透明なメニューが乗り、
	   画面の真ん中にカーソルを置くだけで開いていた（2026-10-06 植田さん指摘）。
	   カテゴリのボタンに乗せたときだけ触れられるので、ボタン→メニューへの移動では開いたまま */
	.bottom-cont.mk-gnav .nvarea ul .nav-box .sabnavi_area {
		top: 50px;
		visibility: hidden;
		pointer-events: none;
	}

	.bottom-cont.mk-gnav .nvarea ul .nav-box:hover > .sabnavi_area {
		visibility: visible;
		pointer-events: auto;
	}
}

/* ===== スクロール時の固定（PCのみ・2026-10-05） =====
   上段（.mk-hd-upper）は常に固定。下段（.mk-gnav）は下スクロールで上段の裏へ隠れ、上スクロールで戻る。
   出し入れのクラス .is-navhide は「新ヘッダー_下段_枠」のscriptが header に付け外しする。
   header の高さ（148px）は変えない＝本文がガタつかない。隠れている間の下段ぶん（60px）はクリックを素通しする */
@media screen and (min-width: 641px) {
	/* 別ページから #… 付きのURLで開いたとき（ブラウザが自動で飛ぶ）も、見出しが固定した上段の裏に隠れないように、
	   ヘッダーの外にあるリンク先（id／name）にだけ上の余白を付ける。クリックでのページ内移動は「新ヘッダー_下段_枠」のscript。
	   ⚠️ html に scroll-padding-top を付けると、検索窓（上段の中＝上98pxの範囲）に入力するたびにブラウザが
	   「入力欄が見えていない」と判断して上へスクロールしてしまった（2026-10-06 植田さん指摘）→ scroll-margin に変更 */
	html:has(header.mk-hd) [id]:not(header *),
	html:has(header.mk-hd) a[name]:not(header *) {
		scroll-margin-top: 98px;
	}

	header.mk-hd {
		position: sticky;
		top: 0;
		z-index: 900;          /* メガメニュー(1000)はheader内なので影響なし。トースト(10001)より下 */
	}

	/* 上段の下端に下段と同じ色の1px線（ナビが隠れたときにヘッダーの境界が分かるように）。
	   box-shadow で上段の外側に引くので、高さ（88px）は変わらない（2026-10-05 植田さん指示） */
	.mk-hd .mk-hd-upper {
		position: relative;
		z-index: 2;
		background: #fff;
		box-shadow: 0 1px 0 #efefef, 300px 0 0 #fff, 300px 1px 0 #efefef;
	}

	/* 右のフロートバナーが画面からはみ出す幅（約1,200〜1,460px）では横スクロールが出るが、
	   header の幅は画面幅までなので、右へスクロールすると帯・白・灰色が途中で切れていた（2026-10-06 植田さん指摘）。
	   影（box-shadow）で右へ300px延ばす。影はページの横幅を広げないので、横スクロールの量は変わらない */
	.mk-hd .mk-hd-upper .top-head {
		box-shadow: 300px 0 0 #389938;
	}

	.mk-hd .mk-gnav {
		box-shadow: 300px 0 0 #efefef;
	}

	.mk-hd .mk-gnav {
		position: relative;
		z-index: 1;
		transition: transform 0.25s ease, visibility 0.25s;
	}

	header.mk-hd.is-navhide {
		pointer-events: none;
	}

	header.mk-hd.is-navhide .mk-hd-upper {
		pointer-events: auto;
	}

	/* 隠れるときは速く（0.15秒）、戻るときは .mk-gnav の 0.25秒（2026-10-05 植田さん指示） */
	header.mk-hd.is-navhide .mk-gnav {
		transform: translateY(-100%);
		visibility: hidden;
		transition-duration: 0.15s;
	}

	/* 左右のフロートバナー（.floatarea_wrap・既存は sticky; top:0）を固定ヘッダーの下へ。
	   ナビが出ている間は148px、隠れたら上段の下線の下（89px）まで上げる。動く速さはナビに合わせる
	   （2026-10-05 植田さん決定。z-indexで手前に重ねる案は試したうえで不採用） */
	header.mk-hd ~ .floatarea_wrap {
		top: 148px;
		transition: top 0.25s ease;
	}

	header.mk-hd.is-navhide ~ .floatarea_wrap {
		top: 89px;
		transition-duration: 0.15s;
	}

	/* 簡素ヘッダー（mk-hd--single）は下段が無く高さ88px。バナーは常に上段の下線の下（89px） */
	header.mk-hd--single ~ .floatarea_wrap {
		top: 89px;
	}
}
/* ---------------------------------------------------
   新ヘッダー SP（2026-10 スマホヘッダー修正）
   案件: 01_作業本店/FS基本ページ/_共通パーツ_ヘッダー/20261007_スマホヘッダー修正/
   SP（640px以下）だけ：緑の帯を隠す／ロゴ（文字なし）の右に加工カード2つ／検索はPCと同じ mk_header_search を表示。
   TOPはロゴが <h1>（帯の <h1> はSPでは出ない）。PCの見た目は変えない（このブロックはすべてSPの中）。
--------------------------------------------------- */
@media screen and (max-width: 640px) {
	/* 緑の帯（TOPではPCのh1）は出さない */
	header.mk-hd .mk-hd-bar {
		display: none;
	}

	/* 1段目：ロゴ（左）＋加工カード（右） */
	header.mk-hd .mk-hd-sp {
		display: flex;
		align-items: center;
		padding: 8px 8px 0;
	}

	header.mk-hd .mk-hd-sp__logo {
		flex: 0 1 auto;
		min-width: 0;
		margin: 0 auto 0 0;
		padding: 0;
		font-size: inherit;
		line-height: 0;
	}

	header.mk-hd .mk-hd-sp__logo img {
		display: block;
		width: 130px;
		max-width: 100%;
		height: auto;
	}

	/* カードはPCの指定（色・文字・角丸）を使い、寸法だけ小さくする */
	header.mk-hd .mk-hd-sp .mk-hd-card {
		height: 46px;
		margin: 0 0 0 6px;
		padding: 0 8px;
		font-size: 11px;
		line-height: 1.3;
	}

	header.mk-hd .mk-hd-sp .mk-hd-card:first-of-type {
		margin-left: 8px;
	}

	header.mk-hd .mk-hd-sp .mk-hd-card__main {
		font-size: 12.5px;
	}

	/* 2段目：検索。PC用の上段（.mk-hd-main）を検索だけ見せる。
	   下の余白は付けない（テストページで検索窓の下が空きすぎた・2026-10-07 植田さん指示） */
	header.mk-hd .mk-hd-main {
		display: block;
		width: auto;
		height: auto;
		padding: 8px 8px 0 8px;
	}

	header.mk-hd .mk-hd-main > :not(.mk-hd-search) {
		display: none;
	}

	header.mk-hd .mk-hd-main .mk-hd-search {
		height: 40px;
		margin: 0;
	}

	/* 16px未満だと iPhone がタップ時に画面を拡大する */
	header.mk-hd .mk-hd-search input.mk-hd-search__input[type="text"] {
		height: 40px;
		padding: 0 44px 0 16px;
		font-size: 16px;
	}

	header.mk-hd .mk-hd-search button.mk-hd-search__btn {
		right: 2px;
		width: 40px;
		height: 40px;
	}

	/* 簡素版（購入フロー等・mk-hd--single）は検索を出さない（2026-10-07 植田さん指示）。PCは出す（2026-10-06 決定のまま） */
	header.mk-hd.mk-hd--single .mk-hd-main {
		display: none;
	}

	header.mk-hd.mk-hd--single .mk-hd-sp {
		padding-bottom: 8px;
	}
}

/* =========================================================
   PCレフトカラム（mk-side）2026-10-07 20261007_レフトカラム刷新
   中身のカテゴリーは新SPメニューと共有（mk_spmenu_category）。
   SPのCSS（新SPメニュー_本体の <style>）は .mk-drawer の中だけに効く指定が多く、
   色の変数も .mk-drawer にあるので、PCはここで自前に指定する（SPのCSSには頼らない）
   ========================================================= */
.wrap .side.mk-side {
	--mk-green: #389938;
	--mk-text: #333;
	--mk-sub: #52606d;
	--mk-line: #d9d9d9;
	--mk-bg: #f4f6f7;
	color: var(--mk-text);
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: 0; /* サイト既定の字間だと「ヒートベスト・電熱ウェア」等が2行に折れる */
}
.mk-side a,
.mk-side a:link,
.mk-side a:visited {
	color: var(--mk-text);
	text-decoration: none;
}
.mk-side a,
.mk-side summary,
.mk-side p {
	letter-spacing: 0;
}
.mk-side ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* 加工バナー（既存パーツ work_left_bnrarea のまま・角を丸くする） */
.wrap .side.mk-side .banner a {
	display: block;
	border-radius: 8px;
	overflow: hidden;
}
.wrap .side.mk-side .banner img {
	display: block;
	height: auto;
}

/* 区切り（カテゴリー・インフォメーション・コンセプト） */
.mk-side .mk-drawer-cat {
	margin: 20px 0 0;
}
/* 商品を探す → インフォメーション → ショップコンセプト の間（20px→40px・2026-10-07 植田さん指示） */
.mk-side .mk-side-sec {
	margin: 40px 0 0;
}
.mk-side .mk-drawer__sectitle,
.mk-side .mk-side__title {
	margin: 0 0 8px;
	padding: 0 4px;
	font-size: 12px;
	font-weight: 700;
	color: var(--mk-sub);
	letter-spacing: .04em;
}
.mk-side .mk-drawer-cat > .mk-drawer__sectitle + * {
	border-top: 1px solid var(--mk-line);
}

/* アコーディオン（<details>） */
.mk-side .mk-acc {
	border-bottom: 1px solid var(--mk-line);
}
.mk-side .mk-acc > summary {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 48px;
	padding: 8px 32px 8px 4px;
	box-sizing: border-box;
	font-weight: 700;
	cursor: pointer;
	list-style: none;
}
.mk-side .mk-acc > summary::-webkit-details-marker {
	display: none;
}
.mk-side .mk-acc > summary::before,
.mk-side .mk-acc > summary::after {
	content: "";
	position: absolute;
	right: 8px;
	top: 50%;
	width: 12px;
	height: 2px;
	background: var(--mk-green);
	transition: transform .2s ease;
}
.mk-side .mk-acc > summary::after {
	transform: rotate(90deg);
}
.mk-side .mk-acc[open] > summary::after {
	transform: rotate(0deg);
}
.mk-side .mk-acc > summary:hover,
.mk-side .mk-acc[open] > summary {
	color: var(--mk-green);
}
/* 1段目（商品カテゴリーから探す 等。特集は mk-acc--root が付いていないので並びで指定） */
.mk-side .mk-acc--root > summary,
.mk-side .mk-drawer-cat > details.mk-acc > summary {
	font-size: 15px;
}
.mk-side .mk-acc__inner {
	padding: 0 0 8px 6px;
}
.mk-side .mk-acc__inner > :last-child,
.mk-side .mk-acc__inner > a.mk-acc-link:last-child {
	border-bottom: none;
}
/* アイコン */
.mk-side .mk-ico {
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	margin-right: 10px;
	border-radius: 6px;
	object-fit: cover;
	background: #fff;
}
.mk-side .mk-ico--maker {
	background: transparent;
}
/* 開いた中のリンク */
.mk-side .mk-acc__list {
	padding: 0 0 8px;
}
.mk-side .mk-acc__list a {
	display: block;
	padding: 9px 8px 9px 14px;
	font-size: 13px;
	background: var(--mk-bg);
	border-bottom: 1px solid #fff;
}
.mk-side .mk-acc__list li:first-child a {
	border-radius: 8px 8px 0 0;
}
.mk-side .mk-acc__list li:last-child a {
	border-bottom: none;
	border-radius: 0 0 8px 8px;
}
.mk-side .mk-acc__list li:only-child a {
	border-radius: 8px;
}
.mk-side .mk-acc__list a:hover {
	color: var(--mk-green);
	text-decoration: underline;
}
/* 開閉なしの行リンク（防寒ウェア・メーカー等）とインフォメーション */
.mk-side a.mk-acc-link,
.mk-side .mk-side-links a {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 48px;
	padding: 8px 32px 8px 4px;
	box-sizing: border-box;
	font-weight: 700;
	border-bottom: 1px solid var(--mk-line);
}
.mk-side .mk-side-links {
	border-top: 1px solid var(--mk-line);
}
.mk-side .mk-side-links a {
	min-height: 44px;
	font-weight: normal;
}
.mk-side a.mk-acc-link::after,
.mk-side .mk-side-links a::after {
	content: "";
	position: absolute;
	right: 10px;
	top: 50%;
	width: 7px;
	height: 7px;
	margin-top: -4px;
	border-top: 2px solid #9aa5b1;
	border-right: 2px solid #9aa5b1;
	transform: rotate(45deg);
}
.mk-side a.mk-acc-link:hover,
.mk-side .mk-side-links a:hover {
	color: var(--mk-green);
}

/* ショップコンセプト（レフトの一番下。フッターとの間に40px・2026-10-08 植田さん指示） */
.mk-side .mk-side-concept {
	margin-bottom: 40px;
}
.mk-side .mk-side-concept img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 8px;
}
.mk-side .mk-side-concept__text {
	margin: 8px 0 0;
	padding: 0 4px;
	font-size: 12px;
	line-height: 1.7;
	color: var(--mk-sub);
}
