/*・SP：480～767px
・PC：768px～*/

/*section*/
.page_contents_area .page_section{
    padding: 20px 0 20px;
    border-bottom: 1px solid #cccccc;
}
.page_contents_area .page_section:last-of-type,
.page_contents_area .page_section.boder_none{
    border-bottom: 0px solid transparent;
}
.contents_group{
    padding-bottom: 30px;
}
@media screen and (min-width:768px){
    .page_contents_area .page_section{
        padding: 40px 0 40px;
        border-bottom: 0px solid transparent;
    }
    .page_contents_area .page_section.service{
        padding: 0 0 40px;
    }
    .page_contents_area .page_section + .page_section{
        padding: 20px 0 40px;
    }
    .contents_group{
        padding-bottom: 60px;
    }
}

/*column*/
.col_flex{
    display: flex;
    flex-wrap: wrap;
    width: -webkit-calc(100% + 20px);
    width: calc(100% + 20px);
    margin: 0 -10px;
}
.col_flex.p_min{
    width: -webkit-calc(100% + 10px);
    width: calc(100% + 10px);
    margin: 0 -5px;
}
.col_flex > div{
    width: 100%;
    padding: 0 10px 20px;
}
.col_flex.p_min > div{
    padding: 0 5px 10px;
}
.col_flex > div > *.height_full{
    height: 100%;
}
.col_flex.col_2 > div{
    width: 50%;
}
.col_flex.col_3 > div{
    width: 33.33%;
}
.col_flex.col_4 > div{
    width: 25%;
}
.col_flex.col_5 > div{
    width: 20%;
}
.flex_img img{
    max-width: 100%;
    width: 100%;
}
.flex_img img.logo{
    width: auto;
}
.col_in_2col{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}
.col_flex.sp_ratio_4_6 > div:first-of-type{
    width: 40%;
}
.col_flex.sp_ratio_4_6 > div:last-of-type{
    width: 60%;
}
.col_flex.sp_ratio_3_7 > div:first-of-type{
    width: 30%;
}
.col_flex.sp_ratio_3_7 > div:last-of-type{
    width: 70%;
}
.col_flex.sp_ratio_7_3 > div:first-of-type{
    width: 70%;
}
.col_flex.sp_ratio_7_3 > div:last-of-type{
    width: 30%;
}
.col_flex.sp_ratio_2_8 > div:first-of-type{
    width: 20%;
}
.col_flex.sp_ratio_2_8 > div:last-of-type{
    width: 80%;
}
.col_flex.sp_ratio_1_9 > div:first-of-type{
    width: 10%;
}
.col_flex.sp_ratio_1_9 > div:last-of-type{
    width: 90%;
}
.col_in_item{
    width: 50%;
}
.col_in_item:nth-child(2n){
    padding-left: 10px;
}
.col_in_item:nth-child(2n+1){
    padding-right: 10px;
}
.col_in_item img{
    max-width: 100%;
    width: 100%;
}
.col_in_item img.logo{
    width: auto;
}
.col_in_2col.col1_9 .col_in_item:nth-child(2n+1){
    width: 10%;
}
.col_in_2col.col1_9 .col_in_item:nth-child(2n){
    width: 90%;
}
.col_in_2col.col2_8 .col_in_item:nth-child(2n+1){
    width: 20%;
}
.col_in_2col.col2_8 .col_in_item:nth-child(2n){
    width: 80%;
}
.col_in_2col.col3_7 .col_in_item:nth-child(2n+1){
    width: 30%;
}
.col_in_2col.col3_7 .col_in_item:nth-child(2n){
    width: 70%;
}
.col_in_2col.col4_6 .col_in_item:nth-child(2n+1){
    width: 40%;
}
.col_in_2col.col4_6 .col_in_item:nth-child(2n){
    width: 60%;
}
.col_in_2col.col9_1 .col_in_item:nth-child(2n+1){
    width: 90%;
}
.col_in_2col.col9_1 .col_in_item:nth-child(2n){
    width: 10%;
}
.col_in_2col.col8_2 .col_in_item:nth-child(2n+1){
    width: 80%;
}
.col_in_2col.col8_2 .col_in_item:nth-child(2n){
    width: 20%;
}
.col_in_2col.col7_3 .col_in_item:nth-child(2n+1){
    width: 70%;
}
.col_in_2col.col7_3 .col_in_item:nth-child(2n){
    width: 30%;
}
.col_in_2col.col6_4 .col_in_item:nth-child(2n+1){
    width: 60%;
}
.col_in_2col.col6_4 .col_in_item:nth-child(2n){
    width: 40%;
}
.sp_float_flex{
    position: relative;
}
.sp_float_flex:after{
    display: block;
    content: "";
    clear: both;
    position: relative;
}
.sp_float_flex .sp_float_img{
    display: inline-block;
    width: 40%;
    padding: 0 20px 10px 0;
    float: left;
}
.sp_float_flex .sp_float_text{
    display: contents;
    float: left;
}

@media screen and (min-width:768px){
    .col_flex{
        width: -webkit-calc(100% + 32px);
        width: calc(100% + 32px);
        margin: 0 -16px -32px;
    }
    .col_flex.center{
        justify-content: center;
    }
    .col_flex.min{
        max-width: 960px;
        width: 100%;
        margin: 0 auto -32px;
    }
    .col_flex.p_min{
        width: -webkit-calc(100% + 20px);
        width: calc(100% + 20px);
        margin: 0 -10px -20px;
    }
    .col_flex > div{
        padding: 0 16px 32px;
    }
    .col_flex.p_min > div{
        padding: 0 10px 20px;
    }
    .col_flex.col_2_pc > div{
        width: 50%;
    }
    .col_flex.col_2_pc.ratio_4_6 > div:first-of-type{
        width: 40%;
    }
    .col_flex.col_2_pc.ratio_4_6 > div:last-of-type{
        width: 60%;
    }
    .col_flex.col_2_pc.ratio_3_7 > div:first-of-type{
        width: 30%;
    }
    .col_flex.col_2_pc.ratio_3_7 > div:last-of-type{
        width: 70%;
    }
    .col_flex.col_2_pc.ratio_2_8 > div:first-of-type{
        width: 20%;
    }
    .col_flex.col_2_pc.ratio_2_8 > div:last-of-type{
        width: 80%;
    }
    .col_flex.col_2_pc.ratio_1_9 > div:first-of-type{
        width: 10%;
    }
    .col_flex.col_2_pc.ratio_1_9 > div:last-of-type{
        width: 90%;
    }
    .col_flex.col_2_pc.ratio_6_4 > div:first-of-type{
        width: 60%;
    }
    .col_flex.col_2_pc.ratio_6_4 > div:last-of-type{
        width: 40%;
    }
    .col_flex.col_2_pc.ratio_7_3 > div:first-of-type{
        width: 70%;
    }
    .col_flex.col_2_pc.ratio_7_3 > div:last-of-type{
        width: 30%;
    }
    .col_flex.col_2_pc.ratio_8_2 > div:first-of-type{
        width: 80%;
    }
    .col_flex.col_2_pc.ratio_8_2 > div:last-of-type{
        width: 20%;
    }
    .col_flex.col_2_pc.ratio_9_1 > div:first-of-type{
        width: 90%;
    }
    .col_flex.col_2_pc.ratio_9_1 > div:last-of-type{
        width: 10%;
    }
    .col_flex.col_3_pc > div{
        width: 33.33%;
    }
    .col_flex.col_4_pc > div{
        width: 25%;
    }
    .col_flex.col_5_pc > div{
        width: 20%;
    }
    .col_flex.col_6_pc > div{
        width: 16.66%;
    }
    .col_flex.col_7_pc > div{
        width: 14.28%;
    }
    .col_flex.col_8_pc > div{
        width: 12.5%;
    }
    .col_flex.col_9_pc > div{
        width: 11.11%;
    }
    .col_flex.col_10_pc > div{
        width: 10%;
    }
    .col_flex.col_11_pc > div{
        width: 9.09%;
    }
    .col_flex.reverse div.flex_text{
        order: -1;
    }
    .col_in_item:nth-child(2n){
        padding-left: 15px;
    }
    .col_in_item:nth-child(2n+1){
        padding-right: 15px;
    }
    .sp_float_flex{
        display: flex;
        flex-wrap: wrap;
        width: -webkit-calc(100% + 30px);
        width: calc(100% + 30px);
        margin: 0 -15px -30px;
    }
    .sp_float_flex:after{
        display: none;
    }
    .sp_float_flex .sp_float_img{
        display: block;
        width: inherit;
        padding: 0 15px 30px 15px;
        float: none;
        clear: both;
    }
    .sp_float_flex .sp_float_text{
        display: block;
        padding: 0 15px 30px 15px;
        float: none;
        clear: both;
    }
    .sp_float_flex.pc_ratio_3_7 .sp_float_img{
        width: 30%;
    }
    .sp_float_flex.pc_ratio_3_7 .sp_float_text{
        width: 70%;
    }
    .sp_float_flex.pc_ratio_2_8 .sp_float_img{
        width: 20%;
    }
    .sp_float_flex.pc_ratio_2_8 .sp_float_text{
        width: 80%;
    }
    .sp_float_flex.pc_ratio_1_9 .sp_float_img{
        width: 10%;
    }
    .sp_float_flex.pc_ratio_1_9 .sp_float_text{
        width: 90%;
    }
}

.col_dl > dl{
    border: 1px solid #cccccc;
    margin-bottom: 10px;
}
.col_dl.bg_none > dl{
    border: 2px solid #cccccc;
}
.col_dl > dl > dt{
    padding: 10px 20px;
    font-weight: bold;
    text-align: center;
    color: #fff;
    background-color: #527fbb;
}
.col_dl.yellow > dl > dt{
    background-color: #fabe00;
}
.col_dl.gray > dl > dt{
    background-color: #f6f6f6;
    color: #000;
}
.col_dl.blue > dl > dt{
    background-color: #09499e;
}
.col_dl.blue > dl > dd{
    color: #000;
}
.col_dl.bg_none > dl > dt{
    background-color: #fff;
    color: #000;
}
.col_dl > dl > dd{
    padding: 10px 20px;
}
.col_dl.yellow > dl > dd,
.col_dl.gray > dl > dd{
    color: #000;
}
.col_full{
    border: 1px solid #cccccc;
    padding: 10px 20px;
    font-weight: bold;
    text-align: center;
}
.col_dl .shell_full{
    width: calc(100% + 40px);
    padding: 10px 20px;
    margin: 10px -20px -10px;
}
@media screen and (min-width:768px){
    .col_dl > dl{
        display: flex;
        flex-wrap: wrap;
        max-width: 100%;
    }
    .col_dl > dl > dt{
        display: flex;
        flex-wrap: wrap;
        width: 300px;
        align-items: center;
        padding: 30px 30px;
        font-size: 16px;
    }
    .col_dl.harf > dl > dt{
        width: 50%;
    }
    .col_dl.reverse > dl > dt{
        order: 2;
    }
    .col_dl.gray > dl > dt{
        border-right: 1px solid #cccccc;
    }
    .col_dl > dl > dd{
        display: flex;
        flex-wrap: wrap;
        max-width: 100%;
        width: -webkit-calc(100% - 300px);
        width: calc(100% - 300px);
        align-items: center;
        padding: 30px 40px;
        box-sizing: border-box;
    }
    .col_dl.harf > dl > dd{
        width: 50%;
    }
    .col_dl.reverse > dl > dd{
        order: 1;
    }
    .col_dl .shell{
        width: 100%;
    }
    .col_full{
        border: 1px solid #cccccc;
        padding: 30px 30px;
        font-size: 16px;
    }
    .col_dl.no_flex > dl{
        display: block;
    }
    .col_dl.no_flex > dl > dt{
        width: 100%;
        padding: 25px 30px;
        border-right: none!important;
    }
    .col_dl.no_flex > dl > dd{
        width: 100%;
    }
    .col_dl .shell_full{
        width: calc(100% + 80px);
        padding: 30px 40px;
        margin: 30px -40px -30px;
    }
}

/*subnav*/
.page_subnav_sp{
    position: relative;
    width: 100%;
}
.page_subnav_sp.fixed{
    position: fixed;
    width: 100%;
    top: 134px;
    left: 0;
    z-index: 900;
}
body.home .page_subnav_sp.fixed,
body.internet .page_subnav_sp.fixed,
body.phone .page_subnav_sp.fixed{
    top: 170px;
}
.sp_nav_open{
    width: 100%;
    padding: 10px 20px;
    height: 40px;
    background-color: #09499e;
    cursor: pointer;
}
.page_subnav_sp .nav_btn{
    width: 30px;
    height: 20px;
    position: relative;
}
.page_subnav_sp .nav_btn span{
    display: block;
    position: absolute;
    width: 26px;
    height: 2px;
    background-color: #fff;
    transition: transform 0.3s;
}
.page_subnav_sp .nav_btn span:nth-of-type(1){
    top: 0;
    left: 0;
    transform-origin: left top;
}
.page_subnav_sp .nav_btn span:nth-of-type(2){
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}
.page_subnav_sp .nav_btn span:nth-of-type(3){
    bottom: 0;
    left: 0;
    transform-origin: left bottom;
}
.page_subnav_sp .open .nav_btn span:nth-of-type(1){
    transform: rotate(45deg);
}
.page_subnav_sp .open .nav_btn span:nth-of-type(2){
    display: none;
}
.page_subnav_sp .open .nav_btn span:nth-of-type(3){
    transform: rotate(-45deg);
}
.page_subnav_sp .pagetitle{
    opacity: 0;
    position: absolute;
    left: 40px;
    top: 0;
    padding: 10px 20px;
    font-weight: bold;
    color: #fff;
    transition: opacity 0.3s;
}
.page_subnav_sp.fixed .pagetitle{
    opacity: 1;
}
.page_subnav_sp .subnav_wrap{
    display: none;
    border-bottom: 1px solid #fff;
}
.page_subnav_sp .subnav_wrap > li > a{
    display: block;
    padding: 10px 20px;
    background-color: #09499e;
    color: #fff;
    border-bottom: 1px dashed #fff;
    text-decoration: none;
    position: relative;
}
.page_subnav_sp .subnav_wrap > li > a.subnav_drop:before,
.page_subnav_sp .subnav_wrap > li > a.subnav_drop:after{
    position: absolute;
    display: block;
    content: "";
    background-color: #fff;
    top: 0;
    bottom: 0;
    margin: auto;
    opacity: 1;
    transition: all 0.3s;
}
.page_subnav_sp .subnav_wrap > li > a.subnav_drop:before{
    width: 13px;
    height: 1px;
    right: 20px;
}
.page_subnav_sp .subnav_wrap > li > a.subnav_drop:after{
    width: 1px;
    height: 13px;
    right: 26px;
}
.page_subnav_sp .subnav_wrap > li > a.subnav_drop.up:before{
    opacity: 0;
    transform: rotate(90deg);
}
.page_subnav_sp .subnav_wrap > li > a.subnav_drop.up:after{
    transform: rotate(90deg);
}
.page_subnav_sp .subnav_wrap > li.current > a{
    background-color: #527fbb;
}
.page_subnav_sp .subnav_wrap > li:last-of-type > a{
    border-bottom: 0px solid transparent;
}
.page_subnav_pc{
    display: none;
}
@media screen and (min-width:768px){
    .page_subnav_sp{
        display: none;
    }
    .page_subnav_pc{
        display: block;
        position: relative;
        background-color: #fff;
        border-bottom: 1px solid #cccccc;
        height: 60px;
        z-index: 100;
    }
    .page_subnav_pc.fixed{
        width: 100%;
        top: 140px;
        left: 0;
        position: fixed;
        z-index: 110;
    }
    .page_subnav_pc .subnav_wrap{
        max-width: 1120px;
        width: -webkit-calc(100% - 80px);
        width: calc(100% - 80px);
        margin: 0 auto;
    }
    .page_subnav_pc .subnav_wrap > ul{
        display: flex;
        justify-content: center;
    }
    .page_subnav_pc .subnav_wrap > ul > li{
        position: relative;
    }
    .page_subnav_pc .subnav_wrap > ul > li > a{
        position: relative;
        display: block;
        height: 59px;
        padding: 20px 20px;
        color: #000;
        text-decoration: none;
    }
    .page_subnav_pc.min .subnav_wrap > ul{
        width: calc(100% + 16px);
        margin: 0 -8px;
    }
    .page_subnav_pc.min .subnav_wrap > ul > li > a{
        padding: 20px 8px;
        font-size: 12px;
    }
    .page_subnav_pc .subnav_wrap > ul > li > a:before{
        position: absolute;
        content: "";
        display: block;
        width: 1px;
        height: 20px;
        background-color: #ccc;
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto;
    }
    .page_subnav_pc .subnav_wrap > ul > li:last-of-type > a:after{
        position: absolute;
        content: "";
        display: block;
        width: 1px;
        height: 20px;
        background-color: #ccc;
        top: 0;
        bottom: 0;
        right: 0;
        margin: auto;
    }
    .page_subnav_pc .subnav_wrap > ul > li > a:hover,
    .page_subnav_pc .subnav_wrap > ul > li.current > a{
        background-color: #fabe00;
        opacity: 1;
    }
}
@media screen and (min-width:920px){
    .page_subnav_pc.min .subnav_wrap > ul{
        width: calc(100% + 20px);
        margin: 0 -10px;
    }
    .page_subnav_pc.min .subnav_wrap > ul > li > a{
        padding: 20px 10px;
        font-size: 13px;
    }
}
@media screen and (min-width:1200px){
    .page_subnav_pc .subnav_wrap > ul > li > a{
        padding: 20px 40px;
    }
    .page_subnav_pc.min .subnav_wrap > ul{
        width: calc(100% + 40px);
        margin: 0 -20px;
    }
    .page_subnav_pc.min .subnav_wrap > ul > li > a{
        padding: 20px 20px;
        font-size: 14px;
    }
}

.page_subnav_sp .drop_list{
    display: none;
}
.page_subnav_sp .drop_list li{
    border-bottom: 1px solid #cccccc;
    background-color: #527fbb;
}
.page_subnav_sp .drop_list li a{
    display: block;
    position: relative;
    text-decoration: none;
    color: #fff;
    font-size: 12px;
    padding: 5px 20px 5px 35px;
}
.page_subnav_sp .drop_list li a:before{
    display: block;
    position: absolute;
    content: "";
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-right: 8px solid transparent;
    border-left: 8px solid #fff;
    width: 0;
    height: 0;
    top: 10px;
    left: 20px;
}
@media screen and (min-width:768px){
    .page_subnav_pc .drop_list{
        display: none;
        position: absolute;
        width: 100%;
        top: 59px;
        left: 0;
        border-top: 1px solid #cccccc;
        border-left: 1px solid #cccccc;
        border-right: 1px solid #cccccc;
        background-color: #fff;
    }
    /*.page_subnav_pc .subnav_drop:hover + .drop_list{
        display: block;
    }*/
    .page_subnav_pc .drop_list li{
        border-bottom: 1px solid #cccccc;
    }
    .page_subnav_pc .drop_list a{
        display: block;
        position: relative;
        text-decoration: none;
        padding: 10px;
        color: #000;
        background-color: #fff;
        text-align: center;
    }
    .page_subnav_pc .drop_list a:hover{
        background-color: #fabe00;
        opacity: 1;
    }
    .page_subnav_pc.min .drop_list a{
        font-size: 12px;
    }
}
@media screen and (min-width:1200px){
    .page_subnav_pc.min .drop_list a{
        font-size: 14px;
    }
}


/*breadcrumb*/
.breadcrumb_area{
    background-color: #e6e6e6;
    font-size: 12px;
    padding: 10px 0;
}
ul.breadcrumb{
    display: flex;
    flex-wrap: wrap;
}
ul.breadcrumb a,
ul.breadcrumb span{
    display: block;
    position: relative;
    color: #000;
    text-decoration: none;
    padding-right: 30px;
}
ul.breadcrumb a:after{
    display: block;
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    top: 0;
    bottom: 0;
    right: 13px;
    margin: auto;
    transform: rotate(45deg);
}
@media screen and (min-width:768px){
    ul.breadcrumb a:hover{
        text-decoration: underline;
    }
}

/*anker*/
.anker_area{
    border-bottom: 1px solid #cccccc;
}
.anker_list{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 15px 0 5px;
}
.anker_list > li{
    padding: 0 10px 10px;
}
.anker_list > li.full{
    width: 100%;
}
.anker_list > li.full_pc{
    display: none;
}
.anker_list > li a{
    display: inline-block;
    position: relative;
    color: #000;
    text-decoration: none;
    padding-left: 18px;
}
.anker_list > li a:before {
    content: '';
    display: block;
    position: absolute;
    top: 8px;
    left: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 8px solid #09499e;
    border-bottom: 8px solid transparent;
}
@media screen and (min-width:768px){
    .anker_area{
        border-bottom: 0px solid transparent;
    }
    .anker_list{
        justify-content: center;
        border-bottom: 1px solid #cccccc;
    }
    .anker_list > li,
    .anker_list > li.full{
        width: auto;
        padding: 0 20px 10px;
    }
    .anker_list > li.full_pc{
        display: block;
        width: 100%;
        height: 1px;
    }
    .anker_list > li a:hover{
        text-decoration: underline;
    }
}
@media screen and (min-width:1200px){
    .anker_list > li,
    .anker_list > li.full{
        padding: 0 30px 10px;
    }
}

/*link*/
.textLink02{
    display: inline-block;
    position: relative;
    color: #000;
    text-decoration: none;
    padding-left: 18px;
}
.textLink02:before {
    content: '';
    display: block;
    position: absolute;
    top: 6px;
    left: 0;
    border-top: 5px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 8px solid #09499e;
}
@media screen and (min-width:768px){
    .textLink02:hover{
        text-decoration: underline;
    }
}

/*btn*/
.btn_list{
    margin: 0 0 -10px;
}
.btn_list li{
    padding: 0 0 10px;
}
.commonBtn01 a,
.commonBtn01 > div {
    display: block;
    width: 100%;
    position: relative;
    padding: 15px 25px 14px;
    line-height: 1.4;
    text-decoration: none;
    text-align: center;
    font-weight: bold;
    border: 1px solid #09499e;
    color: #fff;
    background-color: #09499e;
    transition: all 0.3s;
}
.commonBtn01 a:before,
.commonBtn01 > div:before {
    content: '';
    display: block;
    position: absolute;
    width: 12px;
    height: 12px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(-45deg);
    top: 0;
    bottom: 0;
    right: 12px;
    margin: auto;
}
.commonBtn01.back a:before {
    transform: rotate(135deg);
    top: 0;
    bottom: 0;
    right: inherit;
    left: 12px;
    margin: auto;
}
.commonBtn01 a[target="_blank"]:before {
    font-family: 'icomoon';
    content: "\e900";
    font-weight: normal;
    font-style: normal;
    top: 0;
    bottom: 0;
    left: inherit;
    right: 8px;
    margin: auto;
    width: 15px;
    height: 15px;
    line-height: 1;
    transform: none;
    border: none;
    background-image: none;
}
.commonBtn01.pdf a:before {
    content: "";
    width: 20px;
    height: 20px;
    border: none;
    transform: none;
    background-image: url(../img/common/ico_pdf.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    right: 12px;
    top: 0;
    bottom: 0;
    margin: auto;
}
.commonBtn01.white.current a {
    pointer-events: none;
    background-color: #eaeff3;
}
.commonBtn01.white a {
    border-color: #b9c3c8;
    color: #000;
    background-color: #fff;
}
.btn_gradation_yellow{
    border-color: #ffe590!important;
    color: #000;
    background-color: #ffe590!important;
}
.btn_gradation_yellow:hover{
    background-color: #f9be00!important;
  
}
.commonBtn01.red a{
    background-color: #cc1e23;
    border: 1px solid #cc1e23;
}
.commonBtn01.white a:before {
    border-color: #09499e;
}
.commonBtn01.white a:hover {
    opacity: 1;
}
.commonBtn01.white_border a{
    border: 1px solid #fff;
    background-color: transparent;
}
.commonBtn01.white_border a:hover {
        background-color: rgba(255,255,255,0.2);
}
.commonBtn01.green a {
    border-color: #0095a1;
    color: #fff;
    background-color: #0095a1;
}
.commonBtn01.turquoise a,
.commonBtn01.turquoise >div {
    border-color: #1879ac;
    color: #fff;
    background-color: #1879ac;
}
@media (min-width: 1025px) {
    .btn_list{
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        width: -webkit-calc(100% + 32px);
        width: calc(100% + 32px);
        margin: 0 -16px -32px;
    }
    .btn_list.end{
        justify-content: flex-end;
    }
    .btn_list.center{
        justify-content: center;
    }
    .btn_list li{
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        padding: 0 16px 32px;
    }
    .btn_list.col_1 li{
        width: 100%;
    }
    .btn_list.col_1 li:not(:last-of-type){
        padding: 0 16px 16px;
    }
    .btn_list.col_2 li{
        width: 50%;
    }
    .btn_list.col_3 li{
        width: 33.33%;
    }
    .commonBtn01 {
        text-align: center;
    }
    .commonBtn01 a {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        width: 100%;
        border-radius: 3px;
        padding: 20px 25px 19px;
        text-align: center;
    }
    .commonBtn01 a > span {
        display: block;
        width: 100%;
    }
    .commonBtn01 a:hover {
        background-color: #527fbb;
        opacity: 1;
    }
    .commonBtn01.white a:hover {
        background-color: #f0f3fa;
    }
    .commonBtn01.red a:hover{
        background-color: #db6165;
    }
}

/*textlink*/
a.textlink{
    text-decoration: underline;
    color: #000!important;
    word-break: break-all;
}
a.textlink.blank{
    display: inline-block;
    position: relative;
}
a.textlink.blank:after{
    display: inline-block;
    position: relative;
    font-family: 'icomoon';
    content: "\e900";
    font-weight: normal;
    font-style: normal;
    color: #666666;
    padding: 0px 5px;
}
@media screen and (min-width:768px){
    a.textlink:hover{
        text-decoration: none;
    }
}
.arrow_link{
    position: relative;
}
.arrow_link.inline{
    display: inline-block;
    margin-right: 15px;
}
.arrow_link a{
    position: relative;
    padding-left: 18px;
    display: inline-block;
    color: #000;
    text-decoration: underline;
}
.arrow_link a:hover{
    text-decoration: none;
}
.arrow_link a:before{
    content: '';
    display: block;
    position: absolute;
    top: 6px;
    left: 0;
    border-top: 5px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 8px solid #09499e;
}
.arrow_link.blank a:after{
    display: inline-block;
    position: relative;
    font-family: 'icomoon';
    content: "\e900";
    font-weight: normal;
    font-style: normal;
    color: #666666;
}
.arrow_link.pdf a:after{
    display: inline-block;
    position: relative;
    content: "";
    padding-left: 5px;
    width: 20px;
    height: 20px;
    background-image: url(../img/common/ico_pdf.png);
    background-repeat: no-repeat;
    background-size: auto 100%;
    background-position: right center;
    top: 4px;
}
.arrow_link.underline a{
    text-decoration: underline;
}
.arrow_link.underline a:hover{
    text-decoration: none;
}

/*title*/
.page_head{
    padding: 23px 3% 19px;
    background-color: #f3f3f3;
    background-size: cover;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}
.commonTitle01 {
    width: 100%;
    line-height: 1.1;
    text-align: center;
    font-size: 30px;
    font-weight: bold;
    color: #000;
}
.commonTitle01 img{
    vertical-align: middle;
    padding-left: 10px;
}
.commonTitle01 .service_name{
    font-size: 20px;
}
.commonTitle01 .service_name_small{
    font-size: 16px;
}
.commonTitle01 .eo{
    font-size: 38px;
}
@media screen and (min-width:768px){
    .page_head{
        padding: 33px 40px 29px;
        min-height: 155px;
    }
    .commonTitle01 {
        font-size: 42px;
    }
    .commonTitle01 .service_name{
        font-size: 28px;
    }
    .commonTitle01 .service_name_small{
        font-size: 20px;
    }
    .commonTitle01 .eo{
        font-size: 54px;
    }
}
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, .page_head {
        min-height: inherit;
        padding: 53px 40px 49px;
    } /* IE11 */
}

.commonTitle02 {
    position: relative;
    margin: 30px 0 30px;
    padding: 0 20px 15px;
    text-align: center;
    font-size: 23px;
    font-weight: bold;
}
.page_section .commonTitle02:first-child {
    margin: 0 0 30px;
}
.commonTitle02:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 5px;
    background-color: #ccc;
}
.commonTitle02:after {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 100px;
    height: 5px;
    background-color: #09499e;
    transform: translate(-50%, 0);
}
@media screen and (min-width:768px){
    .commonTitle02 {
        font-size: 30px;
        margin: 40px 0 40px;
        padding: 0 40px 18px;
    }
    .page_section .commonTitle02:first-child {
        margin: 0 0 40px;
    }
    .commonTitle02:before {
        height: 8px;
    }
    .commonTitle02:after {
        width: 160px;
        height: 8px;
    }
}
.commonTitle03 {
    position: relative;
    padding-top: 2px;
    padding-left: 20px;
    margin-bottom: 15px;
    line-height: 1.4;
    font-size: 18px;
    font-weight: normal;
}
.commonTitle03:before {
    position: absolute;
    display: block;
    content: "";
    width: 4px;
    height: 100%;
    background-color: #09499e;
    top: 0;
    left: 0;
}
.commonTitle03 span {
    font-size: 13px;
}
@media screen and (min-width:768px){
    .commonTitle03 {
        padding-top: 6px;
        padding-left: 25px;
        margin-bottom: 30px;
        font-size: 26px;
        line-height: 1.3;
    }
    .commonTitle03:before {
        width: 9px;
        top: 0;
    }
    .commonTitle03 span {
        font-size: 14px;
    }
}

.commonTitle04 {
    position: relative;
    padding-left: 15px;
    margin-bottom: 10px;
    font-size: 16px;
    font-weight: bold;
}
.commonTitle04:before {
    position: absolute;
    display: block;
    content: "";
    width: 8px;
    height: 8px;
    background-color: #09499e;
    top: 9px;
    left: 0;
}
@media screen and (min-width:768px){
    .commonTitle04 {
        padding-left: 20px;
        font-size: 20px;
    }
    .commonTitle04:before {
        top: 12px;
    }
    .width_80{
        width: 80%;
        margin: auto;
    }
    .width_50{
        width: 50%;
        margin: auto;
    }
}

.commonTitle05{
    margin-bottom: 5px;
    font-size: 15px;
    font-weight: bold;
}
@media screen and (min-width:768px){
    .commonTitle05{
        font-size: 16px;
    }
}

.commonTitle03 > a,
.commonTitle04 > a,
.commonTitle05 > a{
    color: #000;
}
.commonTitle03 > a:hover,
.commonTitle04 > a:hover,
.commonTitle05 > a:hover{
    text-decoration: none;
}
.commonTitle03 > a[target="_blank"]:after,
.commonTitle04 > a[target="_blank"]:after,
.commonTitle05 > a[target="_blank"]:after{
    display: inline-block;
    position: relative;
    font-family: 'icomoon';
    content: "\e900";
    font-weight: normal;
    font-style: normal;
    color: #666;
}
.commonTitle03 > a[target="_blank"]:after{
    margin-left: 5px;
    font-size: 18px;
}
.commonTitle04 > a[target="_blank"]:after{
    margin-left: 5px;
    font-size: 16px;
}

.rect_title {
    position: relative;
    padding-left: 15px;
    margin-bottom: 5px;
    font-weight: bold;
}
.rect_title:before {
    position: absolute;
    display: block;
    content: "";
    width: 8px;
    height: 8px;
    background-color: #09499e;
    top: 7px;
    left: 0;
}
.rect_none{
    padding-left: 0;
}
.rect_none:before {
    display: none;
}
@media screen and (min-width:768px){
    .rect_title {
        padding-left: 15px;
        font-size: 16px;
    }
    .rect_title:before {
        top: 8px;
    }
}

/*text*/
.readcopy{
    font-weight: normal;
    font-size: 16px;
}
@media screen and (min-width:768px){
    .readcopy{
        font-size: 18px;
        text-align: center;
    }
}
.textarea{
    margin-bottom: 15px;
}
.col_flex .textarea{
    margin-bottom: 0px;
}
.textarea p{
    margin-bottom: 15px;
}
.textarea p:last-of-type{
    margin-bottom: 0px;
}

.frame_text01{
    padding: 20px 20px;
    border: 1px solid #b9c3c8;
    background-color: #eaeff3;
}
.frame_text01.white{
    background-color: #fff;
}
.frame_text01.bd_none{
    border: 0px solid transparent;
}
.frame_text01.red_border{
    border: 2px solid #cd1e23;
    background-color: #fff;
    color: #cd1e23;
}
.frame_text01.green_border{
    border: 4px solid #0095a1;
    background-color: #fff;
}
.frame_text01.turquoise_border{
    border: 4px solid #1879ac;
    background-color: #fff;
}
.frame_text01.lightblue_border{
    border: 4px solid #92b6e6;
    background-color: #fff;
}
.frame_text01.blue_border{
    border: 4px solid #55709d;
    background-color: #fff;
}
.frame_text01.red_border .dot_list li:before{
    background-color: #cd1e23;
}
.frame_text02{
    padding: 20px 20px;
    border: 2px solid #b9c3c8;
}
.bg_text{
    padding: 20px;
}
.br_5{
    border-radius: 5px;
}
.br_10{
    border-radius: 10px;
}
@media screen and (min-width:768px){
    .frame_text01{
        padding: 15px 40px;
    }
    .frame_text02{
        padding: 15px 40px;
    }
    .frame_text01.pd_min,
    .frame_text02.pd_min{
        padding: 15px 15px;
    }
}

/*zoom*/
.zoom_btn{
    position: relative;
    margin-top: 5px;
}
.zoom_btn:after{
    display: block;
    content: "";
    clear: both;
}
.zoom_btn > p{
    float: right;
    color: #000;
    text-decoration: none;
    font-size: 13px;
    padding: 3px 5px 0 0;
}
.zoom_btn > .zoom_ico{
    float: right;
    text-decoration: none;
    width: 25px;
    height: 25px;
}
@media screen and (min-width:768px){
    .zoom_btn > p{
        font-size: 13px;
        padding: 5px 5px 0 0;
    }
    .zoom_btn > .zoom_ico{
        width: 35px;
        height: 35px;
    }
}

/*グレー枠テキスト*/
.catch_border{
    max-width: 930px;
    margin: 0 auto 15px;
    padding: 10px;
    text-align: center;
    background-color: #f3f3f3;
    border-radius: 10px;
}
.catch_border.bg_yellow{
    background-color: #f9be00;
}
.catch_border .price .textlarge{
    font-size: 25px;
}
@media screen and (min-width:768px){
    .catch_border p{
        font-size: 18px;
    }
    .catch_border .price{
        font-size: 26px;
    }
    .catch_border .price .textlarge{
        font-size: 38px;
    }
}

.note_list{
    font-size: 12px;
}
.note_list li{
    position: relative;
    padding-left: 1.5em;
    text-indent: -1.5em;
}
.note_list li:not(:last-child){
    padding-bottom: 5px;
}
.note_list li.num{
    padding-left: 2em;
    text-indent: -2em;
}
.note_list li.jp{
    padding-left: 2.3em;
    text-indent: -2.3em;
}
.note_list li.jp_num{
    padding-left: 2.7em;
    text-indent: -2.7em;
}
.note_list li a.textlink{
    text-indent: 0;
}

/*list*/
.dot_list li{
    position: relative;
    padding-left: 16px;
}
.dot_list li:not(:last-child){
    padding-bottom: 8px;
}
.dot_list li:before{
    display: block;
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    top: 7px;
    left: 0px;
    border-radius: 50%;
    background-color: #09499e;
}
.dot_list li.higher{
    line-height: 26px;
}
.dot_list li.higher:before{
    top: 6px;
}
.dot_list li.higher:not(:last-child){
    padding-bottom: 15px;
}
.dot_list li.higher .textlarge{
    line-height: 14px;
}
.dot_list.min li{
    padding-left: 10px;
    font-size: 13px;
    text-indent: 0;
}
.dot_list.min li:not(:last-child){
    padding-bottom: 1px;
}
.dot_list.min li:before{
    width: 2px;
    height: 2px;
    top: 10px;
    left: 4px;
    background-color: #000;
}
.dot_list li.sup:before{
    top: 10px;
}
.dot_list.inline > li{
    display: inline-block;
    margin-right: 2em;
}
.dot_list.inline > li:before{
    width: 2px;
    height: 2px;
    top: 10px;
    left: 4px;
    background-color: #000;
}
@media screen and (min-width:768px){
    .dot_list li.higher:before{
        top: 4px;
    }
    .dot_list li.higher:not(:last-child){
        padding-bottom: 20px;
    }
}

/* btn_charge_Area */
.btn_charge_Area{
    background-color:#f0f3fa;
    padding: 30px;
    width: 100%;
}
.btn_charge_text{
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px;
}
ul.btn_charge_Box li{
    width: 100%;
    margin: auto;

    } 
   ul.btn_charge_Box li.charge_01 a{
    background-color: #cc1e23;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    padding: 10px;
    border-radius: 5px;
    text-align: center;
    display: flex;
    width: 100%;
    align-items: center;
    margin-bottom: 10px;
    text-decoration: none;
    }
    ul.btn_charge_Box li.charge_02 a{
        background-color:#fabe00;
        color: #000;
        font-size: 14px;
        font-weight: 600;
        padding: 10px;
        border-radius: 5px;
        text-align: center;
        display: flex;
        width: 100%;
        align-items: center;
        margin-bottom: 10px;
        text-decoration: none;
    }
    ul.btn_charge_Box li.charge_03 a{
        background-color:#0ab6c2;
        color: #fff;
        font-size: 14px;
        font-weight: 600;
        padding: 10px;
        border-radius: 5px;
        text-align: center;
        display: flex;
        width: 100%;
        align-items: center;
        margin-bottom: 10px;
        text-decoration: none;
    } 
    p.charge_icon {
        width: 30px;
        margin: 0 6px;
    }
    p.btn_charge_link a{
        color: #09499e;
        text-decoration: none;
        display: block;
        width: 80%;
        background-color: white;
        margin: 20px auto 0px;
        padding: 5px;
        border: 1px solid #09499e;
    }
   
    p.btn_charge_link {
        font-size: 14px;
        font-weight: 600;
        text-align: center;
        position: relative;
   
    }
    p.btn_charge_link::after{
        content: '';
        display: block;
        position: absolute;
        width: 12px;
        height: 12px;
        border-right: 2px solid #09499e;
        border-bottom: 2px solid #09499e;
        transform: rotate(-45deg);
        top: 0;
        bottom: 0;
        right: 60px;
        margin: auto;
    }
    li.charge_01 a,li.charge_03 a {
        display: contents;
        color: #fff;
    }
    li.charge_02 a {
        display: contents;
        color: #000;
    }

@media screen and (min-width:768px){
    .btn_charge_Area{
        background-color: #f0f3fa;
        padding: 30px;
        width: 1120px;
        max-width: 100%;
        margin: auto;
    
    }
    .btn_charge_text{
        font-size: 25px;
        font-weight: bold;
        text-align: center;
        margin-bottom: 30px;
    }
    ul.btn_charge_Box{
        display: flex;
        justify-content: space-between;
        width: 90%;
        margin: 0 auto 30px;

    }
    ul.btn_charge_Box li{
    width: 280px;

    } 
    ul.btn_charge_Box p.charge_icon{
        width: 18%;
        margin: 0 auto 3px;
    }
    ul.btn_charge_Box p.charge_text{
        line-height: 1.4;
    }
    ul.btn_charge_Box p.charge_text2{
        line-height: 2.8;
    }
    /* ul.btn_charge_Box li:nth-child(2) p.charge_text{
        line-height: 2.8;
    } */

    ul.btn_charge_Box li.charge_01 {
        width: 32%;
    }
    ul.btn_charge_Box li.charge_02{
        width: 32%;
        }
    ul.btn_charge_Box li.charge_03{
        width: 32%;
        }
    ul.btn_charge_Box li.charge_01 a{
    background-color: #cc1e23;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    padding: 10px;
    border-radius: 10px;
    text-align: center;
    line-height: 1.5;
    display: block;
    height: 130px;
    text-decoration: none;
    }
    ul.btn_charge_Box li.charge_02 a{
    background-color:#fabe00;
    color: #000;
     font-size: 18px;
    font-weight: 600;
    padding: 10px;
    border-radius: 10px;
    text-align: center;
    line-height: 1.5;
    display: block;
    height: 130px;
    text-decoration: none;
    }
    ul.btn_charge_Box li.charge_03 a{
    height: 130px;
   
    }

    ul.btn_charge_Box li.charge_03 a{
        background-color: #0ab6c2;
        color: #fff;
        font-size: 18px;
        font-weight: 600;
        padding: 10px;
        border-radius: 10px;
        text-align: center;
        line-height: 50px;
        display: block;
        height: 130px;
        text-decoration: none;
    }
    p.btn_charge_link {
        font-size: 20px;
        font-weight: 600;
        text-align: center;
        position: relative;
    }
    p.btn_charge_link::after {
        content: '';
        display: block;
        position: absolute;
        width: 12px;
        height: 12px;
        border-right: 2px solid #09499e;
        border-bottom: 2px solid #09499e;
        transform: rotate(-45deg);
        top: 0;
        bottom: 0;
        right: 35%;
        margin: auto;
    }
    p.btn_charge_link a{
        color: #09499e;
    text-decoration: none;
    display: block;
    width: 40%;
    background-color: white;
    margin: auto;
    padding: 5px;
    border: 1px solid #09499e;
    }
}



.check_list > li{
    position: relative;
    padding-left: 30px;
}
.check_list > li:not(:last-child){
    padding-bottom: 8px;
}
.check_list > li:before{
    display: block;
    position: absolute;
    content: "";
    width: 20px;
    height: 20px;
    background-image: url(../img/common/ico_check.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    top: 2px;
    left: 0px;
}
.check_list > li.higher:before{
    top: 6px;
}
@media screen and (min-width:768px){
    .check_list > li.higher:before{
        top: 13px;
    }
    .check_list > li.pc_higher:before{
        top: 16px;
    }
}

.numb_list_01{
    counter-reset: item;
}
.numb_list_01 > li{
    position: relative;
    padding-left: 20px;
}
.numb_list_01 > li:not(:last-child){
    padding-bottom: 8px;
}
.numb_list_01 > li:before{
    display: block;
    position: absolute;
    counter-increment: item;
    content: counter(item)'.';
    top: 0px;
    left: 0px;
    color: #09499e;
    font-weight: bold;
}

.numb_list_02{
    counter-reset: item;
}
.numb_list_02 > li{
    position: relative;
    padding-left: 30px;
}
.numb_list_02 > li:not(:last-child){
    padding-bottom: 8px;
}
.numb_list_02 > li:before{
    display: block;
    position: absolute;
    counter-increment: item;
    content: '('counter(item)')';
    top: 0px;
    left: 0px;
    color: #09499e;
    font-weight: bold;
}
.numb_list_02.min {
    font-size: 12px;
}
.numb_list_02.min > li{
    padding-left: 25px;
}
.numb_list_02.min > li:before{
    color: #000;
    font-weight: normal;
}

/*table*/
.basic_table{
    width: 100%;
    border-top: 1px solid #cccccc;
    border-right: 1px solid #cccccc;
	table-layout: fixed;
}
.basic_table th{
    font-weight: bold;
}
.basic_table thead th{
    background-color: #e6ecf5;
}
.basic_table tbody th{
    background-color: #f6f6f6;
}
.basic_table.single_th_row tbody th{
    background-color: #e6ecf5;
}
.table_bg01{
    background-color: #e6ecf5!important;
}
.table_bg02{
    background-color: #f6f6f6!important;
}
.table_bg03{
    background-color: #d2ddeb!important;
}
.table_bg04{
    background-color: #d0dbec!important;
}
.table_bg05{
    background-color: #ececec!important;
}
.basic_table th,
.basic_table td{
    border-bottom: 1px solid #cccccc;
    border-left: 1px solid #cccccc;
    padding: 10px;
    text-align: center;
    vertical-align: middle;
}

.basic_table.pd_l th,
.basic_table.pd_l td{
    padding: 20px 10px;
}
.basic_table.pd_l_max th,
.basic_table.pd_l_max td{
    padding: 35px 10px;
}
.basic_table.single_sp_down.pd_l th,
.basic_table.single_sp_down.pd_l td{
    padding: 10px 10px;
}
.basic_table th.w_10,
.basic_table td.w_10{
    width: 10%;
}
.basic_table th.w_15,
.basic_table td.w_15{
    width: 15%;
}
.basic_table th.w_20,
.basic_table td.w_20{
    width: 20%;
}
.basic_table th.w_25,
.basic_table td.w_25{
    width: 25%;
}
.basic_table th.w_30,
.basic_table td.w_30{
    width: 30%;
}
.basic_table th.w_35,
.basic_table td.w_35{
    width: 35%;
}
.basic_table th.w_40,
.basic_table td.w_40{
    width: 40%;
}
.basic_table th.w_45,
.basic_table td.w_45{
    width: 45%;
}
.basic_table th.w_50,
.basic_table td.w_50{
    width: 50%;
}
.basic_table th.w_55,
.basic_table td.w_55{
    width: 55%;
}
.basic_table th.w_60,
.basic_table td.w_60{
    width: 60%;
}
.basic_table th.w_65,
.basic_table td.w_65{
    width: 65%;
}
.basic_table th.w_70,
.basic_table td.w_70{
    width: 70%;
}
.basic_table th.w_75,
.basic_table td.w_75{
    width: 75%;
}
.basic_table th.w_80,
.basic_table td.w_80{
    width: 80%;
}
.basic_table th.w_85,
.basic_table td.w_85{
    width: 85%;
}
.basic_table th.w_90,
.basic_table td.w_90{
    width: 90%;
}
.basic_table th.w_95,
.basic_table td.w_95{
    width: 95%;
}
.basic_table th.w_33,
.basic_table td.w_33{
    width: 33.33%;
}
.basic_table th.w_16,
.basic_table td.w_16{
    width: 16.66%;
}
.basic_table th.w_14,
.basic_table td.w_14{
    width: 14.28%;
}
.basic_table th.w_12,
.basic_table td.w_12{
    width: 12.5%;
}
.scroll_table{
    width: 100%;
}
.scroll_table table{
    min-width: 750px;
    width: 100%;
}
.basic_table.single_sp_down tr,
.basic_table.single_sp_down th,
.basic_table.single_sp_down td{
    display: block;
    width: 100%;
}
.body_th_left tbody th{
    text-align: left;
}
.basic_table a{
    color: #09499e;
    position: relative;
    display: inline-block;
    word-break: break-all;
}
.basic_table a[href^="#"]:after{
    content: '\025bc';
}
@media screen and (min-width:768px){
    .scroll_table table{
        width: 100%;
    }
    .basic_table.single_sp_down tr{
        display: table-row;
    }
    .basic_table.single_sp_down th,
    .basic_table.single_sp_down td{
        display: table-cell;
        width: auto;
    }
    .basic_table.pd_l th,
    .basic_table.pd_l td{
        padding: 10px 10px;
    }
    .basic_table.pd_l_max th,
    .basic_table.pd_l_max td{
        padding: 10px 10px;
    }
    .basic_table th.pc_w_10,
    .basic_table td.pc_w_10{
        width: 10%;
    }
    .basic_table th.pc_w_15,
    .basic_table td.pc_w_15{
        width: 15%;
    }
    .basic_table th.pc_w_20,
    .basic_table td.pc_w_20{
        width: 20%;
    }
    .basic_table th.pc_w_25,
    .basic_table td.pc_w_25{
        width: 25%;
    }
    .basic_table th.pc_w_30,
    .basic_table td.pc_w_30{
        width: 30%;
    }
    .basic_table th.pc_w_35,
    .basic_table td.pc_w_35{
        width: 35%;
    }
    .basic_table th.pc_w_40,
    .basic_table td.pc_w_40{
        width: 40%;
    }
    .basic_table th.pc_w_45,
    .basic_table td.pc_w_45{
        width: 45%;
    }
    .basic_table th.pc_w_50,
    .basic_table td.pc_w_50{
        width: 50%;
    }
    .basic_table th.pc_w_55,
    .basic_table td.pc_w_55{
        width: 55%;
    }
    .basic_table th.pc_w_60,
    .basic_table td.pc_w_60{
        width: 60%;
    }
    .basic_table th.pc_w_65,
    .basic_table td.pc_w_65{
        width: 65%;
    }
    .basic_table th.pc_w_70,
    .basic_table td.pc_w_70{
        width: 70%;
    }
    .basic_table th.pc_w_75,
    .basic_table td.pc_w_75{
        width: 75%;
    }
    .basic_table th.pc_w_80,
    .basic_table td.pc_w_80{
        width: 80%;
    }
    .basic_table th.pc_w_85,
    .basic_table td.pc_w_85{
        width: 85%;
    }
    .basic_table th.pc_w_90,
    .basic_table td.pc_w_90{
        width: 90%;
    }
    .basic_table th.pc_w_95,
    .basic_table td.pc_w_95{
        width: 95%;
    }
    .basic_table th.pc_w_33,
    .basic_table td.pc_w_33{
        width: 33.33%;
    }
    .basic_table th.pc_w_16,
    .basic_table td.pc_w_16{
        width: 16.66%;
    }
    .basic_table th.pc_w_14,
    .basic_table td.pc_w_14{
        width: 14.28%;
    }
    .basic_table th.pc_w_12,
    .basic_table td.pc_w_12{
        width: 12.5%;
    }
    .basic_table.single_sp_down.pd_l th,
    .basic_table.single_sp_down.pd_l td{
        padding: 10px 10px;
    }
    .basic_table.single_sp_down th.w_10,
    .basic_table.single_sp_down td.w_10{
        width: 10%;
    }
    .basic_table.single_sp_down th.w_15,
    .basic_table.single_sp_down td.w_15{
        width: 15%;
    }
    .basic_table.single_sp_down th.w_20,
    .basic_table.single_sp_down td.w_20{
        width: 20%;
    }
    .basic_table.single_sp_down th.w_25,
    .basic_table.single_sp_down td.w_25{
        width: 25%;
    }
    .basic_table.single_sp_down th.w_30,
    .basic_table.single_sp_down td.w_30{
        width: 30%;
    }
    .basic_table.single_sp_down th.w_35,
    .basic_table.single_sp_down td.w_35{
        width: 35%;
    }
    .basic_table.single_sp_down th.w_40,
    .basic_table.single_sp_down td.w_40{
        width: 40%;
    }
    .basic_table.single_sp_down th.w_45,
    .basic_table.single_sp_down td.w_45{
        width: 45%;
    }
    .basic_table.single_sp_down th.w_50,
    .basic_table.single_sp_down td.w_50{
        width: 50%;
    }
    .basic_table.single_sp_down th.w_55,
    .basic_table.single_sp_down td.w_55{
        width: 55%;
    }
    .basic_table.single_sp_down th.w_60,
    .basic_table.single_sp_down td.w_60{
        width: 60%;
    }
    .basic_table.single_sp_down th.w_65,
    .basic_table.single_sp_down td.w_65{
        width: 65%;
    }
    .basic_table.single_sp_down th.w_70,
    .basic_table.single_sp_down td.w_70{
        width: 70%;
    }
    .basic_table.single_sp_down th.w_75,
    .basic_table.single_sp_down td.w_75{
        width: 75%;
    }
    .basic_table.single_sp_down th.w_80,
    .basic_table.single_sp_down td.w_80{
        width: 80%;
    }
    .basic_table.single_sp_down th.w_85,
    .basic_table.single_sp_down td.w_85{
        width: 85%;
    }
    .basic_table.single_sp_down th.w_90,
    .basic_table.single_sp_down td.w_90{
        width: 90%;
    }
    .basic_table.single_sp_down th.w_95,
    .basic_table.single_sp_down td.w_95{
        width: 95%;
    }
    .basic_table.single_sp_down th.w_33,
    .basic_table.single_sp_down td.w_33{
        width: 33.33%;
    }
    .basic_table.single_sp_down th.w_16,
    .basic_table.single_sp_down td.w_16{
        width: 16.66%;
    }
    .basic_table.single_sp_down th.w_14,
    .basic_table.single_sp_down td.w_14{
        width: 14.28%;
    }
    .basic_table.single_sp_down th.w_12,
    .basic_table.single_sp_down td.w_12{
        width: 12.5%;
    }
}

/*tooltip*/
.tooltip {
    cursor: pointer;
    display: inline-block;
    text-decoration: underline;
}
#tooltip{
    font-size: 11px;
    color: #fff;
    background: #09499e;
    position: absolute;
    z-index: 100;
    padding: 15px;
}
#tooltip:before{
    position: absolute;
    display: block;
    content: "\02715";
    width: 10px;
    height: 10px;
    font-size: 10px;
    line-height: 1;
    top: 5px;
    right: 5px;
}
#tooltip:after{
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid #09499e;
    content: '';
    position: absolute;
    left: 50%;
    bottom: -10px;
    margin-left: -10px;
}
#tooltip.top:after{
    border-top-color: transparent;
    border-bottom: 10px solid #09499e;
    top: -20px;
    bottom: auto;
}
#tooltip.left:after{
    left: 10px;
    margin: 0;
}
#tooltip.right:after{
    right: 10px;
    left: auto;
    margin: 0;
}
@media screen and (min-width:768px){
    #tooltip{
        font-size: 12px;
    }
    #tooltip:before{
        display: none;
    }
}

/*accordion*/
.accordion_cont{
    margin-bottom: 10px;
}
.accordion_head{
    position: relative;
    cursor: pointer;
    padding: 15px 60px 15px 15px;
    background-color: #09499e;
    color: #fff;
    font-size: 16px;
    /*text-align: center;*/
    border-radius: 5px;
}
.accordion_head:before{
    position: absolute;
    display: block;
    content: "";
    width: 20px;
    height: 2px;
    background-color: #fff;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto;
    transition: all 0.3s;
}
.accordion_head:after{
    position: absolute;
    display: block;
    content: "";
    width: 2px;
    height: 20px;
    background-color: #fff;
    top: 0;
    bottom: 0;
    right: 29px;
    margin: auto;
    transition: all 0.3s;
}
.accordion_head.open:before{
    opacity: 0;
    transform: rotate(90deg);
}
.accordion_head.open:after{
    transform: rotate(90deg);
}
.accordion_body{
    border: 1px solid #cccccc;
}
.accordion_body.table{
    border: 0px solid transparent;
}
.accordion_text{
    padding: 15px;
    background-color: #fff;
}
.accordion_body.table .accordion_text{
    padding: 0px;
}
.accordion_close{
    position: relative;
    background-color: #f6f6f6;
    padding: 15px;
    text-align: center;
    cursor: pointer;
}
.accordion_body.table .accordion_close{
    border-left: 1px solid #cccccc;
    border-right: 1px solid #cccccc;
    border-bottom: 1px solid #cccccc;
}
.accordion_close span{
    display: inline-block;
    position: relative;
    padding-left: 30px;
}
.accordion_close span:before{
    display: block;
    position: absolute;
    content: "";
    width: 20px;
    height: 1px;
    background-color: #09499e;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    transform: rotate(45deg);
}
.accordion_close span:after{
    display: block;
    position: absolute;
    content: "";
    width: 20px;
    height: 1px;
    background-color: #09499e;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    transform: rotate(-45deg);
}

.flow_flex{
    display: flex;
    width: -webkit-calc(100% + 20px);
    width: calc(100% + 20px);
    flex-wrap: wrap;
    margin: 0 -10px;
}
.flow_arrow{
    display: flex;
    width: 82px;
    padding: 0 10px;
}
.flow_cont{
    display: flex;
    width: -webkit-calc(100% - 82px);
    width: calc(100% - 82px);
    flex-wrap: wrap;
    padding: 0 10px;
}
.flow_flex_full .flow_cont{
    max-width: 950px;
    width: 100%;
    margin: 0 auto;
    padding: 0 10px;
}
.flow_flex_full.max .flow_cont{
    max-width: 100%;
    padding: 0 0px;
}
.flow_arrow div{
    display: flex;
    width: 100%;
    height: -webkit-calc(100% - 30px);
    height: calc(100% - 30px);
    flex-wrap: wrap;
    align-items: center;
    background-color: #d6dfee;
    position: relative;
}
.flow_arrow div:before{
    display: block;
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border: 31px solid transparent;
    border-top: 19px solid #d6dfee;
    bottom: -50px;
    left: 0;
}
.flow_arrow div span{
    display: block;
    width: 100%;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-text-orientation: upright;
    text-orientation: upright;
    font-weight: bold;
    transform: translateX(-19px);
}
.flow_cont .detail_list{
    width: 100%;
}
.flow_cont .detail_list > li{
    padding-bottom: 30px;
    position: relative;
}
.flow_cont .detail_list > li:before{
    display: block;
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border: 15px solid transparent;
    border-top: 15px solid #cccccc;
    bottom: -9px;
    left: 0;
    right: 0;
    margin: auto;
}
.flow_cont .detail_list > li.last:before{
    display: none;
}
.flow_cont .detail_list > li .col_dl > dl{
    margin-bottom: 0px;
}
.flow_arrow div span em.num{
    font-style: normal;
    -webkit-text-combine: horizontal;
    -ms-text-combine-horizontal: all;
    text-combine-upright: all;
}
.flow_arrow div span em.num_ie{
    font-style: normal;
    -ms-text-combine-horizontal: all;
}
.flow_close{
    border: 3px solid #00afee;
    padding: 20px;
    font-weight: bold;
    font-size: 15px;
    color: #00afee;
    text-align: center;
}
.flow_detail {
	
}
.col_dl .flow_detail .movie_thumb {
    margin-top: 15px;
    text-align: center;
}
.flow_movie-ttl {
		font-weight: bold;
		font-size: 16px;
    margin-top: 40px;
    text-align: center;
}
.flow_movie {
    margin-top: 20px;
    text-align: center;
}
.flow_movie > li:last-child {
    margin-top: 15px;
}
@media screen and (min-width:768px){
    .flow_arrow div{
        height: -webkit-calc(100% - 40px);
        height: calc(100% - 40px);
    }
    .flow_list.min{
        max-width: 940px;
        margin: 0 auto;
    }
    .flow_cont .detail_list > li:not(:last-of-type){
        padding-bottom: 40px;
    }
    .flow_cont .detail_list > li:before{
        border: 22px solid transparent;
        border-top: 22px solid #cccccc;
        bottom: -14px;
    }
    .flow_arrow div span{
        font-size: 16px;
        transform: translateX(-17px);
    }
	.flow_detail {
        display: flex;
        justify-content: space-between;
	}
	.col_dl .flow_detail .shell {
		width: auto;
		flex-basis: 64%;
		max-width:  64%;
	}
	.col_dl .flow_detail .movie_thumb {
		flex-basis: 32%;
		max-width:  32%;
	}
	.col_dl .flow_detail .movie_thumb .popup_movie {
		position: relative;
	}
	.flow_movie-ttl {
			font-size: 20px;
			margin-top: 40px;
	}
	.flow_movie {
			display: flex;
			justify-content: space-between;
			margin-top: 20px;
			margin-left: auto;
			margin-right: auto;
			max-width: 90%;
	}
	.flow_movie > li{
			flex-basis: 48%;
			max-width: 48%;
	}
	.flow_movie > li:last-child {
		margin-top: 0;
	}
}

/*導入事例一覧*/
.case_list > li{
    padding: 0 0 20px;
}
.case_list_cont{
    display: block;
    text-decoration: none;
    color: #000;
}
.case_digest{
    position: relative;
    border: 1px solid #cccccc;
    padding: 0 20px 20px;
}
.case_digest:before{
    display: block;
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border: 15px solid transparent;
    border-right: 15px solid #094a9e;
    border-bottom: 15px solid #094a9e;
    right: 4px;
    bottom: 4px;
}
.case_digest:after{
    display: block;
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    right: 10px;
    bottom: 9px;
    transform: rotate(45deg);
}
.case_digest > dt{
    padding: 15px 0 5px;
    border-bottom: 1px solid #cccccc;
}
.case_digest > dt .case_point,
.case_digest > dt .ico_wrap{
    width: 100%;
}
.case_digest > dt .case_point{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    font-weight: bold;
    text-align: center;
    line-height: 1.3;
    color: #094a9e;
    font-size: 16px;
}
.case_digest > dt .case_point span{
    display: block;
    width: 100%;
}
.case_digest > dt .ico_wrap{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 10px;
}
.case_digest > dt .ico_service{
    display: block;
    font-size: 10px;
    padding: 3px 5px;
    color: #fff;
    font-weight: bold;
    margin: 0 1px 2px;
    letter-spacing: 0;
}
.case_digest > dt .ico_service.internet{
    background-color: #00aeea;
}
.case_digest > dt .ico_service.phone{
    background-color: #e74d95;
}
.case_digest > dt .ico_service.hosting{
    background-color: #8fc320;
}
.case_digest .case_info{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding-top: 15px;
    text-align: center;
}
.case_digest .case_info span{
    display: block;
    width: 100%;
}
.case_digest > dd .case_point{
    margin-top: 15px;
}
@media screen and (min-width:768px){
    .case_list{
        display: flex;
        flex-wrap: wrap;
        width: calc(100% + 32px);
        margin: 0 -16px -32px;
    }
    .case_list > li{
        width: 33.33%;
        padding: 0 16px 32px;
        display: flex;
        flex-wrap: wrap;
    }
    .case_list_cont{
        width: 100%;
        display: flex;
        flex-wrap: wrap;
    }
    .case_digest{
        width: 100%;
        padding: 0 25px 20px;
    }
    .case_digest:before{
        border: 20px solid transparent;
        border-right: 20px solid #094a9e;
        border-bottom: 20px solid #094a9e;
    }
    .case_digest:after{
        width: 10px;
        height: 10px;
        right: 12px;
        bottom: 11px;
    }
    .case_digest > dt{
        padding: 20px 0 10px;
    }
    .case_digest > dt .case_point{
        font-size: 19px;
    }
    .case_digest .case_info{
        padding-top: 10px;
        font-size: 16px;
    }
}

/*グレー枠テキスト＋価格*/
.arrow_price{
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 920px;
    margin: 0 auto 15px;
    overflow: hidden;
    border-radius: 10px;
}
.arrow_price dt{
    display: flex;
    align-items: center;
    width: 140px;
    align-self: stretch;
    padding: 10px 5px 10px 15px;
    line-height: 1.5;
    font-weight: bold;
    color: #fff;
    background-color: #09499e;
    position: relative;
}
.arrow_price dt:before{
    display: block;
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border: 37px solid transparent;
    border-right: 18px solid transparent;
    border-left: 18px solid #09499e;
    right: -36px;
    top: 0;
    z-index: 5;
}
.arrow_price dd{
    width: calc(100% - 130px);
    padding: 5px 10px;
    line-height: 1.5;
    text-align: right;
    background-color: #f3f3f3;
    background-size: 17px 100%;
}
.arrow_price dd span{
    color: #09499e;
}
.arrow_price dd strong{
    font-size: 25px;
}
@media screen and (min-width:768px){
    .arrow_price dt{
        justify-content: center;
        font-size: 18px;
        width: 35%;
    padding: 10px 15px;
    }
    .arrow_price dd{
        width: 65%;
        padding: 8px 10px;
        padding-left: 27px;
        text-align: center;
    }
    .arrow_price dd span{
        font-size: 26px;
    }
    .arrow_price dd strong{
        font-size: 38px;
    }
}

/*サービスアイコン*/
.ico_group{
    border-top: 1px solid #ccc;
}
.ico_group > li{
    position: relative;
    border-bottom: 1px solid #ccc;
    padding: 20px 0;
}
.ico_cont_wrap{
    display: flex;
    flex-wrap: wrap;
}
.ico_cont_wrap .ico_img{
    width: 80px;
}
.ico_cont_wrap .ico_text{
    width: -webkit-calc(100% - 80px);
    width: calc(100% - 80px);
    padding-left: 20px;
}
.ico_cont_wrap div.list{
    width: 100%;
}
.ico_cont_wrap .ico_text dt{
    margin-bottom: 10px;
}
.ico_cont_wrap .ico_text dt div{
    display: inline;
    font-weight: bold;
    font-size: 18px;
}
.ico_cont_wrap .ico_text dt .spec{
    position: relative;
    display: inline-block;
    font-weight: bold;
    padding: 2px 15px;
    line-height: 1.3;
    background-color: #eb5199;
    color: #fff;
    text-align: center;
    top: -2px;
}
.ico_cont_wrap .ico_text dt .spec.paid{
    border: 1px solid #eb5199;
    background-color: #fff;
    color: #eb5199;
}
.ico_cont_wrap .ico_text dt .spec.full{
    display: block;
}
.ico_cont_wrap .ico_text dt .spec.full:not(:last-child){
    margin-bottom: 5px;
}
@media screen and (min-width:768px){
    .ico_group{
        display: flex;
        flex-wrap: wrap;
    }
    .ico_group > li{
        width: 50%;
        padding: 20px 20px;
    }
    .ico_group > li:nth-of-type(2n+1):before{
        display: block;
        position: absolute;
        content: "";
        height: calc(100% - 40px);
        width: 1px;
        background-color: #ccc;
        top: 0;
        bottom: 0;
        right: 0px;
        margin: auto;
    }
    .ico_cont_wrap div.list{
        padding-left: 100px;
    }
    .ico_cont_wrap .ico_text dt{
        margin-bottom: 5px;
    }
    .ico_cont_wrap .ico_text dt div{
        font-size: 20px;
    }
    .ico_cont_wrap .ico_text dt .spec{
        top: -3px;
    }
}

/*2大キャンペーン*/
.twotop_campaign{
    border: 4px solid #fabe00;
    border-radius: 10px;
    background-color: #fffbef;
    padding: 20px;
}
.twotop_campaign .campaign_catch{
    font-size: 18px;
    line-height: 1.3;
}
.twotop_campaign .campaign_catch .sp_blue{
    color: #09499e;
    font-size: 19px;
}
.twotop_campaign .campaign_catch .sp_smaller{
    display: block;
    font-style: normal;
    font-size: 15px;
}
.twotop_campaign .campaign_info{
    border-top: 2px solid #fabe00;
    border-bottom: 2px solid #fabe00;
    padding: 10px 0;
    text-align: center;
    font-size: 16px;
}
.twotop_campaign .campaign_info a{
    display: block;
    text-decoration: none;
    color: #000;
}
.twotop_campaign .campaign_info strong{
    font-size: 22px;
    display: block;
}
@media screen and (min-width:768px){
    .twotop_campaign{
        padding: 20px 80px;
    }
    .twotop_campaign .campaign_catch{
        font-size: 28px;
        line-height: 1.5;
    }
    .twotop_campaign .campaign_catch .sp_blue{
        color: #000;
        font-size: 28px;
    }
    .twotop_campaign .campaign_catch .sp_smaller{
        display: inline-block;
        font-size: 28px;
    }
    .twotop_campaign .campaign_info{
        font-size: 18px;
    }
    .twotop_campaign .campaign_info strong{
        font-size: 28px;
        display: inline-block;
    }
}

/*各サービス内容*/
.service_cacth .flex_img{
    text-align: right;
}
.service_cacth .flex_img img{
    max-width: 50%;
}
@media screen and (min-width:768px){
    .service_cacth .flex_img{
        text-align: inherit;
    }
    .service_cacth .flex_img img{
        max-width: 100%;
    }
}

/*動画エリア*/
.youtube_area {
    position: relative;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}
.youtube_area.border{
    border: 1px solid #b9c3c8;
}
.youtube_area:before {
    content: "";
    display: block;
    padding-top: 56.25%;
}
.youtube_area iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/*margin,padding,indent*/

.ti40 { margin-left: 4.0em !important;  text-indent: -4.0em !important;}
.ti35 { margin-left: 3.5em !important;  text-indent: -3.5em !important;}
.ti30 { margin-left: 3.0em !important;  text-indent: -3.0em !important;}
.ti25 { margin-left: 2.5em !important;  text-indent: -2.5em !important;}
.ti20 { margin-left: 2.0em !important;  text-indent: -2.0em !important;}
.ti15 { margin-left: 1.5em !important;  text-indent: -1.5em !important;}
.ti10 { margin-left: 1.0em !important;  text-indent: -1.0em !important;}
.ti5  { margin-left: 0.5em !important;  text-indent: -0.5em !important;}

span.ti40,
span.ti35,
span.ti30,
span.ti25,
span.ti20,
span.ti15,
span.ti10,
span.ti5 {
  display: block;
}

.indent-40 {  text-indent: 4.0em !important;}
.indent-35 {  text-indent: 3.5em !important;}
.indent-30 {  text-indent: 3.0em !important;}
.indent-25 {  text-indent: 2.5em !important;}
.indent-20 {  text-indent: 2.0em !important;}
.indent-15 {  text-indent: 1.5em !important;}
.indent-10 {  text-indent: 1.0em !important;}
.indent-5  {  text-indent: 0.5em !important;}
.indent-0  {  text-indent: 0 !important;}

.mt0  { margin-top: 0 !important;}    .mr0  { margin-right: 0 !important;}    .mb0  { margin-bottom: 0 !important;}    .ml0  {  margin-left: 0 !important;}
.mt3  { margin-top: 3px !important;}  .mr3  { margin-right: 3px !important;}  .mb3  { margin-bottom: 3px !important;}  .ml3  {  margin-left: 3px !important;}
.mt5  { margin-top: 5px !important;}  .mr5  { margin-right: 5px !important;}  .mb5  { margin-bottom: 5px !important;}  .ml5  {  margin-left: 5px !important;}
.mt10 { margin-top: 10px !important;} .mr10 { margin-right: 10px !important;} .mb10 { margin-bottom: 10px !important;} .ml10 {  margin-left: 10px !important;}
.mt15 { margin-top: 15px !important;} .mr15 { margin-right: 15px !important;} .mb15 { margin-bottom: 15px !important;} .ml15 {  margin-left: 15px !important;}
.mt20 { margin-top: 20px !important;} .mr20 { margin-right: 20px !important;} .mb20 { margin-bottom: 20px !important;} .ml20 {  margin-left: 20px !important;}
.mt25 { margin-top: 25px !important;} .mr25 { margin-right: 25px !important;} .mb25 { margin-bottom: 25px !important;} .ml25 {  margin-left: 25px !important;}
.mt30 { margin-top: 30px !important;} .mr30 { margin-right: 30px !important;} .mb30 { margin-bottom: 30px !important;} .ml30 {  margin-left: 30px !important;}
.mt35 { margin-top: 35px !important;} .mr35 { margin-right: 35px !important;} .mb35 { margin-bottom: 35px !important;} .ml35 {  margin-left: 35px !important;}
.mt40 { margin-top: 40px !important;} .mr40 { margin-right: 40px !important;} .mb40 { margin-bottom: 40px !important;} .ml40 {  margin-left: 40px !important;}
.mt50 { margin-top: 50px !important;} .mr50 { margin-right: 50px !important;} .mb50 { margin-bottom: 50px !important;} .ml50 {  margin-left: 50px !important;}
.mt60 { margin-top: 60px !important;} .mr60 { margin-right: 60px !important;} .mb60 { margin-bottom: 60px !important;} .ml60 {  margin-left: 60px !important;}
.mt70 { margin-top: 70px !important;} .mr70 { margin-right: 70px !important;} .mb70 { margin-bottom: 70px !important;} .ml70 {  margin-left: 70px !important;}
.mt80 { margin-top: 80px !important;} .mr80 { margin-right: 80px !important;} .mb80 { margin-bottom: 80px !important;} .ml80 {  margin-left: 80px !important;}
.mt90 { margin-top: 90px !important;} .mr90 { margin-right: 90px !important;} .mb90 { margin-bottom: 90px !important;} .ml90 {  margin-left: 90px !important;}
.mt100 { margin-top: 100px !important;} .mr100 {  margin-right: 100px !important;} .mb100 { margin-bottom: 100px !important;} .ml100 {  margin-left: 100px !important;}

.pt0  { padding-top: 0 !important;}    .pr0  {  padding-right: 0 !important;}    .pb0  {  padding-bottom: 0 !important;}    .pl0  { padding-left: 0 !important;}
.pt3  { padding-top: 3px !important;}  .pr3  {  padding-right: 3px !important;}  .pb3  {  padding-bottom: 3px !important;}  .pl3  { padding-left: 3px !important;}
.pt5  { padding-top: 5px !important;}  .pr5  {  padding-right: 5px !important;}  .pb5  {  padding-bottom: 5px !important;}  .pl5  { padding-left: 5px !important;}
.pt10 { padding-top: 10px !important;} .pr10 {  padding-right: 10px !important;} .pb10 {  padding-bottom: 10px !important;} .pl10 { padding-left: 10px !important;}
.pt15 { padding-top: 15px !important;} .pr15 {  padding-right: 15px !important;} .pb15 {  padding-bottom: 15px !important;} .pl15 { padding-left: 15px !important;}
.pt20 { padding-top: 20px !important;} .pr20 {  padding-right: 20px !important;} .pb20 {  padding-bottom: 20px !important;} .pl20 { padding-left: 20px !important;}
.pt25 { padding-top: 25px !important;} .pr25 {  padding-right: 25px !important;} .pb25 {  padding-bottom: 25px !important;} .pl25 { padding-left: 25px !important;}
.pt30 { padding-top: 30px !important;} .pr30 {  padding-right: 30px !important;} .pb30 {  padding-bottom: 30px !important;} .pl30 { padding-left: 30px !important;}
.pt35 { padding-top: 35px !important;} .pr35 {  padding-right: 35px !important;} .pb35 {  padding-bottom: 35px !important;} .pl35 { padding-left: 35px !important;}
.pt40 { padding-top: 40px !important;} .pr40 {  padding-right: 40px !important;} .pb40 {  padding-bottom: 40px !important;} .pl40 { padding-left: 40px !important;}
.pt50 { padding-top: 50px !important;} .pr50 {  padding-right: 50px !important;} .pb50 {  padding-bottom: 50px !important;} .pl50 { padding-left: 50px !important;}
.pt60 { padding-top: 60px !important;} .pr60 {  padding-right: 60px !important;} .pb60 {  padding-bottom: 60px !important;} .pl60 { padding-left: 60px !important;}
.pt70 { padding-top: 70px !important;} .pr70 {  padding-right: 70px !important;} .pb70 {  padding-bottom: 70px !important;} .pl70 { padding-left: 70px !important;}
.pt80 { padding-top: 80px !important;} .pr80 {  padding-right: 80px !important;} .pb80 {  padding-bottom: 80px !important;} .pl80 { padding-left: 80px !important;}
.pt90 { padding-top: 90px !important;} .pr90 {  padding-right: 90px !important;} .pb90 {  padding-bottom: 90px !important;} .pl90 { padding-left: 90px !important;}
.pt100 {  padding-top: 100px !important;} .pr100 {  padding-right: 100px !important;} .pb100 {  padding-bottom: 100px !important;} .pl100 { padding-left: 100px !important;}

.fs50 { font-size: 50px !important;}
.fs40 { font-size: 40px !important;}
.fs38 { font-size: 38px !important;}
.fs30 { font-size: 30px !important;}
.fs23 { font-size: 23px !important;}
.fs20 { font-size: 20px !important;}
.fs19 { font-size: 19px !important;}
.fs18 { font-size: 18px !important;}
.fs17 { font-size: 17px !important;}
.fs16 { font-size: 16px !important;}
.fs15 { font-size: 15px !important;}
.fs14 { font-size: 14px !important;}
.fs13 { font-size: 13px !important;}
.fs12 { font-size: 12px !important;}
.fs11 { font-size:  11px !important;}
.fs10,.fs-note {  font-size: 10px !important;}
.textlarge{
    font-size: 20px;
}
.fw_normal{
    font-weight: normal!important;
}
.lh10{ line-height: 1.0!important;}
.lh11{ line-height: 1.1!important;}
.lh12{ line-height: 1.2!important;}
.lh13{ line-height: 1.3!important;}
.lh14{ line-height: 1.4!important;}
.lh15{ line-height: 1.5!important;}
.lh16{ line-height: 1.6!important;}
.lh17{ line-height: 1.7!important;}
.lh18{ line-height: 1.8!important;}
.lh19{ line-height: 1.9!important;}
.lh20{ line-height: 2.0!important;}

.w10_pc{width: 10%;}
.w20_pc{width: 20%;}
.w30_pc{width: 30%;}
.w40_pc{width: 40%;}
.w50_pc{width: 50%;}
.w60_pc{width: 60%;}
.w70_pc{width: 70%;}
.w80_pc{width: 80%;}
.w90_pc{width: 90%;}
.w100_pc{width: 100%;}
@media screen and (min-width:768px){
    .textlarge{
        font-size: 28px;
    }
    .pc_mt0  { margin-top: 0 !important;}    .pc_mr0  { margin-right: 0 !important;}    .pc_mb0  { margin-bottom: 0 !important;}    .pc_ml0  {  margin-left: 0 !important;}
    .pc_mt3  { margin-top: 3px !important;}  .pc_mr3  { margin-right: 3px !important;}  .pc_mb3  { margin-bottom: 3px !important;}  .pc_ml3  {  margin-left: 3px !important;}
    .pc_mt5  { margin-top: 5px !important;}  .pc_mr5  { margin-right: 5px !important;}  .pc_mb5  { margin-bottom: 5px !important;}  .pc_ml5  {  margin-left: 5px !important;}
    .pc_mt10 { margin-top: 10px !important;} .pc_mr10 { margin-right: 10px !important;} .pc_mb10 { margin-bottom: 10px !important;} .pc_ml10 {  margin-left: 10px !important;}
    .pc_mt15 { margin-top: 15px !important;} .pc_mr15 { margin-right: 15px !important;} .pc_mb15 { margin-bottom: 15px !important;} .pc_ml15 {  margin-left: 15px !important;}
    .pc_mt20 { margin-top: 20px !important;} .pc_mr20 { margin-right: 20px !important;} .pc_mb20 { margin-bottom: 20px !important;} .pc_ml20 {  margin-left: 20px !important;}
    .pc_mt25 { margin-top: 25px !important;} .pc_mr25 { margin-right: 25px !important;} .pc_mb25 { margin-bottom: 25px !important;} .pc_ml25 {  margin-left: 25px !important;}
    .pc_mt30 { margin-top: 30px !important;} .pc_mr30 { margin-right: 30px !important;} .pc_mb30 { margin-bottom: 30px !important;} .pc_ml30 {  margin-left: 30px !important;}
    .pc_mt35 { margin-top: 35px !important;} .pc_mr35 { margin-right: 35px !important;} .pc_mb35 { margin-bottom: 35px !important;} .pc_ml35 {  margin-left: 35px !important;}
    .pc_mt40 { margin-top: 40px !important;} .pc_mr40 { margin-right: 40px !important;} .pc_mb40 { margin-bottom: 40px !important;} .pc_ml40 {  margin-left: 40px !important;}
    .pc_mt50 { margin-top: 50px !important;} .pc_mr50 { margin-right: 50px !important;} .pc_mb50 { margin-bottom: 50px !important;} .pc_ml50 {  margin-left: 50px !important;}
    .pc_mt60 { margin-top: 60px !important;} .pc_mr60 { margin-right: 60px !important;} .pc_mb60 { margin-bottom: 60px !important;} .pc_ml60 {  margin-left: 60px !important;}
    .pc_mt70 { margin-top: 70px !important;} .pc_mr70 { margin-right: 70px !important;} .pc_mb70 { margin-bottom: 70px !important;} .pc_ml70 {  margin-left: 70px !important;}
    .pc_mt80 { margin-top: 80px !important;} .pc_mr80 { margin-right: 80px !important;} .pc_mb80 { margin-bottom: 80px !important;} .pc_ml80 {  margin-left: 80px !important;}
    .pc_mt90 { margin-top: 90px !important;} .pc_mr90 { margin-right: 90px !important;} .pc_mb90 { margin-bottom: 90px !important;} .pc_ml90 {  margin-left: 90px !important;}
    .pc_mt100 { margin-top: 100px !important;} .pc_mr100 {  margin-right: 100px !important;} .pc_mb100 { margin-bottom: 100px !important;} .pc_ml100 {  margin-left: 100px !important;}
    .pc_mxauto { margin: 0 auto !important;}
  
    .pc_pt0  { padding-top: 0 !important;}    .pc_pr0  {  padding-right: 0 !important;}    .pc_pb0  {  padding-bottom: 0 !important;}    .pc_pl0  { padding-left: 0 !important;}
    .pc_pt3  { padding-top: 3px !important;}  .pc_pr3  {  padding-right: 3px !important;}  .pc_pb3  {  padding-bottom: 3px !important;}  .pc_pl3  { padding-left: 3px !important;}
    .pc_pt5  { padding-top: 5px !important;}  .pc_pr5  {  padding-right: 5px !important;}  .pc_pb5  {  padding-bottom: 5px !important;}  .pc_pl5  { padding-left: 5px !important;}
    .pc_pt10 { padding-top: 10px !important;} .pc_pr10 {  padding-right: 10px !important;} .pc_pb10 {  padding-bottom: 10px !important;} .pc_pl10 { padding-left: 10px !important;}
    .pc_pt15 { padding-top: 15px !important;} .pc_pr15 {  padding-right: 15px !important;} .pc_pb15 {  padding-bottom: 15px !important;} .pc_pl15 { padding-left: 15px !important;}
    .pc_pt20 { padding-top: 20px !important;} .pc_pr20 {  padding-right: 20px !important;} .pc_pb20 {  padding-bottom: 20px !important;} .pc_pl20 { padding-left: 20px !important;}
    .pc_pt25 { padding-top: 25px !important;} .pc_pr25 {  padding-right: 25px !important;} .pc_pb25 {  padding-bottom: 25px !important;} .pc_pl25 { padding-left: 25px !important;}
    .pc_pt30 { padding-top: 30px !important;} .pc_pr30 {  padding-right: 30px !important;} .pc_pb30 {  padding-bottom: 30px !important;} .pc_pl30 { padding-left: 30px !important;}
    .pc_pt35 { padding-top: 35px !important;} .pc_pr35 {  padding-right: 35px !important;} .pc_pb35 {  padding-bottom: 35px !important;} .pc_pl35 { padding-left: 35px !important;}
    .pc_pt40 { padding-top: 40px !important;} .pc_pr40 {  padding-right: 40px !important;} .pc_pb40 {  padding-bottom: 40px !important;} .pc_pl40 { padding-left: 40px !important;}
    .pc_pt50 { padding-top: 50px !important;} .pc_pr50 {  padding-right: 50px !important;} .pc_pb50 {  padding-bottom: 50px !important;} .pc_pl50 { padding-left: 50px !important;}
    .pc_pt60 { padding-top: 60px !important;} .pc_pr60 {  padding-right: 60px !important;} .pc_pb60 {  padding-bottom: 60px !important;} .pc_pl60 { padding-left: 60px !important;}
    .pc_pt70 { padding-top: 70px !important;} .pc_pr70 {  padding-right: 70px !important;} .pc_pb70 {  padding-bottom: 70px !important;} .pc_pl70 { padding-left: 70px !important;}
    .pc_pt80 { padding-top: 80px !important;} .pc_pr80 {  padding-right: 80px !important;} .pc_pb80 {  padding-bottom: 80px !important;} .pc_pl80 { padding-left: 80px !important;}
    .pc_pt90 { padding-top: 90px !important;} .pc_pr90 {  padding-right: 90px !important;} .pc_pb90 {  padding-bottom: 90px !important;} .pc_pl90 { padding-left: 90px !important;}
    .pc_pt100 {  padding-top: 100px !important;} .pc_pr100 {  padding-right: 100px !important;} .pc_pb100 {  padding-bottom: 100px !important;} .pc_pl100 { padding-left: 100px !important;}
    .pc_fs50 { font-size: 50px !important;}
    .pc_fs40 { font-size: 40px !important;}
    .pc_fs38 { font-size: 38px !important;}
    .pc_fs30 { font-size: 30px !important;}
    .pc_fs20 { font-size: 20px !important;}
    .pc_fs19 { font-size: 19px !important;}
    .pc_fs18 { font-size: 18px !important;}
    .pc_fs17 { font-size: 17px !important;}
    .pc_fs16 { font-size: 16px !important;}
    .pc_fs15 { font-size: 15px !important;}
    .pc_fs14 { font-size: 14px !important;}
    .pc_fs13 { font-size: 13px !important;}
    .pc_fs12 { font-size: 12px !important;}
    .pc_fs11 { font-size:  11px !important;}
    .pc_fs10,.pc_fs-note {  font-size: 10px !important;}
    .pc_lh10{ line-height: 1.0!important;}
    .pc_lh11{ line-height: 1.1!important;}
    .pc_lh12{ line-height: 1.2!important;}
    .pc_lh13{ line-height: 1.3!important;}
    .pc_lh14{ line-height: 1.4!important;}
    .pc_lh15{ line-height: 1.5!important;}
    .pc_lh16{ line-height: 1.6!important;}
    .pc_lh17{ line-height: 1.7!important;}
    .pc_lh18{ line-height: 1.8!important;}
    .pc_lh19{ line-height: 1.9!important;}
    .pc_lh20{ line-height: 2.0!important;}
    .pc_w10_pc{width: 10% !important;}
    .pc_w20_pc{width: 20% !important;}
    .pc_w30_pc{width: 30% !important;}
    .pc_w40_pc{width: 40% !important;}
    .pc_w50_pc{width: 50% !important;}
    .pc_w60_pc{width: 60% !important;}
    .pc_w70_pc{width: 70% !important;}
    .pc_w80_pc{width: 80% !important;}
    .pc_w90_pc{width: 90% !important;}
}

sup{
    vertical-align: super;
    font-size: smaller;
}

.fw-bold {  font-weight: bold !important;}
.fw-normal {  font-weight: normal !important;}

.ta-left   {  text-align: left !important;}
.ta-center {  text-align: center !important;}
.ta-right  {  text-align: right !important;}
.sp_ta-left   {  text-align: left !important;}
.sp_ta-center {  text-align: center !important;}
.sp_ta-right  {  text-align: right !important;}
@media screen and (min-width:768px){
    .sp_ta-left,.sp_ta-center,.sp_ta-right  {  text-align: inherit !important;}
    .pc_ta-left   {  text-align: left !important;}
    .pc_ta-center {  text-align: center !important;}
    .pc_ta-right  {  text-align: right !important;}
}

.va-top    {  vertical-align: top !important;}
.va-middle {  vertical-align: middle !important;}
.va-bottom {  vertical-align: bottom !important;}

.tx-underl{ text-decoration: underline!important;}

.fl-right { float: right;}
.fl-left  { float: left;}
.clear {
  clear: both;
}

/*color*/
.red{
    color: #cc1e23;
}
.pink{
    color: #eb5199;
}
.blue{
    color: #09499e;
}
.skyblue{
    color: #02a9ed;
}
.yellow{
    color: #fabe00;
}
.gray{
    color: #cccccc;
}
.turquoise{
    color: #0195a1;
}
.pale{
    color: #e0f0fd;
}
.lightgreen{
    color: #88c102;
}

.bg_white{
    background-color: #fff!important;
}
.bg_skyblue{
    background-color: #e0f0fd;
}
.bg_lightblue{
    background-color: #f0f3fa;
}
.bg_green{
    background-color: #0094a0;
}
.bg_lightgreen{
    background-color: #f4f9e5;
}
.bg_lightpink{
    background-color: #feedf5;
}
.bg_turquoise{
    background-color: #1879ac;
}
.bg_lightgray{
    background-color: #f3f3f3;
}

.bb_gray_solid{
    border-bottom: 1px solid #ccc;
}
.bb_gray_dotted,
.sp_bb_gray_dotted{
    border-bottom: 1px dotted #ccc;
}
@media screen and (min-width:768px){
    .sp_bb_gray_dotted{
        border-bottom: 0px solid transparent;
    }
    .pc_bb_gray_dotted{
        border-bottom: 1px dotted #ccc;
    }
	
	.width_pc{
        margin:0 auto;
        width:57%;
    }
}

/************* add to class 20210122 **************/
@media screen and (min-width:768px){
	.dblock{
		display: block;
	}
}

/************* add to class 20220512 **************/

@media screen and (min-width:768px){
    .page_other_bnr .bnr_flex{
        justify-content:center;
    }
}

/************* add to class 20240410 **************/
.eo {
    font-size: 130%;
    position: relative;
    line-height: 1;
}

/****************
 add to class 20241010
*****************/

img{
	height:auto;
}

.comInner{
	margin:100px auto;
	width:50%;
}

h1{
	width:40%;
	margin:0 auto;
}
	
h2{
	margin:50px 0 0;
	font-size:28px;
}

footer{
	border-top:1px solid #738792;
}

footer p{
	font-size:11px;
	margin:15px 0;
	text-align:center;
	color:#526d7b;
}

@media (max-width: 767px) {
	
	.comInner{
		margin:50px auto;
		width:92%;
	}
	
	h1{
		width:50%;
	}
	
	h2{
		font-size:24px;
	}
	
	footer p{
		font-size:14px;
	}
	
}