
*{
text-decoration: none;
}

body{
    font-family: font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
@media screen and (max-width:767px) {
body{
}
}


p{
margin: 0;
}

.sm_30{
    margin-bottom:0;
}
@media screen and (max-width:767px) {
.sm_30{
    margin-bottom:30px;
}
}

#wrap{
font-size: 100%;
line-height: 2;
}

.wrap{
    background:#fff;
}

@media screen and (max-width:767px) {
}

@media screen and (max-width:767px) {
.about{
   max-widht:200px;
   margin:0 auto; 
   padding:0 80px 0 80px;
}
}

.title_base1{
font-size:200%;
font-weight:bold;
padding-top:60px;
}
@media screen and (max-width:767px) {
.title_base1{
    font-size:120%;
    font-weight:bold;
    padding-top:0;
}
}


.title_base2{
    font-size:200%;
    font-weight:bold;
    }
    @media screen and (max-width:767px) {
    .title_base2{
        font-size:120%;
        font-weight:bold;
    }
    }



.concept{
    border:2px solid #a1988b;
    border-radius:10px;
    padding:30px;
}

.wrap_arrow{
    margin:0 auto;
    width: 0;
    height: 0;
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    border-top: 30px solid #edece5;
margin-bottom:60px;
  }








.content_box{
max-width: 1200px;
margin: 0 auto;
line-height: 2;
padding: 0 15px;
}


footer{
font-size: 60%;
text-align: center;
padding: 60px 0;
}








header{
    background: url("../img/top/main-bg-pc.jpg") no-repeat center top;
    background-size:cover;
    width:100%;
    padding: 30px 0 0;
    margin-bottom: 30px;
    }
    @media screen and (max-width:767px) {
    header{
    background: url("../img/top/main_bg_sm.jpg") no-repeat center top;
    background-size:cover;
    height:100vh;
    padding: 15px 0 0;
    margin-bottom: 30px;
    }
    }
    
    
    .header_box{
        width: 100%;
    margin: 0 auto;
    padding: 0 15px;
    
    }
    @media screen and (max-width:767px) {
    .header_box{
    padding: 0;
    }
    }
    
    .header_box h1{
    margin:0;
    line-height: 0;
    }
    
    .catch{
        padding: 280px 0 280px 10%;
            text-align:left;
        }
        @media screen and (max-width:767px) {
        .catch{
            position: absolute;
            top: 50%;
            left: 50%;
            width: 100%;
            -webkit-transform: translate(-50%, -50%);
            -moz-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
            z-index: 100;
            text-align:center;
        padding: 0 30px;
        }
        }
        .catch img{
            max-width:650px;
        }














h2{
padding:0 30px;
margin:120px auto 0;
max-width:600px;
text-align:center;
}
@media screen and (max-width:767px) {
    h2{
        padding:0;
        margin:60px 0;
        }
}

h3{
    font-size:240%;
    font-weight:600;
    margin-bottom:30px;
}

@media screen and (max-width:767px) {
h3{
    font-size:160%;
    font-weight:600;
}
}
.red{
    color:#AC1212;
}





.br_none{
    display:inline;
}
@media screen and (max-width:767px) {
    .br_none{
        display:none;
    }
}



.t1_style{
    text-align:center;
}
@media screen and (max-width:767px) {
    .t1_style{
        text-align:left;
    }
}





.sub_bg{
    background: url(../img/top/sub_bg.jpg) no-repeat center top;
        background-attachment: fixed;
        background-size: cover;
        background-position: center;
        padding: 60px 0 240px;
        width: 100%;
        display: block;
    }





   
.sub_img{
background: url(../img/top/sub_img_bg.jpg) no-repeat center top;
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
    padding: 240px 0;
    width: 100%;
    display: block;
}





.background-section {
    position: relative; /* 背景セクションを相対位置に */
    width: 100%;
    overflow: hidden; /* はみ出しを隠す */
}

.background-image {
    position: fixed; /* 背景画像を固定 */
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh; /* ビューポートの高さに合わせる */
    background-size: cover; /* 画像を全体に拡大 */
    background-position: center; /* 中央に配置 */
    z-index: -1; /* コンテンツの背後に配置 */
}

.content {
    position: relative; /* コンテンツを相対位置に */
    color: white; /* テキスト色 */
    text-align: center; /* テキストを中央に */
    padding: 60px 20px; /* 上下に余白を追加 */
    z-index: 1; /* 他のコンテンツより前面に */
}

.fixed-height {
    height: 300px; /* 高さを300pxに指定 */
}

/* 高さを内容に依存させるためのクラス */
.first-section {
    padding-bottom: 300px; /* 下に余白を作成 */
}

/* 固定高さのセクションのためのスタイル */
.fixed-height {
    height: 300px; /* 高さを300pxに指定 */
    position: relative; /* 相対位置 */
}

.content-below {
    padding: 20px; /* 下のコンテンツに余白 */
    background-color: #f0f0f0; /* 下のコンテンツの背景色 */
}







.orange{
    color:#ef7a00;
}


.area2{
    background:#fff;
    padding:60px;
    border-radius: 30px;
}
.dotted01{
    background-image : linear-gradient(to right, #9b9b9b 4px, transparent 4px);
    background-size: 15px 4px;
    background-repeat: repeat-x;
    background-position: left bottom;
    padding-bottom:15px;
    margin-bottom:30px;
    font-size:160%;
    text-align:center;
    font-weight:bold;
}
.dotted01-last{
    font-size:160%;
    text-align:center;
    font-weight:bold;
}
@media screen and (max-width:767px) {
    .dotted01{
        background-image : linear-gradient(to right, #9b9b9b 4px, transparent 4px);
        background-size: 15px 4px;
        background-repeat: repeat-x;
        background-position: left bottom;
        padding-bottom:15px;
        margin-bottom:30px;
        font-size:120%;
        text-align:center;
        font-weight:bold;
    }
    .dotted01-last{
        font-size:120%;
        text-align:center;
        font-weight:bold;
    }
}















#content4 dt{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    width: 100px;
    height: 100px;
    border-radius: 100%;
    background-color: #ffffff;
    color: #49c3a8;
    text-align: center;
    font-weight: 600;
    flex-wrap: wrap;
    flex-direction: column;
    line-height: 1.6em;
    }
    
    @media screen and (max-width:767px) {
    #content4 dt{
        width:70px;
        height:70px;
    }
    }
    
    
    #content4 dt .step{
    font-size: 80%;
    
    }
    #content4 dt .number{
    font-size: 160%;
    }
    
    
    #content4 dd{
    display: flex;
    align-items: center;
    flex-shrink: 0;
    color: #ffffff;
    }
    
    #content4 h3{
    font-size: 140%;
    font-weight: 600;
    margin-bottom: 5px;
    }
    @media screen and (max-width:767px) {
        #content4 h3{
            font-size: 100%;
            font-weight: 600;
            margin-bottom: 5px;
            }   
    }
    
    .content4_min{
    min-height: 152px;
    }
    
    .content4_box{
    }
    .content4_box_area{
    padding: 30px 30px 30px 0;
    }
    @media screen and (max-width:767px) {
    .content4_box_area{
    padding: 15px 15px 15px 0;
    }
    }
    .content4_box_area span{
    color:#ffffff;
    font-size: 60%;
    background: #ef7a00;
    padding: 5px 10px;
    margin-right: 10px;
    border-radius: 5px;
    }
    

.icon{
background: #3e72a9;
width:100%;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-align-self: stretch;
-ms-flex-item-align: stretch;
align-self: stretch;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
}
    
.icon img{
width:80px;
}
@media screen and (max-width:767px) {
.icon img{
max-width:50px;
}
}
    
.d_flex{
display:flex;
}

.step_box{
    border:solid 1px #3e72a9;
    margin-bottom:30px;
}

.step_box:after {
    content: "";
    position: absolute;
    left: 50%;
    margin-left: -20px;
    border: 20px solid transparent;
    border-top: 12px solid #3e72a9;
}

.last_step:after {
    display:none;
}






.flow-box{
    padding:15px;
    border:solid #efefef 1px;
    border-radius: 10px;
}

.flow-title{
    font-size:140%;
    font-weight:bold;
    text-align:center;
    margin-bottom:15px;
    color:#fc8c26;
}
@media screen and (max-width:767px) {
    .flow-title{
        font-size:120%;
        font-weight:bold;
        text-align:center;
        margin-bottom:15px;
        color:#fc8c26;
    }
}

.flow-img{
    max-width:250px;
    margin:0 auto;
}


.flow-mb{
    margin-bottom:0;
}
@media screen and (max-width:767px) {
    .flow-mb{
        margin-bottom:30px;
    }
}

.area3{
    background:#fff;
    padding:60px;
    border-radius: 30px;
}
@media screen and (max-width:767px) {
    .area3{
        background:#fff;
        padding:30px;
        border-radius: 30px;
    }
}





.voice-title{
    font-size:140%;
    font-weight:bold;
    text-align:center;
    margin-bottom:10px;
}







.meo-box{
    background:#fff1e3;
    padding:30px;
    text-align:center;
}

.meo-title{
    font-size:160%;
    font-weight:bold;
    color:#fc8c26;
    margin-bottom:15px;
    position: relative;
}
@media screen and (max-width:767px) {
    .meo-title{
        font-size:120%;
        font-weight:bold;
        color:#fc8c26;
        margin-bottom:15px;
        position: relative;
    }
}

.meo-title::before{
    position: absolute;
    bottom: -5px;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 2px;
    background: #fc8c26;
    content: '';
}

.meo-text{
    font-size:120%;
    font-weight:bold;
}
@media screen and (max-width:767px) {
    .meo-text{
        font-size:100%;
        font-weight:bold;
    }
}



.kutikomi-box{
    background:#e8eff7;
    padding:30px;
    text-align:center; 
}
.kutikomi-title{
    font-size:160%;
    font-weight:bold;
    margin-bottom:15px;
    text-align:left;
}
@media screen and (max-width:767px) {
    .kutikomi-title{
        font-size:120%;
        font-weight:bold;
        margin-bottom:15px;
        text-align:left;
    }
}
.kutikomi-text{
    font-size:120%;
    font-weight:bold;
    color:#fff;
    background:#3e72a9;
    padding:15px;
    border-radius:10px;
}
@media screen and (max-width:767px) {
    .kutikomi-text{
        font-size:100%;
        font-weight:bold;
        color:#fff;
        background:#3e72a9;
        padding:15px;
        border-radius:10px;
    }
}



.merit-title{
    font-size:160%;
    font-weight:bold;
    margin-bottom:15px;
}
@media screen and (max-width:767px) {
    .merit-title{
        font-size:120%;
        font-weight:bold;
        margin-bottom:15px;
    }
}

.merit-text{
    background: #fff;
    padding:20px 25px;
    border-radius:10px;
}
.merit-text p{
    position: relative;
    padding-left: 30px;
}
.merit-text p::after {
    content: '';
    display: block;
    position: absolute;
    top: .4em;
    left: 0;
    width: 15px;
    height: 10px;
    border-left: 3px solid #ef7a00;
    border-bottom: 3px solid #ef7a00;
    transform: rotate(-45deg);
}







.mente-text{
    text-align:center;
    max-width:600px;
    margin:0 auto;
}

.mente-text p{
    background:#3e72a9;
    padding:10px 15px;
    border-radius:60px;
    text-align:center;
    font-size:120%;
    font-weight:bold;
    color:#fff;
}
@media screen and (max-width:767px) {
    .mente-text p{
        background:#3e72a9;
        padding:10px 15px;
        border-radius:60px;
        text-align:center;
        font-size:80%;
        font-weight:bold;
        color:#fff;
    }
}






.qa-bg{
    background:#e8eff7;
    padding:60px 0;
    widht:100%;
}

.qa-title{
    background:#3e72a9;
    text-align:center;
    font-size:140%;
    font-weight:bold;
    color:#fff;
    margin-bottom:30px;
    padding:15px;
}


.q-style p{
    position: relative;
    padding-left:25px;
}    
.q-style p::after {
    content: 'Q';
    font-size:100%;
    font-weight:bold;
    color:#3e72a9;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 15px;
    height: 10px;
}


.a-style div{
    position: relative;
    padding-left:25px;
}    
.a-style div::after {
    content: 'A';
    font-size:100%;
    font-weight:bold;
    color:#de0000;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 15px;
    height: 10px;
}


.a-style ul{
    list-style: square;
}





/*accordion*/


.accordion-item .accordion-button{
    background:#49c3a8;
    color:#ffffff;
    font-size:130%;
    font-weight:bold;
}
@media screen and (max-width:767px) {
    .accordion-item .accordion-button{
        background:#49c3a8;
        color:#ffffff;
        font-size:100%;
        font-weight:bold;
    }
}

.accordion-item{
    border:none;
}

.accordion-button:focus{
    border:none;
    box-shadow:none;
}
.accordion-item:last-of-type .accordion-button.collapsed{
    border-radius:0;
}




.qa .accordion-button{
    background:#ffffff;
    color:#4c4c4c;
}

.qa .accordion-body{
    background:#f7f7f7;
}

/*qa*/


.qa_title{
    font-size:180%;
    color:#ffffff;
    background:#1b2b47;
    padding:15px;
    width:100%;
    text-align: center;
}
@media screen and (max-width:767px) {
    .qa_title{
        font-size:140%;
    }
}

.qa .q span{
    padding-right:15px;
    color:#3e72a9;
}

.qa .a span{
    font-size:130%;
    font-weight:bold;
    padding-right:15px;
    color:#dd0000;
}




.qa_area{
    background:#e8eff7;
    padding:30px 0;
}



@media screen and (max-width:767px) {
.qa_area .accordion-button{
font-size:100%;
}
}




.qa_area .container-fluid{
    padding-left:15px;
    padding-right:15px;
}


.qa .q dt{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 100%;
    background-color: #49c3a8;
    color: #ffffff;
    float:left;
}
.qa .q dd{
    display: flex;
    align-items: center;
    flex-shrink: 0;
    float:left;
}

.qa .a dt{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 100%;
    background-color: #ffffff;
    color: #49c3a8;
    float:left;
    font-size:130%;
    font-weight:bold;
}

@media screen and (max-width:767px) {
    .qa .a dt{
        font-size:100%;
    }
}


.qa .a dd{
    display: flex;
    align-items: center;
    flex-shrink: 0;
    float:left;
    color:#ffffff;
}




.link_btn{
    border:1px solid #cccccc;
    padding:15px;
    text-align:center;
    display:block;
    font-size:140%;
    font-family: "M PLUS 1p";
    font-weight:bold;
}


.btn_arrow {
    font-size:140%;
    width:100%;
    display: table;
    position: relative;
    padding: 1em 2.5em;
    min-width: 15em;
    border: 2px solid #1b2b47;
    color: #1b2b47;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    box-sizing: border-box;
    transition: 0.5s;
}
.btn_arrow::after {
    position: absolute;
    top: 50%;
    right: 1em;
    width: 0.5em;
    height: 0.5em;
    transform: translateY(-50%) rotate(45deg);
    border-right: 2px solid #1b2b47;
    border-top: 2px solid #1b2b47;
    content: "";
}





























.price-pc{
    display:block;
}
@media screen and (max-width:767px) {
    .price-pc{
        display:none;
    }
}
.price-sm{
    display:none;
}
@media screen and (max-width:767px) {
    .price-sm{
        display:block;
    }
}

/*----------------------
コンタクトフォーム
---------------------- */
.contact-form{
    padding:0;
    margin-bottom:30px;
    font-weight:600;
    font-size:120%;
}
.contact-form li{
    list-style: none;
    margin: 0 0 10px 0;
    padding: 15px;
}
.contact-form li:last-child{
    margin-bottom:0;
}
.contact-form input,textarea{
    border:1px solid #e2e2e2;
}
.contact-form p{
    margin-bottom:1rem;
}
.contact-form span{
    padding:3px 10px;
    margin-right:10px;
    background:#3e72a9;
    color:#fff;
    border-radius: 30px;
}
.contact_submit{
    margin:0 auto;
    text-align:center;
    font-size:120%;
    font-weight:600;
}
.contact_submit input{
    background:#3e72a9;
    transition-property:background;
    transition-duration:0.3s;
    transition-timing-function:ease;
    transition-delay:0.1s;
    width:300px;
    height:60px;
    border:none;
    color:#fff;
    border-radius: 30px;
}
.contact_submit input:hover{
    background:#494949;
    transition-property:background;
    transition-duration:0.3s;
    transition-timing-function:ease;
    transition-delay:0.1s;
    border-radius: 30px;
}

































@media screen and (max-width:767px) {
}





@media screen and (max-width:767px) {
.br_none{
display: none;
}
}



.map{
width: 100%;
height: 350px;
}



.sm_mb15{
margin-bottom: 0;
}
@media screen and (max-width:767px) {
.sm_mb15{
margin-bottom: 15px;
}
}

.sm_mb30{
margin-bottom: 0;
}
@media screen and (max-width:767px) {
.sm_mb30{
margin-bottom: 30px;
}
}



.sm_none{
display: block;
}
@media screen and (max-width:767px) {
.sm_none{
display: none;
}
}

.pc_none{
display: none;
}
@media screen and (max-width:767px) {
.pc_none{
display: block;
}
}



.pd_tb60{
padding: 60px 0;
}

.bold{
font-weight: bold;
font-size: 120%;
}

.bold2{
font-weight: bold;
}


.t_center{
text-align: center;
}
.t_right{
text-align: right;
}
.t_left{
text-align: left;
}
.p_lr15{
padding: 0 15px;
}
.ml30{
margin-left: 30px;
}
.m_auto{
margin: 0 auto;
}
.mb10{
margin-bottom: 10px;
}
.mb15{
margin-bottom: 15px;
}
.mb20{
margin-bottom: 20px;
}
.mb30{
margin-bottom: 30px;
}
.mb40{
margin-bottom: 40px;
}
.mb50{
margin-bottom: 50px;
}
.mb60{
margin-bottom: 60px;
}
