@charset "utf-8";
/* CSS Document */

/* --------------------------------------------------

共通

-------------------------------------------------- */
body {
    font-family: "メイリオ", Meiryo, Osaka, sans-serif;
    color: #000;
}

#contents {
    padding: 0;
}

a:link {
    color: #000;
}

.wrapper-s {
    max-width: 1080px;
    margin: 0 auto;
    position: relative;
}
@media screen and (max-width: 1280px) {
    .wrapper-s {
        padding: 0 3%;
    }
}


/* 見出し */
.page-ttl-natsumesoseki {
    background: #FEF7DA;
    border-bottom: 3px solid #EDD664;
	padding: 4px 8px;
	margin: 0 calc(50% - 50vw);
    padding: 8.0rem calc(50vw - 60%) 4.8rem;
	width: 100vw;
    position: relative;
}
/* Chromeのハック */
_:lang(x)::-internal-media-controls-overlay-cast-button, .page-ttl-natsumesoseki {
    padding: 8.0rem calc(50vw - 60% + 8px) 4.8rem;
	margin: 0 calc(50% - 50vw - 8px);
}
.page-ttl-natsumesoseki > * {
    padding-left: 22.0rem;
    position: relative;
}
.page-ttl-natsumesoseki::before {
    content: "";
    position: absolute;
    display: block;
    width: 300px;
    height: 100%;
    background: url(img/ttl_page-ttl-natsumesoseki.svg) no-repeat center center / contain;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}
.page-ttl-natsumesoseki > *:before {
    content: "";
    position: absolute;
    display: block;
    width: 60vw;
    max-width: 168px;
    aspect-ratio: 1 / 1;
    background: url(img/logo_top.png) no-repeat center center / contain;
    top: 35%;
    transform: translateY(-50%);
    left: 2.4rem;
}
.page-ttl-natsumesoseki img {
    height: 40px;
}
.page-ttl-natsumesoseki span {
    font-size: 2.5rem;
    font-weight: bold;
    letter-spacing: 0.325rem;
    display: block;
    margin-top: 1.6rem;
}

.ttl-natsumesoseki {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .8rem 2.4rem;
    margin-bottom: 6.4rem;
    z-index: 1;
}
.ttl-natsumesoseki span {
    font-size: 2.3rem;
    font-weight: bold;
    line-height: 1.3;
    letter-spacing: .15em;
}
.ttl-spots {
    background: none;
}
@media screen and (max-width: 1280px) {
    .page-ttl-natsumesoseki {
        padding: 8.0rem calc(50vw - 50%) 4.8rem;
    }
    /* Chromeのハック */
    _:lang(x)::-internal-media-controls-overlay-cast-button, .page-ttl-natsumesoseki {
        padding: 8.0rem calc(50vw - 50% + 8px) 4.8rem;
    }
}
@media screen and (max-width: 800px) {
    .page-ttl-natsumesoseki {
        margin: 0 calc(50% - 50vw);
    }
    /* Chromeのハック */
    _:lang(x)::-internal-media-controls-overlay-cast-button, .page-ttl-natsumesoseki {
        margin: 0 calc(50% - 50vw - 8px);
    }
    .page-ttl-natsumesoseki::before {
        width: 200px;
        height: 100%;
        top: -20%;
        transform: none;
    }
    .page-ttl-natsumesoseki > * {
        padding-left: 20.0rem;
    }
    .page-ttl-natsumesoseki > *:before {
        left: 0;
    }
}

@media screen and (max-width: 600px) {
    .page-ttl-natsumesoseki {
        padding: 2.4rem 0;
        margin: 0 calc(50% - 50vw);
    }
    .page-ttl-natsumesoseki > * {
        text-align: center;
        padding: 12rem 0 0;
    }
    .page-ttl-natsumesoseki > *:before {
        width: 100px;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
    }
    .page-ttl-natsumesoseki img {
        height: 25px;
    }
    .page-ttl-natsumesoseki span {
        font-size: 1.8rem;
        margin-top: .8rem;
    }

    .ttl-natsumesoseki {
        flex-direction: column;
    }
    .ttl-natsumesoseki img {
        height: 25px;
    }
    .ttl-natsumesoseki span {
        font-size: 1.8rem;
    }
}

/* ボタン */
.btn-area {
    text-align: left;
    padding: 0;
}
.btn-area > p {
    max-width: none;
    margin: 0;
}
.btn-more span {
    font-size: 16px;
    display: inline-block;
}
.btn-more a {
    font-size: 23px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: .1em;
    text-align: left;
    color: #000;
    background: #FFD493;
    border: 2px solid #000;
    border-radius: 60px;
    display: inline-block;
    padding: 20px 56px 16px 24px;
    position: relative;
}
.btn-more a::after,
.btn-more a::before {
    content: "";
    display: block;
    top: 50%;
    transform: translateY(-50%);
}
.btn-more a::after {
    width: 26px;
    height: 16px;
    background: url(img/ico_arrow.svg) no-repeat center center / contain;
    position: absolute;
    right: 26px;
    margin-top: 0;
    transition: right .3s;
}
.btn-more a:hover {
    background: #DFB26F;
}
.btn-more a:hover::after {
    right: 22px;
}
.btn-more a::before {
    width: 24px;
    height: 24px;
    background: #fff;
    border: 2px solid #000;
    border-radius: 24px;
    position: absolute;
    right: 16px;
}
.btn-more.gray a{
    background: #eee!important;
    pointer-events: none;
}

@media screen and (max-width: 800px) {
    .btn-area > p {
        text-align: center;
    }
    .btn-more a {
        font-size: 16px;
        padding: 16px 56px 16px 24px;
    }
    .btn-more span {
        font-size: 12px;
    }
}

.btn-area-col2 {
    display: flex;
    align-items: center;
    gap: 0 .8rem;
}
.btn-area-col2 > p:first-of-type,
.btn-area-col2 > p:last-of-type {
    display: inline-block;
    width: auto;
    text-align: left;
    float: none;
    margin: 0;
}
.btn-area-col2 p a {
    width: 100%;
    background: #fff;
}
.btn-area-col2 p a:hover {
    background: #eee;
}

.sp-block {
    display: none;
}
@media screen and (max-width: 800px) {
    .sp-block {
        display: block;
    }
    .pc-block {
        display: none;
    }
}

/* パンくず */
.breadCrumbs {
    margin: 2.4rem 0 6.4rem;
}
.breadCrumbs li:first-of-type:before {
    content: none;
}
.breadCrumbs li {
    font-weight: bold;
}
.breadCrumbs a {
    color: #000;
    background: none;
}
@media screen and (max-width: 800px) {
    .breadCrumbs {
        margin-bottom: 2%;
    }
    .breadCrumbs li:last-child {
        display: none;
    }
}

/* リスト2カラム */
.list-2col {
    overflow: unset;
    margin: 0;
}
.list-2col ul {
    justify-content: space-between;
    margin: 0;
}
.list-2col li {
    width: 48%;
    margin-right: 0;
    padding: 0;
}
@media screen and (max-width: 800px) {
    .list-2col li {
        width: 100%;
        margin-bottom: 2.4rem;
    }
}

/* サムネリスト */
.thumb-list li {
    margin-top: 0;
}
.pht-thumb .frame {
    border-radius: 20px;
}

/* 横並びパーツ */
.block-row.reverse {
    flex-direction: row-reverse;
}
@media screen and (max-width: 800px) {
    .block-row {
        display: block;
    }
    .pht-thumb .frame {
        border-radius: 10px;
    }
}

/* お知らせパーツ */
.post-link {
    font-weight: normal;
    font-size: 1.5rem;
    margin: 0;
}
.ico-new {
    font-size: 12px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: .2em;
    background: #FEF7DA;
    border: 2px solid #000;
    border-radius: 20px;
    padding: 6px 8px;
}

/* 文章 */
.sentence-block > p {
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 2em;
    letter-spacing: -.04em;
}

/* スポットリスト */
.thumb-list li > a{
    margin-bottom: 1.6rem;
}
.thumb-list li a:hover img{
    transform: translate(-50%, -50%) scale(1.1);
}
.thumb-list .spot-ttl {
    font-size: 3rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: .1em;
    background: #fff;
    border-radius: 10px;
    border: 2px solid #000;
    padding: 2rem 3.2rem 1.6rem;
    margin: 0;
    position: absolute;
    z-index: 9;
    bottom: 20px;
    left: -20px;
}
.thumb-list .pht-thumb{
    max-width: 520px;
}
.thumb-list .pht-thumb .frame{
    padding-top: 75%;
}
.thumb-list .spot-txt {
    font-weight: bold;
    line-height: 2;
}

/* モデルコースリスト */
.list-modelcourse > li {
    display: flex;
    justify-content: end;
    border-radius: 120px 0 0 0;
    position: relative;
    padding: 8rem 0;
}

.list-modelcourse > li::before,
.list-modelcourse > li::after {
    content: "";
    display: block;
    position: absolute;
    z-index: -1;
}
.list-modelcourse > li::before {
    width: 87.5vw;
    max-width: 1800px;
    height: 100%;
    background: url(img/bg_model01.jpg) no-repeat center center / cover;
    border-radius: 120px 0 0 0;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    margin-right: calc(50% - 50vw);
    z-index: -1;
}
.list-modelcourse > li:nth-child(2) {
    justify-content: start;
}
.list-modelcourse > li:nth-child(2)::before {
    background: url(img/bg_model02.jpg) no-repeat center center / cover;
    border-radius: 0 120px 0 0;
    left: 0;
    margin-right: 0;
    margin-left: calc(50% - 50vw);
}
.list-modelcourse > li:nth-child(3)::before {
    background: url(img/bg_model03.jpg) no-repeat center center / cover;
}

.list-modelcourse > li::after {
    width: 260px;
    height: 260px;
    background: url(img/deco_model01.svg) no-repeat center center / cover;
    left: -160px;
    bottom: -50px;
}
.list-modelcourse > li:nth-child(2)::after {
    background: url(img/deco_model02.svg) no-repeat center center / cover;
    left: auto;
    right: -160px;
    bottom: 50px;
}
.list-modelcourse > li:nth-child(3)::after {
    background: url(img/deco_model03.svg) no-repeat center center / cover;
}

.list-modelcourse > li + li {
    margin-top: 8rem;
}
.list-modelcourse > li .block-row {
    max-width: 926px;
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
}

.list-modelcourse> li:nth-child(1) .sentence-block .btn-area .btn-more a {
    background: #F1CFCE;
}
.list-modelcourse> li:nth-child(1) .sentence-block .btn-area .btn-more a:hover {
    background: #e2bbba;
}
.list-modelcourse> li:nth-child(2) .sentence-block .btn-area .btn-more a {
    background: #D0CEE4;
}
.list-modelcourse> li:nth-child(2) .sentence-block .btn-area .btn-more a:hover {
    background: #b5b3cc;
}
.list-modelcourse> li:nth-child(3) .sentence-block .btn-area .btn-more a {
    background: #E6F5FD;
}
.list-modelcourse> li:nth-child(3) .sentence-block .btn-area .btn-more a:hover {
    background: #cadbe4;
}

.list-modelcourse .sentence-block {
    width: 55%;
    padding: 4rem;
}
.list-modelcourse .sentence-block .btn-area {
    margin: 1.6rem 0 0;
}
.list-modelcourse .pht-block {
    width: 45%;
}
.list-modelcourse .pht-block img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media screen and (max-width: 800px) {
    .list-modelcourse > li {
        padding: 2.4rem 0;
    }
    .list-modelcourse > li + li {
        margin-top: 4rem;
    }
    .list-modelcourse > li::before {
        border-radius: 40px 0 0 0;
    }
    .list-modelcourse > li:nth-child(2)::before {
        border-radius: 0 40px 0 0;
    }
    .list-modelcourse > li::after {
        width: 200px;
        height: 200px;
        left: -70px;
        bottom: -10px;
    }
    .list-modelcourse > li:nth-child(2)::after {
        right: -70px;
        bottom: -10px;
    }
    .list-modelcourse > li .block-row {
        display: flex;
        flex-direction: column;
        border-radius: 10px;
    }
    .list-modelcourse {
        padding: 6.4rem 0;
    }
    .list-modelcourse .sentence-block {
        width: 100%;
        padding: 3.2rem 2.4rem;
    }
    .list-modelcourse .pht-block {
        width: 100%;
    }
}


/* --------------------------------------------------

漱石散歩inくまもと

-------------------------------------------------- */

/* --------------------------------------------------
top
-------------------------------------------------- */
.block-main-top {
    width: 70%;
    padding-right: 2%;
    margin-bottom: 0;
}
.block-main-top li {
    margin-top: 0;
}
@media screen and (max-width: 800px) {
    .block-main-top {
        width: 100%;
        padding-right: 0;
    }
}

/* --------------------------------------------------
mv-container
-------------------------------------------------- */
.mv-container {
    display: flex;
}
.slide-top {
    width: 60%;
}
.slide-top .slick-prev {
    left: 0;
    z-index: 5;
}
.slide-top .slick-next {
    right: 0;
    z-index: 5;
}
.slide-top .slick-dots {
    bottom: 1rem;
}
.slide-top.slick-dotted.slick-slider {
    margin-bottom: 0;
}

@media screen and (max-width: 800px) {
    .mv-container {
        display: block;
    }
    .slide-top {
        width: 100%;
    }
}

/* --------------------------------------------------
sec-mvarea
-------------------------------------------------- */
.sec-mvarea {
    position: relative;
}
.sec-mvarea .logo-top {
    width: 30vw;
    max-width: 295px;
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 5;
}
.sec-mvarea .copy-top {
    width: 20vw;
    max-width: 182px;
    position: absolute;
    right: 10%;
    bottom: 20%;
    z-index: 5;
}

@media screen and (max-width: 800px) {
    .sec-mvarea .logo-top {
        width: 50vw;
        top: 40%;
    }
    .sec-mvarea .copy-top {
        width: 35vw;
        right: 5%;
        bottom: 15%;
    }
}


/* slide-block */
.sec-mvarea .swiper-slide {
    width: 100%;
    aspect-ratio: 1500 / 530;
    overflow: hidden;
    position: relative;
    object-fit: cover;
}
.sec-mvarea .swiper-slide img {
    width: 100%;
    height: 100%;
    max-width: none;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1);
    transition: all 0.7s;
    object-fit: cover;
}
.sec-mvarea .swiper-button-next,
.sec-mvarea .swiper-rtl .swiper-button-prev {
    right: 3vw;
    z-index: 2;
}
.sec-mvarea .swiper-button-prev,
.sec-mvarea .swiper-rtl .swiper-button-next {
    left: 3vw;
    z-index: 2;
}
.sec-mvarea .slider-block .swiper-button-next:before,
.sec-mvarea .slider-block .swiper-button-prev:before {
    content: "";
    width: 7vw;
    max-width: 71px;
    aspect-ratio: 1 / 1;
    background: #FFF;
    border: 2px solid #F9E079;
    position: absolute;
    border-radius: 50%;
    transition: all 0.3s;
}
.sec-mvarea .slider-block .swiper-button-next:after,
.sec-mvarea .slider-block .swiper-button-prev:after {
    content: "";
    width: 5vw;
    max-width: 33px;
    aspect-ratio: 33 / 20;
    display: block;
    border: none;
    transform: rotate(0);
    background: url(img/ico_arrow.svg) no-repeat center center / cover;
}
.sec-mvarea .slider-block .swiper-button-prev:after {
    transform: rotate(-180deg);
}
.sec-mvarea .slider-block .swiper-button-next:hover:before,
.sec-mvarea .slider-block .swiper-button-prev:hover:before {
    background: #F9E079;
}
.sec-mvarea .slider-block .swiper-operation {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 2.4rem;
    margin: 1.6rem 4.0rem;
}
.sec-mvarea .slider-block .swiper-operation .swiper-pagination {
    font-size: 2.0rem;
    font-weight: bold;
    text-align: right;
    position: unset;
    z-index: 2;
}
.sec-mvarea .slider-block .btn {
    width: 40px;
    height: 40px;
    color: #000;
    text-indent: -200px;
    background: #fff;
    border: 2px solid #000;
    border-radius: 50%;
    padding: 0.5em;
    display: flex;
    overflow: hidden;
    align-items: center;
    position: relative;
    cursor: pointer;
}
.sec-mvarea .slider-block .btn-swiper {
    display: flex;
    gap: 1.1rem;
}
.sec-mvarea .slider-block .btn-swiper .btn:hover,
.sec-mvarea .slider-block .btn-swiper .btn.active {
    background: #F9E079;
}
.sec-mvarea .slider-block .btn-swiper .btn.play:after,
.sec-mvarea .slider-block .btn-swiper .btn.stop:after {
    content: "";
    width: 12px;
    height: 12px;
    display: block;
    margin: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: url(img/ico_stop.svg) no-repeat center center / contain;
}

.sec-mvarea .slider-block .btn-swiper .btn.play:after{
    width: 12px;
    height: 16px;
    margin-left: 2px;
    background: url(img/ico_play.svg) no-repeat center center / contain;
}

@media screen and (max-width: 800px) {

    .sec-mvarea .swiper-slide {
        width: 100%;
        aspect-ratio: 750 / 900;
    }
    .sec-mvarea .slider-block .swiper-operation {
        margin: 1.6rem;
    }
    .sec-mvarea .swiper-button-next,
    .sec-mvarea .swiper-rtl .swiper-button-prev {
        right: 5vw;
    }
    .sec-mvarea .swiper-button-prev,
    .sec-mvarea .swiper-rtl .swiper-button-next {
        left: 5vw;
    }
    .sec-mvarea .slider-block .swiper-button-next:before,
    .sec-mvarea .slider-block .swiper-button-prev:before {
        width: 12vw;
    }
    .sec-mvarea .slider-block .swiper-button-next:after,
    .sec-mvarea .slider-block .swiper-button-prev:after {
        width: 6vw;
    }
}

/* --------------------------------------------------
sec-news
-------------------------------------------------- */
.ttl-news {
    align-items: end;
    display: inline-flex;
    flex-direction: column;
    gap: .8rem;
}

.block-newsttl {
    width: 30%;
}
.block-newsmain {
    width: 65%;
    margin-bottom: 0;
}
.block-newsmain .btn-area {
    margin-top: 2.4rem;
}

.sec-news {
    display: flex;
    justify-content: end;
    margin-bottom: 14rem;
}
.sec-news .block-row {
    max-width: 1140px;
}
.news-list {
    border-top: none;
    margin: 0;
}
.news-list li {
    flex-direction: column;
    align-items: start;
    border-bottom: #B5B5B5 solid 1px;
    padding: 2.4rem 0;
    gap: .8rem;
}
.news-list li:first-child {
    padding-top: 0;
}
.post-date,
.news-list a {
    color: #000;
    font-size: 16px;
    font-weight: bold;
}
.news-list .post-date {
    letter-spacing: .1em;
    display: inline-block;
    width: auto;
}
.news-list a {
    line-height: 1.5;
    letter-spacing: .2em;
    text-decoration: underline;
}

@media screen and (max-width: 1200px) {
    .sec-news .block-row {
        flex-direction: column;
    }
    .sec-news {
        margin-bottom: 8rem;
    }
    .block-newsttl {
        width: 100%;
        padding-left: 0;
    }
    .block-newsmain {
        width: 100%;
    }
    .ttl-news {
        align-items: start;
        margin-bottom: 4rem;
    }
    .sec-news .btn-area > p {
        text-align: center;
    }
}

/* --------------------------------------------------
sec-about
-------------------------------------------------- */
.sec-about {
    display: flex;
    margin-bottom: 8rem;
    position: relative;
}
.sec-about:before,
.sec-about::after,
.sec-about > div::before {
    content: "";
    display: block;
    position: absolute;
}
.sec-about:before {
    background: #edd4af;
    width: 100%;
    max-width: 2000px;
    height: 100%;
    right: 0;
    top: 0;
    border-radius: 120px 0 0 0;
    z-index: -1;
}
.sec-about > div::before {
    width: 260px;
    height: 260px;
    background: url(img/deco_about01.svg) no-repeat center center / contain;
    top: -170px;
    left: -250px;
    z-index: -1;
}
.sec-about .block-row {
    max-width: 1260px;
    align-items: center;
    margin: 0 0 0 calc(50vw - 540px);
    position: relative;
}
.sec-about .sentence-block {
    width: 53%;
    padding: 8rem 0;
}
.sec-about .ph-part {
    width: 44%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: end;
    position: relative;
    overflow: hidden;
}
/* .sec-about .ph-part::before {
    content: "";
    width: 530px;
    height: 770px;
    background: url(img/deco_top_about01.svg) no-repeat center center / contain;
    position: absolute;
    top: 0;
    left: 0;
} */
.sec-about .ph-part img {
    border-radius: 20px 0 0 20px;
}
.sec-about .btn-area-col2 {
    margin-top: 6.4rem;
    padding: 0;
    gap: .8rem;
}

@media screen and (max-width: 1200px) {
    .sec-about::before {
        max-width: none;
    }
    .sec-about > div::before {
        top: -65px;
        left: 3%;
    }
    .sec-about .block-row {
        padding-left: 3%;
        margin: 0;
    }
    .sec-about .btn-area-col2 {
        flex-direction: column;
        max-width: 350px;
        margin: 2.4rem auto 0;
    }
}
@media screen and (max-width: 800px) {
    .sec-about {
        margin-bottom: 6.4rem;
    }
    .sec-about:before {
        border-radius: 50px 0 0 0;
    }
    .sec-about > div::before {
        width: 150px;
        height: 150px;
    }
    .sec-about .block-row {
        display: flex;
        flex-direction: column-reverse;
        padding: 0 3%;
    }
    .sec-about .sentence-block {
        width: 100%;
    }
    .sec-about .sentence-block {
        padding: 4rem 0 6.4rem;
    }
    .sec-about .ph-part {
        width: 100%;
        max-width: 400px;
        padding: 2.4rem 0;
        margin: 0 auto;
    }
    .sec-about .ph-part::before {
        width: 100%;
        height: 100%;
        left: 50%;
        transform: translateX(-50%);
    }
    .sec-about .ph-part img {
        width: 100%;
        border-radius: 10px;
    }
    .ttl-about {
        margin-bottom: 2.4rem;
    }
    .sec-about .btn-area-col2 {
        max-width: none;
    }
}

/* --------------------------------------------------
sec-spots
-------------------------------------------------- */
.sec-spots {
    margin-bottom: 8rem;
}
.ttl-natsumesoseki.ttl-spots {
    align-items: center;
    margin-bottom: 4.8rem;
    background: none;
}
.sec-spots .btn-area {
    text-align: center;
    margin-top: 3.2rem;
}
.sec-spots .btn-area > p {
    max-width: none;
}

@media screen and (max-width: 800px) {
    .sec-spots {
        margin: 6.4rem 0;
    }
    .ttl-natsumesoseki.ttl-spots {
        margin-bottom: 3.2rem;
    }
    .thumb-list li:last-child {
        margin: 0;
    }
    .thumb-list .spot-ttl {
        font-size: 1.8rem;
        left: 10px;
        bottom: 10px;
        padding: 1.6rem;
    }
}
@media screen and (max-width: 800px) {
    .ttl-natsumesoseki.ttl-spots {
        align-items: start;
        flex-direction: column;
    }
}

/* --------------------------------------------------
sec-bnr
-------------------------------------------------- */
.sec-modelcourse {
    position: relative;
    padding: 8rem 0;
    margin: 0;
    overflow: hidden;
}
.sec-modelcourse:before {
    content: "";
    display: block;
    position: absolute;
    background: #FEF7DA;
    width: 100%;
    height: 100%;
    z-index: -1;
    right: 0;
    top: 0;
    border-radius: 0 150px 0 0;
}
.ttl-modelcourse {
    margin-bottom: 4rem;
}
.ttl-course {
    padding-bottom: 1rem;
    border-bottom: 4px solid #000;
    display: inline-block;
    margin-bottom: 1.6rem;
}
.ttl-course span {
    color: #C4972F;
    font-size: 4rem;
    margin-left: .8rem;
}
.sub-ttl-course {
    font-size: 3rem;
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: .1em;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: .8rem;
    margin-bottom: 1.6rem;
}
.sub-ttl-course span {
    font-size: 1.6rem;
    line-height: 1.5;
    letter-spacing: 0;
    text-align: center;
    background: #FEF7DA;
    border: 2px solid #000;
    border-radius: 5px;
    padding: .2rem .6rem;
    min-width: 10rem;
}

@media screen and (max-width: 1280px) {
    .sub-ttl-course br {
        display: none !important;
    }
}

@media screen and (max-width: 800px) {
    .sec-modelcourse:before {
        border-radius: 0 50px 0 0;
    }
    .ttl-course img {
        height: 30px;
    }
    .sub-ttl-course {
        font-size: 2.3rem;
        align-items: center;
    }
}

/* --------------------------------------------------
sec-bnr
-------------------------------------------------- */
.sec-bnr {
    background: #f0efef;
    padding: 8rem 0 2.4rem;
    margin: 0;
    overflow: hidden;
    position: relative;
    z-index: 0;
}
.sec-bnr:before,
.sec-bnr:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: -1;
}
.sec-bnr:before {
    width: 278px;
    height: 362px;
    left: -10px;
    background: url(img/deco_bnr_01.png) no-repeat
        center center / contain;
}
.sec-bnr:after {
    width: 305px;
    height: 381px;
    right: 0;
    background: url(img/deco_bnr_02.png) no-repeat
        center center / contain;
}
.ttl-sec {
    flex-direction: column;
    align-items: center;
    gap: 1.6rem .8rem;
    margin-bottom: 2.4rem;
}
.sec-bnr .bnr {
    text-align: center;
    display: block;
    position: relative;
    z-index: 10;
}

.sec-bnr .breadCrumbs {
    margin: 8rem 0 0;
}

@media screen and (max-width: 800px) {
    .sec-bnr {
        padding: 5rem 0 .8rem;
    }
    .ttl-sec {
        gap: .8rem;
        margin-bottom: 2.4rem;
    }

    .sec-bnr .breadCrumbs {
        margin: 2.4rem 0 0;
    }
}


/* --------------------------------------------------

お知らせ

-------------------------------------------------- */

/* ページネーション */
.paging-result,
.paging-result strong {
    font-size: 1.6rem;
    font-weight: bold;
}
.news-area .paging {
    font-size: 1.6rem;
    text-align: right;
    display: flex;
    align-items: center;
    justify-content: right;
    gap: 1.6rem;
    margin-bottom: 5.6rem;
}
.news-area .paging:last-of-type {
    margin-top: 5.6rem;
}
.news-area .paging .current,
.news-area .paging a {
    font-weight: bold;
    line-height: normal;
    display: inline-block;
    border-radius: 100px;
    padding: .8rem 1.55rem;
}
.news-area .paging span {
    margin: 0;
}
.news-area .paging .current {
    font-weight: bold;
    color: #000;
    background: #DFB26F;
    border: none;
}
.news-area .paging a {
    text-decoration: none;
    background: #eee;
    border: none;
    border-radius: 50px;
    width: 100%;
    height: 100%;
    gap: .8rem;
}
.news-area .paging a:hover {
    color: #000;
    background: #ddd;
}
.paging span.prev,
.paging span.next {
    width: auto;
    height: auto;
}
.paging span.prev a,
.paging span.next a {
    padding: .8rem 2rem;
}
.paging .prev a::before,
.paging .next a::after {
    content: "";
    width: 8px;
    height: 12px;
    display: inline-block;
    background: url(img/ico_arrow_simple.svg) no-repeat center center / contain;
}
.paging .prev a::before {
    margin-right: .8rem;
}
.paging .next a::after {
    transform: rotate(180deg);
    margin-left: .8rem;
}

@media screen and (max-width: 800px) {
    .news-area .paging {
        justify-content: center;
        margin-bottom: 1.6rem;
    }
    .news-area .paging:last-of-type {
        margin-top: 1.6rem;
    }
    .news-area .paging > span:not(.prev):not(.next) {
        display: none;
    }
    .paging span.prev a,
    .paging span.next a {
        padding: 1rem 1.6rem;
    }
}

/* 日付ブロック */
.post-date-block {
    display: flex;
    align-items: center;
    justify-content: end;
    gap: .8rem;
}

/* 見出し */
.post-ttl {
    font-size: 4.2rem;
    font-weight: bold;
    margin: 2em 0 1em;
}

.post-sttl-large {
    font-size: 3.2rem;
    font-weight: bold;
    border-left: none;
    display: inline-block;
    padding: 0 0 .5em 0;
    position: relative;
}
.post-sttl-large::after {
    content: "";
    background: #DFB26F;
    width: 30%;
    height: 3px;
    position: absolute;
    bottom: 0;
    left: 0;
}

.post-sttl-small {
    font-size: 2.6rem;
    font-weight: bold;
    color: #E58900;
    background: none;
    padding: 0;
}

@media screen and (max-width: 800px) {
    .post-ttl {
        font-size: 3.2rem;
    }
    .post-sttl-large {
        font-size: 2.6rem;
    }
    .post-sttl-small {
        font-size: 2.2rem;
    }
}

/* 画像ブロック */
.post-pht {
    margin-bottom: 2em;
}
.post-pht div {
    max-height: 900px;
}
.post-pht img {
    max-height: 900px;
    max-height: none;
    border-radius: 20px;
}
.post-pht figcaption {
    font-size: 1.4rem;
    font-weight: bold;
    padding: 0;
    margin-top: 1.6rem;
}
.look-pht figcaption {
    text-align: center;
}

@media screen and (max-width: 800px) {
    .post-pht img {
        border-radius: 10px;
    }

}

/* ボタン */
.btn-area {
    text-align: center;
    margin-bottom: 8rem;
}

.related-link,
.related-file {
    line-height: normal;
    border: none;
    padding: 0;
    margin: 0 0 2.4rem;
}
.related-link::before,
.related-file::before {
    content: none;
}
.related-link a,
.related-file a {
    font-size: 1.6rem;
    font-weight: bold;
    display: block;
    border: 3px solid #DFB26F;
    border-radius: 12px;
    padding: 1.6rem 1.6rem 1.6rem 5.6rem;
    position: relative;
    transition: .3s background;
}
.related-link a::before,
.related-file a::before {
    content: "";
    width: 1.5em;
    height: 1.5em;
    background: url(img/ico_link.svg) no-repeat center center / contain;
    position: absolute;
    left: 1.6rem;
    top: 50%;
    transform: translateY(-50%);
}
.related-file a::before {
    background: url(img/ico_file.svg) no-repeat center center / contain;
}

.related-link a:hover,
.related-file a:hover {
    text-decoration: none;
    background: #FFF2D9;
}

/* wysiwyg */
.wysiwyg p {
    font-size: 1.6rem;
    line-height: 1.7;
}
.wysiwyg blockquote {
    background: #FFF2D9;
    border-radius: 10px;
    padding: 2em;
    margin: 1em;
}
.wysiwyg table {
    border: none;
}
.wysiwyg table caption {
    font-weight: bold;
}
.wysiwyg table th,
.wysiwyg table td {
    border: 2px solid #DFB26F;
}
.wysiwyg table th {
    font-weight: bold;
    background: #FFF2D9;
}
@media screen and (max-width: 800px) {
    .wysiwyg blockquote {
        padding: 1em;
    }
}

/* --------------------------------------------------

スポット

-------------------------------------------------- */

/* 地図 */
.iframe-area {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: contain;
    margin-bottom: 1.6rem;
}
.iframe-area iframe {
    border-radius: 20px;
    filter: saturate(1.2);
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}

/* スポットリスト */
.spots-list-area {
    margin-bottom: 8rem;
}
.ttl-spots-list {
    font-size: 3rem;
    font-weight: bold;
    text-align: center;
    line-height: normal;
    background: #FFD493;
    border: 2px solid #000;
    border-radius: 8px;
    padding: .8rem 1.6rem;
    margin: 2em 0 1em;
}
.spots-list-area .list-2col ul {
    gap: 5.6rem 2.4rem;
}
.spots-list-area .thumb-list li {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.spots-list-area .spots-block > a {
    display: block;
    position: relative;
    margin-bottom: 1.6rem;
}
.spots-list-area .btn-area {
    margin: 1em 0 0;
}

@media screen and (max-width: 800px) {
    .ttl-spots-list {
        font-size: 2.6rem;
    }
    .spots-list-area .list-2col ul {
        gap: 0;
    }
    .spots-list-area .list-2col li {
        margin-bottom: 4rem;
    }
    .spots-list-area .list-2col li:last-child {
        margin: 0;
    }
}


/* --------------------------------------------------

モデルコース

-------------------------------------------------- */

.modelcourse-area {
    overflow: hidden;
}
.main-ttl-modelcourse {
    padding-bottom: 10rem;
}
.main-ttl-modelcourse .ttl-course {
    min-width: 172px;
    border: none;
    padding: 0;
    margin: 0;
}
.main-ttl-modelcourse .block-row {
    align-items: center;
    padding: 4rem;
    gap: 1.6rem 4rem;
}
.main-ttl-modelcourse .sentence-block {
    width: auto;
    padding: 0;
}
.main-ttl-modelcourse .sub-ttl-course {
    flex-direction: column;
}

.coursedetail-area {
    background: #FEF7DA;
    padding: 10rem 0;
}

.coursedetail-list .cousedetail-item {
    background: #fff;
    padding: 6.4rem 4rem;
    position: relative;
}
.coursedetail-list .cousedetail-item::after {
    content: "";
    display: inline-block;
    width: 260px;
    height: 260px;
    background: url(img/deco_model01.svg) no-repeat center center / cover;
    position: absolute;
    right: -130px;
    bottom: -130px;
    z-index: 1;
}
.coursedetail-list .cousedetail-item:has(.yorimichi-block)::after {
    bottom: -220px;
}

.coursedetail {
    display: flex;
    justify-content: space-between;
    margin-bottom: 4rem;
}
.coursedetail .txt-block {
    width: 45%;
}
.coursedetail .pht-block {
    width: 50%;
}
.coursedetail .pht-block img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 20px;
    width: 100%;
}

.ttl-coursedetail {
    margin-bottom: 1.6rem;
}
.ttl-coursedetail a {
    font-size: 3rem;
    font-weight: bold;
    text-decoration: underline;
}
.ttl-coursedetail a:hover {
    color: #555;
}

.coursedetail .txt-block .txt {
    font-size: 1.8rem;
    line-height: 1.8;
}

.coursedetail-list .spot-data {
    margin: 0;
}
.coursedetail-list .spot-data dt,
.coursedetail-list .spot-data dd {
    padding: 2.4rem;
}
.coursedetail-list .spot-data dt {
    font-weight: bold;
}

.yorimichi-block {
    background: #F2EDED;
    border-radius: 20px;
    padding: 4rem;
    margin-top: 4rem;
}
.yorimichi-block .coursedetail {
    flex-direction: row-reverse;
    margin: 0;
}
.yorimichi-block .coursedetail .txt-block {
    width: 55%;
}
.yorimichi-block .coursedetail .pht-block {
    width: 40%;
}
.ttl-yorimichi {
    font-size: 2.4rem;
    font-weight: bold;
    margin-bottom: 1.6rem;
}

.ttl-other-modelcourse {
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.other-modelcourse-area {
    padding: 10rem 0;
}
.other-modelcourse-area .list-modelcourse > li:first-child {
    display: none;
}

.coursedetail-list .transport {
    display: flex;
    align-items: center;
    gap: 2.4rem;
    padding: 8rem 0 8rem 2.4rem;
    position: relative;
}
.coursedetail-list .transport::before {
    content: "";
    position: absolute;
    top: 0;
    left: 56px;
    width: 2px;
    height: 100%;
    background: repeating-linear-gradient(
        to bottom,
        #000 0,
        #000 4px,
        transparent 4px,
        transparent 8px
    );
}
.coursedetail-list .transport img {
    width: 64px;
    height: 64px;
    z-index: 1;
}

@media screen and (max-width: 800px) {
    .main-ttl-modelcourse {
        padding: 0;
    }
    .main-ttl-modelcourse .list-modelcourse {
        padding: 0;
    }
    .main-ttl-modelcourse .list-modelcourse > li::before {
        border-radius: 0;
        width: 100vw;
        left: 50%;
        transform: translate(-50%, -50%);
    }
    .main-ttl-modelcourse .list-modelcourse > li::after {
        display: none;
    }
    .main-ttl-modelcourse .ttl-course {
        text-align: center;
    }
    .main-ttl-modelcourse .ttl-course img {
        max-width: 80px;
        height: auto;
    }
    .main-ttl-modelcourse .sub-ttl-course {
        align-items: start;
    }
    .main-ttl-modelcourse .block-row {
        padding: 2.4rem;
    }

    .coursedetail-area {
        padding: 4rem 0;
    }
    .coursedetail-list .cousedetail-item {
        padding: 1.6rem;
    }
    .coursedetail-list .cousedetail-item::after {
        width: 100px;
        height: 100px;
        right: -50px;
        bottom: -50px;
    }
    .coursedetail-list .cousedetail-item:has(.yorimichi-block)::after {
        bottom: -20px;
    }
    .coursedetail {
        flex-direction: column;
        gap: .8rem;
        margin-bottom: 1.6rem;
    }
    .coursedetail .txt-block,
    .coursedetail .pht-block {
        width: 100%;
    }
    .coursedetail .txt-block .txt {
        font-size: 1.6rem;
    }
    .ttl-coursedetail {
        margin-bottom: .8rem;
    }
    .ttl-coursedetail a {
        font-size: 2rem;
    }
    .coursedetail .pht-block img {
        border-radius: 10px;
    }
    .coursedetail-list .spot-data dt,
    .coursedetail-list .spot-data dd {
        text-align: center;
        justify-content: center;
        padding: .8rem;
    }

    .yorimichi-block {
        border-radius: 10px;
        padding: 1.6rem;
        margin-top: 1.6rem;
    }
    .yorimichi-block .coursedetail {
        flex-direction: column;
    }
    .yorimichi-block .coursedetail .txt-block,
    .yorimichi-block .coursedetail .pht-block {
        width: 100%;
    }
    .ttl-yorimichi {
        font-size: 2rem;
        margin-bottom: .8rem;
    }
    .yorimichi-block .ttl-coursedetail a {
        font-size: 1.6rem;
    }
    .yorimichi-block .coursedetail .txt-block .txt {
        font-size: 1.4rem;
    }

    .coursedetail-list .transport {
        padding: 2.4rem 0 2.4rem 2.4rem;
        gap: 1.6rem;
    }
    .coursedetail-list .transport::before {
        left: 47px;
    }
    .coursedetail-list .transport img {
        width: 50px;
        height: 50px;
    }

    .ttl-other-modelcourse {
        margin-bottom: 4rem;
    }
    .other-modelcourse-area {
        padding: 4rem 0 0;
    }
    .other-modelcourse-area .list-modelcourse {
        padding: 0 0 4rem;
    }
}
