@charset "UTF-8";
[data-script-enabled="true"] body {
    position: relative;
}
.heading-h1 {
    display: none;
}
/* ============================================================================
 * gnavi
 * ========================================================================= */
.navbar-yjpc {
    margin-bottom: 0 !important;
    border: none !important;
}
.navbar-yjpc .navbar-brand {
    display: none;
}
@media (min-width:768px){
    .navbar-yjpc .dropdown-menu{
        min-width:200px;
    }
}

#gnavi {
    background-color: #1f1f1f;
    padding-left: 0;
    padding-right: 0;
}
#gnavi a {
    color: #fff;
}
#gnavi .caret {
    border-top-width: 6px;
    border-left-width: 6px;
    border-right-width: 6px;
}
@media (min-width: 768px) and (max-width: 1115px) {
    #gnavi a {
        font-size: 14px;
    }
}
@media (min-width: 768px) and (max-width: 995px) {
    #gnavi a {
        font-size: 13px;
        /*20230925 padding-left: 10px;*/
        /*20230925 padding-right: 10px;*/
        padding-left: 30px;
        padding-right: 30px;
    }
}
#gnavi .navbar-nav > li > a {
    display: flex;
    align-items: center;
    line-height: 1;
    height: 50px !important;
}
@media screen and (min-width:996px) {
    #gnavi .navbar-nav > li > a {
        /*20230925 padding-left: 18px;*/
        /*20230925 padding-right: 18px;*/
        padding-left: 50px;
        padding-right: 50px;
    }
}
@media (max-width: 767px) {
    #gnavi .navbar-nav > li > a {
        height: 40px !important;
    }
}
#gnavi .dropdown-menu > li > a:before {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg);
    margin-right: 7px;
    position: relative;
    top: -2px;
}
#gnavi .dropdown-menu > li > ul {
    list-style: none;
    padding-left: 20px;
    margin-bottom: 6px;
    margin-left: 1em;
}
#gnavi .dropdown-menu > li > ul > li a {
    display: block;
    padding-top: 6px;
    padding-bottom: 6px;
}

#gnavi .dropdown-menu > li > ul > li a:before {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg);
    margin-right: 7px;
    position: relative;
    top: -2px;
}
#gnavi .navbar-nav .dropdown-toggle[aria-expanded="true"], #gnavi .navbar-nav > li > a:hover, #gnavi .navbar-nav > li > a:focus {
    background-color: #3d3d3d !important;
}
#gnavi .navbar-nav > li > a.active {
    background-color: #555 !important;
}
#gnavi .dropdown-menu {
    margin-top: -1px;
    margin-left: -1px;
    background-color: #3d3d3d;
    /*background-color: #e84466;*/
}
@media (max-width: 767px) {
    #gnavi .dropdown-menu {
        padding-top: 0;
        margin-top: 0;
    }
}
#gnavi .dropdown-menu > li > b {
    display: block;
    padding: 3px 20px;
    color: #fff;
    font-size: 15px;
}
#gnavi .dropdown-menu > li > a {
    padding-top: 6px;
    padding-bottom: 6px;
}
#gnavi .dropdown-menu > li > a:hover, #gnavi .dropdown-menu > li > a:focus, #gnavi .dropdown-menu > li > ul > li > a:hover, #gnavi .dropdown-menu > li > ul > li > a:focus {
    background-color: #555;
    text-decoration: none;
}
#gnavi .dropdown-menu > li > ul > li > a {
    margin-left: -20px;
    padding-left: 20px;
}
@media screen and (max-width: 767px) {
    .navbar-yjpc .navbar-brand {
        display: block;
        color: #fff;
        padding-left: 13px;
    }
    .navbar-yjpc {
        margin-left: -16px;
        margin-right: -16px;
        background-color: #1f1f1f;
    }
    .navbar-yjpc .navbar-toggle {
        margin-right: 8px;
        background-color: #555;
    }
    .yjpc2017 .navbar-default .navbar-toggle {
        /*background: rgba(0, 167, 62, 0.9);*/
    }
    .yjpc2018 .navbar-default .navbar-toggle {
        /*background: rgba(1, 54, 134, 0.9);*/
    }
    .yjpc2019 .navbar-default .navbar-toggle {
        /*background: rgba(227, 147, 0, 0.9);*/
    }
    .yjpc2020 .navbar-default .navbar-toggle {
        /*background: rgba(232, 68, 102, 0.9);*/
    }
    .navbar-default .navbar-toggle .icon-bar {
        background-color: #fff;
    }
}
/* ============================================================================
 * yjpc normalized
 * ========================================================================= */
#yjpc ol, #yjpc ul {
    padding-left: 0;
    list-style: none;
}
#yjpc ol li, #yjpc ul li {
    list-style: none;
}
#yjpc ol ol, #yjpc ol ul, #yjpc ul ol, #yjpc ul ul {
    margin-top: 5px;
}
#yjpc a {
    text-decoration: none;
    color: #3939a6;
}
#yjpc a:hover, #yjpc a:focus, #yjpc a:active {
    text-decoration: underline;
}
#yjpc img {
    max-width: 100%;
    vertical-align: middle;
    height: auto;
}
#yjpc p {
    line-height: 1.9;
    margin-bottom: 23px;
}
#yjpc em {
    font-style: normal;
    font-weight: bold;
}
#yjpc strong {
    color: #af1942;
}
#yjpc.yjpc2017 strong {
    color: #149243;
}
#yjpc.yjpc2018 strong {
    color: #2962b7;
}
#yjpc.yjpc2019 strong {
    color: #e37600;
}
#yjpc.yjpc2020 strong {
    color: #bd1545;
}
#yjpc.yjpc2021 strong ,
#yjpc.yjpc2021 .color {
    color: #118e92;
}
#yjpc.yjpc_new strong ,
#yjpc.yjpc_new .color {
    color: #118e92;
}
/* ============================================================================
 * レイアウト フッター
 * ========================================================================= */
.str_footer {
    margin-top: 45px;
    overflow: hidden;
    border-bottom: 1px solid;
    margin-bottom: 45px;
}
.yjpc2017 .str_footer {
    border-color: #047a30;
}
.yjpc2018 .str_footer {
    border-color: #043175;
}
.yjpc2019 .str_footer {
    border-color: #e4990d;
}
.yjpc2020 .str_footer {
    border-color: #e84466;
}
.yjpc2021 .str_footer {
    border-color: #118e92;
}
.str_idx_top .str_footer {
    margin-top: -53px !important;
}
.str_idx_top .str_footer {
    border: none !important;
}
/* ============================================================================
 * レイアウト サイトレイアウト
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * トップページ
 * ------------------------------------------------------------------------- */
.str_idx_top {
    position: relative;
}
.str_idx_top .container-fluid {}
.str_idx_top .str_header .inner {
    width: 13.28125%;
    float: left;
    background: #000000;
    position: absolute;
    z-index: 1;
    left: 25px;
}
.str_idx_top #kv {
    /* ------------------------------------
       * トップページのメインビジュアル
       * --------------------------------- */
    /*margin-left: 15.23438%;*/
    position: relative;
}
.str_idx_top .str_header {
    /*margin-bottom: -70px;*/
}
.str_idx_top .str_header .yjpc_logo {
    position: absolute;
    z-index: 10;
    width: 90px;
    height: 90px;
    margin-top: 0;
}
.str_idx_top #kv .bland_logo {
    display: block;
    width: 142px;
    height: 45px;
    background-color: #fff;
    padding-top: 9px;
    padding-left: 9px;
}
.str_idx_top #kv .bland_logo img {
    height: 27px;
}
.str_idx_top .str_main {
    position: relative;
    /*margin-top: -147px;*/
}
.str_idx_top .contents {
    background-size: 100% auto;
}
.str_idx_top .mod_hdg_ttl:before {
    display: none !important;
}
.str_idx_top .mod_hdg_ttl {
    display: flex;
    justify-content: center;
    background-color: #009094 !important;
    margin-top: -4px;
    height: 93px;
    position: relative;
    z-index: 10;
}
.str_idx_top .topic_path {
    background: rgba(255, 255, 255, 0.9);
}
.str_idx_top .topic_path ul {
    padding-left: 50px;
}
.unq_news + .img_bg {
    position: absolute;
    right: 20px;
    z-index: 10;
    margin-top: -165px;
}
.str_idx_top .nav_top {}
@media screen and (max-width: 1200px) {
    .str_idx_top .str_header .inner {
        left: 0;
    }
    .str_idx_top .topic_path ul {
        margin-left: 15.23438%;
        padding-left: 10px;
    }
    .str_idx_top .unq_lead .br_sp {
        display: block !important;
    }
    .str_idx_top .mod_hdg_ttl {
        padding-left: 10px;
    }
    .str_idx_top .mod_hdg_ttl span {
        margin-left: 15.23438%;
    }
}
@media screen and (max-width: 1100px) {
    .str_idx_top ~ .img_bg {
        display: none;
    }
}
@media screen and (max-width: 860px) {
    .str_idx_top ~ .img_bg {
        display: none;
    }
    .str_idx_top .mod_hdg_ttl {
        padding-top: 15px;
        padding-bottom: 15px;
    }
    .str_idx_top .str_main {
        margin-top: -112px;
    }
}
@media screen and (max-width: 767px) {
    .str_idx_top #kv {
        margin-top: 0;
        margin-left: -16px;
        margin-right: -16px;
        display: block !important;
    }
    .str_idx_top #kv .img{
        max-width:100% !important;
        min-width:100% !important;
    }
    .movie{
        max-width:100% !important;
        min-width:100% !important;
    }

    .movie iframe {
        height: 300px;
    }

    .str_idx_top .str_header {
        margin-bottom: 0;
    }
    .str_idx_top .str_header .yjpc_logo {
        width: 60px;
        height: 60px;
        margin-top: 0;
        margin-left: -16px;
    }
    .str_idx_top #kv .bland_logo {
        display: none;
    }
    .str_idx_top .str_header .inner {
        max-width: none;
        float: none;
        width: 100%;
        top: 0;
        left: 0;
        position: relative;
    }
    .str_idx_top .mod_hdg_ttl {
        padding: 4px 10px 5px;
        height: auto;
        position: relative;
        z-index: 10;
    }
    .str_idx_top .mod_hdg_ttl span {
        margin-left: 0;
    }
    .str_idx_top .str_main {
        margin-top: -55px;
    }
    .str_idx_top .str_main .contents {
        background: none;
    }
    [data-script-enabled="true"] .str_idx_top .str_header .inner {
        position: absolute;
    }
    [data-script-enabled="true"] .str_idx_top #kv {
        /*margin-top: 71px;*/
    }
}

.schedule_inner {
    /*20231019 メインビジュアル変更時 max-width: 840px; */
    margin: 0 auto;
}

/* ----------------------------------------------------------------------------
 * 2カラムレイアウト
 * ------------------------------------------------------------------------- */
.str_lyt_col2 .str_lyt_wrap {
    display: table;
}
.str_lyt_col2 .str_header {
    width: 13.28125%;
    z-index: 1;
    height: 100%;
    display: table-cell;
    vertical-align: top;
    background: #d2d2d2;
}
.str_lyt_col2 .str_header .inner {
    height: 100%;
    padding-bottom: 0;
}
#yjpc .contents_inner {
    background-size: 100% auto;
    background:none !important;
}
.str_lyt_col2 .str_main .contents_inner {
    padding-top: 25px;
}
.str_lyt_col2 .str_lyt_col {
    width: 86.71875%;
    display: table-cell;
    vertical-align: top;
}
@media screen and (max-width: 767px) {
    .str_lyt_col2 .str_lyt_wrap {
        width: 100%;
        display: block;
    }
    .str_lyt_col2 .str_header {
        display: block;
        width: auto;
        height: auto;
    }
    .str_lyt_col2 .str_header .inner {
        padding-bottom: 0;
        max-width: none;
    }
    .str_lyt_col2 .str_main .contents {
        width: 100%;
        margin: 0;
        padding: 0 10px;
        background-size: 130%;
    }
    .str_lyt_col2 .str_main .contents_inner {
        margin: 0;
        margin-top: 15px;
        padding-top: 10px;
        width: 100%;
    }
    .str_lyt_col2 .str_lyt_col {
        width: 100%;
        display: block;
    }
    .str_lyt_col2 .mod_hdg_ttl span {
        width: 100%;
        margin: 0;
    }
    .str_lyt_col2 .topic_path ul {
        width: 100%;
    }
}
/* ----------------------------------------------------------------------------
 * 2カラムレイアウト for YouTube
 * ------------------------------------------------------------------------- */
#column2 .row {
    max-width: 880px;
    overflow: hidden;
}
#column2 .col2 {
    width: 50%;
    padding: 0.5em;
    float: left;
}
#column2 figure.iphone {
    margin: 15px 0 40px;
    text-align: center;
}
#column2 figure.iphone img {
    border: 1px solid #ccc;
}
#column2 figure.iphone figcaption {
    margin-top: 30px;
    text-align: left;
}
@media screen and (max-width: 640px) {
    #column2 .col2 {
        width: 100%;
    }
}

/* ============================================================================
 * YouTubeへの動画のアップロード方法
 * ========================================================================= */

.tab_wrap input[type="radio"]{
    display:none;
}
.tab_wrap .tab_area{
    display: flex;
    margin:0 10px;
}
.tab_wrap .tab_area label{
    flex: 1;
    margin:-2px 5px;
    display:inline-block;
    border:  #118e92 2px solid;
    padding:12px 0;
    text-align:center;
    cursor:pointer;
    transition:ease 0.2s opacity;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    color: #118e92;
}
.tab_wrap .tab_area label:hover{
    opacity:0.5;
}
.tab_wrap .panel_area{
    border-top: #118e92 2px solid;
}
.tab_wrap .tab_panel{
    width:100%;
    padding-top:10px;
    display:none;
    box-sizing: border-box;
}
.tab_wrap .panel_area .ServerList{
    width: 100%;
}

.tab_wrap #tab1:checked ~ .tab_area .tab1_label,
.tab_wrap #tab2:checked ~ .tab_area .tab2_label,
.tab_wrap #tab3:checked ~ .tab_area .tab3_label{
    background:#118e92;
    color:#fff;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}
.tab_wrap #tab1:checked ~ .panel_area #panel1,
.tab_wrap #tab2:checked ~ .panel_area #panel2,
.tab_wrap #tab3:checked ~ .panel_area #panel3{
    display:block;
}

/* ============================================================================
 * モジュール 見出し
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * ヤマハジュニアピアノコンクール 見出しレベル変更可能
 * ------------------------------------------------------------------------- */
#yjpc.yjpc_new .contents_inner {
    background: none !important;
}
.mod_hdg_ttl {
    background: rgba(166, 0, 45, 0.9);
    font-weight: normal;
    line-height: 1;
    margin: 0;
    padding: 29px 0 29px;
    /*max-width: 1110px;*/
    margin-left: auto;
    margin-right: auto;
}
.yjpc_new .mod_hdg_ttl {
    background: none;
    font-weight: normal;
    line-height: 1;
    margin: 0;
    padding: 0;
    /*max-width: 1110px;*/
    margin-left: auto;
    margin-right: auto;
    font-size: 4rem;
    font-weight: bold;
}
@media screen and (max-width: 767px) {
    .yjpc_new .mod_hdg_ttl {
        font-size: 6vw;
        line-height: 1.3 !important;
    }
}
#yjpc .mod_hdg_ttl:before {
    content: "";
    display: block;
    width: 70px;
    height: 70px;
    background-size: 100% 100%;
    margin-right: 15px;
    min-width: 70px;
}
.mod_hdg_ttl_common span{
    display: block;
    /*20230925 padding: 20px 15px 15px;*/
    /*20231019 メインビジュアル変更時 padding: 40px 15px 20px; */
}
#yjpc .mod_hdg_ttl_common img{
    /*20231019 メインビジュアル変更時 display: block; */
    font-weight: normal;
    line-height: 1;
    margin: 0;
    margin-left: auto;
    margin-right: auto;
    /*20231019 メインビジュアル変更時 max-width: 90%; */
}

.mv_pc {
    display: block;
}

.mv_sp {
    display: none;
}

.compe-flex {
    display: flex;
    justify-content: space-around ;
}

.compe-flex_left {
    width: 90%;
}

.compe-flex_right {
    width: auto;
    text-align: right;
}

.compe-flex_right img {
    max-width: 95% !important;
    padding-left: 30px;
}


@media screen and (max-width: 767px) {
    .mod_hdg_ttl_common span{
        /*20230925padding: 20px 0 0;*/
        /*20231019 メインビジュアル変更時 padding: 35px 0 15px; */
    }
    #yjpc .mod_hdg_ttl_common img{
        /*20231019 メインビジュアル変更時 max-width: 90%; */
        width: auto;
        height: auto;
    }
    .yjpc_new .mod_hdg_ttl {
    }

    
    .mv_pc {
        display: none;
    }

    .mv_sp {
        display: block;
    }

    .compe-flex {
        display: block;
    }
    
    .compe-flex_left {
        width: 100%;
    }
 
    .compe-flex_right {
        margin: 20px auto;
        text-align: center;
    }

    .compe-flex_right img {
        width: 80%;
        max-width: 300px !important;
        padding: 0px;
    }
    
    

}
.yjpc2017 .mod_hdg_ttl {
    background: rgba(0, 167, 62, 0.9);
}
.yjpc2018 .mod_hdg_ttl {
    background: rgba(1, 54, 134, 0.9);
}
.yjpc2019 .mod_hdg_ttl {
    background: rgba(227, 147, 0, 0.9);
}
.yjpc2020 .mod_hdg_ttl {
    background: rgba(232, 68, 102, 0.9);
}
.yjpc2021 .mod_hdg_ttl {
    background: rgba(0, 144, 148, 0.9);
}

.yjpc2022 .mod_hdg_ttl {
    background: rgba(255, 255, 255, 0.9);
    color: #333;
}

.mod_hdg_ttl span {
    display: block;
}
#yjpc .mod_hdg_ttl {
    display: flex;
    align-items: center;
    padding: 15px;
}
#yjpc .mod_hdg_ttl img {
    width: 100%;
    max-width: 716px;
}
@media screen and (max-width: 767px) {
    .mod_hdg_ttl {
        text-align: left;
        padding: 4px 10px 5px;
        margin-left: -16px;
        margin-right: -16px;
    }
}
/* ----------------------------------------------------------------------------
 * 見出しレベル1
 * ------------------------------------------------------------------------- */
.no-header .mod_hdg_lv1{
    margin-top: 50px;
}
#yjpc.no-header .contents_inner{
    background-position: center 0 !important;
}
#yjpc.yjpc_common .contents_inner {
    background-position: center 160px !important;
}
@media screen and (max-width: 767px) {
    #yjpc.yjpc_common .contents_inner {
        background-position: center 20vw !important;
    }
}
@media screen and (max-width: 320px) {
    #yjpc.yjpc_common .contents_inner {
        background-position: center 24vw !important;
    }
}
.mod_hdg_lv1 {
    font-size: 32px;
    font-size: 3.2rem;
    text-align: center;
    color: #8b620a;
    margin-bottom: 50px;
    margin-top: 5px;
}

.mod_hdg_lv1 small{
    display: block;
    text-align: center;
    color: inherit;
    margin-top: 0.25em;
}
@media screen and (max-width: 767px) {
    .mod_hdg_lv1 {
        font-size: 22px;
        font-size: 2.2rem;
        margin-bottom: 20px;
    }
    #yjpc .mod_hdg_ttl:before {
        content: "";
        display: block;
        max-width: 65px;
        height: 65px;
        min-width: 65px;
        background-size: 100% 100%;
        margin-left: -15px;
        margin-top: -15px;
        margin-bottom: -15px;
    }
    #yjpc .mod_hdg_ttl span {
        display: block;
    }
}
/* ----------------------------------------------------------------------------
 * 見出しレベル2
 * ------------------------------------------------------------------------- */
.mod_hdg_lv2 {
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: normal;
    color: #af1942;
    margin-bottom: 15px;
    margin-top: 40px;
    border-bottom: #af1942 2px solid;
}
.page-header h2 {
    color: inherit;
    font-weight: normal;
}
.yjpc2017 .page-header,
 #yjpc .page-header.yjpc2017 {
        color: #149243;
    border-bottom: #149243 2px solid;
}
.yjpc2018 .page-header,
#yjpc .page-header.yjpc2018 {
    color: #2962b7;
    border-bottom: #2962b7 2px solid;
}
.yjpc2019 .page-header,
#yjpc .page-header.yjpc2019  {
    color: #e37600;
    border-bottom: #e37600 2px solid;
}
.yjpc2020 .page-header,
#yjpc .page-header.yjpc2020   {
    color: #bd1545;
    border-bottom: #bd1545 2px solid;
}

.yjpc_new .page-header,
#yjpc .page-header.yjpc_new,
.yjpc2021 .page-header,
#yjpc .page-header.yjpc2021   {
    color: #009094;
    border-bottom: #009094 2px solid;
}
#yjpc .text-black{
    color: #000 !important;
}
.page-header h2 small{
    color: inherit;
}
.mod_hdg_lv2 span {
    position: relative;
    display: inline-block;
    padding-bottom: 6px;
}
.mod_hdg_lv2 .sub {
    font-size: 18px;
    font-size: 1.8rem;
    padding: 0;
}
@media screen and (max-width: 767px) {
    .mod_hdg_lv2 {
        font-size: 20px;
        font-size: 2rem;
    }
    .mod_hdg_lv2 .sub {
        font-size: 15px;
        font-size: 1.5rem;
    }
}
/* ----------------------------------------------------------------------------
 * 見出しレベル3
 * ------------------------------------------------------------------------- */
.mod_hdg_lv3 {
    font-size: 18px;
    font-size: 1.8rem;
    color: #af1942;
    border-bottom: #d9d9d9 1px solid;
    font-weight: normal;
    margin-bottom: 15px;
    padding-bottom: 4px;
}
.page-header-yjpc .mod_hdg_lv3 {
    border-bottom: none;
    padding-bottom: 0;
    line-height: 1;
}
.yjpc2017 .mod_hdg_lv3 {
    color: #149243;
}
.yjpc2018 .mod_hdg_lv3 {
    color: #2962b7;
}
.yjpc2019 .mod_hdg_lv3 {
    color: #e37600;
}
.yjpc2020 .mod_hdg_lv3 {
    color: #bd1545;
}
.yjpc_new .mod_hdg_lv3 ,
.yjpc2021 .mod_hdg_lv3 {
    color: #009094;
}
/* ----------------------------------------------------------------------------
 * 見出しレベル4
 * ------------------------------------------------------------------------- */
.mod_hdg_lv4 {
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 15px;
    padding-left: 10px;
    position: relative;
}
.mod_hdg_lv4:before {
    content: '';
    display: block;
    width: 3px;
    height: 100%;
    background: #af1942;
    position: absolute;
    left: 0;
    top: 0;
    border-top: #ffffff 2px solid;
    border-bottom: #ffffff 2px solid;
}
.yjpc2017 .mod_hdg_lv4:before {
    background: #149243;
}
.yjpc2018 .mod_hdg_lv4:before {
    background: #2962b7;
}
.yjpc2019 .mod_hdg_lv4:before {
    background: #e37600;
}
.yjpc2020 .mod_hdg_lv4:before {
    background: #bd1545;
}
.yjpc2021 .mod_hdg_lv4:before {
    background: #009094;
}
.mod_lead {
    font-size: 18px;
    font-size: 1.8rem;
    text-align: center;
    line-height: 1.6;
}
@media screen and (max-width: 767px) {
    .mod_lead {
        font-size: 16px;
        font-size: 1.6rem;
    }
}
/* ----------------------------------------------------------------------------
 * 見出しブロック
 * ------------------------------------------------------------------------- */
.block-header{
    display: flex;
}
.block-header h2{
    font-size: 2.4rem ;
    border:2px solid #009094;
    padding: 0.5em;
    border-radius:8px;
    color:#009094;
    padding-left: 1em;
    padding-right: 1em;
}
.block-header h3{
    border:2px solid #009094;
    font-size: 15px;
    padding: 0.5em;
    border-radius:8px;
    padding-left: 1em;
    padding-right: 1em;
}
/* ============================================================================
 * モジュール リンク
 * ========================================================================= */
.mod_link_list {
    list-style: none;
    padding-left: 0;
}
#yjpc .mod_link_list {
    display: flex;
    list-style: none !important;
    margin-bottom: 19px;
}
.mod_link_list li {
    margin-bottom: 12px;
}
.mod_link_list li:last-child {
    margin-bottom: 0;
}
[class^="mod_link_list"] li > [class^="mod_link_list"] {
    margin-left: 1.3em;
    margin-bottom: 7px;
}
.mod_link_list + .page-header-yjpc{
    margin-top: 30px;
}
.mod_link_list_02,
.mod_link_list_03 {
    list-style: none;
    padding-left: 0;
}
#yjpc .mod_link_list_02,
#yjpc .mod_link_list_03 {
    list-style: none !important;
    margin-bottom: 19px;
}
.mod_link_list_02 li,
.mod_link_list_03 li {
    margin-bottom: 12px;
}
.mod_link_list_02 li:last-child,
.mod_link_list_03 li:last-child {
    margin-bottom: 0;
}
[class^="mod_link_list"] li > [class^="mod_link_list"] {
    margin-left: 1.3em;
    margin-bottom: 7px;
}
.mod_link_list_02 + .page-header-yjpc,
.mod_link_list_03 + .page-header-yjpc{
    margin-top: 30px;
}
/* ----------------------------------------------------------------------------
 * 汎用リンクリスト
 * ------------------------------------------------------------------------- */
.mod_link_list > li {
    position: relative;
    padding-left: 1.5em;
}
.mod_link_list > li:before {
    content: '';
    width: 12px;
    height: 12px;
    display: inline-block;
    border-radius: 50%;
    background: #3939a6;
    vertical-align: middle;
    position: relative;
    top: -2px;
    left: 0;
    margin-right: 0.5em;
    margin-left: -1.5em;
}
.mod_link_list a:before {
    content: '';
    width: 4px;
    height: 4px;
    display: inline-block;
    border-right: #ffffff 1px solid;
    border-top: #ffffff 1px solid;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    vertical-align: middle;
    position: relative;
    top: -0.15em;
    left: 0;
    margin-right: 0.8em;
    margin-left: -1.15em;
}

.mod_link_list_02 > li,
.mod_link_list_03 > li {
    position: relative;
    padding-left: 1.5em;
    display: block;
}
.mod_link_list_02 > li:before,
.mod_link_list_03 > li:before {
    content: '';
    width: 12px;
    height: 12px;
    display: inline-block;
    border-radius: 50%;
    background: #3939a6;
    vertical-align: middle;
    position: relative;
    top: -2px;
    left: 0;
    margin-right: 0.5em;
    margin-left: -1.5em;
}

.mod_link_list_03 > li:before {
    background: #b11212;
}

.mod_link_list_02 a:before,
.mod_link_list_03 a:before {
    content: '';
    width: 4px;
    height: 4px;
    display: inline-block;
    border-right: #ffffff 1px solid;
    border-top: #ffffff 1px solid;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    vertical-align: middle;
    position: relative;
    top: -0.15em;
    left: 0;
    margin-right: 0.8em;
    margin-left: -1.15em;
}

/* ----------------------------------------------------------------------------
 * ページ内リンク
 * ------------------------------------------------------------------------- */
.mod_link_box {
    width: 31.81818%;
    margin: 0 auto;
    text-align: center;
    margin-bottom: 38px;
}

.mod_link_box:after {
    display: block;
    content: "";
    clear: both;
}
.mod_link_box .box_item {
    margin-left: 2.27273%;
    width: 100%;
    float: left;
    display: table;
    position: relative;
}
.mod_link_box .box_item:first-child {
    margin-left: 0;
}
.mod_link_box a {
    text-align: center;
    display: table-cell;
    vertical-align: middle;
    background: #ffffff;
    border: #af1942 1px solid;
    color: #af1942;
    padding: 12px 24px 13px 12px;
    width: 100%;
    height: 100%;
}
#yjpc.yjpc2017 .mod_link_box a {
    border: #149243 1px solid;
    color: #149243;
}
#yjpc.yjpc2018 .mod_link_box a {
    border: #2962b7 1px solid;
    color: #2962b7;
}
#yjpc.yjpc2019 .mod_link_box a {
    border: #e37600 1px solid;
    color: #e37600;
}
#yjpc.yjpc2020 .mod_link_box a {
    border: #e84466 1px solid;
    color: #bd1545;
}
#yjpc.yjpc_new .mod_link_box a ,
#yjpc.yjpc2021 .mod_link_box a {
    border: rgba(0, 144, 148, 0.9) 1px solid;
    color: #009094;
}
#yjpc .mod_link_box a:hover, #yjpc .mod_link_box a:focus, #yjpc .mod_link_box a:active {
    background: #e84466;
    color: #ffffff;
    text-decoration: none !important;
}
#yjpc.yjpc2017 .mod_link_box a:hover, #yjpc.yjpc2017 .mod_link_box a:focus, #yjpc.yjpc2017 .mod_link_box a:active {
    background: #149243;
    color: #ffffff;
}
#yjpc.yjpc2018 .mod_link_box a:hover, #yjpc.yjpc2018 .mod_link_box a:focus, #yjpc.yjpc2018 .mod_link_box a:active {
    background: #2962b7;
    color: #ffffff;
}
#yjpc.yjpc2019 .mod_link_box a:hover, #yjpc.yjpc2019 .mod_link_box a:focus, #yjpc.yjpc2019 .mod_link_box a:active {
    background: #e37600;
    color: #ffffff;
}
#yjpc.yjpc2020 .mod_link_box a:hover, #yjpc.yjpc2020 .mod_link_box a:focus, #yjpc.yjpc2020 .mod_link_box a:active {
    background: #bd1545;
    color: #ffffff;
}
#yjpc.yjpc_new .mod_link_box a:hover, #yjpc.yjpc_new .mod_link_box a:focus, #yjpc.yjpc_new .mod_link_box a:active ,
#yjpc.yjpc2021 .mod_link_box a:hover, #yjpc.yjpc2021 .mod_link_box a:focus, #yjpc.yjpc2021 .mod_link_box a:active {
    background: #009094;
    color: #ffffff;
}
.mod_link_box a:hover:after, .mod_link_box a:focus:after, .mod_link_box a:active:after {
    border-color: #ffffff;
}
#yjpc.yjpc2017 .mod_link_box a:hover:after, #yjpc.yjpc2017 .mod_link_box a:focus:after, #yjpc.yjpc2017 .mod_link_box a:active:after {
    border-color: #ffffff;
}
#yjpc.yjpc2018 .mod_link_box a:hover:after, #yjpc.yjpc2018 .mod_link_box a:focus:after, #yjpc.yjpc2018 .mod_link_box a:active:after {
    border-color: #ffffff;
}
#yjpc.yjpc2019 .mod_link_box a:hover:after, #yjpc.yjpc2019 .mod_link_box a:focus:after, #yjpc.yjpc2019 .mod_link_box a:active:after {
    border-color: #ffffff;
}
#yjpc.yjpc2020 .mod_link_box a:hover:after, #yjpc.yjpc2020 .mod_link_box a:focus:after, #yjpc.yjpc2020 .mod_link_box a:active:after {
    border-color: #ffffff;
}
#yjpc.yjpc_new .mod_link_box a:hover:after, #yjpc.yjpc_new .mod_link_box a:focus:after, #yjpc.yjpc_new .mod_link_box a:active:after ,
#yjpc.yjpc2021 .mod_link_box a:hover:after, #yjpc.yjpc2021 .mod_link_box a:focus:after, #yjpc.yjpc2021 .mod_link_box a:active:after {
    border-color: #ffffff;
}
.mod_link_box a:after {
    content: "";
    display: block;
    height: 10px;
    width: 10px;
    border-left: #af1942 1px solid;
    border-bottom: #af1942 1px solid;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -9px;
}
#yjpc.yjpc2017 .mod_link_box a:after {
    border-left: #149243 1px solid;
    border-bottom: #149243 1px solid;
}
#yjpc.yjpc2018 .mod_link_box a:after {
    border-left: #2962b7 1px solid;
    border-bottom: #2962b7 1px solid;
}
#yjpc.yjpc2019 .mod_link_box a:after {
    border-left: #e37600 1px solid;
    border-bottom: #e37600 1px solid;
}
#yjpc.yjpc2020 .mod_link_box a:after {
    border-left: #bd1545 1px solid;
    border-bottom: #bd1545 1px solid;
}
#yjpc.yjpc_new .mod_link_box a:after ,
#yjpc.yjpc2021 .mod_link_box a:after {
    border-left: #009094 1px solid;
    border-bottom: #009094 1px solid;
}
.mod_link_box.col3 {
    width: 100%;
}
.mod_link_box.col3 .box_item {
    width: 31.81818%;
}
.mod_link_box.col2 {
    width: 65.90909%;
}
.mod_link_box.col2 .box_item {
    width: 48.27586%;
}
@media screen and (max-width: 767px) {
    .mod_link_box {
        display: block;
        width: 100%;
    }
    .mod_link_box .box_item {
        display: block;
        padding: 0;
        float: none;
        width: 100%;
        margin-left: 0;
    }
    .mod_link_box .box_item a {
        border-top: 0;
        min-width: auto;
        width: 100%;
        display: block;
    }
    .mod_link_box .box_item:first-child {
        border-top: #af1942 1px solid;
    }
    #yjpc.yjpc2017 .mod_link_box .box_item:first-child {
        border-top: #149243 1px solid;
    }
    #yjpc.yjpc2018 .mod_link_box .box_item:first-child {
        border-top: #2962b7 1px solid;
    }
    #yjpc.yjpc2019 .mod_link_box .box_item:first-child {
        border-top: #e37600 1px solid;
    }
    #yjpc.yjpc2020 .mod_link_box .box_item:first-child {
        border-top: #bd1545 1px solid;
    }
    #yjpc.yjpc_new .mod_link_box .box_item:first-child ,
    #yjpc.yjpc2021 .mod_link_box .box_item:first-child {
        border-top: #009094 1px solid;
    }
    .mod_link_box.col3, .mod_link_box.col2 {
        width: 100%;
    }
    .mod_link_box.col3 .box_item, .mod_link_box.col2 .box_item {
        width: 100%;
    }
}
.mod_list_bullet, .mod_list_order {
    margin-bottom: 19px;
}
.mod_list_bullet li, .mod_list_order li {
    margin-bottom: 12px;
}
.mod_list_bullet li:last-child, .mod_list_order li:last-child {
    margin-bottom: 0;
}
[class^="mod_list"] li > [class^="mod_list"] {
    margin-left: 1.3em;
    margin-bottom: 7px;
}
[class^="mod_list"] li > [class^="mod_notice"] {
    margin-bottom: 7px;
}
[class^="mod_list"] li > * {
    margin-bottom: 0;
}
/* ----------------------------------------------------------------------------
 * 汎用リスト
 * ------------------------------------------------------------------------- */
.mod_list_bullet > li {
    position: relative;
    padding-left: 0.6em;
}
.mod_list_bullet > li:before {
    content: '';
    width: 6px;
    height: 6px;
    display: inline-block;
    background: #d27f96;
    vertical-align: middle;
    border-radius: 100%;
    position: relative;
    top: -1px;
    left: 0;
    margin-right: 0.3em;
    margin-left: -0.6em;
}
#yjpc.yjpc2017 .mod_list_bullet > li:before {
    background: #67cc8d;
}
#yjpc.yjpc2018 .mod_list_bullet > li:before {
    background: #6b9ae1;
}
#yjpc.yjpc2019 .mod_list_bullet > li:before {
    background: #eebe66;
}
#yjpc.yjpc2020 .mod_list_bullet > li:before {
    background: #f2a9b7;
}
#yjpc.yjpc_new .mod_list_bullet > li:before ,
#yjpc.yjpc2021 .mod_list_bullet > li:before {
    background: rgba(0, 144, 148, 0.5);
}
/* ----------------------------------------------------------------------------
 * 汎用順序リスト
 * ------------------------------------------------------------------------- */
.mod_list_order {
    margin-left: 5px;
}
.mod_list_order > li {
    padding-left: 1em;
    text-indent: -1.4em;
    list-style-type: decimal;
    list-style-position: inside;
}
.mod_def_list, .mod_award_list {
    margin-bottom: 19px;
}
.mod_def_list dt, .mod_award_list dt {
    font-weight: bold;
    margin-bottom: 3px;
}
.mod_def_list dd, .mod_award_list dd {
    margin-bottom: 16px;
}

.mod_def_list_02 dt{
    font-weight: normal;
    margin-bottom: 0.75em;
    padding-left: 1em;
    text-indent: -1em;
}
.mod_def_list_02 dd{
    padding-left: 1em;
}
/* ----------------------------------------------------------------------------
 * 汎用定義リスト
 * ------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------
 * 受賞者リスト
 * ------------------------------------------------------------------------- */
.mod_award_list {
    width: 100%;
    margin: 60px 0 0 0;
}
.mod_award_list dt {
    clear: both;
    float: left;
    margin: 0 10px 16px 0;
}
.mod_award_list dt:before {
    content: '';
    display: inline-block;
    width: 29px;
    height: 30px;
    margin: -8px 10px 0 0;
    vertical-align: middle;
}
/*
.mod_award_list dt.first:before {
    background: url("/files/yjpc/icon_first.png");
}
.mod_award_list dt.second:before {
    background: url("/files/yjpc/icon_second.png");
}
.mod_award_list dt.third:before {
    background: url("/files/yjpc/icon_third.png");
}
.mod_award_list dt.special:before {
    background: url("/files/yjpc/icon_special.png");
}
*/
.mod_award_list dd {
    float: left;
}
@media screen and (max-width: 1100px) {
    .mod_award_list {
        margin: 20px 0 0 0;
    }
}
@media screen and (max-width: 440px) {
    .mod_award_list dt {
        margin: 0 0 5px 0;
        clear: none;
        float: none;
    }
    .mod_award_list dd {
        float: none;
    }
}
/* ============================================================================
 * モジュール 注釈リスト
 * ========================================================================= */
.mod_notice_list, .mod_notice_list_02 {
    font-size: 13px;
    font-size: 1.3rem;
    margin-bottom: 19px;
}
.mod_notice_list li, .mod_notice_list_02 li {
    margin-bottom: 6px;
}
.mod_notice_list li:last-child, .mod_notice_list_02 li:last-child {
    margin-bottom: 0;
}
[class^="mod"] + [class^="mod_notice"], .tbl_scroll + [class^="mod_notice"] {
    margin-top: -10px;
}
/* ----------------------------------------------------------------------------
 * 汎用注釈リスト
 * ------------------------------------------------------------------------- */
.mod_notice_list li {
    position: relative;
    padding-left: 1.3em;
}
.mod_notice_list .mark {
    text-align: left;
    display: inline-block;
    position: relative;
    top: 0;
    left: 0;
    width: 1.3em;
    margin-left: -1.3em;
}
.mod_notice_list_02 li {
    display: table-row;
}
.mod_notice_list_02 .mark {
    vertical-align: top;
    display: table-cell;
    white-space: nowrap;
    padding-right: 5px;
}
.mod_notice_list_02 .content {
    vertical-align: top;
    display: table-cell;
    width: 100%;
}
/* ============================================================================
 * モジュール ボックス
 * ========================================================================= */
#yjpc .mod_box {
    background: #f2e9d5;
    padding: 6px;
    margin-bottom: 20px;
    position: relative;
    z-index: 0;
}
#yjpc .mod_box > .inner {
    padding: 16px;
    height: 100%;
    position: relative;
    z-index: 2;
}
#yjpc .mod_box > .inner > *:last-child {
    margin-bottom: 0;
}
#yjpc .mod_box .ttl {
    font-size: 20px;
    font-size: 2rem;
    width: 60.24096%;
    text-align: center;
    color: #ffffff;
    padding: 8px 5px 6px;
    background: #ae852a;
    margin: -23px auto 22px;
}
#yjpc .mod_box .ttl > span {
    display: inline-block;
    position: relative;
    padding-left: 40px;
}
#yjpc .mod_box .ttl .mark {
    font-size: 18px;
    font-size: 1.8rem;
    color: #ae852a;
    min-width: 30px;
    height: 30px;
    background: #ffffff;
    display: inline-block;
    line-height: 30px;
    border-radius: 100%;
    margin-top: -15px;
    position: absolute;
    top: 50%;
    left: 0;
    padding: 0;
}
#yjpc .mod_box .lead {
    font-size: 16px;
    font-size: 1.6rem;
    color: #8b620a;
    text-align: center;
    line-height: 1.46;
    margin-bottom: 17px;
}
#yjpc .mod_box .lead em {
    font-weight: normal;
}
#yjpc .mod_box:after {
    content: "";
    display: block;
    height: 0;
    width: 0;
    position: absolute;
    background: #c5b591;
    bottom: 0;
    right: 0;
    border: #ffffff 10px solid;
    border-left-color: #c5b591;
    border-top-color: #c5b591;
    z-index: 3;
}
#yjpc .mod_box:before {
    content: "";
    border: #d8c498 1px solid;
    display: block;
    width: 95%;
    height: 90%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    z-index: 1;
}
/* ----------------------------------------------------------------------------
 * 汎用ボックス
 * ------------------------------------------------------------------------- */
#yjpc .mod_box_02 {
    border: #e8e2d5 1px solid;
    padding: 15px;
    background: #fffcf5;
    margin-bottom: 20px;
}
#yjpc .mod_box_02 *:last-child {
    margin-bottom: 0;
}
/* ----------------------------------------------------------------------------
 * 汎用ボックス
 * ------------------------------------------------------------------------- */
#yjpc .mod_box_03 {
    border:1px solid #eee;
    padding:20px;
    margin-bottom:60px;
    border-radius:10px;
}
#yjpc.yjpc_new .mod_box_03 ,
#yjpc.yjpc2021 .mod_box_03 {
    border-color: #009094;
    color:#009094;
}
#yjpc .mod_box_03 *:last-child {
    margin-bottom: 0;
}
/* ----------------------------------------------------------------------------
 * 注意ボックス
 * ------------------------------------------------------------------------- */
.mod_box_attention {
    position: fixed;
    width: 100%;
    background: #a6002d;
    color: #ffffff;
    padding: 20px;
    text-align: center;
    z-index: 1000;
    font-weight: bold;
}
.mod_box_attention > * {
    margin-bottom: 0;
}
/* ============================================================================
 * モジュール ナビゲーション
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * ページ下部：page top
 * ------------------------------------------------------------------------- */
.nav_top {
    text-align: center;
    margin-bottom: 0;
}
.nav_top a {
    font-size: 12px;
    font-size: 1.2rem;
    color: #ffffff;
    line-height: 1;
    height: 53px;
    width: 106px;
    padding-top: 25px;
    border-radius: 106px 106px 0 0;
    background: #bd1545;
    display: inline-block;
    position: relative;
    top: 6px;
    z-index: 0;
}
.yjpc2017 .nav_top a {
    background: #047a30;
}
.yjpc2018 .nav_top a {
    background: #043175;
}
.yjpc2019 .nav_top a {
    background: #e4990d;
}
.yjpc2020 .nav_top a {
    background: #e84466;
}
.yjpc_new .nav_top a ,
.yjpc2021 .nav_top a {
    background: rgba(0, 144, 148, 0.9);
}
.nav_top a:before {
    content: "";
    display: block;
    text-align: center;
    height: 15px;
    width: 15px;
    border-right: #ffffff 1px solid;
    border-top: #ffffff 1px solid;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    position: absolute;
    top: 10px;
    left: 50%;
    margin-left: -7px;
}
.nav_top a:hover, .nav_top a:focus, .nav_top a:active {
    text-decoration: none;
    background: #bd1545;
    top: 3px;
}
.yjpc2017 .nav_top a:hover, .yjpc2017 .nav_top a:focus, .yjpc2017 .nav_top a:active {
    background: #0e9f44;
}
.yjpc2018 .nav_top a:hover, .yjpc2018 .nav_top a:focus, .yjpc2018 .nav_top a:active {
    background: #186eef;
}
.yjpc2019 .nav_top a:hover, .yjpc2019 .nav_top a:focus, .yjpc2019 .nav_top a:active {
    background: #ebb34c;
}
.yjpc2020 .nav_top a:hover, .yjpc2020 .nav_top a:focus, .yjpc2020 .nav_top a:active {
    background: #ea5675;
}
.yjpc_new .nav_top a:hover, .yjpc_new .nav_top a:focus, .yjpc_new .nav_top a:active ,
.yjpc2021 .nav_top a:hover, .yjpc2021 .nav_top a:focus, .yjpc2021 .nav_top a:active {
    background: rgba(0, 144, 148, 0.9);
}
/* ------------------------------------
 * 汎用：page top
 * --------------------------------- */
.mod_page_top {
    display: flex;
    justify-content: flex-end;
    border-bottom: #d8d8d8 1px solid;
    line-height: 0;
    margin: 30px 0 60px !important;
}
.mod_page_top a {
    font-size: 10px;
    font-size: 1rem;
    text-align: center;
    width: 35px;
    height: 35px;
    display: block;
    border: #d8d8d8 1px solid;
    position: relative;
    overflow: hidden;
    margin-bottom: -1px;
}
.mod_page_top a:before {
    content: '';
    width: 100%;
    height: 100%;
    background: #ffffff;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}
.mod_page_top a:after {
    content: "";
    display: block;
    text-align: center;
    border-right: #bd1545 1px solid;
    border-top: #bd1545 1px solid;
    height: 15px;
    width: 15px;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    position: absolute;
    top: 13px;
    left: 50%;
    margin-left: -7px;
}
.yjpc2017 .mod_page_top a:after {
    border-right: #0e9f44 1px solid;
    border-top: #0e9f44 1px solid;
}
.yjpc2018 .mod_page_top a:after {
    border-right: #186eef 1px solid;
    border-top: #186eef 1px solid;
}
.yjpc2019 .mod_page_top a:after {
    border-right: #ebb34c 1px solid;
    border-top: #ebb34c 1px solid;
}
.yjpc2020 .mod_page_top a:after {
    border-right: #ea5675 1px solid;
    border-top: #ea5675 1px solid;
}
.yjpc_new .mod_page_top a:after ,
.yjpc2021 .mod_page_top a:after {
    border-right: rgba(0, 144, 148, 0.9) 1px solid;
    border-top: rgba(0, 144, 148, 0.9) 1px solid;
}
.mod_page_top a:hover:before, .mod_page_top a:focus:before, .mod_page_top a:active:before {
    background: #bd1545;
}
.yjpc2017 .mod_page_top a:hover:before, .yjpc2017 .mod_page_top a:focus:before, .yjpc2017 .mod_page_top a:active:before {
    background: #0e9f44;
}
.yjpc2018 .mod_page_top a:hover:before, .yjpc2018 .mod_page_top a:focus:before, .yjpc2018 .mod_page_top a:active:before {
    background: #186eef;
}
.yjpc2019 .mod_page_top a:hover:before, .yjpc2019 .mod_page_top a:focus:before, .yjpc2019 .mod_page_top a:active:before {
    background: #ebb34c;
}
.yjpc2020 .mod_page_top a:hover:before, .yjpc2020 .mod_page_top a:focus:before, .yjpc2020 .mod_page_top a:active:before {
    background: #ea5675;
}
.yjpc_new .mod_page_top a:hover:before, .yjpc_new .mod_page_top a:focus:before, .yjpc_new .mod_page_top a:active:before ,
.yjpc2021 .mod_page_top a:hover:before, .yjpc2021 .mod_page_top a:focus:before, .yjpc2021 .mod_page_top a:active:before {
    background: rgba(0, 144, 148, 0.9);
}
.mod_page_top a:hover:after, .mod_page_top a:focus:after, .mod_page_top a:active:after {
    border-color: #ffffff;
}
/* ============================================================================
 * モジュール カラムレイアウト
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * 汎用カラムレイアウト
 * ------------------------------------------------------------------------- */
.mod_grid .row {
    margin-bottom: 33px;
}
.mod_grid .row > .col {
    margin-left: 3.18182%;
    width: 48.40909%;
    float: left;
}
.mod_grid .row > .col:first-child {
    margin-left: 0;
}
.mod_grid .row > .col > *:last-child {
    margin-bottom: 0;
}
.mod_grid .row > .col .mod_box {
    width: 89.52381%;
    height: 100%;
}
.mod_grid .row > .col.col_right > * {
    display: table;
    margin-left: auto;
}
.mod_grid .row > .col.col_left > * {
    display: table;
    margin-right: auto;
}
@media screen and (max-width: 767px) {
    .mod_grid .row > .col {
        float: none;
        width: auto;
        margin: 0 0 25px auto;
    }
    .mod_grid .row > .col .mod_box {
        width: 100%;
    }
    .mod_grid .row > .col.col_right, .mod_grid .row > .col.col_left {
        padding: 0 10px;
    }
    .mod_grid .row > .col:last-child {
        margin-bottom: 0;
    }
}
/* ============================================================================
 * モジュール 画像類
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * 画像レイアウト
 * ------------------------------------------------------------------------- */
.mod_img_lyt {
    margin-bottom: 28px;
    text-align: center;
}
.mod_img_lyt.cols {
    margin-bottom: 0;
}
.mod_img_lyt.cols > .col {
    display: inline-block;
    vertical-align: middle;
    margin-left: 8px;
    margin-bottom: 28px;
}
.mod_img_lyt.cols > .col:first-child {
    margin-left: 0;
}
/* ----------------------------------------------------------------------------
 * カラムレイアウト
 * ------------------------------------------------------------------------- */
.mod_img_lyt_02 {
    font-size: 0;
    margin-bottom: 28px;
    text-align: left;
}
.mod_img_lyt_02 > .col {
    display: inline-block;
    vertical-align: top;
}
.mod_img_lyt_02 > .col > .caption {
    text-align: center;
}
.mod_img_lyt_02.col4 > .col {
    width: 24.3182%;
    margin-left: 0.9091%;
    margin-bottom: 0.9091%;
}
.mod_img_lyt_02.col4 > .col:first-child, .mod_img_lyt_02.col4 > .col:nth-child(4n+1) {
    margin-left: 0;
}


/* 20240912 */
.mod_img_lyt_02.col5 > .col {
    width: 19.09%;
    margin-left: 1.13%;
    margin-bottom: 0.9091%;
}
.mod_img_lyt_02.col5 > .col:first-child {
    margin-left: 0;
}




@media screen and (max-width: 975px) {
    .mod_img_lyt_02.col4 > .col,
    .mod_img_lyt_02.col5 > .col {
        width: 32.5228%;
        margin-left: 1.2158%;
        margin-bottom: 1.2158%;
    }
    .mod_img_lyt_02.col4 > .col:nth-child(4n+1),
    .mod_img_lyt_02.col5 > .col:nth-child(4n+1) {
        margin-left: 1.2158%;
    }
    .mod_img_lyt_02.col4 > .col:first-child, .mod_img_lyt_02.col4 > .col:nth-child(3n+1),
    .mod_img_lyt_02.col5 > .col:first-child, .mod_img_lyt_02.col5 > .col:nth-child(3n+1) {
        margin-left: 0;
    }
}
@media screen and (max-width: 472px) {
    .mod_img_lyt_02.col4 > .col,
    .mod_img_lyt_02.col5 > .col {
        width: 49.0826%;
        margin-left: 1.8349%;
        margin-bottom: 1.8349%;
    }
    .mod_img_lyt_02.col4 > .col:nth-child(3n+1),
    .mod_img_lyt_02.col5 > .col:nth-child(3n+1) {
        margin-left: 1.8349%;
    }
    .mod_img_lyt_02.col4 > .col:first-child, .mod_img_lyt_02.col4 > .col:nth-child(2n+1), .mod_img_lyt_02.col4 > .col:nth-child(4n+1),
    .mod_img_lyt_02.col5 > .col:first-child, .mod_img_lyt_02.col5 > .col:nth-child(2n+1), .mod_img_lyt_02.col5 > .col:nth-child(4n+1) {
        margin-left: 0;
    }
}
/* ----------------------------------------------------------------------------
 * 画像＋テキスト
 * ------------------------------------------------------------------------- */
.lyt_image[data-image-layout^="left"] {
    width: 100%;
    display: table;
    margin: 0 0 27px;
}
.lyt_image[data-image-layout^="left"] > .image {
    display: table-cell;
    padding-right: 30px;
    vertical-align: top;
}
.lyt_image[data-image-layout^="left"] > .col {
    display: table-cell;
    vertical-align: top;
}
@media screen and (max-width: 1200px) {
    .lyt_image[data-image-layout^="left"] {
        display: block;
    }
    .lyt_image[data-image-layout^="left"] > .col {
        display: block;
    }
    .lyt_image[data-image-layout^="left"] > .image {
        display: block;
        padding: 0;
        text-align: center;
    }
}
.lyt_image[data-image-layout^="right"] {
    width: 100%;
    display: table;
    direction: rtl;
    margin: 0 0 27px;
}
.lyt_image[data-image-layout^="right"] > .image {
    display: table-cell;
    direction: ltr;
    padding-left: 30px;
    vertical-align: top;
}
.lyt_image[data-image-layout^="right"] > .col {
    display: table-cell;
    direction: ltr;
    vertical-align: top;
}
@media screen and (max-width: 1200px) {
    .lyt_image[data-image-layout^="right"] {
        display: block;
    }
    .lyt_image[data-image-layout^="right"] > .image {
        display: block;
        padding: 0;
        text-align: center;
    }
    .lyt_image[data-image-layout^="right"] > .col {
        display: block;
    }
}
.caption {
    font-size: 12px;
    font-size: 1.2rem;
    text-align: left;
    margin-top: 5px;
    display: block;
}
@media screen and (max-width: 1200px) {
    .caption {
        text-align: center;
    }
}
/* ----------------------------------------------------------------------------
 * 幅調整
 * ------------------------------------------------------------------------- */
[class^="lyt_image"] .w420 {
    width: 420px !important;
}
[class^="lyt_image"] .w250 {
    width: 250px !important;
}
@media screen and (max-width: 1200px) {
    [class^="lyt_image"] .w420 {
        width: 100% !important;
    }
    [class^="lyt_image"] .w250 {
        width: 100% !important;
    }
}
/* ============================================================================
 * モジュール テーブル
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * 幅調整
 * ------------------------------------------------------------------------- */
[class^="mod_tbl"] .w0 {
    width: 0% !important;
}
[class^="mod_tbl"] .w5 {
    width: 5% !important;
}
[class^="mod_tbl"] .w10 {
    width: 10% !important;
}
[class^="mod_tbl"] .w13 {
    width: 13% !important;
}
[class^="mod_tbl"] .w14_7 {
    width: 14.7% !important;
}
[class^="mod_tbl"] .w15 {
    width: 15% !important;
}
[class^="mod_tbl"] .w16 {
    width: 16% !important;
}
[class^="mod_tbl"] .w18 {
    width: 18% !important;
}
[class^="mod_tbl"] .w20 {
    width: 20% !important;
}
[class^="mod_tbl"] .w25 {
    width: 25% !important;
}
[class^="mod_tbl"] .w29_4 {
    width: 29.4% !important;
    min-width: 95px;
}
[class^="mod_tbl"] .w30 {
    width: 30% !important;
}
[class^="mod_tbl"] .w35 {
    width: 35% !important;
}
[class^="mod_tbl"] .w40 {
    width: 40% !important;
}
[class^="mod_tbl"] .w45 {
    width: 45% !important;
}
[class^="mod_tbl"] .w50 {
    width: 50% !important;
}
[class^="mod_tbl"] .w55 {
    width: 55% !important;
}
[class^="mod_tbl"] .w60 {
    width: 60% !important;
}
[class^="mod_tbl"] .w65 {
    width: 65% !important;
}
[class^="mod_tbl"] .w70 {
    width: 70% !important;
}
[class^="mod_tbl"] .w75 {
    width: 75% !important;
}
[class^="mod_tbl"] .w80 {
    width: 80% !important;
}
[class^="mod_tbl"] .w85 {
    width: 85% !important;
}
[class^="mod_tbl"] .w90 {
    width: 90% !important;
}
[class^="mod_tbl"] .w95 {
    width: 95% !important;
}
[class^="mod_tbl"] .w100 {
    width: 100% !important;
}
[class^="mod_tbl"] .col01 {
    width: 50px !important;
}
[class^="mod_tbl"] .col02 {
    width: 95px !important;
}
[class^="mod_tbl"] .col03 {
    width: 45px !important;
}
[class^="mod_tbl"] .col04 {
    width: 85px !important;
}
[class^="mod_tbl"] .col05 {
    width: 100px !important;
}
[class^="mod_tbl"] .col06 {
    width: 195px !important;
}
[class^="mod_tbl"] .col07 {
    width: 73.75px !important;
}
[class^="mod_tbl"] .col08 {
    width: 147.5px !important;
}
[class^="mod_tbl"] .w33 {
    width: 33% !important;
}
/* ----------------------------------------------------------------------------
 * 汎用テーブル
 * ------------------------------------------------------------------------- */
.mod_tbl {
    width: 100%;
    margin-bottom: 27px;
}
.mod_tbl.w-80 {
    width: 80% !important;
}
.mod_tbl.w-90 {
    width: 90% !important;
}
@media screen and (max-width: 767px) {
    .mod_tbl.w-90 {
        width: 100% !important;
    }
}
.mod_tbl th, .mod_tbl td {
    border: #dfd8c9 1px solid;
    text-align: center;
    padding: 8px 4px 6px;
}
.mod_tbl th *:last-child, .mod_tbl td *:last-child {
    margin-bottom: 0;
}
.mod_tbl tbody th{
    color: #333;
    font-weight: normal;
}
.mod_tbl thead th, .mod_tbl thead td , .mod_tbl tbody th {
    background: #f2e9d5;
}
.mod_tbl thead + tbody th {
    background: #f8f5ee;
    font-feature-settings: "palt";
    font-weight: bold;
}
.mod_tbl thead th p, .mod_tbl thead td p {
    margin-bottom: 0;
    font-feature-settings: "palt";
}
.mod_tbl th, .mod_tbl td .fa-file-pdf-o,.fa-file-pdf-o {
    color: darkred;
}
.mod_tbl .ad_al .indent-01 b{
    font-weight:normal;
}
#yjpc .mod_tbl th p, #yjpc .mod_tbl td p,
#yjpc .mod_tbl th .mod_link_list, #yjpc .mod_tbl td .mod_link_list{
    margin-bottom: 0;
}
#yjpc .mod_tbl td p small{
    display: block;
    line-height: 1.5;
    margin-top: 1em;
}
#yjpc .mod_tbl td p.indent-01 small {
    text-indent: 0;
}
#yjpc.yjpc_new .mod_tbl tbody th,
#yjpc.yjpc2021 .mod_tbl tbody th{
    color: #009094;
}
#yjpc.yjpc_new .mod_tbl thead th,
#yjpc.yjpc_new .mod_tbl thead td,
#yjpc.yjpc_new .mod_tbl tbody th,
#yjpc.yjpc2021 .mod_tbl thead th,
#yjpc.yjpc2021 .mod_tbl thead td,
#yjpc.yjpc2021 .mod_tbl tbody th{
    color: #009094;
}
.mod_tbl th .fa-r, .mod_tbl td .fa-r {
    margin-left: 0.4em;
}
.mod_tbl .fs_s {
    font-size: 12px;
    font-size: 1.2rem;
}
.mod_tbl img {
    width: 100%;
}
.mod_tbl img.img_auto {
    width: auto;
}
.mod_tbl_02 td{
    border: none !important;
    vertical-align: top;
    text-align: left;
    line-height: 1.8;
}
.mod_tbl_02 td + td{
    padding-left: 0.5em;
}
.box_set {
    padding: 8px 4px 6px;
    border-bottom: #dfd8c9 1px solid;
}
.box_set:last-child {
    border: 0;
}
/* ----------------------------------------------------------------------------
 * スクロールありのテーブル
 * ------------------------------------------------------------------------- */
@media screen and (max-width: 767px) {
    .tbl_scroll {
        max-width: 880px;
        position: relative;
        margin: 0 0 27px;
        padding: 0 0 15px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .tbl_scroll > table {
        width: 880px !important;
        position: relative;
        z-index: 0;
        margin: 0;
    }
}
.tbl_scroll02 table th, .tbl_scroll02 table td {
    max-height: 999999px;
}
.tbl_scroll02 table td {
    line-height: 1.9;
}
#yjpc .tbl_scroll02 {
    margin-bottom: 0;
}
#yjpc .tbl_scroll02 table {
    margin-bottom: 14px;
}
#yjpc .tbl_scroll02 table td,
#yjpc .tbl_scroll02 table th{
    white-space: nowrap;
}
@media screen and (max-width: 767px) {
    .tbl_scroll02 {
        max-width: 100%;
        position: relative;
        /*margin: 0 0 27px;*/
        padding: 0 0 15px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .tbl_scroll02 > table {
        width: 100% !important;
        table-layout: fixed;
        position: relative;
        z-index: 0;
        margin: 0;
        white-space: nowrap;
        word-break: break-word;
        font-size: 1.4rem !important;
    }
}
/* ----------------------------------------------------------------------------
 * 幅固定
 * ------------------------------------------------------------------------- */
.auto {
    width: auto !important;
}
/* ----------------------------------------------------------------------------
 * pdfアイコン
 * ------------------------------------------------------------------------- */
.mod_icon_pdf {
    vertical-align: middle;
    display: inline-block;
    margin: 0 8px 0.3em;
    width: auto !important;
}
/* ----------------------------------------------------------------------------
 * NEWマーク
 * ------------------------------------------------------------------------- */
.mod_icon_new {
    display: none;
    /*color: #ffe200;
    margin-left: 5px;
    font-size: 10px;*/
}
/* ----------------------------------------------------------------------------
 * ボタン
 * ------------------------------------------------------------------------- */
#yjpc .btn_common a {
    display: inline-block;
    max-width: 600px;
    padding: 12px 24px;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    border-radius: 5px;
}
#yjpc .btn_common span {
    display: inline-block;
    max-width: 600px;
    padding: 12px 24px;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    background: #cccccc;
    border-radius: 5px;
}
#yjpc.yjpc2020 .btn_common a {
    background: #e84466;
}
#yjpc.yjpc2020 .btn_common a:hover, #yjpc.yjpc2020 .btn_common a:focus, #yjpc.yjpc2020 .btn_common a:active {
    text-decoration: none;
    background: #bd1545;
}
#yjpc.yjpc_new .btn_common a ,
#yjpc.yjpc2021 .btn_common a {
    background: rgba(0, 144, 148, 0.9);
}
#yjpc.yjpc_new .btn_common a:hover, #yjpc.yjpc_new .btn_common a:focus, #yjpc.yjpc_new .btn_common a:active ,
#yjpc.yjpc2021 .btn_common a:hover, #yjpc.yjpc2021 .btn_common a:focus, #yjpc.yjpc2021 .btn_common a:active {
    text-decoration: none;
    background: #009094;
}
@media screen and (max-width: 767px) {
    #yjpc .btn_common a,
    #yjpc .btn_common span{
        max-width: 80%;
    }
}
#yjpc .btn_common a.junior{
    background-color: #e8478a;
}
#yjpc .btn_common a.junior:hover {
    background-color: #e8478a;
    opacity: 0.8;
}
#yjpc .btn_common a.youth{
    background-color: #1e2381;
}
#yjpc .btn_common a.youth:hover {
    background-color: #1e2381;
    opacity: 0.8;
}
/* ============================================================================
 * モジュール javascript
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * トグル
 * ------------------------------------------------------------------------- */
.js_toggle .js_toggle_ui {
    display: none;
}
[data-script-enabled="true"] .js_toggle .js_toggle_ui {
    display: block;
}
/* ----------------------------------------------------------------------------
 * トップページのメインビジュアル
 * ------------------------------------------------------------------------- */
.str_idx_top #kv {
    z-index: 0;
    display: flex;
    align-items: flex-start;
}
.str_idx_top #kv .img {
    position: relative;
    z-index: 0;
    max-width:50%;
    min-width:50%;
    overflow:hidden;
}
.str_idx_top #kv .embed-responsive-16by9 img{
    position:absolute;
    width: 100%;
    max-width:none;
    height: auto;
    top:0;
    left:0;
}

/* 20230925*/
.movie {
    margin: 0 auto;
    width: 100%;
    /*20231019 メインビジュアル変更時    max-width: 840px; */
    aspect-ratio: 16 / 9;
}
.movie iframe {
    width: 100%;
    height: 100%;
}

/* 20230925
.str_idx_top #kv .movie {
    text-align: center;
    position: relative;
    z-index: 0;
    max-width:50%;
    min-width:50%;
}
*/

.str_idx_top #kv .embed-responsive-16by9{
    position:relative;
}
.str_idx_top #kv .embed-responsive-16by9 iframe{
    position:absolute;
    width: 100%;
    height: 100%;
    top:0;
    left:0;
}
.str_idx_top #kv .bland_logo {
    position: absolute;
    top: 10px;
    right: 10px;
    background: #ffffff;
    z-index: 1;
    left: auto;
    margin: 0;
}
[data-script-enabled="true"] .str_idx_top #kv .piano, [data-script-enabled="true"] .str_idx_top #kv .bg {
    /*opacity: 0;*/
}
[data-script-enabled="true"] .str_idx_top #kv .txt {
    /*display: none;*/
}
@media screen and (max-width: 767px) {
    .str_idx_top #kv .img .txt {
        width: 70%;
        margin-top: 30px;
    }
    .str_idx_top #kv .img .piano {
        margin-top: 0;
    }
}
/* ----------------------------------------------------------------------------
 * 特定の要素を上部に固定する
 * ------------------------------------------------------------------------- */
#js_fix .js_fix_item {
    padding: 10px;
}
#js_fix.fixed .js_fix_item {
    background: #fff;
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.2);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    border-bottom: #a6002d 1px solid;
}
/* ----------------------------------------------------------------------------
 * モーダル
 * ------------------------------------------------------------------------- */
[data-script-enabled="true"] .js_img_modal_wrap {
    position: absolute;
    background: rgba(0, 0, 0, 0.7);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 10000;
    display: none;
}
[data-script-enabled="true"] .js_img_modal_wrap .js_modal_content {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    text-align: center;
    width: 100%;
}
[data-script-enabled="true"] .js_img_modal_wrap .js_modal_inner {
    background: #ffffff;
    padding: 10px;
}
[data-script-enabled="true"] .js_img_modal_wrap .js_modal_close_btn {
    text-align: right;
}
/* ============================================================================
 * モジュール ユニーク
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * top page リード文
 * ------------------------------------------------------------------------- */
.unq_lead {
    font-size: 20px;
    font-size: 2rem;
    color: #8b620a;
    text-align: center;
    padding-top: 55px;
    letter-spacing: 4px;
}
.unq_lead span {
    display: block;
    margin-bottom: 18px;
}
.unq_lead span:before, .unq_lead span:after {
    content: "";
    width: 150px;
    height: 1px;
    background: #8b620a;
    display: inline-block;
    vertical-align: middle;
}
.unq_lead span:before {
    margin-right: 20px;
}
.unq_lead span:after {
    margin-left: 20px;
}
@media screen and (max-width: 767px) {
    .unq_lead {
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 1.65;
        padding-top: 22px;
        padding-left: 10px;
        padding-right: 10px;
        letter-spacing: 0;
    }
    .unq_lead span {
        display: block;
        margin-bottom: 15px;
    }
    .unq_lead span:before, .unq_lead span:after {
        width: 70px;
    }
    .unq_lead img {
        width: 120px;
    }
}
/* ----------------------------------------------------------------------------
 * トップページ 動画
 * ------------------------------------------------------------------------- */
.str_idx_top .unq_movie {
    width: 640px;
    text-align: center;
    color: #e39300;
    margin: 0 auto;
    padding-top: 20px;
}
.str_idx_top .unq_movie .wrap {
    width: 100%;
    height: 0;
    position: relative;
    overflow: hidden;
    margin-top: 20px;
    padding-top: 360px;
}
.str_idx_top .unq_movie .wrap iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
@media screen and (max-width: 1200px) {
    .str_idx_top .unq_movie {
        width: 83.25%;
        margin-left: auto;
        margin-right: auto;
    }
    .str_idx_top .unq_movie .wrap {
        padding-top: 56.25%;
    }
}
@media screen and (max-width: 767px) {
    .str_idx_top .unq_movie {
        width: 100%;
        margin: 0;
        padding: 0 10px 0;
    }
    .str_idx_top .unq_movie .ttl {
        font-size: 1.4rem;
    }
    .str_idx_top .unq_movie .wrap {
        padding-top: 56.25%;
        margin-top: 0;
    }
}
/* ----------------------------------------------------------------------------
 * トップページ ニュース
 * ------------------------------------------------------------------------- */
.unq_news {
    margin-top: 45px;
    margin-bottom: 45px;
    position: relative;
    overflow: hidden;
    border: #009094 1px solid;
    /*20231019 メインビジュアル変更時    max-width: 840px; */
    margin-left: auto;
    margin-right: auto;
    padding: 30px;
}
.unq_news:after {
    display: none;
    content: '';
    position: absolute;
    width: 130%;
    height: 3000px;
    background: #fff1d0;
    top: 50px;
    left: -15%;
    border-radius: 100vw;
    z-index: -1;
}
.unq_news .ttl {
    color: #444444;
    margin: 0 0 29px;
    border-bottom: #ddd 1px solid;
}
.unq_news .ttl .sub {
    display: block;
    font-size: 20px !important;
    font-size: 1.4rem;
    padding: 0 0 16px;
}
.unq_news .list {
    padding: 0;
}
.unq_news_list_wrap{
    margin: 0 auto;
}
.unq_news .list a{
    text-decoration:underline;
    color:#3939a6;
    padding: 0;
}
.unq_news_list_more{
    display: none;
    justify-content: flex-end;
    margin-bottom: -30px;
    margin-right: -30px;
}
.unq_news_list_more.active{
    display: flex;
}
.unq_news_list_more button{
    background: #009094;
    border: none;
    text-decoration: underline;
    padding: 15px;
    color:#fff;
    text-decoration: none;
}
.unq_news_list_more.open button .fa{
    transform:rotate(180deg);
}
.unq_news .list li {
    display: table;
    margin-bottom: 10px;
}
.unq_news .list .date {
    color: #009094;
    font-weight: bold;
    display: table-cell;
    min-width: 105px;
}
.yjpc2017 .unq_news .list .date {
    color: #149243;
}
.yjpc2018 .unq_news .list .date {
    color: #2962b7;
}
.yjpc2019 .unq_news .list .date {
    color: #e37600;
}
.yjpc2020 .unq_news .list .date {
    color: #bd1545;
}
.yjpc_new .unq_news .list .date ,
.yjpc2021 .unq_news .list .date {
    color: #009094;
}
.unq_news .list .topic {
    display: table-cell;
}
.unq_news a {
    color: #444444;
}
@media screen and (max-width: 1200px) {
    .unq_news:after {
        width: 200%;
        height: 2000px;
        top: 50px;
        left: -50%;
    }
}
@media screen and (max-width: 767px) {
    .unq_news {
        margin-top: 23px;
        padding-left: 16px;
        padding-right: 15px;
    }
    .unq_news:after {
        width: 640px;
        left: 50%;
        margin-left: -320px;
        top: 0;
        height: 100%;
        border-radius: 100% 100% 0 0;
    }
    .unq_news_list_more{
        margin-right: -16px;
        margin-bottom: -30px !important;
    }
    .unq_news .ttl {
        margin-bottom: 20px;
    }
    .unq_news .list {

    }
    .unq_news_list_wrap{
        display: block;
    }
    .unq_news .list .date, .unq_news .list .topic {
        display: block;
    }
}
/* ============================================================================
 * モジュール 調整
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * 横スクロールバー
 * ------------------------------------------------------------------------- */
@media screen and (max-width: 767px) {
    .ad_scroll_wrap {
        max-width: 880px;
        position: relative;
        margin: 0 0 27px;
        padding: 0 0 15px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .ad_scroll_wrap .ad_scroll_content {
        width: 880px !important;
        position: relative;
        z-index: 0;
        margin: 0;
    }
    .ad_scroll_wrap .ad_scroll_content > *:last-child {
        margin-bottom: 0;
    }
}
/* ----------------------------------------------------------------------------
 * 改行
 * ------------------------------------------------------------------------- */
.ad_br_sp {
    display: none !important;
}
.ad_br_pc {
    display: block !important;
}
@media screen and (max-width: 767px) {
    .ad_br_sp {
        display: block !important;
    }
    .ad_br_pc {
        display: none !important;
    }
}
/* ----------------------------------------------------------------------------
 * 左右中央寄せ
 * ------------------------------------------------------------------------- */
.ad_ac {
    text-align: center !important;
}
.ad_al {
    text-align: left !important;
}
.ad_ar {
    text-align: right !important;
}
/* ----------------------------------------------------------------------------
 * 余白
 * ------------------------------------------------------------------------- */
.ad_mt0 {
    margin-top: 0px !important;
}
.ad_mr0 {
    margin-right: 0px !important;
}
.ad_mb0 {
    margin-bottom: 0px !important;
}
.ad_ml0 {
    margin-left: 0px !important;
}
.ad_mt5 {
    margin-top: 5px !important;
}
.ad_mr5 {
    margin-right: 5px !important;
}
.ad_mb5 {
    margin-bottom: 5px !important;
}
.ad_ml5 {
    margin-left: 5px !important;
}
.ad_mt10 {
    margin-top: 10px !important;
}
.ad_mr10 {
    margin-right: 10px !important;
}
.ad_mb10 {
    margin-bottom: 10px !important;
}
.ad_ml10 {
    margin-left: 10px !important;
}
.ad_mt15 {
    margin-top: 15px !important;
}
.ad_mr15 {
    margin-right: 15px !important;
}
.ad_mb15 {
    margin-bottom: 15px !important;
}
.ad_ml15 {
    margin-left: 15px !important;
}
.ad_mt20 {
    margin-top: 20px !important;
}
.ad_mr20 {
    margin-right: 20px !important;
}
.ad_mb20 {
    margin-bottom: 20px !important;
}
.ad_ml20 {
    margin-left: 20px !important;
}
.ad_mt25 {
    margin-top: 25px !important;
}
.ad_mr25 {
    margin-right: 25px !important;
}
.ad_mb25 {
    margin-bottom: 25px !important;
}
.ad_ml25 {
    margin-left: 25px !important;
}
.ad_mt30 {
    margin-top: 30px !important;
}
.ad_mr30 {
    margin-right: 30px !important;
}
.ad_mb30 {
    margin-bottom: 30px !important;
}
.ad_ml30 {
    margin-left: 30px !important;
}
.ad_mt35 {
    margin-top: 35px !important;
}
.ad_mr35 {
    margin-right: 35px !important;
}
.ad_mb35 {
    margin-bottom: 35px !important;
}
.ad_ml35 {
    margin-left: 35px !important;
}
.ad_mt40 {
    margin-top: 40px !important;
}
.ad_mr40 {
    margin-right: 40px !important;
}
.ad_mb40 {
    margin-bottom: 40px !important;
}
.ad_ml40 {
    margin-left: 40px !important;
}
.ad_mt45 {
    margin-top: 45px !important;
}
.ad_mr45 {
    margin-right: 45px !important;
}
.ad_mb45 {
    margin-bottom: 45px !important;
}
.ad_ml45 {
    margin-left: 45px !important;
}
.ad_mt50 {
    margin-top: 50px !important;
}
.ad_mr50 {
    margin-right: 50px !important;
}
.ad_mb50 {
    margin-bottom: 50px !important;
}
.ad_ml50 {
    margin-left: 50px !important;
}
.ad_mt55 {
    margin-top: 55px !important;
}
.ad_mr55 {
    margin-right: 55px !important;
}
.ad_mb55 {
    margin-bottom: 55px !important;
}
.ad_ml55 {
    margin-left: 55px !important;
}
.ad_mt60 {
    margin-top: 60px !important;
}
.ad_mr60 {
    margin-right: 60px !important;
}
.ad_mb60 {
    margin-bottom: 60px !important;
}
.ad_ml60 {
    margin-left: 60px !important;
}
.ad_mt65 {
    margin-top: 65px !important;
}
.ad_mr65 {
    margin-right: 65px !important;
}
.ad_mb65 {
    margin-bottom: 65px !important;
}
.ad_ml65 {
    margin-left: 65px !important;
}
.ad_mt70 {
    margin-top: 70px !important;
}
.ad_mr70 {
    margin-right: 70px !important;
}
.ad_mb70 {
    margin-bottom: 70px !important;
}
.ad_ml70 {
    margin-left: 70px !important;
}
.ad_mt75 {
    margin-top: 75px !important;
}
.ad_mr75 {
    margin-right: 75px !important;
}
.ad_mb75 {
    margin-bottom: 75px !important;
}
.ad_ml75 {
    margin-left: 75px !important;
}
.ad_mt80 {
    margin-top: 80px !important;
}
.ad_mr80 {
    margin-right: 80px !important;
}
.ad_mb80 {
    margin-bottom: 80px !important;
}
.ad_ml80 {
    margin-left: 80px !important;
}
.ad_mt85 {
    margin-top: 85px !important;
}
.ad_mr85 {
    margin-right: 85px !important;
}
.ad_mb85 {
    margin-bottom: 85px !important;
}
.ad_ml85 {
    margin-left: 85px !important;
}
.ad_mt90 {
    margin-top: 90px !important;
}
.ad_mr90 {
    margin-right: 90px !important;
}
.ad_mb90 {
    margin-bottom: 90px !important;
}
.ad_ml90 {
    margin-left: 90px !important;
}
.ad_mt95 {
    margin-top: 95px !important;
}
.ad_mr95 {
    margin-right: 95px !important;
}
.ad_mb95 {
    margin-bottom: 95px !important;
}
.ad_ml95 {
    margin-left: 95px !important;
}
.ad_mt100 {
    margin-top: 100px !important;
}
.ad_mr100 {
    margin-right: 100px !important;
}
.ad_mb100 {
    margin-bottom: 100px !important;
}
.ad_ml100 {
    margin-left: 100px !important;
}
.ad_p0 {
    padding: 0 !important;
}
/* ----------------------------------------------------------------------------
 * フォントサイズ
 * ------------------------------------------------------------------------- */
.ad_fc11 {
    font-size: 1.1rem !important;
}
.ad_fc12 {
    font-size: 1.2rem !important;
}
.ad_fc13 {
    font-size: 1.3rem !important;
}
.ad_fc14 {
    font-size: 1.4rem !important;
}
/* ----------------------------------------------------------------------------
 * フォントの太さ
 * ------------------------------------------------------------------------- */
.fw_normal {
    font-weight: normal !important;
}
.fw_bold {
    font-weight: bold !important;
}
.mt50 {
    margin-top: 50px;
    margin-bottom: 0;
}
.fl {
    float: left;
}
.fr {
    float: right;
}
.clearfix {
    clear: both;
}
@media screen and (max-width: 1277px) {
    .mt50 {
        margin-bottom: 20px;
    }
    .fr {
        float: none;
        text-align: center;
    }
}


.mod_hdg_info{
    color: #000;
    margin-bottom: 1em;
}
.mod_hdg_info small{
    display: block;
    color: #000;
    font-weight: bold;
    margin-bottom: 0.5em;
}

.btn-wrap-center{
    display: flex;
    justify-content: center;
}
.btn-back{
    position: relative;
    display: flex;
    justify-content: center;
    color: #fff !important;
    border-radius: 4px;
    padding:0.75em 1em;
    align-items: center;
}
.btn-back:hover,
.btn-back:focus{
    opacity: 0.8;
    text-decoration: none !important;
}
.btn-back:before{
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-left:1px solid #fff ;
    border-top:1px solid #fff ;
    transform: rotate(-45deg);
    margin-right: 0.4em;
}
.yjpc2021 .btn-back,
.yjpc_new .btn-back{
    background-color: #009094;
}
.jc-center{
    display: flex;
    justify-content: center;
}
.step-text{
    display: flex;
    justify-content: center;
    flex-direction: column;
    margin: 0 0 40px;
    height: 100%;
}
.table-row{
    display: table-row;
}
.indent-01{
    padding-left: 1em;
    text-indent: -1em;
}
.pl-01{
    padding-left: 1em;
}
.mb-00{
    margin-bottom: 0 !important;
}
.mb-01{
    margin-bottom: 1em !important;
}
.mb-02{
    margin-bottom: 2em !important;
}
.mb-03{
    margin-bottom: 3em !important;
}
.ml-01{
    margin-left: 1em;
}
.ml-02{
    margin-left: 2.4em;
}
.indent-01 .fa{
    padding-left: 0;
    text-indent: 0;
}
.mod_attention{
    color: darkred;
    text-decoration: underline;
}
.mod_attention_02{
    color: darkred;
}
.mod_text_red{
    color: #dd2200;
}
.yjpc_new .mod_attention
.yjpc2021 .mod_attention{
    color: #009094;
}

.visible-880 {
    display: block!important;
}

@media screen and (max-width: 880px) {
    .visible-880 {
        display: none!important;
    }
}