@charset "utf-8";
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, fieldset, form, label, legend, table, caption, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header nav, hgroup, menu, nav, section, summary, time, mark, audio, video {
    border: 0;
    outline: 0;
    font-size: 100%;
    font-style: normal;
    vertical-align: baseline;
    background: transparent;
    margin: 0;
    padding: 0;
}
main, article, aside, details, summary, blockquote, figcaption, figure, footer, header nav, hgroup, menu, nav, section {
    display: block;
}
h2, h3, h4, h5, dl, dt, dd, ol, ul, li, p, figure {
    margin: 0;
    padding: 0;
}
ul {
    list-style: none
}
img, iframe {
    vertical-align: top;
    max-width: 100%;
}
abbr[title], dfn[title] {
    cursor: help
}
table {
    border-collapse: collapse;
    border-spacing: 0
}
html {}
body {
    margin: 0;
    font-size: clamp(18px, 1.9vw, 20px);
    font-weight: bold;
    line-height: 1.0;
    /*letter-spacing: 0.1em;*/
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    /*font-feature-settings: "palt";*/
    -webkit-text-size-adjust: 100%;
    color: #4C4C6D;
    background: #fff;
}
a {
    color: #4C4C6D;
    font-size: 100%;
    vertical-align: baseline;
    text-decoration: none;
    margin: 0;
    padding: 0;
}
::selection {
    background: rgba(255, 137, 159, 0.1);
}
::-moz-selection {
    background: rgba(255, 137, 159, 0.1);
}
sup {
    font-size: 75%;
    vertical-align: super;
}
hr {
    display: block;
    width: 100%;
    height: 0;
    border: 0;
    border-top: clamp(24px, 3.6vw, 48px) solid #4C4C6D;
    padding: 0;
    margin: 0;
}
.ratio16_9 {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: center center;
}
.ratio1_1 {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center center;
}
.fadein {
    opacity: 0;
    transition: opacity 1s, transform 1s;
}
.red {
    color: #C65454;
}
/*------------------------------------------------------------------------*/
@media screen and (min-width: 1024px) {
    body {
        /*margin-right: 400px;
		margin-right: clamp(240px, 24.0vw, 400px);*/
    }
}
/*------------------------------------------------------------------------*/
@media screen and (min-width: 768px) {
    .sp {
        display: none !important;
    }
    a[href^="tel:"] {
        pointer-events: none;
    }
}
/*------------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
    .pc {
        display: none !important;
    }
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■header
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
header {
    width: 100%;
    height: 120px;
    padding: 0 clamp(24px, 4.4vw, 64px);
    box-sizing: border-box;
    position: sticky;
    left: 0;
    top: 0;
    background-color: rgba(239,252,246,0.90);
    z-index: 11;
    text-align: center;
    display: flex;
    align-items: center;
}
header a {}
header h1 {
    margin-right: auto;
}
header h1 a {}
header h1 img {
    height: clamp(32px, 5.6vw, 80px);
}
header div {}
header .global {
    position: relative;
    display: flex;
}
header .global li {}
header .global li + li {
    margin-left: clamp(24px, 3.2vw, 48px);
}
header .global li a {
    text-decoration: none;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
header .global li a b {
    font-size: clamp(14px, 1.7vw, 20px);
}
header .global li a small {
    font-size: clamp(12px, 1.3vw, 14px);
    margin-top: clamp(4px, 0.6vw, 8px);
}
header nav label, header nav input {
    display: none;
}
/*------------------------------------------------------------------------*/
@media screen and (min-width: 1024px) {
    header .global li.current a:after {
        position: absolute;
        bottom: -12px;
        left: 0;
        content: "";
        width: 100%;
        height: 4px;
        background: #4C4C6D;
    }
}
/*------------------------------------------------------------------------*/
@media screen and (max-width: 1023px) {
    header {
        height: 64px;
    }
    header h1 img {
        height: 32px;
    }
    header nav label {
        order: 1;
        display: block;
    }
    header nav input + label:before {
        content: "";
        display: block;
        width: 32px;
        height: 32px;
        background: url(../img/icon_drawer_open.svg) no-repeat center center;
        background-size: 26px 18px;
        z-index: 12;
    }
    header nav input:checked + label:before {
        background: url(../img/icon_drawer_close.svg) no-repeat center center;
        background-size: 20px 20px;
        position: relative;
        z-index: 3;
    }
    header .global {
        width: 100%;
        height: 0;
        overflow: hidden;
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        z-index: 3;
    }
    header nav input:checked + label + .global {
        width: 100%;
        height: calc(100vh - 64px);
        height: -webkit-calc(100vh - 64px);
        margin: 64px 0 0 0;
        padding: 0;
        background: #fff;
    }
    header .global li {
        width: 100%;
    }
    header .global li + li {
        margin-left: 0;
    }
    header .global li a {
        display: block;
        padding: 24px;
        border-bottom: 1px solid #eee;
    }
    header .global li:first-child a {
        border-top: 1px solid #eee;
    }
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■レイアウト
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*-------------------------------------------------------------------------
	main
-------------------------------------------------------------------------*/
main {
    position: relative;
}
/*-------------------------------------------------------------------------
	section
-------------------------------------------------------------------------*/
section {
    margin: clamp(80px, 12.0vw, 160px) 0;
}
section:first-of-type {
    margin-top: clamp(48px, 7.2vw, 96px);
}
section.bg {
    margin: 0;
    padding: clamp(80px, 12.0vw, 160px) 0;
}
section.bg.circle {
    position: relative;
    margin-top: clamp(160px, 20.0vw, 240px);
    padding-top: 0;
}
section.bg.circle:before {
    content: "";
    width: 400px;
    height: 400px;
    margin: 0 auto;
    margin-top: -80px;
    display: block;
    background: #FFF5DB;
    border-radius: 100%;
    position: absolute;
    left: 0;
    right: 0;
}
section.bg.green {
    background: #f6eae8;
}
section.bg.yellow {
    background: #FFF5DB;
}
section.bg.blue {
    background: #E8E8FF;
}
/*------------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
    section.bg.circle {
        margin-top: 80px;
        padding-top: 0;
    }
    section.bg.circle:before {
        width: 240px;
        height: 240px;
        margin-top: -40px;
    }
    section.bg.circle .title img {
        width: 33%;
    }
}
/*-------------------------------------------------------------------------
	inner
-------------------------------------------------------------------------*/
.inner {
    max-width: clamp(640px, 92.0vw, 1200px);
    margin: 0 auto;
}
.inner.thin {
    max-width: 640px;
}
.inner.wide {
    max-width: 1200px;
}
.inner.max {
    width: 100%;
    max-width: 100%;
}
.inner + .inner {
    margin-top: 96px;
    margin-top: clamp(48px, 7.2vw, 96px);
}
/*------------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
    .inner {
        margin: 0 24px;
    }
    .inner.max {
        margin: 0;
    }
}
/*-------------------------------------------------------------------------
	heading
-------------------------------------------------------------------------*/
h1, h2, h3, h4, h5, h6 {
    font-weight: 900;
}
/*-------------------------------------------------------------------------
	header
-------------------------------------------------------------------------*/
.header {
    height: clamp(120px, 18.0vw, 240px);
    background: #000;
    background: rgba(255, 137, 159, .5);
    color: #fff;
}
.header div {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.header h2 {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
.header h2 span {
    font-size: clamp(32px, 4.0vw, 48px);
    text-transform: uppercase;
}
.header h2 small {
    font-size: clamp(16px, 2.0vw, 24px);
    font-weight: 900;
    margin-top: clamp(8px, 1.2vw, 16px);
}
/*
.header h2:after {
	content: "";
	display: block;
	width: 1px;
	height: 48px;
	background: #fff;
}*/
.header p {
    font-size: clamp(12px, 1.3vw, 14px);
    line-height: 1.75;
    /*border-left: 1px solid #fff;
	padding-left: clamp(32px, 4.0vw, 48px);
	margin-top: clamp(12px, 1.8vw, 24px);*/
}
/*------------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
    .header {}
    .header div {}
    .header p {
        border-left: 0;
        padding-left: 0;
        margin-left: 0;
        margin-top: 24px;
    }
}
/*-------------------------------------------------------------------------
	title
-------------------------------------------------------------------------*/
.title {
    margin-bottom: clamp(48px, 7.2vw, 96px);
    position: relative;
    text-align: center;
}
.title:not(.img):before {
    content: "";
    display: block;
    margin: 0 auto;
    margin-bottom: 24px;
    width: 2px;
    height: 24px;
    background: #4C4C6D;
}
.title h2 {
    width: fit-content;
    margin: 0 auto;
    font-size: 48px;
    font-size: clamp(24px, 3.2vw, 40px);
    text-align: center;
    line-height: 1.25;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    position: relative;
}
.title.img {}
.title.img h2 img {
    margin-bottom: 24px;
}
.left {
    text-align: left;
}
.title p {}
.title h2 + p {
    margin-top: clamp(24px, 3.6vw, 48px);
}
/*------------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
    .title:not(.img):before {
        margin-bottom: 8px;
        height: 16px;
    }
    .title h2 + p {
        font-size: 16px;
    }
}
/*-------------------------------------------------------------------------
	subtitle
-------------------------------------------------------------------------*/
.subtitle {
    /*width: fit-content;*/
    font-size: clamp(20px, 2.6vw, 32px);
    line-height: 1.375;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    margin-bottom: 64px;
    margin-bottom: clamp(32px, 4.8vw, 64px);
    margin-bottom: 96px;
    margin-bottom: clamp(48px, 7.2vw, 96px);
}
.subtitle:after {
    content: "";
    display: block;
    margin-left: clamp(24px, 4.4vw, 64px);
    border-top: 4px solid #4C4C6D;
    flex: 1;
}
.subtitle.green {
    color: #4EAF9E;
}
.subtitle.green:after {
    border-color: #4EAF9E;
}
.subtitle.yellow {
    color: #DBAB31;
}
.subtitle.yellow:after {
    border-color: #DBAB31;
}
.subtitle.blue {
    color: #4C4C6D;
}
.subtitle.blue:after {
    border-color: #4C4C6D;
}
/*-------------------------------------------------------------------------
	underline
-------------------------------------------------------------------------*/
.underline {
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.75;
    text-align: center;
    margin-bottom: 20px;
}
.underline span {
    background: linear-gradient(transparent 65%, #f6eae8 0%);
}
/*-------------------------------------------------------------------------
	h4
-------------------------------------------------------------------------*/
section h4 {
    font-size: 32px;
    font-size: clamp(20px, 2.6vw, 32px);
    line-height: 1.5;
}
/*-------------------------------------------------------------------------
	band
-------------------------------------------------------------------------*/
.band {
    padding: 24px;
    margin-bottom: clamp(24px, 4.4vw, 64px);
}
.band.green {
    background: #E8F6EF;
}
.band.yellow {
    background: #FFF5DB;
}
.band.blue {
    background: #E8E8FF;
}
.band.gray {
    background: #DDDDDD;
}
/*-------------------------------------------------------------------------
	h5
-------------------------------------------------------------------------*/
section h5 {
    font-size: 24px;
    font-size: clamp(18px, 2.1vw, 24px);
    line-height: 1.5;
    display: flex;
    justify-content: center;
    flex-direction: column;
    margin-bottom: 12px;
    margin-bottom: clamp(8px, 1.0vw, 12px);
}
section h5 span {}
section h5 small {
    font-size: clamp(16px, 1.7vw, 18px);
    font-size: clamp(14px, 1.6vw, 18px);
}
section h5.center {
    align-items: center;
}
/*-------------------------------------------------------------------------
	border
-------------------------------------------------------------------------*/
.border {
    border-left: 8px solid #4C4C6D;
    border-bottom: 1px solid #4C4C6D;
    padding-left: 24px;
    padding-bottom: 16px;
    margin-bottom: clamp(24px, 4.4vw, 64px);
}
/*-------------------------------------------------------------------------
	other
-------------------------------------------------------------------------*/
section u {
    text-decoration: none;
    background: linear-gradient(transparent 60%, rgba(255, 137, 159, 0.5) 0%);
    background: linear-gradient(transparent 60%, rgba(254, 208, 26, 1.0) 0%);
}
section p, section dt, summary, time {
    line-height: 1.75;
}
section p small {
    font-size: 14px;
    font-size: clamp(12px, 1.3vw, 14px);
}
section p + p {
    margin-top: 24px;
    margin-top: clamp(16px, 2.0vw, 24px);
}
section .center {
    text-align: center;
    justify-content: center;
}
section .right {
    text-align: right;
}
section ul.disc {
    padding-left: 24px;
    list-style-type: disc;
}
section ul.disc li > ul.disc, section ol.decimal li > ul.disc {
    margin: 0;
}
section ol.decimal {
    padding-left: 24px;
    list-style-type: decimal;
}
section ul.disc li > ol.decimal, section ol.decimal li > ol.decimal {
    margin: 0;
}
section .figure {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
section .figure img {
    width: 100%;
    margin: 0 auto;
}
section .figure figcaption {}
section .figure figcaption p {
    margin-top: 8px;
    font-size: 14px;
    font-size: clamp(12px, 1.3vw, 14px);
    text-align: left;
}
section .figure.w33 {
    width: calc(100% / 3);
}
section .figure.w25 {
    width: calc(100% / 4);
}
/*------------------------------------------------------------------------*/
@media screen and (min-width: 768px) {
    section .figure.w75 {
        width: 75%;
    }
    section .figure.w50 {
        width: 50%;
    }
}
section a {
    word-break: break-all;
}
section a:hover {
    text-decoration: none;
}
section ins {
    font-style: italic;
    text-decoration: none;
    color: #888;
}
section b.red, section span.red, section small.red {
    color: #ec5f47;
}
section b.blue, section span.blue, section small.blue {
    color: #168ace;
}
section b.green, section span.green, section small.green {
    color: #00a683;
}
section b.orange, section span.orange, section small.orange {
    color: #ffa42e;
}
section b.pink, section span.pink, section small.pink {
    color: #ff8ca7;
}
section ruby {
    margin-top: 4px;
}
section rt {
    font-size: 12px;
    font-weight: normal;
    text-align: left;
    line-height: 2;
    position: relative;
    top: -4px;
    transform: translateY(-4px);
}
section .red.big {
    font-size: clamp(18px, 2.1vw, 24px);
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■kv
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#kv {
    width: calc(100% - clamp(48px, 8.8vw, 128px));
    height: calc(100svh - 120px - clamp(24px, 4.4vw, 64px));
    margin: 0 auto;
    position: relative;
}
#kv ul {}
#kv li {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
#kv img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    position: relative;
}
/*------------------------------------------------------------------------*/
@media screen and (max-width: 1023px) {
    #kv {
        aspect-ratio: 2 / 1;
        height: 100%;
    }
}
.kv {
    position: relative;
}
.kv img {
    width: 100%;
}
.kv.type2 {
    width: calc(100% - 22.5%);
    padding-left: 22.5%;
}
.kv.type2 p {
    position: absolute;
    left: 0;
    bottom: clamp(32px, 9.6vw, 160px);
    display: flex;
    align-items: start;
    flex-direction: column;
    font-size: clamp(20px, 3.4vw, 48px);
    color: #fff;
}
.kv.type2 p span {
    padding: clamp(8px, 1.2vw, 16px);
    padding-left: clamp(32px, 13.6vw, 240px);
    background: #4C4C6D;
}
.kv.type2 p span + span {
    margin-top: clamp(8px, 1.2vw, 16px);
}
.kv.type3 {}
.kv.type3 p {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: clamp(20px, 3.4vw, 48px);
    line-height: 1.5;
    text-align: center;
    color: #fff;
    text-shadow: 0 0 16px #000;
}
/*------------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
    .kv.type2 p {
        top: 0;
        top: 0;
        bottom: 0;
        justify-content: center;
    }
}
/*-------------------------------------------------------------------------
	indent
-------------------------------------------------------------------------*/
.indent {
    margin-top: 24px;
    margin-top: clamp(16px, 2.0vw, 24px);
}
.indent li {
    font-size: 14px;
}
/*-------------------------------------------------------------------------
	indent
-------------------------------------------------------------------------*/
.phonak {
    width: fit-content;
    margin: 48px auto;
    font-size: clamp(16px, 1.7vw, 18px);
}
.phonak img {
    margin-top: 24px;
    margin-top: clamp(16px, 2.0vw, 24px);
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■lineup
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.lineup {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 -24px -48px -24px;
}
.lineup > li {
    width: calc(100% / 2 - 48px);
    margin: 0 24px 48px 24px;
}
.lineup > li p {
    font-size: clamp(16px, 1.7vw, 18px);
}
.lineup > li .green {
    background: #E8F6EF;
}
.lineup > li .gray {
    background: #DDDDDD;
}
.lineup > li .blue {
    background: #E8E8FF;
}
.lineup > li dl {}
.lineup > li dt {
    width: fit-content;
    padding: 8px 32px;
    border-radius: 16px 16px 0 0;
}
.lineup > li dd {
    padding: 32px;
}
/*-----------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
    .lineup {
        margin-bottom: -24px;
    }
    .lineup > li {
        width: calc(100% / 2 - 48px);
        margin-bottom: 24px;
    }
    .lineup > li {
        width: calc(100% - 32px);
    }
    .lineup > li dd {
        padding: 24px;
    }
    .lineup > li dd p:first-of-type {
        text-align: center;
    }
    .lineup > li dd img {
        width: 75%;
    }
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■items
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.items {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 -24px -48px -24px;
}
.items > li {
    margin: 0 24px 48px 24px;
}
.items.column2 > li {
    width: calc(100% / 2 - 48px);
}
.items.column3 > li {
    width: calc(100% / 3 - 48px);
}
.items.column4 > li {
    width: calc(100% / 4 - 48px);
}
.items li dl {}
.items li dt {
    text-align: center;
    position: relative;
}
.items li dt.max img {
    width: 100%;
}
.items li a:hover dt img {}
.items li dd {
    margin-top: clamp(16px, 2.0vw, 24px);
}
.items li dd h4 {
    font-size: clamp(16px, 1.8vw, 20px);
    line-height: 1.5;
}
.items li dd h4 + p {
    font-size: 14px;
    margin-top: 16px;
}
.items li dd p {
    font-size: clamp(16px, 1.7vw, 18px);
}
.items li dd p + h4 {
    margin-top: 16px;
}
/*-----------------------------------------------------------------------*/
@media screen and (max-width: 1023px) {
    .items {
        margin: 0 -16px -32px -16px;
    }
    .items > li {
        margin: 0 16px 32px 16px;
    }
    .items.column2 > li {
        width: calc(100% / 2 - 32px);
    }
    .items.column3 > li {
        width: calc(100% / 3 - 32px);
    }
    .items.column4 > li {
        width: calc(100% / 4 - 32px);
    }
}
/*-----------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
    .items.column4 {
        margin: 0 -8px -32px -8px;
    }
    .items.column4 > li {
        width: calc(100% / 2 - 16px);
        margin: 0 8px 32px 8px;
    }
    .items.column3 {
        margin: 0 -8px -32px -8px;
    }
    .items.column3 > li {
        width: calc(100% / 2 - 16px);
        margin: 0 8px 32px 8px;
    }
    .items.column2 {
        margin: 0 -8px -32px -8px;
    }
    .items.column2 > li {
        width: calc(100% - 16px);
        margin: 0 8px 32px 8px;
    }
}
/*-------------------------------------------------------------------------
	bullet
-------------------------------------------------------------------------*/
.bullet {
    font-size: clamp(20px, 2.2vw, 24px);
    width: fit-content;
    margin: 0 auto;
}
.bullet li {
    /*text-decoration: rgba(255, 137, 159, 1.0) wavy underline;
	-webkit-text-decoration: rgba(255, 137, 159, 1.0) wavy underline;*/
    padding-left: 1.8em;
    text-indent: -1.8em;
}
.bullet li p {}
.bullet li p:before {
    content: "□";
    margin-right: 16px;
}
.bullet li + li {
    margin-top: 16px;
    margin-top: clamp(16px, 2.0vw, 24px);
}
/*-----------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
    .bullet dt {
        margin-bottom: -8px;
    }
    .bullet dd {
        padding: 24px 16px;
    }
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■shops
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.shops {
    display: flex;
    margin: 0 clamp(24px, 4.4vw, 64px);
}
.shops li {
    flex: 1;
}
.shops li + li {
    margin-left: clamp(24px, 4.4vw, 64px);
}
.shops dt b {
    width: 160px;
    height: 48px;
    border-radius: 16px 16px 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.shops dt .matsue {
    background: #E8F6EF;
    color: #4C4C6D;
}
.shops dt .shinozaki {
    background: #FFF5DB;
    color: #4C4C6D;
}
.shops dt .koiwa {
    background: #E8E8FF;
    color: #4C4C6D;
}
.shops .iframe {
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 9;
    display: block;
    position: relative;
}
.shops .iframe iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}
.shops li dd {
    margin-top: 24px;
}
.shops li dd p {
    font-size: clamp(13px, 1.45vw, 16px);
}
/*-----------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
    .shops {
        display: block;
        margin: 0 24px;
    }
    .shops li {
        width: 100%;
    }
    .shops li + li {
        margin-left: 0;
        margin-top: 32px;
    }
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■welcome
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*-------------------------------------------------------------------------
	links
-------------------------------------------------------------------------*/
.links {
    display: flex;
    justify-content: center;
}
.links li + li {
    margin-left: clamp(24px, 6.0vw, 96px);
}
.links li dl {
    text-align: center;
}
.links li dt {}
.links li dd {
    margin-top: 16px;
}
.links li img {
    max-width: 100%;
}
.links li dd p {}
/*-----------------------------------------------------------------------*/
@media screen and (max-width: 1023px) {
    .links li img {
        max-width: 75%;
    }
    .links li + li {
        margin-left: 0;
    }
}
/*-----------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
    .links {
        margin: 0 -8px;
    }
    .links + .links {
        margin-top: 24px;
    }
    .links li {
        width: calc(100% / 3 - 16px);
        margin: 0 8px;
    }
    .links li + li {
        margin-left: 8px;
    }
    .links li dd {
        margin-top: 8px;
    }
    .links li dd p {
        font-size: 14px;
    }
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■message
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#message div {
    max-width: clamp(640px, 92.0vw, 1200px);
    padding: clamp(32px, 4.8vw, 64px);
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    flex-direction: column;
    position: relative;
}
#message div.center {
    align-items: center;
}
#message div + div {
    margin-top: 64px;
}
#message div h4 {
    font-size: clamp(28px, 4.2vw, 56px);
    margin-bottom: clamp(24px, 2.8vw, 32px);
}
#message div p {
    font-size: clamp(16px, 1.7vw, 18px);
}
#message div ul {
    display: flex;
    margin-top: clamp(24px, 3.6vw, 48px);
}
#message div ul + p {
    margin-top: clamp(24px, 3.6vw, 48px);
}
#message div li dl {}
#message div li dt img {
    max-width: 100%;
}
#message div li dd {
    margin-top: clamp(16px, 2.4vw, 32px);
}
#message div li dd p {
    width: 160px;
    height: 40px;
    border-radius: 20px;
    margin: 0 auto;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}
#message .order1 {
    background: #FFF5DB;
}
#message .order1 .color {
    color: #DBAB31;
}
#message .order1 .button a {
    background: #DBAB31;
}
#message .order2 {
    background: #f6eae8;
    margin-left: auto;
}
/*------------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
    #message div {
        width: calc(100% - 24px);
        height: auto;
        padding: 32px 24px;
    }
    #message div + div {
        margin-top: 32px;
    }
    #message div h4 {
        font-size: 20px;
        margin-bottom: 16px;
    }
    #message div p {
        text-align: left;
    }
    #message div ul {
        display: block;
    }
    #message div li dt img {
        max-width: 50%;
    }
    #message div li + li {
        margin-top: 24px;
    }
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■SNS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#sns .sns {
    display: flex;
    justify-content: center;
}
#sns .sns > li {
    max-width: 500px;
    width: calc(50% - clamp(12px, 2.2vw, 32px));
    text-align: center;
}
#sns .sns > li + li {
    margin-left: clamp(24px, 4.4vw, 64px);
}
#sns .sns > li .title {
    margin-bottom: clamp(32px, 4.8vw, 64px);
}
/*------------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
    #sns .sns {
        display: block;
        margin: 0;
    }
    #sns .sns > li {
        width: 100%;
        margin: 0;
    }
    #sns .sns > li + li {
        margin-left: 0;
        margin-top: 32px;
    }
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■フェイスブック
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.facebook {
    width: 100%;
}
.facebook .box {
    width: 100%;
    max-width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
    margin: 0 auto;
    position: relative;
    display: block;
    overflow: hidden;
}
.facebook .box .scroll {
    overflow-y: scroll;
}
.facebook .box div {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}
/*------------------------------------------------------------------------*/
@media screen and (max-width: 767px) {}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■新着情報　
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#newinfo .font-color {
    color: #4EA1B0;
}
#newinfo {
    text-align: center;
}
#newinfo h3 {
    margin: 24px auto;
    font-size: 1.6em;
    line-height: 1.4;
}
.newinfo {
    border: 2px solid #999;
    margin: 40px auto;
    padding: 24px;
}
.newinfo h4 {
    margin: 40px auto;
    font-size: 1.2em;
    color: #4EA1B0;
}
.newinfo ul {}
.newinfo ul li {
    margin: 24px;
    padding: 24px 16px;
    line-height: 1.4;
    background: #FFFDE5;
}
.newinfo ul li:nth-child(2n) {
    background:#FFEFEF;
}
.newinfo img {
    margin: 16px auto;
    text-align: center;
}
.newinfo ul li p:first-child {
    font-size: 1.6em;
}
/*------------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
    .newinfo {
        padding: 8px;
    }
    .newinfo ul {
        margin: 8px 0;
        padding: 0;
    }
    .newinfo ul li {
        margin: 16px;
        padding: 16px 8px;
    }
    .newinfo ul li p:first-child {
    font-size: 1.2em;
}
}
    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■リスト
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .list {
        display: flex;
        flex-wrap: wrap;
        margin: 0 -8px -16px -8px;
    }
    .list li {
        width: calc(100% / 3 - 16px);
        margin: 0 8px 16px 8px;
    }
    .list li > a > img {
        aspect-ratio: 1 / 1;
        object-fit: cover;
        object-position: center center;
        width: 100%;
        height: 100%;
    }
    /*------------------------------------------------------------------------*/
    @media screen and (max-width: 767px) {
        .list {
            margin: 0 -1px -2px -1px;
        }
        .list li {
            width: calc(100% / 3 - 2px);
            margin: 0 1px 2px 1px;
        }
    }
    /*-------------------------------------------------------------------------
	repair
-------------------------------------------------------------------------*/
    .repair {
        display: flex;
        align-items: center;
    }
    .repair dt {
        flex: 1;
    }
    .repair dt img {
        width: 100%;
    }
    .repair dd {
        flex: 1;
        margin-left: clamp(24px, 3.6vw, 48px);
    }
    .repair dd p {
        margin-top: 16px;
    }
    /*------------------------------------------------------------------------*/
    @media screen and (max-width: 767px) {
        .repair {
            display: block;
        }
        .repair dd {
            margin-left: 0;
            margin-top: 24px;
        }
    }
    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■flow
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    #flow ol {
        list-style: none;
        display: flex;
        flex-wrap: wrap;
        margin: 0 -32px;
    }
    #flow li {
        width: calc(100% / 4 - 64px);
        margin: 0 32px;
        position: relative;
    }
    #flow li dt {
        text-align: center;
        position: relative;
        margin: 0 auto;
        width: fit-content;
    }
    #flow .day {
        width: clamp(48px, 5.6vw, 64px);
        aspect-ratio: 1 / 1;
        background: rgba(255, 137, 159, 1.0);
        border-radius: 50%;
        font-size: clamp(16px, 1.7vw, 18px);
        font-weight: bold;
        line-height: 1;
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        position: absolute;
        left: 0;
        top: 0;
    }
    #flow .day small {
        font-size: clamp(11px, 1.25vw, 14px);
        font-style: italic;
    }
    #flow .day i {
        font-size: clamp(16px, 2.0vw, 24px);
        font-style: italic;
        position: relative;
        bottom: -2px;
    }
    #flow li dt img {
        width: clamp(160px, 18.0vw, 200px);
        max-width: 75%;
    }
    #flow li:not(:last-child) dt:after {
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 32px 0 32px 32px;
        border-color: transparent transparent transparent rgba(0, 0, 0, .05);
        position: absolute;
        right: -48px;
        top: 50%;
        transform: translateY(-50%);
    }
    #flow li dd h3 {
        font-size: clamp(18px, 2.0vw, 22px);
        font-weight: bold;
        text-align: center;
        margin-bottom: clamp(12px, 1.4vw, 16px);
    }
    #flow li dd {
        margin-top: clamp(24px, 2.8vw, 32px);
    }
    /*-----------------------------------------------------------------------*/
    @media screen and (max-width: 767px) {
        #flow ol {
            margin: 0;
        }
        #flow li {
            width: 100%;
            margin: 0 0 64px 0;
            position: relative;
        }
        #flow li:last-child {
            margin-bottom: 0;
        }
        #flow li:not(:last-child):after {
            content: "";
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 24px 24px 0 24px;
            border-color: rgba(0, 0, 0, .05) transparent transparent transparent;
            position: absolute;
            bottom: -36px;
            left: 50%;
            transform: translateX(-50%);
        }
        #flow li:not(:last-child) dt:after {
            display: none;
        }
        #flow li dd p {
            font-size: 14px;
        }
    }
    /*-------------------------------------------------------------------------
	retouch
-------------------------------------------------------------------------*/
    .block {
        padding: 48px;
    }
    .block.gray {
        background: #E1EAE8;
        margin-top: 40px;
    }
    .block.blue {
        background: #E8E8FF;
    }
    .block h4 {
        margin-bottom: 32px;
    }
    .retouch {
        display: flex;
        flex-wrap: wrap;
    }
    .retouch > dt {
        flex: 1;
        margin-left: 32px;
    }
    .retouch > dd {
        flex: 3;
    }
    .licence {
        border: 2px solid #4C4C6D;
        border-radius: 16px;
        padding: clamp(16px, 2.4vw, 32px);
        background: #fff;
        margin: 32px 0;
    }
    .licence dt {
        width: fit-content;
        padding: 4px 8px;
        margin: 0 auto 20px;
        background: #4C4C6D;
        color: #fff;
    }
    .licence ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: start;
        margin-top: 24px;
    }
    .licence li {
        width: calc(100% / 2);
    }
    /*------------------------------------------------------------------------*/
    @media screen and (max-width: 767px) {
        .block {
            padding: 32px 24px;
        }
        .retouch {
            flex-direction: column;
        }
        .retouch > dt {
            width: 75%;
            margin: 0 auto;
            margin-top: 24px;
        }
        .licence ul {
            margin-top: 16px;
        }
        .licence li {
            width: calc(100% / 2);
        }
    }
    /*-------------------------------------------------------------------------
	knowledge
-------------------------------------------------------------------------*/
    .knowledge {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin: 0 -16px -32px -16px;
    }
    .knowledge li {
        width: calc(100% / 3 - 32px);
        margin: 0 16px 32px 16px;
        background: #fff;
    }
    .knowledge dl {
        padding: 32px;
    }
    .knowledge dt {
        text-align: center;
    }
    .knowledge dd {
        margin-top: 16px;
    }
    .knowledge dd p {
        font-size: 14px;
    }
    /*------------------------------------------------------------------------*/
    @media screen and (max-width: 767px) {
        .knowledge {
            margin-bottom: -24px;
        }
        .knowledge li {
            width: calc(100% - 32px);
            margin-bottom: 24px;
        }
        .knowledge dd p:first-child {
            text-align: center;
        }
        .knowledge dd p img {
            width: 50%;
        }
    }
    /*-------------------------------------------------------------------------
	notice
-------------------------------------------------------------------------*/
    .notice {
        width: fit-content;
        padding: 24px clamp(24px, 4.4vw, 64px);
        margin: 0 auto;
        background: #C65454;
        color: #fff;
        font-size: clamp(20px, 2.2vw, 24px);
        text-align: center;
    }
    /*------------------------------------------------------------------------*/
    @media screen and (max-width: 767px) {
        .notice {
            padding: 24px;
            font-size: 18px;
        }
    }
    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■spec
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .spec {}
    .spec li + li {
        margin-top: 64px;
    }
    .spec dl {
        display: flex;
        align-items: center;
    }
    .spec dt {
        flex: none;
    }
    .spec dd {
        flex: 1;
        margin-left: 24px;
    }
    .spec dd p {
        font-size: 14px;
        margin-top: 16px;
    }
    /*------------------------------------------------------------------------*/
    @media screen and (max-width: 767px) {
        .spec li + li {
            margin-top: 32px;
        }
        .spec dt {
            flex: 1;
        }
        .spec dd {
            flex: 2;
        }
    }
    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■local
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .local {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin: 0 -16px;
    }
    .local.column4 li {
        width: calc(100% / 4 - 32px);
        margin: 0 16px;
    }
    .local.column5 li {
        width: calc(100% / 5 - 32px);
        margin: 0 16px;
    }
    .local li dl {
        padding: clamp(24px, 2.8vw, 32px);
        height: 100%;
        border: 2px solid #4C4C6D;
        border-radius: clamp(24px, 3.2vw, 40px);
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
    }
    .local li dt {
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
    }
    .local li dd {
        margin-top: auto;
    }
    .local li dd img {}
    .local li .green {
        background: #E8F6EF;
    }
    .local li .yellow {
        background: #FFF5DB;
    }
    .local li .gray {
        background: #DDDDDD;
    }
    .local li .blue {
        background: #E8E8FF;
    }
    /*-----------------------------------------------------------------------*/
    @media screen and (max-width: 1023px) {
        .local {
            margin: 0 -16px -32px -16px;
        }
        .local.column4 li {
            width: calc(100% / 2 - 32px);
            margin: 0 16px 32px 16px;
        }
        .local.column5 li {
            width: calc(100% / 2 - 32px);
            margin: 0 16px 32px 16px;
        }
        .local li dd img {
            width: 75%;
        }
    }
    /*-----------------------------------------------------------------------*/
    @media screen and (max-width: 767px) {
        .local.column4 li {
            width: calc(100% - 32px);
        }
        .local.column5 li {
            width: calc(100% - 32px);
        }
        .local li dd img {
            width: 50%;
        }
    }
    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■flow
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .flow > li + li {
        margin-top: 64px;
        margin-top: clamp(32px, 4.8vw, 64px);
    }
    .flow > li {
        position: relative;
    }
    .flow > li > dl {
        display: flex;
    }
    .flow > li > dl > dt {
        flex: 1;
        background: #4C4C6D;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        font-size: clamp(18px, 2.1vw, 24px);
        color: #fff;
    }
    .flow > li > dl > dt span {
        margin-top: 16px;
    }
    .flow > li > dl > dd {
        flex: 3;
        background: #fff;
        padding: clamp(32px, 4.8vw, 64px);
        font-size: clamp(16px, 1.7vw, 18px);
    }
    .flow > li > dl > dd ul {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: clamp(24px, 3.6vw, 48px);
    }
    .flow > li > dl > dd li + li {
        margin-left: clamp(16px, 2.4vw, 32px);
    }
    .flow > li > dl > dd dl {
        display: flex;
        align-items: center;
    }
    .flow > li > dl > dd dt {
        flex: none;
        margin-left: clamp(16px, 2.4vw, 32px);
    }
    .flow > li > dl > dd dd {
        flex: 1;
    }
    /*-----------------------------------------------------------------------*/
    @media screen and (max-width: 1023px) {
        .flow > li > dl > dd dt {
            flex: 1;
        }
    }
    /*-----------------------------------------------------------------------*/
    @media screen and (max-width: 767px) {
        .flow > li > dl {
            display: block;
        }
        .flow > li > dl > dt {
            flex-direction: row;
            font-size: 14px;
            padding: 16px 0;
        }
        .flow > li > dl > dt span {
            margin-top: 0;
        }
        .flow > li > dl > dt img {
            flex: none;
            height: 32px;
            margin-right: 8px;
        }
        .flow > li > dl > dd {
            padding: 24px;
            font-size: 14px;
        }
    }
    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■overview
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .overview {}
    .overview > li + li {
        padding-top: clamp(12px, 2.2vw, 32px);
        margin-top: clamp(12px, 2.2vw, 32px);
        border-top: 1px dashed rgba(0, 0, 0, .1);
    }
    .overview dl {
        display: flex;
    }
    .overview dt {
        flex: 1;
    }
    .overview dd {
        flex: 2;
    }
    .overview dd p {
        margin-top: 0;
    }
    .overview dd ul {
        list-style: disc;
        padding-left: 1.25em;
    }
    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■button
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .button {}
    .button + .button {
        margin-left: 48px;
    }
    .button a, .button label, .button input[type="submit"] {
        width: fit-content;
        height: 48px;
        padding: 0 24px;
        box-sizing: border-box;
        position: relative;
        border: 0;
        border-radius: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        background: #4C4C6D;
        font-size: clamp(16px, 1.7vw, 18px);
        color: #fff;
    }
    .button input[type="submit"] {
        width: 100%;
        max-width: clamp(240px, 28.0vw, 320px);
        height: 64px;
        font-size: 24px;
    }
    .button.center > * {
        margin: 0 auto;
    }
    .button.green > * {
        background: #E8F6EF;
        color: #4C4C6D;
    }
    .button.yellow > * {
        background: #FFF5DB;
        color: #4C4C6D;
    }
    .button.blue > * {
        background: #E8E8FF;
        color: #4C4C6D;
    }
    /*-----------------------------------------------------------------------*/
    @media screen and (max-width: 767px) {
        .button + .button {
            margin-left: 0;
            margin-top: 16px !important;
        }
    }
    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■detail
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    #detail figure {
        text-align: center;
    }
    #detail p {
        font-size: clamp(16px, 1.7vw, 18px);
        margin-top: 32px;
    }
    /*-------------------------------------------------------------------------
	dealer
-------------------------------------------------------------------------*/
    #detail .dealer {
        display: flex;
        align-items: center;
        margin-top: 32px;
    }
    #detail .dealer dd {
        padding: 12px;
        font-size: 14px;
    }
    #detail .dealer dd + dd {
        margin-left: 8px;
    }
    #detail .dealer dd.matsue {
        background: #E8F6EF;
    }
    #detail .dealer dd.shinozaki {
        background: #FFF5DB;
    }
    #detail .dealer dd.koiwa {
        background: #E8E8FF;
    }
    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■store
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    #stores {}
    /*-------------------------------------------------------------------------
	box
-------------------------------------------------------------------------*/
    #stores .box {
        border: 2px solid #4C4C6D;
        border-radius: 16px;
        padding: clamp(32px, 4.8vw, 64px) clamp(24px, 4.4vw, 64px);
        position: relative;
    }
    #stores .box img {
        position: absolute;
        right: 0;
        top: 0;
    }
    #stores .box p:first-of-type {
        font-size: 24px;
        text-align: center;
        margin: clamp(24px, 4.4vw, 64px) 0;
    }
    #stores .box p:last-of-type {
        text-align: right;
        margin-top: clamp(24px, 4.4vw, 64px);
    }
    /*-----------------------------------------------------------------------*/
    @media screen and (max-width: 1023px) {
        #stores .box img {
            width: 240px;
        }
    }
    /*-----------------------------------------------------------------------*/
    @media screen and (max-width: 767px) {
        #stores .box img {
            width: 120px;
        }
        #stores .box {
            padding: 24px;
        }
        #stores .box p {
            font-size: 16px;
        }
        #stores .box p:first-of-type {
            font-size: 20px;
        }
        #stores .box p:last-of-type {}
    }
    /*-------------------------------------------------------------------------
	store
-------------------------------------------------------------------------*/
    #stores .store {
        margin-bottom: clamp(48px, 10.4vw, 160px);
    }
    #stores .store:last-of-type {
        margin-bottom: 0;
    }
    /*-----------------------------------------------------------------------*/
    @media screen and (min-width: 1024px) {
        #stores .store {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            grid-template-rows: repeat(2, 1fr);
            grid-column-gap: 0px;
            grid-row-gap: 0px;
        }
        #stores .profile {
            grid-area: 1 / 1 / 3 / 2;
        }
        #stores .store .iframe {
            grid-area: 1 / 2 / 2 / 3;
        }
        #stores .store .map {
            grid-area: 2 / 2 / 3 / 3;
        }
        #stores .store .map img {
            position: absolute;
            top: 0;
            right: 0;
            width: 100% !important;
            height: 100% !important;
            object-fit: cover;
            object-position: center center;
        }
    }
    #stores #matsue {
        background: #E8F6EF;
    }
    #stores #matsue .profile {
        border-color: #4EAF9E;
        color: #4EAF9E;
    }
    #stores #shinozaki {
        background: #FFF5DB;
    }
    #stores #shinozaki .profile {
        border-color: #DBAB31;
        color: #DBAB31;
    }
    #stores #koiwa {
        background: #E8E8FF;
    }
    #stores #koiwa .profile {
        border-color: #4C4C6D;
        color: #4C4C6D;
    }
    /*-------------------------------------------------------------------------
	profile
-------------------------------------------------------------------------*/
    #stores .profile {
        padding: clamp(48px, 7.2vw, 96px);
        box-sizing: border-box;
        border-top: 16px solid #000;
        text-align: center;
    }
    #stores .profile h3 {
        font-size: clamp(24px, 3.6vw, 48px);
    }
    #stores .profile h3 + p {
        font-size: clamp(16px, 1.7vw, 18px);
        margin-top: clamp(24px, 3.6vw, 48px);
    }
    /*-----------------------------------------------------------------------*/
    @media screen and (max-width: 767px) {
        #stores .profile {
            padding: 32px 0;
            text-align: left;
        }
        #stores .profile h3 {
            text-align: center;
        }
    }
    /*-------------------------------------------------------------------------
	overview
-------------------------------------------------------------------------*/
    #stores .overview {
        margin-top: clamp(24px, 4.4vw, 64px);
    }
    #stores .overview li + li {
        border-top: 1px solid #4C4C6D;
        padding-top: clamp(8px, 1.2vw, 16px);
        margin-top: clamp(8px, 1.2vw, 16px);
    }
    #stores .overview dl {
        display: flex;
        align-items: center;
        color: #4C4C6D;
        font-size: clamp(14px, 1.5vw, 16px);
        text-align: left;
    }
    #stores .overview dt {
        flex: 1;
    }
    #stores .overview dd {
        flex: 3;
    }
    /*-------------------------------------------------------------------------
	photos
-------------------------------------------------------------------------*/
    #stores .photos {
        display: flex;
        flex-wrap: wrap;
        margin: 0 -8px -16px -8px;
        margin-top: clamp(24px, 4.4vw, 64px);
    }
    #stores .photos > li {
        width: calc(50% - 16px);
        margin: 0 8px 16px 8px;
    }
    /*-------------------------------------------------------------------------
	iframe
-------------------------------------------------------------------------*/
    #stores .store .iframe {
        width: 100%;
        position: relative;
    }
    #stores .store .iframe iframe {
        position: absolute;
        top: 0;
        right: 0;
        width: 100% !important;
        height: 100% !important;
    }
    /*------------------------------------------------------------------------*/
    @media screen and (max-width: 1023px) {
        #stores .store .iframe {
            aspect-ratio: 16 / 9;
        }
    }
    /*-------------------------------------------------------------------------
	map
-------------------------------------------------------------------------*/
    #stores .store .map {
        width: 100%;
        position: relative;
    }
    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ separate
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .separate {
        display: flex;
        justify-content: space-between;
    }
    .separate.center {
        align-items: center;
    }
    .separate > li {
        width: calc(50% - clamp(16px, 2.0vw, 24px));
    }
    .separate a {
        text-decoration: underline;
        cursor: pointer;
    }
    .separate a:hover {
        text-decoration: none;
    }
    /*------------------------------------------------------------------------*/
    @media screen and (max-width: 767px) {
        .separate {
            display: block;
        }
        .separate > li {
            width: 100%;
        }
        .separate > li + li {
            margin-top: 24px;
        }
    }
    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■brands
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .brands {
        display: flex;
        flex-wrap: wrap;
        margin: 0 -12px -48px -12px;
    }
    .brands > li {
        width: calc(100% / 5 - 24px);
        margin: 0 12px 48px 12px;
    }
    .brands > li a {
        display: block;
    }
    .brands > li figure img {
        width: 100%;
    }
    .brands > li figure figcaption {
        font-size: 16px;
        text-align: center;
        margin: 16px 0;
    }
    /*------------------------------------------------------------------------*/
    @media screen and (max-width: 1023px) {
        .brands {
            display: flex;
            flex-wrap: wrap;
            margin: 0 -8px -32px -8px;
        }
        .brands > li {
            width: calc(100% / 4 - 16px);
            margin: 0 8px 32px 8px;
        }
    }
    /*------------------------------------------------------------------------*/
    @media screen and (max-width: 767px) {
        .brands {
            margin: 0 -8px -24px -8px;
        }
        .brands > li {
            width: calc(50% - 16px);
            margin: 0 8px 24px 8px;
        }
    }
    /*-------------------------------------------------------------------------
	dealer
-------------------------------------------------------------------------*/
    .brands .dealer {
        font-size: 14px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .brands .dealer li {
        padding: 2px 4px;
    }
    .brands .dealer li + li {
        margin-left: 2px;
    }
    .brands .dealer li.matsue {
        background: #E8F6EF;
    }
    .brands .dealer li.shinozaki {
        background: #FFF5DB;
    }
    .brands .dealer li.koiwa {
        background: #E8E8FF;
    }
    /*------------------------------------------------------------------------*/
    @media screen and (max-width: 767px) {
        .brands .dealer {
            font-size: 12px;
        }
    }
    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■faq
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .faq {
        margin-top: clamp(16px, 2.0vw, 24px);
    }
    .faq details {}
    .faq details {
        margin-top: clamp(24px, 2.8vw, 32px);
        margin-top: 32px;
    }
    .faq details:last-of-type summary + div {
        margin-bottom: 0;
    }
    .faq summary {
        padding: 24px;
        padding: clamp(16px, 2.0vw, 24px);
        display: flex;
        align-items: center;
        cursor: pointer;
    }
    .faq summary::-webkit-details-marker {
        display: none;
    }
    .faq summary:before {
        font-size: 24px;
        content: "＋";
        font-weight: normal;
        margin-right: 24px;
    }
    .faq details[open] summary:before {
        content: "－";
    }
    .faq summary + div {
        padding: clamp(24px, 2.8vw, 32px) clamp(16px, 2.0vw, 24px);
    }
    .faq summary + div > p {}
    .faq.green summary {
        background: #B8DFD8;
    }
    .faq.green summary + div {
        background: #E8F6EF;
    }
    .faq.yellow summary {
        background: #FFE194;
    }
    .faq.yellow summary + div {
        background: #FFFAED;
    }
    .faq.gray summary {
        background: #DDDDDD;
    }
    .faq.gray summary + div {
        background: #FFFAED;
    }
    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ form
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .form {}
    .form > li + li {
        padding-top: 32px;
        margin-top: 32px;
        border-top: 1px solid #4C4C6D;
    }
    .form dl {
        display: flex;
        align-items: center;
    }
    .form dt {
        flex: 1;
        margin-right: 32px;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .form dd {
        flex: 3;
    }
    .form p{
        text-align: center;
    }
    .form .g-recaptcha{
        display: flex;
        justify-content: center;
    }
    .form dd p {
        display: flex;
        margin: 0;
    }
    .form li * + p, .form li * + div {
        margin-top: 32px;
    }
    .form dd p span {
        flex: 1;
    }
    .form dd p span + span {
        margin-left: 16px;
    }
    .form dd ul {
        display: flex;
    }
    .form dd li {}
    .form dd li + li {
        margin-left: 32px;
    }
    .form dd li label {
        display: inline-block;
        cursor: pointer;
    }
    .form input[type="checkbox"], .form input[type="radio"] {
        margin-right: 8px;
    }
    .form .required:after {
        font-size: 11px;
        font-style: normal;
        color: #fff;
        padding: 2px 8px;
        background: #C65454;
        display: inline-block;
        content: "必須";
    }
    .form input[type="text"], .form input[type="tel"], .form input[type="url"], .form input[type="email"], .form select, .form textarea {
        width: 100%;
        background: #fff;
        box-sizing: border-box;
        padding: 12px;
        box-shadow: none;
        border: 0;
        border-radius: 0;
        -moz-appearance: none;
        -webkit-appearance: none;
        font-size: 16px;
        line-height: 1.5;
        letter-spacing: .05em;
        font-feature-settings: "palt";
        outline: none
    }
    .form .privacy {
        height: 320px;
        padding: 24px;
        box-sizing: border-box;
        font-size: clamp(14px, 1.5vw, 16px);
        font-weight: normal;
        line-height: 1.75;
        color: #727272;
        background-color: #fff;
        overflow: auto;
        overflow-y: scroll;
        overflow-x: hidden;
    }
    .form .check {
        text-align: center;
    }
    .form .check label {
        cursor: pointer;
    }
    /*------------------------------------------------------------------------*/
    @media screen and (max-width:1023px) {
        .form dd {
            flex: 2;
        }
    }
    /*------------------------------------------------------------------------*/
    @media screen and (max-width:767px) {
        .form {}
        .form > li + li {
            padding-top: 16px;
            margin-top: 16px;
        }
        .form dl {
            display: block;
        }
        .form dt {
            margin-right: 0;
            margin-bottom: 8px;
        }
        .form dt.text {
            margin-top: 0;
        }
        .form dd {}
        .form dd p {
            font-size: 12px;
        }
        .form dd * + p, .form dd * + ul {
            margin-top: 8px;
        }
        .form dd p span + span {
            margin-left: 8px;
        }
        .form .required:after {
            font-size: 8px;
            padding: 1px 4px;
        }
        .form input[type="text"], .form input[type="tel"], .form input[type="url"], .form input[type="email"], .form select, .form textarea {
            font-size: 14px;
        }
    }
    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■aside
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    aside {
        margin-top: clamp(48px, 7.2vw, 96px);
        padding-bottom: clamp(48px, 7.2vw, 96px);
        text-align: center;
    }
    aside h6 {
        display: flex;
        align-items: center;
        font-size: clamp(20px, 2.6vw, 32px);
        margin-bottom: clamp(48px, 5.6vw, 64px);
    }
    aside h6:before {
        content: "";
        display: block;
        margin-right: clamp(24px, 4.4vw, 64px);
        border-top: 2px solid #4C4C6D;
        flex: 1;
    }
    aside h6:after {
        content: "";
        display: block;
        margin-left: clamp(24px, 4.4vw, 64px);
        border-top: 2px solid #4C4C6D;
        flex: 1;
    }
    aside .inner > p {
        line-height: 1.5;
        margin-bottom: clamp(48px, 5.6vw, 64px);
    }
    aside ul {
        display: flex;
    }
    aside li {
        flex: 1;
    }
    aside li + li {}
    aside li dl {
        display: flex;
        align-items: center;
    }
    aside li dt {
        flex: none;
        width: clamp(64px, 8.0vw, 96px);
        aspect-ratio: 1 / 1;
        border-radius: 50%;
        background: #4C4C6D;
        font-size: clamp(16px, 1.9vw, 22px);
        line-height: 1.16;
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    aside li dd {
        margin-left: 16px;
    }
    aside li dd p {
        line-height: 1.5;
        text-align: left;
    }
    aside li dd p a {
        font-size: clamp(16px, 2.0vw, 24px);
    }
    aside li dd p b {
        font-size: clamp(16px, 1.8vw, 20px);
    }
    /*------------------------------------------------------------------------*/
    @media screen and (max-width: 767px) {
        aside ul {
            display: block;
        }
        aside li {
            margin-top: 24px;
        }
    }
    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■footer
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    footer {
        padding: clamp(24px, 3.6vw, 48px) clamp(24px, 4.4vw, 64px);
        box-sizing: border-box;
        background: #4C4C6D;
        color: #fff;
        text-align: right;
    }
    footer a {
        color: #fff;
    }
    footer h1 {
        margin-bottom: clamp(24px, 2.8vw, 32px);
    }
    footer h1 img {
        height: clamp(32px, 4.8vw, 64px);
    }
    footer ul {
        display: flex;
        align-items: center;
        justify-content: end;
    }
    footer li {
        font-size: clamp(14px, 1.6vw, 18px);
    }
    footer li a:hover {
        text-decoration: underline;
    }
    footer li img {
        height: clamp(32px, 3.6vw, 40px);
    }
    footer li + li {
        margin-left: 24px;
    }
    footer .copyright {
        font-size: clamp(11px, 1.15vw, 12px);
        margin-top: 24px;
    }
    /*-----------------------------------------------------------------------*/
    @media screen and (max-width: 767px) {
        footer {
            text-align: center;
        }
        footer ul {
            flex-wrap: wrap;
            justify-content: center;
            margin-bottom: -16px;
        }
        footer li {
            width: calc(100% / 3);
            margin-bottom: 16px;
        }
        footer li a:hover {
            text-decoration: underline;
        }
        footer li img {
            height: clamp(32px, 3.6vw, 40px);
        }
        footer li + li {
            margin-left: 0;
        }
        footer li:nth-last-child(2) {
            width: auto;
        }
        footer li:last-child {
            width: auto;
            margin-left: 16px;
        }
    }
    /*-------------------------------------------------------------------------
	pagetop
-------------------------------------------------------------------------*/
    #pagetop {
        width: clamp(48px, 7.2vw, 96px);
        height: clamp(48px, 7.2vw, 96px);
        margin: 0;
        position: fixed;
        right: clamp(24px, 3.6vw, 48px);
        bottom: clamp(24px, 3.6vw, 48px);
        z-index: 3;
        display: none;
    }
    #pagetop a {
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    #pagetop a img {
        width: 100%;
        height: 100%;
    }
    #pagetop a:hover {}


/*-------------------------------------------------------------------------
	Youtube
-------------------------------------------------------------------------*/
.video {
position: relative;
  height: 0;
  padding: 30px 0 56.25%; 
  overflow: hidden;
}
.video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}