@charset "utf-8";
/*------------------------------ common ----------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap');

html,
body {
    scroll-behavior: smooth;
    text-align: justify;
    word-break: break-all;
    color: #042d53;
    font-family: "Zen Maru Gothic", serif;
}
.common-lineout{
    text-align: center;
    padding: 100px 16px;
}
.content-width{
    margin-right: auto;
    margin-left: auto;
    max-width: 920px;
  padding: 0 10px;
    box-sizing: border-box;
}
ul li{
    list-style: none;
}
.scroll-repair{
    padding-top: 100px;
    margin-top: -100px !important;
}
picture{
    display: block;
}
img{
    width: 100%;
    height: auto;
}
.fit-img{
    width: fit-content;
    margin: auto;
}
.sp {
    display: none !important;
}
a{
  transition: .8s;
  text-decoration: none
}
a:hover{
  opacity: 0.5;
    text-decoration: none

}
   @media screen and (max-width: 767px) {
     a:hover{
  opacity: 1;
    text-decoration: none

}
}

/* ============ ヘッダー start ============ */
header {
    padding: 0 0px 0 0px;
    box-sizing: border-box;
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 99;
}

.logo img {
    height: 71px;
    width: auto;
  margin-top: 25px;
}
header .content-width{
    justify-content: space-between;
    align-items: center;
    display: flex;
    width: 900px;
}
.header-contact {
    display: flex;
  padding: 10px 15px 15px 15px;
  background: #fff;
  align-items: flex-start;
  width: 494px;
  box-sizing: border-box;
 /* width: 54.8%;*/
  border-radius: 0 0 10px 10px;
  box-shadow: 0px 0px 10px 5px #bbd3ea;
  
}
.header-contact a.header-call {
    display: block;
    position: relative;
  width: 60%;
  margin-right: 15px;
  max-width: 300px;
}
.header-call{
    margin-left: 10px;
}
.header-call .number{
  font-size: 35px;
color: #042D53;
  font-weight: 900;
  line-height: 1;
  background: url(../img/free.png) 0 7px no-repeat;
  padding-left: 45px;
  margin-bottom: 10px
}
.header-call .meta{
  font-size: 13px;
    font-weight: 900;

}

.header-call .meta span{
  font-size: 13px;
    font-weight: 900;
  padding: 5px 10px;
  background: #2a93cc;
  margin-right: 5px;
  color: #fff;
  border-radius: 20px;

  
}
.header-phone{
  display: block;
  width: 75px;
  background: url(../img/phone.png) center bottom 10px no-repeat #04c41a;
  border-radius: 6px;
  text-align: center;
  aspect-ratio:1 / 1;
  margin-right: 8px;

  
}
.header-phone p{
    color: #fff;
  line-height: 1.1;
  font-size: 14px;
  font-weight: bold;
  padding: 6px

}

.header-mail{
  display: block;
  width: 75px;
    background: url(../img/mail.png) center bottom 10px no-repeat #2081b6;
  border-radius: 6px;
  text-align: center;
  aspect-ratio:1 / 1;
  transition: .8s

}
.header-mail p{
    color: #fff;
  line-height: 1.1;
  font-size: 14px;
  font-weight: bold;
  padding: 6px

}

.header-contact img {
    height: 72px;
    width: auto;
}
.header-mail:hover{
  opacity: 0.5
}

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

/* ============ メイン start ============ */
.first-view{
  background: url(../img/mv_bg.png) center top no-repeat;
  position: relative;
  z-index: 2;
  padding-bottom: 155px
}


.FV {
padding-top: 110px;
  
}
.FV img{
  width: 939px;
  margin-left: -39px;
}

   @media screen and (max-width: 900px) {
.first-view{
  background: url(../img/mv_bg.png) center bottom no-repeat;
  position: relative;
  z-index: 2;
  padding-bottom: 155px
}
     
     .FV img{
  width: 100%;
  margin-left: 0px;
}
     
}


#speed.speed {
    display: flex;
    flex-direction: column;
    align-items: center;
}
#speed .view_time {
    font-size: 3vw;
    font-weight: bold;
    color: #fff;
    border-bottom: 1px solid #fff;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: baseline;
    line-height: 1.6;
    height: 5vw;
}
#speed .view_time span {
    font-size: 2vw;
}
#speed img {
    width: auto;
    margin: 1vw auto;
    display: block;
}
#speed p {
    width: 100%;
    background: #335B81;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
}
#speed p:before{
    content: "";
    display: inline-block;
    width: 2em;
    height: 2em;
    background: url(/../b/img/fingerIcon.png) no-repeat right;
    background-size: contain;
    vertical-align: middle;
}
#speed p span {
    color: #ffe600;
}
div#price {
    width: 100%;
    display: flex;
    bottom: -10%;
    padding: 0 16px;
    box-sizing: border-box;
    text-align: center;
    /* margin-top: -45px; */
    position: relative;
}
.contact{
    text-align: center;
    padding: 100px 16px;
    position: relative;
}
.contact .contact-button{
    display: flex;
    flex-direction: column;
}
.contact .contact-button a{
    display: block;
    max-width: 80%;
    position: relative;
}
.contact .contact-button .call span {
    position: absolute;
    top: 32%;
    left: 13%;
    font-size: 48px;
    color: #fff;
    font-weight: bold;
    display: flex;
    align-items: center;
}
.contact .contact-button .call span:before {
    content: "";
    width: 1em;
    height: 1em;
    display: inline-block;
    background: url(../img/icon_call.png) no-repeat;
    margin-right: 5px;
}
.contact .contact-button .mail{
    margin-top: 25px;
}
.flow{
    background-color: #F8FCDD;
}
.area{
    background: #FFF06A;
    text-align: center;
    background-size: contain;
    background-blend-mode: lighten;
    background-position-x: center;
    padding-bottom:0 !important;
}
.area_night {
    background-color: #F8FCDD;
}
.afterService {
    background: #FFE500;
}
.afterService a {
    position: relative;
}
.afterService a.call img {
    width: 600px;
    margin: 30px auto 50px;
}
.afterService a span {
    position: absolute;
    top: 20%;
    right: 70%;
    font-size: 28px;
    color: #fff;
    font-weight: bold;
    display: flex;
    align-items: center;
    width: max-content;
}
.afterService a span:before {
    content: "";
    width: 1em;
    height: 1em;
    display: inline-block;
    background: url(../img/icon_call.png) no-repeat;
    margin-right: 5px;
    background-size: cover;
}
.QA {
    background: #FAFAE1;
}
.QA-contents{
    font-size: 14px;
    text-align: left;
    line-height: 1.5;
    margin-top: 50px;
}
.QA-contents ul li:first-of-type {
    border-top: 1px solid #aaa;
}
.QA-contents ul li {
    border-bottom: 1px solid #aaa;
    padding: 24px 0;
}
p.Q {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
p.Q .Q-text{
    width: calc(100% - 82px);
}
p.A {
    padding: 24px 16px;
    background: #fff;
    margin-top: 24px;
}
p.Q.open .Q-arrow img{
    transform: rotateX(180deg);
}
p.Q.open + p.A{
    display: block !important;
}

.company table{
    margin-top: 30px;
    font-size: 14px;
    line-height: 1.5;
    width: 100%;
}
.company th{
    border-bottom: 2px solid #FFE500;
    padding: 20px 15px;
    width: 12em;
    vertical-align: middle;
}
.company td{
    padding: 20px 15px;
    border-bottom: 2px solid #D7D7D7;
}
.company .close {
    margin: 70px auto 0;
    display: inline-block;
}
.company .close {
    font-size: 20px;
    border: 1px solid #a1a1a1;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 250px;
    background: #E1E1E1;
    border-radius: 2px;
    cursor: pointer;
    color: #6B6B6B;
}
/* ============ メイン end ============ */

/* ============ メールフォーム フォーム　start ============ */
#mail-form{
    background: #fff;
    margin: 60px auto 0;
    text-align: left;
    padding: 50px 50px 70px;
    border-radius: 5px;
}
form {
    margin-bottom: 50px;
}
form .item-title {
    font-weight: bold;
    display: inline-block;
    width: 250px;
    position: relative;
    min-width: 250px;
  font-size: 18px;
  margin-bottom: 10px;
}
   @media screen and (max-width: 767px) {
     form .item-title {
    font-weight: bold;
    display: inline-block;
    width: 250px;
    position: relative;
    min-width: 250px;
  font-size: 3.4666666666666663vw;
  margin-bottom: 8px;
}
}


form .item-title.mb0{
  margin-bottom: 0px;
}
form .item-input {
    width: 100%;
}
form .required .item-title:after {
    content: "必須";
    display: inline-flex;
    height: 18px;
    width: 40px;
    background: #FFE500;
    position: absolute;
    font-size: 12px;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
    padding: 2px 0;
  top: 9px;
    margin-left: 1em;
}
form .unrequired .item-title:after {
    content: "任意";
    display: inline-flex;
    height: 1.5em;
    width: 3.5em;
    background: #707070;
    color: #fff;
    position: absolute;
    font-size: 12px;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
    top: 0.3em;
    padding: 2px 0;
    margin-left: 1em;
}
   @media screen and (max-width: 767px) {
     form .required .item-title:after {
    content: "必須";
    display: inline-flex;
    height: auto;
    width: 40px;
       line-height: 2;
    background: #FFE500;
    position: absolute;
    font-size: 2.666666666666667vw;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
    padding: 0px 0 !important;
    top: 0.2em !important;
    margin-left: 1em;
}
form .unrequired .item-title:after {
    content: "任意";
    display: inline-flex;
    height: auto;
    width: 3.5em;
    background: #707070;
    color: #fff;
    position: absolute;
    font-size: 2.666666666666667vw;
  justify-content: center;
    align-items: center;
    border-radius: 10px;
    top: 0.3em;
    padding: 2px 0 !important;
    margin-left: 1em;
}
}

form ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;
    width: 100%;
}
form .radio .item-title:before {
    content: "※複数選択できます";
    font-size: 14px;
    position: absolute;
    top: 2em;
    color: #6B6B6B;
    font-weight: bold;
    left: 0;
}
form ul li {
    width: calc(50% - 16px);
  max-width: 258px;
    margin-bottom: 10px;
}
form ul li:last-of-type {
    margin-bottom: 0;
}
form ul li input {
    width: 1.2em;
    height: 1.3em;
    margin-right: 10px;
    font-size: 16px;
}
form ul li label {
    font-weight: bold;
  background: #ffeb33;
color: #111;
    height: 52px;
    display: flex;
    width: 100%;
    align-items: center;
    box-sizing: border-box;
    font-size: 16px;
    padding-left: 10px;
    line-height: 1.2;
    cursor: pointer;
  border-radius: 3px;
}
   @media screen and (max-width: 767px) {
     form ul li label {
    font-weight: bold;
  background: #ffeb33;
color: #111;
    height: 52px;
    display: flex;
    width: 100%;
    align-items: center;
    box-sizing: border-box;
    font-size: 3.2vw;
    padding-left: 10px;
    line-height: 1.2;
    cursor: pointer;
  border-radius: 3px;
}
}


label:has(input:checked) {
    color: #fff;
    background: #2A93CC;
}
form input#sys_zyusho {
    border-color: #9e9e9e !important;
}

form div.input, .radio, .textarea {
    margin-bottom: 35px;
    display: flex;
}
form .other-address {
    margin-top: 15px;
}
form .input input, form .textarea textarea {
    outline: none;
    width: 100%;
    height: 51px;
    padding: 18px 15px;
  font-size: 16px;
    box-sizing: border-box;
}
form .textarea textarea{
      height: 181px;

}
   @media screen and (max-width: 767px) {
     form .input input, form .textarea textarea {
    outline: none;
    width: 100%;
    height: auto;
    padding: 11px 10px;
  font-size: 3.4666666666666663vw;
    box-sizing: border-box;
}
form .textarea textarea{
      height: 181px;

}
}



form input.must-fill, .must-fill label, .term-check.must-fill{

}
p.term-check {
    text-align: center;
}
form textarea#memo {
      height: 181px;

}
#submit {
    text-align: center;
}


button#submitbtn[disabled="disabled"]{
    background:#ececec;
    color: #aaa;
    border: none;
}
button#submitbtn[disabled="disabled"]:before{
    content: none;
}

p.error {
    color: #F41D29;
    font-size: 12px;
    font-weight: bold;
}
p.error:before {
    content: "";
    display: inline-block;
    width: 1.2em;
    height: 1.2em;
    margin-right: 5px;
    background: url(../img/error_mark.png);
    background-size: cover;
    position: relative;
    top: 2px;
}
/* ============ メールフォーム フォーム　end ============ */

/* ============ フォーム用「個人情報取り扱いについて」　start ============ */
.form {
    background: #FFE500;
}
.form div#term-article {
    overflow-y: scroll;
    height: 100px;
    border: 1px solid #aaa;
    padding: 10px;
}
.form h1 {
    font-weight: bold;
    margin-bottom: 10px;
}
.form article {
    font-size: 14px;
    text-align: left;
    line-height: 1.5;
}
.form article p {
    margin-bottom: 10px;
}
.form div#termCheck {
    margin: 30px 0;
}
/* ============ フォーム用「個人情報取り扱いについて」　end ============ */

/* ============ フォームthanks　start ============ */
div#mailFormThanks {
    align-items: center;
    background-color: rgba(0, 0, 0, 0.8);
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    position: fixed;
    width: 100%;
    z-index: 10000;
    top: 0;
    left: 0;
}
div#thanks {
    max-width: 870px;
    width: 100%;
    margin: auto;
    border-radius: 3px;
    border: 5px solid #ffe600;
    padding: 50px 0px;
    background: #fff;
}
div#thanks img {
    width: auto;
}

div#thanks .title {
    font-weight: bold;
    font-size: 35px;
    background: #2ca3e0;
    color: #fff;
    height: 2em;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 30px;
    margin-bottom: 50px;
}

div#mailFormThanks p {
    padding: 0 30px;
}

span#thanksClose {
    font-size: 20px;
    border: 1px solid #a1a1a1;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 250px;
    background: #E1E1E1;
    border-radius: 2px;
    margin: 70px auto 0;
    cursor: pointer;
    color: #6B6B6B;
}
/* ============ フォームthanks　end ============ */

/* ============ フッター　start  ============ */
footer {
    background: #fff;
    text-align: center;
    font-size: 16px;
    padding: 38px 16px;
    box-sizing: border-box;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"

}
footer a{
    font-size: 16px;
    text-decoration: underline !important;
    color: #042d53;
    display: inline-block;
    padding: 0 0px;
    margin: 8px 0
}

.footer-logo{
    height: 58px;
    width: auto;
}

@media screen and (max-width: 767px) {
    .footer-logo{
        height: 42px;
        width: auto;
    }
    footer a {
        font-size: 13px;
        text-decoration: underline;
        display: inline-block;
        padding: 0 0px;
        margin: 8px 0;
    }
    footer p{
        font-size: 12px;
        color: #042d53;

    }
}

/* ============ フッター　end  ============ */

/* ============ 夜間対応　end  ============ */

.service-KV {
    position: absolute;
    bottom: 20px;
    width: 52%;
    display: flex;
    justify-content: center;
}

@media screen and (max-width: 1320px) {
    .area {
        background-size: cover;
    }
}

@media screen and (max-width: 1040px) {
    #speed .view_time {
        font-size: 4vw;
        height: 6vw;
    }
    .common-lineout {
        padding: 70px 16px;
    }
    header .content-width {
        width: 100%;
    }
    form ul li {
        width: calc(50% - 8px);
    }
    div#thanks {
        width: 80%;
    }
}

@media screen and (max-width: 767px) {
    .pc {
        display: none !important;
    }
  .sp{
    display: block !important 
  }
    .fit-img {
        max-width: 80%;
    }
    .logo img {
        height: 37px;
        width: auto;
      margin-top: 15px;
    }
    .common-lineout{
        padding: 70px 24px;
    }
  #header-contact-sp{
    display: block;
    width: 196px;
    box-sizing: border-box;

  }
  

    .first-view{
        margin-bottom: 0;
        background-image: none;
      padding: 0;
      position: relative;
    }
    .FV{
        background-color: 0;
      padding: 0;
    }
    .FV > div {
        padding-top: 0;
    }
  .FV .content-width{
    padding: 0
  }
    #speed.speed.sp {
        display: flex !important;
    }
    #speed .view_time {
        font-size: 7vw;
        height: 10vw;
    }
    #speed .view_time span {
        font-size: 4vw;
    }
    #speed img {
        width: 88vw;
    }
    .aircon-girl{
        background-color: #FFE600;
    }
    .service-KV {
        position: relative;
        margin: 6vw 4.5vw 0 6vw;
        width: calc(100% - 10.5vw);
        bottom: 0;
    }
    div#price{
        background-color: #F8FCDD;
        margin: 0;
    }
    .contact{
        padding: 70px 24px;
        margin-top: 0;
    }
    .contact .contact-button {
        display: flex;
        flex-direction: column;
    }
    .contact .contact-button a {
        display: block;
        max-width: 100%;
    }
    .afterService a.call img {
        width: 100%;
        margin: 15px auto 30px;
    }
    .company th{
        width: 8em;
    }
    #mail-form{
        padding: 32px 16px 70px;
    }
    form ul li {
        width: calc(50% - 8px);
        margin-bottom: 16px;
    }
    form div.input, .radio, .textarea {
        margin-bottom: 20px;
        display: flex;
        flex-direction: column;
    }
    form .required .item-title:after,
    form .unrequired .item-title:after {
        padding-top: 0;
        top: 0.4em;
    }
    form .radio .item-title:before {
        display: none;
    }
    form .radio .service-list:before {
        content: "※複数選択できます";
        font-size: 14px;
        position: absolute;
        right: 0;
        top: -2em;
        color: #6B6B6B;
        font-weight: bold;
    }
    div#mailFormThanks .title {
        font-size: 30px;
    }
    .night-form.service-KV {
        margin: -80px 4.5vw 0 6vw;
    }

    
  .contactFix.hide {
    transform: translateY(100%);
  }
  .contactFix {
      display: flex !important;
      position: fixed;
      bottom: 0;
      z-index: 99;
      transition: .5s;
      width: 100%;
      padding: 10px 0;
      background: #fff;
  }
  .contactFix a {
    width: 100%;
  }
  .footer_tel img{
    animation: btn_animation 1s infinite;
    position: relative;
  }
}
@keyframes btn_animation {
  0% {
      bottom: 0px;
  }
  10% {
      bottom: 3px;
  }
  20% {
      bottom: 0px;
  }
  30% {
      bottom: 3px;
  }
  40% {
      bottom: 0px;
  }
}

@media screen and (max-width: 414px) {
    .fit-img{
        max-width: 100%;
    }
    
    .footer-call {
        position: relative;
    }
    .footer-call .view_time {
        position: absolute;
        top: 1.5vw;
        left: 27vw;
        color: #fff;
        font-weight: bold;
    }
    .common-lineout{
        padding: 50px 24px;
    }
    .contact{
        padding: 50px 24px;
    }
    #speed p {
        font-size: 4vw;
    }
    .company th{
        width: 6em;
    }
    form ul li label{
        padding-left: 5px;
    }
    form ul li input{
        margin-right: 5px;
    }
    div#mailFormThanks .title {
        font-size: 7vw;
    }
    footer {
      padding: 30px 0 30px;
    }
}
@media screen and (max-width: 375px) {
    .footer-call  {
       display: none
    }
}

.zero{
  background: url(../img/zero.png) 0 0 no-repeat;
  background-size: 100% auto;
  width: 618px;
  height: 249px;
  margin: 0 auto 0px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%)
}
.zero p{
  position: absolute
}
.zero .soudan{
  font-size: 31px;
  color: #db2533;
  letter-spacing: -0.12;
  position: absolute;
  top: 37%;
  left: 11.5%;
  font-weight: bold
  
}
.zero .syuttyou{
  font-size: 31px;
  color: #db2533;
  letter-spacing: -0.12;
  position: absolute;
  top: 37%;
  left: 27.75%;
  font-weight: bold
  
}


.zero p.ex{
  color: #fff;
  bottom: 15%;
  text-align: center;
  width: 100%;
  font-size: 14px;
}

   @media screen and (max-width: 767px) {
     .content-width {
    margin-right: auto;
    margin-left: auto;
    max-width: 920px;
    padding: 0 15px;
    box-sizing: border-box;
}
     
     .zero{
  background: url(../img/zero_sp.png) 0 0 no-repeat;
  background-size: 100% auto;
  width: 82.4%;
  height: auto;
aspect-ratio:618 / 277;
  margin: -15% auto 0px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%)
}
.zero p{
  position: absolute
}
.zero .soudan{
  font-size: 4.133333333333333vw;
  color: #db2533;
  letter-spacing: -0.12;
  position: absolute;
  top: 34%;
  left: 11.5%;
  font-weight: bold
  
}
.zero .syuttyou{
  font-size: 4.133333333333333vw;
  color: #db2533;
  letter-spacing: -0.12;
  position: absolute;
  top: 34%;
  left: 27.75%;
  font-weight: bold
  
}


.zero p.ex{
  color: #fff;
  bottom: 17%;
  text-align: left;
  padding: 0 12%;
  font-weight: bold;
  box-sizing: border-box;
  width: 100%;
  text-indent: -1em;
  line-height: 1.22;
  font-size: 2.2666666666666666vw;
}
     
}


#top01{
  background: url(../img/bg01.png) 0 0 repeat;
  padding: 300px 0 110px;
  position: relative;
  z-index: 1;
  margin-top: -190px;
}

   @media screen and (max-width: 767px) {
     #top01{
  background: url(../img/bg01.png) 0 0 repeat;
  padding: 35% 0 50px;
  position: relative;
  z-index: 1;
  margin-top: -50px;
}
     
}


.cvBox{
  background: url(../img/cvbox.png) 0 0 no-repeat;
  width: 100%;
  position: relative;
  height: auto;
  aspect-ratio:900/541
} 
.cvBox p{
  position: absolute;
  color: #042d53;
}
.cv01{
  font-size: 32px;
  font-weight: bold;
  top: 1%;
  right: 11%
}
.view_time{
  position: absolute;
    top: 13%;
  font-weight: bold;
  font-size: 64px;
  right: 6%;
    letter-spacing: 0.05em;

  font-family: "Oswald", sans-serif;
}
.view_time span{
  font-size: 33px;
    font-family: "Zen Maru Gothic", serif;

}
.cvBox p.cv02{
  font-size: 18px;
  color: #fff;
  font-weight: bold;
  line-height: 1.1;
  left: 42.5%;
  top: 39%
}
.cvBox p.cv02 span{
  font-size: 33px;
  display: block;
  color: #fef60e;

}
.cvBox p.cv03{
    top: 36.5%;
  font-feature-settings: 'palt';
  font-size: 35px;
  font-weight: 900;
  line-height: 1.14;
  left: 52%;
}
.cvBox p.cv04{
  font-size: 69px;
    font-weight: 900;
    top: 56.5%;
  left: 15.5%;
}
.cvBox p.cv05{
    font-size: 21px;
    font-weight: bold;
    top: 78%;
  left: 10%;
}
.cvBox p.cv05 span{
  color: #fff;
  margin-right: 1em
}

.cvBox .header-phone{
  display: block;
  width: 14%;
  background: url(../img/phoneL.png) center bottom 12px no-repeat #04c41a;
  border-radius: 6px;
  text-align: center;
  aspect-ratio:1 / 1;
  position: absolute;
  margin-right: 8px;
  top: 64%;
  left: 64%

  
}
.cvBox .header-phone p{
    color: #fff;
  line-height: 1.1;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  width: 100%;
  box-sizing: border-box;
  padding: 12px

}

.cvBox .header-mail{
  display: block;
  position: relative;
  width: 14%;
  background: url(../img/mailL.png) center bottom 12px no-repeat #2081b6;
  border-radius: 6px;
  text-align: center;
  aspect-ratio:1 / 1;
  top: 64%;
  left:80%
}
.cvBox .header-mail p{
    color: #fff;
  width: 100%;
  box-sizing: border-box;  line-height: 1.1;
  font-size: 24px;
    text-align: center;
  font-weight: bold;
  padding: 12px
}
   @media screen and (max-width: 900px) {
     .cvBox{
  background: url(../img/cvbox.png) 0 0 no-repeat;
       background-size: 100% auto;
  width: 100%;
  position: relative;
  height: auto;
  aspect-ratio:900/541
} 
.cvBox p{
  position: absolute;
  color: #042d53;
}
.cv01{
  font-size: 3.5555555555555554vw;
  font-weight: bold;
  top: 1%;
  right: 11%
}
.view_time{
  position: absolute;
    top: 13%;
  font-weight: bold;
  font-size: 7.111111111111111vw;
  right: 6%;
    letter-spacing: 0.05em;

  font-family: "Oswald", sans-serif;
}
.view_time span{
  font-size: 3.6666666666666665vw;
    font-family: "Zen Maru Gothic", serif;

}
.cvBox p.cv02{
  font-size: 2vw;
  color: #fff;
  font-weight: bold;
  line-height: 1.1;
  left: 42.5%;
  top: 39%
}
.cvBox p.cv02 span{
  font-size: 3.6666666666666665vw;
  display: block;
  color: #fef60e;

}
.cvBox p.cv03{
    top: 36.5%;
  font-feature-settings: 'palt';
  font-size: 3.888888888888889vw;
  font-weight: 900;
  line-height: 1.14;
  left: 52%;
}
.cvBox p.cv04{
  font-size: 7.666666666666666vw;
    font-weight: 900;
    top: 56.5%;
  left: 15.5%;
}
.cvBox p.cv05{
    font-size: 2.3333333333333335vw;
    font-weight: bold;
    top: 78%;
  left: 10%;
}
.cvBox p.cv05 span{
  color: #fff;
  margin-right: 1em
}

.cvBox .header-phone{
  display: block;
  width: 14%;
  background: url(../img/phoneL.png) center bottom 12px no-repeat #db2533;
  border-radius: 6px;
  text-align: center;
  aspect-ratio:1 / 1;
  position: absolute;
  margin-right: 8px;
  top: 64%;
  left: 64%

  
}
.cvBox .header-phone p{
    color: #fff;
  line-height: 1.1;
  font-size: 2.666666666666667vw;
  font-weight: bold;
  text-align: center;
  width: 100%;
  box-sizing: border-box;
  padding: 12px

}

.cvBox .header-mail{
  display: block;
  position: relative;
  width: 14%;
  background: url(../img/mailL.png) center bottom 12px no-repeat #09bd53;
  border-radius: 6px;
  text-align: center;
  aspect-ratio:1 / 1;
  top: 64%;
  left:80%
}
.cvBox .header-mail p{
    color: #fff;
  width: 100%;
  box-sizing: border-box;  line-height: 1.1;
  font-size: 2.666666666666667vw;
    text-align: center;
  font-weight: bold;
  padding: 12px
}
     
}

   @media screen and (max-width: 767px) {
     .cvBox{
  background: url(../img/cv_sp.png) 0 0 no-repeat;
       background-size: 100% auto;
  width: 100%;
  position: relative;
  height: auto;
  aspect-ratio:690/661
} 
.cvBox p{
  position: absolute;
  color: #042d53;
}
.cv01{
  font-size: 4.3999999999999995vw;
  font-weight: bold;
  top: 1%;
  right: 0%;
  text-align: center;
  width: 100%
}
.view_time{
  position: absolute;
    top: 10%;
  font-weight: bold;
  font-size: 7.066666666666667vw;
  right: 6.5%;
    letter-spacing: 0.05em;

  font-family: "Oswald", sans-serif;
}
.view_time span{
  font-size: 3.5999999999999996vw;
    font-family: "Zen Maru Gothic", serif;

}
.cvBox p.cv02{
  font-size: 2.533333333333333vw;
  color: #fff;
  font-weight: bold;
  line-height: 1.1;
  left: 42%;
  text-align: center;
  top: 28.5%
}
.cvBox p.cv02 span{
  font-size: 4.533333333333333vw;
  display: block;
  color: #fef60e;

}
.cvBox p.cv03{
    top: 26.5%;
  font-feature-settings: 'palt';
  font-size: 4.8vw;
  font-weight: 900;
  line-height: 1.14;
  left: 56%;
}
.cvBox p.cv04{
  font-size: 7.199999999999999vw;
    font-weight: 900;
    top: 42.5%;
  left: 16%;
}
.cvBox p.cv05{
    font-size: 2.6vw;
    font-weight: bold;
    top: 57%;
  left: 9%;
}
.cvBox p.cv05 span{
  color: #fff;
  margin-right: 1em
}

.cvBox .header-phone{
  display: block;
  width: 42.17%;
  background: url(../img/phoneL.png) center bottom 10px no-repeat #04c41a;
    background-size: 19.5% auto;
  border-radius: 6px;
  text-align: center;
  aspect-ratio:291 / 141;
  position: absolute;
  margin-right: 8px;
  top: 71%;
  left: 6%

  
}
.cvBox .header-phone p{
    color: #fff;
  line-height: 1.1;
  font-size: 4.266666666666667vw;
  font-weight: bold;
  text-align: center;
  width: 100%;
  box-sizing: border-box;
  padding: 10px 5px

}

.cvBox .header-mail{
  display: block;
  position: absolute;
  width: 42.17%;
  background: url(../img/mailL.png) center bottom 10px no-repeat #2081b6;
  background-size: 24.4% auto;
  border-radius: 6px;
  text-align: center;
  aspect-ratio:291 / 141;
  top: 71%;
  left:52%;
}
.cvBox .header-mail p{
    color: #fff;
  width: 100%;
  box-sizing: border-box;  line-height: 1.1;
  font-size: 4.266666666666667vw;
    text-align: center;
  font-weight: bold;
  padding: 10px 5px
}
     
}



#top02{
  background: #fffce5;
  padding: 105px 0 120px;
}
.alc{
  text-align: center
}


#top02 h3.h301{
  display: inline-block;
  font-size: 48px;
color: #042d53;
text-shadow: 4.56px 8px 0px #FFFFFF;
font-weight: 900;
  line-height: 1;
  position: relative;
  background: url(../img/line01.png) center bottom no-repeat;
  padding-bottom: 28px;
  margin-bottom: 24px;
}
#top02 h3.h301 span{
  font-size: 60px;
  color: #2a93cc;
}
#top02 h3.h301:before{
    content: '';
  background: url(../img/kantan.png) 0 0 no-repeat;
  display: block;
  width: 179px;
  margin: 0 auto;
  height: 78px;
}
   @media screen and (max-width: 767px) {
     #top02{
  background: #fffce5;
  padding: 33px 0 60px;
}
.alc{
  text-align: center
}

     
     

#top02 h3.h301{
  display: inline-block;
  font-size: 6.4vw;
color: #042d53;
text-shadow: 4.56px 8px 0px #FFFFFF;
font-weight: 900;
  line-height: 1;
  position: relative;
  background: url(../img/line01.png) center bottom repeat-x;
  background-size: auto 5px;
  padding-bottom: 18px;
  margin-bottom: 28px;
}
#top02 h3.h301 span{
  font-size: 8vw;
  color: #2a93cc;
}
#top02 h3.h301:before{
    content: '';
  background: url(../img/kantan.png) 0 0 no-repeat;
  background-size: 100% auto;
  display: block;
  width: 34.3%;
  margin: 0 auto;
  height: auto;
  aspect-ratio:179/78
}
     
}


.step li h4{
  font-size: 34px;
  font-weight: 900;
  color: #042d53;
}
.step li p{
  font-size: 21px;
  font-feature-settings: 'palt';
  font-weight: 700
}
.step li{
  background: url(../img/step01.png) left top no-repeat;
  width: 100%;
  box-sizing: border-box;
  position: relative;
  aspect-ratio:873 / 205;
  text-align: left;
  padding: 7% 30% 0% 9%;
  margin-bottom: 32px;
}
.step li:nth-child(2){
    background: url(../img/step02.png) left top no-repeat;
  padding: 5.5% 30% 0% 9%;
    aspect-ratio:873 / 188;


}
.step li:nth-child(3){
    background: url(../img/step03.png) left top no-repeat;
  padding: 5.5% 30% 0% 9%;
      aspect-ratio:873 / 192;


}
.step li:nth-child(4){
    background: url(../img/step04.png) left top no-repeat;
  padding: 5.5% 30% 0% 9%;
      aspect-ratio:873 / 188;
  margin-bottom: 73px


}
.step li:after{
    content: '';
  background: url(../img/step_arrow.png) 0 0 no-repeat;
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -45px;
  width: 21px;
  height: 32px
}
.step li:nth-child(4):after{
  display: none
}
   @media screen and (max-width: 900px) {
     .step li h4{
  font-size: 3.7777777777777777vw;
  font-weight: 900;
  color: #042d53;
}
.step li p{
  font-size: 2.3333333333333335vw;
  font-feature-settings: 'palt';
  font-weight: 700
}
.step li{
  background: url(../img/step01.png) left top no-repeat;
  background-size: 100% auto;
  width: 100%;
  box-sizing: border-box;
  position: relative;
  aspect-ratio:873 / 205;
  text-align: left;
  padding: 7% 30% 0% 9%;
  margin-bottom: 32px;
}
.step li:nth-child(2){
    background: url(../img/step02.png) left top no-repeat;
    background-size: 100% auto;
  padding: 5.5% 30% 0% 9%;
    aspect-ratio:873 / 188;


}
.step li:nth-child(3){
    background: url(../img/step03.png) left top no-repeat;
    background-size: 100% auto;
  padding: 5.5% 30% 0% 9%;
      aspect-ratio:873 / 192;


}
.step li:nth-child(4){
    background: url(../img/step04.png) left top no-repeat;
    background-size: 100% auto;
  padding: 5.5% 30% 0% 9%;
      aspect-ratio:873 / 188;
  margin-bottom: 73px


}
.step li:after{
    content: '';
  background: url(../img/step_arrow.png) 0 0 no-repeat;
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -45px;
  width: 21px;
  height: 32px
}
.step li:nth-child(4):after{
  display: none
}
     
}


   @media screen and (max-width: 767px) {
          .step li h4{
  font-size: 5.6000000000000005vw;
  font-weight: 900;
  color: #042d53;
            line-height: 1;
            margin-bottom: 10px;
}
.step li p{
  font-size: 3.4666666666666663vw;
  font-feature-settings: 'palt';
  line-height: 1.42;
  font-weight: 700
}
.step li{
  background: url(../img/step01_sp.png) left top no-repeat;
  background-size: 100% auto;
  width: 100%;
  box-sizing: border-box;
  position: relative;
  aspect-ratio:699 / 269;
  text-align: left;
  padding: 16% 30% 0% 7%;
  margin-bottom: 15px;
}
.step li:nth-child(2){
    background: url(../img/step02_sp.png) left top no-repeat;
    background-size: 100% auto;
  padding: 16% 30% 0% 7%;
    aspect-ratio:699 / 271;


}
.step li:nth-child(3){
    background: url(../img/step03_sp.png) left top no-repeat;
    background-size: 100% auto;
  padding: 16% 30% 0% 7%;
    aspect-ratio:699 / 271;

}
.step li:nth-child(4){
    background: url(../img/step04_sp.png) left top no-repeat;
    background-size: 100% auto;
  padding: 16% 30% 0% 7%;
    aspect-ratio:699 / 271;
  margin-bottom: 50px


}
.step li:after{
    content: '';
  background: url(../img/step_arrow.png) 0 0 no-repeat;
  background-size: 100% auto;
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -31px;
  width: 12px;
  height: 19px
}
.step li:nth-child(4):after{
  display: none
}
     
}


.h302{
    display: inline-block;
  font-size: 40px;
color: #042d53;
text-shadow: 4.56px 8px 0px #FFFFFF;
font-weight: 900;
  line-height: 1;
  position: relative;
  border-bottom: 7px solid #ffe600;
  padding-bottom: 16px;
  margin-bottom: 24px;
}

.payment{
  display: flex;
  justify-content: center;
  column-gap: 25px;
}

.payment li{
  background: url(../img/money.png) center bottom no-repeat;
  width: 241px;
  padding-bottom: 115px;
  padding-right: 5px;
  box-sizing: border-box;
  line-height: 1;
  letter-spacing: 0.05em;
  font-size: 28px;
  font-weight: 900;
  padding-top: 10px;
  text-align: center;
}
.payment li:nth-child(2){
  background: url(../img/credit.png) center bottom no-repeat;
  width: 241px;
  padding-bottom: 115px;
  line-height: 1;
  letter-spacing: -0.1em;
  font-size: 28px;
  font-weight: 900;
  padding-top: 10px;
  text-align: center;
}

   @media screen and (max-width: 767px) {
     .h302{
    display: inline-block;
  font-size: 6.133333333333333vw;
color: #042d53;
text-shadow: 4.56px 8px 0px #FFFFFF;
font-weight: 900;
  line-height: 1;
  position: relative;
  border-bottom: 4px solid #ffe600;
  padding-bottom: 9px;
  margin-bottom: 22px;
}

.payment{
  display: flex;
  justify-content: center;
  column-gap: 15px;
}

.payment li{
  background: url(../img/money.png) center bottom no-repeat;
  background-size: 100% auto;
  width: 41.8%;
  height: auto;
  aspect-ratio:289/168;
  padding-bottom: 0;
  padding-right: 5px;
  box-sizing: border-box;
  line-height: 1;
  letter-spacing: 0.05em;
  font-size: 4.3999999999999995vw;
  font-weight: 900;
  padding-top: 0px;
  text-align: center;
}
.payment li:nth-child(2){
  background: url(../img/credit.png) center bottom no-repeat;
  background-size: 100% auto;
  width: 41.8%;
  height: auto;
  aspect-ratio:289/168;
  padding-bottom: 0;
  line-height: 1;
  letter-spacing: -0.1em;
  font-size: 4.3999999999999995vw;
  font-weight: 900;
  padding-top: 0px;
  text-align: center;
}
     
}


#top03{
  background: url(../img/bg03.png) center top repeat;
padding: 103px 0 125px;}

#top03 h3.h301{
  display: inline-block;
  font-size: 48px;
color: #042d53;
text-shadow: 3px 5.26px 0px #FFFFFF;
  font-weight: 900;
  line-height: 1;
  position: relative;
  background: url(../img/line02.png) center bottom no-repeat;
  padding-bottom: 28px;
  margin-bottom: 50px;
}
#top03 h3.h301 span{
  font-size: 60px;
  color: #2a93cc;
}
#top03 h3.h301:before{
    content: '';
  background: url(../img/sokujitsu.png) 0 0 no-repeat;
  display: block;
  width: 278px;
  margin: 0 auto 10px;
  height: 90px;
}
   @media screen and (max-width: 767px) {
     #top03{
  background: url(../img/bg03.png) center top repeat;
padding: 38px 0 46px;}

#top03 h3.h301{
  display: inline-block;
  font-size: 6.4vw;
color: #042d53;
text-shadow: 2px 2px 0px #FFFFFF;
  font-weight: 900;
  line-height: 1;
  position: relative;
  background: url(../img/line02.png) 0 bottom repeat-x;
  background-size: auto 5px;
  padding-bottom: 15px;
  margin-bottom: 29px;
}
#top03 h3.h301 span{
  font-size: 60px;
  color: #2a93cc;
}
#top03 h3.h301:before{
    content: '';
  background: url(../img/sokujitsu.png) 0 0 no-repeat;
  background-size: 100% auto;
  display: block;
  width: 54.5%;
  margin: 0 auto 10px;
  height: auto;
  aspect-ratio:278/85
}
     
}


.trouble_box{
  background: url(../img/trouble.png) 0 0 no-repeat;
  margin-left: 64px;
  width: 629px;
  height: 260px;
  margin-bottom: 50px;
  box-sizing: border-box;
  padding:75px 0 0 350px;  
}
.trouble_box p{
  font-size: 41px;
  line-height: 1.2;
  color: #000;
  font-weight: 900;
}
.trouble_box p span{
  font-size: 55px;
  color: #db2533;
  display: block;
}
.trouble_text{
  text-align: center;
  font-size: 15px;
  line-height: 1.46;
  font-weight: 700;
  margin-bottom: 72px;
  color: #042d53;
}
   @media screen and (max-width: 767px) {
     .trouble_box{
  background: url(../img/trouble.png) 0 0 no-repeat;
       background-size: 100% auto;
  margin-left: 5px;
  width: 91%;
       aspect-ratio:627/260;
  height: auto;
  margin-bottom: 30px;
  box-sizing: border-box;
  padding:11% 0 0 50.5%;  
}
.trouble_box p{
  font-size: 5.333333333333334vw;
  line-height: 1.2;
  color: #000;
  font-weight: 900;
}
.trouble_box p span{
  font-size: 7.333333333333333vw;
  color: #db2533;
  display: block;
}
.trouble_text{
  text-align: center;
  font-size: 2.666666666666667vw;
  line-height: 1.46;
  font-weight: 700;
  margin-bottom: 40px;
  color: #042d53;
}
}



#top04{
  background: url(../img/bg04.png) center top repeat;
padding: 101px 0 132px;}

#top04 h3.h301{
  display: inline-block;
  font-size: 48px;
color: #fff;
text-shadow: 3px 5.26px 0px #042d53;
  font-weight: 900;
  line-height: 1;
  position: relative;
  background: url(../img/line03.png) center bottom no-repeat;
  padding-bottom: 28px;
  margin-bottom: 50px;
}
#top04 h3.h301 span{
  font-size: 60px;
  color: #2a93cc;
}
#top04 h3.h301:before{
    content: '';
  background: url(../img/komatta.png) 0 0 no-repeat;
  display: block;
  width: 383px;
  margin: 0 auto 10px;
  height: 97px;
}
   @media screen and (max-width: 767px) {
     
#top04{
  background: url(../img/bg04.png) center top repeat;
padding: 37px 0 50px;}

#top04 h3.h301{
  display: inline-block;
  font-size: 6.4vw;
color: #fff;
text-shadow: 2px 2px 0px #042d53;
  font-weight: 900;
  line-height: 1;
  position: relative;
  background: url(../img/line03.png) 0 bottom repeat-x;
  background-size: auto 5px;
  padding-bottom: 15px;
  margin-bottom: 26px;
}

#top04 h3.h301:before{
    content: '';
  background: url(../img/komatta.png) 0 0 no-repeat;
  background-size: 100% auto;
  display: block;
  width: 100%;
  aspect-ratio:383/97;
  margin: 0 auto 3px;
  height: auto;
}
}


.after_box{
    background: url(../img/after_box.png) 0 0 no-repeat;
  width: 674px;
  height: 232px;
  margin: 0 auto;
  padding-top: 50px;
    margin-bottom: 48px;

  box-sizing: border-box

}
.baloon{
  font-size: 41px;
  font-weight: 900;
  margin-left: 267px;
  line-height: 1;
  margin-bottom: 60px;
  
}
.after_text01{
  text-align: center;
  margin-left: 220px;
  font-size: 32px;
color: #FFFFFF;
line-height: 1.438;
  font-weight: 700;
  text-shadow: 3px 3px 0px #042D53;
}
.after_text01 span{
  color: #ffe600
}

.after_text02{
  text-align: center;
  font-size: 15px;
  line-height: 1.46;
  font-weight: 700;
  margin-bottom: 80px;
  color: #fff;
/*text-shadow: 2px 2px 0px #042D53;*/
}

   @media screen and (max-width: 767px) {
     .after_box{
    background: url(../img/after_box.png) 0 0 no-repeat;
       background-size: 100% auto;
       aspect-ratio:674/232;
  width: 97.8%;
  height: auto;
  margin: 0 auto;
  padding-top: 7%;
    margin-bottom: 25px;
  box-sizing: border-box

}
.baloon{
  font-size: 5.466666666666667vw;
  font-weight: 900;
  margin-left: 41%;
  line-height: 1;
  margin-bottom: 10%;
  
}
.after_text01{
  text-align: center;
  margin-left: 30%;
  font-size: 4.266666666666667vw;
color: #FFFFFF;
line-height: 1.438;
  font-weight: 700;
  text-shadow: 1.5px 1.5px 0px #042D53;
}
.after_text01 span{
  color: #ffe600
}

.after_text02{
  text-align: center;
  font-size: 2.666666666666667vw;
  line-height: 1.46;
  font-weight: 700;
  margin-bottom: 44px;
  color: #fff;
text-shadow: 0px 0px;
}
     
}


#top05{
  background: url(../img/bg05.png) center top repeat;
padding: 114px 0 80px;}

#top05 h3.h301{
  display: inline-block;
  font-size: 48px;
color: #042d53;
text-shadow: 3px 5.26px 0px #fff;
  font-weight: 900;
  line-height: 1;
  position: relative;
  background: url(../img/line05.png) center bottom no-repeat;
  padding-bottom: 28px;
  margin-bottom: 74px;
}
#top05 h3.h301 span{
  font-size: 60px;
  color: #2a93cc;
}
#top05 h3.h301:before{
    content: '';
  background: url(../img/wakara.png) 0 0 no-repeat;
  display: block;
  width: 383px;
  margin: 0 auto 10px;
  height: 97px;
}

#top05 dl{
  margin: 0 auto 38px;
  border: 3px solid #042d53;
  border-radius: 8px;
  max-width: 850px;
  background: #fff;
}
#top05 dl dt{
  background: #ffe600;
  position: relative;
    border-radius: 8px 8px 0 0;
  font-size: 26px;
  font-weight: 900;
  padding: 20px 20px 13px 20px;
  line-height: 1.2
}
#top05 dl dt:before{
    content: '';
  background: url(../img/Qicon.png) 0 0 no-repeat;
  display: inline-block;
  width: 43px;
  height: 40px;
  vertical-align: middle;
  position: relative;
  top: -3px;
  margin-right: 10px
}
#top05 dl dd{
  font-size: 18px;
  font-weight: bold;
  line-height: 1.38;
  padding: 20px;
}


   @media screen and (max-width: 767px) {
     #top05{
  background: url(../img/bg05.png) center top repeat;
padding: 44px 0 54px;}

#top05 h3.h301{
  display: inline-block;
  font-size: 6.4vw;
color: #042d53;
text-shadow: 2px 2px 0px #fff;
  font-weight: 900;
  line-height: 1;
  position: relative;
  background: url(../img/line05.png) left bottom repeat-x;
  background-size: auto 5px;
  padding-bottom: 15px;
  margin-bottom: 30px;
}

#top05 h3.h301:before{
    content: '';
  background: url(../img/wakara.png) 0 0 no-repeat;
  background-size: 100% auto;
  display: block;
  aspect-ratio:383/97;
  width: 132%;
  margin: 0 auto 5px -16%;
  height: auto;
}

#top05 dl{
  margin: 0 auto 15px;
  border: 2px solid #042d53;
  border-radius: 8px;
  max-width: 850px;
  background: #fff;
}
#top05 dl dt{
  background: #ffe600;
  position: relative;
    border-radius: 8px 8px 0 0;
  font-size: 4.266666666666667vw;
  font-weight: 900;
  font-feature-settings: 'palt';
  letter-spacing: -0.05em;
  padding: 13px 10px 13px 11%;
  line-height: 1.312
}
#top05 dl dt:before{
    content: '';
  background: url(../img/Qicon.png) 0 0 no-repeat;
  background-size: 100% auto;
  display: block;
  aspect-ratio:43/40;
  width: 6.2%;
  height: auto;
  vertical-align: middle;
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  margin-right: 3px
}
#top05 dl dd{
  font-size: 3.4666666666666663vw;
  font-weight: bold;
  line-height: 1.38;
  padding: 13px;
    font-feature-settings: 'palt';
  letter-spacing: -0.05em;
}
     
}
