@charset "utf-8";
:root{
    --font-serif: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
    --font-sans-serif: "Yu Gothic", YuGothic, "Hiragino Sans", "Meiryo", sans-serif;
}
.wed_header-fixed {
	margin-top: 60px;
}

html {
	scroll-behavior: smooth;
}
main{
    position: relative;
    /* max-width: 1420px; */
    min-width: 1140px;
    margin-inline: auto;
    text-align: center;
    font-size: 16px;
    color: #584b3a;
    small{
        display: block;
        font-size: 14px;
        line-height: 1.3;
    }
}
button{
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    font-family: inherit;
}
dt{
    font-weight: bold;
}
figure{
    margin: 0;
}
.w-1008{
    width: 90%;
    max-width: 1008px;
    margin-inline: auto;
}
.w-1120{
    width: 90%;
    max-width: 1120px;
    margin-inline: auto;
}
@media (min-width: 769px){
    .is-pc-block{
        display: block;
    }
}
@media (max-width: 768px){
    .base {
        img {
            max-width: 100%;
        }
    }
    main{
        min-width: auto;
        font-size: 16px;
        small{
            font-size: 12px;
        }
    }
}

.js-accordion-trigger{
    cursor: pointer;
}
.js-accordion-content {
  height: 0;
  overflow: hidden;
  transition: height 0.4s ease;
}
@media (min-width: 769px){
    .js-accordion-content {
        display: flex;
    }
}
@media (max-width: 768px){
    .js-accordion-content {
        display: block;
    }
}

/* Splideが初期化されていない状態でも表示を維持する */
.splide:not(.is-initialized) {
  visibility: visible;
}

.photo-details-header{
    width: 100%;
    max-width: 1420px;
    margin-inline: auto;
}
.mv{
    height: auto;
    aspect-ratio: 1420 / 610;
}
.mv-image-wrap{
    display: block;
    width: 100%;
    height: 100%;
}
.main-heading-wrap{
    margin-top: 160px;
    line-height: 1.3;
}
.main-title{
    color: #7b6446;
    font-family: var(--font-serif);
    font-weight: bold;
    line-height: 1.2;
    &.-line-1{
        font-size: 40px;
    }
    &.-line-2{
        font-size: 52px;
        letter-spacing: -0.1em;
    }
}
.main-heading.-line-3{
    width: fit-content;
    margin-inline: auto;
    margin-top: 20px;
    padding: 5px 45px 3px;
    color: #ffffff;
    font-size: 16px;
    background-color: #7b6446;
    &::before{
        content: "";
        position: relative;
        top: 2px;
        display: inline-block;
        width: 20px;
        height: auto;
        aspect-ratio: 20 / 16;
        margin-right: 10px;
        background: url(/wed/photo/details/images/icon-camera-white.webp) no-repeat center / 100%;
    }
}
@media (max-width: 768px){
    .mv{
        width: 100%;
        height: auto;
        aspect-ratio: 750 / 600;
    }
    .main-title{
        &.-line-1{
            font-size: 20px;
        }
        &.-line-2{
            margin-top: 8px;
            font-size: 31px;
        }
    }
    .main-heading-wrap{
        margin-top: 90px;
    }
    .main-heading{
        padding-inline: 20px;
    }
    .main-heading.-line-3{
        padding: 3px 30px;
        font-size: 13px;
        &::before {
            width: 16px;
        }
    }
}

.mv-splide{
    .splide__slide{
        width: 100%;
    }
    .splide__pagination{
        bottom: -80px;
        gap: 30px;
    }
    .splide__pagination__page{
        width: 30px;
        height: auto;
        aspect-ratio: 1 / 1;
        margin: 0;
        background-color: #dcd7c1;
        border-radius: 0;
    }
    .splide__pagination__page.is-active{
        transform: scale(1);
        background-color: #b4aa80;
    }
}
@media (max-width: 768px){
    .mv-splide {
        .splide__pagination{
            gap: 17px;
            bottom: -45px;
        }
        .splide__pagination__page {
            width: 17px
        }
    }
}

.sub-plan-links{
    display: flex;
    justify-content: center;
    gap: 20px 50px;
    padding-inline: 10px;
}
.sub-plan-link{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 300px;
    height: 60px;
    font-size: 18px;
    font-weight: bold;
    border: 2px solid #c2bdb7;
    transition: .1s ease-in-out;
    &::after{
        content: "";
        position: absolute;
        top: 20px;
        right: 20px;
        width: 10px;
        height: 10px;
        border-top: solid 2px #584b3a;
        border-right: solid 2px #584b3a;
        transform: rotate(135deg);
    }
    span{
        position: relative;
        left: -10px;
        line-height: 1.2;
    }
}
a.sub-plan-link{
    color: #584b3a;
}
@media (min-width: 769px){
    .sub-plan-link:hover{
        background-color: #c2bdb7;
    }
}
@media (max-width: 768px){
    .sub-plan-links{
        flex-wrap: wrap;
        align-items: stretch;
        justify-content: flex-start;
        gap: 10px;
        max-width: 570px;
        margin-inline: auto;
        padding-inline: 20px;
    }
    .sub-plan-link{
        width: calc(100% / 2 - 5px);
        height: 58px;
        padding-block: 10px;
        &::after{
            top: auto;
            bottom: 6px;
            left: 0;
            right: 0;
            margin-inline: auto;
            width: 6px;
            height: 6px;
        }
        span{
            top: -5px;
            left: 0;
            font-size: 14px;
        }
    }
}

section{
    padding-block: 100px;
}
.price, .schedule{
    background-color: #eef9f9;
}   
h2{
    margin-bottom: 60px;
}
.h2-jp{
    font-family: var(--font-serif);
}
h3{
    font-family: var(--font-sans-serif);
    font-size: 22px;
}
h3, h4{
    font-weight: bold;
}
.button-common[class*="-icon"] {
    span{
        *::before{
            display: none;
        }
        span{
            display: grid;
        }
    }
}
.button-unique{
    width: 90%;
    background-color: #80c5d9;
    border: 1px solid #80c5d9;
    line-height: 1.4;
}
@media (max-width: 768px){
    section{
        padding-block: 70px;
    }
    h2{
        margin-bottom: 30px;
    }
    .h2-jp{
        font-size: 26px;
    }
    h3{
        font-size: 20px;
    }
}

/* おすすめポイント
--------------------------------------*/
.point{
    margin-top: 85px;
    padding-block: 30px;
    background-color: #fbfbf0;
    border: 1px solid #f8f1e2;
    mark {
        background: linear-gradient(transparent 50%, #f9efc5 50%);
    }
}
.point-section-title{
    margin-bottom: 20px;
    font-size: 20px;
    font-weight: bold;
}
.point-text-list {
	width: fit-content;
	margin-inline: auto;
    text-align: left;
	li {
		height: 40px;
		font-size: 18px;
		strong {
			color: #c55e72;
		}
		&::before {
			content: "";
			display: inline-block;
			width: 13px;
			aspect-ratio: 1 / 1;
			background-image: url(/wed/photo/images/bullet-ster-pink.webp);
			background-size: 100%;
			margin-right: 5px;
		}
		&::after {
			content: "";
			display: block;
			margin-top: 5px;
			height: 1px;
			background-image: linear-gradient(to right, #d0cfcc 4px, transparent 2px);
			background-size: 6px 1px;
			/* 4px + 2px = 6px */
			background-repeat: repeat-x;
		}
	}
}
@media (max-width: 768px){
    .point{
        margin-top: 50px;
    }
    .point-section-title{
        margin-bottom: 10px;
        font-size: 16px;
    }
    .point-text-list {
        padding-inline: 20px;
		li {
			height: auto;
			padding-top: 12px;
			padding-left: 1em;
			text-indent: -1.1em;
			line-height: 1.5;
            font-size: 16px;
			&::after {
				margin-top: 10px;
			}
		}
        li:last-of-type::after{
            display: none;
        }
	}
}

.-icon-dress::before{
    background-image: url(../images/icon-dress.webp);
}
.-icon-makeup::before{
    background-image: url(../images/icon-makeup.webp);
}
.-icon-makeup_attendance::before, .-icon-hair_attendance::before{
    background-image: url(../images/icon-makeup_attendance.webp);
}
.-icon-groom_hair::before{
    background-image: url(../images/icon-groom_hair.webp);
}
.-icon-attendance::before{
    background-image: url(../images/icon-attendance.webp);
}
.-icon-data::before, .-icon-retouch::before, .-icon-data_add::before{
    background-image: url(../images/icon-data.webp);
}
.-icon-chapel::before{
    background-image: url(../images/icon-chapel.webp);
}
.-icon-chapel_photo::before{
    background-image: url(../images/icon-chapel_photo.webp);
}
.-icon-beach_photo::before{
    background-image: url(../images/icon-beach_photo.webp);
}
.-icon-garden_photo::before{
    background-image: url(../images/icon-garden_photo.webp);
}
.-icon-location_photo::before{
    background-image: url(../images/icon-location_photo.webp);
}
.-icon-twilight_photo::before, .-icon-sunset_photo::before{
    background-image: url(../images/icon-twilight_photo.webp);
}
.-icon-shuttle::before, .-icon-guest_shuttle::before{
    background-image: url(../images/icon-shuttle.webp);
}
.-icon-accessories::before{
    background-image: url(../images/icon-accessories.webp);
}
.-icon-bouquet::before{
    background-image: url(../images/icon-bouquet.webp);
}
.-icon-chapel_flower::before{
    background-image: url(../images/icon-chapel_flower.webp);
}
.-icon-light_meal::before{
    background-image: url(../images/icon-light_meal.webp);
}
.-icon-course_menu::before{
    background-image: url(../images/icon-course_menu.webp);
}
.-icon-second_dress::before{
    background-image: url(../images/icon-second_dress.webp);
}
.-icon-change::before{
    background-image: url(../images/icon-change.webp);
}
.-icon-priest::before{
    background-image: url(../images/icon-priest.webp);
}
.-icon-certificate::before{
    background-image: url(../images/icon-certificate.webp);
}
.-icon-bgm::before{
    background-image: url(../images/icon-bgm.webp);
}
.-icon-ceremony::before{
    background-image: url(../images/icon-ceremony.webp);
}
.-icon-camera::before{
    background-image: url(../images/icon-camera.webp);
}

/* ウエディングフォト費用
--------------------------------------*/
.price{
    margin-top: 90px;
    .h2-en{
        aspect-ratio: 86 / 44;
    }
    .h2-jp{
        margin-top: 15px;
    }
}
.price-block{
    scroll-margin-top: 80px;
}
.price-block + .price-block{
    margin-top: 100px;
}
.price-tab-list{
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 20px;
}
.price-tab{
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: calc(100% / 2 - 10px);
    height: 45px;
    background-color: #eae8df;
    font-size: 16px;
    color: #aca27a;
    transition: .1s ease-in-out;
}
.price-tab[aria-selected="true"]{
    height: 50px;
    background-color: #aca27a;
    color: #ffffff;
    cursor: default;
}
.price-panel{
    padding: 70px 20px 45px;
    background-color: #ffffff;
    border: 1px solid #aca27a;
}
.price-panel-title{
    padding-inline: 20px;
    font-family: var(--font-serif);
    font-size: 30px;
    line-height: 1.2;
}
.plan-price{
    display: flex;
    flex-direction: column;
}
.price-panel-title + .plan-price{
    margin-top: 40px;
}
.plan-price-title{
    span{
        font-size: 1.285em;
        font-weight: bold;
    }
}
.plan-price-content{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 15px 30px;
    padding-inline: 20px;
}
.plan-price-item{
    flex: 1;
}
.plan-price-text-title{
    font-size: 18px;
    font-weight: bold;
    line-height: 1.4;
}
.plan-price-text-title.-filled{
    padding-top: 25px;
}
.plan-price-item.-single{
    .plan-price-text-title{
        flex: none;
    }
}
.plan-price-content.-equal-height{
    .plan-price-item:not(.-single){
        .plan-price-text-wrap{
            display: flex;
            flex-direction: column;
            height: 100%;
        }
        .plan-price-text-title{
            flex: 1;
            display: flex;
            align-items: center;
            justify-content: center;
        }
    }
}
.plan-price-text{
    margin-top: 20px;
    font-size: 20px;
    line-height: 1;
    [class^="plan-price-"]{
        font-weight: bold;
        span{
            font-size: 1.8em;
        }
    }
    small{
        width: 275px;
        margin: 15px auto 0;
    }
}
.plan-included{
    margin-top: 50px;
    padding: 35px;
    background-color: #fbfbf7;
    text-align: left;
}
.plan-included-title{
    font-weight: bold;
}
.plan-included-content{
    margin-top: 30px;
}
.plan-included-list{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px 0;
}
.plan-included-item{
    position: relative;
    display: flex;
    flex-direction: column;
    padding-left: 40px;
    font-weight: bold;
    line-height: 1.2;
    min-height: 40px;
    white-space: nowrap;
    ._line-1{
        position: relative;
        &::before{
            content: "";
            position: absolute;
            left: -40px;
            top: -16px;
            width: 30px;
            height: 50px;
            background-repeat: no-repeat;
            background-position: center;
            background-size: 100%;
        }
    }
    ._line-2{
        margin-top: 5px;
        font-size: 0.75em;
        font-weight: normal;
    }
}
.plan-included-item.bouquet{
    letter-spacing: -0.1em;
}
.plan-overview{
    margin-top: 35px;
}
.plan-overview-title{
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #aca27a;
    color: #ffffff;
    font-weight: bold;
    transition: .1s ease-in-out;
}
.plan-overview-title.js-accordion-trigger{
    &::after{
        content: "▼";
        margin-left: 10px;
        transition: .2s ease-in-out;
    }
}
.plan-overview-title.js-accordion-trigger.is-active{
    &::after{
        content: "▲";
    }
}
.plan-overview-list{
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 25px;
    padding-inline: 35px;
    text-align: left;
    padding-top: 35px;
}
.plan-overview-item{
    display: flex;
    dt{
        width: 125px;
    }
    dd{
        flex: 1;
    }
}
.plan + .plan {
    margin-top: 100px;
}
.option{
    margin-top: 70px;
    padding-inline: 58px;
}
.option-section-title{
    margin-bottom: 55px;
}
.option-item{
    display: flex;
    gap: 40px;
    text-align: left;
}
.option-item + .option-item{
    margin-top: 60px;
}
.option-desc{
    flex: 1;
    p{
        line-height: 1.625;
    }
    p + p{
        margin-top: 20px;
    }
    P + small{
        margin-top: 5px;
    }
}
.option-desc-head{
    padding-bottom: 10px;
    margin-bottom: 18px;
    border-bottom: 2px solid #d8dccf;
}
.option-desc-heading{
    display: grid;
    font-weight: bold;
    line-height: 1;
}
.option-title{
    line-height: 1.3;
}
.option-plice{
    margin-top: 10px;
    font-size: 20px;
    span{
        font-size: 1.8em;
    }
}
@media (min-width: 769px){
    .price{
        .h2-en{
            width: 86px;
        }
    }
    .price-panel-title{
        br{
            display: none;
        }
    }
    .plan-price-item{
        max-width: 325px;
    }
    .plan-price-title {
        margin-bottom: 5px;
        font-size: 18px;
    }
    .plan-price-text-title{
        width: 275px;
        margin-inline: auto;
    }
    .plan-included-title{
        font-size: 18px;
    }
    .plan-overview-title{
        font-size: 18px;
        &:hover{
            background-color: #eae8df;
            color: #aca27a;
        }
    }
    .option-item:nth-of-type(even){
        flex-direction: row-reverse;
    }
    .option-image-wrap{
        flex: 0 0 460px;
    }

    .price-tab:hover{
        background-color: #aca27a;
        color: #ffffff;
    }
}
@media (max-width: 768px){
    .price{
        margin-top: 50px;
        .h2-en{
            width: calc( 122px / 2 );
        }
        .h2-jp {
            margin-top: 5px;
        }
    }
    .price-block + .price-block {
        margin-top: 30px;
    }
    .price-tab-list{
        gap: 5px;
    }
    .price-tab{
        height: 30px;
        max-width: calc(100% / 2 - 2.5px);
        font-size: 12px;
    }
    .price-tab[aria-selected="true"]{
        height: 30px;
    }
    .price-panel {
        padding: 38px 0 0;
    }
    .price-panel-title{
        font-size: 21px;
    }
    .plan-price-content{
        flex-direction: column;
        gap: 5px;
    }
    .price-panel-title + .plan-price{
        margin-top: 23px;
    }
    .plan-price-item {
        line-height: 1.4;
    }
    .plan-price-text-title{
        font-size: 15px;
    }
    .plan-price-text{
        margin-top: 10px;
        font-size: 18px;
        small{
            margin-top: 7px;
        }
    }
    .plan-included{
        position: relative;
        width: 94%;
        margin: 30px auto 0;
        padding: 20px 10px;
    }
    .plan-included-title{
        margin-left: 5px;
    }
    .plan-included-content{
        margin-top: 20px;
    }
    .plan-included-list{
        grid-template-columns: repeat(2, 1fr);
        gap: 25px 5px;
    }
    .plan-included-item{
        min-height: 35px;
        padding-left: 30px;
        font-size: clamp(14px, calc(28 / 750 * 100vw), 15px);
        ._line-1 {
            &::before {
                left: -28px;
                width: 22px;
            }
        }
    }
    .plan-overview{
        margin-top: 25px;
    }
    .plan-overview-title {
        height: 35px;
    }
    .plan-overview-list{
        flex: none;
        padding: 25px 20px 20px;
        gap: 20px;
    }
    .plan-overview-list + .plan-overview-list{
        padding-top: 0;
    }
    .plan-overview-item{
        flex-direction: column;
    }
    .option{
        margin-top: 35px;
        padding: 0;
    }
    .option-section-title{
        margin-bottom: 25px;
    }
    .option-item{
        flex-direction: column;
        gap: 20px;
    }
    .option-item + .option-item {
        margin-top: 35px;
    }
    .option-desc{
        p{
            line-height: 1.56;
        }
        small{
            font-size: 14px;
        }
    }
    .option-desc-title{
        font-size: 15px;
    }
    .option-plice{
        font-size: 18px;
    }
    .plan-included-item.change{
        white-space: nowrap;
        letter-spacing: -0.05em;
    }
}
@media (max-width: 375px){
    .plan-price-text{
        font-size: 16px
    }
}

/* フォトギャラリー
--------------------------------------*/
.gallery{
    .h2-en{
        aspect-ratio: 175 / 76;
    }
    .h2-jp{
        margin-top: -15px;
    }
}
.gallery-list{
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
    img{
        object-fit: cover;
        height: 100%;
    }
}
@media (min-width: 769px){
   .gallery{
        .h2-en{
            width: 175px;
        }
    } 
}
@media (max-width: 768px){
    .gallery {
        .h2-en{
            width: calc( 252px / 2 );
        }
    }
    .gallery-list{
        grid-template-columns: repeat(3, 1fr);
        gap: 10px;
    }
}
.pswp__bg{
    background: #584b3a;
}
.pswp__icn-shadow{
    stroke: #584b3a;
}
.pswp__zoom-wrap {
    aspect-ratio: 680 / 412;
    max-width: 680px;
    max-height: 412px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(0,0,0,.2);
}

.pswp__img {
    aspect-ratio: 680 / 412;
    max-width: 680px;
    max-height: 412px;
    object-fit: contain;
    display: block;
}
.pswp--ui-visible{
    opacity: 1;
    transition: .3s ease-in-out;
}
.pswp__icn-shadow{
    stroke: none;
}
.pswp__icn{
    fill: #ffffff;
}
.pswp__button {
    transition: .1s ease-in-out !important;
}
.pswp-caption-content{
    display: none;
}
.pswp__custom-caption{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, 212px);
    margin-top: 0;
    padding: 0;
    color: #ffffff;
}
.pswp--zoom-allowed .pswp__button--zoom {
    display: none;
}
@media (min-width: 769px){
    .pswp__top-bar{
        height: 100vh;
    }
    .pswp__button--close{
        right: 50%;
        top: 50%;
        transform: translate(420px, -280px);
        margin-right: 0;
        &:hover{
            transform: translate(420px, -282px);
        }
        .pswp__icn{
            width: 50px;
            height: 50px;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
        }
    }
    .pswp__button--arrow--prev{
        left: 50%;
        transform: translateX(-430px);
    }
    .pswp__button--arrow--next{
        right: 50%;
        transform: translateX(430px);
    }
    .pswp__button:hover .pswp__icn{
        fill: #eef9f9;
    }
    .pswp__button--arrow--prev:hover{
        transform: translateX(-432px);
    }
    .pswp__button--arrow--next:hover{
        transform: translateX(432px);
    }
    .pswp__custom-caption{
        width: 680px;
    }
}
@media (min-width: 769px) and (max-width: 930px){
    .pswp__button--close {
        transform: translate(370px, -280px);
    }
}
@media (max-width: 930px){
    .pswp__button--arrow{
        display: none;
    }
}
@media (max-width: 768px){
    .pswp__custom-caption{
        width: 680px;
        transform: translate(-50%, 220px);
    }
}
@media (max-width:680px){
    .pswp__custom-caption{
        width: 100%;
        padding-right: 10px;
        transform: translate(-50%, calc( 216 / 680 * 100vw ));
    }
}


/* 撮影スケジュール（一例）
--------------------------------------*/
.schedule{
    .h2-en{
        aspect-ratio: 180 / 50;
    }
    .h2-jp{
        margin-top: 10px;
    }
}
.schedule-list{
    width: 100%;
    max-width: 840px;
    margin-inline: auto;
}
.schedule-item + .schedule-item{
    margin-top: 50px;
}
.schedule-item:nth-child(n+2) {
    position: relative;
    &::before{
        content: "";
        position: absolute;
        top: -32px;
        left: 50%;
        transform: translateX(-50%);
        width: 56px;
        height: 16px;
        background: #a3c3cd;
        clip-path: polygon(0 0, 50% 100%, 100% 0);
    }
}
.schedule-item-title{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 50px;
    color: #ffffff;
    background-color: #aca27a;
}
.schedule-item-desc{
    padding: 35px;
    background-color: #ffffff;
    text-align: left;
}
.schedule-time-list{
    display: grid;
    gap: 30px;
}
.schedule-time-item{
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding-left: 35px;
}
.schedule-time-desc{
    display: flex;
    .left-item{
        width: 60px;
        font-weight: bold;
    }
    .right-item{
        flex: 1;
    }
}
.schedule-time-item[class*="-icon"]{
    position: relative;
    &::before{
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 35px;
        height: 100%;
        background-repeat: no-repeat;
        background-position: top 3px left;
    }
}
.schedule-time-item.-icon-attendance{
    &::before{
        background-size: 28px;
    }
}
.schedule-time-item.-icon-makeup{
    &::before{
        background-size: 23px;
    }
}
.schedule-time-item.-icon-camera{
    &::before{
        background-size: 21px;
    }
}
@media (min-width: 769px){
   .schedule{
        .h2-en{
            width: 180px;
        }
    }
    .schedule-item-title{
        font-size: 18px;
    }
}
@media (max-width: 768px){
    .schedule {
        .h2-en{
            width: calc( 256px / 2 );
        }
        .h2-jp {
            margin-top: 0px;
        }
    }
    .schedule-section-title{
        text-align: left;
    }
    .schedule-item-title{
        height: 35px;
    }
    .schedule-item-desc{
        padding: 20px 10px 20px 15px;
    }
    .schedule-time-item{
        grid-template-columns: 1fr;
        padding-left: 32px;
    }
    .schedule-time-desc{
        flex-direction: column;
    }
    .schedule-time-image-wrap{
        margin-top: 12px;
    }
    
    .schedule-time-item[class*="-icon"]{
        &::before{
            width: 30px;
        }
    }
}

/* その他詳細
--------------------------------------*/
.other-section-title-wrap{
    margin-bottom: 55px;
    font-size: 22px;
    font-weight: bold;
    line-height: 1.5;
}
.other-list{
    dd{
        margin-top: 30px;
        text-align: left;
    }
    dd + dt{
        margin-top: 65px;
    }
}
@media (max-width: 768px){
    .other-section-title-wrap {
        margin-bottom: 30px;
        font-size: 20px;
    }
    .other-list {
        dt{
            font-size: 15px;
        }
        dd {
            margin-top: 15px;
            font-size: 15px;
        }
    }
    .other-list {
        dd + dt {
            margin-top: 35px;
        }
    }
}

.plaza_and_desk{
    margin-top: 100px;
}
@media (max-width: 768px){
    .plaza_and_desk{
        margin-top: 70px;
    }
}

/*
   ボタン対応
    /wed/photo/maldives/couture_naoco/
    /wed/photo/hawaii/watabe_wedding_lavie_factory/
    /wed/photo/hokkaido/hitsujigaoka_blanc_birch_chapel_plan/
*/
@media (min-width: 769px){
    .couture_naoco{
        .sub-plan-link{
            width: 410px;
        }
        #price2-panel-1{
            .price-panel-title br{
                display: block;
            }
        }
    }
    .hitsujigaoka_blanc_birch_chapel_plan{
        .sub-plan-link{
            max-width: 360px;
            width: calc( 100% / 3 - 25px );
        }
    }
}
@media (min-width: 769px){
    .watabe_wedding_lavie_factory{
        .sub-plan-links{
            flex-wrap: wrap;
        }
        .sub-plan-link{
            width: 500px;
        }
    }
}
@media (max-width: 768px){
    .couture_naoco, .hitsujigaoka_blanc_birch_chapel_plan, .watabe_wedding_lavie_factory{
        .sub-plan-links{
            flex-direction: column;
        }
        .sub-plan-link {
            width: 100%;
            max-width: 280px;
            margin-inline: auto;
        }
    }
    .watabe_wedding_lavie_factory{
        .sub-plan-link {
            max-width: 350px;
        }
    }
}

/*
   「基本情報・その他」対応
    /wed/photo/hokkaido/hitsujigaoka_blanc_birch_chapel_plan/
*/
@media (min-width: 769px){
    .hitsujigaoka_blanc_birch_chapel_plan{
        .plan-overview-item.-other{
            width: calc( 200% + 70px );
            margin-left: calc( -100% - 70px );
            margin-top: 25px;
        }
        #plan-3{
            .plan-overview-item.-other{
                margin-top: 50px;
            }
        }
    }
}