@charset "UTF-8";
html {
  height: auto !important;
scroll-behavior: smooth;
}

body {
  height: auto !important;
  font-weight: 400;
  font-family: "Noto Sans JP", "Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, Osaka, "MS PGothic", sans-serif;
  overflow-x: hidden;
font-size: 15px;
text-align:left;
margin:0;
line-height: 1.8;
font-feature-settings: "palt";
}


@media screen and (max-width: 790px) {
body {
 font-size: 15px;
 margin-top:-60px;
}
}


@media all and (min-width: 791px)  {
/* // |- PC  */
  .elmSP {  display:none !important;  }
} 
@media all and (max-width: 790px)  {
/* // |- SP  */
  .elmPC{ display:none !important;  }
} 


#wrapper {
  padding-bottom: 0;
}



/*20250408 add*/
/* Margin-Top & Padding-Top */
.mt00 { margin-top: 0px !important; } .pt00 { padding-top: 0px !important; }
.mt04 { margin-top: 4px; } .pt05 { padding-top: 4px; }
.mt05 { margin-top: 5px; } .pt05 { padding-top: 5px; }
.mt06 { margin-top: 6px; } .pt06 { padding-top: 6px; }
.mt07 { margin-top: 7px; } .pt07 { padding-top: 7px; }
.mt08 { margin-top: 8px; } .pt08 { padding-top: 8px; }
.mt09 { margin-top: 9px; } .pt09 { padding-top: 9px; }
.mt10 { margin-top: 10px; } .pt10 { padding-top: 10px; }
.mt15 { margin-top: 15px; } .pt15 { padding-top: 15px; }
.mt20 { margin-top: 20px; } .pt20 { padding-top: 20px; }
.mt25 { margin-top: 25px; } .pt25 { padding-top: 25px; }
.mt30 { margin-top: 30px; } .pt30 { padding-top: 30px; }
.mt35 { margin-top: 35px; } .pt35 { padding-top: 35px; }
.mt40 { margin-top: 40px; } .pt40 { padding-top: 40px; }
.mt45 { margin-top: 45px; } .pt45 { padding-top: 45px; }
.mt50 { margin-top: 50px; } .pt50 { padding-top: 50px; }
.mt55 { margin-top: 55px; } .pt55 { padding-top: 55px; }
.mt60 { margin-top: 60px; } .pt60 { padding-top: 60px; }
.mt65 { margin-top: 65px; } .pt65 { padding-top: 65px; }
.mt70 { margin-top: 70px; } .pt70 { padding-top: 70px; }
.mt75 { margin-top: 75px; } .pt75 { padding-top: 75px; }
.mt80 { margin-top: 80px; } .pt80 { padding-top: 80px; }
.mt85 { margin-top: 85px; } .pt85 { padding-top: 85px; }
.mt90 { margin-top: 90px; } .pt90 { padding-top: 90px; }
.mt95 { margin-top: 95px; } .pt95 { padding-top: 95px; }
.mt100{ margin-top:100px; } .pt100{ padding-top:100px; }
.mt110{ margin-top:110px; } .pt110{ padding-top:110px; }
.mt120{ margin-top:120px; } .pt120{ padding-top:120px; }

.pt40_s { padding-top: 40px; }
.pt60_s { padding-top: 60px; }
.pt80_s { padding-top: 80px; }
.pt100_s { padding-top: 100px; }

.mt20_s{margin-top: 20px;}

/* Margin-Right & Padding-Right */
.mr00 { margin-right: 0px; } .pr00 { padding-right: 0px; }
.mr01 { margin-right: 1px; } .pr01 { padding-right: 1px; }
.mr02 { margin-right: 2px; } .pr02 { padding-right: 2px; }
.mr03 { margin-right: 3px; } .pr03 { padding-right: 3px; }
.mr04 { margin-right: 4px; } .pr04 { padding-right: 4px; }
.mr05 { margin-right: 5px; } .pr05 { padding-right: 5px; }
.mr06 { margin-right: 6px; } .pr06 { padding-right: 6px; }
.mr07 { margin-right: 7px; } .pr07 { padding-right: 7px; }
.mr08 { margin-right: 8px; } .pr08 { padding-right: 8px; }
.mr09 { margin-right: 9px; } .pr09 { margin-right: 9px; }
.mr10 { margin-right: 10px; } .pr10 { padding-right: 10px; }
.mr15 { margin-right: 15px; } .pr15 { padding-right: 15px; }
.mr20 { margin-right: 20px; } .pr20 { padding-right: 20px; }
.mr25 { margin-right: 25px; } .pr25 { padding-right: 25px; }
.mr30 { margin-right: 30px; } .pr30 { padding-right: 30px; }
.mr35 { margin-right: 35px; } .pr35 { padding-right: 35px; }
.mr40 { margin-right: 40px; } .pr40 { padding-right: 40px; }
.mr45 { margin-right: 45px; } .pr45 { padding-right: 45px; }
.mr50 { margin-right: 50px; } .pr50 { padding-right: 50px; }
.mr55 { margin-right: 55px; } .pr55 { padding-right: 55px; }
.mr60 { margin-right: 60px; } .pr60 { padding-right: 60px; }
.mr65 { margin-right: 65px; } .pr65 { padding-right: 65px; }
.mr70 { margin-right: 70px; } .pr70 { padding-right: 70px; }
.mr75 { margin-right: 75px; } .pr75 { padding-right: 75px; }
.mr80 { margin-right: 80px; } .pr80 { padding-right: 80px; }
.mr85 { margin-right: 85px; } .pr85 { padding-right: 85px; }
.mr90 { margin-right: 90px; } .pr90 { padding-right: 90px; }
.mr95 { margin-right: 95px; } .pr95 { padding-right: 95px; }
.mr100{ margin-right:100px; } .pr100{ padding-right:100px; }


/* Margin-Bottom & Padding-Bottom */
.mb00 { margin-bottom: 0px !important; } .pb00 { padding-bottom: 0px !important; }
.mb01 { margin-bottom: 1px; } .pb01 { padding-bottom: 1px; }
.mb02 { margin-bottom: 2px; } .pb02 { padding-bottom: 2px; }
.mb03 { margin-bottom: 3px; } .pb03 { padding-bottom: 3px; }
.mb04 { margin-bottom: 4px; } .pb04 { padding-bottom: 4px; }
.mb05 { margin-bottom: 5px; } .pb05 { padding-bottom: 5px; }
.mb06 { margin-bottom: 6px; } .pb06 { padding-bottom: 6px; }
.mb07 { margin-bottom: 7px; } .pb07 { padding-bottom: 7px; }
.mb08 { margin-bottom: 8px; } .pb08 { padding-bottom: 8px; }
.mb09 { margin-bottom: 9px; } .pb09 { padding-bottom: 9px; }
.mb10 { margin-bottom: 10px; } .pb10 { padding-bottom: 10px; }
.mb15 { margin-bottom: 15px; } .pb15 { padding-bottom: 15px; }
.mb20 { margin-bottom: 20px !important; } .pb20 { padding-bottom: 20px; }
.mb25 { margin-bottom: 25px; } .pb25 { padding-bottom: 25px; }
.mb30 { margin-bottom: 30px; } .pb30 { padding-bottom: 30px; }
.mb35 { margin-bottom: 35px; } .pb35 { padding-bottom: 35px; }
.mb40 { margin-bottom: 40px; } .pb40 { padding-bottom: 40px; }
.mb45 { margin-bottom: 45px; } .pb45 { padding-bottom: 45px; }
.mb50 { margin-bottom: 50px; } .pb50 { padding-bottom: 50px; }
.mb55 { margin-bottom: 55px; } .pb55 { padding-bottom: 55px; }
.mb60 { margin-bottom: 60px; } .pb60 { padding-bottom: 60px; }
.mb65 { margin-bottom: 65px; } .pb65 { padding-bottom: 65px; }
.mb70 { margin-bottom: 70px; } .pb70 { padding-bottom: 70px; }
.mb75 { margin-bottom: 75px; } .pb75 { padding-bottom: 75px; }
.mb80 { margin-bottom: 80px; } .pb80 { padding-bottom: 80px; }
.mb85 { margin-bottom: 85px; } .pb85 { padding-bottom: 85px; }
.mb90 { margin-bottom: 90px; } .pb90 { padding-bottom: 90px; }
.mb95 { margin-bottom: 95px; } .pb95 { padding-bottom: 95px; }
.mb100{ margin-bottom:100px; } .pb100{ padding-bottom:100px; }

/* Margin-Left & Padding-Left */
.ml00 { margin-left: 0px !important; } .pl00 { padding-left: 0px; }
.ml05 { margin-left: 5px; } .pl05 { padding-left: 5px; }
.ml06 { margin-left: 6px; } .pl06 { padding-left: 6px; }
.ml07 { margin-left: 7px; } .pl07 { padding-left: 7px; }
.ml08 { margin-left: 8px; } .pl07 { padding-left: 8px; }
.ml09 { margin-left: 9px; } .pl07 { padding-left: 9px; }
.ml10 { margin-left: 10px; } .pl10 { padding-left: 10px; }
.ml15 { margin-left: 15px; } .pl15 { padding-left: 15px; }
.ml20 { margin-left: 20px; } .pl20 { padding-left: 20px; }
.ml25 { margin-left: 25px; } .pl25 { padding-left: 25px; }
.ml30 { margin-left: 30px; } .pl30 { padding-left: 30px; }
.ml35 { margin-left: 35px; } .pl35 { padding-left: 35px; }
.ml40 { margin-left: 40px; } .pl40 { padding-left: 40px; }
.ml45 { margin-left: 45px; } .pl45 { padding-left: 45px; }
.ml50 { margin-left: 50px; } .pl50 { padding-left: 50px; }
.ml55 { margin-left: 55px; } .pl55 { padding-left: 55px; }
.ml60 { margin-left: 60px; } .pl60 { padding-left: 60px; }
.ml65 { margin-left: 65px; } .pl65 { padding-left: 65px; }
.ml70 { margin-left: 70px; } .pl70 { padding-left: 70px; }
.ml75 { margin-left: 75px; } .pl75 { padding-left: 75px; }
.ml80 { margin-left: 80px; } .pl80 { padding-left: 80px; }
.ml85 { margin-left: 85px; } .pl85 { padding-left: 85px; }
.ml90 { margin-left: 90px; } .pl90 { padding-left: 90px; }
.ml95 { margin-left: 95px; } .pl95 { padding-left: 95px; }
.ml100{ margin-left:100px; } .pl100{ padding-left:100px; }
.ml11 { margin-left: 11px; } .pl63{ padding-left:63px; }
.ml12 { margin-left: 12px; }
.ml13 { margin-left: 13px; }
.ml14 { margin-left: 14px; }

/* Margin & Padding */
.m00 { margin: 0px; } .p00 { padding: 0px; }
.m05 { margin: 5px; } .p05 { padding: 5px; }
.m10 { margin: 10px; } .p10 { padding: 10px; }
.m15 { margin: 15px; } .p15 { padding: 15px; }
.m20 { margin: 20px; } .p20 { padding: 20px; }
.m25 { margin: 25px; } .p25 { padding: 25px; }
.m30 { margin: 30px; } .p30 { padding: 30px; }
.m35 { margin: 35px; } .p35 { padding: 35px; }
.m40 { margin: 40px; } .p40 { padding: 40px; }
.m45 { margin: 45px; } .p45 { padding: 45px; }
.m50 { margin: 50px; } .p50 { padding: 50px; }
.m55 { margin: 55px; } .p55 { padding: 55px; }
.m60 { margin: 60px; } .p60 { padding: 60px; }
.m65 { margin: 65px; } .p65 { padding: 65px; }
.m70 { margin: 70px; } .p70 { padding: 70px; }
.m75 { margin: 75px; } .p75 { padding: 75px; }
.m80 { margin: 80px; } .p80 { padding: 80px; }
.m85 { margin: 85px; } .p85 { padding: 85px; }
.m90 { margin: 90px; } .p90 { padding: 90px; }
.m95 { margin: 95px; } .p95 { padding: 95px; }
.m100{ margin:100px; } .p100{ padding:100px; }

.mt20s{
  margin-top: 20px;
}

/* width & height */
.width00 { width: 0px; } .height00 { height: 0px; }
.width05 { width: 5px; } .height05 { height: 5px; }
.width10 { width: 10px; } .height10 { height: 10px; }
.width15 { width: 15px; } .height15 { height: 15px; }
.width20 { width: 20px; } .height20 { height: 20px; }
.width25 { width: 25px; } .height25 { height: 25px; }
.width30 { width: 30px; } .height30 { height: 30px; }
.width35 { width: 35px; } .height35 { height: 35px; }
.width40 { width: 40px; } .height40 { height: 40px; }
.width45 { width: 45px; } .height45 { height: 45px; }
.width50 { width: 50px; } .height50 { height: 50px; }
.width55 { width: 55px; } .height55 { height: 55px; }
.width60 { width: 60px; } .height60 { height: 60px; }
.width65 { width: 65px; } .height65 { height: 65px; }
.width70 { width: 70px; } .height70 { height: 70px; }
.width75 { width: 75px; } .height75 { height: 75px; }
.width80 { width: 80px; } .height80 { height: 80px; }
.width85 { width: 85px; } .height85 { height: 85px; }
.width90 { width: 90px; } .height90 { height: 90px; }
.width95 { width: 95px; } .height95 { height: 95px; }
.width100{ width:100px; } .height100{ height:100px; }
.width150{ width:150px; } .height150{ height:150px; }
.width300{ width:300px; } .height300{ height:300px; }
.width350{ width:350px; } .height350{ height:350px; }
.width400{ width:400px; } .height400{ height:400px; }
.width450{ width:450px; } .height450{ height:450px; }
.width500{ width:500px; } .height500{ height:500px; }
.width550{ width:550px; } .height550{ height:550px; }

.fs_11{font-size:11px;}
.fs_16{font-size:16px;}
.fs_20{font-size:20px;}
.fs_22{font-size:22px;}
.fs_24{font-size:24px;}
.fs_26{font-size:26px;}
.fs_36{font-size:36px;}

.f_40{font-size: 40% !important}
.f_50{font-size: 50% !important;}
.f_60{font-size: 60% !important;}
.f_70{font-size: 70% !important;}
.f_80{font-size: 80% !important;}
.f_90{font-size: 90% !important;}
.f_110{font-size: 110% !important;}
.f_120{font-size: 120% !important;}
.f_130{font-size: 130% !important;}
.f_140{font-size: 140% !important;}
.f_150{font-size: 150% !important;}
.f_160{font-size: 160% !important;}
.f_170{font-size: 170% !important;}
.f_180{font-size: 180% !important;}
.f_190{font-size: 190% !important;}
.f_200{font-size: 200% !important;}
.f_250{font-size: 250% !important;}
.f_300{font-size: 300% !important;}
@media all and (max-width: 790px)  {
/* // |- SP  */
  .f_300{font-size: 250% !important;}
} 


.fw_100{font-weight: 100;}
.fw_200{font-weight: 200;}
.fw_300{font-weight: 300;}
.fw_400{font-weight: 400;}
.fw_500{font-weight: 500;}
.fw_600{font-weight: 600;}
.fw_700{font-weight: 700;}
.fw_800{font-weight: 800;}
.fw_900{font-weight: 900;}

.ls_1{letter-spacing: 1px;}

.w_10{width: 9%;}
.w_15{width: 14%;}
.w_20{width: 18.5%; margin-right: 2%;}
.w_25{width: 21.5%; margin-right: 2%;}
.w_30{width: 28.5%;}
.w_33{width: 30%; margin: 0 1.5%; vertical-align: top;}
.w_35{width: 32.5%;  margin: 0 1.5%; vertical-align: top;}
.w_40_2{width:40%;}
.w_40{width: 36%; margin: 0 1.5%;}
.w_50{width: 46%;
  margin-right: 1.5%;
  margin-bottom: 3%;
  margin-left: 1.5%;}
.w_60{width: 56%; margin: 0 1.5%;}
.w_65{width: 60%;  margin: 0 1.5%;}

.w_70{    width: 68.0%; margin: 0 1.5%;}
.w_75{width: 71.5%; margin-right: 4%;}
.w_80{width: 78.5%;}
.w_85{width: 83.5%;}
.w_90{width: 88.5%;}
.w_50-25{width: 48.5%;}

#area .w_20{
  width: 17.5%;
margin: 0 0.5%;
margin-bottom: 1%;
}

/*ハンバーガーメニュー*/
#nav-toggle {
  position: fixed;
    top: 20px;
    right: 20px;
    height: 28px;
    width: 24px;
cursor: pointer;
}
#nav-toggle div {
    position: relative;
    width: 24px;
  }
#nav-toggle span {
    width: 100%;
    height: 3px;
    left: 0;
    display: block;
    background: black;
    position: absolute;
transition: transform .6s ease-in-out, top .5s ease;
}
    #nav-toggle span:nth-child(1) {
      top: 0;
    }
    #nav-toggle span:nth-child(2) {
        top: 8px;
    }
    #nav-toggle span:nth-child(3) {
        top: 16px;
    }

.open #nav-toggle span {
background: #000;
}
.open #nav-toggle span:nth-child(1) {
        top: 7px;
        transform: rotate(45deg);
    }
.open #nav-toggle span:nth-child(2) {
        top: 16px;
        width: 0;
        left: 50%;
    }
.open #nav-toggle span:nth-child(3) {
        top: 8px;
        transform: rotate(-45deg);
    }


#gloval-nav{
  background-color: rgba(255, 255, 255, 0.9);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  transform: translateX(-100%);
  transition: opacity .6s ease, visibility .6s ease;
}

#gloval-nav a{
    display: block;
    color: #000;
    padding: 20px 0;
transition: color .6s ease;
  }
#gloval-nav ul li{
      opacity: 0;
      transform: translateX(-200px);
      transition:  transform .6s ease, opacity .2s ease;
    }

/* open */
.open {
  overflow: hidden;
}
.open #gloval-nav {
    visibility: visible;
    transform: translateX(0);
transition: transform .6s;
    z-index: 9998;
  }
.open #gloval-nav li {
    opacity: 1;
    transform: translateX(0);
    transition:  transform 1s ease, opacity .9s ease;
  }

#nav-toggle {
z-index: 9000;
background: #fff;
    padding: 12px 10px 3px;
border-radius: 3px;
}
#nav-toggle span{
z-index:9999;
}



/*Q&A*/
.accordion {
  width: 100%;
}

/* inputのチェックボックスを非表示 */
.accordion-hidden {
  display: none;
}

/* 見出しボタン部分 */
.accordion-open {
  display: block;
  padding: 20px 80px 20px 10px;
  background: #F5F5F5;
  cursor: pointer;
  margin: 5px 0;
position: relative;
border-radius: 6px;
border:1px solid #E3E3E3;
}

/* ＋アイコン */
.accordion-open::before,
.accordion-open::after {
  content: '';
  width: 20px;
  height: 3px;
  background: #000;
  position: absolute;
  top: 50%;
  right: 5%;
  transform: translateY(-50%);
}

/* アイコンのー */
.accordion-open::after {
  transform: translateY(-50%) rotate(90deg);
  transition: .5s;
}

/* アコーディオンが開いたらーに */
.accordion-hidden:checked+.accordion-open:after {
  transform: translateY(-50%) rotate(0);
}

/* アコーディオン中身部分 */
.accordion-inner {
  display: block;
  height: 0;
  overflow: hidden;
  padding: 0;
  opacity: 0;
  transition: 0.5s;
  /* 表示速度の設定 */
  cursor: pointer;
}

/* チェックボックスにチェックが入ったら中身部分を表示する */
.accordion-hidden:checked+.accordion-open+.accordion-inner {
  height: auto;
  opacity: 1;
  padding: 10px;
}
/* ↑ここまで共通 */


/* Q&A追加 */
.accordion_qa .Q,
.accordion_qa .A {
position: relative;
margin-left: 80px;
}

.accordion_qa .Q::before,
.accordion_qa .A::before {
  font-size: 1.5em;
  display: block;
  position: absolute;
  top: -.6em;
  left: -3.0em;
}

.accordion_qa .Q::before {
content: 'Q.';
font-weight:700;
}

.accordion_qa .A::before {
content: 'A.';
color:#C21B17;
font-weight:700;
}

.accordion_qa .accordion-open {
  padding-left: 2.5em;
}

.accordion_qa .accordion-hidden:checked+.accordion-open+.accordion-inner {
  height: auto;
  opacity: 1;
padding: 20px 10px 20px 2.5em;
  border-radius: 6px;
  border: 1px solid #E3E3E3;
}
/* Q&A追加ここまで */


.accordion-box {
  display: block;
  height: 0;
  overflow: hidden;
  padding: 0;
  opacity: 0;
  transition: 1s;
}

.accordion-hidden:checked+.accordion-open+.accordion-box {
  height: auto;
  opacity: 1;
  padding: 10px;
}


/**/


/* å…±é€š */
#headerIn {
  min-width: 1200px;
}
.scrolled .logo_normal {
 display: none;
}
.scrolled #headerLogo a img:nth-child(2) {
 opacity:1;
}
@media screen and (max-width: 790px) {
#headerIn {
  min-width: 100%;
}
.scrolled #headerLogo a img:nth-child(2) {
 display: none;
}
}




/* header */
#headerIn {
  top: 0;
  z-index: 100;
}
#headerLogo a {
  pointer-events: none;
}

@media screen and (max-width: 790px) {
  #headerIn.headerIn-lp {
 background: rgba(40, 123, 68, 0.6);
 border: none;
 transition: 0.4s ease;
  }
  #headerIn.headerIn-lp .headerLogo-lp a {
 background-image: url(../img/logo_sp_white.png);
  }
  #headerIn.headerIn-lp #navToggle {
 display: none; /* ãƒãƒ³ãƒãƒ¼ã‚¬ãƒ¼ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã®ãƒˆã‚°ãƒ«ãƒœã‚¿ãƒ³ã‚’éžè¡¨ç¤º */
  }
  #headerIn.headerIn-lp #navToggle div {
 width: 40px;
 height: 34px;
 top: 11px;
 left: 0;
 margin-left: auto;
 margin-right: auto;
  }
  #headerIn.headerIn-lp #navToggle span {
 height: 4px;
 margin: 0;
 left: auto;
 right: 0;
  }
  #headerIn.headerIn-lp #navToggle span:nth-child(1) {
 width: 40px;
  }
  #headerIn.headerIn-lp #navToggle span:nth-child(2) {
 width: 30px;
 top: 15px;
  }
  #headerIn.headerIn-lp #navToggle span:nth-child(3) {
 width: 20px;
  }
  #headerIn.headerIn-lp #navToggle.active span:nth-of-type(1) {
 margin: auto;
 bottom: 0;
 left: 0;
 transform: rotate(-45deg);
  }
  #headerIn.headerIn-lp #navToggle.active span:nth-of-type(3) {
 width: 40px;
 margin: auto;
 top: 0;
 left: 0;
 transform: rotate(45deg);
  }
}

#gNavi.gNavi-lp {
  background: transparent;
  border-bottom: none;
  transition: 0.4s ease;
}
#gNavi.gNavi-lp a {
  color: #222;
  font-size: 16px;
  letter-spacing: 0.06em;
  line-height: 1;
  height: inherit;
}
#gNavi > ul {
  padding:12px 20px 0 0 ;
  display: flex;
  align-items: center;
}
#gNavi > ul > li {
  margin-left: 20px;
  text-align: left;
}
#gNavi > ul > li.document > a {
  height: auto;
  margin: 20px 0 0 0;
  padding: 10px 20px;
  border-radius: 5px;
  background: #BF9958;
  font-weight: bold;
  line-height: 1;
  color: #fff !important;
  letter-spacing: 0;
}
#gNavi > ul > li.document > a span {
  display: block;
  padding-left: 25px;
  position: relative;
}
#gNavi > ul > li.document > a span:after {
  content: '';
  position: absolute;
  background: url(../img/icon_document.svg) no-repeat;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 22px;
  display: inline-block;
  background-size: contain;
  z-index: 100;
}

#gNavi > ul > li.mail > a {
  height: auto;
  padding: 10px 40px;
  border-radius: 100px;
  background: #E1FD50;
  font-weight: bold;
  line-height: 1;
  color: #222 !important;
  letter-spacing: 0;
}
#gNavi > ul > li.mail > a span {
  display: block;
  padding-right: 25px;
  position: relative;
}
#gNavi > ul > li.mail > a span:after {
  content: '';
  position: absolute;
  background: url(../img/icon_mail.svg) no-repeat;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 15px;
  display: inline-block;
  background-size: contain;
  z-index: 100;
}

#gNavi > ul > li.tel > a {
  font-size: 24px ;
  font-weight: 600;
  color: #fff;
  position: relative;
  padding-left: 20px;
}
#gNavi > ul > li.tel > a:before {
  content: '';
  position: absolute;
  background: url(../img/icon_tel.svg) no-repeat;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 17px;
  height: 17px;
  display: inline-block;
  background-size: contain;
  z-index: 100;
}
#gNavi > ul > li.tel > span {
  color: #fff;
  font-size: 12px;
}


@media screen and (max-width: 790px) {
  #gNavi.gNavi-lp {
 background: transparent; 
 position: absolute; 
 top: 10px;
 right: 10px;
  }
  #gNavi > ul {
 padding-right: 0;
  }
  #gNavi > ul > li {
 margin-left: 0;
  }
  #gNavi > ul > li.mail > a {
 height: auto;
 margin: 0;
 padding: 10px;
 border-radius: 5px;
 background: #287B44;
 font-weight: bold;
 line-height: 1;
 color: #fff !important;
 letter-spacing: 0;
 text-align: center;
 padding: 1.35em 15px; 
  }
  #gNavi > ul > li.mail > a span {
 display: inline-block;
 font-family: "Noto Sans JP";
  }
  #gNavi > ul > li.mail > a span:after {
 display: none; 
  }
  #gNavi > ul > li.radio,
  #gNavi > ul > li.line,
  #gNavi > ul > li.document {
 display: none;
  }
}


@keyframes bgmove {
  0% {
 background-position: 0 100%;
  }
  100% {
 background-position: -2127px 100%;
  }
}

/* common */
.lp_btn {
  position: relative;
  display: inline-block;
  background: #F1EFD9;
  border-radius: 5px;
  color: #222;
  font-weight: bold;
  line-height: 80px;
  text-align: center;
  font-size: 18px;
  transition: 0.4s ease;
}
.lp_btn::before {
  content: "";
  position: absolute;
  right: 0;
  top: 40px;
  width: 30px;
  border-top: 1px solid #222;
}

@media screen and (max-width: 790px) {
  .lp_btn {
 line-height: 70px;
 font-size: 15px;
  }
  .lp_btn::before {
 top: 35px;
  }
}




.lp_heading {
  color: #BFD7C7;
  font-size: 120px;
  font-family: "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight: 500;
  line-height: 100%;
}
.lp_heading_sub {
  font-size: 20px;
  font-weight: 700;
  background: #287B44;
  color: #fff;
  display: inline-block;
  padding: 3px 12px;
  margin-bottom: 30px;
}
.lp_lead {
  font-size: 36px;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  margin-bottom: 45px;
}
.lp_lead_sub {
  font-size: 30px;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  margin-bottom: 40px;
}
.lp_txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 16px;
  letter-spacing: 0.06em;
  line-height: 2;
}
.textShadow {
-moz-text-shadow: 0px 0px 10px rgba(255, 255, 255, 1);
-webkit-text-shadow: 0px 0px 10px rgba(255, 255, 255, 1);
-ms-text-shadow: 0px 0px 10px rgba(255, 255, 255, 1);
text-shadow: 0px 0px 10px rgba(255, 255, 255, 1);
}
@media screen and (max-width: 790px) {
.lp_heading {
  font-size: 60px;
}
.lp_lead {
  margin-bottom: 30px;
  font-size: 26px;
}
.lp_lead_sub {
  margin-bottom: 30px;
  font-size: 20px;
}
.lp_txt {
  line-height: 1.75;
}
.lp_heading_sub {
  font-size: 16px;
  padding: 3px 10px;
  margin-bottom: 20px;
}
}
.inner {
  width: calc(100% - 40px);
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}





body,
#wrapper,
#header,
#headerIn {
  min-width: 100%;
}

#main {
  padding-bottom: 0;
}

img {
  width: 100%;
}

.f-min{
  font-family: "Noto Serif JP", serif;
}

.f-en {
  font-family: "Barlow", sans-serif;
}

a:hover {
  text-decoration: none;
}

.btn_hover:hover {
 animation: shake 0.5s 1;
 opacity:inherit !important;
}
.btn_hover:hover:after {
 animation: arrowMove 0.5s 1; /* çŸ¢å°ç”¨ã®ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã‚’è¿½åŠ  */
}
.text {
  line-height: 2;
}
.fwBold {
  font-weight: 700;
}
/* æœ¬ä½“ã®æºã‚Œã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ */
@keyframes shake {
 0% { transform: translateY(0); }
 25% { transform: translateY(-3px); }
 75% { transform: translateY(3px); }
 100% { transform: translateY(0); }
}

/* çŸ¢å°ã®ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ */
@keyframes arrowMove {
 0% { transform: translateY(-50%); } /* å…ƒã®ä½ç½® */
 50% { transform: translateY(-50%) translateY(5px); } /* ä¸‹ã«ç§»å‹• */
 100% { transform: translateY(-50%); } /* å…ƒã®ä½ç½®ã«æˆ»ã‚‹ */
}


/* visual */
.lp_visual {
  box-sizing: border-box;
  background: url(../img/main-bg.png) no-repeat rgba(0,0,0,0.3);
  position: relative;
z-index: 1;
background-size: cover;
background-position:right center;
background-blend-mode: darken;
}

.lp_visual:after {
  position: absolute;
  background: url(../img/image_2.png) no-repeat;
  left:50%;
  transform: translateX(-50%);
  bottom: -5px;
  content: "";
  width: 100%;
  display: inline-block;
  background-size: contain;
  z-index: -1;
  background-position-x: -30vw;
 background-repeat: repeat-x;
}
.lp_visual_wrap {
  max-width: 1100px;
  margin: 0 auto;
  position: relative;
  display: flex;
  padding: 100px 0 30px;
  justify-content: center;
}


.lp_copy1{
  color: #fff;
  font-size: clamp(20px, 28 / 1440 * 100vw, 28px);
  font-weight: bold;
  padding: 12px 18px;
  background: #222;
  display: inline-block;
  position: relative;
}
.lp_copy1:before {
  content: "";
  position: absolute;
  width: 0px;
  height: 0px;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%) rotate(-27deg);
  border-width: 12px 12px 0px;
  border-style: solid;
  border-color: rgb(34, 34, 34) transparent transparent;
  border-image: initial;
  border-top: 30px solid rgb(34, 34, 34);
}
.lp_copy2 {
  font-size: clamp(20px, 56 / 1440 * 100vw, 56px);
  font-weight: 600;
  color: #fff;
  margin: 30px 0 50px;
}
.lp_copy2 span {
  font-size: clamp(20px, 56 / 1440 * 100vw, 56px);
  color: #E1FD50;
  padding-bottom: 15px;
  background: url(../img/border_wave.svg) repeat-x bottom left / auto 9px;
}
.cv_btn_wrap {
  display: inline-block;
  text-align: center;
}
.cv_btn_cap {
  display: inline-block;
  font-size: 15px;
  font-weight: bold;
  padding: 5px 16px;
  background: #222;
  color: #fff;
  position: relative;
  text-align: center;
  z-index: 100;
}
.cv_btn_cap::before {
  content: "";
  position: absolute;
  width: 0px;
  height: 0px;
  bottom: -18px;
  left: 50%;
  transform: translateX(-50%);
  border-width: 12px 10px 10px;
  border-style: solid;
  border-color: rgb(34, 34, 34) transparent transparent;
  border-image: initial;
  border-top: 18px solid rgb(34, 34, 34);
}
.cv_btn {
  margin-top:-12px;
}
.cv_btn a{
  display: inline-block;
  font-size: 22px;
  font-weight: 700;
  color: #222;
  background: #E1FD50;
  border-radius: 100px;
  padding: 15px 75px;
}
.cv_btn a span {
  position: relative;
  padding-right: 35px;
}
.cv_btn a span:after {
  content: '';
  position: absolute;
  background: url(../img/icon_mail.svg) no-repeat;
  right: 0;
  top: 60%;
  transform: translateY(-50%);
  width: 24px;
  height: 20px;
  display: inline-block;
  background-size: contain;
  z-index: 100;
}
@media screen and (max-width: 790px) {
.lp_visual {
padding: 0 5px;
}
.lp_visual_wrap {
  max-width: 100%;
  margin: 0 auto;
  position: relative;
  display: block;
  padding: 80px 0 20px;
}
.lp_img {
  max-width: 55%;
  margin: 0 15vw 0 auto;
}
.lp_copy1{
  color: #fff;
  font-size: 4.3vw;
  font-weight: bold;
  padding: 12px 12px;
  background: #222;
  display: block;
  position: relative;
  text-align: center;
}
.lp_copy1:before {
  content: "";
  position: absolute;
  width: 0px;
  height: 0px;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%) rotate(-27deg);
  border-width: 12px 12px 0px;
  border-style: solid;
  border-color: rgb(34, 34, 34) transparent transparent;
  border-image: initial;
  border-top: 30px solid rgb(34, 34, 34);
}
.lp_copy2 {
  font-size: 7.8vw;
  font-weight: 600;
  color: #fff;
  margin: 25px 0 30px;
  text-align: center;
}
.lp_copy2 span {
  font-size: 12vw;
  color: #E1FD50;
  padding-bottom: 5px;
  background: url(../img/border_wave.svg) repeat-x bottom left / auto 7px;
  display: inline-block;
  margin-bottom: 10px;
}
.cv_btn_wrap {
  display: inline-block;
  text-align: center;
  width: 100%;
}
.cv_btn_cap {
  display: inline-block;
  font-size: 15px;
  font-weight: bold;
  padding: 5px 16px;
  background: #222;
  color: #fff;
  position: relative;
  text-align: center;
}
.cv_btn_cap::before {
  content: "";
  position: absolute;
  width: 0px;
  height: 0px;
  bottom: -18px;
  left: 50%;
  transform: translateX(-50%);
  border-width: 12px 10px 10px;
  border-style: solid;
  border-color: rgb(34, 34, 34) transparent transparent;
  border-image: initial;
  border-top: 18px solid rgb(34, 34, 34);
}
.cv_btn {
  margin-top:-12px;
}
.cv_btn a{
  display: inline-block;
  font-size: 22px;
  font-weight: 700;
  color: #222;
  background: #E1FD50;
  border-radius: 100px;
  padding: 15px 15px;
  width: calc(100% - 30px);
}
.cv_btn a span {
  position: relative;
  padding-right: 35px;
}
.cv_btn a span:after {
  content: '';
  position: absolute;
  background: url(../img/icon_mail.svg) no-repeat;
  right: 0;
  top: 60%;
  transform: translateY(-50%);
  width: 24px;
  height: 20px;
  display: inline-block;
  background-size: contain;
  z-index: 100;
}

}






/* point */
.lp_point {
  margin: -140px 0 50px;
  position: relative;
  z-index: 50;
}
.lp_point_wrap {
  display: flex;
  justify-content: center;
}
.lp_point_item {
  max-width: 190px;
  margin: 0 20px;
  position: relative;
  z-index: 1;
}
.lp_point_bg {
  max-width: 1100px;
  margin: -120px auto 0;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 790px) {
.lp_point {
  margin: -100px 0 40px;
  position: relative;
  z-index: 100;
}
.lp_point_wrap {
  display: flex;
  justify-content: center;
}
.lp_point_item {
  max-width: 100%;
  margin: 0 10px;
  position: relative;
  z-index: 1;
}
.lp_point_bg {
  max-width: 100%;
  margin: -60px auto 0;
  position: relative;
  z-index: 0;
}
}




/* problem */
.lp_problem_wrap {
  max-width: 1000px;
  border:10px solid #F1EFD9;
  margin: 0 auto 100px;
  position: relative;
}
.lp_problem_img {
  max-width: clamp(170px, 190 / 1440 * 100vw, 190px);
  margin: 0 auto;
  padding: 100px 0 0 0 ;
}
.lp_problemList_item:nth-child(1) .lp_problemList_itemWrap:before,
.lp_problemList_item:nth-child(2) .lp_problemList_itemWrap:before {
  content: '';
  position: absolute;
  background: url(../img/speechbubble.svg) no-repeat;
  background-size: contain;
  width: 51px;
  height: 38px;
  right: 10px;
  bottom: -27px;
  z-index: 2;
}
.lp_problemList_item:nth-child(3) .lp_problemList_itemWrap:before,
.lp_problemList_item:nth-child(4) .lp_problemList_itemWrap:before {
  content: '';
  position: absolute;
  background: url(../img/speechbubble.svg) no-repeat;
  background-size: contain;
  width: 51px;
  height: 38px;
  left: 10px;
  bottom: -27px;
  z-index: 2;
  transform: scale(-1, 1);
}
.lp_problemList_item:nth-child(1) {
  position: absolute;
  left:clamp(10px, 50 / 1440 * 100vw, 50px);
  bottom: 80px;
}
.lp_problemList_item:nth-child(2) {
  position: absolute;
  left:clamp(60px, 110 / 1440 * 100vw, 110px);
  bottom: 300px;
}
.lp_problemList_item:nth-child(3) {
  position: absolute;
  right:clamp(220px, 220 / 1440 * 100vw, 220px);
  bottom:330px;;
}
.lp_problemList_item:nth-child(4) {
  position: absolute;
  right:clamp(10px, 40 / 1440 * 100vw, 40px);
  bottom: 130px;
}
.lp_problemList_itemWrap {
  font-size: 16px;
  line-height: 1.6;
  padding: 20px;
  background: #EEEEEE;
  border-radius: 20px;
  display: inline-block;
  position: relative;
  font-weight: 700;
}
@media screen and (max-width: 790px) {
.lp_problem {
  padding: 0 20px;
}
.lp_problem_wrap {
  padding: 15px 15px 0;
}
.lp_problem_img {
  max-width: 35%;
  margin: 0 auto;
  padding: 10px 0 0 0 ;
}
.lp_problemList_item:nth-child(1) .lp_problemList_itemWrap:before,
.lp_problemList_item:nth-child(3) .lp_problemList_itemWrap:before {
  content: '';
  position: absolute;
  background: url(../img/speechbubble.svg) no-repeat;
  background-size: contain;
  width: 45px;
  height: 27px;
  right: 20px;
  bottom: -20px;
  z-index: 2;
 left: inherit;
}
.lp_problemList_item:nth-child(2) .lp_problemList_itemWrap:before,
.lp_problemList_item:nth-child(4) .lp_problemList_itemWrap:before {
  content: '';
  position: absolute;
  background: url(../img/speechbubble.svg) no-repeat;
  background-size: contain;
  width: 45px;
  height: 27px;
  left: 20px;
  bottom: -20px;
  z-index: 2;
  top: inherit;
}
.lp_problemList_item:nth-child(2) .lp_problemList_itemWrap:before{
  transform: scale(-1, 1);
}
.lp_problemList_item:nth-child(3) .lp_problemList_itemWrap:before {
  transform: inherit;
}
.lp_problemList_item:nth-child(1) {
  position: inherit;
  left:inherit;
  bottom: inherit;
}
.lp_problemList_item:nth-child(2) {
  position: inherit;
  left: inherit;
  top: inherit;
}
.lp_problemList_item:nth-child(3) {
  position: inherit;
  left:inherit;
  transform: inherit;
  top: inherit;
}
.lp_problemList_item:nth-child(4) {
  position: inherit;
  right:inherit;
  top: inherit;;
}
.lp_problemList_item:nth-child(5) {
  position: inherit;
  right:inherit;
  bottom: inherit;
}
.lp_problemList_item:nth-child(6) {
  position: inherit;
  right:inherit;
  bottom: inherit;
}
.lp_problemList_itemWrap {
  font-size: 14px;
  line-height: 1.6;
  padding: 20px 15px;
  background: #eee;
  border-radius: 16px;
  display: inline-block;
  position: relative;
}
.lp_problemList {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 30px 10px;
}
}






/* thoughts */
.lp_thoughts {
  position: relative;
  padding: 70px 0;
  width: 100%;
  overflow: hidden;
  background: url(../img/thoughts_bg.jpg) top center;
  background-size: cover;
  z-index: 4;
}
.lp_thoughts_wrap {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  background-color: rgba(255, 255, 255, 0.85);
  padding: 50px;
  position: relative;
}
.lp_thoughts_ttl {
  color: #287B44;
  text-align: center;
  font-size: 36px;
  margin-bottom: 20px;
}
.lp_thoughts_txt span {
  font-weight: bold;
}
@media screen and (max-width: 790px) {
.lp_thoughts {
  position: relative;
  padding: 50px 20px;
  overflow: hidden;
  min-width: inherit;
  width: inherit;
  background-size: cover;
  z-index: 3;
  background-position-x: 96%;
}
.lp_thoughts_wrap {
  width: calc(100% - 30px);
  margin: 0 auto;
  padding: 40px 15px;
}
.lp_thoughts_ttl {
  color: #287B44;
  text-align: center;
  font-size: 26px;
  margin-bottom: 20px;
}
.lp_thoughts_txt span {
  font-weight: bold;
}
}






/* support */
.lp_support {
  padding: 100px 0;
}
.lp_supportBlock {
  display: flex;
  justify-content: center;
  max-width: 1100px;
  margin: 0 auto;
  align-items: center;
}
.lp_supportBlock:not(:last-child) {
  margin-bottom: 70px;
}
.lp_supportBlock_img {
  max-width: 540px;
  flex-shrink: 0;
  position: relative;
}
.lp_support_num {
  color: #BF9958;
  font-size: 100px;
  opacity: 0.5;
  line-height: 100%;
  position: absolute;
  left: 25px;
  top: -50px;
}
.lp_supportBlock_descTtl {
  font-size: 24px;
  color: #287B44;
  margin-bottom: 20px;
}
.lp_supportBlock_desc {
  margin-left: -30px;
  position: relative;
  z-index: 10;
}
.lp_supportBlock_reverse {
  flex-direction: row-reverse;
}
.lp_supportBlock_reverse .lp_supportBlock_desc {
 margin-left: inherit;
  margin-right: -30px;
  position: relative;
}
.lp_supportBlock_reverse .lp_support_num {
  left: inherit;
  right: 25px;
  top: -50px;
}
.lp_support .cv_btn_wrap {
  display: block;
  margin: auto;
}
.lp_support .cv_btn_wrap {
  display: block;
  margin: auto;
}
.lp_support .cv_btn_wrap .cv_btn a {
  font-size: 26px;
  padding: 15px 95px;
}
.lp_support .cv_btn_wrap .cv_btn_cap {
  font-size: 18px;
}
@media screen and (max-width: 790px) {
.lp_support {
  padding: 60px 20px;
}
.lp_supportBlock {
  display: block;
  max-width: 100%;
  margin: 0 auto;
}
.lp_supportBlock:not(:last-child) {
  margin-bottom: 50px;
}
.lp_supportBlock_img {
  max-width: 100%;
  flex-shrink: 0;
  position: relative;
  margin-bottom: 20px;
}
.lp_support_num {
  color: #BF9958;
  font-size: 60px;
  opacity: 0.5;
  line-height: 100%;
  position: absolute;
  left: 20px;
  top: -30px;
}
.lp_supportBlock_descTtl {
  font-size: 20px;
  color: #287B44;
  margin-bottom: 20px;
}
.lp_supportBlock_desc {
  margin-left: 0;
  position: relative;
 z-index: 10;
}
.lp_supportBlock_reverse .lp_supportBlock_desc {
 margin-left: inherit;
  margin-right: 0;
  position: relative;
}
.lp_supportBlock_reverse .lp_support_num {
  left: inherit;
  right: 20px;
  top: -30px;
}
.lp_support .cv_btn_wrap .cv_btn a {
  font-size: 22px;
  padding: 15px 15px;
}
.lp_support .cv_btn_wrap .cv_btn_cap {
  font-size: 15px;
}
}








/* case */
.lp_case {
  padding: 100px 0;
  background: #EAF2EC;
}
.lp_caseBlock {
  max-width: 900px;
  margin: 0 auto;
  padding: 50px;
  background: #fff;
  position: relative;
  box-sizing: border-box;
}
.lp_caseBlock:not(:last-child) {
  margin-bottom: 60px;
}
.lp_case_num {
  color:#BFD7C7;
  font-size: 60px;
  position: absolute;
  left: 50px;
  top: -35px;
  line-height: 100%;
}
.lp_caseOverview {
  display: flex;
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #287B44;
  align-items: center;
}
.lp_caseOverview_img {
  max-width: 120px;
  flex-shrink: 0;
  margin-right: 40px;
}
.lp_caseOverviewDesc_ttl {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 15px;
}
.lp_caseOverviewDesc_client {
  display: inline-block;
  color: #287B44;
  padding: 10px;
  border:1px solid #287B44;
}
.lp_caseItem {
  display: flex;
  align-items: flex-start;
}
.lp_caseItem:not(:last-child) {
  margin-bottom: 30px;
}
.lp_caseTerm {
  flex-shrink: 0;
  margin-right: 40px;
}
.lp_caseTerm1 {
  background: #D9D9D9;
  padding: 10px;
}
.lp_caseTerm2 {
  background: #287B44;
  padding: 10px;
  color: #fff;
}
.lp_caseDesc span {
  color: #287B44;
  border-bottom: 1px solid #287B44;
}
@media screen and (max-width: 790px) {
.lp_case {
  padding: 60px 20px;
}
.lp_caseBlock {
  max-width: 100%;
  margin: 0 auto;
  padding: 30px 15px;
}
.lp_caseBlock:not(:last-child) {
  margin-bottom: 40px;
}
.lp_case_num {
  color:#BFD7C7;
  font-size: 35px;
  position: absolute;
  left: 15px;
  top: -18px;
  line-height: 100%;
}
.lp_caseOverview {
  display: block;
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #287B44;
}
.lp_caseOverview_img {
  max-width: 32%;
  flex-shrink: 0;
  margin-right: 0;
  margin: 0 auto 15px;
}
.lp_caseOverviewDesc_ttl {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 15px;
}
.lp_caseOverviewDesc_client {
  display: inline-block;
  color: #287B44;
  padding: 8px;
  border:1px solid #287B44;
}
.lp_caseItem {
  display: flex;
  align-items: flex-start;
}
.lp_caseItem:not(:last-child) {
  margin-bottom: 30px;
}
.lp_caseTerm {
  flex-shrink: 0;
  margin-right: 20px;
}
.lp_caseTerm1 {
  background: #D9D9D9;
  padding: 8px;
}
.lp_caseTerm2 {
  background: #287B44;
  padding: 8px;
  color: #fff;
}
.lp_caseDesc span {
  color: #287B44;
  border-bottom: 1px solid #287B44;
}

}









/* strength */
.lp_strength {
  padding: 100px 0;
  position: relative;
}
.lp_strengthList {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 40px;
  position: relative;
}
.lp_strengthList:before {
  position: absolute;
  background: url(../img/contact_bg.png) no-repeat;
  content: "";
  width: 525px;
  height: 525px;
  right: -17%;
  top: -57%;
  display: inline-block;
  background-size: contain;
  background-position-y: center;
  z-index: -1;
}
.lp_strengthList_itemTtl {
  font-size: 20px;
  font-weight: 700;
  color: #287B44;
  margin: 20px 0;
  text-align: center;
}
@media screen and (max-width: 790px) {
.lp_strength {
  padding: 60px 20px;
}
.lp_strengthList {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-gap: 45px;
}
.lp_strengthList:before {
  position: absolute;
  background: url(../img/contact_bg.png) no-repeat;
  content: "";
  width: 60%;
  height: 60%;
  right: -20%;
  top: -37%;
  display: inline-block;
  background-size: contain;
  background-position-y: center;
  z-index: -1;
}
.lp_strengthList_itemTtl {
  font-size: 18px;
  font-weight: 700;
  color: #287B44;
  margin: 18px 0 15px;
  text-align: center;
}
}









/* service */
.lp_service {
  padding: 100px 0;
  position: relative;
  background: #F1EFD9;
}
.lp_serviceList {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 40px;
  position: relative;
}
.lp_service_item {
  background: #fff;
  padding:40px;
}
.lp_service_itemImg {
  max-width: 160px;
  margin: 0 auto;
}
.lp_serviceList_itemTtl {
  font-size: 20px;
  font-weight: 700;
  margin: 20px 0;
  text-align: center;
}
.lp_serviceNote {
  box-sizing: border-box;
  max-width: 1100px;
  margin: 40px auto 0;
  display: flex;
  background: #BF9958;
  color: #fff;
  padding: 40px;
}
.lp_serviceNote_img {
  max-width: 160px;
  margin-right: 40px;
  flex-shrink: 0;
}
.lp_serviceNote_descTtl {
  font-size: 22px;
  font-weight: bold;
  position: relative;
  margin-bottom: 20px;
  position: relative;
  padding-left: 35px;
}
.lp_serviceNote_descTtl:after {
  content: '';
  position: absolute;
  background: url(../img/icon_note.svg) no-repeat;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 25px;
  display: inline-block;
  background-size: contain;
  z-index: 100;
}
@media screen and (max-width: 790px) {
.lp_service {
  padding: 60px 20px;
  position: relative;
  background: #F1EFD9;
}
.lp_serviceList {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-gap: 15px;
  position: relative;
}
.lp_service_item {
  background: #fff;
  padding:20px;
}
.lp_service_itemImg {
  max-width: 30%;
  margin: 0 auto;
}
.lp_serviceList_itemTtl {
  font-size: 18px;
  font-weight: 700;
  margin: 18px 0;
  text-align: center;
}
.lp_serviceNote {
  box-sizing: border-box;
  max-width: 1100px;
  margin: 40px auto 0;
  display: block;
  background: #BF9958;
  color: #fff;
  padding: 20px;
}
.lp_serviceNote_img {
  max-width: 30%;
  margin-right: 0;
  flex-shrink: 0;
  margin:0 auto;
}
.lp_serviceNote_descTtl {
  font-size: 18px;
  font-weight: bold;
  position: relative;
  margin: 18px 0;
  padding-left: 30px;
}
.lp_serviceNote_descTtl:after {
  content: '';
  position: absolute;
  background: url(../img/icon_note.svg) no-repeat;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 20px;
  display: inline-block;
  background-size: contain;
  z-index: 100;
}
}





/* staff */
.lp_staff {
  padding: 100px 0;
  position: relative;
}
.lp_staff:after {
  content: ""; /* æ“¬ä¼¼è¦ç´ ã®ä¸­èº« */
  position: absolute;
  bottom: 0; /* ä¸‹ç«¯ã«é…ç½® */
  left: 0; /* å·¦ç«¯ã«é…ç½® */
  width: 100%; /* æ¨ªå¹…ã„ã£ã±ã„ */
  height: 50%; /* é«˜ã•ã‚’åŠåˆ†ã« */
  background-color: #EAF2EC; /* èƒŒæ™¯è‰²ã‚’é»’ã« */
  z-index: -1; /* ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã®æ‰‹å‰ã«æ¥ãªã„ã‚ˆã†ã« */
}
.lp_staffList {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 30px;
}
.lp_staffList_itemTtl {
  font-size: 22px;
  font-weight: 700;
  margin-top: 20px;
  text-align: center;
}
@media screen and (max-width: 790px) {
.lp_staff {
  padding: 60px 20px;
}
.lp_staff:after {
  height: 65%; /* é«˜ã•ã‚’åŠåˆ†ã« */
}
.lp_staffList {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 15px;
}
.lp_staffList_itemTtl {
  font-size: 18px;
  font-weight: 700;
  margin-top: 18px;
  text-align: center;
}
}







  /* cta */
.lp_cta_area_bottom_2 img{
  vertical-align: top;  
}
.lp_cta {
  box-sizing: border-box;
  background: linear-gradient(0deg, #479B64 0%, #287B44 100%);
  position: relative;
  z-index: 1;
  padding:80px 0; 
}
.lp_cta:after {
  position: absolute;
  background: url(../img/cta_bg.svg) no-repeat;
  left:50%;
  transform: translateX(-50%);
  bottom: -5px;
  content: "";
  width: 100%;
  height: 293px;
  display: inline-block;
  background-size: cover;
  z-index: -1;
  background-position-x: -30vw;
  background-repeat: repeat-x;
}
.lp_cta h2 {
  color: #fff !important;
}
.lp_cta .cv_btn_wrap {
  display: block;
  margin: 0 auto;
  max-width: 680px;
}
.lp_cta .cv_btn_wrap .cv_btn a{
display: block;
  max-width: 680px;
  font-size: 26px;
}
.lp_cta .cv_btn_wrap .cv_btn_cap {
  font-size: 18px;
}
.lp_cta_tel {
  text-align: center;
  color: #fff;
  margin-top: 30px;
}
.lp_cta_tel a {
  font-size: 40px;
  font-weight: 700;
  color: #fff;
}
.lp_cta_tel span {
  font-size: 20px;
  font-weight: 700;
}
@media screen and (max-width: 790px) {
.lp_cta {
  padding: 50px 20px;
}
.lp_cta:after {
  position: absolute;
  background: url(../img/cta_bg.svg) no-repeat;
  left:50%;
  transform: translateX(-50%);
  bottom: -5px;
  content: "";
  width: 100%;
  height: 40%;
  display: inline-block;
  background-size: cover;
  z-index: -1;
}
.lp_cta .cv_btn_wrap .cv_btn a {
  font-size: 22px;
}
.lp_cta .cv_btn_wrap .cv_btn_cap {
  font-size: 15px;
}
.lp_cta_tel {
  margin-top: 20px;
}
.lp_cta_tel a {
  font-size: 30px;
  font-weight: 700;
  color: #fff;
}
.lp_cta_tel span {
  font-size: 16px;
  font-weight: 700;
}
}






















/* ãƒ•ãƒ­ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ãƒãƒŠãƒ¼ */
.floatingBanner_wrap {
  display: none;
}
/*SP*/
@media screen and (max-width:960px){
.floatingBanner_wrap {
  position: fixed;
  top: inherit;
  bottom: 0;
  right: 0;
  display: flex;
  justify-content: center;
  width: 100%;
  z-index: 100;
  background-color:rgba(255,255,255, .8);
}
.floatingBanner { 
  position: relative;
  width: 100%;
}
.floatingBanner2 { 
  position: relative;
  margin-top: inherit;
  width: 100%;
}
.floatingBanner a.mail {
  -ms-writing-mode: inherit;
  writing-mode: inherit;
  text-align: center;
  font-size: 4vw;
  background: #E1FD50;
  color: #222;
  padding:15px 0;
  display: block;
  font-weight: 700;
}
.floatingBanner a span {
  position: relative;
  padding-top: 0;
  padding-right: 20px;
}
.floatingBanner a.mail span:before {
  position: absolute;
  background: url(../img/icon_mail.svg) no-repeat;
  right: -7px;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  width: 22px;
  height: 16px;
  display: inline-block;
  background-size: contain;
  z-index: 100;
}
.floatingBanner2 a.tel {
  -ms-writing-mode: inherit;
  writing-mode: inherit;
  text-align: center;
  font-size: 4vw;
  background: #287B44;
  color: #fff;
  padding:15px 0;
  display: block;
  font-weight: 700;
}
.floatingBanner2 a span {
  position: relative;
  padding-top: 0;
  padding-left: 20px;
}

.floatingBanner2 a.tel span:before {
  position: absolute;
  background: url(../img/icon_tel.svg) no-repeat;
  left: -8px;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  width: 18px;
  height: 18px;
  display: inline-block;
  background-size: contain;
  z-index: 100;
}

#close-button,
#close-button2 {
  display: none;
}
#copyright {
  padding-bottom: 90px;
}
}

/**20250410 add/

/*menu*/

/* ここからメニュー
-----------------------------------------------*/
.menu {
margin: 0 auto;
position:relative;
z-index:500;
}

.dropdwn {
list-style-type: none;
width: 100%;
display: flex;
}

.menubox ul.dropdwn {
text-align: center;
list-style-type: none;
margin: 0 auto;
}

.menubox ul.dropdwn li {
width: 150px;
font-size: 15px;
position: relative;
display: block;
cursor: pointer;
}

.menubox ul.dropdwn li.li_environment {
width: 170px;
}

.menubox ul.dropdwn li.li_flow {
width: 170px;
}

.dropdwn li a {
display:block;
font-weight: 700;
color:#333;
margin-top: 2.2em;
text-decoration:none;
padding: 5px 0;
}

.dropdwn li.header_mail {
margin-right:10px;
}

.dropdwn li.header_mail a{
border: 1px solid #C21B17;
  padding: 5px 10px;
  border-radius: 100px;
  color: #C21B17;
}

.menubox ul.dropdwn li.header_tel{
margin-right:0;
}

.dropdwn li.header_tel a{
padding:0;
max-width:173px;
}


.dropdwn li:hover a {
color :#C21B17;
background-color:#fff;
}

.dropdwn > li {
width: 100%;
margin: 1px;
display: inline;
}

.menu ul.dropdwn_menu {
width: 210px;
display: none;
position: absolute;
margin-left: 0;
margin-top: 0;
padding: 0;
background-color: #FFF;
border: 1px solid #43930E;
}

.menu ul.dropdwn_menu li{
width: 100%;
}

.menu ul.dropdwn_menu li a {
color: #333;
font-size: 13px;
font-weight: 700;
line-height:1.4;
padding: 1em 0.6em;
margin: 0;
display: block;
background-color: #FFF;
border-top:1px solid #43930E;
text-align:left;
}

.menu ul.dropdwn_menu li:first-child a {
border-top:none;
}

.menu ul.dropdwn_menu li a:hover {
color: #FFF;
background-color: #9CBD3B;
}

.headerbox_r ul li.li_recruit{
width: 106px;
color: #FFF;
margin-right: 0;
background-color: #9CBD3B;
}



.headerbox_r ul li.li_contact a span {
position: absolute;
font-size: 1.4rem;
top:inherit;
bottom: 0;
left: 0;
right: 0;
margin: auto;
}

/* スマホメニュー */

#spmenu {
display: block;
position: absolute;
top: 1.3em;
right: 0.8em;
}

/* チェックボックスは非表示に */
.drawer-hidden {
display: none;
}

/* ハンバーガーアイコンの設置スペース */
.drawer-open {
  display: flex;
  height: 40px;
  width: 40px;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 200;/* 重なり順を一番上に */
  /*cursor: pointer;*/
}

/* ハンバーガーメニューのアイコン */
.drawer-open span,
.drawer-open span:before,
.drawer-open span:after {
  content: '';
  display: block;
  height: 3px;
  width: 25px;
  border-radius: 3px;
  background: #333;
  transition: 0.5s;
  position: absolute;
}

/* 三本線のうち一番上の棒の位置調整 */
.drawer-open span:before {
  bottom: 8px;
}

/* 三本線のうち一番下の棒の位置調整 */
.drawer-open span:after {
  top: 8px;
}

/* アイコンがクリックされたら真ん中の線を透明にする */
#drawer-check:checked ~ .drawer-open span {
background: rgba(255, 255, 255, 0);
}

/* アイコンがクリックされたらアイコンが×印になように上下の線を回転 */
#drawer-check:checked ~ .drawer-open span::before {
bottom: 0;
transform: rotate(45deg);
}

#drawer-check:checked ~ .drawer-open span::after {
  top: 0;
  transform: rotate(-45deg);
}
  
/* メニューのデザイン*/
 .drawer-content {
 width: 100%;
 height: 100%;
  overflow: scroll;
 position: fixed;
 top: 0;
 left: 100%;/* メニューを画面の外に飛ばす */
 z-index: 99;
  transition: .6s;
 text-align: left;
 padding: 1.5em 1.5em 1em 1.5em;
 background: #fff;
 border: 5px solid #C21B17;
 }

/* アイコンがクリックされたらメニューを表示 */
#drawer-check:checked ~ .drawer-content {
left: 0;/* メニューを画面に入れる */
}

div.navtitle {
font-size: 1.6rem;
font-weight: 500;
line-height: 1.6;
color: #021A3C;
margin: 0 0 1em 0;
}

.accordion-container .accordion-title {
color :#282828;
padding: 0.5em 1em;
border: 1px solid #CCC;
border-top: none;
}

ul.nav1 li {
width: 100%;
font-size: 1.4rem;
font-weight: 500;
}

ul.nav1 li a {
 display: block;
 color :#282828;
 text-decoration: none;
 padding: 0.5em 1em;
 border: 1px solid #CCC;
 border-top: none;
 }
 ul.nav1 li.home a {
 color: #FFF;
background-color:#C21B17;
font-size:18px;
 }
 ul.nav1 li a:hover {
 background-color: #bf524b;
 }
 ul.accordion-content li a {
 padding-left: 2em;
 }

 
ul.nav2 {
width: 100%;
margin-top: 2em;
}

ul.nav2 li {
padding-left: 1.5em;
margin-bottom: 0.6em;
background-image: url(../images/img_arrow.svg);
background-size: 14px 8px;
background-repeat: no-repeat;
background-position: left center;
}

ul.nav2 li a {
display: block;
font-size: 1.3rem;
font-weight: 500;
color :#282828;
text-decoration: none;
transition: 0.6s;
padding: 0;
background-position: center 1em;
background-repeat: no-repeat;
background-size: 30px 18px;
}

ul.nav2 li a:hover {
color: #43930E;
}


/*　開閉　 */

.accordion-container {
  position: relative;
  width: 100%;
  border-top: none;
  outline: 0;
  /*cursor: pointer*/
}

.accordion-container .accordion-title {
  display: block;
  position: relative;
  margin: 0;
  padding: 0.5em 1em;
  /*cursor: pointer;*/
}

.accordion-container .accordion-title:hover,
.accordion-container .accordion-title:active,
.accordion-container .content-entry.open .accordion-title {
  background-color: #EEE;
  color: #021A3C;
}

.accordion-container .accordion-title:hover i:before,
.accordion-container .accordion-title:hover i:active,
.accordion-container .content-entry.open i {
  color: white;
}

.accordion-title{
  position: relative;
}

.accordion-title:after {
  content: "";
  position: absolute;
  right: 1em;
  top: 36%;
  transition: all 0.2s ease-in-out;
  display: block;
  width: 8px;
  height: 8px;
  border-top: solid 2px #021A3C;
  border-right: solid 2px #021A3C;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}

.accordion-title.open:after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  top: 45%;
}

.accordion-content {
  display: none;
  padding-left: 0;
}

#spmenu{
display:none;
}

/* CSS for CodePen */
.accordion-container {
  width: 100%;
  margin: 1.875em auto;
}

#nav-toggle{
display:none;
}

@media screen and (min-width: 1800px) {
div.lp_cta_area_3{
background-size:10%;
}
  }

  
  
	@media screen and (max-width: 1100px) {
		#contents {
    top: 75px;
 }
.lp_cta_area_3{
background:none;
}
#nav-toggle{
margin-top: 0px;
      display:block;
      z-index: 9999;
}

.menu{
display:none;
}
#spmenu{
display:block;
}
}



/*common*/
.hover img:hover{
opacity: 0.90;
}

input {
  line-height: normal;
}
optgroup, select, textarea {
  color: inherit;
  font: inherit;
 line-height: inherit;
  margin: 0;
}
ul, li {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.clearfix {
  display: block;
}
a{text-decoration:none;
color:#000;
}
a:hover{text-decoration:underline;}
.r_line{
border-right:1px solid #D1D1D1;
}
p{margin:0;}
section{padding:80px 0;}
#price,#contact,#works{
background:#FCF3DB;
}


/*container*/
.container_900{
max-width: 900px;
  margin: 0 auto;
  padding: 0px;
  position: relative;
  box-sizing: border-box;
}
.container_980{
max-width: 980px;
  margin: 0 auto;
  padding: 0px;
  position: relative;
  box-sizing: border-box;
}
.container_1100{
max-width: 1100px;
  margin: 0 auto;
  padding: 0px;
  position: relative;
  box-sizing: border-box;
}


/*position-layout*/
.text-left{
text-align:left;
}

.column_4{
width: 22.5%;
  margin-right: 2%;
}
@media screen and (max-width: 790px) {
.column_4{width:100%; margin:0;}
/*container*/
.container_900{
  width: 88%;
  margin: 0 auto;
}
}

.pos_rel{position:relative;}
.f_right{float:right}
.f_left{float:left}
.clear{clear:both;}
.text-center{margin:auto; text-align:center;}

/*dispaly*/
.dis_inline_pc,.dis_inline{display:inline-block;}
.dis_flex_pc,.dis_flex{display:flex;}

/*header*/
h2{
font-size: 36px;
  position: relative;
  margin-bottom: 90px;
  font-weight: 600;
  text-align: center;
  font-weight: 700;
}
h2 span{
display:block;
font-size:20px;
color:#1B9739;
margin-bottom: 15px;
}
h2::before {
 position: absolute;
 border-bottom: 4px solid #EF2727;
 top: 125%;
 left: 50%;
 transform: translateX(-50%);
 width: 120px;
 content: '';
}

/*font-family*/
.flow_ttl::before,.accordion_qa .A::before,.accordion_qa .Q::before,.cta_tel a{
font-family: "Century Gothic", sans-serif;
}


/*headline*/

/*text*/
.section_copy {
  text-align: center;
  margin: 30px 0;
  font-size: 20px;
}

.yellow{color:#FADD5F;}
.red{color:#DA2B27;}
.underline{-moz-box-shadow: 0 -0.4em 0 -0.25em rgb(248, 215, 20) inset;
-webkit-box-shadow: 0 -0.4em 0 -0.25em rgb(248, 215, 20) inset;
box-shadow: 0 -0.4em 0 -0.25em rgb(248, 215, 20) inset}
.txt_free{
background:#FBF2D9;
color:#D73A36;
font-size:90%;
}
sup{color:#C21B17;}
.dots {
  background-image: radial-gradient(circle at center, #F8D714 20%, transparent 20%); /* 点の色とサイズ調整 */
  background-position: top right; /* 点の位置 */
  background-repeat: repeat-x; /* 横方向に繰り返し */
  background-size: 1em 0.3em; /* 点の間隔とサイズ調整 */
  padding-top: .2em; /* 縦方向の位置調整 */
}

/*pagetop*/
.pagetop_box{
position:fixed;
bottom:15%;
right:1%;
width:77px;
height:77px;
z-index:9999;
}

/*mark box*/
.mark-box {
    position: relative;
}
.mark-box:before {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 70px 70px 0 0;
    border-color: rgba(255,255,255,0.5) transparent transparent transparent;
}
.mark-box:after {
    position: absolute;
    content: "";
    transform: rotate(315deg);
    display: block;
    font-size: 11px;
    white-space: pre;
    color: #fff;
    top: 12px;
    left: 4px;
    text-align: center;
    z-index: 2;
    line-height: 1.2;
}


/*table*/

.table_1 tbody td{
width:20%;
}
.table_1 tbody td:nth-of-type(even) {
background-color: #F5F5F5;
font-size:18px;
height:80px;
text-align:center;
}
.table_1 tbody td:nth-of-type(odd) {
background-color: #fff;
font-size:18px;
text-align:center;
}
.table_1 tbody td.price span{
font-size:18px;
}
.table_1 tbody td.price{
color:#C21B17;
font-size:33px;
font-weight:700;
}
.price_img,.price_img img{
vertical-align: bottom;
}
table.table_1 .bg_red_1{
font-size:22px;
border-radius: 8px 0 0 0;
}

.table_1 .price_kibo_1,.table_1 .price_kibo_2{

height: 80px;
}
.table-scroll{
  overflow-x: scroll;
}
table.table_1{
border-radius:8px 8px 0 0;
}

table.table_1 .bg_red_1,.table_1 .price_kibo_2{
text-align:center;
background:#C21B17;
color:#fff;
width: 20%;
}
.table_1 .price_kibo_1{
text-align:center;
background:#bf524b;
color:#fff;
}


/*list*/
.dl_1{
padding-bottom:15px;
margin-bottom:25px;
border-bottom:2px solid #E3E3E3;
position:relative;

}
.dl_1::before{
  content: '';
  position: absolute;
  bottom: -2px;
  width: 2%;
  height: 2px;
  background: #1B9739;/*左：ピンク*/
}

.dl_1 dt{
width:20%;
padding-left:60px;
color:#1B9739;
}
.dl_1 dd{
width:79%;
padding-left:20px;
}
ul.ul_2 li{
padding-left: 32px;
line-height: 1.6em;
background: url(../img/icon_check_y.png) left 0px top 6px no-repeat;
background-size: auto;
background-size: 18px auto;
margin-bottom: 10px;
font-size: 16px;
}

ul.ul_1 li{
padding-left: 32px;
  line-height: 1.6em;
  background: url(../img/icon_check.png) left 0px top 8px no-repeat;
 background-size: auto;
  background-size: 18px auto;
  margin-bottom: 20px;
}

ul.ul_1,ul.ul_2{
list-style: none;
}

/*header*/
.header_logo img {
  width: 132px;
  vertical-align: bottom;
  margin-bottom: 0.4em;
  margin-top: 1.8em;
}
.header_logo {
  width: 176px;
  height: 150px;
  position: absolute;
  top: 0;
  left: 10%;
  text-align: center;
  padding: 1em 0 0 0;
  background-color: #FFF;
  border-bottom-right-radius: 14px;
  border-bottom-left-radius: 14px;
  box-shadow: none;
}
.headerbox {
position: absolute;
top: 0;
width: 100%;
display: block;
}
header{
position: relative;
z-index: 100;
}
.menubox ul.dropdwn li {
  width: auto;
  font-size: 15px;
  margin-right: 20px;
}
.header_l{
width: 15%;
  float: left;
  position: relative;
  text-align: left;
}
.header_r{
width: 700px;
float: right;
margin:0 4% 0 0;
}

/*kv main_copy*/
.lp_visual_wrap {
  max-width: 1100px;
  padding: 0px;
  justify-content: center;
}
.lp_img {
  max-width: none;
}
.lp_img img{
vertical-align: bottom;
}

.lp_desc {
  margin: 50px 0px 0 0;
  max-width: 1000px;
}


/*bg*/
.g_bg{
background:#F5F5F5;
padding: 20px;
}
/*main content*/
#contents{
top: 100px;
  position: relative;
}

/*悩み*/
.nayami_arrow{
width:150px;
margin:50px auto 30px;
}
.lp_nayami_ttl{
background:#E7E7E7;
}
.kai_txt{
font-size: 19px;
  padding: 12px 30px 12px 30px;
  line-height: 150%;
}
.kai_ttl{
position:relative;

}

.kai_ttl:before{
  content: '';
  position: absolute;
  background: url(../img/icon_kaiketsu.png) no-repeat;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 64px;
  height: 64px;
  display: inline-block;
  background-size: contain;
  z-index: 100;
}

.nayami_txt{
padding: 10px 20px 10px 20px;
  font-size: 17.5px;
  line-height: 150%;
}

.nayami_txt.nayami_txt2{
padding: 25px 20px 10px 20px;
}

.nayami_ttl{
position:relative;
text-align: center;
  height: 67px;
  line-height: 67px;
  margin: 20px 0;
border-right: 1px solid #C2C2C2;}
.nayami_ttl img{
width:77px;
}


.nayami_ttl::before{
  content: none;
background-image: url("../img/icon_problem.png");
background-repeat: no-repeat;
  background-size: contain;
  width: 22px;
  display: block;
  position: absolute;
  top: 0px;
  height: 22px;
  left: 5px;
}

.lp_nayami_ans{
background:#C21B17;
position:relative;
color:#fff;
height:90px;
}

.lp_nayami_ans::before{
content: '';
background-image: url("../img/nayami_arrow.png");
background-repeat: no-repeat;
  background-size: contain;
  width: 114px;
  display: block;
  position: absolute;
  height: 37px;
top:0;
left: 50%;
  right: 5%;
  transform: translateX(-50%);
}

.lp_nayami_01,.lp_nayami_02,.lp_nayami_03,.lp_nayami_04{
border-radius:3px;
box-shadow: 0 0 8px #999;
}


.lp_nayami_01 .lp_nayami_img{
background-image: url(../img/problem_1.jpg);

}
.lp_nayami_02 .lp_nayami_img{
  background-image: url(../img/problem_2.jpg);
}
.lp_nayami_03 .lp_nayami_img{
  background-image: url(../img/problem_3.jpg);
}
.lp_nayami_04 .lp_nayami_img{
  background-image: url(../img/problem_4.jpg);
}

.lp_nayami_img{
height: 220px;
background-size: cover;
background-repeat:no-repeat;
position:relative;
border-radius: 3px 3px 0 0;
}

.lp_nayami_img p{
position: absolute;
  bottom: -2px;
  right: 25px;
  color: #fff;
  font-size: 28px;
  line-height: 100%;
  font-family: "Century Gothic", sans-serif;
  font-weight: 700;

}
.lp_nayami_img p span{font-size:200%;}

/*sec_02*/
#sec_02{
background:#F5F5F5;
height: 440px;
}
#sec_02{
.w_50{
width:50%;
margin:0;
}
}
.sec_02_img{
position: absolute;
  top: -120px;
  left: -200px;
  width: 700px;
}

/*topic*/
.topic_box_2{
padding: 90px 20px 50px;
.w_25{
vertical-align: top;
}
}
.topic_box .ttl_1{
background:#DA2B27;
color:#fff;
text-align:center;
//height: 72px;
  line-height: 80px;
}

.topic_box .ttl_2{
background:#fff;
color:#DA2B27;
font-size:22px;
text-align:center;
font-weight:700;

}

.topic_box{
box-shadow: 0 0 8px #c1c1c1;
border-radius:8px;
position:relative;
}

.topic_box .ttl{
position: absolute;
left: 50%;
transform: translateX(-50%);
top:-5%;
border:2px solid #DA2B27;
background: #fff;
  width: 720px;
}

/*reason*/
.reason_box{
img
{border-radius:4px;}
}
.reason_box .reason {
  position: relative;
padding: 0 0 0 16px;
border-top:5px solid #F5F5F5;
margin-top:20px;
padding-top:20px;
font-size: 20px;
line-height: 150%;
letter-spacing: 1px;
}
.reason_box .reason::before{
content: "";
  width: 10px;
  height: 10px;
  position: absolute;
  top: 31px;
  left: 0;
  margin: auto;
  box-sizing: border-box;
  border: 5px solid transparent;
 border-left-width: 5px;
 border-left-style: solid;
 border-left-color: transparent;
  border-left: 8px solid #E11D18;
}

.reason_box .ttl{
line-height: 150%;
margin:20px 0;
}

.reason_box .reason_txt{
line-height: 180%;
  letter-spacing: 1px;
}

.reason_box .big_ttl span{
font-size:80px;
}
.reason_box .big_ttl{
font-size:50px;
color:#f5f5f5;
line-height: 100%;
font-weight:700;
font-family: "Century Gothic", sans-serif;
letter-spacing: 3px;
}

.reason_box{
background:#fff;
border-left:5px solid #E11D18;
border-radius:8px;
padding: 30px 20px;
}

/*stre*/
.stre_ttl{
font-size:22px;
font-weight:600;
text-align:center;
margin:20px 0;
}

/*works*/
.seika_txt{
vertical-align: top;
}
.works_naiyo{
width:170px;
}
works_naiyo_2{

}


.works_1 .r_line{
text-align:center;
}
.works_2{
text-align:center;
}

.works_1{
border-bottom:2px solid #EBEBEB;
border-top:2px solid #EBEBEB;
font-size:20px;
margin: 20px 0;
padding:12px 0;
}

.works_left{
vertical-align: top;
}

.work_box{
position:relative;
background: #fff;
padding: 30px 20px;
border-radius:4px;
}
.work_number{
position:absolute;
top:0;
right:0;
color:#fff;
background:#C21B17;
padding:10px 50px;
text-align:center;
font-size:21px;
font-family: "Century Gothic", sans-serif;
font-weight:700;
}
.g_arrow{
 color: #D9D8D8;
width:135px;
padding-bottom: 20px;
}

.ttl_teian{
border:2px solid #C21B17;
color:#C21B17;
height: 86px;
  text-align: center;
line-height: 86px;
vertical-align: text-bottom;
width:135px;
font-size: 18px;
}
.ttl_seika{
background:#C21B17;
color:#fff;
height: 86px;
  text-align: center;
line-height: 86px;
vertical-align: text-bottom;
width:135px;
font-size: 18px;
}

/*item*/
.item_1{background-image: url(../img/type_1.png);}
.item_2{background-image: url(../img/type_2.png);}
.item_3{background-image: url(../img/type_3.png);}
.item_4{background-image: url(../img/type_4.png);}
.item_5{background-image: url(../img/type_5.png);}
.item_6{background-image: url(../img/type_6.png);}
.item_7{background-image: url(../img/type_7.png);}
.item_8{background-image: url(../img/type_8.png);}

.item_box{
height:auto;
width: 23%;
  margin: 0 0.5% 1%;
    vertical-align: baseline;
}
.item_img{
//background-color:#FBF2D9;
position:relative;
background-size: contain;
  background-repeat: no-repeat;
background-position: center bottom;
//height:200px;
img{
vertical-align: text-bottom;
    margin-bottom: -2px;
}
}
.item_name{
background:#C21B17;
color:#fff;
text-align: center;
padding: 15px 10px 0;
  height: 84px;
  font-size: 18px;
line-height: 140%;
margin: 0 3px;
}
.item_name.line_1{
padding-top:30px;
}
/*flow*/
.flow_ttl{
height:80px;
position:relative;
display:inline-block;
}
.flow_1 + .flow_ttl::before{content:"01";}
.flow_2 + .flow_ttl::before{content:"02";}
.flow_3 + .flow_ttl::before{content:"03";}
.flow_4 + .flow_ttl::before{content:"04";}
.flow_5 + .flow_ttl::before{content:"05";}
.flow_6 + .flow_ttl::before{content:"06";}
.flow_7 + .flow_ttl::before{content:"07";}
.flow_8 + .flow_ttl::before{content:"08";}

.flow_ttl::before{
color:#fff;
font-weight:bold;
background:#C21B17;
padding: 8px 13px;
border-radius:100px;
top: 10px;
  position: absolute;
}
.flow_box_2 img{
border-bottom: 5px solid #C21B17;
}

.flow_box_2{
position:relative;
height: 350px;
  vertical-align: top;
}
.flow_box_2:not(:last-child)::after{
border-bottom: 4px dotted #F3A794;
  content: "";
  position: absolute;
width: 25px;
  top: 80px;
  right: -25px;
  z-index: 100;
}

.flow_box_2.add_arrow:before{
position: absolute;
    display: block;
    content: "";
    border-top: 8px solid transparent;
    border-right: 0 solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 12px solid #F3A794;
    width: 0;
    height: 0;
    right: -32px;
    top: 73px;
    z-index: 9999;

}


/*faq*/
.readmore {
  position: relative;
  margin: 50px auto 0;
  padding: 0 0 75px;
}

.readmore label.morelabel {
  position: absolute;
  display: table;
  left: 50%;
  bottom: 0;
  margin: 0 auto;
  width: 200px;
  padding: 10px 0;
  color: #fff;
  text-align: center;
  border-radius: 5px;
  background-color: #333;
  transform: translateX(-50%);
  cursor: pointer;
  z-index: 1;
}

.readmore label.morelabel::before{
  content: '続きを見る';
}

.readmore input[type="checkbox"]:checked ~ label.morelabel::before {
  content: '元に戻す';
}

.readmore input[type="checkbox"]{
  display: none;
}

.readmore-content {
  position: relative;
  height: 240px;
  overflow: hidden;
}

.readmore .readmore-content::before {
  position: absolute;
  display: block;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 75px;
background: linear-gradient( rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 50%, #fff 100%);
    z-index: 100;
}

.readmore input[type="checkbox"]:checked ~ .readmore-content::before {
  display: none;
}

.readmore input[type="checkbox"]:checked ~ .readmore-content {
  height: auto;
}

/*area*/
#area{
background:#F5F5F5 url(../img/japan_map.png) no-repeat;
background-size:contain;
background-position:center center;

}
.area_red{
background:#C21B17;
color:#fff;
padding: 15px 5px;
text-align: center;
margin-bottom:15px;
border-radius:3px;
}
.area_white{
background:#fff;
color:#C21B17;
padding:15px 5px;
text-align: center;
border-radius: 3px;
}
.area_green{
background:#1B9739;
color:#fff;
padding: 15px 5px;
text-align: center;
margin-bottom:15px;
border-radius:3px;
}
/*sdgs*/
.sd_logo_re img{width:190px;}
.sd_logo_re {padding:15px;}
.sd_logo_sdgs img{width:170px;}
.sd_logo_sdgs {padding:15px;}

/*footer*/
.footer_link a{
color:#fff;
}
.footer_link p{
margin:20px 10px;
}
.footer_link{
justify-content: center;
}
.footer_logo{
margin:auto;
max-width:120px;
}
#footer{
padding:50px 0 20px 0;
margin:auto;
background:#1B9739;
color:#fff;
text-align:center;
position: inherit;
width:100%;
}

/*cta*/
.cta_mail a:hover,.cta_tel a:hover{
text-decoration:none;
}
.cta_mail a{
width: 464px;
height: 93px;
display: block;
padding-top: 15px;
color:#fff;
margin: auto;
}
.cta_mail span.txt{
font-size:26px;
position:relative;
color:#fff;
line-height: 120%;
font-weight:700;
position:relative;
}
.cta_mail span.txt::before{
  position: absolute;
  background: url(../img/icon_mail_w.png) no-repeat;
top: 65%;
  transform: translateY(-50%);
  content: "";
  width: 32px;
  height: 32px;
  display: inline-block;
  background-size: contain;
  z-index: 100;
  left: -45px;
}

.cta_tel span.txt{
font-size:36px;
position:relative;
color:#000;
line-height: 120%;
font-weight:700;
}


.cta_tel span.txt::before{
  position: absolute;
  background: url(../img/icon_free.png) no-repeat;
top: 55%;
  transform: translateY(-55%);
  content: "";
  width: 46px;
  height: 30px;
  display: inline-block;
  background-size: contain;
  z-index: 100;
  left: -55px;
}

.cta_tel{
border-radius:4px;
width: 464px;
height: 93px;
padding-top: 10px;
}
.cta_mail{
background:#CE9F04;
color:#fff;
border-radius:80px;
width: 464px;
  height: 93px;
}

.lp_cta_area_bottom{
background-image: url(../img/cta_bottom.jpg) ;
 width: 100%;
height: 46px;
background-size:cover;
background-repeat:no-repeat;
background-position:top center;
}



.lp_cta_area{
background:#C21B17;
text-align:center;
padding:5px;
}
.lp_cta_area_2{
border:1px solid #F0F0F0;
}

.lp_cta_area_3{
background: url(../img/cta_illust.png) no-repeat;
background-size: 190px;
background-position:left 3% bottom;
padding: 30px 15px;
}

.lp_txt_1{
color:#FADD5F;
font-size:20px;
}
.lp_txt_2{
color:#fff;
font-size:30px;
font-weight:700;
}

.cta_03 .cta_tel {
  margin: 10px auto 60px;
}
.sp_only{
  display: none !important;
}
.btm_fixed{
display:none;
}

        
        
        
@media screen and (max-width: 1000px) {
.w_10,.w_20,.w_25,.w_30,.w_33,.w_35,.w_40,.w_50,.w_60,.w_65,.w_70,.w_75,.w_80,.w_90,#sec_02 .w_50{width:100%;}

.area_box{text-align:center;}
.readmore-content {
    height: 320px;
}

.flow_box_2.add_arrow:before{
content:none;
}

.nayami_txt.nayami_txt2 {
    padding: 0px 20px 10px 20px;
}

.flow_box_2:not(:last-child)::after{
border:0;
}

.nayami_ttl::before {
    top: 8px;
     left: 42%;
}

#sec_02 {
height: auto;
.f_right {
    float: none;
}
}


.dl_1::before {
    width: 15%;
 }
.sd_logo_re img,.sd_logo_sdgs img {
    width: 100%;
}
.accordion_qa .Q::before, .accordion_qa .A::before {
    top: -.4em;
    left: -1.3em;
}
.accordion_qa .Q, .accordion_qa .A {
    margin-left: 0px;
}
.price_img{
overflow-x: scroll;
}
.price_img img{
width:800px;
}

.flow_box_2 .fow_txt{
margin-top:10px;
}

.flow_ttl p{
font-size:120%;
}
.work_box{
.ttl_teian,.ttl_seika {
    height: 66px;
line-height: 66px;
font-size: 120%;
 }
.f_150 {
    font-size: 130% !important;
    line-height: 140%;
}
.f_200 {
    font-size: 170% !important;
    line-height: 140%;
    margin: 20px 0;
}
}
.topic_box_2 {
padding: 20px 20px 50px;
 img{
max-width: 200px;
    margin: auto;
    text-align: center;
display: block;
    margin-bottom: 20px;
}
.f_180{
    line-height: 150%;
    margin: 10px 0;
}
}

.topic_box .ttl_1 {
    font-size: 140%;
}
.fs_24 {
    line-height: 150%;
font-size: 22px;
        margin-top: 10px;
}
.fs_36 {
    font-size: 30px;
    line-height: 160%;
}
.nayami_ttl{
font-size: 120%;
        border-bottom: 1px solid #bbb;
        margin: 0 15px 15px;
border-right: 0;
width: auto;
        padding-top: 10px;
}

.lp_nayami_ans{
.w_15{
width: 20%;
}
.kai_ttl {
    margin-top: 0px;
}
}
.mt10_sp_only{margin-top:10px;}
section {
    padding: 50px 0;
}
h2 {
    line-height: 140%;
font-size: 27px;
margin: 0 0 50px 0;
}
h2::before {
    top: 110%;
}
h2 span {
  margin: 10px auto;
    margin-bottom: 0px;
    font-size: 17px;
    line-height: 1.5;
}

.lp_txt_1 {
    line-height: 140%;
}
.lp_txt_2 {
    font-size: 24px;
    font-weight: 700;
line-height: 130%;
margin-top: 10px;
}

    #nav-toggle {
margin-top: -5px;
        z-index: 9999;
          }
div.grecaptcha-badge{
            bottom: 18% !important;
            z-index: 9999;
          }
.pagetop_box {

bottom: 25%;
width: 50px;
height: auto;
img{
    max-width: 50px;
}_
}
.btm_fixed .cta_tel span.txt::before {
 top: 100%;
left: -45px;
  width: 35px;
}
.btm_fixed .cta_tel a {
  padding-left: 50px;
 }
.btm_fixed .cta_mail a {
  width: 100%;
  padding-left: 55px;
  padding-top: 10px;
 }
.btm_fixed .cta_mail span.txt::before{
top: 100%;
 left: -40px;
}
.btm_fixed .cta_mail a {
text-align: center;
  padding-left: 60px;
 }
.btm_fixed .cta_mail {
  border-radius: 4px;
 }
.btm_fixed .cta_mail span.txt{
font-size:18px;
}
.btm_fixed .cta_tel a{
height:65px;
text-align: center;
}
.btm_fixed .cta_tel,.btm_fixed .cta_mail{
height:65px;
}
.btm_fixed .cta_time{
font-size:10px;
}
.btm_fixed .cta_tel span.txt {
  font-size: 20px;
 }
.btm_fixed{
display:flex;
position: fixed;
bottom:0;
z-index: 9999;
width: 100%;
align-items: flex-end;
img{
  vertical-align: top;
}
}

#footer {
 padding-bottom: 180px;
}
.cta_tel span.txt {
 font-size: 32px;
}
.area_red,.area_white {

padding: 15px 20px;
}
.topic_box .ttl_2 {
        font-size: 18px;
        padding: 20px 0;
        width: auto;
        text-align: center;
        margin: auto;
        display: block;
        padding-bottom: 0;
}
.kai_txt {
font-size: 17px;
padding: 5px 0px 5px 18px;
 }
.cta_mail a {
width:100%;
padding-left: 40px;
}
.dl_1 dt,.dl_1 dt {
  padding-left: 0;
 }
#sdgs .pc_w_50.w_50{
width:48%;
}

#area {
  background-size: 150%;
}
#area .w_20{
width: 36%;
}
.flow_box_2,.flow_ttl {
  height: auto;
 }
.cta_mail{
margin-top:10px;
}

.cta_tel,.cta_mail {
width: 100%;
max-width:90%;
}

.cta_03 .cta_tel{
margin: 10px auto 10px;
}
.item_img {
  height: auto;
}
.w_50-25 {
  width: 48%;
height: auto;
margin-top: 8px;
}
.works_cliant{
border-bottom: 1px solid #aaa;
  border-right: 0 !important;
  padding-bottom: 15px;
  margin-bottom: 15px;
}
.g_arrow {
  padding-bottom: 0px;
  width: 100%;
  margin-top: 20px;
}
.ttl_teian,.ttl_seika{
margin: 10px 0;
}
.works_naiyo {
  width: 100%;
  background: #eceaea;
  margin-bottom: 10px;
}
.work_number {
position: relative;
  margin-bottom: 30px;
}
.pc_only{  display: none !important;}
div .mt15_sp_only{
margin-top: 15px;
}
div .mt30_sp_only{
margin-top: 30px;
}
div .mt10_sp_only{
margin-top: 10px;
}
.lp_desc {
  padding: 0;
}
.topic_box {
  padding: 0px;
}
.topic_box .ttl {
  position: relative;
width: 100%;
border-radius:8px;
}
.w_50{
margin:0;
}
.container_1100{
padding:0 20px;
}
.sec_02_img {
  position: relative;
  top: 0;
  width: 100%;
  left: 0;
}
#nayami .w_50{
margin: 0 0 10px;
  width: 100%;
}
.lp_cta_area_3{
background:none;
}
.sp_only{
  display: block !important;
}

#contents {
  top: 70px;
 }
.headerbox{
box-shadow: none;
}

.lp_img {
  display: none;
}
.dis_flex_pc{display:block;}

.nayami_txt {
    padding: 0 20px 15px;
    width: auto;
}

}

.sp_500_only{display:none;}

				@media screen and (max-width: 500px) {
					    .lp_desc {
        padding: 0px 0 10px;
    }
          div.grecaptcha-badge{
                bottom: 10% !important;
          }
              .pagetop_box {
        bottom: 23%;
    }
              .kai_txt {
        font-size: 16px;
        padding: 5px 10px 5px 28px;
    }
#gloval-nav a {
padding: 10px 0;
font-size: 18px;
}
.reason_box .big_ttl {
font-size: 36px;
}
.reason_box .big_ttl span {
    font-size: 52px;
}

 .reason_box .big_ttl 
    .nayami_ttl {
        padding-top: 10px;
    }
.dl_1 dd {
    padding-left: 10px;
}
.sp_500_only{display:block;}
.item_name {
    font-size: 15px;
}
.header_logo {
width: 120px;
height: 90px;
img{
    width: 90px;
    margin-top: 0.5em;
}
}
    .nayami_ttl::before {
        top: 8px;
        left: 33%;
    }
}
        
                @media screen and (max-width: 330px) {
              .kai_txt {
            font-size: 15px;
            padding: 10px 10px 5px 30px;
          }
        }

@media (min-width: 500px) {
a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
}
}


  
  @media screen and (max-width: 1400px){
  .lp_cta_area_3{
background:none;
} 
  } 




/* Form */
.p-contact__table {
  color: #333;
}
.p-contact_head {
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 45px;
}
.p-contact_head span {
  color: #C21B17;
  border-bottom: 8px solid #F8D714;
}
.p-contact__table {
  max-width: 1000px;
  margin: 0 auto;
}
.p-contact__row {
  display: flex;
  justify-content: space-between;
  padding: 0 40px;
}
.p-contact__row:not(:last-child) {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #E4D6B0;
}
.p-contact__data input{
  width: 650px;
  border:none;
  border-radius: 4px;
  padding: 15px;
  font-size: 16px;
}
.p-contact__data textarea {
  width: 650px;
  border:none;
  border-radius: 4px;
  padding: 15px;
  max-height: 200px;
  font-size: 16px;
}
.p-contact__label {
  margin-right: 20px;
  font-size: 18px;
  font-weight: 700;
}
.p-contact__label--required {
  font-size: 13px;
  color: #fff;
  background: #EC3437;
  padding: 2px 4px;
  display: inline-block;
  margin-left: 10px;
}
.p-contact__label--note {
  font-size: 11px;
  font-weight: 500;
  line-height: 1.5;
  display: inline-block;
  margin-top: 5px;
}
.p-contact__privacy {
  text-align: center;
  font-size: 18px;
  margin-top: 30px;
  font-weight: 700;
}
.p-contact__privacyInput {
  text-align: center;
}
.p-contact__note {
  text-align: center;
  font-size: 18px;
  font-weight:normal;
  margin-top: 30px;
}
.p-contact__submit {
  text-align: center;
}
.p-contact__submit input {
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  background: #C21B17;
  padding: 25px 120px;
  border-radius: 100px;
  border: none;
  margin-top: 20px;
  cursor: pointer;
  transition: .3s;
}
.p-contact__submit input:hover {
  opacity: 0.7;
}
.p-contact__submit input:disabled {
  opacity: 0.5
}
.p-contact__submit input:disabled:hover {
  opacity: 0.5;
}
@media screen and (max-width: 1000px) {
.p-contact__table {
  color: #333;
}
.p-contact_head {
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 45px;
}
.p-contact_head span {
  color: #C21B17;
  border-bottom: 8px solid #F8D714;
}
.p-contact__table {
  max-width: 1000px;
  margin: 0 auto;
}
.p-contact__row {
  display: block;
  padding: 0 15px;
}
.p-contact__row:not(:last-child) {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #E4D6B0;
}
.p-contact__data input{
  width: calc(100% - 30px);
  max-width: 100%;
  border:none;
  border-radius: 4px;
  padding: 15px;
  font-size: 16px;
}
.p-contact__data textarea {
  width: calc(100% - 30px);
  max-width: 100%;
  border:none;
  border-radius: 4px;
  padding: 15px;
  max-height: 200px;
  font-size: 16px;
}
.p-contact__label {
  margin-right: 20px;
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 10px;
}
.p-contact__label--required {
  font-size: 13px;
  color: #fff;
  background: #EC3437;
  padding: 2px 4px;
  display: inline-block;
  margin-left: 10px;
}
.p-contact__label--note {
  font-size: 11px;
  font-weight: 500;
  line-height: 1.5;
  display: inline-block;
  margin-top: 5px;
}
.p-contact__privacy {
  text-align: center;
  font-size: 16px;
  margin-top: 30px;
  font-weight: 700;
}
.p-contact__privacyInput {
  text-align: center;
}
.p-contact__note {
  text-align: center;
  font-size: 15px;
  font-weight:normal;
  margin-top: 30px;
}
.p-contact__submit {
  text-align: center;
}
.p-contact__submit input {
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  background: #C21B17;
  padding: 20px;
  border-radius: 100px;
  border: none;
  margin-top: 20px;
  cursor: pointer;
  transition: .3s;
  width: 100%;
}
}



#conditions{
  text-align: center;
  background-color:#F5F8EE;
}

#service{
  background-color:#F5F8EE;
}
#reason{
  background-image: url(../img/reason-bg.png);
  background-size:cover;
  text-align: center;
}

#reason h2{
color:#FFF;
}

#environmental-protection{
background:#F5F8EE;
}

#environmental-protection h3{
color:#1B9739;
font-weight: bold;
}

#campaign{
  background:#0A8528;
}

#campaign h2, #campaign h2 span{
  color:#FFF;
}

#campaign ul li{
  margin:0 0 15px 0;
}

#campaign ul li:last-child{
  margin:0;
}


.conditions-box{
  width:860px;
  margin:0 auto;
}

.flexbox{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

.flex-nomal{
  align-items:normal !important;
}

.flexbox > div.conditon-box{
width:30%;
position: relative;
}

.flexbox > div.conditon-box p:first-child{
position: absolute;
width:90%;
padding:5%;
color:#FFF;
background:rgba(0, 0, 0, 0.65);
bottom:0;
line-height:1.5;
}

.flexbox > div.conditon-box img{
  vertical-align: top;
}

div.btn-box{
  width: 510px;
  margin:0 auto;
}

div.sdgs-txtbox{
  width:46%;
  font-weight: normal;
}

div.sdgs-txtbox > div:first-child{
  color:#1B9739;
}
div.eco-txt{
  width:460px;
}
div.eco-photo{
  width:400px;
}
div.permission-box{
  padding:1rem 2rem;
  background:#FFF;
}
div.permission-box p{
color:#1B9739;
font-weight: bold;
}
div.permission-box ul li{
width:50%;
}
ul.achievements li{
  width:49.5%;
}

div.campaign-limit{
  text-align: center;
}

div.campaign-limit p{
  display: inline-block;
  width:65%;
  padding: 0.25rem 0;
  margin:0 auto;
  background-color: #FFF600;
  color:#e60000;
  border-radius: 40px;
  font-weight: bold;
  font-size:2.0em !important;
  text-align: center;
}

@media screen and (max-width: 840px) {
div.campaign-limit p{
  width:100%;
  font-size:1.45em !important;
}
}

p.campaign-detail{
  margin:0 auto;
  color:#FFF600;
  text-align: center;
}

.campaign-price{
  text-align: center;
  color:#FFF;
  font-weight: bold;
  font-size: 2.3em;
}
div.campaign-price:first-child{
line-height: 1.0;
}
.normal-price{
  line-height: 0.8;
}
.normal-price span{
  font-size: 2.3em;
}
.campaign-triangle{
  width: 0;
  height: 0;
  margin:0 auto;
  border-left: 60px solid transparent;
  border-right: 60px solid transparent;
  border-top: 30px solid rgb(255, 255, 255);
}
div.campaign-free {
line-height: 1.0;
}

div.campaign-free span{
  padding:0 0 10px 0;
  font-size: 2.7em;
  background: linear-gradient(transparent 85%, rgb(255, 242, 0) 50%);
}

a.btn--pink {
  display: block;
  color: #fff;
  background-color: #EF2727;
  border-radius: 60px;
}

a.btn--yellow {
  display: block;
  color: #000;
  background-color: #ebe700;
  border-radius: 60px;
  text-align: center;

}

a.btn--pink:hover {
  color: #fff;
  background: #e85757;
  text-decoration: none;
}

a.btn--yellow:hover {
  color: #000;
  background-color: #e8e53e;
  text-decoration: none;
}

a.btn-c {
  font-size: 1.8rem;
  position: relative;
  padding: 0.5rem 1rem;
}

.bg_white{
  background:#FFF;
}
.bg_pink{
  background:#EF2727;
}
.bg_green{
  background: #1B9739;
}
.w43{
  width:43%;
}

.round-6{
  border-radius: 6px;
}
.color-white{
  color: #FFF;
}
.color-green{
  color: #1B9739;
}
.list-green span{
  color: #1B9739;
}

.color-pink{
  color: #EF2727;
}

.list-pink span{
  color: #EF2727;
}

.font-bold{
  font-weight: bold;
}
.bold-center{
  text-align: center;
  font-weight: bold;
}
.line-height-1half{
  line-height: 1.5;
}

.indent-1{
 		padding-left:1em;
		text-indent:-1em; 
}

.indent-1half{
 		padding-left:1.5em;
		text-indent:-1.5em; 
}

.indent-2{
 		padding-left:2em;
		text-indent:-2em; 
}

.triangel-btn-blk{
  width: 15px;
  height: 15px;
  margin:0 0 5px 5px;
  display: inline-block;
  border: 4px solid;
  border-color:  transparent transparent #000 #000;
  transform: rotate(-45deg);
}

.triangel-btn-white{
  width: 15px;
  height: 15px;
  margin:0 0 5px 5px;
  display: inline-block;
  border: 4px solid;
  border-color:  transparent transparent #FFF #FFF;
  transform: rotate(-45deg);
}

.estimate-box{
  width:35%;
  margin:0 auto;
  text-align: center;
}


#area {
    background: #F5F5F5 url(../img/japan_map.png) no-repeat;
    background-size: contain;
    background-position: center center;
}
.main-img-pc{
  display:block;
}
.main-img-sp{
  display:none;
}

.sp-mb30{
  margin-bottom:0;
}

.sdgs-img{
  margin:0;
}

.campain-term{font-size: 1.7em !important; line-height: 1;}
.campain-date{margin:15px auto; font-size: 2.5em !important; line-height: 1.5;}
.campain-txt{font-size: 1.0em !important; line-height: 1.5; font-weight: normal;}

@media screen and (max-width: 840px) {
.conditions-box{
  width:90%;
  margin:0 auto;
}

.flexbox > div.conditon-box{
width:270px;
margin:0 auto 25px;
}

.flexbox > div.conditon-box:last-child{
margin:0 auto;
}


div.btn-box{
  width: 100%;
  margin:0 auto;
}
a.btn-c {
    font-size: 1.2rem;
    position: relative;
    padding: 0.5rem 1rem;
}
.triangel-btn-white {
    width: 10px;
    height: 10px;
    margin: 0 0 3px 10px;
    display: inline-block;
    border: 3px solid;
    border-color: transparent transparent #FFF #FFF;
    transform: rotate(-45deg);
}
.triangel-btn-blk{
    width: 10px;
    height: 10px;
    margin: 0 0 3px 10px;
    display: inline-block;
    border: 3px solid;
    border-color:  transparent transparent #000 #000;
    transform: rotate(-45deg);
}
div.sdgs-txtbox{
  width:100%;
  margin:0 auto 30px;
}

div.eco-txt{
  width:100%;
  margin:0 auto 30px;
}

div.permission-box{
  padding:1rem;
  background:#FFF;
}

div.permission-box ul li{
width:100%;
}

ul.achievements li{
  width:80%;
  margin:0 auto 10px;
}
div.reason-img{
  max-width: 380px;
  margin:0 auto;
}
.campaign-price{
  font-size: 1.8em;
}

.campaign-triangle {
    width: 0;
    height: 0;
    margin: 0 auto 15px;
    border-left: 40px solid transparent;
    border-right: 40px solid transparent;
    border-top: 20px solid rgb(255, 255, 255);
}

.w43{
  width:100%;
}

.f_110 {
    font-size: 100% !important;
}
.f_140 {
    font-size: 120% !important;
}
.f_160 {
    font-size: 140% !important;
}
.f_200 {
    font-size: 190% !important;
}
.main-img-pc{
  display:none;
}
.main-img-sp{
  display:block;
}
.sp-mb30{
  margin-bottom:30px;
}
.normal-price span{
  font-size: 2.1em;
}
div.campaign-free span{
  font-size: 2.3em;
}

.estimate-box{
  width:45%;
}
.sdgs-img{
  margin:20px 0 0 0;
}

.f_170{font-size: 160% !important;}
.f_120{font-size: 115% !important;}

.campain-term{font-size: 1.0em !important; line-height: 1;}
.campain-date{margin:15px auto; font-size: 1.6em !important; line-height: 1.5;}
.campain-txt{font-size: 1.0em !important; line-height: 1.5;}
}

.carpet-thanks-btn {
  display: flex;
  margin: 0 0 60px 0;
}

.carpet-thanks-btn li a{
  width: 250px;
  display: block;
  margin:50px 20px 0 0;
  padding:10px;
  color:#FFF;
  text-align: center;
  background: #C21B17;
}

.carpet-thanks{
    width: 10%;
    min-width: 150px;
    padding: 30px;
    margin: 0 auto;
}

section#thanks{
  padding:0 !important;
}


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

body.body-thanks{
  margin:0 !important;
}

.carpet-thanks{
    width: 10%;
    min-width: 120px;
    padding: 30px;
    margin: 0 auto;
}

.carpet-thanks-btn {
display: block;
}

.carpet-thanks-btn li a{
  margin:20px 0 0 0;

}
}

li.contact-tel a{
background:#C21B17 !important;
color:#FFF !important;
}

li.contact-tel a:hover{
color:#C21B17 !important;
}