@charset "UTF-8";

:root {
    --color-primary-light: #eff5fb;
    --color-notice: #4e0303;
    --color-form: #8f5b83;
    --color-c1: #383f50;
    --color-c2: #91b3d5;
    --color-c3: #222;
    --color-c4: #4E0303;
    --color-c5: #23362F;
    --color-c6: #111;
    --color-c7: #b5889a;
    --easing: cubic-bezier(.2, 1, .2, 1);
    --transition: .8s var(--easing);
    --box-shadow: 0 2.5rem 1.8rem -2rem hsl(200deg 0% 20% / 20%);
    --box-shadow-hover: 1rem 1rem 1.5rem rgba(0, 0, 0, .08), -1rem -1rem 1.5rem #FFF;
}

h1,
h2,
h3 {
    font-family: var(--font-family-ja-min);
    font-weight: 300;
    line-height: 1.5;
}

h1 {
    font-size: 1.8rem;
}

h2 {
    font-size: 1.8rem;
}

h3 {
    font-size: 1.4rem;
}

@media (min-width: 821px) {

    h3 span {
        font-size: 2rem;
    }
    h2 {
        font-size: 1.6rem;
    }

}

h1 span,
h2 span,
h3 span {
    display: block;
    font-family: var(--font-family-en);
    line-height: 1;
    letter-spacing: 0.05rem;
    font-size: 3rem;
}

h2 span {
    font-size: 3rem;
}

h3 span {
    font-size: 1.8rem;
}

.cormorant {
    font-family: var(--font-family-en);
    font-size: 4rem;
    font-weight: 300;
    line-height: 1;
}

.cormorant span {
    display: block;
    font-size: 2rem;
}

.cormorant.full {
    font-family: var(--font-family-en-full);
}

.cursive {
    font-family: var(--font-family-en-cursive);
    font-size: 4rem;
    line-height: 1;
}

p {
    margin: 0 0 2rem;
    line-height: 2;
}

p span {
    margin: 0 .5rem;
}

p.button span {
    margin: 0;
}

section > h2,
section > h2 + p,
.container > h2,
.container > h2 + p {
    text-align: center;
}

img + p {
    margin-top: 1rem;
}

.title + p.introtext {
    max-width: 1000px;
    margin: 2rem auto 0;
}

@media (min-width: 821px) {

    .title + p.introtext {
        text-align: center;
    }

}

.center {
    display: block;
    text-align: center;
}

.right {
    display: block;
    text-align: right;
}

.lead {
    font-family: var(--font-family-ja-min);
    font-size: 2rem;
    line-height: 1.4;
    font-weight: 500;
}

.notice {
    color: var(--color-notice);
    font-weight: 600;
}

.box {
    padding: 2rem 0;
    margin: auto;
}

@media (min-width: 821px) {

    .box {
        max-width: 800px;
        padding: 8rem 0;
    }

}

.attention li {
    line-height: 1.5;
    padding-bottom: 1rem;
}

.attention li:before {
    content: "※";
    margin-right: 0.5em;
    color: var(--color-notice);
}

.underline {
    text-decoration: none;
    border-bottom: 1px solid var(--color-basic);
    padding-bottom: 2px;
}

.price {
    margin: 0 .5rem;
}

.price.en {
    font-family: var(--font-family-en);
    font-size: 3rem;
    line-height: 1.6;
}

.menu .price {
    font-family: var(--font-family-en);
    font-size: 2rem;
    line-height: 1.6;
}

.price:before {
    content: "\0a5";
    margin-right: .2rem;
}

.date span {
    margin: 0 0 0 0.5rem;
}

.fc3 {
    color: var(--color-c3)!important;
}

.fc5 {
    color: var(--color-c5)!important;
}

.bc2 {
    background: var(--color-c2)!important;
    border-color: var(--color-c2)!important;
}

.bc3 {
    background: var(--color-c3)!important;
    border-color: var(--color-c3)!important;
}

.bc4 {
    background: var(--color-c4)!important;
    border-color: var(--color-c4)!important;
}

.bc5 {
    background: var(--color-c5)!important;
    border-color: var(--color-c5)!important;
}

.bc6 {
    background: var(--color-c6)!important;
    border-color: var(--color-c6)!important;
}

.bc7 {
    background: var(--color-c7)!important;
    border-color: var(--color-c7)!important;
}

.bt {
    border-top: 1px solid var(--color-light);
}

.sm {
    font-size: 1.6rem;
    line-height: 1;
    letter-spacing: 0.1rem;
}

.md {
    font-size: 4rem;
    line-height: 1;
    letter-spacing: 0.1rem;
}

.lg {
    font-size: 4.8rem;
    line-height: 1;
    letter-spacing: 0.1rem;
}

.lg span {
    font-size: 2rem;
    line-height: 1;
}

.xlg {
    font-size: 6rem;
    line-height: 1;
}

.button.sm,
.button.md,
.button.lg {
    padding: .3rem 3rem;
    font-size: 1.4rem;
}

@media (min-width: 821px) {

    .sm {
        font-size: 2rem;
    }

    .md {
        font-size: 5rem;
    }

    .lg {
        font-size: 6.4rem;
    }

    .lg span {
        font-size: 3.6rem;
    }

    .xlg {
        font-size: 15rem;
    }

    .button.sm {
        padding: .3rem 2rem;
        font-size: 1.2rem;
    }

    .button.md {
        padding: .6rem 4rem;
        font-size: 1.4rem;
    }

    .button.lg {
        padding: .9rem 5rem;
        font-size: 1.6rem;
    }

}

/*//////////////////// DITTO ////////////////////////*/

#breadcrumbnav {
    padding: 1rem 0 4rem;
    font-size: 1.2rem;
}

.noresults {
    position: absolute;
    left: 0;
    width: 100%;
    padding: 2rem 0;
    text-align: center;
}

/*//////////////////// COLOR CHANGE AREA ////////////////////////*/

#c1,
#c2,
#c3,
#c4 {
    padding: 0 0 4rem;
}

#c2 :any-link {
    color: var(--color-non);
    border-color: var(--color-non);
}

#c2 .button.white.mark.arrowR::after {
    filter: brightness(100);
}

#c2 a.underline {
    border-bottom: 1px solid var(--color-non);
}

@media (min-width: 821px) {

    #c1,
    #c2,
    #c3,
    #c4 {
        padding: 0 0 12rem;
    }

    #c2 dl.line dt {
        background: none;
    }

}

/*//////////////////// LAYOUT col2 ////////////////////////*/

.side {
    padding: 0 1.5rem;
}

@media (min-width: 821px) {

    .main {
        flex: 3.5;
    }

    .side {
        flex: 1;
        padding: 0;
        margin-left: 5%;
    }

}

/*//////////////////// LAYOUT side ////////////////////////*/

.side h2 {
    position: relative;
    text-align: center;
    padding: 2rem;
}

.side h2 span {
    font-size: 6rem;
    line-height: 1;
    margin: 0;
}

.side h2:before {
    position: absolute;
    top: 10px;
    right: 50px;
    font-family: var(--font-family-en-cursive);
    font-size: 2.4rem;
    color: var(--color-light);
    content: 'Information';
}

.side h3 {
    font-family: var(--font-family-en);
    line-height: 1.6;
    font-size: 2.4rem;
    font-weight: 400;
    border-bottom: 2px solid var(--color-light);
    margin: 0;
}

.side h3:not(:first-child) {
    margin: 1rem 0;
}

.side ul {
    list-style: none;
    padding: 0;
}

.side .category li {
    font-family: var(--font-family-ja-min);
    border-bottom: 1px solid var(--color-light);
    padding: 1rem;
}

.side .banner {
    text-align: center;
}

.side .banner h3 {
    border: none;
}

.side .banner img {
    padding: 0;
}

/*//////////////////// ARTICLE contents ////////////////////////*/

.article .p0 .contents-img {
    height: auto;
}

.article .topicpath {
    margin: 0 0 4rem 1rem;
}

.article .main h1 {
    font-family: var(--font-family-ja-min);
    font-size: 2.4rem;
}

.article .contents {
    margin: 4rem 0;
}

.article .contents h2 {
    font-size: 1.8rem;
    line-height: 1.4;
    padding: 3rem 0 1rem;
    margin: 0 0 2rem;
    border-bottom: 1px solid var(--color-basic);
}

.article .contents h3 {
    border-left: 3px solid var(--color-basic);
    border-bottom: 1px solid var(--color-basic);
    padding: 1rem;
    margin: 4rem 0 2rem;
}

.article .main .contents-text .button {
    font-family: var(--font-family-ja-min);
    font-size: 1.6rem;
    padding: 1rem 8rem;
}

.article .contents .contents-box {
    margin: 4rem 0 0;
}

.article .p0 .tag a {
    margin: 0 .5rem .5rem 0;
}

@media (min-width: 821px) {

    .article .contents .contents-wrap {
        column-gap: 35px;
    }

}

/*//////////////////// GRID ////////////////////////*/

.grid-wrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    row-gap: 35px;
}

.grid-wrap.col12,
.grid-wrap.col13,
.grid-wrap.col123,
.grid-wrap.col124 {
    grid-template-columns: repeat(1, 1fr);
}

.grid-wrap.col23,
.grid-wrap.col24,
.grid-wrap.col234,
.grid-wrap.col235 {
    grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 821px) {

    .grid-wrap {
        column-gap: 35px;
    }

    .grid-wrap .contents-box,
    .grid-wrap .contents-img,
    .grid-wrap .contents-text {
        flex: 1;
    }

    .grid-wrap.col12,
    .grid-wrap.col123,
    .grid-wrap.col124 {
        grid-template-columns: repeat(2, 1fr);
        column-gap: 5%;
    }

    .grid-wrap.col13,
    .grid-wrap.col23,
    .grid-wrap.col234,
    .grid-wrap.col235 {
        grid-template-columns: repeat(3, 1fr);
    }

    .grid-wrap.col24 {
        grid-template-columns: repeat(4, 1fr);
    }

    .odd .grid-wrap:nth-child(odd) .contents-img,
    .even .grid-wrap:nth-child(even) .contents-img {
        order: 1;
    }

    .odd .grid-wrap:nth-child(even) .contents-img,
    .even .grid-wrap:nth-child(odd) .contents-img {
        order: 2;
    }

}

@media (min-width: 980px) {

    .grid-wrap.col123 {
        grid-template-columns: repeat(3, 1fr);
    }

    .grid-wrap.col124 {
        grid-template-columns: repeat(4, 1fr);
    }

    .grid-wrap.col234 {
        grid-template-columns: repeat(4, 1fr);
    }

    .grid-wrap.col235 {
        grid-template-columns: repeat(5, 1fr);
    }

}

.grid-wrap .content-img {
    box-shadow: rgb(0 0 0 / 10%) 0 20px 25px -5px, rgb(0 0 0 / 4%) 0 10px 10px -5px;
}

/*//////////////////// FLEX ////////////////////////*/

.main-block .contents-wrap .contents-text .button {
    margin: 1rem 0 0;
}

@media (min-width: 821px) {

    .main-block .contents-text {
        padding: 0 4%;
    }

    .main-block .contents-text .contents-inner {
        max-width: 620px;
        margin: auto;
    }

    .odd .contents-wrap:nth-child(odd) .contents-text .contents-inner,
    .even .contents-wrap:nth-child(even) .contents-text .contents-inner,
    .odd .contents-wrap:nth-child(even) .contents-text .contents-inner,
    .even .contents-wrap:nth-child(odd) .contents-text .contents-inner {
        padding: 0;
    }

    .inner-wrap {
        display: flex;
    }

    .inner-wrap > .inner-text {
        display: flex;
        justify-content: center;
        align-items: center;
    }

}

/*//////////////////// GUTTER ////////////////////////*/

.ptb {
    padding: 1rem 0;
}

.mt {
    margin: 3rem 0 0;
}

.mb {
    margin: 0 0 3rem;
}

.mtb {
    margin: 3rem 0;
}

@media (min-width: 821px) {

    .mt {
        margin: 6rem 0 0;
    }

    .mb {
        margin: 0 0 6rem;
    }

    .mtb {
        margin: 6rem 0;
    }

}

section {
    margin-top: 8rem;
}

section.section-mthalf {
    margin-top: 4rem;
}

@media (min-width: 821px) {

    section {
        margin-top: 12rem;
    }

    section.section-mthalf {
        margin-top: 6rem;
    }

}

.rel1 #c1 .p1, .rel15 #c1 .p1 {
    margin-top: 0;
}

@media (min-width: 821px) {

    .rel1 #c1 .p1, .rel15 #c1 .p1 {
        margin-top: 14rem;
    }

}

/*//////////////////// FIGURE ////////////////////////*/

figure {
    width: 100%;
    margin: 0 0 1.5rem;
}

figcaption {
    line-height: 1.4;
    margin: .5rem 0 0;
}

@media (min-width: 821px) {

    figure.left {
        float: left;
        width: 50%;
        margin: 0 1.5rem 1.5rem 0;
    }

    figure.right {
        float: right;
        width: 50%;
        margin: 0 0 1.5rem 1.5rem;
    }

    figure img {
        max-width: 100%;
    }

    .clear {
        clear: both;
    }

}

/*//////////////////// CATEGORY ////////////////////////*/

.category {
    font-size: 1.3rem;
}

.category h2 {
    text-align: center;
    padding: 0;
    margin: 10rem 0 0;
}

.category h2 span {
    margin: 2rem 0 1rem;
}

.category a {
    width: 100%;
    text-align: left;
}

.category .cormorant {
    font-size: 1.6rem!important;
}

.article .main .category {
    margin: 1rem 0;
}

.category.line {
    border-top: 1px solid var(--color-light);
    border-bottom: 1px solid var(--color-light);
    padding: .5rem;
}

/*//////////////////// TAG ////////////////////////*/

.tag ul {
    list-style: none;
    padding: 0;
}

.tag li {
    display: inline-block;
    padding: 0 .5rem .5rem 0;
}

.side .tag li {
    padding: 0 .5rem .5rem 0;
}

.tag a {
    display: inline-block;
    border-radius: 2px;
    background: var(--color-pale);
    border: 1px solid var(--color-light);
    line-height: 1.4;
    padding: .5rem;
    font-size: 1.3rem;
}

/*//////////////////// MAIN BLOCK ////////////////////////*/

.main-block dl dd ol {
    padding: 0 2rem;
}

.rel201 .img-block .contents-img,
.rel202 .img-block .contents-img {
    height: 400px;
    margin: 0;
}

@media (min-width: 821px) {

    .main-block .post-item {
        padding: 0 2rem;
    }

    .rel201 .img-block .contents-img,
    .rel202 .img-block .contents-img {
        height: 800px;
    }

}

/*//////////////////// TITLE BLOCK ////////////////////////*/

.title {
    margin: 4rem 0 0;
}

/*//////////////////// TITLE BLOCK ////////////////////////*/

.title-block {
    border-top: 1px solid var(--color-light);
    border-bottom: 1px solid var(--color-light);
}

.title-block h1 {
    font-family: var(--font-family-ja);
    font-size: 1.8rem;
    line-height: 1.8;
    margin: 2rem 0;
}

.title-block .introtext {
    line-height: 1.6;
    padding: 1rem 0 0;
    margin: 0;
}

.title-block .contents-img {
    border-radius: 5px;
    box-shadow: rgb(0 0 0 / 10%) 0 20px 25px -5px, rgb(0 0 0 / 4%) 0 10px 10px -5px;
}

.title-block .contents-text {
    padding: 2rem 0;
}

.title-block p span:first-child {
    margin: 0;
}

.title-block p span:not(:first-child) {
    margin: 0 0 0 .5rem;
}

@media (min-width: 821px) {

    .title-block .container {
        display: flex;
        justify-content: space-between;
        align-items: end;
    }

    .title-block .contents-img {
        width: 20%;
    }

    .title-block .contents-text {
        width: 80%;
        display: flex;
        flex-direction: column;
        padding: 0 0 0 3rem;
    }

}

/*//////////////////// HEAD BLOCK ////////////////////////*/

.head-block .contents-wrap {
    border-bottom: 1px solid var(--color-light);
}

.head-block .contents-wrap .contents-img {
    height: 300px;
}

.head-block h1 {
    font-size: 2rem;
    margin: 4rem 0 1rem;
}

.head-block  h2 {
    padding: 4rem 0 1rem;
}

.head-block .cormorant {
    position: relative;
    display: inline-block;
    font-size: 6rem;
}

.head-block:not(.rel160 .head-block):not(.rel161 .head-block) .cormorant::after {
    content: "Category";
    position: absolute;
    bottom: -20%;
    right: -40%;
    font-family: var(--font-family-en-cursive);
    font-size: 4rem;
    color: var(--color-light);
}

.head-block .button {
    display: inline-block;
    border-radius: 2px;
    font-family: var(--font-family-ja);
    font-size: 1.3rem;
    background: #e2eaea;
    color: var(--color-basic);
    border: 1px solid var(--color-light);
    line-height: 1.4;
    padding: .5rem;
}

@media (min-width: 821px) {

    .head-block .contents-wrap > .contents-text .contents-inner {
        max-width: 70%!important;
        margin: auto;
    }

    .head-block .contents-wrap .contents-img {
        height: 600px;
    }

    .rel4 .head-block .contents-wrap .contents-img {
        height: 480px;
    }

    .head-block dl.line dt:not(footer dt) {
        width: 20%;
        background: none;
    }

    .head-block dl.line dd:not(footer dd) {
        width: 80%;
    }

}

/*//////////////////// RIGHT BLOCK rel160 161 162 163 164 165 166 167  ////////////////////////*/

.rel162 .right-block-inner ul,
.rel163 .right-block-inner ul,
.rel164 .right-block-inner ul {
    background: var(--color-c2);
}

.rel162 .right-block-inner ul .button,
.rel163 .right-block-inner ul .button,
.rel164 .right-block-inner ul .button {
    background: var(--color-c2);
    border: 1px solid var(--color-c2);
}

.rel15 .right-block-inner ul {
    background: var(--color-c3);
}

.rel15 .right-block-inner ul .button {
    background: var(--color-c3);
    border: 1px solid var(--color-c3);
}

.rel160 .right-block-inner ul {
    background: var(--color-c4);
}

.rel160 .right-block-inner ul .button {
    background: var(--color-c4);
    border: 1px solid var(--color-c4);
}

.rel161 .right-block-inner ul {
    background: var(--color-c5);
}

.rel161 .right-block-inner ul .button {
    background: var(--color-c5);
    border: 1px solid var(--color-c5);
}

.rel165 .right-block-inner ul,
.rel166 .right-block-inner ul {
    background: var(--color-c6);
}

.rel165 .right-block-inner ul .button,
.rel166 .right-block-inner ul .button {
    background: var(--color-c6);
    border: 1px solid var(--color-c6);
}

.rel167 .right-block-inner ul {
    background: var(--color-c7);
}

.rel167 .right-block-inner ul .button {
    background: var(--color-c7);
    border: 1px solid var(--color-c7);
}

/*//////////////////// CONTACT BLOCK ////////////////////////*/

.contact-block .contents-wrap {
    margin: 1rem 0 1rem;
}

.contact-block:not(.contact-block.middle) {
    padding: 6rem 0 4rem;
    margin: 5rem 1.5rem 0;
}

.contact-block .contents-box {
    position: relative;
    text-align: center;
    padding: 4rem 1rem;
}

.contact-block .contents-box.wb {
    border: 3px solid var(--color-basic);
    max-width: 1100px;
    margin: auto;
}

.contact-block h2 {
    font-size: 1.8rem;
    margin: 2rem 0 0;
}

.contact-block .button.white {
    border: 2px solid var(--color-basic);
}

.contact-block .button:not(.tel) {
    width: 100%;
    max-width: 400px;
    padding: 1rem;
    margin: 1% 0;
}

.contact-block a.icon:before {
    margin: 0 1rem 0 0;
}

.contact-block p {
    margin: 0;
}

.contact-block p span {
    display: block;
    font-family: var(--font-family-ja-min);
    margin: 1rem 0 0;
}

.rel160 .contact-block .time-table,
.rel161 .contact-block .time-table {
    margin: 8rem 0 4rem;
}

@media (min-width: 821px) {

    .contact-block {
        margin: 10rem 0 0;
    }

    .contact-block .contents-wrap {
        margin: 0;
    }

    .contact-block .button:not(.tel) {
        margin: 1%;
    }

    .contact-block p {
        text-align: right;
        line-height: 1.6;
    }

    .contact-block p span {
        margin: 0;
    }

}

.contact-block .logo {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    background: var(--color-non);
    padding: 0 2rem;
}

.rel160 .contact-block .logo {
    top: -50px;
}

.rel161 .contact-block .logo {
    top: -75px;
}

.contact-block .cormorant {
    position: absolute;
    top: -50px;
    left: 50%;
    transform: translateX(-50%);
    height: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--color-non);
    font-size: clamp(3rem, 4vw, 6rem);
    white-space: nowrap;
    padding: 2rem;
}

.contact-block .cormorant span {
    font-size: 1.6rem;
    line-height: .8;
    white-space: normal;
    margin: 0 .5rem 0 0;
}

/*//////////////////// CONTACT BLOCK middle////////////////////////*/

.contact-block.middle {
    background: var(--color-basic);
    color: var(--color-non);
}

.contact-block.middle .container {
    border: none;
}

.contact-block.middle .container .button.white {
    border: 2px solid var(--color-non);
}

.contact-block.middle .container .button.tel {
    background: none;
    border: none;
    color: var(--color-non);
}

.contact-block.middle .container a.tel::before {
    filter: brightness(100);
}

/*//////////////////// CONTACT BLOCK middle C1 ////////////////////////*/

.contact-block.middle.c1 {
    background: var(--color-c1);
    color: var(--color-non);
}

/*//////////////////// CONTACT BLOCK middle C2 ////////////////////////*/

.contact-block.middle.c2 {
    background: var(--color-primary-light);
    color: var(--color-basic);
    margin: 11rem 0 0;
}

.contact-block.middle.c2 .badge::before {
    content: "";
    position: absolute;
    top: -50px;
    left: 50%;
    transform: translateX(-50%);
    background: url(../img/icon_seal.png) no-repeat center / contain;
    padding: 4rem;
}

.contact-block.middle.c2 .container .button.white {
    background: var(--color-non);
    border-color: var(--color-basic);
    color: var(--color-basic);
}

.contact-block.middle.c2 .container .button.tel {
    color: var(--color-basic);
}

.contact-block.middle.c2 .container a.tel::before {
    filter: brightness(0);
}

@media (min-width: 821px) {

    .contact-block.middle.c2 .badge::before {
        top: -40px;
    }
    .contact-block.middle.c2 {
        margin: 12rem 0 0;
    }

}

/*//////////////////// CONTACT BLOCK middle C3 ////////////////////////*/

.contact-block.middle.c3 {
    background: var(--color-c3);
}

.rel15 .contact-block.middle.c3 {
    margin: 0;
}

/*//////////////////// LIST COL2 ////////////////////////*/

ul.col2 {
    list-style: none;
    padding: 0;
    margin: 0;
}

ul.col2 > li {
    width: 100%;
}

ul.col2 > li:nth-child(2n) {
    padding: 2rem 1rem 1rem;
    border-bottom: 1px solid var(--color-pale);
}

ul.col2 > li:nth-child(2n+1) {
    padding: 2rem 1rem 1rem;
    border-bottom: 3px solid var(--color-pale);
    font-weight: 500;
}

ul.col2 li ol {
    padding: 0 1em;
}

ul.col2 li ol li {
    line-height: 2;
}

@media (min-width: 821px) {

    ul.col2 {
        display: flex;
        flex-wrap: wrap;
    }

    ul.col2 > li:nth-child(2n) {
        width: 80%;
    }

    ul.col2 > li:nth-child(2n+1) {
        width: 20%;
    }

}

ul.col2.menu {
    display: flex;
    flex-wrap: wrap;
}

ul.col2.menu > li:nth-child(2n) {
    width: 30%;
    text-align: right;
}

ul.col2.menu > li:nth-child(2n+1) {
    width: 70%;
    border-bottom: 1px solid var(--color-pale);
}

ul.col2.menu > li:nth-child(2n+1) span {
    display: block;
    font-family: var(--font-family-ja-min);
    line-height: 1.4;
    margin: 0 0 .5rem;
    font-size: 1.2rem;
    letter-spacing: .05rem;
}

/*//////////////////// LIST COL3 ////////////////////////*/

ul.col3 {
    list-style: none;
    padding: 0;
}

ul.col3 li {
    width: 100%;
    text-align: center;
    padding: 1rem 0;
}

ul.col3 li:nth-child(3n+1) {
    border-bottom: 2px solid var(--color-basic);
}

ul.col3 li:nth-child(3n+2) {
    border-bottom: 1px solid var(--color-basic);
}

ul.col3 li:nth-child(3n) {
    border-bottom: 1px solid var(--color-basic);
}

@media (min-width: 821px) {

    ul.col3 {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
        border-top: 1px solid var(--color-basic);
        border-bottom: 1px solid var(--color-basic);
        padding: 0 1rem;
        margin: 2rem 0 1rem;
    }

    ul.col3 li {
        text-align: left;
        border: none!important;
    }

    ul.col3 li:nth-child(3n+1) {
        width: 15%;
    }

    ul.col3 li:nth-child(3n+2) {
        width: 50%;
    }

    ul.col3 li:nth-child(3n) {
        width: 35%;
        text-align: right;
    }

}

/*//////////////////// DL DT DD ////////////////////////*/

dl.line dt {
    border-bottom: 1px solid var(--color-light);
    text-align: left;
}

dl.line dd h3 {
    font-family: var(--font-family-ja);
    margin: 0;
}

dl.line dd ul {
    list-style: none;
    padding: 0;
}

dl.line dd ul:first-of-type {
    margin: 0 0 1rem;
}

dl.line dd:not(footer dd) {
    line-height: 1.8;
}

@media (min-width: 821px) {

    dl.line dt {
        border: none;
    }

}

/*//////////////////// AC MENU ////////////////////////*/

.acMenu {
    box-sizing: border-box;
}

.acMenu-parent {
    display: block;
    position: relative;
    cursor: pointer;
    font-family: var(--font-family-en);
    padding: 1rem;
}

.acMenu-child {
    display: none;
    width: 100%;
    background: var(--color-non);
    color: var(--dark-color);
}

.acMenu-child li {
    list-style: none;
    background: var(--color-light)!important;
}

.active.acMenu .here:after,
.acMenu .acMenu-parent:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 17px;
    transform: translateY(-50%) rotate(0);
    transition: .2s;
    width: 12px;
    height: 12px;
    background: url(../img/icon_toggle.svg) no-repeat center center/contain;
    margin-right: .5rem;
    filter: brightness(40%);
}

.active.acMenu .here:after,
.acMenu.active .acMenu-parent:after {
    transform: translateY(-50%) rotate(90deg);
    transition: 0.2s;
}

.acMenu.active .acMenu-child {
    display: block;
}

.acMenu .acMenu-child ul {
    padding: 0;
    margin: 0;
}

@media (min-width: 821px) {

    .acMenu .acMenu-parent:after {
        display: none;
    }

}

/*//////////////////// PAGINATION news ////////////////////////*/

.pagination {
    position: relative;
    display: flex;
    justify-content: center;
    border-top: 1px solid var(--color-light);
    border-bottom: 1px solid var(--color-light);
    font-family: var(--font-family-ja-min);
    width: 100%;
    margin: 1rem 0 0;
}

.pagination .current {
    font-size: 1.8rem;
    padding: 1rem;
    margin: 0px .5rem;
    text-align: center;
    background: var(--color-basic);
    color: var(--color-non);
}

.pagination span,
.pagination a {
    font-size: 1.8rem;
    padding: 1rem;
    margin: 0px .5rem;
    width: 45px;
    text-align: center;
}

.pagination a.button {
    display: flex;
    align-items: center;
    font-family: var(--font-family-en);
    background: none;
    color: var(--color-basic);
    border: none;
    font-size: 1.6rem;
    width: auto;
    margin: 0 2rem;
}

.pagination .button.mark.arrowL,
.pagination .button.mark.arrowR {
    padding: 0;
}

.pagination .button.mark.arrowL::before {
    left: -20px;
    filter: brightness(0);
}

.pagination .button.mark.arrowR::after {
    right: -20px;
    filter: brightness(0);
}

/*//////////////////// MOTION ////////////////////////*/

.grid-wrap > * {
    opacity: 0;
}

.fadeUp {
    animation-name:fadeUpAnime;
    animation-duration:0.5s;
    animation-fill-mode:forwards;
    opacity: 0;
}

@keyframes fadeUpAnime{

    from {
        opacity: 0;
        transform: translateY(30px);
  }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

/*//////////////////// G2 ////////////////////////*/

.g2 li {
    border-top: 1px solid var(--color-basic);
}

.g2 li:last-child {
    border-bottom: 1px solid var(--color-basic);
}

.g2 li {
    width: 100%;
    background: none;
    padding: 1rem 0;
}

.g2 li .button {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    font-family: var(--font-family-ja);
    font-size: 1.2rem;
    width: 100%;
    height: 100%;
    background: var(--color-non);
    color: var(--color-basic);
    border: none;
}

.g2 li .button span {
    font-size: 2.4rem;
}

@media (min-width: 821px) {

    .g2 {
        max-width: 1000px;
        margin: 0 auto;
        border-top: 2px solid var(--color-basic);
        border-bottom: 2px solid var(--color-basic);
    }

    .g2 li {
        margin: 1rem 0;
        border: none;
    }

    .g2 li:last-child {
        border: none;
    }

    .g2 li:nth-child(2) {
        border-left: 1px solid var(--color-basic);
        border-right: 1px solid var(--color-basic);
    }

    .rel200 .g2 li:nth-child(2) {
        border-right: none;
    }

}

/*//////////////////// G4 ////////////////////////*/

.g4 .g4-inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 2px;
    row-gap: 2px;
}

.g4 .g4-inner .button {
    width: 100%;
    background: var(--color-non);
    color: var(--color-basic);
    border: 1px solid var(--color-light);
}

@media (min-width: 821px) {

    .g4 .container {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .g4 {
        border-bottom: 4px solid var(--color-basic);
    }

    .g4 h2 {
        padding: 0;
    }

    .g4 h2 span {
        line-height: 1;
        margin: 0;
    }

    .g4 .g4-inner {
        grid-template-columns: repeat(4, max-content);
        column-gap: 5px;
    }

    .g4 .g4-inner .button {
        border-bottom: none;
    }

    .g4 .g4-inner .button span {
        font-size: 2rem !important;
    }

    .g4 .g4-inner .button.here {
        background: var(--color-basic);
        color: var(--color-non);
    }

}

/*//////////////////// G5 ////////////////////////*/

.g5 {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

.g5 li {
    padding: 0 1rem;
    margin: 0 0 1rem;
    border-right: 1px solid var(--color-basic);
}

.g5 li .button {
    background: var(--color-non);
    color: var(--color-basic);
    border: none;
    padding: 0;
}

.g5 li:first-child {
    border-left: 1px solid var(--color-basic);
}
/*******************************************************************************
@media (min-width: 821px) {

    .g5 li {
        margin: 0 0 2rem;
    }

}
*******************************************************************************/
/*//////////////////// SWIPER ////////////////////////*/

.swiper-pagination-bullet-active {
    background: var(--color-light);
}

.swiper-button-prev,
.swiper-button-next {
    position: absolute;
    top: 50%;
    width:30px;
    height:30px;
    border-radius: 50%;
}

.swiper-button-next {
    background: var(--color-basic) url('../img/icon_arrowR.svg') no-repeat center / 20px;
    right: 25px;
}

.swiper-button-prev {
    background: var(--color-basic) url('../img/icon_arrowL.svg') no-repeat center / 20px;
    left: 25px;
}

.swiper-button-prev:after,
.swiper-button-next:after {
    display: none !important;
}

.swiper-button-prev:after,
.swiper-container-rtl .swiper-button-next:after,
.swiper-button-next:after,
.swiper-container-rtl .swiper-button-prev:after {
    content: "";
}

/*//////////////////// SWIPER basic ////////////////////////*/

.basic {
    width: 100%;
    margin: 0 auto;
}

.basic .swiper-slide {
    overflow: hidden;
    transition: .7s;
}

.basic .swiper-slide-active {
    z-index: 1;
}

.basic .slide-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 100%;
    height: 80vh;
    min-height: 500px;
    margin: auto;
    background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,0.2) 60%, rgba(0,0,0,.9)) 100%;
}

.basic .slide-wrap .button {
    background: none;
    border: 1px solid var(--color-non);
    font-family: var(--font-family-en);
}

@media (min-width: 821px) {

    .basic {
        display: block;
        position: relative;
    }

    .basic .slide-wrap {
        align-items: end;
        height: calc(100vh - 60px);
        min-height: 600px;
    }

    .basic .slide-wrap .logo-swiper img {
        width: 300px;
    }

}

/*//////////////////// SWIPER tres ////////////////////////*/

.tres .slide-wrap {
    height: 400px;
    margin: 2rem 0 0;
}

@media (min-width: 821px) {

    .tres .slide-wrap {
        height: 640px;
    }

}

/*//////////////////// SWIPER modal ////////////////////////*/

.modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    padding: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.3s;
    pointer-events: none;
    opacity: 0;
    z-index: 100;
    background-color: rgba(0, 0, 0, 0.9);
}

.modal.is-active {
    opacity: 1;
    pointer-events: auto;
}

.modal-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.modal-contents {
    position: relative;
    width: 100%;
    max-width: 800px;
}

.modal-contents .slide-inner {
    color: var(--color-non);
    padding: 0 3rem;
}

.modal-contents .slide-inner .button {
    font-size: 1.3rem;
    padding: 1rem 3rem;
    line-height: 1;
    background: none;
    border-color: var(--color-non);
}

.modal-close {
    position: absolute;
    right: 0;
    top: 0;
    width: 40px;
    height: 40px;
    z-index: 2;
    background: var(--color-non);
    border: none;
    cursor: pointer;
    padding: 0;
}

.modal-contents .swiper-button-prev {
    left: 0;
}

.modal-contents .swiper-button-next {
    right: 0;
}

.modal-item {
    cursor: pointer;
}

@media (min-width: 821px) {

    .modal-contents .swiper-button-prev {
        left: 25px;
    }

    .modal-contents .swiper-button-next {
        right: 25px;
    }

}

/*//////////////////// SWIPER loop ////////////////////////*/

[class*=swiper]:focus {
    outline: none;
}

.loop {
    overflow: hidden;
}

.loop .swiper {
    overflow: visible;
    padding: 0 3.2rem;
}

.loop .loop-inner {
    position: relative;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    max-width: 1200px;
    margin: 0 auto;
}

.loop .loop-inner .button {
    margin: 4rem 0 0;
}

.loop .contents-text {
    padding: 1rem .5rem;
}

.loop h3 span{
    display: block;
    font-family: var(--font-family-ja);
}

.loop .intro-text {
    line-height: 1.6;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    height: 3.2em;
    margin-top: 1.6rem;
}

.loop .swiper-slide:not(.swiper-slide-visible) .slide-wrap {
    pointer-events: none;
    opacity: 0.3;
}

.loop .slide-wrap {
    overflow: hidden;
    -webkit-box-shadow: var(--box-shadow);
    box-shadow: var(--box-shadow);
    -webkit-transition: var(--transition), opacity 1s;
    transition: var(--transition), opacity 1s;
}

.loop .contents-img {
    position: relative;
    overflow: hidden;
    padding-top: 100%;
}

.loop .contents-img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    height: calc(100% + 16px);
    -webkit-transform: translateY(-16px);
    transform: translateY(-16px);
}

@media (min-width: 821px) {

    .loop .loop-inner {
        padding: 2rem 10rem;
        margin: 0 auto 6rem;
    }

}

@media (min-width: 1024px) {

    .loop .swiper {
        padding: initial;
    }

}

@media (min-width: 1025px) {

    .loop .slide-wrap img {
        -webkit-transition: var(--transition);
        transition: var(--transition);
    }

    .loop .slide-wrap:hover {
        -webkit-transform: translateY(-16px);
        transform: translateY(-16px);
        -webkit-box-shadow: var(--box-shadow-hover);
        box-shadow: var(--box-shadow-hover);
    }

    .loop .slide-wrap:hover img {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }

}

/*//////////////////// SWIPER half ////////////////////////*/

.half .swiper {
    position: initial;
}

.half .contents-text .cursive {
    font-size: 6rem;
    color: var(--color-light);
    margin: 4rem 0 1rem;
}

section.half .contents-text.halflink {
    text-align: center;
    margin: 2rem 0 10rem;
}

@media (min-width: 821px) {

    .half .swiper {
        padding: 2rem 0;
        margin: 0 4rem;
    }

    .half .contents-wrap > .contents-img {
        flex: initial;
        width: 70%;
    }
    
    .half .contents-wrap > .contents-text {
        flex: initial;
        width: 30%;
    }

    .half .contents-text .contents-inner {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    section.half .contents-text.halflink {
        margin: 0;
    }

}

/*//////////////////// SWIPER copy-wrap ////////////////////////*/

.swiper-slide {
    position: relative;
}

.copy-wrap {
    position: absolute;
    bottom: 20px;
    left: 0;
    text-align: center;
    z-index: 3;
    width: calc(100% - 50px);
}

.main-copy {
    font-family: var(--font-family-ja-min);
    font-weight: 500;
    font-size: 1.4rem;
    color: var(--color-non);
    top: 10px;
    line-height: 1.5;
    padding: 2rem 0 1rem;
}

.main-copy span {
    display: block;
    font-family: var(--font-family-en);
    font-size: 4rem;
    font-weight: 300;
    letter-spacing: .1rem;
    line-height: .8;
    text-align: center;
    padding: 1rem 0;
}

@media (min-width: 821px) {

    .copy-wrap {
        width: 100%;
    }

    .main-copy {
        font-size: 1.6rem;
    }

    .main-copy span {
        font-size: 4.5rem;
        padding: .5rem 0;
    }

    .copy-wrap {
        bottom: 50px;
    }

}

/*//////////////////// SWIPER copy-wrap-inner////////////////////////*/

.copy-wrap-inner {
    color: #fff;
    display: flex;
    flex-direction: column;
    padding: 0 1rem;
    width: 100%;
    margin: 50vh 0 0 0;
    justify-content: center;
    align-items: center;
    background: rgba(255,255,255, 0.1);
    background: linear-gradient(0deg, rgba(0,251,255,0.5) 0%, rgba(0,212,255,0) 100%);
    background-size: 200% 200%;
    animation: gradationAnim 5s ease infinite;
    box-shadow: rgba(0, 0, 0, 0.1) 0px -5px 10px
}

@keyframes gradationAnim {
    0% { background-position: 50% 100% }
    50% { background-position: 50% 0% }
    100% { background-position: 50% 100% }
}

@media (min-width:600px) {

    .copy-wrap-inner {
        display: flex;
        flex-direction: column;
        padding: 0 2rem;
        height: 90vh;
        width: 50%;
        margin: 0 0 0 50%;
        justify-content: center;
        align-items: center;
        box-shadow: rgba(0, 0, 0, 0.1) -5px 0px 10px
    }

}

/*//////////////////// SWIPER rel1 ////////////////////////*/

.slide_00 {
    background: url(https://www.hilltopthesquare.com/gP4MT6Ua6ySiAa9STEzB/wp-content/themes/twentytwentythree-child/content/images/slider/00s.jpg) no-repeat center/cover;
}

.slide_01 {
    background: url(../img/slider/01s.jpg) no-repeat center/cover;
}

.slide_02 {
    background: url(../img/slider/02s.jpg) no-repeat center/cover;
}

.slide_03 {
    background: url(../img/slider/03s.jpg) no-repeat center/cover;
}

.slide_04 {
    background: url(../img/slider/04s.jpg) no-repeat center/cover;
}

.slide_05 {
    background: url(../img/slider/05s.jpg) no-repeat center/cover;
}

.slide_06 {
    background: url(../img/slider/06s.jpg) no-repeat center/cover;
}

.slide_07 {
    background: url(../img/slider/07s.jpg) no-repeat center/cover;
}

.slide_08 {
    background: url(https://www.hilltopthesquare.com/gP4MT6Ua6ySiAa9STEzB/wp-content/themes/twentytwentythree-child/content/images/slider/08s.jpg) no-repeat center/cover;
}

@media (min-width: 821px) {

    .slide_00 {
        background: url(https://www.hilltopthesquare.com/gP4MT6Ua6ySiAa9STEzB/wp-content/themes/twentytwentythree-child/content/images/slider/00.jpg) no-repeat center/cover;
    }

    .slide_01 {
        background: url(../img/slider/01.jpg) no-repeat center/cover;
    }

    .slide_02 {
        background: url(../img/slider/02.jpg) no-repeat center/cover;
    }

    .slide_03 {
        background: url(../img/slider/03.jpg) no-repeat center/cover;
    }

    .slide_04 {
        background: url(../img/slider/04.jpg) no-repeat center/cover;
    }

    .slide_05 {
        background: url(../img/slider/05.jpg) no-repeat center/cover;
    }

    .slide_06 {
        background: url(../img/slider/06.jpg) no-repeat center/cover;
    }

    .slide_07 {
        background: url(../img/slider/07.jpg) no-repeat center/cover;
    }

    .slide_08 {
        background: url(https://www.hilltopthesquare.com/gP4MT6Ua6ySiAa9STEzB/wp-content/themes/twentytwentythree-child/content/images/slider/08.jpg) no-repeat center/cover;
    }

}

/*//////////////////// SWIPER rel15 ////////////////////////*/

.rel15 .slide_01 {
    background: url(../img/party-meeting/slider/01s.jpg) no-repeat center/cover;
}

.rel15 .slide_02 {
    background: url(../img/party-meeting/slider/02s.jpg) no-repeat center/cover;
}

@media (min-width: 821px) {

    .rel15 .slide_01 {
        background: url(../img/party-meeting/slider/01.jpg) no-repeat center/cover;
    }

    .rel15 .slide_02 {
        background: url(../img/party-meeting/slider/02.jpg) no-repeat center/cover;
    }

}

/*//////////////////// SWIPER rel160 ////////////////////////*/

.rel160 .slide_01 {
    background: url(../img/shop-restaurant/bloomys/slider/01s.jpg) no-repeat center/cover;
}

.rel160 .slide_02 {
    background: url(../img/shop-restaurant/bloomys/slider/02s.jpg) no-repeat center/cover;
}

@media (min-width: 821px) {

    .rel160 .slide_01 {
        background: url(../img/shop-restaurant/bloomys/slider/01.jpg) no-repeat center/cover;
    }

    .rel160 .slide_02 {
        background: url(../img/shop-restaurant/bloomys/slider/02.jpg) no-repeat center/cover;
    }

}

/*//////////////////// SWIPER rel161 ////////////////////////*/

.rel161 .slide_01 {
    background: url(../img/shop-restaurant/cafebloomys/slider/01s.jpg) no-repeat center/cover;
}

.rel161 .slide_02 {
    background: url(https://www.hilltopthesquare.com/gP4MT6Ua6ySiAa9STEzB/wp-content/themes/twentytwentythree-child/content/images/shop-restaurant/cafebloomys/slider/02s.jpg) no-repeat center/cover;
}

@media (min-width: 821px) {

    .rel161 .slide_01 {
        background: url(../img/shop-restaurant/cafebloomys/slider/01.jpg) no-repeat center/cover;
    }

    .rel161 .slide_02 {
        background: url(https://www.hilltopthesquare.com/gP4MT6Ua6ySiAa9STEzB/wp-content/themes/twentytwentythree-child/content/images/shop-restaurant/cafebloomys/slider/02.jpg) no-repeat center/cover;
    }

}

/*//////////////////// SWIPER rel162 ////////////////////////*/

.rel162 .slide_01 {
    background: url(../img/shop-restaurant/nail/slider/01s.jpg) no-repeat center/cover;
}

.rel162 .slide_02 {
    background: url(https://www.hilltopthesquare.com/gP4MT6Ua6ySiAa9STEzB/wp-content/themes/twentytwentythree-child/content/images/shop-restaurant/nail/slider/02s.jpg) no-repeat center/cover;
}

@media (min-width: 821px) {

    .rel162 .slide_01 {
        background: url(../img/shop-restaurant/nail/slider/01.jpg) no-repeat center/cover;
    }

    .rel162 .slide_02 {
        background: url(https://www.hilltopthesquare.com/gP4MT6Ua6ySiAa9STEzB/wp-content/themes/twentytwentythree-child/content/images/shop-restaurant/nail/slider/02.jpg) no-repeat center/cover;
    }

}

/*//////////////////// SWIPER rel163 ////////////////////////*/

.rel163 .slide_01 {
    background: url(../img/shop-restaurant/eyelash/slider/01s.jpg) no-repeat center/cover;
}

.rel163 .slide_02 {
    background: url(https://www.hilltopthesquare.com/gP4MT6Ua6ySiAa9STEzB/wp-content/themes/twentytwentythree-child/content/images/shop-restaurant/eyelash/slider/02s.jpg) no-repeat center/cover;
}

@media (min-width: 821px) {

    .rel163 .slide_01 {
        background: url(../img/shop-restaurant/eyelash/slider/01.jpg) no-repeat center/cover;
    }

    .rel163 .slide_02 {
        background: url(https://www.hilltopthesquare.com/gP4MT6Ua6ySiAa9STEzB/wp-content/themes/twentytwentythree-child/content/images/shop-restaurant/eyelash/slider/02.jpg) no-repeat center/cover;
    }

}

/*//////////////////// SWIPER rel164 ////////////////////////*/

.rel164 .slide_01 {
    background: url(../img/shop-restaurant/beautysalon/slider/01s.jpg) no-repeat center/cover;
}

.rel164 .slide_02 {
    background: url(../img/shop-restaurant/beautysalon/slider/02s.jpg) no-repeat center/cover;
}

@media (min-width: 821px) {

    .rel164 .slide_01 {
        background: url(../img/shop-restaurant/beautysalon/slider/01.jpg) no-repeat center/cover;
    }

    .rel164 .slide_02 {
        background: url(../img/shop-restaurant/beautysalon/slider/02.jpg) no-repeat center/cover;
    }

}

/*//////////////////// SWIPER rel165 ////////////////////////*/

.rel165 .slide_01 {
    background: url(../img/shop-restaurant/dress-shop/slider/01s.jpg) no-repeat center/cover;
}

.rel165 .slide_02 {
    background: url(https://www.hilltopthesquare.com/gP4MT6Ua6ySiAa9STEzB/wp-content/themes/twentytwentythree-child/content/images/shop-restaurant/dress-shop/slider/02s.jpg) no-repeat center/cover;
}

@media (min-width: 821px) {

    .rel165 .slide_01 {
        background: url(../img/shop-restaurant/dress-shop/slider/01.jpg) no-repeat center/cover;
    }

    .rel165 .slide_02 {
        background: url(https://www.hilltopthesquare.com/gP4MT6Ua6ySiAa9STEzB/wp-content/themes/twentytwentythree-child/content/images/shop-restaurant/dress-shop/slider/02.jpg) no-repeat center/cover;
    }

}

/*//////////////////// SWIPER rel166 ////////////////////////*/

.rel166 .slide_01 {
    background: url(../img/shop-restaurant/photostudio/slider/01s.jpg) no-repeat center/cover;
}

.rel166 .slide_02 {
    background: url(https://www.hilltopthesquare.com/gP4MT6Ua6ySiAa9STEzB/wp-content/themes/twentytwentythree-child/content/images/shop-restaurant/photostudio/slider/02s.jpg) no-repeat center/cover;
}

@media (min-width: 821px) {

    .rel166 .slide_01 {
        background: url(../img/shop-restaurant/photostudio/slider/01.jpg) no-repeat center/cover;
    }

    .rel166 .slide_02 {
        background: url(https://www.hilltopthesquare.com/gP4MT6Ua6ySiAa9STEzB/wp-content/themes/twentytwentythree-child/content/images/shop-restaurant/photostudio/slider/02.jpg) no-repeat center/cover;
    }

}

/*//////////////////// SWIPER rel167 ////////////////////////*/

.rel167 .slide_01 {
    background: url(../img/shop-restaurant/kids/slider/01s.jpg) no-repeat center/cover;
}

.rel167 .slide_02 {
    background: url(https://www.hilltopthesquare.com/gP4MT6Ua6ySiAa9STEzB/wp-content/themes/twentytwentythree-child/content/images/shop-restaurant/kids/slider/02s.jpg) no-repeat center/cover;
}

@media (min-width: 821px) {

    .rel167 .slide_01 {
        background: url(../img/shop-restaurant/kids/slider/01.jpg) no-repeat center/cover;
    }

    .rel167 .slide_02 {
        background: url(https://www.hilltopthesquare.com/gP4MT6Ua6ySiAa9STEzB/wp-content/themes/twentytwentythree-child/content/images/shop-restaurant/kids/slider/02.jpg) no-repeat center/cover;
    }

}

/*//////////////////// PILLAR ////////////////////////*/

.pillar {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    background: var(--color-non);
    z-index: 3;
}

.pillar-inner {
    display: flex;
    flex-direction: column;
    justify-content: end;
    align-items: center;
    height: 80svh;
    min-height: 500px;
}

.pillar-inner .button {
    position: relative;
    font-family: var(--font-family-en);
    background: none;
    border: none;
    color: var(--color-basic);
    padding: 1rem;
    margin: 6rem 0;
    writing-mode: vertical-rl;
    text-orientation: mixed;
}

.pillar-inner .button::after {
    content: '';
    position: absolute;
    bottom: -30px;
    left: 22px;
    display: block;
    height: 30px;
    border-right: 1px solid var(--color-basic);
}

@media (min-width: 821px) {

    .pillar-inner {
        height: 100%;
    }

    .pillar-inner .button {
        margin: 6rem 1rem;
    }

}

/*//////////////////// HEADING ////////////////////////*/

.heading .logo img {
    width: 300px;
    margin: 0 0 1rem;
}

.heading h1 {
    font-size: 1.5rem;
    line-height: 1.6;
    padding: 1rem 0 0;
    margin: 0 0 2rem;
}

.heading h2 {
    font-size: 1.4rem;
    padding: 1rem 0 0;
    margin: 0 0 2rem;
}

.heading .cormorant {
    font-size: clamp(3rem, 3vw, 4rem);
}

.heading .contents-inner:not(.button .contents-inner) {
    padding: 0 0 2rem;
}

@media (min-width: 821px) {

    .heading .contents-inner:not(.button .contents-inner) {
        padding: 2rem 4rem;
    }

}

.article .heading .contents-wrap > .contents-img,
.rel160 .heading .contents-wrap > .contents-box,
.rel161 .heading .contents-wrap > .contents-box,
.rel162 .heading .contents-wrap > .contents-box,
.rel163 .heading .contents-wrap > .contents-box,
.rel164 .heading .contents-wrap > .contents-box,
.rel165 .heading .contents-wrap > .contents-box,
.rel166 .heading .contents-wrap > .contents-box,
.rel167 .heading .contents-wrap > .contents-box,
.rel201 .heading .contents-wrap > .contents-box,
.rel202 .heading .contents-wrap > .contents-box {
    display: flex;
    justify-content: center;
    flex: initial;
    text-align: center;
}

@media (min-width: 821px) {

    .article .heading .contents-wrap > .contents-img,
    .rel160 .heading .contents-wrap > .contents-box,
    .rel161 .heading .contents-wrap > .contents-box,
    .rel162 .heading .contents-wrap > .contents-box,
    .rel163 .heading .contents-wrap > .contents-box,
    .rel164 .heading .contents-wrap > .contents-box,
    .rel165 .heading .contents-wrap > .contents-box,
    .rel166 .heading .contents-wrap > .contents-box,
    .rel167 .heading .contents-wrap > .contents-box,
    .rel201 .heading .contents-wrap > .contents-box,
    .rel202 .heading .contents-wrap > .contents-box {
        text-align: left;
    }

}

/*//////////////////// CONCEPT ////////////////////////*/

.concept .inner-contents {
    background: var(--color-basic);
    padding: 1rem;
}

.concept h2 {
    font-family: var(--font-family-ja-min);
    font-size: 2rem;
    padding: 2rem 0 0;
}

.concept .inner-contents h3 span {
    font-size: 2.4rem;
    color: var(--color-non);
    text-align: center;
}

.concept .caption span {
    display: block;
    font-family: var(--font-family-en);
    font-size: 2.4rem;
    text-align: center;
    margin: 2rem 0 1rem;
    line-height: 1;
    letter-spacing: 0.05rem;
}

.concept.obi {
    background: linear-gradient(180deg, #FFF 0%, #FFF 80%, #333 80%, #333 100%);
    width: 100%;
}

.rel200 .concept.obi {
    background: linear-gradient(180deg, #FFF 0%, #FFF 60%, #333 60%, #333 100%);
}

.rel200 .img-block .contents-img {
    background: url(../img/concept/main2s.jpg) no-repeat center/cover;
    height: 500px;
}

img.concept-logo {
    width: 280px;
    margin-bottom: 1rem;
}

@media (min-width: 821px) {

    .concept h2 {
        padding: 4rem 0 0;
    }

    .concept .caption span {
        font-size: 3.8rem;
    }

    .concept h3 span {
        font-size: 3rem;
        color: var(--color-non);
        text-align: center;
        padding: 2rem 0 0;
    }

    .rel200 .img-block .contents-img {
        background: url(../img/concept/main2.jpg) no-repeat center/cover;
        height: 700px;
    }

    img.concept-logo {
        width: 340px;
        margin-bottom: 2rem;
    }

}

@media (min-width: 1480px) {

    .rel200 .img-block .contents-img {
        background: url(../img/concept/main2.jpg) no-repeat center/cover;
        height: 800px;
    }

}

/*//////////////////// WEDDING PLAN ////////////////////////*/

.wedding-plan h2 {
    line-height: 3;
}

.wedding-plan h2 span {
    font-size: 5rem;
    margin: 0;
    line-height: .7;
}

.wedding-plan .grid-wrap a:not(:nth-child(2)) {
    margin: 8rem 0;
}

.wedding-plan .contents-img::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 10px solid rgba(255, 255, 255, .5);
}

@media (min-width: 821px) {

    .wedding-plan h2 span {
        font-size: 10rem;
    }

}

/*//////////////////// CAMPAIGN ////////////////////////*/

.campaign {
    position: relative;
}

.campaign .grid-wrap {
    column-gap: 0;
    row-gap: 0;
}

.campaign .contents-img {
    margin: 0;
    height: 300px;
}

.campaign .contents-img.left {
    background: url(../img/home/campaign_01.jpg) no-repeat center/cover;
}

.campaign .contents-img.right {
    background: url(../img/home/campaign_02.jpg) no-repeat center/cover;
}

.campaign .contents-text {
    position: absolute;
    bottom: -150px;
    left: 50%;
    transform: translate(-50%, 10%);
    width: 90%;
    max-width: 700px;
    background-color: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    text-align: center;
    padding: 1.5rem 1.5rem 3rem;
    z-index: 1;
}

.campaign .contents-text h2 {
    color: var(--color-basic);
    padding: 0;
}

.campaign .contents-text h2 span {
    display: inline-block;
    font-size: 3.2rem;
    font-weight: 300;
}

.campaign .contents-text p {
    font-size: 1.4rem;
    line-height: 1.4;
    color: var(--color-basic);
}

.campaign .contents-text p span {
    display: block;
    font-family: var(--font-family-en);
    font-size: 2.8rem;
    line-height: 1.4;
}

.campaign .contents-text .button {
    font-family: var(--font-family-en);
}

.campaign .contents-text h2 .cursive {
    font-size: 7rem;
    font-weight: 400;
    margin-right: 1rem;
}

@media (min-width: 821px) {

    .campaign .contents-text {
        bottom: -70px;
        width: 100%;
    }

    .campaign .contents-img {
        height: 500px;
    }

}

/*//////////////////// TITLE ////////////////////////*/

.title.line:before,
.title.line:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background: var(--color-light);
}

.title.line:before {
    margin-right: 1rem;
}

.title.line:after {
    margin-left: 1rem;
}

.title h1,
.title h2 {
    position: relative;
    font-family: var(--font-family-ja-min);
    font-size: 1.8rem;
    text-align: center;
    padding: 2rem 0 0;
}

.title h1 span,
.title h2 span {
    font-size: 4rem;
    margin: 0;
}

@media (min-width: 821px) {

    .title h1 span,
    .title h2 span {
        font-size: 6rem;
    }

}

.title h1 span:before,
.title h2 span:before {
    position: absolute;
    top: 0;
    right: 0;
    font-family: var(--font-family-en-cursive);
    font-size: 3.6rem;
    color: var(--color-light);
    content: 'Wedding';
}

.rel2 .title h1 span:before,
.rel3 .title h1 span:before,
.rel5 .title h1 span:before {
    content: 'Information';
}

.rel4 .title h1 span:before,
.rel8 .title h1 span:before,
.rel15 .title h1 span:before {
    top: 7px;
    content: 'Party Meeting';
}

.rel16 .title h1 span:before {
    content: 'Shop & Restaurant';
}

.rel17 .title h1 span:before,
.rel160 .title h1 span:before {
    content: 'Restaurant';
}

/*//////////////////// IMG-BLOCK ////////////////////////*/

.img-block {
    background: linear-gradient(180deg, #fff 0, #fff 30%, var(--color-pale) 30%, var(--color-pale) 100%);
    text-align: center;
}

.img-block .contents-box {
    background: var(--color-non);
    overflow: hidden;
    -webkit-box-shadow: var(--box-shadow);
    box-shadow: var(--box-shadow);
    -webkit-transition: var(--transition), opacity 1s;
    transition: var(--transition), opacity 1s;
    padding: 0 0 4rem;
    max-width: 1000px;
    margin: 0 auto;
}

.img-block .contents-box a span {
    display: block;
    border-bottom: 1px solid var(--color-basic);
    font-family: var(--font-family-en);
    font-size: 2.4rem;
    margin: 2rem 2rem 1rem;
}

.img-block .contents-box .date {
    display: inline-block;
    font-family: var(--font-family-en);
    font-size: 1.8rem;
    background: var(--color-basic);
    color: var(--color-non);
    padding: 0.5rem 2rem;
}

.img-block.bg {
    padding: 0 0 8rem;
    margin: 0 0 4rem;
}

@media (min-width: 821px) {

    .img-block .contents-box {
        padding: 0 4rem 4rem;
    }

    .img-block .contents-box a {
        width: calc(100% / 3);
    }

    .img-block .contents-box .contents-wrap {
        justify-content: space-between;
    }

    .rel212 .img-block .contents-box a {
        width: calc(100% / 2);
        text-align: center;
    }

}

/*//////////////////// INTERNAL-LINK ////////////////////////*/

.internal-link .grid-wrap {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 10px;
}

.internal-link .contents-box {
    border: 1px solid var(--color-light);
}

.internal-link .contents-box a {
    display: block;
    height: 100%;
}

.internal-link .contents-box .contents-wrap {
    display: flex;
    align-items: center;
    height: 100%;
}

.internal-link .contents-box .contents-wrap .contents-img {
    flex: 1;
    padding: 6rem 0;
}

.internal-link .contents-box .contents-wrap .contents-text {
    flex: 1.5;
}

.internal-link .contents-box .contents-wrap .contents-text h3 {
    font-family: var(--font-family-en);
    font-size: 2rem;
    line-height: 1.2;
    margin: 0 0 1rem;
}

.internal-link .contents-box .contents-wrap .contents-text h3 span {
    font-size: 1.4rem;
}

.internal-link .contents-box .contents-wrap .contents-text p {
    font-family: var(--font-family-ja-min);
    line-height: 1.4;
    margin: 0;
}

@media (min-width: 821px) {

    .internal-link .grid-wrap {
        grid-template-columns: repeat(3, 1fr);
        column-gap: 20px;
    }

    .internal-link .contents-box .contents-wrap .contents-text {
        padding: 0;
    }

}

/*//////////////////// BOTTOM-BLOCK ////////////////////////*/

.bottom-block {
    position: relative;
    background: var(--color-basic);
    margin-top: 10rem;
}

/* .bottom-block::before, */
.bottom-block .is-text {
    top: -4rem;
    right: 0;
    font-size: 4rem;
}

/* .rel8 .bottom-block::before,
.rel15 .bottom-block::before {
    content: "Party & Meeting";
}

.rel16 .bottom-block::before {
    content: "Shop & Restaurant";
}

.rel160 .bottom-block::before {
    content: "Restaurant";
}

.rel161 .bottom-block::before {
    content: "Cafe";
}

.rel162 .bottom-block::before {
    content: "Nail";
}

.rel163 .bottom-block::before {
    content: "Eyelash";
}

.rel164 .bottom-block::before {
    content: "Beauty";
}

.rel165 .bottom-block::before {
    content: "Dress shop";
}

.rel166 .bottom-block::before {
    content: "Photo studio";
}

.rel167 .bottom-block::before {
    content: "Kids park";
} */

@media (min-width: 600px) and (max-width: 820px) {

    /* .bottom-block::before, */
    .bottom-block .is-text {
        top: -6rem;
        font-size: 6rem;
    }

}

@media (min-width: 821px) and (max-width: 980px) {

    /* .bottom-block::before, */
    .bottom-block .is-text {
        top: -8rem;
        font-size: 8rem;
    }

}

@media (min-width: 981px) {

    .bottom-block {
        margin-top: 20rem;
    }

    /* .bottom-block::before, */
    .bottom-block .is-text {
        top: -10rem;
        font-size: 10rem;
    }

}

/*//////////////////// rel8 PARTY-PLAN-DETAIL ////////////////////////*/

.rel8 .party-plan-detail .contents-img img {
    margin: 0 0 1rem;
}

.rel8 .information .date {
    width: 70px;
    height: 60px;
}

.rel8 .party-plan-detail .button {
    padding: 1rem;
    font-size: 1.3rem;
}

.rel8 .party-plan-detail .button span {
    display: inline;
    margin: 0 .5rem 0 0;
}

@media (min-width: 821px) {

    .rel8 .heading .contents-wrap > .contents-text {
        flex: 2;
    }

    .rel8 .party-plan-detail .contents-wrap > .contents-text {
        flex: 1.5;
    }

    .rel8 .party-plan-detail .contents-wrap > .contents-text > .contents-inner {
        padding: 0 0 0 10%!important;
    }

}
/*******************************************************************************
.rel8 .other-plan .contents-wrap {
    position: relative;
    border: 1px solid var(--color-basic);
}

.rel8 .other-plan .contents-wrap .button {
    position: absolute;
    bottom: 0;
    right: 0;
}

.rel8 .other-plan .contents-text {
    padding: 2rem;
}

@media (min-width: 821px) {

    .rel8 .other-plan .contents-text {
        padding: 0 4%;
    }

}
********************************************************************************/
/*//////////////////// TIME-TABLE ////////////////////////*/

.time-table {
    margin: 0 0 2rem;
}

.time-table h2:not(.contact-block h2) {
    padding: 0;
}

.time-table p {
    margin: 1rem auto 0;
}

.time-table ul.col2 {
    max-width: 600px;
    margin: 1rem auto;
}

.time-table ul.col2 li {
    width: 100%;
    padding: 1rem;
    border-bottom: 1px solid var(--color-basic);
}

.time-table ul.col2 > li:first-child {
    border-top: 1px solid var(--color-basic);
}

.time-table ul.col2 > li:nth-child(2n) {
    padding: 1rem;
}

.time-table ul.col2 > li:nth-child(2n+1) {
    border-bottom: none;
    text-align: center;
    padding: 1rem;
}

.time-table ul.col2 > li:nth-child(2n+1) span {
    font-family: var(--font-family-en);
    font-size: 2rem;
    line-height: 1;
}

@media (min-width: 821px) {

    .time-table ul.col2 li {
        text-align: left;
        padding: 1rem;
    }

    .time-table ul.col2 > li:nth-child(2n) {
        width: 70%;
    }

    .time-table ul.col2 > li:nth-child(2n+1) {
        width: 30%;
        text-align: left;
        border-bottom: 1px solid var(--color-basic);
    }

    .time-table ul.col2 > li:nth-child(-n+2) {
        border-top: 1px solid var(--color-basic);
    }

    .time-table ul.col2 > li:nth-child(2n+1) span {
        font-size: 1.8rem;
    }

}

.menu .time-table ul.col2 {
    display: flex;
    max-width: 100%;
    border-top: 1px solid var(--color-non);
    border-bottom: 1px solid var(--color-non);
    margin: 2rem 0;
}

.menu .time-table ul.col2 > li:nth-child(2n) {
    width: 70%;
}

.menu .time-table ul.col2 > li:nth-child(2n+1) {
    width: 30%;
    text-align: left;
}



.contact-block .time-table ul.col2 > li:nth-child(2n+1) {
    padding: 1rem 0 0;
}

.contact-block .time-table ul.col2 li:nth-child(2n) {
    padding: 0 0 1rem;
}

@media (min-width: 821px) {

    .contact-block .time-table ul.col2 > li:nth-child(2n+1),
    .contact-block .time-table ul.col2 li:nth-child(2n) {
        padding: 1rem;
    }
/************************************************************************************************
    .contact-block .time-table ul.col2 > li:nth-child(2n) {
        width: 60%;
    }

    .contact-block .time-table ul.col2 > li:nth-child(2n+1) {
        width: 40%;
    }
************************************************************************************************/
}

/*//////////////////// PRIVACY POLICY ////////////////////////*/

.document .container h2 {
    margin: 4rem 0 0;
}

.document .container h3 {
    font-size: 1.6rem;
    padding: 0;
    margin: .5rem 0;
}

.document .container p,
.document .container ol li {
    line-height: 1.6;
}

.document .container>ol>li>span {
    font-family: var(--font-family-ja-min);
    font-size: 1.8rem;
    font-weight: 300;
}

.document .container ol {
    padding: 0 0 0 1em;
    margin: 0 0 2rem;
}

.document .container dl.purpose {
    counter-reset: num 0;
}

.document .container dl.purpose dt:not(:first-child)::before {
    counter-increment: num 1;
    content: '('counter(num)')';
    margin: 0 0.5rem 0 0;
}

.document .container dl.purpose dt:nth-child(4n+1),
.document .container dl.purpose dd:nth-child(4n+2) {
    margin: 0;
    border-bottom: 1px solid var(--color-light);
    padding: 1.6rem;
}

.document .container dl.purpose dt:nth-child(4n+3),
.document .container dl.purpose dd:nth-child(4n+4) {
    margin: 0;
    border-bottom: 1px solid var(--color-light);
    padding: 1.6rem;
}

.document .container dl.purpose dt:first-of-type {
    background: #b4bbbf;
    color: var(--color-non);
    margin: 0;
}

.document .container dl.purpose dt:not(:first-of-type):nth-child(4n+1),
.document .container dl.purpose dt:nth-child(4n+3) {
    background: #f7fafb;
    margin: 0;
}

.document .container ol {
    counter-reset: num 0;
}

.document .container ol>li {
    position: relative;
    counter-increment: num 1;
    list-style:none;
    padding-left: .5rem;
    margin: 0 0 1rem;
}

.document .container>ol>li::before {
    content: counter(num)'.';
    font-family: var(--font-family-ja-min);
}

.document .container ol li::before {
    position: absolute;
    left: -2rem;
}

.document .container ol.document-list li::before {
    position: absolute;
    left: -1.5rem;
}

.document .container>ol>li>ol>li::before {
    content: counter(num)')';
}

.document .container>ol>li>ol>li>ol>li::before {
    content: '('counter(num)')';
}

.document .container>ol>li>ol>li>ol>li>ol>li::before {
    content: '['counter(num)']';
}

ul.lower-alpha {
    counter-reset: alphabet;
}

ul.lower-alpha>li {
    list-style-type: none;
    counter-increment: alphabet;
}

ul.lower-alpha>li::before {
    content: counter(alphabet, lower-alpha) ')';
}

ol.nocount {
    margin: 0;
    padding: 0;
}

.document .container ol.nocount>li::before {
    content: '';
}

.document .container>ol:not(.document-list)>li::before {
    font-size: 1.8rem;
}

@media (min-width: 821px) {

    .document .container dl.purpose dt,
    .document .container dl.purpose dd {
        width: 50%;
        border: none;
    }

    .document .container p,
    .document .container ol li {
        line-height: 2;
    }

    .document .container h2 {
        margin: 8rem 0 0;
    }

    .document .container dl.purpose dt:first-of-type,
    .document .container dl.purpose dd:first-of-type {
        background: #61676a;
        color: var(--color-non);
        margin: 0;
    }

    .document .container>ol>li>span {
        font-size: 2rem;
    }

    .document .container>ol>li>ol>li>span {
        font-size: 1.8rem;
        font-weight: 600;
    }

    .document .container>ol:not(.document-list)>li::before {
        font-size: 2rem;
    }

    .document .container>ol>li>ol>li::before {
        font-size: 1.8rem;
    }

    .document .container dl.purpose dt:nth-child(4n+3),
    .document .container dl.purpose dd:nth-child(4n+4) {
        margin: 0;
        border-bottom: 1px solid var(--color-light);
    }

}

/*//////////////////// TERM ////////////////////////*/

.rel217 .document .container>ol>li::before {
    content: none;
}

.rel217 .document .container>ol>li>span {
    position: relative;
    left: -2rem;
    bottom: 0.5rem;
}

.rel217 .document .container>ol>li>ol>li::before {
    font-size: 1.8rem;
    line-height: 1.6;
}

.rel217 .document .container>ol>li>ol>li::before {
    content: counter(num)'.';
}

.rel217 .document .container ol>li {
    padding-left: 1rem;
}

.rel217 .document .container ol {
    padding: 0;
    margin: 0 0 2rem;
}

.document .container .doucument-handling>li {
    margin-bottom: 4rem;
}

@media (min-width: 821px) {

    .rel217 .document .container ol {
        padding: 0 0 0 1rem;
    }

}

/*//////////////////// AC MENU ////////////////////////*/

.acMenu {
    padding: 6rem 0;
    margin: 0;
}

.acMenu > dt{
    position: relative;
    padding:1rem;
    margin:0;
}

.acMenu > dd{
    position: relative;
    padding:1rem;
    margin:0 0 1rem;
}

@media (min-width:600px){

    .acMenu > dt{
        width:25%;
        padding:0;
        margin:0 0 1rem;
        background:0 0;
        color: var(--color-basic);
        text-align:left;
        font-weight:600;
    }

    .acMenu > dd{
        width:75%;
        padding:0;
    }

}

.acMenu > dt{
    position: relative;
    line-height: 1.6;
    cursor: pointer;
    font-weight: 400;
    width: 100%;
    text-align: left;
    background: var(--color-non);
    color: var(--color-basic);
    border-bottom: 1px solid var(--color-pale);
}

.acMenu > dt:after{
    content:"";
    position:absolute;
    width:16px;
    height:16px;
    top:50%;
    right:20px;
    transform:translateY(-50%) rotate(0);
    transition:.2s;
    background: url(../img/icon_toggle.svg) no-repeat center center/contain;
    filter: brightness(0);
}

.acMenu > dt.selected{
    background: var(--color-c2);
    color: var(--color-non);
}

.acMenu > dt.selected:after{
    transform:translateY(-50%) rotate(90deg);
    filter: brightness(100);
    transition:.2s;
}

.acMenu > dd{
    line-height:1.6;
    display:none;
    padding:2rem;
    width:100%;
}

.acMenu > dd ul{
    display:flex;
    flex-wrap:wrap;
    list-style:none;
}

.acMenu > dd .lead {
    font-size: 1.6rem;
    color: var(--color-primary);
}

.acMenu > dt .contents-inner{
    font-family: var(--font-family-ja-min);
    font-size:1.6rem;
    line-height:1.6;
    padding:.5rem 2rem;
}

.acMenu > dd .contents-inner{
    font-family: var(--font-family-ja-min);
    font-size:1.4rem;
    line-height:1.4;
    padding:.5rem 2rem .5rem 2rem;
}

.acMenu > dd ul.col2 li:nth-child(2n){
    width:100%;
    padding:2rem 1rem 1rem;
    border-bottom:3px solid #eee;
}

.acMenu > dd ul.col2 li:nth-child(2n+1){
    width:100%;
    padding:2rem 1rem 1rem;
    border-bottom:1px solid #eee;
    font-weight:600
}


@media (min-width:600px){

    .acMenu > dd ul.col2 li:nth-child(2n+1){
        width:70%;
    }

    .acMenu > dd ul.col2 li:nth-child(2n){
        width:30%;
    }

}

/*//////////////////// FAQ ////////////////////////*/

.faq {
    background: var(--color-primary-light);
    margin: 0!important;
}

.faq .acMenu {
    padding: 0 0 6rem;
}

.faq .acMenu dt:before{
    content:"Q";
    font-family: var(--font-family-en);
    font-size:3.6rem;
    font-weight:400;
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    left:1rem;
    line-height:1;
}

.faq .acMenu dd:before{
    content:"A";
    font-family: var(--font-family-en);
    font-size:3.6rem;
    font-weight:400;
    color: var(--color-primary);
    position:absolute;
    left:1rem;
    line-height:1;
}

.faq .acMenu dt,
.faq .acMenu dd {
    padding:2rem 3rem 2rem 5rem;
    margin: 0 0 3rem;
}

.faq .acMenu dt.selected {
    margin: 0;
}

.faq .acMenu dd {
    background: var(--color-non);
}

.faq .acMenu dt .contents-inner,
.faq .acMenu dd .contents-inner {
    border-left:2px solid #c7cbcc;
    height:auto;
}

.faq h3 {
    font-size: 1.8rem;
    margin: 3rem 0 0;
}

.faq .grid-wrap {
    column-gap: 1%;
}

/*//////////////////// FLOORMAP ////////////////////////*/

.floormap dd .cormorant {
    text-align: center;
    margin: 4rem 0;
}

@media (min-width:821px){

    .floormap .contents-inner dl {
        margin-right: 4rem;
    }

    .floormap .contents-inner dt {
        position: relative;
        width: 20%;
        border-bottom: none;
        background: none;
        line-height: 1.4;
        padding: 4rem 0 0;
        margin: 0;
    }

    .floormap .contents-inner dt .cormorant {
        position: absolute;
        top: 0;
        left: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 2rem;
        background: var(--color-basic);
        color: var(--color-non);
        padding: 0.5rem 2rem;
        z-index: 2;
    }

    .floormap .contents-inner dt span {
        display: block;
        font-family: var(--font-family-en);
        font-size: 3rem;
        line-height: .8;
    }

    .floormap .contents-inner dd {
        width: 80%;
        border-bottom: none;
        font-size: 1.4rem;
        margin: 0;
    }

    .floormap .acMenu > dt {
        border-bottom: 1px solid var(--color-pale);
        margin: 0;
    }

}

/*//////////////////// STACK ////////////////////////*/

.stack .contents-text {
    position: relative;
    background: linear-gradient(180deg,rgba(255,255,255,.8) 10%,rgba(255,255,255,1)) 100%;
    border: 5px solid var(--color-basic);
    box-shadow: 0 1.2rem 2.2rem -1rem hsl(0deg 0% 20% / 20%);
    padding: 2rem;
    margin: 0 0 8rem;
}

.stack .contents-text h2{
    text-align: left;
}

.stack .contents-text .button {
    width: 100%;
    margin-bottom: 1px;
}

.stack .contents-text .button.tel {
    font-size: 1.6rem;
    letter-spacing: .1rem;
    width: 100%;
    padding: 0;
}

.stack .contents-text .button.tel > span::before {
    padding: .8rem;
    margin: 0 .8rem 0 0;
}

.main-block .contents-wrap.stack .contents-text .button {
    margin: .5rem 0;
}

@media only screen and (min-width: 821px) {

    .stack {
        padding: 0 0 10rem;
        margin: 10rem 0;
    }

    .stack .contents-img {
        top: -80px;
        overflow: hidden;
        flex: 1.2;
    }

    .stack .contents-text .button {
        width: auto;
        margin: 0;
    }

    .stack .contents-text .button.tel {
        width: auto;
        background: none;
    }

    .stack .contents-text .button.tel span {
        font-size: 1.6rem;
    }

    .stack .contents-text {
        flex: 1.2;
    }

    .even .stack:nth-child(odd) .contents-text,
    .odd .stack:nth-child(even) .contents-text {
        margin: 0 0 0 -10%;
    }

    .even .stack:nth-child(even) .contents-text,
    .odd .stack:nth-child(odd) .contents-text {
        margin: 0 -10% 0 0;
    }

    .main-block .contents-wrap.stack .contents-text .button {
        margin: 0;
    }

}

/*//////////////////// rel4 ////////////////////////*/

.rel4 .main-block {
    background: var(--color-pale);
}

/*//////////////////// rel9 ////////////////////////*/

.rel9 .title {
    margin: 4rem 0 0;
}

.rel9 .date span {
    margin: 0 0 0 0.5rem;
}

/*//////////////////// rel15 ////////////////////////*/

.rel15 .cuisine .contents-wrap:first-of-type {
    margin: 0 0 5rem;
}

@media (min-width: 821px) {

    .rel15 .cuisine .contents-wrap:first-of-type {
        margin: 0 0 10rem;
    }

}

/*//////////////////// rel16 ////////////////////////*/

.rel16 .banner:not(header .banner) {
    border-bottom: 1px solid var(--color-light);
    padding: 0 0 10rem;
}

.rel16 .banner .grid-wrap {
    grid-template-columns: repeat(1, 1fr);
}

@media (min-width: 821px) {

    .rel16 .banner .grid-wrap {
        grid-template-columns: repeat(2, 1fr);
    }

}

/*//////////////////// rel18 ////////////////////////*/

.rel18 h2 {
    padding: 2rem 0 0;
}

/*//////////////////// rel160 ////////////////////////*/

.rel160 .main-block .p1 .contents-img .cormorant {
    left: -300px;
}

.rel160 .main-block .p4 .contents-img,
.rel160 .main-block .p6 .contents-img {
    padding: 0;
}

.rel160 .main-block .contact-block dl {
    max-width: 400px;
    margin: 4rem auto 0;
}

/*//////////////////// P0 ////////////////////////*/

.p0 {
    width: 100%;
}

.p0 .contents-wrap,
.p0 .grid-wrap {
    margin: 0 auto 4rem;
}

.p0 .contents-img a {
    display: block;
    width: 100%;
    height: 100%;
}

@media (min-width: 821px) {

    .p0 .contents-wrap,
    .p0 .grid-wrap {
        max-width: 1240px;
        padding: 0 1.5rem
    }

}

.p0 {
    width: 100%;
    margin: 0 auto;
}

.p0 .grid-wrap .contents-img {
    padding-bottom: 180px;
}

.p0 .grid-wrap .contents-text {
    padding: .5rem .5rem 0;
}

.p0 h1 span {
    font-family: var(--font-family-ja);
    font-size: 1.6rem;
    line-height: 1.6;
}

.p0 h3 span {
    font-family: var(--font-family-ja);
    font-size: 1.6rem;
}

.p0 .date {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 80px;
    height: 80px;
    font-family: var(--font-family-en);
    font-size: 1.6rem;
    line-height: 1;
    background: var(--color-basic);
    color: var(--color-non);
}

.p0 .date span:first-child {
    font-size: 1.4rem;
    line-height: 1;
}

.p0 .name {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 80px;
    height: 80px;
    font-family: var(--font-family-en);
    font-size: 1.6rem;
    line-height: 1;
    background: var(--color-basic);
    color: var(--color-non);
}

.p0 .notice {
    border: 3px solid var(--color-notice);
    padding: 2rem;
}

.p0 .notice .contents-text {
    padding: 2rem 0;
}

.p0 .notice h2 {
    display: inline-block;
    padding: 0;
    margin: .5rem 0 0;
    font-size: 1.5rem;
}

.p0 .notice h3 {
    color: var(--color-notice);
    font-weight: 300;
}

.p0 .notice .button {
    background: var(--color-notice);
    border-color: var(--color-notice);
}

.p0 .notice .introtext {
    font-weight: 400;
}

.p0.recommend-plan h2 {
    margin: 6rem 0 2rem;
}

.p0 .introtext {
    font-size: 1.3rem;
    line-height: 1.6;
}

.rel15 .p0.recommend-plan {
    background: none;
    padding: 0;
    margin: 10rem 0;
}

.rel16 .p0 .contents-box {
    background: var(--color-non);
}

.rel16 .p0 .contents-box .contents-text {
    padding: .5rem 1rem;
}

.rel1 .p0,
.rel15 .p0,
.rel16 .p0,
.rel160 .p0,
.rel161 .p0,
.rel162 .p0,
.rel163 .p0,
.rel164 .p0,
.rel165 .p0,
.rel166 .p0,
.rel167 .p0 {
    background: linear-gradient(180deg, rgba(245, 245, 245, 0) 0%, rgba(245, 245, 245, .4) 50%, rgba(245, 245, 245, 1)) 100%;
    padding: 2rem 0 8rem;
}

.rel1 .p0 .introtext,
.rel15 .p0 .introtext,
.rel16 .p0 .introtext,
.rel160 .p0 .introtext,
.rel161 .p0 .introtext,
.rel162 .p0 .introtext,
.rel163 .p0 .introtext,
.rel164 .p0 .introtext,
.rel165 .p0 .introtext,
.rel166 .p0 .introtext,
.rel167 .p0 .introtext {
    line-height: 1.8;
}

.p0 .contents-text h3 {
    margin: 1rem 0;
}

.p0 .grid-wrap .contents-text h3 {
    font-family: var(--font-family-ja);
}

@media (min-width: 821px) {

    .p0 .contents-wrap.notice {
        padding: 0 4rem;
    }

    .p0 .notice .contents-text {
        flex: 3;
    }

    .p0 .contents-wrap > .contents-inner {
        padding: 4rem;
    }

    .rel16 .p0 .contents-img {
        height: 200px;
    }

}

.article.rel8 .p0.recommend-plan .container {
    padding: 0;
}

.article.rel8 .party-plan-detail .contents-img {
    display: table;
    margin: auto;
}

@media (min-width: 821px) {

    .article.rel8 .p0.recommend-plan .container {
        padding: 0 1.5rem;
    }

}

/*//////////////////// P1 ////////////////////////*/

.p1 .cormorant {
    font-size: clamp(4rem, 8vw, 9rem);
    text-align: right;
    padding: 0 1rem;
}

.p1 .cursive {
    font-size: clamp(2rem, 4vw, 8rem);
    text-align: right;
    padding: 0 1rem;
}

.p1 .contents-wrap > .contents-img {
    margin: 0;
    height: 400px;
}


@media (min-width: 821px) {

    .p1 .contents-wrap {
        justify-content: initial;
        align-items: initial;
    }

    .p1 .contents-wrap .contents-text {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .p1 .cormorant {
        position: absolute;
        top: 0;
        right: -10%;
        z-index: 1;
    }

    .p1 .cursive {
        position: absolute;
        top: 80px;
        right: -10%;
        color: var(--color-light);
        z-index: 1;
    }

    .p1 .contents-wrap > .contents-img {
        flex: 1.8;
        height: 600px;
    }

    .p1 .contents-wrap > .contents-text {
        flex: 1;
    }

}

.rel8 .p0 .category {
    font-family: var(--font-family-ja-min);
    text-align: center;
}

.rel8 .p0 .category span {
    display: block;
    line-height: 1.4;
}

/*//////////////////// P2 ////////////////////////*/

@media (min-width: 821px) {

    .p2 .contents-box {
        position: relative;
        text-align: center;
        padding: 6rem;
        max-width: 960px;
        margin: 0 auto;
    }

    .p2 .contents-box::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(0deg, rgba(255,255,255,0) 20%, rgba(255,255,255,.6) 60%, rgba(255,255,255,.9)) 100%;
        z-index: 1;
    }

    .p2 .contents-box .contents-img,
    .p2 .contents-box .contents-text {
        z-index: 2;
    }

    .rel1 .p2 h2 {
        padding: 4rem 0 2rem;
    }

}

/*//////////////////// P3 ////////////////////////*/

.p3 .cormorant {
    font-size: clamp(4rem, 8vw, 9rem);
    text-align: right;
    padding: 1rem 1rem 0;
}

.p3 .cursive {
    font-size: clamp(2rem, 4vw, 8rem);
    text-align: right;
    padding: 0 1rem;
}

.p3 .contents-wrap > .contents-img {
    margin: 0;
    height: 400px;
}

@media (min-width: 821px) {

    .p3 .contents-wrap {
        justify-content: initial;
        align-items: initial;
    }

    .p3 .contents-wrap .contents-text {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .p3 .cormorant {
        position: absolute;
        top: 0;
        right: 80%;
        white-space: nowrap;
        z-index: 1;
    }

    .p3 .cursive {
        position: absolute;
        top: 80px;
        right: 80%;
        color: var(--color-light);
        white-space: nowrap;
        z-index: 1;
    }

    .p3 .contents-wrap > .contents-img {
        flex: 1.8;
        height: 600px;
    }

    .p3 .contents-wrap > .contents-text {
        flex: 1;
    }

    .rel203 .p3 .cormorant {
        left: 50px;
    }

}

/*//////////////////// P4 ////////////////////////*/

.p4 > .cormorant {
    font-size: clamp(4rem, 10vw, 12rem);
    line-height: .8;
    color: var(--color-light);
    padding: 0 0 0 2rem;
}

.p4 > .cursive {
    font-size: clamp(2rem, 4vw, 6rem);
    line-height: 1;
    color: var(--color-light);
    padding: 0 0 10rem 2rem;
}

.p4 .contents-img {
    padding: 0 8rem 0 0;
}

.p4 .contents-text img {
    margin: 4rem 0 0;
}

.p4 h2 {
    padding: 4rem 0 1rem;
}

@media (min-width: 821px) {

    .p4 .contents-wrap > .contents-img,
    .p4 .contents-wrap > .contents-text {
        flex: initial;
    }

    .p4 .contents-text {
        padding: 0;
    }

    .p4 .contents-img {
        margin: 0;
    }
    .main-block .p4 .contents-text .contents-inner {
        max-width: 560px;
        margin: auto;
    }

}

/*//////////////////// P5 ////////////////////////*/

.p5 > .cormorant {
    font-size: clamp(4rem, 10vw, 12rem);
    line-height: .8;
    padding: 0 0 0 2rem;
    margin: 0 0 10rem;
}

.p5 .left-item .cursive {
    font-size: clamp(4rem, 16vw, 16rem);
}

.p5 .contents-img .left-item .cursive {
    position: absolute;
    bottom: -40px;
    left: 20px;
    opacity: .7;
    z-index: 1;
}

.p5 .contents-img .left-item {
    padding: 0 0 0 10rem;
}

.p5 .contents-img .right-item {
    padding: 5rem 0 0 5rem;
}

.p5 .button {
    margin: 0 0 4rem;
}

.rel200 .p5 .cormorant.lg {
    margin: 0 0 4rem;
}

@media (min-width: 821px) {

    .p5 .contents-wrap > .contents-img,
    .p5 .contents-wrap > .contents-text {
        flex: initial;
    }

    .p5 .contents-img {
        display: flex;
        justify-content: center;
        align-items: end;
        padding: 0;
    }

    .p5  .contents-img .img_02 {
        margin: 0 0 10rem 0;
    }

    .p5 .contents-wrap > .contents-img,
    .p5 .contents-wrap > .contents-text {
        flex: initial;
    }

    .p5 .contents-img .left-item,
    .p5 .contents-img .right-item {
        margin: 0;
    }

    .p5 .contents-img .left-item {
        padding: 0 2rem 0 0;
    }

    .p5 .contents-img .right-item {
        padding: 5rem 0 0 0;
    }

    .p5 .left-item .cursive {
        font-size: clamp(4rem, 10vw, 10rem);
    }

    .p5 .button {
        margin: 0;
    }

    .rel200 .p5 .cormorant.lg {
        margin: 0;
    }

    .rel205 .main-block .p5 .contents-text {
        padding: 0 5% 0 0;
    }

    .rel206 .p5 .contents-img {
        align-items: start;
    }

}

@media (min-width: 600px) and (max-width: 980px) {

    .p5 .contents-img .left-item .cursive {
        bottom: -30px;
        left: -50px;
    }

}

@media (min-width: 980px) {

    .p5 .contents-img .left-item .cursive {
        bottom: -60px;
        left: -100px;
    }

}

/*//////////////////// P6 ////////////////////////*/

.p6 > .cormorant {
    font-size: clamp(4rem, 10vw, 12rem);
    line-height: .8;
    padding: 1.5rem;
    color: var(--color-light);
    padding: 0 0 0 2rem;
}

.p6 > .cursive {
    font-size: clamp(2rem, 4vw, 6rem);
    line-height: 1;
    color: var(--color-light);
    padding: 0 0 10rem 2rem;
}

.p6 .contents-inner .cursive {
    position: absolute;
    bottom: -30px;
    right: 50px;
    opacity: .7;
    z-index: 1;
    font-size: clamp(4rem, 16vw, 16rem);
}

@media (min-width: 821px) {

    /*.p6 .contents-wrap > .contents-img,
    .p6 .contents-wrap > .contents-text {
        flex: initial;
    }
    */

    .p6 .contents-wrap > .contents-img {
        flex: 1.8;
    }

    .p6 .contents-img {
        padding: 0;
    }

    .p6 .contents-inner .cursive {
        font-size: clamp(4rem, 10vw, 12rem);
    }

}

@media (min-width: 600px) and (max-width: 980px) {

    .p6 .contents-img .cursive {
        bottom: -40px;
        right: 0;
    }

}

@media (min-width: 980px) {

    .p6 .contents-img .cursive {
        bottom: -80px;
        right: 0;
    }

}

/*//////////////////// P7 ////////////////////////*/

.p7 .left-item .cursive {
    font-size: clamp(4rem, 16vw, 16rem);
}

.p7 .contents-img .left-item .cursive {
    position: absolute;
    bottom: -50px;
    left: 50%;
    opacity: .7;
    z-index: 1;
}

.p7 .contents-img .left-item {
    padding: 0 0 0 10rem;
}

.p7 .contents-img .right-item img:first-child {
    padding: 2rem 5rem 0 0;
}

.p7 .contents-img .right-item img:last-child {
    padding: 2rem 10rem 0 0;
}

.p7 .contents-text {
    margin: 4rem 0;
}

@media (min-width: 821px) {

    .p7 .contents-wrap > .contents-img,
    .p7 .contents-wrap > .contents-text {
        flex: initial;
    }

    .p7 .contents-img {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 0;
    }

    .p7 .contents-img .img_03 {
        margin: 2rem 0 0 0;
    }

    .p7 .contents-img .left-item {
        padding: 0 2rem 0 0;
    }

    .p7 .left-item .cursive {
        font-size: clamp(4rem, 10vw, 10rem);
    }

    .p7 .contents-img .right-item img:first-child,
    .p7 .contents-img .right-item img:last-child {
        padding: 0;
    }

    .p7 .contents-text {
        margin: 0;
    }

}

@media (min-width: 600px) and (max-width: 980px) {

    .p7 .contents-img .left-item .cursive {
        bottom: 0;
        left: 0;
    }

}

@media (min-width: 980px) {

    .p7 .contents-img .left-item .cursive {
        bottom: 50px;
        left: -20%;
    }

}

/*//////////////////// P8 ////////////////////////*/

@media (min-width: 821px) {

    .p8 .contents-wrap > .contents-img {
        flex: 1;
    }

    .p8 .contents-wrap > .contents-text {
        flex: 1.5;
    }

}

/*//////////////////// P9 ////////////////////////*/

.p9 .grid-wrap {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 10px;
    column-gap: 0;
}

.p9 .contents-img {
    height: 400px;
    margin: 0;
}

.p9 .contents-box .contents-inner {
    position: relative;
    text-align: center;
    padding-top: 10rem;
    margin: 2rem 0;
}

.p9 .contents-box .cormorant span {
    font-family: var(--font-family-en);
    font-size: 1.6rem;
    line-height: 1;
}

.p9 .contents-box .cormorant::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    display: block;
    width: 1px;
    height: 80px;
    border-left: 1px solid var(--color-basic);
}

.p9 .contents-box .cursive {
    font-size: clamp(4rem, 6vw, 8rem);
    color: var(--color-light);
    margin: 2rem 0 0;
}

.p9 h2 {
    padding: 6rem 0 0;
    font-size: 1.8rem;
}

@media (min-width: 821px) {

    .p9 .grid-wrap {
        grid-template-columns: repeat(3, 1fr);
        row-gap: 0;
    }

    .p9 .contents-box {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .p9 .contents-box .cormorant {
        font-size: clamp(1rem, 2.5vw, 5rem);
    }

}

/*//////////////////// P10 ////////////////////////*/

.p10 .contents-box {
    overflow: hidden;
    -webkit-box-shadow: var(--box-shadow);
    box-shadow: var(--box-shadow);
    -webkit-transition: var(--transition), opacity 1s;
    transition: var(--transition), opacity 1s;
}

.p10 h3 {
    font-family: var(--font-family-en);
    line-height: 1.6;
    font-weight: 400;
    margin: 1rem 0;
}

.p10 {
    background: var(--color-pale);
    padding: 6rem 0;
    margin: 0;
}

.p10 .container {
    padding: 0;
}

.p10.wedding-report .container {
    padding: 0 1.5rem;
}

.p10 .contents-box {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--color-non);
    padding: 5% 15% 5% 5%;
}

.p10 .pillar {
    top: 30px;
    right: 10px;
    height: auto;
    white-space: nowrap;
    font-family: var(--font-family-en);
    font-size: 2.2rem;
    color: var(--color-basic);
    writing-mode: vertical-rl;
    text-orientation: mixed;
    letter-spacing: .1rem;
}

.p10 .contents-img {
    height: 180px;
}

.p10 .contents-img .date {
    position: absolute;
    bottom: 20px;
    right: 0;
    font-family: var(--font-family-en);
    background: var(--color-basic);
    color: var(--color-non);
    padding: 0.3rem 1rem 0.5rem 4rem;
    opacity: .8;
}

.p10 .contents-text {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 0.5rem 0 0;
}

.p10 .contents-text .contents-wrap {
    display: flex;
    justify-content: end;
    column-gap: 10px;
    margin-top: auto;
}

.p10 .contents-text .contents-wrap .button {
    font-family: var(--font-family-en);
    background: var(--color-basic);
    color: var(--color-non);
    padding: 0.3rem 1rem 0.5rem 4rem;
}

.p10 .introtext {
    font-size: 1.3rem;
    line-height: 1.8;
}

@media (min-width: 821px) {

    .p10 .contents-box:nth-child(2n),
    .p10 .contents-box:nth-child(2n+1) {
        margin: 0;
    }

    .p10 .pillar {
        top: 150px;
        right: 10px;
    }

    .p10 .contents-img {
        height: 300px;
    }

    .p10 .contents-text .contents-wrap a[href^="tel:"] {
        display: none;
    }

}

/*//////////////////// P10 shop-list ////////////////////////*/

.p10.shop-list {
    background: none;
}

.p10.shop-list .contents-box {
    position: relative;
    display: flex;
    flex-direction: column;
    border-left: 1px solid var(--color-light);
    box-shadow: inherit;
    padding: 10% 5% 0 15%;
    margin: 0 3rem;
}

.p10.shop-list .pillar {
    top: 10px;
    left: 10px;
    right: inherit;
    color: var(--color-light);
    background: none;
}

.p10.shop-list .contents-img {
    height: 360px;
}

.p10.shop-list .contents-img .more {
    position: absolute;
    bottom: 20px;
    right: 0;
    font-family: var(--font-family-en);
    background: var(--color-basic);
    color: var(--color-non);
    padding: .3rem 1rem .5rem 4rem;
}

.p10 .category .cormorant {
    font-size: 1.4rem;
}

@media (min-width: 821px) {

    .p10.shop-list .contents-box {
        margin: 0;
    }

    .p10.shop-list .contents-img {
        height: 380px;
    }

}

@media (min-width: 980px) {

    .p10 .category .cormorant {
        font-size: 1.6rem;
    }

}

/*//////////////////// P11 ////////////////////////*/

.p11 .container {
    padding: 0;
}

.p11 .grid-wrap {
    grid-template-columns: repeat(1, 1fr);
    column-gap: 30px;
    row-gap: 80px;
    margin: 0 0 6rem;
}

.p11 .contents-box {
    position: relative;
    background: var(--color-non);
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    -webkit-box-shadow: var(--box-shadow);
    box-shadow: var(--box-shadow);
    -webkit-transition: var(--transition), opacity 1s;
    transition: var(--transition), opacity 1s;
    margin: 0 1.5rem;
}

.p11 .pillar {
    top: 215px;
    right: -50px;
    height: auto;
    white-space: nowrap;
    font-family: var(--font-family-en);
    font-size: 3.6rem;
    letter-spacing: 0.2rem;
    color: var(--color-basic);
    writing-mode: vertical-rl;
    text-orientation: mixed;
    background: none;
}

.p11 .contents-img {
    height: 180px;
}

.p11 .contents-img .badge::before {
    content: "";
    position: absolute;
    top: -12px;
    right: -35px;
    background: url(../img/party-meeting/icon_seal_s.png) no-repeat center / contain;
    padding: 5rem;
}

.p11 .contents-wrap {
    display: flex;
    margin-top: auto;
}

.p11 .contents-wrap .button {
    font-family: var(--font-family-en);
    width: 50%;
    padding: 1rem 0;
    margin: 0;
}

.p11 .contents-wrap .button.pale {
    background: var(--color-pale);
    border-color: var(--color-pale);
    color: var(--color-basic);
}

.p11 h3 {
    /*font-family: var(--font-family-en);*/
    line-height: 1.6;
    font-size: 1.3rem;
    font-weight: 400;
    margin: 0 0 1rem;
}

.p11 .contents-text .tag a {
    background: #e2eaea;
}

.p11 .contents-img {
    height: 300px;
    margin: 5% 12% 0 5%;
}

.p11 .contents-img .badge::before {
    background: url(../img/party-meeting/icon_seal.png) no-repeat center / contain;
}

.p11 .contents-text {
    padding: 5%;
}

.p11 h3 {
    font-size: 1.6rem;
}

@media (min-width: 821px) {

    .p11 .grid-wrap {
        grid-template-columns: repeat(2, 1fr);
    }

    .p11 .contents-img .badge::before {
        top: -25px;
    }

}

.rel8 .p11 {
    background: var(--color-pale);
    padding: 2rem 0 6rem;
}

/*//////////////////// P12 ////////////////////////*/

.p12 h3 {
    font-size: 1.6rem;
    text-align: center;
}

.p12 .contents-wrap {
    margin: 0 0 10rem;
}

.p12 .contents-wrap > .contents-text .button {
    margin: 0 0 0 2rem;
}

@media (min-width: 821px) {

    .p12 .contents-wrap > .contents-img {
        flex: 1;
    }

    .p12 .contents-wrap > .contents-text {
        flex: 1.5;
    }

    .p12 .contents-wrap > .contents-text .contents-inner {
        max-width: 800px;
        margin: auto;
    }

}

/*//////////////////// P13 ////////////////////////*/

.p13 .contents-img {
    height: 400px;
    margin: 0;
}

@media (min-width: 821px) {

    .p13 .contents-wrap > .contents-img {
        flex: 1.5;
        height: 600px;
    }

}

/*//////////////////// P14 ////////////////////////*/

.p14 .contents-wrap > .contents-text .contents-inner .button {
    margin: 2rem 0;
}

.p14 .contents-wrap:not(first-of-type) {
    margin-top: 4rem;
}

.p14 .contents-wrap > .contents-img {
    margin: 0;
    height: 400px;
}

@media (min-width: 821px) {

    .p14 .contents-wrap:not(first-of-type) {
        margin-top: 0;
    }

    .p14 .contents-wrap > .contents-img {
        height: 600px;
    }

    .p14 .contents-wrap > .contents-text {
        padding: 0;
    }

    .p14 .contents-wrap > .contents-text .contents-inner {
        text-align: center;
    }

    .p14 .contents-wrap > .contents-text .contents-inner .button {
        width: auto;
        margin: 4rem 0 0;
    }

    .p14 .contents-wrap > .contents-text .contents-inner .grid-wrap {
        column-gap: 20px;
        max-width: 400px;
        margin: auto;
    }

    .p14 .odd .contents-wrap:nth-child(odd) .contents-text .contents-inner,
    .p14 .even .contents-wrap:nth-child(even) .contents-text .contents-inner {
        padding: 2rem;
    }

    .p14 .odd .contents-wrap:nth-child(even) .contents-text .contents-inner,
    .p14 .even .contents-wrap:nth-child(odd) .contents-text .contents-inner {
        padding: 2rem;
    }

}

.rel207 .p14 {
    margin: 0;
}

.rel207 .p14 .contents-wrap > .contents-text .contents-inner .button.thick {
    margin: 0;
}

/*//////////////////// P15 ////////////////////////*/

.p15 > .cormorant {
    font-size: clamp(4rem, 10vw, 12rem);
    line-height: .8;
    padding: 1.5rem;
    color: var(--color-light);
    padding: 0 0 0 2rem;
}

.p15 > .cursive {
    font-size: clamp(2rem, 4vw, 6rem);
    line-height: 1;
    color: var(--color-light);
    padding: 0 0 2rem 2rem;
}

.p15 .contents-img {
    height: 400px;
    margin: 0;
}

@media (min-width: 821px) {

    .p15 .contents-wrap {
        max-width: 1400px;
        margin: auto;
    }

    .p15 .contents-wrap > .contents-img {
        height: 800px;
    }

}

/*//////////////////// P16 ////////////////////////*/

.p16 .contents-wrap {
    position: relative;
    border: 1px solid var(--color-basic);
}

.p16 .contents-wrap .button {
    position: absolute;
    bottom: 0;
    right: 0;
}

.p16 .contents-text {
    padding: 2rem;
}

.p16.membership {
    max-width: 800px;
    margin: 6rem auto;
}

.p16.membership .contents-wrap {
    border: 1px solid #d4d4d4;
}

.p16.membership h2 {
    font-size: 1.8rem;
}

@media (min-width: 821px) {

    .p16 .contents-text {
        padding: 0 4%;
    }

}

/*//////////////////// BUTTON NW600 ////////////////////////*/

.button.mw600:not(.tel) {
    max-width: 600px;
}

.button-L-area {
    padding: 0 2rem 0;
    max-width: 600px;
    text-align: center;
    margin: 0 auto 0;
}
.button-L-area .button {
    padding: 1rem;
    width: 100%;
}

/*//////////////////// BUTTON THICK ////////////////////////*/

.button.thick {
    padding: .7rem 5rem;
}

.button.thick span {
    display: inline-block;
    width: auto;
    font-size: 1.4rem;
    margin: 0 .5rem 0 0;
}

/*//////////////////// BEST RATE ////////////////////////*/

@media (min-width: 821px) {

    .fair-explanation .offset .contents-wrap > .contents-box,
    .plan-explanation .offset .contents-wrap > .contents-box {
        flex: initial;
    }

}

.fair-explanation .offset {
    border: 3px solid var(--color-c2);
    padding: 2rem 4rem;
}

.plan-explanation .offset {
    border: 3px solid var(--color-basic);
    padding: 2rem 4rem;
}

/*//////////////////// ICON ////////////////////////*/

.icon.tel::before {
    margin: 0 .5rem;
}

/*//////////////////// IFRAME ////////////////////////*/

iframe {
    margin: 0 0 4rem;
}

/*//////////////////// BRIDAL-FAIR ////////////////////////*/

.rel1 .bridal-fair {
    padding: 20rem 0 0;
}

@media (min-width: 821px) {

    .rel1 .bridal-fair {
        padding: 10rem 0 0;
    }

}

/*//////////////////// COURSE MENU ////////////////////////*/

.course h3 {
    text-align: left;
    margin: 4rem 1rem 0;
}

.course h3 span {
    font-size: 2.6rem;
}

.course ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.course li {
    border-bottom: 1px solid var(--color-pale);
    padding: 2rem 1rem 1rem;
}

.course li span {
    font-family: var(--font-family-ja-min);
    line-height: 1.4;
    margin: 0 0 .5rem;
    font-size: 1.2rem;
    letter-spacing: .05rem;
}

.course ul > li span:not(.price) {
    display: block;
}

.p12.course .offset {
    max-width: 800px;
}

.p12.course .offset h3 {
    text-align: center;
}

.rel160 .head-block p .cormorant {
    font-size: 2rem;
}

body.rel161 section.p12.course {
    margin-bottom: 10rem;
}

ul.col2.menu span.ranking {
    font-family: var(--font-family-en) !important;
    font-size: 2rem !important;
    line-height: 1 !important;
    font-weight: 600;
    color: #900000;
}

/*//////////////////// SWIPER mix ////////////////////////*/

.mix {
    width: 100%;
    margin: 0 auto;
}

.mix .swiper-slide {
    overflow: hidden;
    transition: .7s;
}

.mix .swiper-slide-active {
    z-index: 1;
}

.mix .slide-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 100%;
    height: 80svh;
    min-height: 500px;
    margin: auto;
    background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,0.2) 60%, rgba(0,0,0,.9)) 100%;
}

.mix .slide-wrap .button {
    background: none;
    border: 1px solid var(--color-non);
    font-family: var(--font-family-en);
}

@media (min-width: 821px) {

    .mix {
        display: block;
        position: relative;
    }

    .mix .slide-wrap {
        align-items: end;
        height: calc(100vh - 60px);
        min-height: 600px;
    }

    .mix .slide-wrap .logo-swiper img {
        width: 300px;
    }

}

.mix .swiper .swiper-wrapper .swiper-slide {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 80svh;
}

.mix .swiper .swiper-wrapper .swiper-slide video {
    min-width: 100%;
    position: absolute;
}

@media (min-width: 821px) {

    .mix .swiper .swiper-wrapper .swiper-slide {
        height: calc(100vh - 60px);
    }

}

@media (aspect-ratio: 16/9), (min-aspect-ratio: 16/9) {

    .mix .swiper .swiper-wrapper .swiper-slide video {
        width: 100%;
        top: 50%;
        transform: translateY(-50%);
    }

}

@media (max-aspect-ratio: 16/9) {

    .mix .swiper .swiper-wrapper .swiper-slide video {
        height: calc(100vh - 60px);
        left: calc(50% - 40px);
        transform: translateX(-50%);
    }

}

@media (max-width: 820px) {

    .mix .swiper .swiper-wrapper .swiper-slide video {
        height: 80svh;
        left: calc(50% - 20px);
    }

}

/*//////////////////// VIDEO ////////////////////////*/

.rel201 video,
.rel202 video {
    width: 100%;
}

@media (min-width: 821px) {

    .rel201 video,
    .rel202 video {
        max-width: 900px;
    }

}

/*//////////////////// KIDS PARK ////////////////////////*/

.price-table h2 {
    margin: 4rem 0 1rem;
    font-size: 1.8rem;
}

.price-table table,
.price-table td,
.price-table th {
    width: 100%;
    border: 1px solid var(--color-light);
    border-collapse: collapse;
    padding: 1rem;
}

.price-table td,
.price-table th {
    width: 30px;
    text-align: center;
}

.price-table th {
    background: var(--color-c7);
    color: var(--color-non);
    font-weight: 400;
}

.price-table tr:nth-child(2) th,
.price-table tr:nth-child(3) th {
    background: #eee3e7;
    color:  var(--color-basic);
    min-width: 70px;
}

.price-table th span {
    display: block;
    font-size: 1.2rem;
}
body.rel167 .fair-explanation .offset {
    border: 3px solid var(--color-c7);
}
body.rel202 #c3 .p3 .cursive {
    color: inherit;
}
body.rel202 #c3 .half .contents-text .cursive {
    color: inherit;
}

/*//////////////////// PHOTO GALLERY ////////////////////////*/

.p10.shop-list.photo-gallery .contents-img {
    height: 280px;
}

.p10.shop-list.photo-gallery h3 span {
    display: inline-block;
    margin-right: 1rem;
}

.p10.shop-list.photo-gallery h3 {
    text-align: center;
}

.p10.shop-list.photo-gallery .contents-img .more {
    background: var(--color-c2);;
}

.p10.shop-list.photo-gallery .contents-box {
    padding: 5% 5% 0 10%;
}

.tres.photo-gallery .swiper-slide {
    filter: blur(2px) grayscale(1) brightness(1.2);
}

.tres.photo-gallery .swiper-slide-active {
    filter: none;
}

@media (min-width: 821px) {

    .p10.shop-list.photo-gallery .contents-img {
        height: 220px;
    }
    .p10.shop-list .contents-box {
        padding: 5% 5% 0 10%;
    }

}