/*
Theme Name: eco-eneの相談窓口
Theme URI: http://www.www.www/
Description: This is my original theme.
*/


/*-----------------
-------------------
幅    background-image: url(img/sp-speed-suso.png);
-------------------
-----------------*/
body{
margin: 0 auto;
    font-family:'メイリオ', 'Meiryo','ＭＳ ゴシック','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
    color: #222222;
    font-size: 16px;

}
button{
    cursor: pointer;
}

ul {
    display: block;
    list-style-type: none;
    margin-block-start: 0em;
    margin-block-end: 0em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    padding-inline-start: 0px;
}

p {
    display: block;
    margin-block-start: 0em;
    margin-block-end: 0em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
}

li{
    list-style: none;
}
.wrap {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
}
.wrap-content{
    padding: 0 1em;
}
.w100{
    width: 100%;
}
.mw100{
    width: 100%;
    max-width: none;
}


/*-----------------
-------------------
画像・リンク・表示非表示
-------------------
-----------------*/
img{
    max-width: 100%;
}
a{
    text-decoration: none;

}

a:link, a:visited, a:hover, a:active {
  color: #222222;
}

a,button{
    transition: 0.3s;
}
a:hover,button:hover{
opacity: 0.5 ;
}

a.sp-btn:hover{
    opacity: 1;
}

.dn{
    display: none!important;
}

.pc-dn{
  display:none!important;
  }
.sp-dn{
  display:block!important;
  }

/*-----------------
-------------------
マージン・パディング
-------------------
-----------------*/
.mt0{margin-top: 0;}
.mt1{margin-top: 1em;}
.mt2{margin-top: 2em;}
.mt3{margin-top: 3em;}
.mt4{margin-top: 4em;}
.mt5{margin-top: 5em;}
.mt6{margin-top: 6em;}
.mt7{margin-top: 7em;}
.mt8{margin-top: 8em;}
.mt9{margin-top: 9em;}
.mt10{margin-top: 10em;}

.mb0{margin-bottom: 0;}
.mb1{margin-bottom: 1em;}
.mb2{margin-bottom: 2em;}
.mb3{margin-bottom: 3em;}
.mb4{margin-bottom: 4em;}
.mb5{margin-bottom: 5em;}
.mb6{margin-bottom: 6em;}
.mb7{margin-bottom: 7em;}
.mb8{margin-bottom: 8em;}
.mb9{margin-bottom: 9em;}
.mb10{margin-bottom: 10em;}

.pt0{padding-top: 0;}
.pt1{padding-top: 1em;}
.pt2{padding-top: 2em;}
.pt3{padding-top: 3em;}
.pt4{padding-top: 4em;}
.pt5{padding-top: 5em;}
.pt6{padding-top: 6em;}
.pt7{padding-top: 7em;}
.pt8{padding-top: 8em;}
.pt9{padding-top: 9em;}
.pt10{padding-top: 10em;}

.pb0{padding-bottom: 0;}
.pb1{padding-bottom: 1em;}
.pb2{padding-bottom: 2em;}
.pb3{padding-bottom: 3em;}
.pb4{padding-bottom: 4em;}
.pb5{padding-bottom: 5em;}
.pb6{padding-bottom: 6em;}
.pb7{padding-bottom: 7em;}
.pb8{padding-bottom: 8em;}
.pb9{padding-bottom: 9em;}
.pb10{padding-bottom: 10em;}

.p1{padding: 1em!important;}
.p2{padding: 2em;}
.p3{padding: 3em;}
.p4{padding: 4em;}
.p5{padding: 5em;}

.prl{
    padding: 0 1em;
    text-align: center;
}

/*-----------------
-------------------
文字寄せ
-------------------
-------------------*/
.tac{
text-align: center;
}
.tal{
    text-align: left;
}
.tar{
    text-align: right;
}
.dib{
    display: inline-block;
}

.black{
    color: #000;
}
.small{
    font-size: 80%;
}
/*-----------------
-------------------
文字色
-------------------
-------------------*/
.black{
    color: #222;
}
.white{
    color: #fff;
}

.green{
    color: #008A3F!important;
}
.red{
    color: #BC2800;
}
/*-----------------
-------------------
コンタクトフォーム
-------------------
-------------------*/


.form * {
box-sizing: border-box;
    margin: 0.3em 0.5em;
    align-items:center;
}
.form h3{
font-size: 1.5rem!important;
    font-weight: bold;
    border-bottom: solid 1px #000;
    margin: 2rem 0;
    letter-spacing: 1.5px;
}
input[type="button" i] {
    background: #0095a1;
    border: none;
    padding: 1em 2em;
    color: #fff;
    border-radius: 5px;
    margin: 1em 0;
}
form {
    display: inline-block;
    width: 100%;
    font-size: 18px;
}
.form__item {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
  margin-bottom: 32px;
    padding: 1em 0px;
    border-bottom: 1px solid #000;
}
.bt{
     border-top: 1px solid #000;
}
.form__term {
  width: 30%;
}

.form__term:not(.is-required) {
  margin-top: 4px;
}

.form__desc {
  width: 70%;
          text-align: left;
}

.form__desc input:not([type=date]),.form__desc textarea {
  width: 100%;
}
input[type="radio" i] {
    display: inline-block;
    width: auto!important;
}
.form__term.is-required {
        text-align: left;
  display: -ms-flexbox;
  align-items: center;
  -ms-flex-align: center;
    border-radius: 5px;
        font-weight: bold;
}
.screen-reader-response{
    display: none;
}
.wpcf7-not-valid-tip{
    color: red;
}

.wpcf7-list-item input[type="checkbox"],
.wpcf7-list-item input[type="radio"]{
    transform: scale(1.4);
}


/* fixed-form */
.fixed-form-box .box-1 p,
.fixed-form-box .box-2 p {
  text-align: left;
  width: 90%;
  font-size: 22px;
  padding: 0;
}

.fixed-form-box .box-2 input{
display: block;

}

.fixed-form-box .box-2 li:last-child{
  display: flex;
  position: relative;
  top: -5px;
  font-size: 16px;
}
.fixed-form-box .box-2 li label{
  margin-left: 10px;
}

.fixed-form-box .box-2 input[type="text"] {
  margin-bottom: 10px;
  width: 90%;
  padding: 11px;
  font-size: 16px;
  border-radius: 3px;
  border: 2px solid #ddd;
}




/************************************
** pc-footer-custom-button
************************************/

#pc-footer-custom-button {
    display: block;
    width: 100%;
    background: rgb(0 0 0 / 70%);
    position: fixed;
    bottom: 0;
    z-index: 999;
    padding: 15px 0;
    margin-bottom: 0;
    zoom:80%;
    opacity:0;
    transition:1.0s;
    /* 追加 */
    text-align: center;
    box-sizing: border-box;
    overflow-wrap: break-word;
    font-weight: 400;
    font-size: 18px;
    color: #484848;
    line-height: 1.8;
    
}

    @media screen and (max-width:890px) {
        #pc-footer-custom-button {
display: none;
        }
    }

#mobile-footer-custom-button{
        display: none;
    }
        @media screen and (max-width:890px) {
#mobile-footer-custom-button{
        display: block;
    }
    }

#pc-footer-custom-button .fixed-form-box {
    margin: 0 auto;
    /* padding: 10px 10px; */
    height: auto;
    background: #fff;
    box-shadow: none;
    display: flex;
    align-items: center;
    /* 追加 */
    box-sizing: border-box;
    overflow-wrap: break-word;
}



.fixed-form-box form {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.flexbox{
  display: flex;
}

    @media screen and (max-width:890px) {
.flexbox._cf_step2{
flex-direction: column;
}
    }

.fixed-form-box form .box-1 {
    width: 33%;
    /* 追加 */
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

.fixed-form-box form .box-2 {
    width: 33%;
    /* 追加 */
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}


.fixed-form-box .box-1 p, 
.fixed-form-box .box-2 p{
    font-size: 20px;
    font-weight: 700;

    /* 追加 */
    margin: 0;
}

    @media screen and (max-width:890px) {
.fixed-form-box .box-1 p, 
.fixed-form-box .box-2 p{
  text-align: left;
    font-size: 15px;
    font-weight: 700;
}
    }


.fixed-form-box form .box-btn {
    /* width: 33%; */
    display: flex;
}

    @media screen and (max-width:890px) {
      .fixed-form-box form .box-btn {
flex-direction:column;
padding: 10px;
}

    }

.fixed-form-box form .box-btn button,
.fixed-form-box form .box-btn a{
  /* display: flex;
  justify-content: space-between;
  align-items: center; */
  margin: 0 auto;
  padding: 15px 20px;
  width: 300px;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
    border:none;
  position: relative;
    letter-spacing: .07em;


}
.fixed-form-box form .box-btn button.btn01{
background: linear-gradient(#f4c043 0%, #f4bc43 16.06%, #f4b83f 34.92%, #f3b13e 52.06%, #f1ab3d 69.47%, #f2a13a 86.78%, #f19f3a 100%);
  border-radius: 31px;
  margin-left: 20px;

}
/* .fixed-form-box form .box-btn button.btn02{
background: linear-gradient(#9fce63 0%, #89c861 16.06%, #73c05f 34.92%, #5eb85d 52.06%, #52b05b 69.47%, #4fad5b 86.78%, #4fad5b 100%);
margin-left: 20px;
} */
.fixed-form-box form .box-btn a.btn02{
background: linear-gradient(#9fce63 0%, #89c861 16.06%, #73c05f 34.92%, #5eb85d 52.06%, #52b05b 69.47%, #4fad5b 86.78%, #4fad5b 100%);
margin-left: 20px;

}

    @media screen and (max-width:890px) {
.fixed-form-box form .box-btn a.btn02{
margin-top: 10px;

}

    }

.fixed-form-box form .box-btn button::after,
.fixed-form-box form .box-btn a.btn02::after{
  content: '';
  width: 7px;
  height: 7px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  position: absolute;
  top: 50%;
  right: 25px;
  transform: translate(0,-50%) rotate(45deg);
}


/*** 追加 ***/

.fixed-form-wrap {
    margin: 0 auto;
    max-width: 1280px;
  padding: 0 20px;
}

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

    }

@media screen and (max-width: 1024px){
    .fixed-form-wrap {
        width: auto;
    }
}

/*.form__term.is-required::before {
  content: "必須";
  color: #fff;
  background-color: #ed5f58;
  font-size: 1rem;
  font-weight: 400;
  width: 30px;
  height: 18px;
  line-height: 1.6;
  margin-right: 8px;
  text-align: center;
  padding: 2px 3px
}
*/
.form__desc input[type=email], .form__desc input[type=tel], .form__desc input[type=text], .form__desc select, .form__desc textarea {
padding: 15px 8px;
    background: #ecececec;
    border: none;
    border-radius: 3px;
}

.form__desc input[type=date] {
  padding: 4px 8px;
}

.form__btn-wrapper {
  text-align: center;
  margin-bottom: 60px;
}

.form__btn {
padding: 0.5rem 5rem;
    border-radius: 28px;
    background-color: #4c3b31;
    color: #fff;
    font-size: 1.6rem;
    letter-spacing: .2rem;
    cursor: pointer;
    transition: .3s ease;
    -webkit-appearance: none;
    appearance: none;

    border: none;
}
.wrap-contact{
    padding: 2em 5em;
    background: #fff;
}

/* =========================================================
   ヘッダー
========================================================= */

header {
    position: sticky;
    top: 0;
    z-index: 9999;
    background: #fff;
    /* border-bottom: 1px solid #e5e5e5; */
}

header .header {
    /* padding: 16px 0; */
    padding: 18px 0;
    background: #fff;
    position: static;
}

/* ヘッダーの中身 */
header .header .wrap {
    /* max-width: 1450px; */
    max-width: 1560px;
    width: calc(100% - 40px);
    margin: 0 auto;
}

header .header-flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 26px;
}

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

    header {
        border-bottom: none;
    }

}


/* =========================================================
   ロゴ
========================================================= */

#logo {
    /* width: 300px; */
    width: 345px;
    /* flex: 0 0 300px; */
    flex: 0 0 345px;
    margin: 0;
    text-align: left;
}

#logo .logo__link {
    display: block;
    text-decoration: none;
}

#logo .logo__link img {
    display: block;
    /* width: 280px; */
    width: 325px;
    max-width: 100%;
    height: auto;
}


/* =========================================================
   グローバルナビ
========================================================= */

.header-nav {
    flex: 1 1 auto;
    min-width: 0;
}

.header-nav-list {
    display: flex;
    align-items: center;
    justify-content: center;

    /* gap: 28px; */
    gap: 32px;

    margin: 0;
    padding: 0;

    list-style: none;
}

.header-nav-list li {
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
    list-style: none;
}

.header-nav-list a {
    display: block;
    /* color: #222; */
    color: #444;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
    white-space: nowrap;
}

.header-nav-list a:hover {
    color: #36A34D;
}

.header-nav-list a:hover {
    color: #1fad5b;
}


/* =========================================================
   電話番号＋お問い合わせ
========================================================= */

#g-nav {
    display: flex;
    align-items: center;

    flex: 0 0 auto;

    margin: 0;
    float: none;
}

.header-tel {
    /* width: 260px; */
    width: 285px;
    min-width: 260px;

    margin: 0 18px 0 0;

    text-align: center;
}

.header-tel p {
    margin: 0;
    padding: 0;

    color: #222;

    font-size: 11px;
    font-weight: normal;
    line-height: 1.5;

    white-space: nowrap;
}

.header-tel a {
    display: block;

    margin: 2px 0;

    color: #36A34D;

    font-size: 32px;
    font-weight: bold;
    line-height: 1.1;

    text-decoration: none;
    white-space: nowrap;
}

/* 電話番号上の黒いメッセージ */
/* .header-tel .header-tel__catch {
    display: inline-block;
    margin: 0 0 4px;
    padding: 4px 10px;
    background-color: #000;
    color: #fff;
    line-height: 1.4;
} */


/* =========================================================
   WEBお問い合わせボタン
========================================================= */

.web-content-box {
    flex: 0 0 190px;

    width: 190px;
    min-width: 190px;

    /* padding: 12px 16px; */
    padding: 7px 16px;


    background: #36A34D;

    /* border-radius: 28px; */
    border-radius: 20px;

    font-size: 14px;
    line-height: 1.35;
    letter-spacing: 1px;

    text-align: center;

    box-sizing: border-box;
}

.web-content-box a {
    display: block;

    color: #fff;

    text-decoration: none;
}

.web-content-box b {
    font-size: 15px;
}


/* =========================================================
   少し狭いPC
========================================================= */

/* @media screen and (max-width: 1250px) { */
@media screen and (max-width: 1350px) {

    header .header .wrap {
        width: calc(100% - 24px);
    }

    header .header-flex {
        gap: 16px;
    }

    #logo {
        width: 250px;
        flex-basis: 250px;
    }

    #logo .logo__link img {
        width: 235px;
    }

    .header-nav-list {
        gap: 17px;
    }

    .header-nav-list a {
        font-size: 14px;
    }

    .header-tel {
        width: 215px;
        min-width: 215px;
        /* margin-left: auto; */
        /* margin-right: 0; */
        margin-right: 10px;
    }

    .header-tel a {
        font-size: 26px;
    }

    .header-tel p {
        font-size: 9px;
    }

    .web-content-box {
        flex-basis: 165px;
        width: 165px;
        min-width: 165px;

        padding: 10px 12px;

        font-size: 12px;
    }

    .web-content-box b {
        font-size: 13px;
    }

        /* ロゴ上の説明文 */
    #logo > p {
        font-size: 13px;
        white-space: nowrap;
    }

    /* 均等配置を解除 */
    header .header-flex {
        justify-content: flex-start;
        gap: 20px;
    }

    /* 電話番号を右側へ寄せる */
    .header-tel {
        margin-left: auto;
        margin-right: 0;
    }
}

/* =========================================================
   スマホ専用ヘッダー
========================================================= */

.sp-header {
    display: none;
}

.sp-header__web-contact {
    display: none;
}


/* =========================================================
   スマホ
========================================================= */

/* @media screen and (max-width: 767px) { */
@media screen and (max-width: 890px) {

    /* ---------------------------------
       PC用ヘッダーを非表示
    --------------------------------- */

    header .header .wrap {
        display: none;
    }


    /* ---------------------------------
       ヘッダー全体
    --------------------------------- */

    header .header {
        padding: 0;
    }

    .sp-header {
        display: grid;

        /* 左：ロゴ可変・電話70px・メニュー70px */
        /* grid-template-columns: minmax(0, 1fr) 70px 70px; */
        grid-template-columns: minmax(0, 1fr) 65px 65px;

        align-items: center;

        width: 100%;
        height: 65px;

        margin: 0;
        padding: 0;

        background: #fff;

        box-sizing: border-box;
        position: relative;
    }


    /* ---------------------------------
       左：ロゴ
    --------------------------------- */

    /* .sp-header__logo {
        display: flex;
        align-items: center;
        justify-content: center;

        min-width: 0;
        padding: 0 10px;

        box-sizing: border-box;
    } */

    .sp-header__logo {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        height: 100%;
        min-width: 0;
        padding: 0 6px;
        box-sizing: border-box;
        transform: translateY(3px);
    }

    .sp-header__logo a {
        display: block;
        max-width: 100%;
        line-height: 0;
    }

    .sp-header__logo img {
        display: block;
        /* width: 260px; */
        width: 210px;
        max-width: 100%;
        height: auto;
        margin: 0 auto;
    }

    .sp-header__description {
        width: 100%;
        margin: 0 0 2px;
        padding: 0;
        color: #333;
        font-size: 10px;
        font-weight: 400;
        line-height: 1.1;
        text-align: center;
        white-space: nowrap;
    }

    .sp-header__description strong {
        font-weight: 700;
    }


    /* ---------------------------------
       中央右：電話ボタン
    --------------------------------- */

    .sp-header__phone {
        display: flex;
        align-items: center;
        justify-content: center;

        /* width: 70px; */
        width: 65px;
        /* height: 65px; */
        height: 100%;
        align-self: stretch;

        margin: 0;
        padding: 0;

        background: #00a95f;
        color: #fff;

        text-decoration: none;

        box-sizing: border-box;
    }

    .sp-header__phone img {
        display: block;

        /* width: 34px; */
        width: 29px;
        /* height: 34px; */
        height: 29px;


        object-fit: contain;
    }


    /* ---------------------------------
       右端：ハンバーガーメニュー
    --------------------------------- */

    .sp-header__menu {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;

        gap: 6px;

        /* width: 70px; */
        width: 65px;
        height: 100%;
        align-self: stretch;
        /* height: 65px; */

        margin: 0;
        padding: 0;

        background: #fff;
        border: none;

        cursor: pointer;
        box-sizing: border-box;
    }

    .sp-header__menu span {
        display: block;

        /* width: 32px; */
        width: 29px;
        height: 3px;

        background: #333;
        border-radius: 2px;
    }
}

/* =========================================================
   スマホ ハンバーガーメニューƒ
========================================================= */

/* @media screen and (max-width: 767px) { */
@media screen and (max-width: 890px) {

     .sp-header__logo {
        justify-self: start;
        text-align: left;
        margin-left: 16px;
    }

    .sp-header__logo a {
        align-items: flex-start;
    }

    /* 通常時はメニューを隠す */
    .sp-global-menu {
        display: none;

        position: absolute;
        /* top: 70px; */
        top: 100%;
        left: 0;

        width: 100%;

        margin: 0;
        padding: 0;

        background: #fff;

        box-shadow: 0 5px 10px rgba(0, 0, 0, 0.12);

        z-index: 9999;
    }

    /* ハンバーガーを押した時だけ表示 */
    .sp-global-menu.is-open {
        display: block;
    }

    .sp-global-menu ul {
        margin: 0;
        padding: 0;

        list-style: none;
    }

    .sp-global-menu li {
        margin: 0;
        padding: 0;

        list-style: none;
        /* border-bottom: 1px solid #e5e5e5; */
    }

    /* .sp-global-menu li:last-child {
        border-bottom: none;
    } */

    .sp-global-menu a {
        display: block;

        padding: 16px 20px;

        color: #222;
        background: #fff;

        font-size: 15px;
        line-height: 1.5;

        text-decoration: none;
    }

    .sp-header__phone-info {
        display: none;
    }

    .sp-header__phone-icon {
        display: block;
    }

}

/* .sp-header {
    grid-template-columns: minmax(0, 1fr) 65px 65px;
} */


/* =========================================================
   891〜1090px
   ロゴ＋電話番号＋ハンバーガー
========================================================= */

@media screen and (min-width: 891px) and (max-width: 1090px) {

    /* PCヘッダーを非表示 */
    header .header .wrap {
        display: none;
    }

    header .header {
        padding: 0;
    }

    /* 中間ヘッダー */
    .sp-header {
        display: grid;
        /* grid-template-columns: minmax(0, 1fr) 230px 70px; */
        grid-template-columns: minmax(0, 1fr) 230px 135px 70px;
        align-items: center;

        width: 100%;
        height: 80px;

        margin: 0;
        padding: 0;

        background: #fff;
        box-sizing: border-box;
        position: relative;
    }

    /* ロゴ部分 */
    .sp-header__logo {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;

        min-width: 0;
        height: 100%;

        padding: 0 24px;
        box-sizing: border-box;
    }

    .sp-header__description {
        margin: 0 0 3px;
        padding: 0;

        color: #333;
        font-size: 12px;
        line-height: 1.2;
        white-space: nowrap;
    }

    .sp-header__logo a {
        display: block;
        line-height: 0;
    }

    .sp-header__logo img {
        display: block;
        width: 250px;
        max-width: 100%;
        height: auto;
    }

    /* 電話番号部分 */
    .sp-header__phone {
        display: flex;
        align-items: center;
        justify-content: center;

        width: 100%;
        height: 100%;

        margin: 0;
        padding: 0 12px;

        background: #fff;
        color: #222;

        text-decoration: none;
        box-sizing: border-box;
    }

    /* 中間サイズでは電話アイコンを非表示 */
    .sp-header__phone-icon {
        display: none;
    }

    .sp-header__phone-info {
        display: block;
        text-align: center;
        line-height: 1.25;
    }

    .sp-header__phone-label,
    .sp-header__phone-hours {
        display: block;
        color: #333;
        font-size: 10px;
        font-weight: 400;
        white-space: nowrap;
    }

    .sp-header__phone-number {
        display: block;
        margin: 2px 0;

        color: #36a34d;
        font-size: 24px;
        line-height: 1.1;
        white-space: nowrap;
    }

/* WEBお問い合わせボタン */
.sp-header a.sp-header__web-contact {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    width: 100%;
    height: 100%;

    margin: 0;
    padding: 0 8px;

    background: #36a34d;
    color: #fff;

    font-size: 11px;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;

    box-sizing: border-box;
}

.sp-header a.sp-header__web-contact strong {
    color: #fff;
    font-size: 13px;
    line-height: 1.3;
}

.sp-header a.sp-header__web-contact span {
    display: block;
    margin-top: 3px;

    color: #fff;
    font-size: 11px;
    line-height: 1.2;
}    

    /* ハンバーガーボタン */
    .sp-header__menu {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 6px;

        width: 70px;
        height: 100%;

        margin: 0;
        padding: 0;

        background: #fff;
        border: none;

        cursor: pointer;
        box-sizing: border-box;
    }

    .sp-header__menu span {
        display: block;
        width: 29px;
        height: 3px;

        background: #333;
        border-radius: 2px;
    }

    /* ハンバーガー内メニュー */
    .sp-global-menu {
        display: none;

        position: absolute;
        top: 100%;
        left: 0;

        width: 100%;
        margin: 0;
        padding: 0;

        background: #fff;
        box-shadow: 0 5px 10px rgba(0, 0, 0, 0.12);

        z-index: 9999;
    }

    .sp-global-menu.is-open {
        display: block;
    }

    .sp-global-menu ul {
        margin: 0;
        padding: 0;
    }

    .sp-global-menu li {
        margin: 0;
        padding: 0;
        border-bottom: 1px solid #e5e5e5;
    }

    .sp-global-menu a {
        display: block;
        padding: 16px 24px;

        color: #222;
        background: #fff;

        font-size: 15px;
        text-decoration: none;
    }
}



/* @media screen and (min-width: 1090px) and (max-width: 1200px) {

    .header-nav-list {
        gap: 12px;
    }

    .header-nav-list a {
        font-size: 13px;
    }

    .header-tel__catch {
        display: none;
    }
} */


/*============================================================
fv
==============================================================*/
section.fv{
    background: url(img/fv-bk.svg);
    /* background-position: center -56px; */
    background-position: right 0px top 0px;
    background-repeat: repeat-x;
    /* margin-bottom: -47.8em; */
    margin-bottom: -56.0em;
    background-size: 1280px;
}
section.fv .fv-bk {
    max-width: 1500px;
    margin: 0 auto;
    width: auto;
    display: flex;
    justify-content: space-between;
    vertical-align: bottom;
    align-items: flex-end;
    text-align: center;
    position: relative;
    top: -4em;
    min-height: 710px;
}
section.fv .fv-bk .fv-img-l {
    padding-right: 25.5em;
}

section.fv .fv-bk>div{
    width: 500px;
    margin-top: 2em;
}
section.fv .fv-bk .img{
    width: 80%;
    margin-bottom: 3em;
}
section.fv .fv-bottom{
    background: url(img/fv-bottom.svg);
    /* height: 68px */;
    height: 136px;
    position: relative;
    /* bottom: 4.65em; */
    bottom: 8.0em;
    background-position: top center;
    background-repeat:repeat-x;
    background-size: 1280px;
}
section.fv .fv-txt-box{
    position: relative;
    /* top: -34em; */
    top: -40em;
    font-size: 135%;
}
section.fv .fv-txt-box .txt1{
    font-size: 1.4rem;
    background: linear-gradient(transparent 60%, #ffe739 60%);
    display: inline-block;
}

    @media screen and (max-width:430px) {
section.fv .fv-txt-box .txt1{
    font-size: 1.1rem;
    background: linear-gradient(transparent 60%, #ffe739 60%);
    display: inline-block;
}
    }

section.fv .txt2{
    white-space: nowrap;
    line-height: 1;
}

section.fv .txt2 .fuchi,
section.fv .txt2 .fuchi2{
    display: inline-block;
    position: relative;
    white-space: nowrap;
    writing-mode: horizontal-tb;
    font-weight: bold;
    vertical-align: baseline;
    letter-spacing: 0;
    text-shadow: none;
}

/* 「任せてよかった」 */
section.fv .txt2 .fuchi{
    font-size: 2.5rem;
    color: #36A34D;
    line-height: 1.7;
    -webkit-text-stroke: 6px #fff;
    paint-order: stroke fill;
}

/* が見つかる */
section.fv .txt2 .fuchi2{
    font-size: 1.5rem;
    color: #222;
    line-height: 1.7;
    margin-left: .12em;
    -webkit-text-stroke: 6px #fff;
    paint-order: stroke fill;
}

@media screen and (max-width:890px) {
    section.fv .txt2{
        white-space: nowrap;
        line-height: 1.1;
    }

    section.fv .txt2 .fuchi{
        font-size: 1.2rem;
        -webkit-text-stroke: 0;
    }

    section.fv .txt2 .fuchi2{
        font-size: 1.2rem;
        margin-left: .08em;
        -webkit-text-stroke: 0;
    }
}

section.fv .txt3{
position: relative;
margin: 0 auto;

}

section.fv .txt3 p{
    font-size:  1.4rem;
    margin: 0;
    margin-top: 1em;
    line-height: 1;
}
section.fv .txt3 h2::before{
    content: "一括見積もりサイト";
    -webkit-text-stroke: 0;
    position: absolute;
}
    @media screen and (max-width:890px) {
section.fv .txt3 h2::before{
    content: none;
}
    }
section.fv .txt3 h2{
    -webkit-text-stroke: 6px #fff;
    position: relative;
    font-size: 2.5rem;
    font-weight: bold;
    color: #222;
    background: linear-gradient(transparent 70%, #ffe739 70%);
    display: inline-block;
    letter-spacing: 5px;
    margin: 0;
    position: relative;
    z-index: 9;
}

    @media screen and (max-width:890px) {
section.fv .txt3 h2 {
    -webkit-text-stroke: 0px;
    display: inline;
    line-height: 1.3;
    font-size: 1.9rem;
}

    }
section.fv .txt4{
    display: inline-grid;
    color: #fff;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 3px;
    background-color: #BC2800;
    /* width: 80px; */
    width: 86px;
    /* height: 80px; */
    height: 86px;
    border-radius: 50%;
    text-align: center;
    align-content: center;
    -webkit-text-stroke: 0;
    z-index: -1;
    position: absolute;
    /* top: -30px; */
    top: -7px;
    /* left: -30px; */
    left: -40px;
    transform: translate(-50%,0) rotate( -20deg );
}

/* 完全無料の位置調整 */

    /* @media screen and (max-width:430px) {
    section.fv .txt4{
        top: -70px;
        left: 20px;
    }
    } */

    /* @media screen and (max-width: 430px) {

    section.fv .txt4 {
        top: -62px;
        left: 4px;
        transform: scale(0.85);
        transform-origin: left center;
    }
} */

    @media screen and (max-width:515px) {
    section.fv .txt4{
        top: -65px;
        left: 19px;
    }
    }

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

    section.fv .txt4 {
        top: -89px;
        left: 7px;
        width: 60px;
        height: 60px;
        font-size: 1.2rem;
    }

}

    /* @media screen and (max-width: 767px) {
    section.fv .txt4 {
        top: -70px;
        left: 20px;
    }
} */

/* @media screen and (max-width: 430px) {
    section.fv .txt4 {
        top: -62px;
        left: 4px;
        transform: scale(0.85);
        transform-origin: left center;
    }
} */

section.fv .txt5{
    background: #FFE67D;
    display: inline-block;
    padding: 0.5em 1em;
    border-radius: 15px;
    font-weight: bold;
/*     margin-top: 3em; */
    margin-top:1em;
    line-height: 1;
    padding: 15px 20px;
}

    @media screen and (max-width:890px) {
section.fv .txt5 {
    margin-left: 0;
    margin-top: 0;
    font-size: 0.9rem;
    padding: 10px 13px 10px 19px;
}
    }
section.fv .txt5 span{
    color: #BC2800;
}
section.fv .txt6{
    font-size: 1.6rem;
    font-weight: bold;
    color: #222;
    letter-spacing: 2px;

}
section.fv .txt6 span{
        font-size: 2rem;
        color: #BC2800;
}
section.fv .txt7,section.fv .txt9{
    display: flex;
    vertical-align: middle;
    align-items: center;
}
section.fv .txt8{
    font-size: 2.5rem;
    font-weight: bold;
    color: #222;
    text-align: right;
    line-height: 1.2;
}
section.fv .txt8 span{
        font-size: 4rem;
        color: #BC2800;
}
section.fv .txt10{
    font-size: 10rem;
    color: #BC2800;
    font-weight: bold;
}
section.fv .txt11{
    font-size: 5rem;
    color: #BC2800;
    font-weight: bold;
    line-height: 50px;
}
section.fv .txt11 span{
    font-size: 3.5rem;
}

/* 891px以上では同じ行に表示 */
.fv-br-890 {
    display: none;
}

.fv-compare-line {
    display: inline;
}

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

    .fv-br-890 {
        display: block;
    }

    .fv-compare-line {
        display: inline-block;
        white-space: nowrap;
    }
}

/* =========================================================
   お問い合わせセクション
========================================================= */

section.content-contact {
    background: #f2f9f5;
}

section.content-contact .contact-text {
    padding-bottom: 1em;

    color: #222;
    font-size: 1.5rem;
}

section.content-contact .contact-text span {
    color: #bc2800;
    background: #f2f9f5;

    font-size: 2rem;
    font-weight: 700;
}

/* =========================================================
   お問い合わせフォーム下部の注意事項
========================================================= */

.contact__refusal {
    width: 80%;
    margin: 0 auto;
    padding: 50px 20px;

    background: #f2f2f2;
    box-sizing: border-box;
}

/* 現在のフォームはh2を使用。旧フォームのh3にも対応 */
.contact__refusal h2,
.contact__refusal h3 {
    margin: 0 0 20px;
    padding: 0;
    border: 0 !important;

    text-align: center;
}

.contact__refusal p {
    margin: 0;
    padding: 0;
    text-align: center;
}

.contact__refusal-list {
    margin-top: 20px;
}

.contact__refusal li {
    list-style: none;
}

/* =========================================================
   スマホ・タブレット
========================================================= */

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

    .contact__refusal {
        width: 90%;
        padding: 25px 20px;
    }

    .contact__refusal h2,
    .contact__refusal h3 {
        font-size: 17px;
    }

    .contact__refusal p {
        font-size: 15px;
    }

    .contact__refusal li {
        font-size: 14px;
    }
}

/*============================================================
各section
==============================================================*/
section{
    padding: 4em 0;
}
section p{
    line-height: 2;
}
section strong{
    font-size: 1.2rem;
}
.flex{
    display: flex;
    vertical-align: middle;
    align-items: center;
}
.flex-jc {
    display: flex;
    vertical-align: middle;
    /* align-items: center; */
    justify-content: center;
}
.flex-js{
    display: flex;
    justify-content: space-between;
    vertical-align: middle;
    align-items: center;
}
.bk-green {
    background: #F2F9F5;
     line-height: 2;
}
.bk-white {
    background: #fff;
}
h2.content {
  position: relative;
  text-align: center;
  font-size: 2.5rem;
  letter-spacing: 2px;
}
h2.content::before {
    background-color: #36A34D;
    bottom: -10px;
    content: "";
    height: 2px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 180px;
}
section.content1 .img{
    width: 500px;
}
section.content1 .flex-jc>div:first-child{
       width: 45%; 
}
section.content1 h3 {
    font-size: 1.8rem;
    letter-spacing: 2px;
    margin: 0;
    /* margin-top: 1em; */
}
section.content1 h4{
    font-size: 2rem;
    letter-spacing: 2px;
    color: #BC2800;
    margin: 0;
}
section.content1 .flex-js>div:first-child{
    max-width: 550px;
}
section.content1 .kakaku{
    background: #F2F9F5;
    border: 1px solid #5CBC75;
    padding: 2em 1em;
    text-align: center;
}
section.content2 img{
        width: 75%;
    margin: 2em 0;
}
section.content2 h3{
    font-size:1.8rem;
}

.pointbtn{
    position: relative;
    margin-bottom: 0.2rem;
    padding: 0.5rem 1em;
    color: #fff;
    background-color: #36A34D;
    font-size: 1.5rem;
    text-align: center;
    letter-spacing: 2px;
    font-weight: bold;
    display: inline-block;

}
.pointbtn:before {
    position: absolute;
    inset: 5px -5px -5px 5px;
    border: 1px solid #36A34D;
    content: '';
}
section.content-point h3{
    margin-left: 1em;
    font-size: 1.5rem;
    letter-spacing: 2px;
}
section.content-point img{
    width: 60%;
    margin: 2em 0;
}
section.maker h3{
    font-size: 1.5rem;
    letter-spacing: 2px;
    margin: 0;
}
section.maker h4{
    font-size: 1.3rem;
    letter-spacing: 2px;
    margin: 0;
    padding-bottom: 0.5em;
}
section.maker .flex-jc{
    margin: 4em 0;
}
section.maker .img-border{
    max-width: 450px;
    min-width: 450px;
    border: solid 1px #36A34D;
    padding: 1em;
    margin-right: 2em;
    text-align: center;
}
section.maker .img-border img{
    width: auto;
}
section.hojokin strong{
    font-size: 1.5rem;
    letter-spacing: 1px;
}
section.hojokin h3{
    font-size: 2rem;
    letter-spacing: 1px;
}
section.hojokin .hojokin-content{
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    vertical-align: middle;
}
section.hojokin .hojokin-content .hojokin-box,section.hojokin .hojokin-content .hojokin-box2{
        display: flex;
    align-items: center;
        text-align: center;
        flex-grow:1;
}
section.hojokin .hojokin-content .hojokin-box p,section.hojokin .hojokin-content .hojokin-box2 p{
    flex-grow:1;
    margin: 0;
    line-height:1;
}
section.hojokin .hojokin-box,section.hojokin .hojokin-box2{
    border: 1px solid #222;
    padding: 0.5em 1em;
}
section.hojokin .hojokin-box{
    background: #F2F9F5;
}
section.hojokin .m-1{
    margin: 0 -1px;
}
section.hojokin .mt-1{
    margin-top: -1px;
}
section.merit .img{
    width: 100%;
    margin-right: 4rem;
}
section.merit h3{
    font-size: 1.8rem;
    margin-bottom: 0;
}
section.merit p{
    margin: 2em 0;
}
section.merit .green{
    margin-top:0
}
section.merit .big{
    font-size: 1.5rem;
}
section.step h3{
    font-size: 1.5rem;
    letter-spacing: 1.5px;
}
section.step .green-border{
   border: 2px solid #008A3F;
   border-radius: 10px;
    padding: 2em;
    background: #fff;
    
}
section.step .green-border img{
    width: 100%;
}
section.step .flex-jc>div{
    margin-left: 1em;
}
section.step .flex-jc>div:first-child{
    margin-left: 0;
}
section.tokucho .tokucho-content{
   border: 2px solid #008A3F;
   border-radius: 10px;
    background: #fff;
    margin-bottom: 4em;
}
section.tokucho .tokucho-header {
    background: #FFE67D;
    font-weight: bold;
    text-align: center;
    border-radius: 10px 10px 0 0;
    padding: 0.5em 0;
    font-size: 1.3rem;
    letter-spacing: 2px;
}
section.tokucho .tokucho-header img{
    width: 4%;
    vertical-align: middle;
    padding-right: 0.5em
}
section.tokucho .tokucho-header p {
    margin: 0;
    display: inline-block;
    vertical-align: middle;
}
section.tokucho .big{
    font-size: 1.5rem;
}
section.tokucho .flex-js{
    padding: 2em 4em;
}
section.tokucho .tokucho-content .flex-js>div:last-child{
    width: 37%;
}
section.tokucho .tokucho-content .flex-js>div img{
   width: 100%;
    float: right;
    margin-top: -4em;
}

/* フッター */
.footer-logo img{
    width: 10%;
    margin: 1em 0;
}
footer{
    background: #008A3F!important;
    text-align: center;
    padding: 2em 0;
    color: #fff;
    font-size: 0.9rem;
    letter-spacing: 1px;
}
.copy{
    font-size: 0.8rem;
    
}
.navi-footer-in{
    border-bottom: 1px solid #fff;
    margin-bottom: 3em;
    padding-bottom: 3em;
}


footer a{
    color: #fff;
}
.footer-bottom {
  margin: 0;
  padding-top: 0;
}

.navi-footer {
  margin-top: 8px;
}
.bottom-link{
    margin-bottom: 3em;
}
.bottom-link a{
    color: #fff;
    display: block;
    margin: 1em 0;
    text-align: justify;
}
.bottom-link>div:first-child{
    margin-right: 5em;
}

.menu-footer{
    width: 100%;
    display:flex;
    justify-content: center;
    flex-wrap: wrap;
}
    @media screen and (max-width:450px) {

.menu-footer{
        flex-direction: column;
}
    }
.navi-footer-in > .menu-footer li.menu-item {
  /* display: inline-block;
  width: auto; */
  margin: 0;
  flex: none;
  text-align: left;
}

.navi-footer li:not(:last-child):after {
    content: "\002f";
    color: #fff;
    margin: 0 12px;
}
    @media screen and (max-width:450px) {
.navi-footer li:not(:last-child):after {
content: none;
}
    }

.navi-footer-in > .menu-footer li,
.navi-footer-in > .menu-footer li:last-child {
  border: none;
}

.navi-footer-in > .menu-footer li.menu-item a {
  display: inline-block;
  width: auto;
  padding: 0 10px;
}

.navi-footer-in a {
    color: #fff;
}

.navi-footer-in a:hover {
  color: #fff;
  background-color: inherit;
  opacity: 1;
}

.navi-footer li a i {
  margin-right: 8px;
}

/*============================================================
スマホ
==============================================================*/
@media screen and (max-width: 890px) {
.pc-dn{
  display:block!important;
  }
.sp-dn{
  display:none!important;
  }
.wrap{
    max-width: 100%;
    width: auto;
    margin: 0 auto;
    }
    .flex,.flex-jc,.flex-js,header{
    display: block;
}
    section.fv,section.content-contact{
        font-size: 100%;
    }
    section{
        font-size: 80%;
    }
ection strong {
    font-size: 1.1rem;
}
h2.content {
    font-size: 1.3rem;
}

section.content1 h3 {
    font-size: 1.3rem;
    }
section.content2 img,section.content-point img  {
    width: 100%;
    margin: 1em 0;
}
    .pointbtn{
        font-size: 1.2rem;
    }
section.maker h3 {
    font-size: 1.2rem;
    margin-top: 1em;
}
section.maker h4 {
    font-size: 1rem;
    }
section p {
    line-height: 2;
}
 .sp-mt4{
        margin-top: 4em;
    }
section.hojokin strong {
    font-size: 1rem;
    letter-spacing: 0px;
}
section.hojokin h3 {
    font-size: 1.3rem;
    letter-spacing: 1px;
}
section.hojokin .hojokin-content {
    display: block;
    }
section.hojokin .m-1 {
    margin: -1px 0;
}
section.hojokin .hojokin-box, section.hojokin .hojokin-box2 {
    padding: 1em;
}
    
section.hojokin .hojokin-content .hojokin-box p, section.hojokin .hojokin-content .hojokin-box2 p {
    line-height: 1.5;
}
section.merit h3 {
    font-size: 1.3em;
    margin-bottom: 0;
}
section.merit .big {
    font-size: 1.3em;
}
section.step h3 {
    font-size: 1.3rem;
    letter-spacing: 1.5px;
    margin-bottom: 0em;
    margin-top: 2em;
}
section.step .flex-jc>div {
    margin: 0 2em!important;
}
section.tokucho .tokucho-header img {
    width: 13%;
    margin: 0 auto;
    padding-right: 0;
}
section.tokucho .tokucho-header p {
    display: block;
    text-align: center;
}
section.tokucho .flex-js {
    padding: 1em;
}
section.tokucho .big {
    font-size: 1.3rem;
    line-height: 1.2;
}
section.tokucho .tokucho-content .flex-js>div:last-child {
    width: auto;
}
section.tokucho .big {
    font-size: 1.3rem;
    line-height: 1.2;
}
section.tokucho .tokucho-content .flex-js>div img {
    width: 100%;
    float: none;
    margin-top: 0;
}
section strong {
    font-size: 1rem;
}
section.content2 h3 {
    font-size: 1.3rem;
}
section.content-point h3 {
    margin-left: 0;
    font-size: 1.2rem;
    letter-spacing: 1px;
}
#g-nav {
    float: none;
    display: inline-block;
    vertical-align: middle;
}
section.maker .img-border {
    max-width: none;
    margin-right: 0;
    width: auto;
    min-width: auto;
}
    section.content1 .img {
    width: auto;
}
.header-tel {
    margin: 0;
    padding: 2em 0;
}
    .green-bottom p {
        margin: 0.2em;
}
section.fv .fv-bk {
    max-width: none;
    margin: 0 auto;
    width: auto;
    display: block;
    min-height: 0px;
}
section.fv {
    background-position: center top;
    background-repeat: repeat-x;
    margin-bottom: 0;
    padding: 1em 0;
    padding-bottom: 0;
}
    
    section.fv .prl{
        margin:0 auto;
        position:relative;
        max-width:440px;

    }


section {
    padding: 2em 0;
}





    

section.fv .fv-bk>div {
    width: auto;
    margin-top: 0;
}
section.fv .fv-txt-box {
    position: initial;
    }


    
    section.fv .dib{
line-height:1;
    }
section.fv .txt8 {
    font-size: 1.2rem;
    line-height: 1;
}
section.fv .txt8 span {
    line-height: 1.5;
    font-size: 3rem;
}
section.fv .txt10 {
    font-size: 6rem;
    color: #BC2800;
}
section.fv .txt11 span {
    font-size: 2.5rem;
}
section.fv .txt11 {
    font-size: 4rem;
    line-height: 35px;
}
section.content-contact .contact-text {
    font-size: 1rem;
    }
section.content-contact .contact-text span {
    font-size: 1.5rem;
}
#logo {
    width: 55%;
    display: inline-block;
    font-size: 0.5rem;
    margin-top: 0;
}
.web-content-box {
    background: #36A34D;
    font-size: 15px;
    letter-spacing: 0px;
    padding: 0.5em 1em;
    border-radius: 5px;
    }
.web-content-box {
    background: #36A34D;
    font-size: 15px;
    letter-spacing: 0px;
    padding: 0.5em 1em;
    border-radius: 20px;
    display: inline-block;
}
section.fv .fv-bottom {
    position: relative;
    bottom: 0;
    background-size: cover;
}
.step li {
    padding: 0.5em 0em 0.5em 1em;
    letter-spacing: 0;
    line-height: 1.2;
    font-size: 1rem;
    color: #fff;
}
.step li:before {
    top: -12px;
    right: -1em;
    border-width: 40px 0 40px 1em;
}
.step li:after {
    top: -12px;
    right: -0.8em;
    border-style: solid;
    border-color: transparent transparent transparent #5CBC75;
    border-width: 40px 0 40px 1em;
    z-index: 10;
}
    section {
    padding: 2em 1em;
    }
    .step{
        margin-top: 1em;
    }

.contact-box .contact-btn .mitumori {
    letter-spacing: 0px;
    font-size: 1rem;
    }
.contact-box .text {
    font-weight: bold;
    letter-spacing: 0px;
    line-height: 1;
    margin-bottom: 1em;
}
    .contact-box .contact-btn .txt,.contact-box .contact-btn .muryo{
        font-size: 1rem;
    }
    .contact-box .contact-btn{
        font-size:50%;
        position:relative;
    }

section.merit .img {
    width: 100%;
    margin-right: 0;
}
/*============================================================
コンタクトフォーム-スマホ
==============================================================*/

    .form {
    max-width: 100%;
    display: inline-block;
}
    .form__item {
        display: block;
    }
    .form__term {
    width: 46%;
}
.form__term.is-required {
    font-weight: bold;
    margin-top: 2em;
    margin-bottom: 0.5em;
}
   /* .wpcf7{
        padding-bottom: 2em;
    } */
/*
    label{
        display: block;
    text-align: left;
    margin: 0.5em 0;
    }
*/
  .form__term {
    width: 100%;
}  
  .form__desc {
    width: 100%;
}
    .form * {
    box-sizing: border-box;
        margin: 0;
    }
/*
    .wrap-contact {
    padding: 1em;
    background: #fff;
      text-align: center;
}  
*/    
    .form__term.is-required {
    font-weight: bold;
    margin-top: 0;
    margin-bottom: 0.5em;
    text-align: center;
      font-size: 17px;
}
    
.form__desc select{
    width: 100%;
    text-align: center;
        padding: 2em 0;
}
.form__term.is-required {
    font-weight: bold;
    margin-top: 0;
    margin-bottom: 0.5em;
    text-align: center;
    font-size: 17px;
}
    .menu-footer{
        padding: 0;
    }
.bottom-link>div:first-child {
    margin-right: 0;
}
    .bottom-link>div{
        padding: 1em 0;
        text-align: center;
    }
.bottom-link a {
    text-align: center;
}
.bottom-link>div {
    padding: 0;
    }
    
.copy {
    font-size: 0.5rem;
}
    .content2 .tac,.content-point p,.hojokin p{
        text-align: left;
    }
    section.content2 h3 {
        text-align: center;
    }

}
@media screen and (max-width: 767px) {
    
    .white{
        position:absolute;
        top:50%;
        right:2px;
        transform:translateY(-50%);
    }
    .contact-box .contact-btn {
justify-content:space-between;
}
}

@media screen and (max-width: 450px) {
        #logo{
        width:55%;
    }
    /* #logo .logo__link {
    flex-direction: column;
} */
}

@media screen and (max-width: 350px) {
    .contact-box .contact-btn {
    padding-left: 1em;
    padding-right :1em;
        min-width:220px;
        display:flex;
        justify-content:space-between;
}
.contact-box .contact-btn .muryo {
    font-size: .9rem;
}
    
.contact-box .contact-btn .muryo {
    width: 45px;
    height: 45px;
}
    .contact-box .contact-btn .txt {
    font-size: .8rem;
}
    .contact-box .contact-btn .txt span {
    font-size: 0.7rem;
 }
    .contact-box .contact-btn .mitumori {
    font-size: .7rem;
}
    .contact-box .contact-btn .txt .red {
    font-size: .8rem;
}
    .white {
    font-size: .6rem;
        margin-top:.1rem;
}
}


/*****************************   from keyframes.css    ******************************/
@keyframes  hidden-anm {
    0% {
        opacity:1;
    }
    100% {
        opacity:0;
    }
}

@keyframes  show-anm {
    0% {
        opacity:0;
    }
    100% {
        opacity:1;
    }
}

/***** from CSSエディッタ　******/
.is-hidden {
  visibility:hidden;
  animation-name: hidden-anm;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
}

.is-show {
  animation-name: show-anm;
    animation-duration: 0.5s;   
    animation-fill-mode: forwards;
}

/*****************  from style.css ****************************************/
/************************************
** footer-contents
************************************/

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

 /* 2023.6 追記　※footerを表示できるように修正 */ 
 /*  .footer-bottom {
     display: none; 
  } */
    
/*
    .footer{
    height: 200px;
    margin-bottom: 80px;
    }
*/
        
  #mobile-footer-custom-button {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    margin-bottom: 0;
    opacity: 0;
    transition: 0.7s;
    padding: 0;
  }

  .flowting-box {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .flowting-box div {
    text-decoration: none;
    color: #ffffff;
  }

  .flowting-box div i {
    padding: 0.5em;
  }

  .flowting-box .left {
    width: 100%;
    padding: 5px;
    text-align: center;
    background: rgb(255 255 255 / 70%);
  }

  .flowting-box .right {
    width: 50%;
    padding: 5px;
    text-align: center;
    background: rgb(255 255 255 / 70%);
  }

}

/************************************
** トップへ戻るボタン
************************************/

.go-to-top-button {
  width: 60px;
  height: 60px;
  border-radius: 0px;
  font-size: 30px;
}

/************************************
** contact 
************************************/

/* from cocoon-master/skins/silk/style.css */
.article h3 {
    padding: 0.2em 0.5em;
    font-size: 1.25em;
    border-width: 0 0 0 5px;
    border-style: solid;
    border-color: #30b76d;
    margin-bottom: 1.62em;
}

    @media screen and (max-width:890px) {
/* #cf_step2 h3{
    margin-top: 1.8em;
} */
    }

/* from cocoon-master/skins/silk/style.css */
/*
.contact-step * {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    word-wrap: break-word;
    overflow-wrap: break-word;
}
*/

#cf_step2 .cf_step2__heading-lv3{
    /* margin-top: 3.6em; */
    color:#ffffff;
    background-color:#1da64d;
}
#cf_step2 .cf_step2__pra{
    /* font-size: 18px; */
    font-size: 20px;
    color: #ff0000;
    text-align: center;
    margin-top: 1.5rem;
    font-weight: bold;
}


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

#cf_step2 .cf_step2__pra{
    font-size: 14px;
    margin-top: .7rem;
}
    }

    .zip-address{
    white-space: nowrap;
    margin-right: 10px;
    position: relative;
    top: 5px;
    }
    .input-address{
        width: 100%;
    }


.article h3 {
    line-height: 1.25;
}
.contact-step {
    padding: 0;
    margin: 0;
    width: 100%;
    height: 100%;
    background: transparent;
    z-index: 0;
    padding: 20px 29px;
    border: 1px solid transparent;
    /* border-radius */
    position: relative;
    box-sizing: border-box;
    overflow-wrap: break-word;
    display: block;
    line-height: 1.8;
}
@media screen and (max-width: 890px) {
    .contact-step {
        padding: 16px;
    }
}
.contact-step form{
    padding: 0;
    margin: 0;
    background: #f1fff6;
}

.contact-step .wrap-contact{
    padding: 0;
    /* background: #fff; */
}

.qs_submit__pra{
    font-size: 13px;
    color: #008A3F;
    margin-bottom: 20px;
}
.qs_submit__link{
    text-decoration: underline;
    color: #008A3F!important;

}
.qs_submit__link:link{
    color: #008A3F;
}


/* from cocoon-master/style.css */
.contact-step table{
    /* margin-bottom: 1.8em; */
    /* margin-bottom: 3.6em; */
    margin-bottom: 60px;
    max-width: 100%;
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}
    @media screen and (max-width:890px) {
.contact-step table{
    margin-bottom: 30px;
}
    }

.contact-step select{
    background: rgba(255,255,255,.8);
    border-radius: 2px;
    border-width: 2px;
    border-color: rgba(153, 153, 153, 0.4);
    padding: 11px;
    width: 100%;
    margin: 0;
    font-size: 18px
}

.contact-step th,td {
    padding: 12px 6px;
}
.contact-step table p {
    /* margin-bottom: 1.8em;*/
    margin: 0 0 1.8em 0;

}


.contact-step input.wpcf7-form-control {
    background: rgba(255,255,255,.8);
    border-radius: 2px;
    border-width: 2px;
    border-color: rgba(153, 153, 153, 0.4);
    padding: 11px;
    font-size: 18px;
    box-sizing: border-box;
    width: 100%;
    margin: 0;
}

.contact-step table textarea {
    background: rgba(255,255,255,.8);
    border-radius: 2px;
    border-width: 2px;
    border-color: rgba(153, 153, 153, 0.4);
    padding: 11px;
    font-size: 20px;
    box-sizing: border-box;
    width: 100%;
}
/*****************************************************/

.inquiry th {
  text-align: left;
  font-size: 20px;
  color: #444;
  padding-right: 5px;
  width: 30%;
/*   background: #f7f7f7; */
    /* background:#ebf8ef;
  border: solid 1px #d7d7d7; */
}
.inquiry th.baseline{
    vertical-align: baseline;
}

.inquiry td {
  font-size: 20px;
  /* border: solid 1px #d7d7d7; */
}

.haveto {
  font-size: 13px;
  padding: 5px;
  /* background: #ff9393; */
  background: #BC2800;
  color: #fff;
  border-radius: 2px;
  margin-right: 5px;
  position: relative;
  bottom: 4px;
}
.entered {
  font-size: 13px;
  padding: 5px;
  /* background: #ff9393; */
  background: #30b76d;
  color: #fff;
  border-radius: 2px;
  margin-right: 5px;
  position: relative;
  bottom: 4px;
}

.any {
  font-size: 13px;
  padding: 5px;
  background: #93c9ff;
  color: #fff;
  border-radius: 2px;
  margin-right: 5px;
  position: relative;
  bottom: 4px;
}

#formbtn {
  display: block;
  padding: 1em 0;
  margin-top: 0;
  width: 80%;
  background: #ffaa56;
  color: #fff;
  font-size: 22px;
  font-weight: bold;
  border-radius: 50px;
  border: none;
  cursor: pointer;
  margin-bottom: 40px;
}
#formbtn:hover {
  background: #30b76d;
  color: #fff;
}

    @media screen and (max-width:890px) {
#formbtn {
  margin-bottom: 0px;
}
    }

/* add 20231207 */
#formbtn2 {
  display: block;
  padding: 1em 0;
  margin-top: 0;
  width: 80%;
  background: #ffaa56;
  color: #fff;
  font-size: 22px;
  font-weight: bold;
  border-radius: 50px;
  border: none;
  cursor: pointer;
  margin-bottom: 60px;
}
#formbtn2:hover {
  background: #30b76d;
  color: #fff;
}

    @media screen and (max-width:890px) {
#formbtn2 {
  margin-bottom: 30px;
}
    }

/* add 20231207 コンタクトフォームの逐次表示用 */
.cf_hidden {
    display: none;
}

.how-to-mitsumori {
  /* display: flex; */
  margin-bottom: 10px;
}

/* .how-to-mitsumori .box-left {
   width: 23%; 
} */

.how-to-mitsumori .box-right {
  /* width: 77%; */
    font-size: .9em;
    padding: 0 1em;
}

.white{
    font-size:.8rem;
}

@media screen and (max-width: 600px) {
  .inquiry th {
    width: 100%;
    font-size: 18px;
  }

  .inquiry tr {
    display: flex;
    flex-wrap: wrap;
  }

  .inquiry td {
    width: 100%;
    font-size: 18px;
  }

  .how-to-mitsumori {
    display: block;
  }

  /* .how-to-mitsumori .box-left, 
  .how-to-mitsumori .box-right {
       width: 100%; 
  } */

}

/* front-page content-contact */
.content-contact .wrap {
    max-width: 1024px;
}

.box-container{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    font-weight: bold;
}

.form-box form .box-1,
.form-box form .box-2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;    
}


@media screen and (max-width: 600px) {
    .form-box form .box-1 {
        margin: 0.5em;
        width: 100%;
    }   
    .form-box form .box-2 {
        margin: 0.5em;
        width: 100%;
    }   
}
@media screen and (min-width:600px) and ( max-width:890px) {
    .form-box form .box-1 {
        margin: 0.5em;
        width: 100%;
    }   
    .form-box form .box-2 {
        margin: 0.5em;
        width: 100%;
    }   
}
@media screen and (min-width:890px) {
    .form-box form .box-1 {
        margin: 0.5em 1em 0.5em auto;
    }   
    .form-box form .box-2 {
        margin: 0.5em 1em 0.5em 0;
    } 
}


.box-1 p,
.box-2 p {
    vertical-align:middle;
    margin: 0;
    font-size: 1.1rem;
/*
    text-align: left;
  width: 90%;
  font-size: 22px;
  padding: 0;
*/
}
.box-1 p {

    margin: 0 8px 0 0;
    text-align: right;
    vertical-align: middle;

/*
    text-align: left;
  width: 90%;

  padding: 0;
*/
}
.box-2 p {
    margin: 0 8px 0 0;

/*
    text-align: left;
  width: 90%;
  padding: 0;
*/
}

.box-1 select,
.box-2 input {
    margin: 0;
    font-size: 18px;
    
 /*
    margin-bottom: 10px;
  width: 90%;
  padding: 11px;
  font-size: 16px;
  border-radius: 3px;
  border: 2px solid #ddd;
*/
}

.box-button {
    margin: 30px 0 0 0;
}

.box-button button#btn {
    background-color: #fff;
    border-width: 0px;
}

/*
.form-box form .box-1::before,
.form-box form .box-2::before {
  content: '';
  top: 0;
  height: 0px;
  width: 0;
  border-top: 60px solid transparent;
  border-bottom: 60px solid transparent;
  position: absolute;
  right: -39px;
  border-left: 40px solid #eafff8;
  z-index: 11;
}

.form-box form .box-1::after,
.form-box form .box-2::after {
  content: '';
  top: 0;
  height: 0px;
  width: 0;
  border-top: 60px solid transparent;
  border-bottom: 61px solid transparent;
  position:
    absolute;
  right: -40px;
  border-left: 40px solid #ddd;
  z-index: 10;
}
*/

/*** for thanks-page ***/
.content-thx {
    width: 70%;
    margin: 70px auto;
    padding: 20px;
    padding-bottom: 0;
    max-width: 1280px;
}
@media screen and (max-width: 600px) {
.content-thx {
    width: 90%;
    margin: 50px auto;
    padding: 10px;
}
}

/*** for contact-form ***/
/*
@media screen and (max-width: 480px) {
    #mobile-footer-custom-button {
        display: none;
    }
    .level-2 {
    display: none;
    }
}
*/
/*** 問い合わせの最大幅を指定 ***/
.contact-step {
    max-width: 1200px;
    margin: 0 auto;
    background: #f1fff6;
}

/** スマホ横 **/

@media (orientation: landscape) {
/*  section.fv .txt4{
        left:7rem;
    } */
}

/** 追加 **/
#countermeasures{
    box-sizing: border-box;
}

#countermeasures .p-countermeasures{
    position: relative;
    display: flex;
    align-items: end;

}
        @media screen and (max-width:1200px) {
            #countermeasures .p-countermeasures{
                flex-direction: column-reverse;
                align-items: center;
}
    }

    @media screen and (max-width:1200px) {
#countermeasures .p-countermeasures__txt{
    width: 90%;
}
    }


#countermeasures .p-countermeasures__img{
    width: 30%;
}
    @media screen and (max-width:1200px) {
    #countermeasures .p-countermeasures__img{
    width: auto;
}
    }

#countermeasures .p-countermeasures__img img{
    width: 100%;
    margin: 0;
}
    @media screen and (max-width:1200px) {
#countermeasures .p-countermeasures__img img{
 width: 500px;
}
    }

.min684{
    min-width: 684px;
}
    @media screen and (max-width:1199px) {
.min684{
    min-width: auto;
    width: 100%;
}

    }

/** 仮 **/
.wrap img.sample{
    width: 900px;
}

/**

共通

**/

.inner{
    max-width: 1000px;
    margin: 0 auto;
}
.heading-lv2{
  position: relative;
  text-align: center;
  font-size: 2.5rem;
  letter-spacing: 2px;
}
    @media screen and (max-width:890px) {
.heading-lv2{
  font-size: 1.3rem;
}

    }

.heading-lv2::before {
    background-color: #36A34D;
    bottom: -10px;
    content: "";
    height: 2px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 180px;
}
.heading-lv3 {
    margin: 0;
  position: relative;
  text-align: center;
  font-size: 1.5rem;
}

    @media screen and (max-width:890px) {
.heading-lv3 {
  font-size: 1.1rem;
}

    }

    .marker {
    background: linear-gradient(transparent 60%, rgb(255, 224, 11) 50%);
    display: inline;
    background-repeat: no-repeat;
}

.orange-gra {
  color: #f75720;
  font-size:3.125rem;
}

@supports (-webkit-background-clip: text) {
  .orange-gra {
    background: linear-gradient(0deg, #f75720, #ff891d);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size:3.125rem;
  }
}
/* .orange-gra::before{
    content: "太陽光発電";
    position: absolute;
    -webkit-text-stroke: 4px #fff;
    z-index: -1;

} */
.orange-gra span {
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    -webkit-text-stroke: 5px #fff;
    z-index: -1;
}
    @media screen and (max-width:890px) {
        .orange-gra{
         display: inline;
    line-height: 1.3;
    font-size: 1.9rem;
        }
    }

/** 

introduction

**/
.introduction,.introduction h2,.introduction h3,.introduction p{
    margin: 0 auto;
    padding: 0;
}

.introduction{
    padding:5rem 20px;
}

.p-introduction__txt {
    margin-top: 2rem;
    text-align: left;
}
.orange {
  color:#ff6502;
}
.orange-underline {
  border-bottom: 1px solid #ff6502;
}

.black-underline {
  border-bottom: 1px solid #000;
}

.p-introduction__heading-lv3{
    display: inline-block;

}

.p-introduction__heading-lv3::before,.p-introduction__heading-lv3::after {
    content: ""; 
    position: absolute;
    width: 20px;
    height: 20px;
    top: 50%;
    background-image:url(img/i-arrow-double.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
}

.p-introduction__heading-lv3::before {
        left: -25px;
        transform: translateY(-50%);
}
.p-introduction__heading-lv3::after {
    right: -25px;
  transform: translateY(-50%) rotate(180deg);
}
.p-introduction__content-caution{
  background-color: #ebebeb;
  border-radius: 50px;
  margin-top: 7rem;
  padding: 3rem 2rem;
  position: relative;
  max-width: 1280px;
  width: 80%;
  margin-left: auto;
  margin-right: auto;
text-align: center;
}

.p-introduction__content-caution br{
    display: none;
}
    @media screen and (max-width:890px) {
        .p-introduction__content-caution br{
    display: block;
}

    }
.p-introduction__content-caution::before{
  content: "";
  position: absolute;
  top: -10px;
  left: 20px;
  width: 134px;
  height: 55px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  transform: translateX(-50%) rotate(-15deg);
}

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

         .p-introduction__content-caution::before{
            width: 120px;
            top: -25px;
            left: 40px;
} 


    }
.p-introduction__content-caution::before{
    background-image:url(img/i-caution.png);
}
/* .p-introduction__content-caution::after{
    background-image:url(img/i-caution.png);
} */


.p-introduction__content-caution h3,.p-introduction__content-caution p{
 max-width: 720px;
 margin: 0 auto;
}
    @media screen and (max-width:890px) {
.p-introduction__content-caution h3,.p-introduction__content-caution p{
 max-width: 520px;

}
    }

.p-introduction__content-caution p{
padding: 0 2rem;

 letter-spacing: .1em;

}

    @media screen and (max-width:890px) {
.p-introduction__content-caution p{
padding: 0;

}
    }

/**

フォーム タブ

**/
.tab{
    border: 1px solid #F08724;
    background: #fff;
}

#tab01,
#tab02{
position: relative;
}

#tab01::before,
#tab02::before{
    content: "";
    width: 206px;
    height: 220px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  position: absolute;
  bottom:0;
  right:0;
}
/* #tab01::before{
    background-image: url(img/form-man.webp);
}
#tab02::before{
    background-image: url(img/form-woman.png);
} */

    @media screen and (max-width:767px) {
        #tab01::before,
#tab02::before{
    content: none;
}

    }

.tab ul{
    padding-inline-start: 0px;
}

.tab p {
    display: block;
    margin-block-start: 0em;
    margin-block-end: 0em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
}

.tab button{
    background: #fff;
    border: none;
    cursor: pointer;
}

.tab input[type="text" i] {
    padding-block: 0px;
    padding-inline: 0px;
}

.tab .red{
    font-size: 13px;
}

    @media screen and (max-width:890px) {
 .tab .red{
    font-size: 12px;
}       

    }
.tab .orange{
    font-size: 28px;
}

.tab input[type="text"] {
    margin-bottom: 10px;
    width: 250px;
    padding: 13px;
    font-size: 15px;
    border-radius: 3px;
    border: 1px solid #707070;
    position: relative;
    bottom: 4px;
    margin-left: 6px;
}

    @media screen and (max-width:890px) {
.tab input[type="text"] {
    margin-bottom: 0px;
        padding: 5px;

}
    }

.tab input[type="checkbox"] {
    accent-color:#dd7a23;
    transform: scale(1.5);
}

.tab label{
    font-size: 18px;
}

    @media screen and (max-width:890px) {
.tab label{
    font-size: 14px;
}

    }
 

.tab__menu {
    display: flex;
    justify-content: center;
    margin-block-start: 0;
    margin-block-end: 0;
}

.tab__menu-item {
    list-style: none;
    padding: 20px;
    width: 100%;
    font-size: 28px;
    line-height: 1;
    background-color: #F7F7F7;
    text-align: center;
    cursor: pointer;
    color: rgba(51,51,51,30%);
}

    @media screen and (max-width:767px) {
.tab__menu-item {
    padding: 10px;
    font-size: 18px;


}
    }

/* .tab__menu-item p{
    border-top: 3px solid rgba(51,51,51,30%);
    font-weight: bold;
} */

.tab01.is-active {
    color: #EF8424;
    background-color: #fff;
}
.tab02.is-active {
    color: #2F6AAF;
    background-color: #fff;
}

/* .tab01.is-active p{
    border-top: 3px solid #F08923;
}
.tab02.is-active p{
    border-top: 3px solid #2F6AAF;
} */



.tab__content {

    margin-block-start: 0;
    margin-block-end: 0;
}

.tab__content-item {
    padding: 25px;
    display: none;
    background-color: #fff;

}

.tab__content-item.is-active {
    display: block;
}

.form__thumb {
    display: flex;
}


    /* @media screen and (max-width:890px) {
.form__img {
    display: none;
}
    }
.form__txt {
    text-align: left;
    margin-left: 30px;
}

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

        .form__txt {

    margin-left: 0px;
    font-size: 16px;
}
.form__txt span.tab02-red{
    display: block;
    margin: 0 auto;
    font-size: 12px;
    margin-top: 10px;

}
    } */




.form__flexbox {
    display: flex;

}

    @media screen and (max-width:890px) {
.form__flexbox {
    flex-direction: column;
}
    }

.form__checkbox {
    margin-left: 20px;
    margin-top: 7px;
}
    @media screen and (max-width:890px) {
.form__checkbox {
    margin-left: 0px;
    margin-top: 0;
}
    }


#tab02 p{
    font-size: 24px;
    color: #2F70BA;
    line-height: 1.5;

}

    @media screen and (max-width:767px) {
#tab02 p{
    font-size: 13px;


}
    }

#tab02 span {
    font-size: 18px;
    color: #fff;
    background-color: #BC2701;
    border-radius: 10px;
    padding: 10px 10px;
    line-height: 1;
    display: inline-block;
/*     margin-bottom: 15px; */
    margin-top: 15px;
}

    @media screen and (max-width:890px) {
#tab02 span {
    font-size: 15px;
}
    }

/** サンクスページ **/

.thanks__thumb {
  display: flex;
}

    @media screen and (max-width:767px) {
.thanks__thumb {
  flex-direction: column;
}
    }

.thanks__heading-lv2 {
  font-size: 35px;
}

    @media screen and (max-width:767px) {
.thanks__heading-lv2 {
  font-size: 25px;
}
    }

.thanks__img {
    height: inherit;
    width: 30%;
    margin-left: 100px;
}
    @media screen and (max-width:767px) {
.thanks__img {
    width: 200px;
    margin: 0 auto;
    margin-top: 20px;
}
    }

.thanks__txt {
/*   text-align: center; */
  margin-top: 100px;
}

    @media screen and (max-width:767px) {
.thanks__txt {
margin-top: 0;
}
    }
.thanks__heading-lv3 {
    font-size: 25px;
}
    @media screen and (max-width:767px) {
.thanks__heading-lv3 {
    font-size: 20px;
}
    }

/* add 20240713 google隠し文字用 */
.google_hidden {
    display: none;
}

/**

会社概要

**/

.heading__ttl {
  height: 430px;
  text-align: center;
}
.heading__ttl._company {
    background: url(img/company_h-bg.jpg) no-repeat;
    background-position: center;
    background-size: cover;
}
.heading__ttl._policy {
      background: url(img/privacy_h-bg.jpg) no-repeat;
      background-position: center;
      background-size: cover;
}
.heading__ttl h2{
    font-size: 36px;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(255,255,255,0.6);
}
.company__wrap {
  padding-top: 70px;
  padding-bottom: 70px;
}
.company__content {
  display: flex;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  @media screen and (max-width:768px) {
    flex-direction: column;

}
}
.company__content div{
  width: calc((100% - 20px)/2);
  @media screen and (max-width:768px) {
    width: 100%;
}
}

.company__map iframe{
    width: 100%;
}

.company__detail h3{
    position: relative;
    margin: 0;
    font-size: 1.5em;
    font-weight: 500;
    background: transparent;
    border-width: 0 0 4px 0;
    border-style: solid;
    border-color: rgba(204, 204, 204, 0.4);
    border-radius: 0;
}

.company__detail h3::after{
  background: #30b76d;
    position: absolute;
    content: "";
    width: 20%;
    height: 4px;
    left: 0;
    bottom: -4px;
}

.company__detail table{
    border-top: 1px solid rgba(204, 204, 204, 0.8);
    border-left: 1px solid rgba(204, 204, 204, 0.8);
    border-right: 1px solid rgba(204, 204, 204, 0.8);
    width: 100%;
    margin-top: 30px;
}

.company__detail th{
    background:rgba(204, 204, 204, 0.15);
    width: 30%;
    font-weight: bold;
    text-align: center;
    padding: 19px;
    border-bottom:1px solid rgba(204, 204, 204,1);
}

.company__detail td {
    padding: 19px;
    padding-left: 1em;
    border-left:1px solid rgba(204, 204, 204,1);
    border-bottom:1px solid rgba(204, 204, 204,1);
}

/**

利用規約・プライバシーポリシー

**/
.policy__wrap{
    max-width: 1200px;
    margin: 0 auto;
    padding:0 20px;
}

.policy__wrap h2 {
    position: relative;
    padding: 0.2em;
    font-size: 1.5em;
    background: transparent;
    border-width: 0 0 4px 0;
    border-style: solid;
    border-color: rgba(204, 204, 204, 0.8);
    border-radius: 0;
}

.policy__wrap h3 {
    padding: 0.2em 0.5em;
    font-size: 1.25em;
    border-left:5px solid #30b76d;
}

.policy__wrap p{
    letter-spacing: 0.1em;
    margin-top: 2rem;
    margin-bottom: 2rem;
    line-height: 2;
}

.review-section {
  padding: 70px 20px 80px;
  background: #FFFCF2;
}

.review-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 48px;
}
 
.review-card {
  background: #F2F9F5;
  border: 1px solid #5CBC75;
  border-left: 5px solid #36A34D;
  border-radius: 8px;
  padding: 28px 24px 24px;
  position: relative;
  display: flex;
  flex-direction: column;
}
 
.review-stars {
  display: flex;
  gap: 2px;
  margin-bottom: 14px;
}
.review-stars span {
  font-size: 20px;
  color: #f4c043;
  line-height: 1;
}
 
.review-text {
  font-size: 16px;
  text-align: justify;
  line-height: 1.85;
  color: #222222;
  margin: 0 0 20px;
  padding: 0;
  position: relative;
  flex-grow: 1;
}
 
.review-text::after {
  content: '\201D';
  position: absolute;
  right: -4px;
  bottom: -20px;
  font-size: 60px;
  color: #5CBC75;
  opacity: 0.3;
  font-family: Georgia, serif;
  line-height: 1;
  pointer-events: none;
}
 
.review-author {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-top: 16px;
  border-top: 1px dashed #5CBC75;
}

 .review-avatar {
  width: 48px;                    
  height: 48px;
  border-radius: 50%;
  background: #fff;               
  border: 2px solid #36A34D;       
  overflow: hidden;                
  flex-shrink: 0;
}
 
.review-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;               
  object-position: center 30%;    
  display: block;
}
.review-author-name {
  font-size: 14px;
  font-weight: 700;
  color: #222222;
  margin: 0 0 2px !important;
  line-height: 1.4;
}
.review-author-attr {
  font-size: 13px;
  color: #666;
  margin: 0 !important;
  line-height: 1.4;
}

.review-summary {
  margin-top: 40px;
  background: #FFE67D;
  border-radius: 8px;
  padding: 20px 28px;
  text-align: center;
}
.review-summary-text1{
  font-size: 28.8px;
  color: #BC2800;
  font-weight: bold;
  line-height: 1.5;
}
.review-summary-text2{
  margin-top: 10px;
  font-size: 16px;
  color: #222;
  font-weight: bold;
  line-height: 1.5;
}
.review-summary strong {
  font-size: 18px;
}
 
@media (max-width: 768px) {
  .review-section { 
padding: 25px 15px 40px; 
}
.review-text {
  font-size: 12.8px;
}
.review-summary-text1{
  font-size: 20.8px;
}
.review-author-name {
  font-size: 12.8px;
}
.review-author-attr {
  font-size: 12px;
}
  .review-grid {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-top: 30px;
  }
 
  .review-card { 
padding: 24px 20px 20px; 
}
  .review-summary { 
padding: 16px 18px; 
}
}
.ex-wrap{
   text-align: center;
   margin: 80px 0 0; 
}
.case-studies{
    display:flex;
    justify-content:center;
    align-items:flex-start;
    max-width:1100px;
    margin:0 auto;
    width:100%;
    height: 100%;
    margin-top:30px;
}

.case-study-img{
    width:35%;
    aspect-ratio:auto;
    object-fit:contain;
    display:block;
    height: 480px;
}
.contact_h3{
    color: #bc2800;
    font-size: 40px;
}
@media (min-width:768px) and (max-width:1190px){

 .case-study-img {
    width: 30%;
 }
}
/* SP */
@media screen and (max-width:768px){
     .ex-wrap {
       margin: 40px 0 0;
   }

    .case-studies{
        flex-direction:column;
        align-items:center;
    }

    .case-study-img{
        width:100%;
        height: 100%;
    }
    .sp-only {
        display: inline;
    }
}
.speech-area{
    display:flex;
    align-items:center;
    gap:20px;
    margin:0px auto;
    max-width:900px;
    padding: 10px;
}

.speech-character img{
    width:260px;
    height:auto;
}

.speech-balloon{
    position:relative;
    background:#fff;
    border:4px solid #008a3f;
    border-radius:20px;
    padding:20px 28px;
    font-size:24px;
    font-weight:700;
    line-height:1.6;
    color:#333;
    box-shadow:0 6px 20px rgba(0,0,0,.08);
}

/* 吹き出しの三角 */
.speech-balloon::before{
    content:"";
    position:absolute;
    left:-18px;
    top:50%;
    transform:translateY(-50%);
    border-top:12px solid transparent;
    border-bottom:12px solid transparent;
    border-right:18px solid #008a3f;
}

.speech-balloon::after{
    content:"";
    position:absolute;
    left:-13px;
    top:50%;
    transform:translateY(-50%);
    border-top:10px solid transparent;
    border-bottom:10px solid transparent;
    border-right:15px solid #fff;
}

/* SP */
@media(max-width:768px){

    .speech-area{
        gap:12px;
    }

    .speech-character img{
        width:240px;
    }

    .speech-balloon{
        font-size:14px;
        padding:14px 18px;
        border:2px solid #008a3f;

    }
    .contact_h3{
        font-size: 18px;
    }
}

/* ========================================
価格相場 太陽光発電・蓄電池 切り替え
========================================= */

.price-switch__content {
    display: none;
}

.price-switch__content.is-active {
    display: block;
}

.price-switch__content {
    display: none;

    border-top: 1px solid rgb(243, 152, 0);

    margin-top: 0;

    background-color: #fff;
}

/* ========================================
価格相場 太陽光発電・蓄電池 切り替えタブ
========================================= */

.price-switch {
    border: none;
    background-color: #f3f8f5;
    padding-top: 1px;
}


/* ========================================
タブメニュー
========================================= */

.price-switch__menu {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 0;

    max-width: 680px;
    /* margin: 50px auto 0; */
    margin: 0 auto;
    padding: 0;

    position: relative;
    z-index: 2;
}


/* ========================================
各タブ
========================================= */

.price-switch__item {
    width: 50%;

    padding: 20px 10px 14px;
    margin: 0;

    list-style: none;

    background-color: #e6e6e6;
    color: #a6a6a6;

    font-size: 32px;
    font-weight: 500;
    line-height: 1.2;
    text-align: center;

    cursor: pointer;

    /* 主要メーカーと同じく上側だけ丸くする */
    border-radius: 38px 38px 0 0;

    transition:
        background-color .25s ease,
        color .25s ease;
}


/* 選択中 */
.price-switch__item.is-active {
    background-color: #1fad5b;
    color: #fff;
}



/* PC：未選択タブにマウスを乗せた時 */
@media screen and (min-width: 891px) {

    .price-switch__item:not(.is-active):hover {
        background-color: #d9d9d9;
        color: #777;
    }

}


/* ========================================
切り替えコンテンツ
========================================= */

.price-switch__content {
    display: none;

    /* タブ直下のオレンジ線 */
    border-top: 1px solid #1fad5b;
    border-bottom: 1px solid #1fad5b;
    margin-top: 0;
}


/* 選択中だけ表示 */
.price-switch__content.is-active {
    display: block;
}


/* 価格相場の見出しまでの余白 */
.price-switch__content .content1 {
    padding-top: 50px;
}


/* ========================================
スマホ
========================================= */

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

    .price-switch__menu {
        width: 82%;
        max-width: none;

        margin-top: 30px;
    }

    .price-switch__item {
        padding: 12px 5px 8px;

        font-size: 18px;

        /* スマホも上側だけ丸くする */
        border-radius: 20px 20px 0 0;
    }

    .price-switch__content .content1 {
        padding-top: 30px;
    }

}

/* ========================================
主要メーカー 太陽光発電・蓄電池 切り替え
========================================= */

/* タブ全体 */
.maker-switch__menu {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 0;

    max-width: 680px;
    margin: 50px auto 0;
    padding: 0;

    position: relative;
    z-index: 2;
}

/* 各タブ */
.maker-switch__item {
    width: 50%;

    padding: 20px 10px 14px;
    margin: 0;

    list-style: none;

    background-color: #e6e6e6;
    color: #a6a6a6;

    font-size: 32px;
    font-weight: 500;
    line-height: 1.2;
    text-align: center;

    cursor: pointer;

    /* 上側だけ角丸 */
    border-radius: 38px 38px 0 0;

    transition:
        background-color .25s ease,
        color .25s ease;
}

/* 選択中 */
.maker-switch__item.is-active {
    background-color: #1fad5b;
    color: #fff;
}

/* PC：未選択タブにマウスを乗せた時 */
@media screen and (min-width: 891px) {

    .maker-switch__item:not(.is-active):hover {
        background-color: #d9d9d9;
        color: #777;
    }

}

/* メーカー一覧 */
.maker-switch__content {
    display: none;

    /* タブの下から緑枠につなげる */
    border: 1px solid #1fad5b;
    margin-top: 0;

    padding: 70px 50px 50px;
}

/* 選択中の内容だけ表示 */
.maker-switch__content.is-active {
    display: block;
}


/* ========================================
スマホ
========================================= */

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

    .maker-switch__menu {
        width: 82%;
        max-width: none;

        margin-top: 30px;
    }

    .maker-switch__item {
        padding: 12px 5px 8px;

        font-size: 18px;

        border-radius: 20px 20px 0 0;
    }

    .maker-switch__content {
        padding: 35px 15px 30px;
    }

}

/* 主要メーカータブだけ、共通.tabのオレンジ枠を解除 */
.maker-switch.tab {
    border: none;
}

/* ========================================
主要メーカー 各メーカーの左右幅を統一
========================================= */

.maker-switch__content .flex-jc {
    display: flex;
    justify-content: center;
    align-items: flex-start;

    width: 100%;
    margin: 4em auto;
    box-sizing: border-box;
}

/* 左：メーカー画像 */
.maker-switch__content .img-border {
    flex: 0 0 450px;
    width: 450px;
    min-width: 450px;
    max-width: 450px;

    margin-right: 2em;
    box-sizing: border-box;
}

/* 右：メーカー説明 */
.maker-switch__content .flex-jc > div:last-child {
    flex: 1;
    width: 0;
    max-width: 650px;
}







/* =========================================================
   補助金セクション上部
   ※補助金比較表のデザインには影響しません
========================================================= */


/* ---------------------------------
   太陽光・蓄電池の費用説明全体
--------------------------------- */

section.hojokin > p.tac:first-of-type {
    max-width: 1000px;
    margin: 35px auto 45px;
    padding: 28px 45px 30px;

    /* background: #f4faf6;
    border: 1px solid #d5eadb;
    border-radius: 15px; */

    line-height: 1.9;
    box-sizing: border-box;
}


/* ---------------------------------
   「太陽光発電の場合」
   「蓄電池の場合」
--------------------------------- */

section.hojokin > p.tac:first-of-type > strong.green:nth-of-type(2),
section.hojokin > p.tac:first-of-type > strong.green:nth-of-type(5) {
    display: inline-block;

    min-width: 250px;
    margin: 10px 0 8px;
    padding: 6px 25px;

    color: #fff !important;
    background: #36a34d;
    border-radius: 30px;

    font-size: 1.2rem;
    line-height: 1.5;
}


/* ---------------------------------
   ①設置容量～などの項目
--------------------------------- */

section.hojokin > p.tac:first-of-type > strong:not(.green):not(.red) {
    display: inline-block;
    margin-bottom: 6px;

    font-size: 1.1rem;
    line-height: 1.8;
}


/* ---------------------------------
   費用の金額
--------------------------------- */

section.hojokin > p.tac:first-of-type > strong.red {
    display: inline-block;
    margin: 0 5px;

    font-size: 1.8rem;
    line-height: 1.4;
}


/* ---------------------------------
   「本体価格以外にも別途費用がかかる」
--------------------------------- */

section.hojokin > p.tac:first-of-type > strong.green:nth-of-type(8) {
    display: inline-block;
    margin: 6px 3px;

    font-size: 1.3rem;
    line-height: 1.6;
}


/* =========================================================
   費用イラスト
========================================================= */

section.hojokin > div.tac {
    max-width: 1000px;
    margin: 0 auto 45px;
    padding: 0 20px;

    box-sizing: border-box;
}

section.hojokin > div.tac img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
}


/* =========================================================
   補助金制度の説明文
========================================================= */

section.hojokin > div.tac + p.tac {
    position: relative;

    max-width: 1000px;
    margin: 0 auto 70px;
    padding: 35px 40px 35px 75px;

    background: #fffaf0;
    border: 1px solid #eedaa9;
    border-left: 6px solid #f2b72c;
    border-radius: 12px;

    font-size: 1rem;
    line-height: 2;
    text-align: left;

    box-sizing: border-box;
}


/* 注意マーク */

section.hojokin > div.tac + p.tac::before {
    content: "!";

    position: absolute;
    top: 34px;
    left: 27px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 30px;
    height: 30px;

    color: #fff;
    background: #e0a91f;
    border-radius: 50%;

    font-size: 1.2rem;
    font-weight: bold;
}


/* =========================================================
   スマホ
========================================================= */

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

    /* ---------------------------------
       費用説明全体
    --------------------------------- */

    section.hojokin > p.tac:first-of-type {
        width: calc(100% - 30px);
        margin: 25px auto 35px;
        padding: 22px 18px 25px;

        font-size: 0.95rem;
        line-height: 1.8;
    }


    /*
     PC用の強制改行をスマホでは解除し、
     画面幅に合わせて自然に折り返す
    */

    section.hojokin > p.tac:first-of-type br,
    section.hojokin > div.tac + p.tac br {
        display: none;
    }


    /* ---------------------------------
       太陽光・蓄電池の見出し
    --------------------------------- */

    section.hojokin > p.tac:first-of-type > strong.green:nth-of-type(2),
    section.hojokin > p.tac:first-of-type > strong.green:nth-of-type(5) {
        display: block;

        min-width: 0;
        margin: 24px auto 12px;
        padding: 7px 15px;

        font-size: 1.15rem;
		text-align: center
    }


    /* ---------------------------------
       ①～⑤の項目
    --------------------------------- */

    section.hojokin > p.tac:first-of-type > strong:not(.green):not(.red) {
        display: block;
        margin-bottom: 8px;

        font-size: 1rem;
        line-height: 1.8;
    }


    /* ---------------------------------
       金額
    --------------------------------- */

    section.hojokin > p.tac:first-of-type > strong.red {
/*         display: block; */
        margin: 6px 0;

        font-size: 1.5rem;
    }


    /* ---------------------------------
       本体価格以外にも～
    --------------------------------- */

    section.hojokin > p.tac:first-of-type > strong.green:nth-of-type(8) {
        display: block;
        margin: 7px 0;

        font-size: 1.1rem;
    }


    /* ---------------------------------
       費用イラスト
    --------------------------------- */

    section.hojokin > div.tac {
        margin-bottom: 35px;
        padding: 0 15px;
    }


    /* ---------------------------------
       補助金制度の説明文
    --------------------------------- */

    section.hojokin > div.tac + p.tac {
        width: calc(100% - 30px);
        margin: 0 auto 50px;
        padding: 55px 20px 25px;

        font-size: 0.9rem;
        line-height: 1.9;
         max-width: 1000px;
    }


    /* 注意マーク */

    section.hojokin > div.tac + p.tac::before {
        top: 17px;
        left: 50%;

        transform: translateX(-50%);
    }
}

/* =========================================================
   補助金セクション全体を薄緑背景にする
========================================================= */

section.hojokin {
    background: #f2f9f5;

    /*
     .hojokinには.wrapが付いているため、
     背景だけ画面幅いっぱいに広げる
    */
    box-shadow: 0 0 0 100vmax #f2f9f5;
    clip-path: inset(0 -100vmax);
}


/* 費用説明ボックスは白にする */
section.hojokin > p.tac:first-of-type {
    background: #fff;
    border-color: #d8e8dc;
}


/* 補助金比較表も白背景を維持 */
section.hojokin .hojokin-table {
    background: #fff;
}






/* ==========================
   補助金比較表
========================== */

.hojokin-table-wrap{
    overflow-x:auto;
    margin:30px 0;
}

section.hojokin .note{
    text-align:center;
    font-size:16px;
    line-height:1.6;
    color:#666;
    margin:15px 0 25px;
    font-weight:500;
}

.hojokin-table{
    width:100%;
    min-width:900px;
    border-collapse:collapse;
    background:#fff;
}

.hojokin-table th,
.hojokin-table td{
    border:1px solid #d9d9d9;
    padding:18px;
    font-size:16px;
    line-height:1.6;
}

.hojokin-table th{
    /* background:#dff0d8; */
    background: #36a34d;
    color: #fff;
    font-weight:700;
    text-align:center;
    white-space:nowrap;
}

.hojokin-table td{
    vertical-align:middle;
}

.hojokin-table th:nth-child(1),
.hojokin-table td:nth-child(1){
    width:38%;
}

.hojokin-table th:nth-child(2),
.hojokin-table td:nth-child(2){
    width:34%;
}

.hojokin-table th:nth-child(3),
.hojokin-table td:nth-child(3){
    width:14%;
    text-align:center;
}

.hojokin-table th:nth-child(4),
.hojokin-table td:nth-child(4){
    width:14%;
    text-align:center;
    font-weight:700;
}

@media (max-width:768px){

    .hojokin-table th,
    .hojokin-table td{
        padding:12px;
        font-size:14px;
    }

    section.hojokin .note{
        text-align:justify;
        font-size:13px;
        line-height:2;
    }
}








/* =========================================================
   地域別補助金情報
========================================================= */

/* セクション全体 */
#subsidy {
    margin: 120px auto;
    padding: 0;
}


/* 見出し */
#subsidy > h3 {
    margin: 0 0 60px;
    padding: 0;
    text-align: center;
    font-size: 2.5rem;
    font-weight: bold;
    letter-spacing: 2px;
}

#subsidy > h3 span {
    /* color: #00a95f; */
    color: #008A3F;
}


/* =========================================================
   地図全体
========================================================= */

#subsidy .map-container {
    width: 1200px;
    height: 1075px;

    margin: 0 auto !important;
    padding: 0 !important;

    position: relative;
}


/* =========================================================
   地図画像
========================================================= */

#subsidy .map-img1 {
    position: absolute;
    top: 47px;
    left: 55px;
}

#subsidy .map-img2 {
    position: absolute;
    top: 31px;
    right: 18px;
}

#subsidy .map-img3 {
    position: absolute;
    top: 524px;
    left: 0;
}


/* =========================================================
   都道府県エリア 共通
========================================================= */

#subsidy .area-search {
    max-width: 1000px;
    margin: auto;
}

#subsidy .area-block {
    margin-bottom: 30px;
}

#subsidy .area-block h3 {
    margin: 0 0 20px;
    padding-left: 12px;

    font-size: 22px;
    line-height: 1.5;
}

#subsidy .area-block ul {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;

    width: 290px;

    margin: 0;
    padding: 0;
}

#subsidy .area-block ul li {
    width: 86px;
    margin: 0;
    padding: 0;
    list-style: none;
}

#subsidy .area-block a {
    display: block;

    padding: 9px 0;

    background: #f5f5f5;
    border-radius: 6px;

    color: #333;
    font-size: 17px;
    text-align: center;
    text-decoration: none;

    transition: 0.3s;
}


/* =========================================================
   北海道
========================================================= */

#subsidy .area--hokkaido {
    position: absolute;
    top: 20px;
    right: 264px;
}

#subsidy .area--hokkaido h3 {
    border-left: 10px solid #8a80bb;
    border-bottom: 2px solid #8a80bb;
}

#subsidy .area--hokkaido ul {
    width: 93px;
}

#subsidy .area--hokkaido a:hover {
    background: #8a80bb;
    color: #fff;
}


/* =========================================================
   東北
========================================================= */

#subsidy .area--tohoku {
    position: absolute;
    top: 334px;
    right: 0;
}

#subsidy .area--tohoku h3 {
    border-left: 10px solid #61a6db;
    border-bottom: 2px solid #61a6db;
}

#subsidy .area--tohoku ul {
    width: 191px;
}

#subsidy .area--tohoku a:hover {
    background: #61a6db;
    color: #fff;
}


/* =========================================================
   関東
========================================================= */

#subsidy .area--kantou {
    position: absolute;
    right: 0;
    bottom: 191px;
}

#subsidy .area--kantou h3 {
    border-left: 10px solid #8cc55b;
    border-bottom: 2px solid #8cc55b;
}

#subsidy .area--kantou a:hover {
    background: #8cc55b;
    color: #fff;
}


/* =========================================================
   中部
========================================================= */

#subsidy .area--tyubu {
    position: absolute;
    top: 200px;
    left: 500px;
}

#subsidy .area--tyubu h3 {
    border-left: 10px solid #5d9d5b;
    border-bottom: 2px solid #5d9d5b;
}

#subsidy .area--tyubu a:hover {
    background: #5d9d5b;
    color: #fff;
}


/* =========================================================
   関西
========================================================= */

#subsidy .area--kansai {
    position: absolute;
    right: 373px;
    bottom: 0;
}

#subsidy .area--kansai h3 {
    border-left: 10px solid #f1a653;
    border-bottom: 2px solid #f1a653;
}

#subsidy .area--kansai ul {
    width: 191px;
}

#subsidy .area--kansai a:hover {
    background: #f1a653;
    color: #fff;
}


/* =========================================================
   中国
========================================================= */

#subsidy .area--tyugoku {
    position: absolute;
    top: 318px;
    left: 254px;
}

#subsidy .area--tyugoku h3 {
    border-left: 10px solid #ed6d3d;
    border-bottom: 2px solid #ed6d3d;
}

#subsidy .area--tyugoku ul {
    width: 191px;
}

#subsidy .area--tyugoku a:hover {
    background: #ed6d3d;
    color: #fff;
}


/* =========================================================
   四国
========================================================= */

#subsidy .area--shikoku {
    position: absolute;
    left: 370px;
    bottom: 59px;
}

#subsidy .area--shikoku h3 {
    border-left: 10px solid #f2a0b8;
    border-bottom: 2px solid #f2a0b8;
}

#subsidy .area--shikoku ul {
    width: 191px;
}

#subsidy .area--shikoku a:hover {
    background: #f2a0b8;
    color: #fff;
}


/* =========================================================
   九州
========================================================= */

#subsidy .area--kyusyu {
    position: absolute;
    left: 20px;
    bottom: 0;
}

#subsidy .area--kyusyu h3 {
    border-left: 10px solid #e83820;
    border-bottom: 2px solid #e83820;
}

#subsidy .area--kyusyu a:hover {
    background: #e83820;
    color: #fff;
}


/* =========================================================
   沖縄
========================================================= */

#subsidy .area--okinawa {
    position: absolute;
    top: 581px;
    left: 100px;
}

#subsidy .area--okinawa h3 {
    border-left: 10px solid #93278f;
    border-bottom: 2px solid #93278f;
}

#subsidy .area--okinawa ul {
    width: 93px;
}

#subsidy .area--okinawa a:hover {
    background: #93278f;
    color: #fff;
}


/* =========================================================
   スマホ
========================================================= */

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

    #subsidy {
        margin: 60px auto;
        padding: 0 15px;
    }

    #subsidy > h3 {
        margin-bottom: 35px;
        font-size: 1.5rem;
    }

    /* PC用の日本地図画像を非表示 */
    #subsidy .pc {
        display: none;
    }

    /* 高さ固定を解除 */
    #subsidy .map-container {
        width: 100%;
        height: auto;
    }

    /* 地域をすべて縦並びにする */
    #subsidy .area--hokkaido,
    #subsidy .area--tohoku,
    #subsidy .area--kantou,
    #subsidy .area--tyubu,
    #subsidy .area--kansai,
    #subsidy .area--tyugoku,
    #subsidy .area--shikoku,
    #subsidy .area--kyusyu,
    #subsidy .area--okinawa {
        position: static;

        width: 100%;

        margin-bottom: 35px;
    }

    #subsidy .area-block h3 {
        font-size: 18px;
        margin-bottom: 15px;
    }

    #subsidy .area-block ul,
    #subsidy .area--hokkaido ul,
    #subsidy .area--tohoku ul,
    #subsidy .area--kansai ul,
    #subsidy .area--tyugoku ul,
    #subsidy .area--shikoku ul,
    #subsidy .area--okinawa ul {
        width: 100%;

        display: flex;
        flex-wrap: wrap;
        gap: 10px;
    }

    #subsidy .area-block ul li {
        width: calc(25% - 8px);
    }

    #subsidy .area-block a {
        padding: 8px 2px;

        font-size: 14px;
    }

}

/* =========================================================
   スマホ：メーカー欄の横はみ出し修正
========================================================= */

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

    /* メーカー1社ごとを縦並びにする */
    section.maker .flex-jc {
        display: block;
        width: 100%;
        margin: 3em 0;
        box-sizing: border-box;
    }

    /* メーカー画像 */
    section.maker .img-border {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        margin: 0 0 1.5em 0;
        padding: 1em;
        box-sizing: border-box;
    }

    section.maker .img-border img {
        display: block;
        max-width: 100%;
        height: auto;
        margin: 0 auto;
    }

    /* 画像右側にあった説明欄 */
    section.maker .flex-jc > div {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    section.maker .flex-jc > div:last-child {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        text-align: left;
    }

    /* 説明文が縦1文字ずつになるのを防止 */
    section.maker p,
    section.maker h3,
    section.maker h4 {
        width: 100%;
        max-width: 100%;
        word-break: normal;
        overflow-wrap: break-word;
        writing-mode: horizontal-tb;
    }
}

/* =========================================================
   補助金マップ タブレット・スマホ はみ出し修正
========================================================= */

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

    #subsidy {
        overflow: hidden;
    }

    #subsidy .map-container {
        width: 100%;
        max-width: 100%;
        height: auto;

        margin: 0 auto !important;
        padding: 0 !important;

        box-sizing: border-box;
    }

    /* PC用の地図画像を非表示 */
    #subsidy .pc {
        display: none;
    }

    /* 都道府県を通常配置に戻す */
    #subsidy .area--hokkaido,
    #subsidy .area--tohoku,
    #subsidy .area--kantou,
    #subsidy .area--tyubu,
    #subsidy .area--kansai,
    #subsidy .area--tyugoku,
    #subsidy .area--shikoku,
    #subsidy .area--kyusyu,
    #subsidy .area--okinawa {
        position: static;

        width: 100%;

        margin-bottom: 30px;
    }

    #subsidy .area-search {
        width: 100%;
        max-width: 100%;

        margin: 0 auto;
        padding: 0 20px;

        box-sizing: border-box;
    }

    #subsidy .area-block ul,
    #subsidy .area--hokkaido ul,
    #subsidy .area--tohoku ul,
    #subsidy .area--kantou ul,
    #subsidy .area--tyubu ul,
    #subsidy .area--kansai ul,
    #subsidy .area--tyugoku ul,
    #subsidy .area--shikoku ul,
    #subsidy .area--kyusyu ul,
    #subsidy .area--okinawa ul {
        width: 100%;
    }
}

/* ========================================
POINT1 グラフ2点
========================================= */

.point1-graphs {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 40px;

    max-width: 1000px;
    margin: 45px auto 0;
}

.point1-graph {
    width: calc((100% - 40px) / 2);
}

.point1-graph h4 {
    margin: 0 0 20px;

    color: #222;
    font-size: 18px;
    text-align: center;
}

.point1-graph img {
    display: block;

    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

.point1-text {
    max-width: 800px;
    margin: 40px auto 0;
}

.point1-text p {
    line-height: 2;
}

/* スマホ */
@media screen and (max-width: 767px) {
    .point1-graphs {
        display: block;

        margin-top: 30px;
        padding: 0 20px;
    }

    .point1-graph {
        width: 100%;
    }

    .point1-graph + .point1-graph {
        margin-top: 40px;
    }

    .point1-graph h4 {
        margin-bottom: 15px;
        font-size: 16px;
    }

    .point1-text {
        margin-top: 30px;
        padding: 0 20px;
    }
}



/* 固定ページ：ヘッダー下の隙間をなくす */
.heading__ttl {
    margin-top: 0;
}

.heading__ttl h2 {
    margin: 0;
}

/* ヘッダーロゴ上の説明文 */
.logo__catch {
    margin: 0 0 4px;
    color: #333;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.3;
    white-space: nowrap;
}

.logo__catch strong {
    font-weight: 700;
}

#logo {
    text-align: center;
}


/* =========================================================
   新ヘッダー
   PC：891px以上
   スマホ：890px以下
========================================================= */

header .header {
    padding: 0;
}


/* =========================================================
   表示切り替え
========================================================= */

.pc-header.sp-dn {
    display: block !important;
}

.sp-header,
.sp-header-results {
    display: none;
}


/* =========================================================
   PCヘッダー共通
========================================================= */

.pc-header {
    width: 100%;
    background: #fff;
}

.pc-header > .wrap,
.header-bottom-nav > .wrap {
    display: block;
    width: calc(100% - 40px);
    max-width: 1560px;
    margin: 0 auto;
}


/* =========================================================
   PCヘッダー上段
========================================================= */

/* .header-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(8px, 1.4vw, 22px);

    min-height: 105px;
    padding: 12px 0;

    box-sizing: border-box;
} */

.header-main {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: clamp(8px, 1.4vw, 22px);

    /* min-height: 105px;
    padding: 12px 0; */
    /* min-height: 88px; */
    min-height: 75px;

    padding: 8px 0;

    box-sizing: border-box;
}


/* =========================================================
   PCロゴ
========================================================= */

.pc-header #logo {
    flex: 0 0 clamp(190px, 19vw, 315px);
    width: clamp(190px, 19vw, 315px);
    margin: 0;
    text-align: left;
}

.pc-header #logo .logo__catch {
    margin: 0 0 5px;
    font-size: clamp(8px, 0.75vw, 12px);
    line-height: 1.4;
    white-space: nowrap;
}

.pc-header #logo .logo__link {
    display: block;
}

.pc-header #logo .logo__link img {
    display: block;
    width: clamp(180px, 18vw, 295px);
    max-width: 100%;
    height: auto;
}


/* =========================================================
   PC利用実績
========================================================= */

.header-results {
    flex: 0 0 auto;
    width: auto;
}

.header-results__body {
    display: flex;
    align-items: center;
    gap: 16px;
}

.header-results__numbers {
    padding-right: 16px;
    border-right: 1px solid #d6d6d6;
    text-align: left;
}

.header-results__numbers .header-results__users {
    margin: 0;
    color: #222;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.header-results__numbers .header-results__users strong {
    color: #f39800;
    font-size: 28px;
    font-weight: 800;
    line-height: 1;
}

.header-results__numbers small {
    display: block;
    margin-top: 3px;
    color: #555;
    font-size: 10px;
    line-height: 1.2;
    text-align: right;
}

.header-results__details {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
    min-height: 50px;
    padding-left: 0;
}

.header-results__details::before {
    display: none;
}

.header-results__dealers {
    margin: 0;
    color: #222;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.header-results__dealers strong {
    color: #f39800;
    font-size: 22px;
    font-weight: 800;
    line-height: 1;
}

.header-results__details .header-results__advisor {
    position: static;
    display: block;
    min-height: 0;
    margin: 0;
    padding: 0;
    color: #222;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.header-results__details .header-results__advisor::before {
    content: none;
}


/* =========================================================
   PC電話番号
========================================================= */

.pc-header .header-tel {
    flex: 0 0 clamp(175px, 16vw, 245px);
    width: clamp(175px, 16vw, 245px);
    min-width: 0;
    margin: 0 0 0 auto;
    text-align: center;
}

.pc-header .header-tel p {
    margin: 0;
    padding: 0;

    color: #222;
    font-size: clamp(7px, 0.65vw, 10px);
    line-height: 1.45;
    white-space: nowrap;
}

.pc-header .header-tel .header-tel__catch {
    margin-bottom: 2px;
    font-size: clamp(6px, 0.6vw, 9px);
    line-height: 1.3;
    /* letter-spacing: -0.2px; */
    letter-spacing: 0.8px;
    white-space: nowrap;
}


/* .pc-header .header-tel .header-tel__catch {
    margin-bottom: 2px;
    font-size: 11px;
    line-height: 1.3;
} */


.pc-header .header-tel a {
    display: block;
    margin: 2px 0;

    color: #36a34d;
    font-size: clamp(20px, 1.9vw, 29px);
    font-weight: 800;
    line-height: 1.1;
    text-decoration: none;
    white-space: nowrap;
}


/* =========================================================
   PCお問い合わせ
========================================================= */

.pc-header .web-content-box {
    flex: 0 0 clamp(115px, 11vw, 180px);
    width: clamp(115px, 11vw, 180px);
    min-width: 0;

    margin: 0;
    padding: 0;

    border-radius: clamp(15px, 1.3vw, 20px);
    background: #36a34d;

    box-sizing: border-box;
}

.pc-header .web-content-box a {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;

    min-height: clamp(58px, 4.7vw, 72px);
    padding: 6px 10px;

    color: #fff;
    text-decoration: none;

    box-sizing: border-box;
}

.pc-header .web-content-box strong {
    color: #fff;
    font-size: clamp(11px, 1vw, 15px);
    line-height: 1.3;
}

.pc-header .web-content-box span {
    display: block;
    margin-top: 3px;

    color: #fff;
    font-size: clamp(9px, 0.8vw, 12px);
    line-height: 1.3;
}


/* =========================================================
   PC下段メニュー
========================================================= */

.header-bottom-nav {
    width: 100%;
    background: #36a34d;
}

.header-bottom-nav__list {
    display: flex;
    align-items: stretch;
    justify-content: center;

    margin: 0;
    padding: 0;

    list-style: none;
}

.header-bottom-nav__list li {
    position: relative;
    flex: 1;
    max-width: 320px;

    margin: 0;
    padding: 0;
}

.header-bottom-nav__list li::after,
.header-bottom-nav__list li:first-child::before {
    content: "";

    position: absolute;
    top: 50%;

    width: 1px;
    height: 22px;

    background: rgba(255, 255, 255, 0.55);

    transform: translateY(-50%);
}

.header-bottom-nav__list li::after {
    right: 0;
}

.header-bottom-nav__list li:first-child::before {
    left: 0;
}

.header-bottom-nav__list a {
    display: flex;
    align-items: center;
    justify-content: center;

    min-height: clamp(42px, 3vw, 46px);
    padding: 7px 12px;

    color: #fff;
    font-size: clamp(12px, 1vw, 15px);
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;

    box-sizing: border-box;
}

.header-bottom-nav__list a:link,
.header-bottom-nav__list a:visited,
.header-bottom-nav__list a:active {
    color: #fff;
}

.header-bottom-nav__list a:hover {
    opacity: 1;
    background: #f39800;
    color: #fff;
}


/* =========================================================
   891〜1090px
========================================================= */

@media screen and (min-width: 891px) and (max-width: 1090px) {

    /* PCヘッダーを表示 */
    .pc-header.sp-dn {
        display: block !important;
    }

    /* 古い中間幅CSSの display:none を解除 */
    header .header .pc-header > .wrap,
    header .header .header-bottom-nav > .wrap {
        display: block;
    }

    /* スマホ・中間ヘッダーを非表示 */
    header .header .sp-header {
        display: none;
    }

    .sp-header-results {
        display: none;
    }

    /* PCヘッダーをコンパクトにする */
    .pc-header > .wrap,
    .header-bottom-nav > .wrap {
        width: calc(100% - 20px);
    }

    .header-main {
        min-height: 82px;
        padding: 8px 0;
    }
}


/* =========================================================
   スマホ：890px以下
========================================================= */

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

    /* PCヘッダーを非表示 */
    .pc-header.sp-dn {
        display: none !important;
    }

    /* 既存スマホヘッダーを表示 */
    .sp-header {
        display: grid;
    }

    /* スマホ用実績を表示 */
    .sp-header-results {
        position: relative;
        display: grid;
        grid-template-columns: auto auto;
        grid-template-rows: auto auto;
        align-items: center;
        align-content: center;
        justify-content: center;
        column-gap: 26px;
        row-gap: 2px;

        width: 100%;
        min-height: 46px;

        margin: 0;
        padding: 3px 12px;

        background: #fff;
        border-top: 1px solid #e5e5e5;
        border-bottom: 2px solid #36a34d;

        box-sizing: border-box;
    }

    /* PC版と同じ位置に中央の縦線を表示 */
    .sp-header-results::after {
        content: "";
        position: absolute;
        top: 5px;
        bottom: 5px;
        left: 50%;
        width: 1px;
        background: #d6d6d6;
        transform: translateX(-50%);
    }

    /* 内側の要素を親グリッドへ配置 */
    .sp-header-results__numbers {
        display: contents;
    }

    /* 左上：累計利用実績 */
    .sp-header-results__numbers p:first-child {
        grid-column: 1;
        grid-row: 1;
        padding-right: 13px;
    }

    /* 右上：販売店登録実績 */
    .sp-header-results__numbers p:nth-child(2) {
        grid-column: 2;
        grid-row: 1;
        padding-left: 13px;
    }

    .sp-header-results__numbers p {
        margin: 0;
        color: #222;
        font-size: 10px;
        font-weight: 700;
        line-height: 1.25;
        text-align: left;
        white-space: nowrap;
    }

    .sp-header-results__numbers strong {
        color: #f39800;
        font-size: 14px;
        font-weight: 800;
    }

    .sp-header-results__numbers small {
        display: block;
        grid-column: 1;
        grid-row: 2;
        margin: 0;
        padding-right: 13px;
        color: #555;
        font-size: 8px;
        line-height: 1.2;
        text-align: right;
    }

    /* 右下：アドバイザー */
    .sp-header-results__advisor {
        grid-column: 2;
        grid-row: 2;
        margin: 0;
        padding-left: 13px;
        color: #222;
        font-size: 9px;
        font-weight: 700;
        line-height: 1.2;
        letter-spacing: -0.2px;
        white-space: nowrap;
    }

    /* スマホ版の緑チェックを削除 */
    .sp-header-results__advisor::before {
        content: none;
    }
}


/* =========================================================
   370px以下
========================================================= */

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

    .sp-header-results {
        column-gap: 18px;
        padding-right: 7px;
        padding-left: 7px;
    }

    .sp-header-results__numbers p:first-child,
    .sp-header-results__numbers small {
        padding-right: 9px;
    }

    .sp-header-results__numbers p:nth-child(2),
    .sp-header-results__advisor {
        padding-left: 9px;
    }

    .sp-header-results__numbers p {
        font-size: 9px;
    }

    .sp-header-results__numbers strong {
        font-size: 13px;
    }

    .sp-header-results__advisor {
        font-size: 9px;
    }
}

/* =========================================================
   太陽光発電アドバイザー在籍を強く目立たせる
========================================================= */

.header-results__details .header-results__advisor {
    display: inline-block;
    width: fit-content;
    max-width: 100%;

    margin-top: 4px;
    padding: 4px 10px;

    border: 2px solid #f5c84c;
    border-radius: 2px;
    /* background: #ffe58a; */
    background: #ffffc0;
    color: #222;

    font-size: 15px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.02em;
    white-space: nowrap;

    box-sizing: border-box;
}


/* =========================================================
   1091〜1250px：アドバイザー表示を少し縮小
========================================================= */

@media screen and (min-width: 1091px) and (max-width: 1250px) {

    .header-results__details .header-results__advisor {
        margin-top: 3px;
        padding: 3px 6px;
        font-size: 11px;
        letter-spacing: 0;
    }
}


/* =========================================================
   891〜1090px：PCヘッダーをコンパクトにする
========================================================= */

@media screen and (min-width: 891px) and (max-width: 1090px) {

    .pc-header > .wrap {
        width: calc(100% - 12px);
    }

    .header-main {
        gap: 6px;
    }


    /* ロゴ */

    .pc-header #logo {
        flex: 0 0 170px;
        width: 170px;
    }

    .pc-header #logo .logo__link img {
        width: 165px;
    }

    .pc-header #logo .logo__catch {
        font-size: 7px;
    }


    /* 実績 */

    .header-results__body {
        gap: 8px;
    }

    .header-results__numbers {
        padding-right: 8px;
    }

    .header-results__numbers .header-results__users {
        font-size: 10px;
    }

    .header-results__numbers .header-results__users strong,
    .header-results__dealers strong {
        font-size: 18px;
    }

    .header-results__dealers {
        font-size: 9px;
    }

    .header-results__details .header-results__advisor {
        margin-top: 2px;
        padding: 2px 5px;

        /* background: #36a34d; */
        /* color: #fff; */

        font-size: 9px;
        letter-spacing: 0;
    }


    /* 電話番号 */

    .pc-header .header-tel {
        flex: 0 0 160px;
        width: 160px;
    }

    .pc-header .header-tel a {
        font-size: 20px;
    }


    /* お問い合わせボタン */

    .pc-header .web-content-box {
        flex: 0 0 100px;
        width: 100px;
    }

    .pc-header .web-content-box a {
        min-height: 54px;
        padding: 4px 6px;
    }

    .pc-header .web-content-box strong {
        font-size: 10px;
    }

    .pc-header .web-content-box span {
        font-size: 8px;
    }
}

/* =========================================================
   スマホ版：アドバイザー表示を黄色ラベルにする
========================================================= */

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

    .sp-header-results__advisor {
        display: inline-block;
        width: fit-content;
        max-width: calc(100% - 13px);

        margin: 0 0 0 13px;
        padding: 2px 4px;

        border: 1px solid #f5c84c;
        border-radius: 3px;
        background: #ffffc0;
        color: #222;

        font-size: 9px;
        font-weight: 800;
        line-height: 1.2;
        letter-spacing: -0.2px;
        white-space: nowrap;

        box-sizing: border-box;
    }
}

/* 370px以下は左右の余白を少し縮める */
@media screen and (max-width: 370px) {

    .sp-header-results__advisor {
        max-width: calc(100% - 9px);
        margin-left: 9px;
        padding: 2px 3px;
        font-size: 8px;
    }
}


/* =========================================================
   東京ECO住まい型・入口フォーム
========================================================= */

.content-contact .tab-wrap {
    --eco-form-orange: #f58a2b;
    --eco-form-light-orange: #fff8e9;
    --eco-form-brown: #70421f;

    width: min(78.125vw, 1000px);
    margin: 18px auto min(3.125vw, 40px);
    box-sizing: border-box;
}

.content-contact .tab-wrap *,
.content-contact .tab-wrap *::before,
.content-contact .tab-wrap *::after {
    box-sizing: border-box;
}

.content-contact .tab-wrap .tab {
    width: 100%;
    background: #fff;
}

.content-contact .tab-wrap ul {
    margin: 0;
    padding: 0;
}

.content-contact .tab-wrap p {
    margin: 0;
}

.content-contact .tab-wrap button {
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

/* =========================================================
   タブメニュー
========================================================= */

.content-contact .tab-wrap .tab__menu {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 0;
    padding: 0;
}

.content-contact .tab-wrap .tab__menu-item {
    display: flex;
    align-items: center;
    justify-content: center;

    height: min(5.469vw, 70px);
    list-style: none;
    text-align: center;
    cursor: pointer;

    color: var(--eco-form-brown);
    background: var(--eco-form-light-orange);
}

.content-contact .tab-wrap .tab__menu-item p {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    font-size: min(2.5vw, 32px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1em;
}

.content-contact .tab-wrap .tab__menu-item small {
    font-size: min(1.563vw, 20px);
}

.content-contact .tab-wrap .tab__menu-item.is-active {
    color: #fff;
    background: var(--eco-form-orange);
}

.content-contact .tab-wrap .tab01 {
    width: 70%;
	margin-top: -1px;
    margin-left: -4px;
}

.content-contact .tab-wrap .tab02 {
    width: 30%;
	margin-top: -1px;
    margin-right: -2px;
}

/* =========================================================
   タブの中身
========================================================= */

.content-contact .tab-wrap .tab__content {
    width: 100%;
    margin: 0;
    padding: 0;
}

.content-contact .tab-wrap .tab__content-item {
    display: none;
    width: 100%;
    padding: 25px 15px 20px;

    background: #fff;
    border: 6px solid var(--eco-form-orange);
}

.content-contact .tab-wrap .tab__content-item.is-active {
    display: block;
}

.content-contact .tab-wrap #tab01,
.content-contact .tab-wrap #tab02 {
    position: relative;
}

.content-contact .tab-wrap .form__thumb {
    display: flex;
    width: 100%;
}

.content-contact .tab-wrap .form__txt {
    width: 100%;
    margin: 0 30px;
    text-align: left;
}

/* =========================================================
   郵便番号・チェックボックス
========================================================= */

.content-contact .tab-wrap .form__flexbox {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 12px;
}

.content-contact .tab-wrap .form__zipcode {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.content-contact .tab-wrap .form__zipcode .orange {
    margin-right: 7px;
    color: var(--eco-form-orange);
    font-size: 28px;
    line-height: 1;
}

.content-contact .tab-wrap input[type="text"] {
    position: static;
    bottom: auto;

    width: 250px;
    margin: 0;
    padding: 13px;

    border: 1px solid #707070;
    border-radius: 3px;

    font-size: 15px;
    line-height: 1.4;
    background: #fff;
}

.content-contact .tab-wrap .form__checkbox {
    display: flex;
    align-items: center;
    margin: 0;
}

.content-contact .tab-wrap input[type="checkbox"] {
    width: auto;
    margin: 0;
    accent-color: #dd7a23;
    transform: scale(1.35);
}

.content-contact .tab-wrap label {
    margin-left: 8px;
    font-size: 18px;
    line-height: 1.4;
    cursor: pointer;
}

.content-contact .tab-wrap .green {
    color: #333;
    font-weight: 500;
}

/* =========================================================
   人物イラスト
========================================================= */

.content-contact .tab-wrap .form__flexbox .desktop-only {
    display: block;
    width: 70px;
    height: auto;
    margin-left: auto;
    flex-shrink: 0;
}

/* =========================================================
   見積もりボタン
========================================================= */

/* .content-contact .tab-wrap .form__txt > button {
    display: block;
    width: 100%;
    margin: 18px auto 0;
} */

/* .content-contact .tab-wrap .form__txt > button img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
} */

.content-contact .tab-wrap .form__txt > button img,
.content-contact #tab02 .form__txt > a img {
    display: block;
    width: 60%;
    height: auto;
    margin: 25px auto 0;
}

/* .content-contact .tab-wrap .mobile-only {
    display: none;
} */

@media screen and (max-width: 767px) {
    .content-contact .tab-wrap .form__txt > button img,
    .content-contact #tab02 .form__txt > a img {
        width: 100%;
    }
}

/* =========================================================
   蓄電池タブ
========================================================= */

.content-contact .tab-wrap #tab02 .form__txt {
    text-align: center;
}

.content-contact .tab-wrap #tab02 .form__txt > p {
    color: #333;
    font-size: 20px;
    line-height: 1.6;
}

/* .content-contact .tab-wrap #tab02 .tab02-red {
    display: inline-block;
    margin: 12px 0;

    color: #bc2701;
    font-size: 18px;
    font-weight: 700;
} */

/* .content-contact .tab-wrap #tab02 a {
    display: block;
} */

/* .content-contact .tab-wrap #tab02 a img {
    display: block;
    width: 100%;
    max-width: 700px;
    height: auto;
    margin: 0 auto;
} */

/* =========================================================
   スマホ
========================================================= */

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

    .content-contact .tab-wrap {
        width: min(89.744vw, 350px);
        margin: 18px auto min(5.128vw, 20px);
    }

    .content-contact .tab-wrap .tab__menu-item {
        width: 50%;
        height: min(17.949vw, 70px);
    }

    .content-contact .tab-wrap .tab__menu-item p {
        flex-direction: column;
        gap: min(2.564vw, 10px);

        font-size: min(6.154vw, 24px);
        letter-spacing: 0.05em;
    }

    .content-contact .tab-wrap .tab__menu-item small {
        font-size: min(3.077vw, 12px);
    }

    .content-contact .tab-wrap .tab__content-item {
        padding: 18px 12px 15px;
        border-width: 4px;
    }

    .content-contact .tab-wrap .form__txt {
        margin: 0;
        font-size: 16px;
    }

    .content-contact .tab-wrap .form__flexbox {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
        margin-top: 10px;
    }

    .content-contact .tab-wrap .form__zipcode {
        width: 100%;
    }

    .content-contact .tab-wrap input[type="text"] {
        width: 100%;
        padding: 10px;
        font-size: 14px;
    }

    .content-contact .tab-wrap .form__checkbox {
        margin: 0;
    }

    .content-contact .tab-wrap label {
        font-size: 14px;
    }

    .content-contact .tab-wrap .green {
        color: var(--eco-form-orange);
    }

    .content-contact .tab-wrap .desktop-only {
        display: none !important;
    }

    .content-contact .tab-wrap .mobile-only {
        display: block;
    }

/*     .content-contact .tab-wrap .form__txt > button {
        margin-top: 15px;
    } */

    .content-contact .tab-wrap #tab02 .form__txt > p {
        font-size: 13px;
    }

    /* .content-contact .tab-wrap #tab02 .tab02-red {
        display: block;
        margin: 10px auto;
        font-size: 13px;
    } */
}

/* =========================================================
   入口フォーム：PC・スマホ画像の表示切り替え修正
========================================================= */

/* PC・タブレット */
@media screen and (min-width: 751px) {

    .content-contact .tab-wrap img.desktop-only {
        display: block !important;
    }

    .content-contact .tab-wrap img.mobile-only {
        display: none !important;
    }
}

/* スマホ */
@media screen and (max-width: 750px) {

    .content-contact .tab-wrap img.desktop-only {
        display: none !important;
    }

    .content-contact .tab-wrap img.mobile-only {
        display: block !important;
    }
}

/* =========================================================
   ページ内リンク：固定ヘッダー分の位置調整
========================================================= */

#subsidy,
#maker {
    scroll-margin-top: 180px;
}

/* WEBからのお問い合わせ：固定ヘッダー分の位置調整 */
#tab-contact {
    scroll-margin-top: 135px;
}

/* =========================================================
   スマホ用ナビゲーション デザイン
========================================================= */

.sp-global-menu {
    background: #f7faf8;
    padding: 18px 24px 24px;
}

.sp-global-menu ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.sp-global-menu li {
    background: #f7faf8;
    border-bottom: 1px solid #dfe7e2;
}
/* 
.sp-global-menu li {
    border-bottom: 1px solid #e8e8e8;
} */

.sp-global-menu a {
    background: transparent;
}

.sp-global-menu li:first-child {
    border-top: 1px solid #e8e8e8;
}

.sp-global-menu a {
    position: relative;

    display: flex;
    align-items: center;

    min-height: 68px;
    padding: 0 42px 0 14px;

    color: #222;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;

    text-decoration: none;

    transition:
        background-color 0.2s ease,
        color 0.2s ease;
}

/* 左のアクセント */
.sp-global-menu a::before {
    content: "";

    width: 4px;
    height: 24px;

    margin-right: 14px;

    background: #00b46b;
    border-radius: 4px;
}

/* 右矢印 */
.sp-global-menu a::after {
    content: "";

    position: absolute;
    right: 16px;
    top: 50%;

    width: 8px;
    height: 8px;

    border-top: 2px solid #999;
    border-right: 2px solid #999;

    transform:
        translateY(-50%)
        rotate(45deg);
}

/* タップ時 */
.sp-global-menu a:hover,
.sp-global-menu a:focus {
    background: #f2faf6;
    color: #008f56;
}

/* =========================================================
   スマホメニュー 横はみ出し防止
========================================================= */

.sp-global-menu {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
}

.sp-global-menu ul,
.sp-global-menu li,
.sp-global-menu a {
    box-sizing: border-box;
    max-width: 100%;
}

.sp-global-menu ul {
    width: 100%;
}

.sp-global-menu a {
    width: 100%;
}


/* =========================================================
   スマホ改行調整
========================================================= */

.sp-br {
    display: none;
}

@media screen and (max-width: 767px) {
    .sp-br {
        display: block;
    }
	.bk-green {
    line-height: 1.5;
    }
}

@media screen and (max-width: 767px) {
    section.hojokin br.sp-show-br {
        display: inline !important;
    }
}


/* ========================================
   ハンバーガー → ×
======================================== */

.sp-header__menu span {
    transition: transform 0.3s ease, opacity 0.3s ease;
}

/* 1本目 */
.sp-header__menu.is-open span:nth-child(1) {
    transform: translateY(9px) rotate(45deg);
}

/* 2本目 */
.sp-header__menu.is-open span:nth-child(2) {
    opacity: 0;
}

/* 3本目 */
.sp-header__menu.is-open span:nth-child(3) {
    transform: translateY(-9px) rotate(-45deg);
}

