/*
 * B案「島の余白」
 * 海の水平線、白い余白、ゆるやかな曲線で友ヶ島への小旅行を表現。
 * 元ページの内容と既存画像は変更せず、見せ方だけを上書きする。
 */
.ikou-design-b {
    --b-ink: #17303b;
    --b-blue: #295f78;
    --b-sky: #dcebf0;
    --b-foam: #f7faf8;
    --b-sand: #e8e3d5;
    --b-line: rgba(23, 48, 59, .2);
    overflow: hidden;
    color: var(--b-ink);
    background: var(--b-foam);
    font-family: "Zen Maru Gothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
    font-size: 18px;
    line-height: 2;
}

.ikou-design-b *,
.ikou-design-b *::before,
.ikou-design-b *::after {
    box-sizing: border-box;
}

.ikou-design-b > section {
    position: relative;
}

.ikou-design-b > section:not(:first-child) .spnewsContents {
    width: min(1100px, calc(100% - 48px));
    margin: 0 auto;
    padding: 116px 0;
}

.ikou-design-b img {
    display: block;
    max-width: 100%;
    height: auto;
}

.ikou-design-b p {
    margin: 0 0 1.5em;
}

.ikou-design-b .fontsize_l {
    color: var(--b-blue);
    font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: 1.35em;
}

/* Hero */
.ikou-design-b > section:first-child {
    min-height: 88vh;
    background-position: center 43%;
}

.ikou-design-b > section:first-child::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(6, 29, 42, .08) 15%, rgba(6, 29, 42, .56) 100%);
}

.ikou-design-b > section:first-child::after {
    content: "";
    position: absolute;
    left: -10%;
    bottom: -10rem;
    width: 72%;
    height: 18rem;
    border: 2px solid rgba(255,255,255,.72);
    border-radius: 50%;
    transform: rotate(-4deg);
}

.ikou-design-b .ikou_top {
    position: relative;
    z-index: 1;
    width: min(1180px, calc(100% - 48px));
    height: 88vh;
    margin: 0 auto;
    padding: 0;
}

.ikou-design-b .ikou_title {
    width: 100%;
    align-items: flex-end;
    justify-content: flex-end;
    padding-bottom: 7vh;
}

.ikou-design-b .ikou_title::before {
    content: "聖護院の山伏と、海から修験の道へ";
    position: absolute;
    left: 1rem;
    bottom: 8vh;
    max-width: 15em;
    color: #fff;
    font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: clamp(1.4em, 3vw, 2.8em);
    line-height: 1.55;
    letter-spacing: .1em;
}

.ikou-design-b .ikou_title img {
    width: min(25vw, 290px);
    height: auto;
    max-height: 62vh;
    margin-right: 5%;
    filter: drop-shadow(0 6px 5px rgba(0,0,0,.55));
}

/* Intro */
.ikou-design-b > section:nth-of-type(2) {
    background: var(--b-foam);
}

.ikou-design-b > section:nth-of-type(2)::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--b-blue), transparent);
    opacity: .22;
}

.ikou-design-b > section:nth-of-type(2) .spnewsContents {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    column-gap: clamp(48px, 8vw, 110px);
    row-gap: 0;
    text-align: left;
}

.ikou-design-b > section:nth-of-type(2) .spnewsContents > p {
    grid-column: 2;
}

.ikou-design-b .title-m-fix,
.ikou-design-b .title-l-fix {
    margin: 0 0 52px;
    color: var(--b-blue);
    font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: clamp(1.8em, 3.7vw, 3.15em);
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: .08em;
}

.ikou-design-b .ikou_subtitle_b {
    display: block;
    padding: 0 0 20px;
    border: 0;
    border-bottom: 1px solid var(--b-blue);
    border-radius: 0;
    text-align: left;
}

.ikou-design-b > section:nth-of-type(2) .title-m-fix {
    grid-column: 1;
    grid-row: 1 / span 4;
    align-self: start;
}

/* Story */
.ikou-design-b > section:nth-of-type(3) {
    background: linear-gradient(180deg, var(--b-sky) 0 55%, var(--b-foam) 55% 100%);
}

.ikou-design-b > section:nth-of-type(3) .spnewsContents {
    width: 100%;
    padding: 0;
}

.ikou-design-b > section:nth-of-type(3) > .spnewsContents > .title-m-fix {
    width: min(1100px, calc(100% - 48px));
    margin: 0 auto;
    padding: 120px 0 0;
}

.ikou-design-b .spnews-column {
    padding: 76px 0 124px;
}

.ikou-design-b .spnews-column-inner {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
    gap: 8%;
    align-items: center;
}

.ikou-design-b > section:nth-of-type(3) .spnews-column-Main img {
    width: 100%;
    min-height: 420px;
    object-fit: cover;
}

.ikou-design-b > section:nth-of-type(3) .spnews-column:nth-of-type(1) img {
    border-radius: 0 45% 0 0;
}

.ikou-design-b > section:nth-of-type(3) .spnews-column:nth-of-type(2) {
    background: var(--b-foam);
}

.ikou-design-b > section:nth-of-type(3) .spnews-column:nth-of-type(2) .spnews-column-inner {
    flex-direction: row-reverse;
}

.ikou-design-b > section:nth-of-type(3) .spnews-column:nth-of-type(2) img {
    border-radius: 0 0 48% 0;
}

/* Gallery */
.ikou-design-b > section:nth-of-type(4) .spnewsContents {
    width: min(1180px, calc(100% - 48px));
    text-align: left;
}

.ikou-design-b > section:nth-of-type(4) .spnews-column {
    padding: 0;
}

.ikou-design-b > section:nth-of-type(4) .spnews-column-inner {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 28px;
    width: 100%;
}

.ikou-design-b > section:nth-of-type(4) .spnews-column-Main {
    min-width: 0;
}

.ikou-design-b > section:nth-of-type(4) .spnews-column-Main img {
    width: 100%;
    height: 100%;
    min-height: 320px;
    object-fit: cover;
}

.ikou-design-b > section:nth-of-type(4) .spnews-column-inner > .spnews-column-Main:first-child img {
    border-radius: 45% 0 0 0;
}

.ikou-design-b > section:nth-of-type(4) .spnews-column-inner > .spnews-column-Main:last-child {
    margin-top: 72px;
}

.ikou-design-b > section:nth-of-type(4) .spnews-column-inner > .spnews-column-Main:last-child img {
    border-radius: 0 0 45% 0;
}

/* Overview */
.ikou-design-b > section:nth-of-type(5) {
    background: var(--b-blue);
    color: #f7faf8;
}

.ikou-design-b > section:nth-of-type(5)::before {
    content: "";
    position: absolute;
    left: -15%;
    top: 17%;
    width: 58%;
    height: 48%;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 50%;
    transform: rotate(8deg);
}

.ikou-design-b > section:nth-of-type(5) .spnewsContents {
    width: min(1180px, calc(100% - 48px));
}

.ikou-design-b > section:nth-of-type(5) .title-m-fix,
.ikou-design-b > section:nth-of-type(5) .ikou_heading {
    color: #f7faf8;
}

.ikou-design-b > section:nth-of-type(5) .spnews-column {
    padding: 0;
}

.ikou-design-b > section:nth-of-type(5) .spnews-column-inner {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    width: 100%;
    align-items: start;
}

.ikou-design-b .ikou_heading {
    color: var(--b-blue);
    font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: 1.45em;
    font-weight: 500;
    letter-spacing: .12em;
}

.ikou-design-b .ikou-box {
    margin: 20px 0 0;
    padding: clamp(26px, 4vw, 48px);
    border: 1px solid currentColor;
    border-radius: 0 48px 0 48px;
    background: rgba(247,250,248,.08);
}

.ikou-design-b .ikou_sched {
    width: 100%;
    border-spacing: 0;
}

.ikou-design-b .ikou_sched p {
    display: table-caption;
    margin-bottom: 24px;
}

.ikou-design-b .ikou_sched th {
    padding: 12px 0;
    border-bottom: 1px solid rgba(255,255,255,.3);
    font-weight: 400;
    text-align: left;
}

.ikou-design-b .ikou_sched_time {
    width: 118px;
}

/* Notes */
.ikou-design-b > section:nth-of-type(6) {
    background: var(--b-sky);
}

.ikou-design-b > section:nth-of-type(6) .spnewsContents {
    text-align: left;
}

.ikou-design-b > section:nth-of-type(6) > .spnewsContents > .ikou_heading {
    display: table;
    margin: 0 auto 46px;
    padding: 0 40px 12px;
    border-bottom: 1px solid var(--b-blue);
    font-size: clamp(2rem, 4vw, 3.1rem);
}

.ikou-design-b > section:nth-of-type(6) .ikou-box {
    max-width: 900px;
    margin: 0 auto;
    border-color: var(--b-line);
    background: rgba(247,250,248,.66);
}

/* Maps and application */
.ikou-design-b > section:nth-of-type(7) .spnews-column-inner {
    width: 100%;
    align-items: start;
}

.ikou-design-b .ikou_map {
    width: 100%;
    min-height: 360px;
    padding: 0;
    border-radius: 0 80px 0 0;
    filter: saturate(.65) contrast(.92);
}

.ikou-design-b > section:nth-of-type(7) .spnews-column-Main:last-child .ikou_map {
    border-radius: 0 0 80px 0;
}

.ikou-design-b > section:nth-of-type(8) {
    background: linear-gradient(180deg, var(--b-foam), var(--b-sky));
}

.ikou-design-b > section:nth-of-type(8) .spnewsContents {
    width: min(860px, calc(100% - 48px));
}

.ikou-design-b > section:nth-of-type(8) .title-m-fix {
    display: table;
    margin: 0 auto 44px;
    padding: 0 36px 14px;
    border: 0;
    border-bottom: 1px solid var(--b-blue);
    text-align: center;
}

@media (max-width: 979px) {
    .ikou-design-b > section:not(:first-child) .spnewsContents {
        padding-top: 84px;
        padding-bottom: 84px;
    }

    .ikou-design-b .spnews-column-inner,
    .ikou-design-b > section:nth-of-type(3) .spnews-column:nth-of-type(2) .spnews-column-inner {
        display: grid;
        grid-template-columns: 1fr;
    }

    .ikou-design-b > section:nth-of-type(3) .spnews-column-Main img {
        min-height: 0;
    }
}

@media (max-width: 767px) {
    .ikou-design-b {
        line-height: 1.85;
    }

    .ikou-design-b > section:not(:first-child) .spnewsContents,
    .ikou-design-b > section:nth-of-type(3) > .spnewsContents > .title-m-fix,
    .ikou-design-b .spnews-column-inner {
        width: min(100% - 32px, 1100px);
    }

    .ikou-design-b > section:first-child,
    .ikou-design-b .ikou_top {
        min-height: 76vh;
        height: 76vh;
    }

    .ikou-design-b .ikou_title {
        justify-content: flex-end;
    }

    .ikou-design-b .ikou_title img {
        width: min(48vw, 230px);
        margin-right: 0;
    }

    .ikou-design-b .ikou_title::before {
        left: 0;
        bottom: 2rem;
        max-width: 8em;
        font-size: 1.3em;
    }

    .ikou-design-b > section:nth-of-type(2) .spnewsContents,
    .ikou-design-b > section:nth-of-type(4) .spnews-column-inner,
    .ikou-design-b > section:nth-of-type(5) .spnews-column-inner {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .ikou-design-b > section:nth-of-type(2) .spnewsContents > p,
    .ikou-design-b > section:nth-of-type(2) .title-m-fix {
        grid-column: 1;
        grid-row: auto;
    }

    .ikou-design-b .title-m-fix,
    .ikou-design-b .title-l-fix {
        margin-bottom: 34px;
        font-size: clamp(1.65em, 8vw, 2.35em);
    }

    .ikou-design-b .spnews-column {
        padding: 44px 0 84px;
    }

    .ikou-design-b > section:nth-of-type(4) .spnews-column-inner > .spnews-column-Main:last-child {
        margin-top: 0;
    }

    .ikou-design-b .ikou-box {
        padding: 24px 18px;
        border-radius: 0 30px 0 30px;
    }

    .ikou-design-b .ikou_sched_time {
        width: 96px;
    }

    .ikou-design-b .ikou_map {
        min-height: 280px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ikou-design-b * {
        scroll-behavior: auto !important;
    }
}
