@charset "utf-8";
/* CSS Document */

body.home header li.nav-top::after {
    display: block;
}
/* ==============================
  共通
============================== */
section {
    position: relative;
}
section + section {
    border-top: 1px solid #CCCCCC;
}

section .column-wrap .text-box h3 span {
    overflow: hidden;
    display: block;
    line-height: 1;
    font-size: min(0.31vw, 4.3rem);
}
section .column-wrap .text-box h3 span + span {
    margin-top: 6.2em;
}
@media print, screen and (max-width: 768px) {
    section h2 {
        font-size: 1vw;
        line-height: 1;
    }
    section h2::after {
        width: 10.2vw;
        margin: 7.6vw auto 0;
    }

    section .column-wrap .text-box h3 span + span {
        margin-top: 8em;
    }
}

[data-aos=fade-right] {
    transform: translate3d(-20px, 0, 0);
}
[data-aos=fade-left] {
    transform: translate3d(20px,0,0);
}


.swiper-button-next, .swiper-button-prev {
    display: none;
}
@media print, screen and (max-width: 768px) {
    .swiper-button-next, .swiper-button-prev {
        display: block;
    }
}



/* ==============================
  ヘッダー
============================== */
header {
    position: relative;

    padding: 2.6% 0 2.1%;

    flex-direction: column;

    border-bottom: none;
}

header h1 {
    width: 10.35%;
    margin: 0 auto;
}
@media print, screen and (max-width: 768px) {
    header {
        padding: 1.7vw 0 2.7vw;

        border-top-width: 0.74vw;
    }

    header h1 {
        display: block;
        width: 19.01vw;
        margin: 0 auto 0 5.3vw;
    }
}
header nav {
    width: 80.5%;
}
header ul {
    width: 100%;
    margin: 2.1% auto 0;
}
@media print, screen and (max-width: 768px) {
    header ul {
        width: 48.38vw;
        margin: 0;
    }
}


/* ==============================
  FV
============================== */
#fv {
    position: relative;
    min-height: 58.08vw;
    background-color: #fff;
}

.fv-image {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
/* ファーストビュー画像スライダー */
.fv-image-swiper {
    height: 100svh;
    min-height: 58.08vw;
}

/* 画像のズームアニメーション */
@keyframes zoomIn {
    0% {
        transform: scale(1.1);
    }
    100% {
        transform: scale(1);
    }
}

.fv-image-swiper .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.1); /* 初期状態は拡大 */
}

#fv .fv-text {
    position: absolute;
    z-index: 10;
    top: 7.56%;
    left: 10.02%;

    width: 11.47%;
    opacity: 0;
    transition: opacity 1.5s ease-out;
}

#fv .fv-text.fade-in {
    opacity: 1;
}
#fv .scroll-down {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;

    width: 0.65%;
    max-width: 9px;
    margin: 0 auto;
    z-index: 10;
    opacity: 0;
    transition: opacity 1.5s ease-out;
}

#fv .scroll-down.fade-in {
    opacity: 1;
}
#fv .scroll-down span {
    position: absolute;
    bottom: 60px;
}
#fv .scroll-down::before {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;

    width: 1px;
    height: 55px;
    margin: auto;

    content: "";
    animation: scroll 2s infinite;

    background-color: #FFFFFF;
}
/* 線のアニメーション */
@keyframes scroll {
    0% {
        transform: scale(1, 0);
        transform-origin: 0 0;
    }
    50% {
        transform: scale(1, 1);
        transform-origin: 0 0;
    }
    51% {
        transform: scale(1, 1);
        transform-origin: 0 100%;
    }
    100% {
        transform: scale(1, 0);
        transform-origin: 0 100%;
    }
}

@media print, screen and (max-width: 768px) {
    #fv {
        padding-top: 14.4vw;
        position: relative;
        z-index: 1;
    }
    #fv .fv-text {
        position: absolute;
        top: 20.96vw;
        left: 6.46vw;

        width: 23.51vw;
    }

    #fv .fv-image {
        position: relative;

        overflow: hidden;

        width: 100vw;
        /* height: calc(100svh - 14vw); */
    }
    #fv .swiper-fade .swiper-slide {
        height: 100svh;
    }
    #fv .fv-image img {
        position: absolute;
        /* top: 50%;
        left: 50%; */
        width: 100%;
        height: 100%;
        /* transform: translate(-50%, -50%); */
        object-fit: cover;
    }

    #fv .scroll-down {
        display: none;
    }

    #fv .btn-wrap {
        position: absolute;
        right: 0;
        bottom: 4.34vw;
        left: 0;

        display: flex;
        align-items: center;
        justify-content: space-between;

        width: 50.59vw;
        margin: 0 auto;
        z-index: 10;
    }
    #fv .btn-wrap .btn-fair {
        width: 34.27vw;
    }
    #fv .btn-wrap .btn-tel {
        width: 13.83vw;
    }
}
@media print, screen and (min-width: 1366px) {
    section .column-wrap .text-box p {
        font-size: 1.02vw;
    }
}
/* ==============================
Introduction
============================== */
#introduction {
    padding: 7.1% 0 6.8%;
}

#introduction .column-wrap {
    align-items: center;

    width: 78.96%;
    margin: 0 0 0 10.07%;
}

#introduction .column-wrap .image-box {
    width: 51.09%;
}
#introduction .column-wrap .text-box {
    width: 41.33%;
}
#introduction .column-wrap .text-box h3 {
    margin-bottom: 9.31%;
}
#introduction .column-wrap .text-box h3 .introduction-text01 {
    width: 73.52%;
}
#introduction .column-wrap .text-box h3 .introduction-text02 {
    width: 99.06%;
}
#introduction .column-wrap .text-box h3 .introduction-text03 {
    width: 60.64%;
}

#introduction .column-wrap .btn-wrap {
    width: 45.41%;
    max-width: 203px;
    margin: 16.35% auto 0;
}
#introduction .column-wrap .btn-wrap a img {
    width: 3.8em;
}

#introduction .image-wrap {
    margin-top: 7.17%;
}
#introduction .image-box.image02 {
    position: absolute;
    top: 0;
    left: 20.8%;

    width: 20.63%;
}
/* 画像の影 */
#introduction .image-box.image02::before {
    bottom: -16.42%;
    left: -11.96%;

    width: 63.4%;

    aspect-ratio: 179 / 134;
}

#introduction .image-box.image03 {
    width: 34.83%;
    margin: 0 17.08% 0 auto;
}

@media print, screen and (max-width: 768px) {
    #introduction {
        padding: 10.66vw 0 18.13vw;
    }

    #introduction h2 {
        width: 57.25vw;
        margin: 0;
    }

    #introduction .column-wrap {
        width: 100%;
        margin: 0;
    }

    #introduction .column-wrap .image-box {
        width: 90.83vw;
        margin: 0 0 0 auto;
    }
    #introduction .column-wrap .text-box {
        width: 84.8vw;
    }
    #introduction .column-wrap .text-box h3 {
        width: 57.25vw;
        margin: 10.34vw 0 7.81vw;
    }
    #introduction .column-wrap .text-box p {
        font-size: 3.2vw;
    }

    #introduction .column-wrap .btn-wrap {
        width: 47.15vw;
        max-width: 47.15vw;
        margin: 13.41vw auto 0;
    }
    #introduction .column-wrap .btn-wrap a img {
        width: 3.8em;
    }

    #introduction .image-wrap {
        margin-top: 14.24vw;
    }
    #introduction .image-box.image02 {
        position: relative;
        top: 0;
        left: 0;

        width: 47.68vw;
        margin: 0 8.65vw 0 auto;
    }
    /* 画像の影 */
    #introduction .image-box.image02::before {
        right: -4.98vw;
        bottom: -4.71vw;
        left: auto;

        width: 27.57vw;

        aspect-ratio: 4 / 3;
    }

    #introduction .image-box.image03 {
        width: 66.66vw;
        margin: 13.01vw 0 0;
    }
}

/* ==============================
  FAIR
============================== */
#fair {
    padding: 7.44% 0 5.88%;
}

#fair h2 {
    width: 9.03%;
    margin: 0 auto;
}
#fair h2::after {
    display: none;
}
#fair h2 span.en {
    width: 83.94%;
}
#fair h2 span.jp {
    margin-top: 2em;
}

#fair .fair-wrap {
    display: flex;
    align-items: flex-start;
    justify-content: center;

    width: 67.67%;
    max-width: 925px;
    margin: 6.22% auto 0;
    grid-column-gap: 7.55%;
}
#fair .fair-wrap li a {
    text-decoration: none;
}
#fair .fair-wrap li a:hover .date-wrap {
    background-color: #fff;
}
#fair .fair-wrap li {
    position: relative;

    width: 28.3%;
}
#fair .fair-wrap li .date-wrap {
    position: absolute;
    top: -8.7%;
    left: -11.4%;
    z-index: 1;

    display: flex;
    overflow: hidden;
    align-items: center;
    flex-direction: column;
    justify-content: center;

    width: 3.51em;
    height: 3.51em;

    text-align: center;
    color: #231815;

    border: 1px solid #32ADC6;
    border-radius: 50%;
    background-color: #FFFFFF;

    font-size: min(1.97vw, 2.7rem);
}
#fair .fair-wrap li .date-wrap p.year {
    font-size: min(0.78vw, 1rem);
    line-height: 1.5;
}
#fair .fair-wrap li .date-wrap p.date {
    line-height: 1.2;
}
#fair .fair-wrap li .date-wrap p.week {
    width: 3.64em;
    padding: 0.2em 0;

    text-align: center;

    color: #FFFFFF;
    background-color: #898989;

    font-size: min(1.02vw, 1.4rem);
    line-height: 1;
}
#fair .fair-wrap li .date-wrap p.week.sat {
    background-color: #3071B9;
}
#fair .fair-wrap li .date-wrap p.week.holiday,
#fair .fair-wrap li .date-wrap p.week.sun {
    background-color: #E8382F;
}

#fair .fair-wrap li img {
    width: 100%;
    height: auto;
}

#fair .fair-wrap li img + p {
    margin-top: 8.21%;

    font-size: min(1.02vw, 1.4rem);
    color: #231815;
}

#fair .btn-wrap {
    width: 14.8%;
    max-width: 203px;
    margin: 5.4% auto 0;
}
#fair .btn-wrap a img {
    width: 3.8em;
}
@media print, screen and (max-width: 768px) {
    #fair {
        padding: 14.93vw 0 20vw;
    }

    #fair h2 {
        width: 28.79vw;
    }

    /* スマホはスライダーにする */
    #fair .fair-swiper {
    }
    #fair .fair-wrap {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;

        width: 100vw;
        max-width: 100vw;
        margin: 14.13vw auto 0;
        grid-column-gap: initial;
    }

    #fair .fair-wrap li {
        width: 62.63vw;
    }
    #fair .fair-wrap li .date-wrap {
        top: -7.13vw;
        left: -7.13vw;

        width: 23.46vw;
        height: 23.46vw;

        font-size: 6.69vw;
    }
    #fair .fair-wrap li .date-wrap p.year {
        font-size: 2.66vw;
    }
    #fair .fair-wrap li .date-wrap p.week {
        font-size: 3.46vw;
    }


    #fair .fair-wrap li img + p {
        margin-top: 3.2vw;

        font-size: 3.2vw;
    }

    #fair .btn-wrap {
        width: 47.15vw;
        max-width: 47.15vw;
        margin: 11.56vw auto 0;
    }
}

/* ==============================
  SPACE
============================== */
#space {
    padding: 7.2% 0 8.12%;
}

#space .column-wrap {
    justify-content: flex-end;
}
#space .column-wrap .image-box {
    order: 2;

    width: 56.32%;
}
#space .column-wrap .text-box {
    order: 1;

    width: 32.65%;
    margin-right: 2.92%;
}
#space .column-wrap .text-box h2 {
    width: 41.09%;
}
#space .column-wrap .text-box h3 {
    margin: 12.25% 0 10.85%;
}
#space .column-wrap .text-box h3 .space-text01 {
    width: 51.29%;
}
#space .column-wrap .text-box h3 .space-text02 {
    width: 100%;
}

#space .column-wrap .btn-wrap {
    width: 49.52%;
    max-width: 220px;
    margin: 14.12% auto 0 13.44%;
}
#space .column-wrap .btn-wrap a + a {
    margin-top: 8.64%;
}
#space .column-wrap .btn-wrap a.btn-ceremony img {
    width: 2.8em;
}
#space .column-wrap .btn-wrap a.btn-party_space img {
    width: 6.31em;
}

#space .image-wrap {
    margin-top: 4.73%;
}
#space .image-wrap .image-box.image02 {
    position: absolute;
    top: 0;
    left: 31.56%;

    width: 22.11%;
}
#space .image-wrap .image-box.image03 {
    width: 21.99%;
    margin: 0 18.37% 0 auto;
}
/* 画像の影 */
#space .image-wrap .image-box.image03::before {
    right: -8.82%;
    bottom: -8.31%;

    width: 71.8%;

    aspect-ratio: 4 / 3;
}
@media print, screen and (max-width: 768px) {
    #space {
        padding: 46.17vw 0 25.5vw;
    }

    #space .column-wrap {
    }
    #space .column-wrap .image-box {
        order: 1;

        width: 100vw;
    }
    #space .column-wrap .text-box {
        order: 2;

        width: 84.8vw;
        margin: 0 auto;
    }
    #space .column-wrap .text-box h2 {
        position: absolute;
        top: 18.61vw;
        right: 0;
        left: 0;

        width: 29.61vw;
        margin: 0 auto;
    }
    #space .column-wrap .text-box h3 {
        width: 82.6vw;
        margin: 11.82vw 0 8.79vw;
    }
    #space .column-wrap .text-box h3 .space-text01 {
        width: 100%;
    }

    #space .column-wrap .btn-wrap {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;

        width: 100%;
        max-width: 100%;
        margin: 13.2vw auto 15.78vw;
    }
    #space .column-wrap .btn-wrap a + a {
        margin-top: 0;
    }
    #space .column-wrap .btn-wrap a.btn-ceremony,
    #space .column-wrap .btn-wrap a.btn-party_space {
        width: 40.533vw;
    }
    #space .column-wrap .btn-wrap a img {
        margin: 0 1.5em;
    }
    #space .column-wrap .btn-wrap a.btn-ceremony img {
        width: 11.5vw;
        margin: 0 11.73vw;
    }
    #space .column-wrap .btn-wrap a.btn-party_space img {
        width: 25.2vw;
    }

    #space .image-wrap {
        margin-top: 15.79vw;
    }
    #space .image-wrap .image-box.image02 {
        position: relative;
        top: 0;
        left: 0;

        width: 46.95vw;
        margin-left: 8.21vw;
    }
    #space .image-wrap .image-box.image03 {
        width: 57.28vw;
        margin: 16.57vw 0 0 auto;
    }
    /* 画像の影 */
    #space .image-wrap .image-box.image03::before {
        right: auto;
        bottom: -5.72vw;
        left: -6.73vw;

        width: 37.2vw;
    }
}

/* ==============================
  CUISINE
============================== */
#cuisine {
    padding: 8.35% 0 10.23%;
}

#cuisine .column-wrap {
    justify-content: flex-start;
}
#cuisine .column-wrap .image-box {
    width: 54.25%;
}
#cuisine .column-wrap .text-box {
    width: 33.03%;
    margin-left: 5.03%;
}
#cuisine .column-wrap .text-box h2 {
    width: 52.64%;
}
#cuisine .column-wrap .text-box h3 {
    margin: 11.63% 0 10.45%;
}
#cuisine .column-wrap .text-box h3 .cuisine-text01 {
    width: 38.87%;
}
#cuisine .column-wrap .text-box h3 .cuisine-text02 {
    width: 99.17%;
}
#cuisine .column-wrap .text-box h3 .cuisine-text03 {
    width: 68.41%;
}
#cuisine .column-wrap .text-box h3 .cuisine-text04 {
    width: 50.46%;
}

#cuisine .column-wrap .btn-wrap {
    width: 51%;
    max-width: 230px;
    margin: 12.57% auto 0;
}
#cuisine .column-wrap .btn-wrap a img {
    width: 3.15em;
}

#cuisine .image-wrap {
    margin-top: 6.45%;
    padding-top: 4.43%;
}
#cuisine .image-wrap .image-box.image02 {
    position: absolute;
    top: 0;
    left: 11.9%;

    width: 22.33%;
}
#cuisine .image-wrap .image-box.image03 {
    width: 34.65%;
    margin: 0 19.93% 0 auto;
}
/* 画像の影 */
#cuisine .image-wrap .image-box.image03::before {
    right: -8.82%;
    bottom: -9.19%;

    width: 46.91%;

    aspect-ratio: 222 / 167;
}
@media print, screen and (max-width: 768px) {
    #cuisine {
        padding: 44vw 0 19.04vw;
    }

    #cuisine .column-wrap {
    }
    #cuisine .column-wrap .image-box {
        width: 100vw;
    }
    #cuisine .column-wrap .text-box {
        width: 84.8vw;
        margin: 0 auto;
    }
    #cuisine .column-wrap .text-box h2 {
        position: absolute;
        top: 19.01vw;
        right: 0;
        left: 0;

        width: 38.35vw;
        margin: 0 auto;
    }
    #cuisine .column-wrap .text-box h3 {
        width: 80.81vw;
        margin: 9.53vw 0 8.46vw;
    }
    #cuisine .column-wrap .text-box h3 .cuisine-text01 {
        width: 100%;
    }
    #cuisine .column-wrap .text-box h3 .cuisine-text02 {
        width: 69.34vw;
    }

    #cuisine .column-wrap .btn-wrap {
        width: 50.92vw;
        max-width: 50.92vw;
        margin: 11.72vw auto 0;
    }

    #cuisine .image-wrap {
        margin-top: 12.31vw;
        padding-top: 0;
    }
    #cuisine .image-wrap .image-box.image02 {
        position: relative;
        top: 0;
        left: 0;

        width: 53.27vw;
        margin: 0 7.39vw 0 auto;
    }
    #cuisine .image-wrap .image-box.image03 {
        width: 79.39vw;
        margin: 14.24vw 0 0;
    }
    /* 画像の影 */
    #cuisine .image-wrap .image-box.image03::before {
        right: -5.33vw;
        bottom: -4.53vw;

        width: 41.32vw;

        aspect-ratio: 155 / 117;
    }
}

/* ==============================
  CREATOR
============================== */
#creator {
    padding: 7.8% 0 7.4%;
}

#creator .column-wrap {
    justify-content: flex-end;
}
#creator .column-wrap .image-box {
    order: 2;

    width: 44.65%;
}
#creator .column-wrap .text-box {
    order: 1;

    width: 35.11%;
    margin-right: 6.72%;
}
#creator .column-wrap .text-box h2 {
    width: 58.12%;
}
#creator .column-wrap .text-box h3 {
    margin: 11.63% 0 10.42%;
}
#creator .column-wrap .text-box h3 .creator-text01 {
    width: 69.61%;
}
#creator .column-wrap .text-box h3 .creator-text02 {
    width: 83.78%;
}

#creator .column-wrap .btn-wrap {
    width: 47.97%;
    max-width: 230px;
    margin: 13.24% auto 0;
}
#creator .column-wrap .btn-wrap a img {
    width: 3.79em;
}

#creator .image-wrap {
    margin-top: 6.05%;
}
#creator .image-wrap .image-box.image02 {
    position: absolute;
    top: 0;
    left: 17.35%;

    width: 21.5%;
}
/* 画像の影 */
#creator .image-wrap .image-box.image02::before {
    bottom: -13.72%;
    left: -8.85%;

    width: 70.25%;

    aspect-ratio: 207 / 155;
}
#creator .image-wrap .image-box.image03 {
    width: 28.73%;
    margin: 0 25.72% 0 auto;
}
@media print, screen and (max-width: 768px) {
    #creator {
        padding: 52.71vw 0 7.4%;
    }

    #creator .column-wrap {
        justify-content: flex-end;
    }
    #creator .column-wrap .image-box {
        order: 1;

        width: 100vw;
    }
    #creator .column-wrap .text-box {
        order: 2;

        width: 84.8vw;
        margin: 0 auto;
    }
    #creator .column-wrap .text-box h2 {
        position: absolute;
        top: 21.92vw;
        right: 0;
        left: 0;

        width: 44.95vw;
        margin: 0 auto;
    }
    #creator .column-wrap .text-box h3 {
        width: 52.19vw;
        margin: 9.84vw 0 7.85vw;
    }
    #creator .column-wrap .text-box h3 .creator-text01 {
        width: 43.25vw;
    }
    #creator .column-wrap .text-box h3 .creator-text02 {
        width: 100%;
    }

    #creator .column-wrap .btn-wrap {
        width: 50.92vw;
        max-width: 50.92vw;
        margin: 13.18vw auto 0;
    }

    #creator .image-wrap {
        margin-top: 14.97vw;
    }
    #creator .image-wrap .image-box.image02 {
        position: relative;
        top: 0;
        left: 0;

        width: 54.4vw;
        margin: 0 0 0 7.04vw;
    }
    /* 画像の影 */
    #creator .image-wrap .image-box.image02::before {
        right: -3.4vw;
        bottom: -3.57vw;
        left: auto;

        width: 35.66vw;

        aspect-ratio: 134 / 101;
    }
    #creator .image-wrap .image-box.image03 {
        width: 75.46vw;
        margin: 16.34vw 0 0 auto;
    }
}


/* ==============================
  WEDDING_JOURNAL
============================== */
#wedding_journal {
    padding: 7.62% 0 7.55%;
}

#wedding_journal .column-wrap.grid {
    display: grid;
    justify-content: flex-start;

    grid-template-columns: 56.02% 27.89%;
    grid-template-rows: auto;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
}
#wedding_journal .column-wrap .image-box {
    width: 100%;

    grid-area: 1 / 1 / 2 / 2;
}
#wedding_journal .column-wrap .text-box {
    width: 100%;
    margin-left: 22.4%;

    grid-area: 1 / 2 / 3 / 3;
}
#wedding_journal .column-wrap .text-box h2 {
    width: 73.4%;
    text-align: right;
    line-height: 1.2;
}
#wedding_journal .column-wrap .text-box h2 img:nth-of-type(2) {
    width: 94.13%;
    margin-top: 0.8em;
}
#wedding_journal .column-wrap .text-box h3 {
    width: 95.60%;
    margin: 14.32% 0 13.72%;
}
#wedding_journal .column-wrap .text-box h3 .wedding_journal-text01 {
    width: 95.6%;
}
#wedding_journal .column-wrap .text-box h3 .wedding_journal-text02 {
    width: 91.48%;
}
#wedding_journal .column-wrap .text-box h3 .wedding_journal-text03 {
    width: 43.59%;
}
#wedding_journal .column-wrap .text-box p {
    white-space: nowrap;
}
#wedding_journal .column-wrap .btn-wrap {
    width: 67.43%;
    max-width: 257px;
    margin: 20.7% auto 0;
}
#wedding_journal .column-wrap .btn-wrap a + a {
    margin-top: 6.26%;
}
#wedding_journal .column-wrap .btn-wrap a.btn-report img {
    width: 10.01em;
    margin: 0 3.03em;
}
#wedding_journal .column-wrap .btn-wrap a.btn-staff_blog img {
    width: 3.03em;
}
#wedding_journal .column-wrap .btn-wrap a.btn-gallery img {
    width: 8.42em;
}

#wedding_journal .image-wrap {
    margin-top: 10.69%;

    grid-area: 2 / 1 / 3 / 2;
}
#wedding_journal .image-wrap .image-box.image02 {
    position: absolute;
    top: 0;
    left: 14.82%;

    width: 32.54%;
}
/* 画像の影 */
#wedding_journal .image-wrap .image-box.image02::before {
    bottom: -12.93%;
    left: -9.12%;

    width: 76.1%;

    aspect-ratio: 190 / 143;
}
#wedding_journal .image-wrap .image-box.image03 {
    width: 33.95%;
    margin: 0 8.71% 0 auto;
}
@media print, screen and (max-width: 768px) {
    #wedding_journal {
        padding: 61.95vw 0 21.53vw;
    }

    #wedding_journal .column-wrap.grid {
        display: flex;
    }
    #wedding_journal .column-wrap .image-box {
        width: 100%;
    }
    #wedding_journal .column-wrap .text-box {
        width: 84.8vw;
        margin: 0 auto;
    }
    #wedding_journal .column-wrap .text-box h2 {
        position: absolute;
        top: 21.7vw;
        right: 0;
        left: 0;

        width: 46.38vw;
        margin: 0 auto;
    }
    #wedding_journal .column-wrap .text-box h2 img:nth-of-type(2) {
        width: 42.45vw;
        margin-top: 3.68vw;
    }
    #wedding_journal .column-wrap .text-box h3 {
        width: 68.75vw;
        margin: 11.37vw 0 7.26vw;
    }
    #wedding_journal .column-wrap .text-box h3 .wedding_journal-text01 {
        width: 47.35vw;
    }
    #wedding_journal .column-wrap .text-box h3 .wedding_journal-text02 {
        width: 100%;
    }

    #wedding_journal .column-wrap .btn-wrap {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;

        width: 100%;
        max-width: 100%;
        margin: 15.47vw auto 0;
    }
    #wedding_journal .column-wrap .btn-wrap a + a {
        margin-top: 0;
    }
    #wedding_journal .column-wrap .btn-wrap a.btn-report,
    #wedding_journal .column-wrap .btn-wrap a.btn-staff_blog {
        width: 40.533vw;
    }
    #wedding_journal .column-wrap .btn-wrap a.btn-gallery {
        margin: 3.13vw auto 0;
    }
    #wedding_journal .column-wrap .btn-wrap a.btn-report img {
        width: 3.83em;
        margin: 0 2.6em;
    }
    #wedding_journal .column-wrap .btn-wrap a.btn-staff_blog img {
        width: 3.03em;
        margin: 0 3em;
    }
    #wedding_journal .column-wrap .btn-wrap a.btn-gallery img {
        width: 8.42em;
        margin: 0 1.65em;
    }

    #wedding_journal .image-wrap {
        width: 100vw;
        margin-top: 13.94vw;
    }
    #wedding_journal .image-wrap .image-box.image02 {
        position: relative;
        top: 0;
        left: 0;

        width: 49.92vw;
        margin: 0 0 0 6.86vw;
    }
    /* 画像の影 */
    #wedding_journal .image-wrap .image-box.image02::before {
        display: none;
    }
    #wedding_journal .image-wrap .image-box.image03 {
        width: 68.5vw;
        margin: 12.93vw 0 0 auto;
    }
    /* 画像の影 */
    #wedding_journal .image-wrap .image-box.image03::before {
        bottom: -5.12vw;
        left: -5.92vw;

        width: 62.79vw;

        aspect-ratio: 4 / 3;
    }
}

/* ==============================
    WEDDING PLAN
============================== */
#wedding_plan {
    padding: 6.38% 0 5.74%;
}

#wedding_plan h2 {
    width: 26.42%;
    margin: 0 auto;
}
#wedding_plan h2::after {
    display: none;
}
#wedding_plan h2 span.en {

}
#wedding_plan h2 span.jp {
    width: 14.09%;
    margin-top: 2em;
}

#wedding_plan .wedding_plan-wrap {
    display: flex;
    align-items: flex-start;
    justify-content: center;

    width: 67.74%;
    max-width: 926px;
    margin: 5.9% auto 0;
    grid-column-gap: 7.55%;
}
#wedding_plan .wedding_plan-wrap li a {
    text-decoration: none;
}
#wedding_plan .wedding_plan-wrap li {
    position: relative;

    width: 28.43%;
}
#wedding_plan .wedding_plan-wrap li .price-wrap {
    position: absolute;
    top: -13.1%;
    left: -10.8%;
    z-index: 1;

    display: flex;
    overflow: hidden;
    align-items: center;
    flex-direction: column;
    justify-content: center;

    width: 4.63em;
    height: 4.63em;

    text-align: center;
    color: #231815;

    border: 1px solid #32ADC6;
    background-color: #FFFFFF;

    font-size: min(1.68vw, 2.3rem);
}
#wedding_plan .wedding_plan-wrap li .price-wrap p.member {
    font-size: min(1.68vw, 2.3rem);
    line-height: 1.5;
}
#wedding_plan .wedding_plan-wrap li .price-wrap p.member span {
    font-size: min(1.09vw, 1.5rem);
}
#wedding_plan .wedding_plan-wrap li .price-wrap p.price {
    font-size: min(1.39vw, 1.9rem);
}
#wedding_plan .wedding_plan-wrap li .price-wrap p.price span {
    font-size: min(0.95vw, 1.3rem);
}

#wedding_plan .wedding_plan-wrap li img {
    width: 100%;
    height: auto;
}

#wedding_plan .wedding_plan-wrap li img + p {
    margin-top: 7.58%;

    font-size: min(1.02vw, 1.4rem);
    color: #231815;
}

#wedding_plan .btn-wrap {
    width: 14.8%;
    max-width: 203px;
    margin: 4.6% auto 0;
}
#wedding_plan .btn-wrap a img {
    width: 3.8em;
}
@media print, screen and (max-width: 768px) {
    #wedding_plan {
        padding: 18.69vw 0 21.04vw;
    }

    #wedding_plan h2 {
        width: 47.15vw;
    }
    #wedding_plan h2 span.en:nth-of-type(3) {
        width: 25.97vw;
        margin-top: 3.57vw;
    }
    #wedding_plan h2 span.jp {
        width: 11.88vw;
        margin-top: 5.77vw;
    }


    /* スマホはスライダーにする */
    #wedding_plan .wedding_plan-wrap {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;

        width: 100vw;
        max-width: 100vw;
        margin: 18.11vw auto 0;
        grid-column-gap: initial;
    }

    #wedding_plan .wedding_plan-wrap li {
        position: relative;

        width: 62.43vw;
    }
    #wedding_plan .wedding_plan-wrap li .price-wrap {
        top: -6.4vw;
        left: -4.5vw;

        width: 22.92vw;
        height: 22.92vw;

        font-size: 5.06vw;
    }
    #wedding_plan .wedding_plan-wrap li .price-wrap p.member {
        font-size: 5.06vw;
    }
    #wedding_plan .wedding_plan-wrap li .price-wrap p.member span {
        font-size: 3.2vw;
    }
    #wedding_plan .wedding_plan-wrap li .price-wrap p.price {
        font-size: 4vw;
    }
    #wedding_plan .wedding_plan-wrap li .price-wrap p.price span {
        font-size: 2.9vw;
    }

    #wedding_plan .wedding_plan-wrap li img {
        width: 100%;
        height: auto;
    }

    #wedding_plan .wedding_plan-wrap li img + p {
        margin-top: 3.4vw;

        font-size: 3.2vw;
    }

    #wedding_plan .btn-wrap {
        width: 47.15vw;
        max-width: 47.15vw;
        margin: 11.56vw auto 0;
    }
}

/* ==============================
  PHOTO SERVICE
============================== */
#photo_service {
    padding: 5.49% 0 5.99%;

    background-color: #F8F7F5;
}

#photo_service h2 {
    width: 27.8%;
    margin: 0 auto;
}
#photo_service h2::after {
    display: none;
}
#photo_service h2 span.en {

}
#photo_service h2 span.jp {
    width: 32.81%;
    margin-top: 2em;
}

#photo_service .photo_service-wrap {
    width: 51.7%;
    max-width: 706px;
    margin: 3.88% auto 0;
}
#photo_service .photo_service-wrap .photo_service-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
#photo_service .photo_service-wrap .photo_service-box + .photo_service-box {
    margin-top: 9.06%;
}
#photo_service .photo_service-wrap .photo_service-box .image-box {
    width: 33.77%;
}
#photo_service .photo_service-wrap .photo_service-box .text-box {
    width: 60.72%;
}
#photo_service .photo_service-wrap .photo_service-box .text-box p {
    margin-top: 5.12%;

    font-size: min(0.87vw, 1.2rem);
    line-height: 2.1;
}

#photo_service .photo_service-wrap .photo_service-box .text-box .btn-wrap {
    width: 142px;
    margin: 6.5% 0 0;
}
#photo_service .photo_service-wrap .photo_service-box .text-box .btn-wrap a {
    font-size: min(0.87vw, 1.2rem);
}
#photo_service .photo_service-wrap .photo_service-box .text-box .btn-wrap a img {
    width: 3.8em;
}
@media print, screen and (max-width: 768px) {
    #photo_service {
        padding: 23.49vw 0 21.86vw;
    }

    #photo_service h2 {
        width: 39.73vw;
    }
    #photo_service h2 span.en:nth-of-type(2) {
        width: 32.83vw;
    }
    #photo_service h2 span.en:nth-of-type(3) {
        margin-top: 3.57vw;
    }
    #photo_service h2 span.jp {
        width: 26.63vw;
        margin-top: 5.77vw;
    }

    #photo_service .photo_service-wrap {
        width: 85.04vw;
        max-width: 85.04vw;
        margin: 13.63vw auto 0;
    }
    #photo_service .photo_service-wrap .photo_service-box {
        flex-direction: column;
    }
    #photo_service .photo_service-wrap .photo_service-box + .photo_service-box {
        margin-top: 19.87vw;
    }
    #photo_service .photo_service-wrap .photo_service-box .image-box {
        width: 100%;
    }
    #photo_service .photo_service-wrap .photo_service-box .text-box {
        width: 100%;
    }
    #photo_service .photo_service-wrap .photo_service-box .text-box h3 {
        width: 68.96vw;
        margin-top: 10.54vw;
    }
    #photo_service .photo_service-wrap .photo_service-box .text-box:nth-of-type(2) h3 {
        width: 74.63vw;
    }
    #photo_service .photo_service-wrap .photo_service-box .text-box p {
        margin-top: 8.19vw;

        font-size: 3.2vw;
    }

    #photo_service .photo_service-wrap .photo_service-box .text-box .btn-wrap {
        width: 47.15vw;
        max-width: 47.15vw;
        margin: 11.56vw auto 0;
    }
    #photo_service .photo_service-wrap .photo_service-box .text-box .btn-wrap a {
        font-size: 4vw;
    }
}
