@charset "utf-8";

:root{
  --service01-color:#da468d;
}

.lp-page header{
  position:absolute;
}
.lp-page #contact.is-fixed{
  position:relative;
}

#container.service{
}
#container.service > .title{
  position:relative;
  top:0;
  z-index:100;
  float:none;
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  flex-wrap:wrap;
  gap:1.0rem 2.0rem;
  padding-right:calc((100% - 1200px) / 2);
}
#container.service > .title > h1::before{
  display:none;
}
#container.service > .text-box{
  padding:0 calc((100% - 1200px) / 2);
  margin:0;
}

#container.service section{
  margin:0;
  padding-bottom:8.0rem;
}
#container.service section > h2{
  font-size:1.8rem; line-height:1.6; font-weight:var(--bold);
  color:var(--service01-color);
  text-align:center;
  position:relative;
}
#container.service .reason section > h2{
  color:var(--main-color);
}
#container.service section > h2::after{
//  display:none;
}
#container.service section > h2::before{
  content:attr(data-text);
  font-size:1.15rem; line-height:1.4; font-weight:var(--bold);
  color:var(--base-color);
  white-space:nowrap;
  position:absolute;
  top:0; left:50%;
  transform:translate(-50%, -100%);
}

#service-billboard{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:0 0;
  margin-bottom:3.0rem;
}
#service-billboard > figure{
  width:42%; height:auto;
  aspect-ratio:4/3;
  margin:0 auto;
}
#service-billboard > figure > img{
  width:100%; height:100%;
  object-fit:cover;
}
#service-billboard > .text-box{
  flex:1;
  text-align:left;
}
#service-billboard .emergency-banner{
  width:fit-content;
  text-align:center;
  font-size:1.05rem; line-height:1.4; font-weight:var(--normal);
  color:#fff;
  background:#da468d;
  padding:0.5em 4.0em;
  border-radius:9999px;
  margin-bottom:3.0rem;
}
#service-billboard h1{
  font-size:2.6rem; line-height:1.2; font-weight:var(--normal);
  margin-bottom:0.5em;
}
#service-billboard > .text-box > p{
  font-size:1.1rem; line-height:1.8;
  margin-bottom:2.0em;
}
#service-billboard ul.cta-button{
  justify-content:flex-start;
}
.service ul.cta-button{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:0 1.5rem;
}
.service ul.cta-button > li{
  width:calc((100% - 1.5rem) / 2);
}
.service ul.cta-button > li > a{
  display:block;
  text-decoration:none;
  border:0.15rem solid var(--main-color);
  border-radius:9999px;
  overflow:hidden;
  font-size:1.05rem; line-height:1.8; font-weight:var(--bold);
  color:var(--main-color);
  text-align:center;
  background:#fff;
  padding:1.0em 0;
  position:relative;
  transition:0.1s;
}
.service ul.cta-button > li > a > span{
  position:relative;
  z-index:1;
}
.service ul.cta-button > li > a::before{
  content:"";
  width:100%; height:100%;
  background:var(--main-color);
  transform:scaleX(0);
  position:absolute;
  top:0; left:0;
  transition:0.1s;
}
.service ul.cta-button > li > a::after{
  content:"";
  width:0.55em; height:auto;
  aspect-ratio:1/1.6;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  background:var(--main-color);
  position:absolute;
  top:50%; right:1.3em;
  transform:translateY(-50%);
  transition:0.1s;
}
.service ul.cta-button > li > a:hover{
  color:#fff;
}
.service ul.cta-button > li > a:hover::before{
  transform:scaleX(1);
}
.service ul.cta-button > li > a:hover::after{
  background:#fff;
}

#container.service > .text-box.emergency{
  background:rgba(218, 70, 141, 0.04);
  background:#FEF8FA;
  padding:0;
  margin-bottom:8.0rem;
}
#container.service > .text-box.emergency .emergency-box{
  padding:0 calc((100% - 1200px) / 2);
  position:relative;
}
.emergency-box::before{
  content:"";
  width:100%; height:480px;
  clip-path: ellipse(50% 15% at 50% 50%);
  background:#FEF8FA;
  position:absolute;
  top:0; left:0;
  transform:translateY(-50%);
}

#container.service > .emergency section > h2{
  font-size:2.4rem; line-height:1.6; font-weight:var(--bold);
}
#container.service > .emergency section > h2::after{
  display:none;
}
.emergency ul.emergency-point{
  display:flex;
  justify-content:center;
  gap:0 1.5rem;
}
.emergency ul.emergency-point > li{
  box-sizing:border-box;
  width:calc((100% - 3.0rem) / 3);
  height:auto;
  text-align:center;
  padding:2.0rem 2.0rem 2.5rem;
//  border:1px solid rgba(218,70,141,1);
  background:#fff;
  border-radius:100%;
  display:flex;
  flex-direction:column;
  gap:0.5rem 0;
}
.emergency ul.emergency-point > li figure{
  width:120px; height:auto;
  margin:0 auto;
}
.emergency ul.emergency-point > li h3{
  font-size:1.25rem; line-height:1.6;
  color:var(--service01-color);
}
.emergency-check{
  margin-top:8.0rem;
  box-sizing:border-box;
  width:100%;
  background:#fff;
  padding:3.5rem 3.0rem 3.0rem;
  border-radius:1.0rem;
  border:4px solid #da468d;
  position:relative;
}
.emergency-check > h3{
  font-size:1.2rem; line-height:1.6;
  color:#fff;
  background:#da468d;
  padding:0.5rem 2.5rem;
  border-radius:9999px;
  position:absolute;
  top:0; left:50%;
  transform:translate(-50%,-50%);
}
.emergency-check > h3::before{
  content:attr(data-text);
  font-size:1.2rem; line-height:1.6; font-weight:var(--bold);
  color:var(--base-color);
  white-space:nowrap;
  position:absolute;
  top:0; left:50%;
  transform:translate(-50%, -120%);
}
.emergency-check > #checklist{
  text-align:left;
  margin:0 auto;
}
#checklist{
  display:flex;
  justify-content:space-between;
}
#checklist > .checklist{
  width:48%;
}
#checklist > .checklist > p{
  margin-bottom:1.0rem;
}
#checklist > .checklist > p > span{
  font-size:0.9em;
}
#checklist .checklist-item{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:0 0.75rem;
  font-size:1.1rem; line-height:1.6;
  padding:1.0em 0.5em;
  border-bottom:1px dashed #999;
}
#checklist .checklist-item:first-of-type{
  border-top:1px dashed #999;
}
#checklist .checklist-item > input[type="checkbox"]{
  position:relative;
  top:0.4rem;
}
#checklist .checklist-item > label{
  flex:1;
}
.emergency-check .checklist-result{
  box-sizing:border-box;
  width:48%;;
  background:rgba(218,70,141,0.04);
  border-radius:1.0rem;
  padding:2.0rem 3.0rem;
  display:none;
}
.checklist-result .flex{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:0 1.0rem;
}
.checklist-result figure{
  width:100px; height:auto;
  aspect-ratio:2/3;
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
}
.checklist-result .checkresult02 figure{
  background-image:url(../../img/service/contact02.svg);
}
.checklist-result .checkresult03 figure{
  background-image:url(../../img/service/contact01.svg);
}
.checklist-result .checkresult04 figure{
  background-image:url(../../img/service/contact03.svg);
}
.checklist-result .text-box{
  flex:1;
}
.checklist-result h4{
  font-size:1.75rem; line-height:1.6;
//  color:#da468d;
  margin-bottom:0.5em;
}
.checklist-result ul.cta-button{
  margin-top:2.0rem;
  justify-content:flex-end;
}
.service .checklist-result ul.cta-button > li{
  width:100%;
}
.service .checklist-result ul.cta-button > li > a{
  color:rgb(218, 70, 141);
  border-color:#da468d;
}
.service .checklist-result ul.cta-button > li > a::before{
  background:rgba(218, 70, 141,1);
}
.service .checklist-result ul.cta-button > li > a::after{
  background:rgba(218, 70, 141,1);
}
.service .checklist-result ul.cta-button > li > a:hover{
  color:#fff;
  border-color:#fff;
}
.service .checklist-result ul.cta-button > li > a:hover::after{
  background:#fff;
}

.reason section h2::after{
  display:none;
}
.reason ul.service-feature-list{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:1.0rem 1.0rem;
  margin-bottom:5.0rem;
}
.reason ul.service-feature-list > li{
  box-sizing:border-box;
  width:calc((100% - 2.0rem) / 3);
  height:auto;
  text-align:center;
  padding:2.0rem 2.5rem;
  border:1px solid var(--main-color);
  background:#fff;
  border-radius:1.0rem;
  display:flex;
  flex-direction:column;
  gap:1.0rem 0;
}
.reason ul.service-feature-list > li figure{
  box-sizing:border-box;
  width:72%; height:auto;
  overflow:hidden;
  margin:0 auto;
}
/*
.reason ul.service-feature-list > li figure > img{
  width:100%; height:100%;
  object-fit:cover;
}
*/.checklist ul.service-feature-list > li h3{
  font-size:1.2rem; line-height:1.6;
}

#container.service > .text-box.faq{
  display:flex;
  flex-direction:row-reverse;
  justify-content:space-between;
  align-items:flex-start;
  gap:0 4.0rem;
}

.service .office-box{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:0 2.5rem;
  margin-bottom:2.5rem;
}
.service .office-box > figure{
  width:480px;
  border-radius:0.5rem;
  overflow:hidden;
}
.service .office-box > .text-box{
  flex:1;
}
.service .office-box > .text-box > h3{
  font-size:1.6rem; line-height:1.6;
  color:var(--main-color);
  margin-bottom:0.5rem;
}
.service .office-box > .text-box > p{
  margin-bottom:1.5rem;
}
.service ul.local-list{
  display:flex;
  flex-direction:column;
  gap:0.5rem 0;
  margin-bottom:1.5rem;
}
.service ul.local-list > li{
  display:flex;
  align-items:flex-start;
  gap:0 0.75rem;
}
.service ul.local-list > li > h3{
  width:7em;
  font-size:0.85rem; line-height:1.8; font-weight:var(--normal);
  text-align:center;
  background:rgba(28,186,176,0.06);
  border:1px solid #999;
  border-radius:0.25rem;
  padding-top:0.1em;
}

.cta-box{
  margin-top:3.0rem;
  text-align:center;
}
.cta-box > p{
  font-size:1.1rem; line-height:1.6; font-weight:var(--bold);
  margin-bottom:0.5em;
}

.price section h2::after{
  border-top:1px dashed var(--base-color);
}
.price section h2 > span{
  padding:0 0.5em;
}
.price-box{
  display:flex;
  justify-content:center;
  align-items:flex-start;
  gap:0 3.0rem;
}
.price-box > h3{
  font-size:1.4rem; line-height:2.4; font-weight:var(--normal);
}
.price-box > .text-box > p.price{
  font-size:1.8rem; line-height:1.0; font-weight:var(--bold);
  margin-bottom:0.5em;
}
.price-box p.price > strong{
  font-size:1.8em;
}
.price-box p.price > span{
  font-size:1.0rem; line-height:1.8; font-weight:var(--normal);
  margin-left:0.5em;
}
.price-box > .text-box > ul.kigou-list{
  font-size:0.9rem;
}
.price-detail{
  box-sizing:border-box;
  width:100%;
  margin:3.5rem auto;
  border:1px solid var(--service01-color);
  border-radius:0.5rem;
  padding:2.5rem 0;
}
.price-detail > .price-detail-box{
  width:fit-content;
  margin:0 auto;
}
.price-detail h3{
  font-size:1.2rem; line-height:2.4; font-weight:var(--bold);
  color:var(--service01-color);
}
table.difference-table{
  width:auto;
  border-collapse:separate;
  border-spacing:0;
  table-layout:fixed;
  font-size:0.95rem; line-height:1.8;
}
table.difference-table > thead > tr > th{
  font-weight:var(--normal);
  padding:1.0em 0 1.0em;
  text-align:center;
}
table.difference-table > thead > tr > th > strong{
  font-size:1.25em; font-weight:var(--bold);
}
table.difference-table > thead > tr > th:nth-of-type(2){
  color:var(--main-color);
  border:2px solid var(--main-color);
  border-bottom:none;
  border-radius:0.5em 0.5em 0 0;
  background:rgba(196,0,3,0.02);
}
table.difference-table > tbody > tr > th{
  border-top:1px solid #ccc;
  font-weight:var(--bold);
  color:var(--base-light-color);
  text-align:left;
  padding:1.0em 1.5em;
  padding-left:0.5em;
}
table.difference-table > tbody > tr > td{
  width:360px;
  text-align:center;
  border-top:1px solid #ccc;
  padding:1.0em 0;
}
table.difference-table > tbody > tr > td > span{
  display:block;
  font-size:0.9em;
}
table.difference-table > tbody > tr > td:first-of-type{
  font-size:1.1em;
  font-weight:var(--bold);
  border-left:2px solid var(--main-color);
  border-right:2px solid var(--main-color);
  background:rgba(196,0,3,0.02);
}
table.difference-table > tbody > tr:last-of-type > td:first-of-type{
  padding-bottom:1.5em;
  border-radius:0 0 0.5em 0.5em;
  border-bottom:2px solid var(--main-color);
}
.price-detail-box > ul.kigou-list{
  display:flex;
  justify-content:flex-end;
  font-size:0.9rem;
  margin-top:1.5rem;
}

ul.faq-list + .more{
  display:flex;
  justify-content:flex-end;
  margin-top:1.5rem;
  margin-right:1.0rem;
}

ul.flow-list{
  display:flex;
  flex-direction:column;
  gap:2.5rem 0;
  position:relative;
}
ul.flow-list::after{
  content:"";
  height:90%;
  border-right:1px dashed var(--base-light-color);
  position:absolute;
  top:5%; left:26px;
}
ul.flow-list > li{
  position:relative;
  padding-left:68px;
}
ul.flow-list > li::before{
  content:attr(data-step);
  font-size:1.0rem; line-height:54px; font-weight:var(--bold);
  color:#fff;
  text-align:center;
  box-sizing:border-box;
  width:54px; height:auto;
  aspect-ratio:1/1;
  background:#fff;
  background:var(--service01-color);
  border:1px solid var(--service01-color);
  border-radius:100%;
  position:absolute;
  top:0; left:0; z-index:1;
}
ul.flow-list > li > h3{
  font-size:1.2rem; line-height:1.6;
}

#container.service > .text-box.column{
  padding-top:8.0rem;
  margin-bottom:8.0rem;
  background:rgba(28,186,176,0.06);
}
.column .column-box{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:0 5.0rem;
}
.column-box > .title{
  white-space:nowrap;
}
.column-box > .title > h2{
  font-size:1.3rem; line-height:1.6; font-weight:var(--normal);
}
.column-box > ul.column-list > li a h2{
  font-size:1.1rem; line-height:1.6; font-weight:var(--bold);
}

.cta section{
  text-align:center;
}
.cta section h2::after{
  display:none;
  border-top:1px dashed var(--base-color);
}
.cta section h2 > span{
  padding:0 0.5em;
}
.cta ul.cta-list{
  display:flex;
  justify-content:space-between;
  border-radius:1.0rem;
  overflow:hidden;
  margin:2.0rem 0;
}
.cta ul.cta-list > li{
  box-sizing:border-box;
  width:33.2%;
  background:var(--service01-color);
  background:rgba(218, 70, 141, 0.9);
  color:#fff;
  padding:2.0rem 2.0rem;
}
.cta ul.cta-list > li > h3{
  font-size:1.4rem;
}
.cta ul.cta-list > li > p{
  margin-bottom:2.0rem;
}
.cta ul.cta-list > li > p > strong{
  font-size:1.4em;
  font-weight:var(--normal);
}
.cta ul.cta-list > li > p > span{
  display:block;
  font-size:0.9em;
}
.service .cta ul.cta-button > li{
  width:100%;
}
.service .cta ul.cta-button > li > a{
  color:rgb(218, 70, 141);
  border-color:#da468d;
}
.service .cta ul.cta-button > li > a::before{
  background:rgba(218, 70, 141,1);
}
.service .cta ul.cta-button > li > a::after{
  background:rgba(218, 70, 141,1);
}
.service .cta ul.cta-button > li > a:hover{
  color:#fff;
  border-color:#fff;
}
.service .cta ul.cta-button > li > a:hover::after{
  background:#fff;
}
.service .cta ul.cta-button > li > a > span{
  padding-left:0.75em;
  position:relative;
}
.service .cta ul.cta-button > li > a > span::before{
  font-family:var(--bootstrap);
  font-size:1.2em; line-height:1; font-weight:var(--normal);
  position:absolute;
  top:50%; left:0;
  transform:translate(-80%,-50%);
}
.service .cta ul.cta-button > li.phone > a > span::before{
  content:"\F5C1";
}
.service .cta ul.cta-button > li.mail > a > span::before{
  content:"\F32F";
}
.service .cta ul.cta-button > li.line > a > span::before{
  content:"\F660";
}
.cta .emergency-banner{
  text-align:center;
  font-size:1.1rem; line-height:1.4; font-weight:var(--normal);
}
