@charset "UTF-8";
.c_ttl_1 .f-min,.c_ttl_2 .f-min,.f-min {
    font-family: 'Notoserif', 游明朝, 'Yu Mincho', YuMincho, 'メイリオ', 'Meiryo', 'ヒラギノ明朝 ProN W3', 'HiraMinProN-W3', 'HG明朝E', 'ＭＳ Ｐ明朝', 'MS PMincho', 'MS 明朝', serif;
}
.l_main_visual_right {
    z-index: -1;
}
#p_top p{
    font-size: 1.6rem;
    font-weight: bold;
    /*text-shadow: 2px 2px 10px rgba(0,0,0,.5);*/
}
#p_top .c_card_2_right > p.article_txt{
    font-size: 1.8rem;
    font-weight: bold;
    text-shadow: 5px 5px 10px rgba(0,0,0,.4);
}
.kv_flex_bloc {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    box-sizing:border-box;
    position:relative;
}
.hover .h_logo_1:hover {
    opacity: 100%;
}
/*
.inner_common_2 {
    margin:0 auto;
}
*/
.btn-center {
    text-align: center;
    margin:4rem auto;
}
.c_card_3_txt,.c_card_4_txt{
    font-weight:bold;
}
.btn-common {
    position: relative;
    font-weight: 500;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    -js-display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    color: #1d2c5b;
    border: 1px solid #1d2c5b;
    border-radius: 60px;
    background: #fff;
    letter-spacing: 0.5px;
    padding: 4px 18px 4px 25px;
    font-size: 1.5rem;
    margin: 5px auto;
}
.btn-sizeL {
    font-size: 2.6rem;
    min-width: 380px;
    padding: 10px 30px 10px 45px;
    text-align: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.btn-common:before {
    position: absolute;
    top: 50%;
    left: 5%;
    content: '';
    transform: translate(0, -50%) rotate(45deg);
    display: block;
    width: 1.6rem;
    height: 1.6rem;
    border: 3px solid #11254D;
    border-left: transparent;
    border-bottom: transparent;
    box-sizing: border-box;
}
.btn-common:hover {
    background:#11254D;
    color:#fff;
    transition:background .3s,color .3s;
}
.btn-common:hover:before {
    border-right: 3px solid #fff;
    border-top: 3px solid #fff;
    transition:border .3s;
}
#p_top #form p{
    font-weight: normal;
}
.icon-page_top, .icon-page_down {
    display: flex;
    width: 100%;
    max-width: 200px;
    flex-wrap: wrap;
    justify-content: center;
    margin: 1rem auto;
    box-sizing: border-box;
    padding: 0.5rem 1rem 1rem;
    border-radius: 6px;
    border: 1px solid #ccc;
}
.icon-page_down{
    padding: 1rem 1rem 1.5rem;
}
.icon-page_top_svg{
    width: 10%;
    height: auto;
}
.icon-page_down_svg {
    width: 20%;
    height: auto;
}
.icon-page_top_svg > svg, .icon-page_down_svg > svg {
    width: 100%;
    height: auto;
}
span.icon-page_top_txt {
    font-size: 1.2rem;
    line-height: 150%;
    display: block;
    width:100%;
    text-align: center;
}
span.icon-page_down_txt {
    font-size: 1.2rem;
    line-height: 150%;
    display: block;
    width:80%;
    padding:0 0 0 1.5rem;
}
a:hover{
    opacity:.7;
    transition:opacity .3s;
}

.rotate180 {
    transform: translate(-50%,0) rotate(180deg);
    position: absolute;
    left: 50%;
    bottom: 1rem;
}
#pageFixed {
    position: fixed;
    bottom: 1rem;
    z-index: +100;
    right: 1rem;
}
#pageFixed a.icon-page_top {
    background: rgba(0,0,0,.4);
    color: #fff;
    fill: #fff;
}
#pageFixed a.icon-page_down {
    background:linear-gradient(135deg,  #005cd6 32%,#004bb1 96%);
    color: #fff;
    fill: #fff;
    transition:background .3s,color .3s,fill .3s;
    align-items:center;
}
#pageFixed a.icon-page_down:hover {
    background:#fff;
    color: #1d2c5b;
    font-weight:bold;
    fill: #1d2c5b;
}
#cta_type01 .btn-common{
    background: linear-gradient(135deg,  #005cd6 32%,#004bb1 96%);    
    border:solid 1px #1d2c5b;
    color:#fff;
    transition:background .3s,color .3s;
}
#cta_type01 .btn-common:before{
    border: 3px solid #fff;
    border-left: transparent;
    border-bottom: transparent;
    transition:border .3s;
}
#cta_type01 .btn-common:hover{
    background:#fff;
    color:#1d2c5b;
    transition:background .3s,color .3s;
}
#cta_type01 .btn-common:hover:before{
    border: 3px solid #1d2c5b;
    border-left: transparent;
    border-bottom: transparent;
    transition:border .3s;
}
.entry_btn:hover{
    color:#1d2c5b;
    transition:background .3s,color .3s;
}
.entry_btn:before{
    transition:opacity .3s;
}
.entry_btn:after{
    background:#fff;
    transition:background .3s,color .3s;
    box-sizing:border-box;
    border: 1px solid #1d2c5b;
}
a.kv_cta {
    background: linear-gradient(135deg,  #005cd6 32%,#004bb1 96%);
    border-radius: 2px;
    color: #fff;
    font-weight: bold;
    flex-wrap: wrap;
    box-sizing: border-box;
    position: relative;
    padding: 2rem 4rem;
    border:solid 1px #1d2c5b;
}
.kv_cta_inner {
    width: 100%;
    font-size:2rem;
    padding-left: 0.25rem;
}
.kv_cta_txtL {
    font-size: 150%;
    padding-right: 0.25rem;
    margin-left: -0.25rem;
}
.kv_cta_comment {
    font-size: 1.2rem;
    width: 100%;
}
span.kv_cta_txt {
    width:100%;
    text-indent: -1.2rem;
    display: block;
    padding: 0 0 0 1.2rem;
    font-weight: normal;
}
.c_box_1 .rotate180 {
    left: calc(100% - 2rem);
    fill: #fff;
    width: 20px;
    bottom: unset;
    top: 3.5rem;
}
a.kv_cta:hover {
    background: #fff;
    color: #1d2c5b;
    transition:background .3s,color .3s;
}
a.kv_cta:hover .rotate180 {
    fill:#1d2c5b;
    transition:fill .3s;
}

@media screen and (max-width:1070px){
    a.kv_cta {
        width: 100%;
        margin: 2rem 0 0;
    }
    .kv_flex_bloc{
        flex-wrap: wrap;
        display: block;
        width: 100%;
        max-width: 463px;
        margin-top:-7%;
    }
    .kv_cta_comment{
        display:none;
    }
    .c_box_1 .rotate180 {
        left: 50%;
        fill: #fff;
        width: 20px;
        bottom: 0;
        top: unset;
    }
}
@media screen and (max-width:767px){
    #pageFixed{
        right:20px;
    }
    #p_top .c_card_2_right > p.article_txt {
        text-shadow:1px 1px 10px rgba(0,0,0,.4)
    }   
    .h_btn-menu {
        margin: 0 20px 0 auto;
    }
    .c_box_1{
        width:48%;
        height:120px;
    }
    a.kv_cta {
        border-radius: 2px;
        color: #fff;
        font-weight: bold;
        flex-wrap: wrap;
        box-sizing: border-box;
        position: absolute;
        padding: 1rem;
        width: 48%;
        right: unset;
        left: 0;
    }
    .kv_cta_inner {
        font-size: 1.35rem;
    }
    .kv_cta_txtL{
        display:inline-block;
    }
    .kv_cta_comment{
        display:none;
    }
    .kv_flex_bloc{
        position:absolute;
    bottom: 1rem;
    width: 80%;
    left: 50%;
    transform: translate(-50%,0);
    }
    .c_ttl_2 .sub {
        font-size: 14px;
        margin-top: 4rem;
        display: block;
    }
    .c_ttl_2 .main {
        font-size: 3.6rem;
        margin-top: 4rem;
    }
    .sub + .main{
        margin-top:0 !important;
    }
    .c_box_1 .rotate180{
        bottom:0;
        fill:#fff;
    }
    #p_top .sec01,#p_top .sec02,#p_top .sec03,#p_top .sec04,#p_top .sec06,#p_top .sec07,#p_top .sec08,#p_top .sec09,#p_top .sec10{
        box-sizing:border-box;
        padding:4rem 2%;
    }
    .btn-sizeL {
        font-size: 2rem;
        min-width: 90%;
    }
}   
@media screen and (max-width:500px){
    #pageFixed {
        right: 0;
        display: flex;
    }
    .icon-page_top, .icon-page_down{
        width:48%;
    }
    .rotate180{
        bottom:0;
    }
    .icon-page_down_svg {
        width: 17%;
        height: auto;
    }
    #pageFixed a.icon-page_down {
        position: relative;
    }
    span.icon-page_down_txt {
        font-size: 1.2rem;
        line-height: 150%;
        display: block;
        width: 83%;
        padding: 0 0 1rem 1rem;
    }


}  
    
/** add style 2023.9.22 **/
.sec04{
    padding-top:0;
    padding-bottom:0;
}
.sec05{
    background: #F1F6FD;
}
.sec05 .c_card_3{
    box-shadow: 1px 1px 5px rgba(0,0,0,.5);
}
    
    
    
    
    
    
    
    
    
    
    