/***********************************************************
weddingreport
************************************************************/
.wedding_report {
    padding-top: 60px;
}
/*タイトル周り*/
.wedding_report__title {
    text-align: center;
}
.wedding_report__title-en {
    font-family: Futura, Jost;
    font-size: 22px;
    color: #222;
    line-height: normal;
}
.wedding_report__title-jp {
    font-size: 12px;
    color: #9D9D9D;
    line-height: normal;
    font-family: "Yu Gothic", "Noto Sans JP", "YuGothic", "Hiragino Kaku Gothic ProN", sans-serif;
}

/*タブボタン*/
.weddding_report__tabbtns{
    border-bottom: 1px solid #536A80;
    display: flex;
    justify-content: center;
    margin-top: 48px;
}
@media (max-width: 768px) {
    .weddding_report__tabbtns {
        margin-top: 24px;
    }
}
.weddding_report__tabbtns input {
    display: none;
}
.weddding_report__tabbtns label {
    border: solid #536A80;
    border-width: 1px 1px 0px 1px;
    color:#536A80;
    text-align: center;
    padding: 5px 0;
    width: calc(160/1440*100vw);
    min-width: 160px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    flex-direction: column;
    cursor: pointer;
}
@media (max-width: 834px) {
    .weddding_report__tabbtns label {
        width: 33.3%;
        min-width: initial;
    }
}
.weddding_report__tabbtns label+label {
    margin-left: -1px;
    width: calc(160/1440*100vw+1px);
}
@media (max-width: 834px) {
    .weddding_report__tabbtns label+label {
        width: calc(33.3%+1px);
    }
}
.weddding_report__tabbtns label .title_en{
    font-size: 18px;
    font-family: Futura, Jost;
    border-bottom: 1px solid #536A80;
    display: inline-block;
    width: min-content;
    margin: 0 auto;
    line-height: 1;
    padding-bottom: 5px;
    flex-shrink: 0;
}
.weddding_report__tabbtns label .title_ja {
    font-size: 10px;
    text-align: center;
    font-family: "Yu Gothic", "Noto Sans JP", "YuGothic", "Hiragino Kaku Gothic ProN", sans-serif;
    padding-top: 5px;
}
.weddding_report__tabbtns label:has(:checked) {
    background-color: #536A80;
    color: #FFF;
}
.weddding_report__tabbtns label:has(:checked) .title_en {
    border-color: #FFF;
}
/*タブwrap*/
.weddding_report__tabbody{
    display: none;
    background-color: #F5F5F5;
    padding: 80px 0;
}
@media (max-width: 834px) {
    .weddding_report__tabbody {
        padding: calc(50/375*100vw) 0 calc(60/375*100vw);
    }
}
@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}
/*タブ開閉ロジック*/
.weddding_report__tabbtns:has(.radio1:checked) ~ .weddding_report__tab01,
.weddding_report__tabbtns:has(.radio2:checked)~.weddding_report__tab02,
.weddding_report__tabbtns:has(.radio3:checked)~.weddding_report__tab03{
    display: block;
    animation: fadeIn 0.5s ease-in-out forwards;
}


/*タブ内固有パーツ
**************************************************************/
.weddingreport__wrap {
    text-align: center;
}

.weddingreport__wrap img{
    width: 100%;
    height: auto;
}

.weddingreport__subtitle {
    color: #565452;
    font-family: 'Noto Sans';
    font-size: 22px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    display: inline-block;
    margin: 0 auto;
    text-align: left;
}

@media (max-width: 834px) {
    .weddingreport__subtitle {
        font-size: calc(22 / 390 * 100vw);
    }
}

.weddingreport__subtitle br {
    display: none;
}

@media (max-width: 834px) {
    .weddingreport__subtitle br {
        display: initial;
    }
}

.weddingreport__subtitle_en {
    text-align: left;
    color: #A4A29F;
    font-family: 'Noto Sans';
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    margin-top: 9px;
}

@media (max-width: 834px) {
    .weddingreport__subtitle_en {
        font-size: calc(18 / 390 * 100vw);
        margin-top: calc(9 / 390 * 100vw);
    }
}

.weddingreport__schedule_head {
    width: calc(556 / 1440 * 100vw);
    margin: 50px auto 0;
}

@media (max-width: 834px) {
    .weddingreport__schedule_head {
        width: 100%;
    }
}

.weddingreport__schedule_body {
    width: calc(330 / 1440 * 100vw);
    padding-top: 40px;
    padding-left: calc(24 / 1440 * 100vw);
    padding-right: calc(26 / 1440 * 100vw);
    padding-bottom: 24px;
    border-left: #fff solid calc(2 / 1440 * 100vw);
    margin: 0 auto;
}

@media (max-width: 834px) {
    .weddingreport__schedule_body {
        width: calc(272 / 390 * 100vw);
        padding-top: calc(50 / 390 * 100vw);
        padding-left: calc(24 / 390 * 100vw);
        padding-right: calc(26 / 390 * 100vw);
        padding-bottom: calc(9 / 390 * 100vw);
        border-left: #fff solid calc(2 / 390 * 100vw);
    }
}

.weddingreport__schedule_title {
    margin-left: calc(-29 / 1440 * 100vw);
    color: #000;
    font-family: 'Noto Sans';
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 150%;
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: max-content;
}

@media (max-width: 834px) {
    .weddingreport__schedule_title {
        font-size: calc(14 / 390 * 100vw);
        margin-left: calc(-29 / 390 * 100vw);
    }
}

.weddingreport__schedule_title::before {
    content: "";
    width: 8px;
    height: 8px;
    aspect-ratio: 1/1;
    display: block;
    background-color: #B1AFAC;
    margin-right: 19px;
    border-radius: 50%;
}

@media (max-width: 834px) {
    .weddingreport__schedule_title::before {
        width: calc(8 / 390 * 100vw);
        height: calc(8 / 390 * 100vw);
        margin-right: calc(19 / 390 * 100vw);
    }
}

.weddingreport__schedule_title+img {
    margin-top: 13.67px;
}

@media (max-width: 834px) {
    .weddingreport__schedule_title+img {
        margin-top: calc(17/390*100vw);
    }
}

.weddingreport__schedule_body img+.weddingreport__schedule_title {
    margin-top: 28.33px;
}

@media (max-width: 834px) {
    .weddingreport__schedule_body img+.weddingreport__schedule_title {
        margin-top: calc(62/390*100vw);
    }
}

.weddingreport__gallery_title {
    color: #565452;
    text-align: center;
    font-family: Futura;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 150%;
    margin-top: 50px;
}

@media (max-width: 834px) {
    .weddingreport__gallery_title {
        font-size: calc(20 / 390 * 100vw);
        margin-top: calc(50 / 390 * 100vw);
    }
}

.weddingreport__gallery_wrap {
    padding: 30px 14px;
    background-color: #FFF;
    width: calc(670 / 1440 * 100vw);
    min-width: 670px;
    margin: 20px auto 0;
}

@media (max-width: 834px) {
    .weddingreport__gallery_wrap {
        padding: calc(30 / 390 * 100vw) calc(14 / 390 * 100vw);
        width: calc(308 / 390 * 100vw);
        min-width: initial;
        margin: calc(20 / 390 * 100vw) auto 0;
    }
}

.weddingreport__gallery {
    display: flex;
    align-items: flex-start;
    align-content: flex-start;
    gap: 8.51px;
    flex-wrap: wrap;
}

@media (max-width: 834px) {
    .weddingreport__gallery {
        gap: calc(8.51 / 390 * 100vw)
    }
}

.jscroll .weddingreport__gallery {
    margin-top: 8.51px;
}

@media (max-width: 834px) {
    .jscroll .weddingreport__gallery {
        margin-top: calc(8.51 / 390 * 100vw);
    }
}

.weddingreport__gallery li {
    width: 15.5%;
}

@media (max-width: 834px) {
    .weddingreport__gallery li {
        width: 31%;
    }
}

.jscroll-loading {
    width: 50px;
    margin: auto;
}

.weddingreport__gallery_wrap .btn {
    margin: 30px auto 0;
    font-size: 16px;
    color: #565452;
    font-weight: 700;
    font-family: 'Noto Sans';
    width: 100%;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 834px) {
    .weddingreport__gallery_wrap .btn {
        margin: calc(30 / 390 * 100vw) auto 0;
        font-size: calc(16 / 390 * 100vw);
    }
}

.weddingreport__gallery_wrap .btn::after {
    content: "";
    background: url(../../images/familykon/ico_plus.svg) center/contain no-repeat;
    width: 23px;
    height: 23px;
    margin-left: 10px;
    display: block;
}

@media (max-width: 834px) {
    .weddingreport__gallery_wrap .btn::after {
        width: calc(23 / 390 * 100vw);
        height: calc(23 / 390 * 100vw);
        margin-left: calc(10 / 390 * 100vw);
    }
}