@charset "UTF-8";
/* --------------------------------------------------

初期設定

-------------------------------------------------- */
/* --------------------------------------------------

hover

-------------------------------------------------- */
/* --------------------------------------------------

スマホサイズのフォント指定

-------------------------------------------------- */
/* --------------------------------------------------

breakpoint

-------------------------------------------------- */
/* --------------------------------------------------

reset

-------------------------------------------------- */
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: inherit;
				font-size: 100%;
}

body {
				line-height: 1;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
				display: block;
}

dl,
dt,
dd,
ul,
ol {
				list-style: none;
}

nav ul {
				list-style: none;
}

blockquote,
q {
				quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
				content: "";
				content: none;
}

a {
				margin: 0;
				padding: 0;
				font-size: 100%;
				vertical-align: baseline;
}

img,
a {
				vertical-align: top;
}

a img {
				border: none;
}

a:hover img {
				opacity: 0.7;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
				display: block;
}

/* change colours to suit your needs */
ins {
				background: #ff9 repeat center center;
				color: #000;
				text-decoration: none;
}

/* change colours to suit your needs */
mark {
				background: #ff9 repeat center center;
				color: #000;
				font-style: italic;
				font-weight: bold;
}

del {
				text-decoration: line-through;
}

abbr[title],
dfn[title] {
				border-bottom: 1px dotted;
				cursor: help;
}

table {
				border-collapse: collapse;
				border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
				display: block;
				height: 1px;
				border: 0;
				border-top: 1px solid #ccc;
				margin: 1em 0;
				padding: 0;
}

input,
select {
				margin: 0;
				padding: 0;
				vertical-align: middle;
}

/* --------------------------------------------------

base

-------------------------------------------------- */
html {
				font-size: 62.5%;
				height: 100%;
				scroll-behavior: smooth;
				scroll-padding-top: 20px;
}
@media only screen and (max-width: 768px) {
				html {
								scroll-padding-top: 0;
				}
}

body {
				font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "HiraKakuProN-W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
				color: #1A1A1A;
				font-size: 1.6rem;
				font-weight: 500;
				letter-spacing: 0.1em;
				line-height: 1.5;
				width: 100%;
				min-width: 1080px;
				box-sizing: border-box;
				-webkit-text-size-adjust: 100%;
				word-break: break-word;
				overflow-wrap: break-word;
				overflow-x: hidden;
}
@media only screen and (max-width: 1100px) {
				body {
								min-width: 0;
				}
}
body.fixed-body {
				overflow: hidden;
				position: fixed;
}

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 {
				box-sizing: border-box;
}

a {
				transition: all 0.3s;
				text-decoration: none;
}

img {
				max-width: 100%;
}

a:link,
a:visited {
				color: #1A1A1A;
}

a.strong {
				color: #E42020;
}

a:hover,
a:active {
				color: #666;
				transition: all 0.3s;
}

.wrapper {
				display: flex;
				flex-direction: column;
}

#contents {
				overflow: hidden;
				margin-block: 2rem 10rem;
}
@media (width <= 1200px) {
				#contents {
								margin-block: 1rem 7rem;
				}
}
@media only screen and (max-width: 1100px) {
				#contents {
								margin-block: 1em 10%;
				}
}
@media only screen and (max-width: 768px) {
				#contents {
								margin-block: 70px 10%;
				}
}

.main:has(.static-wrap.border) {
				margin-bottom: 0;
}

.inner-l {
				width: 1200px;
				margin: 0 auto;
}
@media (width <= 1200px) {
				.inner-l {
								padding: 0 1em;
				}
}
@media only screen and (max-width: 1380px) {
				.inner-l {
								width: calc(100% - 80px);
								max-width: 1200px;
				}
}
@media only screen and (max-width: 1220px) {
				.inner-l {
								width: 92%;
								padding: 0;
				}
}

.inner {
				width: 1080px;
				margin: 0 auto;
				position: relative;
}
@media (width <= 1200px) {
				.inner {
								padding: 1em;
				}
}
@media only screen and (max-width: 1380px) {
				.inner {
								width: calc(100% - 80px);
								max-width: 1080px;
								padding: 0;
				}
}
@media only screen and (max-width: 1100px) {
				.inner {
								width: 92%;
				}
}

.inner-s {
				width: 720px;
				margin: 0 auto;
				position: relative;
}
@media only screen and (max-width: 1380px) {
				.inner-s {
								width: calc(100% - 80px);
								max-width: 720px;
				}
}
@media only screen and (max-width: 740px) {
				.inner-s {
								width: 92%;
				}
}

.pc-block {
				display: block !important;
}
.pc-block-inline {
				display: inline-block !important;
}
.pc-block-flex {
				display: flex !important;
}
@media only screen and (max-width: 768px) {
				.pc-block, .pc-block-inline, .pc-block-flex {
								display: none !important;
				}
}

.sp-block, .sp-block-inline, .sp-block-flex {
				display: none !important;
}
@media only screen and (max-width: 768px) {
				.sp-block {
								display: block !important;
				}
				.sp-block-inline {
								display: inline-block !important;
				}
				.sp-block-flex {
								display: flex !important;
				}
}

svg {
				width: 100%;
				height: auto;
}

em,
strong {
				font-weight: bold;
}

/* --------------------------------------------------

post-content　ウィジウィグ

-------------------------------------------------- */
/* post-ttl */
.post-ttl {
				color: #E42020;
				font-size: 4.2rem;
				font-weight: bold;
				margin-bottom: 4rem;
}
@media only screen and (max-width: 768px) {
				.post-ttl {
								font-size: 3.2rem;
				}
}
.post-ttl span {
				vertical-align: middle;
				margin-left: 1em;
}

/* post-date-block */
.post-date-block {
				display: flex;
				align-items: center;
				justify-content: flex-end;
				flex-wrap: wrap;
				margin: 1.6rem 0;
}
.post-date-block .icon-new {
				margin: 0 1.6rem;
}

/* post-date */
.post-date {
				text-align: right;
				display: block;
}

/* icon-post-block */
.icon-post-block {
				display: flex;
				flex-wrap: wrap;
				margin-bottom: 1.6rem;
}
@media only screen and (max-width: 768px) {
				.icon-post-block {
								font-size: 1.4rem;
				}
}

/* --------------------------------------------------

見出し

-------------------------------------------------- */
/* h2 */
.wysiwyg h2,
.post-sttl-large {
				font-size: 3.2rem;
				font-weight: bold;
				padding: 1.6rem 0;
				margin: 6.4rem 0 2.4rem;
				position: relative;
}
@media only screen and (max-width: 768px) {
				.wysiwyg h2,
				.post-sttl-large {
								margin: 4.8rem 0 2.4rem;
				}
}
.wysiwyg h2::after,
.post-sttl-large::after {
				content: "";
				background: #666;
				display: block;
				width: 6rem;
				height: 0.2rem;
				position: absolute;
				left: 0;
				bottom: 0;
}
@media only screen and (max-width: 768px) {
				.wysiwyg h2,
				.post-sttl-large {
								font-size: 2.6rem;
				}
}

/* h3 */
/* post-sttl-small */
.wysiwyg h3,
.post-sttl-small {
				color: #666;
				font-size: 2.6rem;
				font-weight: bold;
				margin: 4.8rem 0 2.4rem;
}
@media only screen and (max-width: 768px) {
				.wysiwyg h3,
				.post-sttl-small {
								font-size: 2.2rem;
				}
}

/* h4 */
.wysiwyg h4 {
				color: #FFF;
				background: #666;
				font-size: 2rem;
				padding: 1.6rem;
				margin: 4rem 0 2.4rem;
}
@media only screen and (max-width: 768px) {
				.wysiwyg h4 {
								font-size: 1.8rem;
				}
}

/* h5 */
.wysiwyg h5 {
				border-left: 7px solid #666;
				font-size: 1.8rem;
				padding: 0.8rem 1.6rem;
				margin: 3.6rem 0 2.4rem;
}
@media only screen and (max-width: 768px) {
				.wysiwyg h5 {
								font-size: 1.6rem;
				}
}

/* h6 */
.wysiwyg h6 {
				font-size: 1.8rem;
				font-weight: bold;
				margin: 3rem 0 2.4rem;
}
@media only screen and (max-width: 768px) {
				.wysiwyg h6 {
								font-size: 1.6rem;
				}
}

/* --------------------------------------------------

画像ブロック

-------------------------------------------------- */
/* post-pht */
.post-pht {
				margin-bottom: 1.6rem;
}
.post-pht a {
				display: block;
}
.post-pht > div {
				width: 100%;
				height: auto;
				max-height: 600px;
				text-align: center;
}
@media only screen and (max-width: 420px) {
				.post-pht > div {
								max-height: 300px;
				}
}
.post-pht img {
				height: auto;
				max-height: 600px;
				max-width: 100%;
				width: auto;
				border-radius: 20px;
}
@media only screen and (max-width: 420px) {
				.post-pht img {
								max-height: 300px;
				}
}
.post-pht figcaption {
				font-size: 1.4rem;
				text-align: center;
				display: block;
				margin-top: 0.8rem;
}

/* two-post-pht */
.two-post-pht {
				display: flex;
				justify-content: space-between;
}
.two-post-pht .post-pht {
				vertical-align: top;
				width: 48%;
}

/* post-pht-txt */
.post-pht-txt:after {
				content: "";
				display: block;
				clear: both;
}
.post-pht-txt .post-pht {
				float: right;
				width: 48%;
				margin: 0 0 3.2rem 3.2rem;
				z-index: 10;
				position: relative;
}
.post-pht-txt .wysiwyg {
				word-wrap: break-word;
				overflow-wrap: break-word;
}
.post-pht-txt .wysiwyg h2,
.post-pht-txt .wysiwyg h3,
.post-pht-txt .wysiwyg h4,
.post-pht-txt .wysiwyg h5,
.post-pht-txt .wysiwyg h6,
.post-pht-txt blockquote {
				display: flex;
				margin-top: 0;
}

/* iframe-area */
.iframe-area {
				position: relative;
				width: 100%;
				aspect-ratio: 16/9;
				object-fit: contain;
				margin-bottom: 1.6rem;
}
.iframe-area iframe {
				filter: saturate(1.2);
				position: absolute;
				top: 0;
				right: 0;
				width: 100% !important;
				height: 100% !important;
}

/* --------------------------------------------------

wysiwyg

-------------------------------------------------- */
.wysiwyg {
				word-wrap: break-word;
				overflow-wrap: break-word;
				margin-bottom: 4rem;
				/* リンク<a> */
				/* 段落 <p> */
				/* 太字赤文字 <strong> */
				/* 太字 <em> */
				/* 斜体 <i> */
				/* 下線 <u> */
				/* 打ち消し線 <s> */
				/* 下付き <sub> */
				/* 上付き <sup> */
				/* 順序のないリスト <ol> */
				/*順序のないリスト <ul> */
				/*定義リスト <dl> */
				/* インデント <p class="txt-indent"> */
				/* ブロック引用文 <blockquote> */
				/* 中央揃え <p class="txt-center"> */
				/* 右揃え <p class="txt-right"> */
				/* 両端揃え <p class="txt-justify"> */
				/* ハイパーリンク <a href=""> */
				/* テーブル <table> */
				/* フォントサイズ小 <span class="font-size-small"> */
				/* フォントサイズ大 <span class="font-size-large"> */
				/* 文字の間隔0.5em <span class="font-space-small"> */
				/* 文字の間隔1.0em <span class="font-space-medium"> */
				/* 文字の間隔1.5em <span class="font-space-large"> */
				/* 文字の間隔2.0em <span class="font-space-xlarge"> */
				/* アドレス */
				/* 短い引用 */
				/* 出典 */
}
.wysiwyg a:link,
.wysiwyg a:visited {
				text-decoration: underline;
}
.wysiwyg p {
				margin-bottom: 1.6rem;
}
.wysiwyg strong {
				color: #E42020;
				font-weight: bold;
}
.wysiwyg em {
				font-weight: bold;
}
.wysiwyg i {
				font-style: italic;
}
.wysiwyg .underline {
				text-decoration: underline;
}
.wysiwyg .strike {
				text-decoration: line-through;
}
.wysiwyg sub {
				font-size: 0.8rem;
				vertical-align: bottom;
}
.wysiwyg sup {
				font-size: 0.8rem;
				vertical-align: top;
}
.wysiwyg ol {
				list-style-position: outside;
				margin-bottom: 1.6rem;
				/*横並びリスト<ol> */
}
.wysiwyg ol[style] {
				padding-left: 1.5em;
}
.wysiwyg ol.horizontal-list {
				display: flex;
}
.wysiwyg ol.horizontal-list li {
				margin-right: 2.6rem;
}
.wysiwyg ul {
				list-style-position: outside;
				margin-bottom: 1.6rem;
				/*横並びリスト<ul> */
}
.wysiwyg ul[style] {
				padding-left: 1em;
}
.wysiwyg ul.horizontal-list {
				display: flex;
}
.wysiwyg ul.horizontal-list li {
				margin-right: 2.6rem;
}
.wysiwyg dl {
				margin-bottom: 1.6rem;
				/*横並び定義リスト <dl> */
}
.wysiwyg dl dt {
				background: #EEE;
				display: inline-block;
				padding: 0.8rem 1.6rem;
}
.wysiwyg dl dd {
				padding: 0.8rem 0;
				margin-bottom: 0.8rem;
}
.wysiwyg dl.horizontal-list dt {
				float: left;
				margin-right: 2.4rem;
}
.wysiwyg .txt-indent {
				text-indent: 1em;
}
.wysiwyg blockquote {
				background: #EEE;
				box-sizing: border-box;
				padding: 3.2rem;
				margin-bottom: 1.6rem;
}
.wysiwyg blockquote p {
				margin: 0;
}
.wysiwyg .txt-center {
				text-align: center;
}
.wysiwyg .txt-right {
				text-align: right;
}
.wysiwyg .txt-justify {
				text-align: justify;
}
.wysiwyg a[href] {
				color: #1A1A1A;
				text-decoration: underline;
				word-break: break-all;
}
.wysiwyg table {
				width: auto;
				border-collapse: collapse;
				border: 1px solid #EEE;
				word-break: break-word;
				word-wrap: break-word;
				overflow-wrap: break-word;
				margin-bottom: 1.6rem;
}
.wysiwyg table caption {
				font-weight: bold;
				text-align: left;
				margin-bottom: 0.8rem;
}
.wysiwyg table p {
				margin: 0;
}
.wysiwyg table tr th {
				color: #1A1A1A;
				background: #EEE;
				border: 1px solid #666;
				font-weight: bold;
				padding: 1.6rem;
}
.wysiwyg table tr td {
				background: #FFFFFF;
				border: 1px solid #666;
				padding: 1.6rem;
}
.wysiwyg table .txt-justify {
				text-align-last: justify;
}
.wysiwyg table.table-center {
				margin: 0 auto 4rem;
}
.wysiwyg table.table-center caption {
				text-align: center;
}
.wysiwyg table.table-right {
				margin-left: auto;
}
.wysiwyg table.table-left {
				margin-right: auto;
}
.wysiwyg .table-scroll {
				overflow-x: auto;
				-webkit-overflow-scrolling: touch;
				max-width: none;
				margin-bottom: 1.6rem;
}
.wysiwyg .table-scroll::-webkit-scrollbar {
				height: 5px;
}
.wysiwyg .table-scroll::-webkit-scrollbar-track {
				border-radius: 5px;
				background: #EEE;
}
.wysiwyg .table-scroll::-webkit-scrollbar-thumb {
				border-radius: 5px;
				background: #CCC;
}
.wysiwyg .table-scroll table {
				margin: 0;
				max-width: none;
}
.wysiwyg .table-scroll table caption {
				text-align: left;
}
@media only screen and (max-width: 420px) {
				.wysiwyg .table-scroll table {
								min-width: 100%;
				}
}
.wysiwyg .font-size-small {
				font-size: 0.6em;
}
.wysiwyg .font-size-large {
				font-size: 1.75em;
}
.wysiwyg .font-space-small {
				letter-spacing: 0.5em;
				margin-left: 0.5em;
}
.wysiwyg .font-space-medium {
				letter-spacing: 1em;
				margin-left: 1em;
}
.wysiwyg .font-space-large {
				letter-spacing: 1.5em;
				margin-left: 1.5em;
}
.wysiwyg .font-space-xlarge {
				letter-spacing: 2em;
				margin-left: 2em;
}
.wysiwyg address {
				background: #EEE;
				box-sizing: border-box;
				padding: 3.2rem;
				margin-bottom: 1.6rem;
}
.wysiwyg q:before {
				content: '"';
}
.wysiwyg q:after {
				content: '"';
}
.wysiwyg q:lang(ja):before {
				content: "『";
}
.wysiwyg q:lang(ja):after {
				content: "』";
}
.wysiwyg q q:before {
				content: "'";
}
.wysiwyg q q:after {
				content: "'";
}
.wysiwyg q q:lang(ja):before {
				content: "「";
}
.wysiwyg q q:lang(ja):after {
				content: "」";
}
.wysiwyg cite {
				font-style: italic;
				font-family: Times New Roman, "ＭＳ Ｐゴシック";
}

/* --------------------------------------------------

関連ファイル/関連リンク

-------------------------------------------------- */
.related-file,
.related-link {
				margin-bottom: 2.4rem;
}
.related-file a,
.related-link a {
				color: #1A1A1A;
				border: 1px solid #999;
				border-radius: 12px;
				padding: 2.4rem 2.4rem 2.4rem 6.8rem;
				display: block;
				position: relative;
}
.related-file a:before,
.related-link a:before {
				content: "";
				display: block;
				position: absolute;
				top: 50%;
				left: 2.4rem;
				transform: translateY(-50%);
				z-index: 2;
}
.related-file a:hover,
.related-link a:hover {
				opacity: 0.7;
}

/* file */
.related-file a:before {
				background: url(../img/common/ico_file.svg) no-repeat center center/contain;
				width: 2rem;
				height: 2rem;
}

/* link */
.related-link a:before {
				background: url(../img/common/ico_link.svg) no-repeat center center/contain;
				width: 2rem;
				height: 2rem;
}
.related-link a[target=_blank]:before {
				background: url(../img/common/ico_blank.svg) no-repeat center center/contain;
}

/* --------------------------------------------------

ボタン

-------------------------------------------------- */
.btn-postback {
				text-align: center;
				max-width: 300px;
				margin: 6.4rem auto;
}
@media only screen and (max-width: 768px) {
				.btn-postback {
								max-width: 100%;
				}
}

/* --------------------------------------------------

form

-------------------------------------------------- */
button, fieldset, form, input, label, legend, select, textarea {
				font-family: inherit;
				font-style: inherit;
				font-weight: inherit;
				padding: 0;
				margin: 0;
}

input[type=text], input[type=number], input[type=date], input[type=tel], input[type=email], input[type=password] {
				/*font-size: 1.6rem;*/
				vertical-align: middle;
				width: 100%;
				background: #fff;
				border: 1px solid #666;
				border-radius: 0;
				box-sizing: border-box;
				padding: 0.8rem;
				outline: none;
				font-weight: 400 !important;
}
@media only screen and (max-width: 768px) {
				input[type=text], input[type=number], input[type=date], input[type=tel], input[type=email], input[type=password] {
								padding: 0.8rem;
								font-size: 1.6rem;
				}
}
input[type=text]::placeholder, input[type=number]::placeholder, input[type=date]::placeholder, input[type=tel]::placeholder, input[type=email]::placeholder, input[type=password]::placeholder {
				color: #999;
}

input[type=checkbox],
input[type=radio] {
				width: 1.2em;
				height: 1.2em;
				margin-right: 0.8rem;
}
input[type=checkbox] + label,
input[type=radio] + label {
				display: inline-block;
				vertical-align: middle;
				margin-right: 0.8rem;
}

input[type=file] {
				margin-bottom: 0.8rem;
}

select {
				/*font-size: 1.6rem;*/
				width: 100%;
				border: 1px solid #666;
				border-radius: 0;
				box-sizing: border-box;
				padding: 0.8rem;
}
@media only screen and (max-width: 768px) {
				select {
								padding: 1rem;
								font-size: 1.6rem;
				}
}
select option[selected],
select option[active] {
				color: #FFF;
				background: #E42020;
}

fieldset {
				border: none;
				display: block;
}
fieldset span {
				display: inline-flex;
				align-items: center;
				margin: 0 0.8rem 0.8rem 0;
}

textarea {
				font-size: 1.6rem;
				width: 100%;
				min-height: 7em;
				border: 1px solid #666;
				border-radius: 0;
				box-sizing: border-box;
				padding: 1.6rem;
				resize: vertical;
				outline: none;
}
@media only screen and (max-width: 768px) {
				textarea {
								padding: 0.8rem;
				}
}
textarea::placeholder {
				color: #999;
}

button {
				cursor: pointer;
				color: #FFF;
				background: #1A1A1A;
				font-size: 100%;
				vertical-align: middle;
}
@media only screen and (max-width: 768px) {
				button {
								font-size: 1.3rem;
				}
}

/* --------------------------------------------------

テキストサイズ

-------------------------------------------------- */
input.text-l,
select.text-l {
				width: 75%;
}

input.text-m,
select.text-m {
				width: 50%;
}

input.text-s,
select.text-s {
				width: 25%;
}

@media only screen and (max-width: 768px) {
				input.text-l,
				select.text-l,
				input.text-m,
				select.text-m {
								width: 100%;
								box-sizing: border-box;
				}
				input.text-s,
				select.text-s {
								width: 60%;
								box-sizing: border-box;
				}
				input.sp-text-l,
				select.sp-text-l {
								width: 100% !important;
								box-sizing: border-box;
				}
				input.sp-text-m,
				select.sp-text-m {
								width: 60% !important;
								box-sizing: border-box;
				}
				input.sp-text-s,
				select.sp-text-s {
								width: 30% !important;
								box-sizing: border-box;
				}
}
/* --------------------------------------------------

flow-area

-------------------------------------------------- */
.flow-area {
				margin-bottom: 4.8rem;
}
.flow-area .step-bar ul {
				text-align: center;
				display: flex;
				position: relative;
}
.flow-area .step-bar ul li {
				font-size: 1.4rem;
				font-weight: bold;
				text-indent: 0.1rem;
				letter-spacing: 0.1rem;
				list-style: none;
				position: relative;
				width: 33.3333333333%;
}
@media only screen and (max-width: 768px) {
				.flow-area .step-bar ul li {
								font-size: 1.2rem;
				}
}
.flow-area .step-bar ul li:after {
				content: "";
				background: #DADADA;
				width: calc(100% - 5em);
				height: 2px;
				position: absolute;
				top: 1.6em;
				left: calc(-50% + 2.5em);
				right: auto;
				z-index: -1;
}
@media only screen and (max-width: 768px) {
				.flow-area .step-bar ul li:after {
								top: 1.3em;
				}
}
.flow-area .step-bar ul li:first-child:after {
				display: none;
}
.flow-area .step-bar ul li span {
				color: #1A1A1A;
				background: #EEE;
				font-size: 1.8rem;
				display: inline-block;
				border-radius: 50%;
				padding: 0.6em 1em;
				margin-bottom: 1.6rem;
}
@media only screen and (max-width: 768px) {
				.flow-area .step-bar ul li span {
								font-size: 1.3rem;
				}
}
.flow-area .step-bar ul .visited:after {
				background: #666;
}
.flow-area .step-bar ul .visited span {
				color: #FFF;
				background: #666;
				z-index: 10;
}
@media only screen and (max-width: 768px) {
				.flow-area .step-bar ul {
								width: 100%;
				}
				.flow-area .step-bar ul li {
								padding: 0 0.8rem;
				}
}
.flow-area .flow-part {
				display: flex;
				justify-content: center;
}
@media only screen and (max-width: 768px) {
				.flow-area .flow-part {
								display: block;
				}
}
.flow-area .flow-part > div {
				width: 35%;
				overflow: hidden;
}
@media only screen and (max-width: 768px) {
				.flow-area .flow-part > div {
								width: auto;
				}
}
.flow-area .flow-part > div p {
				color: #1A1A1A;
				background: #EEE;
				font-size: 1.6rem;
				line-height: 1.4;
				height: 100%;
				padding: 1.6rem;
				margin: 0 3.2rem 0 0;
				position: relative;
}
@media only screen and (max-width: 1220px) {
				.flow-area .flow-part > div p {
								font-size: 1.6vw;
				}
}
@media only screen and (max-width: 768px) {
				.flow-area .flow-part > div p {
								font-size: 1.3rem;
				}
}
@media only screen and (max-width: 768px) {
				.flow-area .flow-part > div p {
								font-weight: bold;
								text-align: center;
								width: auto;
								height: auto;
								margin: 0;
								position: relative;
				}
				.flow-area .flow-part > div p:after {
								display: none;
				}
}
.flow-area .flow-part > div p span {
				font-weight: bold;
				display: block;
}
.flow-area .flow-part > div p:after {
				content: "";
				width: 0;
				height: 0;
				border-left: 1.7em solid #EEE;
				border-top: 3.5em solid transparent;
				border-bottom: 3.5em solid transparent;
				display: block;
				margin: auto 0;
				position: absolute;
				top: 0;
				bottom: 0;
				right: -1.5em;
}
@media only screen and (max-width: 768px) {
				.flow-area .flow-part > div p:after {
								display: none;
				}
}
.flow-area .flow-part > div.visited p {
				color: #FFF;
				background: #666;
}
.flow-area .flow-part > div.visited p:after {
				border-left: 1.6em solid #666;
}
@media only screen and (max-width: 768px) {
				.flow-area .flow-part > div:after {
								content: "";
								width: 0;
								height: 0;
								border-left: 15px solid transparent;
								border-right: 15px solid transparent;
								border-top: 10px solid #EEE;
								display: block;
								margin: 0 auto 0.8rem;
				}
				.flow-area .flow-part > div.visited:after {
								border-top: 10px solid #666;
				}
				.flow-area .flow-part > div:last-child:after {
								display: none;
				}
}

/* --------------------------------------------------

error-area

-------------------------------------------------- */
.error-area {
				color: #E42020;
				background: #EEE;
				border: 1px solid #E42020;
				font-size: 1.4rem;
				padding: 1.6rem 2.4rem;
				margin-bottom: 4.8rem;
}
.error-area .ttl {
				margin-bottom: 2.4rem;
}
.error-area a {
				color: #E42020;
				text-decoration: underline;
}

/* --------------------------------------------------

form-area

-------------------------------------------------- */
.form-area p.txt-error {
				color: #E42020;
				font-size: 1.4rem;
				scroll-margin-top: 4em;
				margin-bottom: 0.8rem;
}
@media only screen and (max-width: 768px) {
				.form-area p.txt-error {
								scroll-margin-top: 5em;
				}
}
.form-area p.txt-ex {
				color: #707070;
				font-size: 1.3rem;
				margin-bottom: 0.8rem;
}
.form-area p.txt-upload {
				color: #707070;
				font-size: 1.3rem;
				margin-bottom: 0.8rem;
}
.form-area strong.txt-required {
				color: #FFF;
				background: #E42020;
				font-size: 1.2rem;
				font-weight: normal;
				line-height: 1;
				white-space: nowrap;
				display: inline-block;
				padding: 0.4rem 0.8rem;
				margin: 0 0.8rem;
}
.form-area .table-form > dl > dt,
.form-area .table-form > div > dt {
				background: #EEE;
				font-weight: bold;
				text-align: left;
				padding: 0.8rem 1.6rem;
				margin-bottom: 1.6rem;
}
@media only screen and (max-width: 768px) {
				.form-area .table-form > dl > dt,
				.form-area .table-form > div > dt {
								width: 100%;
								min-width: auto;
				}
}
.form-area .table-form > dl > fieldset,
.form-area .table-form > div > fieldset {
				display: contents;
}
.form-area .table-form > dl > fieldset > legend,
.form-area .table-form > div > fieldset > legend {
				background: #EEE;
				text-align: left;
				display: block;
				padding: 0.8rem 1.6rem;
				margin-bottom: 1.6rem;
}
@media only screen and (max-width: 768px) {
				.form-area .table-form > dl > fieldset > legend,
				.form-area .table-form > div > fieldset > legend {
								width: 100%;
								min-width: auto;
				}
}
.form-area .table-form > dl > dd,
.form-area .table-form > dl .right-fl,
.form-area .table-form > div > dd,
.form-area .table-form > div .right-fl {
				text-align: left;
				margin-bottom: 3.2rem;
}
@media only screen and (max-width: 768px) {
				.form-area .table-form > dl > dd,
				.form-area .table-form > dl .right-fl,
				.form-area .table-form > div > dd,
				.form-area .table-form > div .right-fl {
								width: 100%;
								display: block;
								border-bottom: none;
								box-sizing: border-box;
				}
}
.form-area .table-form > dl .right-fl > div,
.form-area .table-form > div .right-fl > div {
				margin-bottom: 1.6rem;
}
.form-area .table-form > dl .right-fl > div label,
.form-area .table-form > div .right-fl > div label {
				font-weight: bold;
				width: 100%;
				display: flex;
				align-items: center;
				margin-bottom: 0.8rem;
}
.form-area .table-form > dl .right-fl > div legend,
.form-area .table-form > div .right-fl > div legend {
				display: none;
}
.form-area .agree-part > p {
				margin-bottom: 0.8rem;
}
.form-area .agree-part .txt-error {
				margin-bottom: 1.6rem;
}
.form-area .agree-part .check-agree fieldset input {
				margin-right: 0.8rem;
				display: inline-block;
}
.form-area .agree-part .check-agree fieldset label {
				margin: 0;
}
@media only screen and (max-width: 420px) {
				.form-area .agree-part .check-agree fieldset label {
								width: calc(100% - 25px);
								margin: 0;
								vertical-align: text-top;
				}
}
.form-area .agree-part a:link,
.form-area .agree-part a:visited {
				text-decoration: underline;
}
.form-area.confirm .table-form > dl > dt,
.form-area.confirm .table-form > div > dt {
				margin-bottom: 1.6rem;
}
.form-area.confirm .table-form > dl > dd > dl > dt,
.form-area.confirm .table-form > div > dd > dl > dt {
				margin-bottom: 0.8rem;
}
.form-area.confirm .table-form > dl > dd > dl > dd,
.form-area.confirm .table-form > div > dd > dl > dd {
				margin-bottom: 1.6rem;
}
.form-area.confirm .table-form > dl > dd a,
.form-area.confirm .table-form > div > dd a {
				text-decoration: underline;
}
.form-area.confirm .table-form > dl > dd span,
.form-area.confirm .table-form > div > dd span {
				display: inline-block;
				margin: 0 1.6rem 0.8rem 0;
}
.form-area .complete-part {
				text-align: center;
				margin-bottom: 5.6rem;
}
@media only screen and (max-width: 768px) {
				.form-area .complete-part {
								text-align: left;
				}
}
.form-area .complete-part .ttl-large {
				display: inline-block;
				margin: 4.8rem 0 4rem;
}
.form-area .complete-part .ttl-large::after {
				content: none;
}
@media only screen and (max-width: 768px) {
				.form-area .complete-part .ttl-large {
								margin: 1.6rem 0 1.5rem;
				}
}
.form-area .complete-part p {
				line-height: 2;
}
.form-area .complete-note ul li {
				margin-bottom: 3.2rem;
}
.form-area .btn-block {
				margin: 5.6rem 0;
}

fieldset legend {
				font-size: 1.6rem;
				font-weight: bold;
				margin-bottom: 0.5em;
				display: none;
}
fieldset.ds-legend legend {
				display: block;
}
fieldset.form-list {
				display: flex;
				align-items: center;
				flex-wrap: wrap;
}
fieldset.form-list.btn-check span,
fieldset.form-list.btn-check div {
				position: relative;
				margin: 0 0.5em 0.5em 0;
}
fieldset.form-list.btn-check span > input,
fieldset.form-list.btn-check div > input {
				opacity: 0;
				position: absolute;
				z-index: -1;
}
fieldset.form-list.btn-check span > input:checked + label,
fieldset.form-list.btn-check div > input:checked + label {
				color: #FFF;
				background: #E42020;
}
fieldset.form-list.btn-check span > label,
fieldset.form-list.btn-check div > label {
				font-weight: bold;
				text-align: center;
				padding: 0.1em 1.5em;
				margin-right: 0;
				background: #FFF;
				border: 1px solid #666;
				border-radius: 100px;
				cursor: pointer;
}
@media only screen and (max-width: 768px) {
				fieldset.form-list.btn-check span > label,
				fieldset.form-list.btn-check div > label {
								font-size: 1.4rem;
				}
}
fieldset.form-list.btn-icon {
				display: flex;
				align-items: stretch;
				flex-wrap: wrap;
				margin-bottom: 1em;
}
fieldset.form-list.btn-icon legend {
				font-size: 1.6rem;
				font-weight: bold;
				margin-bottom: 0.5em;
				display: none;
}
fieldset.form-list.btn-icon.ds-legend legend {
				display: block;
}
fieldset.form-list.btn-icon span,
fieldset.form-list.btn-icon div {
				margin: 0;
				display: block;
}
fieldset.form-list.btn-icon span > input,
fieldset.form-list.btn-icon div > input {
				opacity: 0;
				position: absolute;
				z-index: -1;
}
fieldset.form-list.btn-icon span > input:checked + label,
fieldset.form-list.btn-icon div > input:checked + label {
				background: #EEE;
}
fieldset.form-list.btn-icon span > label,
fieldset.form-list.btn-icon div > label {
				display: flex;
				flex-direction: column;
				align-items: center;
				height: 100%;
				font-weight: bold;
				text-align: center;
				padding: 1em 1.5em;
				background: #FFF;
				border: none;
				border-radius: 15px;
				box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.1);
				cursor: pointer;
}
@media only screen and (max-width: 768px) {
				fieldset.form-list.btn-icon span > label,
				fieldset.form-list.btn-icon div > label {
								font-size: 1.6rem;
				}
}
fieldset.form-list.btn-icon span > label > span,
fieldset.form-list.btn-icon div > label > span {
				margin-top: 0.4em;
				line-height: 1.8rem;
}

.input-search fieldset {
				margin: 0;
				border-radius: 10px;
				display: flex;
				justify-content: space-between;
				overflow: hidden;
				border: 1px solid #666;
}
.input-search fieldset legend {
				display: none;
}
.input-search fieldset input {
				border: none;
				border-radius: 0;
				background: #FFF;
				flex: 1;
}
.input-search fieldset input::placeholder {
				color: #999;
}
.input-search fieldset button {
				color: #FFF;
				padding: 0.5em 1em;
				border-radius: 0;
				border: none;
				background: #666;
				letter-spacing: 0.1em;
				display: flex;
				align-items: center;
				white-space: nowrap;
}
.input-search fieldset button:hover {
				opacity: 0.7;
}
.input-search fieldset button img {
				margin-right: 0.5em;
}

.period-search {
				display: flex;
				align-items: center;
				gap: 0 1em;
}
@media only screen and (max-width: 768px) {
				.period-search {
								flex-direction: column;
								gap: 0.5em 0;
				}
}
.period-search > div {
				position: relative;
}
@media only screen and (max-width: 768px) {
				.period-search > div {
								width: 100%;
				}
}
.period-search > div label {
				display: none;
}
.period-search > div::before {
				content: "";
				width: 1em;
				height: 1em;
				display: block;
				background: url(../img/common/ico_calendar.svg) no-repeat center center/contain;
				position: absolute;
				left: 0.5em;
				top: 50%;
				transform: translateY(-50%);
}
.period-search > div input {
				padding-left: 2em;
}

/* --------------------------------------------------

検索条件で絞り込む

-------------------------------------------------- */
.search-block {
				background-color: #EEE;
				padding: 2rem;
				margin-bottom: 3em;
}
@media only screen and (max-width: 1100px) {
				.search-block {
								padding: 4%;
								margin-bottom: 7%;
				}
}
.search-block dl {
				margin-top: 1em;
}
.search-block dl:first-child {
				margin-top: 0;
}
.search-block dl dt {
				font-size: 1.4rem;
}
.search-block dl dd {
				margin-top: 0.3em;
}
.search-block dl dd input {
				width: 100%;
				border: none;
				background-color: #FFF;
}
.search-block dl dd select {
				width: 100%;
				border: none;
				background-color: #FFF;
}
.search-block .side-search-price {
				display: flex;
				align-items: center;
				gap: 0.3em;
}
.search-block .side-search-price div {
				display: flex;
				align-items: center;
}
.search-block .side-search-price div span {
				font-size: 1.3rem;
				padding-left: 0.2em;
				margin: 0;
}
.search-block .btn-block {
				margin-top: 1em;
}
.search-block .btn-block .btn-base {
				background: #666;
				color: #FFF;
				font-size: 1.4rem;
				width: 100%;
				margin: 0;
				padding: 1em 0;
				display: block;
}

/* --------------------------------------------------

header

-------------------------------------------------- */
#header a:hover {
				opacity: 0.8;
				transition: all 0.3s;
}

#header {
				width: 100%;
				height: 70px;
				position: relative;
				background: #1A1A1A;
				z-index: 20;
				/*　上に上がる動き　*/
				/*　下に下がる動き　*/
}
@media only screen and (max-width: 768px) {
				#header {
								position: fixed;
								height: 60px;
				}
}
@media only screen and (max-width: 1100px) {
				#header .btn-skip {
								display: none;
				}
}
#header .btn-skip a {
				color: #fff;
				font-size: 1.5rem;
				text-align: center;
				display: block;
				width: 100%;
				background: #666;
				text-decoration: none;
				padding: 1em;
				opacity: 1;
				position: absolute;
				left: 0;
				top: -100px;
				z-index: 10;
}
#header .btn-skip a:hover {
				background: #E42020;
}
#header .btn-skip a:focus {
				opacity: 1;
				top: 0;
}
#header .header-wrap {
				display: flex;
				justify-content: space-between;
				align-items: center;
				flex-wrap: wrap;
				width: 1200px;
				height: 100%;
				margin-inline: auto;
}
@media (width <= 1200px) {
				#header .header-wrap {
								width: 100%;
				}
}
@media only screen and (max-width: 1100px) {
				#header .header-wrap {
								width: 94%;
								margin-inline: auto;
				}
}
#header .header-wrap .logo-h {
				z-index: 2;
				width: 12rem;
}
@media only screen and (max-width: 768px) {
				#header .header-wrap .logo-h {
								width: 25vw;
				}
}
#header .header-wrap .logo-h a {
				display: block;
}
@media only screen and (max-width: 1100px) {
				#header .header-wrap .logo-h a {
								display: block;
								padding: 0;
				}
}
#header .header-wrap .logo-h a img {
				width: 100%;
}
@media only screen and (max-width: 1100px) {
				#header .header-wrap .logo-h a img {
								width: 100px;
				}
}
#header .header-wrap .function-block {
				width: auto;
				font-size: 1.5rem;
				margin-left: auto;
				display: flex;
				flex-wrap: wrap;
				align-items: center;
				justify-content: flex-end;
				position: relative;
				z-index: 2;
}
#header .header-wrap .function-block .btn-search {
				width: 24em;
				margin-left: 2em;
}
@media only screen and (max-width: 1100px) {
				#header .header-wrap .function-block .btn-search {
								width: 20em;
				}
}
@media only screen and (max-width: 768px) {
				#header .header-wrap .function-block .btn-search {
								display: none !important;
								position: fixed !important;
								top: 60px !important;
								left: 0 !important;
								right: auto !important;
								background: #1A1A1A !important;
								padding: 1rem !important;
								z-index: 10 !important;
								width: 100% !important;
								margin-left: 0 !important;
								opacity: 0 !important;
								transform: translateY(-20px) !important;
								transition: all 0.3s ease !important;
								visibility: hidden !important;
				}
				#header .header-wrap .function-block .btn-search fieldset {
								background: #fff !important;
								border-radius: 0 !important;
								padding: 0.5rem !important;
				}
				#header .header-wrap .function-block .btn-search fieldset input {
								color: #000 !important;
				}
}
#header .header-wrap .function-block .btn-search fieldset {
				margin-bottom: 0;
				display: flex;
}
#header .header-wrap .function-block .btn-search fieldset legend {
				display: none;
}
#header .header-wrap .function-block .btn-search fieldset input {
				border: none;
				flex: 1;
}
#header .header-wrap .function-block .btn-search fieldset input::placeholder {
				color: #999;
}
@media only screen and (max-width: 1100px) {
				#header .header-wrap .function-block .btn-search fieldset input::placeholder {
								color: rgba(255, 255, 255, 0.5) !important;
				}
}
#header .header-wrap .function-block .btn-search fieldset a {
				border: none;
				background: #EEE;
				width: 4rem;
				height: 4rem;
				display: flex;
				align-items: center;
				justify-content: center;
}
#header .header-wrap .function-block .btn-search fieldset a:hover {
				opacity: 0.7;
}
@media only screen and (max-width: 768px) {
				#header .header-wrap .function-block .btn-search fieldset a {
								background: none;
				}
}
#header .header-wrap .function-block .btn-search fieldset a:before {
				content: "";
				width: 20px;
				height: 20px;
				display: inline-block;
				background: url(../img/common/ico_search_b.svg) no-repeat center center/contain;
}
#header .header-wrap .function-block .header-nav {
				margin-left: 3em;
				padding-right: 3em;
				display: flex;
				align-items: center;
}
@media only screen and (max-width: 1100px) {
				#header .header-wrap .function-block .header-nav {
								margin-left: 2em;
								padding-right: 2em;
				}
}
@media only screen and (max-width: 768px) {
				#header .header-wrap .function-block .header-nav {
								margin-left: 1em;
								padding-right: 1em;
				}
}
#header .header-wrap .function-block .header-nav ul {
				display: flex;
				align-items: center;
				gap: 0 3em;
}
@media only screen and (max-width: 1100px) {
				#header .header-wrap .function-block .header-nav ul {
								gap: 0 2em;
				}
}
@media only screen and (max-width: 768px) {
				#header .header-wrap .function-block .header-nav ul {
								gap: 0 1em;
				}
}
#header .header-wrap .function-block .header-nav ul li {
				position: relative;
}
@media only screen and (max-width: 768px) {
				#header .header-wrap .function-block .header-nav ul li {
								width: 2.3rem;
				}
}
#header .header-wrap .function-block .header-nav ul li span {
				position: absolute;
				right: -8px;
				top: -8px;
				background: #F23E0C;
				color: #fff;
				width: 20px;
				height: 20px;
				line-height: 20px;
				border-radius: 50%;
				text-align: center;
				font-size: 12px;
				font-weight: normal;
}
#header .header-wrap .function-block .header-nav ul .header-nav-search {
				display: none;
}
@media only screen and (max-width: 768px) {
				#header .header-wrap .function-block .header-nav ul .header-nav-search {
								display: block;
				}
				#header .header-wrap .function-block .header-nav ul .header-nav-search.active a {
								background: rgba(255, 255, 255, 0.2);
								border-radius: 0;
				}
}
@media only screen and (max-width: 768px) {
				#header.search-active .header-contents .function-block .btn-search {
								display: block !important;
								opacity: 1 !important;
								transform: translateY(0) !important;
								visibility: visible !important;
				}
}
#header.up-h {
				animation: UpAnime 1s forwards;
}
@keyframes UpAnime {
				from {
								transform: translateY(0);
				}
				to {
								transform: translateY(-300%);
				}
}
#header.down-h {
				animation: DownAnime 1s forwards;
}
@keyframes DownAnime {
				from {
								transform: translateY(-105%);
				}
				to {
								transform: translateY(0);
				}
}
#header #navi {
				background: #fff;
				position: relative;
				order: 4;
				width: 100%;
				display: none;
}
@media only screen and (max-width: 1100px) {
				#header #navi {
								width: 100%;
								height: 100%;
								padding: 8em 1em 2em;
								background: #E42020;
								position: absolute;
								z-index: 1;
				}
}
#header #navi .gnavi {
				display: flex;
				justify-content: space-between;
				display: block;
}
#header #navi .gnavi > li {
				flex: 1;
				display: flex;
}
@media only screen and (max-width: 1100px) {
				#header #navi .gnavi > li {
								border-bottom: 1px solid #C0C0C0;
								display: block;
				}
}
#header #navi .gnavi > li.active > .u-menu, #header #navi .gnavi > li.active.navi-hover {
				display: block;
}
#header #navi .gnavi > li > a,
#header #navi .gnavi > li > span {
				width: 100%;
				padding: 0.8em 0;
				display: flex;
				align-items: center;
				justify-content: center;
				text-align: center;
				border-bottom: 5px solid #fff;
}
@media only screen and (max-width: 768px) {
				#header #navi .gnavi > li > a,
				#header #navi .gnavi > li > span {
								font-size: 1.3rem;
				}
}
@media only screen and (max-width: 1100px) {
				#header #navi .gnavi > li > a,
				#header #navi .gnavi > li > span {
								padding: 1em 3em 1.2em 0.3em;
								border: none;
								justify-content: flex-start;
								position: relative;
				}
				#header #navi .gnavi > li > a:after,
				#header #navi .gnavi > li > span:after {
								content: "";
								width: 0.8em;
								height: 0.8em;
								background: url(../img/common/ico_arrow_square.svg) no-repeat center center/contain;
								display: inline-block;
								position: absolute;
								top: 50%;
								right: 1em;
								transform: translateY(-50%);
				}
}
#header #navi .gnavi > li > a:hover,
#header #navi .gnavi > li > span:hover {
				color: #1A1A1A;
				border-bottom: 5px solid #666;
}
@media only screen and (max-width: 1100px) {
				#header #navi .gnavi > li > a:hover,
				#header #navi .gnavi > li > span:hover {
								border: none;
				}
}
#header #navi .gnavi > li > a.to-lower,
#header #navi .gnavi > li > span.to-lower {
				position: relative;
				cursor: pointer;
}
#header #navi .gnavi > li > a.to-lower:after,
#header #navi .gnavi > li > span.to-lower:after {
				content: "";
				width: 1em;
				height: 1em;
				display: inline-block;
				margin-left: 1rem;
				background: url(../img/common/ico_arrow_square.svg) no-repeat center center/contain;
				transform: rotateZ(90deg);
}
@media only screen and (max-width: 1100px) {
				#header #navi .gnavi > li > a.to-lower:after,
				#header #navi .gnavi > li > span.to-lower:after {
								content: "";
								width: 1em;
								height: 0.2em;
								margin: 0;
								background: #000;
								top: 50%;
								right: 0.5em;
								border: none;
								transform: translateY(-50%) rotateZ(0);
				}
				#header #navi .gnavi > li > a.to-lower:before,
				#header #navi .gnavi > li > span.to-lower:before {
								content: "";
								width: 0.2em;
								height: 1em;
								margin: 0;
								background: #000;
								position: absolute;
								top: 50%;
								right: 0.9em;
								transform: translateY(-50%) rotateZ(0);
				}
				#header #navi .gnavi > li > a.to-lower.active:before,
				#header #navi .gnavi > li > span.to-lower.active:before {
								content: none;
				}
}
#header #navi .gnavi > li > a.to-lower.active + .u-menu,
#header #navi .gnavi > li > span.to-lower.active + .u-menu {
				display: block;
}
#header #navi .gnavi > li > a.to-lower.active + .u-menu.navi-none,
#header #navi .gnavi > li > span.to-lower.active + .u-menu.navi-none {
				display: none;
}
@media only screen and (max-width: 1100px) {
				#header #navi .gnavi > li > a::after {
								content: none;
				}
}
#header #navi .gnavi > li > .u-menu {
				width: 100%;
				padding: 4rem 0;
				display: none;
				background: #F5F5F5;
				position: absolute;
				top: 55px;
				left: 0;
}
@media only screen and (max-width: 1100px) {
				#header #navi .gnavi > li > .u-menu {
								padding: 0;
								position: static;
								background: none;
				}
}
#header #navi .gnavi > li > .u-menu .inner {
				display: flex;
				align-items: center;
				justify-content: space-between;
				gap: 0 5em;
}
@media only screen and (max-width: 1100px) {
				#header #navi .gnavi > li > .u-menu .inner {
								width: 100%;
				}
}
#header #navi .gnavi > li > .u-menu .inner .ttl-u-menu {
				font-size: 2.4rem;
				font-weight: bold;
				margin-bottom: 1.6rem;
}
#header #navi .gnavi > li > .u-menu .inner .btn-base {
				text-align: left;
}
#header #navi .gnavi > li > .u-menu .inner ul {
				width: 80%;
				margin: 0 auto;
				display: flex;
				flex-wrap: nowrap;
				gap: 2em;
}
@media only screen and (max-width: 1100px) {
				#header #navi .gnavi > li > .u-menu .inner ul {
								width: 100%;
								display: block;
								margin-bottom: 0.5em;
				}
}
#header #navi .gnavi > li > .u-menu .inner ul li {
				display: flex;
				align-items: flex-start;
}
@media only screen and (max-width: 1100px) {
				#header #navi .gnavi > li > .u-menu .inner ul li {
								width: auto;
								display: block;
								position: relative;
								margin-bottom: 0.2em;
				}
				#header #navi .gnavi > li > .u-menu .inner ul li:last-child {
								margin-bottom: 0;
				}
}
#header #navi .gnavi > li > .u-menu .inner ul li.no-arrow a:before {
				content: none;
}
#header #navi .gnavi > li > .u-menu .inner ul li.no-arrow a:after {
				content: none;
}
@media only screen and (max-width: 1100px) {
				#header #navi .gnavi > li > .u-menu .inner ul li.no-arrow a:before {
								content: "";
								width: 0.5em;
								height: 0.5em;
								position: absolute;
								top: 50%;
								left: 0.3em;
								transform: translateY(-50%);
								left: auto;
								right: 0.3em;
								background: url(../img/common/ico_arrow_square.svg) no-repeat center center/contain;
				}
}
#header #navi .gnavi > li > .u-menu .inner ul li a {
				font-size: 1.6rem;
				font-weight: bold;
				padding-left: 2em;
				position: relative;
}
@media only screen and (max-width: 768px) {
				#header #navi .gnavi > li > .u-menu .inner ul li a {
								font-size: 1.2rem;
				}
}
@media only screen and (max-width: 1100px) {
				#header #navi .gnavi > li > .u-menu .inner ul li a {
								font-weight: normal;
				}
}
#header #navi .gnavi > li > .u-menu .inner ul li a:before {
				content: "";
				width: 0.8em;
				height: 0.8em;
				position: absolute;
				top: 50%;
				left: 0.3em;
				transform: translateY(-50%);
				border-radius: 50%;
				padding: 0.4rem;
				background: #666 url(../img/common/ico_arrow_w.svg) no-repeat center center/8px;
				z-index: 2;
}
@media only screen and (max-width: 1100px) {
				#header #navi .gnavi > li > .u-menu .inner ul li a:before {
								width: 0.5em;
								height: 0.5em;
								left: auto;
								right: 0.3em;
								background: url(../img/common/ico_arrow_square.svg) no-repeat center center/contain;
				}
}
#header #navi .gnavi > li > .u-menu .inner ul li a[target=_blank]:after {
				content: "";
				width: 1em;
				height: 1em;
				display: inline-block;
				vertical-align: baseline;
				margin-left: 1em;
				right: 0;
				background: url(../img/common/ico_blank.svg) no-repeat center center/contain;
				z-index: 1;
}
@media only screen and (max-width: 1100px) {
				#header #navi .gnavi > li > .u-menu .inner ul li a {
								background: #E3E3E3;
								padding: 1em 3em 1em 1em;
								display: block;
				}
}
#header #navi .gnavi > li > .u-menu .inner ul li a:has(figure) {
				padding-left: 0;
				text-align: center;
}
@media only screen and (max-width: 1100px) {
				#header #navi .gnavi > li > .u-menu .inner ul li a:has(figure) {
								text-align: left;
								padding-left: 1em;
				}
}
#header #navi .gnavi > li > .u-menu .inner ul li a figure {
				border-radius: 20px;
				overflow: hidden;
				margin-bottom: 0.8rem;
}
@media only screen and (max-width: 1100px) {
				#header #navi .gnavi > li > .u-menu .inner ul li a figure {
								display: none;
				}
}
#header #navi .gnavi > li > .u-menu .inner ul.col2 {
				flex-wrap: wrap;
				gap: 1.5em 1em;
}
#header #navi .gnavi > li > .u-menu .inner ul.col2 li {
				width: calc(50% - 0.5em);
}
@media only screen and (max-width: 1100px) {
				#header #navi .gnavi > li > .u-menu .inner ul.col2 li {
								width: 100%;
				}
}
#header.no-link {
				padding: 3em 1em 0;
				margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
				#header.no-link .btn-skip a {
								display: none;
				}
}
#header.no-link .site-name {
				font-size: 4rem;
				font-weight: bold;
				text-align: center;
}
@media only screen and (max-width: 768px) {
				#header.no-link .site-name {
								font-size: 2rem;
				}
}
#header.no-link .logo-h {
				text-align: center;
}
#header.no-link .logo-h img {
				width: 30%;
				max-width: 128px;
}
@media only screen and (max-width: 768px) {
				#header.no-link .logo-h img {
								max-width: 100px;
				}
}
#header.fixed-h {
				box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);
				top: 0;
}
@media only screen and (min-width: 789px) {
				#header.fixed-h #navi .gnavi li a {
								font-size: 1.6rem;
				}
				#header.fixed-h #navi .gnavi li .u-menu {
								top: 55px;
				}
}

/*　ドロワーボタン　*/
.btn-menu {
				display: block;
				cursor: pointer;
				position: absolute;
				top: 50%;
				right: 3%;
				z-index: 25;
				transform: translateY(-50%);
}
.btn-menu .btn-s {
				display: block;
				text-align: center;
}
.btn-menu .btn-s div {
				position: relative;
				width: 28px;
				height: 19px;
				display: inline-block;
				vertical-align: middle;
}
.btn-menu .btn-s div span {
				display: inline-block;
				transition: all 0.4s;
				position: absolute;
				left: 0;
				width: 100%;
				height: 2px;
				background-color: #fff;
				border-radius: 3px;
}
.btn-menu .btn-s div span:nth-of-type(1) {
				top: 0;
}
.btn-menu .btn-s div span:nth-of-type(2) {
				top: 9px;
}
.btn-menu .btn-s div span:nth-of-type(3) {
				bottom: 0;
}
.btn-menu .btn-s div span:nth-of-type(2)::after {
				position: absolute;
				top: 0;
				left: 0;
				content: "";
				width: 100%;
				height: 2px;
				background-color: #fff;
				transition: all 0.4s;
}
.btn-menu .btn-s.open span:nth-of-type(1) {
				transform: translateY(20px) scale(0);
}
.btn-menu .btn-s.open span:nth-of-type(2) {
				transform: rotate(-45deg);
}
.btn-menu .btn-s.open span:nth-of-type(2)::after {
				transform: rotate(90deg);
}
.btn-menu .btn-s.open span:nth-of-type(3) {
				transform: translateY(-20px) scale(0);
}

@media only screen and (min-width: 789px) {
				body.fixed-h #header {
								padding: 0.5em;
				}
}
@media only screen and (min-width: 789px) {
				body.fixed-h #header .logo-h img {
								width: 130px;
				}
}
@media only screen and (min-width: 789px) {
				body.fixed-h #header #navi {
								width: 100%;
								background: #FFF;
								position: fixed;
								top: 68px;
								z-index: 20;
				}
}
body.fixed-body {
				width: 100%;
				height: 100%;
				overflow: hidden;
}
@media only screen and (max-width: 768px) {
				body.fixed-body {
								position: fixed;
				}
}
body.fixed-body #header {
				overflow-y: scroll;
				height: 100vh;
				position: fixed;
				top: 0;
				padding-top: 70px;
}
body.fixed-body #header .header-wrap {
				width: 1200px;
				grid-template-rows: auto;
				grid-template-columns: 16rem 1fr;
				background: #FFF;
}
body.fixed-body #header .header-wrap .header-contents {
				grid-template-rows: none;
				grid-template-columns: none;
				order: 2;
}
body.fixed-body #header .header-wrap .header-contents #navi {
				display: block;
				position: relative;
				background: none;
				width: 100%;
				height: 100%;
				grid-row: auto;
				grid-column: auto;
				order: 1;
}
body.fixed-body #header .header-wrap .header-contents .function-block {
				display: block;
				width: 100%;
				grid-row: auto;
				grid-column: auto;
				padding: 1em 0;
				order: 2;
}
@media only screen and (max-width: 768px) {
				body.fixed-body #header .header-wrap .header-contents .function-block {
								padding: 1em 0 15em;
				}
}
body.fixed-body #header .btn-menu {
				top: 1em;
				transform: none;
}

/* --------------------------------------------------

footer

-------------------------------------------------- */
#footer {
				color: #1A1A1A;
				background: #f9f9f9;
}
#footer .page-top {
				position: fixed;
				right: 3%;
				bottom: 5%;
				z-index: 100;
				display: block; /* 常にdisplay: block */
				opacity: 0;
				visibility: hidden;
				pointer-events: none; /* 非表示時はクリックできないように */
				transition: opacity 0.3s ease, visibility 0.3s ease;
}
#footer .page-top.is-visible {
				opacity: 1;
				visibility: visible;
				pointer-events: auto; /* 表示時はクリック可能に */
}
@media only screen and (max-width: 768px) {
				#footer .page-top {
								bottom: 1em;
				}
}
#footer .page-top a {
				overflow: hidden;
				color: #FFF;
				width: 5rem;
				height: 5rem;
				line-height: 1.3;
				text-indent: -200px;
				letter-spacing: 0.1em;
				text-align: center;
				background: #666;
				display: block;
				transition: all 0.4s;
}
@media only screen and (max-width: 768px) {
				#footer .page-top a {
								font-size: 1.3rem;
				}
}
#footer .page-top a:hover {
				background: #666;
}
@media only screen and (max-width: 768px) {
				#footer .page-top a {
								width: 6rem;
								height: 6rem;
				}
}
#footer .page-top a:before {
				content: "";
				width: 1.3em;
				height: 1.8em;
				position: absolute;
				top: 50%;
				left: 50%;
				background: url(../img/common/ico_arrow_w.svg) no-repeat center center/contain;
				display: block;
				transform: translate(-50%, -50%) rotateZ(-90deg);
}
#footer .info-footer {
				padding-block: 2em 4em;
}
#footer .info-footer .info-footer-block {
				padding-block: 1em;
				display: flex;
}
@media only screen and (max-width: 768px) {
				#footer .info-footer .info-footer-block {
								padding-block: 5%;
								display: block;
				}
}
#footer .info-footer .info-footer-block:nth-child(1), #footer .info-footer .info-footer-block:nth-child(2) {
				border-bottom: 1px solid #DDD;
				padding-block: 1.5em;
}
@media only screen and (max-width: 768px) {
				#footer .info-footer .info-footer-block:nth-child(1), #footer .info-footer .info-footer-block:nth-child(2) {
								padding-block: 6%;
				}
}
#footer .info-footer .info-footer-block dl {
				margin-left: 3em;
}
@media only screen and (max-width: 768px) {
				#footer .info-footer .info-footer-block dl {
								margin-left: 0;
				}
}
#footer .info-footer .info-footer-block dl:first-child {
				margin-left: 0;
}
#footer .info-footer .info-footer-block dl dt {
				font-family: "Noto Sans JP", sans-serif;
				font-size: 1.7rem;
				font-weight: 500;
}
#footer .info-footer .info-footer-block dl dd {
				font-size: 1.2rem;
				font-weight: 400;
				margin-top: 0.7em;
				display: flex;
}
@media only screen and (max-width: 768px) {
				#footer .info-footer .info-footer-block dl dd {
								display: block;
				}
}
#footer .info-footer .info-footer-block dl dd ul {
				display: flex;
				flex-wrap: wrap;
				gap: 0 2em;
}
#footer .info-footer .info-footer-block dl dd ul li {
				margin-bottom: 0.7em;
}
#footer .info-footer .info-footer-block dl dd ul.cat-list li:first-child {
				display: none;
}
#footer .info-footer .info-footer-block dl .info-footer-block-inner dl dt {
				color: #666;
				font-size: 1.2rem;
				font-weight: 500;
				text-align: left;
}
#footer .info-footer .info-footer-block dl .info-footer-block-inner dl dd {
				margin-top: 0.2em;
}
#footer .info-footer .info-footer-block dl .info-footer-nav {
				display: flex;
				gap: 0 2em;
}
@media only screen and (max-width: 768px) {
				#footer .info-footer .info-footer-block dl .info-footer-nav {
								display: block;
				}
}
#footer .info-footer .info-footer-block dl .info-footer-nav li a {
				display: flex;
				align-items: center;
				font-size: 1.3rem;
}
#footer .info-footer .info-footer-block dl .info-footer-nav li a img {
				width: 2rem;
}
#footer .info-footer .info-footer-block dl .info-footer-nav li a span {
				margin-left: 0.5em;
}
#footer .info-footer .info-footer-block-category dd {
				display: block !important;
}
#footer .info-footer .info-footer-block-guide {
				display: flex;
}
@media only screen and (max-width: 768px) {
				#footer .info-footer .info-footer-block-guide {
								display: block;
				}
}
#footer .info-footer .info-footer-block-guide dl {
				margin-left: 3em;
}
@media only screen and (max-width: 768px) {
				#footer .info-footer .info-footer-block-guide dl {
								margin-top: 6%;
								margin-left: 0;
				}
}
#footer .info-footer .info-footer-block-guide dl dt {
				font-size: 1.5rem;
}
#footer .info-footer .info-footer-block-guide dl dd {
				font-weight: 400;
				font-size: 1.2rem;
				margin-top: 0.7em;
}
#footer .info-footer .info-footer-block-guide dl:first-child {
				margin-left: 0;
}
@media only screen and (max-width: 768px) {
				#footer .info-footer .info-footer-block-guide dl:first-child {
								margin-top: 0;
				}
}
#footer .info-footer .info-footer-block-account {
				margin-top: 1.7em;
}
#footer .info-footer .info-footer-block-account ul {
				display: flex;
				gap: 0 2em;
}
#footer .info-footer .info-footer-block-account ul li a {
				display: flex;
				align-items: center;
				font-size: 1.3rem;
}
#footer .info-footer .info-footer-block-account ul li a img {
				width: 2rem;
}
#footer .info-footer .info-footer-block-account ul li a span {
				margin-left: 0.5em;
}
#footer .footer-bottom {
				background-color: #222;
				padding-block: 3em;
}
@media only screen and (max-width: 768px) {
				#footer .footer-bottom {
								padding-block: 6%;
				}
}
#footer .footer-bottom .footer-bottom-inner {
				display: flex;
				justify-content: space-between;
				align-items: center;
}
@media only screen and (max-width: 768px) {
				#footer .footer-bottom .footer-bottom-inner {
								display: block;
				}
}
#footer .footer-bottom .footer-bottom-inner .link-footer {
				display: flex;
				gap: 0 2em;
}
@media only screen and (max-width: 768px) {
				#footer .footer-bottom .footer-bottom-inner .link-footer {
								display: block;
								text-align: center;
				}
}
#footer .footer-bottom .footer-bottom-inner .link-footer li {
				font-size: 1.2rem;
}
@media only screen and (max-width: 768px) {
				#footer .footer-bottom .footer-bottom-inner .link-footer li {
								margin-top: 6%;
				}
}
#footer .footer-bottom .footer-bottom-inner .link-footer li a {
				color: #fff;
				display: block;
}
@media only screen and (max-width: 768px) {
				#footer .footer-bottom .footer-bottom-inner .link-group {
								margin-top: 6%;
								text-align: center;
				}
}
#footer .footer-bottom .footer-bottom-inner .link-group a {
				font-size: 1.2rem;
				font-weight: 400;
				color: #FFF;
				background-color: #333;
				padding: 1em 2em;
}
@media only screen and (max-width: 768px) {
				#footer .footer-bottom .footer-bottom-inner .link-group a {
								display: inline-block;
								text-align: center;
				}
}
#footer .copy {
				padding-block: 2em;
				font-size: 1.2rem;
				color: #FFF;
				background-color: #1A1A1A;
}
@media only screen and (max-width: 768px) {
				#footer .copy {
								padding-block: 6%;
								text-align: center;
				}
}
#footer.no-link {
				padding: 2.4rem 0;
}

/* --------------------------------------------------

タイトル

-------------------------------------------------- */
/* page-ttl */
.page-ttl {
				font-size: 2.4rem;
				font-weight: 700;
				position: relative;
				margin-block: 4rem 2em;
}
@media only screen and (max-width: 1100px) {
				.page-ttl {
								font-size: 2rem;
								margin-block: 2em 1.5em;
				}
}
.page-ttl p {
				font-size: 1.6rem;
}
@media only screen and (max-width: 1100px) {
				.page-ttl p {
								font-size: 1.4rem;
				}
}
.page-ttl .date {
				color: #666;
				margin-bottom: 0.5em;
}

.page-category-ttl {
				width: 100%;
				margin-block: 0 2em;
}
.page-category-ttl .eyecatch {
				width: 100%;
}

/* ttl-large */
.ttl-large {
				font-size: 2.1rem;
				font-weight: bold;
				padding-bottom: 0.5em;
				margin: 2em 0 1.5em;
				position: relative;
				border-bottom: 1px solid #DDD;
}
@media only screen and (max-width: 768px) {
				.ttl-large {
								margin: 4.8rem 0 2.4rem;
				}
}

/* ttl-middle */
.ttl-middle {
				font-size: 2rem;
				font-weight: bold;
}

/* ttl-small */
.ttl-small {
				font-size: 1.7rem;
				font-weight: bold;
}

.ttl-policy {
				font-size: 1.8rem;
				font-weight: 700;
				margin-bottom: 0.3em;
}

/* ttl-border-b */
.ttl-border-b {
				color: #666;
				border-bottom: 4px solid #666;
				font-size: 2rem;
				font-weight: bold;
				padding: 1.6rem 0;
				margin: 2.4rem 0;
}
@media only screen and (max-width: 768px) {
				.ttl-border-b {
								font-size: 1.8rem;
				}
}

/* ttl-border-l */
.ttl-border-l {
				border-left: 7px solid #666;
				font-size: 1.8rem;
				font-weight: bold;
				padding: 0.8rem 1.6rem;
				margin: 2.4rem 0;
}
@media only screen and (max-width: 768px) {
				.ttl-border-l {
								font-size: 1.6rem;
				}
}

/* --------------------------------------------------

ボタン

-------------------------------------------------- */
/* btn-base */
a.btn-base,
button.btn-base {
				color: #1A1A1A;
				background: #FFF;
				font-size: 1.7rem;
				font-weight: 500;
				text-align: center;
				line-height: 1.5;
				letter-spacing: 0.1em;
				border: 1px solid #DDD;
				box-sizing: border-box;
				display: block;
				padding: 0.8em 10em;
				position: relative;
}
@media only screen and (max-width: 768px) {
				a.btn-base,
				button.btn-base {
								width: 100%;
								margin: 0 auto;
								min-width: auto;
								padding: 1em;
				}
}
a.btn-base:hover,
button.btn-base:hover {
				opacity: 0.7;
}
a.btn-base:hover,
button.btn-base:hover {
				background: #EEE;
}
a.btn-base.normal,
button.btn-base.normal {
				font-size: 1.6rem;
				font-weight: normal;
				padding: 1.6rem 3.2rem;
}
a.btn-base.back:before,
button.btn-base.back:before {
				content: "";
				background: url(../img/common/ico_arrow_square_w.svg) no-repeat center center/contain;
				width: 0.8em;
				height: 0.8em;
				display: inline-block;
				position: absolute;
				top: 50%;
				left: 2.4rem;
				transform: translateY(-50%) rotate(180deg);
}
a.btn-base.arrow:after,
button.btn-base.arrow:after {
				content: "";
				background: url(../img/common/ico_arrow_b.svg) no-repeat center center/contain;
				width: 0.8em;
				height: 0.8em;
				display: inline-block;
				position: absolute;
				top: 50%;
				right: 2.4rem;
				transform: translateY(-50%);
}
a.btn-base.arrow.down:after,
button.btn-base.arrow.down:after {
				content: "";
				transform: translateY(-50%) rotate(90deg);
}
a.btn-base.envelope:after,
button.btn-base.envelope:after {
				content: "";
				background: url(../img/common/ico_envelope_b.svg) no-repeat center center/contain;
				width: 1.9rem;
				height: 1.5rem;
				display: inline-block;
				position: absolute;
				top: 50%;
				right: 2.4rem;
				transform: translateY(-50%);
}
a.btn-base.faq:after,
button.btn-base.faq:after {
				content: "";
				background: url(../img/common/ico_faq_b.svg) no-repeat center center/contain;
				width: 2.1rem;
				height: 2.1rem;
				display: inline-block;
				position: absolute;
				top: 50%;
				right: 2.4rem;
				transform: translateY(-50%);
}
a.btn-base.manual:after,
button.btn-base.manual:after {
				content: "";
				background: url(../img/common/ico_manual_b.svg) no-repeat center center/contain;
				width: 1.8rem;
				height: 1.9rem;
				display: inline-block;
				position: absolute;
				top: 50%;
				right: 2.4rem;
				transform: translateY(-50%);
}
a.btn-base.filter:after,
button.btn-base.filter:after {
				content: "";
				background: url(../img/common/ico_filter_b.svg) no-repeat center center/contain;
				width: 1em;
				height: 0.9em;
				display: inline-block;
				position: absolute;
				top: 50%;
				right: 2.4rem;
				transform: translateY(-50%);
}
@media only screen and (max-width: 768px) {
				a.btn-base.filter:after,
				button.btn-base.filter:after {
								right: 1rem;
				}
}
a.btn-base.border,
button.btn-base.border {
				color: #1A1A1A;
				background: #FFF;
				border: 1px solid #666;
}
a.btn-base.border:after,
button.btn-base.border:after {
				background: url(../img/common/ico_arrow_square.svg) no-repeat center center/contain;
}
a.btn-base.clear,
button.btn-base.clear {
				color: #5E606E;
				background: #FFF;
				vertical-align: middle;
				border: 1px solid #666;
}
a.btn-base.print,
button.btn-base.print {
				color: #1A1A1A;
				background: #FFF;
				border: 1px solid #666;
				position: relative;
}
a.btn-base.print:before,
button.btn-base.print:before {
				content: "";
				width: 2.4rem;
				min-width: 2.4rem;
				height: 2.6rem;
				display: inline-block;
				background: url(../img/common/ico_print.svg) no-repeat center center/contain;
				position: absolute;
				left: 2.4rem;
				top: 50%;
				transform: translateY(-50%);
}
a.btn-base.grayout,
button.btn-base.grayout {
				background: #DFDFDF;
				pointer-events: none;
}
a.btn-base.edit,
button.btn-base.edit {
				color: #1A1A1A;
				background: #EEE;
}
a.btn-base.edit:after,
button.btn-base.edit:after {
				content: "";
				background: url(../img/common/ico_arrow_square.svg) no-repeat center center/contain;
				width: 0.8em;
				height: 0.8em;
				display: inline-block;
				position: absolute;
				top: 50%;
				left: 2.4rem;
				transform: translateY(-50%) rotate(180deg);
}
a.btn-base.search,
button.btn-base.search {
				display: flex;
				align-items: center;
				justify-content: center;
}
a.btn-base.search:before,
button.btn-base.search:before {
				content: "";
				width: 1.2em;
				min-width: 1.2em;
				height: 1.2em;
				display: inline-block;
				background: url(../img/common/ico_search_w.svg) no-repeat center center/contain;
				margin-right: 1.6rem;
}

.btn-simple {
				background: url(../img/common/ico_arrow_b.svg) no-repeat right center/0.7rem;
				padding-right: 2rem;
}
@media only screen and (max-width: 768px) {
				.btn-simple {
								text-align: center;
				}
}

.fav-part {
				position: absolute;
				z-index: 1;
}
.fav-part a {
				color: #EEE;
				font-size: 2.4rem;
				padding: 0;
				width: auto;
				height: auto;
}
.fav-part .heart-on a {
				color: #E42020;
}

/* --------------------------------------------------

価格

-------------------------------------------------- */
.price {
				font-family: "Josefin Sans", sans-serif;
}
.price span {
				font-family: "Josefin Sans", sans-serif;
}
.price .price-tax {
				font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "HiraKakuProN-W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
}

/* --------------------------------------------------

アイコン

-------------------------------------------------- */
.icon-new {
				color: #FFF;
				background: #E42020;
				border: 1px solid #E42020;
				border-radius: 100px;
				font-size: 1.2rem;
				font-weight: bold;
				text-align: center;
				display: inline-block;
				padding: 0.5rem 1.6rem;
				margin: 0 0.8rem 0 1.6rem;
				position: relative;
}
@media only screen and (max-width: 768px) {
				.icon-new {
								margin: 0 0.8rem 0 0.8rem;
				}
}

/* --------------------------------------------------

リストアイコン

-------------------------------------------------- */
.list-icon {
				display: flex;
				flex-wrap: wrap;
				align-items: flex-start;
				margin-block: 0.7rem 0.3em;
}
.list-icon li {
				margin: 0 0.7rem 0 0;
				line-height: 1;
}
.list-icon li img {
				line-height: 1;
				height: 12px;
				width: auto;
}
.list-icon a:hover {
				opacity: 0.7;
}

/* --------------------------------------------------

バッジ

-------------------------------------------------- */
.badge {
				font-size: 1.6rem;
				text-align: center;
				line-height: 4rem;
				display: block;
				width: 4rem;
				height: 4rem;
				border-radius: 50%;
				z-index: 2;
}
.badge.new {
				color: #FFF;
				background: #E42020;
}
.badge.open {
				color: #FFF;
				background: #666;
}
.badge.close {
				color: #FFF;
				background: #1A1A1A;
}
.badge.rank {
				color: #FFF;
				background: #666;
}

/* --------------------------------------------------

星

-------------------------------------------------- */
.reviewRateStar {
				display: inline-block;
				font-size: 0;
}
.reviewRateStar::before {
				font-family: "Font Awesome 5 Free";
				content: "\f005";
				font-size: 12px;
				font-weight: 900;
}
.reviewRateStar.starOff::before {
				content: "\f005";
				color: #999;
}
.reviewRateStar.starHalf::before {
				content: "\f5c0";
}

.review-part {
				display: flex;
				justify-content: flex-start;
				flex-wrap: wrap;
				align-items: center;
}
.review-part > div {
				margin-right: 0.2em;
}
.review-part .review-link a {
				display: flex;
				align-items: center;
				gap: 0 0.3em;
}
.review-part .reviewRate {
				display: flex;
				align-items: center;
				margin: 0.3em 0.4em 0.3em 0;
				gap: 2px;
}
.review-part .reviewRate .reviewRateStar {
				display: inline-block;
				font-size: 0;
				letter-spacing: 0;
}
.review-part .reviewRate .reviewRateStar::before {
				font-family: "Font Awesome 5 Free";
				content: "\f005";
				font-size: 1.2rem;
				font-weight: 900;
				line-height: 1;
}
.review-part .score {
				font-size: 1.3rem;
				margin: 0.5em 0 0 0.5em;
}
.review-part p {
				font-size: 1.3rem;
}

/* --------------------------------------------------

お気に入り

-------------------------------------------------- */
.favorite-btn {
				background: none;
				border: none;
}

.fav-part .heart-off a {
				color: #ccc;
				/* グレー：未登録 */
				text-decoration: none;
}

.fav-part .heart-on a {
				color: #f33;
				/* 赤：登録済み */
				text-decoration: none;
}

.js-fav {
				color: #ccc;
				/* 未登録はグレー */
				text-decoration: none;
				font-size: 1.5em;
}

.js-fav.is-active {
				color: #f33;
				/* 登録済みは赤 */
}

.favorite-wrap {
				display: flex;
				align-items: baseline;
}

.favorite-icon {
				position: relative;
				display: inline-block;
}
.favorite-icon::after {
				font-family: "Font Awesome 5 Free";
				content: "\f004";
				font-size: 24px;
				font-weight: 900;
				margin-left: 14px;
				margin-right: 4px;
				-webkit-text-stroke: 1px #fff;
}
.favorite-icon.favorite-on {
				color: #E42020 !important;
}
.favorite-icon.favorite-off {
				color: #ccc !important;
}
.favorite-icon.hide {
				display: none;
}

/* --------------------------------------------------

背景

-------------------------------------------------- */
.bg-c {
				padding: 3.2rem 0;
				margin-bottom: 3.2rem;
}
@media only screen and (max-width: 768px) {
				.bg-c {
								padding: 1.6rem 0;
				}
}
.bg-c.inside {
				padding: 3.2rem;
}
@media only screen and (max-width: 768px) {
				.bg-c.inside {
								padding: 1.6rem;
				}
}
.bg-c.gray {
				background: #EEE;
}
.bg-c.white {
				background: #FFF;
}

/* --------------------------------------------------

リスト

-------------------------------------------------- */
/* list-num */
ol.list-num {
				margin: 1.6rem 0;
}
ol.list-num li {
				text-indent: -1.9em;
				padding-left: 2em;
				list-style-type: none;
				counter-increment: cnt;
				margin-bottom: 0.8rem;
}
ol.list-num li::before {
				content: "(" counter(cnt) ")";
				margin-right: 0.8rem;
}

/* list-circle */
.list-circle {
				list-style: disc;
				margin: 1.6rem 0;
}
.list-circle li {
				margin-left: 1.5em;
				margin-bottom: 0.8rem;
}

/* list-square */
.list-square {
				margin: 1.6rem 0;
}
.list-square li {
				padding-left: 1.5em;
				list-style-type: none;
				position: relative;
				margin-bottom: 0.8rem;
}
.list-square li::before {
				content: "";
				background: #666;
				width: 1rem;
				height: 1rem;
				display: inline-block;
				position: absolute;
				top: 0.45em;
				left: 0.4rem;
}

/* list-mark */
.list-mark {
				position: relative;
				padding-left: 1.5em;
				margin: 1.6rem 0;
}
.list-mark li {
				margin-bottom: 0.8rem;
}
.list-mark li .mark {
				position: absolute;
				left: 0;
}

/* --------------------------------------------------

パンくずリスト

-------------------------------------------------- */
.breadCrumbs {
				width: 100%;
				margin: 0;
				position: relative;
				margin-bottom: 2rem;
}
@media only screen and (max-width: 1380px) {
				.breadCrumbs {
								width: 94%;
								max-width: 1080px;
				}
}
@media only screen and (max-width: 1100px) {
				.breadCrumbs {
								display: none;
				}
}
.breadCrumbs ul {
				display: flex;
				align-items: center;
}
.breadCrumbs ul li {
				font-size: 1.1rem;
				vertical-align: middle;
				margin-right: 1.6rem;
				display: inline-block;
				white-space: nowrap;
}
@media only screen and (max-width: 768px) {
				.breadCrumbs ul li {
								font-size: 1.3rem;
				}
}
.breadCrumbs ul li a {
				vertical-align: middle;
				text-decoration: underline;
				margin-right: 0.8em;
				text-decoration: none;
}
.breadCrumbs ul li a[aria-current] {
				text-decoration: none;
}
.breadCrumbs ul li:after {
				content: "";
				background: url(../img/common/ico_arrow_b.svg) no-repeat center center/contain;
				width: 0.5em;
				height: 0.8em;
				display: inline-block;
				vertical-align: middle;
}
.breadCrumbs ul li:last-child:after {
				display: none;
}
.breadCrumbs ul li[aria-current=page] {
				overflow: hidden;
				white-space: nowrap;
				text-overflow: ellipsis;
}

/* --------------------------------------------------

絞り込み

-------------------------------------------------- */
.list-header {
				display: flex;
				justify-content: flex-end;
				align-items: center;
				margin-bottom: 2em;
}
.list-header .item-filter {
				margin-right: 1em;
				display: none;
}
@media only screen and (max-width: 768px) {
				.list-header .item-filter {
								display: block;
				}
}
.list-header .item-filter .btn-base {
				display: flex;
				justify-content: center;
				align-items: center;
				border: 1px solid #DDD;
				padding: 0 3em 0 1em;
				font-size: 1.4rem;
				height: 50px;
				text-align: center;
}
.list-header .category-sort {
				position: relative;
				display: flex;
				justify-content: flex-end;
				align-items: center;
}
.list-header .category-sort-label {
				font-size: 1.4rem;
				display: none;
}
.list-header .category-sort-select {
				width: auto;
				border: 1px solid #1A1A1A;
				background-color: #1A1A1A;
				padding: 8px 12px;
				font-size: 1.4rem;
}
.list-header .category-sort-select option:checked, .list-header .category-sort-select option[selected] {
				background-color: #1A1A1A;
				color: #FFF;
}
.list-header .category-sort-select option:hover {
				background-color: #EEE;
}
.list-header .category-sort-custom {
				position: relative;
				display: inline-block;
				width: auto;
				min-width: 150px;
}
.list-header .category-sort-custom .custom-select-display {
				height: 50px;
				border: 0;
				background-color: #666;
				display: flex;
				align-items: center;
				padding-left: 1em;
				cursor: pointer;
				font-size: 1.4rem;
				position: relative;
				color: #FFF;
}
.list-header .category-sort-custom .custom-select-display:after {
				content: "▼";
				position: absolute;
				right: 10px;
				top: 50%;
				transform: translateY(-50%);
				font-size: 0.8em;
				color: #FFF;
				transition: transform 0.2s ease;
}
.list-header .category-sort-custom .custom-select-display.active {
				border-color: #1A1A1A;
}
.list-header .category-sort-custom .custom-select-display.active:after {
				transform: translateY(-50%) rotate(180deg);
}
.list-header .category-sort-custom .custom-select-display:focus {
				outline: none;
				border-color: #1A1A1A;
}
.list-header .category-sort-custom .custom-select-options {
				position: absolute;
				top: 100%;
				left: 0;
				right: 0;
				background-color: #FFF;
				border: 1px solid #1A1A1A;
				border-top: none;
				max-height: 200px;
				overflow-y: auto;
				z-index: 1000;
				display: none;
}
.list-header .category-sort-custom .custom-select-options.show {
				display: block;
}
.list-header .category-sort-custom .custom-select-options .custom-option {
				padding: 8px 12px;
				cursor: pointer;
				font-size: 1.4rem;
				transition: background-color 0.2s ease;
}
.list-header .category-sort-custom .custom-select-options .custom-option:hover {
				background-color: #EEE;
}
.list-header .category-sort-custom .custom-select-options .custom-option.selected {
				background-color: #1A1A1A;
				color: #FFF;
				font-weight: bold;
}
.list-header .category-sort-custom select {
				position: absolute;
				opacity: 0;
				pointer-events: none;
				left: -9999px;
}

/* --------------------------------------------------

ページング、検索結果

-------------------------------------------------- */
.paging .pagingIn {
				display: flex;
				align-items: center;
				justify-content: center;
				flex-wrap: wrap;
				gap: 0.7em;
				margin-top: 2em;
}
@media only screen and (max-width: 768px) {
				.paging .pagingIn {
								flex-wrap: nowrap;
								justify-content: center;
				}
}
.paging .pagingIn.center {
				justify-content: center;
}
.paging span {
				font-size: 1.5rem;
				font-weight: 400;
}
.paging span a {
				taxt-align: center;
				border: 1px solid #DDD;
				color: #1A1A1A;
				background: #FFF;
				display: inline-block;
				padding: 1.5rem;
}
.paging span a:hover {
				color: #1A1A1A;
				background: #EEE;
				opacity: 1;
}
.paging .current {
				color: #FFF;
				background: #666;
				display: inline-block;
				padding: 1.5rem;
				border: none;
}
@media only screen and (max-width: 768px) {
				.paging .current {
								display: block;
				}
}
.paging .prev a,
.paging .next a {
				padding-inline: 1.2re 2.4rem;
				position: relative;
}
@media only screen and (max-width: 768px) {
				.paging .prev a,
				.paging .next a {
								display: none;
				}
}
.paging .prev a:before,
.paging .next a:before {
				content: "";
				background: url(../img/common/ico_arrow_b.svg) no-repeat center center/contain;
				width: 0.8em;
				height: 0.8em;
				display: inline-block;
				position: absolute;
				top: 50%;
				transform: translateY(-50%);
}
.paging .prev a {
				padding-left: 4rem;
}
.paging .prev a:before {
				left: 1.6rem;
				transform: translateY(-50%) rotateZ(180deg);
}
.paging .next a {
				padding-right: 4rem;
}
.paging .next a:before {
				right: 1.6rem;
}

/* --------------------------------------------------

タブ

-------------------------------------------------- */
/* tab-wrap */
.tab-wrap {
				position: relative;
}
.tab-wrap .tab-area {
				display: flex;
				justify-content: space-between;
}
.tab-wrap .tab-area > li {
				display: flex;
				flex: 1;
}
.tab-wrap .tab-area > li:last-child {
				margin-right: 0;
}
.tab-wrap .tab-area > li a {
				background: #fff;
				border: 1px solid #DDD;
				font-weight: bold;
				width: 100%;
				display: flex;
				color: #1A1A1A;
				align-items: center;
				justify-content: center;
				padding: 1.6rem;
}
@media only screen and (max-width: 768px) {
				.tab-wrap .tab-area > li a {
								font-size: 1.4rem;
				}
}
.tab-wrap .tab-area > li a.active {
				background: #666;
				position: relative;
				z-index: 1;
				color: #FFF;
}
.tab-wrap .tab-area > li a:not(.active) {
				margin-bottom: 0.1rem;
}

.tab-contents {
				padding: 2.4rem 0;
}
@media only screen and (max-width: 768px) {
				.tab-contents {
								width: 100%;
								padding: 5% 0 0;
								overflow: scroll;
				}
}
.tab-contents > div {
				display: none;
}
.tab-contents > div.active {
				display: block;
}

/* SP */
@media only screen and (max-width: 768px) {
				.sp-tab-btn {
								display: flex;
								flex-wrap: wrap;
				}
				.sp-tab-btn > li {
								flex: auto !important;
								margin-bottom: 2%;
				}
				.sp-tab-btn.col2 > li {
								width: 48%;
				}
				.sp-tab-btn.col2 > li:nth-child(2n) {
								margin-right: 0;
				}
				.sp-tab-btn.col3 > li {
								width: 31.3333333333%;
				}
				.sp-tab-btn.col3 > li:nth-child(3n) {
								margin-right: 0;
				}
				.sp-tab-scroll {
								overflow: auto;
				}
				.sp-tab-scroll > li {
								white-space: nowrap;
				}
}
/* --------------------------------------------------

ボタン

-------------------------------------------------- */
.btn-block {
				margin: 3em 0 0;
				display: flex;
				flex-wrap: wrap;
}
@media only screen and (max-width: 768px) {
				.btn-block {
								display: block;
								margin: 6% auto 0;
								justify-content: center;
				}
}
.btn-block p,
.btn-block button {
				margin: 0 1.2rem 2.4rem;
}
@media only screen and (max-width: 768px) {
				.btn-block p,
				.btn-block button {
								width: 100%;
								margin: 0;
								text-align: center;
				}
}
.btn-block.center {
				justify-content: center;
}
@media only screen and (max-width: 768px) {
				.btn-block.center {
								display: block;
				}
}
.btn-block.right {
				justify-content: flex-end;
}
@media only screen and (max-width: 768px) {
				.btn-block.right {
								display: block;
				}
}
.btn-block.to-back {
				display: flex;
}
@media only screen and (max-width: 768px) {
				.btn-block.to-back p,
				.btn-block.to-back button {
								margin: 0.5em auto;
								width: 100%;
				}
}
@media only screen and (max-width: 768px) and (max-width: 768px) {
				.btn-block.to-back p,
				.btn-block.to-back button {
								width: 90%;
				}
}
@media only screen and (max-width: 768px) {
				.btn-block.to-back button {
								order: 1;
				}
				.btn-block.to-back button.back, .btn-block.to-back button.edit, .btn-block.to-back button.clear {
								order: 2;
				}
				.btn-block.to-back p {
								order: 2;
				}
}
.btn-block.to-clear {
				display: flex;
}
@media only screen and (max-width: 768px) {
				.btn-block.to-clear p,
				.btn-block.to-clear button {
								margin: 0.5em auto;
								width: 100%;
				}
}
@media only screen and (max-width: 768px) and (max-width: 768px) {
				.btn-block.to-clear p,
				.btn-block.to-clear button {
								width: 90%;
				}
}
@media only screen and (max-width: 768px) {
				.btn-block.to-clear button {
								order: 1;
				}
				.btn-block.to-clear button.back, .btn-block.to-clear button.edit, .btn-block.to-clear button.clear {
								order: 2;
				}
				.btn-block.to-clear p {
								order: 2;
				}
}

.btn-block-flex {
				display: flex;
				flex-wrap: wrap;
				align-items: center;
				gap: 2%;
}
@media only screen and (max-width: 768px) {
				.btn-block-flex {
								display: block;
				}
}
.btn-block-flex li {
				text-align: center;
}
.btn-block-flex li a {
				padding: 0.8em;
}
.btn-block-flex li a:hover {
				background: #EEE;
}
.btn-block-flex.col2 {
				justify-content: flex-start;
				gap: 2%;
}
.btn-block-flex.col2 li {
				width: 32%;
				margin-block: 1%;
}
@media only screen and (max-width: 1100px) {
				.btn-block-flex.col2 li {
								width: 48%;
								margin-bottom: 3%;
				}
}
@media only screen and (max-width: 768px) {
				.btn-block-flex.col2 li {
								width: 100%;
								margin-bottom: 3%;
				}
}
.btn-block-flex.col3 li {
				width: 32%;
				margin-block: 1%;
}
@media only screen and (max-width: 1100px) {
				.btn-block-flex.col3 li {
								width: 48%;
								margin-bottom: 1%;
				}
}
@media only screen and (max-width: 768px) {
				.btn-block-flex.col3 li {
								width: 100%;
								margin-bottom: 3%;
				}
}

/* --------------------------------------------------

文章

-------------------------------------------------- */
/* sentence-block */
.sentence-block {
				margin-bottom: 4rem;
}
.sentence-block.center {
				text-align: center;
}
.sentence-block p {
				margin-bottom: 1.6rem;
}
.sentence-block p.mb0 {
				margin-bottom: 0rem;
}
.sentence-block p.indent {
				text-indent: 1em;
}
.sentence-block a {
				text-decoration: underline;
}

/* --------------------------------------------------

スクロールバー付きテキスト

-------------------------------------------------- */
.scroll-text {
				background: #EEE;
				border: 2px solid #E42020;
				border-radius: 20px;
				padding: 2.4rem 3.2rem;
				overflow: hidden;
				margin-bottom: 2.4rem;
}
@media only screen and (max-width: 768px) {
				.scroll-text {
								padding: 1.6rem;
				}
}
.scroll-text > div {
				overflow-y: scroll;
				height: 160px;
				padding-right: 1em;
}
@media only screen and (max-width: 768px) {
				.scroll-text > div {
								height: 200px;
				}
}
.scroll-text > div p:not(:first-child) {
				margin-top: 1em;
}

/* --------------------------------------------------

画像ブロック

-------------------------------------------------- */
.pht-single {
				text-align: center;
				margin-bottom: 2em;
}
.pht-single.bnr-tumulus {
				margin-top: 3.5em;
}
@media only screen and (max-width: 768px) {
				.pht-single.bnr-tumulus {
								margin-top: 1em;
				}
}

/* --------------------------------------------------

サムネイルリスト

-------------------------------------------------- */
/* list-thumb */
.list-thumb {
				display: flex;
				justify-content: flex-start;
				flex-wrap: wrap;
}
.list-thumb.ratio-1-1 .ph-part {
				aspect-ratio: 1/1 !important;
				object-fit: contain !important;
}
.list-thumb.ratio-3-2 .ph-part {
				aspect-ratio: 3/2 !important;
				object-fit: contain !important;
}
.list-thumb.ratio-3-4 .ph-part {
				aspect-ratio: 3/4 !important;
				object-fit: contain !important;
}
.list-thumb.ratio-4-3 .ph-part {
				aspect-ratio: 4/3 !important;
				object-fit: contain !important;
}
.list-thumb.ratio-16-9 .ph-part {
				aspect-ratio: 16/9 !important;
				object-fit: contain !important;
}
.list-thumb li,
.list-thumb .card {
				position: relative;
}
.list-thumb li .ph-part,
.list-thumb li .txt-part,
.list-thumb .card .ph-part,
.list-thumb .card .txt-part {
				width: 100%;
				text-align: left;
				z-index: 1;
				overflow: hidden;
				box-sizing: border-box;
}
.list-thumb li .ph-part,
.list-thumb .card .ph-part {
				position: relative;
				aspect-ratio: 4/3;
				object-fit: contain;
				margin-bottom: 0.7em;
				display: flex;
				justify-content: center;
				align-items: center;
}
.list-thumb li .ph-part > img,
.list-thumb .card .ph-part > img {
				width: 100%;
				max-width: none;
}
.list-thumb li .txt-part,
.list-thumb .card .txt-part {
				padding: 0 0 1.6rem;
}
.list-thumb li .txt-part .date,
.list-thumb .card .txt-part .date {
				font-size: 1.3rem;
				margin-bottom: 0.8rem;
}
.list-thumb li .txt-part .ttl,
.list-thumb .card .txt-part .ttl {
				font-size: 1.4rem;
				font-weight: 400;
}
.list-thumb li .txt-part .ttl a,
.list-thumb .card .txt-part .ttl a {
				width: 100%;
}
.list-thumb li .txt-part .ttl a::after,
.list-thumb .card .txt-part .ttl a::after {
				content: "";
				display: block;
				width: 100%;
				height: 100%;
				position: absolute;
				top: 0;
				left: 0;
				z-index: 1;
}
.list-thumb li .txt-part .model,
.list-thumb .card .txt-part .model {
				font-size: 1.6rem;
				font-weight: 600;
}
.list-thumb li .txt-part .txt-1,
.list-thumb .card .txt-part .txt-1 {
				font-size: 1.2rem;
				color: #E42020;
				margin-top: 0.4em;
				display: -webkit-box;
				-webkit-line-clamp: 3;
				-webkit-box-orient: vertical;
				overflow: hidden;
}
.list-thumb li .txt-part .txt-2,
.list-thumb .card .txt-part .txt-2 {
				font-size: 1.2rem;
				margin-top: 0.4em;
				display: -webkit-box;
				-webkit-line-clamp: 3;
				-webkit-box-orient: vertical;
				overflow: hidden;
}
.list-thumb li .txt-part .review-part,
.list-thumb .card .txt-part .review-part {
				position: relative;
				z-index: 5;
}
.list-thumb li .txt-part .price,
.list-thumb .card .txt-part .price {
				font-size: 1.7rem;
				font-weight: 600;
}
.list-thumb li .txt-part .price .price-unit,
.list-thumb .card .txt-part .price .price-unit {
				font-size: 1.3rem;
				font-family: "Roboto", sans-serif;
				margin-right: 0.2em;
}
.list-thumb li .txt-part .price .price-tax,
.list-thumb .card .txt-part .price .price-tax {
				font-size: 1.1rem;
}
.list-thumb li .txt-part .price-del,
.list-thumb .card .txt-part .price-del {
				font-size: 1.3rem;
				font-weight: 400;
}
.list-thumb li .txt-part .price-del span,
.list-thumb .card .txt-part .price-del span {
				font-size: inherit;
}
.list-thumb li .txt-part .price-sale,
.list-thumb .card .txt-part .price-sale {
				color: #E42020;
}
.list-thumb li .txt-part .price-sale .price-tax,
.list-thumb .card .txt-part .price-sale .price-tax {
				color: #1A1A1A;
}
.list-thumb li .fav-part,
.list-thumb .card .fav-part {
				top: 21rem;
				right: 1em;
}
.list-thumb li .favorite.item-list-favorite,
.list-thumb .card .favorite.item-list-favorite {
				position: absolute;
				top: 0.5rem;
				right: 0.5rem;
				z-index: 10;
}
.list-thumb.col2 > li {
				width: 48%;
				margin: 0 4% 2em 0;
}
.list-thumb.col2 > li:nth-child(2n) {
				margin-right: 0;
}
.list-thumb.col3 > li {
				width: 31%;
				margin: 0 3.5% 2em 0;
}
@media only screen and (max-width: 768px) {
				.list-thumb.col3 > li {
								margin-bottom: 0.8em;
				}
}
.list-thumb.col3 > li:nth-child(3n) {
				margin-right: 0;
}
.list-thumb.col4 {
				gap: 2.6%;
}
@media (width <= 1200px) {
				.list-thumb.col4 {
								gap: 3.5%;
				}
}
@media only screen and (max-width: 1100px) {
				.list-thumb.col4 {
								display: flex;
								flex-wrap: wrap;
				}
}
@media only screen and (max-width: 768px) {
				.list-thumb.col4 {
								gap: 0;
								display: flex;
								flex-wrap: wrap;
								justify-content: space-between;
				}
}
.list-thumb.col4 > li {
				width: 23%;
				margin-bottom: 4%;
}
@media (width <= 1200px) {
				.list-thumb.col4 > li {
								width: 31%;
								margin-bottom: 3%;
				}
}
@media only screen and (max-width: 1100px) {
				.list-thumb.col4 > li {
								margin-bottom: 1.2em;
				}
}
@media only screen and (max-width: 768px) {
				.list-thumb.col4 > li {
								width: 48%;
								margin-bottom: 1.2em;
				}
}
.list-thumb.col4 > li .fav-part {
				top: 17rem;
				right: 1rem;
}
@media (width <= 1200px) {
				.list-thumb.col4 > li .fav-part {
								top: 19vw;
				}
}
@media only screen and (max-width: 1100px) {
				.list-thumb.col4 > li .fav-part {
								top: 18vw;
								right: 1vw;
								transform: translateY(0);
				}
}
@media only screen and (max-width: 768px) {
				.list-thumb.col4 > li .fav-part {
								top: 35vw;
				}
}
.list-thumb.col5 > li {
				width: 18%;
				margin: 0 2.5% 2em 0;
}
.list-thumb.col5 > li .fav-part {
				top: 17rem;
				right: 0.8rem;
}
@media only screen and (max-width: 1100px) {
				.list-thumb.col5 > li .fav-part {
								top: 16vw;
								right: 1vw;
								transform: translateY(0);
				}
}
.list-thumb.col5 > li:nth-child(5n) {
				margin-right: 0;
}
@media only screen and (max-width: 768px) {
				.list-thumb.sp-col01 li {
								width: 100% !important;
								margin-right: 0;
				}
}
@media only screen and (max-width: 768px) {
				.list-thumb.sp-col02 {
								justify-content: space-between;
				}
}
@media only screen and (max-width: 768px) {
				.list-thumb.sp-col02 > li {
								width: 48% !important;
								margin: 0 0 4% 0 !important;
				}
}
@media only screen and (max-width: 768px) {
				.list-thumb.sp-col02 > li .fav-part {
								top: 35vw;
								transform: translateY(0);
				}
}
.list-thumb.ph-thumb > li {
				display: block;
}
.list-thumb.ph-thumb > li .ph-part {
				border-radius: 20px;
				position: relative;
				aspect-ratio: 4/3;
				object-fit: contain;
				overflow: hidden;
}
.list-thumb.ph-thumb > li .ph-part > img {
				width: 100%;
				height: 100%;
				max-width: none;
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%) scale(1);
				transition: all 0.7s;
				object-fit: contain;
}
@media all and (-ms-high-contrast: none) {
				.list-thumb.ph-thumb > li .ph-part > img {
								width: auto;
								height: auto;
								max-width: 130%;
								max-height: 130%;
				}
}
.list-thumb.ph-thumb > li .txt-part {
				padding: 1.6rem 0;
}
.list-thumb.ph-thumb > li .txt-part .date {
				font-size: 1.3rem;
				margin-bottom: 0.8rem;
}
.list-thumb.ph-thumb > li .txt-part .ttl {
				font-size: 2rem;
				font-weight: bold;
				margin-bottom: 1.6rem;
}
.list-thumb.ph-thumb > li .txt-part .txt {
				font-size: 1.4rem;
}

/* --------------------------------------------------

新着リスト

-------------------------------------------------- */
.list-article {
				margin-bottom: 3.2rem;
}
.list-article li a {
				padding: 2.4rem 0;
				border-bottom: 1px solid #666;
				display: block;
				position: relative;
}
.list-article li a:hover {
				opacity: 0.7;
}
.list-article li a .date-part {
				display: flex;
				align-items: flex-start;
				flex-wrap: wrap;
				margin-bottom: 0.8rem;
}
@media only screen and (max-width: 768px) {
				.list-article li a .date-part {
								display: block;
				}
}
.list-article li a .date-part .date-post {
				font-weight: bold;
				text-decoration: none;
				margin-right: 1.6rem;
				margin-bottom: 0.8rem;
}
.list-article li a .ttl {
				text-decoration: underline;
				margin-bottom: 0.8rem;
}
.list-article li a .txt {
				font-size: 1.4rem;
}

/* --------------------------------------------------

ニュースリスト

-------------------------------------------------- */
.list-news li a {
				border-bottom: 1px solid #DDD;
				display: block;
				padding-block: 1em;
				background: url(../img/common/ico_arrow_b.svg) no-repeat right center/0.8rem auto;
}
.list-news li a dl {
				display: flex;
				align-items: center;
				gap: 1em;
}
@media only screen and (max-width: 768px) {
				.list-news li a dl {
								display: block;
								gap: 0;
				}
}
.list-news li a dl dt {
				font-size: 1.6rem;
				font-weight: 600;
				color: #666;
				width: 12em;
				display: flex;
				align-items: center;
}
.list-news li a dl dt span {
				background: #E42020;
				color: #fff;
				font-size: 1.1rem;
				margin-left: 2em;
				padding: 0.1em 0.3em;
}
.list-news li a dl dd {
				flex: 1;
				font-size: 1.4rem;
}

/* --------------------------------------------------

サイト内検索リスト

-------------------------------------------------- */
ul.list-search {
				margin-bottom: 4.8rem;
				margin-bottom: 4.8rem;
}
ul.list-search li {
				border-bottom: 1px solid #666;
}
ul.list-search li a {
				font-size: 1.4rem;
				padding: 2.4rem 0;
				display: block;
}
ul.list-search li a .list-search-ttl {
				font-size: 1.6rem;
				font-weight: bold;
				text-decoration: underline;
				margin-bottom: 1.6rem;
}
ul.list-search li a:hover {
				text-decoration: underline;
}

/* --------------------------------------------------

バナーエリア

-------------------------------------------------- */
.list-bnr {
				display: flex;
				align-items: center;
				justify-content: center;
				gap: 1em 2em;
}
@media only screen and (max-width: 768px) {
				.list-bnr {
								flex-wrap: wrap;
				}
}
.list-bnr li {
				border-radius: 10px;
				overflow: hidden;
}
@media only screen and (max-width: 768px) {
				.list-bnr li {
								width: calc(50% - 1em);
				}
}
.list-bnr li a {
				aspect-ratio: 16/9;
				object-fit: contain;
}

/* --------------------------------------------------

404 503 メンテナンス

-------------------------------------------------- */
.static-wrap {
				text-align: center;
				margin: 8rem 0;
}
@media only screen and (max-width: 768px) {
				.static-wrap {
								min-height: inherit;
				}
}
.static-wrap.border {
				border: 1px solid #999;
				border-radius: 20px;
}
.static-wrap .page-ttl {
				background: none;
}
.static-wrap .static-ttl {
				font-size: 4rem;
				font-weight: bold;
				margin-bottom: 3.2rem;
}
@media only screen and (max-width: 768px) {
				.static-wrap .static-ttl {
								font-size: 2.6rem;
				}
}
.static-wrap .static-txt {
				font-weight: bold;
				line-height: 1.8;
				margin: 0 1.6rem 5.6rem;
}

main:has(.static-wrap.border) + #footer {
				color: #1A1A1A;
				background: none;
}

/* --------------------------------------------------

テーブルスクロール

-------------------------------------------------- */
.table-data {
				border-collapse: collapse;
				border: 1px solid #666;
				width: 100%;
}
.table-data.active {
				white-space: inherit;
}
.table-data caption {
				font-weight: bold;
				text-align: center;
				margin-bottom: 0.8rem;
}
.table-data tr th {
				color: #1A1A1A;
				background: #f9f9f9;
				border: 1px solid #DDD;
				font-weight: bold;
				font-size: 1.4rem;
				padding: 1em;
				text-align: center;
}
.table-data tr td {
				background: #fff;
				border: 1px solid #DDD;
				padding: 1em 2em;
				font-size: 1.4rem;
}
@media only screen and (max-width: 1100px) {
				.table-data tr td {
								padding: 1em;
				}
}

@media only screen and (max-width: 1100px) {
				.table-scroll .table-data {
								width: auto;
								white-space: nowrap;
				}
}
.table-scroll .scroll-bar {
				overflow-x: auto;
				overflow-y: hidden;
}
.table-scroll .scroll-bar .scroll-in {
				height: 10px;
}
.table-scroll .scroll-table {
				overflow: auto;
				position: relative;
}
.table-scroll .scroll-table:before {
				content: "";
				display: block;
				position: absolute;
				background: url(../img/common/pct_scrollhint.svg) no-repeat center center/contain;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
}
.table-scroll .pct-scrollhint {
				display: none;
				font-size: 1.1rem;
				padding: 1em;
				background: rgba(228, 32, 32, 0.6);
				text-align: center;
				border-radius: 10px;
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
}
.table-scroll .pct-scrollhint span {
				color: #fff;
				margin-top: 0.4em;
				display: block;
				white-space: nowrap;
}
.table-scroll .pct-scrollhint.active {
				display: block;
}

/* --------------------------------------------------

カレンダー

-------------------------------------------------- */
.item-cal-blk {
				display: flex;
				justify-content: space-between;
}
@media only screen and (max-width: 1100px) {
				.item-cal-blk {
								display: block;
				}
}

.item-cal-box {
				width: 48%;
}
@media only screen and (max-width: 1100px) {
				.item-cal-box {
								width: 100%;
								margin-bottom: 7%;
				}
}

.makeshop-calendar1,
.makeshop-calendar2 {
				width: 100%;
				margin: 0.8em auto 16px;
				/* 共通：セル */
				/* 曜日ヘッダー */
				/* 日付セル */
}
.makeshop-calendar1 th,
.makeshop-calendar1 td,
.makeshop-calendar2 th,
.makeshop-calendar2 td {
				box-sizing: border-box;
				text-align: center;
				border: 1px solid #e6e6e6;
}
@media only screen and (max-width: 1100px) {
				.makeshop-calendar1 th,
				.makeshop-calendar1 td,
				.makeshop-calendar2 th,
				.makeshop-calendar2 td {
								font-size: 1.4rem;
				}
}
.makeshop-calendar1 th,
.makeshop-calendar2 th {
				background: #dcdcdc;
				font-weight: bold;
				padding: 10px 0;
}
.makeshop-calendar1 th.sunday,
.makeshop-calendar2 th.sunday {
				background: #f08080;
				color: #fff;
}
.makeshop-calendar1 th.saturday,
.makeshop-calendar2 th.saturday {
				background: #6495ed;
				color: #fff;
}
.makeshop-calendar1 td,
.makeshop-calendar2 td {
				background: #fff;
				font-weight: bold;
				padding: 25px 0;
}
.makeshop-calendar1 td.today,
.makeshop-calendar2 td.today {
				background-color: #57886C;
				color: #fff;
}
.makeshop-calendar1 td.sunday,
.makeshop-calendar2 td.sunday {
				background: rgba(240, 128, 128, 0.4509803922);
}
.makeshop-calendar1 td.saturday,
.makeshop-calendar2 td.saturday {
				background: rgba(100, 149, 237, 0.2117647059);
}

.monday,
.tuesday,
.wednesday,
.thursday,
.friday {
				color: black;
}

/* --------------------------------------------------

モーダル

-------------------------------------------------- */
@media only screen and (max-width: 768px) {
				.modal__container .search-block {
								margin-bottom: 0;
				}
}

.remodal-logout {
				max-width: 500px !important;
}
.remodal-logout .remodal-close {
				left: auto;
				right: 0;
}
.remodal-logout .remodal-logout-btns {
				display: flex;
				justify-content: space-between;
				align-items: center;
				margin-top: 1em;
}
.remodal-logout .remodal-logout-btns .remodal-logout-btn {
				width: 48%;
}
.remodal-logout .remodal-logout-btns .remodal-logout-btn a,
.remodal-logout .remodal-logout-btns .remodal-logout-btn button {
				width: 100%;
				display: block;
				text-align: center;
				padding: 15px 0;
				font-weight: bold;
				font-size: 13px;
				color: #1A1A1A;
				border: 1px solid #DDD;
}
.remodal-logout .remodal-logout-btns .remodal-logout-btn a {
				background: #666;
				color: #fff;
}
.remodal-logout .remodal-logout-btns .remodal-logout-btn button {
				background: #fff;
				color: #1A1A1A;
}

/* --------------------------------------------------

コンポーネント

-------------------------------------------------- */
.wrapper-layout {
				width: 1200px;
				margin: 0 auto 10rem;
				display: flex;
				justify-content: space-between;
				flex-direction: row-reverse;
}
@media (width <= 1200px) {
				.wrapper-layout {
								width: 100%;
								padding-inline: 2%;
								margin: 3.5rem auto 7rem;
				}
}
@media only screen and (max-width: 1100px) {
				.wrapper-layout {
								padding-inline: 3%;
								margin: 0 auto 10%;
				}
}
@media only screen and (max-width: 768px) {
				.wrapper-layout {
								padding-inline: 3%;
								margin: 0 auto 10%;
				}
}
.wrapper-layout .side-contents {
				width: 18%;
				z-index: 0;
}
@media (width <= 1200px) {
				.wrapper-layout .side-contents {
								width: 20%;
				}
}
@media only screen and (max-width: 768px) {
				.wrapper-layout .side-contents {
								width: 100%;
								margin-top: 7%;
				}
}
.wrapper-layout .side-contents .side-ttl {
				font-size: 1.8rem;
				font-weight: bold;
				margin: 0 0 1.6rem 0;
}
@media only screen and (max-width: 768px) {
				.wrapper-layout .side-contents .side-ttl {
								font-size: 2rem;
				}
}
.wrapper-layout .side-contents .side-ttl-discontinued {
				font-size: 2rem;
}
@media only screen and (max-width: 768px) {
				.wrapper-layout .side-contents .side-ttl-discontinued {
								font-size: 2rem;
				}
}
.wrapper-layout .side-contents .side-ttl-discontinued span {
				font-size: 1rem;
				font-weight: 400;
				display: block;
}
.wrapper-layout .side-contents .side-block {
				margin-bottom: 6rem;
				border-bottom: 1px solid #DDD;
}
@media only screen and (max-width: 1100px) {
				.wrapper-layout .side-contents .side-block {
								margin-top: 6%;
				}
}
@media only screen and (max-width: 768px) {
				.wrapper-layout .side-contents .side-block {
								padding-inline: 4%;
				}
}
.wrapper-layout .side-contents .side-block .side-block-inner {
				border-top: 1px solid #DDD;
				padding: 0.7em 0;
}
.wrapper-layout .side-contents .side-block .side-link-list li {
				padding: 0.4em 0;
}
.wrapper-layout .side-contents .side-block dl {
				padding: 0.5em 0;
}
.wrapper-layout .side-contents .side-block dl dt {
				cursor: pointer;
				position: relative;
				padding: 0 2rem 0 0;
				font-size: 1.6rem;
}
@media only screen and (max-width: 1100px) {
				.wrapper-layout .side-contents .side-block dl dt {
								font-size: 1.5rem;
				}
}
.wrapper-layout .side-contents .side-block dl dt:after {
				content: "";
				position: absolute;
				right: 0;
				top: 50%;
				transform: translateY(-50%) rotate(90deg);
				width: 1.2rem;
				height: 1.2rem;
				background: url(../img/common/ico_arrow_b.svg) no-repeat center center/contain;
}
.wrapper-layout .side-contents .side-block dl dt.no-arrow {
				cursor: default;
				padding-right: 0;
}
.wrapper-layout .side-contents .side-block dl dt.no-arrow:after {
				display: none;
}
.wrapper-layout .side-contents .side-block dl dd {
				padding-top: 1rem;
}
.wrapper-layout .side-contents .side-block dl dd ul {
				padding-left: 1em;
				list-style: none;
}
.wrapper-layout .side-contents .side-block dl dd ul li {
				font-size: 1.4rem;
				font-weight: 400;
				margin-bottom: 0.5em;
}
.wrapper-layout .side-contents .side-block dl.open dt:after {
				transform: translateY(-50%) rotate(-90deg);
}
.wrapper-layout .main-contents {
				width: 75%;
				margin-left: 7%;
}
@media (width <= 1200px) {
				.wrapper-layout .main-contents {
								width: 77%;
								margin-left: 0;
				}
}
@media only screen and (max-width: 768px) {
				.wrapper-layout .main-contents {
								width: 100%;
				}
}
@media only screen and (max-width: 768px) {
				.wrapper-layout {
								display: block;
				}
}

.category-blk .list-thumb li p {
				margin-top: 0.4em;
				font-size: 1.5rem;
}

.review-list li {
				border: 1px solid #DDD;
				padding: 1.2em 1.5em;
				margin-top: 1.5em;
}
.review-list li:first-child {
				margin-top: 0;
}
.review-list-heading {
				display: flex;
				align-items: center;
				margin-top: 0.6em;
}
.review-list-heading .user {
				font-size: 1.4rem;
				font-weight: 600;
}
.review-list-heading .date {
				font-size: 1.2rem;
				font-weight: 400;
				color: #666;
				margin-left: 1em;
}
.review-list-content {
				font-size: 1.4rem;
				margin-top: 0.6em;
}
.review-list .star-score {
				display: flex;
				align-items: center;
}
.review-list .star-score .reviewRateStar {
				letter-spacing: 0;
}
.review-list .star-score .review-score {
				margin-left: 0.3em;
}
.review-list-btn {
				text-align: right;
				margin-top: 1.5em;
				font-size: 1.4rem;
}

.review-post-btn {
				text-align: center;
				display: flex;
				justify-content: center;
				align-items: center;
				margin-top: 2em;
}
@media only screen and (max-width: 1100px) {
				.review-post-btn {
								margin-top: 5%;
				}
}
.review-post-btn a {
				background: #666;
				color: #FFF;
				padding: 0.8em 2em;
				display: inline-block;
				font-size: 1.4rem;
}
.review-post-btn a::after {
				content: "";
				display: inline-block;
				width: 1.6rem;
				height: 1.6rem;
				margin-left: 0.5em;
				background: url(../img/common/ico_edit_w.svg) no-repeat center center/cover;
}
.review-post-btn a:hover {
				background: #666;
}

.heading-nav {
				background-color: #f9f9f9;
				padding: 2em 0;
}

html.drawer-open,
body.drawer-open {
				overflow: hidden !important;
				height: 100vh;
				overscroll-behavior: none;
}

.drawer-trigger {
				background: none;
				border: none;
				cursor: pointer;
				padding: 0 7px;
				display: flex;
				flex-direction: column;
				justify-content: center;
				align-items: center;
				width: 40px;
				height: 40px;
				z-index: 23;
				position: relative;
}
.drawer-trigger .hamburger-line {
				width: 28px;
				height: 3px;
				background-color: #fff;
				transition: all 0.3s ease;
				margin: 2px 0;
}
.drawer-trigger:hover .hamburger-line {
				background-color: #ccc;
}
.drawer-trigger[aria-expanded=true] .hamburger-line:nth-child(1) {
				transform: rotate(45deg) translate(5px, 4px);
				transition: transform 0.3s ease;
				background-color: #E42020;
}
.drawer-trigger[aria-expanded=true] .hamburger-line:nth-child(2) {
				opacity: 0;
				transition: opacity 0.3s ease;
}
.drawer-trigger[aria-expanded=true] .hamburger-line:nth-child(3) {
				transform: rotate(-45deg) translate(6px, -4px);
				transition: transform 0.3s ease;
				background-color: #E42020;
}

.drawer-overlay {
				position: fixed;
				top: 70px;
				left: 0;
				width: 100vw;
				height: calc(100vh - 70px);
				background-color: rgba(0, 0, 0, 0.5);
				cursor: pointer;
				z-index: 21;
}
@media only screen and (max-width: 768px) {
				.drawer-overlay {
								top: 60px;
								height: calc(100vh - 60px);
				}
}

.drawer-container {
				position: fixed;
				top: 70px;
				left: 0;
				width: 100%;
				height: calc(100vh - 70px);
				z-index: 19;
				visibility: hidden;
				opacity: 0;
				transition: visibility 0.3s ease, opacity 0.3s ease;
				overflow: hidden;
				overscroll-behavior: contain;
}
@media only screen and (max-width: 1220px) {
				.drawer-container {
								left: 0;
								transform: none;
								width: 100%;
				}
}
@media only screen and (max-width: 768px) {
				.drawer-container {
								top: 60px;
								height: calc(100vh - 60px);
				}
}
.drawer-container[aria-hidden=true] {
				visibility: hidden;
				opacity: 0;
}
.drawer-container[aria-hidden=false] {
				visibility: visible;
				opacity: 1;
}

.menu-stage {
				position: absolute;
				top: 0;
				right: 0;
				width: 320px;
				height: 100%;
				opacity: 0;
				visibility: hidden;
				transition: all 0.3s ease;
}
@media only screen and (max-width: 768px) {
				.menu-stage {
								width: 100%;
				}
}
.menu-stage.stage-1 {
				left: 0;
				transition: left 0.3s ease;
				opacity: 1;
				visibility: visible;
				transform: translateY(0);
				width: 320px;
}
@media only screen and (max-width: 1220px) {
				.menu-stage.stage-1 {
								width: 30vw;
				}
}
@media only screen and (max-width: 768px) {
				.menu-stage.stage-1 {
								width: 100%;
								height: calc(100vh - 60px);
								overflow-y: hidden;
								overflow-x: hidden;
								overscroll-behavior: contain;
								-webkit-overflow-scrolling: touch;
				}
				@supports (height: 100dvh) {
								.menu-stage.stage-1 {
												height: calc(100dvh - 60px);
								}
				}
}
.menu-stage.stage-1[style*="left: -320px"] {
				opacity: 0;
				visibility: hidden;
}
.menu-stage.stage-2 {
				left: 320px;
				opacity: 0;
				visibility: hidden;
				transition: left 0.3s ease;
				width: 320px;
				height: 100%;
}
@media only screen and (max-width: 1220px) {
				.menu-stage.stage-2 {
								left: 30vw;
								width: 30vw;
								height: 100%;
				}
}
@media only screen and (max-width: 768px) {
				.menu-stage.stage-2 {
								width: 100%;
								height: calc(100vh - 60px);
								overflow-y: hidden;
				}
				@supports (height: 100dvh) {
								.menu-stage.stage-2 {
												height: calc(100dvh - 60px);
								}
				}
}
.menu-stage.stage-2[style*="left: -320px"] {
				opacity: 0;
				visibility: hidden;
}
.menu-stage.active {
				opacity: 1;
				visibility: visible;
				transform: translateY(0);
}

.menu-header {
				border-bottom: 1px solid #DDD;
}
.menu-header h3 button {
				width: 100%;
				color: #1A1A1A;
				display: block;
				font-size: 1.5rem;
				padding: 0.5em 1em 0.5em 2.2em;
				border: none;
				text-align: left;
				background-color: #EEE;
				background-image: url(../img/common/ico_arrow_reverse_b.svg);
				background-repeat: no-repeat;
				background-position: left 1em center;
				background-size: 0.7rem;
}
@media only screen and (max-width: 1220px) {
				.menu-header h3 button {
								background-position: left 1em center;
								background-size: 0.6rem;
				}
}
@media only screen and (max-width: 768px) {
				.menu-header h3 button {
								background-position: left 1em center;
								padding: 1em 1em 1em 2.5em;
				}
}
.menu-header h3 button:hover {
				background-color: #ccc;
}
@media only screen and (max-width: 1220px) {
				.stage-3.category-selected .menu-header {
								width: 100vw;
				}
}
@media only screen and (max-width: 1220px) {
				.drawer-container[aria-hidden=false] .stage-3.category-selected .menu-header {
								width: 100vw;
				}
}

.drawer-panel {
				position: absolute;
				top: 0;
				right: 0;
				width: 320px;
				height: calc(100vh - 70px);
				max-height: calc(100vh - 70px);
				transform: translateY(-100%);
				transition: transform 0.3s ease, width 0.3s ease;
				z-index: 22;
				overflow: hidden;
}
@media only screen and (min-width: 1221px) {
				.drawer-panel {
								width: 320px;
								right: calc((100vw - 1200px) / 2);
								left: auto;
				}
}
@media only screen and (max-width: 1220px) {
				.drawer-panel {
								width: 30vw;
				}
}
@media only screen and (max-width: 768px) {
				.drawer-panel {
								width: 100vw;
								right: 0;
								height: calc(100vh - 60px);
								max-height: calc(100vh - 60px);
								overflow: hidden;
				}
}
.stage-3.category-selected .drawer-panel {
				overflow: visible;
}
@media only screen and (max-width: 1220px) {
				.stage-3.category-selected .drawer-panel {
								width: 100vw;
								overflow: visible;
				}
}
@media only screen and (min-width: 1221px) {
				.stage-3.category-selected .drawer-panel {
								width: 1200px;
								max-width: 1200px;
								overflow: visible;
				}
}
.stage-3.category-selected .product-section.active .drawer-panel {
				overflow: visible;
}
@media only screen and (max-width: 1220px) {
				.stage-3.category-selected .product-section.active .drawer-panel {
								width: 100vw;
								overflow: visible;
				}
}
@media only screen and (min-width: 1221px) {
				.stage-3.category-selected .product-section.active .drawer-panel {
								width: 1200px;
								max-width: 1200px;
								overflow: visible;
				}
}
.drawer-container[aria-hidden=false] .stage-3.category-selected .drawer-panel {
				overflow: visible;
}
@media only screen and (max-width: 1220px) {
				.drawer-container[aria-hidden=false] .stage-3.category-selected .drawer-panel {
								width: 100vw;
								overflow: visible;
				}
}
@media only screen and (min-width: 1221px) {
				.drawer-container[aria-hidden=false] .stage-3.category-selected .drawer-panel {
								width: 1200px;
								max-width: 1200px;
								overflow: visible;
				}
}
.drawer-container[aria-hidden=false] .stage-3.category-selected .product-section.active .drawer-panel {
				overflow: visible;
}
@media only screen and (max-width: 1220px) {
				.drawer-container[aria-hidden=false] .stage-3.category-selected .product-section.active .drawer-panel {
								width: 100vw;
								overflow: visible;
				}
}
@media only screen and (min-width: 1221px) {
				.drawer-container[aria-hidden=false] .stage-3.category-selected .product-section.active .drawer-panel {
								width: 1200px;
								max-width: 1200px;
								overflow: visible;
				}
}

@media only screen and (max-width: 1220px) {
				.stage-3.category-selected .drawer-content,
				.stage-3.category-selected .drawer-nav,
				.stage-3.category-selected .menu-header {
								width: 100vw;
								overflow: visible;
				}
				.stage-3.category-selected .category-list {
								width: 30vw;
				}
}
@media only screen and (max-width: 768px) {
				.stage-3.category-selected .category-list {
								width: 100% !important;
				}
}

@media only screen and (max-width: 1220px) {
				.drawer-container[aria-hidden=false] .stage-3.category-selected .drawer-content,
				.drawer-container[aria-hidden=false] .stage-3.category-selected .drawer-nav,
				.drawer-container[aria-hidden=false] .stage-3.category-selected .menu-header {
								width: 100vw;
								overflow: visible;
				}
}
@media only screen and (max-width: 768px) {
				.drawer-container[aria-hidden=false] .stage-3.category-selected .category-list {
								width: 100% !important;
				}
}

.stage-3.category-selected .product-section.active .product-grid-items .product-item:last-child {
				border-bottom: none;
				padding-bottom: 0;
				margin-bottom: 0;
}

.drawer-container[aria-hidden=false] .stage-3.category-selected .product-section.active .product-grid-items .product-item:last-child {
				border-bottom: none;
				padding-bottom: 0;
				margin-bottom: 0;
}

.stage-3 {
				position: relative;
				transition: left 0.3s ease, opacity 0.3s ease, visibility 0.3s ease;
}
@media only screen and (max-width: 1220px) {
				.stage-3 {
								left: 100vw;
								opacity: 0;
								visibility: hidden;
				}
}
.stage-3 .category-layout ul li:last-child {
				border-bottom: 1px solid #e0e0e0;
				margin-bottom: 0;
}

.stage-3.category-selected {
				background: #FFF;
}
@media only screen and (max-width: 1220px) {
				.stage-3.category-selected {
								left: 0;
								opacity: 1;
								visibility: visible;
				}
}
.stage-3.category-selected .category-layout ul li:last-child {
				border-bottom: 1px solid #e0e0e0;
				margin-bottom: 0;
}

.drawer-container[aria-hidden=false] .stage-3.category-selected .category-layout ul li:last-child {
				border-bottom: 1px solid #e0e0e0;
				margin-bottom: 0;
}

.drawer-container[aria-hidden=false] .drawer-panel {
				transform: translateY(0);
}
.stage-3.category-selected .drawer-container[aria-hidden=false] {
				overflow: visible;
}
.drawer-container[aria-hidden=true] .drawer-panel {
				transform: translateY(-100%);
}

@media only screen and (min-width: 1221px) {
				.drawer-panel {
								cursor: pointer;
				}
}

.drawer-content {
				overflow: visible;
				cursor: pointer;
				width: 320px;
				height: 100%;
				transition: width 0.3s ease;
}
@media only screen and (min-width: 1221px) {
				.drawer-content {
								cursor: pointer;
				}
}
@media only screen and (max-width: 1220px) {
				.drawer-content {
								width: 30vw;
								height: 100%;
				}
}
@media only screen and (max-width: 768px) {
				.drawer-content {
								width: 100vw;
								height: 100vh;
				}
}
@media only screen and (max-width: 1220px) {
				.stage-3.category-selected .drawer-content {
								width: 100%;
				}
}
@media only screen and (min-width: 789px) {
				.stage-3.category-selected .drawer-content {
								width: 1200px;
								max-width: 1200px;
				}
}
@media only screen and (max-width: 1220px) {
				.stage-3.category-selected .product-section.active .drawer-content {
								width: 100%;
				}
}
@media only screen and (min-width: 789px) {
				.stage-3.category-selected .product-section.active .drawer-content {
								width: 1200px;
								max-width: 1200px;
				}
}
@media only screen and (max-width: 1220px) {
				.drawer-container[aria-hidden=false] .stage-3.category-selected .drawer-content {
								width: 100%;
				}
}
@media only screen and (min-width: 789px) {
				.drawer-container[aria-hidden=false] .stage-3.category-selected .drawer-content {
								width: 1200px;
								max-width: 1200px;
				}
}

.drawer-nav {
				position: relative;
				width: 320px;
				height: 100%;
				transition: width 0.3s ease;
}
@media only screen and (max-width: 1220px) {
				.drawer-nav {
								width: 30vw;
								height: 100%;
				}
}
@media only screen and (max-width: 768px) {
				.drawer-nav {
								width: 100vw;
								height: 100vh;
								max-height: calc(100vh - 60px);
								overflow-y: hidden;
								overflow-x: hidden;
								overscroll-behavior: contain;
								-webkit-overflow-scrolling: touch;
				}
				@supports (height: 100dvh) {
								.drawer-nav {
												height: calc(100dvh - 60px);
												max-height: calc(100dvh - 60px);
								}
				}
}
@media only screen and (max-width: 1220px) {
				.stage-3.category-selected .drawer-nav {
								width: 100%;
				}
}
@media only screen and (min-width: 789px) {
				.stage-3.category-selected .drawer-nav {
								width: 1200px;
								max-width: 1200px;
				}
}
@media only screen and (max-width: 1220px) {
				.stage-3.category-selected .product-section.active .drawer-nav {
								width: 100%;
				}
}
@media only screen and (min-width: 789px) {
				.stage-3.category-selected .product-section.active .drawer-nav {
								width: 1200px;
								max-width: 1200px;
				}
}
@media only screen and (max-width: 1220px) {
				.drawer-container[aria-hidden=false] .stage-3.category-selected .drawer-nav {
								width: 100%;
				}
}
@media only screen and (min-width: 789px) {
				.drawer-container[aria-hidden=false] .stage-3.category-selected .drawer-nav {
								width: 1200px;
								max-width: 1200px;
				}
}

#stage-3-1 {
				overflow-y: auto !important;
				overflow-x: hidden !important;
				max-height: calc(100vh - 70px) !important;
				-webkit-overflow-scrolling: touch !important;
				overscroll-behavior: contain !important;
}
@media only screen and (max-width: 1220px) {
				#stage-3-1 {
								max-height: calc(100vh - 180px) !important;
				}
}
@media only screen and (max-width: 768px) {
				#stage-3-1 {
								max-height: 100vh !important;
				}
}
#stage-3-1 .category-layout {
				overflow-y: auto !important;
				overflow-x: hidden !important;
				max-height: calc(100vh - 70px) !important;
				-webkit-overflow-scrolling: touch !important;
				overscroll-behavior: contain !important;
}
@media only screen and (max-width: 1220px) {
				#stage-3-1 .category-layout {
								max-height: calc(100vh - 180px) !important;
				}
}
@media only screen and (max-width: 768px) {
				#stage-3-1 .category-layout {
								max-height: calc(100vh - 110px) !important;
				}
}
#stage-3-1 .product-grid {
				overflow-y: auto !important;
				overflow-x: hidden !important;
				max-height: calc(100vh - 70px) !important;
				-webkit-overflow-scrolling: touch !important;
				overscroll-behavior: contain !important;
}
@media only screen and (max-width: 1220px) {
				#stage-3-1 .product-grid {
								max-height: calc(100vh - 180px) !important;
				}
}
@media only screen and (max-width: 768px) {
				#stage-3-1 .product-grid {
								max-height: calc(100vh - 160px) !important;
				}
}

.drawer-menu li {
				border-bottom: 1px solid #DDD;
}
.drawer-menu li:last-child {
				border-bottom: none;
}
.drawer-menu li a,
.drawer-menu li button {
				width: 100%;
				color: #1A1A1A;
				display: block;
				font-size: 1.5rem;
				padding: 0.5em 1em;
				border: none;
				text-align: left;
				background-color: #FFF;
				background-image: url(../img/common/ico_arrow_b.svg);
				background-repeat: no-repeat;
				background-position: right 1.5em center;
				background-size: 0.7rem;
}
@media only screen and (max-width: 768px) {
				.drawer-menu li a,
				.drawer-menu li button {
								padding: 1em 1em;
				}
}
@media only screen and (max-width: 1220px) {
				.drawer-menu li a,
				.drawer-menu li button {
								background-position: right 1em center;
								background-size: 0.6rem;
				}
}
.drawer-menu li a:hover,
.drawer-menu li button:hover {
				background-color: #EEE;
				color: #1A1A1A;
}

.menu-stage.stage-4 {
				position: absolute;
				top: 0;
				left: 100vw;
				width: 100vw;
				height: calc(100vh - 60px);
				transition: left 0.3s ease;
				opacity: 0;
				visibility: hidden;
				z-index: 25;
}
@media only screen and (max-width: 768px) {
				.menu-stage.stage-4 {
								display: block;
								overflow-y: auto;
								overflow-x: hidden;
								overscroll-behavior: contain;
								-webkit-overflow-scrolling: touch;
				}
}
@media only screen and (min-width: 789px) {
				.menu-stage.stage-4 {
								display: none;
				}
}

.stage-3 {
				top: 0;
				height: auto;
				width: 320px;
				transition: left 0.3s ease, width 0.3s ease;
				position: absolute;
				overflow-y: auto;
				overflow-x: hidden;
				max-height: calc(100vh - 70px);
				-webkit-overflow-scrolling: touch;
				overscroll-behavior: contain;
}
@media only screen and (max-width: 1220px) {
				.stage-3 {
								width: 30vw;
								max-height: calc(100vh - 180px);
				}
}
@media only screen and (max-width: 768px) {
				.stage-3 {
								width: 100vw;
								left: 100vw;
								right: auto;
								position: absolute;
								max-height: calc(100vh - 160px);
				}
}
@media only screen and (max-width: 1220px) {
				.stage-3 {
								width: 100%;
								position: relative;
				}
}
@media only screen and (min-width: 1221px) {
				.stage-3 {
								width: 320px;
								left: 880px;
								right: auto;
				}
}
@media only screen and (max-width: 768px) {
				.stage-3.category-selected {
								width: 100vw;
								left: 0;
				}
}
@media only screen and (max-width: 1220px) {
				.stage-3.category-selected {
								width: 100vw;
				}
}
@media only screen and (min-width: 1221px) {
				.stage-3.category-selected {
								width: 1200px;
								max-width: 1200px;
				}
}
@media only screen and (max-width: 768px) {
				.stage-3.category-selected .product-section.active {
								width: 100vw;
								left: 0;
								padding: 30px;
				}
}
@media only screen and (max-width: 1220px) {
				.stage-3.category-selected .product-section.active {
								width: 100%;
				}
}
@media only screen and (min-width: 1221px) {
				.stage-3.category-selected .product-section.active {
								width: 880px;
								max-width: 1200px;
				}
}
.stage-3.stage-4 {
				top: 0;
				height: auto;
				width: 100vw;
				left: 100vw;
				right: auto;
				position: absolute;
				transition: left 0.3s ease;
				opacity: 0;
				visibility: hidden;
				z-index: 25;
}
@media only screen and (max-width: 768px) {
				.stage-3.stage-4 {
								display: block;
				}
}
@media only screen and (min-width: 789px) {
				.stage-3.stage-4 {
								display: none;
				}
}
.stage-3 .category-buttons {
				width: 100%;
				padding: 20px;
}
.stage-3 .category-buttons .drawer-menu {
				margin: 0;
				padding: 0;
				list-style: none;
}
.stage-3 .category-buttons .drawer-menu li {
				margin: 0;
				padding: 0;
				border-bottom: 1px solid #DDD;
}
.stage-3 .category-buttons .drawer-menu li:last-child {
				border-bottom: none;
}
.stage-3.category-selected .stage-3 .category-buttons {
				display: none;
}
.stage-3 .category-layout {
				display: flex;
				width: 320px;
				height: 100%;
				transition: width 0.3s ease, opacity 0.3s ease;
				overflow-y: auto;
				overflow-x: hidden;
				max-height: calc(100vh - 200px);
				-webkit-overflow-scrolling: touch;
				overscroll-behavior: contain;
}
@media only screen and (min-width: 1221px) {
				.stage-3 .category-layout {
								width: 320px;
				}
}
@media only screen and (max-width: 1220px) {
				.stage-3 .category-layout {
								width: 100vw;
								flex-direction: row;
								max-height: calc(100vh - 180px);
				}
}
@media only screen and (max-width: 768px) {
				.stage-3 .category-layout {
								width: 100vw;
								flex-direction: column;
								max-height: calc(100vh - 160px);
				}
}
@media only screen and (max-width: 768px) {
				.stage-3 .category-layout.category-selected {
								width: 100vw;
								flex-direction: column;
				}
}
@media only screen and (max-width: 1220px) {
				.stage-3 .category-layout.category-selected {
								width: 100vw;
				}
}
@media only screen and (min-width: 789px) {
				.stage-3 .category-layout.category-selected {
								width: 100%;
								max-width: 100%;
				}
}
@media only screen and (min-width: 1221px) {
				.stage-3 .category-layout.category-selected {
								width: 1200px;
								max-width: 1200px;
				}
}
.stage-3 .category-list {
				width: 320px;
				flex-shrink: 0;
				transition: opacity 0.3s ease;
				background-color: #FFF;
}
@media only screen and (min-width: 789px) {
				.stage-3 .category-list {
								width: 320px;
								border-right: 1px solid #DDD;
				}
}
@media only screen and (max-width: 1220px) {
				.stage-3 .category-list {
								width: 30vw;
								border-right: 1px solid #DDD;
				}
}
@media only screen and (max-width: 768px) {
				.stage-3 .category-list {
								width: 100%;
								border-right: none;
								border-bottom: 1px solid #DDD;
								flex-shrink: 0;
								min-height: auto;
				}
}
.stage-3 .category-list .drawer-menu {
				margin: 0;
				padding: 0;
				list-style: none;
}
.stage-3 .category-list .drawer-menu li {
				margin: 0;
				padding: 0;
				border-bottom: 1px solid #DDD;
}
.stage-3 .category-list .drawer-menu li:last-child {
				border-bottom: none;
}
.stage-3 .product-grid {
				flex: 1;
				min-height: 400px;
				display: block;
				background-color: #FFF;
				transition: opacity 0.3s ease, width 0.3s ease, transform 0.3s ease;
				overflow-y: auto;
				overflow-x: hidden;
				max-height: calc(100vh - 200px);
				-webkit-overflow-scrolling: touch;
				overscroll-behavior: contain;
}
@media only screen and (min-width: 1221px) {
				.stage-3 .product-grid {
								flex: 1;
								width: 880px;
				}
}
@media only screen and (max-width: 1220px) {
				.stage-3 .product-grid {
								flex: 1;
								width: 70vw;
								opacity: 1;
								visibility: visible;
								transform: translateX(0);
								transition: opacity 0.3s ease, width 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
								position: relative;
								max-height: calc(100vh - 180px);
								overflow-y: auto;
								overflow-x: hidden;
								-webkit-overflow-scrolling: touch;
								overscroll-behavior: contain;
				}
}
@media only screen and (max-width: 768px) {
				.stage-3 .product-grid {
								width: 100%;
								flex: 1;
								min-height: 0;
								max-height: calc(100vh - 160px);
								overflow-y: auto;
								overflow-x: hidden;
								-webkit-overflow-scrolling: touch;
								overscroll-behavior: contain;
				}
}
@media only screen and (max-width: 1220px) {
				.stage-3.category-selected .stage-3 .product-grid {
								width: 70vw;
								transform: translateX(0);
				}
}
@media only screen and (min-width: 1221px) {
				.stage-3.category-selected .stage-3 .product-grid {
								width: 880px;
				}
}
@media only screen and (max-width: 1220px) {
				.drawer-container[aria-hidden=false] .stage-3.category-selected .stage-3 .product-grid {
								width: 70vw;
								transform: translateX(0);
				}
}
@media only screen and (min-width: 1221px) {
				.drawer-container[aria-hidden=false] .stage-3.category-selected .stage-3 .product-grid {
								width: 880px;
				}
}
@media only screen and (max-width: 1220px) {
				.drawer-container[aria-hidden=false] .stage-3.category-selected .product-section.active .stage-3 .product-grid {
								width: 70vw;
								transform: translateX(0);
				}
}
@media only screen and (min-width: 1221px) {
				.drawer-container[aria-hidden=false] .stage-3.category-selected .product-section.active .stage-3 .product-grid {
								width: 880px;
				}
}
.stage-3 .product-section {
				display: none;
				position: relative;
				padding: 30px 30px 30px 60px;
				transition: opacity 0.3s ease;
}
@media only screen and (max-width: 1220px) {
				.stage-3 .product-section {
								padding: 25px 25px 25px 45px;
				}
}
@media only screen and (max-width: 768px) {
				.stage-3 .product-section {
								padding: 0;
				}
}
@media only screen and (min-width: 789px) {
				.stage-3 .product-section {
								padding: 30px 30px 30px 60px;
				}
}
.stage-3 .product-section.active {
				display: block;
				width: 100%;
				height: auto;
				opacity: 1;
				visibility: visible;
}
.stage-3 .product-section h4 {
				margin-bottom: 20px;
				font-size: 2rem;
				font-weight: bold;
				color: #1A1A1A;
				border-bottom: 1px solid #DDD;
				padding-bottom: 1em;
				margin-bottom: 1.8em;
}
@media only screen and (min-width: 1221px) {
				.stage-3 .product-section h4 {
								cursor: default;
				}
}
@media only screen and (max-width: 768px) {
				.stage-3 .product-section h4 {
								display: none;
				}
}
@media only screen and (max-width: 1220px) {
				.stage-3 .product-section h4 {
								font-size: 1.8rem;
								margin-bottom: 1.6em;
				}
}
@media only screen and (min-width: 789px) {
				.stage-3 .product-section h4 {
								font-size: 2rem;
								margin-bottom: 1.8em;
				}
}
.stage-3 .product-grid-items {
				display: flex;
				flex-wrap: wrap;
				gap: 0 6%;
				width: 100%;
}
@media only screen and (max-width: 768px) {
				.stage-3 .product-grid-items {
								display: block;
								gap: 0;
				}
}
@media only screen and (max-width: 1220px) {
				.stage-3 .product-grid-items {
								gap: 0 5%;
				}
}
@media only screen and (min-width: 789px) {
				.stage-3 .product-grid-items {
								gap: 0 6%;
				}
}
.stage-3 .product-item {
				text-align: center;
				width: 20%;
				margin-bottom: 2em;
}
@media only screen and (min-width: 1221px) {
				.stage-3 .product-item {
								cursor: default;
				}
}
@media only screen and (max-width: 768px) {
				.stage-3 .product-item {
								width: 100%;
								text-align: left;
								margin-bottom: 0;
								border-bottom: 1px solid #DDD;
				}
				.stage-3 .product-item:last-child {
								border-bottom: none;
				}
}
@media only screen and (max-width: 1220px) {
				.stage-3 .product-item {
								width: 31.666%;
				}
}
@media only screen and (min-width: 789px) {
				.stage-3 .product-item {
								width: 20%;
				}
}
.stage-3 .product-item .product-image {
				width: 100%;
				height: 0;
				padding-bottom: 100%;
				position: relative;
				display: flex;
				align-items: center;
				justify-content: center;
				min-height: 80px;
				background-color: #f5f5f5;
}
@media only screen and (max-width: 768px) {
				.stage-3 .product-item .product-image {
								display: none;
				}
}
.stage-3 .product-item .product-image img {
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				object-fit: cover;
				border-radius: 8px;
}
.stage-3 .product-item .product-name {
				font-size: 14px;
				line-height: 1.4;
				color: #1A1A1A;
				margin-top: 8px;
}
@media only screen and (max-width: 768px) {
				.stage-3 .product-item .product-name {
								font-size: 12px;
								margin-top: 6px;
				}
}
@media only screen and (max-width: 1220px) {
				.stage-3 .product-item .product-name {
								font-size: 13px;
								margin-top: 7px;
				}
}
@media only screen and (min-width: 789px) {
				.stage-3 .product-item .product-name {
								font-size: 14px;
								margin-top: 8px;
				}
}
.stage-3 .category-button {
				width: 100%;
				color: #1A1A1A;
				display: block;
				font-size: 1.5rem;
				padding: 0.5em 1em;
				border: none;
				text-align: left;
				background-color: #FFF;
				background-image: url(../img/common/ico_arrow_b.svg);
				background-repeat: no-repeat;
				background-position: right 1.5em center;
				background-size: 0.7rem;
}
@media only screen and (max-width: 1220px) {
				.stage-3 .category-button {
								background-position: right 1em center;
								background-size: 0.6rem;
				}
}
@media only screen and (max-width: 768px) {
				.stage-3 .category-button {
								padding: 1em;
				}
}
.stage-3 .category-button:hover {
				background-color: #EEE;
				color: #1A1A1A;
}
.stage-3 .category-button.active {
				background-color: #666;
				background-image: url(../img/common/ico_arrow_w.svg);
				color: #FFF;
}
@media only screen and (max-width: 1220px) {
				.stage-3 .category-button.active {
								background-position: right 1em center;
								background-size: 0.6rem;
				}
}

.category-selected .category-list .drawer-menu {
				border-right: none;
}

.drawer-close {
				background: none;
				border: none;
				cursor: pointer;
				font-size: 24px;
				color: #666;
				padding: 5px;
				border-radius: 4px;
				transition: background-color 0.2s ease;
}
.drawer-close:hover {
				background-color: #f5f5f5;
}
.drawer-close .close-icon {
				display: block;
}

/* --------------------------------------------------

スライダー共通

-------------------------------------------------- */
.slider-block .swiper-button-next,
.slider-block .swiper-button-prev {
				position: absolute;
				z-index: 10;
				cursor: pointer;
				/*前後のスライドがない場合にボタンを非表示*/
}
.slider-block .swiper-button-next::after,
.slider-block .swiper-button-prev::after {
				content: "";
				width: 7rem;
				height: 5.5rem;
				display: block;
				border: none;
				transform: rotate(0);
				background: url(../img/common/ico_arrow_w.svg) no-repeat center center/contain;
}
@media only screen and (max-width: 1100px) {
				.slider-block .swiper-button-next::after,
				.slider-block .swiper-button-prev::after {
								width: 2.5rem;
								height: 1.5rem;
				}
}
@media only screen and (max-width: 768px) {
				.slider-block .swiper-button-next::after,
				.slider-block .swiper-button-prev::after {
								width: 2rem;
								height: 1rem;
				}
}
.slider-block .swiper-button-next.swiper-button-disabled,
.slider-block .swiper-button-prev.swiper-button-disabled {
				opacity: 0;
}
.slider-block .swiper-button-next {
				right: 4rem;
}
@media only screen and (max-width: 768px) {
				.slider-block .swiper-button-next {
								right: 1rem;
				}
}
.slider-block .swiper-button-prev {
				left: 4rem;
}
@media only screen and (max-width: 768px) {
				.slider-block .swiper-button-prev {
								left: 1rem;
				}
}
.slider-block .swiper-button-prev::after {
				transform: rotate(-180deg);
}
.slider-block .swiper-operation {
				display: flex;
				justify-content: center;
				align-items: center;
}
.slider-block .btn-swiper {
				display: flex;
				align-items: center;
				z-index: 15;
				margin: 0 0 0 1rem;
}
.slider-block .btn-swiper p button.btn {
				width: 4rem;
				height: 2.4rem;
				color: #FFF;
				background: #FFF;
				text-indent: -2000px;
				display: flex;
				align-items: center;
				border: none;
				transition: background-color 0.3s ease;
}
@media only screen and (max-width: 768px) {
				.slider-block .btn-swiper p button.btn {
								width: 2em;
								height: 2em;
				}
}
.slider-block .btn-swiper p button.btn.toggle-btn::after {
				content: "";
				width: 2.4rem;
				height: 1rem;
				display: block;
				margin: 0 auto;
				background: url(../img/common/ico_play-pause.svg) no-repeat left center/contain;
				transition: background-position 0.3s ease;
}
@media only screen and (max-width: 768px) {
				.slider-block .btn-swiper p button.btn.toggle-btn::after {
								width: 2.4rem;
								height: 1rem;
				}
}
.slider-block .btn-swiper p button.btn.toggle-btn.active::after {
				background-position: right center;
}
.slider-block .btn-swiper p button.btn.toggle-btn.active {
				background: #EEE;
}
.slider-block .swiper-pagination {
				bottom: 0 !important;
				display: flex;
				align-items: center;
				justify-content: center;
				gap: 12px;
}
.slider-block .swiper-pagination-bullet {
				width: 4px;
				height: 4px;
				background: rgba(0, 0, 0, 0.3);
				border-radius: 2px;
				transition: all 0.4s linear;
				position: relative;
				overflow: hidden;
				cursor: pointer;
				margin: 0 !important;
}
.slider-block .swiper-pagination-bullet::before {
				content: "";
				position: absolute;
				top: 0;
				left: 0;
				width: 0;
				height: 100%;
				background: rgba(0, 0, 0, 0.3);
				border-radius: 2px;
				transition: all 0.4s linear;
}
.slider-block .swiper-pagination-bullet::after {
				content: "";
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background: rgba(0, 0, 0, 0.6);
				border-radius: 2px;
				opacity: 0;
				transition: opacity 0.3s ease;
}
.slider-block .swiper-pagination-bullet:hover::after {
				opacity: 1;
}
.slider-block .swiper-pagination-bullet-active {
				background: rgba(0, 0, 0, 0.1);
				width: 48px;
				border-radius: 2px;
				overflow: hidden;
				transition: width 0.38s linear, background 0.38s linear;
}
.slider-block .swiper-pagination-bullet-active::before {
				content: "";
				position: absolute;
				top: 0;
				left: 0;
				width: 0;
				height: 100%;
				background: rgb(0, 0, 0);
				border-radius: 2px;
				transition: width 4s linear 0.38s;
}
.slider-block .swiper-pagination-bullet-active::after {
				opacity: 0;
}
.slider-block .swiper-pagination-bullet-active.show-black-fill::before {
				width: 100%;
}
.slider-block .swiper-pagination-bullet-active.animation-paused::before {
				transition: none !important;
}
.slider-block .swiper-pagination-bullet-active.animation-paused.show-black-fill::before {
				width: var(--current-progress, 0%);
}
.slider-block .swiper-pagination-bullet.swiper-pagination-bullet-active-prev,
.slider-block .swiper-pagination-bullet.swiper-pagination-bullet-active-next {
				background: rgba(0, 0, 0, 0.5);
				transform: scale(1.1);
				transition: all 0.3s linear;
}
.slider-block .swiper-pagination-bullet.swiper-pagination-bullet-active-prev::before,
.slider-block .swiper-pagination-bullet.swiper-pagination-bullet-active-next::before {
				background: rgba(0, 0, 0, 0.4);
}
.slider-block .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
				transition: all 0.4s linear;
}
.slider-block .swiper-pagination-bullet:not(.swiper-pagination-bullet-active)::before {
				background: rgba(0, 0, 0, 0.3);
				width: 0;
}
@media only screen and (max-width: 768px) {
				.slider-block .swiper-pagination {
								gap: 6px;
				}
				.slider-block .swiper-pagination-bullet {
								width: 3px;
								height: 3px;
				}
				.slider-block .swiper-pagination-bullet-active {
								width: 36px;
				}
				.slider-block .swiper-pagination-bullet.swiper-pagination-bullet-active-prev,
				.slider-block .swiper-pagination-bullet.swiper-pagination-bullet-active-next {
								transform: scale(1.05);
				}
}

.slider-block {
				width: 100%;
				position: relative;
}
.slider-block .swiper .swiper-wrapper {
				height: auto;
}
.slider-block .swiper .swiper-slide {
				overflow: hidden;
}
.slider-block .swiper .swiper-slide img {
				width: 100%;
}

.slider-block.slider-ratio .swiper-slide > img,
.slider-block.slider-ratio .swiper-slide a > img {
				background: #e2e5ec;
				width: 100%;
				height: 100%;
				max-width: none;
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%) scale(1);
				transition: all 0.7s;
				object-fit: contain;
}
@media all and (-ms-high-contrast: none) {
				.slider-block.slider-ratio .swiper-slide > img,
				.slider-block.slider-ratio .swiper-slide a > img {
								width: auto;
								height: auto;
								max-width: 130%;
								max-height: 130%;
				}
}
.slider-block.ratio-1-1 .swiper-slide {
				aspect-ratio: 1/1 !important;
				object-fit: contain !important;
}
.slider-block.ratio-3-2 .swiper-slide {
				aspect-ratio: 3/2 !important;
				object-fit: contain !important;
}
.slider-block.ratio-3-4 .swiper-slide {
				aspect-ratio: 3/4 !important;
				object-fit: contain !important;
}
.slider-block.ratio-4-3 .swiper-slide {
				aspect-ratio: 4/3 !important;
				object-fit: contain !important;
}
.slider-block.ratio-16-9 .swiper-slide {
				aspect-ratio: 16/9 !important;
				object-fit: contain !important;
}

/* --------------------------------------------------

各種スライダー

-------------------------------------------------- */
.slider-bnr {
				padding: 2em;
				background: #666;
}
.slider-bnr .list-bnr {
				justify-content: flex-start;
}
.slider-bnr .list-bnr li {
				margin: 0;
				height: auto;
}
.slider-bnr .swiper-button-next {
				right: 0;
}
.slider-bnr .swiper-button-prev {
				left: 0;
}

.slider-thumb {
				margin: 2em 0;
}
.slider-thumb .slider-inner {
				position: relative;
				margin-bottom: 1.6rem;
}
.slider-thumb .list-thumb {
				margin-bottom: 2em;
				height: auto;
				flex-wrap: nowrap;
}
.slider-thumb .swiper-button-next {
				right: -1rem;
}
@media only screen and (max-width: 768px) {
				.slider-thumb .swiper-button-next {
								right: -0.5em;
				}
}
.slider-thumb .swiper-button-prev {
				left: -1rem;
}
@media only screen and (max-width: 768px) {
				.slider-thumb .swiper-button-prev {
								left: -0.5em;
				}
}

.gallery-top .swiper-slide > img,
.gallery-top .swiper-slide a > img {
				object-fit: cover !important;
}

.gallery-thumbs .swiper-slide > img {
				object-fit: cover !important;
}

.slider-scroll-wrap .slider-scroll {
				margin-right: calc(50% - 50vw);
}
@media only screen and (max-width: 768px) {
				.slider-scroll-wrap .slider-scroll {
								margin-right: 0;
				}
}
.slider-scroll-wrap .slider-scroll .slider-block {
				max-width: 100%;
				padding-bottom: 4em;
}
.slider-scroll-wrap .slider-scroll .swiper-button-next,
.slider-scroll-wrap .slider-scroll .swiper-button-prev {
				top: auto;
				bottom: 0;
				left: 0;
				right: auto;
}
.slider-scroll-wrap .slider-scroll .swiper-button-next {
				left: 2.5em;
}
.slider-scroll-wrap .slider-scroll .swiper-button-prev {
				left: 0;
}
.slider-scroll-wrap .slider-scroll .swiper-button-next:before,
.slider-scroll-wrap .slider-scroll .swiper-button-prev:before,
.slider-scroll-wrap .slider-scroll .swiper-button-next:after,
.slider-scroll-wrap .slider-scroll .swiper-button-prev:after {
				display: none;
}
@media only screen and (max-width: 768px) {
				.slider-scroll-wrap .slider-scroll .swiper-button-next:before,
				.slider-scroll-wrap .slider-scroll .swiper-button-prev:before,
				.slider-scroll-wrap .slider-scroll .swiper-button-next:after,
				.slider-scroll-wrap .slider-scroll .swiper-button-prev:after {
								display: block;
				}
}
.slider-scroll-wrap.ipad .slider-scroll {
				margin-right: 0;
}
.slider-scroll-wrap.ipad .slider-scroll .slider-block {
				max-width: 100%;
				padding-bottom: 4em;
}
.slider-scroll-wrap.ipad .slider-scroll .swiper-button-next,
.slider-scroll-wrap.ipad .slider-scroll .swiper-button-prev {
				top: auto;
				bottom: 0;
				left: 0;
				right: auto;
}
.slider-scroll-wrap.ipad .slider-scroll .swiper-button-next {
				left: 4.5em;
}
.slider-scroll-wrap.ipad .slider-scroll .swiper-button-prev {
				left: 1em;
}
.slider-scroll-wrap.ipad .slider-scroll .swiper-button-next:before,
.slider-scroll-wrap.ipad .slider-scroll .swiper-button-prev:before,
.slider-scroll-wrap.ipad .slider-scroll .swiper-button-next:after,
.slider-scroll-wrap.ipad .slider-scroll .swiper-button-prev:after {
				display: block;
}
.slider-scroll-wrap.ipad .slider-scroll .list-scroll li {
				border: none;
}

/* --------------------------------------------------

override（MakeShop上書き用）

-------------------------------------------------- */
/*# sourceMappingURL=common.css.map */