@charset "UTF-8";

/*
Theme Name: オリジナルテーマ
Author: Yoko Dohi
*/


html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font-style: normal;
	/* vertical-align: baseline; */
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
input[type="text"],
input[type="password"],
textarea,
select,*:focus {
	outline: none;
}


/*====================================================
////id |  common
====================================================*/

/* noto-sans-jp-regular - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/noto-sans-jp-v54-japanese-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-sans-jp-500 - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/noto-sans-jp-v54-japanese-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-sans-jp-700 - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/noto-sans-jp-v54-japanese-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* zen-old-mincho-regular - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Zen Old Mincho';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/zen-old-mincho-v13-japanese-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* zen-old-mincho-500 - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Zen Old Mincho';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/zen-old-mincho-v13-japanese-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Zen Old Mincho';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/zen-old-mincho-v13-japanese-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

:root {
	--color_1: #B3040E;
    --color_2: #B85A60;
    --color_3: #F1E7EA;
    --color_4: #fefafb;
    --color_5: #822226;
    --color_6: #1E773C;

	--red: #B3040E;

	--l_gray: #DFDFDF;
	--d_gray: #888;
	--black: #1F0E00;

	--font_family: "Noto Sans JP", 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Meiryo', sans-serif;
	--f_serif: 'Zen Old Mincho', "游明朝 Medium", "YuMincho Medium", "游明朝体 Medium", "Hiragino Mincho ProN", "MS PMincho", serif;
}
.color_1 {
    color: var(--color_1);
}
.color_2 {
    color: var(--color_2);
}
.color_3 {
    color: var(--color_3);
}
.color_4 {
    color: var(--color_4);
}
.color_5 {
    color: var(--color_5);
}
.red {
    color: var(--red);
}


html{
	font-size: 10px;
	font-size: 62.5%;
	width: 100%;
	max-width: 100vw;
}

body, button, input, select, optgroup, textarea {
	color: var(--black);
	font-family: var(--font_family);
    font-weight: 400;
    letter-spacing: .05em;
	line-height: 1.8;
}
button, input, select, optgroup, textarea {
	color: inherit;
	font-family: inherit;
	font-size: inherit;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 768.9px) {
    body, button, input, select, optgroup, textarea {
        font-size: min(3.734vw, 16px);
    }
}
/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    body, button, input, select, optgroup, textarea {
        font-size: min(2vw, 16px);
    }
}

body {
	background: #ffffff;
    overflow-wrap: break-word;
	position: relative;
	width: 100%;
	height: auto;
}
* {
	min-height:0;
	min-width : 0;
}

body * {
	box-sizing: border-box;
}
body.scroll-lock {
    position: fixed;
    overflow: hidden;
    width: 100%;
}

section {
	position: relative;
	max-width: 100vw;
	z-index: 2;
}
a {
	display: inline-block;
	color: inherit;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	cursor: pointer;
	outline:none;
	position: relative;
	text-decoration: none !important;
	transition: 0.3s ease-in-out;
	/* vertical-align: middle; */
}
a:visited {
    color: inherit;
}
a:hover {
  color: inherit;
  text-decoration: none;
}
.tel_link a ,
a[href^="tel:"] {
	color: inherit !important;
	text-decoration: none !important;
}
button {
	transition: 0.3s ease-in-out;
}
@media print, screen and (min-width: 769px) {
    .tel_link a ,
    a[href^="tel:"] {
        pointer-events: none;
    }
}
.tel_linkBtn {
	pointer-events: none;
}
.fax a {
	color: inherit !important;
	text-decoration: none !important;
	pointer-events: none;
}

.underline {
	-webkit-text-decoration: underline solid 1px;
	text-decoration: underline solid 1px;
	text-underline-position: under;
	text-underline-offset: 0.1em;
}
p a:not([class]) ,
/* ul:not(.page-numbers):not(.not_set):not(.menu):not(.sub-menu) li a:not([class]) ,
ol li a:not([class]) , */
/* dd a:not([class]) , */
a.underline {
    color: var(--color_5);
	-webkit-text-decoration: underline dotted 1px var(--color_5) !important;
	text-decoration: underline dotted 1px var(--color_5) !important;
	text-underline-position: under;
	text-underline-offset: 0.1em;
}
@media (hover: hover) {
    p a:not([class]):hover ,
    ul:not(.page-numbers):not(.not_set):not(.menu):not(.sub-menu) li a:not([class]):hover ,
    ol li a:not([class]):hover ,
    dd a:not([class]):hover ,
    a.underline:hover {
        opacity: .8;
    }
}

img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	/* display: block; */
	/* margin: auto; */
}
p img {
    display: inline-block;
}

iframe {
    max-width: 100%;
}
figure {
	margin: 0;
	position: relative;
}
/* figure:has(img)::after {
    content: '';
    display: block;
    margin: auto;
    pointer-events: auto;
    position: absolute;
        top: 0;
        left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
} */
figure img {
	position: relative;
}
.coverImg {
	overflow: hidden;
	padding-top: 69%;
	width: 100%;
}
figure.coverImg img {
    margin: auto;
	-o-object-fit: cover;
	object-fit: cover;
	position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
    transition: .3s ease-in-out;
	width: 100%;
	max-width: none;
	height: 100%;
	max-height: none;
}
figure.coverImg.contain img {
	-o-object-fit: contain;
	   object-fit: contain;
}
figure figcaption.noImage {
	background: #f2fff2;
	color: var(--red);
	display: flex;
		align-items: center;
		justify-content: center;
	font-size: 2.0rem;
	font-weight: bold;
	position: absolute;
		top: 0;
		left: 0;
	width: 100%;
	height: 100%;
}

/* .scaleUpImg {
	overflow: hidden;
} */
.scaleUpImg img {
    transition: .3s ease-in-out;
}

#contents {
	width: 100%;
	transition: .3s ease-in-out;
	position: relative;
	z-index: 1;
}

input[type="radio"], input[type="checkbox"] {
	display: none;
}

.hidden {
	display: none;
}

hr {
	background: var(--color_4);
	border: none;
	height: 1px;
	opacity: .4;
}

::before, ::after {
    pointer-events: none;
}

.innerBox{
	margin: 0 auto;
	padding: min(15vw, 120px) 0;
	position: relative;
	width: calc(100% - (var(--innerBox_wide_margin) * 2));
	z-index: 2;
}
.innerBox.is-style-padding-top-x_large {
    padding-top: min(20vw, 180px);
}
.innerBox.is-style-padding-top-middle {
    padding-top: min(7vw, 70px);
}
.innerBox.is-style-padding-top-small {
    padding-top: min(3vw, 30px);
}
.innerBox.is-style-padding-top-none {
    padding-top: 0;
}
.innerBox.is-style-padding-bottom-x_large {
    padding-bottom: min(20vw, 180px);
}
.innerBox.is-style-padding-bottom-middle {
    padding-bottom: min(7vw, 70px);
}
.innerBox.is-style-padding-bottom-small {
    padding-bottom: min(3vw, 30px);
}
.innerBox.is-style-padding-bottom-none {
    padding-bottom: 0;
}

.innerBox.narrow {
	width: calc(100% - (var(--innerBox_margin) * 2));
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    .innerBox{
        padding: min(15vw, 80px) 0;
    }
	.hidden-mob {
		display: none;
	}
	.display-mob {
		display: block;
	}
	figure figcaption.noImage {
		font-size: 1.6rem;
	}
}

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

	.hidden-small {
		display: none;
	}
	.display-small {
		display: block;
	}
}

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

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {

	.hidden-pc_d-tab,
	.hidden-pc {
		display: none;
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:959.9px) {
	.hidden-tab {
		display: none;
	}
	.hidden-pc_d-tab ,
	.display-tab {
		display: block;
	}
}

@media screen and (min-width:960px) and (max-width:1200px) {
	.display-middle {
		display: block;
	}
}

@media screen and (min-width:1200px) {
	.hidden-wide {
		display: none;
	}
	.display-wide {
		display: block;
	}
}

@media screen and (min-width:1610px) {
	.display-maxwide {
		display: block;
	}
}

@media (hover: hover) { /*NOTE ホバー処理*/
	a:not([class]):hover ,
	p a:hover {
		opacity: .7;
	}
	a.opacity-1:hover {
		opacity: 1;
	}
	.scaleUpImg:hover img {
		transform: scale(1.02);
	}
	a.scaleUpImg:hover {
		opacity: 1;
	}
    a.scaleUpLink:hover {
        transform: scale(1.02);
    }
}

.fw-normal {
	font-weight: 400;
}
.fw-elight {
	font-weight: 200;
}
.fw-light {
	font-weight: 300;
}
.fw-medium {
	font-weight: 500;
}
.fw-semibold {
	font-weight: 600;
}
.fw-bold {
	font-weight: 700;
}
.fw-black {
	font-weight: 900;
}


/*====================================================
//class eachTextAnime
====================================================*/
.eachTextAnime:not(.anime_unset) {
	opacity: 0;
}
.eachTextAnime.appeartext {
	opacity: 1;
}
.eachTextAnime:not(.anime_unset) span {
	opacity: 0;
}
.eachTextAnime.appeartext:not(.anime_unset) span {
	-webkit-animation:text_anime_on 1.4s ease-out forwards;
	        animation:text_anime_on 1.4s ease-out forwards;
	/* animation-delay: .4s; */
}
@-webkit-keyframes text_anime_on {
	0% {opacity:0;}
	100% {opacity:1;}
}
@keyframes text_anime_on {
	0% {opacity:0;}
	100% {opacity:1;}
}


/*====================================================
// NOTE |  テキスト
====================================================*/
.f-default {
	font-family: var(--font_family);
}
.f-serif {
    font-family: var(--f_serif);
}
.ff_setting {
	font-feature-settings: "palt";
	letter-spacing: .1em;
}
.tate {
    display: inline-block;
    line-height: 1; /* iOSのズレを軽減 */
    text-orientation: upright;
    writing-mode: vertical-rl;
}
ruby > rt {
    font-size: min(.3em, 10px);
    font-weight: 400;
    text-align: center;
}

/*====================================================
// NOTE |  装飾系
====================================================*/
.arrow {
    border-radius: 100%;
    display: inline-block;
    margin-left: .3em;
    overflow: hidden;
    position: relative;
    transition: .3s ease-in-out;
    vertical-align: -.2em;
    width: 1em;
    height: 1em;
}
.arrow::before,
.arrow::after {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 14 14"><path fill="%23b85a60" d="M7,0C3.38,0,.39,2.75.04,6.28c-.02.24-.04.47-.04.72,0,.3.02.59.06.88.4,3.16,2.9,5.66,6.06,6.06.29.04.58.06.88.06.24,0,.48-.01.72-.04,3.53-.36,6.28-3.34,6.28-6.96,0-3.87-3.13-7-7-7ZM6.28,9.38l-.72-.72,1.71-1.71-1.71-1.71.72-.72,2.43,2.43-2.43,2.43Z" /></svg>') no-repeat center / contain;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
    transition: .3s ease-in-out;
    width: 100%;
    height: 100%;
}
.arrow::before {
    left: 0;
}
.arrow::after {
    left: -200%;
}

@media (hover: hover) {
    a:has(.arrow):hover {
        opacity: 1;
    }
    .arrow:hover::before,
    a:hover .arrow::before ,
    button:hover .arrow::before ,
    .formBox .btn-outer:hover .arrow::before {
        left: 200%;
    }
    .arrow:hover::after,
    a:hover .arrow::after ,
    button:hover .arrow::after ,
    .formBox .btn-outer:hover .arrow::after {
        left: 0;
    }
}

.triangle_arrow-link {
    display: flex;
        align-items: center;
        justify-content: center;
        gap: 1em;
}
.triangle_arrow-link::after {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 7 11"><path fill="%231f0e00" d="M7,5.5L1.51,11l-1.51-1.51,3.99-3.99L0,1.51,1.51,0l5.49,5.5Z" /></svg>') no-repeat center / contain;
    content: '';
    display: block;
    transition: transform .2s ease-in-out;
    width: .5em;
    height: 1em;
}
@media (hover: hover) {
    a.triangle_arrow-link.arrow:hover::before {
        transform: translateX(.3em);
    }
    
}

/* 価格 */
.fs-c-productPrice:not(.fs-c-productPrice--listed) .fs-c-productPrice__main__price,
.fs-c-price,
.fs-c-productPrice,
.fr3-item__productPrice {
    color: var(--color_1);
    font-weight: 500;
}
.fs-c-price__currencyMark,
.fr3-item__productPrice__currencyMark {
    display: none;
}
.fs-c-price::after,
.fr3-item__productPrice__value::after {
    content: "円";
    font-size: .6em;
}
.fr3-item__productPrice__addon,
.fs-c-price__addon,
.tax {
	font-size: .6em !important;
	margin-left: .3em;
}

.fs-c-productPrice ,
.fs-c-productVariationPrice,
.fs-c-productPrice__main {
    display: flex;
        align-items: baseline;
}
.fs-c-productPrice__main__label {
    display: none;
}
.fs-c-productPrice__addon,
.fs-c-productVariationPrice__addon,
.fs-c-productPrice__main__addon {
    color: var(--color_1);
	font-size: .6em;
}
.fs-c-productPrice__addon::before ,
.fs-c-productVariationPrice__addon::before,
.fs-c-productPrice__main__addon::before {
    content: '(';
    display: inline-block;
    width: .2em;
}
.fs-c-productPrice__addon::after ,
.fs-c-productVariationPrice__addon::after,
.fs-c-productPrice__main__addon::after {
    content: ')';
    display: inline-block;
    margin-left: -.1em;
    width: .2em;
}

.fs-pt-column__heading {
    font-size: inherit;
}
.fs-c-button--plain {
    color: inherit;
}

dl.accordion > dt ,
dl.menu-accordion > dt,
.accordion > .accordion-ttl {
	cursor: pointer;
	position: relative;
}
dl.accordion > dd ,
dl.menu-accordion > dd,
.accordion > .accordion-cnt {
	overflow: hidden;
	transition: .3s ease-in-out;
}
dl.accordion > dd > .accordion-inner,
.accordion > .accordion-cnt > .accordion-inner {
	opacity: 0;
	transition: .3s ease-in-out;
}
dl.accordion.open > dd > .accordion-inner,
.accordion.open > .accordion-cnt > .accordion-inner {
	opacity: 1;
}

.accordion-ttl:has(.plus_icon) {
    display: flex;
        align-items: center;
        justify-content: center;
        grid-gap: 1em;
}
.accordion-ttl > .plus_icon {
    display: block;
    width: 1em;
    height: 1em;
    position: relative;
}
.accordion-ttl > .plus_icon::before,
.accordion-ttl > .plus_icon::after {
    border-top: solid 3px #E3B7CD;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: .1em;
        left: 0;
        right: 0;
        bottom: 0;
    transition: .3s ease-in-out;
    width: .9em;
    height: 0;
}
.accordion-ttl > .plus_icon::after {
    transform: rotate(90deg);
}

.accordion.open > .accordion-ttl > .plus_icon::before {
    transform: rotate(90deg);
    opacity: 0;
}
.accordion.open > .accordion-ttl > .plus_icon::after {
    transform: rotate(180deg);
}

.accordion_close {
	cursor: pointer;
}

ol, ul {
	list-style: none;
}
ul.markList {
    display: grid;
        grid-gap: .6em;
    padding-left: 0;
}
ul.markList > li {
	position: relative;
	padding-left: 1.0em;
	line-height: 1.5;
}
ul > li ,
.bodyText.default_deco ul > li,
.bodyText.default_deco ol > li {
    margin: 0;
    line-height: 1.5;
    position: relative;
}
ul.markList > li::before {
	content: '\30FB';
	display: block;
	margin: auto;
	position: absolute;
		top: 0;
		left: 0;
	width: 1em;
	height: 1em;
}
ul.markList > li:after {
	display: none !important;
}
ul.markList.attentionMark > li:before {
	background: transparent;
	content: '\203B';
	top: .1em;
	left: 0;
}
ul.markList.dot > li:before {
	background: var(--color_1);
	border-radius: 100%;
	content: '';
	top: .5em;
	left: 0;
	width: .5em;
	height: .5em;
}
ul.markList.dot.dot-blue > li:before {
    background: var(--blue);
}
ul.markList.checkMark > li {
    padding-left: 1.5em;
}
ul.markList.checkMark > li:before {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 25 19"><path fill="%23B85A60" d="M14.7,6.42c-2.13,1.94-4.05,4.1-5.74,6.43-1.89-2.45-4.32-4.41-7.11-5.74l-1.85,4.08c.07.03,6.57,3.07,6.57,7.81h4.48c0-.69.48-3.4,6.7-9.29,2.3-2.16,4.72-4.2,7.25-6.1l-2.65-3.61c-2.67,2-5.22,4.14-7.65,6.42Z" /></svg>') no-repeat center / contain;
	content: '';
	top: 0;
	left: 0;
	width: 1em;
	height: 1.5em;
}
ol{
	counter-reset:number; /* 名前を付けたカウンターをリセット */
	list-style:none; /* olが数字を付けることをキャンセル */
	margin:0;
	padding:0;
}
ol.fs-c-orderedList > li,
ol.markList > li{
    line-height: 1.8;
    margin: .2em 0 0 0;
	padding: 0 0 0 1.8em;
	position: relative;
    text-indent: 0;
}
ol.fs-c-orderedList > li:before,
ol.markList > li:before{
    background: var(--color_1);
    border-radius: 100%;
	box-sizing: border-box;
    color: #fff;
	counter-increment: number;
	content: counter(number);
	display: flex;
		align-items: center;
        justify-content: center;
    font-size: .8em;
    font-weight: 700;
    line-height: 1;
    padding: 0 0 .1em;
	position: absolute;
		top: .3em;
		left: 0;
    text-align: center;
	width: 1.8em;
	height: 1.8em;
	line-height: 1;
}
.bodyText.default_deco ol > li::before {
    top: auto;
}
ol.circleMark > li:before{
	border: solid 1px;
	border-radius: 100%;
	font-size: .9em;
	top: .05em;
}

.markerline {
	background: linear-gradient(transparent 50%, rgba(255, 244, 139, .8) 50%, rgba(255, 244, 139, .8) 100%);
    margin: 0 .1em;
    padding: 0 .1em;
}


/*
// NOTE |  【特殊装飾】 */
.underline_head {
    border-bottom: solid 1px;
    color: var(--color_1);
    font-size: min(5.4vw, 28px);
    font-weight: 500;
    margin-bottom: min(7vw, 40px);
    padding-bottom: .4em;
}

.fs-c-button--standard,
.linkBtn { /*class linkBtn */
	border: solid 2px var(--color_1);
	background: #fff;
	border-radius: 2em;
    color: var(--color_1) !important;
	cursor: pointer;
	display: flex;
		align-items: center;
		grid-gap: 0 .7em;
        justify-content: center;
    font-size: 1.0em;
    font-weight: 400;
	line-height: 1.4;
    /* margin: min(8vw, 40px) auto 0; */
	opacity: 1;
    overflow: hidden;
	padding: .3em 1.5em;
	position: relative;
    text-align: center;
	transition: .3s ease-in-out;
    width: min(100%, 400px);
    min-width: min(85%, 290px);
    min-height: 3.5em;
	z-index: auto;
}
@media (hover: hover) {
    .fs-c-button--standard:hover,
    .linkBtn:hover {
        background: var(--color_4);
        color: var(--color_1);
    }
}

/* note btn */
.linkBtn-color,
.fs-c-button--myPageTop,
a.fs-c-wishlistProduct__viewAllProducts,
.fs-c-viewAllProductsLink {
    background: var(--color_2);
    border-radius: 2em;
    color: #fff !important;
    display: flex;
        align-items: center;
        gap: 1em;
        justify-content: center;
    font-size: 1.14em;
    font-family: var(--f_serif);
    font-weight: 500;
    margin: min(8vw, 40px) auto 0;
    padding: .3em 1.4em;
    width: min(100%, 400px);
    min-height: 3.5em;
}
/* .fs-c-button--myPageTop::before , */
.fs-c-viewAllProductsLink::before {
    content: '';
    display: block;
}
.fs-c-wishlistProduct__viewAllProducts::before {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 17 14"><path fill="%23ffffff" d="M15.98,1.37c1.59,1.79,1.23,4.32-.42,6.28-2.21,2.27-4.57,4.39-7.06,6.35-2.49-1.96-4.84-4.09-7.06-6.35C-.21,5.68-.57,3.16,1.02,1.37c1.47-1.67,4.36-2.29,7.48.93,3.12-3.22,6.01-2.59,7.48-.93Z" /></svg>') no-repeat center / contain;
    width: 1.2em;
    height: 1.2em;
}
@media (hover: hover) {
    .linkBtn-color:hover,
    .fs-c-button--myPageTop:hover,
    a.fs-c-wishlistProduct__viewAllProducts:hover,
    .fs-c-viewAllProductsLink:hover {
        filter: brightness(1.1);
    }
}

@media screen and (max-width: 769px) {
    .fs-c-button--standard,
    .linkBtn ,
    .fs-c-button--myPageTop,
    .fs-c-viewAllProductsLink {
        width: min(85%, 500px);
    }
    
}
@media print, screen and (min-width: 769px) {
}
.icon-mail {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 18 13"><path fill="%23b3040e" d="M15.9,0H2.1C.93,0,0,.97,0,2.14v8.72c0,1.17.93,2.13,2.1,2.14h13.8c1.17,0,2.11-.96,2.1-2.14,0,0,0,0,0,0V2.14c0-1.17-.93-2.13-2.1-2.14ZM17,11.44l-.4.48-5.6-4.65-.87.84c-.64.6-1.63.6-2.27,0l-.87-.84L1.4,11.92l-.4-.48,5.25-4.89L.97,1.49l.31-.42,7.72,5.96,7.72-5.96.31.42-5.29,5.06,5.25,4.89Z" /></svg>') no-repeat center;
    display: inline-block;
    width: 1.2em;
    height: 1.2em;
}

.text_dots {
  background-image: radial-gradient(circle at center, var(--red) 20%, transparent 20%);
  background-position: top right;
  background-repeat: repeat-x;
  background-size: .93em .3em;
  padding-top: .3em;
}

small, .small {
	font-size: .8em;
}
big, .big {
	font-size: 1.2em;
}
strong {
	font-weight: bold;
}
sup {
	font-size: .5em;
	vertical-align: .5em;
}

.txt-left {
	text-align: left;
}
.txt-right {
	text-align: right;
}
.txt-center {
	text-align: center;
}
.txt-justify {
	text-align: justify;
}

@media screen and (max-width: 769px) {
}
@media print, screen and (min-width: 769px) {
    .txt-center-pc {
        text-align: center;
    }
}


h1, h2, h3, h4, h5, h6 {
    font-family: var(--f_serif);
	font-weight: 500;
	line-height: 1.6;
}
h1 {font-size: 2.2em;}

/* ////////// mobile ////////// */
@media screen and (max-width: 991.9px) {
    h2 {font-size: min(5.3vw, 22px);}
    h3 {font-size: min(4.8vw, 20px);}
    h4 {font-size: min(4.2vw, 1.15em);}
    h5 {font-size: min(4.1vw, 1.1em);}
}

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

/* ////////// PC ////////// */
@media print, screen and (min-width: 992px) {
    h2 {font-size: min(2.4vw, 24px);}
    h3 {font-size: min(2.2vw, 20px);}
    h4 {font-size: min(2.6vw, 1.15em);}
    h5 {font-size: min(2.4vw, 1.1em);}
}


.dl-dt_line dt {
    border-bottom: solid 1px var(--color_2);
    display: inline-block;
    font-size: 1.1em;
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: .7em;
    padding-bottom: .5em;
}

.border_box {
    border: solid 1px var(--color_2);
    border-radius: 15px;
    padding: .8em 1.2em;
}
.border_box2 {
    border: solid 1px var(--color_3);
    border-radius: 15px;
    padding: .8em 1.2em;
}
.border_box3 {
    border: solid 1px var(--l_gray);
    border-radius: 15px;
    padding: .8em 1.2em;
}

.bg_color_box {
    background-color: var(--color_4);
    padding: .8em 1.2em;
}

/*====================================================
//id |  form
====================================================*/
input, button, select {
	margin: 0;
	padding: 0;
	background: none;
	background-image: none;
	background-position-x: initial;
	background-position-y: initial;
	background-size: initial;
	background-attachment: initial;
	background-origin: initial;
	background-clip: initial;
	background-color: initial;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	color: inherit;
	cursor: pointer;
}
input[type="text"],input[type="email"],input[type="tel"],input[type="search"],input[type="password"],input[type="url"],input[type="number"],input[type="date"], select, textarea {
	-webkit-appearance: none;
	background: #fff;
	border: solid 1px #ACACAC;
	border-radius: 2px;
	color: var(--black);
	display: block;
	font-family: var(--font_family);
	line-height: 1.4;
    padding: .6em 1em;
	width: 100%;
	flex: 1;
	transition: .3s ease-in-out;
}
input[type="text"]:focus {
    border: none;
}
.input-s {
    max-width: 15em;
}
textarea {
	resize: vertical;
	line-height: 1.6;
	min-height: 80px;
	width: 100%;
}
::-moz-placeholder {
	color: #C9C9C9;
	font-size: .85em;
}
:-ms-input-placeholder {
	color: #C9C9C9;
	font-size: .85em;
}
::placeholder {
	color: #C9C9C9;
	font-size: .85em;
}

input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus, select:focus, textarea:focus {
}
input[type="file"],
label {
	cursor: pointer;
}
form label {
	line-height: 1.6;
	display: inline-block;
	position: relative;
}
.fs-c-radio__radio:checked:enabled + label > .fs-c-radio__radioMark {
    border-color: var(--color_1);
}
.fs-c-radio__radio:checked:enabled + label > .fs-c-radio__radioMark::before {
    background: var(--color_1);
}

.fs-c-checkbox__checkMark,
.fs-c-radio__radioMark {
    display: none;
}
input[type="checkbox"] + span ,
input[type="checkbox"] + label {
	position: relative;
	padding-left: 1.5em;
	display: inline-block;
}
.wpcf7-acceptance > .wpcf7-list-item:before ,
input[type="checkbox"] + span:before ,
input[type="checkbox"] + label:before {
	position: absolute;
	content: '';
	width: 1em;
	height: 1em;
	border: solid 1px;
	border-radius: 3px;
	border-color: var(--black);
	top: .05em;
	left: 0px;
	background: #fff;
	transition: .3s ease-in-out;
}
input[type="checkbox"] + label:before {
	top: .25em;
}
.wpcf7-acceptance > .wpcf7-list-item:after ,
input[type="checkbox"] + span:after ,
input[type="checkbox"] + label:after {
	position: absolute;
	content: '';
	width: .7em;
	height: .35em;
	border: solid;
	border-width: 0 0 3px 3px;
	border-color: transparent transparent var(--red) var(--red);
	transform: rotate(-45deg) translateY(.1em);
	top: .2em;
	left: 3px;
	opacity: 0;
	transition: .3s ease-in-out;
}
input[type="checkbox"] + label:after {
	top: .25em;
}
.wpcf7-acceptance > .wpcf7-list-item:has(input[type="checkbox"]:checked):after ,
input[type="checkbox"]:checked + span:after ,
input[type="checkbox"]:checked + label:after {
	opacity: 1;
}
input[type="radio"] + span ,
input[type="radio"] + label {
	position: relative;
	padding-left: 1.5em;
}
input[type="radio"] + span:before,
input[type="radio"] + label:before {
    background: #fff;
	content: '';
	border: solid 1px;
	border-radius: 100%;
	border-color: var(--d_gray);
	position: absolute;
        top: .3em;
        left: 0px;
	transition: .3s ease-in-out;
	width: 1em;
	height: 1em;
}
input[type="radio"] + span:after,
input[type="radio"] + label:after {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 10 10"><path fill="%23de3030" d="M10,5c0,2.76-2.24,5-5,5S0,7.76,0,5,2.24,0,5,0s5,2.24,5,5Z" /></svg>') no-repeat center;
    background-size: 60% 60%;
	content: '';
	border: solid 1px transparent;
	border-radius: 100%;
    opacity: 0;
	position: absolute;
        top: .3em;
        left: 0px;
	transition: .2s ease-in-out;
	width: 1em;
	height: 1em;
}
input[type="radio"]:checked + span:after,
input[type="radio"]:checked + label:after {
	opacity: 1;
}
.select {
	position: relative;
}
.select:before {
	border: solid var(--black);
	border-width: 0 1px 1px 0;
	content: '';
	display: block;
	margin: auto;
	pointer-events: none;
	position: absolute;
		top: 1.1em;
		right: 10px;
	transform: rotate(45deg);
	width: .3em;
	height: .3em;
	z-index: 100;
}
#confirm .select:before {
	display: none;
}
select {
	cursor: pointer;
}
.tel input[type="text"] {
	width: calc(100% / 3 - 10px);
	max-width: 100px;
}

@media screen and (max-width: 769px) {
	input[type="text"], input[type="email"], input[type="tel"], input[type="search"],
	input[type="password"], input[type="url"], input[type="number"], select, textarea,
	.vkfs input[type="text"], .vkfs input[type="search"] {
		padding: .7em .7em;
	}
}

/*====================================================
////id 【header】
====================================================*/
@media screen and (max-width: 1200.0px) {
    :root {
        --header_h: 60px;
    }
}
@media print, screen and (min-width: 1200.1px) {
    :root {
        --header_h: 84px;
    }
}

header {
    height: calc(var(--header_h) + (min(2.4vw, 14px) * 2));
    position: relative;
    z-index: 10000;
}
header.fs-l-header--min {
    border: none;
}
header .headerBox {
	background: rgba(255, 255, 255, 1);
    backdrop-filter: blur(3px);
    letter-spacing: 0;
	position: fixed;
		top: 0;
		left: 0;
	transition: .5s ease-in-out;
	width: 100%;
	z-index: 9999;
}
header.global .headerBox {
	background: rgba(255, 255, 255, .8);
}
.header-inner {
    display: flex;
        gap: min(2vw, 24px);
        align-items: center;
    height: var(--header_h);
    padding: 0;
}
.header-logo {
    display: flex;
        align-items: center;
    flex: 1;
}
.header-logo img {
    height: calc(var(--header_h) * .6);
}

/* ////////// PC ////////// NOTE header PC */
.header-menu-pc-wrapper {
    display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: min(3vw, 50px);
}
.header-menu-pc {
    display: flex;
        align-items: center;
        flex-wrap: wrap;
        grid-gap: .2em min(2vw, 40px);
        justify-content: flex-end;
    font-size: min(1.15vw, 15px);
    font-weight: 500;
    padding: 0;
    position: relative;
}
.header-menu-pc > .menu-item:has(.sub-menu) {
    position: unset;
}
.header-menu-pc > .menu-item:has(.sub-menu):hover::before {
    width: calc(100% + 80px);
}
.header-menu-pc > .menu-item:has(.sub-menu):hover::after {
    pointer-events: auto;
}
.header-menu-pc:not(.sub-menu) > .menu-item > a {
    min-width: 4em;
    padding: .2em 0;
    position: relative;
    text-align: center;
}
.header-menu-pc > .menu-item > a:hover {
    opacity: 1;
}
.header-menu-pc:not(.sub-menu) > .menu-item > a::before ,
.header-menu-pc:not(.sub-menu) > .menu-item > span::before {
    border-bottom: solid 2px var(--color_1);
    content: '';
    display: block;
    margin: auto;
    /* opacity: 0; */
    position: absolute;
        left: auto;
        right: 0;
        bottom: -1px;
    transition: .3s ease-in-out;
    width: 0;
    height: 0;
}
.header-menu-pc > .menu-item > a:hover::before {
    opacity: 1;
    left: 0;
    right: auto;
    width: 100%;
}

.header-menu-pc > .menu-item.current > a {
    pointer-events: none;
}
.header-menu-pc > .menu-item.current > a::before ,
.header-menu-pc > .menu-item.current > span::before {
    left: 0;
    right: 0;
    width: 12px;
}

.header-menu-pc .sub-menu-head {
    cursor: pointer;
    display: flex;
        align-items: center;
        gap: .3em;
    position: relative;
}
.header-menu-pc .sub-menu-head::after {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 22 15"><path fill="%231f0e00" d="M22,3.95l-11,11.05L0,3.95,3.92,0l7.08,7.11L18.07,0l3.93,3.95Z" /></svg>') no-repeat center / contain;
    content: '';
    display: block;
    transition: .2s ease-in-out;
    width: .4em;
    height: .4em;
}
.header-menu-pc .sub-menu-head::before {
    content: '';
    cursor: default;
    display: block;
    margin: auto;
    position: absolute;
        top: 100%;
        left: -50%;
        right: -50%;
    width: 200%;
    height: calc((var(--header_h) / 2) + 20px);
}
.header-menu-pc .menu-item.open .sub-menu-head {
    color: var(--color_1);
}
.header-menu-pc .menu-item.open .sub-menu-head::after {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 22 15"><path fill="%23B3040E" d="M22,3.95l-11,11.05L0,3.95,3.92,0l7.08,7.11L18.07,0l3.93,3.95Z" /></svg>') no-repeat center / contain;
    transform: rotate(180deg);
}
.header-menu-pc .menu-item.open .sub-menu-head::before {
    pointer-events: auto;
}

.header-menu-pc .sub-menu-outer {
    margin: auto;
    opacity: .8;
    overflow: hidden;
    pointer-events: none;
    position: fixed;
        top: calc(var(--header_h) + 20px);
        left: 0;
        right: 0;
    transition: height .3s ease-in-out;
    width: calc(100vw - (var(--innerBox_wide_margin) * 2));
    height: 0;
}
.header-menu-pc li:not(li:has(.sub-menu-outer):hover) .sub-menu-outer {
    height: 0 !important;
}
.header-menu-pc .open .sub-menu-outer {
    opacity: 1;
    pointer-events: auto;
}
.header-menu-pc .sub-menu-content-wrapeer {
    background-color: #fff;
    border: solid 3px var(--color_1);
    border-radius: 15px;
    display: grid;
        grid-gap: min(8vw, 50px);
    padding: min(5vw, 64px) min(4vw, 75px);
}
.header-menu-pc .sub-menu-content {
    display: grid;
        grid-gap: min(2vw, 38px);
        grid-template-columns: 116px 1fr;
    position: relative;
}
.header-menu-pc .sub-menu-content:not(.sub-menu-content:first-child)::before {
    background: url('../img/header/header-menu-line.svg') repeat-x left;
    background-size: 7px 2px;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: -24px;
        left: 0;
    width: 100%;
    height: 2px;
}
.header-menu-pc .sub-menu-title {
    background-color: #B85A60;
    border-radius: 5px;
    color: #fff;
    display: flex;
        align-items: center;
        justify-content: center;
    font-family: var(--f_serif);
    font-weight: 500;
    line-height: 1.35;
    text-align: center;
}
.header-menu-pc .sub-menu {
    background: repeating-linear-gradient(to right, #D1B3B5, #D1B3B5 1px, transparent 1px, transparent calc((100% / 3) - 1px));
    display: grid;
        grid-gap: min(1.5vw, 20px) 0;
        grid-template-columns: repeat(3, 1fr);
    font-size: min(1.15vw, 14px);
}
.header-menu-pc .sub-menu a {
    display: grid;
        align-items: center;
        grid-template-columns: 54px 1fr auto;
    padding: 0 min(1.8vw, 23px);
}
.header-menu-pc .sub-menu a figure {
    border-radius: 3px;
    padding-top: 100%;
}
.header-menu-pc .sub-menu a .text {
    margin-left: 12px;
}

.header-menu-pc .sub-menu-price {
    display: flex;
        flex-wrap: wrap;
        gap: 10px min(1.5vw, 24px);
    font-size: min(1.15vw, 14px);
}
.header-menu-pc .sub-menu-price a {
    background-color: #F5F5F5;
    border: solid 1px #DFDFDF;
    border-radius: 5px;
    color: var(--black);
    padding: .35em;
    text-align: center;
    width: 10.7em;
}

@media screen and (min-width: 1600px) {
    .header-menu-pc .sub-menu {
        background: repeating-linear-gradient(to right, #D1B3B5, #D1B3B5 1px, transparent 1px, transparent calc(25% - 1px));
        grid-template-columns: repeat(4, 1fr);
    }
    .header-menu-pc .sub-menu a {
        grid-template-columns: 64px 1fr auto;
    }
}

@media (hover: hover) {
    .header-menu-pc .sub-menu a:hover {
        color: var(--color_1);
    }
    .header-menu-pc .sub-menu a:hover img {
        transform: scale(1.1)
    }
    .header-menu-pc .sub-menu-price a:hover {
        background-color: #F1E7EA;
        border-color: var(--color_1);
        color: var(--color_1);
    }
}
@media print, screen and (min-width: 1200.1px) {
    .header-inner {
        margin: 0 0 0 auto;
        width: calc(100% - var(--innerBox_wide_margin));
    }
    header .header-menuBtn {
        display: none;
    }
}
@media print, screen and (min-width: 1600.1px) {
    .header-inner {
        margin: 0 var(--innerBox_wide_margin);
        width: calc(100% - (var(--innerBox_wide_margin) * 2));
    }
}


.header-search form {
    background-color: #F3F3F3;
    border-radius: 3em;
    display: flex;
    font-size: 14px;
}
.header-search input {
    background-color: transparent;
    border: none;
    min-height: 30px;
    padding: .5em 0 .5em 1em;
    width: auto;
}
.header-search button {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 20 20"><path fill="%231f0e00" d="M19.33,16.16l-2.05-2.05c2.66-4.4,1.25-10.11-3.15-12.77C9.72-1.31,4,.1,1.34,4.49-1.32,8.89.1,14.61,4.5,17.26c2.95,1.78,6.65,1.79,9.61.01l2.05,2.05c.86.89,2.28.9,3.17.04s.9-2.28.04-3.17c-.01-.01-.03-.03-.04-.04h0ZM13.36,13.36c-2.23,2.22-5.83,2.22-8.06,0-2.23-2.22-2.22-5.83,0-8.05,2.23-2.22,5.83-2.22,8.06,0,1.07,1.07,1.67,2.52,1.67,4.03,0,1.51-.6,2.96-1.67,4.03Z" /></svg>') no-repeat center;
    background-size: 1.3em;
    width: 60px;
}
@media screen and (min-width: 1200.1px) {
    .header-search input {
        width: min(13vw, 240px);
    }
}

/* ////////// ドロワーメニュー ////////// NOTE toggle_menu */

header .menu-outer {
	z-index: 30;
}
.header-menuBtn {
    background-color: #fff;
    border: solid 1px var(--color_1);
    border-radius: 5px;
	cursor: pointer;
    display: flex;
        align-items: center;
        justify-content: center;
    overflow: hidden;
	transition: .3s ease-in-out;
	width: 45px;
	height: 45px;
	z-index: 999995;
}
.header-menuBtn .humberger {
	margin: 0 auto;
	position: relative;
	transition: opacity .3s ease-in-out;
	width: 26px;
	height: 100%;
}
.header-menuBtn .humberger span {
	border-top: solid 2px var(--color_1);
	content: '';
	margin: auto;
	opacity: 1;
	position: absolute;
		top: 0;
        left: 0;
        right: 0;
		bottom: 0;
	transition: .3s ease-in-out;
	width: 100%;
	height: 0;
}
.header-menuBtn .humberger span:nth-child(1) {
    right: 0;
	transform: translateY(-7px);
}
.header-menuBtn .humberger span:nth-child(3) {
    left: 0;
	transform: translateY(7px);
}
header + .maskBox {
	background: transparent;
    /* backdrop-filter: blur(2px) grayscale(50%); */
	opacity: 0;
	pointer-events: none;
	position: fixed;
		top: 0;
		left: 0;
	transition: .5s ease-in-out;
	width: 100%;
	height: 100vh;
	height: 100svh;
	z-index: 888887;
}
header .header-menuBox {
	background: rgba(255, 255, 255, 1);
    border: solid 3px var(--color_1);
    border-radius: 15px;
    margin: auto;
	opacity: 0;
	overflow-y: auto;
	padding: min(10.5vw, 45px) min(8.5vw, 40px);
	pointer-events: none;
	position: fixed;
        top: var(--header_h);
        left: 0;
		right: 0;
	transition: .5s ease-in-out;
    transform: translateX(50px);
	width: calc(100% - (var(--innerBox_margin) * 2));
	max-height: calc(100vh - var(--header_h) - 20px);
	max-height: calc(100svh - var(--header_h) - 20px);
	z-index: 999999;

	overflow-y: scroll;
	-ms-overflow-style: none;    /* IE, Edge 対応 */
	scrollbar-width: none;       /* Firefox 対応 */
}
header .header-menuBox::-webkit-scrollbar {  /* Chrome, Safari 対応 */
	display:none;
}

.menu-open .header-menuBtn .humberger span {
    border-top-width: 2px;
    width: 80%;
}
.menu-open .header-menuBtn .humberger span:nth-child(1) {
	bottom: 0;
	transform: rotate(-135deg);
}
.menu-open .header-menuBtn .humberger span:nth-child(2) {
    opacity: 0;
    width: 0;
}
.menu-open .header-menuBtn .humberger span:nth-child(3) {
	top: 0;
	transform: rotate(135deg);
}

.menu-open header + .maskBox {
	opacity: 1;
	pointer-events: auto;
}
.menu-open header .header-menuBox {
	opacity: 1;
	pointer-events: auto;
	transform: none;
}

.header-menuBox-content {
    display: grid;
        grid-gap: min(8.5vw, 40px);
    font-weight: 500;
}
.header-menuBox-title {
    color: var(--color_1);
}
.header-menuBox-title.search-title {
    margin-bottom: .5em;
}
.header-menuBox-title.category-title {
    border-bottom: solid 1px #D1B3B5;
    margin-bottom: .8em;
    padding-bottom: .3em;
}
.header-menuBox-category-menu {
    display: grid;
        grid-gap: 16px min(2.93vw, 20px);
        grid-template-columns: repeat(auto-fit, minmax(13em, 1fr));
    font-size: min(2.95vw, 13px);
    line-height: 1.45;
}
.header-menuBox-category-menu a {
    display: grid;
        align-items: center;
        grid-gap: .6em 0;
        grid-template-columns: 1fr auto;
        grid-template-rows: subgrid;
    grid-row: span 2;
}
.header-menuBox-category-menu .img {
    grid-column: 1 / 3;
}
.header-menuBox-category-menu .coverImg {
    padding-top: 49.2%;
}
.header-menuBox-link {
    display: grid;
        grid-gap: 0 min(2vw, 40px);
        grid-template-columns: repeat(auto-fit, minmax(20em, 1fr));
}
.header-menuBox-link a {
    border-bottom: solid 1px #D1B3B5;
    color: var(--color_1);
    display: flex;
        align-items: center;
        justify-content: space-between;
    min-height: 3.57em;
}
.header-menuBox-link a::after {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 17 25"><path fill="%23b3040e" d="M17,12.5l-12.53,12.5L0,20.54l8.06-8.04L0,4.46,4.47,0l12.53,12.5Z" /></svg>') no-repeat center / contain;
    content: '';
    display: block;
    width: .4em;
    height: .4em;
}
@media screen and (max-width: 1200.0px) {
    header .header-menu-pc {
        display: none;
    }
    .header-inner {
        margin: 0 12px 0 var(--innerBox_margin);
        width: calc(100% - var(--innerBox_margin) - 12px);
    }
}
@media screen and (max-width: 769.0px) {
    .header-menuBox-category-menu {
        grid-template-columns: 1fr 1fr;
    }
}


.header-btn {
    display: flex;
}
.header-btn a {
    display: flex;
        align-items: center;
        flex-direction: column;
        gap: .5em;
        justify-content: center;
    font-weight: 500;
    line-height: 1;
    height: var(--header_h);
    margin: 0;
    padding: 0;
    position: relative;
}
.header-btn a .icon {
    content: '';
    display: block;
    width: 100%;
    height: 2.14em;
}
.header-btn #cartButton a .icon {
    background: url('../img/header/header-btn-cart.svg') no-repeat center / contain;
}
.header-btn #cartButton .fs-client-cart-count {
    border-radius: 100%;
    display: flex;
        align-items: center;
        justify-content: center;
    line-height: 1;
    padding-bottom: .05em;
    position: absolute;
        top: .5em;
        left: .5em;
    width: 1.8em;
    height: 1.8em;
}
.header-btn #cartButton .fs-client-cart-count.fs-client-cart-count--0 {
    display: none;
}

.header-btn .loginButton .login.my-true {
    display: none;
}
.header-btn .loginButton .mypage.my-false {
    display: none;
}
.header-btn #loginButton a .icon ,
.header-btn #logoutButton a .icon,
.header-btn .loginButton a .icon {
    background: url('../img/header/header-btn-account.svg') no-repeat center / contain;
}

@media screen and (max-width: 1200.0px) {
    .header-btn a {
        color: var(--color_1) !important;
        width: 5.5em;
        font-size: min(2.4vw, 12px);
    }
    .header-btn a .icon {
        height: 1.55em;
    }
    .header-btn #cartButton .fs-client-cart-count {
        background-color: var(--color_1);
        color: #fff;
        font-size: .9em;
    }

}
@media screen and (max-width: 769.0px) {
    .header-menu-pc-wrapper {
        display: none;
    }
}

@media print, screen and (min-width: 1200.1px) {
    .header-btn a {
        color: #fff !important;
        font-size: min(1.1vw, 14px);
        position: relative;
        width: min(8vw, 100px);
    }
    .header-btn a::before,
    .header-btn a::after {
        border: solid #fff;
        border-width: 1px 0 0 1px;
        box-sizing: border-box;
        content: '';
        display: block;
        margin: auto;
        opacity: 0;
        position: absolute;
        transition: width .3s ease-in-out, height .3s ease-in-out;
        width: 0;
        height: 0;
    }
    .header-btn a::before {
        top: 4px;
        left: 4px;
    }
    .header-btn a::after {
        bottom: 4px;
        right: 4px;
        transform: rotate(180deg);
    }
    .header-btn #cartButton a {
        background-color: #B85A60;
    }
    .header-btn #cartButton .fs-client-cart-count {
        background-color: #fff;
        border: solid 1px var(--color_1);
        color: var(--color_1);
    }
    .header-btn #loginButton a ,
    .header-btn #logoutButton a {
        background-color: #B3040E;
    }
    .header-btn .loginButton a {
        background-color: #B3040E;
    }

    .header-btn a .icon {
        filter: brightness(0) invert(10);
    }

    @media (hover: hover) {
        .header-btn a:hover {
            filter: brightness(1.1);
        }
        .header-btn a:hover::before ,
        .header-btn a:hover::after {
            opacity: 1;
            width: calc(100% - 8px);
            height: calc(100% - 8px);
        }
    }

}

.header-message {
    background-color: #F1E7EA;
    display: flex;
        align-items: center;
        justify-content: center;
    font-size: min(2.4vw, 14px);
    font-weight: 500;
    height: 2em;
    text-align: center;
    white-space: nowrap;
}

body:not(.fs-body-top) .headerBox {
    display: grid;
}
body:not(.fs-body-top) .headerBox .header-message {
    grid-row: 1;
}

/*====================================================
////id |   loader
====================================================*/
.is-hide {
	display: none;
}
/* ローディング画面をフェードアウト */
.fadeout-bg {
	transition-property: opacity;
	transition-delay: 0s;
	transition-duration: 1.7s;
	opacity: 0;
	pointer-events: none;
}
/* ローディング画面 */
#loader {
	background: #fff;
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 999999;
}


/*====================================================
////id |  slick
====================================================*/
.fs-c-slick .slick-prev, 
.fs-c-slick .slick-next {
    background-color: transparent;
    transition: transform .2s ease-in-out;
}
.fs-c-slick .slick-prev:before, 
.fs-c-slick .slick-next:before {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 14 14"><path fill="%23B3040E" d="M7,0C3.38,0,.39,2.75.04,6.28c-.02.24-.04.47-.04.72,0,.3.02.59.06.88.4,3.16,2.9,5.66,6.06,6.06.29.04.58.06.88.06.24,0,.48-.01.72-.04,3.53-.36,6.28-3.34,6.28-6.96,0-3.87-3.13-7-7-7ZM6.28,9.38l-.72-.72,1.71-1.71-1.71-1.71.72-.72,2.43,2.43-2.43,2.43Z" /></svg>') no-repeat center / contain;
    content: '';
    display: block;
    margin: auto;
    opacity: 1;
    position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
    transition: .2s ease-in-out;
    width: 100%;
    height: 100%;
}
.fs-c-slick .slick-prev:before {
    transform: scale(-1, 1);
}
.fs-c-slick .slick-dots li button::before {
    background-color: #DFDFDF;
    border-radius: 100%;
    content: '';
}
.fs-c-slick .slick-dots li.slick-active button:before {
    background-color: var(--color_1);
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media (hover: hover) {
    .fs-c-slick .slick-prev:hover::before, 
    .fs-c-slick .slick-next:hover::before {
        width: 110%;
        height: 110%;
    }
}

/*====================================================
//class .sa
====================================================*/
.sa {
	opacity: 0;
}
.sa.show {
    animation: .8s ease-in-out forwards sa-show;
}
.sa.slow.show {
    animation: 1.2s ease-in-out forwards sa-show;
}
@keyframes sa-show {
    to {
        opacity: 1;
        transform: none;
    }
}
.sa.show_after {
	opacity: 1;
	transform: none;
	transition: 0s;
}
.sa-lr {
	transform: translate(-40px, 0);
}
.sa-rl {
	transform: translate(40px, 0);
}
.sa-up {
	transform: translate(0, 40px);
}
.sa-down {
	transform: translate(0, -40px);
}
.sa-scaleUp {
	transform: scale(.8);
}
.sa-scaleDown {
	transform: scale(1.2);
}
.sa-rotateL {
	transform: rotate(180deg);
}
.sa-rotateR {
	transform: rotate(-180deg);
}

.sa.slideShow {
	opacity: 1;
	position: relative;
	z-index: 1;
}
.sa.slideShow:before {
	background: var(--l_gray);
	content: '';
	position: absolute;
		top: 0;
		left: 0;
		right: auto;
	transition: .5s ease-in-out;
	width: 0;
	height: 100%;
	z-index: 10;
}
.sa.slideShow.slide-l_gray:before {
	background: var(--l_gray);
}
.sa.slideShow.show:before {
	-webkit-animation: anim-slide 1.3s ease-in-out forwards;
	        animation: anim-slide 1.3s ease-in-out forwards;
    -webkit-animation-delay: .4s;
            animation-delay: .4s;
}
@-webkit-keyframes anim-slide {
	0%   {}
	55%  { width: 100%; left: 0; right: 0;}
	65% { width: 100%; left: auto; right: 0; }
	100% { width: 0; left: auto; right: 0; }
}
@keyframes anim-slide {
	0%   {}
	47%  { width: 100%; left: 0; right: 0;}
	53% { width: 100%; left: auto; right: 0; }
	100% { width: 0; left: auto; right: 0; }
}

.sa.slideShow:not(.show) > * {
	opacity: 0;
}
.sa.slideShow.show > * {
    animation: anim-slide-item 1s ease-in-out forwards;
}
@keyframes anim-slide-item {
    0%, 99% { opacity: 0; }
    100% { opacity: 1; }
}

.sa.slideShow.slide-rl {
	transform: rotate(180deg);
}
.sa.slideShow.slide-rl img {
	transform: rotate(180deg);
}

.sa.slideShow.slide-white:before {
	background: #fff;
}


.sa.sa-imgScaleDown img {
    transform: scale(1.1);
}
.show.sa-imgScaleDown img {
    animation: 8s .6s ease-out forwards scaleDownImg;
}
@keyframes scaleDownImg {
    to {
        transform: none;
    }
}

/*====================================================
////class .wp-block-table
====================================================*/
/* p + .wp-block-table ,
.wp-block-table + .wp-block-table {
	margin: 1.5em 0;
} */
table ,
.wp-block-table table {
    background: transparent;
	border-collapse: separate;
    /* border: solid var(--color_4);
    border-width: 1px 0 0 1px; */
	border-spacing: 0;
	line-height: 1.6;
    /* overflow: hidden; */
	vertical-align: middle;
	/* width: 100%; */
}
.wp-block-table table {
    border-collapse: collapse;
}
table thead ,
.wp-block-table thead {
	border-bottom: none !important;
}
table th ,
table td ,
.wp-block-table thead th ,
.wp-block-table tr td {
	padding: 1em 0;
}
table * + th ,
table * + td {
    padding-left: 1.5em;
}

table thead th ,
.wp-block-table thead th {
    border-bottom: solid 2px #DFDFDF;
    font-weight: 500;
}
/* table thead th:last-child ,
.wp-block-table thead th:last-child {
    border: solid 1px var(--color_4);
} */
table tbody th ,
.wp-block-table tbody th {
    border-bottom: solid 1px #DFDFDF;
    font-weight: 500;
    text-align: left;
    /* white-space: nowrap; */
}
table td ,
.wp-block-table tr td {
    background: transparent;
    border: solid #DFDFDF;
    border-width: 0 0 1px 0;
    /* vertical-align: text-bottom; */
}

table tr td a ,
.wp-block-table tr td a {
	color: var(--color_2);
	-webkit-text-decoration: underline dotted 1px;
	text-decoration: underline dotted 1px;
	text-underline-position: under;
	text-underline-offset: 0.1em;
}
table tr td .tel_link a ,
.wp-block-table tr td .tel_link a {
	color: inherit;
}

table tfoot ,
.bodyText .wp-block-table tfoot {
	border-top: none;
}
table tfoot td ,
.wp-block-table tfoot td {
    background: var(--l_gray);
    border: none;
    /* border-top: solid 1px var(--color_4); */
	text-align: center;
}
table figcaption ,
.wp-block-table figcaption {
	font-size: .8em;
	margin: .5em 0 0 1em;
}

/* .first-td-head table,
.wp-block-table.is-style-first-td-head table {
}
.first-td-head table th:first-child,
.wp-block-table.is-style-first-td-head th:first-child {
    position: sticky;
        left: 0;
} */
.first-td-head table td:first-child,
.wp-block-table.is-style-first-td-head td:first-child {
	/* background: var(--l_pink); */
    /* font-weight: 700; */
    /* position: sticky;
        left: 0; */
    white-space: nowrap;
}
/* .first-td-head table th:first-child::before,
.wp-block-table.is-style-first-td-head th:first-child::before,
.first-td-head table td:first-child::before,
.wp-block-table.is-style-first-td-head td:first-child::before {
    border-left: solid 1px var(--color_4);
    box-sizing: border-box;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
        left: 0;
    width: 100%;
    height: 100%;
} */


/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	table thead th ,
	table tr td ,
	.wp-block-table thead th ,
	.wp-block-table tr td {
	}

}

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

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
    /* .first-td-head {
        overflow-x: scroll;
    }
    .first-td-head table {
        width: 1000px;
    } */
}

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


/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	table,
	.wp-block-table.is-style-responsive table ,
	.wp-block-table.is-style-first-td-head table ,
	table tbody,
	.wp-block-table.is-style-responsive table tbody,
	.wp-block-table.is-style-first-td-head table tbody,
	table tr,
	.wp-block-table.is-style-responsive table tr,
	.wp-block-table.is-style-first-td-head table tr,
	table td,
	.wp-block-table.is-style-responsive table td ,
	.wp-block-table.is-style-first-td-head table td {
		display: block;
	}
	table,
	.wp-block-table.is-style-responsive table ,
	.wp-block-table.is-style-first-td-head table {
		border: none;
	}
	table thead,
	.wp-block-table.is-style-responsive thead ,
	.wp-block-table.is-style-first-td-head thead {
		display: none;
	}
	table tr,
	.wp-block-table.is-style-responsive tr ,
	.wp-block-table.is-style-first-td-head tr {
		position: relative;
		width: 100%;
	}
	table th,
	table tbody th,
	table td:first-child {
        background-color: transparent;
        border-bottom: none;
        /* border-bottom: solid 1px #CFCFCF; */
        display: block;
        padding: 0 0 .8em;
		width: 100%;
	}

	table td,
	.wp-block-table.is-style-responsive td ,
	.wp-block-table.is-style-first-td-head td {
		border: none;
        padding: 0 0 .8em;
		transition: .4s ease;
		width: 100%;
	}
	table td + td,
	.wp-block-table.is-style-responsive td + td ,
	.wp-block-table.is-style-first-td-head td + td {
        /* border-top: dotted 1px #CFCFCF; */
    }
	.wp-block-table.is-style-first-td-head td:nth-child(2) {
        border-top: none;
    }
	table td:last-child,
	.wp-block-table.is-style-responsive td:last-child ,
	.wp-block-table.is-style-first-td-head td:last-child {
        border-bottom: solid 1px #DFDFDF;
        margin-bottom: 1em;
        padding-bottom: 1em;
    }
	table tr:last-child td:last-child {
        margin-bottom: 0;
    }
	/* table tr:last-child td + td:last-child,
	.wp-block-table.is-style-responsive tr:last-child td + td:last-child {
        border-bottom: solid 1px var(--color_4);
    } */

    table tr:has(.th_label) {
        display: grid;
            grid-template-columns: auto 1fr;
    }
    table tr:has(.th_label) > * {
        display: grid;
            align-items: center;
            grid-template-columns: subgrid;
            grid-column: span 2;
            grid-gap: min(6vw, 40px);
    }
    table tr:has(.th_label) th > div{
        grid-column: 1 / 3;
    }
    table tr:has(.th_label) td.th_label {
    }
	table td.th_label:before {
		content: attr(data-label);
        font-size: .8em;
		font-weight: 500;
        padding-left: 1em;
	}
	table td.th_label:first-child::before {
        display: none;
    }
    table td.th_label:first-child > * {
        grid-column: span 2;
    }
	table tr:has(.th_label):last-child td + td:last-child,
	.wp-block-table.is-style-responsive tr:has(.th_label):last-child td + td:last-child {
        border-bottom: none;
    }
}

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

/* ////////// PC ////////// */
@media print, screen and (min-width: 769.1px) {
	table td.blank .blank_line {
		background: #fff;
		display: block;
		margin: -8px auto -8px -12px;
		position: relative;
		width: 3px;
		height: calc(100% + 16px);
		z-index: 1;
	}
    table tbody th ,
    .wp-block-table tbody th {
        white-space: nowrap;
    }

}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

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

/*====================================================
////class .tabBox
====================================================*/
.tabBox {
	overflow: hidden;
	position: relative;
}
.tabBox .tabArea {
	grid-gap: 4px;
	position: relative;
	z-index: 5;
}
.tabBox .tabArea li {
	background: var(--l_gray);
	border: solid 1px var(--color_4);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1;
	height: 50px;
	line-height: 1.2;
	padding: 5px;
}
.tabBox .tabArea li.current {
	background: #fff;
	border-bottom-color: #fff;
	cursor: default;
	pointer-events: none;
}
.tabBox .tabArea li a {
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	width: 100%;
	height: 100%;
}
.tabBox .tabArea li.current a {
	pointer-events: none;
}
.tabBox .contentArea {
	background: #fff;
	border: solid 1px var(--color_4);
	margin-top: -1px;
	position: relative;
	transition: .4s all;
}
.tabBox .contentArea .tab_content {
	transition: 1.2s all;
	transition-delay: .4s;
}
.tabBox .contentArea .tab_content:not(.current) {
	opacity: 0;
	pointer-events: none;
	position: absolute;
	transition: .6s all;
	transition-delay: 0s;
	width: 100%;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 768px) {
	.tabBox .tabArea {
		display: flex;
	}
	.tabBox .tabArea .tab {
		flex: 1;
		font-size: 11px;
		height: auto;
		min-height: 40px;
		padding: 6px 3px;
	}
	.tabBox .contentArea .tab_content {
		padding: 1.5em 1em;
	}
}

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

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	.tabBox .contentArea .tab_content {
		padding: 2em;
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:959px) {
}

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

/*====================================================
////id |  mapBox
====================================================*/
.mapBox > div {
	overflow: hidden;
	position: relative;
}
.mapBox iframe {
	margin: auto;
	position: absolute;
		top: 0;
	width: 100%;
	height: 100%;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	.mapBox > div {
		width: 100%;
		height: min(80vw, 400px);
	}
}

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

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	.mapBox > div {
		width: 100%;
		height: 400px;
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

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

/*====================================================
////id |  long_banner
====================================================*/
.long_banner-inner {
    display: grid;
        grid-gap: min(3.2vw, 40px);
    max-width: 1300px;
    padding: min(13vw, 90px) 0 0;
}
.column2_banner + #long_banner-2 .long_banner-inner {
    padding-top: min(3.2vw, 40px);
}

/* ////////// mobile ////////// */
@media screen and (max-width: 960.0px) {
    .long_banner-inner {
        max-width: 700px;
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 960.1px) {
}

@media (hover: hover) {
    .long_banner a.long_banner-item:hover {
        transform: scale(1.02);
    }
}

/*====================================================
////id |  column2_banner
====================================================*/
.column2_banner {
    display: grid;
        grid-gap: min(3.2vw, 40px);
    max-width: 1300px;
    padding: min(13vw, 90px) 0 0;
}
.column2_banner .fs-pt-column__heading,
.column2_banner .fs-pt-column__description {
    display: none;
}
.column2_banner .fs-pt-column__item {
    padding: 0;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 960.0px) {
    .column2_banner {
        max-width: 700px;
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 960.1px) {
    .column2_banner {
        grid-template-columns: 1fr 1fr;
    }
}

@media (hover: hover) {
    .column2_banner a.fs-pt-column__item:hover {
        transform: scale(1.02);
    }
}


/*====================================================
////id |  news_list
====================================================*/
.news_list .fs-pt-column__item {
    border-bottom: solid 1px #DFDFDF;
    display: grid;
        grid-gap: .5em;
    font-weight: 500;
    line-height: 1.4;
    padding: min(6.5vw, 40px) 0;
}
.news_list .fs-pt-column__heading {
    color: var(--color_1);
}
.news_list .fs-pt-column__description {
    margin-top: 0;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 960.0px) {
    .news_list .fs-pt-column__heading {
        margin-bottom: .4em;
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 960.1px) {
    .news_list .fs-pt-column__item {
        display: grid;
            grid-template-columns: 8em 1fr;
    }
}

@media (hover: hover) {
    .news_list .fs-pt-column__item:hover {
        color: var(--color_2);
    }
}


/*====================================================
////id |  cmn_guide
====================================================*/
#cmn_guide {
    background-color: #F3F1F1;
}
.cmn_guide-head {
    text-align: center;
    margin-bottom: 1.5em;
}
.cmn_guide-item {
    background-color: #fff;
    border-radius: 3px;
    display: grid;
}
.cmn_guide-item.on_text {
    grid-template-rows: auto 1fr;
}
.cmn_guide-item-title {
    display: grid;
        align-items: center;
        grid-template-columns: min(17.5%, 80px) 1fr;
    font-weight: 500;
    line-height: 1.4;
}
.cmn_guide-item-title .attention {
    font-size: .64em;
}
.cmn_guide-item-text {
    font-size: min(3.75vw, 14px);
    margin-top: 1em;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769.0px) {
    .cmn_guide-head {
        font-size: min(5.5vw, 30px);
    }
    .cmn_guide-item-wrapper {
        display: grid;
            grid-gap: min(2vw, 30px);
    }
    .cmn_guide-item {
        font-size: min(4.2vw, 20px);
        padding: min(5vw, 30px) min(5vw, 30px);
    }
    .cmn_guide-item-title {
        grid-gap: min(5vw, 24px);
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769.1px) {
    .cmn_guide-head {
        font-size: min(3.5vw, 35px);
    }
    .cmn_guide-item-wrapper {
        display: grid;
            grid-gap: min(2vw, 30px);
            grid-template-columns: 1fr 1fr;
    }
    .cmn_guide-item {
        font-size: min(2.2vw, 22px);
        min-height: 7em;
        padding: min(3vw, 30px) min(3vw, 30px);
    }
    .cmn_guide-item-title {
        grid-gap: min(1.5vw, 24px);
    }
}
@media screen and (min-width: 1400.1px) {
    .cmn_guide-item-wrapper {
        grid-gap: min(1.5vw, 30px);
        grid-template-columns: 1fr 1fr 1fr;
    }
    .cmn_guide-item {
        font-size: min(1.4vw, 22px);
    }
}
@media (hover: hover) {}

/*====================================================
////id |  page_title
====================================================*/
.page_title-inner {
    padding: 50px 0;
}
.page_title-head {
    position: relative;
    text-align: center;
}
.page_title-head::after {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 111 10"><path fill="%23B21838" d="M110.98,1.37s0-.02,0-.03c-.06-.56-.57-.97-1.14-.91-2.64.42-5.24-.11-7.88-.18-2.62-.14-5.24-.22-7.87-.25-7.67-.02-15.48.15-22.83,2.79-8.41-3.72-30.6-1.79-38.91-.99-7.84.81-15.63,2.03-23.34,3.65-2.56.65-5.16,1.13-7.78,1.45h0C-.9,7.25,0,10.69,1.9,9.88c2.41-1.06,4.93-1.86,7.5-2.39,2.54-.63,5.09-1.2,7.65-1.73,10.23-2.1,20.61-3.37,31.05-3.79,5.21-.25,10.42-.15,15.62.3,2.05.13,4.07.52,6.02,1.16-1.03.58-1.84,1.49-2.27,2.61-.43.87-.36,1.91.19,2.72,1.14,1.16,2.96,1.33,4.29.4,1.58-1.13,2.51-4.28.67-5.62.7-.21,1.4-.41,2.11-.6,3.78-.95,7.66-1.46,11.55-1.54,5.21-.19,10.43-.12,15.64.22,2.61.24,5.24.12,7.79,1.02.68.28,1.42-.43,1.28-1.25ZM72.55,5.04c.24,1.17-.19,2.38-1.12,3.14-.95.63-2.2.55-3.06-.19-.27-.46-.27-1.03-.01-1.5.45-1.18,1.43-2.08,2.65-2.42.09-.03.19-.06.28-.09.52.23.96.6,1.27,1.07Z" /></svg>') no-repeat center / contain;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: calc(100% + .2em);
        left: 0;
        right: 0;
    width: 100%;
    height: .4em;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769.0px) {
    .page_title-head {
        font-size: min(6.5vw, 25px);
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769.1px) {
    .page_title-head {
        font-size: min(2.5vw, 25px);
    }
}

/*====================================================
////id |  fs-c-breadcrumb
====================================================*/
.fs-c-breadcrumb {
    font-size: min(2.6vw, 12px);
    line-height: 1;
    margin: min(4vw, 20px) auto min(6vw, 30px);
	width: calc(100% - (var(--innerBox_margin) * 2));
}
div.fs-c-breadcrumb {
    display: none;
}
.fs-c-breadcrumb__list {
    display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: .5em 1.4em;
}
.fs-c-breadcrumb__listItem {
    position: relative;
}
.fs-c-breadcrumb__listItem::before {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 7 11"><path fill="%231f0e00" d="M7,5.5L1.51,11l-1.51-1.51,3.99-3.99L0,1.51,1.51,0l5.49,5.5Z" /></svg>') no-repeat center;
    background-size: .3em auto;
    content: '' !important;
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
        left: 100%;
        bottom: 0;
    width: 1.5em;
    height: 100%;
}
.fs-c-breadcrumb__listItem:last-child::before {
    display: none;
}
.fs-c-breadcrumb__listItem a {
    color: var(--black);
}
.fs-c-breadcrumb__listItem:first-child a {
    color: #fff;
    overflow: hidden;
    position: relative;
    width: 1em;
    height: 1em;
}
.fs-c-breadcrumb__listItem:first-child a::after {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 10 10"><path fill="%23b85a60" d="M5,0L0,4.17v5.83h3.33v-3.33h3.33v3.33h3.33v-5.83L5,0Z" /></svg>') no-repeat center / contain;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
        left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769.0px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769.1px) {
}


/*====================================================
////id |  fs-c-productListCarousel
====================================================*/
.fs-c-productListCarousel {
    display: grid;
    position: relative;
}
.fs-c-productListCarousel__ctrl {
    display: flex;
        align-items: center;
    margin: auto;
    position: absolute;
        top: 0;
        bottom: 0;
}
.fs-c-productListCarousel__ctrl.slick-disabled {
    opacity: 0;
    pointer-events: none;
}
.fs-c-productListCarousel__ctrl.fs-c-productListCarousel__ctrl--prev {
    left: calc(min(4vw, 25px) * -1);
}
.fs-c-productListCarousel__ctrl.fs-c-productListCarousel__ctrl--next {
    right: calc(min(4vw, 25px) * -1);
}

.fs-c-productListCarousel__ctrl .fs-c-button--carousel {
    background: #5c5b5b;
    border-radius: 100%;
    cursor: pointer;
    display: block;
    margin: auto;
    opacity: .65;
    position: relative;
        top: 0;
        bottom: 0;
    transition: .2s ease-in-out;
    width: min(8vw, 50px);
    height: min(8vw, 50px);
    z-index: 10;
}
.fs-c-productListCarousel__ctrl .fs-c-button--carousel::before {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 7 11"><path fill="%23ffffff" d="M7,5.5L1.57,11l-1.57-1.59,3.86-3.91L0,1.59,1.57,0l5.43,5.5Z" /></svg>') no-repeat center / contain;
    border-radius: 100%;
    content: '';
    display: block;
    margin: auto;
    padding-top: 100%;
    position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
    width: 30%;
    height: 30%;
}
.fs-c-productListCarousel__ctrl .fs-c-button--carousel--prev::before {
    transform: scale(-1, 1);
}
.fs-c-productListCarousel__ctrl .fs-c-button__label {
    display: none;
}
.fs-c-productListCarousel .slick-slide {
    padding-right: min(4.5vw, 40px);
}
.fs-c-productListCarousel .slick-slide:last-child {
    padding-right: 0;
}
.fs-c-productListCarousel .slick-slide > div {
    width: min(65vw, 340px);
}
.fs-c-productListCarousel__list__item {
    max-width: none;
    min-width: 100px;
}
.fs-c-productListCarousel .fs-c-productListItem__productName {
    font-family: var(--font_family);
    font-size: min(3.8vw, 18px);
    margin: 0 !important;
}
.fs-c-productListCarousel .fs-c-productMarks,
.fs-c-productListCarousel .fs-c-productListItem__salesPeriod,
.fs-c-productListCarousel .fs-c-productListItem__control ,
.fs-c-productListCarousel .fs-c-productListItem__productDescription {
    display: none;
}
/* .fs-c-wishlistProduct__footer {
    display: flex;
        justify-content: center;
    margin-top: min(10vw, 40px);
} */

.fr3-item img {
    transition: transform .2s ease-in-out;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769.0px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769.1px) {
}

@media (hover: hover) {
    .fr3-item a:hover {
        color: var(--color_1);
    }
    .fr3-item a:hover img {
        transform: scale(1.02);
    }
}

/*====================================================
////class ai recommend
====================================================*/
.fr3-productListCarousel-wrapper .fr3-item__rank {
    background-color: transparent;
    background: linear-gradient(170deg, #B3040E, #D87572, #C9474A);
    border-radius: 0;
    clip-path: polygon(.65em 0, calc(100% - .65em) 0, 100% 50%, calc(100% - .65em) 100%, .65em 100%, 0 50%);
    color: #fff;
    display: flex;
        align-items: center;
        justify-content: center;
    font-family: var(--f_serif);
    font-size: 1.5em;
    margin-left: .7em;
    position: relative;
    transform: translateY(.5em);
    width: 2.5em;
    height: 2.2em;
    z-index: 10;
}

.fr3-productListCarousel-wrapper .fr3-productListCarousel {
    /* margin: 0 -32px;
    width: calc(100% + 62px); */
    position: relative;
    grid-template-columns: 1fr;
}
.fr3-productListCarousel-wrapper .fr3-productListCarousel__Button {
    background: #5c5b5b;
    border-radius: 100%;
    margin: auto;
    opacity: .65;
    position: absolute;
        top: 0;
        bottom: 0;
    transition: .2s ease-in-out;
    width: min(8vw, 50px);
    height: min(8vw, 50px);
    z-index: 10;
}
.fr3-productListCarousel-wrapper .fr3-productListCarousel__Button:disabled {
    opacity: 0;
}
.fr3-productListCarousel-wrapper .fr3-productListCarousel__prevButton {
    left: calc(min(4vw, 25px) * -1);
}
.fr3-productListCarousel-wrapper .fr3-productListCarousel__nextButton {
    right: calc(min(4vw, 25px) * -1);
}
.fr3-productListCarousel-wrapper .fr3-productListCarousel__Button img {
    display: none;
}
.fr3-productListCarousel-wrapper .fr3-productListCarousel__Button::before {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 7 11"><path fill="%23ffffff" d="M7,5.5L1.57,11l-1.57-1.59,3.86-3.91L0,1.59,1.57,0l5.43,5.5Z" /></svg>') no-repeat center / contain;
    border-radius: 100%;
    content: '';
    display: block;
    margin: auto;
    padding-top: 100%;
    position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
    width: 30%;
    height: 30%;
}
.fr3-productListCarousel-wrapper .fr3-productListCarousel__prevButton::before {
    transform: scale(-1, 1);
}
.fr3-productListCarousel-wrapper .fr3-productListCarousel__slides {
    grid-gap: min(4.5vw, 40px);
    padding-bottom: 20px;
}
.fr3-productListCarousel-wrapper .fr3-productListCarousel__slides::-webkit-scrollbar {
  height: 7px;
  width: 7px;
}
.fr3-productListCarousel-wrapper .fr3-productListCarousel__slides::-webkit-scrollbar-thumb {
  background: #e7d8dd;
  border-radius: 20px;
}
.fr3-productListCarousel-wrapper .fr3-productListCarousel__slides::-webkit-scrollbar-track {
  background: #F3F1F1;
  border-radius: 20px;
}

/* .fr3-productListCarousel-wrapper .fr3-item__productName ,
.fr3-productListCarousel-wrapper .fr3-item__productPrice {
    font-size: min(3.2vw, 15px);
} */

.fr3-productListCarousel-wrapper .fr3-item__productName,
.fr3-productListCarousel-wrapper .fr3-item__productPrice,
.fr3-productListCarousel-wrapper .fr3-item__productPrice__price {
    font-size: min(3.8vw, 18px);
}

@media (hover: hover) {
    .fr3-productListCarousel-wrapper .fr3-productListCarousel__Button:hover {
        opacity: .85;
        transform: scale(1.05);
    }
}


/*====================================================
////class main
====================================================*/
.fs-l-main {
    margin: 0 auto;
	padding: min(8vw, 40px) 0 min(15vw, 120px);
	position: relative;
	width: calc(100% - (var(--innerBox_margin) * 2));
        max-width: none;
	z-index: 2;
}
.fs-l-pageMain {
    max-width: none;
}

#main {
    margin: 0 auto;
    max-width: 1100px;
}
/*====================================================
////class 旧レイアウト対応
====================================================*/
#topicPath,
#guide_ttl,
.pageTitle {
    display: none;
}


/*====================================================
////class フリー装飾
====================================================*/
/* main:not(.layout_setting) * + section {
    padding-top: min(12vw, 80px);
} */
main:not(.layout_setting) h2:not(.fs-c-productListItem__productName):not(.original) {
    border-bottom: solid 1px !important;
    color: var(--color_1);
    display: block;
    font-size: min(5.4vw, 24px) !important;
    font-weight: 500;
    padding-bottom: .4em !important;
}
main:not(.layout_setting) h3:not(.original) {
    background-color: var(--color_3);
    color: var(--black);
    padding: .4em .8em;
}
main:not(.layout_setting) h2:not(.original),
main:not(.layout_setting) h3:not(.original),
main:not(.layout_setting) h4:not(.original),
main:not(.layout_setting) h5:not(.original) {
    margin-bottom: 1em;
}
main:not(.layout_setting) * + h2:not(.original),
main:not(.layout_setting) * + h3:not(.original),
main:not(.layout_setting) * + h4:not(.original),
main:not(.layout_setting) * + h5:not(.original) {
    margin-top: 2em;
}
main:not(.layout_setting) * + p,
main:not(.layout_setting) * + dl ,
main:not(.layout_setting) * + table {
    margin-top: 1.3em;
}
main:not(.layout_setting) * + ol,
main:not(.layout_setting) * + ul.markList {
    margin-top: .8em;
}

.fs-c-documentColumn__content {
    display: block;
}

/*====================================================
////id |  cart
====================================================*/
.fs-l-cart {
    display: grid;
        grid-gap: min(10vw, 50px);
}
.fs-body-cart .fs-l-cart__contentsArea {
    margin-bottom: 0;
}
.fs-c-cartTableContainer {
    border: none;
    font-size: min(3.2vw, 14px);
    padding: 0;
}
.fs-c-cartTable__headerCell {
    font-size: .8em;
}
.fs-c-cartTable__message {
    background: var(--color_3);
    color: inherit;
    padding: .2em .8em;
}
.fs-c-listedProductName__name {
    color: var(--black);
    margin-bottom: .4em;
}
.fs-c-quantity__select {
    min-width: 4em;
    text-align: right;
}
.fs-c-button--cancel--cart {
    color: #fff !important;
    filter: grayscale(10);
    font-size: 10px;
    overflow: hidden;
    position: relative;
    transition: filter .2s ease-in-out;
    width: 20px;
    height: 26px;
}
.fs-c-button--cancel--cart::after {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 16 18"><path fill="%23B3040E" d="M1.73,15.78c0,.47.06.9.19,1.27.18.48.48.83.93.92.09.02.19.03.29.03h9.76s.05,0,.07,0c.93-.06,1.31-1.03,1.31-2.21l.39-9.47H1.34l.39,9.47ZM10.66,8.43h1.85v7.46h-1.85v-7.46ZM7.07,8.43h1.85v7.46h-1.85v-7.46h0ZM3.49,8.43h1.86v7.46h-1.86v-7.46ZM11.97,3.14c0-.07,0-.14,0-.21v-.2c0-1.5-1.22-2.73-2.73-2.73h-2.49c-1.51,0-2.73,1.22-2.73,2.73v.2c0,.07,0,.14.01.21H0v2.2h16v-2.2h-4.03ZM10.26,2.92c0,.07,0,.14-.02.21h-4.48c-.01-.07-.02-.14-.02-.21v-.2c0-.56.46-1.02,1.02-1.02h2.49c.56,0,1.02.46,1.02,1.02v.2h0Z" /></svg>') no-repeat center / contain;
	content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
    width: 15px;
    height: 26px;
}
.fs-c-cartTable__actionButton__container--buyItLater {
    display: none;
}
.fs-c-button--primary {
    background-color: var(--color_2);
    border: none;
    border-radius: 2em;
    color: #fff;
    display: flex;
        align-items: center;
        gap: 1em;
        justify-content: center;
    font-size: min(4vw, 16px);
    font-family: var(--f_serif);
    font-weight: 500;
    margin: 0;
    padding: .3em 1.4em;
    width: min(100%, 400px);
    min-height: 4em;
}

.cart_attention {
    display: grid;
        grid-gap: 10px;
}
.cart_attention dl {
    background: var(--color_4);
    border-radius: 10px;
    padding: .8em 1.2em;
}
.cart_attention dt {
    border-bottom: solid 1px var(--color_1);
    color: var(--color_1);
    display: inline-block;
    font-family: var(--f_serif);
    font-size: 1.2em;
    font-weight: 500;
    margin-bottom: .5em;
    padding-bottom: .2em;
}
.fs-c-confirmOrder {
    margin-top: .8em;
}
/* ////////// mobile ////////// */
@media screen and (max-width:600.0px) {
    .fs-c-cartTable__row {
        grid-gap: 0 1em;
        grid-template-columns: auto 1fr 3em;
        margin-bottom: 0;
        padding: 1em 0 .7em;
    }
    .fs-c-cartTable__dataCell--product {
        grid-column: 1 / 4;
    }
    .fs-c-cartTable__dataCell--quantity {
        grid-column: 1;
        grid-row: 2 / 4;
    }
    .fs-c-cartTable__dataCell--subtotal {
        grid-column: 2;
        grid-row: 2;
    }
    .fs-c-cartTable__dataCell--point {
        grid-column: 2;
        grid-row: 3;
        padding-top: 0;
    }
    .fs-c-cartTable__dataCell--action {
        border: none !important;
        grid-column: 3;
        grid-row: 2 / 4;
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }
    .fs-c-orderTotalTable {
        display: table;
    }
    .fs-c-orderTotalTable tbody {
        display: table-row-group;
    }
    .fs-c-orderTotalTable tr {
        display: table-row;
    }
    .fs-c-orderTotalTable th,
    .fs-c-orderTotalTable td {
        display: table-cell
    }
}

@media screen and (min-width:600.1px) and (max-width:769.0px) {
    .fs-c-cartTable {
        display: table;
    }
    .fs-c-cartTable thead {
        display: table-header-group;
    }
    .fs-c-cartTable thead th {
        display: table-cell;
    }
    .fs-c-cartTable tbody {
        display: table-row-group;
    }
    .fs-c-cartTable tr {
        display: table-row;
    }
    .fs-c-cartTable td {
        border-bottom: solid 1px #ccc !important;
        display: table-cell !important;
        width: auto;
        padding: 8px !important;
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769.1px) {
}

@media (hover: hover) {
    .fs-c-button--cancel--cart:hover {
        filter: none;
    }
}

/*====================================================
////id |  register
====================================================*/
.fs-body-register .fs-c-inputTable > tbody > tr + tr {
    margin-top: 0;
}
.fs-body-register .fs-c-inputTable__headerCell {
    border-bottom: 0;
    padding: 1em 0 0;
}
.fs-body-register .fs-c-inputTable__currentValueCell, 
.fs-body-register .fs-c-inputTable__dataCell {
    margin-bottom: 0;
    padding: 1em 0;
}
.fs-body-register .fs-c-inputField__explanation ,
.fs-body-register .fs-c-birthdayOnceMessage {
    font-size: .9em;
    margin-top: .7em;
}
.register-item-wrapper {
    display: grid;
        grid-gap: .8em;
    margin: 0 auto min(12vw, 60px);
}
.register-item {
    border: solid 1px var(--l_gray);
    padding: .6em 1.2em;
}
.register-item-no {
    background: var(--color_2);
    clip-path: polygon(0 0, 100% 0, calc(100% - .5em) 50%, 100% 100%, 0 100%);
    color: #fff;
    display: inline-block;
    font-family: var(--f_serif);
    font-size: 1.2em;
    line-height: 1;
    padding: .3em 1.5em .5em 1em;
    transform: translateX(-1.3em);
}
.register-item-no .no {
    font-size: 1.5em;
}
.fs-body-register .register-item p {
    font-weight: 500;
    margin-top: .8em;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769.0px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769.1px) {
    .register-item-wrapper {
        grid-template-columns: 1fr 1fr;
    }
}

@media (hover: hover) {}

/*====================================================
////id |  checkout
====================================================*/
.fs-body-checkout .fs-c-button--standard {
    font-size: .8em;
    min-height: 2.5em;
    width: auto;
}
.fs-c-button--standard:hover, .fs-c-button--standard:visited, .fs-c-button--standard:active {
    color: var(--color_1);
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769.0px) {
}

/* ////////// PC ////////// */
@media screen and (min-width:960.0px) and (max-width:1200.0px) {
    .fs-l-checkout {
        flex-direction: column;
    }
    [class^=fs-body-checkout] .fs-l-checkout__mainColumn {
        max-width: none;
        padding-right: 0;
    }
}

@media print, screen and (min-width: 1200.1px) {
    #fs_orderTotalContainer {
        position: sticky;
            top: calc(var(--header_h) + 10px);
    }
}

@media (hover: hover) {}

/*====================================================
////id |  cmn_cta
====================================================*/
#cmn_cta {
    background: url('../img/footer/cmn_cta-bg.webp') no-repeat center / cover;
    overflow: hidden;
}
.cmn_cta-content {
    display: grid;
        grid-gap: min(5vw, 20px) min(2vw, 40px);
    margin: auto;
}
.cmn_cta-link {
    background-color: rgba(255, 255, 255, .9);
    border: solid 3px;
    border-radius: 8px;
    display: flex;
        align-items: center;
        justify-content: center;
    position: relative;
    text-align: center;
}
.btn-guide {
    border-color: var(--color_6);
    color: var(--color_6);
}
.btn-contact {
    border-color: var(--color_1);
    color: var(--color_1);
}

.btn-guide::before {
    background: url('../img/footer/cmn_cta-deco-guide.webp') no-repeat left bottom / contain;
    content: '';
    display: block;
    position: absolute;
        left: calc(min(3vw, 40px) * -1);
        bottom: -10px;
    width: 28%;
    height: 70%;
}
.btn-contact::before {
    background: url('../img/footer/cmn_cta-deco-contact.webp') no-repeat right bottom / contain;
    content: '';
    display: block;
    position: absolute;
        right: calc(min(4vw, 60px) * -1);
        bottom: calc(min(3vw, 50px) * -1);
    width: 32%;
    height: 130%;
}

.cmn_cta-link .text {
    font-family: var(--f_serif);
    font-weight: 500;
    display: flex;
        align-items: center;
        justify-content: center;
        gap: .6em;
    letter-spacing: .1em;
}
.cmn_cta-link .text::before {
    content: '';
    width: 1.2em;
    height: 1.35em;
}
.btn-guide .text::before {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 19 29"><path fill="%231e773c" d="M17.51.02c-.58-.08-1.15.13-1.54.56l-6.47,6.91h0L3.03.57C2.39-.14,1.3-.2.58.44.15.83-.06,1.41.02,1.91v16.68c0,.43.16.84.44,1.16l7.74,8.65c.22.25.5.42.81.51v.09h.5s.02,0,.04,0h.46v-.08c.31-.09.59-.26.81-.51l7.75-8.66c.28-.32.44-.73.44-1.16V1.98c.13-.95-.53-1.83-1.48-1.97ZM17.99,18.59c0,.18-.07.36-.19.49l-7.75,8.66s-.04.04-.06.06V8.41l6.7-7.16h0c.17-.19.42-.28.66-.25.41.06.69.44.63.91v16.68Z" /></svg>') no-repeat center / contain;
}
.btn-contact .text::before {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 14 10"><path fill="%23B3040E" d="M12.39,0H1.61C.7,0,0,.71,0,1.62v6.77c0,.91.71,1.62,1.61,1.62h10.78c.91,0,1.61-.71,1.61-1.62V1.62c0-.91-.71-1.62-1.61-1.62ZM13.29,8.89l-.3.4-4.43-3.64-.71.61c-.5.51-1.31.51-1.81,0l-.71-.61L.91,9.29l-.3-.4,4.13-3.84L.6,1.11l.2-.3,6.04,4.65L12.89.81l.2.3-4.13,3.94,4.13,3.84h.2Z" /></svg>') no-repeat center / contain;
}

.cmn_cta-link p {
    color: var(--black);
    font-size: .65em;
    letter-spacing: .04em;
    line-height: 1.4;
    margin-top: .3em;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 960.0px) {
    .cmn_cta-content {
        max-width: 600px;
    }
    .cmn_cta-link {
        font-size: min(5vw, 20px);
        height: min(30vw, 100px);
    }
}
@media screen and (max-width: 600.0px) {
    .btn-contact::before {
        right: -10vw;
        bottom: calc(min(10vw, 50px) * -1);
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 960.1px) {
    .cmn_cta-content {
        grid-template-columns: 1fr 1fr;
    }
    .cmn_cta-link {
        font-size: 22px;
        height: min(30vw, 160px);
    }
}

@media (hover: hover) {
    .cmn_cta-link:hover {
        background: rgba(255, 255, 255, 1);
    }
}

/*====================================================
////class .pagetop
====================================================*/

.pagetop {
	display: none;
	position: fixed;
		bottom: 15px;
		right: 15px;
	width: 50px;
	height: 50px;
    z-index: 800000;
	/*	border: solid 1px*/
}
.pagetop.stop {
	position: absolute;
	top: -70px;
	bottom: auto;
}
.pagetop a {
	background: var(--color_1);
	border-radius: 100%;
    color: #fff;
	display: flex;
		align-items: center;
		justify-content: center;
	line-height: 1;
	position: relative;
	opacity: .7;
	width: 100%;
	height: 100%;
}
.pagetop a .arrow {
	margin: 0;
	transform: rotate(-90deg);
	width: 50%;
	height: 50%;
}


/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    .pagetop {
        right: 5px;
        bottom: 5px;
    }
	.pagetop a {
        transform: scale(.7);
        transform-origin: right bottom;
	}
}

@media screen and (min-width:480px) and (max-width:769px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	.pagetop a:hover {
		opacity: 1;
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

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

@media (hover: hover) {
	.pagetop a:hover .arrow::after {
		transform: none;
	}
}


/*====================================================
////id |  footer
====================================================*/
footer.fs-l-footer {
    background-color: transparent;
    color: unset;
    border: none;
    margin: 0;
}
#footer {
    background-color: #B85A60;
    color: #fff;
}
.footer-inner {
    padding: min(20vw, 120px) 0 min(12vw, 90px);

}
.footer-main {
    display: grid;
        place-items: center;
        grid-template-rows: auto 1fr;
}

.footer-logo {
    filter: brightness(0) invert(10);
}
.footer-sns {
    display: flex;
        gap: 15px;
    margin-top: min(12.8vw, 58px);
}
.footer-sns a {
    display: flex;
        align-items: center;
        justify-content: center;
    width: 30px;
    height: 30px;
}
.footer-sns a img {
    filter: brightness(0) invert(10);
}
.footer-menu ul {
    display: grid;
        grid-gap: 1em;
}
.footer-menu .sub-item {
    padding-left: 1.5em;
    position: relative;
}
.footer-menu .sub-item::before {
    border-top: solid 1px;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: .8em;
        left: 0;
    width: .8em;
    height: 0;
}
.footer-menu ul a {
    display: inline-block;
    padding: 0 1em 0 0;
    position: relative;
}
.footer-menu ul a:hover {
    color: inherit;
}
.footer-menu ul a::after {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 7 11"><path fill="%23ffffff" d="M7,5.5L1.51,11l-1.51-1.51,3.99-3.99L0,1.51,1.51,0l5.49,5.5Z" /></svg>') no-repeat center / contain;
    content: '';
    display: block;
    opacity: 0;
    margin: auto;
    position: absolute;
        top: .1em;
        right: .3em;
        bottom: 0;
    transition: .2s ease-in-out;
    width: .3em;
    height: 1em;
}
.footer-copyright {
    display: flex;
        align-items: flex-end;
        /* justify-content: center; */
}
/* ////////// mobile ////////// */
@media screen and (max-width: 960.0px) {
    .footer-inner {
        display: grid;
            grid-gap: min(10vw, 40px);
            place-items: center;
    }
    .footer-logo img {
        width: min(56vw, 300px);
    }
    .footer-menu-wrapper {
        display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: min(5vw, 30px);
        font-size: min(3.2vw, 16px);
        margin-top: 10px;
    }
    .footer-menu {
        display: grid;
            grid-gap: 1em;
    }
    .footer-link-wrapper {
        display: flex;
            justify-content: center;
        width: 100%;
    }
    .footer-copyright {
        font-size: 12px;
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 960.1px) {
    .footer-inner {
        display: grid;
            grid-gap: 65px;
            grid-template-columns: auto 1fr;
    }
    .footer-main {
        grid-column: 1 / 3;
    }
    .footer-logo img {
        width: 300px;
    }
    .footer-menu-wrapper {
        display: flex;
            gap: min(4vw, 96px);
            justify-content: center;
        grid-column: 1 / 3;
    }
    .footer-menu {
        display: flex;
            align-items: flex-start;
            gap: min(4vw, 96px);
    }
    .footer-link-wrapper {
        display: flex;
            justify-content: flex-end;
        grid-column: 2;
    }
    .footer-copyright {
        grid-column: 1;
        grid-row: 3;
    }
}
@media print, screen and (min-width: 1600.1px) {
    .footer-inner {
        display: grid;
            grid-template-columns: auto 1fr auto;
    }
    .footer-main {
        grid-column: 1;
        place-items: start;
    }
    .footer-menu-wrapper {
        justify-content: flex-end;
        grid-column: 2 / 4;
    }
    .footer-link-wrapper {
        grid-column: 2 / 4;
        grid-row: 2;
    }
    .footer-copyright {
        grid-column: 1;
        grid-row: 2;
    }
}

@media (hover: hover) {
    .footer-menu ul a:hover::after {
        opacity: 1;
        right: 0;
    }
}

.g-recaptcha {
	margin-top: 50px;
	text-align: center;
	font-size: 0.8em;
}
.grecaptcha-badge { visibility: hidden; }

/*====================================================
////id |  xxx
====================================================*/

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media (hover: hover) {}
