:root
{
    --story-text-color:#786446;
}
main
{
    background-image: var(--white-bg);
    background-repeat: repeat-y;
    background-size: cover;
    background-position: center; 
    transform: translateZ(0);
    overflow: hidden;
}
article
{
    padding: 150px 0;
    box-sizing: border-box;
}

/*================
ブロック
================*/
.article_block
{
    width:100%;
    padding: 0 50px;
    box-sizing: border-box;
}
.block1
{
    display: flex;
    position:relative;
    z-index: 1;
}
.block2
{
    width:100%;
    padding: 200px 50px;
    display: flex;
    position:relative;
    background-image: url(../images/story/yellow_nami_bg.webp);
    background-repeat: no-repeat;
    background-size: cover;
    box-sizing: border-box;
    margin-top: -100px;
}
.brown-wrap
{
    background-image: url(../images/common/brown_nami_bg.webp);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    box-sizing: border-box;
    position:relative;
    margin-top: -140px;
    padding-bottom: 200px;
}
.block3
{
    width:100%;
    padding: 0 50px;
    display: flex;
    position:relative;    
}
.block4
{
    width:100%;
    padding: 0 50px;
    display: flex;
    position:relative;

    z-index: 2;
}
.block5
{
    display: flex;
    padding:150px 50px 0;

}
.block1 p,
.block2 p
{
    color:var(--story-text-color);
    font-size: calc(16px*var(--font-scale))
        
}
.brown-wrap p
{
    color:#fff;
    font-size: calc(16px*var(--font-scale))
}
small
{
    color:#fff;
    font-size: calc(12px*var(--font-scale))
}
small>a
{
    text-decoration: none;
    color:#fff;
}
.article-img
{
    width:50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.block3 .article-img
{
    justify-content: flex-start;
}
.block4 .article-img
{
    justify-content: flex-end;
    align-items: center;
}
.block5 .article-img
{
    position: relative;
}
.article-text
{
    width:50%;
    display:flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    color: #786446;
}
.block4 .article-text>div
{
    display:flex;
    flex-direction: column;
    gap:2rem;
}

/*イラスト*/
.katuo-il
{
    position: absolute;
    bottom:-20%;
    right:5%;
    width:23%;
    max-width: 273px;
}
.kagu
{
    width:85%;
}
.magewappa-wrap
{
    width:100%;
    aspect-ratio: 3/1;
    position: relative;
}
.magewappa
{
    width:40%;
    position: absolute;
    top: -20%;
    right:0;
}
.kouyouju-mizu
{
    width:85%;
}
.kouchi-il
{
    position: absolute;
    min-width: 60vw;
    bottom: 0;
    right:0;
}


/*================
ボタン
================*/
.mori-yama-links
{
    padding: 0 50px;
    box-sizing: border-box;
}
.mori-yama-links-wrap
{
    width:100%;
    position: relative;
    border-top: 1px solid var(--control-color);
    padding: 50px 0 100px;
    box-sizing: border-box;
}
.mori-yama-links-wrap:after
{
    content:"";
    width:50px;
    aspect-ratio: 1/1;
    background-image: url(../images/story/sarch-icon.svg);
    border-radius: 50%;
    position: absolute;
    top: -25px;
    left:50%;
    transform: translateX(-50%);
}
.mori-yama-links-wrap>p
{
    text-align: center;
    font-size: calc(16px*var(--font-scale));
    color: var(--control-color);
}
.sitelink-btn
{
    display:grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap:20px;
    margin: 25px auto;
}
.sitelink-btn>div
{
    width:100%;
    aspect-ratio: 133/27;
    background-color: #f6f4ec;
    border-radius: 20px;
    position: relative;
}
.sitelink-btn>div>span
{
    position: absolute;
    right: 25px;
    top: 50%;
    transform: translateY(-50%);
    box-sizing: border-box;
    width: 30px;
    aspect-ratio: 1 / 1;
    background-color: var(--yellow);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.sitelink-btn>div>span:after
{
    content: "";
    width: 0;
    height: 0;
    border-left: 0.6rem solid var(--control-color);
    border-top: 0.4rem solid transparent;
    border-bottom: 0.4rem solid transparent;
    margin-left: 3px;
}
.sitelink-btn>div>a
{
    display: inline-flex;
    width:100%;
    height:100%;
    justify-content: center;
    padding: 0 25px;
    flex-direction: column;
    text-decoration: none;
    box-sizing: border-box;
    color: var(--control-color);
    font-size: calc(16px*var(--font-scale));
}
.sitelink-btn>div>a>span
{
    font-size: calc(14px*var(--font-scale));
}

/*==============
魅力
===============*/
.miryoku
{
    padding: 50px 50px 100px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 25px;
}
.miryoku h2
{
    width:fit-content;
    margin: 0 auto;
    text-align: center;
    color:var(--control-color);
    position: relative;
    letter-spacing: 0.5rem;
    line-height: 2;
}
.miryoku h2>span
{
    background-color: var(--control-color);
    padding: 0 0 0 10px;
    color: #fff;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin-right: 0.5rem;
}
.miryoku h2:before
{
    content:"";
    width:3rem;
    aspect-ratio: 1/1;    
    border-left: 1px solid var(--control-color);
    position: absolute;
    bottom: 10%;
    left: -10%;
    transform:  rotate(-30deg);
}
.miryoku h2:after
{
    content:"";
    width:3rem;
    aspect-ratio: 1/1;    
    border-right: 1px solid var(--control-color);
    position: absolute;
    bottom: 10%;
    right: -10%;
    transform:  rotate(30deg);
}
.miryoku p
{
    text-align: center;
    color:var(--control-color);
}
.miryoku-bannar-wrap
{
    display: flex;
    gap:25px;
    justify-content: center;
    align-items: center;
}
.miryoku-bannar
{
    width:28%;
    max-width: 340px;
    aspect-ratio: 17/6;
    background-size: cover;
    background-repeat: no-repeat;
}
.doppuri
{
    background-image: url(../images/story/miryoku_1.jpg);
}
.tabinet
{
    background-image: url(../images/story/miryoku_2.jpg);
}

/*==========
他ページボタン
===========*/
.more-page
{
    width:100%;
    display: flex;
    aspect-ratio: 6/1;
}
.more-page>div
{
    width:50%;
}
.more-page-link
{
    background-image: url(../images/common/sp-green-bg.webp);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    transform: translateZ(0);
}

.more-page .slide-wrap
{
    position: relative;
    overflow: hidden;
}
.more-page-link>a
{
    display: inline-flex;
    flex-direction: column;
    gap: 10px;
    width:100%;
    height:100%;
    justify-content: center;
    align-items: center;
    font-size: calc(28px * var(--font-scale));
    text-decoration: none;
    color: #fff;
}
.more-page-link>a>span
{
    font-size: calc(16px * var(--font-scale));
    
}
@media screen and (min-width:768px)
{
    small>a:hover,
    .more-page-link:hover
    {
        opacity: 0.7;
    }
}
@media screen and (min-width:1200px){
    .article_block
    {
        padding-left: 10%;
        padding-right: 10%;
        gap: 25px;
    }
    .article-img
    {
/*        max-width: 450px;*/
/*        max-width: 450px;*/
    }
    .article-text p
    {
        font-size: calc(clamp(14px, 1.3vw, 24px)* var(--font-scale));
        letter-spacing: 0.3vw;
        line-height: 2;
    }
    .block2
    {
        margin-top: -250px;
        padding-top: 350px;
        padding-bottom: 400px;
    }
    .katuo-il
    {
        max-width: none;
        bottom: 1vw;
        width:20vw;
    }
    .kagu
    {
        width:80%;
    }
    .brown-wrap
    {
        margin-top: -200px;
    }
    .block4
    {
        padding-top: 100px;
    }
    .mori-yama-links
    {
        padding: 0 10%;
    }
    .kouchi-il
    {
        width:80vw;
        min-width: 0;
        max-height: 1200px;
        
    }
}
@media screen and (max-width:920px){
    .sitelink-btn>div{
        aspect-ratio: auto;
    }    
    .sitelink-btn>div>a
    {
        padding: 20px 50px 20px 25px;
    }
}
@media screen and (max-width:767px){
    main
    {
        background-size: contain;
    }
    article
    {
        padding: 50px 0;
    }
    
    .article_block
    {
        padding:50px 10% 200px;
        flex-direction: column;
        gap: 50px;
    }
    .article_block:first-of-type
    {
        padding: 0px 10% 200px ;
    }
    .article-img
    {
        width:100%;
    }
    .article-text
    {
        width: 100%;
    }
    .block1 p,.block2 p
    {
        width:100%;
        font-size: calc(1em * var(--font-scale));
        line-height: 2.2;
    }
    .block2
    {
        background-image: url(../images/story/yellow_nami_bg-sp.webp);
        flex-direction: column-reverse;
        padding-bottom: 100px;
    }
    .katuo-il
    {
        position: absolute;
        bottom: 100px;
        right: 7%;
        width: 40%;
        max-width: 200px;
    }
    .brown-wrap
    {
        background-image: url(../images/story/brown_nami_bg-sp.webp);
        margin-top: -70px;
        padding-bottom: 0;
    }
    .magewappa {
        width: 40%;
        position: absolute;
        top: 0;
        right: 0;
        max-width: 200px;
    }
    .brown-wrap p
    {
        font-size: calc(1em * var(--font-scale));
        line-height: 2.2;
    }
    .block3
    {
        padding-bottom: 0 !important;
    }
    .block4
    {
        flex-direction: column-reverse;
    }
    .kouchi-il {
        position: relative;
        min-width: 160vw;
    }
    .block5
    {
        padding-bottom: 50px;
    }
    .block5 .article-img
    {
        display: flex;
        justify-items: center;
        align-items: center;
    }
    .mori-yama-links
    {
        padding: 0 5%;
    }
    .sitelink-btn
    {
        grid-template-columns: repeat(1, 1fr);
        margin: 50px auto;
    }
    .sitelink-btn>div
    {
        aspect-ratio: auto;
    }
    .sitelink-btn>div>a
    {
        padding: 15px 50px 15px 15px;
        box-sizing: border-box;
    }
    .sitelink-btn>div>span
    {
        width:25px;
        right:15px;
    }
    .sitelink-btn>div>span:after
    {
        border-left: 0.4rem solid var(--control-color);
        border-top: 0.3rem solid transparent;
        border-bottom: 0.3rem solid transparent;
    }
    .mori-yama-links-wrap
    {
        padding-bottom: 50px;
    }
    .miryoku {
        padding: 50px 5%;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        gap: 25px;
    }
    .miryoku-bannar-wrap
    {
        flex-direction: column;
    }
    .miryoku-bannar
    {
        width: 80%;
    }
    .more-page
    {
        flex-direction: column-reverse;
    }
    .more-page>div
    {
        width: 100%;
    }
    .about-photo-slide
    {
        width: 100%;
        aspect-ratio: 3 / 1;
    }
    .more-page-link
    {
        padding: 50px 0;
    }
    .more-page-link.green-bg
    {
        background-image: url(../images/common/sp-green-bg.webp);
    }
}   