@charset "UTF-8";

/*  ルート変数　*/
:root {
--color-text: #333333;
--color-green: #04BA9C;
--color-accent: #FEA400;
--color-text-green: #28AFA0;
--color-green-light: #F5F8FA;
--line-height-base: 1.7;
--content-width-s: 924px;
--content-width: 984px;
--content-width-l: 1148px;
--content-max-width: 2200px;
--content-pdlr: 20px;
--sec-padding-t: 44px;
--sec-padding-b: 56px;
--section-title-mb1: 74px;
--section-title-mb2: 80px;
--fs-xs: 12px;
--fs-sm: 14px;
--fs-md: 15px;
--fs-base: 16px;
--fs-xl: 24px;
}


/*  共通　*/
main{
max-width: var(--content-max-width);
margin-left: auto;
margin-right: auto;
overflow: hidden;
border-top: 1px solid #D4ECE6;
border-bottom: 1px solid #D4ECE6;
}
a,button[type="submit"]{
transition: opacity .3s ease;
}
.section-title {
position: relative;
margin-bottom: var(--section-title-mb1);
font-size: 36px;
font-weight: 700;
line-height: 1.5;
text-align: center;
}
.section-title::after {
content: "";
position: absolute;
bottom: -16px;
left: 50%;
width: 48px;
height: 2px;
background-color: var(--color-green);
transform: translateX(-50%);
}
.section-title-white{color:#fff}
.section-title-white::after{background:#fff}
.btn-cta{
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 56px;
width: 100%;
gap: 12px;
padding: 10px 32px;
background-color: var(--color-green);
border-radius: 50px;
text-decoration: none;
font-weight: 600;
font-size: 16px;
line-height: 1.5;
color: #ffffff;
box-shadow: 0 5px 0 #068974;
}
.btn-cta::after{
content: '';
display: block;
width: 22px;
aspect-ratio: 1 / 1;
background:url("img/maintenance/ic-arrow.svg") no-repeat center center / contain;
transform: rotate(90deg);
}
.btn-cta-white {
background: #fff;
width: fit-content;
color: var(--color-green);
font-size: 20px;
}
.btn-cta-white::after{
background:url("img/maintenance/ic-arrow-g.svg") no-repeat center center / contain;
}
.cta-wrap {
max-width: var(--content-width-l);
margin-left: auto;
margin-right: auto;
position: relative;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 38px 20px 32px;
background: var(--color-green);
border-radius: 14px;
}
.cta-wrap::before{
content: "";
position: absolute;
width: 0;
height: 0;
border-left: 22px solid transparent;
border-right: 22px solid transparent;
border-top: 22px solid #fff;
left: 50%;
top: -1px;
transform: translateX(-50%);
}
.cta-message {
margin-bottom: 20px;
font-size: var(--fs-base);
font-weight: 700;
color: #fff;
line-height: 1.5;
text-align: center;
}
.cta-message br{
display: none;
}
.sec-intro-inL p,.sec-support-in>p {
margin-bottom: 24px;
font-weight: 400;
color: var(--color-text);
font-size: var(--fs-md);
line-height: 1.8;
}

/*  ファーストビュー　*/
.sec-fv{
background:url("img/maintenance/fv-bk.jpg") no-repeat center center / cover;
}
.sec-fv-in{
max-width: 1110px;
margin-left: auto;
margin-right: auto;
display: flex;
align-items: center;
}
.sec-fv-inL{
width: 50%;
padding-left: 63px;
}
.sec-fv-title{
font-size: 38px;
font-weight: 700;
line-height: 1.7;
color: #1A2A24;
margin-bottom: 30px;
}
.sec-fv-title-accent{
color: var(--color-green);
}
.sec-fv-text {
font-size: 18px;
line-height: var(--line-height-base);
color: #1A2A24;
}
.sec-fv-text .b{
font-weight: 600;
}
.sec-fv-inL .btn-cta{
margin-top: 80px;
position: relative;
}
.sec-fv-inL .btn-cta::after{
position: absolute;
right: 20px;
top: 50%;
transform: translateY(-50%) rotate(90deg);
}
.sec-fv-inR{
width: 50%;
}
.sec-fv-inR img {
width: 100%;
height: auto;
display: block;
}
.sec-fv-inR img.sp {
display: none;
}

/*  イントロ　*/
.sec-intro{
overflow: hidden;
padding:var(--sec-padding-t) 0 var(--sec-padding-b);
}
.sec-intro .section-title{
margin-bottom: var(--section-title-mb2);
}
.sec-intro-in {
display: flex;
justify-content: flex-end;
gap: 30px;
max-width: 1200px;
margin-left: auto;
margin-right: auto;
margin-bottom: 70px;
}
.sec-intro-inL {
max-width: calc(var(--content-width-s) / 2);
}
.sec-intro-inL .intro-emphasis{
font-weight: 700;
font-size: 18px;
line-height: 1.7;
}
.sec-intro-inL .intro-emphasis span{
color: var(--color-text-green);
font-size: 19px;
border-bottom: 3px solid var(--color-accent);
}
.sec-intro-inL p:last-child {
margin-bottom: 0;
}
.sec-intro-inR {
width: calc(50% - 30px);
box-shadow: -20px 20px 20px #f1f1f1;
border-radius: 20px 0 0 20px;
display: flex;
align-items: center;
justify-content: center;
}
.sec-intro-inR img{
width: 65%;
min-width: 300px;
}

/*  サポート内容　*/
.sec-support {
position: relative;
padding:var(--sec-padding-t) 0 0;
background: var(--color-green-light);
}
.sec-support-in{
max-width: var(--content-width-s);
margin-left: auto;
margin-right: auto;
position: relative;
z-index: 1;
}
.emphasis {
color: var(--color-text-green);
font-size: 16px;
font-weight: 700;
}
.sec-support-flow {
margin-top: 48px;
padding: 40px 20px 50px;
background: #fff;
border-radius: 24px;
}
.sec-support-flow h3 {
margin-bottom: 24px;
font-size: 24px;
font-weight: 500;
text-align: center;
color: var(--color-text);
line-height: 1;
}
.sec-support-flow ol {
display: flex;
justify-content: center;
gap: 12px;
position: relative;    
z-index: 0;
max-width: 756px;
margin: 0 auto;
}
.sec-support-flow ol::before{
content: "";
position: absolute;
top: 0;
bottom: 0;
left: 0;
margin: auto;
width: 100%;
height: 34px;
background: #dfe8e8;
z-index: -1;
}
.sec-support-flow li {
position: relative;
display: flex;
flex-direction: column;
align-items: center;
padding: 18px 12px 22px;
border-radius: 8px;
background: var(--color-green-light);
text-align: center;
min-width: 0;
flex: 1;
}
.flow-num {
display: flex;
place-items: center;
justify-content: center;
width: 36px;
aspect-ratio: 1/1;
margin-bottom: 2px;
border-radius: 50%;
background: var(--color-green);
color: #fff;
font-size: var(--fs-base);
font-weight: 700;
}
.sec-support-flow img {
width: 100%;
height: 156px;
object-fit: contain;
margin-bottom: 20px;
}
.sec-support-flow li p{
font-weight: 700;
font-size: var(--fs-base);
color: var(--color-text);
}
.sec-support-example {
position: relative;
background: #fff;
z-index: 0;    
padding:calc(4.2857% - 8.1714px) 0 var(--sec-padding-b);
margin-top: calc(-2.9268% + 36.7805px);
}
.curve-divider {
line-height: 0;
position: absolute;
left: 0;
top: -1px;
width: 100%;
z-index: -1;
}
.curve-divider svg {
width: 100%;
display: block;
transform: scaleY(-1);
}
.curve-divider path {
fill: #f5f8fa;
stroke: initial;
stroke-dasharray: initial;
stroke-dashoffset: initial;
stroke-width: initial;
-webkit-animation: initial;
animation: initial;
}
.sec-support-example::before{
content: "";
display: block;
width: 58px;
aspect-ratio: 58/86;
background: url(img/maintenance/ic-arrow_down.svg) no-repeat center center / contain;
margin: 0 auto 20px;
}
.sec-support-example-in{
max-width: var(--content-width-s);
margin-left: auto;
margin-right: auto;
}
.sec-support-example h3 {
font-size: 32px;
line-height: 1.2;
font-weight: 700;
text-align: center;
margin-bottom: 40px;
}
.sec-support-example h3 .s {
display: block;
font-size: var(--fs-base);
font-weight: 500;
margin-top: 18px;
}
.sec-support-example-list {
display: grid;
grid-template-columns: repeat(5,1fr);
gap: 12px;
}
.sec-support-example-list li {
display: flex;
padding: 16px 0;
flex-direction: column;
align-items: center;
background: #FFF4E0;
border-radius: 12px;
text-align: center;
}
.sec-support-example-list img {
width: calc(100% - 40px);
height: auto;
aspect-ratio: 1/1;
object-fit: contain;
margin-bottom: 4px;
}
.sec-support-example-list span {
font-size: var(--fs-sm);
line-height: 1.5;
font-weight: 400;
color: #1A2A24;
}
.example-note {
margin-top: 36px;
font-size: var(--fs-md);
font-weight: 500;
line-height: 1.6;
color: var(--color-text);
}

/*  メニュー　*/
.sec-menu {
background: var(--color-green);
padding: var(--sec-padding-t) var(--content-pdlr) 96px;
}
.sec-menu .section-title{
margin-bottom: var(--section-title-mb2);
}
.sec-menu-list {
display: grid;
grid-template-columns: repeat(3,1fr);
gap: 24px;
max-width: 920px;
margin: 0 auto;
}
.sec-menu-list>li {
position: relative;
min-height: 340px;
padding: 54px 28px 28px;
background: #fff;
border-radius: 16px;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) ,0 1px 2px -1px rgba(0, 0, 0, 0.1);
z-index: 0;
}
.sec-menu-list h3 {
margin-bottom: 6px;
padding-bottom: 16px;
font-size: 20px;
font-weight: 700;
text-align: center;
line-height: 1.4;
color: var(--color-text);
border-bottom: 1px solid #D4ECE6;
}
.menu-price {
font-size: 40px;
font-weight: 700;
line-height: 1.4;
color: var(--color-green);
text-align: center;
}
.menu-price span, .menu-price small {
font-size: 24px;
color: inherit;
}
.menu-tax {
margin-bottom: 20px;
margin-top: 6px;
font-size: 14px;
font-weight: 400;
color: var(--color-text-green);
text-align: center;
}
.menu-text{
font-size: 14px;
font-weight: 400;
line-height: 1.8;
color: var(--color-text);
}
.sec-menu-list>li.recommendation{
background: #DEF074;
}
.sec-menu-list>li.recommendation::before{
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
width: calc(100% - 20px);
height: calc(100% - 20px);
margin: auto;
background: #fff;
border-radius: 6px ;
z-index: -1;
}
.recommendation-text {
position: absolute;
top: -16px;
left: 50%;
width: 200px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
background: var(--color-accent);
border-radius: 30px;
color: #fff;
font-weight: 700;
transform: translateX(-50%);
font-size: 20px;
}
.sec-menu-list>li.recommendation .menu-price,.sec-menu-list>li.recommendation .menu-tax{
color: var(--color-accent);
}

/*  コールサービス　*/
.sec-callService {
position: relative;
padding: var(--sec-padding-t) var(--content-pdlr) 0;
overflow: hidden;
}
.sec-callService-in{
max-width: var(--content-width-s);
margin-left: auto;
margin-right: auto;
}
.callService-lead {
margin-bottom: 22px;
font-size: 16px;
font-weight: 400;
color: var(--color-text);
line-height: 1.6;
}
.callService-lead .b{
font-weight: 700;
}
.sec-callService-cont{
display: flex;
align-items: center;
gap: 10px;
background: var(--color-green-light);
border-radius: 26px;
padding: 22px;
}
.sec-callService-contL{
flex: 1;
min-width: 0;
padding: 20px 24px 24px;
background: #fff;
border-radius: 16px;
}
.sec-callService-contL h3 {
font-size: 32px;
font-weight: 900;
color: var(--color-accent);
line-height: 1.3;
}
.sec-callService-contL h3 br{
display: none;
}
.lifeline-text{
font-size: var(--fs-xs);
font-weight: 400;
color: rgba(26, 38, 33, 0.55);
margin: 6px 0 18px;
}
.sec-callService-contL>p {
font-size: var(--fs-sm);
font-weight: 400;
color: var(--color-text);
line-height: 1.6;
}
.sec-callService-contL h4 {    
font-size: var(--fs-base);
color: var(--color-text);
font-weight: 400;
border-left: 7px solid var(--color-green);
padding-left: 12px;
line-height: 1.5;
margin: 24px 0 12px;
}
.trouble-list {
display: grid;
grid-template-columns: repeat(3,1fr);
gap: 4px 12px;
}
.trouble-list li {
position: relative;
font-size: 14px;
font-weight: 600;
padding: 5px;
border-radius: 6px;
background: var(--color-green-light);
color: var(--color-text);
line-height: 1.5;
display: flex;
align-items: center;
gap: 4px;
}
.trouble-list li::before {
content: "";
display: inline-block;
width: 18px;
aspect-ratio: 1 / 1;
background: url(img/maintenance/ic-check.svg) no-repeat center center / contain;
}
.callService-note {
margin-top: 10px;
font-size: 12px;
font-weight: 400;
color: var(--color-text);
line-height: 1.6;
}
.sec-callService-contR{
flex-shrink:0;
}
.sec-callService-contR img {
width: 277px;
height: auto;
}
.sec-callService::before, .sec-callService::after {
content: "";
position: absolute;
z-index: -1;
height: auto;
aspect-ratio: 1/1;
border-radius: 50%;
background: var(--color-green);
}
.sec-callService::before {
width: 288px;
top: -94px;
right: 0;
transform: translateX(46%);
opacity: 8%;
}
.sec-callService::after{
width: 256px;
bottom: 140px;
left: 0;
transform: translateX(-54%);
opacity: 4%;
}
.sec-callService .cta-wrap{
margin-top: 100px;
}

/*  お問い合わせ　*/
.sec-inquiry {
padding: 66px var(--content-pdlr) 100px;
text-align: center;    
}
.sec-inquiry .section-title{
margin-bottom: 66px;
}
.sec-inquiry > p{
font-size: var(--fs-base);
font-weight: 400;
color: var(--color-text);
line-height: 1.6;
margin-bottom: 18px;
}
.sec-inquiry-in {
max-width: 672px;
margin: 0 auto;
padding: 20px;
background: var(--color-green-light);
border-radius: 24px;
}
.tel-num {
display: flex;
align-items: center;
width: fit-content;
margin: 0 auto;
font-size: 36px;
font-weight: 700;
line-height: 1;
color: var(--color-green);
text-decoration: none;
gap: 8px;
}
.tel-num::before{
content: "";
display: inline-block;
width: 40px;
aspect-ratio: 1 / 1;
background: url(img/maintenance/ic-tel.svg) no-repeat center center / contain;
transform: translateY(2px);
}
.business-hours{
font-size: 14px;
font-weight: 400;
color: var(--color-text);
line-height: 1.5;
margin-top: 10px;
}
#inquiry form{
max-width: 672px;
margin-left: auto;
margin-right: auto;
margin-top: 50px;
}
#inquiry form .contact_item {
display: flex;
flex-direction: column;
margin-bottom: 24px;
text-align: left;
}
#inquiry form .contact_item label {
color: #1F2937;
margin-bottom: 8px;
font-weight: 700;
line-height: 1.438;
letter-spacing: normal;
}
#inquiry form .contact_item label::after {
content: '必須';
display: inline-block;
padding: 2px 8px;
background: #FEF2F2;
color: #EF4444;
font-size: 11px;
border-radius: 4px;
margin-left: 8px;
font-weight: 700;
}
#inquiry form .contact_item label.any::after{
content: '任意';
background: #F3F4F6;
color: #4B5563;
}
#inquiry form .contact_item input,
#inquiry form .contact_item textarea {
padding: 16px;
border: 1px solid #E5E7EB;
border-radius: .5rem;
}
#inquiry form .contact_item textarea {
line-height: 1.5;
}
#inquiry form .contact_item input::placeholder,
#inquiry form .contact_item textarea::placeholder {
color: #9CA3AF;
font-size: 16px;
}
#inquiry form button[type="submit"] {
width: 100%;
font-size: 18px;
font-weight: 700;
line-height: 1.444;
padding: 18px 0;
border-radius: 12px;
border: none;
color: #ffffff;
background: var(--color-accent);
box-shadow: 0px 10px 20px rgba(0, 102, 204, 0.14);
cursor: pointer;
}
#inquiry form button[type="submit"]:hover {
opacity: 0.6;
cursor: pointer;
}
#inquiry form .submit_btn {
margin-top: 24px;
}
#inquiry form .link_policy {
text-align: center;
font-size: 14px;
margin-top: 24px;
letter-spacing: normal;
color: #4B5563;
line-height: 1.5;
}
#inquiry form .link_policy a {
color: #007AFF;
text-decoration: underline;
}
#inquiry form .link_policy .pc_none{
display: none;
}
.formrun-system-show {
color: #EF4444;
font-weight: 500;
margin-top: 8px;
}
.contact_item:has(.formrun-system-show) input,.contact_item:has(.formrun-system-show) textarea {
border-color: #EF4444!important;
}

/*  ヘッダー　*/
header {
position: static;
padding: 0 var(--content-pdlr);
width: auto;
margin: 0;
border-radius: 0;
opacity: 1;
height: auto;
}
.header-in{
max-width: 1112px;
margin: 0 auto;
display: flex;
align-items: center;
min-height: 64px;
}
.header-logo{
width: 100px;
}
header nav{
margin-left: auto;
}
header nav ul{
gap: 28px;
}
header nav ul li a,header nav ul li label{
font-size: 14px;
font-weight: 400;
color: #5A7068;
padding: 0;
}

/*  レスポンシブ　*/
@media only screen and (max-width: 1188px) {
.sec-intro .cta-wrap{
margin-left: var(--content-pdlr);
margin-right: var(--content-pdlr);
}
}

@media only screen and (max-width: 1050px) {
.sec-fv-inL{
padding-left: 40px;
}
.sec-fv-title{
font-size: 32px;
}
.sec-fv-text{
font-size: 16px;
}
.sec-fv-text br{
display: none;
}
}

@media only screen and (max-width: 964px) {
.sec-fv-inL .btn-cta {
margin-top: 50px;
}
.sec-support-in,.sec-support-example-in{
margin-left: var(--content-pdlr);
margin-right: var(--content-pdlr);
}
}

@media only screen and (max-width: 950px) {
.sec-fv-inL .btn-cta{
padding-left: 0;
padding-right: 0;
}
.sec-fv-inL .btn-cta::after{
position: static;
transform: rotate(90deg);
}
.sec-intro-inL .intro-emphasis span{
font-size: 20px;
}
.trouble-list {
grid-template-columns: repeat(2,1fr);
}
.sec-support-example-list span{
font-size: 13px;
}
}

@media only screen and (max-width: 944px) {
.sec-intro-inL{
max-width: 50%;
padding-left: var(--content-pdlr);
}
}

@media only screen and (max-width: 896px) {
.sp-menu .menu-btn{
top: 12px;
right: 20px;
width: 40px;
height: 40px;
border-radius: 10px;
background-color: rgba(255, 255, 255, 0.9);
display: flex;
justify-content: center;
align-items: center;
transition: background-color 0.3s ease;
}
.open .sp-menu .menu-btn{
background-color: rgba(255, 255, 255, 0%);
}
body .sp-menu-modal{
top: 0;
right: 0;
}
body.open .sp-menu-modal:after{
background: var(--color-green);
}
.sec-fv-inL{
flex: 1;
}
.sec-fv-inR {
width: 46%;
}
.sec-fv-title{
line-height: 1.5;
margin-bottom: 20px;
}
.sec-menu-list{
gap: 16px;
}
.sec-menu-list>li{
padding: 54px 20px 28px;
}
.sec-menu-list>li.recommendation::before{
width: calc(100% - 16px);
height: calc(100% - 16px);
}
#inquiry form .link_policy .pc_none{
display: block;
}
}

@media only screen and (max-width: 850px) {
.menu-price {
font-size: 36px;
}
.menu-price span, .menu-price small {
font-size: 20px;    
}
.sec-callService-contL h3 {
font-size: 28px;
}
}

@media only screen and (max-width: 800px) {
:root {
--section-title-mb1: 60px;
--section-title-mb2: 60px;
}
.sec-fv {
background: url("img/maintenance/fv-bk.jpg") no-repeat center top / 100%;
padding-left: var(--content-pdlr);
padding-right: var(--content-pdlr);
}
.sec-fv-in{
flex-direction: column-reverse;
}
.sec-fv-inL {
padding-left: 0;
width: auto;
max-width: 500px;
}
.sec-fv-title {
text-align: center;
font-size: 40px;
margin-bottom: 30px;
}
.sec-fv-text {
font-size: 18px;
}
.sec-fv-inR {
width: 400px;
max-width: 100%;
}
.sec-fv-inR img.pc {
display: none;
}
.sec-fv-inR img.sp {
display: block;
}
.sec-intro{
padding: 70px var(--content-pdlr) 56px;
}
.sec-intro-in{
display: block;
}
.sec-intro-inL {
max-width: none;
padding-left: 0;
}
.sec-intro-inR{
width: auto;
padding: 20px 0;
box-shadow: 0 25px 46px -12px #E6E9E8;
border-radius: 24px;
}
.sec-intro-inR img {
width: 358px;
max-width: 90%;
min-width: auto;
}
.sec-intro .cta-wrap {
margin-left: 0;
margin-right: 0;
}
.sec-menu{
padding-bottom: var(--sec-padding-b);
}
.sec-menu-list {    
flex-direction: column;
display: flex;
gap: 25px;
}
.sec-menu-list>li{
min-height: 290px;
padding: 28px;
}
.sec-menu-list>li.recommendation{
padding-top: 42px;
min-height: 304px;
}
.sec-menu-list>li.recommendation::before{
width: calc(100% - 20px);
height: calc(100% - 20px);
}
.menu-price {
font-size: 40px;
}
.menu-price span, .menu-price small {
font-size: 24px;
}
.sec-callService-cont{
flex-direction: column;
}
.sec-callService-contL h3 {
font-size: 32px;    
}
.trouble-list {
grid-template-columns: repeat(3,1fr);
}
.sec-callService-contR img {
width: 258px;
max-width: 60vw;
}
.sec-callService .cta-wrap {
margin-top: 80px;
}
.sec-callService::before {
transform: translateX(58%);
top: -120px;
}
.sec-callService::after{
bottom: 116px;
}
.sec-support-example-list {    
grid-template-columns: repeat(2,1fr);
}
.sec-support-example-list img {    
max-width: 130px;
}
.sec-support-example-list span {
font-size: var(--fs-sm);    
}
.sec-inquiry .section-title{
margin-bottom: var(--section-title-mb1);
}
}

@media only screen and (max-width: 750px) {
.sec-support-flow li p {    
font-size: 14px;
}
}

@media only screen and (max-width: 700px) {
.sec-support-flow{
padding: 20px 15px 15px;
}
.sec-support-flow ol{
flex-direction: column;
}
.sec-support-flow ol::before{
width: 34px;
height: 100%;
right: 0;
}
.sec-support-flow li p {
font-size: var(--fs-base);    
}
.sec-support-flow img {
height: 174px;    
}
.sec-support-example{
padding-top: 0;
margin-top: 44px;
}
.sec-support-example::before{
transform: translateY(calc(3.7931vw - 29.6552px));
margin-bottom: calc(4.4444vw - 17.1111px);
}
}

@media only screen and (max-width: 670px) {
.trouble-list {
grid-template-columns: repeat(2,1fr);
}
}

@media only screen and (max-width: 600px) {
:root {
--section-title-mb1: 48px;
--section-title-mb2: 48px;
}
.section-title {    
font-size: 30px;    
}
.sec-menu-list>li{
min-height: 320px;
}
.sec-menu-list>li.recommendation{
min-height: 334px;
}
}

@media only screen and (max-width: 570px) {
.sec-callService-contL h3 br{
display: block;
}
.lifeline-text{
margin-top: 12px;
}
}

@media only screen and (max-width: 500px) {
.btn-cta-white{
width: 100%;
padding-left: 0;
padding-right: 0;
}
.sec-fv-title{
font-size: calc(7.2727vw + 1.6364px);    
}
.sec-intro-in {
margin-bottom: 60px;
}
.sec-callService .cta-wrap {
margin-top: 60px;
}
.sec-support-example h3 {    
margin-bottom: 35px;
}
.sec-callService-cont {
padding: 10px;
border-radius: 18px;
}
.trouble-list {
gap: 4px 8px;
}
.sec-inquiry {
padding-bottom: var(--sec-padding-b);
}
}

@media only screen and (max-width: 450px) {
:root {
--content-pdlr: 15px;
}
.cta-wrap{
padding: 32px 8px;
border-radius: 12px;
}
.cta-message br{
display: block;
}
.sec-fv-text {
font-size: 16px;
}
.sec-fv-inL .btn-cta {
margin-top: 30px;
}
}

@media only screen and (max-width: 431px) {
.btn-cta-white{
font-size: calc(5.7143vw - 4.5714px);
}
.section-title{
font-size: calc(8.5714vw - 6.8571px);
}
.sec-fv-in{
gap: calc(-12.8571vw + 56.2857px);
}
}

@media only screen and (max-width: 429px) {
.sec-callService-contL {    
padding:16px 20px 20px;    
}
.trouble-list li{
font-size: 13px;
}
}

@media only screen and (max-width: 415px) {
:root {
--sec-padding-b: 50px;
}
.btn-cta{
gap: 8px;
}
.sec-fv-inL .btn-cta{
font-size: calc(4.6296vw - 3.1667px);
}
}

@media only screen and (max-width: 400px) {
.trouble-list {
grid-template-columns: repeat(1,1fr);
}
.trouble-list li {
font-size: 14px;
}
}

@media only screen and (max-width: 374px) {
.tel-num{
font-size: 34px;
}
.tel-num::before{
width: 36px;
}
}


/*  サンクスページ　*/
.maintenance-thanks{
background: url("img/maintenance/fv-bk.jpg") no-repeat center top / 100%;
text-align: center;
padding: 86px var(--content-pdlr) 0;
}
.maintenance-thanks h1{
color: #1A2A24;
font-weight: 700;
font-size: 38px;
line-height: 1.5;
margin-bottom: 50px;
}
.maintenance-thanks p{
color: #1A2A24;
font-weight: 400;
font-size: 16px;
line-height: 1.7;
}
.maintenance-thanks .btn-cta{
margin: 50px auto 0;
max-width: 324px;
position: relative;
}
.maintenance-thanks .btn-cta::after{
position: absolute;
right: 20px;
top: 50%;
transform: translateY(-50%);
}
.maintenance-thanks-img{
width: 100%;
max-width: 560px;
display: block;
margin:60px auto 0;
}

@media only screen and (max-width: 700px) {
.maintenance-thanks{
padding-top: 42px;
}
.maintenance-thanks h1 {
font-size: 32px;
}
.maintenance-thanks-img {
max-width: 400px;
}
}

@media only screen and (max-width: 389px) {
.maintenance-thanks h1 {
font-size: 28px;
}
}

@media only screen and (max-width: 370px) {
.maintenance-thanks p {
font-size: 15px;
}
}