@charset 'UTF-8';


.c_btn_prev,
.c_btn_next,
.c_btn_header,
.c_btn_svg,
.c_btn_svg_hover,
.c_btn
{
    font-family: inherit;
    line-height: 1;

    display: -webkit-flex;
    display:     -ms-flex;
    display:         flex;

    color: #fff;

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

.c_btn_prev span,
.c_btn_next span,
.c_btn_header span,
.c_btn_svg span,
.c_btn_svg_hover span,
.c_btn span
{
    font-family: inherit;
}

.c_btn_prev::before,
.c_btn_next::before,
.c_btn_header::before,
.c_btn_svg::before,
.c_btn_svg_hover::before,
.c_btn::before
{
    display: inline-block;

    width: .6em;
    height: .6em;
    margin-right: 10px;

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

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

.c_btn_prev,
.c_btn_next
{
    font-size: 18px;

    padding: 20px 16px;

    border-radius: 4px;
    background: #555;

    justify-content: space-between;
}

html[c-data-font-size='normal'] .c_btn_prev,
html[c-data-font-size='normal'] .c_btn_next
{
    font-size: 20px;
}

html[c-data-font-size='large'] .c_btn_prev,
html[c-data-font-size='large'] .c_btn_next
{
    font-size: 22px;
}

.c_db
{
    display: block;
}

.c_ib
{
    display: inline-block;
}

.c_dn
{
    display: none;
}

.c_df
{
    display: -webkit-flex;
    display:     -ms-flex;
    display:         flex;

    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.c_jcfs
{
    justify-content: flex-start;
}

.c_jcfe
{
    justify-content: flex-end;
}

.c_jcc
{
    justify-content: center;
}

.c_jcsb
{
    justify-content: space-between;
}

.c_jcsa
{
    justify-content: space-around;
}

.c_aifs
{
    align-items: flex-start;
}

.c_aife
{
    align-items: flex-end;
}

.c_aic
{
    align-items: center;
}

.c_ais
{
    align-items: stretch;
}

.c_tal
{
    text-align: left;
}

.c_tac
{
    text-align: center;
}

.c_tar
{
    text-align: right;
}

.c_posr
{
    position: relative;
}

.c_posa
{
    position: absolute;
}

.c_poss
{
    position: static;
}

@media screen and (max-width: 1200px)
{
    .c_m_db
    {
        display: block;
    }
    .c_m_ib
    {
        display: inline-block;
    }
    .c_m_dn
    {
        display: none;
    }
    .c_m_df
    {
        display: -webkit-flex;
        display:     -ms-flex;
        display:         flex;

        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
    }
    .c_m_tal
    {
        text-align: left;
    }
    .c_m_tac
    {
        text-align: center;
    }
    .c_m_tar
    {
        text-align: right;
    }
    .c_m_posr
    {
        position: relative;
    }
    .c_m_posa
    {
        position: absolute;
    }
    .c_m_poss
    {
        position: static;
    }
}

@media screen and (max-width: 1024px)
{
    .c_s_db
    {
        display: block;
    }
    .c_s_ib
    {
        display: inline-block;
    }
    .c_s_dn
    {
        display: none;
    }
    .c_s_df
    {
        display: -webkit-flex;
        display:     -ms-flex;
        display:         flex;

        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
    }
    .c_s_tal
    {
        text-align: left;
    }
    .c_s_tac
    {
        text-align: center;
    }
    .c_s_tar
    {
        text-align: right;
    }
    .c_s_posr
    {
        position: relative;
    }
    .c_s_posa
    {
        position: absolute;
    }
    .c_s_poss
    {
        position: static;
    }
}

/*===================================
  SYSTEM
===================================*/
html
{
    font-size: 14px;
}

html[c-data-font-size='normal']
{
    font-size: 16px;
}

html[c-data-font-size='large']
{
    font-size: 18px;
}

body
{
    font-family: inherit;

    min-width: 1200px;
    max-height: 100%;

    color: #222;
}

_:-ms-fullscreen,
:root body
{
    overflow-x: hidden;
    /* IE11以上 */

    width: 100%;
}

.woocommerce h2
{
    font-size: 20px;

    margin-top: 15px;
    margin-bottom: 30px;
}

html[c-data-font-size='normal'] .woocommerce h2
{
    font-size: 22px;
}

html[c-data-font-size='large'] .woocommerce h2
{
    font-size: 24px;
}

.inner
{
    width: 1200px;
    margin: 0 auto;
}

h1,
h2,
h3,
h4,
h5,
h6
{
    font-weight: bold;
    font-weight: 700;
    line-height: 1;

    text-align: center;
}

p,
th,
td,
dl,
ol,
ul
{
    font-size: 1rem;
    line-height: 1.75;
}

p + p
{
    margin-top: 1em;
}

a
{
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;

    color: inherit;
}

a:hover
{
    opacity: .5;
}

a img:hover
{
    opacity: 1;
}

a,
a img
{
    cursor: pointer;
    transition-duration: .2s;
    transition-property: color,border-color,background-color;
}

.clearfix::after
{
    display: block;
    clear: both;

    content: '';
}

.addtoany_list
{
    display: -webkit-flex;
    display:     -ms-flex;
    display:         flex;

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

/*===================================
  COMMON
===================================*/
.c_cat_title,
.c_category_name
{
    color: #fff;
    background: #000;
}

.info.c_cat_title,
.info.c_category_name
{
    background: #f78600 !important;
}

.sports.c_cat_title,
.sports.c_category_name
{
    background: #3674b3 !important;
}

.news.c_cat_title,
.news.c_category_name
{
    background: #87c040 !important;
}

.column-2.c_cat_title,
.column-2.c_category_name
{
    background: #f78600 !important;
}

.feature.c_cat_title,
.feature.c_category_name
{
    background: #005aaa !important;
}

.free.c_cat_title,
.free.c_category_name
{
    background: #96241e !important;
}

.c_cat_title
{
    font-size: 16px;

    padding: .5rem 0;

    text-align: center;
}

html[c-data-font-size='normal'] .c_cat_title
{
    font-size: 18px;
}

html[c-data-font-size='large'] .c_cat_title
{
    font-size: 20px;
}

.c_category_name
{
    font-size: 12px;

    display: inline-block;

    margin-right: 10px;
    padding: .1rem .5rem;

    vertical-align: text-top;
}

html[c-data-font-size='normal'] .c_category_name
{
    font-size: 14px;
}

html[c-data-font-size='large'] .c_category_name
{
    font-size: 16px;
}

.c_category_name.info
{
    border-radius: 4px;
}

.c_btn_header,
.c_btn_svg,
.c_btn_svg_hover
{
    padding: 10px 20px;

    background: #3e3e3e;
}

.c_btn
{
    padding: 18px 0;

    border-radius: 5px;
    background: #555;
}

.c_btn_prev::before
{
    transform: rotate(225deg);

    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
}

.c_btn_prev::after
{
    content: '';
}

.c_btn_next::before
{
    width: 0;
    height: 0;

    border: none;
}

.c_btn_next::after
{
    display: inline-block;

    width: .6em;
    height: .6em;

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

    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
}

.c_btn_svg svg,
.c_btn_svg_hover svg
{
    width: 1em;
    height: 1.1em;
    margin-right: 10px;

    fill: #fff;
}

.c_btn_svg::before,
.c_btn_svg_hover::before
{
    display: none;
}

.c_btn_svg_hover:hover
{
    opacity: 1;
    color: #3e3e3e;
    background: #fff;
}

.c_btn_svg_hover:hover svg
{
    fill: #3e3e3e;
}

.c_border_box
{
    display: block;

    border: 1px solid #8c8c8c;
    border-top: 2px solid #3e3e3e;
}

.c_icon
{
    width: 18px;
    height: 18px;
}

/*===================================
  COMMON PARTS
===================================*/
#main_content
{
    display: -webkit-flex;
    display:     -ms-flex;
    display:         flex;

    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
}

#primary
{
    width: 895px;
    padding-bottom: 100px;
}

#primary.sub_page main .inner
{
    width: 850px;
}

#primary.sub_page section
{
    padding-bottom: 65px;
}

#header_news_list
{
    display: -webkit-flex;
    display:     -ms-flex;
    display:         flex;

    width: 100%;
    padding: 20px 0;

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

#header_news_list .news_list
{
    justify-content: flex-start;
}

#header_news_list p
{
    font-weight: bold;

    width: 340px;
    margin-top: 0;
}

#sideber_main
{
    width: 280px;
    padding-bottom: 70px;
}

#sideber_main .inner
{
    width: 250px;
    padding: 15px 0 10px;
}

#sideber_main header
{
    position: relative;

    padding: 13px 15px;

    border-bottom: 1px solid #8c8c8c;
}

#sideber_main header .c_icon
{
    width: 15px;
    height: 15px;
    margin-right: 10px;
}

#sideber_main header h3
{
    font-size: 16px;
}

#sideber_main header .posa_img
{
    position: absolute;
    right: 16px;
    bottom: 0;
}

#sideber_main p,
#sideber_main li,
#sideber_main a
{
    font-size: 13px;
}

#sideber_main p,
#sideber_main li,
#sideber_main a,
#sideber_main h3
{
    line-height: 1;

    text-align: left;
}

#sideber_main .link_list
{
    width: 100%;
}

#sideber_main .link_list li + li
{
    border-top: 1px solid #8c8c8c;
}

#sideber_main .link_list li a
{
    display: -webkit-flex;
    display:     -ms-flex;
    display:         flex;

    width: 250px;
    margin: auto;
    padding: 15px 0;

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

#sideber_main .link_list li a::before
{
    font-size: 22px;

    display: inline-block;

    color: #222;
}

#sideber_main .link_list li:nth-of-type(-n+3) a::before
{
    display: inline-block;

    color: #eb0e0e;
}

#sideber_main .side_menu a
{
    display: block;
}

#sideber_main .side_menu a + a
{
    margin-top: 10px;
}

#sideber_main .side_access_ranking,
#sideber_main .side_calender,
#sideber_main .side_events
{
    border: 1px solid #8c8c8c;
    border-top: 2px solid #3e3e3e;
}

#sideber_main .side_access_ranking
{
    margin-top: 45px;
}

#sideber_main .side_access_ranking .change
{
    padding-bottom: 10px;
}

#sideber_main .side_access_ranking .change li
{
    width: 82px;
}

#sideber_main .side_access_ranking .change li a
{
    display: block;

    padding: 9px 0;

    cursor: pointer;
    text-align: center;

    color: #fff;
    background: #999;
}

#sideber_main .side_access_ranking .change li a.active
{
    cursor: default;
}

#sideber_main .side_access_ranking .change li a.active,
#sideber_main .side_access_ranking .change li a:hover
{
    opacity: 1;
    background: #3e3e3e;
}

#sideber_main .side_access_ranking .ranking_list .ranking
{
    display: none;
}

#sideber_main .side_access_ranking .ranking_list .ranking.active
{
    display: block;
}

#sideber_main .side_access_ranking .ranking_list .ranking li a::before
{
    font-size: 22px;

    display: inline-block;

    color: #222;
}

#sideber_main .side_access_ranking .ranking_list .ranking li:nth-of-type(-n+3) a::before
{
    display: inline-block;

    color: #eb0e0e;
}

#sideber_main .side_access_ranking .ranking_list .ranking li:nth-of-type(1) a::before
{
    padding-right: 5px;

    content: '1.';
}

#sideber_main .side_access_ranking .ranking_list .ranking li:nth-of-type(2) a::before
{
    padding-right: 5px;

    content: '2.';
}

#sideber_main .side_access_ranking .ranking_list .ranking li:nth-of-type(3) a::before
{
    padding-right: 5px;

    content: '3.';
}

#sideber_main .side_access_ranking .ranking_list .ranking li:nth-of-type(4) a::before
{
    padding-right: 5px;

    content: '4.';
}

#sideber_main .side_access_ranking .ranking_list .ranking li:nth-of-type(5) a::before
{
    padding-right: 5px;

    content: '5.';
}

#sideber_main .side_calender
{
    margin-top: 40px;
}

#sideber_main .side_calender #side_calendar
{
    position: relative;

    width: 260px;
    margin: auto;
    padding-top: 18px;
    padding-bottom: 15px;
}

#sideber_main .side_calender #side_calendar #side_calendar_button
{
    position: absolute;
    z-index: 1;
    top: 0;

    display: -webkit-flex;
    display:     -ms-flex;
    display:         flex;

    width: 100%;
    margin-top: 18px;
    padding: 15px;

    color: #fff;

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

#sideber_main .side_calender #side_calendar #side_calendar_button a
{
    font-size: 16px;

    cursor: pointer;
}

#sideber_main .side_calender #side_calendar #side_calendar_button a.none
{
    cursor: default;

    color: #3e3e3e;
}

#sideber_main .side_calender #side_calendar #calender
{
    position: relative;

    width: 100%;
}

#sideber_main .side_calender #side_calendar #calender .prev_next
{
    display: none;
}

#sideber_main .side_calender #side_calendar #calender #wp-calendar
{
    width: 100%;
}

#sideber_main .side_calender #side_calendar #calender #wp-calendar caption
{
    width: 100%;
    padding-top: 0;
}

#sideber_main .side_calender #side_calendar #calender #wp-calendar caption span
{
    font-size: 16px;
    line-height: 1;

    display: -webkit-flex;
    display:     -ms-flex;
    display:         flex;

    padding: 15px;

    text-align: center;

    color: #fff;
    border-radius: 4px;
    background: #3e3e3e;

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

#sideber_main .side_calender #side_calendar #calender #wp-calendar caption span a
{
    font-size: inherit;

    text-decoration: none;

    color: inherit;
}

#sideber_main .side_calender #side_calendar #calender #wp-calendar td,
#sideber_main .side_calender #side_calendar #calender #wp-calendar th
{
    padding: 0;

    text-align: center;
    vertical-align: middle;

    background: white;
}

#sideber_main .side_calender #side_calendar #calender #wp-calendar #today
{
    position: relative;
    z-index: 0;

    color: #fff;
    border: 0;
}

#sideber_main .side_calender #side_calendar #calender #wp-calendar #today a
{
    position: relative;
    z-index: 1;
}

#sideber_main .side_calender #side_calendar #calender #wp-calendar #today::after
{
    position: absolute;
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;

    display: inline-block;

    width: 24px;
    height: 24px;

    content: '';
    transform: translate(-50%, -50%);

    border-radius: 50%;
    background: #3e3e3e;
}

#sideber_main .side_calender #side_calendar #calender #wp-calendar #today a
{
    color: #fff;
}

#sideber_main .side_calender #side_calendar #calender #wp-calendar #today.tholiday::after
{
    background: #ea0611;
}

#sideber_main .side_calender #side_calendar #calender #wp-calendar #today.tsaturday::after
{
    background: #0b1ed3;
}

#sideber_main .side_events
{
    margin-top: 40px;
}

#sideber_main .side_events .link_list li + li
{
    border-top: 1px solid #eee;
}

#sideber_main .side_events .link_list li a time
{
    display: inline-block;

    margin-right: 1em;

    color: #999;
}

#sideber_main .side_links
{
    margin-top: 40px;
}

#sideber_main .side_links a
{
    display: block;
}

#sideber_main .side_links a + a
{
    margin-top: 25px;
}

#sideber_main .side_links a img
{
    width: auto;
    height: auto;
    margin: auto;
}

#breadcrumb
{
    margin-bottom: 30px;
    padding: 10px 0;

    border-bottom: 1px solid #3e3e3e;
}

#breadcrumb ul
{
    display: -webkit-flex;
    display:     -ms-flex;
    display:         flex;

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

#breadcrumb ul li,
#breadcrumb ul a,
#breadcrumb ul span
{
    font-size: 14px;
}

#breadcrumb ul li a
{
    text-decoration: underline;
}

#breadcrumb ul li span
{
    padding-right: 1em;

    white-space: nowrap;
}

#breadcrumb ul li + li::before
{
    display: inline-block;

    width: .5em;
    height: .5em;

    content: '';
    transform: translateY(50%) rotate(45deg);
    vertical-align: super;

    border-top: 1px solid #3e3e3e;
    border-right: 1px solid #3e3e3e;
}

#breadcrumb ul li + li span
{
    padding-left: 1em;
}

.company_page_header
{
    background: #f7f8f8;

    align-items: stretch;
}

.company_page_header .title
{
    display: -webkit-flex;
    display:     -ms-flex;
    display:         flex;

    flex-grow: 1;
    justify-content: center;
    align-items: center;
}

.company_page_header .title .text
{
    display: block;
}

#company_navi
{
    padding-top: 20px;
    padding-bottom: 50px;
}

#company_navi ul li,
#company_navi ul a
{
    line-height: 1;
}

#company_navi ul li
{
    width: 205px;
}

#company_navi ul li:nth-of-type(n+5)
{
    margin-top: 10px;
}

#company_navi ul li a
{
    font-size: 14px;

    display: block;

    padding: 1em 0;

    text-align: center;

    color: #87c040;
    border: #87c040 1px solid;
}

#company_navi ul li a br
{
    display: none;
}

#company_navi ul li a:hover,
#company_navi ul li a.active
{
    opacity: 1;
    color: #fff;
    background: #87c040;
}

.c_subheader,
.c_subheader2
{
    font-size: 24px;

    width: 100%;
    margin-bottom: 25px;

    text-align: center;
}

html[c-data-font-size='normal'] .c_subheader,
html[c-data-font-size='normal'] .c_subheader2
{
    font-size: 26px;
}

html[c-data-font-size='large'] .c_subheader,
html[c-data-font-size='large'] .c_subheader2
{
    font-size: 28px;
}

.c_subheader h2,
.c_subheader2 h2,
.c_subheader h3,
.c_subheader2 h3
{
    font-size: inherit;
    line-height: 1;
}

.c_subheader
{
    display: -webkit-flex;
    display:     -ms-flex;
    display:         flex;

    padding: 0;

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

.c_subheader h2,
.c_subheader h3
{
    display: inline-block;
}

.c_subheader::before,
.c_subheader::after
{
    display: block;

    width: 1em;

    content: '';

    border-top: 3px solid #3e3e3e;
    border-bottom: 3px solid #3e3e3e;
}

.c_subheader::before
{
    margin-right: .8em;

    border-left: 3px solid #3e3e3e;
}

.c_subheader::after
{
    margin-left: .8em;

    border-right: 3px solid #3e3e3e;
}

.c_subheader2
{
    padding: 10px 0;

    border-top: 2px solid #3e3e3e;
    border-bottom: 1px solid #8c8c8c;
}

.c_subheader2 h2,
.c_subheader2 h3,
.c_subheader2 h4
{
    font-size: 18px;
    line-height: 1;
}

html[c-data-font-size='normal'] .c_subheader2 h2,
html[c-data-font-size='normal'] .c_subheader2 h3,
html[c-data-font-size='normal'] .c_subheader2 h4
{
    font-size: 20px;
}

html[c-data-font-size='large'] .c_subheader2 h2,
html[c-data-font-size='large'] .c_subheader2 h3,
html[c-data-font-size='large'] .c_subheader2 h4
{
    font-size: 22px;
}

.c_subheader2 h2 svg,
.c_subheader2 h3 svg,
.c_subheader2 h4 svg
{
    width: 24px;
    height: 24px;
}

.c_box + .c_box
{
    margin-top: 40px;
}

.c_box + .c_box
{
    margin-top: 40px;
}

.c_table th,
.c_table td
{
    padding: 7px 10px;

    text-align: left;
    vertical-align: top;
}

.c_table thead tr th
{
    color: #fff;
    border-top: 1px solid #a7a7a7;
    border-right: 1px solid #a7a7a7;
    border-left: 1px solid #a7a7a7;
    background: #3e3e3e;
}

.c_table tbody tr td
{
    border-right: 1px solid #3e3e3e;
    border-bottom: 1px solid #3e3e3e;
    border-left: 1px solid #3e3e3e;
}

.c_datalist
{
    border-top: 2px solid #3e3e3e;
    border-bottom: 1px solid #8c8c8c;
}

.c_datalist dl + dl
{
    border-top: 1px solid #8c8c8c;
}

.c_datalist dt,
.c_datalist dd
{
    padding-top: .8em;
    padding-bottom: .8em;
    padding-left: 1.5em;

    background: #fff;
}

@media screen and (max-width: 1024px)
{
    .c_datalist dt
    {
        font-weight: bold;
    }
}

.c_datalist dd
{
    border-left: 1px solid #8c8c8c;
}

@media screen and (max-width: 1024px)
{
    .c_datalist dd
    {
        padding-top: 0;

        border-left: 0;
    }
}

.c_pager
{
    height: 40px;
    margin-top: 35px;
}

.c_pager *
{
    height: 100%;
}

.c_pager,
.c_pager .pages
{
    display: -webkit-flex;
    display:     -ms-flex;
    display:         flex;

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

.c_pager a
{
    font-size: 14px;

    display: -webkit-flex;
    display:     -ms-flex;
    display:         flex;

    padding: 1em;

    color: #fff;
    border: 1px solid #3e3e3e;
    border-radius: 4px;
    background: #3e3e3e;

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

.c_pager a:hover,
.c_pager a.active
{
    opacity: 1;
    color: #3e3e3e;
    background: #fff;
}

.c_pager a.active
{
    cursor: default;
}

.c_pager .pages
{
    margin: 0 10px;
}

.c_pager .pages li
{
    width: 40px;
}

.c_pager .pages li + li
{
    margin-left: 5px;
}

.c_pager .arrow
{
    width: 80px;
}

.c_pager .arrow a.active
{
    opacity: .5;
}

.c_pager .prev i
{
    margin-right: .5em;
}

.c_pager .next i
{
    margin-left: .5em;
}

#post_login_box
{
    clear: both;

    margin-top: 40px;
    margin-bottom: 60px;
    padding-top: 30px;

    border-top: 2px dotted #8c8c8c;
}

#post_login_box p
{
    font-size: 16px;

    text-align: center;
}

html[c-data-font-size='normal'] #post_login_box p
{
    font-size: 18px;
}

html[c-data-font-size='large'] #post_login_box p
{
    font-size: 20px;
}

#post_login_box .login
{
    width: 570px;
    margin: 15px auto 0;
}

#post_login_box .login .c_btn_svg_hover
{
    font-size: 16px;

    width: 280px;
    padding: 1em 0;
}

html[c-data-font-size='normal'] #post_login_box .login .c_btn_svg_hover
{
    font-size: 18px;
}

html[c-data-font-size='large'] #post_login_box .login .c_btn_svg_hover
{
    font-size: 20px;
}

/*===================================
  TOP HEADER
===================================*/
#top_header p,
#top_header th,
#top_header td,
#top_header dl,
#top_header ol,
#top_header ul
{
    font-size: 14px;
}

#top_header .header_info
{
    padding-left: 20px;
}

#top_header .header_info .data p
{
    font-size: 18px;
}

#top_header .header_info .data p .year
{
    font-size: 14px;
}

#top_header .header_info .data p .month,
#top_header .header_info .data p .day
{
    font-size: 22px;
}

#top_header .header_info .data p .week
{
    font-size: 14px;
    line-height: 1.3;

    display: inline-block;

    white-space: nowrap;

    border-bottom: 1px solid #222;
}

#top_header .header_info .weather #wij_weather_in_japan
{
    overflow: hidden;

    margin-top: 5px;

    text-align: center;
}

#top_header .header_info .weather #wij_weather_in_japan #wij_container
{
    display: -webkit-flex;
    display:     -ms-flex;
    display:         flex;

    margin: 0;

    border: 0;
    border-radius: 0;

    justify-content: flex-start;
    align-items: flex-end;
}

#top_header .header_info .weather #wij_weather_in_japan #wij_container a
{
    display: -webkit-flex;
    display:     -ms-flex;
    display:         flex;

    margin: 0;

    cursor: pointer;

    border: 0;
    border-radius: 0;

    justify-content: flex-start;
    align-items: flex-end;
}

#top_header .header_info .weather #wij_weather_in_japan #wij_container.count1 li
{
    width: 100%;
}

#top_header .header_info .weather #wij_weather_in_japan #wij_container.count2 li
{
    width: calc(100% / 2);
}

#top_header .header_info .weather #wij_weather_in_japan #wij_container.count3 li
{
    width: calc(100% / 3);
}

#top_header .header_info .weather #wij_weather_in_japan p
{
    margin: 0;
}

#top_header .header_info .weather #wij_weather_in_japan .dateLabel,
#top_header .header_info .weather #wij_weather_in_japan .ttl
{
    display: none;
}

#top_header .header_info .weather #wij_weather_in_japan .location
{
    font-size: 14px;

    margin: 0;
    padding: 0;

    white-space: nowrap;

    background-color: #fcfcfc;
}

#top_header .header_info .weather #wij_weather_in_japan ul
{
    font-size: 90%;

    clear: both;
    overflow: hidden;

    margin: 0;

    list-style: none;
}

#top_header .header_info .weather #wij_weather_in_japan ul li
{
    display: -webkit-flex;
    display:     -ms-flex;
    display:         flex;
    float: none;

    width: calc(100% / 3);

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

#top_header .header_info .weather #wij_weather_in_japan ul li img
{
    width: auto;
    height: 20px;
    margin: 0 7px;
}

#top_header .header_info .weather #wij_weather_in_japan ul li .thermometer
{
    font-size: 14px;

    margin: 0;
}

#top_header .header_info .weather #wij_weather_in_japan ul li .thermometer span
{
    font-size: 22px;

    color: red;
}

#top_header .header_info .weather #wij_weather_in_japan ul li .thermometer span:last-child
{
    color: blue;
}

#top_header > .inner
{
    padding: 1px 0;
}

#top_header > .inner p
{
    line-height: 1.1;
}

#top_header > .inner .header_left
{
    align-items: flex-end;
}

#top_header > .inner .header_left .logo
{
    padding-right: 20px;

    border-right: 1px solid #b3b3b3;
}

#top_header > .inner .header_left .logo a
{
    display: block;
}

#top_header > .inner .header_right .username
{
    font-size: 1.2em;
    line-height: 1.5;

    display: block;

    margin-right: 20px;

    text-align: center;
}

#top_header > .inner .header_right .font_size p
{
    line-height: 1;
}

#top_header > .inner .header_right .font_size > p
{
    font-size: 14px;

    white-space: nowrap;
}

#top_header > .inner .header_right .font_size #size_select
{
    display: -webkit-flex;
    display:     -ms-flex;
    display:         flex;

    margin-top: 5px;

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

#top_header > .inner .header_right .font_size #size_select > div
{
    display: -webkit-flex;
    display:     -ms-flex;
    display:         flex;

    width: 22px;
    height: 22px;

    cursor: pointer;
    transition: .2s;

    border: 1px solid #8c8c8c;
    background: #fff;

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

#top_header > .inner .header_right .font_size #size_select > div:hover,
#top_header > .inner .header_right .font_size #size_select > div.active
{
    color: #fff;
    border: 1px solid #3e3e3e;
    background: #3e3e3e;
}

#top_header > .inner .header_right .font_size #size_select > div p
{
    font-size: 12px;
}

#top_header > .inner .header_right .submenu
{
    margin-left: 23px;
}

#top_header > .inner .header_right .submenu .c_df li
{
    width: 80px;
    height: 74px;
}

#top_header > .inner .header_right .submenu .c_df li + li
{
    margin-left: 1px;
}

#top_header > .inner .header_right .submenu .c_df li a
{
    display: -webkit-flex;
    display:     -ms-flex;
    display:         flex;
    flex-direction: column;

    width: 100%;
    height: 100%;
    padding: 15px 0 10px;

    text-align: center;

    color: #fff;
    background: #87c040;

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

#top_header > .inner .header_right .submenu .c_df li a span
{
    line-height: 1;
}

#top_header > .inner .header_right .submenu .c_df li a svg
{
    width: 24px;
    height: 24px;

    fill: #fff;
}

#top_header > .inner .header_right .submenu .c_df li:first-of-type a
{
    padding: 0;

    color: #222;
    border: 1px solid #999;
    background: #f8f8f8;

    justify-content: flex-start;
}

#top_header > .inner .header_right .submenu .c_df li:first-of-type a span
{
    padding-top: 7px;
}

/*===================================
  GLOBAL NAV
===================================*/
#global_navi
{
    background: #3e3e3e;
}

#global_navi .main_navi li
{
    line-height: 1.5;
    line-height: 1;

    text-align: center;

    border-right: 1px solid #555;
}

#global_navi .main_navi li a
{
    font-size: 13px;
    font-weight: bold;
    line-height: 1;

    display: -webkit-flex;
    display:     -ms-flex;
    display:         flex;

    height: 36px;
    padding: 0 23px;

    color: #fff;

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

#global_navi .main_navi li a:hover
{
    opacity: 1;
}

#global_navi .main_navi li a:hover,
#global_navi .main_navi li a.active
{
    color: #222;
    background: #eee;
}

#global_navi .search
{
    overflow: hidden;

    width: 270px;
    height: 100%;

    border: 2px solid #3e3e3e;
    border-radius: 5px;
    background: #fff;
}

#global_navi .search #form
{
    display: -webkit-flex;
    display:     -ms-flex;
    display:         flex;

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

#global_navi .search #form #s-box
{
    height: 32px;
    padding: .5em;

    border: 0;
    background: #fff;
    box-shadow: none;

    flex-grow: 1;
}

#global_navi .search #form #s-btn-area
{
    width: 32px;
    height: 32px;
    padding: 0;

    background: #fff;
}

#global_navi .search #form #s-btn-area #s-btn img
{
    margin: auto;
}

#sp_sidemenu
{
    display: none;
}

#top_alert
{
    position: relative;

    width: 100%;
    margin-top: 20px;
}

@media screen and (max-width: 1024px)
{
    #top_alert
    {
        margin-top: 10px;
    }
}

#top_alert::after
{
    font-size: 12px;
    font-weight: bold;

    position: absolute;
    top: 0;
    left: 0;

    display: -webkit-flex;
    display:     -ms-flex;
    display:         flex;

    width: 40px;
    height: 20px;

    content: '速報';

    color: white;

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

#top_alert::before
{
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;

    content: '';

    border-top: 20px solid red;
    border-right: 40px solid transparent;
    border-bottom: 20px solid transparent;
    border-left: 40px solid red;
}

#top_alert a
{
    position: relative;
    z-index: 2;

    display: -webkit-flex;
    display:     -ms-flex;
    display:         flex;

    padding: 25px 20px 20px;

    border: 1px solid red;

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

@media screen and (max-width: 1024px)
{
    #top_alert a
    {
        padding: 20px 10px 10px;

        align-items: flex-start;
    }
}

@media screen and (max-width: 1024px)
{
    #top_alert a .thumnail
    {
        width: 80px;
    }
    #top_alert a .thumnail img
    {
        width: 100%;
        height: auto;
    }
}

#top_alert a .thumnail + .content
{
    width: calc(100% - 120px);
}

@media screen and (max-width: 1024px)
{
    #top_alert a .thumnail + .content
    {
        width: calc(100% - 90px);
    }
}

@media screen and (max-width: 1024px)
{
    #top_alert a .content
    {
        padding-top: 10px;
    }
}

#top_alert a .content h2
{
    font-size: 20px;

    margin-bottom: 5px;

    text-align: left;
}

html[c-data-font-size='normal'] #top_alert a .content h2
{
    font-size: 22px;
}

html[c-data-font-size='large'] #top_alert a .content h2
{
    font-size: 24px;
}

#top_alert a .content time
{
    display: inline-block;

    margin-bottom: .2em;

    color: #999;
}

/*===================================
  MAIN
===================================*/
/*============================================================================================================================================
  SP_style
============================================================================================================================================*/
@media screen and (max-width: 1024px)
{
    /*===================================
    GENERAL
  ===================================*/
    body
    {
        min-width: 320px;
    }
    .inner
    {
        width: 95%;
    }
    img,
    video
    {
        width: 100%;
        height: auto;
    }
    .tel,
    .tel img
    {
        pointer-events: auto;
    }
    table th
    {
        font-size: 15px;

        padding: 1em;
    }
    table td
    {
        font-size: 14px;

        padding: 1em;
    }
    /*===================================
    HEADING
  ===================================*/
    .c_btn_header,
    .c_btn_svg,
    .c_btn_svg_hover
    {
        padding: 15px 0;
    }
    .c_border_box
    {
        border: none;
        border-top: 2px solid #3e3e3e;
    }
    /*===================================
    COMMON PARTS
  ===================================*/
    #main_content
    {
        display: block;
    }
    #primary
    {
        width: 100%;
        padding-bottom: 60px;
    }
    #primary.sub_page main .inner
    {
        width: 95%;
    }
    #header_news_list
    {
        flex-wrap: wrap;
    }
    #header_news_list .news_list
    {
        width: 100%;
    }
    #header_news_list p
    {
        width: 100%;
    }
    #header_news_list p + p
    {
        margin-top: 15px;
    }
    #header_news_list .c_btn_header,
    #header_news_list .c_btn_svg,
    #header_news_list .c_btn_svg_hover
    {
        width: 100%;
        margin-top: 30px;
    }
    #header_news_list .c_btn_header::before,
    #header_news_list .c_btn_svg::before,
    #header_news_list .c_btn_svg_hover::before
    {
        display: none;
    }
    #sideber_main
    {
        width: 100%;
        padding-bottom: 65px;
    }
    #sideber_main .inner
    {
        width: 90%;
        padding: 15px 0 10px;
    }
    #sideber_main header
    {
        position: relative;

        padding: 13px 15px;

        border-bottom: 1px solid #8c8c8c;
    }
    #sideber_main header .c_icon
    {
        width: 18px;
        height: 18px;
        margin-right: 10px;
    }
    #sideber_main header h3
    {
        font-size: 18px;

        text-align: center;
    }
    #sideber_main header .posa_img
    {
        position: absolute;
        right: 7px;
        bottom: 0;

        width: 85px;
    }
    #sideber_main p,
    #sideber_main li,
    #sideber_main a
    {
        font-size: 16px;
    }
    #sideber_main p,
    #sideber_main li,
    #sideber_main a,
    #sideber_main h3
    {
        line-height: 1;

        text-align: left;
    }
    #sideber_main .link_list li + li
    {
        border-top: 1px solid #8c8c8c;
    }
    #sideber_main .link_list li a
    {
        display: -webkit-flex;
        display:     -ms-flex;
        display:         flex;

        padding: 15px 0;

        justify-content: flex-start;
        align-items: center;
    }
    #sideber_main .link_list li a::before
    {
        font-size: 22px;

        display: inline-block;

        color: #222;
    }
    #sideber_main .link_list li:nth-of-type(-n+3) a::before
    {
        display: inline-block;

        color: #eb0e0e;
    }
    #sideber_main .side_menu
    {
        display: none;
    }
    #sideber_main .side_access_ranking,
    #sideber_main .side_calender,
    #sideber_main .side_events
    {
        border: 1px solid #8c8c8c;
        border-top: 2px solid #3e3e3e;
    }
    #sideber_main .side_access_ranking
    {
        margin-top: 0;
    }
    #sideber_main .side_access_ranking .change
    {
        padding-bottom: 10px;
    }
    #sideber_main .side_access_ranking .change li
    {
        width: 33%;
    }
    #sideber_main .side_access_ranking .change li a
    {
        display: block;

        padding: 12px 0;

        cursor: pointer;
        text-align: center;

        color: #fff;
        background: #999;
    }
    #sideber_main .side_access_ranking .change li a.active
    {
        cursor: default;
    }
    #sideber_main .side_access_ranking .change li a.active,
    #sideber_main .side_access_ranking .change li a:hover
    {
        opacity: 1;
        background: #3e3e3e;
    }
    #sideber_main .side_access_ranking .ranking_list .ranking li a::before
    {
        font-size: 22px;

        display: inline-block;

        color: #222;
    }
    #sideber_main .side_access_ranking .ranking_list .ranking li:nth-of-type(-n+3) a::before
    {
        display: inline-block;

        color: #eb0e0e;
    }
    #sideber_main .side_access_ranking .ranking_list .ranking li:nth-of-type(1) a::before
    {
        padding-right: 5px;

        content: '1.';
    }
    #sideber_main .side_access_ranking .ranking_list .ranking li:nth-of-type(2) a::before
    {
        padding-right: 5px;

        content: '2.';
    }
    #sideber_main .side_access_ranking .ranking_list .ranking li:nth-of-type(3) a::before
    {
        padding-right: 5px;

        content: '3.';
    }
    #sideber_main .side_access_ranking .ranking_list .ranking li:nth-of-type(4) a::before
    {
        padding-right: 5px;

        content: '4.';
    }
    #sideber_main .side_access_ranking .ranking_list .ranking li:nth-of-type(5) a::before
    {
        padding-right: 5px;

        content: '5.';
    }
    #sideber_main .side_calender
    {
        margin-top: 40px;
    }
    #sideber_main .side_calender header h3
    {
        padding-right: 2em;
    }
    #sideber_main .side_calender #side_calendar
    {
        width: 90%;
        margin: auto;
    }
    #sideber_main .side_calender #side_calendar #calender .prev_next a
    {
        font-size: 20px;
    }
    #sideber_main .side_calender #side_calendar #calender #wp-calendar caption
    {
        font-size: 20px;
    }
    #sideber_main .side_calender #side_calendar #calender #wp-calendar caption span
    {
        font-size: inherit;
    }
    #sideber_main .side_calender #side_calendar #calender #wp-calendar td,
    #sideber_main .side_calender #side_calendar #calender #wp-calendar th
    {
        font-size: 20px;
    }
    #sideber_main .side_calender #side_calendar #calender #wp-calendar td a,
    #sideber_main .side_calender #side_calendar #calender #wp-calendar th a
    {
        font-size: 20px;
    }
    #sideber_main .side_calender #side_calendar #calender #wp-calendar #today::after
    {
        width: 30px;
        height: 30px;
    }
    #sideber_main .side_events
    {
        margin-top: 40px;
    }
    #sideber_main .side_events .link_list li + li
    {
        border-top: 1px solid #eee;
    }
    #sideber_main .side_events .link_list li a time
    {
        display: inline-block;

        margin-right: 1em;

        color: #999;
    }
    #sideber_main .side_links
    {
        display: -webkit-flex;
        display:     -ms-flex;
        display:         flex;

        margin-top: 40px;

        justify-content: space-between;
        align-items: flex-start;
        flex-wrap: wrap;
    }
    #sideber_main .side_links a
    {
        display: block;

        width: 48%;
    }
    #sideber_main .side_links a + a
    {
        margin-top: 0;
    }
    #sideber_main .side_links a:nth-of-type(n+3)
    {
        margin-top: 25px;
    }
    #breadcrumb
    {
        margin: 20px 0;
        padding: 0;

        border-top: 1px solid #3e3e3e;
    }
    #breadcrumb ul
    {
        overflow: hidden;

        background: #fff;
    }
    #breadcrumb ul li,
    #breadcrumb ul a,
    #breadcrumb ul span
    {
        font-size: 14px;

        vertical-align: middle;
    }
    #breadcrumb ul li
    {
        position: relative;

        height: 30px;
    }
    #breadcrumb ul li a
    {
        text-decoration: underline;
    }
    #breadcrumb ul li span
    {
        padding-right: 1.5em;
    }
    #breadcrumb ul li + li::before,
    #breadcrumb ul li + li::after
    {
        position: absolute;
        top: 50%;

        display: block;

        width: auto;
        height: auto;

        content: '';

        border-right: none;
    }
    #breadcrumb ul li + li::before
    {
        left: 0;

        transform: translate(-50%, -50%);

        border-top: 20px solid transparent;
        border-bottom: 20px solid transparent;
        border-left: 8px solid #3e3e3e;
    }
    #breadcrumb ul li + li::after
    {
        left: -1px;

        transform: translate(-50%, -50%);

        border-top: 20px solid transparent;
        border-bottom: 20px solid transparent;
        border-left: 8px solid #fff;
    }
    #breadcrumb ul li + li span
    {
        padding-left: 1.5em;
    }
    .company_page_header
    {
        background: #f7f8f8;

        align-items: stretch;
    }
    .company_page_header figure
    {
        width: 63%;
    }
    .company_page_header figure img
    {
        width: 100%;
        height: auto;
    }
    .company_page_header .title .text
    {
        width: 100%;
        height: 100%;
    }
    .company_page_header .title .text h1
    {
        position: relative;

        width: 100%;
        height: 100%;
    }
    .company_page_header .title .text h1 img
    {
        position: absolute;
        top: 50%;
        left: 50%;

        width: auto;
        height: auto;

        transform: translate(-50%, -50%) scale(.7);
    }
    #company_navi
    {
        position: relative;

        margin-top: 15px;
        padding-top: 0;
        padding-bottom: 87px;
    }
    #company_navi ul
    {
        position: absolute;
        top: 0;
        left: 50%;

        width: 100vw !important;

        transform: translateX(-50%);
    }
    #company_navi ul li,
    #company_navi ul a
    {
        line-height: 1.2;
    }
    #company_navi ul li
    {
        width: 24.5%;
    }
    #company_navi ul li:nth-of-type(n+5)
    {
        margin-top: 4px;
    }
    #company_navi ul li a
    {
        font-size: 10px;

        display: -webkit-flex;
        display:     -ms-flex;
        display:         flex;

        width: 100%;
        height: 30px;
        padding: 0;

        color: #fff;
        background: #87c040;

        justify-content: center;
        align-items: center;
    }
    #company_navi ul li a br
    {
        display: inline-block;
    }
    .c_pager
    {
        justify-content: space-around;
    }
    .c_pager .pages
    {
        display: none;
    }
    #post_login_box
    {
        margin-top: 20px;
        margin-bottom: 50px;
        padding-top: 20px;
    }
    #post_login_box .login
    {
        width: 100%;
    }
    #post_login_box .login .c_btn_svg_hover
    {
        width: 100%;
        margin-top: 10px;
        padding: .5em 0;
    }
    /*===================================
    TOP HEADER
  ===================================*/
    #top_header > .inner
    {
        padding: 0;

        justify-content: center;
    }
    #top_header > .inner .header_left
    {
        padding: 15px 0 12px;
    }
    #top_header > .inner .header_left .logo
    {
        width: 192px;
        margin: auto;
        padding-right: 0;

        border-right: 0;
    }
    #top_header > .inner.header_info
    {
        padding-top: 17px;
    }
    #top_header > .inner.header_info > div
    {
        padding: 3px 0;

        border: 1px solid #3e3e3e;

        justify-content: space-around;
        align-items: center;
    }
    #top_header > .inner.header_info > div .data p
    {
        font-size: 14px;
    }
    #top_header > .inner.header_info > div .data p .year
    {
        font-size: 12px;
    }
    #top_header > .inner.header_info > div .data p .month,
    #top_header > .inner.header_info > div .data p .day
    {
        font-size: 15px;
    }
    #top_header > .inner.header_info > div .data p .week
    {
        font-size: 10px;
        line-height: 1;

        display: inline-block;

        padding-left: 2px;

        border-bottom: 0;
    }
    #top_header > .inner.header_info > div .border
    {
        width: 1px;
        height: 27px;

        background: #3e3e3e;
    }
    #top_header > .inner.header_info > div .weather #wij_weather_in_japan
    {
        overflow: hidden;

        margin-top: 0;

        text-align: center;
    }
    #top_header > .inner.header_info > div .weather #wij_weather_in_japan #wij_container
    {
        display: -webkit-flex;
        display:     -ms-flex;
        display:         flex;

        margin: 0;

        border: 0;
        border-radius: 0;

        justify-content: flex-start;
        align-items: flex-end;
    }
    #top_header > .inner.header_info > div .weather #wij_weather_in_japan #wij_container a
    {
        display: -webkit-flex;
        display:     -ms-flex;
        display:         flex;

        margin: 0;

        cursor: pointer;

        border: 0;
        border-radius: 0;

        justify-content: flex-start;
        align-items: flex-end;
    }
    #top_header > .inner.header_info > div .weather #wij_weather_in_japan #wij_container.count1 li
    {
        width: 100%;
    }
    #top_header > .inner.header_info > div .weather #wij_weather_in_japan #wij_container.count2 li
    {
        width: calc(100% / 2);
    }
    #top_header > .inner.header_info > div .weather #wij_weather_in_japan #wij_container.count3 li
    {
        width: calc(100% / 3);
    }
    #top_header > .inner.header_info > div .weather #wij_weather_in_japan p
    {
        margin: 0;
    }
    #top_header > .inner.header_info > div .weather #wij_weather_in_japan .dateLabel,
    #top_header > .inner.header_info > div .weather #wij_weather_in_japan .ttl
    {
        display: none;
    }
    #top_header > .inner.header_info > div .weather #wij_weather_in_japan .location
    {
        font-size: 12px;
    }
    #top_header > .inner.header_info > div .weather #wij_weather_in_japan ul
    {
        font-size: 90%;

        clear: both;
        overflow: hidden;

        margin: 0;

        list-style: none;
    }
    #top_header > .inner.header_info > div .weather #wij_weather_in_japan ul li
    {
        display: -webkit-flex;
        display:     -ms-flex;
        display:         flex;
        float: none;

        width: calc(100% / 3);

        justify-content: center;
        align-items: center;
    }
    #top_header > .inner.header_info > div .weather #wij_weather_in_japan ul li img
    {
        height: 15px;
        margin: 0 3px;
    }
    #top_header > .inner.header_info > div .weather #wij_weather_in_japan ul li .thermometer
    {
        margin: 0;
    }
    #top_header > .inner.header_info > div .weather #wij_weather_in_japan ul li .thermometer span
    {
        font-size: 15px;
        line-height: 1;
    }
    /*===================================
    GLOBAL NAV
  ===================================*/
    #global_navi
    {
        position: absolute;
        z-index: 200;

        width: 100%;
    }
    #global_navi.fixed
    {
        position: fixed;
        top: 0;
    }
    #global_navi .inner
    {
        width: 100%;
    }
    #global_navi .main_navi
    {
        width: 100%;

        align-items: stretch;
    }
    #global_navi .main_navi > li
    {
        font-size: 10px;
        line-height: 1;

        width: 25%;

        text-align: center;

        border: 1px solid #555;
        background: #3e3e3e;
    }
    #global_navi .main_navi > li a
    {
        font-size: 10px;
        font-weight: bold;
        line-height: 1;

        display: -webkit-flex;
        display:     -ms-flex;
        display:         flex;

        height: auto;
        padding: 15px 0;

        color: #fff;

        justify-content: center;
        align-items: center;
    }
    #global_navi .main_navi > li a:hover
    {
        opacity: 1;
    }
    #global_navi .main_navi > li a:hover,
    #global_navi .main_navi > li a.active
    {
        color: #222;
        background: #eee;
    }
    #global_navi .main_navi .main_navi_search
    {
        width: 50%;
    }
    #global_navi .main_navi .main_navi_search .search
    {
        width: 100%;
    }
    #global_navi .main_navi .main_navi_search .search #form
    {
        height: 100%;
    }
    #global_navi .main_navi .main_navi_search .search #form #s-btn-area
    {
        width: 15px;
        height: 15px;
        margin-right: 10px;
    }
    #global_navi .main_navi #menu_btn
    {
        display: -webkit-flex;
        display:     -ms-flex;
        display:         flex;

        background: #fff;

        justify-content: center;
        align-items: center;
    }
    #global_navi .main_navi #menu_btn ul
    {
        width: 100%;
        margin: 0;

        justify-content: space-around;
    }
    #global_navi .main_navi #menu_btn ul li
    {
        width: 50%;

        border-right: 0;
    }
    #global_navi .main_navi #menu_btn ul li + li
    {
        border-left: 1px solid #555;
    }
    #global_navi .main_navi #menu_btn ul li img
    {
        width: auto;
        height: 30px;
        margin: auto;
    }
    #sp_sidemenu
    {
        position: fixed;
        z-index: 3000;
        top: 0;
        left: 0;

        display: none;
        overflow: hidden;

        width: 100vw;
        height: 100vh;
    }
    #sp_sidemenu #sp_side_list
    {
        position: absolute;
        z-index: 1;
        top: 0;
        right: -275px;

        overflow-y: auto;

        width: 275px;
        height: 100vh;

        transition: .6s;

        background: #fff;
    }
    #sp_sidemenu #sp_side_list.active
    {
        right: 0;
    }
    #sp_sidemenu #sp_side_list #close_icon
    {
        position: absolute;
        top: 10px;
        right: 10px;

        width: 25px;
        height: 25px;
    }
    #sp_sidemenu #sp_side_list #close_icon::before,
    #sp_sidemenu #sp_side_list #close_icon:after
    {
        position: absolute;
        top: 50%;
        left: 50%;

        display: block;

        content: '';
        transform: translate(-50%, -50%) rotate(45deg);

        background: #87c040;
    }
    #sp_sidemenu #sp_side_list #close_icon::before
    {
        width: 100%;
        height: 7px;
    }
    #sp_sidemenu #sp_side_list #close_icon:after
    {
        width: 7px;
        height: 100%;
    }
    #sp_sidemenu #sp_side_list .inner
    {
        width: 240px;
    }
    #sp_sidemenu #sp_side_list #sp_side_logo
    {
        padding: 20px 0;
    }
    #sp_sidemenu #sp_side_list #sp_side_logo figure
    {
        width: 220px;
    }
    #sp_sidemenu #sp_side_list #sp_side_logo #sp_side_data p
    {
        font-size: 10px;
        font-weight: bold;
    }
    #sp_sidemenu #sp_side_list #sp_side_logo #sp_side_data p span
    {
        font-weight: inherit;
    }
    #sp_sidemenu #sp_side_list #sp_side_logo #sp_side_data p .year,
    #sp_sidemenu #sp_side_list #sp_side_logo #sp_side_data p .week
    {
        font-size: 13px;
    }
    #sp_sidemenu #sp_side_list #sp_side_logo #sp_side_data p .month,
    #sp_sidemenu #sp_side_list #sp_side_logo #sp_side_data p .day
    {
        font-size: 16px;
    }
    #sp_sidemenu #sp_side_list .sp_side_font_size
    {
        padding: 8px 0;

        background: #eee;
    }
    #sp_sidemenu #sp_side_list .sp_side_font_size p
    {
        font-size: 16px;
        line-height: 1;
    }
    #sp_sidemenu #sp_side_list .sp_side_font_size .inner
    {
        justify-content: flex-start;
        align-items: center;
    }
    #sp_sidemenu #sp_side_list .sp_side_font_size #sp_side_size_select
    {
        display: -webkit-flex;
        display:     -ms-flex;
        display:         flex;

        margin-left: 17px;

        justify-content: center;
        align-items: center;
    }
    #sp_sidemenu #sp_side_list .sp_side_font_size #sp_side_size_select > div
    {
        display: -webkit-flex;
        display:     -ms-flex;
        display:         flex;

        width: 34px;
        height: 34px;

        cursor: pointer;
        transition: .2s;

        border: 1px solid #8c8c8c;
        background: #fff;

        justify-content: center;
        align-items: center;
    }
    #sp_sidemenu #sp_side_list .sp_side_font_size #sp_side_size_select > div + div
    {
        margin-left: 6px;
    }
    #sp_sidemenu #sp_side_list .sp_side_font_size #sp_side_size_select > div:hover,
    #sp_sidemenu #sp_side_list .sp_side_font_size #sp_side_size_select > div.active
    {
        color: #fff;
        border: 1px solid #3e3e3e;
        background: #3e3e3e;
    }
    #sp_sidemenu #sp_side_list #sp_side_login
    {
        padding: 20px 0 30px;
    }
    #sp_sidemenu #sp_side_list #sp_side_login .username
    {
        margin-bottom: .5em;
    }
    #sp_sidemenu #sp_side_list #sp_side_login .username a
    {
        font-size: 1.2em;
        line-height: 1.5;

        display: block;
    }
    #sp_sidemenu #sp_side_list #sp_side_login ul li a
    {
        display: -webkit-flex;
        display:     -ms-flex;
        display:         flex;

        width: 100%;
        height: 40px;

        text-align: center;

        justify-content: center;
        align-items: center;
    }
    #sp_sidemenu #sp_side_list #sp_side_login ul li a span
    {
        font-size: 14px;
        font-weight: bold;
        line-height: 1;
    }
    #sp_sidemenu #sp_side_list #sp_side_login ul li a svg
    {
        width: 12px;
        height: 12px;

        fill: #fff;
    }
    #sp_sidemenu #sp_side_list #sp_side_login ul li.btn_02,
    #sp_sidemenu #sp_side_list #sp_side_login ul li.btn_03
    {
        width: 115px;
        margin-top: 15px;
    }
    #sp_sidemenu #sp_side_list #sp_side_login ul li.btn_01,
    #sp_sidemenu #sp_side_list #sp_side_login ul li.btn_03
    {
        color: #fff;
        background: #87c040;
    }
    #sp_sidemenu #sp_side_list #sp_side_login ul li.btn_01
    {
        width: 100%;
    }
    #sp_sidemenu #sp_side_list #sp_side_login ul li.btn_01 svg
    {
        margin-right: 9px;
    }
    #sp_sidemenu #sp_side_list #sp_side_login ul li.btn_02 a
    {
        padding: 0;

        color: #222;
        border: 1px solid #999;
        background: #f8f8f8;
    }
    #sp_sidemenu #sp_side_list #sp_side_login ul li.btn_03 svg
    {
        margin-right: 4px;
    }
    #sp_sidemenu #sp_side_list #sp_side_login .search
    {
        overflow: hidden;

        width: 100%;
        height: 100%;
        margin-top: 25px;

        border: 1px solid rgba(62, 62, 62, .2);
        border-radius: 5px;
        background: #fff;
        box-shadow: 2px 2px 1px inset rgba(62, 62, 62, .2);
    }
    #sp_sidemenu #sp_side_list #sp_side_login .search #form
    {
        display: -webkit-flex;
        display:     -ms-flex;
        display:         flex;
        overflow: hidden;

        width: 100%;
        height: 100%;

        justify-content: center;
        align-items: center;
    }
    #sp_sidemenu #sp_side_list #sp_side_login .search #form #s-box
    {
        height: 40px;
        padding: .5em;

        border: 0;
        background: transparent;
        box-shadow: none;

        flex-grow: 1;
    }
    #sp_sidemenu #sp_side_list #sp_side_login .search #form #s-btn-area
    {
        width: 40px;
        height: 40px;
        padding: 0;
        padding: 0;

        border: 0;
        background: transparent;
    }
    #sp_sidemenu #sp_side_list #sp_side_login .search #form #s-btn-area #s-btn
    {
        padding: 10px;
    }
    #sp_sidemenu #sp_side_list #sp_side_login .search #form #s-btn-area #s-btn img
    {
        margin: auto;

        opacity: .2;
    }
    #sp_sidemenu #sp_side_list #sp_side_cart
    {
        margin-bottom: 20px;
    }
    #sp_sidemenu #sp_side_list #sp_side_navi .main_navi
    {
        border-top: 1px solid #b3b3b3;
        border-bottom: 1px solid #b3b3b3;
    }
    #sp_sidemenu #sp_side_list #sp_side_navi .main_navi a
    {
        font-size: 14px;
        line-height: 1;

        display: -webkit-flex;
        display:     -ms-flex;
        display:         flex;

        padding: 16px 0;

        justify-content: flex-start;
        align-items: center;
    }
    #sp_sidemenu #sp_side_list #sp_side_navi .main_navi a::before
    {
        display: block;

        margin-right: 10px;

        content: '';

        border-top: .3em solid transparent;
        border-bottom: .3em solid transparent;
        border-left: .3em solid #3e3e3e;
    }
    #sp_sidemenu #sp_side_list #sp_side_navi .main_navi li + li
    {
        border-top: 1px solid #b3b3b3;
    }
    #sp_sidemenu #sp_side_list #sp_side_navi .sub_navi
    {
        width: 250px;
        padding: 15px 0;
    }
    #sp_sidemenu #sp_side_list #sp_side_navi .sub_navi a
    {
        display: block;
    }
    #sp_sidemenu #sp_side_list #sp_side_navi .sub_navi a + a
    {
        margin-top: 10px;
    }
    #sp_sidemenu #close_floa
    {
        position: absolute;
        z-index: 0;
        top: 0;
        right: 0;

        width: 100vw;
        height: 100vh;

        background: rgba(0, 0, 0, .5);
    }
    /*===================================
    MAIN
  ===================================*/
    /*===================================
    order
  ===================================*/
    .sp_od1
    {
        order: 1;
    }
    .sp_od2
    {
        order: 2;
    }
    .sp_od3
    {
        order: 3;
    }
    .sp_od4
    {
        order: 4;
    }
    /*===================================
    BUTTON
  ===================================*/
    .btn_default
    {
        width: 100%;
        margin: 40px auto 0;
    }
    .btn_default::before,
    .btn_default::after
    {
        width: 15px;
    }
    .btn_default::after
    {
        right: -15px;
    }
    .btn_default span
    {
        font-size: 15px;
        line-height: 40px;
    }
    .btn_green:hover::before
    {
        background: #fff;
    }
    .btn_green:hover span
    {
        color: #fff;
        border-color: #fff;
    }
    .btn_white:hover
    {
        background: #fff;
    }
    .btn_glay:hover::before
    {
        background: #fff;
    }
    .btn_glay:hover span
    {
        color: #fff;
        border-color: #fff;
    }
}

/*===================================
  FOOTER
===================================*/
#footer
{
    position: relative;

    padding: 40px 0;

    border-top: 1px solid #a7a7a7;
    background: #f3f3f3;
}

@media screen and (max-width: 1024px)
{
    #footer
    {
        padding: 30px 0 0 0;
    }
}

#footer .page_top
{
    position: absolute;
    top: -42px;
    right: calc(50% - 600px);

    display: block;
}

@media screen and (max-width: 1024px)
{
    #footer .page_top
    {
        top: -35px;
        right: 5px;
    }
    #footer .page_top img
    {
        width: 100px;
    }
}

@media screen and (max-width: 1024px)
{
    #footer .inner
    {
        width: 100%;
    }
}

#footer .inner .footer_nav,
#footer .inner .comment,
#footer .inner .copy_right
{
    line-height: 1.2;

    margin-top: 20px;
}

@media screen and (max-width: 1024px)
{
    #footer .inner .footer_nav,
    #footer .inner .comment,
    #footer .inner .copy_right
    {
        line-height: 1.4;
    }
}

@media screen and (max-width: 1024px)
{
    #footer .inner .footer_logo
    {
        width: 100%;
        margin-bottom: 15px;
    }
    #footer .inner .footer_logo img
    {
        width: 120px;
        margin: 0 auto;
    }
}

#footer .inner .footer_nav
{
    display: flex;

    justify-content: flex-start;
}

@media screen and (max-width: 1024px)
{
    #footer .inner .footer_nav
    {
        width: 95%;
        margin: 0 auto;

        justify-content: center;
        flex-wrap: wrap;
    }
}

#footer .inner .footer_nav li
{
    border-left: 1px solid #222;
}

@media screen and (max-width: 1024px)
{
    #footer .inner .footer_nav li
    {
        margin-top: 5px;
    }
}

#footer .inner .footer_nav li a
{
    font-size: 1.0rem;
    font-weight: bold;

    padding: 0 1em;
}

@media screen and (max-width: 1024px)
{
    #footer .inner .footer_nav li a
    {
        text-align: center;
    }
}

#footer .inner .footer_nav li:first-child
{
    border: 0;
}

#footer .inner .footer_nav li:first-child a
{
    padding-left: 0;
}

@media screen and (max-width: 1024px)
{
    #footer .inner .footer_nav li:nth-child(odd)
    {
        border: 0;
    }
}

#footer .inner .comment
{
    font-size: 1.0rem;
    font-weight: bold;
}

@media screen and (max-width: 1024px)
{
    #footer .inner .comment
    {
        width: 95%;
        margin: 15px auto 0 auto;
        padding-top: 15px;

        border-top: 1px solid #a7a7a7;
    }
}

@media screen and (max-width: 1024px)
{
    #footer .inner .copyright
    {
        padding: 15px 0;

        text-align: center;

        background: #3e3e3e;
    }
}

#footer .inner .copyright small
{
    font-size: 1.0rem;
    line-height: 1.2;

    color: #717171;
}

@media screen and (max-width: 1024px)
{
    #footer .inner .copyright small
    {
        color: #fff;
    }
}
