@charset "UTF-8";

@font-face {
    font-family: irohamaru;
    src: url(../font/MODI_irohamaru_2016_0727/irohamaru-Medium.ttf) format("truetype");
}

@font-face {
    font-family: aosagi;
    src: url(../font/YDW_aosagi/YDWaosagi.otf) format("opentype");
}

/* 共通 */
html {
    scroll-padding-top: 90px;
    /* ページ内リンクでヘッダーに隠れないようにする設定 */
    scroll-behavior: smooth;
}

body {
    background: url(../image/bgnew.jpg) no-repeat top / cover;
    color: #531612;
    font-family: "irohamaru", "Zen Maru Gothic", serif;
}

* {
    margin: 0;
    padding: 0;
}

li {
    list-style-type: none;
}

section,
.wrapper {
    margin-bottom: 80px;
    margin-left: 15px;
    margin-right: 15px;
    animation: opacity ease forwards;
    animation-timeline: view();
    animation-range: cover 0% cover 100%;
}

@keyframes opacity {
    0% {
        opacity: 0;
    }

    20% {
        opacity: 1;
    }

    100.1% {
        opacity: 0;
    }
}


h2 {
    font-family: aosagi;
    font-weight: 500;
    margin-bottom: 50px;
}

a {
    text-decoration: none;
    color: #DF751E;
}

/* header */

header {
    position: fixed;
    width: 100%;
    height: 90px;
    background: url(../image/sunshade.png) repeat-x top / cover;
    filter: drop-shadow(1px 3px 4px #7f7f7f);
    background-size: 620px;
    z-index: 1000;
}

header h1 {
    text-align: center;
    margin: 0 0 15px;
}

header h1 img {
    width: 150px;
    height: auto;
}

.gnav {
    position: fixed;
    top: 0;
    width: 100%;
    height: 100vh;
    background: #c7f1d0;
    left: 100%;
    transition: left .5s;
    z-index: 500;
}

.gnav ul {
    position: absolute;
    top: 10%;
    left: 35%;
}

.gnav ul li {
    padding: 23px;
}

.gnav ul li a {
    display: block;
    font-size: 1.2rem;
    color: #a64437;
}


#drawer_toggle {
    width: 35px;
    height: 35px;
    z-index: 700;
    position: absolute;
    top: 12px;
    right: 25px;
    transition: .5s;
}

#drawer_toggle span {
    width: 18px;
    height: 3px;
    background-color: #531612;
    position: absolute;
    top: 8px;
    left: 7px;
    transition: .5s;

}

#drawer_toggle span:nth-child(2) {
    margin-top: 6px;
    transition: .5s;
}

#drawer_toggle span:nth-child(3) {
    margin-top: 12px;
    transition: .5s;
}

/* クリックした後の装飾 */
#drawer_toggle.open span {
    position: fixed;
    top: 30px;
    left: 320px;
    width: 30px;
    margin: 0;
}

#drawer_toggle.open span:first-child {
    transform: rotate(45deg);
    transition: .5s;
}

#drawer_toggle.open span:nth-child(2) {
    opacity: 0;
    transition: .5s;
}

#drawer_toggle.open span:last-child {
    transform: rotate(-45deg);
    transition: .5s;
}

.gnav.sp_open {
    left: 0;
}

@media screen and (min-width: 767px) {
    #drawer_toggle span {
        width: 27px;
        height: 5px;
        top: 10px;
        left: -78px;

    }

    #drawer_toggle span:nth-child(2) {
        margin-top: 8px;
    }

    #drawer_toggle span:nth-child(3) {
        margin-top: 16px;
    }

    #drawer_toggle.open span {
        top: 30px;
        left: 780px;
        width: 27px;
        margin: 0;
    }


    .gnav ul {
        top: 15%;
        left: 20%;
    }

    .gnav ul li a {
        position: relative;
    }

    .gnav ul li a::after {
        background-color: #531612;
        /* 下線の色 */
        bottom: -5px;
        /* 要素の下端からの距離 */
        content: "";
        /* 要素に内容を追加 */
        height: 2px;
        /* 下線の高さ */
        left: 0;
        /* 要素の左端からの距離 */
        opacity: 0;
        /* 不透明度 */
        position: absolute;
        /* 絶対位置指定 */
        transition: all .3s;
        /* アニメーション効果を追加 */
        width: 100%;
        /* 要素の幅 */
    }

    .gnav ul li a:hover::after {
        bottom: -2px;
        /* 下線を上から下に移動 */
        opacity: 1;
        /* 不透明度を変更してフェードイン */
    }

    .gnav.sp_open {
        left: 50%;
    }
}


/* お米のページ */
#subpage {
    padding-top: 100px;
}

h2 {
    background-image: url(../image/itemh2bg.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: -5% 7%;
    padding: 10px 20px 30px;
    font-size: 25px;
}

.flexitem {
    margin-bottom: 50px;
}

.flexitem iframe {
    width: 90%;
    height: 300px;
    margin-bottom: 30px;
    box-shadow: 1px 5px 5px #adacac;
}

.flexitem img {
    width: 300px;
    height: 100%;
    box-shadow: 1px 5px 5px #adacac;
}

.flexitem figure.shadow img {
    box-shadow: none;
}

.flexitem figure {
    margin-bottom: 30px;
}

.flexitem .flextext {
    font-size: 18px;
    letter-spacing: .2em;
    line-height: 25px;
    text-indent: 1em;
    margin: 20px;
}

.flexitem .yellowmarker {
    background: linear-gradient(transparent 35%, rgb(253, 253, 113) 40%);
}

.summary {
    padding: 10px;
    border-top: 8px dotted #846562;
    border-bottom: 8px dotted #846562;
}

.summary li::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    background-image: url(../image/listmarker.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    margin-right: 7px;
}

.summary li {
    font-size: 21px;
    letter-spacing: .2em;
    margin: 15px;
}

@media screen and (min-width: 767px) {
    #subpage {
        padding-top: 150px;
    }


    header {
        height: 100px;
        background-size: 850px;
    }

    header h1 img {
        width: 180px;
    }

    section,
    .wrapper {
        max-width: 1000px;
        margin-left: auto;
        margin-right: auto;
    }

    h2 {
        background-position: 1% 7%;
        padding: 20px 20px 30px;
        font-size: 35px;
    }

    .flexitem {
        display: flex;
        justify-content: center;
        margin-bottom: 80px;
    }

    .flexitem iframe {
        height: 300px;
        margin: 20px;
        align-self: center;
    }

    main section .flexitem:nth-child(4) {
        flex-direction: row-reverse;
    }

    .flexitem figure {
        margin-right: 20px;
    }

    .flexitem img {
        height: auto;
    }

    .flexitem .flextext {
        font-size: 20px;
        line-height: 26px;
    }

    .wrapper {
        padding: 20px;
    }

    .summary li {
        font-size: 22px;
        letter-spacing: .2em;
        line-height: 28px;
        margin: 30px;
    }
}

/* footer */
footer {
    background-color: #F2EBEB;
    text-align: center;
    padding: 5px;
}

@media screen and (min-width: 767px) {
    footer {
        font-size: 18px;
        padding: 15px;
    }
}