/* ●●●●●●●●●●　2階層目css　●●●●●●●●●● */




/*---------------------------------------------------

　　サービス／ガス

　---------------------------------------------------*/
#service_gas{
margin-top: 150px;
}
@media only screen and (max-width:767px) {
#service_gas{
margin-top: 0;
}
}

.gas_point_box{
display: flex;
justify-content: space-between;
gap: 80px;
margin: 50px 0;
}

.gas_point_box li{
width: calc((100% - 40px * 2) / 3);
    
    & p{
    margin: 0 20px;
    padding-top: 50px;
    text-align: center;
    position: relative;
        
        &:before{
        content: "";
        position: absolute;
        top: -15px;
        left: 50%;
        transform: translate(-50%,0);
        width: 1px;
        height: 50px;
        background: #000;
        }
    }
}

@media only screen and (max-width:1024px) {
.gas_point_box{
gap: 40px;
}

.gas_point_box li{
width: calc((100% - 20px * 2) / 3);
    
    & p{margin: 0;}
}
}

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

.gas_point_box li{
width: 100%;
max-width: 250px;
margin: 0 auto;
}
}


.gas_ryoukin_box{
border: 2px solid #E60012;
border-radius: 30px;
padding: 50px;
margin-top: 50px;
display: flex;
justify-content: space-between;
    
    & > div{
    font-size: 28px;
    font-weight: 700;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
        & span{
        font-size: 13px;
        font-weight: 700;
        display: block;
        }
    }
    
    & > div.ryo02, & > div.ryo03, & > div.ryo04{
    border-radius: 15px;
    padding: 20px 30px;
    }
    
    & > div.ryo01{
    color: #E60012;
    font-size: 35px;
    }
    & > div.ryo02{background: #f7d99c;}
    & > div.ryo03{background: #f29c9c;}
    & > div.ryo04{background: #f9b89b;}
}

.gas_graph_box{
margin: 50px 0;
display: flex;
justify-content: space-between;
}

.gas_graph{
width: 50%;
max-width: 440px;
margin-left: 50px;
}

.gas_ryoukin_cap > li{
margin-bottom: 30px;
    
    & > div{
    display: inline-block;
    padding: 5px 20px;
    margin-bottom: 10px;
    }
    
    & span{color: #e01919;}
    
    & > ol li{
    margin-left: 15px;
    margin-top: 3px;
    display: flex;
        
        &:before{
        content: "・";
        margin-right: 5px;
        font-weight: 700;
        }
    }
}

@media only screen and (max-width:1024px) {
.gas_ryoukin_box{
flex-wrap: wrap;
    
    & > div.ryo01{
    width: 100%;
    line-height: 130%;
    }
    & > div:nth-child(2){
    width: 100%;
    transform: rotate(90deg);
    }
}
}

@media only screen and (max-width:767px) {
.gas_ryoukin_box{
padding: 30px;
flex-direction: column;
    
    & > div{font-size: 1.25rem;}
}

.gas_graph_box{
flex-direction: column;
}

.gas_graph{
width: 100%;
margin: 0;
}
}


.gas_ryoukin_list_box{
margin: 50px;
}

.gas_ryoukin_txt{
border: 1px solid #e01919;
color: #e01919;
padding: 30px;
text-align: center;
}
.gas_ryoukin_txt span{
text-decoration: underline;
}

.gas_ryoukin_list{
margin: 50px 0;
    
    & th, & td{
    padding: 30px 20px;
    border-top: 1px solid #000;
    vertical-align: middle;
    }
    & tr:last-child th, & tr:last-child td{
    border-bottom: 1px solid #000;
    }
    
    & th{
    font-weight: 500;
    text-align: center;
    background: #fcede4;
    border-right: 1px solid #000;
    }
    
    & td{
    width: 50%;
    padding-left: 50px;
    }
    
    & p{
    font-size: 13px;
    margin-top: 15px;
    }
}

.gas_ryoukin_ex{
background: #fcede4;
border-radius: 30px;
padding: 30px;
margin: 0 50px;
display: flex;
justify-content: center;
align-items: center;
}

.gas_shiyou01{
text-align: center;
font-size: 23px;
line-height: 150%;
margin-right: 80px;
position: relative;
}
.gas_shiyou01:after{
content: "";
position: absolute;
top: 50%;
right: -50px;
transform: translate(0,-50%);
border-top: 15px solid transparent;
border-bottom: 15px solid transparent;
border-left: 20px solid #e01919;
}
.gas_shiyou01 span{
font-size: 16px;
}

.gas_shiyou02 li{
display: flex;
justify-content: space-between;
}
.gas_shiyou02 li:last-child{
border-top: 1px solid #000;
margin-top: 10px;
padding-top: 10px;
}

.gas_shiyou02 li div:first-child{
width: 200px;
}
.gas_shiyou02 li div:first-child p{
display: flex;
align-items: center;
}
.gas_shiyou02 li div:first-child p:after{
content: "";
flex-grow: 1;
border-bottom: 2px dotted #000;
margin: 0 10px;
}
.space{
margin-left: 80px;
}

.gas_shiyou02 li div:last-child{
flex: 1;
}

@media only screen and (max-width:1024px) {
.gas_ryoukin_list_box,
.gas_ryoukin_ex{
margin-left: 0;
margin-right: 0;
}
}

@media only screen and (max-width:767px) {
.gas_ryoukin_txt{
padding: 20px;
}

.gas_ryoukin_list{
display: block;
}
.gas_ryoukin_list tr{
display: flex;
flex-wrap: wrap;
width: 100%;
}
.gas_ryoukin_list th,
.gas_ryoukin_list td{
display: block;
width: 100%;
padding: 20px;
border-right: none;
text-align: center;
}

.gas_ryoukin_list .gas_table_juryo th:last-of-type,
.gas_ryoukin_list .gas_table_juryo td{
width: 50%;
}
.gas_ryoukin_list .gas_table_juryo th:last-of-type{
border-right: 1px solid #000;
background: transparent;
}

.gas_ryoukin_list tr:last-child th{
border-bottom: none;
}

.gas_ryoukin_ex{
flex-direction: column;
}
    
.gas_shiyou01{
margin-right: 0;
margin-bottom: 50px;
}
.gas_shiyou01:after{
top: auto;
right: auto;
left: 50%;
bottom: -40px;
transform: translate(-50%,0) rotate(90deg);
}
}


#gas_qa{
background: #fcede4;
padding: 80px 0;
}

.gasmore_box{
width: 92%;
max-width: 1000px;
margin: 0 auto;
display: flex;
justify-content: space-between;
}

.gasmore_list{
width: 60%;
}

.gasmore_list_tit{
font-size: 25px;
display: flex;
align-items: center;
}

.gasmore_list_tit span{
line-height: 100%;
display: flex;
align-items: center;
justify-content: center;
font-size: 40px;
font-weight: 500;
color: #fff;
background: #CA232E;
border-radius: 50px;
width: 60px;
height: 60px;
margin-right: 15px;
}

.gasmore_inner{
display: flex;
align-items: center;
border-left: 2px solid #CA232E;
margin: 15px 0 15px 30px;
padding: 15px 30px 15px 45px;
}
li:last-child .gasmore_inner{
border-left: none;
margin-bottom: 0;
padding-bottom: 0;
}

.gasmore_inner p{
flex: 1;
}
.gasmore_inner p span{
color: #CA232E;
font-size: 18px;
}

.gasmore_img{
max-width: 100px;
margin-left: 50px;
}

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

.gasmore_list{
width: 100%;
margin-top: 30px;
}

.gasmore_inner{
padding: 0 0 0 30px;
}
.gasmore_img{
margin-left: 20px;
}
}


#gas_jigyousho{
position: relative;
}

.gas_acc_box{
width: 92%;
max-width: 1000px;
margin: 100px auto 50px;
display: grid;
grid-template-rows: auto auto;
grid-template-columns: 55% 45%;
}

.gas_acc_inner01,
.gas_acc_inner02{
display: inline-block;
}
.gas_acc_inner01{
grid-column: 1;
grid-row: 1;
}
.gas_acc_inner02{
grid-column: 1;
grid-row: 2;
}

.freecall{
max-width: 500px;
margin: 30px 0;
text-align: center;
}
.freecall span{
font-size: 18px;
font-weight: 500;
}

.gas_acc_list{
margin-top: 80px;
}

.gas_acc_list li{
border-left: 10px solid;
margin-bottom: 30px;
padding-left: 15px;
    
    &.honsha{border-color: #ED86B3;}
    &.oodate{border-color: #BEDFC2;}
    &.noshiro{border-color: #BBB3D7;}
    &.yokote{border-color: #54C2F0;}
    &.kitaakita{border-color: #FFE57A;}
    &.yurihonjo{border-color: #F7C5AB;}

}

.gas_eigyo_acc{
display: flex;
align-items: center;
margin-top: 10px;
}

.gas_eigyo_acc > div{
width: 150px;
text-align: center;
color: #0068ab;
border: 1px solid #0068ab;
padding: 15px;
margin-right: 15px;
font-size: 14px;
}

.akita_map{
max-width: 450px;
margin-left: 5%;
position: sticky;
align-self: start;
top: 100px;
grid-column: 2;
grid-row: span 2;
}
.akita_map img{
width: auto;
max-width: 450px;
max-height: calc(100vh - 100px);
}

.gas_acc_btn{
width: 92%;
max-width: 1000px;
margin: 0 auto 100px;
text-align: center;
}

@media only screen and (max-width:1024px) {
.akita_map img{
width: 100%;
max-height: none;
}
}

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

.akita_map{
width: 200px;
margin: 0 auto;
position: relative;
top: 0;
}

.gas_acc_list{
margin-top: 30px;
}
}





/*---------------------------------------------------

　　サービス／おいしい水

　---------------------------------------------------*/
#service_water{
margin-top: 150px;
}

#water_vanadium{
background-image: linear-gradient(0deg, #def1fb, #ffffff);
}

.water_box{
margin-top: 80px;
}

.water_box > li{
display: flex;
justify-content: space-between;
margin-bottom: 50px;
}

.water_box > li:nth-child(even){
flex-direction: row-reverse;
}

.water_img{
width: 50%;
}
.water_img img{
border-radius: 15px;
}

.water_txt{
max-width: 400px;
margin: 0 auto;
display: flex;
flex-direction: column;
align-items: center;
}

.water_txt > div{
max-width: 280px;
}

.water_txt p{
max-width: 350px;
padding-top: 50px;
position: relative;
    
    &:before{
    content: "";
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translate(-50%);
    width: 1px;
    height: 50px;
    background: rgb(0, 0, 0);
    }
}

.water_txt > ol{
display: flex;
justify-content: space-between;
width: 100%;
text-align: center;
margin-top: 15px;
}

.water_txt > ol li{
width: 110px;
border: 1px solid #0068ab;
padding: 10px;
font-weight: 500;
display: flex;
flex-direction: column;
justify-content: center;
color: #0068ab;
}
.water_txt > ol li span{
font-size: 18px;
font-weight: 500;
}

.water_link_box{
margin-top: 100px;
display: flex;
align-items: center;
justify-content: center;
}

.link_btm .tokusetu{
font-size: 35px;
display: block;
}

.water_server{
width: 45%;
}

.water_btn {
  flex: 1;
  text-align: center;
}

.water_btn .link_btm {
  flex-direction: column;
  width: 100%;
  min-width: auto;
  max-width: 450px;
  align-items: flex-start;
  border-radius: 80px;
  padding-left: 50px;
}

#wateroneclear .water_link_box{
background: #def1fb;
padding: 0 50px;
}

@media only screen and (max-width:1024px) {
.water_txt{
align-items: center;
}

.water_link_box{
flex-direction: column;
}

.water_server{
width: 100%;
max-width: 480px;
margin-top: 30px;
}

.link_btm .tokusetu{
font-size: 2.0rem;
}

#wateroneclear .water_link_box{
padding-top: 50px;
}
}

@media only screen and (max-width:767px) {
#service_water{
margin-top: 100px;
}

.water_box{
margin-top: 50px;
}

.water_box > li,
.water_box > li:nth-child(2n){
flex-direction: column-reverse;
}

.water_img {
width: 100%;
max-width: 400px;
margin: 30px auto 0;
}
}



/*---------------------------------------------------

　　サービス／タプロスのでんき

　---------------------------------------------------*/
#service_elec{
margin-top: 150px;
}

#elec_shikumi{
background: #fff5e0;
padding: 80px 0;
}

.elec_shikumi_box{
display: grid;
grid-template-columns: 
  [full-left] minmax(0, 1fr) [content-start] 260px 740px [content-end] minmax(0, 1fr) [full-right]
}

.shikumi_img{
grid-column: 3 / full-right;
grid-row: 1 / 4;
width: 100%;
padding: 0 50px;
    
    & img {max-width: 850px;}
}

.shikumi_txt{
grid-column: content-start / 3;
grid-row: 1;
    
    & p {
    margin-top: 30px;
    text-align: justify;
    line-height: 170%;
    }
}

@media only screen and (max-width:1024px) {
.elec_shikumi_box{
display: flex;
flex-direction: column;
width: 92%;
margin: 0 auto;
}

.shikumi_img{
width: 100%;
padding: 0;
margin-top: 50px;
}
}

.elec_plan_box{
display: flex;
justify-content: space-between;
margin: 80px 0;
}

.elec_plan{
width: calc(33% - 15px);
padding: 60px 15px 20px;
background: #4a9bd5;
border-radius: 15px;
color: #fff;
position: relative;
    
    &.value{background: #d76988;}
    &.premium{background: #ac69a0;}
    
    & p{
    text-align: center;
    line-height: 130%;
    }
    
    & h3{
    text-align: center;
    line-height: 100%;
    color: #fbeb57 !important;
    margin: 15px 0;
    }
}

.hukidashi{
width: 90%;
max-width: 400px;
padding: 15px 10px;
text-align: center;
border-radius: 15px;
background: #fff;
color: #000;
position: absolute;
left: 50%;
top: -45px;
transform: translate(-50%,0);
font-weight: 500;
border: 2px solid #4a9bd5;
    
    & span{
    font-weight: 700;
    font-size: 23px;
    line-height: 120%;
    }
    
    &:before{
    content: "";
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translate(-50%,0);
    border: 10px solid transparent;
    border-top: 15px solid #fff;
    z-index: 2;
    }
}
.value .hukidashi{
border-color: #d76988;
}
.premium .hukidashi{
border-color: #ac69a0;
}

.elec_plan ul{
border-top: 1px dashed #fff;
padding-top: 10px;
font-size: 14px;
    
    & li{
    list-style: disc;
    margin-left: 18px;
    margin-bottom: 3px;
    }
}

.elec_ryoukin_list_box{
display: flex;
justify-content: center;
gap: 50px;
margin: 30px 0 80px;
    & a {
        display: flex;
        align-items: center;
        font-size: 1.4rem;
    }
}

#service_elec,
#service_elec_plan{
    
    & h3 {
    color: #FF9200;
    text-align: center;
    }
}

.elect .icon_item{
background-color: #FF9200;
width: 45px;
height: 45px;
margin-right: 20px;
}
i.icon_kojin{mask-image: url('../img/service/icon_elec_kojin.svg');}
i.icon_houjin{mask-image: url('../img/service/icon_elec_houjin.svg');}

#elec_simu{
margin: 0 50px 100px;
padding: 50px;
background: #fff5e0;
border: 2px solid #FF9200;
border-radius: 50px;
    & h2 {text-align: center;}
}

.elec_simu_box{
display: flex;
justify-content: center;
align-items: center;
margin: 30px 0;
gap: 50px;
}

.elec_simu_txt{
width: 50%;
text-align: center;
    & p{
        width: 80%;
        margin: 0 auto 30px;
        text-align: left;
        line-height: 180%;
        font-size: 18px;
    }
}

.elec_simu_img{
flex: 1;
text-align: center;
}

.simu_notes{
font-size: 14px;
    & span {color: #db1616;}
}

@media only screen and (max-width:1024px) {
.elec_plan_box{
flex-direction: column;
}

.elec_plan{
width: 100%;
display: flex;
align-items: center;
margin: 0 auto 80px;
    
    &:last-child {margin-bottom: 0;}
}

.plan_tit{
width: 55%;
}

.elec_plan ul{
flex: 1;
border-left: 1px dashed #fff;
border-top: none;
padding: 10px 0 10px 20px;
}

#elec_simu{
margin-left: 0;
margin-right: 0;
padding: 30px 5%;
}
}

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

.plan_tit{
width: 100%;
}

.elec_plan ul{
width: 100%;
border-top: 1px dashed #fff;
border-left: none;
padding: 10px 10px 0;
}
}


.elec_kei_box{
margin: 50px 0 80px;
}

.keiyaku_list{
margin-bottom: 80px;
    
     & li {
         position: relative;
         padding-left: 150px;
    }
}

.keiyaku_list_tit{
display: flex;
align-items: center;
}

.keiyaku_flow_nm{
line-height: 100%;
display: flex;
align-items: center;
justify-content: center;
font-size: 40px;
font-weight: 500;
color: #fff;
background: #FF9200;
border-radius: 50px;
width: 60px;
height: 60px;
margin-right: 15px;
}
.keiyaku_flow_tit{
font-size: 25px;
line-height: 130%;
flex: 1;
}

.keiyaku_inner{
border-left: 2px solid #FF9200;
margin: 15px 0 15px 30px;
padding: 15px 30px 15px 45px;
}
li:last-child .keiyaku_inner{
border-left: none;
margin-bottom: 0;
padding-bottom: 0;
}

.kei_img{
max-width: 300px;
margin-top: 20px;
}

.kei_huki{
width: 130px;
position: absolute;
top: 0;
left: 0;
}

@media only screen and (max-width:767px) {
.keiyaku_list{
    & li{
    padding-top: 35px;
    padding-left: 0px;
    }
}

.keiyaku_inner{
border-left: 0;
margin: 20px 0;
padding: 0;
}

.keiyaku_list_tit{
width: 100%;
flex-direction: column;
}

.keiyaku_flow_nm{
margin-bottom: 15px;
margin-right: 0;
}

.kei_huki{
width: 80px;
left: 35%;
transform: translate(-35%,0);
}
}


.yakkan_box{
margin: 50px;
}

.yakkan_box h5{
color: #FF9200;
font-size: 20px;
font-weight: 500;
}

.yakkan_list{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
gap: 30px;
margin: 15px 0 50px;
}

.yakkan_list li{
width: 48%;
border-bottom: 1px solid #000;
    
    & a{
    position: relative;
    display: flex;
    padding: 7px 35px 10px 0;
        
        &:after{
        content: "";
        position: absolute;
        margin: auto;
        top: 50%;
        right: 15px;
        width: 7px;
        height: 7px;
        border-top: 2px solid #000;
        border-right: 2px solid #000;
        transform: translate(0,-50%) rotate(45deg);
        }
        
        &:before{
        content: "";
        width: 20px;
        height: 20px;
        background: #FF9200;
        margin-right: 10px;
        }
    }
    
    & p{line-height: 120%;}
    
    & span{
    font-size: 13px;
    display: block;
    margin-top: 5px;
    }
}

@media only screen and (max-width:1024px) {
.yakkan_box{
margin-left: 0;
margin-right: 0;
}
}

#elec_qa{
background: #fff5e0;
padding: 80px 0;
}

.elec_qa_box{
width: 92%;
max-width: 1000px;
margin: 0 auto;
display: flex;
justify-content: space-between;
}

.elec_qa_list{
width: 70%;
display: flex;
flex-direction: column;
gap: 20px;
    
    & li{
    background: #fff;
    padding: 15px 30px;
    border-radius: 30px;
    }
}

.question, .answer{
position: relative;
}
.question{
padding-right: 40px;
}
.question:after{
content: "";
display: inline-block;
width: 10px;
height: 10px;
border-bottom: 2px solid #000;
border-right: 2px solid #000;
transform: translate(0,-50%) rotate(45deg);
position: absolute;
top: 50%;
right: 0px;
transition: 0.2s;
}
.answer{
display: none;
border-top: 1px dashed #000;
margin-top: 15px;
padding-top: 15px;
}

.question .q,
.answer .a{
display: flex;
align-items: center;
}
.question .q:before,
.answer .a:before{
font-size: 50px;
font-weight: 700;
font-family: "Oswald", sans-serif;
width: 40px;
height: 60px;
line-height: 100%;
margin-right: 25px;
display: inline-block;
}

.question .q:before{
content: "Q.";
color: #FF9200;
}
.answer .a:before{
content: "A.";
color: #0068ab;
margin-bottom: auto;
}

.answer .a a{
margin-top: 10px;
display: inline-block;
color: #0068ab;
}

#elec_qa h2.color_tit{
position: sticky;
align-self: start;
top: 150px;
height: calc(100vh - 200px);
}

.elec_link_box{
display: flex;
justify-content: space-between;
gap: 40px;
width: 100%;
}

.elec_link_btm{
flex: 1;
aspect-ratio: 1;
    
    & a{
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border: 3px solid #ffe65f;
    border-radius: 30px;
    padding: 20px;
    }
    
    &:nth-child(2) a {border-color: #f39800;}
    &:nth-child(3) a {border-color: #d7e85d;}
}

.elec_link_btm .link_txt{
padding-right: 50px;
position: relative;
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
    
    &:before, &:after{
    content: "";
    display: inline-block;
    position: absolute;
    }
}

.elec_link_btm .link_txt:before{
background: #ffe65f;
border-radius: 100%;
width: 45px;
height: 45px;
top: 50%;
right: 0;
transform: translate(0,-53%);
}
.elec_link_btm:nth-child(2) .link_txt:before{
background: #f39800;
}
.elec_link_btm:nth-child(3) .link_txt:before{
background: #d7e85d;
}

.elec_link_btm .link_txt:after{
top: 50%;
right: 23px;
width: 10px;
height: 10px;
border-top: 2px solid #000;
border-right: 2px solid #000;
transform: rotate(45deg) translate(0,-50%);
margin-top: -2px;
}

.elec_link_btm .link_txt h5{
font-size: 35px;
font-weight: 500;
}
.elec_link_btm:nth-child(2) .link_txt h5{
font-size: 25px;
}

.elec_link_btm .link_txt span{
font-size: 14px;
}

.elec_link_btm .link_img{
max-width: 100px;
margin: 0 auto;
}

@media only screen and (max-width:1024px) {
.elec_link_btm{
flex: none;
width: 300px;
margin: 0 auto;
}

.elec_link_box{
flex-wrap: wrap;
}
}

@media only screen and (max-width:767px) {
.elec_ryoukin_list_box{
gap: 30px;
flex-direction: column;
}

.elec_simu_box{
flex-direction: column;
gap: 30px;
}

.elec_simu_txt{
width: 100%;
margin-right: 0;
    & p{width: 100%;}
}

.yakkan_list{
flex-direction: column;
}
.yakkan_list li{
width: 100%;
}

.elec_qa_box{
flex-direction: column;
}
#elec_qa h2.color_tit{
position: static;
margin-bottom: 50px;
}
.elec_qa_list{
width: 100%;
}
}



/*---------------------------------------------------

　　サービス／でんき　料金表

　---------------------------------------------------*/
.elec_ryoukin_hed{
background: #f39800;
padding: 50px 10%;
margin-left: 50px;
}

.elec_hed_box{
display: inline-block;
text-align: center;
    
    & h3 {
    line-height: 150%;
    font-size: 40px;
    color: #fff;
    }
    
    & span {
    display: inline-block;
    font-size: 20px;
    line-height: 100%;
    background: #fff;
    padding: 7px 30px;
    margin-top: 7px;
    border-radius: 50px;
    }
}

.elec_ryoukin_box{
border: 2px solid #f39800;
border-radius: 30px;
padding: 50px;
margin-top: 50px;
display: flex;
justify-content: space-between;
    
    & > div{
    font-size: 28px;
    font-weight: 500;
    line-height: 130%;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
        
        &.ryo02, &.ryo03, &.ryo04{
        border-radius: 15px;
        padding: 20px 30px;
        font-size: 25px;
        }
        
        &.ryo01{
        color: #f39800;
        font-size: 35px;
        font-weight: 700;
        }
        &.ryo02{background: #f9c170;}
        &.ryo03{background: #f7d946;}
        &.ryo04{background: #d39f53;}
    }
}

@media only screen and (max-width:1024px) {
.elec_ryoukin_box{
flex-wrap: wrap;
    
    & > div.ryo01{
    width: 100%;
    line-height: 130%;
    }
    & > div:nth-child(2){
    width: 100%;
    transform: rotate(90deg);
    }
}
}

@media only screen and (max-width:767px) {
#second_title.elect_title{
flex-direction: column;
    
    & .title_txt{
    margin: 30px 0 0;
    }
}

.elec_ryoukin_hed{
padding: 30px 5%;
margin: 0;
text-align: center;
}

.elec_hed_box{
    & h3{
    font-size: 2rem;
    }
    
    & span{
    font-size: 1.15rem;
    }
}
.elec_ryoukin_box{
padding: 30px;
flex-direction: column;
    
    & > div{font-size: 1.25rem;}
}


}


.elec_ryoukin_tab{
display: flex;
gap: 2px;
position: sticky;
align-self: start;
top: 95px;
background: #fff;
padding: 30px 0;
z-index: 10;
}

.elec_ryoukin_tab li{
flex: 1;
cursor: pointer;
padding: 20px 10px;
text-align: center;
line-height: 120%;
font-size: 20px;
background: #d9d9d9;
position: relative;
display: flex;
align-items: center;
justify-content: center;
    
    &.selected{
    background: #f39800;
    color: #fff;
    font-weight: 700;
        
        &:before{
        content: "";
        position: absolute;
        bottom: -28px;
        left: 50%;
        transform: translate(-50%,0);
        border: 10px solid transparent;
        border-top: 20px solid #f39800;
        z-index: 2;
        }
    }
}

.tab_panel_ryoukin{
margin-top: 20px;
}

.tab_panel_ryoukin .tab_panel{
overflow: hidden;
height: 0;
opacity: 0;
    
    &.active{
    overflow: visible;
    height: auto;
    opacity: 1;
    transition: opacity .4s ease-in-out;
    }
}

.tab_panel{
margin: 0 50px;
}

.plan_txt02{
text-align: center;
margin: 50px 0 30px;
font-size: 18px;
color: #db1616;
}

.ryokin_plan{
margin-bottom: 30px;
}

.ryokin_midashi{
width: 100%;
background-color: #f9c170;
padding: 15px;
text-align: center;
font-size: 20px;
font-weight: 500;
border: 1px solid #828282;
    
    &.denryoku {background-color: #f7d946;}
}

.ryokin_list{
width: 100%;
font-size: 18px;
text-align: center;
    
    & th, & td {
        border-bottom: 1px solid #828282;
        border-left: 1px solid #828282;
        padding: 10px;
        
        &:last-child {
            border-right: 1px solid #828282;
        }
    }
}

.ryokin_list.kihon th{
font-weight: 700;
}
.ryokin_list .plice td{
padding-top: 25px;
padding-bottom: 25px;
vertical-align: middle;
}

.plan_table_box{
display: flex;
width: 100%;
}

.ryokin_list.denryoku{
width: auto;
flex: 1;
background-color: #fff;
    
    & th {
        padding: 20px 5px;
        height: 55px;
        font-size: 15px;
        line-height: 120%;
        vertical-align: middle;
    }
    
    &.happy th{background-color: #9ad9f7;}
    &.value th{background-color: #f4b8b8;}
    &.premium th{background-color: #d6bee5;}
    &.plan_c th{background-color: #ffeabe;}
    &.plan_ene th{background-color: #d1edb5;}
    
    & .keiyaku th{
        padding-top: 0;
        padding-bottom: 0;
        font-size: 14px;
    }
}

.plan_name{
    & h4 {
    font-size: 20px;
    font-weight: 500;
    line-height: 120%;
    }
    
    & p {
    margin-top: 10px;
    font-size: 14px;
    }
}

.kinon_plan_box{
margin: 30px 0;
    
    & ul {
    display: flex;
    background: #fff;
    text-align: center;
        
        & li {
        width: 50%;
        border-top: 1px solid #828282;
        border-left: 1px solid #828282;
        border-bottom: 1px solid #828282;
            &:last-child{
            border-right: 1px solid #828282;
            }
        }
    }
    
    & .midashi {
    background-color: #f9c170;
    border-bottom: 1px solid #828282;
    padding: 15px;
    font-weight: 500;
    font-size: 20px;
    }
    
    & .price {
    padding: 25px 10px;
    font-size: 20px;
    }
}

.plan_ryokin_notes{
font-size: 13px;
margin-top: 5px;
}

.season div{
display: flex;
justify-content: center;
align-items: center;
    
    & span {
    display: inline-block;
    font-size: 12px;
    width: 65px;
    padding: 5px;
    margin-right: 10px;
    border: 1px solid #828282;
    line-height: 100%;
    }
}

.Bplan_box{
display: flex;
padding: 30px 0;
    
    & table {width: 100%; border-bottom: 1px solid #828282;}
    & table.bplan_kihon {width: 35%;}
    & table.bplan_denryoku {width: 65%;}
    
    & table th, table td {
    border-top: 1px solid #828282;
    border-left: 1px solid #828282;
    }
    
    & table th {
    height: 50px;
    background: #f9c170;
    padding: 0 10px;
    font-size: 20px;
    vertical-align: middle;
    }
    & table.bplan_denryoku th {
    background-color: #f7d946;
    width: calc(100% / 3);
    }
    & table.bplan_denryoku th:last-child {border-right: 1px solid #828282;}
    & table.bplan_kihon th {height: 100px;}
    
    & table td {
    height: 50px;
    padding: 0 10px;
    font-size: 20px;
    vertical-align: middle;
    text-align: center;
        
        & span {
        font-size: 16px;
        font-weight: normal;
        display: inline-block;
        margin-right: 15px;
        font-weight: 700;
        }
    }
    & table.bplan_denryoku td:last-child {border-right: 1px solid #828282;}
}

.Bplan_box .keiyaku th{
font-size: 14px;
}
.Bplan_box .bplan_denryoku td{
height: 200px;
}

.elec_plan_notes{
margin: 0 50px 80px;
padding: 30px;
background: #fff5e0;
border-radius: 30px;
font-size: 14px;
}

.elec_simu_btn{
margin: 30px 0;
text-align: center;
    & a {
        font-size: 25px;
        min-width: 450px;
        text-align: center;
    }
}

@media only screen and (max-width:1024px) {
.elec_ryoukin_tab li{
font-size: 1.15rem;
}

.plan_table_box{
flex-direction: column;
}

.tab_panel{
margin: 0;
}
}

@media only screen and (max-width:767px) {
.elec_ryoukin_tab{
position: static;
flex-wrap: wrap;
padding-bottom: 0;
}

.elec_ryoukin_tab li{
font-size: 1.0rem;
width: calc((100% - 2px * 2) / 3);
flex: none;
height: 70px;
padding: 10px;
    
    &.selected:before{
    display: none;
    }
}

.plan_txt02{
margin-top: 30px;
}

.ryokin_list.kihon{
display: block;
    
    & tbody{
    display: flex;
    }
    & tr.keiyaku{
    display: flex;
    flex-direction: column;
    width: 30%;
        & th{border-right: none;}
    }
    & tr.plice{
    width: 70%;
    display: flex;
    flex-direction: column;
        & td{
        padding: 10px;
        border-right: 1px solid #828282;
        }
    }
}

.Bplan_box{
flex-direction: column;
    
    & table.bplan_kihon{
    width: 100%;
    border-right: 1px solid #828282;
    margin-bottom: 30px;
        & th{
            height: auto;
            padding: 10px;
        }
    }
    
    & table.bplan_denryoku{
    width: 100%;
    }
}

.elec_plan_notes{
margin-left: 0;
margin-right: 0;
}

.elec_simu_btn{
    & a{
    font-size: 1.3rem;
    min-width: auto;
    }
}
}




/*---------------------------------------------------

　　サービス／暮らしに関するサポート

　---------------------------------------------------*/
.equip_point_box{
display: flex;
flex-wrap: wrap;
gap: 20px;
margin: 50px 0 80px;
    
    & li{max-width: 280px;}
    & li:nth-child(4){margin-left: auto;}
}

#equip_buy{
margin: 0 50px 100px;
padding: 50px;
background: #ebf4ec;
border: 2px solid #00B896;
border-radius: 50px;
    
    & h2{text-align: center;}
}

.equip_buy_box{
display: flex;
justify-content: center;
align-items: center;
margin-top: 50px;
}

.equip_buy_txt{
width: 60%;
text-align: center;
    
    & p{
    display: inline-block;
    text-align: left;
    line-height: 180%;
    font-size: 18px;
    margin-bottom: 50px;
    }
}

.equip_buy_img{
flex: 1;
text-align: center;
    
    & img{max-width: 200px;}
}

.equip_item_box{
display: flex;
flex-wrap: wrap;
gap: 30px;
}

.equip_item_box li{
width: calc((100% - 30px * 3) / 4);
border: 2px solid #00B896;
border-radius: 15px;
    
    & img{
    border-top-left-radius: 13px;
    border-top-right-radius: 13px;
    }
    
    & p{
    padding: 15px;
    word-break: break-all;
    text-align: justify;
        & span{
        color: #00B896;
        font-size: 18px;
        font-weight: 500;
        line-height: 130%;
        display: inline-block;
        }
    }
}

@media only screen and (max-width:1024px) {
.equip_point_box {
    & li{
    width: calc((100% - 20px * 2) / 3);
    }
}

#equip_buy{
margin-right: 0;
margin-left: 0;
padding: 50px 5%;
}

.equip_item_box li{
    & p {
    font-size: 0.9rem;
    line-height: 22px;
    }
}
}

@media only screen and (max-width:767px) {
.equip_point_box{
margin-top: 80px;

    & li{
    width: calc((100% - 20px) / 2);
    }
    & li:nth-child(odd){margin-top: -50px;}
    & li:nth-child(2n){margin-top: 50px;}
}

.equip_buy_box{
flex-direction: column;
}

.equip_buy_txt{
width: 100%;
    & p{
    line-height: 150%;
    font-size: 1rem;
    margin-bottom: 30px;
    }
}
.equip_buy_img{
margin-top: 30px;
}

.equip_item_box li{
width: calc((100% - 30px) / 2);
}
}



/*---------------------------------------------------

　　サービス／コインランドリー

　---------------------------------------------------*/
#service_laundry{
margin-top: 150px;
}

.laundry_name{
display: grid;
/* [画面左端〜1000px左端] | [1000px内の画像領域(例:600px)] | [1000px内の右側領域(例:400px)] | [1000px右端〜画面右端] */
grid-template-columns: 
  [full-left] minmax(0, 1fr) [content-start] 640px 360px [content-end] minmax(0, 1fr) [full-right];
}

.laundry_hed_img{
grid-column: full-left / 3;
grid-row: 1 / 4;
height: 420px;
width: 100%;
    
    & img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    }
}

.laundry_name h2{
grid-column: content-start / content-end;
grid-row: 1;
z-index: 1;
max-width: 100%;
justify-self: start; 
background-color: #fff;
padding: 0 30px;
transform: translateY(20px);
margin-left: auto;
}

.laundry_hed_txt{
grid-column: 3 / content-end;
grid-row: 3;
z-index: 1;
margin-left: 25px;
align-self: end;
}

.laundry_conte li{
display: flex;
align-items: flex-start;
gap: 50px;
margin: 50px 0;
    
    &:nth-child(even){
    flex-direction: row-reverse;
    }
}

.laundry_txt{
flex: 1;
margin-top: 30px;
}

.coin_tit{
font-size: 1.7rem;
font-weight: 500;
line-height: 40px;
color: #0068ab;
}

.coin_txt{
margin: 15px 0 30px;
line-height: 28px;
}

.laundry_detail{
margin: 30px 0;

    & p{
    display: flex;
    align-items: baseline;
    margin-top: 10px;
    }
    & span{
    font-size: 18px;
    display: inline-block;
    }
    
    & .det01{
    width: 120px;
    text-align: center;
    background: #898989;
    padding: 10px;
    color: #fff;
    line-height: 100%;
    margin-right: 15px;
    }
    
    & .det02{flex: 1;}
}

.laundry_img{
width: 50%;
    
    & img{border-radius: 30px;}
    & img:nth-child(2){margin-top: 20px;}
}

.laundry_acc_box{
background: #e2e7ea;
padding: 50px;
gap: 30px;
border-radius: 50px;
display: flex;
justify-content: space-between;
    
    & iframe{
    width: 50%;
    min-height: 300px;
    }
}

.laundry_acc_txt{
flex: 1;
    
    & > div{
    display: flex;
    align-items: baseline;
        &:first-of-type{
        margin-top: 30px;
        }
    }
    
    & p:last-child{flex: 1;}
    & p span{font-size: 23px;}
}

#laundry_2nd{
background: #e2e7ea;
padding-top: 100px;
display: inline-block;
width: 100%;
}

.laundry_name02{
display: grid;
grid-template-columns: 
  [full-left] minmax(0, 1fr) [content-start] 360px 640px [content-end] minmax(0, 1fr) [full-right];
}

.laundry_hed_img02{
grid-column: 3 / full-right;
grid-row: 1 / 4;
height: 420px;
width: 100%;
    
    & img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    }
}

.laundry_name02 h2{
grid-column: content-start / content-end;
grid-row: 1;
z-index: 1;
max-width: 100%;
justify-self: start; 
background-color: #fff;
padding: 0 30px;
transform: translateY(20px);
margin-right: auto;
}

.laundry_hed_txt02{
grid-column: content-start / 3;
grid-row: 3;
z-index: 1;
margin-right: 25px;
align-self: end;
}

#laundry_2nd .laundry_acc_box{
background: #fff;
}

.line_bnr_box{
text-align: center;
}

@media only screen and (max-width:1024px) {
.laundry_name{
display: flex;
flex-direction: column;
position: relative;
    
    & h2{
    position: absolute;
    font-size: 2.5rem;
    right: 0;
    }
}

.laundry_name02{
display: flex;
flex-direction: column;
position: relative;

    & h2{
    position: absolute;
    font-size: 2.5rem;
    left: 0;
    }
}

.laundry_hed_img,
.laundry_hed_img02{
width: 85%;
}
.laundry_hed_img02{
margin-left: auto;
}

.laundry_hed_txt,
.laundry_hed_txt02{
width: 92%;
margin: 30px auto 0;
align-self: center;
text-align: center;
}

.laundry_conte li{
align-items: flex-start;
}

.laundry_txt{
margin-top: 0;
}

.laundry_detail{
    & span{
    font-size: 1rem;
    display: inline-block;
    }
}
}

@media only screen and (max-width:767px) {
#service_laundry{
margin-top: 100px;
}

.laundry_hed_img,
.laundry_hed_img02{
width: 100%;
max-height: 250px;
height: 60vw;
}

.laundry_name,
.laundry_name02{
    & h2 {
    position: static;
    font-size: 1.8rem;
    padding: 10px;
    background: transparent;
    }
}

.laundry_conte li{
flex-direction: column;
gap: 0;
    &:nth-child(2n){
    flex-direction: column;
    }
}

.laundry_img{
width: 100%;
max-width: 400px;
margin: 0 auto;
}

.laundry_acc_box{
padding: 30px 5%;
flex-direction: column;
    
    & iframe{
    width: 100%;
    min-height: 250px;
    }
}

.coin_tit{
font-size: 1.5rem;
line-height: 35px;
}

#laundry_2nd{
padding-top: 0;
}
}