body main {
    font-family: "游明朝 ミディアム", "YuMincho Medium", YuMincho, "Yu Mincho", serif;
}

header nav ul li:not(:last-child),
header nav ul li a {
    margin-right: 30px;
}

.mv-wrap {
    position: relative;
}
.mv-wrap .tit-mv {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 29%;

    width: 25.25vw;
    min-width: 345px;
    margin: auto 0;
}
.mv-wrap .tit-mv img {
    position: absolute;
    top: 0;
    bottom: 0;

    margin: auto;
}

.mv-wrap .lead {
    position: absolute;
    top: 0;
    right: 35.27%;

    display: flex;
    align-items: center;
    justify-content: flex-start;

    width: 74px;
    height: 56%;
    padding-top: 48px;

    text-align: right;
    letter-spacing: 0.4em;

    color: #FFFFFF;

    font-family: "游明朝 ミディアム", "YuMincho Medium", YuMincho, "Yu Mincho", serif;
    font-size: 2.6rem;
    line-height: 1.8;
}
.mv-wrap .lead p {
    position: relative;

    height: 100%;
    padding: 0;
}
.mv-wrap .lead p span {
    display: block;

    text-align: left;
}

.mv-wrap .lead p span:last-of-type {
    text-align: right;
}
@media print, screen and (max-width: 768px) {
    .mv-wrap .tit-mv {
        left: 0;

        width: 21.3vw;
        min-width: 80px;
        margin: auto;
    }

    .mv-wrap .lead {
        right: 5.3vw;

        display: flex;
        align-items: center;
        justify-content: flex-start;

        width: 21.3vw;
        height: 67%;
        padding-top: 8vw;

        text-align: right;
        letter-spacing: 0.4em;

        font-size: 2.1rem;
        line-height: 1.8;
    }
}

/* 追従ボタン
========================================================================== */
.fixed-btn {
    position: -webkit-sticky;
    position:         sticky;
    z-index: 11;
    right: 0;
    bottom: 0;
    left: 0;

    margin: 0 auto;
    padding: 24px 0 25px;

    cursor: pointer;

    background-color: #C41E18;

    font-family: MyYuGothicM, YuGothic, sans-serif;
    line-height: 1;
}
.fixed-btn.link-open a {
    display: block;

    width: 100%;
    height: 100%;
}
.fixed-btn.modal-open::before,
.fixed-btn.link-open a::before {
    position: absolute;
    top: 0;

    display: block;

    width: 100%;
    height: 100%;

    content: "";

    background-color: #FFFFFF;
}
.fixed-btn.modal-open::after,
.fixed-btn.link-open a::after {
    position: absolute;
    top: 0;

    display: block;

    width: 100%;
    height: 100%;

    content: "";
    transition: 0.3s ease-in-out;

    background-color: #C41E18;
}
.fixed-btn.modal-open:hover::after,
.fixed-btn.link-open a:hover::after {
    transition: 0.3s ease-in-out;

    background-color: rgba(196, 30, 24, 0.7);
}
.fixed-btn p {
    position: relative;
    z-index: 1;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #FFFFFF;

    font-size: 3.3rem;
    font-weight: bold;
}
.fixed-btn p span {
    display: inline-block;

    margin-right: 20px;
    padding: 8px 9px;

    transition: 0.3s ease-in-out;

    color: #C41E18;
    border-radius: 4px;
    background-color: #FFFFFF;

    font-size: 1.6rem;
    line-height: 1;
}
.fixed-btn.modal-open:hover p span,
.fixed-btn.link-open a:hover p span {
    transition: 0.3s ease-in-out;

    color: rgba(196, 30, 24, 0.7);
}
@media print, screen and (max-width: 768px) {
    .fixed-btn {
        padding: 2.4vw 0;
    }
    .fixed-btn p {
        position: relative;

        flex-direction: column;

        font-size: 2.2rem;
    }
    .fixed-btn p span {
        display: block;

        margin-right: 0;
        margin-bottom: 3vw;
        padding: 1vw 2.1vw;

        border-radius: 4px;

        font-size: 1.2rem;
    }
    .fixed-btn p::after {
        position: absolute;
        top: auto;
        right: 6vw;
        bottom: 0.5rem;

        width: 1.2rem;
        height: 1.2rem;
        margin: auto 0;

        content: "";
        transition: 0.3s ease-in-out;
        transform: rotate(45deg);

        border-top: 2px solid #FFFFFF;
        border-right: 2px solid #FFFFFF;
    }
}


/*モーダル本体の指定 + モーダル外側の背景の指定*/
.modal-container {
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;

    visibility: hidden;
    overflow: auto;

    box-sizing: border-box;
    width: 100%;
    height: 100%;
    padding: 40px 20px;

    transition: 0.3s;
    text-align: center;

    opacity: 0;
    background: rgba(0,0,0,44%);
}
/*モーダル本体の擬似要素の指定*/
.modal-container:before {
    display: inline-block;

    height: 100%;

    content: "";
    vertical-align: middle;
}
/*モーダル本体に「active」クラス付与した時のスタイル*/
.modal-container.active {
    visibility: visible;

    opacity: 1;
}
/*モーダル枠の指定*/
.modal-body {
    position: relative;

    display: inline-block;

    width: 90%;
    max-width: 500px;

    vertical-align: middle;

    font-family: MyYuGothicM, YuGothic, sans-serif;
}
/*モーダルを閉じるボタンの指定*/
.modal-close {
    position: absolute;
    top: 14.5px;
    right: 14.5px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 16.5px;
    height: 16.5px;

    cursor: pointer;

    color: #1E1E1E;

    font-size: 30px;
}

/*モーダル内のコンテンツの指定*/
.modal-content {
    padding: 52px 0 40px;

    background: #FFFFFF;
}

/*リセット */
input[type="checkbox"] {
    margin: 0;
    padding: 0;

    border: none;
    border-radius: 0;
    outline: none;
    background: none;

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

/* チェックボックスデザイン */
input[type="checkbox"] {
    position: relative;

    padding-left: 30px;/*label手前にチェックボックス用の余白を開ける*/

    cursor: pointer;
    vertical-align: middle;
}
input[type="checkbox"]::before,
input[type="checkbox"]::after {
    position: absolute;

    display: block;

    content: "";
}
input[type="checkbox"]::before {
    top: -2px;
    left: 0;

    width: 48px;/*チェックボックスの横幅*/
    height: 48px;/*チェックボックスの縦幅*/

    transform: translateY(-50%);

    border: 1px solid #B7975A;
    border-radius: 0%;
    border-radius: 5px;
    background-color: #FFFFFF;
}
input[type="checkbox"]::after {
    top: -15px;/*チェック時の位置調整*/
    left: 12px;/*チェック時の位置調整*/

    width: 23px;/*チェックの横幅*/
    height: 13px;/*チェックの高さ*/

    transform: rotate(-45deg);

    opacity: 0;/*チェック前は非表示*/
    border-bottom: 3px solid #1E1E1E;/*チェックの太さ*/
    border-left: 3px solid #1E1E1E;/*チェックの太さ*/
}
input[type="checkbox"]:checked::after {
    opacity: 1;/*チェック後表示*/
}

.modal-content label {
    display: inline-block;

    margin-bottom: 50px;
    padding-left: 4rem;

    cursor: pointer;

    font-size: 2.2rem;
    font-weight: bold;
}


.anchorText {
    display: flex;
    align-items: center;

    box-sizing: border-box;
    width: 412px;
    margin: 0 auto;
    padding: 17px 18px 16px;

    pointer-events: none;

/* 無効っぽい見た目にする */

    color: #FFFFFF;
    background-color: #C4C4C4;

    font-size: 2rem;
}

#check-enable:checked ~ .anchorText {
    pointer-events: auto;

/* 有効可されたっぽい見た目にする */

    background-color: #C41E18;
}
.anchorText span {
    display: inline-block;

    margin-right: 20px;
    padding: 8px 9px;

    color: #C4C4C4;
    border-radius: 4px;
    background-color: #FFFFFF;

    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1;
}
#check-enable:checked ~ .anchorText span {
    color: #C41E18;
}

@media print, screen and (max-width: 768px) {
    .modal-container {
        padding: 5vw;
    }
    .modal-body {
        max-width: 90vw;
    }

    /*モーダル内のコンテンツの指定*/
    .modal-content {
        padding: 10vw 0 5vw;
    }


    input[type="checkbox"]::before {
        top: -1px;

        width: 28px;/*チェックボックスの横幅*/
        height: 28px;/*チェックボックスの縦幅*/
    }
    input[type="checkbox"]::after {
        top: -9px;/*チェック時の位置調整*/
        left: 7px;/*チェック時の位置調整*/

        width: 13px;/*チェックの横幅*/
        height: 8px;/*チェックの高さ*/

        opacity: 0;/*チェック前は非表示*/
    }

    .modal-content label {
        margin-bottom: 5vw;
        padding-left: 1rem;

        font-size: 1.6rem;
    }


    .anchorText {
        position: relative;

        flex-direction: column;

        width: 90%;
        padding: 2vw 1.8vw;

        font-size: 2rem;
    }

    .anchorText span {
        display: block;

        margin-right: 0;
        margin-bottom: 1.5vw;
        padding: 1vw 2.1vw;

        border-radius: 4px;

        font-size: 1.2rem;
    }
}

/* パンくずリストの調整
========================================================================== */
.breadcrumb__list {
    position: relative;
    bottom: 0;

    width: 1234px;
    padding-bottom: 34px;

    font-family: MyYuGothicM, YuGothic, sans-serif;
}
@media print, screen and (max-width: 768px) {
    .breadcrumb__list {
        width: 90vw;
        padding-bottom: 5vw;
    }

    .breadcrumb__list li {
        font-size: 12px;
        margin-top: 5vw;
    }
}


/* コンテンツ共通
========================================================================== */
.title-wrap .sec-title h2 {
    margin: 30px 0;

    text-align: center;

    font-family: "游明朝 ミディアム", "YuMincho Medium", YuMincho, "Yu Mincho", serif;
    font-size: 3.8rem;
    line-height: 1.13;
}
.title-wrap + p {
    font-size: 1.7rem;
    line-height: 2.5;
}
@media print, screen and (max-width: 768px) {
    .title-wrap .sec-title h2 {
        margin: 0 0 3vw;

        font-size: 2.2rem;
        line-height: 1.9;
    }
    .title-wrap + p {
        font-size: 1.4rem;
        line-height: 2.1;
    }

    .inner {
        width: 92vw;
        padding: 0 4vw;
    }
}

.btn-s {
    margin: 0 auto;

    font-family: MyYuGothicM, YuGothic, sans-serif;
}

/* ページタイトル*/
.okomebanzuke-title-wrap {
    box-sizing: border-box;
    height: 198px;
    padding: 45px 0 0;

    text-align: center;

    color: #FFFFFF;
    background-image: url(../images/okomebanzuke/bg-title-wrap.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;

    font-family: "游明朝 ミディアム", "YuMincho Medium", YuMincho, "Yu Mincho", serif;
}
.okomebanzuke-title-wrap h2 {
    display: flex;
    align-items: center;
    justify-content: center;

    letter-spacing: 0.2em;

    font-size: 3rem;
    line-height: 1.26;
}
.okomebanzuke-title-wrap h2 span.big {
    margin: 0 8rem 0 5rem ;

    letter-spacing: 0;

    font-size: 8rem;
}
.apply .okomebanzuke-title-wrap {
    padding-top: 50px;
}
.apply .okomebanzuke-title-wrap h2 {
    padding-left: 5rem;

    font-size: 3rem;
}
.apply .okomebanzuke-title-wrap h2 span.big {
    margin: 0 4rem 0 5rem ;

    font-size: 7rem;
}
.apply .okomebanzuke-title-wrap h2 span.small {
    letter-spacing: 0.05em;

    font-size: 2.5rem;
}
.use .okomebanzuke-title-wrap h2 {
    padding-left: 4rem;

    font-size: 3rem;
}
.use .okomebanzuke-title-wrap h2 span.big {
    margin: 0 6rem 0 6rem ;

    font-size: 7rem;
}
.okomebanzuke-title-wrap p.en {
    letter-spacing: 0.25em;

    font-size: 1.6rem;
}
@media print, screen and (max-width: 768px) {
    .okomebanzuke-title-wrap {
        height: 45vw;
        padding: 5vw 0 0;

        background-image: url(../sp-images/okomebanzuke/bg-title-wrap.jpg);
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
    }
    .okomebanzuke-title-wrap h2 {
        flex-direction: column;
        justify-content: space-between;

        height: 29vw;

        font-size: 1.8rem;
    }
    .okomebanzuke-title-wrap h2 span.big {
/* margin: 4vw 0; */
        margin: 2.5vw 0;

        font-size: 4rem;
    }
    .apply .okomebanzuke-title-wrap {
        padding-top: 5vw;
    }
    .apply .okomebanzuke-title-wrap h2 {
        padding-left: 0;

        font-size: 1.8rem;
    }
    .apply .okomebanzuke-title-wrap h2 span.big {
        margin: 2.5vw 0;

        font-size: 4rem;
    }
    .apply .okomebanzuke-title-wrap h2 span.small {
        letter-spacing: 0.2em;

        font-size: 1.5rem;
    }
    .use .okomebanzuke-title-wrap h2 {
        padding-left: 0;

        font-size: 1.8rem;
    }
    .use .okomebanzuke-title-wrap h2 span.big {
        margin: 2.5vw 0;

        font-size: 4rem;
    }
    .okomebanzuke-title-wrap p.en {
        margin-top: 2vw;

        font-size: 1rem;
    }
}

h3.ttl_hr:before,
h3.ttl_hr:after,
h5.ttl_hr-s:before,
h5.ttl_hr-s:after {
    background-color: #C19E33;
}
h3.ttl_hr span {
    position: relative;

    display: block;

    width: 298px;

    text-align: center;

    font-family: "游明朝 ミディアム", "YuMincho Medium", YuMincho, "Yu Mincho", serif;
    font-size: 3rem;
}
h3.ttl_hr span::before,
h3.ttl_hr span::after {
    position: absolute;
    top: 0.58em;
    left: -19.8px;

    display: block;

    width: 25px;
    height: 19px;

    content: "";
    transform: rotate(180deg);

    background-image: url(../images/okomebanzuke/icn-deco-beside.svg);
}
h3.ttl_hr span::after {
    right: -19.8px;
    left: auto;
}

h5.ttl_hr-s {
    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 30px;

    font-size: 2.2rem;
}
.ttl_hr-s:before,
.ttl_hr-s:after {
    display: inline-block;

    width: 30px;
    height: 1px;

    content: "";
}
.ttl_hr-s:before {
    margin-right: 20px;
}
.ttl_hr-s:after {
    margin-left: 17px;
}
@media print, screen and (max-width: 768px) {
    h3.ttl_hr span {
        width: 45.3vw;

        font-size: 2rem;
    }
    h3.ttl_hr span::before,
    h3.ttl_hr span::after {
        top: 0.65em;

        width: 13px;
        height: 11.2px;

        background-size: contain;
    }

    h5.ttl_hr-s {
        margin-bottom: 9.8vw;

        font-size: 1.8rem;
    }
}

/* ==============================
    お米番付とは
============================== */
.about_okomebanzuke-wrap {
    padding: 50px 0 90px;
}
.about_okomebanzuke-wrap p {
    width: 960px;
    margin: 35px auto 0;
}
@media print, screen and (max-width: 768px) {
    .about_okomebanzuke-wrap {
        padding: 5.4vw 0 16.2vw;
    }
    .about_okomebanzuke-wrap p {
        width: 90vw;
        margin: 0 auto;
    }
}

/* ==============================
  新着情報
============================== */
.information-wrap {
    padding: 35px 0 50px;

    background-color: #FAFAFA;
}

.information-con ul {
    width: 790px;
    margin: 45px auto 30px;
}
.information-con li {
    display: flex;

    margin-bottom: 20px;

    border-bottom: 1px solid #B7975A;

    font-family: MyYuGothicM, YuGothic, sans-serif;
    font-size: 1.9rem;
    line-height: 1.5;
}
.information-con li .date {
    margin-right: 2rem;
}
@media print, screen and (max-width: 768px) {
    .information-wrap {
        padding: 5.4vw 0 50px;
    }

    .information-con ul {
        width: 100%;
        margin: 8.5vw auto 10.9vw;
    }
    .information-con li {
        margin-bottom: 5vw;

        font-size: 1.4rem;
    }
    .information-con li .date {
        margin-right: 2rem;
    }
}

/* ==============================
  お米番付　ナビゲーション
============================== */
#okomebanzuke_page-nav.btn-image {
    margin: 0;
    padding: 78px 0 84px;
}
#okomebanzuke_page-nav.btn-image ul {
    position: relative;

    display: flex;
    justify-content: space-between;

    width: 1057px;
    margin: 0 auto;
}
#okomebanzuke_page-nav.btn-image ul::after {
    position: absolute;
    right: 0;
    bottom: -37px;
    left: 0;

    width: 13.6px;
    width: 18px;
    height: 6px;
    height: 18px;
    margin: 0 auto;

    content: "";
    transition: 0.3s ease-in-out;
    transform: rotate(45deg);

    border-right: 1px solid #B7975A;
    border-bottom: 1px solid #B7975A;
}
#okomebanzuke_page-nav.btn-image li {
    width: 300px;
    padding: 0;

    border: none;
}
#okomebanzuke_page-nav.btn-image li:first-of-type a::before {
    display: none;
}
#okomebanzuke_page-nav.btn-image li a {
    position: relative;
}
#okomebanzuke_page-nav.btn-image li a::after {
    position: absolute;
    bottom: -10px;

    display: block;

    width: 100%;
    height: 15px;

    content: "";
    transition: 0.3s ease-in-out;

    background-image: url(../images/okomebanzuke/bg-page-nav-image.png);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 100% auto;
}
#okomebanzuke_page-nav.btn-image li a:hover::after {
    transition: 0.3s ease-in-out;

    opacity: 0;
}
#okomebanzuke_page-nav.btn-image li a img {
    position: relative;
    top: 0;

    transition: 0.3s ease-in-out;
}
#okomebanzuke_page-nav.btn-image li a:hover img {
    top: 10px;

    transition: 0.3s ease-in-out;
}
@media print, screen and (max-width: 768px) {
    #okomebanzuke_page-nav.btn-image {
        padding: 10.9vw 0 26.6vw;
    }
    #okomebanzuke_page-nav.btn-image ul {
        display: block;

        width: 92vw;
        margin: 0 auto;
    }
    #okomebanzuke_page-nav.btn-image ul::after {
        display: none;
    }
    #okomebanzuke_page-nav.btn-image li {
        width: 100%;
        margin-bottom: 5.8vw;
    }
    #okomebanzuke_page-nav.btn-image li:last-of-type {
        margin-bottom: 0;
    }
    #okomebanzuke_page-nav.btn-image li a::after {
        display: none;
    }
    #okomebanzuke_page-nav.btn-image li a:hover img {
        top: 0;
    }
}

#okomebanzuke_page-nav {
    margin: 41px 0 32px;
}
#okomebanzuke_page-nav ul {
    display: flex;
    justify-content: center;
}
#okomebanzuke_page-nav li {
    padding: 0 50px;

    color: rgba(30,30,30,30%);
    border-right: 1px solid #707070;

    font-family: MyYuGothicM, YuGothic, sans-serif;
    font-size: 1.8rem;
}
#okomebanzuke_page-nav li:last-of-type {
    border-right: none;
}
#okomebanzuke_page-nav li a {
    position: relative;

    color: #1E1E1E;
}
#okomebanzuke_page-nav li:first-of-type a::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: -20px;

    width: 10px;
    height: 10px;
    margin: auto 0;

    content: "";
    transform: rotate(225deg);

    border-top: 1px solid #1E1E1E;
    border-right: 1px solid #1E1E1E;
    background-image: none;
}
@media print, screen and (max-width: 768px) {
    #okomebanzuke_page-nav {
        margin: 41px 0 32px;
    }
    #okomebanzuke_page-nav ul {
        width: 92vw;
        margin: 0 auto;
    }
    #okomebanzuke_page-nav li {
        padding: 0 1.4rem;

        font-size: 1.4rem;
    }
    #okomebanzuke_page-nav li:first-of-type a::before {
        top: 0;
        bottom: 0;
        left: -1.2rem;

        width: 0.7rem;
        height: 0.7rem;
    }
}

/* ==============================
  知る
============================== */
#know {
    overflow: hidden;
}

.okomebanzuke-nav {
    display: flex;
    justify-content: space-between;

    width: 1057px;
    margin: 50px auto 95px;
}
#use .okomebanzuke-nav {
    width: 790px;
}
.okomebanzuke-nav li {
    width: 252px;

    transition: 0.3s ease-in-out;

    border-color: #B7975A;
}
.okomebanzuke-nav li:hover {
    background-color: #B7975A;
}
.okomebanzuke-nav li.anc-s a {
    font-family: MyYuGothicM, YuGothic, sans-serif;
    font-size: 1.9rem;
}
.okomebanzuke-nav li a:hover {
    opacity: 1;
    color: #FFFFFF;
}
@media print, screen and (max-width: 768px) {
    .okomebanzuke-nav {
        flex-wrap: wrap;

        width: 92vw;
        margin: 13.3vw auto 9vw;
    }
    #apply .okomebanzuke-nav {
        margin: 10vw auto 13vw;
    }
    #use .okomebanzuke-nav {
        width: 90vw;
    }
    .okomebanzuke-nav li {
        width: 42.6vw;
        margin-bottom: 4vw;
    }
    .okomebanzuke-nav li.anc-s a {
        font-size: 1.4rem;
    }
}

/* お米番付とは
========================================================================== */
#about ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;

    width: 83.5%;
    min-width: 1002px;
    margin: 100px auto 50px;
}
#about li {
    width: 240px;
    margin-bottom: 97px;

    text-align: center;
}

#about li:nth-of-type(2),
#about li:nth-of-type(5) {
    margin: 0 10%;
}

#about li .about-img {
    display: flex;
    align-items: center;
    justify-content: center;

    height: 165px;
}
#about li:first-of-type img {
    width: 129px;
}
#about li:nth-of-type(2) img {
    width: 195px;
}
#about li:nth-of-type(3) img {
    width: 117px;
}
#about li:nth-of-type(4) img {
    width: 159px;
}
#about li:nth-of-type(5) img {
    width: 153px;
}
#about li:last-of-type img {
    width: 155px;
}

#about li h3 {
    margin: 18px 0 26px;

    letter-spacing: 0.06em;

    color: #C19E33;

    font-family: "Times New Roman", Times, serif;
    font-size: 2rem;
    font-weight: bold;
}
#about li p {
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.5;
}
@media print, screen and (max-width: 768px) {
    #about ul {
        box-sizing: border-box;
        width: 100%;
        min-width: 90vw;
        margin: 9.8vw auto 10.6vw;
        padding: 0 3.2vw;
    }
    #about li {
        width: 35.4vw;
        margin-bottom: 16vw;
    }
    #about li:nth-of-type(2n) {
        width: 42.1vw;
    }

    #about li:nth-of-type(2),
    #about li:nth-of-type(5) {
        margin: 0;
    }

    #about li .about-img {
        height: 32vw;
    }
    #about li:first-of-type img {
        width: 23.4vw;
    }
    #about li:nth-of-type(2) img {
        width: 35.4vw;
    }
    #about li:nth-of-type(3) img {
        width: 23.2vw;
    }
    #about li:nth-of-type(4) img {
        width: 25.3vw;
    }
    #about li:nth-of-type(5) img {
        width: 29.8vw;
    }
    #about li:last-of-type img {
        width: 29.8vw;
    }

    #about li h3 {
        margin: 18px 0 26px;

        font-size: 1.4rem;
    }
    #about li p {
        letter-spacing: -0.02em;

        font-size: 1.6rem;
        font-weight: bold;
        line-height: 1.5;
    }
}

/* 部門の新設
========================================================================== */
.new_divisions-box {
    position: relative;

    width: 1128px;
    margin: 80px auto 148px;
    padding: 40px 0;

    color: #FFFFFF;
    border-radius: 22px;
    background-color: #B7975A;
}
.new_divisions-box::before {
    position: absolute;
    z-index: -1;
    top: -8.5px;
    right: -8.5px;
    bottom: -8.5px;
    left: -8.5px;

    content: "";

    border: solid 1px #B7975A; /* 外枠のスタイル */
    border-radius: 22px;
}

.new_divisions-box h3 {
    margin-bottom: 25px;

    text-align: center;

    font-family: MyYuGothicM, YuGothic, sans-serif;
    font-size: 3rem;
    font-weight: bold;
}
.new_divisions-box h3 img {
    display: block;

    width: 162px;
    margin: 0 auto 15px;
}
.new_divisions-box p {
    width: 800px;
    margin: 0 auto;

    font-family: MyYuGothicM, YuGothic, sans-serif;
    font-size: 1.7rem;
    line-height: 1.7;
}
@media print, screen and (max-width: 768px) {
    .new_divisions-box {
        width: 89vw;
        margin: 13vw auto 26.6vw;
        padding: 8.2vw 0;

        border-radius: 22px;
    }
    .new_divisions-box::before {
        position: absolute;
        top: -1.5vw;
        right: -1.5vw;
        bottom: -1.5vw;
        left: -1.5vw;

        content: "";

        border-radius: 22px;
    }

    .new_divisions-box h3 {
        margin-bottom: 3.9vw;

        font-size: 1.9rem;
    }
    .new_divisions-box h3 img {
        width: 29.3vw;
        margin: 0 auto 2vw;
    }
    .new_divisions-box p {
        width: 73.8vw;

        font-size: 1.4rem;
        line-height: 1.6;
    }
}

/* 開催のねらい
========================================================================== */
#event {
    position: relative;
}
#event::before {
    position: absolute;
    z-index: -1;
    top: 67px;
    right: 0;
    left: calc(50% - 1075.75px);

    display: block;

    width: 2151.5px;
    height: 100%;

    content: "";

    background-image: url(../images/okomebanzuke/bg-event.jpg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% auto;
}
#event h3.ttl_hr {
    margin-bottom: 68px;
}

.event-box {
    position: relative;
    /* display: flex;
    justify-content: space-between; */
}
.event-box + .event-box {
    margin-top: 360px;
}
.event-box:last-of-type {
    margin-bottom: 150px;
}
.event-box .text-box {
    width: 700px;
}
.event-box h4 {
    margin-bottom: 65px;
    padding-left: 20px;

    letter-spacing: 0.04em;

    border-left: 3px solid #C19E33;

    font-size: 3.2rem;
    line-height: 1.6;
}
.event-box p {
    width: 662px;

    font-size: 1.68rem;
    line-height: 2.5;
}

.event-box .image-box {
    width: 414px;
}

.event-box.left .text-box {
    margin-left: 40px;
}
.event-box.left .image-box {
    /* align-self: end; */
    position: absolute;
    top: auto;
    right: 0;
    bottom: 0;
    left: auto;
}
.event-box.right .text-box {
    /* order: 2; */
    margin: 0 0 0 auto;
}
.event-box.right .image-box {
/* order: 1; */
    position: absolute;
    top: 0;
    left: 0;

    margin-top: 177px;
    margin-left: 40px;
}
@media print, screen and (max-width: 768px) {
    #event::before {
        top: 27.4vw;
        left: 0vw;

        width: 100vw;
        height: 100%;

        background-image: url(../sp-images/okomebanzuke/bg-event.jpg);
    }
    #event h3.ttl_hr {
        margin-bottom: 10vw;
    }

    .event-box {
        display: block;
    }
    .event-box + .event-box {
        margin-top: 29.6vw;
    }
    .event-box:last-of-type {
        margin-bottom: 0;
        padding-bottom: 45vw;
    }
    .event-box .text-box {
        width: 100%;
    }
    .event-box h4 {
        margin-bottom: 8.3vw;
        padding-left: 3.2vw;

        letter-spacing: 0;

        border-left: 1px solid #C19E33;

        font-size: 2rem;
        line-height: 1.6;
    }
    .event-box p {
        width: 100%;

        letter-spacing: 0.01em;

        font-size: 1.4rem;
        line-height: 1.62;
    }

    .event-box .image-box {
        width: 64.8vw;
        margin-top: 16.2vw;
    }

    .event-box.left .text-box {
        margin-left: 0;
    }
    .event-box.left .image-box {
        /* align-self: end; */
        position: relative;
        top: 0;
        left: 0;
    }
    .event-box.right .text-box {
        order: 2;
    }
    .event-box.right .image-box {
        position: relative;
        top: 0;
        left: 0;

        margin-top: 16.2vw;
        margin-right: 0;
        margin-left: auto;
    }
}


/* 受賞結果
========================================================================== */
#awards h4 {
    margin: 80px 0 40px;

    text-align: center;

    font-size: 3.9rem;
    line-height: 1.5;
}
#awards ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;

    margin-top: 100px;
}
#awards li {
    width: 256px;
    margin-bottom: 53px;
}
#awards li h6,
.old_awards-wrap .old_awards-detail li h6 {
    margin: 23px 0 16px;

    font-size: 3.3rem;
    line-height: 1.5;
}
#awards li p,
.old_awards-wrap .old_awards-detail li p {
    font-size: 1.95rem;
    line-height: 2;
}

#awards .legend_bnr {
    width: 1047px;
    margin: 50px auto;
}

.old-awards h5 {
    margin: 100px 0 60px;

    text-align: center;

    font-size: 3rem;
    line-height: 2;
}

.old_awards-wrap {
    margin-bottom: 93px;
}
.old_awards-wrap .more {
    display: flex;
    align-items: center;

    font-size: 2.5rem;
}
.old_awards-wrap .more:before,
.old_awards-wrap .more:after {
    flex-grow: 1;

    height: 1px;

    content: "";

    background-color: #B7975A;
}

.old_awards-wrap .more:before {
    margin-right: 19.8px;
}

.old_awards-wrap .more:after {
    margin-left: 60px;
}
.old_awards-wrap .more p {
    position: relative;

    cursor: pointer;
}
.old_awards-wrap .more p::after {
    position: absolute;
    top: 0;
    right: -30px;
    bottom: 0;

    width: 19px;
    height: 9px;
    margin: auto 0;

    content: "";
    transition: 0.3s ease-in-out;
/* transform: rotate(180deg); */
    transform: rotateZ(180deg) translateY(0%);

    background-image: url(../common/images/arrow_l-b-y.svg);
    background-repeat: no-repeat;
    background-position: 100% 50%;
    background-size: auto 100%;
}
.old_awards-wrap .more.close p::after {
    transform: rotateZ(0deg) translateY(0%);
}


.old_awards-wrap .old_awards-detail {
    display: none;

    padding: 70px 0 0;
}
.old_awards-wrap .old_awards-detail ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.old_awards-wrap .old_awards-detail li {
    width: 256px;
    margin-right: 58px;
    margin-bottom: 40px;
}
.old_awards-wrap .old_awards-detail li:nth-of-type(4n) {
    margin-right: 0;
}
.old_awards-wrap .old_awards-detail li.big {
    width: 300px;
    margin-right: 0;
}
@media print, screen and (max-width: 768px) {
    #awards h4 {
        margin: 6.9vw 0 6.4vw;

        font-size: 2rem;
    }
    #awards ul {
        margin-top: 14.2vw;
    }
    #awards li {
        width: 41.8vw;
        margin-bottom: 10.8vw;
    }
    #awards li h6,
    .old_awards-wrap .old_awards-detail li h6 {
        margin: 3.7vw 0 2vw;

        font-size: 1.8rem;
        line-height: 1.7;
    }
    #awards li p,
    .old_awards-wrap .old_awards-detail li p {
        font-size: 1.3rem;
        line-height: 1.8;
    }

    #awards .legend_bnr {
        width: 100%;
        margin: 0 auto 10.6vw;
    }

    .old-awards h5 {
        margin: 22.6vw 0 6.9vw;

        font-size: 2rem;
        line-height: 2;
    }

    .old_awards-wrap {
        margin-bottom: 2.7vw;
    }
    .old_awards-wrap .more {
        display: flex;
        align-items: center;

        border-bottom: 1px solid #B7975A;

        font-size: 1.8rem;
    }
    .old_awards-wrap .more:before,
    .old_awards-wrap .more:after {
        display: none;
    }
    .old_awards-wrap .more p {
        width: 100%;
    }
    .old_awards-wrap .more p::after {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;

        width: 4.2vw;
        height: 2.1vw;
        margin: auto 0;

        content: "";

        background-repeat: no-repeat;
        background-position: 100% 50%;
        background-size: auto 100%;
    }


    .old_awards-wrap .old_awards-detail {
        padding: 5.9vw 0 0;
    }
    .old_awards-wrap .old_awards-detail ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .old_awards-wrap .old_awards-detail li,
    .old_awards-wrap .old_awards-detail li.big {
        width: 50%;
        margin-right: 0;
        margin-bottom: 6.3vw;
    }
}


/* ==============================
  応募する
============================== */
#judges {
    padding-bottom: 150px;
}
.judges-box {
    position: relative;

    margin-top: 66px;
}
.judges-box h4 {
    margin-bottom: 44px;
    padding-left: 20px;

    border-left: 3px solid #C19E33;

    font-size: 3.3rem;
    line-height: 1.8;
}
.judges-box .name {
    position: absolute;
    top: 0;
    right: 0;

    letter-spacing: 0.1em;

    font-size: 2.8rem;
}
.judges-box .name span {
    margin-right: 20px;

    font-size: 1.8rem;
}
.judges-box .image-box {
    float: right;

    width: 278px;
}
.judges-box .message {
    width: 855px;

    font-size: 1.7rem;
    line-height: 2.5;
}

.judges_list h5 {
    margin: 97px 0 57px;

    text-align: center;

    font-size: 3rem;
}

.judges_list ul {
    display: flex;
    justify-content: space-between;
}
.judges_list li {
    width: 220px;
}
.judges_list li p.name {
    margin-bottom: 22px;
    padding: 30px 0 20px;

    border-bottom: 1px solid #C19E33;

    font-size: 2.5rem;
    line-height: 1.3;
}
.judges_list li p.name span {
    display: block;

    font-size: 1.6rem;
}
.judges_list li p {
    font-size: 1.6rem;
    line-height: 1.6;
}
@media print, screen and (max-width: 768px) {
    #judges {
        padding-bottom: 16vw;
    }
    .judges-box {
        margin-top: 13.1vw;
    }
    .judges-box .text-box {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .judges-box h4 {
        margin-bottom: 6.2vw;
        padding-left: 3vw;

        border-left: 1px solid #C19E33;

        font-size: 2rem;
        line-height: 1.6;
    }
    .judges-box .name {
        position: relative;
        top: 0;
        right: 0;

        width: 40.8vw;

        letter-spacing: 0.1em;

        font-size: 2rem;
    }
    .judges-box .name span {
        display: block;

        margin-right: 0;
        margin-bottom: 2vw;

        letter-spacing: 0.1em;

        font-size: 1.4rem;
        line-height: 1.8;
    }
    .judges-box .image-box {
        float: none;

        width: 46.1vw;
    }
    .judges-box .message {
        width: 100%;
        margin-top: 5vw;

        font-size: 1.4rem;
        line-height: 2.1;
    }

    .judges_list h5 {
        margin: 26.6vw 0 13vw;

        font-size: 2rem;
    }

    .judges_list ul {
        flex-wrap: wrap;
    }
    .judges_list li {
        width: 42.4vw;
        margin-bottom: 10.6vw;
    }
    .judges_list li p.name {
        margin-bottom: 2vw;
        padding: 2vw 0 1vw;

        font-size: 2rem;
        line-height: 1.35;
    }
    .judges_list li p.name span {
        display: inline;

        margin-right: 1.4rem;

        font-size: 1.4rem;
    }
    .judges_list li p {
        font-size: 1.4rem;
        line-height: 1.7;
    }
}

/* 応募方法
========================================================================== */
#how_to_apply {
    text-align: center;

    font-family: MyYuGothicM, YuGothic, sans-serif;
}
#how_to_apply h3 + p {
    margin-top: 90px;

    font-size: 2.5rem;
}
#how_to_apply .icn-pdf {
    width: 134px;
    margin: 50px auto 39px;
}
#how_to_apply .btn-m {
    width: 535px;
    height: 95px;
    margin: 0 auto;

    background-image: none;
}
#how_to_apply .btn-m a {
    text-align: center;

    color: #FFFFFF;
    background-color: #C41E18;

    font-size: 2.5rem;
}
#how_to_apply .btn-m::after {
    top: 0;
    right: 29.5px;
    bottom: 0;

    width: 15px;
    height: 15px;
    margin: auto 0;

    transition: 0.3s ease-in-out;
    transform: rotate(45deg);

    border-top: 1px solid #FFFFFF;
    border-right: 1px solid #FFFFFF;
    background-image: none;
}
@media print, screen and (max-width: 768px) {
    #how_to_apply h3 + p {
        margin-top: 9vw;

        font-size: 1.6rem;
    }
    #how_to_apply .icn-pdf {
        width: 27.7vw;
        margin: 9.8vw auto 10vw;
    }
    #how_to_apply .btn-m {
        width: 73.8vw;
        height: 14.1vw;
    }
    #how_to_apply .btn-m a {
        font-size: 1.7rem;
    }
    #how_to_apply .btn-m::after {
        right: 7.92vw;

        width: 0.7rem;
        height: 0.7rem;
    }
}

/* 応募の流れ
========================================================================== */
.flow-wrapper {
    margin: 97px 0 150px;
}

.flow-box {
    box-sizing: border-box;
    width: 1079px;
    margin: 0 auto;
    padding: 21px 29px 17px 27px;

    counter-reset: ol-counter;

    background-image: url(../images/okomebanzuke/double_line-header.png), url(../images/okomebanzuke/double_line-footer.png), url(../images/okomebanzuke/double_line-body.png);
    background-repeat: no-repeat, no-repeat, repeat-y;
    background-position: center top, center bottom, center;
    background-size: 100% auto;
}
.flow-box table {
    text-align: left;
    letter-spacing: 0.03em;
}
.flow-box table th {
    box-sizing: border-box;
    width: 32%;

    border-right: 1px solid #B7975A;
    border-bottom: 1px solid #B7975A;
}
.flow-box table td {
    box-sizing: border-box;
    width: 68%;
    padding: 17px 0 17px 14px;

    border-bottom: 1px solid #B7975A;

    font-size: 1.6rem;
}
.flow-box table tr:last-of-type th,
.flow-box table tr:last-of-type td {
    border-bottom: none;
}

.flow-box table th p.number {
    display: flex;
    align-items: baseline;

    margin-top: 0;

    font-size: 2.2rem;
    font-weight: bold;
}
.flow-box table th p.number::before {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 45px;
    height: 45px;
    margin-right: 20px;

    content: counter(ol-counter);
    counter-increment: ol-counter;

    color: #FFFFFF;
    border-radius: 50%;
    background: #B7975A;

    font-family: "Times New Roman", Times, serif;
    font-size: 2.9rem;
}

.flow-box table td a,
.flow-box table td span.modal-open {
    padding: 10px;

    cursor: pointer;

    color: #B7975A;
}
.flow-box table td span.modal-open:hover {
    text-decoration: underline;

    opacity: 0.7;
}
.flow-box table td span.bold {
    font-weight: bold;
}
.flow-box table td span.bg-red {
    margin: 10px 16px 0;
    padding: 1px 5px;

    color: #FFFFFF;
    border-radius: 3px;
    background-color: #C41E18;
}
.flow-box table td span.early_entry_fee {
    font-size: 2.1rem;
}
@media print, screen and (max-width: 768px) {
    .flow-wrapper {
        margin: 26.6vw 0;
    }

    .flow-box {
        width: 100%;
        padding: 4.5vw 4vw 3.2vw;

        background-image: url(../sp-images/okomebanzuke/double_line-header.png), url(../sp-images/okomebanzuke/double_line-footer.png), url(../sp-images/okomebanzuke/double_line-body.png);
    }
    .flow-box table {
        letter-spacing: 0;
    }
    .flow-box table th {
        width: 32%;
        padding: 4vw 0;

        vertical-align: top;
        letter-spacing: 0.03em;
    }
    .flow-box table td {
        width: 64%;
        padding: 4vw 0 4vw 4.8vw;

        font-size: 1.5rem;
    }

    .flow-box table th p.number {
        display: block;

        font-size: 1.8rem;
    }
    .flow-box table th p.number::before {
        width: 35px;
        height: 35px;
        margin-right: 0;
        margin-bottom: 2vw;

        font-size: 2.2rem;
    }

    .flow-box table td a {
        padding: 0;
    }
    .flow-box table td span.bg-red {
        display: inline-block;

        margin: 5.8vw 0 0;
    }
    .flow-box table td span.early_entry_fee {
        font-size: 1.5rem;
    }
}

/* 賞の種類
========================================================================== */
#types_of_awards h3 + p {
    width: 1025px;
    margin: 72px auto 78px;

    font-family: MyYuGothicM, YuGothic, sans-serif;
    font-size: 1.7rem;
    line-height: 2.5;
}
.awards-wrapper {
    position: relative;

    /* width: 768px; */
    width: 350px;
    margin: 0 auto 150px;
    padding: 32px 0 25px;

    border: 3px solid #B7975A;
    border-radius: 10px;

    font-family: MyYuGothicM, YuGothic, sans-serif;
}
.awards-wrapper h5 {
    position: absolute;
    top: -29px;
    right: 0;
    left: 0;

    width: 208px;
    margin: 0 auto;
}
.awards-box {
    /* width: 709px; */
    width: 330px;
    margin: 0 auto;

    color: #FFFFFF;
    border-radius: 10px;
    background-color: #A71C14;
}
.awards-box h6 {
    padding: 6px 0 9px;

    text-align: center;
    letter-spacing: 0.04em;

    border-radius: 10px 10px 0 0;
    background-color: #960B04;

    font-size: 2.7rem;
    font-weight: bold;
    line-height: 1.3;
}
.awards-inner {
    /* display: flex; */
    display: block;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;

    padding: 27px 47px 35px 50px;
}
.awards-inner ul {
    letter-spacing: 0.04em;

    font-size: 2.9rem;
    font-weight: bold;
    line-height: 2.3;
}
.awards-inner li {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 7px;
}
.awards-inner li:last-of-type {
    margin-bottom: 0;
}
.awards-inner li img {
    width: 63px;
    margin-left: 36px;
}
.awards-inner .u-5 {
    position: relative;
    margin-top: 30px;

    box-sizing: border-box;
    width: 250px;
    padding: 40px 44px 22px;

    border: 2px dashed #FFFFFF;
    border-radius: 13px;
}
.awards-inner .u-5 h6 {
    position: absolute;
    top: -29px;
    right: 0;
    left: 0;

    width: 185px;
    margin: 0 auto;

    text-align: center;

    background-color: #A71C14;

    font-size: 2.4rem;
    font-weight: bold;
}
.awards-inner .u-5 h6 span {
    display: block;

    font-size: 1.6rem;
}
.awards-inner .u-5 ul {
    font-size: 2.7rem;
}
@media print, screen and (max-width: 768px) {
    #types_of_awards h3 + p {
        width: 100%;
        margin: 7vw 0 11.2vw;

        font-size: 1.5rem;
        line-height: 1.6;
    }
    .awards-wrapper {
        width: calc(100% - 6px);
        margin: 0 auto 26.6vw;
        padding: 4.8vw 0 3.92vw;
    }
    .awards-wrapper h5 {
        /* top: -3.85vw; */
        /* width: 27.4vw; */
        top: -4.8vw;

        width: 32.88vw;
    }
    .awards-box {
        width: 80.8vw;
    }
    .awards-box h6 {
        padding: 1.8vw 0 2.1vw;

        font-size: 1.5rem;
    }
    .awards-inner {
        display: block;

        padding: 4.24vw 7.4vw 6.4vw;
    }
    .awards-inner ul {
        margin: 0 6.6vw;

        font-size: 2.5rem;
    }
    .awards-inner li {
        margin-bottom: 7px;
    }
    .awards-inner li img {
        width: 14.9vw;
        margin-left: 9vw;
    }
    .awards-inner .u-5 {
        width: 100%;
        margin-top: 8.8vw;
        padding: 9.4vw 9.8vw 5.1vw;

        border-radius: 13px;
    }
    .awards-inner .u-5 h6 {
        top: -2.6rem;

        width: 35.6vw;

        font-size: 2rem;
    }
    .awards-inner .u-5 h6 span {
        font-size: 1.3rem;
    }
    .awards-inner .u-5 ul {
        margin: 0;

        font-size: 2.3rem;
    }
    .awards-inner .u-5 li img {
        margin-left: 4vw;
    }
}

/* スケジュール
========================================================================== */
#schedule {
    font-family: MyYuGothicM, YuGothic, sans-serif;
}
#schedule h3 + p {
    width: 920px;
    margin: 72px auto 31px;

    font-size: 1.7rem;
    line-height: 2.5;
}
#schedule ul {
    display: flex;
    justify-content: space-between;

    width: 920px;
    margin: 0 auto;
}
#schedule li {
    text-align: center;

    color: #FFFFFF;
}
#schedule .schedule-box {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 292px;
    height: 162px;

    background-color: #A71C14;

    font-weight: bold;
}
#schedule .schedule-box::before {
    position: absolute;
    z-index: 0;
    top: 6px;
    left: 6px;

    display: block;

    box-sizing: border-box;
    width: calc(100% - 12px);
    height: calc(100% - 12px);

    content: "";

    border: 1px solid #FFFFFF;
}
#schedule .schedule-box .schedule-box-inner {
    position: relative;
    z-index: 1;
}
#schedule li.ceremony .schedule-box {
    background-color: #987031;
}

#schedule .schedule-list {
    margin: 100px 0 150px;
}
#schedule .schedule-box p {
/* letter-spacing: 0.03em; */
    width: 100%;
    margin: 0;

    font-size: 5rem;
    line-height: 1;
}
#schedule li .attention {
    width: auto;
    margin: 13px 0 0;

    text-align: left;
    letter-spacing: normal;

    color: #1E1E1E;

    font-size: 1.25rem;
    line-height: 1.3;
}
#schedule .schedule-box p.small {
    margin-bottom: 20px;

    font-size: 2.5rem;
}
#schedule .schedule-box span.middle {
    font-size: 2.7rem;
}
#schedule .schedule-box span.must {
    font-size: 2.3rem;
}
@media print, screen and (max-width: 768px) {
    #schedule h3 + p {
        width: 100%;
        margin: 7vw 0 11.2vw;

        font-size: 1.5rem;
        line-height: 1.6;
    }
    #schedule ul {
        display: block;

        width: 65.8vw;
    }
    #schedule li {
        margin-bottom: 6.2vw;
    }
    #schedule .schedule-box {
        width: 100%;
        height: 36.8vw;
    }
    #schedule .schedule-box::before {
        position: absolute;
        top: 6px;
        left: 6px;

        content: "";
    }
    #schedule .schedule-list {
        margin: 26.6vw 0;
    }
    #schedule .schedule-box p {
        font-size: 4.2rem;
    }
    #schedule li .attention {
        margin: 2.3vw 0 0;

        font-size: 1.3rem;
    }
    #schedule .schedule-box p.small {
        margin-bottom: 2vw;

        font-size: 2.1rem;
    }
    #schedule .schedule-box span.middle {
        font-size: 2.2rem;
    }
    #schedule .schedule-box span.must {
        font-size: 1.9rem;
    }
}

/* スケジュール行程
========================================================================== */
.schedule-list .flow-box table td .detail-box {
    display: flex;
    align-items: center;
}
.schedule-list .flow-box table td p.date {
    width: 44%;

    letter-spacing: 0.03em;

    font-size: 2.3rem;
}
.schedule-list .flow-box table td .detail {
    width: 56%;
}
.schedule-list .flow-box table td .detail a {
    padding-top: 0;
    padding-left: 0;
}
@media print, screen and (max-width: 768px) {
    .schedule-list .flow-box table td .detail-box {
        display: block;
    }
    .schedule-list .flow-box table td p.date {
        width: 100%;

        letter-spacing: 0;

        font-size: 1.8rem;
    }
    .schedule-list .flow-box table td .detail {
        width: 100%;
    }
}

/* 審査方法
========================================================================== */
#judging_method h4 {
    margin: 90px 0 0;

    text-align: center;
    letter-spacing: 0.1em;

    font-size: 3rem;
}

#judging_method h4 + p {
    width: 920px;
    margin: 53px auto 100px;

    font-size: 1.7rem;
    line-height: 2.5;
}

#judging_method .taste {
    background-color: rgba( 183, 151, 90, 0.15);
}

#judging_method .taste::before,
#judging_method .taste::after {
    display: block;

    width: 100%;
    height: 2px;

    content: "";
}
#judging_method .taste::before {
    padding-top: 12px;

    border-bottom: 2px solid #B7975A;
}
#judging_method .taste::after {
    padding-bottom: 12px;

    border-top: 2px solid #B7975A;
}
@media print, screen and (max-width: 768px) {
    #judging_method h4 {
        margin: 10vw 0 0;

        letter-spacing: 0;

        font-size: 1.8rem;
    }

    #judging_method h4 + p {
        width: 100%;
        margin: 9.6vw 0 11.8vw;

        font-size: 1.5rem;
        line-height: 1.6;
    }
}

/* 7つの食味基準
========================================================================== */
.taste h5 {
    margin-top: 48px;

    text-align: center;

    color: #A08551;

    font-size: 3.8rem;
    line-height: 1;
}
.taste h5 span.big {
    font-size: 7rem;
}
.taste h5 + p {
    width: 920px;
    margin: 48px auto 155px;

    font-size: 1.7rem;
    line-height: 2.5;
}

.taste-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;

    margin-bottom: 52px;
}
.taste-box {
    position: relative;

    width: 187px;
    margin: 0 36px 0 76px;
}
.taste-box:nth-of-type(-n+4) {
    margin-bottom: 128px;
}
.taste-box .taste-circle {
    position: absolute;
    top: -76px;
    left: -76px;

    box-sizing: border-box;
    width: 155px;
    height: 155px;
    padding-top: 30px;

    text-align: center;

    color: #FFFFFF;
    border-radius: 50%;
    background-color: #BC944C;
}
.taste-box .taste-circle::after {
    position: absolute;
    top: 5px;
    left: 5px;

    display: block;

    width: 141px;
    height: 141px;

    content: "";

    border: 2px solid #FFFFFF;
    border-radius: 50%;
}
.taste-box .taste-circle p {
    width: 140px;
    margin: 0 auto;

    font-size: 1.6rem;
    line-height: 1.25;
}
.taste-box .taste-circle p.big {
    margin-bottom: 5px;

    letter-spacing: 0;

    font-size: 3.9rem;
}

.taste-box:nth-of-type(5) .taste-circle p {
    letter-spacing: -0.08em;
}
.taste-box:last-of-type .taste-circle p.big {
    margin-right: 4px;
}

.taste-box p.text-box {
    margin-top: 20px;

    font-size: 1.7rem;
    line-height: 1.6;
}
@media print, screen and (max-width: 768px) {
    .taste h5 {
        font-size: 2.8rem;
    }
    .taste h5 span.big {
        font-size: 5.2rem;
    }
    .taste h5 + p {
        width: 100%;
        margin: 9.6vw 0 11vw;

        font-size: 1.4rem;
        line-height: 1.6;
    }

    .taste-wrapper {
        justify-content: space-between;

        margin-bottom: 52px;
    }
    .taste-box {
        position: relative;

        width: 39.7vw;
        margin: 0;
    }
    .taste-box:nth-of-type(-n+6) {
        margin-bottom: 2.9vw;
    }
    .taste-box .taste-circle {
        position: relative;
        top: 0;
        left: 0;

        width: 36.5vw;
        height: 36.5vw;
        margin-bottom: 3.3vw;
        padding-top: 6.6vw;
    }
    .taste-box .taste-circle::after {
        top: 1.2vw;
        left: 1.2vw;

        width: 33.7vw;
        height: 33.7vw;

        border: 1px solid #FFFFFF;
    }
    .taste-box .taste-circle p {
        width: 28vw;

        font-size: 1.5rem;
    }
    .taste-box .taste-circle p.big {
        margin-bottom: 1vw;

        font-size: 3.7rem;
    }


    .taste-box:nth-of-type(4) .taste-circle p {
        letter-spacing: -0.15em;
    }
    .taste-box:nth-of-type(5) .taste-circle p {
        width: 32vw;

        letter-spacing: -0.15em;
    }
    .taste-box:nth-of-type(6) .taste-circle p {
        width: 32vw;

        letter-spacing: -0.1em;
    }
    .taste-box:last-of-type .taste-circle p.big {
        width: 32vw;
        margin-right: 1vw;
    }

    .taste-box p.text-box {
        margin-top: 5.8vw;

        font-size: 1.5rem;
    }
}

/* 炊飯方法
========================================================================== */
.how_to_cook_rice {
    padding: 97px 0 90px;
}
.how_to_cook_rice h5 {
    margin-bottom: 100px;

    text-align: center;

    font-size: 3.8rem;
}
.how_to_cook_rice ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;

    counter-reset: ol-counter;
}
.how_to_cook_rice li {
    width: 366px;
    margin-bottom: 70px;
}
.how_to_cook_rice li .image-box {
    margin: 23px 0 29px;
}
.how_to_cook_rice li p {
    font-size: 1.7rem;
}
.how_to_cook_rice li p.number {
    display: flex;

    font-family: MyYuGothicM, YuGothic, sans-serif;
    font-size: 2.3rem;
}
.how_to_cook_rice li p.number::before {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 33px;
    height: 33px;
    margin-right: 9px;

    content: counter(ol-counter);
    counter-increment: ol-counter;

    color: #1E1E1E;
    border: 1px solid #1E1E1E;
    border-radius: 50%;
    background: #FFFFFF;

    font-size: 1.9rem;
}
@media print, screen and (max-width: 768px) {
    .how_to_cook_rice {
        padding: 13.4vw 0 21.8vw;
    }
    .how_to_cook_rice h5 {
        margin-bottom: 5.8vw;

        font-size: 2rem;
    }
    .how_to_cook_rice ul {
        display: block;
    }
    .how_to_cook_rice li {
        width: 100%;
        margin-bottom: 12.6vw;
    }
    .how_to_cook_rice li .image-box {
        margin: 3vw 0 5.3vw;
    }
    .how_to_cook_rice li p {
        font-size: 1.6rem;
    }
    .how_to_cook_rice li p.number {
        font-size: 2rem;
    }
    .how_to_cook_rice li p.number::before {
        width: 8vw;
        height: 8vw;
        margin-right: 2.1vw;

        font-size: 1.6rem;
    }
}


/* ==============================
  活用する
============================== */
/* 受賞後の展開
========================================================================== */
#after {
    counter-reset: ol-counter;

    font-family: MyYuGothicM, YuGothic, sans-serif;
}
.after-nav {
    display: flex;
    justify-content: center;

    margin: 90px 0 40px;
}
.after-nav li {
    padding: 0 50px;

    color: rgba(30,30,30,30%);
    border-right: 1px solid #707070;
}
.after-nav li a {
    color: #1E1E1E;

    font-size: 1.8rem;
}
.after-nav li:last-of-type {
    border-right: none;
}

.after-photo {
    margin-bottom: 95px;
}

.after-wrap {
    width: 916px;
    margin: 0 auto 100px;
}
.after-wrap h6 {
    display: flex;
    align-items: center;

    margin-bottom: 37px;

    font-size: 3rem;
    font-weight: bold;
}
.after-wrap h6::before {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 41px;
    height: 41px;
    margin-right: 9px;

    content: counter(ol-counter);
    counter-increment: ol-counter;

    color: #1E1E1E;
    border: 1px solid #1E1E1E;
    border-radius: 50%;
    background: #FFFFFF;

    font-family: "游明朝 ミディアム", "YuMincho Medium", YuMincho, "Yu Mincho", serif;
    font-size: 2.4rem;
}

.after-wrap p {
    font-size: 1.7rem;
}

.after-wrap .after02-box {
    width: 903px;

/* margin: 95px auto; */
    margin: 50px auto;
}
.after-wrap .after02-box:nth-of-type(2) {
    margin-top: 85px;
}
.after-wrap .after02-box:nth-of-type(3) {
    margin-top: 112px;
}

.after-wrap .after02-box .more {
    display: flex;
    align-items: center;

    font-size: 2.3rem;
    font-weight: bold;
}
.after-wrap .after02-box .more:before,
.after-wrap .after02-box .more:after {
    flex-grow: 1;

    height: 1px;

    content: "";

    background-color: #B7975A;
}

.after-wrap .after02-box .more:before {
    margin-right: 19.8px;
}

.after-wrap .after02-box .more:after {
    margin-left: 60px;
}
.after-wrap .after02-box .more p {
    position: relative;

    cursor: pointer;
}
.after-wrap .after02-box .more p::after {
    position: absolute;
    top: 0;
    right: -30px;
    bottom: 0;

    width: 19px;
    height: 9px;
    margin: auto 0;

    content: "";
    transition: 0.3s ease-in-out;
    transform: rotate(180deg);

    background-image: url(../common/images/arrow_l-b-y.svg);
    background-repeat: no-repeat;
    background-position: 100% 50%;
    background-size: auto 100%;
}
.after-wrap .after02-box .more.close p::after {
    transform: rotateZ(0deg) translateY(0%);
}

.after02-detail .map {
    display: flex;

    width: 748px;
    margin: 59px auto 102px;
}
.after02-detail .map p {
    width: 400px;
    margin-right: 30px;
}
.after02-detail .map img {
    width: 325px;
}

.after02-detail .flow {
    text-align: center;
}
.after02-detail .flow p {
    margin-bottom: 40px;

    letter-spacing: 0.03em;

    font-size: 2rem;
    font-weight: bold;
}
.after02-detail .flow img {
    width: 748px;
}

.after02-detail .shop-list {
    display: flex;

    width: 748px;
    margin: 56px auto 72px;
}
.after02-detail .shop-list .left {
    display: flex;
    flex-direction: column;
    justify-content: space-between;

    width: 302px;
    margin-right: 50px;
}
.after02-detail .shop-list .right {
    width: 395px;
}
.after02-detail .shop-list .left .btn + .btn {
    margin-top: 18px;
}
.after02-detail .shop-list + p {
    width: 748px;
    margin: 0 auto;
}

#after03 .logo-okomebanzuke {
    width: 174px;
    margin: 52px auto 50px;
}
#after03 .btn-m {
    width: 535px;
    height: 95px;
    margin: 0 auto;

    background-image: none;
}
#after03 .btn-m a {
    text-align: center;

    color: #FFFFFF;
    background-color: #C41E18;

    font-size: 2.5rem;
}
#after03 .btn-m::after {
    top: 0;
    right: 29.5px;
    bottom: 0;

    width: 15px;
    height: 15px;
    margin: auto 0;

    transition: 0.3s ease-in-out;
    transform: rotate(45deg);

    border-top: 1px solid #FFFFFF;
    border-right: 1px solid #FFFFFF;
    background-image: none;
}
#after03 .btn-m .close {
    cursor:default;
    background-color: #D6D6D6;
    color: #FFF;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;

    font-size: 2.5rem;
}
@media print, screen and (max-width: 768px) {
    .after-nav {
        margin: 4.4vw 0 5.5vw;
    }
    .after-nav li {
        padding: 0 1.4rem;

        font-size: 1.4rem;
    }
    .after-nav li a {
        font-size: 1.4rem;
    }

    .after-photo {
        position: relative;
        left: -5vw;

        width: 100vw;
        margin-bottom: 10.6vw;
    }

    .after-wrap {
        width: 100%;
        margin: 0 auto 12vw;
    }
    .after-wrap h6 {
        margin-bottom: 5.3vw;

        font-size: 2rem;
    }
    .after-wrap h6::before {
        width: 8vw;
        height: 8vw;
        margin-right: 2.4vw;

        font-size: 1.6rem;
    }

    .after-wrap p {
        font-size: 1.5rem;
    }

    .after-wrap .after02-box {
        width: 100%;
        margin: 10.6vw auto;
    }
    .after-wrap .after02-box:nth-of-type(2) {
        margin-top: 11.9vw;
    }
    .after-wrap .after02-box:nth-of-type(3) {
        margin-top: 11.7vw;
    }

    .after-wrap .after02-box .more {
        border-bottom: 1px solid #B7975A;

        font-size: 1.8rem;
    }
    .after-wrap .after02-box .more:before,
    .after-wrap .after02-box .more:after {
        display: none;
    }

    .after-wrap .after02-box .more p {
        width: 100%;
    }
    .after-wrap .after02-box .more p::after {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;

        width: 4.2vw;
        height: 2.1vw;
        margin: auto 0;

        content: "";

        background-repeat: no-repeat;
        background-position: 100% 50%;
        background-size: auto 100%;
    }

    .after02-detail .map {
        display: block;

        width: 100%;
        margin: 8vw auto 12.2vw;
    }
    .after02-detail .map p {
        width: 100%;
        margin-right: 0;
        margin-bottom: 10.4vw;
    }
    .after02-detail .map img {
        width: 100%;
    }

    .after02-detail .flow p {
        margin-bottom: 6.9vw;

        font-size: 1.8rem;
    }
    .after02-detail .flow img {
        width: 77.6vw;
    }

    .after02-detail .shop-list {
        flex-direction: column;

        width: 100%;
        margin: 8vw auto 13.3vw;
    }
    .after02-detail .shop-list .left {
        justify-content: center;
        order: 2;

        width: 68vw;
        margin: 0 auto;
    }
    .after02-detail .shop-list .left .logo {
        margin: 8vw 0;
    }
    .after02-detail .shop-list .right {
        order: 1;

        width: 100%;
    }
    .after02-detail .shop-list .left .btn + .btn {
        margin-top: 5.3vw;
    }
    .after02-detail .shop-list + p {
        width: 100%;
    }

    #after03 .logo-okomebanzuke {
        width: 46.4vw;
        margin: 10.6vw auto;
    }
    #after03 .btn-m {
        width: 73.8vw;
        height: 14.1vw;

        background-image: none;
    }
    #after03 .btn-m a,
    #after03 .btn-m .close {
        font-size: 1.7rem;
    }
    #after03 .btn-m::after {
        right: 7.92vw;

        width: 0.7rem;
        height: 0.7rem;
    }
}

/* 受賞者インタビュー
========================================================================== */
#interview h3.ttl_hr span {
    width: 381px;
}
#interview p.comming_soon_text {
    text-align: center;
    font-family: MyYuGothicM, YuGothic, sans-serif;
}

#interview h3 + p {
    width: 920px;
    margin: 80px auto 80px;

    font-size: 1.7rem;
    line-height: 2.5;
}

.interview-box {
    position: relative;

    box-sizing: border-box;
    width: 1189px;
    margin: 0 auto;
    padding: 47px 77px 73px 54px;

    background-image: url(../images/okomebanzuke/interview_line-header.png), url(../images/okomebanzuke/interview_line-footer.png), url(../images/okomebanzuke/interview_line-body.png);
    background-repeat: no-repeat, no-repeat, repeat-y;
    background-position: center top, center bottom, center;
    background-size: 100% auto;
}
.interview-box + .interview-box {
    margin-top: 100px;
}

.interview-box h6 {
    font-size: 3.1rem;
}
.interview-box h6 img {
    width: 69px;
    margin-right: 17px;
}
.interview-box h6 span.about {
    margin-left: 35px;

    font-size: 1.7rem;
}
.interview-box .interview-photo {
    position: absolute;
    top: 47px;
    right: 77px;

    width: 316px;
}

.interview-box dl {
    margin: 40px 0 50px;

    counter-reset: ol-counter;

    font-family: MyYuGothicM, YuGothic, sans-serif;
}
.interview-box dl dt {
    font-size: 1.8rem;
    font-weight: bold;
}
.interview-box dl dt::before {
    content: "Q"counter(ol-counter)". ";
    counter-increment: ol-counter;
}
.interview-box dl dd {
    margin-top: 5px;

    font-size: 1.7rem;
}
.interview-box dl dd + dt {
    margin-top: 8px;
}
.interview-box .detail-text-wrapper {
    display: flex;
    justify-content: space-between;

    padding-top: 45px;

    border-top: 1px solid #C19E33;

    font-family: MyYuGothicM, YuGothic, sans-serif;
}
.interview-box .detail-text-wrapper p {
    width: 49%;

    font-size: 1.65rem;
    line-height: 1.7;
}

#interview .btn-s {
    margin: 110px auto 90px;
}
@media print, screen and (max-width: 768px) {
    #interview h3.ttl_hr span {
        width: 57.3vw;
    }

    #interview h3 + p {
        width: 100%;
        margin: 10vw 0 13.3vw;

        font-size: 1.4rem;
        line-height: 1.6;
    }

    .interview-box {
        position: relative;

        box-sizing: border-box;
        width: 100%;
        margin: 0 auto;
        padding: 6.3vw 5.3vw 6.6vw;

        background-image: url(../sp-images/okomebanzuke/interview_line-header.png), url(../sp-images/okomebanzuke/interview_line-footer.png), url(../sp-images/okomebanzuke/interview_line-body.png);
    }
    .interview-box + .interview-box {
        margin-top: 13.3vw;
    }

    .interview-box h6 {
        font-size: 2rem;
    }
    .interview-box h6 img {
        display: block;

        width: 13.84vw;
        margin-right: 0;
        margin-bottom: 1.9vw;
    }
    .interview-box h6 span.about {
        display: block;

        margin-top: 1.2vw;
        margin-left: 0;

        font-size: 1.6rem;
    }
    .interview-box .interview-photo {
        position: absolute;
        top: 6.3vw;
        right: 5.3vw;

        width: 37.3vw;
    }

    .interview-box dl {
        margin: 8.2vw 0 5.3vw;
        padding-top: 7.2vw;

        border-top: 1px solid #C19E33;
    }
    .interview-box dl dt {
        font-size: 1.5rem;
    }
    .interview-box dl dd {
        margin-top: 4.6vw;

        font-size: 1.5rem;
    }
    .interview-box dl dd + dt {
        margin-top: 6.6vw;
    }
    .interview-box .detail-text-wrapper {
        display: block;

        padding-top: 8vw;

        font-size: 1.5rem;
        line-height: 1.6;
    }
    .interview-box .detail-text-wrapper p {
        display: inline;

        width: 100%;

        font-size: 1.5rem;
        line-height: 1.6;
    }

    #interview .btn-s {
        margin: 13.6vw auto 26.6vw;
    }
}

/* メディア掲載例
========================================================================== */
#media {
    font-family: MyYuGothicM, YuGothic, sans-serif;
}
#media h3.ttl_hr span {
    width: 381px;
}

#media h4 {
    margin: 108px 0 0;

    text-align: center;

    font-size: 2.5rem;
}
#media h4 + p {
    width: 920px;
    margin: 51px auto 54px;

    font-size: 1.7rem;
    line-height: 2.5;
}
#media ul {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;

    width: 870px;
    margin: 0 auto;
}
#media ul li:first-of-type,
#media ul li:nth-of-type(4) {
    width: 202px;
}
#media ul li:nth-of-type(2) {
    width: 304px;
}
#media ul li:nth-of-type(3) {
    width: 297px;
}
#media ul li:nth-of-type(5) {
    width: 293px;
}
#media ul li:last-of-type {
    width: 291px;
}

#media .btn-s {
    margin: 110px auto 100px;
}
@media print, screen and (max-width: 768px) {
    #media h3.ttl_hr span {
        width: 46.6vw;
    }

    #media h4 {
        margin: 9.76vw 0 0;

        font-size: 1.8rem;
    }
    #media h4 + p {
        width: 100%;
        margin: 10vw 0 3.4vw;

        font-size: 1.5rem;
        line-height: 1.6;
    }
    #media ul {
        width: 82.9vw;
    }
    #media ul li:first-of-type,
    #media ul li:nth-of-type(4) {
        width: 32vw;
    }
    #media ul li:nth-of-type(2) {
        width: 48.2vw;
    }
    #media ul li:nth-of-type(3) {
        order: 4;

        width: 44.2vw;
    }
    #media ul li:nth-of-type(4) {
        order: 3;

        margin-bottom: 4vw;
    }
    #media ul li:nth-of-type(5) {
        order: 5;

        width: 35.2vw;
    }
    #media ul li:last-of-type {
        order: 6;

        width: 41vw;
    }

    #media .btn-s {
        margin: 11.7vw auto 26.1vw;
    }
}

/* ==============================
  ヘッダー
============================== */
header,
header .hamburger-wrap {
    background-color: #1E1E1E;
}
header .h-logo {
    margin-top: 22px;
}
header nav ul li a {
    color: #FFFFFF;
}
header nav ul li:not(:last-child),
header .icn-menu span {
    border-color: #B7975A;
}

header .hamburger-wrap a {
    color: #FFF;
}

header .hamburger-wrap .hamburger-box {
    max-width: 825px;
    width: 60.3%;
    display: block;
}

header .hamburger-wrap .main-nav {
    display: block;
    width: 100%;
}
header .hamburger-wrap .main-nav nav {
    justify-content: space-between;
}
header .hamburger-wrap .main-nav .main-btn {
    width: 30%;
}
header .hamburger-wrap .main-nav .main-btn .btn-text {
    color: #B7975A;
    text-align: center;
    font-size: clamp(1.4rem, 1.39vw, 1.9rem);
    margin-bottom: 0.5em;
}
header .hamburger-wrap .main-nav .main-btn a {
    display: flex;
    align-items: center;
    background: url(../images/okomebanzuke/h-menu-btn.svg) no-repeat center center;
    background-size: 100% auto;
    aspect-ratio: 248 / 65;
    padding: 0 9%;
    box-sizing: border-box;
}
header .hamburger-wrap .main-nav .main-btn a:hover {
    background: url(../images/okomebanzuke/h-menu-btn-hover.svg);
}
header .hamburger-wrap .main-nav .main-btn a span {
    font-size: clamp(1.2rem, 1.02vw, 1.4rem);
    line-height: 1.2;
}
header .hamburger-wrap .main-nav .main-btn a p {
    font-size: clamp(1.75rem, 1.9vw, 2.7rem);
    margin: 0 auto;
}

header .hamburger-wrap .sub-nav {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin-top: 10.7%;
}
header .hamburger-wrap .sub-nav .line {
    position: absolute;
    top: 2em;
    left: 0;
    border-top: 1px solid #B7975A;
    width: 100%;
    font-size: clamp(1.3rem, 1.24vw, 1.7rem);
}
header .hamburger-wrap .sub-nav dl.menu01 {
    width: auto;
}
header .hamburger-wrap .sub-nav dl dt {
    color: #B7975A;
    font-size: clamp(1.3rem, 1.24vw, 1.7rem);
}
header .hamburger-wrap .sub-nav dl dd,
header .hamburger-wrap .sub-nav dl dd + dd {
    border-left: 1px solid #B7975A;
    padding-left: 1em;
    line-height: 2;
    margin-top: 0;
}
header .hamburger-wrap .sub-nav dl dd a,
header .hamburger-wrap .sub-nav dl dd span {
    color: #FFF;
    font-size: clamp(1.2rem, 1.02vw, 1.4rem);
    font-family: YuMincho, "Yu Mincho", serif;
}
header .hamburger-wrap .sub-nav dl dd span {
    opacity: 0.5;
}
header .hamburger-wrap .sub-nav dl dd a::after {
    display: none;
}

@media print, screen and (max-width: 768px) {
    header .h-logo {
        margin-top: 1.8vw;
        width: 24.8vw;
    }

    header .head-inner {
        background-color: #1E1E1E;
    }

    header .hamburger-wrap .inner {
        padding-top: 16vw;
    }

    header .hamburger-wrap .main-nav {
        width: 65.9vw;
        margin: 0 auto;
    }
    header .hamburger-wrap .main-nav nav {
        flex-direction: column;
    }

    header .hamburger-wrap .main-nav .main-btn {
        width: 100%;
    }
    header .hamburger-wrap .main-nav .main-btn + .main-btn {
        margin-top: 4.5vw;
    }
    header .hamburger-wrap .main-nav .main-btn .btn-text {
        font-size: 4.2vw;
        margin-bottom: 0;
    }
    header .hamburger-wrap .main-nav .main-btn a {
        font-size: 7.2vw;
    }
    header .hamburger-wrap .main-nav .main-btn a span {
        font-size: 3.7vw;
    }
    header .hamburger-wrap .main-nav .main-btn a:hover {
        background-size: 100% auto;
    }

    header .hamburger-wrap .sub-nav {
        width: 79.8vw;
        flex-wrap: wrap;
        align-items: flex-start;
        margin: 12vw auto 0;
    }
    header .hamburger-wrap .sub-nav .line {
        display: none;
    }

    header .hamburger-wrap .sub-nav dl {
        align-items: flex-start;
    }
    header .hamburger-wrap .sub-nav dl.menu01,
    header .hamburger-wrap .sub-nav dl.menu03 {
        width: 40.5vw;
    }
    header .hamburger-wrap .sub-nav dl.menu02,
    header .hamburger-wrap .sub-nav dl.menu04 {
        width: 33.7vw;
    }
    header .hamburger-wrap .sub-nav dl dt {
        border-bottom: 1px solid #B7975A;
        text-align: left;
        font-size: 4.2vw;
        margin-bottom: 0.5em;
        line-height: 1.1;
        padding-bottom: 0.5em;
    }

    header .hamburger-wrap .sub-nav dl dd,
    header .hamburger-wrap .sub-nav dl dd + dd,
    header .hamburger-wrap .sub-nav dl dd:nth-of-type(n + 3) {
        margin-top: 0;
        border-left: none;
        line-height: 1.8;
        padding-left: 0;
    }
    header .hamburger-wrap .sub-nav dl dd a,
    header .hamburger-wrap .sub-nav dl dd span {
        font-size: 4.2vw;
    }

}

/* ==============================
  フッター
============================== */
footer {
    background-color: #1E1E1E;
}
footer .foot-link {
    max-width: 780px;
    width: 72%;
}
footer .foot-link dl dt {
    color: #B7975A;
}
footer .foot-link dl.left-line dd {
    border-left: 1px solid #B7975A;
    padding-left: 1em;
}
footer .foot-link dl dd span {
    opacity: 0.5;
}
@media print, screen and (max-width: 768px) {
    footer .foot-link {
        width: 100%;
    }

    footer .foot-link dl dt {
        border: 1px solid #B7975A;
        color: #FFF;
        background-color: inherit;
    }
    footer .foot-link dl dd,
    footer .foot-link dl.left-line dd {
        border: none;
        padding-left: 0;
    }
}
