@charset "UTF-8";
.s {
    -webkit-transition: all 0.1s ease-in-out;
    -moz-transition: all 0.1s ease-in-out;
    -o-transition: all 0.1s ease-in-out;
    font-family: 'Nova Round', sans-serif;
    font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Helvetica, Arial, sans-serif;
}
a {
    -webkit-transition: all 0.1s ease-in-out;
    -moz-transition: all 0.1s ease-in-out;
    -o-transition: all 0.1s ease-in-out;
}
/* mobile tap none color
--------------------------------------------------------- */
body {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -moz-tap-highlight-color: rgba(0, 0, 0, 0);
    tap-highlight-color: rgba(0, 0, 0, 0);
}
@media screen and (min-width: 1024px) {
    .pc_tab_none, .pc_none {
        display: none !important;
    }
}
@media screen and (max-width: 1023px) and (min-width: 640px) {
    .pc_tab_none, .tab_none, .mob_tab_none {
        display: none !important;
    }
}
@media screen and (max-width: 639px) {
    .mob_none, .mob_tab_none {
        display: none !important;
    }
}
* {
    word-break: break-all;
}
/* ヘッダー
--------------------------------------------------------- */
.header {
    position: relative;
}
/* ラベル */
.head_label {
    width: 100%;
    background: #563d5d;
}
.head_label_txt {
    color: #fff;
    font-size: 1.2rem;
    width: 100%;
    max-width: 1000px;
    margin: auto;
    line-height: 40px;
}
.head_label_link {
    width: 100%;
    max-width: 1000px;
    margin: auto;
    position: relative;
}
.head_label_link a {
    position: absolute;
    right: 0;
    top: 7px;
    color: #563d5d;
    background: #fff;
    border-radius: 3px;
    line-height: 25px;
    font-size: 1.2rem;
    font-weight: bold;
    padding: 0 10px;
}
@media screen and (max-width: 1023px) {
    .head_label_txt {
        width: 90%;
        font-size: 1rem;
    }
    .head_label_link {
        display: none;
    }
}
@media screen and (max-width: 639px) {
    .head_label {
        height: 10px;
    }
    .head_label_txt {
        display: none;
    }
}
/* logo */
.logo_head {
    width: 100%;
    height: 55px;
    text-align: center;
    margin-top: 24px;
}
.logo_head img {
    max-height: 100%;
    width: auto;
}
@media screen and (max-width: 1023px) {
    .logo_head {
        height: 45px;
        margin-top: 25px;
    }
}
@media screen and (max-width: 639px) {
    .logo_head {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        height: auto;
        margin-top: 22px;
        padding: 0 3% 1em;
    }
    .logo_head a {
        display: block;
        width: 60%;
        height: auto;
    }
}
.top_btnlist_box {
    width: 100%;
    max-width: 1000px;
    margin: auto;
    position: relative;
}
@media screen and (max-width: 1023px) {
    .top_btnlist_box {
        width: 90%;
    }
}
@media screen and (max-width: 639px) {
    .top_btnlist_box {
        display: none;
    }
}
.top_btnlist {
    position: absolute;
    right: 0;
    top: 26px;
}
.top_btnitem {
    display: inline-block;
    margin-left: 5px;
    padding: .5em 1em;
    background: #563d5d;
    border-radius: 3px;
    vertical-align: top;
}
.top_btnitem a {
    display: block;
    width: 100%;
    height: 100%;
    text-align: center;
    color: #fff;
    font-family: 'Nova Round', sans-serif;
    font-size: 1.1rem;
    font-weight: normal;
    line-height: 1;
}
.top_btnicon {
    display: block;
    font-size: 4rem;
    padding-top: 8px;
}
@media screen and (max-width: 1023px) {
    .top_btnitem a {
        font-size: 1rem;
    }
    .top_btnicon {
        display: block;
        font-size: 2.7rem;
        padding-top: 8px;
    }
}
/* ハンバーガー */
.menu-trigger, .menu-trigger span {
    display: inline-block;
    -webkit-transition: all .4s;
    transition: all .4s;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.menu-trigger {
    position: absolute;
    width: 40px;
    height: 30px;
    top: 28px;
    right: 8%;
}
.menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: #000;
    border-radius: 4px;
}
.menu-trigger span:nth-of-type(1) {
    top: 0;
}
.menu-trigger span:nth-of-type(2) {
    top: 44%;
}
.menu-trigger span:nth-of-type(3) {
    bottom: 0;
}
.menu-trigger.is-active span:nth-of-type(1) {
    -webkit-transform: translateY(13px) rotate(-45deg);
    transform: translateY(13px) rotate(-45deg);
}
.menu-trigger.is-active span:nth-of-type(2) {
    opacity: 0;
}
.menu-trigger.is-active span:nth-of-type(3) {
    -webkit-transform: translateY(-13px) rotate(45deg);
    transform: translateY(-13px) rotate(45deg);
}
/* gnavi
--------------------------------------------------------- */
.gnav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto 20px;
}
@media screen and (max-width: 1023px) {
    .gnav {
        margin: 20px auto;
        width: 90%;
    }
}
@media screen and (max-width: 639px) {
    .gnav {
        display: none;
        margin: 10px auto 20px;
    }
    .gnav.is-open {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
}
.gnav_item {
    position: relative;
}
.gnav_link {
    font-size: 1.3rem;
    font-weight: bold;
    padding: 1em;
    display: block;
    position: relative;
    z-index: 1;
}
.gnav_link:after {
    content: "";
    width: 100%;
    height: 5px;
    position: absolute;
    bottom: 0;
    left: 0;
    border-radius: 3px;
    background: #eeeeee;
    display: block;
    -webkit-transition: all 0.1s ease-in-out;
    -moz-transition: all 0.1s ease-in-out;
    -o-transition: all 0.1s ease-in-out;
    z-index: -1;
}
@media screen and (max-width: 1023px) {
    .gnav_item {
        display: inline-block;
        margin: 10px 1% 0;
        width: 30%;
    }
    .gnav_link {
        font-size: 1.3rem;
        padding: 12px 0;
        text-align: center;
    }
}
@media screen and (max-width: 639px) {
    .gnav_item {
        margin: 3px 1% 0;
        width: 47%;
    }
    .gnav_link {
        font-size: 1.4rem;
        padding: 12px 0;
    }
}
@media screen and (min-width: 640px) {
    .gnav_item:hover .gnav_link, .gnav_item.current .gnav_link {
        color: #fff;
        font-weight: normal;
    }
    .gnav_item:hover .gnav_link:after, .gnav_item.current .gnav_link:after {
        height: 100%;
        background: #6d3d7b;
        background: linear-gradient(100deg, #744083, #54325e);
    }
}
.subnav_list {
    display: none;
    z-index: 30;
    position: absolute;
    top: 100%;
    left: 50%;
    /*left: -15%;*/
    /*width: 160%;*/
    border: 1px solid #563d5d;
    background: #fff;
    font-size: 1.2rem;
    transform: translateY(0%) translateX(-50%);
    -webkit- transform: translateY(0%) translateX(-50%);
}
.gnav_item:hover .subnav_list {
    display: block;
}
.subnav_item {
    border-top: 1px solid #ddd;
}
.subnav_link {
    display: block;
    padding: .8em .8em;
    white-space: nowrap;
}
.subnav_link:hover {
    background: #6d3d7b;
    color: #fff;
}
/* ジャンルナビ
--------------------------------------------------------- */
.report_wrap {
    background: #0e0e0e;
}
.report_nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    padding-top: .5em;
}
.report_label {
    width: 20%;
    margin-bottom: .5em;
    color: #fff;
    font-size: 1.4rem;
    font-weight: bold;
}
.report_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 80%;
    background: #0e0e0e;
}
.report_item {
    margin: 0 .5em .5em 0;
}
.report_link {
    display: block;
    padding: .25em .5em;
    border-radius: 4px;
    background: #fff;
    color: #0e0e0e;
    font-size: 1.4rem;
}
.report_link.current, .report_link:hover {
    background: #666;
    color: #fff;
}
@media screen and (max-width: 639px) {
    .report_nav {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .report_label, .report_list {
        width: 100%;
    }
    .report_label {
        text-align: center;
    }
    .report_list {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding: 0 3%;
    }
}
/* 枠
--------------------------------------------------------- */
.inner {
    margin: auto;
    max-width: 1000px;
    width: 100%;
    position: relative;
}
@media screen and (max-width: 1023px) {
    .inner {
        width: 90%;
    }
}
/* 色
--------------------------------------------------------- */
.bg_grey {
    background: #f7f6f3;
}
.pink {
    color: #dc647c;
}
.purple {
    color: #6d3d7b;
}
@media screen and (max-width: 639px) {
    .mobnone_bg_grey {
        background: none;
        border-top: 6px solid #f7f6f3;
    }
}
/* ボタン
--------------------------------------------------------- */
.btn {
    width: 160px;
    display: block;
    margin: 15px auto 0;
}
.btn.inline {
    display: inline-block;
    margin: 10px 5px;
}
.btn.Msize {
    width: 250px;
}
.btn.Lsize {
    width: 350px;
}
.Wauto {
    width: auto;
    display: inline-block;
    margin-top: 10px;
}
@media screen and (max-width: 639px) {
    .btn {
        margin: 10px auto 0;
    }
    .btn.inline {
        display: block;
        margin: 5px auto 0;
    }
    .btn.Msize {
        width: 250px;
        max-width: 80%;
    }
    .btn.Lsize {
        width: 350px;
        max-width: 80%;
    }
    .Wauto {
        display: block;
        margin-top: 6px;
    }
}
.btn a {
    display: block;
    border-radius: 3px;
    border: 1px solid #1e2631;
    font-size: 1.6rem;
    text-align: center;
    line-height: 44px;
    letter-spacing: 3px;
    font-family: 'Nova Round', sans-serif;
    position: relative;
}
.btn.Msize a, .btn.Lsize a {
    letter-spacing: 1.4px;
}
.btn a:after {
    content: "\e901";
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 5px;
    font-size: 1rem;
}
.btn.Lsize a {
    line-height: 54px;
}
.Wauto a {
    padding: 0 40px 0 30px;
    letter-spacing: 1.5px;
    font-size: 1.4rem;
}
.btn:hover a, .btn.btn_navy a {
    color: #fff;
    background: #1e2631;
    background: linear-gradient(100deg, #283445, #1e2631);
}
.btn.btn_navy:hover a {
    color: #1e2631;
    background: #fff;
}
.btn.btn_pink a {
    color: #fff;
    background: #dc647c;
    background: linear-gradient(100deg, #df6b82, #c93d59);
    border: 1px solid #db627a;
}
.btn.btn_pink:hover a {
    color: #db627a;
    background: #fff;
    border: 1px solid #db627a;
}
.btn.btn_gray a {
    background: #eee;
    border: 1px solid #eee;
    color: #1e2631;
}
/* タイトル
--------------------------------------------------------- */
.main_ttl {
    text-align: center;
    font-size: 3rem;
    letter-spacing: 3px;
    font-weight: bold;
    margin-bottom: 28px;
}
.main_ttl_en {
    display: block;
    letter-spacing: 1px;
    font-size: 1.1rem;
    font-family: 'Nova Round', sans-serif;
}
@media screen and (max-width: 1023px) {
    .main_ttl {
        font-size: 2.8rem;
        margin-bottom: 25px;
    }
    .main_ttl_en {
        padding-top: 3px;
        font-size: 1rem;
    }
}
@media screen and (max-width: 639px) {
    .main_ttl {
        font-size: 2.5rem;
        margin-bottom: 10px;
    }
    .main_ttl_en {
        padding-top: 1px;
        font-size: 0.8rem;
    }
    .main_ttl.mob_small {
        font-size: 2.1rem;
        letter-spacing: 1.5px;
    }
}
/* サブタイトル */
.sub_ttl {
    letter-spacing: 2px;
    font-size: 3.5rem;
    font-family: 'Nova Round', sans-serif;
}
.sub_ttl_jp {
    font-size: 1.4rem;
    padding-left: 10px;
    display: inline-block;
    vertical-align: middle;
    font-weight: bold;
}
@media screen and (max-width: 1023px) {
    .sub_ttl {
        font-size: 3rem;
    }
    .sub_ttl_jp {
        font-size: 1.2rem;
        padding-left: 8px;
    }
}
@media screen and (max-width: 639px) {
    .sub_ttl {
        font-size: 2.7rem;
    }
    .sub_ttl_jp {
        font-size: 1.1rem;
        padding-left: 7px;
    }
}
/* トピックス
--------------------------------------------------------- */
/* 枠 */
.topics_list {
    padding-bottom: 5px;
}
.topics_item {
    margin-top: 1em;
    -webkit-transition: all 0.1s ease-in-out;
    -moz-transition: all 0.1s ease-in-out;
    -o-transition: all 0.1s ease-in-out;
}
.topics_item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}
/* トピックス - テキスト */
.topics_item_icon, .topics_item_ttl {
    display: inline-block;
    vertical-align: top;
    line-height: 30px;
    font-weight: bold;
}
.topics_item_icon {
    /*width: 6em;*/
    padding: .5em;
    font-size: 1rem;
    color: #fff;
    line-height: 1;
    background: #6d3d7b;
    background: linear-gradient(100deg, #744083, #54325e);
    text-align: center;
    white-space: nowrap;
}
.topics_item_icon.icon_report {
    background: #dc647c;
    background: linear-gradient(100deg, #df6b82, #c93d59);
}
.topics_item_icon.icon_offer {
    background: #c93d59;
}
.topics_item_ttl {
    font-size: 1.4rem;
    line-height: 1.5;
    text-overflow: ellipsis;
    padding: 0px 0px 0px 0.5em;
    box-sizing: border-box;
    overflow: hidden;
    white-space: nowrap;
}
.topics_item:hover {
    background: #eee;
}
.topics_item_txt {
    font-size: 1.2rem;
}
.topics_item.news .topics_item_icon {
    /*flex-basis: 65px;
    max-width: 65px;*/
    background: #6d3d7b;
    background: linear-gradient(100deg, #744083, #54325e);
}
.topics_item.news .topics_item_ttl {
    /*flex-basis: calc(100% - 65px);
    max-width: calc(100% - 65px);*/
}
.topics_item.seminar_event .topics_item_icon {
    /*flex-basis: 120px;
    max-width: 120px;*/
    background: #db9d2b; 
    background: linear-gradient(to right,  #db9d2b 0%,#d88e0d 100%); 
}
.topics_item.seminar_event .topics_item_ttl {
    /*flex-basis: calc(100% - 120px);
    max-width: calc(100% - 120px);*/
}
.topics_item.activity_news .topics_item_icon {
    /*flex-basis: 110px;
    max-width: 110px;*/
    background: #229dad;
    background: linear-gradient(to right, #229dad 0%, #119baa 100%);
}
.topics_item.activity_news .topics_item_ttl {
    /*flex-basis: calc(100% - 110px);
    max-width: calc(100% - 110px);*/
}
.topics_item.report_news .topics_item_icon {
    /*flex-basis: 130px;
    max-width: 130px;*/
    background: #1b5b87;
    background: linear-gradient(to right, #1b5b87 0%, #0f5584 100%);
}
.topics_item.report_news .topics_item_ttl {
    /*flex-basis: calc(100% - 130px);
    max-width: calc(100% - 130px);*/
}
@media screen and (max-width: 639px) {
    .topics_item_icon {
        font-size: 1rem;
    }
    .topics_item_ttl {
        font-size: 1.4rem;
        padding: 0 3% 0 2%;
    }
}
/* banner
--------------------------------------------------------- */
.banner_item {
    display: block;
    width: 100%;
    margin-bottom: 10px;
}
.banner_item img {
    max-width: 100%;
}
.banner_item a:hover {
    opacity: .8;
}
.banner_item a {
    display: block;
    width: 100%;
    height: 100%;
}
.activity-banner .banner_item a {
    background-color: #fcfbf3;
    font-size: 1.2rem;
    padding: 15px 10px 15px 10px;
    font-weight: bold;
    border-top:1px solid #dadad9;
    border-bottom:1px solid #dadad9;
    border-right:1px solid #dadad9;
}
.activity-banner .banner_item.activity_cat01{
        border-left:10px solid #FCAE5A;   
}
.activity-banner .banner_item.activity_cat02{
        /*border-left:10px solid #B1E03B; */
border-left:10px solid #4b8333;
}
.activity-banner .banner_item.activity_cat03{
        border-left:10px solid #375488;    
}
.activity-banner .banner_item.activity_cat04{
        border-left:10px solid #65D0E5;   
}
.activity-banner .banner_item.activity_cat05{
        border-left:10px solid #6ECF5B;    
}
.activity-banner .banner_item.activity_cat06{
        border-left:10px solid #EF6606;   
}
.activity-banner .banner_item.activity_cat07{
        border-left:10px solid #1DD69F;    
}
.activity-banner .banner_item.activity_cat08{
        border-left:10px solid #6C3706;   
}
@media screen and (max-width: 1023px) {
    .banner_list {
        max-width: 520px;
    }
}
@media screen and (max-width: 639px) {
    .banner_list {
        max-width: 100%;
        background: #f7f6f3;
    }
    .banner_item {
        width: 46%;
        margin: 5px 1%;
        display: inline-block;
    }
    .activity-banner .banner_item {
        width: 100%;
        margin: 5px 0%;
        display: block;
    }
    
}
/* footernav
--------------------------------------------------------- */
.footnav {
    margin: 50px auto 40px;
    max-width: 1000px;
    width: 100%;
    position: relative;
}
@media screen and (min-width: 1024px) {
.footnav {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    }
}
@media screen and (max-width: 1023px) {
    .footnav {
        margin: 40px auto 10px;
        width: 90%;
        display: block;
    }
}
@media screen and (max-width: 639px) {
    .footnav {
        margin: auto;
        padding-top: 20px;
    }
}
/* 親list */
.footnav_item {
   display: inline-block;
    vertical-align: top;
    margin-right: 30px; /* 3/10更新 */
}
.footnav_item:last-child {
    margin-right: 0px;
}
.footnav_item ul + ul{
    margin-top: 10px;
}
.footnav_item ul.relation{
    margin-top: 10px;
}

@media screen and (max-width: 1023px) {
    .footnav_item {
        width: 49%;
        margin: 0 auto 30px;
    }
    .footnav_item:last-child {
        margin-right: 0;
    }
}
@media screen and (max-width: 639px) {
    .footnav_item {
        width: 100%;
        margin: 0 0 15px;
    }
}
/* 親list a */
.footnav_item a {
    line-height: 30px;
    display: block;
    position: relative;
    padding-left: 24px;
}
.footnav_item > a {
    font-size: 1.4rem;
    font-weight: bold;
}
.footnav_item > a:before {
    content: "";
    width: 16px;
    height: 16px;
    border-radius: 3px;
    background: #ddd;
    margin-right: 8px;
    display: block;
    position: absolute;
    top: 6px;
    left: 0;
}
/* 3/10更新 */
li.sns-list {
    display: inline-block;
}
li.sns-list img {
    width: 60px;
}
li.sns-list a {
    padding-left: 0;
}
@media screen and (max-width: 639px) {
    .footnav_item > a {
        font-size: 1.6rem;
    }
}
/* 子list */
.footnav_childitem a {
    font-size: 1.3rem;
    /*max-width: 250px;*/
    overflow: hidden;
}
.footnav_childitem a:after {
    content: "\e901";
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 4px;
    font-size: 1rem;
    color: #d5d5d5;
}
.footnav_childitem a:hover {
    opacity: .7;
}
@media screen and (max-width: 639px) {
    .footnav_childitem a {
        font-size: 1.5rem;
        max-width: 100%;
    }
}
/* footer
--------------------------------------------------------- */
.footer {
    background: #553e5c;
    color: #fff;
}
.ft_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    padding: 1em 0;
}
.ft_logo {
    height: 24px;
}
.copylight {
    color: #fff;
    font-size: 1.2rem;
}
@media screen and (max-width: 639px) {
    .ft_inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
}
/* PICKUP
--------------------------------------------------------- */
/* PICKUP - list */
.pickup_list {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.pickup_item {
    width: 31%;
    display: inline-block;
    vertical-align: top;
    background: #fff;
    padding-bottom: 10px;
    margin: 0 0 25px;
    -webkit-transition: all 0.1s ease-in-out;
    -moz-transition: all 0.1s ease-in-out;
    -o-transition: all 0.1s ease-in-out;
    position: relative;
}
.pickup_item:hover {
    opacity: .8;
}
.pickup_item a {
    display: block;
}
@media screen and (max-width: 1023px) {
    .pickup_item {
        padding-bottom: 0;
        margin: 25px 0 8px;
    }
}
@media screen and (max-width: 639px) {
    .pickup_item {
        width: 48%;
        padding-bottom: 8px;
        margin: 10px 0 0;
        background: none;
    }
}
/* PICKUP - 画像 */
.pickup_item_img {
    display: block;
    height: 150px;
    width: 100%;
    background: no-repeat #eee center;
    background-size: cover;
}
@media screen and (max-width: 639px) {
    .pickup_item_img {
        height: 105px;
    }
}
/* PICKUP - テキスト */
.pickup_item_ttl {
    width: 90%;
    margin: auto;
    letter-spacing: 0.5px;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.4;
    padding: 10px 0 5px;
}
.pickup_item_icon {
    width: auto;
    display: inline-block;
    padding: 0 15px;
    font-size: 1rem;
    color: #fff;
    line-height: 20px;
    border-radius: 3px;
    background: #0b3c5d;
    font-family: 'Nova Round', sans-serif;
    letter-spacing: 2px;
    position: absolute;
    top: -6px;
    left: 0;
}
@media screen and (max-width: 1023px) {
    .pickup_item_ttl {
        font-size: 1.4rem;
        padding: 8px 0 5px;
    }
}
@media screen and (max-width: 639px) {
    .pickup_item_ttl {
        font-size: 1.3rem;
        padding: 5px 0;
        width: 100%;
    }
    .pickup_item_icon {
        font-size: 0.8rem;
        line-height: 16px;
        padding: 0 10px;
    }
}
/* foot_banner
--------------------------------------------------------- */
.foot_banner {
    background: #e6e6e6;
    position: relative;
}
.foot_banner_list {
    width: 100%;
    max-width: 1000px;
    margin: auto;
    text-align: center;
}
.foot_banner_list li {
    display: inline-block;
    width: 33.3%;
}
.foot_banner_list li a:hover {
    opacity: .8;
}
@media screen and (max-width: 1023px) {
    .foot_banner_list {
        width: 90%;
    }
}
@media screen and (max-width: 639px) {
    .foot_banner_list {
        margin-top: 2em;
        padding: 2em 0;
    }
    .foot_banner_list li {
        width: 70%;
        display: block;
        margin: auto;
        padding: 0 0 15px;
    }
    .foot_banner {
        margin-top: -10px;
        background: #f7f6f3;
        padding: 0 0 10px;
        z-index: 10;
    }
}
.jichisu {
    position: relative;
}
.jichisu p {
    width: 100%;
    position: absolute;
    text-align: center;
    left: 0;
    bottom: 30px;
    color: #fff;
    font-size: 14rem;
    font-family: serif;
    line-height: 1;
    font-family: 'Junge', serif;
    text-shadow: 10px 7px 0 #1e2533;
    letter-spacing: -1px;
}
@media screen and (max-width: 1023px) {
    .jichisu p {
        bottom: 22px;
        font-size: 10rem;
    }
}
@media screen and (max-width: 639px) {
    .jichisu p {
        bottom: 38px;
        font-size: 14rem;
    }
}
@media screen and (max-width: 500px) {
    .jichisu p {
        bottom: 38px;
        font-size: 10rem;
    }
}
/* タグリスト */
.post_tag {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    z-index: 20;
    position: relative;
    margin-top: .5em;
}
.title + .post_tag {
    margin-top: 0;
}
.post_tag_ttl {
    display: inline-block;
    margin: .5em 0;
    padding: .25em .5em;
    background: #e6e6e6;
    color: #4a4c40;
    font-size: 1.2rem;
    word-break: keep-all;
}
.post_tag_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: 1.2rem;
    font-weight: bold;
}
.post_tag_item {
    margin-left: .5em;
}
.post_tag_link {
    color: #663366;
    text-decoration: underline;
}
.post_tag_link::before {
    content: "#";
}
.post_tag_link:hover {
    text-decoration: none;
}
/* サイドバー
--------------------------------------------------------- */
/* bace */
.sidenav {
    margin-bottom: 15px;
}
@media screen and (max-width: 1023px) and (min-width: 640px) {
    .sidenav, .banner_list {
        display: inline-block;
        vertical-align: top;
        position: relative;
    }
    .sidenav {
        width: 100%;
        background: #fff;
        padding: 30px 40px 40px;
    }
    .banner_list {
        width: 27%;
        padding-left: 3%;
    }
}
@media screen and (max-width: 639px) {
    .sidenav {
        width: 90%;
        margin: 3em auto 1em;
        padding: 0 0 25px;
    }
}
.sidenav_item + .sidenav_item {
    margin-top: 2em;
}
/* nav タイトル */
.sidenav_ttl {
    color: #fff;
    font-size: 1.5rem;
    padding: 8px 22px;
    background: #6d3d7b;
    background: linear-gradient(100deg, #744083, #54325e);
}
@media screen and (max-width: 1023px) {
    .sidenav_ttl {
        font-size: 1.6rem;
        font-weight: bold;
        padding: 6px 15px;
        margin-top: 10px;
    }
}
/* nav サブタイトル */
.sidenav_subttl {
    font-weight: bold;
    font-size: 1.4rem;
    border-top: 1px solid #eee;
    padding-top: 10px;
    padding-bottom: 2px;
    margin-top: 10px;
}
.sidenav_subttl:first-child {
    border-top: none;
    padding-top: 0;
    margin-top: 0;
}
/* nav */
.sidenav_list {
    background: #fff;
    padding: 0;
}
.sidenav_list li a {
    display: block;
    line-height: 1.3;
    padding: 12px 10px 12px 32px;
    font-size: 1.4rem;
    position: relative;
    color: #333;
    font-weight: bold;
    letter-spacing: 0.5;
    border-bottom: 1px solid #eee;
}
.sidenav_list li:last-child a {
    border-bottom: none;
}
.sidenav_list li a:after {
    content: "\e901";
    font-family: 'icomoon' !important;
    speak: none;
    color: #333;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: absolute;
    top: 50%;
    margin-top: -6px;
    left: 15px;
    font-size: 1rem;
    -webkit-transition: all 0.1s ease-in-out;
    -moz-transition: all 0.1s ease-in-out;
    -o-transition: all 0.1s ease-in-out;
    opacity: 0;
}
.sidenav_list li.current-cat a, .sidenav_list li.current a, .sidenav_list li a:hover {
    color: #333;
}
.sidenav_list li.current-cat a:after, .sidenav_list li.current a:after, .sidenav_list li a:hover:after {
    opacity: 1;
}
@media screen and (max-width: 1023px) {
    .sidenav_list li a {
        font-size: 1.5rem;
    }
}
/* tags */
.sidenav_tag_list {
    background: #fff;
    padding: 12px 10px 10px 15px;
}
.sidenav_tag_list li {
    display: inline-block;
}
.sidenav_tag_list li a {
    display: inline-block;
    margin: 0 7px 5px 0;
    color: #333;
    font-size: 1.3rem;
    letter-spacing: 0px;
    line-height: 24px;
    text-decoration: underline;
}
.sidenav_tag_list li a::before {
    content: "#";
}
.sidenav_tag_list li a:hover {
    text-decoration: none;
}
@media screen and (max-width: 1023px) {
    .sidenav_tag_list {
        background: #fff;
        padding: 12px 2px 10px;
    }
    .sidenav_tag_list li a {
        font-weight: bold;
    }
}
/* TOPICS */
@media screen and (max-width: 639px) {
    .topics_frame {
        padding: 20px 5% 25px;
    }
}
/* バナー */
@media screen and (max-width: 639px) {
    .banner_list {
        padding: 25px 5%;
    }
}
/* ジャンルナビゲーション
--------------------------------------------------------- */
.genre_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}
.genre_item {
    width: 32.5%;
    margin: 0 1.25% 1em 0;
}
.genre_item:nth-child(3n) {
    margin-right: 0;
}
.genre_label {
    position: relative;
    padding: .5em 1em;
    background: #0b3c5d;
    color: #fff;
    font-size: 1.2rem;
    font-weight: bold;
}
.main_content.genre_archive .genre_label {
    font-size: 1.3rem;
    text-align: left;
}
.genre_article {
    padding: .5em 0;
    border-bottom: 1px solid #ccc;
}
.genre_archive_link {
    position: absolute;
    top: 0;
    right: 1em;
    bottom: 0;
    height: 1.5em;
    margin: auto;
    padding: .05em .5em;
    border-radius: 4px;
    background: #fff;
    color: #0b3c5d;
    font-weight: bold;
}
.genre_img {
    width: 100%;
    height: auto;
}
.genre_date {
    display: block;
    padding: .5em 0;
    color: #666;
    font-size: 1.2rem;
}
.genre_link {
    color: #000;
}
.genre_link:hover {
    text-decoration: underline;
}
.genre_ttl {
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.5;
}
.genre_ttl::before {
    display: block;
    opacity: .7;
    margin-bottom: .25em;
    font-size: 1.2rem;
    font-weight: normal;
    content: attr(data-subttl);
}
.genre_ttl br {
    display: none;
}
.genre_ttl.is-nopost {
    padding: 1em 0;
}
.genre_txt {
    opacity: .7;
    margin-top: .5em;
    font-size: 1.4rem;
    line-height: 1.3;
}
@media screen and (max-width: 639px) {
    .genre_list {
        padding: 0 3%;
    }
    .genre_item {
        width: 100%;
        margin: 0 0 2em;
    }
}
/* サイト内検索 */
.sidenav_search {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.sidenav_ttl + .sidenav_search {
    margin-top: .5em;
}
.sidenav_search_input {
    width: 68%;
    padding: .5em;
    border: 1px solid #ccc;
    border-radius: 4px;
    color: #333;
    font-size: 1.6rem;
    vertical-align: middle;
}
.sidenav_search_input:focus {
    border-color: #000;
}
.sidenav_search_submit {
    width: 30%;
    padding: .5em 1em;
    border-radius: 4px;
    background: #000;
    color: #fff;
    font-size: 1.3rem;
    font-weight: bold;
}
/* end */