main.fs-l-main {
    padding: 0;
    width: 100%;
        max-width: none;
}

p + p {
    margin-top: 1.5em;
}
/*====================================================
////id |  page_title
====================================================*/
#page_title {
    background: url('../img/kodawari/title_bg.webp') no-repeat center / cover;
    position: relative;
}
#page_title::before {
    content: '';
    display: block;
    backdrop-filter: blur(3px);
    margin: auto;
    position: absolute;
        top: 0;
        left: 0;
    width: 100%;
    height: 100%;
}
.page_title-inner {
    display: flex;
        align-items: center;
        justify-content: center;
}
.page_title-head {
    line-height: 1.4;
    text-align: center;
    text-shadow: 0 0 1em #fff, 0 0 1em #fff, 0 0 1em #fff, 0 0 1em #fff, 0 0 1em #fff, 0 0 1em #fff, 0 0 1em #fff, 0 0 .5em #fff, 0 0 .5em #fff, 0 0 .5em #fff, 0 0 .5em #fff, 0 0 .3em #fff, 0 0 .3em #fff, 0 0 .3em #fff, 0 0 .3em #fff, 0 0 .3em #fff, 0 0 .3em #fff, 0 0 .3em #fff, 0 0 .3em #fff, 0 0 .3em #fff, 0 0 .3em #fff, 0 0 .3em #fff;
}
.page_title-head::after {
    display: none;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769.0px) {
    #page_title::before {
        backdrop-filter: blur(1px);
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769.1px) {
    .page_title-inner {
        min-height: min(35vw, 400px);
    }
    .page_title-head {
        font-size: min(4.5vw, 50px);
    }
}

@media (hover: hover) {}

/*====================================================
////id |  about
====================================================*/
#about {
    overflow: hidden;
}
.about-inner {
    padding: min(15vw, 140px) 0;
}
.about-inner::before {
    background: url('../img/kodawari/about-1.webp') no-repeat top right / contain;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: min(5vw, 90px);
    height: calc(100% - min(8vw, 120px));
}
.about-inner::after {
    background: url('../img/kodawari/about-2.webp') no-repeat bottom left / contain;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        bottom: min(3vw, 50px);
    height: calc(100% - min(12vw, 200px));
}
.about-content {
    position: relative;
    text-align: center;
}
.about-head {
    color: var(--color_1);
    font-size: min(5.5vw, 30px);
    line-height: 2;
    margin-bottom: 1em;
}
.about-text {
    line-height: 2.3;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769.0px) {
    .about-inner {
        max-width: 600px;
    }
    .about-inner::before {
        left: calc(min(12vw, 380px) * -1);
        width: min(26vw, 500px);
    }
    .about-inner::after {
        right: calc(min(12vw, 350px) * -1);
        width: min(26vw, 540px);
    }
    .about-inner::before {
        top: 21vw;
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769.1px) {
    .about-inner::before {
        left: calc(min(16vw, 380px) * -1);
        width: min(37vw, 500px);
    }
    .about-inner::after {
        right: calc(min(15vw, 350px) * -1);
        width: min(35vw, 540px);
    }
    .about-text {
        font-size: 18px;
    }
}

@media (hover: hover) {}

/*====================================================
////id |  history
====================================================*/
#history {
    background: url('../img/kodawari/history_bg.webp') no-repeat center / cover;
    overflow: hidden;
}
.history-inner {
    display: flex;
        justify-content: center;
}
.history-content {
    background-color: #fff;
    border-radius: 2em;
    padding: min(13vw, 75px) min(5vw, 80px);
    position: relative;
    text-align: center;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 960.0px) {
    .history-img {
        display: flex;
            gap: min(3vw, 20px);
        margin: min(7vw, 40px) auto 0;
        max-width: 500px;
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 960.1px) {
    .history-text {
        line-height: 2.3;
    }
    .history-img figure {
        margin: auto;
        position: absolute;
        width: min(23vw, 250px);
    }
    .history-img figure:nth-child(1) {
        bottom: 180px;
        left: calc(100% - min(12vw, 100px));
    }
    .history-img figure:nth-child(2) {
        top: 260px;
        right: calc(100% - min(8vw, 80px));
    }
}

@media (hover: hover) {}

/*====================================================
////id |  day365
====================================================*/
#day365 {
    overflow: hidden;
    position: relative;
    z-index: 5;
}
.day365-inner {
    padding-bottom: 0;
}
.day365-head-wrapper {
    position: relative;
}
.day365-head-wrapper::before {
    background: url('../img/kodawari/day365-deco.webp') no-repeat right top / contain;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: -20px;
        right: calc(min(6vw, 120px) * -1);
    width: 80%;
    height: 100%;
}
.day365-head {
    color: var(--color_2);
    margin-bottom: -.15em;
    line-height: 1;
    position: relative;
    z-index: 5;
}
.day365-head > span {
    display: inline-block;
    line-height: 1;
}
.day365-text {
    line-height: 2;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 960.0px) {
    .day365-head {
        font-size: min(16vw, 100px);
    }
    .day365-img {
        margin: 0 0 0 auto;
        width: min(80%, 650px);
    }
    .day365-img .coverImg {
        padding-top: min(60vw, 200px);
    }
    .day365-text {
        margin-top: 2em;
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 960.1px) {
    .day365-inner {
        display: grid;
            grid-gap: min(4vw, 80px);
            grid-template-columns: 1fr min(40%, 400px);
    }
    .day365-head {
        font-size: min(12.5vw, 145px);
        margin-top: -.15em;
    }
    .day365-img .coverImg {
        padding-top: 100%;
    }
    .day365-text {
        display: flex;
            align-items: center;
        grid-column: 1;
        grid-row: 1;
        line-height: min(3.5vw, 2.6em);
    }
}
@media screen and (min-width: 1200.1px) {
    .day365-inner {
        grid-gap: 80px;
    }
}
@media (hover: hover) {}

/*====================================================
////id |  detail
====================================================*/
#detail::before {
    background: linear-gradient(rgba(249, 245, 224, 0), rgba(249, 245, 224, 1) min(20vw, 150px), rgba(249, 245, 224, 1) calc(100% - min(15vw, 100px)), rgba(249, 245, 224, 0));
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: min(3vw, 30px);
        left: 0;
        bottom: 0;
    width: 100%;
    height: calc(100% - min(3vw, 30px));
}
.detail-head {
    margin-bottom: .5em;
    position: relative;
    text-align: center;
}
.detail-head::after {
    background: url('../img/kodawari/detail-deco.webp') no-repeat right bottom / contain;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
    height: 100%;
}
.detail-item-wrapper {
    display: grid;
        grid-gap: min(10vw, 60px);
}
.detail-item-title {
    color: var(--color_1);
    font-size: min(6vw, 30px);
    margin-bottom: .6em;
    text-align: center;
}
.detail-item-img .coverImg {
    border-radius: 10px;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769.0px) {
    .detail-inner {
        padding: min(20vw, 120px) 0;
    }
    .detail-head {
        font-size: min(6.5vw, 35px);
        margin-bottom: 1em;
    }
    .detail-head::after {
        right: 0;
        bottom: -1em;
        width: min(17vw, 160px);
    }
    .detail-item-img .coverImg {
        margin-bottom: 1.5em;
        padding-top: min(50vw, 230px);
    }
}
@media screen and (max-width: 600.0px) {
    .detail-head::after {
        right: -3vw;
        bottom: -.6em;
        width: min(15vw, 160px);
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769.1px) {
    .detail-head {
        font-size: min(4vw, 38px);
        min-height: 3em;
    }
    .detail-head::after {
        right: -3vw;
        bottom: calc(min(5vw, 30px) * -1);
        width: min(13vw, 150px);
    }
    .detail-item-content {
        display: flex;
            gap: min(3.5vw, 40px);
        margin-top: 1.5em;
    }
    .detail-item:nth-child(even) .detail-item-content {
        flex-direction: row-reverse;
    }
    .detail-item-img {
        width: min(40%, 420px);
    }
    .detail-item-img .coverImg {
        padding-top: 66.666%;
        height: 100%;
    }
    .detail-item-text {
        display: flex;
            align-items: center;
        flex: 1;
        line-height: 2.3;
    }
}
@media print, screen and (min-width: 1200.1px) {
    .detail-head::after {
        right: 0;
        bottom: 0;
    }
}


@media (hover: hover) {}

/*====================================================
////id |  gift
====================================================*/
.gift-inner {
    padding-top: min(5vw, 30px);
}
.gift-wrapper {
    padding: min(2vw, 16px);
    position: relative;
    text-align: center;
}
.gift-wrapper::before,
.gift-wrapper::after {
    border: solid var(--color_1);
    border-width: 1px 0 1px 1px;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
    width: min(15vw, 90px);
    height: 100%;
}
.gift-wrapper::before {
    left: 0;
}
.gift-wrapper::after {
    right: 0;
    transform: scale(-1, 1);
}
.gift-content {
    background-color: var(--color_4);
    padding: min(10vw, 65px) min(4vw, 50px);
    position: relative;
    z-index: 5;
}
.gift-content::before {
    background: url('../img/gift/giftitem-about_deco-1.svg') no-repeat center / contain;
    content: '';
    display: block;
    position: absolute;
        top: calc(min(4vw, 30px) * -1);
        right: calc(min(3vw, 40px) * -1);
    transform: rotate(25deg);
    width: min(15vw, 150px);
    height: min(15vw, 150px);
}
.gift-content::after {
    background: url('../img/gift/giftitem-about_deco-2.svg') no-repeat center / contain;
    content: '';
    display: block;
    position: absolute;
        top: 50%;
        left: calc(min(4vw, 40px) * -1);
    transform: rotate(-25deg);
    width: min(15vw, 140px);
    height: min(15vw, 140px);
}

.gift-head {
    display: grid;
    margin-bottom: .6em;
}
.gift-head .sub {
    font-size: .55em;
}
.gift-accent_text {
    color: var(--color_1);
    font-family: var(--f_serif);
    font-weight: 500;
    margin-bottom: 1em;
}
.gift-text::after {
    background: url('../img/gift/giftitem-about_deco-3.svg') no-repeat right bottom / contain;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        bottom: 10px;
        right: -10px;
    width: min(17vw, 160px);
    height: min(16vw, 160px);
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769.0px) {
    .gift-head {
        font-size: min(6vw, 38px);
    }
    .gift-accent_text {
        font-size: min(4.4vw, 25px);
        letter-spacing: 0;
    }
}
@media screen and (max-width: 600.0px) {
    .gift-text {
        font-size: .9em;
    }
    .gift-text::after {
        right: -5vw;
        bottom: -1.5vw;
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769.1px) {
    .gift-head {
        font-size: 38px;
    }
    .gift-accent_text {
        font-size: min(2.6vw, 25px);
    }
    .gift-text {
        line-height: min(3.5vw, 2.6em);
    }
}
@media screen and (min-width: 1200.1px) {
    .gift-content::before {
        right: min(8vw, 100px);
    }
    .gift-content::after {
        left: min(2vw, 40px);
    }
}



@media (hover: hover) {}

/*====================================================
////id |  xxx
====================================================*/

/* ////////// mobile ////////// */
@media screen and (max-width: 769.0px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769.1px) {
}

@media (hover: hover) {}
