@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600&family=Noto+Serif:ital,wght@0,100..900;1,100..900&display=swap');

body{font-size: 16px; font-family: "Noto Sans JP", sans-serif; font-weight: 400; line-height: 1.7; color: #222;}
a{text-decoration: none; display: inline-block; color: inherit;}
a:hover{opacity: .8; transition: .3s;}
p{margin-bottom: 0;}
img{max-width: 100%;}
ul{padding-left: 0;}

/*----- header -----*/
header{position: fixed; top: 0; left: 0; width: 100%; background: #fff; z-index: 99; box-shadow: 0px .5em .75em 0px rgba(0,0,0,.05);}
.head_inner{display: flex; justify-content: space-between; align-items: center; padding: 1rem .75rem;}
.head_nav ul{display: flex; align-items: center;}
.head_nav ul li{margin: 0 1rem;}
.head_nav ul li a{color: #222; font-weight: bold;}
.head_nav ul li a i{display: none;}

/*----- COMMON -----*/
section{padding: 6rem 0; overflow: hidden;}
section.pb0{padding-bottom: 20px;}
.wrp_sec-tit{display: flex; align-items: center; margin-bottom: 3rem; position: relative;}
.wrp_sec-tit::before{content: ''; border-top: solid 2px #002341; position: absolute; top: 1.5rem; left: -51%; width: 50%;}
.sec_tit{margin-bottom: 2.5rem; font-size: 2.2rem; font-weight: 700; color: #002341; line-height: 1.5; font-family: "Noto Serif", serif; position: relative;}
.sec_tit::before{content: ''; border-top: solid 2px #002341; position: absolute; top: 1.5rem; left: -51%; width: 50%;}
.sec_tit.l2::before{top: 3.5rem;}
.sec_tit.none::before{display: none;}
.sec_text{margin-bottom: 2rem;}
.wrp_sec-tit .sec_tit{margin-bottom: 0rem;}
.wrp_sec-tit .sec_tit::before{display: none;}
.wrp_sec-tit .sub{margin-left: 30px; font-family: "Noto Serif", serif; color: #002341; font-size: 1.5rem;}
.red{color: #d22832; font-weight: 700;}
.blue{color: #002341;}
.quote{font-size: 0.75rem;}
.big{font-size: 3.1rem;}
.lr_box{display: flex; align-items: center; margin-bottom: 1rem;}
.lr_box .left_box{width: 55%;}
.lr_box .right_box{width: 45%;}
.lr_box2{display: flex; align-items: center; margin-bottom: 2rem;}
.lr_box2 .left_box{width: 70%;}
.lr_box2 .right_box{width: 28%; margin-left: 2%;}
.lr_box3{display: flex; margin-bottom: 2rem;}
.lr_box3 .left_box{width: 30%;}
.lr_box3 .right_box{width: 68%; margin-left: 5%;margin-top: 3%;}
.bg_gray{background-color: #f6f6f6;}
.g_tit{font-size: 1.8rem; font-weight: 700; color: #7f6441; margin-bottom: 3rem; position: relative; font-family: "Noto Serif", serif; display: inline-block;}
.g_tit::before{content: ''; border-bottom: solid 2px #7f6441; position: absolute; bottom: -10px; right: 0; width: 1000px;}

/*--- btn ---*/
.main_btn{background-color: #33cb6c; color: #fff; padding: .75rem 2.5rem; text-align: center; position: relative;}
.main_btn::after{content: '→'; position: absolute; font-size: 1.5rem; height: 2.5rem; color: #fff; top: 0; bottom: 0; right: 1rem; margin: auto 0;}
.main_btn .sub{font-size: 1.2rem; font-weight: 700; line-height: 1.4;}
.main_btn .main{font-size: 1.4rem; font-weight: 700; line-height: 1.4;}
.main_btn:hover{color: #fff;}
.btn_box{margin-top: 2rem;}
.btn_yl{padding: 1rem 5rem .8rem 1.5rem; border: solid 2px; border-image-source: linear-gradient(45deg, #ffc800,#7f6441); border-image-slice: 1; color: #002341; position: relative;}
.btn_yl:hover{color: #002341;}
.btn_yl::after{content: '→'; position: absolute; font-size: 1.5rem; height: 2.5rem; color: #002341; top: 0; bottom: 0; right: 1rem; margin: auto 0;}
.btn_yl .sub{font-size: 1.2rem; line-height: 1.2;}
.btn_yl .main{font-size: 1.5rem; font-weight: 700;}
.pub_btn{padding: .75rem 5rem; border: solid 2px; border-image-source: linear-gradient(45deg, #ffc800,#7f6441); border-image-slice: 1; color: #fff; background-color: #002341; position: relative;font-size: 1.3rem;}
.pub_btn:hover{color: #fff;}
.pub_btn.left{padding: .75rem 3.5rem .75rem 1.5rem;}
.pub_btn::after{content: '→'; position: absolute; font-size: 1.4rem; height: 2.5rem; color: #fff; top: 0; bottom: 0; right: 1rem; margin: auto 0;}
.btn_box.flex .pub_btn{display: block; width: 31%; margin: 0 1%; padding: .5rem 5rem; line-height: 1.2;}
.btn_box.flex .pub_btn::after{height: 1.8rem;}
.btn_box.flex .pub_btn.l1{font-size: 1.2rem;}
.btn_box.flex .pub_btn.l1 > span{display: inline-block; padding-top: 0.8rem;}

/*----- TOP -----*/
/*--- mv ----*/
.mv{background-image: url(assets/images/mv_bk.png); background-size: cover; position: relative; padding: 7rem 0 3rem;}
.mv_inner{min-height: 500px; display: flex; justify-content: space-between; align-items: center;}
.mv_left h1{font-family: "Noto Serif", serif; font-size: 2.2rem; font-weight: 700; padding-bottom: 1rem; margin-bottom: 2rem; line-height: 1.4; letter-spacing: 1.2px; border-bottom: solid 1px #000;}
.mv_left p{font-family: "Noto Serif", serif;}
.mv_left .mid{font-size: 2rem; font-weight: 700; letter-spacing: 1.5px; line-height: 1;}
.mv_left .rmid{color: #d22832; font-size: 3.1rem; font-weight: 700; letter-spacing: 1.2px; margin-bottom: 1rem;margin-top: 1rem; line-height: 1.4;}
.mv_left .rmid > .small{font-size: 2rem;}
.mv_left .text{color: #000; font-size: 1rem; font-weight: 400; letter-spacing: 0.9px; line-height: 1.5;font-family: "Noto Sans JP", sans-serif; margin-top: 2.5rem;background: #f0f0f0;
   padding: 7px 3rem; display: inline-block;}
.mv_logo{position: absolute; top: 0; bottom: 0; right: 0; left: 0; margin: auto; z-index: -1; width: 17%; height: 40%;}
.mv_logo img{width: 100%;}
.mv_right img{max-width: 485px;}

/*--- message ---*/
.message{position: relative;}
.message::before{content: ''; width: 75%; height: 90%; background-color: #fff; position: absolute; top: 0; bottom: 0; margin: auto 0; left: 0; box-shadow: 0px 6px 20px 0px rgba(0,0,0,.1); z-index: -1;}
.message::after{content: ''; width: 90%; height: 90%; background-color: #f6f6f6; position: absolute; bottom: 0;  right: 0; z-index: -2;}
.wrp_messeage{display: flex;}
.wrp_messeage .message_left{width: 50%;}
.wrp_messeage .message_left > p{line-height: 2; margin-bottom: 2rem;font-size: 1.125rem;}
.wrp_messeage .message_right{width: 50%;}

/*--- reasen ---*/
.reason-slider{margin-top: 4rem;}
.reason-slider .slick-list{overflow: visible;}
.r_box{text-align: center; max-width: 375px; box-shadow: 0px 6px 20px 0px rgba(0, 0, 0, 0.10); margin: 0 1rem; padding-top: 2rem; cursor: grabbing;}
.r_box .item_img{border-radius: 50%; background-color: #f6f6f6; width: 100px; height: 100px; margin: 0 auto 2rem auto; display: flex; justify-content: center; align-items: center;}
.r_box .r_btn{display: block;}
.r_box p{padding-bottom: 2rem; font-size: 1.1rem; font-weight: 700;}
.r_box h3{color: #002341; font-family: "Noto Serif", serif; font-size: 1.8rem; font-weight: 700; margin-bottom: 2rem;}
.r_btn{background-color: #002341; color: #fff; padding: .75rem 0;}
.r_btn:hover{color: #fff;}
.r_btn i{margin-right: 0;}
.r_btn.collapsed .fa-chevron-up{display: none;}
.r_btn .fa-chevron-up{display: inline;}
.r_btn .fa-chevron-down{display: none;}
.r_btn.collapsed .fa-chevron-down{display: inline;}

/*--- cta ---*/
.cta{background-image: url(assets/images/cta_bk.jpg); background-size: cover; padding: 2rem 0 2.4rem;}
.cta_title{position: relative; text-align: center; color: #fff;}
.cta_title .insite_icon{position: absolute; font-size: 1.3rem; line-height: 1.2; padding-top: 3rem; width: 180px; height: 180px; top: 15%; left: 5%; border-radius: 50%; background-color: #D22832; color: #fff;}
.cta_title .insite_icon img{display: inline-block; margin-bottom: 5px;}
.cta_title .sup{font-size: 1.8rem; margin-bottom: 1rem;}
.cta_title h2{font-family: "Noto Serif", serif; font-size: 3rem; font-weight: 700; margin-bottom: 1.5rem;}
.cta_title h2 .big{font-size: 3.7rem;}

/*--- service ---*/
.s_box{padding: 3rem; box-shadow: 0px 6px 20px 0px rgba(0, 0, 0, 0.10); background-color: #fff;}
.s_box.mt2{margin-top: 2rem;}
.s_box h3{display: flex; align-items: center; margin-bottom: 3rem;}
.s_box h3 .main{color: #203e58; font-size: 1.8rem; font-weight: 700;}
.s_box h3 .sub{margin-left: 15px; padding-left: 15px; color: #7f6441; font-size: 1.3rem; font-weight: 700; position: relative; top: 3px;}
.s_box h3 .sub::before{content: ''; border-left: solid 1px #7f6441; height: 20px; position: absolute; top: 0; bottom: 0; left: 0; margin: auto;}
.s_box .exp{margin-bottom: 2rem;}
.s_box .left_box .box{display: flex; align-items: flex-start; margin-bottom: 1rem;}
.s_box .left_box .box .name{margin-right: 20px; padding: 1px 8px; border: solid 1px #002341; position: relative; top: -2px;}
.s_box .left_box ul li{list-style: disc; margin-left: 15px;}
.s_box .right_box{text-align: center;}
.ex_box{padding: 2rem; background-color: #f6f6f6;}
.ex_box h3{color: #7f6441; font-size: 1.3rem; font-weight: 700; margin-bottom: 1.3rem;}
.ex_sub{padding: 1rem; border: solid 1px #e3e1e1; display: inline-block; margin-bottom: 2rem;}
.ex_box ul li{margin-bottom: .5rem;}
.ex_box ul li .tit{color: #002341; font-size: 1.2rem; font-weight: 700; padding-left: 25px; position: relative;}
.ex_box ul li .tit::before{font-family: 'Font Awesome 5 Free'; content: '\f14a'; position: absolute; top: 0; bottom: 0; left: 0; margin: auto 0; height: 2rem; }
.ex_box ul li .text{padding-left: 25px;}
.ex_ex{background-color: #fff; padding: 1.5rem;}

/*--- case ---*/
.case{position: relative;}
.case::after{content: ''; background-color: #f6f6f6; width: 100%; height: 100%; position: absolute; top: 7.5rem; left: 0; z-index: -1;}
.c_tit{font-size: 1.8rem; font-weight: 700; color: #7f6441; margin-bottom: 2rem; position: relative; font-family: "Noto Serif", serif;}
.c_tit::before{content: ''; border-bottom: solid 2px #7f6441; position: absolute; bottom: 0; left: -30rem; width: 35.5rem;}
.c_tit .big{display: inline-block; margin-left: 10px; font-weight: 500;}
.c_box{margin-bottom: 2rem;}
.c_box h3{color: #002341; font-family: "Noto Serif", serif; font-size: 1.8rem; font-weight: 700; margin-bottom: .5rem;}
.inv_box{display: flex; gap: 6rem;}
.inv_box .left_box{width: 70%;}
.inv_box .left_box .sub_tit{color: #002341; font-family: "Noto Serif", serif; font-size: 1.5rem; font-weight: 700; margin-bottom: 1rem;}
.inv_box .right_box{width: 30%; padding: 0 10px;}
.inv_box .left_box .blue{color: #002341; margin-bottom: 0.25rem; display: inline-block;}
.inv_box .left_box .quote{font-size: 0.75rem; margin-top: 0.5rem; display: inline-block;}
.c_box:nth-of-type(2n) .inv_box{flex-direction: row-reverse;}
.c_box:nth-of-type(2n) .c_tit,.c_box:nth-of-type(2n) h3,.c_box:nth-of-type(2n) .sub_tit{text-align: right;}
.c_box:nth-of-type(2n) .c_tit::before{right: -30rem; left: auto;}

/*--- ceo ---*/
.ceo{background-color: #E8E3DC;}
.wrp_ceo{padding: 5rem 2rem 3rem; background-color: #fff; position: relative;}
.wrp_ceo::before{content: ''; height: 100%; width: 50%; position: absolute; top: 0; left: -50%; background-color: #fff;}
.wrp_ceo h2{color: #7f6441; font-family: "Noto Serif", serif; font-weight: 700; margin-bottom: 1rem; text-align: center;}
.wrp_ceo h2 .main{font-size: 2.8rem; margin-bottom: 1rem;}
.wrp_ceo h2 .eng{font-size: 1rem; font-weight: normal;}
.wrp_ceo .sub{text-align: center; padding: .5rem; font-weight: 700; background-color: #f6f6f6; margin-bottom: 3rem;}
.wrp_ceo .books{display: flex;}
.wrp_ceo .books .item{width: 24%; margin: 0 0.5%;}

/*--- newspaper ---*/
.newp_item{box-shadow: 0px 6px 20px 0px rgba(0, 0, 0, 0.10); display: block;}
.newp_item .item_img{text-align: center; position: relative;}
.newp_item .item_img .new{position: absolute; top: 0; left: 0; color: #fff; background-color: #d22832; display: inline-block; padding: 2px 10px; line-height: 1;}
.newp_item p{padding: 1rem 1rem; color: #fff; background-color: #002341;}
.ban{background-color: #f6f6f6;}
.ban a{display: block;}

/*--- TOP NEWS ---*/
.wrp_arc{margin-bottom: 3rem;}
.wrp_arc .box{display: flex; align-items: center; margin-bottom: 1rem;}
.wrp_arc .box .day{color: #002341; font-weight: 600;}
.wrp_arc .box .cat{margin: 0 20px; padding: 5px 20px; line-height: 1; color: #7f6441; border: solid 1px #7f6441;}

/*--- fix ---*/
.fix_mv{padding: 0; margin-top: 65px; position: relative;}
.fix_mv h1,.fix_mv .h1{max-width: 1320px; height: 59px; position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; font-family: "Noto Serif", serif; font-weight: 700; color: #002341; font-size: 2.5rem;}
.fix_mv h1 span,.fix_mv .h1 span{display: inline-block; position: relative;}
.fix_mv h1 span::before,.fix_mv .h1 span::before{content: ''; border-bottom: solid 2px #002341; position: absolute; bottom: -5px; right: 0; width: 1000px;}

/*----- footer -----*/
footer{background-color: #002341; color: #fff;}
.foot_inner{padding: 5rem 0; display: flex;}
.foot_inner .foot_logo{width: 20%;}
.foot_inner .foot_nav{width: 70%; margin-left: 10%; display: flex;}
.foot_inner .foot_nav .box{width: 24%; margin: 0 1%;}
.foot_inner .foot_nav a{display: block; color: #fff; margin-bottom: 1rem; font-weight: 700;}
.foot_inner .foot_nav a.sub{font-weight: 400;}

/*------PC3------*/
@media only screen and (max-width: 1580px) {
  
}
  
/*------PC2------*/
@media only screen and (max-width: 1440px) {
  /*----- COMMON ------*/
  .big{font-size: 2rem;}

  /*----- TOP -----*/
  /*--- mv ---*/
  .mv_left h1{font-size: 1.6rem;}
  .mv_left .mid{font-size: 1.2rem;margin-bottom: 0.65rem;}
  .mv_left .rmid{font-size: 2.5rem; line-height: 1.3;}
  .mv_left .text{font-size: 1.2 rem;}

  /*--- service ---*/
  .s_box{padding: 2rem;}

  /*--- fix ---*/
  .fix_mv h1,.fix_mv .h1{max-width: 1140px;}

  /*----- footer -----*/
  .foot_inner .foot_nav{width: 75%; margin-left: 5%;}
  .foot_inner .foot_nav .box{margin: 0 .5%;}

}

/*---PC3---*/
@media only screen and (max-width: 1200px) {
  .container{max-width: 1140px;}

  /*----- COMMON ------*/
  .big{font-size: 2rem;}
  section{padding: 4rem 0;}
  .sec_tit{margin-bottom: 2rem;}

  /*--- btn ---*/
  .btn_yl{padding: .8rem 4rem .8rem 1.5rem;}
  .btn_yl .sub{font-size: 1rem;}
  .btn_yl .main{font-size: 1.2rem;}

  /*----- TOP -----*/
  /*--- mv ---*/
  .mv_left h1{font-size: 1.8rem; margin-bottom: 1.5rem; padding-bottom: .8rem;}
  .mv_left .mid{font-size: 1.8rem;}
  .mv_left .rmid{font-size: 2rem;}
  .mv_left .text{font-size: 1.2rem;}

  /*--- CTA ---*/
  .cta_title .sup{font-size: 1.5rem;}
  .cta_title h2{font-size: 2.5rem;}
  .cta_title h2 .big{font-size: 3rem;}
  .main_btn .sub{font-size: 1rem;}
  .main_btn .main{font-size: 1.8rem;}
  .cta_title .insite_icon{height: 120px; width: 120px; font-size: 1rem; left: 10px;}

  /*--- service ---*/
  .s_box h3 .main{font-size: 1.5rem;}
  .s_box h3 .sub{font-size: 1.1rem;}
  .s_box .left_box .box .name{min-width: 50px; text-align: center;position: relative;top: -2px;}
  .ex_box ul li .tit{font-size: 1.2rem;}
  .ex_box ul li .tit::before{height: 1.7rem;}

  /*--- fix ---*/
  .fix_mv h1,.fix_mv .h1{padding-left: 15px;}

  /*----- footer -----*/
  .foot_inner{flex-wrap: wrap;}
  .foot_inner .foot_logo{width: 100%; text-align: center; margin-bottom: 50px;}
  .foot_inner .foot_nav{width: 100%; margin-left: 0; text-align: center;}

  
}

/*---PAD pro---*/
@media only screen and (max-width: 1050px) {

  /*----- COMMON -----*/
  /*--- btn ---*/
  .btn_box.flex .pub_btn{margin: 0 0.5%; padding: .5rem 2rem;}
  .btn_box.flex .pub_btn::after{height: 1.9rem;}

  /*----- TOP -----*/
  /*--- mv ---*/
  .mv_inner{flex-wrap: wrap; justify-content: center;}
  .mv_left{margin-bottom: 1.5rem;}

  /*--- message ---*/
  .message::before{height: 95%;}
  .wrp_messeage{flex-wrap: wrap-reverse;}
  .wrp_messeage .message_left{width: 100%;}
  .wrp_messeage .message_right{width: 100%; text-align: center;}
  .wrp_messeage .message_right img{max-width: 600px;}
  
}
  
/*---PAD---*/
@media only screen and (max-width: 880px) {

  .pad-hidden{display: none;}

  /*----- header -----*/
  .head_nav ul li{margin: 0 .5rem;}

  /*----- TOP -----*/
  /*--- MV ---*/
  .mv_right img{max-width: 100%;}

  /*--- message ---*/
  .wrp_messeage .message_right img{max-width: 100%;}

  /*----- footer -----*/
  .foot_inner .foot_nav{flex-wrap: wrap;}
  .foot_inner .foot_nav .box{width: 49%;}


}
  
/*---Sm---*/
@media only screen and (max-width: 767px) {

  body{font-size: 14px;}

  /* オフキャンバス */
  .m-toggle{border: none; display: block; position: relative; background: none; z-index: 9999; outline: none !important;}
  .offcanvas-toggle .icon-bar{background: #000;}
  .icon-bar{display:block; width:30px; height:3px; border-radius:1px; margin: auto;}
  .icon-bar + .icon-bar{margin-top:5px}
  .offcanvas-toggle.is-open .icon-bar{background: #000;}
  .offcanvas-toggle.is-open .icon-bar:nth-child(3){margin-top: 14px;}
  .offcanvas-toggle.is-open .icon-bar:nth-child(4){transform: rotate(-135deg) translate(8px, 8px); margin-top: 2px;}
  .off-base.navbar-offcanvas{top: 0; overflow: auto; z-index: 999; padding: 60px 0 0;}

  /*offcanvas-size*/
  .navbar-offcanvas{max-width: 300px; position: fixed; width: 100%; height: 100%; background-color: rgba(246, 246, 246);}
  .navbar-offcanvas.navbar-offcanvas-right {right: -300px;}
  .navbar-offcanvas.navbar-offcanvas-right.offcanvas-transform.in {-webkit-transform: translateX(-300px); transform: translateX(-300px);}

  .sm-nav-box ul{margin-top: 30px;}
  .sm-nav-box li{border-bottom: solid 1px #ccc; position: relative;}
  .sm-nav-box li a{display: block; padding: 15px; font-weight: bold; font-size: 13px; color: white;}
  .sm-nav-box .poz{position: absolute; top: 40%; right: 5%; color: #9f9f9f;}
  .top-bor-nav{border-top: solid 1px #ccc;}

  /*----- header -----*/
  .head_nav ul{display: block;}
  .head_nav ul li{border-bottom: solid 1px #000; margin: 0;}
  .head_nav ul li a{display: block; position: relative; padding: 10px 15px;}
  .head_nav ul li a i{display: inline-block; position: absolute; top: 0; bottom: 0; right: 15px; margin: auto 0; height: 15px;}

  /*----- COMMON -----*/
  .big{font-size: 1.6rem;}
  .sec_tit.none,.sec_tit.l2{font-size: 1.3rem; margin-bottom: 1rem;}
  .sec_tit{margin-bottom: 1.5rem; font-size: 2rem;}
  .sec_tit.l2::before{top: 2rem;}
  .wrp_sec-tit{margin-bottom: 2rem;}
  .lr_box{flex-wrap: wrap;}
  .lr_box .left_box{width: 100%; margin-bottom: 10px;}
  .lr_box .right_box{width: 100%;}
  .lr_box2{flex-wrap: wrap-reverse;}
  .lr_box2 .left_box{width: 100%;}
  .lr_box3{flex-wrap: wrap;}
  .lr_box3 .left_box{width: 100%; margin-bottom: 10px;}
  .lr_box3 .right_box{width: 100%; margin-left: 0;}

  /*--- btn ---*/
  .main_btn{display: block; padding: .75rem 0;}
  .main_btn .main{font-size: 1.4rem;}
  .btn_yl{padding: .8rem 3rem .8rem 1.2rem; display: block;}
  .btn_box.flex{flex-wrap: wrap;}
  .btn_box.flex .pub_btn{width: 100%; margin: 0 0 10px; padding: .8rem 5rem; font-size: 1rem;}
  .btn_box.flex .pub_btn.l1{font-size: 1rem;}
  .btn_box.flex .pub_btn.l1 > span{padding-top: 0;}

  /*----- TOP -----*/
  /*--- MV ---*/
  .mv_inner{padding-top: 20px;}
  .mv_left{margin-bottom: 1rem;}
  .mv_left h1{font-size: 1.3rem; padding-bottom: 0.5rem; margin-bottom: 1rem;}
  .mv_left .mid{font-size: 1.1rem;}
  .mv_left .rmid{font-size: 1.6rem; margin-bottom: 0.3rem;}
  .mv_left .rmid > .small{font-size: 1rem;}
  .mv_left .text{font-size: 1rem; letter-spacing: 0px; line-height: 1.7; padding: 5px;}
  .mv_logo{width: 35%; height: 17%;}

  /*--- message ---*/
  .wrp_messeage .message_left > p{line-height: 2; font-size: 1px;}

  /*--- reason ---*/
  .reason-slider{margin-top: 2rem;}
  .r_box h3{font-size: 1.2rem; margin-bottom: 1rem;}
  .r_box .item_img{width: 90px; height: 90px; margin-bottom: 1rem;}
  .r_box p{font-size: 14px; padding-bottom: 1rem;}
  .r_btn{padding: .5rem 0;}

  /*--- CTA ---*/
  .cta_title .sup{font-size: 1rem; margin-bottom: 1rem; padding-left: 30px;}
  .cta_title h2{font-size: 1.6rem; line-height: 1.5;}
  .cta_title h2 .big{font-size: 2rem; display: inline-block; padding-left: 10px; padding-bottom: 10px;}
  .cta_title .insite_icon img{max-width: 28px;}
  .cta_title .insite_icon{font-size: .6rem; height: 73px; width: 73px; top: 9%; left: -7.5px; padding-top: 7px;}

  /*--- service ----*/
  .s_box{padding: 1rem;}
  .s_box h3{flex-wrap: wrap; margin-bottom: 1rem;}
  .s_box h3 .main{font-size: 1.4rem; margin-bottom: .5rem;}
  .s_box h3 .sub{margin-left: 0; padding-left: 0; font-size: 1rem;}
  .s_box h3 .sub::before{display: none;}
  .s_box .left_box .box .name{margin-right: 10px;}
  .s_box .left_box ul li{margin-left: 10px;}
  .s_box .right_box img{max-width: 250px;}
  .s_box .right_box{width: 100%; margin-right: 0; margin-bottom: 10px;}
  .ex_box{padding: 1rem;}
  .ex_box h3{font-size: 1.2rem;}
  .ex_box ul li .tit{font-size: 1rem; padding-left: 15px;}
  .ex_box ul li .tit::before{height: 1.6rem; bottom: auto; left: -5px;}
  .ex_box ul li .text{padding-left: 15px;}
  .ex_ex{padding: 1rem; font-size: 1rem;}

  /*--- CASE ---*/
  .case::after{top: 5.5rem;}
  .c_tit{font-size: 1.5rem; margin-bottom: 1.5rem;}
  .c_tit .big{font-size: 1.8rem;}
  .c_box h3{font-size: 1.5rem;}
  .inv_box{flex-wrap: wrap-reverse;}
  .inv_box .left_box{width: 100%;}
  .inv_box .right_box{width: 100%; margin-bottom: 10px;}
  .inv_box .left_box .sub_tit{font-size: 1.2rem;}
  .c_box:nth-of-type(2n) .c_tit, .c_box:nth-of-type(2n) h3, .c_box:nth-of-type(2n) .sub_tit{text-align-last: left;}
  .c_box:nth-of-type(2n) .c_tit::before {right: auto; left: -30rem;}

  /*--- CEO ---*/
  .wrp_ceo{padding: 2rem 1rem;}
  .wrp_ceo h2 .main{font-size: 2.3rem; margin-bottom: .5rem;}
  .wrp_ceo .sub{margin-bottom: 1rem;}
  .wrp_arc .box{flex-wrap: wrap;}
  .wrp_arc .box .title{width: 100%; margin-top: 10px;}

  /*--- fix ---*/
  .fix_mv h1,.fix_mv .h1{padding-left: 15px;}
  .fix_mv .item_img img{height: 300px; object-fit: cover; object-position: right;}

  /*----- footer -----*/
  .foot_inner .foot_nav a{margin-bottom: 1.5rem;}

}
  
/*---Sm small---*/
@media only screen and (max-width: 350px) {


}

.js-inview-line{color:rgba(0,0,0,0) !important;display:block;overflow:hidden;position:relative;transition:color 0ms .5s;width:max-content}.js-inview-line::after{content:"";left:0;display:block;position:absolute;top:0;transform:translateX(-100%);width:100%;height:100%;background:linear-gradient(90deg, #022a6d 0%, #106ac4 100%)}.js-inview-line.-active{color:#fff !important}.js-inview-line.-active::after{animation:lineAnime .8s}@keyframes lineAnime{0%{transform:translateX(-100%)}50%{transform:translateX(0)}100%{transform:translateX(100%)}}.js-inview-eachtext{overflow:hidden;display:flex;opacity:0}.js-inview-eachtext span{transform:translateY(100%);transition:all .5s}.js-inview-eachtext span:nth-child(2){transition-delay:0.06s}.js-inview-eachtext span:nth-child(3){transition-delay:0.12s}.js-inview-eachtext span:nth-child(4){transition-delay:0.18s}.js-inview-eachtext span:nth-child(5){transition-delay:0.24s}.js-inview-eachtext span:nth-child(6){transition-delay:0.3s}.js-inview-eachtext span:nth-child(7){transition-delay:0.36s}.js-inview-eachtext span:nth-child(8){transition-delay:0.42s}.js-inview-eachtext span:nth-child(9){transition-delay:0.48s}.js-inview-eachtext span:nth-child(10){transition-delay:0.54s}.js-inview-eachtext span:nth-child(11){transition-delay:0.6s}.js-inview-eachtext span:nth-child(12){transition-delay:0.66s}.js-inview-eachtext span:nth-child(13){transition-delay:0.72s}.js-inview-eachtext span:nth-child(14){transition-delay:0.78s}.js-inview-eachtext span:nth-child(15){transition-delay:0.84s}.js-inview-eachtext span:nth-child(16){transition-delay:0.9s}.js-inview-eachtext span:nth-child(17){transition-delay:0.96s}.js-inview-eachtext span:nth-child(18){transition-delay:1.02s}.js-inview-eachtext span:nth-child(19){transition-delay:1.08s}.js-inview-eachtext span:nth-child(20){transition-delay:1.14s}.js-inview-eachtext.-active{opacity:1}.js-inview-eachtext.-active span{transform:translateY(0) !important}.js-inview{opacity:0;transition:1s}.js-inview.-active{opacity:1;transform:translate(0, 0)}.js-inview-up{opacity:0;transition:1s;transform:translate(0, 1.5rem)}.js-inview-up.-active{opacity:1;transform:translate(0, 0)}.js-inview-right{opacity:0;transition:1s;transform:translate(-1.5rem, 0)}.js-inview-right.-active{opacity:1;transform:translate(0, 0)}.js-inview-left{opacity:0;transition:1s;transform:translate(1.5rem, 0)}.js-inview-left.-active{opacity:1;transform:translate(0, 0)}.js-inview-w95{opacity:0;transition:1s}.js-inview-w95.-active{opacity:1;transform:translate(0, 0)}.js-inview-w95.-active{width:95%}.js-inview-w100{opacity:0;transition:1s}.js-inview-w100.-active{opacity:1;transform:translate(0, 0)}.js-inview-w100.-active{width:100%}.-delay02{transition-delay:.2s}.-delay03{transition-delay:.3s}.-delay04{transition-delay:.4s}.-delay05{transition-delay:.5s}.-delay06{transition-delay:.6s}.-delay07{transition-delay:.7s}.-delay08{transition-delay:.8s}

.ctafixed{
  position: fixed;
  bottom: 5px;
  right: 5px;
  /* 開発用 */
  /* display: none; */
}
@media screen and (max-width: 767px) {
  .ctafixed{
     bottom: 0px;
    right: 0px;
    width: 70%;
  }
}
.ctafixed .close-btn {
  position: absolute;
  top: 5px;
  right: 5px;
  background: rgba(0,0,0,0.5);
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  font-size: 20px;
  cursor: pointer;
  z-index: 1;
}
.ctafixed .close-btn span{
  position: relative;
  top: -3px;
}


.s_box__tag{
  display: inline-block;
  border: 1px solid #7f6441;
  color: #7f6441;
  font-size: 0.9em;
  margin-bottom: 8px;
  padding: 3px 10px;
}

/* 
.reason-slider {
  --sticky-container-height: 100vh;
  height: var(--sticky-container-height);
  min-height: 100vh;
  box-sizing: border-box;
}
.reason-slider .sticky {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100vh;
}
.reason-slider .scroller {
  display: flex;
  overflow: auto;
}
.reason-slider .scroller.nobar {
  overflow: hidden;
}
.reason-slider .scroller > * {
  flex-basis: 66%;
  flex-shrink: 0;
  aspect-ratio: 16 / 9;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: whitesmoke;
}
.reason-slider .scroller > *:not(:first-child) {
  margin-left: 1%;
} */
/* 
@media screen and (min-width: 768px) {

 .reason-slider {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #f7f7f7;
  padding: 60px 0;
}

.reason-slider .wrap {
  display: flex;
}
  
.r_box {
  min-width: 400px; 
  max-width: 400px;
  margin-right: 32px; 
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.06);
  padding: 32px 24px 24px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.reason-slider .item_img {
  margin-bottom: 20px;
  width: 100px;
  height: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.reason-slider .item_img img {
  width: 80px;
  height: 80px;
  object-fit: contain;
}

.r_box h3 {
  margin: 0 0 10px;
  font-size: 22px;
  font-weight: bold;
  text-align: center;
}

.r_box p {
  margin: 0;
  font-size: 16px;
  color: #444;
  text-align: center;
}
} */

/* 動画 */
 /* サムネイル動画 */
 .thumb-wrap {
  position: relative;
  display: inline-block;
  cursor: pointer;
}
    .thumb-video {
      width: 360px;
      cursor: pointer;
      border-radius: 12px;
      box-shadow: 0 2px 12px rgba(0,0,0,0.08);
      transition: box-shadow 0.2s;
    }
    .thumb-video:hover {
      box-shadow: 0 4px 24px rgba(0,0,0,0.18);
    }
    .play-icon {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 60px; height: 60px;
  background: rgba(0,0,0,0.40);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none; /* クリックは透過 */
}
.play-icon svg {
  width: 36px; height: 36px;
  fill: #fff;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.4));
}

    /* モーダル全体 */
    .modal {
      display: none;
      position: fixed;
      inset: 0;
      background: rgba(0,0,0,0.45);
      z-index: 1000;
      align-items: center;
      justify-content: center;
      animation: fadeIn 0.2s;
    }
    .modal.open {
      display: flex;
    }
    /* モーダル内の動画 */
    .modal-content {
      background: rgba(0,0,0,0.7);
      padding: 3em 1em;
      border-radius: 20px;
      box-shadow: 0 4px 40px rgba(0,0,0,0.5);
      max-width: 80vw;
      max-height: 80vh;
      display: flex;
      flex-direction: column;
      align-items: center;
      animation: popIn 0.2s;
    }
    .modal-content video {
      width: 70vw;
      max-width: 900px;
      max-height: 70vh;
      border-radius: 16px;
      background: #000;
    }
    /* 閉じるボタン */
    .close-btn {
      position: absolute;
      top: 5px;
      align-self: flex-end;
      margin-bottom: 0.5em;
      font-size: 1.7em;
      color: #fff;
      background: none;
      border: none;
      cursor: pointer;
      transition: color 0.15s;
    }
    .close-btn:hover {
      color: #f86;
    }

    /* スマホ用 */
@media (max-width: 767px) {
   .thumb-video {
        width: 100%;
      }
  .modal-content {
    padding: 0;
    border-radius: 0;
    width: 100vw;
    min-height: 100vh;
    box-shadow: none;
    background: #000;
  }
  .modal-content video {
    width: 100vw;
    height: 100vh;
    max-width: 100vw;
    max-height: 100vh;
    border-radius: 0;
    background: #000;
    object-fit: contain;
  }
  .close-btn {
    position: absolute;
    top: 12px;
    right: 16px;
    font-size: 2.2em;
    z-index: 11;
  }
}

/* blog */
/* overwrite bootstrap */
.single-news h2 {
    font-size: 20px;
  }

/*reCAPTCHA v3 バッジを左下に移動*/
.grecaptcha-badge {
width: 70px !important;
overflow: hidden !important;
transition: all 0.3s ease !important;
left: 4px !important;
}
.grecaptcha-badge:hover {
width: 256px !important;
}

.slick-prev, .slick-next{
  width: 40px;
  height: 40px;
  z-index: 999;
}
.slick-prev:before, .slick-next:before{
  font-size: 40px;
  font-weight: lighter;
    color: rgba(0, 35, 65, 0.5);
}