body {
    margin: 0;
    padding: 0;
    font-size: 100%;
    line-height: 130%;
    font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
    color: #3e3e3e;
    letter-spacing: 1px;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    width: 100%;
    min-width: 1200px;
    background-color: #fff;
    display: flex;
    flex-direction: column;
}
/*--------------------form_radio----------------*/

input[type="text"]:focus {
    outline: 0;
}

input[type=radio],
input[type=checkbox] {
    display: none;
}


/*--------------------/form----------------*/


/*----------------scrollbar------------*/

.pulldown_dummy_btn {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    opacity: 0;
}


/*----------------/scrollbar------------*/


/*----------------icons--------------*/

.th_detail_type {
    display: inline;
    margin: 0;
    padding: 0;
    font-size: 11px;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
}

.type_no {
    margin: 0 auto;
    padding: 4px 9px;
    color: #fff;
    font-weight: bold;
}

.th_detail_type_l {
    display: inline;
    margin: 0;
    padding: 0;
    font-size: 13px;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
}

.type_shimei {
    margin: 0 auto;
    padding: 4px 9px;
    color: #fff;
    font-weight: bold;
    background-color: #f4c548;
}

.type_ninni {
    margin: 0 auto;
    padding: 4px 9px;
    color: #fff;
    font-weight: bold;
    background-color: #4a81bf;
}

.type_hisuu {
    margin: 0 auto;
    padding: 4px 9px;
    color: #fff;
    font-weight: bold;
    background-color: #7bb154;
}

.th_detail_course {
    display: inline;
    margin: 0;
    padding: 2px 4px;
    font-size: 10px;
    color: #3e3e3e;
    border: 1px solid #3e3e3e;
}

.step_table_t .th_detail_course {
    display: inline-block;
}

.status_approval {
    display: inline;
    margin: 0;
    padding: 0;
    font-size: 12px;
    line-height: 22px;
    color: #fff;
    font-weight: bold;
    text-align: center;
    border-radius: 15px;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    background-color: rgba(0, 0, 0, 0.3);
}

.status_detail_approval {
    display: inline;
    margin: 0;
    padding: 0;
    font-size: 14px;
    line-height: 36px;
    color: #fff;
    font-weight: bold;
    text-align: center;
    border-radius: 25px;
    -webkit-border-radius: 25px;
    -moz-border-radius: 25px;
    background-color: rgba(0, 0, 0, 0.3);
}

.th_sub_course_status {
    display: inline;
    margin: 0;
    padding: 4px 6px;
    font-size: 11px;
    color: #fff;
    font-weight: bold;
    text-align: center;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    background-color: #e94c3f;
}

.type_ninnijyukou {
    margin: 0 auto;
    padding: 5px 10px;
    color: #fff;
    font-weight: bold;
    background-color: #4a81bf;
}

.type_no_select {
    margin: 0 auto;
    padding: 5px 10px;
    color: #fff;
    font-weight: bold;
    background-color: #3f51b5;
}

.type_shimeijyukou {
    margin: 0 auto;
    padding: 5px 10px;
    color: #fff;
    font-weight: bold;
    background-color: #f4c548;
}

.type_hisuujyukou {
    margin: 0 auto;
    padding: 5px 10px;
    color: #fff;
    font-weight: bold;
    background-color: #7bb154;
}

.th_detail_blend_l {
    display: inline;
    margin: 0;
    padding: 3px 10px;
    font-size: 13px;
    letter-spacing: 0;
    color: #3e3e3e;
    border: 1px solid #3e3e3e;
}


/*----------------/icons--------------*/


/* ----------------catego_icons---------------*/

.c0_0,
.c1_0,
.c2_0,
.c3_0 {
    margin: 0;
    padding: 0;
    width: 25px;
    min-height: 20px;
    background-image: url(../imgs/common/categ_icon0.png);
    background-repeat: no-repeat;
    background-position: -40px 0;
}

.c0 {
    margin: 0;
    padding: 0;
    width: 25px;
    min-height: 20px;
}

.c0_1,
.c1_1,
.c2_1,
.c3_1,
.c0_5,
.c1_5,
.c2_5,
.c3_5,
.c0_9,
.c1_9,
.c2_9,
.c3_9 {
    margin: 0;
    padding: 0;
    width: 25px;
    min-height: 20px;
    background-image: url(../imgs/common/categ_icon1.png);
    background-repeat: no-repeat;
    background-position: -40px 0;
}

.c0_2,
.c1_2,
.c2_2,
.c3_2,
.c0_6,
.c1_6,
.c2_6,
.c3_6,
.c0_10,
.c1_10,
.c2_10,
.c3_10 {
    margin: 0;
    padding: 0;
    width: 25px;
    min-height: 20px;
    background-image: url(../imgs/common/categ_icon2.png);
    background-repeat: no-repeat;
    background-position: -40px 0;
}

.c0_3,
.c1_3,
.c2_3,
.c3_3,
.c0_7,
.c1_7,
.c2_7,
.c3_7,
.c0_11,
.c1_11,
.c2_11,
.c3_11 {
    margin: 0;
    padding: 0;
    width: 25px;
    min-height: 20px;
    background-image: url(../imgs/common/categ_icon3.png);
    background-repeat: no-repeat;
    background-position: -40px 0;
}

.c0_4,
.c1_4,
.c2_4,
.c3_4,
.c0_8,
.c1_8,
.c2_8,
.c3_8 {
    margin: 0;
    padding: 0;
    width: 25px;
    min-height: 20px;
    background-image: url(../imgs/common/categ_icon4.png);
    background-repeat: no-repeat;
    background-position: -40px 0;
}


/* ----------------/catego_icons---------------*/


/* -------------- link -------------- */

a:link {
    text-decoration: none;
    color: #3e3e3e;
}

a:visited {
    text-decoration: none;
    color: #3e3e3e;
}

a:active {
    text-decoration: none;
    color: #3e3e3e;
}

a:hover {
    text-decoration: none;
    color: #3e3e3e;
    opacity: 0.8;
    transition: 0.3s;
    filter: alpha(opacity=80);
    -ms-filter: "alpha(opacity=80)";
}

.red_txt {
    color: #f25c33;
}


/* ---------------breadcrumbs------------- */

.breadcrumbs {
    margin: 10px auto;
    padding: 0;
    width: 1200px;
    height: 25px;
    text-align: left;
    font-size: 11px;
}


/* -------------- box-shadow -------------- */

.box_sh {
    -moz-box-shadow: 0 0 8px rgba(0, 0, 0, 0.4);
    -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.4);
    -o-box-shadow: 0 0 8px rgba(0, 0, 0, 0.4);
    -ms-box-shadow: 0 0 8px rgba(0, 0, 0, 0.4);
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.4);
}

.box_sh_16 {
    -moz-box-shadow: 0 0 16px rgba(0, 0, 0, 0.4);
    -webkit-box-shadow: 0 0 16px rgba(0, 0, 0, 0.4);
    -o-box-shadow: 0 0 16px rgba(0, 0, 0, 0.4);
    -ms-box-shadow: 0 0 16px rgba(0, 0, 0, 0.4);
    box-shadow: 0 0 16px rgba(0, 0, 0, 0.4);
}

.box_sh_mdl {
    -moz-box-shadow: 0 0 40px rgba(0, 0, 0, 0.5);
    -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.5);
    -o-box-shadow: 0 0 40px rgba(0, 0, 0, 0.5);
    -ms-box-shadow: 0 0 40px rgba(0, 0, 0, 0.5);
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.5);
}


/*   -------------- page-top  -------------- */

#page-top {
    position: fixed;
    padding: 0;
    width: 86px;
    height: 86px;
    bottom: 10px;
    right: 10px;
    z-index: 100;
}


/* -------------- circle_animation -------------- */

.circle_graph {
    position: absolute;
    margin: 0;
    padding: 0;
    width: 84px;
    height: 84px;
    bottom: 5px;
    right: 10px;
}


/* -------------- heart_icon -------------- */

.heart_icon {
    position: absolute;
    margin: 0;
    padding: 0;
    width: 40px;
    height: 40px;
    bottom: 10px;
    right: 10px;
    cursor: pointer;
    display: block;
    background: url(../imgs/common/heart_icon.png) no-repeat 0 0;
    border-radius: 50%;
    border: 1px solid rgba(0,0,0,0.1);
    background-color: #fff;
}

.heart_icon_active {
    position: absolute;
    margin: 0;
    padding: 0;
    width: 40px;
    height: 40px;
    bottom: 10px;
    right: 10px;
    cursor: pointer;
    display: block;
    background: url(../imgs/common/heart_icon.png) no-repeat 0 bottom;
    background-position: 0px -40px;
    border-radius: 50%;
    border: 1px solid rgba(0,0,0,0.1);
    background-color: #fff;
}


/* -------------- wrapper -------------- */

#wrapper {
    margin: 0;
    padding: 0;
    width: 100%;
    min-width: 1200px;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}


/* -------------- header -------------- */

#header {
    margin: 0;
    padding: 0;
    width: 100%;
    min-width: 1200px;
    height: 104px;
    background-color: #fff;
}

#header .hd_logo_area {
    margin: 0;
    padding: 0;
    width: 100%;
    min-width: 1200px;
    background-color: #9fa0a0;
}

#header .hd_logo_area .hd_logo {
    margin: auto;
    line-height: 55px;
}

#header .hd_logo_area .hd_logo img {
    max-height: 56px;
    max-width: 1200px;
    vertical-align: middle;
}

#header .hd_menu_area {
    margin: 0 auto;
    padding: 0;
    width: 100%;
    min-width: 1200px;
    height: 48px;
    background-color: #fff;
    border-bottom: 1px solid #e5e5e5;
    box-sizing: border-box;
}

#header .hd_menu_area .hd_menu {
    margin: 0 auto;
    padding: 0;
    width: 1200px;
}

/* *********************************************************** */
/* *********************************************************** */
/* *********************************************************** */

.hd_menu .hd_category_sp {
    display: none;
}

/* *********************************************************** */
/* *********************************************************** */
/* *********************************************************** */

.hd_menu .hd_category {
    position: relative;
    float: left;
    /*margin: 8px 10px 0 0;*/
    margin: 0px 10px 0 0;
    padding: 5px 10px;
    width: 126px;
    height: 22px;
    font-size: 12px;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    background-image: url(../imgs/common/category_arrow.png);
    background-repeat: no-repeat;
    background-position: center right 10px;
    background-color: #efefef;
}

.hd_menu .hd_category_ukehodai {
    position: relative;
    float: left;
    /*margin: 8px 10px 0 0;*/
    margin: 0px 10px 0 0;
    padding: 5px 10px;
    width: 126px;
    height: 22px;
    font-size: 12px;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    background-repeat: no-repeat;
    background-position: center right 10px;
    background-color: #efefef;
}

.hd_menu .hd_search {
    position: relative;
    float: left;
    margin: 8px 0 0 0;
    padding: 5px 10px;
    width: 275px;
    height: 22px;
    font-size: 12px;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    background-image: url(../imgs/common/hd_search_bg.gif);
    background-repeat: repeat-y;
    background-position: center right 0;
    background-color: #efefef;
}

.hd_menu .hd_search .searchform {
    position: relative;
    margin: 0;
    padding: 0;
}

.hd_menu .hd_search .keywords {
    width: 245px;
    height: 20px;
    border: none;
    padding: 0;
    background-color: #efefef;
}

.hd_menu .hd_search .searchBtn {
    position: absolute;
    margin: 0;
    padding-top: 3px;
    top: 0;
    _top: 1px;
    right: 0;
    width: 16px;
    background-color: #595757;
}

*:first-child + html .searchBtn {
    top: 1px;
}

#header .hd_menu_area .hd_menu .hd_menu_r {
    position: relative;
    float: right;
    margin: 0;
    padding: 0;
    width: 200px;
    text-align: right;
}

.hd_menu .hd_menu_r ul.hd_menu_r_list {
    margin: 0;
    padding: 0;
    font-size: 0;
    /*width:180px;*/
    height: 48px;
    list-style: none;
}

.hd_menu .hd_menu_r ul.hd_menu_r_list li {
    margin: 0;
    padding: 0;
    /*padding-top: 5px;*/
    display: inline-block;
    width: 30%;
    height: 48px;
    /*43px;*/
    cursor: pointer;
    text-align: center;
}

.hd_menu .hd_menu_r ul.hd_menu_r_list li img {
    padding-top: 12px;
}

.hd_menu .hd_menu_r .hd_menu_r_news {
    position: relative;
}

.hd_menu .hd_menu_r .hd_menu_r_news .news_num {
    position: absolute;
    margin: 0;
    padding: 0 2px;
    top: 7px;
    right: 4px;
    height: 20px;
    text-align: center;
    font-size: 10px;
    font-weight: bold;
    letter-spacing: 0;
    color: #fff;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    background-color: #e83828;
}


/* -------------- hd_select -------------- */

.hd_category .cate_title {
    margin: 0;
    padding: 0;
    cursor: pointer;
    font-size: 12px;
    letter-spacing: 0;
}

.hd_category .cat_1,
.hd_category .cat_2,
.hd_category .cat_3 {
    position: absolute;
    margin: 0;
    padding: 0;
    top: 40px;
    left: 0;
    width: 230px;
    z-index: 10;
    display: none;
    background: white;
}

.hd_category .cat_2 {
    left: 230px;
}

.hd_category .cat_3 {
    left: 460px;
}

.hd_category .cat_1 ul,
.hd_category .cat_2 ul,
.hd_category .cat_3 ul {
    margin: 0;
    padding: 0;
    width: 230px;
    font-size: 0;
    list-style: none;
    background-color: #fff;
}

.hd_category .cat_1 ul li,
.hd_category .cat_2 ul li,
.hd_category .cat_3 ul li {
    margin: 0;
    padding: 5px 0px 5px 10px;
    padding-left: 30px;
    width: 200px;
    min-height: 20px;
    cursor: pointer;
    font-size: 12px;
    letter-spacing: 0;
}

.hd_category .cat_1 ul li a,
.hd_category .cat_2 ul li a,
.hd_category .cat_3 ul li a {
    display: block;
    width: 100%;
    word-wrap: break-word;
}

.hd_category .cat_1 ul li a:hover,
.hd_category .cat_2 ul li a:hover,
.hd_category .cat_3 ul li a:hover {
    color: #fff;
}


/*header_menu_active*/

.hd_category li.hm_over {
    color: #fff;
    background-position: 0 0;
    background-color: #595757 !important;
}

.hd_category li.hm_active {
    color: #fff;
    background-position: 0 0;
    background-color: #595757 !important;
}


/* -------------- menu_open -------------- */

.hd_menu_r .menu_btn {
    margin: 0;
    padding: 0;
}

.hd_menu_r img:hover {
    opacity: 0.8;
    transition: 0.3s;
    filter: alpha(opacity=80);
    -ms-filter: "alpha(opacity=80)";
}

.hd_menu_r .menu_open {
    position: absolute;
    margin: 0;
    padding: 0;

    /*top: 48px;*/
    top: 8px;
    
    right: 0;
    width: 200px;
    z-index: 20;
    display: none;
}

.hd_menu_r .menu_open ul {
    margin: 0;
    padding: 0;
    font-size: 0;
    width: 200px;
    list-style: none;
    background-color: #fff;
}

.hd_menu_r .menu_open ul li {
    margin: 0;
    
    cursor: pointer;
    font-size: 13px;
    text-align: left;
    
    height: auto;
    letter-spacing: 0;
    background-color: #fff;
}

.hd_menu_r .menu_open li a {
    display: block;
    width: 100%;
    color: #3e3e3e;
    padding: 5px 10px;
    width: 180px;

}

.hd_menu_r .menu_open li a:hover {
    color: #fff;
    padding: 5px 10px;
    width: 180px;
}


/*
.hd_menu_r .menu_open li a:link { color:#3e3e3e;}
.hd_menu_r .menu_open li a:visited { color:#3e3e3e;}
.hd_menu_r .menu_open li a:active { color:#3e3e3e;}
.hd_menu_r .menu_open li a:hover{ color:#fff;}
*/


/* -------------- contents -------------- */

#contents {
    margin: 0;
    padding: 0;
    width: 100%;
    min-width: 1200px;
}


/* -------------- footer -------------- */

#footer {
    margin: 0;
    padding: 0;
    width: 100%;
    min-width: 1200px;
    background-color: #595757;
}

#footer .footer_area {
    margin: 0 auto;
    padding: 0;
    width: 1200px;
    text-align: center;
}


/*footer_list*/

#footer .footer_area ul.footer_list {
    margin: 0;
    padding: 0;
    color: #cdcdcd;
    font-size: 13px;
}

#footer .footer_area ul.footer_list h2 {
    position: relative;
    margin: 0;
    padding: 0 0 5px 0;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    margin-left: 10px;
    word-wrap: break-word;
}

#footer .footer_area ul.footer_list h2:first-child:before {
    position: relative;
    content: "|";
    padding-right: 3px;
    color: #fff;
    font-size: 15px;
    bottom: 1px;
    left: 0;
}

#footer .footer_area ul.footer_list h2:first-child {
    margin-left: 0;
    float: left;
}

#footer .footer_area ul.footer_list {
    margin: 0 auto;
    padding: 30px 0;
    list-style: none;
    width: 1000px;
}

#footer .footer_area ul.footer_list li {
    margin: 0;
    padding: 0;
    padding-top: 5px;
    display: inline-block;
    width: 16%;
    text-align: center;
    vertical-align: top;
    text-align: left;
}

.footer_list_custom_size {
    min-height: 52px !important;
}


/*footer_list_menu*/

#footer .footer_area ul.footer_list_menu {
    margin: 0;
    padding: 0;
    margin-left: 10px;
    word-wrap: break-word;
}

#footer .footer_area ul.footer_list_menu li {
    margin: 0;
    padding: 0 0 1px 0;
    width: 100%;
}


#footer .footer_area a:link {
    color: #cdcdcd;
}

#footer .footer_area a:visited {
    color: #cdcdcd;
}

#footer .footer_area a:active {
    color: #cdcdcd;
}

#footer .footer_area a:hover {
    color: #cdcdcd;
    opacity: 0.8;
    transition: 0.3s;
    filter: alpha(opacity=80);
    -ms-filter: "alpha(opacity=80)";
}


/* -------------- footer_copyright -------------- */

#footer .footer_area .footer_copyright {
    margin: 20px auto 0 auto;
    padding: 20px 0 20px 0;
    font-size: 10px;
    color: #c3c3c3;
    text-align: center;
    border-top: 1px solid #6c6a6a;
}

#footer .footer_area .footer_copyright img {
    width: 90px;
}

#footer .footer_area .footer_copyright h3 {
    margin: 0;
    padding-bottom: 10px;
    font-size: 18px;
}

a.disable_a_href {
    pointer-events: none;
    cursor: default;
}


/*th_detail_star*/

.th_detail_star {
    height: 20px;
}

.th_detail_star0 {
    margin: 0;
    padding: 0;
    height: 20px;
    width: auto;
    background-image: url(../imgs/common/th_star0.png);
    background-repeat: no-repeat;
    background-position: center left 0;
}

.th_detail_star1 {
    margin: 0;
    padding: 0;
    height: 20px;
    width: auto;
    background-image: url(../imgs/common/th_star1.png);
    background-repeat: no-repeat;
    background-position: center left 0;
}

.th_detail_star1-5 {
    margin: 0;
    padding: 0;
    height: 20px;
    width: auto;
    background-image: url(../imgs/common/th_star1-5.png);
    background-repeat: no-repeat;
    background-position: center left 0;
}

.th_detail_star2 {
    margin: 0;
    padding: 0;
    height: 20px;
    width: auto;
    background-image: url(../imgs/common/th_star2.png);
    background-repeat: no-repeat;
    background-position: center left 0;
}

.th_detail_star2-5 {
    margin: 0;
    padding: 0;
    height: 20px;
    width: auto;
    background-image: url(../imgs/common/th_star2-5.png);
    background-repeat: no-repeat;
    background-position: center left 0;
}

.th_detail_star3 {
    margin: 0;
    padding: 0;
    height: 20px;
    width: auto;
    background-image: url(../imgs/common/th_star3.png);
    background-repeat: no-repeat;
    background-position: center left 0;
}

.th_detail_star3-5 {
    margin: 0;
    padding: 0;
    height: 20px;
    width: auto;
    background-image: url(../imgs/common/th_star3-5.png);
    background-repeat: no-repeat;
    background-position: center left 0;
}

.th_detail_star4 {
    margin: 0;
    padding: 0;
    height: 20px;
    width: auto;
    background-image: url(../imgs/common/th_star4.png);
    background-repeat: no-repeat;
    background-position: center left 0;
}

.th_detail_star4-5 {
    margin: 0;
    padding: 0;
    height: 20px;
    width: auto;
    background-image: url(../imgs/common/th_star4-5.png);
    background-repeat: no-repeat;
    background-position: center left 0;
}

.th_detail_star5 {
    margin: 0;
    padding: 0;
    height: 20px;
    width: auto;
    background-image: url(../imgs/common/th_star5.png);
    background-repeat: no-repeat;
    background-position: center left 0;
}
