@charset "UTF-8";

/*****************************
cmn
*****************************/
.pagesec{
  padding: 8rem 0;
}
@media only screen and (max-width: 1180px) {
  
}
@media only screen and (max-width: 1024px) {
  
}
@media only screen and (max-width: 820px) {
  
}
@media only screen and (max-width: 768px) {
  
}
@media only screen and (max-width: 767px) {
  .pagesec{
    padding: 6rem 0;
  }
}

/*****************************
pagesec-first
*****************************/
.pagesec-first .bgbox{
  aspect-ratio: 2/1;
  background: url(../../images/page/exterior/firstbg.webp) no-repeat center / cover;
  max-height: 400px;
  position: absolute;
  top: 50%;
  left: 0;
  width: calc((100% - 680px) - ((100% - 1280px) / 2));
  transform: translateY(-50%);
}
.pagesec-first .cotnent{
  margin-left: auto;
  width: 640px;
}
.pagesec-first .ttlbox{
  margin-bottom: 1rem;
}
.pagesec-first .ttl{
  display: inline-block;
  font-size: 2.4rem;
  font-weight: 600;
  position: relative;
}
@media only screen and (max-width: 1279px) {
  .pagesec-first .bgbox {
    position: relative;
    top: auto;
    left: -2rem;
    transform: none;
    width: calc((100% - 650px));
  }
}
@media only screen and (max-width: 1180px) {
  .pagesec-first .bgbox {
    width: calc((100% - 640px));
  }
}
@media only screen and (max-width: 1024px) {
}
@media only screen and (max-width: 820px) {
  .pagesec-first .bgbox {
    left: auto;
    margin-bottom: 2rem;
    width: 100%;
  }
  
}
@media only screen and (max-width: 768px) {
  
}
@media only screen and (max-width: 767px) {
  .pagesec-first .ttl {
    font-size: 5.4vw;
  }
}

/*****************************
pagesec-worry
*****************************/
.pagesec-worry{
  background: url(../../images/page/exterior/worrybg.webp) no-repeat center / cover;
  color: #fff;
}
.pagesec-worry::before{
  content: "";
  background: #02028E;
  opacity: .4;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.pagesec-worry .ttlbox{
  position: relative;
  text-align: center;
  --childwidth: fit-content;
}
.pagesec-worry .ttlbox::before,
.pagesec-worry .ttlbox::after{
  content: "";
  background: #fff;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  height: 2px;
  width: 30%;
}
.pagesec-worry .ttlbox::before{
  left: 0;
}
.pagesec-worry .ttlbox::after{
  right: 0;
}
.pagesec-worry .ttlbox .ttl{
  font-size: 2.4rem;
  font-weight: 600;
  position: relative;
}
.pagesec-worry ul{
  margin: 4rem auto 0;
  max-width: 520px;
}
.pagesec-worry ul li{
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 2rem;
  padding-left: 3rem;
  position: relative;
}
.pagesec-worry ul li::before{
  content: "";
  aspect-ratio: 19 / 22;
  background: url(../../images/common/check.svg) no-repeat center / contain;
  position: absolute;
  top: 0;
  left: 0;
  height: auto;
  width: 25px;
}
@media only screen and (max-width: 1180px) {
  
}
@media only screen and (max-width: 1024px) {
  
}
@media only screen and (max-width: 820px) {
  .pagesec-worry .ttlbox::before,
  .pagesec-worry .ttlbox::after{
    width: 20%;
  }
}
@media only screen and (max-width: 768px) {
  
}
@media only screen and (max-width: 767px) {
  .pagesec-worry .ttlbox::before,
  .pagesec-worry .ttlbox::after{
    width: 13vw;
  }
  .pagesec-worry .ttlbox .ttl{
    font-size: 2rem;
  }
  .pagesec-worry .ttlbox::before {
    left: -2rem;
  }.pagesec-worry .ttlbox::after{
    right: -2rem;
  }
  .pagesec-worry ul li {
    font-size: 1.6rem;
  }
  .pagesec-worry ul li::before {
    top: -6px;
  }
}
@media only screen and (max-width: 380px) {
  .pagesec-worry .ttlbox::before,
  .pagesec-worry .ttlbox::after{
    width: 5vw;
  }
}

/*****************************
pagesec-point
*****************************/
.pagesec-point .ttlbox .fimgbox{
  width: 230px;
}
.pagesec-point .ttlbox .fttl{
  font-size: 3.4rem;
  font-weight: 500;
}
.pagesec-point .txtbox{
  margin: 2rem auto 4rem;
  text-align: center;
}
.pagesec-point .txtbox p{
  display: inline-block;
  font-size: 2.4rem;
  font-weight: 600;
  text-align: left;
}
.pagesec-point ul{
  margin: 0 auto;
  max-width: 550px;
}
.pagesec-point ul li{
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 2rem;
  padding-left: 4rem;
  position: relative;
}
.pagesec-point ul li::before{
  content: "";
  aspect-ratio: 1/1;
  background: url(../../images/common/logoicon.png) no-repeat center / contain;
  position: absolute;
  top: 0;
  left: 0;
  height: auto;
  width: 36px;
}

@media only screen and (max-width: 1180px) {
  
}
@media only screen and (max-width: 1024px) {
  
}
@media only screen and (max-width: 820px) {
  .pagesec-point .ttlbox .fttl {
    font-size: 3rem;
  }
  .pagesec-point .txtbox p {
    font-size: 1.8rem;
  }
  .pagesec-point ul {
    max-width: 490px;
  }
  .pagesec-point ul li {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 768px) {
  
}
@media only screen and (max-width: 767px) {
  .pagesec-point .ttlbox .fttl {
    font-size: 2.6rem;
  }
}

/*****************************
pagesec-service
*****************************/
.pagesec-service ul{
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.pagesec-service li{
  gap: 2rem;
}
.pagesec-service li .fimgbox{
  width: calc(30% - 2rem);
}
.pagesec-service li .ftxtbox{
  width: calc(70% - 2rem);
}
.pagesec-service li .ftxtbox dt{
  font-size: 3rem;
  margin-bottom: 1rem;
}
.pagesec-service li .ftxtbox dd{
  font-size: 1.8rem;
}
@media only screen and (max-width: 1180px) {
  
}
@media only screen and (max-width: 1179px) {
  .pagesec-service li .ftxtbox dt{
    font-size: 2.4rem;
  }
  .pagesec-service li .ftxtbox dd{
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 1024px) {
  
}
@media only screen and (max-width: 820px) {
  .pagesec-service ul{
    gap: 4rem;
  }
  .pagesec-service li {
    align-items: flex-start;
  }
  .pagesec-service li .fimgbox{
    width: calc(38% - 1rem);
  }
  .pagesec-service li .ftxtbox{
    width: calc(62% - 1rem);
  }
  .pagesec-service li .ftxtbox dt{
    font-size: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  
}
@media only screen and (max-width: 767px) {
  .pagesec-service li {
    gap: 1rem;
  }
  .pagesec-service li .fimgbox,
  .pagesec-service li .ftxtbox{
    width: 100%;
  }
}

/*****************************
pagesec-works
*****************************/
.pagesec-works .ttlbox1{
  text-align: left;
}
.pagesec-works .morebtn1{
  margin: 4rem auto 0;
  max-width: 250px;
}
@media only screen and (max-width: 1180px) {
  
}
@media only screen and (max-width: 1024px) {
  
}
@media only screen and (max-width: 820px) {
  
}
@media only screen and (max-width: 768px) {
  
}
@media only screen and (max-width: 767px) {
  .pagesec-works .ttlbox1{
    text-align: center;
  }
}

/*****************************
pagesec-contact
*****************************/
.pagesec-contact .ttlbox1{
  text-align: left;
}
.pagesec-contact .morebtn1 {
  margin-top: 2rem;
}
.pagesec-contact .morebtn1 a{
  margin-left: auto;
  max-width: 300px;
}

@media only screen and (max-width: 1180px) {
  
}
@media only screen and (max-width: 1024px) {
  
}
@media only screen and (max-width: 820px) {
  
}
@media only screen and (max-width: 768px) {
  
}
@media only screen and (max-width: 767px) {
  .pagesec-contact .ttlbox1{
    text-align: center;
  }
  .pagesec-contact .fimgbox{
    display: none;
  }
  .pagesec-contact .fbox{
    width: 100%;
  }
  .pagesec-contact .imgbox{
    margin-bottom: 1rem;
  }
  .pagesec-contact .morebtn1 a{
    margin: 0 auto;
    max-width: 250px;
  }
}