@charset "UTF-8";

:root {
    --color-primary-light: #eff5fb;
    --color-notice: #5e8390;
    --color-form: #8e5863;
    --color-c1: #383f50;
    --color-c2: #999083;
    --color-c3: #33312d;
    --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.2;
    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: 3.8rem;
    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;
    }

    h1 span.line-1,
    h2 span.line-1 {
        display: inline-block;
        padding: 0 .5rem;
    }

}

.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: 3.6rem;
    line-height: 1;
    letter-spacing: 0.1rem;
    margin: 0 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: 4.6rem;
    }

    .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 6rem;
    }

    #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: 4rem;
    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;
    margin: 4rem 0 0;
}

.side .banner h3 {
    border: none;
}

.side .banner img {
    padding: 0;
}

.side p {
    line-height: 1.4;
    font-size: 1.3rem;
}

/*//////////////////// 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;
    font-size: 1.6rem;
    line-height: 1.5;
}

.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-wrap.col1235 {
    grid-template-columns: repeat(1, 1fr);
}

.grid-wrap.col23,
.grid-wrap.col24,
.grid-wrap.col234,
.grid-wrap.col235,
.grid-wrap.col236 {
    grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 461px) {
    .grid-wrap.col1235 {
        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-wrap.col1235 {
        grid-template-columns: repeat(3, 1fr);
    }

    .grid-wrap.col24 {
        grid-template-columns: repeat(4, 1fr);
    }

    .grid-wrap.col236 {
        grid-template-columns: repeat(3, 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.col236 {
        grid-template-columns: repeat(6, 1fr);
    }

    .grid-wrap.col1235 {
        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;
}

.mt-l {
    margin: 6rem 0 0;
}

.mb-l {
    margin: 0 0 6rem;
}

@media (min-width: 821px) {

    .mt {
        margin: 6rem 0 0;
    }

    .mb {
        margin: 0 0 6rem;
    }

    .mtb {
        margin: 6rem 0;
    }

    .mt-l {
        margin: 12rem 0 0;
    }
    
    .mb-l {
        margin: 0 0 12rem;
    }

}

section {
    margin-top: 8rem;
}

section.section-mthalf {
    margin-top: 4rem;
}

section.heading {
    margin-top: 6rem;
}

section.obi-above {
    margin-top: 0rem;
}

@media (min-width: 821px) {

    section {
        margin-top: 14rem;
    }

    section.section-mthalf {
        margin-top: 6rem;
    }

    section.heading {
        margin-top: 10rem;
    }

    section.obi-above {
        margin-top: 14rem;
    }

}

.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,
.banquet-chapel .img-block .contents-img {
    height: 520px;
    margin: 0;
}

@media (min-width: 640px) {

    .rel201 .img-block .contents-img,
    .rel202 .img-block .contents-img,
    .banquet-chapel .img-block .contents-img {
        height: 540px;
    }

}

@media (min-width: 821px) {

    .main-block .post-item {
        padding: 0 2rem;
    }

    .rel201 .img-block .contents-img,
    .rel202 .img-block .contents-img,
    .banquet-chapel .img-block .contents-img {
        height: 900px;
    }

}

/*//////////////////// CHAPEL BANQUET MAIN BG ////////////////////////*/

.banquet-chapel .img-block .contents-img.liaison {
    background: url(../../content/images/ceremony/chapel/main_s.webp) no-repeat center / cover;
}

.banquet-chapel .img-block .contents-img.garden {
    background: url(../../content/images/ceremony/garden/main_s.jpg) no-repeat center / cover;
}

.banquet-chapel .img-block .contents-img.shinden {
    background: url(../../content/images/ceremony/shinden/main_s.webp) no-repeat center / cover;
}

.banquet-chapel .img-block .contents-img.storia {
    background: url(../../content/images/banquet/storia/main_s.webp) no-repeat center / cover;
}

.banquet-chapel .img-block .contents-img.courage {
    background: url(../../content/images/banquet/courage/main_s.webp) no-repeat center / cover;
}

.banquet-chapel .img-block .contents-img.epure {
    background: url(../../content/images/banquet/epure/main_s.webp) no-repeat center / cover;
}

.banquet-chapel .img-block .contents-img.diary {
    background: url(../../content/images/banquet/diary/main_s.webp) no-repeat center / cover;
}

.banquet-chapel .img-block .contents-img.luce {
    background: url(../../content/images/banquet/luce/main_s.webp) no-repeat center / cover;
}

@media (min-width: 821px) {
    .banquet-chapel .img-block .contents-img.liaison {
        background: url(../../content/images/ceremony/chapel/main.webp) no-repeat center / cover;
    }

    .banquet-chapel .img-block .contents-img.garden {
        background: url(../../content/images/ceremony/garden/main.webp) no-repeat center / cover;
    }

    .banquet-chapel .img-block .contents-img.shinden {
        background: url(../../content/images/ceremony/shinden/main.webp) no-repeat center / cover;
    }

    .banquet-chapel .img-block .contents-img.storia {
        background: url(../../content/images/banquet/storia/main.webp) no-repeat center / cover;
    }

    .banquet-chapel .img-block .contents-img.courage {
        background: url(../../content/images/banquet/courage/main.webp) no-repeat center / cover;
    }

    .banquet-chapel .img-block .contents-img.epure {
        background: url(../../content/images/banquet/epure/main.webp) no-repeat center / cover;
    }

    .banquet-chapel .img-block .contents-img.diary {
        background: url(../../content/images/banquet/diary/main.webp) no-repeat center / cover;
    }

    .banquet-chapel .img-block .contents-img.luce {
        background: url(../../content/images/banquet/luce/main.webp) no-repeat center / cover;
    }

}


/*//////////////////// 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,
.rel8 .right-block-inner ul {
    background: var(--color-c3);
}

.rel15 .right-block-inner ul .button,
.rel8 .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);
}

.rel15 .contact-block .button.white,
.rel8 .contact-block .button.white {
    border: 2px solid var(--color-c3);
}

.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: 12rem 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-pale);
    color: var(--color-basic);
}

.contact-block.middle .container {
    border: none;
}

/*
.contact-block.middle .container .button.white {
    border: 2px solid var(--color-non);
}
*/

.post-1766.banquet-chapel .contact-block.middle .button.white {
    background: #FFF !important;
}

.contact-block.middle .badge::before {
    content: "";
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
    background: url(../../content/images/icon_seal.png) no-repeat center / contain;
    padding: 4rem;
}

.contact-block.middle .container .button.tel {
    background: none;
    border: none;
    color: var(--color-basic);
}

.contact-block.middle .container a.tel::before {
    filter: brightness(0);
}

/*//////////////////// CONTACT BLOCK middle party-meeting ////////////////////////*/
section.contact-block.middle.c3 {
    background: var(--color-c3);
    color: var(--color-non);
}

.contact-block.middle.c3 .container .button.tel {
    background: none;
    border: none;
    color: var(--color-non);
}

.contact-block.middle.c3 .container a.tel::before {
    filter: brightness(1);
}

/*//////////////////// 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(../../content/images/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: 5rem 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 ////////////////////////*/

.el>* {
    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);
}

/*//////////////////// SWIPER ////////////////////////*/

.swiper-pagination-bullet-active {
    background: var(--color-light);
}

.swiper-button-prev,
.swiper-button-next {
    position: absolute;
    top: 50%;
    width: 26px;
    height: 26px;
    border-radius: 50%;
}

.swiper-button-next {
    background: var(--color-basic) url('../../content/images/icon_arrowR.svg') no-repeat center / 16px;
    right: 10px;
    z-index: 2;
}

.swiper-button-prev {
    background: var(--color-basic) url('../../content/images/icon_arrowL.svg') no-repeat center / 16px;
    left: 10px;
    z-index: 2;
}

.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: "";
}

@media (min-width: 821px) {

    .swiper-button-prev,
    .swiper-button-next {
        width: 30px;
        height: 30px;
    }

    .swiper-button-next {
        background: var(--color-basic) url('../../content/images/icon_arrowR.svg') no-repeat center / 20px;
        right: 25px;
    }

    .swiper-button-prev {
        background: var(--color-basic) url('../../content/images/icon_arrowL.svg') no-repeat center / 20px;
        left: 25px;
    }
}

/*//////////////////// 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);
}

.basic .slide-wrap .logo-swiper img,
.mix .slide-wrap .logo-swiper img {
    filter: brightness(100);
}

@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,
    .mix .slide-wrap .logo-swiper img {
        filter: brightness(100);
    }

}

/*//////////////////// SWIPER basic ha ////////////////////////*/

.basic.ha .slide-wrap {
    background: none;
}

.basic.ha .slide-wrap {
    height: auto;
    min-height: auto;
}

/*//////////////////// SWIPER uno ////////////////////////*/

.uno {
    width: 100%;
    margin: 0 auto;
    background: radial-gradient(circle at 30% 30%, rgb(255 255 255), rgb(245 245 245 / 100%));
}

.uno .swiper-slide {
    opacity: 0.4;
    overflow: hidden;
    transition: .7s;
}

.uno .swiper-slide-active {
    opacity: 1;
    z-index: 1;
    transform: scale(1);
}

.uno .slide-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 100%;
    /*width: 75%;*/
    /*height: 30vh;*/
    /*height: 300px;*/
    margin: auto;
}

@media (min-width: 600px) {

    .uno {
        padding: 4rem 0;
    }

    .uno .slide-wrap {
        height: 700px;
    }

    .uno .swiper-slide-active {
        transform: scale(1.2);
        filter: drop-shadow(0px 8px 4px rgba(0, 0, 0, 0.3));
    }

}

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

    .uno .slide-wrap {
        height: 500px;
    }

}

@media (min-width: 1800px) {

    .uno .slide-wrap {
        height: 800px;
    }

}

/*uno　banquetとceremony拡大時のnext prev filter*/

.uno.magnif .swiper-slide-next,
.uno.magnif .swiper-slide-prev {
    filter: grayscale(0.6) brightness(1.2);
}

.uno.magnif .slide-wrap {
    position: relative;
}

.uno.magnif .copy-wrap {
    position: absolute;
    width: 100%;
    /* left: 0; */
}

.uno.magnif .copy-wrap .main-copy span {
    font-size: 2.6rem;
    padding: 0;
}

@media (min-width: 600px) {

    .uno.magnif .copy-wrap {
        bottom: 12rem;
    }

    .uno.magnif .copy-wrap .main-copy span {
        font-size: 2.6rem;
    }

}

@media (min-width: 821px) {

    .uno.magnif .copy-wrap {
        bottom: 10rem;
    }

    .uno.magnif .copy-wrap .main-copy span {
        font-size: 3rem;
    }

}

@media (min-width: 981px) {

    .uno.magnif .copy-wrap {
        bottom: 14rem;
    }

    .uno.magnif .copy-wrap .main-copy span {
        font-size: 3.4rem;
    }

}

/*//////////////////// 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: 10px;
    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 1rem;
}

.modal-contents .slide-inner .button {
    font-size: 1.3rem;
    padding: 1rem 3rem;
    line-height: 1;
    background: none;
    border-color: var(--color-non);
}

.modal-contents .slide-inner h3 {
    font-size: 1.6rem;
    margin: 1.4rem 0 .2rem;
}

.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: 10px;
    }

    .modal-contents .swiper-button-next {
        right: 10px;
    }

}

/*//////////////////// 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);
}

.mix .copy-wrap {
    position: absolute;
    bottom: 20px;
    left: 0;
    text-align: center;
    z-index: 3;
    width: calc(100% - 2px);
}

.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: 3.4rem;
    font-weight: 300;
    letter-spacing: .1rem;
    line-height: .8;
    text-align: center;
    padding: 1rem 0;
}

@media (min-width: 821px) {

    .copy-wrap {
        width: 100%;
    }

    .mix .copy-wrap {
        width: calc(100% - 50px);
    }

    .main-copy {
        font-size: 1.6rem;
    }

    .main-copy span {
        font-size: 4.5rem;
        padding: .5rem 0;
    }

    .copy-wrap {
        bottom: 50px;
    }

}

.rel201 .main-copy,
.rel202 .main-copy {
    font-size: 1.3rem;
    letter-spacing: 0.05rem;
}

/*//////////////////// 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(../../content/images/slider/00s.jpg) no-repeat center/cover;
}

.slide_01 {
    background: url(../../content/images/slider/01s.jpg) no-repeat center/cover;
}

.slide_02 {
    background: url(../../content/images/slider/02s.jpg) no-repeat center/cover;
}

.slide_03 {
    background: url(../../content/images/slider/03s.jpg) no-repeat center/cover;
}

.slide_04 {
    background: url(../../content/images/slider/04s.jpg) no-repeat center/cover;
}

.slide_05 {
    background: url(../../content/images/slider/05s.jpg) no-repeat center/cover;
}

.slide_06 {
    background: url(../../content/images/slider/06s.jpg) no-repeat center/cover;
}

.slide_07 {
    background: url(../../content/images/slider/07s.jpg) no-repeat center/cover;
}

.slide_08 {
    background: url(../../content/images/slider/08s.jpg) no-repeat center/cover;
}

@media (min-width: 821px) {

    .slide_00 {
        background: url(../../content/images/slider/00.jpg) no-repeat center/cover;
    }

    .slide_01 {
        background: url(../../content/images/slider/01.jpg) no-repeat center/cover;
    }

    .slide_02 {
        background: url(../../content/images/slider/02.jpg) no-repeat center/cover;
    }

    .slide_03 {
        background: url(../../content/images/slider/03.jpg) no-repeat center/cover;
    }

    .slide_04 {
        background: url(../../content/images/slider/04.jpg) no-repeat center/cover;
    }

    .slide_05 {
        background: url(../../content/images/slider/05.jpg) no-repeat center/cover;
    }

    .slide_06 {
        background: url(../../content/images/slider/06.jpg) no-repeat center/cover;
    }

    .slide_07 {
        background: url(../../content/images/slider/07.jpg) no-repeat center/cover;
    }

    .slide_08 {
        background: url(../../content/images/slider/08.jpg) no-repeat center/cover;
    }

}

/*//////////////////// SWIPER rel201 Chapel ////////////////////////*/

.rel201 .slide_01 {
    background: url(../../content/images/ceremony/slider/01s.jpg) no-repeat center/cover;
}

.rel201 .slide_02 {
    background: url(../../content/images/ceremony/slider/02s.jpg) no-repeat center/cover;
}

.rel201 .slide_03 {
    background: url(../../content/images/ceremony/slider/03s.jpg) no-repeat center/cover;
}

@media (min-width: 821px) {

    .rel201 .slide_01 {
        background: url(../../content/images/ceremony/slider/01.jpg) no-repeat center/cover;
    }

    .rel201 .slide_02 {
        background: url(../../content/images/ceremony/slider/02.jpg) no-repeat center/cover;
    }

    .rel201 .slide_03 {
        background: url(../../content/images/ceremony/slider/03.jpg) no-repeat center/cover;
    }

}

/*//////////////////// SWIPER rel202 Party Room ////////////////////////*/

.rel202 .slide_01 {
    background: url(../../content/images/banquet/slider/01s.jpg) no-repeat center/cover;
}

.rel202 .slide_02 {
    background: url(../../content/images/banquet/slider/02s.jpg) no-repeat center/cover;
}

.rel202 .slide_03 {
    background: url(../../content/images/banquet/slider/03s.jpg) no-repeat center/cover;
}

@media (min-width: 821px) {

    .rel202 .slide_01 {
        background: url(../../content/images/banquet/slider/01.jpg) no-repeat center/cover;
    }

    .rel202 .slide_02 {
        background: url(../../content/images/banquet/slider/02.jpg) no-repeat center/cover;
    }

    .rel202 .slide_03 {
        background: url(../../content/images/banquet/slider/03.jpg) no-repeat center/cover;
    }

}

/*//////////////////// SWIPER rel15 ////////////////////////*/

.rel15 .slide_01 {
    background: url(../../content/images/party-meeting/slider/01s.jpg) no-repeat center/cover;
}

.rel15 .slide_02 {
    background: url(../../content/images/party-meeting/slider/02s.jpg) no-repeat center/cover;
}

.rel15 .button.white,
.rel8 .button.white {
    background: var(--color-non);
    color: var(--color-basic);
}

.rel15 .bottom-block .is-text,
.rel8 .bottom-block .is-text {
    color: var(--color-c3);
}

.rel15 .bottom-block,
.rel8 .bottom-block {
    background: var(--color-c3);
}

.rel15 .bottom-block .g1 li .button,
.rel8 .bottom-block .g1 li .button {
    background: var(--color-c3);
    border-color: var(--color-c3);
}

.rel15 .party-plan-detail .contents-wrap .button,
.rel8 .party-plan-detail .contents-wrap .button {
    background: var(--color-c3);
    border-color: var(--color-c3);
}

@media (min-width: 821px) {

    .rel15 .slide_01 {
        background: url(../../content/images/party-meeting/slider/01.jpg) no-repeat center/cover;
    }

    .rel15 .slide_02 {
        background: url(../../content/images/party-meeting/slider/02.jpg) no-repeat center/cover;
    }

}

/*//////////////////// SWIPER rel160 ////////////////////////*/

.rel160 .slide_01 {
    background: url(../../content/images/shop-restaurant/bloomys/slider/01s.jpg) no-repeat center/cover;
}

.rel160 .slide_02 {
    background: url(../../content/images/shop-restaurant/bloomys/slider/02s.jpg) no-repeat center/cover;
}

@media (min-width: 821px) {

    .rel160 .slide_01 {
        background: url(../../content/images/shop-restaurant/bloomys/slider/01.jpg) no-repeat center/cover;
    }

    .rel160 .slide_02 {
        background: url(../../content/images/shop-restaurant/bloomys/slider/02.jpg) no-repeat center/cover;
    }

}

/*//////////////////// SWIPER rel161 ////////////////////////*/

.rel161 .slide_01 {
    background: url(../../content/images/shop-restaurant/cafebloomys/slider/01s.jpg) no-repeat center/cover;
}

.rel161 .slide_02 {
    background: url(../../content/images/shop-restaurant/cafebloomys/slider/02s.jpg) no-repeat center/cover;
}

@media (min-width: 821px) {

    .rel161 .slide_01 {
        background: url(../../content/images/shop-restaurant/cafebloomys/slider/01.jpg) no-repeat center/cover;
    }

    .rel161 .slide_02 {
        background: url(../../content/images/shop-restaurant/cafebloomys/slider/02.jpg) no-repeat center/cover;
    }

}

/*//////////////////// SWIPER rel162 ////////////////////////*/

.rel162 .slide_01 {
    background: url(../../content/images/shop-restaurant/nail/slider/01s.jpg) no-repeat center/cover;
}

.rel162 .slide_02 {
    background: url(../../content/images/shop-restaurant/nail/slider/02s.jpg) no-repeat center/cover;
}

@media (min-width: 821px) {

    .rel162 .slide_01 {
        background: url(../../content/images/shop-restaurant/nail/slider/01.jpg) no-repeat center/cover;
    }

    .rel162 .slide_02 {
        background: url(../../content/images/shop-restaurant/nail/slider/02.jpg) no-repeat center/cover;
    }

}

/*//////////////////// SWIPER rel163 ////////////////////////*/

.rel163 .slide_01 {
    background: url(../../content/images/shop-restaurant/eyelash/slider/01s.jpg) no-repeat center/cover;
}

.rel163 .slide_02 {
    background: url(../../content/images/shop-restaurant/eyelash/slider/02s.jpg) no-repeat center/cover;
}

@media (min-width: 821px) {

    .rel163 .slide_01 {
        background: url(../../content/images/shop-restaurant/eyelash/slider/01.jpg) no-repeat center/cover;
    }

    .rel163 .slide_02 {
        background: url(../../content/images/shop-restaurant/eyelash/slider/02.jpg) no-repeat center/cover;
    }

}

/*//////////////////// SWIPER rel164 ////////////////////////*/

.rel164 .slide_01 {
    background: url(../../content/images/shop-restaurant/beautysalon/slider/01s.jpg) no-repeat center/cover;
}

.rel164 .slide_02 {
    background: url(../../content/images/shop-restaurant/beautysalon/slider/02s.jpg) no-repeat center/cover;
}

@media (min-width: 821px) {

    .rel164 .slide_01 {
        background: url(../../content/images/shop-restaurant/beautysalon/slider/01.jpg) no-repeat center/cover;
    }

    .rel164 .slide_02 {
        background: url(../../content/images/shop-restaurant/beautysalon/slider/02.jpg) no-repeat center/cover;
    }

}

/*//////////////////// SWIPER rel165 ////////////////////////*/

.rel165 .slide_01 {
    background: url(../../content/images/shop-restaurant/dress-shop/slider/01s.jpg) no-repeat center/cover;
}

.rel165 .slide_02 {
    background: url(../../content/images/shop-restaurant/dress-shop/slider/02s.jpg) no-repeat center/cover;
}

@media (min-width: 821px) {

    .rel165 .slide_01 {
        background: url(../../content/images/shop-restaurant/dress-shop/slider/01.jpg) no-repeat center/cover;
    }

    .rel165 .slide_02 {
        background: url(../../content/images/shop-restaurant/dress-shop/slider/02.jpg) no-repeat center/cover;
    }

}

/*//////////////////// SWIPER rel166 ////////////////////////*/

.rel166 .slide_01 {
    background: url(../../content/images/shop-restaurant/photostudio/slider/01s.jpg) no-repeat center/cover;
}

.rel166 .slide_02 {
    background: url(../../content/images/shop-restaurant/photostudio/slider/02s.jpg) no-repeat center/cover;
}

@media (min-width: 821px) {

    .rel166 .slide_01 {
        background: url(../../content/images/shop-restaurant/photostudio/slider/01.jpg) no-repeat center/cover;
    }

    .rel166 .slide_02 {
        background: url(../../content/images/shop-restaurant/photostudio/slider/02.jpg) no-repeat center/cover;
    }

}

/*//////////////////// SWIPER rel167 ////////////////////////*/

.rel167 .slide_01 {
    background: url(../../content/images/shop-restaurant/kids/slider/01s.jpg) no-repeat center/cover;
}

.rel167 .slide_02 {
    background: url(../../content/images/shop-restaurant/kids/slider/02s.jpg) no-repeat center/cover;
}

@media (min-width: 821px) {

    .rel167 .slide_01 {
        background: url(../../content/images/shop-restaurant/kids/slider/01.jpg) no-repeat center/cover;
    }

    .rel167 .slide_02 {
        background: url(../../content/images/shop-restaurant/kids/slider/02.jpg) no-repeat center/cover;
    }

}

/*//////////////////// PILLAR ////////////////////////*/

.mix .pillar {
    display: none;
}

.pillar {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    background: var(--color-pale);
    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) {

    .mix .pillar {
        display: block;
    }

    .pillar-inner {
        height: 100%;
    }

    .pillar-inner .button {
        margin: 6rem 1rem;
    }

}

/*//////////////////// HEADING ////////////////////////*/

.heading .logo {
    text-align: center;
}

.heading .logo img {
    width: 250px;
    margin: 0 0 2rem;
}

.heading h1 {
    font-size: 1.5rem;
    line-height: 1.6;
    padding: 1rem 0 0;
    margin: 0 0 2rem;
}

.top .heading h1 {
    font-size: 1.5rem;
    line-height: 1.5;
    margin: 1rem 0 1rem;
}

.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;
    }

    .heading .logo {
        text-align: left;
    }

}

.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,
.banquet-chapel .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,
    .banquet-chapel .heading .contents-wrap>.contents-box {
        text-align: left;
    }

}

/*//////////////////// CONCEPT ////////////////////////*/

.concept h2 {
    font-family: var(--font-family-ja-min);
    font-size: 2rem;
    padding: 4rem 0 0;
}

.concept .contents-inner h3 span {
    font-size: 2.4rem;
    text-align: center;
    color: var(--color-basic);
}

.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;
}

/*
.rel200 .concept.obi {
    background: linear-gradient(180deg, #FFF 0%, #FFF 60%, #3B3935 60%, #3B3935 100%);
}
*/

.rel200 .img-block .contents-img {
    background: url(../../content/images/concept/main2s.webp) no-repeat center/cover;
    height: 500px;
}

img.concept-logo {
    width: 200px;
    margin-bottom: 1rem;
}

section.concept.obi .grid-wrap.col12,
section.concept.obi .grid-wrap.col13 {
    max-width: 1600px;
    margin: auto;
}

section.p14 .contents-wrap p {
    font-size: 1.3rem;
}

@media (min-width: 821px) {

    .concept h2 {
        padding: 6rem 0 0;
    }

    .concept .caption span {
        font-size: 3.8rem;
    }

    .concept h3 span {
        font-size: 3rem;
        text-align: center;
        padding: 2rem 0 0;
    }

    .rel200 .img-block .contents-img {
        background: url(../../content/images/concept/main2.webp) no-repeat center/cover;
        height: 800px;
    }

    img.concept-logo {
        width: 240px;
        margin-bottom: 2rem;
    }

}

/*//////////////////// CONCEPT forcouple voice ////////////////////////*/

.forcouple {
    padding: 0 0 6rem;
    background: #edecec;
}

.forcouple .offset {
    max-width: 700px;
}

span.bg-txt {
	display: inline;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	/* 以降調整
	font-size: 24px; */
	font-weight: 600;
	padding: .1rem;
	line-height: 1.5;
	background: rgba(245, 232, 232, .8); 
    color: #843e4d;
}

.forcouple .contents-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
}

.forcouple .contents-wrap>.contents-box, .forcouple .contents-wrap>.contents-img, .forcouple .contents-wrap>.contents-text {
    flex: 1;
}

.forcouple .contents-wrap>.contents-text {
    flex: 3.4;
}

.forcouple .odd .contents-wrap:nth-child(odd), .forcouple .even .contents-wrap:nth-child(even) {
    flex-direction: row-reverse;
}

.voice {
    background: #ffffff;
    padding: 1.4rem;
    border-radius: 4px;
    margin: 1rem;
    font-size: 1.6rem;
    line-height: 1.6;
}

/*
.voice:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 2rem;
    margin-top: -15px;
    border: 15px solid transparent;
    border-right: 15px solid #ffffff;
}
*/

/*//////////////////// CONCEPT home2 ////////////////////////*/
.concept.home-partyspace {
    max-width: 1600px;
    margin: 0 auto 20rem;
}

.concept.home-partyspace .contents-img {
    flex: 1.6;
}

.concept.home-partyspace .contents-txt {
    flex: initial;
}

.concept.home-partyspace .contents-wrap {
    margin:0 0 6rem;
}

/*//////////////////// 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;
    margin-top: 10rem;
}

.campaign .grid-wrap {
    column-gap: 0;
    row-gap: 0;
}

.campaign .contents-img {
    margin: 0;
    height: 300px;
}

.campaign .contents-img.left {
    background: url(../../content/images/home/campaign_01.jpg) no-repeat center/cover;
}

.campaign .contents-img.right {
    background: url(../../content/images/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, .2);
    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::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    backdrop-filter: brightness(250%) blur(10px);
    -webkit-backdrop-filter: brightness(250%) blur(10px);
    z-index: -1;
}

.campaign .contents-text h2 {
    color: var(--color-basic);
    padding: 0;
}

.campaign .contents-text h2 span {
    display: inline-block;
    font-size: clamp(3.8rem, 3.415rem + 1.58vw, 4.6rem);
    font-weight: 300;
}

.campaign .contents-text p {
    font-size: clamp(1.5rem, 1.356rem + 0.59vw, 1.8rem);
    line-height: 1.4;
    color: var(--color-basic);
    font-family: var(--font-family-ja-min);
}

.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: 3.6rem;
    font-weight: 400;
    margin-right: 1rem;
}

@media (min-width: 821px) {

    .campaign .contents-text {
        bottom: -120px;
        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.6rem;
    text-align: center;
    padding: 2rem 0 0;
}

.title h1 span,
.title h2 span {
    font-size: clamp(3rem, 1.814rem + 5.58vw, 6rem);
    margin: 0;
}

@media (min-width: 821px) {

    .title h1 span,
    .title h2 span {
        font-size: clamp(3rem, 1.814rem + 5.58vw, 6rem);
        margin: 0 0 1rem;
    }

}

.title h1 span:before,
.title h2 span:before {
    position: absolute;
    top: 0.6rem;
    right: -2rem;
    font-family: var(--font-family-en-cursive);
    font-size: clamp(2rem, 1.418rem + 2.91vw, 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,
.post-133 .title h1 span:before {
    top: 7px;
    content: 'Party Meeting';
}

.title h1.long-ja span:before {
    position: absolute;
    top: 0.6rem;
    right: 1.5rem;
    font-family: var(--font-family-en-cursive);
    font-size: clamp(2rem, 1.418rem + 2.91vw, 3.6rem);
    color: var(--color-light);
    content: 'Wedding';
}

@media (min-width: 821px) {

    .title h1.long-ja span:before {
        right: -2rem;
    }

}

/*
.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.5rem;
    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: 5rem 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: 1.8rem;
    line-height: 1.2;
    margin: 0 0 1rem;
}

.internal-link .contents-box .contents-wrap .contents-text h3 span {
    font-size: 1.3rem;
}

.internal-link .contents-box .contents-wrap .contents-text p {
    font-family: var(--font-family-ja-min);
    line-height: 1.4;
    margin: 0;
    font-size: 1.2rem;
}

@media (min-width: 481px) {

    .internal-link .grid-wrap.col124 {
        grid-template-columns: repeat(2, 1fr);
        column-gap: 20px;
    }

}

@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;
    }

    .internal-link .grid-wrap.col124 {
        grid-template-columns: repeat(2, 1fr);
        column-gap: 20px;
    }

    .internal-link .grid-wrap.col12 {
        grid-template-columns: repeat(2, 1fr);
        column-gap: 20px;
        max-width: 800px;
        margin: auto;
    }

}

@media (min-width: 1025px) {

    .internal-link .grid-wrap.col124 {
        grid-template-columns: repeat(4, 1fr);
        column-gap: 20px;
    }

}


/*//////////////////// BOTTOM-BLOCK ////////////////////////*/
/*ここからBASEへ
.bottom-block {
    position: relative;
    background: var(--color-dark);
    margin-top: 10rem;
}

.bottom-block .is-text {
    top: -4rem;
    right: 0;
    font-size: 4rem;
}
*/

/*
.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";
}

/*ここからBASEへ
@media (min-width: 600px) and (max-width: 820px) {

    .bottom-block .is-text {
        top: -6rem;
        font-size: 6rem;
    }

}

@media (min-width: 821px) and (max-width: 980px) {

    .bottom-block .is-text {
        top: -8rem;
        font-size: 8rem;
    }

}

@media (min-width: 981px) {

    .bottom-block {
        margin-top: 20rem;
    }

    .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: .3rem 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;
    }

}

span.party-price {
    font-size: 1.4rem;
    font-weight: 400;
    font-family: var(--font-family-ja);
}

.article.rel8 .price.en,
.list.rel8 .price.en {
    line-height: 0.1;
}

/*//////////////////// 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;
    }

}

/*//////////////////// 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: 300;
    width: 100%;
    text-align: left;
    background: var(--color-non);
    color: var(--color-basic);
    border-bottom: 1px solid var(--color-pale);
    font-family: var(--font-family-ja-min);
    font-size: 1.5rem;
}

.acMenu>dt:after {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    top: 50%;
    right: 20px;
    transform: translateY(-50%) rotate(0);
    transition: .2s;
    background: url(../../content/images/icon_toggle.svg) no-repeat center center/contain;
    filter: brightness(0);
}

.acMenu>dt.selected {
    background: var(--color-primary);
    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-pale);
    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: 70px;
    height: 70px;
    font-family: var(--font-family-en);
    font-size: 1.5rem;
    line-height: 1;
    background: var(--color-primary);
    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: 70px;
    height: 70px;
    font-family: var(--font-family-en);
    font-size: 1.5rem;
    line-height: 1;
    background: var(--color-basic);
    color: var(--color-non);
}

.rel15 .p0 .name,
.rel8 .p0 .name {
    background: var(--color-c3);
    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;
}

.top.rel1 .p0 {
    background: #fff;
}

.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);
    font-size: 1.3rem;
    line-height: 1.7;
}

@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: flex;
    justify-content: center;
}
*************************************************************************************/
@media (min-width: 821px) {

    .article.rel8 .p0.recommend-plan .container {
        padding: 0 1.5rem;
    }

}

/*//////////////////// P1 ////////////////////////*/

.p1 .cormorant {
    font-size: clamp(4rem, 7vw, 8rem);
    text-align: right;
    padding: 1rem 1rem 0;
}

.p1 .cursive {
    font-size: clamp(2rem, 0.909rem + 5.45vw, 5rem);
    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: 2;
    }

    .p1 .cursive {
        position: absolute;
        top: 70px;
        right: -10%;
        color: var(--color-light);
        z-index: 1;
    }

    .p1 .contents-wrap>.contents-img {
        flex: 2;
        height: 640px;
    }

    .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;
    }

}

/*//////////////////// P2a ////////////////////////*/

.p2a {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, 0.8)) 100%, url(../../content/images/home/landscape_s.jpg) no-repeat center/cover;
    height: 500px;
}

.p2a.v2 {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, 0.8)) 100%, url(../../content/images/home/renew_s.jpg) no-repeat center/cover;
    height: 340px;
}

.p2a.v3 {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, 0.8)) 100%, url(../../content/images/bestrate/main2_s.jpg) no-repeat center/cover;
    height: 340px;
}

.p2a.v2 .contents-box .contents-inner p,
.p2a.v3 .contents-box .contents-inner p {
    margin: 0 1rem 1.6rem;
    line-height: 1.4;
    font-family: var(--font-family-en);
    font-weight: 300;
}

.p2a .contents-box .contents-inner .renew-day {
    font-size: clamp(2rem, 1.491rem + 2.55vw, 3.4rem);
    display: block;
    line-height: 0.6rem;
}

.p2a .contents-box .contents-inner .renew-copy {
    font-size: clamp(3rem, 0.593rem + 9.88vw, 8rem);
}

.renew-ja {
    text-align: center;
    margin: 0 1rem 0;
}

.renew-ja h2 {
    font-size: clamp(1.8rem, 1.222rem + 2.37vw, 3rem);
    margin: 3rem 1rem 0.8rem;
}

.renew-ja p {
    font-family: var(--font-family-ja-min);
    font-weight: 300;
    font-size: 1.5rem;
    line-height: 1.5;
}

.p2a .contents-box {
    display: flex;
    justify-content: center;
    align-items: end;
    height: 100%;
}

.p2a .contents-box .contents-inner {
    color: var(--color-non);
    text-align: center;
}

.p2a .contents-box .contents-inner p {
    font-family: var(--font-family-ja-min);
    margin: 0 1rem 2.6rem;
    line-height: 1.4;
}

.p2a .contents-box .contents-inner .cormorant {
    display: block;
    line-height: 1;
    font-size: 3rem;
    margin-bottom: 1rem;
}

.top.p2a {
    margin: 5rem 0 0;
}

@media (min-width: 821px) {

    .p2a {
        background: linear-gradient(180deg, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, 0.9)) 100%, url(../../content/images/home/landscape.jpg) no-repeat center/cover;
        height: 640px;
    }

    .p2a.v2 {
        background: linear-gradient(180deg, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, 0.9)) 100%, url(../../content/images/home/renew.jpg) no-repeat center/cover;
        height: 560px;
    }

    .p2a.v3 {
        background: linear-gradient(180deg, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, 0.9)) 100%, url(../../content/images/bestrate/main2.jpg) no-repeat center/cover;
        height: 560px;
    }

    .renew-ja {
        margin: 0 1rem 14rem;
    }

    .p2a .contents-box .contents-inner .renew-day {
        display: inline-block;
    }

    .p2a .contents-box .contents-inner .cormorant {
        font-size: 4rem;
    }

    .p2a .contents-box .contents-inner p {
        margin: 0 0 4rem;
    }

}

/*//////////////////// P3 ////////////////////////*/

.p3 .cormorant {
    font-size: clamp(4rem, 7vw, 8rem);
    text-align: right;
    padding: 1rem 1rem 0;
}

.p3 .cursive {
    font-size: clamp(2rem, 0.909rem + 5.45vw, 5rem);
    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: 50%;
        white-space: nowrap;
        z-index: 2;
    }

    .p3 .cursive {
        position: absolute;
        top: 70px;
        right: 40%;
        color: var(--color-light);
        white-space: nowrap;
        z-index: 2;
    }

    .p3 .contents-wrap>.contents-img {
        flex: 2;
        height: 640px;
    }

    .p3 .contents-wrap>.contents-text {
        flex: 1;
    }

    .rel203 .p3 .cormorant {
        left: 50px;
    }

}

@media (min-width: 821px) {

    .p3.short-word .cormorant {
        right: 80%;
    }

    .p3.short-word .cursive {
        right: 70%;
    }

}

/*//////////////////// 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, 7vw, 8rem);
    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, .p5 h2 {
    padding: 0rem 0 4rem;
    margin: 0;
}

@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, .main-block .p5 .contents-text .contents-inner {
        max-width: 520px;
        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,
.rel205 .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 4rem 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,
    .rel205 .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: 2;
    }

    .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;
    }

}

/*//////////////////// P6 space-banquet ////////////////////////*/

.p6 .space-ba .contents-inner .cursive {
    position: absolute;
    bottom: -30px;
    right: 50px;
    z-index: 1;
    font-size: clamp(6rem, 10vw, 10rem);
    color: #999;
    opacity: .1;
}

.banquet-chapel .p5 .space-ba h2 span.md::before {
    content: '';
}

.p6-decoration {
    font-family: var(--font-family-en);
    font-size: 1.8rem;
    line-height: 1.4;
    margin: 0 0 1rem;
}

@media (min-width: 821px) {
    .p6 .space-ba .contents-wrap>.contents-img {
        flex: 3.2;
    }
}

/*//////////////////// 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: 300px;
    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);
    }

    .p9 .contents-img {
        height: 400px;
        margin: 0;
    }

}

/*//////////////////// 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: 300;
    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: 2rem;
    color: var(--color-light);
    writing-mode: vertical-rl;
    text-orientation: mixed;
    letter-spacing: .1rem;
    background: none;
}

.p10 .contents-img {
    height: 180px;
}

.p10 .contents-img .date {
    position: absolute;
    bottom: 20px;
    right: 0;
    font-family: var(--font-family-en);
    background: var(--color-non);
    color: var(--color-basic);
    padding: 0.3rem 1rem 0.5rem 4rem;
    opacity: 1;
}

.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(../../content/images/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;
}

.rel15 .p11 .contents-wrap .button,
.rel8 .p11 .contents-wrap .button {
    background: var(--color-c3);
    border-color: var(--color-c3);
    color: var(--color-non);
}

.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(../../content/images/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: 2.2;
        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;
}

.p14 .contents-wrap>.contents-text .contents-inner .grid-wrap {
    column-gap: 4px;
}

@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;
        max-width: 500px;
    }

    .p14 .odd .contents-wrap:nth-child(even) .contents-text .contents-inner,
    .p14 .even .contents-wrap:nth-child(odd) .contents-text .contents-inner {
        padding: 2rem;
        max-width: 500px;
    }

}

.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;
}

.p15 .contents-wrap>.contents-img.h500 {
    height: 300px;
}

@media (min-width: 821px) {

    .p15 .contents-wrap {
        max-width: 1400px;
        margin: auto;
    }

    .p15 .contents-wrap>.contents-img {
        height: 800px;
    }

    .p15 .contents-wrap>.contents-img.h600 {
        height: 600px;
    }

    .p15 .contents-wrap>.contents-img.h500 {
        height: 500px;
    }

}

/*//////////////////// P16 ////////////////////////*/

.p16 .contents-wrap {
    position: relative;
    border: 1px solid var(--color-pale);
}

.p16 .contents-wrap .button {
    position: absolute;
    bottom: 0;
    right: 0;
}

.rel15 .p16 .contents-wrap .button,
.rel8 .p16 .contents-wrap .button {
    background: var(--color-c3);
    border: 1px solid var(--color-c3);
}

.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 ////////////////////////*/
.bestrate .p13 .contents-wrap .contents-img {
    height: 320px;
}

section.bestrate-bg {
    margin: 16rem 0 0;
    background: #eeeeee;
    padding: 6rem 0 4rem;
    position: relative;
}

section.bestrate-bg::before {
    content: url(../../content/images/bestrate/01b.png);
    display: block;
    position: absolute;
    top: -100px;
    left: 50%;
    transform: translateX(-50%);
}

section.bestrate-bg p {
    font-size: 1.6rem;
}

.bestrate .main-block section.bestrate-bg .contents-text h2 {
    font-size: 2.6rem;
    display: inline-block;
    margin: 0.2rem 0 1rem .5rem;
}

section.fair-explanation {
    margin-top: 0;
    margin: 2rem 0 4rem;
}

.bestrate .main-block section.fair-explanation .contents-text {
    padding: 0;
}

.bestrate .main-block section.fair-explanation .contents-text h2 {
    font-size: 1.8rem;
    display: inline-block;
    margin: 0.2rem 0 1rem .5rem;
}

.fair-explanation .offset .contents-wrap>.contents-box {
    text-align: center;
    margin: auto;
}

img.best-star {
    width: 80px;
    margin: 0 0 .5rem;
}

.bestrate p.introtext {
    font-size: clamp(1.8rem, 1.222rem + 2.37vw, 3rem);
    font-family: var(--font-family-ja-min);
    font-weight: 300;
    line-height: 1.5;
    margin: 3rem 1rem 0.8rem;
}

section.main-p2a {
    margin: 1rem 0;
}

@media (min-width: 821px) {

    .bestrate .p13 .contents-wrap .contents-img {
        height: 600px;
    }

    section.fair-explanation {
        margin-top: 0;
        margin: 2rem 0 8rem;
    }

    .fair-explanation .offset .contents-wrap>.contents-box,
    .plan-explanation .offset .contents-wrap>.contents-box {
        flex: initial;
    }

}

.fair-explanation .offset {
    max-width: 860px;
    border: 3px solid var(--color-c2);
    padding: 2rem 2rem 0;
}

.plan-explanation .offset {
    border: 3px solid var(--color-basic);
    padding: 2rem 4rem;
}

h2.large-ja {
    font-size: clamp(2rem, 1.711rem + 1.19vw, 2.6rem);
}


/*//////////////////// ICON ////////////////////////*/

.icon.tel::before {
    margin: 0 .5rem;
}

p .icon.tel::before {
    filter: brightness(30%);
}

/*//////////////////// 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 .swiper .swiper-wrapper .swiper-slide {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 80svh;
}

@media (min-width: 821px) {

    .mix .swiper .swiper-wrapper .swiper-slide {
        height: calc(100vh - 60px);
    }

}

/****************************************************************************
.mix .swiper .swiper-wrapper .swiper-slide video {
    min-width: 100%;
    position: absolute;
}

@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 {
        left: calc(50% - 2px);
    }

}

@media (max-width: 375px) {

    .mix .swiper .swiper-wrapper .swiper-slide video {
        height: calc(120vh - 60px);
    }

}
****************************************************************************/


/*　
@media (min-aspect-ratio: 1/5) {
    .mix .swiper .swiper-wrapper .swiper-slide video {
        min-width: 100%;
        position: absolute;
    }
}

@media (max-aspect-ratio: 16/9) {
    .mix .swiper .swiper-wrapper .swiper-slide video {
        height: calc(100vh - 60px);
    }
}

@media (aspect-ratio: 1/1) {
    .mix .swiper .swiper-wrapper .swiper-slide video {
        min-width: 100%;
        position: absolute;
    }
}
*/

/*//////////////////// 動画の余白をうめる ////////////////////*/
/* SP */
.mix .slide-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 100%;
    height: 80svh;
    min-height: 500px;
    margin: auto;
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.2) 60%, rgba(0, 0, 0, .9)) 100%;
}

.mix .swiper .swiper-wrapper .swiper-slide {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 80svh;
}

.mix .swiper .swiper-wrapper .swiper-slide video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

/* PC */
@media (min-width: 821px) {
    .mix .slide-wrap {
        align-items: end;
        height: calc(100vh - 60px);
        min-height: 600px;
    }

    .mix .swiper .swiper-wrapper .swiper-slide {
        height: calc(100vh - 60px);
    }

    .mix .swiper .swiper-wrapper .swiper-slide video {
        height: calc(100vh - 60px);
    }
}


/*//////////////////// VIDEO ////////////////////////*/

.rel201 video,
.rel202 video,
.rel200 video {
    width: 100%;
}

@media (min-width: 821px) {

    .rel201 video,
    .rel202 video,
    .rel200 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%;
    }

}



/*//////////////////// BANNER AREA ////////////////////////*/

.banner-area .grid-wrap {
    column-gap: 20px;
}

.banner-area h3 {
    font-family: var(--font-family-ja);
    font-size: 1.2rem;
    text-align: center;
}

@media (min-width: 821px) {

    .banner-area h2 {
        margin: 6rem 0 1rem;
    }

}

/*//////////////////// POINT AREA ////////////////////////*/
.point .contents-wrap {
    margin: 0 0 6rem;
}

.point h2 span.md,
.banquet-chapel .p5 h2 span.md {
    font-size: 7rem;
    position: relative;
}

.point h2 span.md:before,
.banquet-chapel .p5 h2 span.md::before {
    position: absolute;
    top: -1rem;
    left: 2.4rem;
    font-family: var(--font-family-en-cursive);
    font-size: 6rem;
    color: var(--color-light);
    content: 'Point';
}

.rel200 .point h2 span.md:before {
    content: 'Step';
}

.point .center h2 span.md {
    display: inline-block;
}

.point .center h2 span.md:before {
    position: absolute;
    top: -0.5rem;
    left: 50%;
    transform: translateX(1rem);
    content: 'Point';
}

@media (min-width: 821px) {
    .point .contents-wrap {
        margin: 0 0 8rem;
    }

    .banquet-chapel section.p5 {
        margin: 0 auto 16rem;
        max-width: 1600px;
    }
}

/*//////////////////// NuMBER OF PERSONS ////////////////////////*/
p.numberofpersons {
    border-top: #ccc solid 1px;
    border-bottom: #ccc solid 1px;
    padding: 0 1rem 1rem 1rem;
}

p.numberofpersons .number-l {
    font-family: var(--font-family-en-full);
    font-size: 5rem;
    line-height: 1;
}

p.numberofpersons .number-l.number-s {
    font-size: 3rem;
}

/*//////////////////// Party-meeting ////////////////////////*/
body.other-party dl.line dt {
    font-weight: 600;
}

body.other-party dt {
    padding: 1rem 1rem .5rem 1rem;
}

.other-party #c1 .p1 {
    margin-top: 8rem;
}

.other-party .p15 .contents-img {
    margin: 1.5rem;
}

.other-party .box {
    max-width: 600px;
    padding: 8rem 0 0;
}

.other-party .contents-inner.option {
    max-width: 400px!important;
    margin: auto!important;
}

@media (min-width: 821px) {

    body.other-party #c1 section.p1,
    body.other-party #c2 section.p1 {
        margin-top: 18rem;
    }

    .other-party .p15 .contents-img {
        margin: 0;
    }
}


/*//////////////////// 会場使用のオプションメニュー ////////////////////////*/
.other-party ul.menu {
    display: flex;
    flex-wrap: wrap;
}

.other-party ul.menu>li {
    width: 100%;
    border-bottom: 1px solid var(--color-pale);
    padding: 2rem 1rem 1rem;
}

.other-party ul.menu>li 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;
}

/*
.other-party ul>li {
    padding: 2rem 1rem 1rem;
    border-bottom: 3px solid var(--color-pale);
}
    */

/*//////////////////// 背景指定の拡大スライダー bodyにsw-expansion-bg ////////////////////////*/

.sw-expansion-bg .uno .swiper .slide-wrap {
    height: 540px;
}

.sw-expansion-bg .uno .swiper .slide-wrap .copy-wrap {
    bottom: 50px;
}

@media (min-width: 821px) {
    .sw-expansion-bg .uno .swiper .slide-wrap {
        height: 660px;
    }

    .sw-expansion-bg .uno .swiper .slide-wrap .copy-wrap {
        bottom: 100px;
    }
}


/*//////////////////// P17 ////////////////////////*/

.p17 .contents-img {
    height: 400px;
}

.p17 .contents-text {
    margin: 0 0 7rem;
}

@media (min-width: 821px) {

    .p17 .contents-text {
        margin: 0;
    }

    .p17 .contents-wrap>.contents-img {
        flex: 1.5;
        height: 600px;
    }

    .rel202 .p17 .contents-wrap>.contents-img,
    .rel201 .p17 .contents-wrap>.contents-img {
        flex: 2;
        height: 600px;
    }

    .p17 .contents-wrap:nth-child(2),
    .p17 .contents-wrap:nth-child(4) {
        margin: 10rem 0;
    }

}

/*//////////////////// P18 ////////////////////////*/

.p18 .grid-wrap {
    row-gap: 35px;
}

.p18 .contents-box {
    height: 200px;
    margin: 0 0 10rem;
}

.p18 .contents-box.storia {
    background: url(../../content/images/home/banquet_01.jpg) no-repeat center/cover;
}

.p18 .contents-box.courage {
    background: url(../../content/images/home/banquet_02.jpg) no-repeat center/cover;
}

.p18 .contents-box.epure {
    background: url(../../content/images/home/banquet_03.jpg) no-repeat center/cover;
}

.p18 .contents-box.diary {
    background: url(../../content/images/home/banquet_04.jpg) no-repeat center/cover;
}

.p18 .contents-box.luce {
    background: url(../../content/images/home/banquet_05.jpg) no-repeat center/cover;
}

.p18 .contents-box.quick-ceremony {
    background: url(../../content/images/home/banquet_06.jpg) no-repeat center/cover;
}

.p18 .contents-box .contents-inner {
    position: absolute;
    bottom: -70px;
    left: 50%;
    transform: translate(-50%, 10%);
    width: 90%;
    max-width: 700px;
    background-color: rgba(255, 255, 255, .2);
    /*box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);*/
    text-align: center;
    padding: 1.5rem 1.5rem 3rem;
    z-index: 1;
}

.p18 .contents-box .contents-inner::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    backdrop-filter: brightness(250%) blur(10px);
    -webkit-backdrop-filter: brightness(250%) blur(10px);
    z-index: -1;
}

.p18 .contents-box .contents-inner h3 {
    font-family: var(--font-family-en);
    font-size: 2rem;
    margin: 0 0 1rem;
}

.p18 .contents-box .contents-inner h3 span {
    font-family: var(--font-family-ja);
    font-size: 1.2rem;
    color: #000;
    padding: 0;
}

.p18 .contents-box .contents-inner p {
    margin: 0;
    line-height: 1.4;
}

.p18 .g1 {
    background: var(--color-pale);
    margin: 6rem auto 0;
}

.p18 .g1 .button {
    background: none;
    color: var(--color-basic);
    border: none;
}

.p18 .grid-wrap a:hover {
    text-decoration: none;
    opacity: 1;
}

@media (min-width: 821px) {

    .p18 .grid-wrap {
        row-gap: 60px;
        column-gap: 3%;
    }

    .p18 .g1 {
        margin: 6rem auto 4rem;
    }

    .p18 .contents-box {
        height: 240px;
        margin: 0 0 6rem;
    }

    .p18 .contents-box .contents-inner {
        bottom: -50px;
    }

}

.cautionary-note {
    font-size: 1.2rem;
    margin: 0.5rem 1rem 0 0;
}

/*//////////////////// P19 ////////////////////////*/
.p19 {
    max-width: 1800px;
    margin: auto;
}

.p19 .grid-wrap {
    row-gap: 35px;
}

.p19 .contents-box.storia {
    background: linear-gradient(0deg, rgb(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 50%), url(../../content/images/home/banquet_01b.jpg) no-repeat center/cover;
}

.p19 .contents-box.courage {
    background: linear-gradient(0deg, rgb(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 50%), url(../../content/images/home/banquet_02b.jpg) no-repeat center/cover;
}

.p19 .contents-box.epure {
    background: linear-gradient(0deg, rgb(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 50%), url(../../content/images/home/banquet_03b.jpg) no-repeat center/cover;
}

.p19 .contents-box.diary {
    background: linear-gradient(0deg, rgb(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 50%), url(../../content/images/home/banquet_04b.jpg) no-repeat center/cover;
}

.p19 .contents-box.luce {
    background: linear-gradient(0deg, rgb(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 50%), url(../../content/images/home/banquet_05b.jpg) no-repeat center/cover;
}

.p19 .contents-box {
    display: flex;
    justify-content: center;
    align-items: end;
    height: 200px;
    margin: 0;
}

.p19 .contents-box .contents-inner {
    width: 90%;
    padding: 1rem;
}

.p19 h3 {
    text-align: center;
    font-family: var(--font-family-en);
    font-size: 2rem;
    letter-spacing: 0.2rem;
    color: var(--color-non);
    line-height: 1.3;
    margin: 0;
}

.concept .p19 .contents-inner h3 span {
    font-family: var(--font-family-ja);
    font-size: 1.2rem;
    line-height: 1.3;
    padding: 0 0 1rem;
    color: var(--color-light);
}

@media (min-width: 821px) {
    .p19 .contents-box {
        height: 460px;
        margin: 0 0 4rem;
    }
    
}

/*//////////////////// NEWS ADD ////////////////////////*/
.wp-block-columns {
    margin-bottom: 5rem;
}

.wp-block-gallery {
    margin-bottom: 5rem;
}

figure.wp-block-image {
    margin: 0 0 3rem;
}

figcaption.wp-element-caption {
    font-size: 1.3rem;
    line-height: 1.6;
}

@media (min-width: 821px) {
    figure.wp-block-image {
        margin: 0 0 5rem;
    }
}

/*//////////////////// REPORT ADD ////////////////////////*/

.article.rel9 .title h2 span {
    font-size: 3rem;
}

@media (min-width: 821px) {
    .article.rel9 .title h2 span {
        font-size: 5rem;
    }
}

/*//////////////////// FOR GUEST ////////////////////////*/


.forguest .img-block .contents-img {
    background: url(../../content/images/forguest/main_s.jpg) no-repeat center/cover;
    height: 400px;
}

.forguest .faq {
    background: var(--color-non);
    margin-top: 10rem !important;
}

ul.icon-group li {
    display: inline-block;
    margin: 0 2rem 2.6rem 0;
}

ul.icon-group {
    margin: 3rem auto 3rem;
    max-width: 1000px;
    text-align: center;
}

.icon.fitroom::before {
    content: "";
    padding: 1.6rem;
    margin: 0 .5rem;
    background: url(../../content/images/icon_fitroom.svg) no-repeat center / contain;
}
.icon.room::before {
    content: "";
    padding: 1.6rem;
    margin: 0 .5rem;
    background: url(../../content/images/icon_room.svg) no-repeat center / contain;
}
.icon.free::before {
    content: "";
    padding: 1.6rem;
    margin: 0 .5rem;
    background: url(../../content/images/icon_free.svg) no-repeat center / contain;
}
.icon.baby::before {
    content: "";
    padding: 1.6rem;
    margin: 0 .5rem;
    background: url(../../content/images/icon_baby.svg) no-repeat center / contain;
}
.icon.cloak::before {
    content: "";
    padding: 1.6rem;
    margin: 0 .5rem;
    background: url(../../content/images/icon_cloak.svg) no-repeat center / contain;
}
.icon.car::before {
    content: "";
    padding: 1.6rem;
    margin: 0 .5rem;
    background: url(../../content/images/icon_car.svg) no-repeat center / contain;
}
.icon.bus::before {
    content: "";
    padding: 1.6rem;
    margin: 0 .5rem;
    background: url(../../content/images/icon_bus.svg) no-repeat center / contain;
}
.icon.tabaco::before {
    content: "";
    padding: 1.6rem;
    margin: 0 .5rem;
    background: url(../../content/images/icon_tabaco.svg) no-repeat center / contain;
}
.icon.babycare::before {
    content: "";
    padding: 1.6rem;
    margin: 0 .5rem;
    background: url(../../content/images/icon_babycare.svg) no-repeat center / contain;
}
.icon.rounge::before {
    content: "";
    padding: 1.6rem;
    margin: 0 .5rem;
    background: url(../../content/images/icon_rounge.svg) no-repeat center / contain;
}
.icon.make::before {
    content: "";
    padding: 1.6rem;
    margin: 0 .5rem;
    background: url(../../content/images/icon_make.svg) no-repeat center / contain;
}

.forguest-bg {
    background: url(../../content/images/forguest/bg01s.jpg) no-repeat center/cover;
}

.forguest-bg .inner-gradation {
    background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 0) 90%, rgba(255, 255, 255, 1) 100%);
}

.forguest .banner-area .grid-wrap {
    column-gap: 2%;
}

@media (min-width: 821px) {

    .forguest .img-block .contents-img {
        background: url(../../content/images/forguest/main.jpg) no-repeat center/cover;
        height: 700px;
    }

    .forguest .p13 .contents-wrap>.contents-img {
        flex: 2;
    }

    .forguest-bg {
        background: url(../../content/images/forguest/bg01.jpg) no-repeat center/cover;
    }

    .forguest .banner-area .grid-wrap {
        column-gap: 4%;
    }

}

.equipment-info {
    border-bottom: #ccc dotted 1px;
    padding: 0 1rem 0;
}

.equipment-info .icon-group {
    margin: 3rem auto 0;
    max-width: 1200px;
    text-align: left;
}

.equipment-info p {
    margin: 2rem 0 2rem;
}

.heading.space-equipment h2 {
    margin: 0;
}

/*//////////////////// 追加 ////////////////////*/
.container.recommend-banner {
    margin: 4rem auto 0;
}

.button.mark.arrowU {
    padding: 0.5rem 4.8rem 0.5rem 4rem;
}

.h3-lsize {
    font-size: 1.6rem;
    line-height: 1.3;
    margin: 1rem 0 .5rem;
}

/*//////////////////// Table ////////////////////////*/

#table03 th {
    text-align: center;
    padding: 1rem;
}

#table03 th {
    background-color: #766f60;
    color: #fff;
}

#table03 td {
    text-align: right;
    padding: .5rem;
}

#table03 .head {
    background-color: #e2e2e2;
}

table#table03 {
    width: 100%;
}

#table03 .underline {
    border-bottom: 1px solid var(--color-non);
    padding-bottom: 2px;
}

/* テーブルとセルの境界線設定 */
#table03 {
    border-collapse: collapse;
}

#table03 th,
#table03 td {
    border: 1px solid #ccc;
}

/* 既存のスタイルを維持 */
#table03 tr:nth-child(odd):not(:first-child) {
    background-color: #f7f3ed;
}

#table03 .fixed {
    background-color: #4f4c45;
    color: #fff;
}



/* tab */
@media only screen and (max-width: 768px) {
    #table03 {
        display: block;
        overflow-x: scroll;
        white-space: nowrap;
    }

    #table03 .fixed {
        position: sticky;
        left: 0;
    }

    #table05 .fixed:before {
        content: "";
        position: absolute;
        top: 0;
        left: -1px;
        right: -1px;
        height: 100%;
        border-left: 1px solid #707070;
        border-right: 1px solid #707070;
    }
}


/*//////////////////// popup banner ////////////////////////*/
.popup-banner {
    position: fixed;
    right: 5%;
    bottom: 80px;
    z-index: 999;
    display: none;
    width: 90%;
    max-width: 280px;
    background: #fff;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.6);
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.5s ease, transform 0.5s ease;
    will-change: opacity, transform;
}

.popup-banner.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.popup-banner h2, .popup-banner h3, .popup-banner h4 {
    font-size: clamp(1.44rem, 1.414rem + 0.11vw, 1.5rem);
    line-height: 1.3;
    color: var(--color-c4);
    margin: 0 1rem 0.5rem;
    text-align: center;
}

.popup-banner h2 a, .popup-banner h3 a, .popup-banner h4 a {
    color: #53071c;
}

.popup-banner p {
    font-size: 1.3rem;
    line-height: 1.4;
    margin: 0 1rem 1rem;
    text-align: center;
}

.popup-banner img {
    width: 100%;
    height: auto;
    display: block;
}

.popup-banner .close-btn {
    position: absolute;
    top: -24px;
    right: 0px;
    width: 24px;
    height: 24px;
    padding: 0;
    border: none;
    cursor: pointer;
    background: transparent;
    z-index: 2;
}

.popup-banner .close-btn img {
    width: 100%;
    height: 100%;
    aspect-ratio: 1;
}

.popup-banner .banner img {
    border: 6px solid #ffffff;
}

.popup-banner .wp-block-button.is-style-buttonMD, .popup-banner .wp-block-button.is-style-buttonNR {
    width: 100%;
}

.popup-banner .wp-block-button.is-style-buttonMD a, .popup-banner .wp-block-button.is-style-buttonNR a {
    font-weight: 600;
    white-space: wrap;
    padding: 0.8rem;
    border: none;
    width: 100%;
    background: #53071c;
    font-size: 1.3rem;
}

@media screen and (min-width: 341px) {
    .popup-banner {
        max-width: 320px;
        right: 20px;
    }
}

/*//////////////////// horizontal banner ////////////////////////*/

.horizontal-banner {
    max-width: 1000px;
    text-align: center;
    margin: 6rem auto 0;
}

.horizontal-banner h2, .horizontal-banner h3, .horizontal-banner h4 {
    font-size: clamp(1.4rem, 1.272rem + 0.52vw, 1.6rem);
}

#horizontal-banner figure.hori-cover img {
    width: 100%;
    height: 320px;
    object-fit: cover;
}


@media screen and (min-width: 481px) {
    #horizontal-banner figure.hori-cover img {
        width: 100%;
        height: auto;
        object-fit: none;
    }
}

