@charset "UTF-8";

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

html {
    height: -webkit-fill-available;
    font-size: 62.5%;
}

body {
    min-height: 100vh;
    min-height: -webkit-fill-available;
    background: #fff;
    color: #333333;
}

/*----------------------------------------------------------------------*/
.noto-sans-jp-regular {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}

.noto-sans-jp-bold {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
}

.noto-sans-jp-semibold {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
}

main {
    z-index: 1;
}

::selection {
    color: #fff !important;
    background-color: #000 !important;
}

::-moz-selection {
    color: #fff;
    background-color: #000;
}

body {
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    min-width: 320px;
    margin: 0 auto;
    font-size: 1.6rem;
    overflow-y: scroll;
    position: relative;
    color: #000;
}

main {
    overflow-x: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
    position: relative;
    min-width: 1200px;
}

@media (max-width: 767.9px) {
    body {
        min-width: 320px;
        font-size: 1.4rem;
        overflow-x: hidden;
    }
    main {
        width: 100%;
        margin: auto;
        min-width: auto;
        overflow-x: hidden;
    }
}

main::-webkit-scrollbar {
    display: none;
}

a {
    color: #887c52;
    text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    letter-spacing: 0;
    font-weight: normal;
    position: relative;
    padding: 0 0 10px 0;
    line-height: normal;
    color: #333333;
    margin: 0;
}

*,
*::after,
*::before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
    color: #212121;
    text-decoration: none !important;
    opacity: 1;
}

button:focus {
    outline: none;
}

section {
    width: 100%;
}
.page_inner {
    max-width: 1200px;
    margin: auto;
}

/*----------------------------------------------------------------------*/

header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding-top: 20px;
    z-index: 10;
    min-width: 1200px;
}

@media (max-width: 767.9px) {
    header {
        padding-top: 8px;
        min-width: 340px;
    }   
}

.head_inner {
    max-width: 1133px;
    margin-left:20px;
}
@media (max-width: 767.9px) {
    .head_inner {
        max-width: 760px;
        padding: 0 3%;
        margin-left: 0;
    }
    .head_inner img {
        max-width: 140px;
    }
}

.head_download_area {
    position: absolute;
    right: 0;
    top: -5px;
    font-weight: 600;
}

@media (max-width: 767.9px) {
    .head_download_area {
        width: 47.8%;
         top: -1px;
        max-width: 180px;
    }
}

.head_download {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 300px;
    height: 79px;
    transition: 0.3s;
    background: #4467e4;
    
border-radius: 0 0 0 13px;
}
.head_download:hover{
    background:#eb636c ;
}

@media (max-width: 767.9px) {
    .head_download {
        width: 100%;
        font-size: 1.3rem;
        padding:0;
        height: 44px;
    }
    
}

.head_download:hover {
    box-shadow: unset;
    transform: translateY(4px);
    opacity: 1;
}


@media (max-width: 767.9px) {

}


.btn_area {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: 0.3s;
    margin: 1.6rem 0;
}
@media (max-width: 767.9px) {
    .btn_area {
        display: block;
    }
}

.btn_area:hover {
    box-shadow: unset;
    transform: translateY(4px);
    opacity: 1 !important;
}



/*--layout--------------------------------------------------------------------*/
main{
    background: url(../img/page_bg.jpg) no-repeat;
    background-size:contain;
    background-position: top;
}
@media (max-width: 767.9px) {
main{
    background: url(../img/page_bg_sp.jpg) no-repeat;
    background-size: 100%;
}
}

.page_inner {
    max-width: 1250px;
    padding: 7.5rem;
    margin: auto;
}
@media (max-width: 767.9px) {
    .page_inner {
        padding: 0 3%;
    }
}

.box_area {
    display: flex;
    justify-content: space-between;
}
.box_2column {
    width: 50%;
}

.box_3column {
    width: 31.7%;
    border-radius: 15px;
    padding: 2.5rem;
    margin-bottom: 2rem;
    text-align: center;

}

@media (max-width: 767.9px) {
    .box_area {
        flex-wrap: wrap;
    }
    .box_2column,
    .box_3column {
        width: 100%;
    }
}

.area_shadow_box{box-shadow: 0 0 17px -6px #808489;}
img.area_shadow{filter: drop-shadow(0 0 10px #1414140d);}


 a.link_btn_kv{
    background:#eb636c ;
    line-height: 7.5rem;
    border-radius:3.6rem;
    color: #FFF;
    font-weight: 600;
    font-size: 2.3rem;
     width: 363px;
}
@media (max-width: 767.9px) {
    a.link_btn_kv{
        display: block;
        width: 100%;
        font-size: 1.5rem;
        max-width: 245px;
        line-height: 5rem;
    }
}

 a.link_btn{
    background:#eb636c ;
    line-height: 7.5rem;
    border-radius:3.6rem;
    color: #FFF;
    font-weight: 600;
    font-size: 2.6rem;
     padding: 2rem 7.2rem;
}
@media (max-width: 767.9px) {
    a.link_btn{
        display: block;
        line-height: 1.3;
        font-size: 1.7rem;
        border-radius:7.2rem;
        padding: 2rem;
    }
}

 a.link_btn_blue{
    background:#4467e4 ;
    line-height: 7.5rem;
    border-radius:5.3rem;
    color: #FFF;
    display:inline-block;
     font-weight: 600;
     font-size: 2.6rem;
     padding: 2rem;
     height: 112px;
     width: 546px;
}

@media (max-width: 767.9px) {
    a.link_btn_blue{
        display: block;
        line-height: 1.3;
        font-size: 1.7rem;
        border-radius:7.2rem;
        padding: 2rem;
        width: 100%;
        height: auto;
        margin: auto;
    }
}

a.link_btn_kv:hover{
    background: #4467e4;
    opacity: 1;
}

a.link_btn:hover{
    background: #FFF;
    color:#eb636c ;
    opacity: 1;
}
a.link_btn_blue:hover{
    background:#eb636c;
    color: #FFF ;
    opacity: 1;
}

.btn_area .btn_arrow{
    padding-left: 2rem;
    font-size: 2rem;
    vertical-align: bottom;
}
@media (max-width: 767.9px) {
    .btn_area .btn_arrow{
    font-size: 1.5rem;
        padding-left: 1.5rem;
    }
    .btn_area a.link_btn_kv .btn_arrow{
    font-size: 1.3rem;
        padding-left: 1.5rem;
    }
    .btn_area a.link_btn .btn_arrow{
        position: absolute;
        right: 2rem;
        top: 39%;
    }
}

/*--keyvisual--------------------------------------------------------------------*/

.keyvisual {
    position: relative;
}
@media (max-width: 767.9px) {
    .keyvisual {
        padding-bottom: 6rem;
        padding-top:8rem;
    }
}
.keyvisual p{
    font-size: 1.2rem;
}
@media (max-width: 767.9px) {
   .keyvisual p{
    font-size: .9rem;
} 
}
.kv_bg{
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    text-align: center;
    bottom: 0;
    left: 0;
    background: url(../img/kv_bg.png?01) no-repeat;
    background-position: bottom center;
    background-size: 200%;
}
@media (max-width: 767.9px) {
    .kv_bg{
        background: url(../img/kv_bg_sp.png?02) no-repeat;
        background-size: cover;
        background-position: bottom;
    }
    .keyvisual .btn_area{
        max-width: 245px;
        width: 100%;
        margin: 1.6rem auto;
    }
}

.keyvisual .page_inner{
    position: relative;
    text-align: center;
}
.kv_title{
    margin-bottom: 2rem;
}
.kv_bottom_text{
    margin-top: 2rem;
}

.kv_left_image{
    position: absolute;
    top:18rem;
    left: 0;
}
.kv_right_image{
    position: absolute;
    top:10.5rem;
    right: 0;
}



/*-- worries --------------------------------------------------------------------*/
.worries{
    position: relative;
}

@media (max-width: 767.9px) {
    .worries{
        padding-top: 3rem;
        padding-bottom: 4rem;
    }
}

.worries .page_inner{
    padding-bottom: 5.5rem;
}
@media (max-width: 767.9px) {
  .worries .page_inner{
    padding-bottom: 0;
}  
}

.worries .box_area{
    align-items: center;
}

.box_left{width: 33%;}
.box_right{width: 66%;}

@media (max-width: 767.9px) {
    .worries .box_area{
        flex-direction: column;
        justify-content: center;
}

.box_left{width:100%;position: relative;}
.box_right{width: calc(100% - 2rem);
    margin-top: -8px;
    position: relative;
    margin-left: 1rem;
    margin-right: 1rem;
    }
    
}


.circle_area{
    background:url(../img/worries_text_bg.svg) no-repeat;
    background-size: cover;
    text-align: center;
    width: 330px;
    height: 330px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: center;
}
@media (max-width: 767.9px) {
    .circle_area{
    width: 300px;
    height:300px;
        margin-left: auto;
    }
    .worries_image{
        position: absolute;
        bottom:4rem;
        left: 0;
        width: 24%;
    }
    .worries_image img{
        width: 100%;
        max-width: 90px;
    }
    .fukidashi img{
        margin-left: 8rem;
    }
}

.circle_area h2{
    font-weight: 600;
    font-size: 2.8rem;
    display: inline-block;text-align: center;color: #FFF;line-height: 1.5;
}
@media (max-width: 767.9px) {
    .circle_area h2{
        font-size: 2.2rem;}
}

.circle_area p{
    text-align: center;
    color: #FFF;
    line-height: 1.6;
}

.column_content{
    background: #FFF;
    border-radius: 5px;
    padding: 3rem;
    margin-bottom: 2rem;
}
@media (max-width: 767.9px) {
    .column_content{
        text-align: center;
    }
}

.column_content h3{
    color: #60a432;
    font-size: 2.2rem;
    font-weight: 600;
}
.column_content p{
    font-size: 1.6rem;
    line-height: 1.6;
    margin-bottom: 0;
}
@media (max-width: 767.9px) {
    .column_content h3{
        font-size: 1.8rem;}
    .column_content p{
        font-size: 1.4rem;}
}

.worries_arrow{text-align: center;margin-top: 2rem;}

@media (max-width: 767.9px) {
    .worries_arrow img{
        max-width: 74px;
    }
}

/*-- step --------------------------------------------------------------------*/
.step{
    width: 100%;
    margin: auto;
    max-width:1250px;
    background: url(../img/step_bg.png?01) no-repeat;
    background-size: cover;
    background-position: top;
    color: #FFF;
    text-align: center;
    border-radius: 36px 36px 0 0;
}

@media (max-width: 767.9px) {
    .step{
        padding-top: 3.2rem;
        background: url(../img/step_bg_sp2.png) repeat-y;
        background-size: 100%;
        margin-right: 1.8rem;
        margin-left: 1.8rem;
        width: calc( 100% - 3.6rem);
        border-radius: 18px 18px 0 0;
    }
}

.step_image{
    margin: 2rem auto 6rem;
}
@media (max-width: 767.9px) {
    .step_image{
    margin: 4rem auto 6rem;
}
}
.step h2{
    font-size: 3.6rem;
    color: #FFF;
    margin-bottom: 1.5rem;
    font-weight: 600;
}
.step .sub_text{font-size: 1.9rem;line-height: 1.6;}

@media (max-width: 767.9px) {
  .step h2{
      font-size: 2.2rem;
    }
    .step .sub_text{font-size: 1.4rem;
    }
}


.step .box_area{
    flex-wrap: wrap;
    justify-content: space-between;
}
@media (max-width: 767.9px) {
    .step .box_area{
        padding-bottom: 2rem;
    }
}

.step .box_2column{
    border-radius: 10px;
    width: 49%;
    text-align: left;
    background: #FFF;
    margin-bottom: 2rem;
}
@media (max-width: 767.9px) {
    .step .box_2column{
        width:100%;
    }
}

.box_head{
    background: #eb636c;
    padding: 2.2rem 3rem;
    position: relative;
    border-radius: 10px 10px 0 0;
}
.box_head h3{
    color: #FFF;
    font-size: 2.2rem;
    font-weight: 600;
}

@media (max-width: 767.9px) {
    .box_head{
        padding:1.6rem 1.6rem 1rem;
    }
    .box_head h3{
    color: #FFF;
        font-size: 1.8rem;
    }
}

.icon_image{
    position: absolute;
    top:0;
    right:0;
}
@media (max-width: 767.9px) {
    .icon_image{
        top: -6px;
    right: -2px;
    }
    .icon_image img{
        width: 110px;
        height: auto;
    }
}

.top-position{top:-8px;}
@media (max-width: 767.9px) {
    .top-position{top:14px;}
    .top-position_sp01{top:-3px;}
    .top-position_sp02{top:13px;}
    .top-position_sp{top:3px;}
}
.box_texts{
    font-weight: 400;
    color: #333333;
    padding: 3rem;
    line-height: 1.5;
}
@media (max-width: 767.9px) {
    .box_texts{
        padding: 1.6rem;
    }
}

.box_texts h4{
    color: #eb636c;
    font-size: 2.2rem;
}
@media (max-width: 767.9px) {
    .box_texts h4{
    font-size: 1.6rem;
    font-weight: 600;
    }
}
.box_texts h4 span{
    font-size:1.3rem ;
    display:inline-block;
    margin-right: 2.4rem;
    vertical-align: middle;
    font-weight: 600;
}

@media (max-width: 767.9px) {
    .box_texts h4 span{
        display: block;
        line-height: 1;
        margin-bottom: .3rem;
        font-size: 1rem;
    }
}

/*--record--------------------------------------------------------------------*/
.record{
    background: #FFF;
    text-align: center;
}
@media (max-width: 767.9px) {
    .record{
        padding-top: 6rem;
        padding-bottom: 6rem;
    } 
}
.record h2{
    font-size: 3.6rem;
    margin-bottom: 1.5rem;
    font-weight: 600;
}
.record .sub_text{font-size: 1.9rem;line-height: 1.6;}

@media (max-width: 767.9px) {
  .record h2{
      font-size: 2.2rem;
    }
    .record .sub_text{font-size: 1.4rem;
    }
}

.record .box_area{
    justify-content: space-around;
}
.box_4column{
    text-align: center;
}

@media (max-width: 767.9px) {
    .box_4column{
        width: 40%;
    }
}

.border_green{
    border:1px solid #60a432;
    border-radius: 8px;
    padding: 4rem;
    margin-top: 4rem;
}

@media (max-width: 767.9px) {
    .border_green{
        padding: 1.6rem;
        margin: 4rem 1rem 1rem;
    }
}

.border_green .left_title{
    width: 33%;
    text-align: center;
    display: flex;
    align-items: center;
}
@media (max-width: 767.9px) {
    .border_green .left_title{
        width: 100%;
        justify-content: center;
    }
    .left_title h3{
        text-align: center;
    }
}

.left_title h3{
    font-size: 2rem;
    color:  #60a432;
    font-weight: 600;
}

.border_green .right_texts{
    width:  67%;
    text-align: left;
    letter-spacing: normal;
}
@media (max-width: 767.9px) {
    .border_green .right_texts{
        width:  100%;
    }
}

.border_green .right_texts p{
    line-height: 1.6;
    text-align: justify;
}
.border_green .right_texts p.mb-18{
        margin-bottom: 1.8rem;
    }
@media (max-width: 767.9px) {
    .border_green .right_texts p.mb-18{
        margin-bottom:0;
    }
}

/*--course--------------------------------------------------------------------*/
.course{
    background: #e1eeda;
    text-align: center;
}
@media (max-width: 767.9px) {
    .course{
        padding-top: 6rem;
        padding-bottom: 6rem;
    }
}
.course h2{
    font-size: 3.6rem;
    margin-bottom: 1.5rem;
    font-weight: 600;
}

.course .sub_text{font-size: 1.9rem;line-height: 1.6;}

@media (max-width: 767.9px) {
  .course h2{
      font-size: 2.2rem;
    }
    .course .sub_text{font-size: 1.4rem;
    }
}

.course .box_area{
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-top: 3rem;
}

@media (max-width: 767.9px) {
    .course .box_area{
        padding: 1rem 2rem 0;
    }
}

.course .box_3column{
    background:#60a432 ;
    color: #FFF;
    text-align: justify;
    font-size: 1.6rem;
    padding: 1.6rem;
    margin-right: 1rem;
    border-radius: 5px;
}
@media (max-width: 767.9px) {
    .course .box_3column{
        margin-right: 0;
    }
}

.course .box_3column h3{
    border-bottom: 1px solid #FFF;
    color: #FFF;
    font-size: 2.2rem;
    font-weight: 600;
    padding-bottom: 1.4rem;
}
.course .box_3column h3 span{
    font-size: 1.4rem;
    display: block;
    text-align: left;
    font-weight: 400;
}
.course .box_3column p{
    letter-spacing:normal;
    font-size: 1.6rem;
    font-weight: 300;
    margin-top: 1.2rem;
    line-height: 1.8;
}


/*-- comparison --------------------------------------------------------------------*/
.comparison{
    background: #eff6f1;
    text-align: center;
}

@media (max-width: 767.9px) {
    .comparison{
        padding-top: 6rem;
        padding-bottom: 6rem;
    }
}

.comparison h2{
    font-size: 3.6rem;
    margin-bottom: 1.5rem;
    font-weight: 600;
}
.comparison .sub_text{font-size: 1.9rem;}

@media (max-width: 767.9px) {
  .comparison h2{
      font-size: 2.2rem;
    }
    .comparison .sub_text{font-size: 1.4rem;line-height: 1.6;
    }
    .comparison .box_3column{
        padding: 2.5rem 2.5rem 0;
        margin-bottom: 1rem;
    }
    .comparison_arrow{
        margin: 2.8rem 0 3rem;
    }
}

.price_area{
    background:#FFF;
    border-radius: 12px;
    border: 2px solid #60a432;
    text-align: center;
    padding:5rem 4rem 3rem;
    filter: drop-shadow(0 0 10px #1414140d);
}
@media (max-width: 767.9px) {
    .price_area{
        padding:4rem 1.6rem 3rem;
    } 
}

.price_area .bg_line{
    margin-top: 3rem;
    background: url(../img/comparison_price_subtitle_bg2.png) repeat-x;
    background-position:center;
}
.price_area h3{
    display: inline-block;
    background-color: #FFF;
    padding:0 3rem;
    font-size: 2.3rem;
    font-weight: 600;
}
@media (max-width: 767.9px) {
    .price_area h3{
        padding: 0 .8rem;
        font-size: 1.6rem;
    }
}

.price_area .box_area{
    margin-top: 2rem;
}
.price_area .box_3column{
    padding: 0;
    margin-bottom: 0;
}
@media (max-width: 767.9px) {
    .price_area .box_3column{
        margin-bottom: 0;
    }
}

.price_area ul li::before {
    content: url(../img/icon_check.svg);
    display: inline-block;
  width:20px;
  height:auto;
  margin-right:4px;
  position:relative;
  top:3px;
  left:0;
    
}

.price_area ul li{
    text-align: left;
    letter-spacing: normal;
}
@media (max-width: 767.9px) {
    .price_area ul{
        margin-bottom: 0;
    }
}

.price_bottom_txt{
    font-size: 1.6rem;
    margin-top: 2.4rem;
}

@media (max-width: 767.9px) {
    .price_bottom_txt{
        font-size: 1.4rem;
        line-height: 1.6;
        margin-bottom: 2.4rem;
    }
}

/*-- free_trial --------------------------------------------------------------------*/
.free_trial{
    background:#4467e4 ;
    text-align: center;
    color: #FFF;
}

@media (max-width: 767.9px) {
    .free_trial .page_inner{
        padding: 0 6%;
    }
    .free_trial{
        padding: 4rem 0 3.5rem;
    }
    .free_trial p{
    font-size: .9rem;}
}

/*--FAQ--------------------------------------------------------------------*/

.faq{
    background:#f0f7e8 ;
}

@media (max-width: 767.9px) {
    .faq{
        padding-top: 6rem;
        padding-bottom: 6rem;
    }
}

.faq h2{
    font-size: 3.6rem;
    text-align: center;
    font-weight: 600;
}
.faq .sub_text{font-size: 1.9rem;text-align: center;}

@media (max-width: 767.9px) {
  .faq h2{
      font-size: 2.2rem;
    }
   .faq .sub_text{font-size: 1.4rem;line-height: 1.6;
    }
}

.faq_contents{
    width: 1000px;
    margin: 3rem auto;
}

@media (max-width: 767.9px) {
   .faq_contents{
       width: 100%;
       padding: 0 2rem;
    } 
}

/* FAQ Component 
============================================= */
        .faq-section-container {
            max-width: 48rem; /* 3xl相当 */
            margin: 0 auto;
        }

        .faq-main-title {
            font-size: 1.5rem;
            font-weight: bold;
            text-align: center;
            color:#60a432;
            margin-bottom: 2.5rem;
        }

        .faq-item {
            background: #ffffff;
            border-radius: 12px;
            margin-bottom: 1rem;
            box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.05);
            overflow: hidden;
            border: 1px solid #f1f5f9;
        }

        .faq-trigger {
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 3rem 4.2rem;
            cursor: pointer;
            border: none;
            background: none;
            outline: none;
            text-align: left;
        }
@media (max-width: 767.9px) {
    .faq-trigger {
        padding: 2rem;
    }   
}

        .faq-trigger-layout {
            display: flex;
            align-items: center;
            gap: 1rem;
        }

        .faq-question-text {
            font-weight: bold;
            color: #333333;
            font-size: 1.6rem;
            line-height: 1.6;
        }

        @media (min-width: 640px) {
            .faq-question-text {
                font-size: 2rem;
            }
        }

        .faq-icon-image {
            width: 32px;
            height: 32px;
            flex-shrink: 0;
            object-fit: contain;
        }

        .faq-toggle {
            position: relative;
            width: 20px;
            height: 20px;
            flex-shrink: 0;
            margin-left: 1rem;
        }

        .faq-toggle::before,
        .faq-toggle::after {
            content: '';
            position: absolute;
            background-color: #60a432;
            border-radius: 0; 
            transition: transform 0.3s ease, opacity 0.3s ease;
        }

        .faq-toggle::before {
            top: 50%;
            left: 0;
            width: 100%;
            height: 4px;
            transform: translateY(-50%);
        }
        .faq-toggle::after {
            top: 0;
            left: 50%;
            width: 4.5px;
            height: 100%;
            transform: translateX(-50%);
        }

        .faq-item.active .faq-toggle::after {
            opacity: 0;
            transform: translateX(-50%) rotate(90deg);
        }

        .faq-body-wrapper {
            display: grid;
            grid-template-rows: 0fr;
            transition: grid-template-rows 0.3s ease;
        }

        .faq-item.active .faq-body-wrapper {
            grid-template-rows: 1fr;
        }

        .faq-body-content {
            overflow: hidden;
        }

        .faq-body-inner {
            padding: 0 7.2rem 3rem 4.2rem;
            display: flex;
            gap: 1rem;
            align-items: flex-start;
        }
@media (max-width: 767.9px) {
    .faq-body-inner {
        padding: 0 2rem 2rem;
    }
}

        .faq-answer-text {
            font-size:1.6rem;
            line-height: 1.6;
            color: #333333;
            padding-top: 4px;
        }
@media (max-width: 767.9px) {
    .faq-answer-text {
        font-size:1.4rem;}
}

/*--Bottom CTA --------------------------------------------------------------------*/

.bottom_cta{
    background-image: url(../img/footer_bg.svg);
    background-size: cover;
    background-position: right;
    text-align: center;
    color: #FFF;
}

.bottom_cta .page_inner{
    max-width: 767px;
    padding: 7.5rem 0;
}
@media (max-width: 767.9px) {
    .bottom_cta .page_inner{
        padding:4rem 2rem;
    }
}

.bottom_cta h2,.bottom_cta h3{color: #FFF;}
.bottom_cta p{
    font-size: 1.5rem;
}
@media (max-width: 767.9px) {
    .bottom_cta p{
    font-size: .9rem;
}
}

.bottom_cta h2 {
    font-size: 3.6rem;
    margin-bottom: 1.5rem;
    font-weight: 600;
}
.bottom_cta .sub_text{
    font-size: 1.9rem;
}

@media (max-width: 767.9px) {
  .bottom_cta h2{
      font-size: 2.2rem;
    }
   .bottom_cta .sub_text{font-size: 1.4rem;
    }
    .bottom_cta h3{
      font-size: 1.6rem;
    }
}

.line{
    display: block;
    height: 3rem;
    border-bottom: 1px solid #FFF;
    margin-bottom: 3rem;
}

.tel{
    font-size: 4.3rem;
    font-weight: 600;
    line-height:1;
    margin-bottom: 1.6rem;
}
@media (max-width: 767.9px) {
.tel{
    font-size: 2.8rem;
    }
}

.tel a{
    color: #FFF;
}

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

footer{
    background: #2c3e2c;
    color: #969f8c;
}

footer .footer_inner{
    text-align: center;
    font-size: 1.2rem;
    padding: 3rem 0;
}

.copy{
    font-size: 1rem;
    margin-bottom: 0;
}

/*--floating_banner-　　使わない場合は消す-------------------------------------------------------------------*/

.floating_banner {
    height: 11.6rem;
    width: 100%;
    z-index: 5;
    position: fixed;
    bottom: 0;
}
.inner_area {
    width: 800px;
    margin: auto;
    display: flex;
    align-content: center;
    align-items: center;
    justify-content: space-between;
    color: #fff;
    font-size: 2.1rem;
    font-weight: 600;
    height: 100%;
}

.inner_area .dl_texts{
    line-height: 1.5;
    
}

@media (max-width: 767.9px) {
   .inner_area {
       width:100%;
       max-width: 375px;
       flex-wrap: wrap;
       justify-content: space-around;
    } 
    .dl_texts{
        width: 100%;
        text-align: center;
        font-size: 1.6rem;
    }
    .dl_thumbnail{
        width: 30%;
    }
    .dl_btn{
        width:auto;
    }
    .dl_btn .btn_download_area{
        text-align: center;
    }
}

.dl_btn a {
    width: 352px;
    height: 6.8rem;
    padding: 1rem 2rem;
    box-shadow: 0 18px 14px -14px #0b1c2f82;
    
}

@media (max-width: 767.9px) {
    .dl_btn a {
    width:auto;
    height: 4.4rem;
    font-size: 1.4rem;
        padding: 1rem;
    }
    .dl_btn a img{
        width: 16px;
    }
}

/*--END---  floating_banner-　　↑↑↑↑↑↑↑使わない場合は消す-------------------------------------------------------------------*/

/* media Query
========================================================= */
@media screen and (max-width: 767.9px) {
    .u-pconly {
        display: none !important;
    }
}

@media screen and (min-width: 768px) {
    .u-sponly {
        display: none !important;
    }
}