@keyframes pyonAction
{
    35%
    {
        transform: scale(.97);
    }
    100%
    {
        transform: scale(1);
    }
}
@keyframes pyonAction_large
{
    35%
    {
        transform: scale(.87);
    }
    100%
    {
        transform: scale(1);
    }
}
/* ------------------------
  Print Styles
------------------------ */
@media print
{
    *,
    *:before,
    *:after
    {
        color: #000 !important;
        background: transparent !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }
    a,
    a:visited
    {
        text-decoration: underline;
    }
    tr,
    img
    {
        page-break-inside: avoid;
    }
    img
    {
        max-width: 100% !important;
    }
    p,
    h2,
    h3
    {
        orphans: 3;
        widows: 3;
    }
    h2,
    h3
    {
        page-break-after: avoid;
    }
}
@keyframes pyonAction
{
    35%
    {
        transform: scale(.97);
    }
    100%
    {
        transform: scale(1);
    }
}
@keyframes pyonAction_large
{
    35%
    {
        transform: scale(.87);
    }
    100%
    {
        transform: scale(1);
    }
}
.ouro
{
    position: relative;

    display: inline-block;
    overflow: hidden;

    width: 46px;
    height: 46px;
    margin: 1em;

    border-radius: 50%;
    background: none repeat scroll 0 0 #ddd;
    box-shadow: 0 0 10px rgba(0, 0, 0, .1) inset, 0 0 25px rgba(0, 0, 255, .075);
}

.ouro::after
{
    position: absolute;
    top: 9px;
    left: 9px;

    display: block;

    width: 28px;
    height: 28px;

    content: '';

    border-radius: 50%;
    background: none repeat scroll 0 0 #f2f2f2;
    box-shadow: 0 0 10px rgba(0, 0, 0, .1);
}

.ouro > span
{
    position: absolute;

    overflow: hidden;

    width: 50%;
    height: 100%;
}

.left
{
    left: 0;
}

.right
{
    left: 50%;
}

.anim
{
    position: absolute;
    top: 0;
    left: 100%;

    width: 100%;
    height: 100%;

    transform-origin: 0 50% 0;
    animation: ui-spinner-rotate-left 3s infinite;

    opacity: .8;
    border-radius: 999px;
    background: none repeat scroll 0 0 #094;
}

.left .anim
{
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.right .anim
{
    left: -100%;

    transform-origin: 100% 50% 0;

    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

/* v2 */
.ouro2 .anim
{
    animation-delay: 0;
}

.ouro2 .right .anim
{
    animation-delay: 2.6/2s;
}

/* v3 */
.ouro3 .anim
{
    animation-duration: 2.6s;
    animation-timing-function: cubic-bezier(.165, .84, .44, 1);
    animation-delay: 0s;
}

.ouro3 .right .anim
{
    animation-name: ui-spinner-rotate-right;
    animation-delay: 0;
    animation-delay: 2.6/2s;
}

/* round variation */
.round .ouro::after
{
    display: none;
}

/* double variation */
.double .ouro::after
{
    top: 7px;
    left: 7px;

    width: 13px;
    height: 13px;

    border: 10px solid #ddd;
    background: transparent;
    box-shadow: none;
}

@keyframes ui-spinner-rotate-right
{
    0%
    {
        transform: rotate(0deg);
    }
    25%
    {
        transform: rotate(180deg);
    }
    50%
    {
        transform: rotate(180deg);
    }
    75%
    {
        transform: rotate(360deg);
    }
    100%
    {
        transform: rotate(360deg);
    }
}
@keyframes ui-spinner-rotate-left
{
    0%
    {
        transform: rotate(0deg);
    }
    25%
    {
        transform: rotate(0deg);
    }
    50%
    {
        transform: rotate(180deg);
    }
    75%
    {
        transform: rotate(180deg);
    }
    100%
    {
        transform: rotate(360deg);
    }
}
button
{
    padding: 0;

    cursor: pointer;

    border: none;
    outline: none;
    background-color: transparent;

    -webkit-appearance: none;

       -moz-appearance: none;

            appearance: none;
}

/* ------------------------
  mv
------------------------ */
.m-mv
{
    position: relative;

    display: block;

    width: auto;
    height: 326px;
    padding-top: 31px;

    background: url('/img/osusume_menu/osusume_mv_bg_lg.jpg') center no-repeat;
    background-size: cover;
}
@media screen and (max-width: 768px)
{
    .m-mv
    {
        height: 100%;
        padding: 26.5625vw 0 9.375vw;

        background: url('/img/osusume_menu/osusume_mv_bg_sp.jpg') center no-repeat;
        background-size: cover;
    }
}

.m-mv_inner
{
    position: relative;

    width: 800px;
    margin: 0 auto;
}
@media screen and (max-width: 768px)
{
    .m-mv_inner
    {
        width: 94.53125vw;
    }
}

.m-title_img
{
    position: relative;
}
.m-title_img img
{
    width: 94.53125vw;
}
@media screen and (max-width: 768px)
{
    .m-title_img img
    {
        padding: 0 5.3125vw;
    }
}

.m-title_link
{
    position: absolute;
    z-index: 999;
    top: 92px;
    left: 205px;
}
@media screen and (max-width: 768px)
{
    .m-title_link
    {
        top: 22.8125vw;
        left: 10.625vw;
    }
}

.osusume-title_hover
{
    z-index: 999;

    width: 401px !important;

    cursor: pointer;
    transition: .3s;
}
.osusume-title_hover:hover
{
    opacity: .3;
}
@media screen and (max-width: 768px)
{
    .osusume-title_hover
    {
        width: 73.28125vw !important;
    }
}

.m-deco_left
{
    position: absolute;
    top: -9px;
    left: -236px;
}
@media screen and (max-width: 768px)
{
    .m-deco_left
    {
        top: -12.1875vw;
        left: -2.8125vw;

        width: 37.03125vw;
        height: auto;
    }
}

.m-deco_right
{
    position: absolute;
    top: -22px;
    right: -237px;
}
@media screen and (max-width: 768px)
{
    .m-deco_right
    {
        top: -.78125vw;
        right: -2.8125vw;

        width: 25vw;
        max-width: 160px;
        height: auto;
    }
}

.m-search_field
{
    position: absolute;
    z-index: 10;
    bottom: -59px;
    left: 82px;

    max-width: 636px;
    margin-bottom: 20px;

    border: 15px solid #fff;
    border-radius: 999px;
}
@media screen and (max-width: 768px)
{
    .m-search_field
    {
        bottom: 3.125vw;
        left: 9.84375vw;

        width: 75vw;
        max-width: unset;

        border: none;
    }
}

.search_box
{
    font-size: 16px;
    font-weight: 600;

    position: relative;

    width: 606px;
    height: 50px;
    padding: 0 30px 0 20px;

    letter-spacing: .2em;

    border: 1px solid #000;
    border-radius: 25px;
    outline: 0;
}
.search_box::-moz-placeholder
{
    color: #acaca9;
}
.search_box::placeholder
{
    color: #acaca9;
}
@media screen and (max-width: 768px)
{
    .search_box
    {
        font-size: 2.96875vw;
        font-weight: 300;

        width: 100%;
        height: 80px;
        max-height: 12.5vw;

        letter-spacing: .12em;

        border-radius: 999px;
    }
}

.search_btn
{
    position: absolute;
    top: 1px;
    right: 1px;

    width: 57px;
    height: 48px;

    transition: .3s;

    color: #fff;
    border: solid #000;
    border-width: 0 0 0 1px;
    border-radius: 0 25px 25px 0;
    background: #094;
}
.search_btn:hover
{
    background-color: #fff;
}
.search_btn:hover::after
{
    position: absolute;
    top: 10px;
    right: 19px;

    display: block;

    width: 27px;
    height: 27px;

    content: '';

    background: url(/img/osusume_menu/keyword_search_icon.png) center no-repeat;
    background-size: contain;
}
@media screen and (max-width: 768px)
{
    .search_btn:hover::after
    {
        top: 3.125vw;
        right: 3.28125vw;

        width: 5.46875vw;
        height: 5.46875vw;
    }
}
@media screen and (max-width: 768px)
{
    .search_btn
    {
        top: 0;

        width: 10.9375vw;
        height: 80px;
        max-height: 12.5vw;

        border-width: 1px 0 1px 1px;
        border-radius: 0 999px 999px 0;
    }
}

.m-search_icon
{
    position: absolute;
    top: 10px;
    right: 19px;

    width: 27px;
}
@media screen and (max-width: 768px)
{
    .m-search_icon
    {
        top: 3.125vw;
        right: 3.28125vw;

        width: 5.46875vw;
    }
}

@media screen and (max-width: 768px)
{
    .m-menu_inner
    {
        position: fixed;
        z-index: 999;
        right: 3.90625vw;
        bottom: 20.3125vw;

        width: 10.9375vw;
        height: 10.9375vw;

        cursor: pointer;

        border-radius: 50%;
        background-color: #094;
    }
}

.m-btn_wrap
{
    display: flex;

    height: 100%;

    justify-content: center;
    align-items: center;
}

.m-menu_text
{
    display: none;
}
@media screen and (max-width: 768px)
{
    .m-menu_text
    {
        font-size: 3.125vw;

        display: block;

        margin-left: 2.65625vw;

        opacity: 1;
        color: #fff;
    }
}

.m-menu_btn_deco span
{
    display: none;
}
@media screen and (max-width: 768px)
{
    .m-menu_btn_deco span
    {
        display: block;

        width: .625vw;
        height: .625vw;
        margin-right: .625vw;

        transition: transform .5s cubic-bezier(.25, .46, .45, .94);

        border-radius: 2px;
        background: #fff;
    }
    .m-menu_btn_deco span:not(:first-child)
    {
        margin-top: 1.25vw;
    }
}

.m-menu_btn span
{
    display: none;
}
@media screen and (max-width: 768px)
{
    .m-menu_btn span
    {
        display: block;

        width: 4.6875vw;
        height: .625vw;

        transition: transform .5s cubic-bezier(.25, .46, .45, .94);

        border-radius: 2px;
        background: #fff;
    }
    .m-menu_btn span:not(:first-child)
    {
        margin-top: 1.25vw;
    }
}

@media screen and (max-width: 768px)
{
    .m-nav
    {
        display: none;
        visibility: hidden;
    }
}
.m-nav .active
{
    opacity: 1;
}

.m-link
{
    display: flex;

    width: 100%;
    height: 75px;

    background-color: #094;

    justify-content: center;
    align-items: center;
}

.m-link_list
{
    line-height: 1;

    display: flex;

    justify-content: center;
    align-items: center;
}
.m-link_list:not(:first-child)
{
    border-left: 1px dashed #99d6b4;
}
.m-link_list a
{
    font-size: 18px;
    font-weight: 600;

    position: relative;

    display: block;

    margin: 10px 20px;

    transition: .3s;
    letter-spacing: .2em;

    color: #fff;
}
.m-link_list a:hover
{
    opacity: .3;
}

/* ------------------------
  search
------------------------ */
.search-content
{
    display: flex;

    padding: 50px 0;

    background-color: #fff;

    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .search-content
    {
        display: block;

        padding: 9.375vw;
    }
}

@media screen and (max-width: 768px)
{
    #search::before
    {
        display: block;

        margin-top: -15.625vw;
        padding-top: 15.625vw;

        content: '';
    }
}

.search_body
{
    width: 558px;
    height: auto;
    margin: 0 12px;

    border-radius: 12px;
}
@media screen and (max-width: 768px)
{
    .search_body
    {
        display: none;

        width: 84.375vw;
        padding: 6.25vw 5.15625vw !important;
    }
    .search_body.show
    {
        display: block;

        margin: 0 auto;

        border-radius: 0 0 1.875vw 1.875vw;
    }
}
.search_body._keyword
{
    padding: 36px 60px;

    background-color: #e9f0d5;
}
.search_body._food
{
    padding: 35px 62px;

    background-color: #f7ece9;
}

.search_title
{
    display: flex;

    margin-bottom: 24px;

    justify-content: center;
    align-items: center;
}
@media screen and (max-width: 768px)
{
    .search_title
    {
        display: none;
    }
}

.food-search_title
{
    margin-bottom: 29px;
}

.search_text
{
    font-size: 24px;
    font-weight: bold;
    line-height: 1;

    margin-left: 10px;

    letter-spacing: .2em;
}

.keyword-search_text
{
    color: #094;
}

.food-search_text
{
    color: #e87c45;
}

.keyword-search_btn li,
.food-search_btn li
{
    display: inline-block;
}
.keyword-search_btn li a,
.food-search_btn li a
{
    font-size: 16px;
    font-weight: 600;

    margin: 0 10px 10px 0;
    padding: 10px;

    letter-spacing: .05em;

    border-radius: 2px;
    background-color: #fff;
}
@media screen and (max-width: 768px)
{
    .keyword-search_btn li a,
    .food-search_btn li a
    {
        font-size: 3.4375vw;

        margin: 0 2.34375vw 2.34375vw 0;
        padding: 1.5625vw 2.34375vw;
    }
}

.keyword-search_btn
{
    width: 443px;
    margin-bottom: 7px;
}
@media screen and (max-width: 768px)
{
    .keyword-search_btn
    {
        width: unset;
        margin-bottom: 4.0625vw;
    }
}
.keyword-search_btn a
{
    display: block;

    transition: .5s;

    color: #094;
    border: 1px solid #094;
}
.keyword-search_btn a:hover
{
    color: #fff;
    background-color: #094;
}

.food-search_btn
{
    display: flex;

    justify-content: center;
    -moz-column-gap: 10px;
         column-gap: 10px;
    flex-wrap: wrap;
}
.food-search_btn li
{
    width: 48%;
}
.food-search_btn a
{
    display: inline-flex;

    width: 100%;

    transition: .5s;

    color: #e87c45;
    border: 1px solid #e87c45;

    justify-content: center;
    align-items: center;
}
.food-search_btn a:hover
{
    color: #fff;
    background-color: #e87c45;
}
.food-search_btn a:hover img
{
    transition: .5s;
}
.food-search_btn a:hover img:last-of-type
{
    opacity: 1;
}
.food-search_btn a img
{
    max-width: 22px;
    max-height: 20px;
    margin-right: 6px;

    -o-object-fit: contain;

       object-fit: contain;
}
.food-search_btn a img:last-of-type
{
    position: absolute;
    left: 0;

    opacity: 0;
}

.food-icon_wrap
{
    position: relative;

    display: inline-flex;

    justify-content: center;
    align-items: center;
}

.search-button_more
{
    font-weight: 600;
    line-height: 1;

    display: inline-block;

    margin-top: 17px;

    transition: .3s;
    text-decoration: none;

    color: #094;
    border-bottom: 1px solid #094;
}
.search-button_more:hover
{
    opacity: .4;
    color: #094;
    border-bottom: none;
}
@media screen and (max-width: 768px)
{
    .search-button_more
    {
        font-size: 3.75vw;

        margin-left: .9375vw;
    }
}

.search-tab_group
{
    display: none;
}
@media screen and (max-width: 768px)
{
    .search-tab_group
    {
        display: flex;

        width: 84.375vw;
        margin: 0 auto;

        justify-content: center;
    }
}

.search_item
{
    font-size: 3.75vw;
    font-weight: bold;
    line-height: 1.25em;

    display: flex;

    width: 42.1875vw;
    padding: 3.125vw 7.03125vw;

    cursor: pointer;
    transition: .3s;
    text-align: center;

    justify-content: center;
    align-items: center;
}
.search_item:hover
{
    opacity: .3;
}
.search_item._keyword
{
    color: #094;
    border: 1px solid #094;
    border-top-left-radius: 12px;
    background-color: #fff;
}
.search_item._keyword img
{
    display: block;

    width: 33px;
    margin-right: 10px;
}
.search_item._keyword img:last-of-type
{
    display: none;
}
@media screen and (max-width: 768px)
{
    .search_item._keyword img
    {
        width: 5.15625vw;
        margin-right: 1.5625vw;
    }
}
.search_item._keyword p
{
    width: 100%;

    letter-spacing: .1em;
}
.search_item._keyword.active
{
    position: relative;

    color: #fff;
    background-color: #094;
}
.search_item._keyword.active img
{
    display: none;

    transition: .5s;
}
.search_item._keyword.active img:last-of-type
{
    display: block;
}
.search_item._keyword.active:hover
{
    opacity: 1;
}
.search_item._keyword.active::before
{
    position: absolute;
    top: 100%;
    left: 50%;

    content: '';
    transform: translateX(-50%);

    border-top: 15px solid #094;
    border-right: 15px solid transparent;
    border-left: 15px solid transparent;
}
.search_item._food
{
    color: #e87c45;
    border: 1px solid #e87c45;
    border-top-right-radius: 12px;
    background-color: #fff;
}
.search_item._food img
{
    display: block;

    width: 43px;
    margin-right: 3px;
}
.search_item._food img:last-of-type
{
    display: none;
}
@media screen and (max-width: 768px)
{
    .search_item._food img
    {
        width: 6.71875vw;
        margin-right: .46875vw;
    }
}
.search_item._food p
{
    width: 100%;

    letter-spacing: .1em;
}
.search_item._food.active
{
    position: relative;

    color: #fff;
    background-color: #e87c45;
}
.search_item._food.active img
{
    display: none;

    transition: .5s;
}
.search_item._food.active img:last-of-type
{
    display: block;
}
.search_item._food.active:hover
{
    opacity: 1;
}
.search_item._food.active::before
{
    position: absolute;
    top: 100%;
    left: 50%;

    content: '';
    transform: translateX(-50%);

    border-top: 15px solid #e87c45;
    border-right: 15px solid transparent;
    border-left: 15px solid transparent;
}

.recommend-content
{
    width: 100%;
    height: auto;

    background: url(/img/osusume_menu/recommend_bg_lg.jpg) center no-repeat;
    background-size: cover;
}
@media screen and (max-width: 768px)
{
    .recommend-content
    {
        background: url(/img/osusume_menu/recommend_bg_sp.jpg) center no-repeat;
        background-size: cover;
    }
}

@media screen and (max-width: 768px)
{
    #recommend::before
    {
        display: block;

        margin-top: -15.625vw;
        padding-top: 15.625vw;

        content: '';
    }
}

.recommend-title_wrap,
.ranking-title_wrap
{
    text-align: center;
}

.recommend-title_sub,
.ranking-title_sub
{
    font-family: 'Prompt m';
    font-size: 12px;
    font-weight: 600;
    line-height: 1;

    display: flex;

    padding-top: 45px;

    white-space: nowrap;
    letter-spacing: .2em;

    justify-content: center;
    align-items: center;
}
.recommend-title_sub::before,
.recommend-title_sub::after,
.ranking-title_sub::before,
.ranking-title_sub::after
{
    width: 170px;
    height: 5px;

    content: '';

    border-top: solid 1px #000;
    border-bottom: solid 1px #000;
}
.recommend-title_sub::before,
.ranking-title_sub::before
{
    margin-right: 20px;
}
.recommend-title_sub::after,
.ranking-title_sub::after
{
    margin-left: 20px;
}
@media screen and (max-width: 768px)
{
    .recommend-title_sub,
    .ranking-title_sub
    {
        font-size: 3.4375vw;

        max-width: 84.375vw;
        margin: 0 auto;
        padding-top: 9.375vw;

        text-wrap: nowrap;
    }
    .recommend-title_sub::before,
    .recommend-title_sub::after,
    .ranking-title_sub::before,
    .ranking-title_sub::after
    {
        width: 100%;
        height: .78125vw;
    }
    .recommend-title_sub::before,
    .ranking-title_sub::before
    {
        margin-right: 3.125vw;
    }
    .recommend-title_sub::after,
    .ranking-title_sub::after
    {
        margin-left: 3.125vw;
    }
}

.recommend-title_sub::before,
.recommend-title_sub::after
{
    width: 170px;
}

.ranking-title_sub::before,
.ranking-title_sub::after
{
    width: 220px;
}

.recommend-title,
.ranking-title
{
    font-size: 28px;
    font-weight: bold;
    line-height: 1;

    margin-top: 20px;

    letter-spacing: .2em;
}
@media screen and (max-width: 768px)
{
    .recommend-title,
    .ranking-title
    {
        font-size: 5.625vw;

        margin-top: 3.125vw;

        letter-spacing: .1em;
    }
}

.ranking-menu_wrap
{
    display: flex;

    margin-top: 32px;

    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .ranking-menu_wrap
    {
        margin-top: 5vw;
        padding-bottom: 7.8125vw;
    }
}

.recommend-menu_wrap
{
    display: grid;

    max-width: 1150px;
    margin: 32px auto 0;
    padding-bottom: 28px;

    grid-template-columns: repeat(3, 370px);
    -moz-column-gap: 20px;
         column-gap: 20px;
}
@media screen and (max-width: 768px)
{
    .recommend-menu_wrap
    {
        margin: 5vw auto 0;
        padding-bottom: 9.375vw;

        grid-template-columns: 1fr;
        flex-flow: column;
    }
}

.ranking-menu_wrap
{
    width: 1153px;
    margin: 32px auto 0;
    padding: 0;

    flex-wrap: wrap;
}
.ranking-menu_wrap.secondary
{
    margin: 0 auto;
    padding-bottom: 80px;

    justify-content: flex-start;
}
@media screen and (max-width: 768px)
{
    .ranking-menu_wrap
    {
        display: block;

        width: 100%;
        height: 100% !important;
        margin: 5vw auto 0;
    }
}

.recommend-menu_unit,
.ranking-menu_unit
{
    position: relative;

    border: 1px solid #000;
    border-radius: 12px;
}
@media screen and (max-width: 768px)
{
    .recommend-menu_unit,
    .ranking-menu_unit
    {
        width: 57.03125vw;
    }
}

.recommend-menu_unit
{
    overflow: hidden;
}
.recommend-menu_unit:hover
{
    animation: pyonAction .52s cubic-bezier(.165, .84, .44, 1) forwards;
}
@media screen and (max-width: 768px)
{
    .recommend-menu_unit
    {
        width: 100%;
    }
}

.recommend_btn
{
    display: flex;

    width: 365px;
    margin-top: 20px;

    flex-wrap: wrap;
}
.recommend_btn button
{
    margin: 0 8px 8px 0;
}
@media screen and (max-width: 768px)
{
    .recommend_btn
    {
        width: 100%;
        margin-top: 4.6875vw;
        margin-bottom: 0;
    }
    .recommend_btn button
    {
        margin: 0 3.4375vw 3.4375vw 0;
    }
}

.ranking-menu_unit
{
    position: relative;

    display: flex;

    width: 365px;
    height: auto;

    border: none;
    box-shadow: none;

    flex-flow: column;
    align-items: center;
}
.ranking-menu_unit:nth-child(2)
{
    margin: 0 20px;
}
.ranking-menu_unit.secondary
{
    width: 50%;

    flex-flow: unset;
    justify-content: center;
    align-items: stretch;
}
@media screen and (max-width: 768px)
{
    .ranking-menu_unit.secondary
    {
        height: 45.3125vw;

        justify-content: normal;
    }
}
@media (min-width: 769px)
{
    .ranking-menu_unit.secondary
    {
        display: grid;

        grid-template-rows: auto 1fr;
        grid-template-columns: auto 1fr;
    }
}
@media screen and (max-width: 768px)
{
    .ranking-menu_unit
    {
        margin: 0 2.34375vw !important;
    }
    .ranking-menu_unit:nth-child(2)
    {
        margin: 0;
    }
}

.recommend-menu_img
{
    height: 100%;

    -o-object-fit: cover;

       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}

.recommend-menu_info
{
    width: 100%;
    padding: 18px 24px;

    color: #fff;
    background-color: #094;
}
@media screen and (max-width: 768px)
{
    .recommend-menu_info
    {
        padding: 4.375vw 4.6875vw;
    }
}

.ranking-menu_info
{
    position: unset;

    width: 100%;
    height: auto;
    padding: 5px 0 18px;

    transition: .3s;

    color: #000;
    background-color: #094;
    background-color: unset;
}
.ranking-menu_info.secondary
{
    width: 267px;
    margin-left: 20px;
    padding: 0;

    grid-row: 2;
    grid-column: 2;
}
@media screen and (max-width: 768px)
{
    .ranking-menu_info
    {
        padding: 0;
    }
    .ranking-menu_info.secondary
    {
        font-size: 3.75vw;

        width: 39.84375vw;
        margin-left: unset;
    }
}

.ranking-menu_read
{
    color: #000;
}
.ranking-menu_read:hover
{
    color: #094;
}
.ranking-menu_read:hover .ranking-menu
{
    position: relative;
}
.ranking-menu_read:hover .ranking-menu._time img,
.ranking-menu_read:hover .ranking-menu._cal img,
.ranking-menu_read:hover .ranking-menu._salt img
{
    position: relative;

    opacity: 0;
}
.ranking-menu_read:hover .ranking-menu._time._time::after,
.ranking-menu_read:hover .ranking-menu._cal._time::after,
.ranking-menu_read:hover .ranking-menu._salt._time::after
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 18px;
    height: 100%;

    content: '';

    background: url(/img/osusume_menu/ranking_time_hover.png) center no-repeat;
    background-size: contain;
}
@media screen and (max-width: 768px)
{
    .ranking-menu_read:hover .ranking-menu._time._time::after,
    .ranking-menu_read:hover .ranking-menu._cal._time::after,
    .ranking-menu_read:hover .ranking-menu._salt._time::after
    {
        width: 3.28125vw;
    }
}
.ranking-menu_read:hover .ranking-menu._time._cal::after,
.ranking-menu_read:hover .ranking-menu._cal._cal::after,
.ranking-menu_read:hover .ranking-menu._salt._cal::after
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 13px;
    height: 100%;

    content: '';

    background: url(/img/osusume_menu/ranking_cal_hover.png) center no-repeat;
    background-size: contain;
}
@media screen and (max-width: 768px)
{
    .ranking-menu_read:hover .ranking-menu._time._cal::after,
    .ranking-menu_read:hover .ranking-menu._cal._cal::after,
    .ranking-menu_read:hover .ranking-menu._salt._cal::after
    {
        width: 2.1875vw;
    }
}
.ranking-menu_read:hover .ranking-menu._time._salt::after,
.ranking-menu_read:hover .ranking-menu._cal._salt::after,
.ranking-menu_read:hover .ranking-menu._salt._salt::after
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 12px;
    height: 100%;

    content: '';

    background: url(/img/osusume_menu/ranking_salt_hover.png) center no-repeat;
    background-size: contain;
}
@media screen and (max-width: 768px)
{
    .ranking-menu_read:hover .ranking-menu._time._salt::after,
    .ranking-menu_read:hover .ranking-menu._cal._salt::after,
    .ranking-menu_read:hover .ranking-menu._salt._salt::after
    {
        width: 2.1875vw;
    }
}

.recommend-menu_detail
{
    line-height: 1;

    display: flex;

    margin-top: 15px;
}
@media screen and (max-width: 768px)
{
    .recommend-menu_detail
    {
        margin-top: 2.34375vw;

        flex-wrap: wrap;
    }
}

.ranking-menu_detail
{
    line-height: 1;

    display: flex;

    margin-top: 10px;
}
@media screen and (max-width: 768px)
{
    .ranking-menu_detail
    {
        margin-top: 1.5625vw;

        flex-wrap: wrap;
        row-gap: .78125vw;
    }
}

.recommend-menu_name
{
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;

    display: flex;

    padding-bottom: 18px;

    letter-spacing: .05em;

    border-bottom: 1px dashed #fff;

    align-items: center;
}
@media screen and (max-width: 768px)
{
    .recommend-menu_name
    {
        font-size: 4.53125vw;
        line-height: 1.5;

        padding-bottom: 4.375vw;
    }
}
.recommend-menu_name.recommend-menu_name__no-border
{
    border-bottom: 0;
}

.ranking-menu_name
{
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;

    display: flex;

    height: 75px;
    padding-bottom: 5px;

    letter-spacing: .05em;

    border-bottom: 1px dashed #7a7979;

    align-items: center;
}
@media screen and (max-width: 768px)
{
    .ranking-menu_name
    {
        font-size: 3.75vw;
        line-height: 1.5;

        height: 24.21875vw;
        padding: 2.03125vw 0 .9375vw;
    }
}

.recommend-menu
{
    display: inline-flex;

    margin-right: 17px;

    justify-content: center;
    align-items: center;
}
.recommend-menu img
{
    margin-right: 6px;

    border-radius: unset;
    box-shadow: none;
}
.recommend-menu span
{
    font-weight: bold;
}
.recommend-menu._time
{
    display: flex;

    justify-content: center;
    align-items: center;
}
.recommend-menu._time img
{
    margin-left: 0;
}
.recommend-menu._time span
{
    font-size: 18px;

    margin-bottom: 1px;
}
@media screen and (max-width: 768px)
{
    .recommend-menu
    {
        font-size: 3.4375vw;

        margin-right: 21px;
    }
    .recommend-menu img
    {
        width: 2.96875vw !important;
    }
    .recommend-menu span
    {
        font-size: 3.75vw;
    }
    .recommend-menu._time img
    {
        width: 3.90625vw !important;
    }
    .recommend-menu._time span
    {
        font-size: 4.21875vw !important;
    }
}

.ranking-menu
{
    font-size: 15px;
    font-weight: 300;

    display: inline-flex;

    margin-right: 17px;

    justify-content: center;
    align-items: center;
}
.ranking-menu img
{
    margin-right: 6px;

    border-radius: unset;
    box-shadow: none;
}
.ranking-menu span
{
    font-weight: bold;
}
.ranking-menu._time
{
    display: flex;

    justify-content: center;
    align-items: center;
}
.ranking-menu._time img
{
    margin-left: 0;
}
@media screen and (max-width: 768px)
{
    .ranking-menu
    {
        font-size: 3.4375vw;

        margin-right: 15px;
    }
    .ranking-menu img
    {
        width: 2.1875vw !important;
    }
    .ranking-menu span
    {
        font-size: 2.96875vw;
    }
    .ranking-menu._time img
    {
        width: 3.28125vw !important;
    }
    .ranking-menu._time span
    {
        font-size: 2.96875vw !important;
    }
}

.ranking-content
{
    width: auto;
    padding-bottom: 40px;

    background-size: contain;
}
@media screen and (max-width: 768px)
{
    .ranking-content
    {
        width: 100%;
        padding-bottom: 7.8125vw;
    }
}

@media screen and (max-width: 768px)
{
    #ranking::before
    {
        display: block;

        margin-top: -15.625vw;
        padding-top: 15.625vw;

        content: '';
    }
}

.ranking-menu_icon
{
    width: 52px;
    height: 37px;
    margin-bottom: 10px;
}
.ranking-menu_icon.secondary
{
    position: relative;
    left: 50%;

    width: 30px;
    height: 30px;

    transform: translateX(-50%);
}
@media screen and (max-width: 768px)
{
    .ranking-menu_icon
    {
        max-width: 8.125vw;
        height: 5.78125vw;
        margin: 0 auto 1.5625vw;

        border-radius: unset !important;
        box-shadow: none !important;
    }
    .ranking-menu_icon.secondary
    {
        left: unset;

        width: 5.78125vw;
        height: 5.78125vw;

        transform: none;
    }
}

.ranking-img_group
{
    grid-row: 2;
}

.ranking-menu_image
{
    width: 100%;
    height: 233px;

    border: 1px solid #000;
    border-radius: 12px !important;
}
.ranking-menu_image._4,
.ranking-menu_image._5
{
    display: block;

    width: 100%;
    height: auto;
}
@media screen and (max-width: 768px)
{
    .ranking-menu_image
    {
        height: 25vw;

        will-change: transform;
    }
}
.ranking-menu_image:hover
{
    animation: pyonAction .52s cubic-bezier(.165, .84, .44, 1) forwards;
}

.ranking-menu_img
{
    height: 100%;

    border-radius: 11px !important;
    box-shadow: none !important;

    -o-object-fit: cover;

       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}

.ranking_btn
{
    display: flex;

    width: unset;
    margin-top: 11px;

    flex-wrap: wrap;
}
.ranking_btn button
{
    width: -moz-fit-content;
    width: fit-content;
    margin: 5px 8px 3px 0;
}
@media screen and (max-width: 768px)
{
    .ranking_btn button
    {
        font-size: 2.8125vw;

        margin: .78125vw 1.875vw 1.5625vw 0;
        padding: 1.875vw 1.5625vw;
    }
}

@media screen and (max-width: 768px)
{
    .ranking-content .slide-arrow
    {
        top: 0 !important;
        bottom: 56.25vw;

        width: 3.28125vw;
        height: 6.25vw;
    }
    .ranking-content .prev-arrow
    {
        left: 2.03125vw;
    }
    .ranking-content .next-arrow
    {
        right: 2.1875vw;
    }
    .ranking-content .slick-list
    {
        width: 89.0625vw !important;
        margin: 0 auto;
        padding: 0 !important;
    }
    .ranking-content .slide-dots
    {
        margin-top: 2.34375vw;
    }
    .recommend-content .slide-arrow
    {
        top: -12.5vw;

        width: 3.28125vw;
        height: 6.25vw;
    }
    .recommend-content .prev-arrow
    {
        left: 2.03125vw;
    }
    .recommend-content .next-arrow
    {
        right: 1.875vw;
    }
    .recommend-content .slider
    {
        width: 100vw;
        height: auto !important;
        margin: 0 auto;
    }
    .recommend-content .slick-list
    {
        margin: 5.3125vw 6.71875vw 0 5.625vw;
        padding: 0 !important;
    }
    .recommend-content .slick-slide
    {
        width: 82.5vw;
        height: auto;
    }
}
@media screen and (max-width: 768px) and (max-width: 768px)
{
    .recommend-content .slick-slide
    {
        margin: 2.34375vw 2.34375vw 0 2.34375vw !important;
    }
}
@media screen and (max-width: 768px)
{
    .recommend-content .slick-slide img
    {
        width: 100%;

        border-radius: unset !important;
        box-shadow: none;
    }
}
@media screen and (max-width: 768px)
{
    .recommend-content .slide-dots
    {
        margin-top: 1.25vw !important;
    }
}
@media screen and (max-width: 768px)
{
    .recommend-content .slide-dots,
    .ranking-content .slide-dots
    {
        display: flex;

        justify-content: center;
    }
    .recommend-content .slide-dots button,
    .ranking-content .slide-dots button
    {
        margin: 0 1.5625vw;
        padding: 0;

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

        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
    }
    .recommend-content .slide-dots li,
    .ranking-content .slide-dots li
    {
        display: inline-block;

        margin: 0 1.5625vw;
    }
    .recommend-content .slide-dots li button,
    .ranking-content .slide-dots li button
    {
        position: relative;

        text-indent: -9999px;
    }
    .recommend-content .slide-dots li button::before,
    .ranking-content .slide-dots li button::before
    {
        position: absolute;

        display: block;

        width: 2.5vw;
        height: 2.5vw;

        content: '';
        text-indent: 0;

        opacity: 1;
        background: url(/img/osusume_menu/page_button.png) no-repeat;
        background-size: contain;
    }
    .recommend-content .slide-dots li.slick-active button::before,
    .ranking-content .slide-dots li.slick-active button::before
    {
        content: '';

        background: url(/img/osusume_menu/page_active_btn.png) no-repeat;
        background-size: contain;
    }
}
.icon_desc_wrap
{
    display: flex;

    width: 100%;
    max-width: 1140px;
    margin: 0 auto 80px;
    padding: 25px 20px;

    border-radius: 12px;
    background-color: #fff;
}
.icon_desc_wrap p
{
    font-size: 18px;
    font-weight: 600;

    margin-right: 25px;
}
@media screen and (max-width: 768px)
{
    .icon_desc_wrap
    {
        max-width: 93.75vw;
        margin: 0 auto 9.375vw;
        padding: 3.90625vw .78125vw;

        justify-content: center;
    }
    .icon_desc_wrap p
    {
        font-size: 2.8125vw;

        margin-right: 3.90625vw;

        text-wrap: nowrap;
    }
}

.is-ranking-none
{
    margin-top: 80px;
}
@media screen and (max-width: 768px)
{
    .is-ranking-none
    {
        margin-top: 9.375vw;
    }
}

.icon_desc
{
    display: flex;

    align-items: center;
}
.icon_desc span
{
    font-size: 18px;
    line-height: 1;

    letter-spacing: .24em;
}
@media screen and (max-width: 768px)
{
    .icon_desc span
    {
        font-size: 2.8125vw;

        letter-spacing: unset;
        text-wrap: nowrap;
    }
}
.icon_desc:nth-child(2)
{
    color: #009945;
}
.icon_desc:nth-child(3)
{
    margin: 0 25px;

    color: #de5612;
}
@media screen and (max-width: 768px)
{
    .icon_desc:nth-child(3)
    {
        margin: 0 3.90625vw;
    }
}
.icon_desc:last-child
{
    color: #0989b9;
}

.icon_time
{
    display: flex;

    margin-right: 10px;
}
.icon_time img
{
    width: 23px;
    height: 23px;
}
@media screen and (max-width: 768px)
{
    .icon_time
    {
        margin-right: 1.5625vw;
    }
    .icon_time img
    {
        max-width: 3.59375vw;
        height: 3.59375vw;
    }
}

.icon_cal
{
    display: flex;

    margin-right: 10px;
}
.icon_cal img
{
    width: 17px;
    height: 23px;
}
@media screen and (max-width: 768px)
{
    .icon_cal
    {
        margin-right: 1.5625vw;
    }
    .icon_cal img
    {
        max-width: 2.65625vw;
        height: 3.59375vw;
    }
}

.icon_salt
{
    display: flex;

    margin-right: 10px;
}
.icon_salt img
{
    width: 15px;
    height: 22px;
}
@media screen and (max-width: 768px)
{
    .icon_salt
    {
        margin-right: 1.5625vw;
    }
    .icon_salt img
    {
        max-width: 2.34375vw;
        height: 3.4375vw;
    }
}

.footer-btn_wrap
{
    display: flex;

    justify-content: center;
    align-items: center;
}
.footer-btn_wrap .footer-btn1,
.footer-btn_wrap .footer-btn2
{
    position: relative;

    width: 440px;
    height: 70px;
    margin: 50px 30px 0;

    text-align: center;
    text-decoration: none;

    border-radius: 35px;
    background-color: #094;
}
.footer-btn_wrap .footer-btn1 a,
.footer-btn_wrap .footer-btn2 a
{
    font-size: 18px;
    font-weight: 400;

    display: inline-flex;

    width: 100%;
    height: 100%;

    letter-spacing: .16em;

    color: #fff;

    justify-content: center;
    align-items: center;
}
.footer-btn_wrap .footer-btn1 a::after,
.footer-btn_wrap .footer-btn2 a::after
{
    position: absolute;
    top: 50%;
    right: 30px;

    width: 7px;
    height: 7px;
    margin-top: -5px;

    content: '';
    transform: rotate(45deg);

    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
}
.footer-btn_wrap .footer-btn1:hover,
.footer-btn_wrap .footer-btn2:hover
{
    transition: .3s;
    animation: pyonAction .52s cubic-bezier(.165, .84, .44, 1) forwards;

    background-color: #00c659;
}
@media screen and (max-width: 768px)
{
    .footer-btn_wrap
    {
        margin-top: 60px;

        flex-flow: column;
    }
    .footer-btn_wrap .footer-btn1,
    .footer-btn_wrap .footer-btn2
    {
        width: 84.375vw;
        height: 16.40625vw;
        margin-top: 3.125vw;

        border-radius: 52px;
    }
    .footer-btn_wrap .footer-btn1 a,
    .footer-btn_wrap .footer-btn2 a
    {
        font-size: 4.21875vw;

        position: relative;
        top: 50%;

        width: 100%;
        height: 100%;

        transform: translateY(-50%);
    }
    .footer-btn_wrap .footer-btn1 a::after,
    .footer-btn_wrap .footer-btn2 a::after
    {
        width: 12px;
        height: 12px;

        border-top: solid 2px #fff;
        border-right: solid 2px #fff;
    }
    .footer-btn_wrap .footer-btn1 span,
    .footer-btn_wrap .footer-btn2 span
    {
        font-size: 4.21875vw;

        position: absolute;
        top: 25px;
        right: 25px;

        height: 7.8125vw;
    }
}

/* ------------------------
  related
------------------------ */
.related
{
    padding: 60px 100px 70px;
}
@media screen and (max-width: 768px)
{
    .related
    {
        padding: 40px;
    }
}

.related_list_item
{
    position: relative;

    background-color: #4b4b4b;
}
.related_list_item:not(:last-of-type) a
{
    display: block;

    border-radius: 22px;
}
.related_list_item:not(:last-of-type) a:hover
{
    animation: pyonAction .52s cubic-bezier(.165, .84, .44, 1) forwards;
}
.related_list_item a
{
    color: #fff;
}
@media screen and (max-width: 768px)
{
    .related_list_item:not(:first-child)
    {
        margin-top: 15px;
    }
}
.related_list_item figure
{
    border-radius: 22px;
}

.related_list_item_title
{
    font-size: 24px;

    position: absolute;
    z-index: 100;
    top: 20px;
    left: 20px;
}
.related_list_item_title span
{
    font-size: 12px;
    font-weight: normal;

    display: block;

    letter-spacing: 2px;
}
@media screen and (max-width: 768px)
{
    .related_list_item_title span
    {
        font-size: 10px;
    }
}
@media screen and (max-width: 768px)
{
    .related_list_item_title
    {
        font-size: 18px;
        line-height: 1.3333333333;
    }
}

.related_list
{
    display: grid;

    grid-template-areas: 'item01 item02' 'item03 item04' 'item05 item05';
    grid-template-rows: repeat(3, auto);
    grid-template-columns: repeat(2, 1fr);
    grid-row-gap: 19px;
    grid-column-gap: 24px;
}
@media screen and (max-width: 768px)
{
    .related_list
    {
        display: block;
    }
}

.related_list_item
{
    border-radius: 22px;
}
.related_list_item:nth-child(1)
{
    grid-area: item01;
}
.related_list_item:nth-child(2)
{
    grid-area: item02;
}
.related_list_item:nth-child(3)
{
    grid-area: item03;
}
.related_list_item:nth-child(4)
{
    grid-area: item04;
}
.related_list_item:nth-child(5)
{
    background: #4b4b4b;

    grid-area: item05;
}
.related_list_item img
{
    width: 100%;

    border-radius: 22px;
}

.related_sitemap_list
{
    display: flex;

    padding: 2.2807017544% 2.6315789474%;

    flex-wrap: wrap;
}
@media screen and (max-width: 768px)
{
    .related_sitemap_list
    {
        padding: 18px 5.625vw;

        align-items: baseline;
    }
}

.related_sitemap_list_item
{
    line-height: 1.4;

    display: flex;

    width: 100%;
    margin-right: 16px;

    align-items: baseline;
}
@media screen and (min-width: 769px)
{
    .related_sitemap_list_item:not(:first-child)
    {
        margin-top: 14px;
    }
    .related_sitemap_list_item:nth-child(n+4)
    {
        width: auto;
    }
    .related_sitemap_list_item-m
    {
        width: 35.8422939068%;
    }
    .related_sitemap_list_item-s
    {
        width: 28.6738351254%;
    }
}
@media screen and (max-width: 768px)
{
    .related_sitemap_list_item
    {
        flex-direction: column;

        width: 50%;
        margin-right: 0;
    }
    .related_sitemap_list_item:nth-child(n+3)
    {
        margin-top: 12px;
    }
}
.related_sitemap_list_item > a
{
    font-weight: bold;
}
.related_sitemap_list_item a
{
    font-size: 14px;

    transition: color .4s cubic-bezier(.25, .1, .25, 1);
}
.related_sitemap_list_item a:hover
{
    color: #93e4a0;
}
.related_sitemap_list_item a:hover .footer_icon
{
    fill: #93e4a0;
}
@media screen and (max-width: 768px)
{
    .related_sitemap_list_item a
    {
        font-size: 3.75vw;
    }
    .related_sitemap_list_item a .footer_icon
    {
        width: 3.90625vw;
        height: 3.90625vw;
    }
    .related_sitemap_list_item a .footer_icon_blank
    {
        width: 15px;
        height: 15px;
    }
    .related_sitemap_list_item a .footer_icon_journal
    {
        width: 30px;
        height: 30px;
    }
}

.related_sitemap_inner_list
{
    display: flex;
}
@media screen and (min-width: 769px)
{
    .related_sitemap_inner_list li
    {
        margin-left: 16px;
    }
}
@media screen and (max-width: 768px)
{
    .related_sitemap_inner_list li
    {
        margin-top: 7px;
    }
}
@media screen and (max-width: 768px)
{
    .related_sitemap_inner_list
    {
        flex-direction: column;

        margin-top: 5px;
    }
}

.external_link a
{
    font-weight: bold;
}

/* ------------------------
  modal
------------------------ */
.modal
{
    position: relative;
    z-index: 4002;

    display: none;
}
.modal.is-open
{
    display: block;
}
.modal[aria-hidden=false]
{
    animation: fadeIn .3s cubic-bezier(0, 0, .2, 1);
}
.modal[aria-hidden=true]
{
    animation: fadeOut .3s cubic-bezier(0, 0, .2, 1);
}

@keyframes fadeIn
{
    from
    {
        opacity: 0;
    }
    to
    {
        opacity: 1;
    }
}
@keyframes fadeOut
{
    from
    {
        opacity: 1;
    }
    to
    {
        opacity: 0;
    }
}
.modal-btn
{
    display: none;
}
@media screen and (max-width: 768px)
{
    .modal-btn
    {
        position: absolute;

        display: block;

        width: 10.3125vw;
        height: 10.3125vw;
    }
}

.modal-overlay
{
    position: fixed;

    display: flex;

    background: rgba(0, 0, 0, .8);

    justify-content: center;
    align-items: center;
    inset: 0;
}

.modal-close
{
    font-size: 3.125vw;
    font-weight: 600;

    position: absolute;
    right: 12.5vw;

    margin-top: 3.90625vw;

    transition: background-color .3s cubic-bezier(.165, .84, .44, 1);

    color: #fff;
    border: none;
    background-color: unset;
}
.modal-close .modal-close_text
{
    margin-left: -2.1875vw;
}
.modal-close::after,
.modal-close::before
{
    position: absolute;
    top: 0;
    right: -6.25vw;
    bottom: 0;

    width: .78125vw;
    height: 6.25vw;
    margin: auto;

    content: '';

    background-color: #fff;
}
.modal-close::after
{
    transform: rotate(45deg);
}
.modal-close::before
{
    transform: rotate(-45deg);
}

.modal-container
{
    position: absolute;
    top: 20.3125vw;
}

.modal-content
{
    width: 93.75vw;
    height: auto;

    border-radius: 8px;
    background-color: #094;
}

.modal-nav_wrap
{
    padding: 8.59375vw 4.6875vw 9.375vw;
}

.modal-link
{
    width: 100%;
    height: auto;
}

.modal-link_list
{
    line-height: 1;

    border-bottom: 1px dashed #99d6b4;
}
.modal-link_list a
{
    font-size: 4.375vw;
    font-weight: 600;

    position: relative;

    display: block;

    margin: 4.6875vw 0;

    color: #fff;
}

.modal-search_field
{
    position: relative;
    bottom: unset;

    margin: 8.75vw 4.6875vw 0;
}

.modal-open
{
    display: block;

    margin: 100px auto;
}

/* ------------------------
  journal
------------------------ */
.journal
{
    position: relative;

    padding: 60px 0 50px;

    background: url('/img/common/journal_bg.jpg');
}
@media screen and (max-width: 768px)
{
    .journal
    {
        padding: 7.96875vw 0;
    }
}

.l-inner
{
    padding: 0 7.4626865672%;
}
@media screen and (max-width: 768px)
{
    .l-inner
    {
        padding: 0 6.25vw;
    }
}

.journal_inner
{
    display: flex;

    margin: 0 auto;

    transition: background .42s cubic-bezier(.25, .1, .25, 1);

    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .journal_inner
    {
        display: block;

        padding: 0;
    }
}

.journal_title_block
{
    position: relative;

    width: 100%;
    max-width: 364px;
    margin-right: 24px;

    border-radius: 12px;
    background: #fff;

    grid-area: item01;
}
.journal_title_block a
{
    display: block;

    width: 364px;
    height: 270px;
    padding: 28px 33px;

    color: #4b4b4b;
    border-radius: 12px;
}
.journal_title_block a .journal_btn
{
    color: #fff;
}
@media screen and (max-width: 768px)
{
    .journal_title_block a
    {
        display: flex;

        width: 100%;
        height: auto;
        padding: 6.875vw 6.5625vw;

        justify-content: center;
        align-items: center;
    }
}
.journal_title_block a:hover .journal_btn .journal_btn_inner
{
    animation: pyonAction .52s cubic-bezier(.165, .84, .44, 1) forwards;

    background: #804f35;
}
@media screen and (max-width: 768px)
{
    .journal_title_block
    {
        width: calc(100% - 12.5vw);
        max-width: unset;
        margin: auto;
    }
}

.journal_title
{
    max-width: 144px;
    margin: 0 auto 24px;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .journal_title
    {
        min-width: 25.9375vw;
        margin: 0 4.375vw 3.75vw;
    }
}

.journal_title_txt
{
    font-size: 14px;
    font-weight: 600;
}
@media screen and (max-width: 768px)
{
    .journal_title_txt
    {
        font-size: 3.75vw;
        line-height: 1.6;
    }
}

.journal_btn
{
    width: 290px;
    margin: 30px auto 0;
}
@media screen and (max-width: 768px)
{
    .journal_btn
    {
        font-size: 14px;

        position: static;

        width: 75vw;
        margin-top: -29px;
    }
}
.journal_btn .journal_btn_inner
{
    font-size: 14px;
    font-weight: 600;

    text-align: center;

    border-radius: 28px;
    background: #fff;
}
.journal_btn .journal_btn_inner:hover
{
    animation: pyonAction .52s cubic-bezier(.165, .84, .44, 1) forwards;

    background: #094;
}
.journal_btn .journal_btn_inner:hover a
{
    color: #fff;
}
.journal_btn .journal_btn_inner a
{
    display: block;

    width: 100%;
    padding: 12px 24px;

    text-decoration: none;

    color: #000;
}
@media screen and (max-width: 768px)
{
    .journal_btn .journal_btn_inner a
    {
        font-size: 4.375vw;
        font-weight: 300;
    }
}
@media screen and (max-width: 768px)
{
    .journal_btn .journal_btn_inner
    {
        height: auto;

        border-radius: 40px;
    }
}

.journal_list
{
    display: flex;
}
@media screen and (max-width: 768px)
{
    .journal_list
    {
        display: block;
    }
}

.journal_list_item
{
    max-width: 364px;
    margin-right: 24px;
}
.journal_list_item:last-of-type
{
    margin-right: 0;
}
.journal_list_item figure
{
    width: 364px;
    height: 270px;
}
@media screen and (max-width: 768px)
{
    .journal_list_item figure
    {
        width: 100%;
        height: auto;
    }
}
@media screen and (max-width: 768px)
{
    .journal_list_item
    {
        width: 100%;
        max-width: unset;
    }
}
