@charset "UTF-8";

/*  layout */


h1,h2,h3,h4,h5,h6{font-weight: 500;}

h3{
    font-size: 1.98rem;
    text-align: center;
    margin: 20px;
}

p{font-size: 1.4rem;}

.block_title{
    padding-top: 30px;
    padding-bottom: 20px;
    font-size: 2.2rem;
    text-align: center;
    color: #099CB5;
    line-height: 25px;
}

.block_title span{
    font-size: 1rem;
}

#block04,
.block06,
.case_study,
.news_block{
    background-color: #F5F8F9;
    padding-bottom: 40px;
}

.block02_01 li::before,
.block04_04_01_01 li::before,
.block04_04_01_02 li::before,
.block07_txt li::before,
.case_txt li::before{
    position: relative;
    top: -4px;
    left: -10px;
    display: inline-block;
    width: 3px;
    height: 3px;
    content: '';
    border-radius: 100%;
    background: #000;
}

.brPc{display: none;}
.brSp{display: inline;}

/* header */

/* bottom_cta */


/* mainvisWarp */


.mainvisWarp{
    background: url("../img/image/mainimage_01.png") no-repeat center right;
    background-repeat: no-repeat;
    background-size: cover;
}


.mainvis_catch{
    padding: 20px 0;
    text-align: center;
    position: relative;
}
/* .mainvis_catch::before { 
	content: "";
	width: 185px;
	height: 210px;
	background: url("../img/image/mainimage_01_2_202307.png") no-repeat center;
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-45%);
	background-size: contain;
} */

.mainvis_catch h1{
    color: #fff;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.2;
}

.mainvis_catch h1 span{
    font-size: 3.1rem;
}

.mainvis_catch p{
    color:#fff;
    font-size:1.6rem;
    margin-top: 10px;
		line-height: 1.2;
}

.mainvis_catch ul{
    color: #fff;
    display: flex;
    width: 100%;
    justify-content: space-evenly;
}
  
.cta_mv_cath_01,
.cta_mv_cath_02{
    font-size: 1.2rem;
    width: 45%;
    height: 50px;
    margin-top: 20px;
    margin: 20px 0px;
    color: #fff;
    background-color: #099CB5;
    border-radius: 4px;
    padding-top: 12px;
    line-height: 25px;
  }
  
  .cta_mv_cath_02{
    border-radius:4px ;
    background-color: #fff;
  }

.cta_mv_cath_01 a{
    color:#fff;

}

.cta_mv_cath_02 a{
    color: #099CB5;
}

/*  block02 */
  
.block02{
    padding-top: 40px;
    background-color: #F5F8F9;
    text-align: center;

}

.block02 h2{
    font-size: 2rem;
    font-weight: 700;
}

.block02 p{
    font-size: 1.4rem;
    margin: 17px 20px 0px 20px;
}

.block02_01{
    background-color: #fff;
    padding: 10px 30px;
    border-radius: 6px;
    box-shadow: 0px 0px 12px rgb(0 0 0 / 5%);
    margin: 0 auto;
    margin: 0 20px 20px 20px;
}

.block02_01 h3{
    margin-top: 21px;
    color: #099CB5;
    font-size: 2.35rem;
}

.block02_01 p{
    font-size: 1.4rem;
    line-height: 27px;
    margin: 17px 0;
}

.block02_01 p img{
    width: 100%;
    height: auto;
}


.block02_01_01{
    margin: 0 auto;
    margin-bottom: 20px;
}

.block02_01_02{
    margin-bottom: 20px;
}

.block02_01_03{
}


.block02_01_02 h4,
.block02_01_03 h4{
    font-size:2.4rem;
    border-bottom: 1px solid #ccc;
    padding-bottom: 10px;
}

.block02_01_02 h5,
.block02_01_03 h5{
    color: #099CB5;
    padding-top: 15px;
    font-size: 1.7rem;
}

.block02_01_02 ul,
.block02_01_03 ul{
    text-align: left;
    padding-left: 17px;
    font-size: 1.4rem;
}

.block02_01_02 ul,
.block02_01_03 li{
    line-height: 33px;
}

.block02_cta{
    width: fit-content;
    height: 60px;
    margin: 0 auto;
    margin-bottom: 20px;
    background-color: #FF9B00;
    color: #fff;
    border-radius: 4px;
    padding: 14px 40px;
    align-items: center;
    display: flex;
}

.block02_cta::after{
    content: url(../img/top/arrow_01.png);
    margin-left: 10px;
}




/* cta_Warp */

.cta_Warp{
    background-color: #099CB5;
    background-size: 100% 420px;
    color: #fff;

}

.cta_contact{
    margin: 0 auto;
}

.cta_txt{
    padding: 20px;
}

.cta_txt h2{
    font-size: 2.39rem;
    text-align: center;
    line-height: 30px;
}

.cta_txt_02{
    font-size:1.2rem;
    font-weight: 100;
    padding: 10px 0;
    text-align: center;
}

.tel{
    margin-bottom: 10px;
}

.cta .em{
    text-align: center;
}

.em img{
    width: 80%;
}

.cta_title{
    display: flex;
    align-items: center;
    font-size: 1.4rem;
    margin-top: 20px;
}

.cta_title:before, .cta_title:after {
    border-top: 1px solid;
    content: "";
    width: 100px;
    margin: 0 auto;
  }

.cta_title:before {
    margin-right: 10px;
}

.cta_title:after {
    margin-left: 10px;
  }
  
.cta_button{
    height: 53px;
    background-color: #FF9B00;
    text-align: center;
    margin: 10px 0;
    padding-top: 14px;
    border-radius: 4px;
    font-size: 1.5rem;
    position: relative;
}

.cta_button::after{
    content: url(../img/top/arrow_03.png);
    position: absolute;
    top: 20px;
    right: 20px;
}

/*  block04 */

.block04 > p{
    text-align: center;
    margin: 0 20px 20px 20px;
}

.block04 > p > img{
    width: 100%;
}

.block04_01{
    margin: 20px;
}

.block04_01 h4,h5{
    font-size: 2.4rem;
    color: #099CB5;
}

.block04_01 > p{
    margin: 20px 0;
}

.block04_01 h5{
    font-size: 2rem;
}

.block04_01_01{
    display: flex;
    justify-content: start;
    flex-wrap: wrap;
    gap: 0px 30px;
    padding-left: 20px;
    
}


.block04_01_02{
    width: 140px;
    margin-bottom: 20px;
}

.block04_01_02 > p,
.block04_01_02 > h5{
    text-align: center;
}

.block04_01_02 img{
    margin-bottom: 10px;
}


.block04_01_02 li{
    line-height: 30px;
    font-size: 1.37rem;
}

.block04_01_02 li::before{
    position: relative;
    top: -4px;
    left: -10px;
    display: inline-block;
    width: 3px;
    height: 3px;
    content: '';
    border-radius: 100%;
    background: #000;
}

.block04_02 {
    margin: 20px;
}


.block04_02 h4{
    background-color: #099CB5;
    height: 50px;
    text-align: center;
    padding-top: 9px;
    font-size: 2rem;
    color: #fff;
}

.block04_02_01{
    background-color: #fff;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.block04_02_01_02{
    width: 50%;
    border-bottom: solid 1px #ddd;
    border-left: solid 1px #ddd;
    padding: 30px 20px;
}

.block04_02_01_02:nth-child(2n) {
    border-right: solid 1px #ddd;
}

.remainder{
    border-right: solid 1px #ddd;
    margin-left: 1px;
}


.block04_02_01_02_img,
.block04_02_01_02 > h5{
    text-align: center;
}

.block04_02_01_02_img img{
}


.block04_02_01_02 > h5{
    font-size: 1.6rem;

}

.block04_02_01_02_txt{
    text-align: left;
}

.block04_03{
    margin: 40px 20px;
}

.block04_03 h4{
    font-size: 2.4rem;
    text-align: center;
}

.block04_03_01_01{
    text-align: center;
}

.block04_03_01_01 > p > img{
    margin: 20px 0;
}


/*  b05_content L_bl */
.b05wrap_line{
    display: flex;
    flex-wrap: wrap;
}
.b05_icon{
    width: 50%;
}

/*  b05_content L_blここまで */



.block04_03_01_01 h5{
    font-size:2.0rem;
}

.block04_03_01_02{
    margin-top: 37px;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}


.block04_03_01_02:last-child{
    padding: 0px;
}

.block04_03_01_02_icon{
    width: 33.3%;
    text-align: center;
    margin-bottom: 10px;

}

.block04_03_01_02_icon img{
    width: 80%;
    height: auto;
}

.block04_03_01_02_icon h6{
    line-height: 2.2rem;
    padding: 10px 10;
    text-align: center;
    font-size: 1.2rem;
}

.block04_03_01_03 {
    margin-top: 20px;
    text-align: center;
}

.block04_03_01_03 > p > img{
    margin: 20px 0;
}


.block04_04{
    background-color: #fff;
    margin: 20px;
    padding: 10px 20px;
    border-radius: 6px;
    box-shadow: 0px 0px 12px rgb(0 0 0 / 5%);
    border: solid 1px #eee;
}

.block04_04 h4{
    color: #099CB5;
    font-size: 2.6rem;
    text-align: center;
    margin: 20px 0 ;

}


.block04_04_01{

}


.block04_04_01_01{
    margin-bottom: 40px;
}
.block04_04_01_02{
    margin-bottom: 20px;
}


.block04_04_01_01 h5,
.block04_04_01_02 h5{
    text-align: center;
    font-size: 2.0rem;
    color: #000;
    margin-top: 20px;

}


.block04_04_01_01 p,
.block04_04_01_02 p{
    font-size: 1.4rem;
    margin-top: 0px;
    line-height: 28px;

}

.block04_04_01_01 h6,
.block04_04_01_02 h6{
    width: 70px;
    height: 27px;
    background-color: #099CB5;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 100;
    text-align: center;
    margin-top: 10px;
}

.block04_04_01_01 ul,
.block04_04_01_02 ul{
    margin-top: 10px;
}

.block04_04_01_01 li,
.block04_04_01_02 li{
    line-height: 30px;
}

.block04_04_01_01_01 img,
.block04_04_01_01_02 img{
    width: 100%;
    height: auto;
}

.block04_04_01_01_01 ul,
.block04_04_01_01_02 ul{
    margin-left: 12px;
}


/*  block05 */

.block05 p{
    text-align: center;
    margin: 20px;
}

.block05_01{
    background-color: #fff;
    padding: 10px 30px;
    border-radius: 6px;
    box-shadow: 0px 0px 12px rgb(0 0 0 / 5%);
    margin: 20px;
    margin-bottom: 40px;
    border: solid 1px #eee;

}

.block05_01 h4{
    text-align: center;
    font-size: 2rem;
    color: #099CB5;
    margin: 20px;
}

.block05_01 p{
    text-align: center;
    font-size: 1.5rem;
    margin: 20px 0;
}

.block05_01 ul li{
    margin-bottom: 20px;
    text-align: center;
}

/*  block06 */

.block06 h3{
    margin-top: 0px;
}

.block06 > p{
    text-align: center;
    margin: 20px;
}

.block06_map{
    margin: 20px;
}


.block06_map_area_01,
.block06_map_area_02,
.block06_map_area_03{
    margin-bottom: 20px;

}


.block06_map_area_01 img,
.block06_map_area_02 img,
.block06_map_area_03 img{
    width: 100%;
    height: auto;

}

.block06_map_area_01 h4,
.block06_map_area_02 h4,
.block06_map_area_03 h4,
.block06_map_area_04_txt h4
{
    font-weight: bold;
    font-size: 1.6rem;
    margin: 10px 0;
}

.block06_map_area_01 p{
    font-size: 1.3rem; 
}

.map_bace{
    border-top: solid 1px #ddd;
}

.map_bace_txt{
    padding: 10px 0;

}

.map_bace_txt h5{
    color: #000;
    font-size: 1.071em;
}

.map_bace_txt p{
    font-size: 1.5rem;
}

/*  cta_Warp_02 */

.cta_Warp_02{
    background-color: #099CB5;
    height: 380px;
    color: #fff;

}

.cta_txt_03{
    padding: 20px;
}

.cta_txt_03 h2{
    font-size: 2.6rem;
    text-align: center;
}

.cta_txt_03 > p{
    font-size: 1.5rem;
    text-align: center;
    margin: 10px 0;
}

.tel_02 img{
    width: 100%;
    height: auto;
}

.tel_wrap ul{
    margin-top: 20px;
}

.cta_button_02{
    width: 100%;
    height: 60px;
    background-color: #FF9B00;
    text-align: center;
    padding-top: 15px;
    border-radius: 4px;
    font-size: 1.8rem;
    position: relative;
    margin-bottom: 20px;
}

.cta_button_02::after{
    content: url(../img/top/arrow_03.png);
    position: absolute;
    top: 23px;
    right: 20px;
}

.cta_button_03{
    width: 100%;
    height: 60px;
    background-color: #FFF;
    text-align: center;
    padding-top: 15px;
    border-radius: 4px;
    font-size: 1.8rem;
    position: relative;
    margin-bottom: 20px;
}

.cta_button_03::after{
    content: url(../img/top/arrow_04.png);
    position: absolute;
    top: 25px;
    right: 20px;
}

.cta_button_03 a{
    color: #099CB5;
}


/*  block07 */

.block07 > p{
    text-align: center;
    margin: 20px;
}

.block07_wrap{
    padding: 20px;
}

.block07_wrap_box{
    background-color: #fff;
    padding: 20px;
    border-radius: 6px;
    box-shadow: 0px 0px 12px rgb(0 0 0 / 5%);
    margin-bottom: 20px;
    border: solid 1px #eee;

}

.block07_txt h4{
    color: #099CB5;
    font-size: 1.9rem;
    border-bottom: solid 1px #ddd;
    padding-bottom: 10px;

}

.block07_txt h5{
    font-size:1.7rem ;
    font-weight: 500;
    color: #000;
    margin-top: 10px;
}

.block07_txt ul{
    margin-top: 10px;
    padding-left: 15px;

}
.block07_txt li{
    line-height: 35px;

}

.block07_txt li::before{
    position: relative;
    top: -4px;
    left: -10px;
    display: inline-block;
    width: 3px;
    height: 3px;
    content: '';
    border-radius: 100%;
    background: #000;
}

.block07_txt p{
    font-size:1.5rem ;
}

/*  case */

.case_box{
    background-color: #fff;
    border-radius: 6px;
    box-shadow: 0px 0px 12px rgb(0 0 0 / 5%);
    margin: 20px;
    margin-bottom: 20px;
    padding: 0px 20px 20px 20px;
}

.case_title{
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.case_no{
    height: 96px;
    border-radius: 0 0 4px 4px;
    background-color: #099CB5;
    color: #C2E5E3;
    font-size: 0.714em;
    text-align: center;
    font-family: Helvetica;
    line-height: 33px;
    padding: 23px 10px 0 10px;
    font-weight: 500;
    font-size: 5.4rem;
}

.case_no span{
    font-size: 1rem;
    border-top: 1px solid #C2E5E3;
    letter-spacing: -0.5px;
}

.case_title h3{
    color: #099CB5;
    text-align: left;
    margin: 0px;
    padding-left: 10px;
}

.title_tag{
    border: 1px solid #099CB5;
    height: 25px;
    text-align: center;
    font-size: 1.3rem;
    color: #099CB5;
    margin-top: 10px;
    line-height: 22px;
}

.case_detail{
    margin-top: 25px;
}


.brCase{
    width: 100%;
}

.caseTxtBox_02{
    width: 100%;
    background-color: #F6F6F6;
    padding: 10px;
    line-height: 20px;
    font-size: 1.4rem;
}

.td01{
    width: 30%;
    margin-right: 20px;
}

.td02{
    width: 60%;
    font-weight: 700;
}

.case_img{
    margin-right: 18px;
}

.case_txt h4{
    font-size: 1.8rem;
    margin: 10px 0;
}

.case_txt ul{
    font-size: 1.5rem;
    margin: 10px 18px;
}

.case_txt li{
    line-height: 30px;
}






/* news */

.news_block{
    padding: 20px;
}

.news_wrap{
    padding-bottom: 20px;
}

.news_wrap h3{
    font-size: 2.6rem;
    text-align: left;
    color: #099CB5;
    margin: 20px 0 10px 0;
}

.news_item{
    margin: 20px 0;
}

.news_item p img{
    width: 100%;
}


.date{
    font-size: 1.3rem;
    padding: 10px 0;
}

.news_cta{
    margin: 0 auto;
    padding-top: 12px;
    width: 292px;
    height: 53px;
    background-color: #FF9B00;
    color: #FFF;
    text-align: center;
    border-radius: 4px;
    font-size: 1.6rem;
    position: relative;
    margin-bottom: 20px;
}

.news_cta::after{
    content: url(../img/top/arrow.png);
    position: absolute;
    top: 25px;
    right: 20px;
    
}


#logo_scroll { margin: 40px 0 30px; }
#logo_scroll .block_title { margin-bottom: 15px; color: #000; padding: 0; line-height: 1.2; }
#logo_scroll .slick-slide { height: auto; margin: 0 20px; }
#logo_scroll .slick-slide img { height: 50px; width: auto; }
