@charset "UTF-8";
html {
  background: #FFF;
  font-family: Roboto, Arial, Helvetica, sans-serif;
  font-size: 62.5%;
}
body {
  width: 100%;
  font-size: 16px;
  font-size: 1.6rem;
}
.txthdn {
  overflow: hidden;
  text-indent: 101%;
  white-space: nowrap;
}
a {
  text-decoration: none;
  transition: all 0.2s ease-out;
}
h3 {
  font-size: 40px;
  font-size: 4.0rem;
  text-align: center;
  margin: 0 0 20px;
  color: #534741;
}
.red {
  color: #f00;
}
.strong {
  font-weight: 700;
}
.small {
  font-size: 80%;
}
.x150 {
  font-size: 150%;
}
.x200 {
  font-size: 200%;
}
header {
  display: flex;
  justify-content: space-between;
  align-items:flex-start;
  width: 1000px;
  height: 80px;
  margin: 0 auto;
  z-index: 10;
}
header .header_logo {
  display: block;
  width: 288px;
  height: 80px;
  background-image: url(../img/site-logo.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  margin: 0 20px 0 0;
}
header .shoulder {
  width: 320px;
  font-size: 11px;
  font-size: 1.1rem;
  line-height: 1.5;
  color: #333;
}
header .cta_tel {
  display: none;
  width: 250px;
  height: 80px;
  background-image: url(../img/header_cta_tel_pc.png);
  background-repeat: no-repeat;
  background-size: cover;
  margin: 0;
}
header .cta_web {
  display: block;
  width: 252px;
  height: 148px;
  /* background-image: url(../img/header_button_offer.png); */
  background-image: url(../img/header_cta_web_20241007.png);
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 50;
  /* margin: 65px 0 0; */
}
.cta_tel {
  pointer-events: none;
}
.cta_web {
  /* background-color: #d83229; */
  transition: 0.2s all ease-out;
}
.cta_web:hover {
  /* background-color: #ff4f29; */
  transform: scale(1.02);
  opacity: 0.88;
}
.container {
  width: 100%;
  margin: 0 auto;
}
section {
  background-repeat: no-repeat;
  background-size: auto;
  background-position: center center;
}
.sec01 {
  height: 910px;
  position: relative;
}
.sec01 .mv {
  height: 100%;
  background-repeat: no-repeat;
  background-size: auto;
  background-position: center center;
  z-index: 10;
  position: relative;
}
.sec01 .top-button-area {
  z-index: 30;
  position: absolute;
  bottom: -1em;
  left: calc(50% - -5em);
}
.sec02 {
  height: 970px;
  background-image: url(../img/sec02_pc_20250303.png);
}
.sec03 {
  height: 1400px;
  background-image: url(../img/cta01_pc_20250303.png);
}
.sec03 .cta_tel {
  display: none;
}

.sec04 {
  height: 1500px;
  background-image: url(../img/sec04_pc_20250303.png);
}
.sec05 {
  height: auto;
  margin-top: 40px;
}
.sec05 h3 {
  color: #33536f;
}
.sec05 .doubt {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  background-color: #FFF;
  min-height: 264px;
  position: relative;
}
.sec05 .doubt ul {
  display: block;
  background-color: #66809d;
  padding: 20px;
  color: #FFF;
  font-size: 125%;
  line-height: 40px;
  width: 560px;
  position: relative;
  z-index: 11;
  margin-bottom: 60px;
}
.sec05 .doubt::before {
  display: block;
	content: "";
	position: relative;
	bottom: 0;
	right: -66px;
	width: 264px;
	height: 264px;
  background-image: url(../img/doubt.png);
  background-size: cover;
  z-index: 10;
}
.sec05 .denial {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  background-color: #e5e4e0;
  height: 250px;
  position: relative;
}
.sec05 .denial::after {
  display: block;
	content: "";
	position: relative;
	bottom: -9px;
	right: -102px;
	width: 201px;
	height: 240px;
  background-image: url(../img/denial_20241007.png);
  background-size: cover;
  z-index: 10;
}
.sec05 .denial p {
  font-size: 150%;
  line-height: 40px;
  margin-bottom: 60px;
}
.sec06,.sec10 {
  height: 1350px;
  background-image: url(../img/cta02_pc_20250303.png);
}
.sec07 {
  height: 2000px;
  background-image: url(../img/sec07_pc_20250303.png);
}
.sec08 {
  height: 950px;
  /* margin: 40px 0; */
  /* background-image: url(../img/sec08_pc_202204.jpg); */
  background-image: url(../img/sec08_pc_20250303.png);
  background-color: #fff;
}
.sec09 {
  background-color: #cce1a6;
  padding: 40px 0;
}
.sec09 .qa {
  width: 1000px;
  margin: 0 auto 20px;
  position: relative;
  overflow: hidden;
  padding: 15px 10px 20px;
}
.qa .Q,.qa .A {
  display: inline-block;
  line-height: 1.5;
  padding: 20px 30px;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0,0,0,.3);
  margin: 0 40px -10px;
  max-width: 800px;
  position: relative;
}
.qa .Q {
  float: left;
  background: #80b320;
  color: #FFF;
  font-size: 25px;
  font-size: 2.5rem;
}
.qa .A {
  float: right;
  background: #FFF;
  color: #333;
  font-size: 15px;
  font-size: 1.5rem;
}
.qa .Q::after,.qa .A::after {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  position: absolute;
  top: -15px;
  z-index: 10;
  font-size: 25px;
}
.qa .Q::after {
  content: "Q";
  background: #FFF;
  color: #80b320;
  left: -40px;
  border-radius: 25px 25px 0 25px;
}
.qa .A::after {
  content: "A";
  background: #80b320;
  color: #FFF;
  right: -40px;
  border-radius: 25px 25px 25px 0;
}

.cta ,
.cta2 {
  position: relative;
}

.cta .button-area ,
.cta2 .button-area {
  max-width: 1500px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  justify-content: center;
}
.cta .button-area .button-box{
  margin-top: 613px;
}
.cta2 .button-area .button-box{
  margin-top: 587px;
}
.cta .button-area .button-box.left,
.cta2 .button-area .button-box.left{
  margin-right: 44px;
}
.cta .button-area .button-box.right,
.cta2 .button-area .button-box.right{
  margin-left: 44px;
}
/* .cta .cta_tel {
  display: block;
  width: 500px;
  height: 70px;
  background-image: url(../img/btn_cta_tel.png);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  bottom: 700px;
  left: calc(50% - 250px);
}
.cta .cta_web {
  display: block;
  width: 500px;
  height: 80px;
  background-image: url(../img/btn_cta_web.png);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
	bottom: 560px;
	left: calc(50% - 250px);
	box-shadow: 0 5px 20px rgba(64,0,0,.3);
}
.cta .cta_web:hover {
	box-shadow: 0 10px 10px rgba(128,32,0,.4);
} */

.form {
  margin-top: -20px;
  padding-top: 20px;
}

.form .section-inner {
  margin: 2em auto;
  width: min(640px,90vw);
}
.form .section-inner iframe {
  width: 100%;
}b
.form .section-inner form {
  margin: 2em 1em;
}
.form .section-inner form h2 {
  font-size: 24px;
  text-align: center;
  margin-bottom: 1em;
  border-bottom: 8px solid #f00;
}
.form .form-field-set {
  margin-bottom: 1rem;
}
.form legend {
  color: #424242;
  font-size: 1.2em;
  font-weight: bold;
  line-height: 1.22em;
  word-break: break-word;
  float: left;
  width: 100%;
  padding: 0;
  margin-top: 1em;
  margin-bottom: 1.0rem;
  /* font-size: calc(1.275rem + 0.3vw); */
  line-height: inherit;
  display: flex;
  align-items: center;
}
.form label div {
  margin: 0.5em 0 1em;
  line-height: 1.22em;
  border: solid 1px #ddd;
  padding: 0.5em;
  border-radius: 8px;
}
.form .form-control {
  padding: 0.375rem 0.75rem;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.5;
    color: #424242;
    background-color: #ffffff;
    background-clip: padding-box;
    border: 1px solid #cfcfcf;
    appearance: none;
    border-radius: 0.5rem;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.form input[type="text"] {
  display: inline-block;
  max-width:100%;
}
.form input[type="radio"] {
  width: 24px;
  height: 24px;
  margin-right: 1em;
}
.form .name-area {
  display: flex;
  flex-flow: column;
  justify-content: flex-start;
  width: 100%;
}
.form .name-area > div {
  margin-bottom: 1em;
}

.form .holidays {
  margin-top: 1em;
  margin-bottom: 1em;
  padding-top: 0.333em;
  padding-bottom: 0.333em;
  padding-left: 1em;
  background-color: rgb(255, 235, 252);
}
.form .holidays p.title {
  margin: 0.333em 0;
}
.form .holidays p.shop {
  margin-bottom: 0.5em;
}

@media all and (min-width:769px) {
  .form .name-area {
    flex-flow: row;
  }
  .form .name-area .firstname{
    margin-left: 1em;
  }
  .form .name-area > div {
    max-width: 48%;
  }
  
}
.form .phone-area .phone01 ,
.form .phone-area .phone02 ,
.form .phone-area .phone03 {
  width: 4em;
  text-align: center;
  margin-right: 1em;
  margin-left: 1em;
}
.form .phone-area .phone01 {
  margin-left:0 ;
}
.form .d-flex-a-center {
  display: flex;
  flex-flow: row;
  align-items: center;
  /* width: 100%; */
}
.required {
  display: inline-block;
  background-color: rgb(219, 34, 34);
  padding: 0.2em 0.5em;
  margin-left: 0.77em;
  color:white;
  border-radius: 8px;
  font-size: 0.66em;
}
.form .button-area {
  margin: 1em auto 2em;
}
.form input[type="submit"] {
  width: 300px;
  padding: 0.5em 0.5em;
  background-color: #43a047;
  color: #eee;
  border: solid 1px #43a047;
  border-radius: 8px;
  font-size: 150%;
  line-height: 1em;
  cursor: pointer;
}
.form input[type="submit"]:hover {
  background-color: #eee;
  color:#060 ;
}
footer {
  background-color: #80b320;
  padding: 10px 0;
  text-align: center;
  color: #bad881;
  font-size: 14px;
  font-size: 1.4rem;
}
footer .footer_logo {
  display: block;
  width: 320px;
  height: 89px;
  margin: 0 auto 10px;
/*  padding: 0 20px;*/
  background-color: #fff;
  background-image: url(../img/site-logo.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
footer .footer_link a {
  color: #FFF;
  display: inline-block;
  white-space: nowrap;
}
footer .footer_link a:hover {
  color: #FF6;
}


.V------MEDIAQUERY-----V{}
.pc_only_block {display: none;}
.sp_only_block {display: none;}
.pc_only_inline {display: none;}
.sp_only_inline {display: none;}
.pc_only_inline-block {display: none;}
.sp_only_inline-block {display: none;}

@media (min-width: 769px){
.pc_only_block {display: block ;}
.sp_only_block {display: none;}
.pc_only_inline {display: inline;}
.sp_only_inline {display: none;}
.pc_only_inline-block {display: inline-block;}
.sp_only_inline-block {display: none;}
	
}
@media (max-width: 768px){
.pc_only_block {display: none;}
.sp_only_block {display: block;}
.pc_only_inline {display: none;}
.sp_only_inline {display: inline;}
.pc_only_inline-block {display: none;}
.sp_only_inline-block {display: inline-block;}
.A------MEDIAQUERY-----A{}
.V------SMARTPHONE-----V{}


    body {
      font-size: 16px;
      font-size: 1.6rem;
    }
    h3 {
      font-size: 20px;
      font-size: 2.0rem;
    }
    header {
      width: 100%;
      height: 60px;
    }
    header .header_logo {
      width: 228px;
      height: 60px;
      background-image: url(../img/header_logo_sp.jpg);
      margin: 0 0 0 14px;
    }
    header .shoulder {
      display: none;
    }
    header .cta_tel {
      width: 87px;
      height: 60px;
      background-image: url(../img/header_cta_tel_sp.png);
    }
    header .cta_web {
      width: 33.6vw;
      height: 19.73vw;
      margin: 0 10px 0 0;
    }
    .cta_tel {
      pointer-events: auto;
    }

    section {
      background-repeat: no-repeat;
      background-size: 100%;
      background-position: center center;
    }
    .sec01 {
      height: 121.333vw;
    }
    .sec01 .mv {
      height: 100%;
      background-repeat: no-repeat;
      background-size: 100%;
      background-position: center center;
    }
    .sec01 .top-button-area {
      width: 60.8vw;
      height: 1.81vw;
      left: calc(50% - 30.4vw);
      bottom: 0.66em;
    }
    .sec01 .top-button-area img {
      width: 100%;
    }
    .sec02 {
      height: 132vw;
      background-image: url(../img/sec02_sp_20250303.png);
      margin-top: 1.5em;
    }
    .sec03 {
      height: 282.666vw;
      background-image: url(../img/cta01_sp_20250303.png);
    }

    .cta .button-area {
      max-width: 96%;
    }
    .cta .button-area .button-box{
      width: 48%;
      margin-top: 95vw;
    }
    .cta2 .button-area .button-box{
      width: 46%;
      margin-top: 95vw;
    }
    .cta2 .button-area .button-box.left{
      margin-left: 5px;
    }
    .cta .button-area .button-box a ,
    .cta2 .button-area .button-box a {
      display: block;
    }
    .cta .button-area .button-box a img ,
    .cta2 .button-area .button-box a img {
      max-width: 100%;

    }
    .cta .button-area .button-box.left,
    .cta2 .button-area .button-box.left{
      margin-right: 0px;
    }
    .cta .button-area .button-box.right,
    .cta2 .button-area .button-box.right{
      margin-left: 0px;
    }
    .cta .tel_area ,
    .cta2 .tel_area {
      display: block;
      width: 64.2667vw;
      height: 15.333vw;
      max-height: 127px;
      /* background-color: #fff; */
      background-color: transparent;
      margin-left: 28%;
      margin-top: 5%;
    }

    .cta .cta_tel ,
    .cta2 .cta_tel {
      background: url("../img/cta01_sp_button_20250430.png") no-repeat center center;
      background-size: contain;
      height: 100%;
    }


    .sec03 .cta_tel {
      display: block;
    }
    .sec04 {
      height: 752vw;
      background-image: url(../img/sec04_sp_20250303.png);
    }
    .sec05 {
      margin-top: 30px;
    }
    .sec05 .doubt {
      min-height: 132px;
    }
    .sec05 .doubt ul {
      padding: 15px;
      font-size: 14px;
      line-height: 25px;
      width: calc(100vw - 132px);
      margin: 0 10px 35px 0;
    }
    .sec05 .doubt::before {
      right: auto;
      left: 10px;
      width: 132px;
      height: 132px;
    }
    .sec05 .denial {
      height: 125px;
    }
    .sec05 .denial::after {
      right: auto;
      width: 100px;
      height: 150px;
    }
    .sec05 .denial p {
      font-size: 14px;
      line-height: 25px;
      margin-bottom: 15px;
      text-align: center;
    }
    .sec06,.sec10 {
      height: 284vw;
      background-image: url(../img/cta02_sp_20250303.png);
    }
    .sec07 {
      height: 450vw;
      background-image: url(../img/sec07_sp_20250430.png);
    }
    .sec08 {
      /* margin: 30px 0; */
      height: 286vw;
      /* background-image: url(../img/sec08_sp_202204.jpg); */
      background-image: url(../img/sec08_sp_20250303.png);
    }
    .sec09 {
      background-color: #cce1a6;
      padding: 40px 0;
    }
    .sec09 .qa {
      width: calc(100% - 20px);
      margin: 0 auto ;
      position: relative;
      overflow: hidden;
      padding: 15px 10px 15px;
    }
    .qa .Q,.qa .A {
      padding: 10px 15px;
      margin: 0 40px -5px;
      max-width: 64%;
    }
    .qa .Q {
      font-size: 16px;
      font-size: 1.6rem;
    }
    .qa .A {
      font-size: 13px;
      font-size: 1.3rem;
    }
    .qa .Q::after,.qa .A::after {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 50px;
      height: 50px;
      position: absolute;
      top: -15px;
      z-index: 10;
      font-size: 25px;
    }
    .qa .Q::after {
      content: "Q";
      background: #FFF;
      color: #80b320;
      left: -40px;
      border-radius: 25px 25px 0 25px;
    }
    .qa .A::after {
      content: "A";
      background: #80b320;
      color: #FFF;
      right: -40px;
      border-radius: 25px 25px 25px 0;
    }

    /* .cta .cta_tel {
      width: 70vw;
      height: 9vw;
      bottom: 186vw;
      left: calc(50% - 40vw);
    }
    .cta .cta_web {
      width: 80vw;
      height: 13.3333vw;
      bottom: 160vw;
      left: calc(50% - 40vw);
    } */
    footer {
      padding: 10px;
    }

/* popup */
    .tel_popup {
      position: relative;
      z-index: 300;
      
      .overlay {
        position: fixed; /* 画面全体を覆う */
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5); /* 半透明の背景 */
        display: none; /* 初期状態では非表示 */
        justify-content: center; /* コンテンツを中央に配置（垂直方向） */
        align-items: center; /* コンテンツを中央に配置（水平方向） */
      }
      
      .overlay:target {
        display: flex; /* ポップアップ表示時にflexboxで表示 */
      }
      
      .popup {
        background-color: #e3fcfd;
        padding: 20px;
        border-radius: 5px;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
        position: relative; /* closeボタンの基準位置 */
      }
      h2 {
        text-align: center;
        font-size: 150%;
        font-weight: bold;
        color: rgb(2, 38, 156);
        margin-bottom: 1em;
      }
      .cta_tel_button {
        margin: 2rem 0 5rem;
        text-align: center;

        a.cta_tel_popup {
          font-size: 290%;
          font-weight: bold;
          font-family: Roboto,Meiryo,sans-serif;
        }
      }
      .cta_web_button {
        text-align: center;
        margin: 1em auto;
        
        a.button {
          border: solid 4px rgb(2, 38, 156);;
          border-radius: 2em;
          background-color: #ffffff;
          display: inline-block;
          margin: 0.5em auto;
          padding: 0.666em 1.5em 0.555em;
          line-height: 1em;
          font-size:115%;
          box-shadow: 0px 0px 0.666em rgba(2, 38, 156,0.55);;
        }

      } 
      .close-button {
        position: absolute;
        top: 10px;
        right: 10px;
        font-size: 20px;
        font-weight: bold;
        color: #333;
        text-decoration: none;
        cursor: pointer;
      }
    }


/*  */


.A------SMARTPHONE-----A{}
}
