@charset "UTF-8";

.main-contents {
    padding-bottom: 0;
    overflow: hidden;
}

.section-wrap {
    padding: 0 0 100px;
}

.section-wrap img {
    width: 100%;
    filter: saturate(100%);
}

/*================================================================
# アンカー
================================================================ */
.section-anchor {
    margin: 40px 0;
}

.section-anchor .anchor ul {
    border-top: 1px solid var(--gray);
    border-bottom: 1px solid var(--gray);
    display: flex;
    justify-content: center;
}

.section-anchor .anchor-link {
    padding: 24px 16px;
    background: linear-gradient(var(--gold) 0 0) bottom / var(--d, 20%) 2px no-repeat;
    display: block;
    font-family: var(--mincho);
    font-size: 16px;
    transition: 0.5s;
}

.section-anchor .anchor-link:hover {
    --d: 80%;
    color: var(--gold);
}

/*================================================================
# section-wrap
================================================================ */
.section-wrap .section {
    margin-top: 100px;
}

.section-wrap .wrap {
    position: relative;
}

.section-wrap div:nth-child(odd) .wrap::before {
    width: calc(50vw + 50% - 160px);
    height: 100%;
    filter: var(--img-invert);
    mix-blend-mode: var(--blend-mode);
    background: #fff url(../../common/img/section01_bg.png) no-repeat right top;
    position: absolute;
    content: "";
    top: 0;
    right: calc(-50vw + 50%);
    display: block;
    z-index: -1;
}

.section-wrap div:nth-child(even) .wrap::before {
    width: calc(50vw + 50% - 160px);
    height: 100%;
    filter: var(--img-invert);
    mix-blend-mode: var(--blend-mode);
    background: #fff url(../../common/img/section02_bg.png) no-repeat left top;
    position: absolute;
    content: "";
    top: 0;
    right: auto;
    left: calc(-50vw + 50%);
    display: block;
    z-index: -1;
}

.section-wrap .inner {
    padding: 80px 0;
}

.section-wrap .title-wrap {
    text-align: center;
}

.section-wrap .sub-title {
    font-family: "游ゴシック Medium", "YuGothic,YuGothicM", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    font-size: 16px;
    color: var(--gold);
    letter-spacing: 0.3em;
}

.section-wrap .title {
    margin: 0;
    font-family: var(--mincho);
    font-size: 32px;
    line-height: 1.618;
    letter-spacing: 0.2em;
}

.section-wrap .card {
    margin: 0 0 0 -64px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.section-wrap .card .card-item {
    width: calc(100% / 2 - 64px);
    margin: 100px 0 0 64px;
}

.section-wrap .card .card-item.wide {
    width: calc(80% / 1 - 64px);
    margin: 100px 0 0 64px;
}

.section-wrap .container {
    margin: 100px 0 0;
    display: flex;
    justify-content: space-between;
}

.section-wrap .container .left {
    width: calc(100% - 394px - 64px);
    position: relative;
}

.section-wrap .container .left .card-item {
    margin: 0;
    display: flex;
    align-items: flex-end;
    flex-direction: column;
}

.section-wrap .container .left .card-item .card-img {
    width: calc(2000px / 2);
    height: calc(1236px / 2);
}

.section-wrap .container .left .card-item .card-info {
    margin: 8px auto 0 0;
}

.section-wrap .container .right {
    width: 394px;
}

.section-wrap .container .right .card-item {
    width: 100%;
    margin: 0;
}

.section-wrap .container .right .card-item:nth-child(n + 2) {
    margin: 40px 0 0;
}

.section-wrap .container02 {
    margin: 100px 0 0;
    display: flex;
    justify-content: space-between;
}

.section-wrap .container02 .left,
.section-wrap .container02 .right {
    width: calc(50% - 32px);
}

.section-wrap .container02 .left .card-item {
    margin: 0;
    display: flex;
    align-items: flex-end;
    flex-direction: column;
}

.section-wrap .container02 .left .card-item .card-img,
.section-wrap .container02 .right .card-item .card-img {
    width: 800px;
    height: auto;
}

.section-wrap .container02 .left .card-item .card-info {
    margin: 8px auto 0 0;
}

.section-wrap .container02 .right .card-item .card-info {
    margin: 8px 0 0 auto;
}

.section-wrap .card-name {
    margin: 32px auto 0 0;
    font-size: 20px;
    line-height: 1.618;
}

.section-wrap .card-description {
    margin: 8px 0 24px;
    line-height: 1.618;
    color: var(--gray);
}

.section-wrap .card-info {
    margin: 8px 0 0;
    line-height: 1.618;
}

.section-wrap .card-info dl {
    margin: 8px 0 0;
    display: flex;
}

.section-wrap .card-info dt {
    margin: 0 8px 0 0;
    font-weight: 700;
}

.nearby-facilities .card .card-item {
    width: calc(100% / 2 - 64px);
}

.nearby-facilities .card .card-item:nth-child(n + 5) {
    width: calc(100% / 3 - 64px);
}