*{
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

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:100%;
    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--------------*/
.type_no {
    margin: 0 auto !important;
    padding: 4px 9px !important;
    color: #fff !important;
    font-weight: bold !important;
}

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

.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_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;
    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;
    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;
    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;
    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;
    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;
    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------------- */

.wrp_breadcrumbs{
    margin: 18px 10px 0;
    padding: 0px;
    font-size: 0;
    line-height: 1;
    height: auto;

    border-bottom: 1px solid #e1e1e1;
}
.wrp_breadcrumbs .breadcrumbs {
    margin: 0 0 6px 0;
    padding: 8px 0 6px;
    
    width: 100%;
    height: auto;

    min-height: 25px;

    text-align: left;
    font-size: 11px;
    line-height: 1.3;
}


/* -------------- 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: 70px;
    height: 70px;
    bottom: 0px;
    right: 0px;
    z-index: 100;
}

#page-top img{
    width: 100%;
    height: auto;
}

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

.circle_graph {
    position: absolute;
    margin: 0;
    padding: 0;
    width: 84px;
    height: 84px;
    bottom: 12px;
    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;
    background-position: -1px -1px;
}

.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: -1px -41px;
    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:100%;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}


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

#header {
    margin: 0;
    padding: 0;
    width: 100%;
    min-width: 100%;
    height: auto;
    background-color: #ffffff;
}

#header .hd_logo_area {
    margin: 0;
    padding: 6px 10px;
    width: 100%;
    min-width: 100%;
    background-color: #ffec50;
}

#header .hd_logo_area .wrp_logo {
    width: 100%;
    margin: 0;
}

#header .hd_logo_area .hd_logo {
    margin: 0;
    padding: 0;
    /*line-height: 0px;
    max-width: 75%;
    overflow-x: hidden;*/
}

@media screen and (min-device-width: 601px) and (max-device-width: 960px) {
    #header .hd_logo_area .hd_logo img {
        max-width: 700px;
        max-height: 56px;
        max-height: auto;
        vertical-align: top;
    }
}
@media screen and (min-device-width: 0px) and (max-device-width: 600px) {
    #header .hd_logo_area .hd_logo img {
        max-width: 50%;
        max-height: 56px;
        min-height: 35px;
        max-height: auto;
        vertical-align: top;
    }
}

#header .hd_menu_area {
    margin: 0;
    padding: 0;
    width: 100%;
    min-width: 100%;
    background-color: #fff;

    height: auto;

    border-bottom: 0;
}

#header .hd_menu_area .hd_menu {
    margin: 15px 0 0 0;
    padding: 0 10px;
    width: 100%;
    height: auto;
    overflow: hidden;
}

.hd_menu .hd_search {
	float: left !important;
}

.search_area {
    float: right;
}
/* nav_header_s.css */
/* -------------- / header -------------- */
/* -------------- form -------------- */
/* -------------- icon -headernav -------------- */
/* nav_header_s.css */


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

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

.hd_category,
.hd_category_ukehodai {
    display: none;
}

.hd_category_sp {
    display: block;
}

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


/* SP category list */
#nav_category{
    z-index: 10000;
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    padding: 0;
}

#nav_category .cover_category{
    position: absolute;

    top: 0;
    left: 0;
    margin: 0;
    padding: 0;
    width: 0;
    height: 0;
}

#nav_category .bg_category{
    position: fixed;
    top: 0;
    left: 0;
    width: 250px;
    height: 100%;

    margin-left: -250px;
    background-color: #929292;
}

#nav_category.act .cover_category{
    position: fixed;
    top: 0;
    left: 0;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
}

#nav_category .wrp_category{
    position: relative;
    width: 250px;
    height: 100%;
    top: 0;
    left: 0;
    margin-left: -250px;
    background-color: #929292;
}

#nav_category .wrp_category .btn_category_close a{
    position: relative;

    display: block;
    padding: 10px 40px 6px 0;

    min-height: 40px;

    text-align: right;

    color: #ffffff;
    font-size: 14px;

    background-color: #000000;

    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

#nav_category .wrp_category .btn_category_close a:after {
    content: "";
    position: absolute;
    width: 25px;
    height: 25px;
    margin-top: -12px;
    top: 50%;
    right: 10px;

    background-size: 25px 25px;
    background-position: 0 0;
    background-repeat: no-repeat;
    background-image: url(../imgs/common/btn_category_close.png);
}

#nav_category .wrp_category .list_category1 > li {
    border-top: 1px solid #929292;
}

#nav_category .wrp_category .list_category1 > li a,
#nav_category .wrp_category .list_category1 > li span {
    display: block;
    padding: 6px 10px 4px 10px;
    min-height: 30px;

    color: #ffffff;
    font-size: 14px;

    background-color: #6b6a6a;
    word-wrap: break-word;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

#nav_category .wrp_category .list_category2 > li a{
    position: relative;

    padding: 5px 10px 4px 25px;
    min-height: 30px;

    color: #ffffff;
    font-size: 14px;

    background-color: #929292;
    word-wrap: break-word;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
#nav_category .wrp_category .list_category2 > li a:hover{
    background-color: #c2c2c2;
}

#nav_category .wrp_category .list_category2 > li a:after {
    content: "";
    position: absolute;
    width: 5px;
    height: 5px;
    margin-top: -2px;
    top: 50%;
    left: 12px;

    background-size: 5px 5px;
    background-position: 0 0;
    background-repeat: no-repeat;
    background-image: url(../imgs/common/icon_dot_nav_category.png);
}

#nav_category .wrp_category .list_category3 > li a{
    position: relative;

    padding: 5px 10px 4px 40px;
    min-height: 30px;

    color: #ffffff;
    font-size: 14px;

    background-color: #929292;

    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

#nav_category .wrp_category .list_category3 > li a:after {
    background:none;
}
#nav_category .wrp_category .list_category2 > li a:hover{
    background-color: #c2c2c2;
}
/* / SP category list */

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



/* -------------- 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: 40px;
    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;
    padding: 5px 10px;
    cursor: pointer;
    font-size: 13px;
    text-align: left;
    width: 200px;
    height: auto;
    letter-spacing: 0;
    background-color: #fff;
}

.hd_menu_r .menu_open li a {
    display: block;
    width: 100%;
    color: #3e3e3e;
}

.hd_menu_r .menu_open li a:hover {
    color: #fff;
}

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

#contents {
    margin: 0;

    margin-top: 0px;
    padding: 0 10px;

    width: 100%;
    min-width:100%;
}



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


#footer {
    margin: 0;
    padding: 0;
    width: 100%;

    min-width:100%;

    background-color: #595757;
}

#footer .footer_area {
    margin: 0 auto;
    padding: 0;

    width: 100%;

    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 20px;
    list-style: none;

    width:100%;

    text-align: left;

/* ------------------------------ */
    display:-webkit-box;
    display:-moz-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;

/* ------------------------------ */
}

#footer .footer_area ul.footer_list li {
    margin: 0;
    padding: 0;
    padding-top: 5px;
    padding-right: 10px;

    display: block;

    width: 25%;
    vertical-align: top;

    text-align: left;
}

#footer .footer_area ul.footer_list > li:nth-child(n+4){
    padding-right: 0px;
}

#footer .footer_area ul.footer_list > li:nth-child(n+5){
    margin-top: 15px;
}

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

/*footer_list_menu*/

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

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

#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;
}

.set-width-btn {
    display: inline-block;
}

.set-width-btn div{
    display: inline-block;
    width: 100px;
    text-align: center;
}

.video-download {
    width: auto !important;
}

.modal-backdrop {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1040;
    background-color: #000;
    opacity: 0.5;
}

/*th_figure*/
.th_figure{
    position: relative;
    margin: 0;
    padding: 0;
    vertical-align: bottom;
    padding-top: 59% !important;
}
.th_figure img{
    
    position: absolute;
    width:100%;
    height: 100%;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    vertical-align: top;
    
}

.heart_icon_active, .heart_icon{
    z-index: 1000;
}