@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;
  position: relative;
}

section img {
  max-width: 100%;
  display: block;
}


.txthdn {
  overflow: hidden;
  text-indent: 101%;
  white-space: nowrap;
}
a {
  text-decoration: none;
  transition: all 0.2s ease-out;
}
.sp_only_block {display: block;}
.sp_only_inline {display: inline;}
.sp_only_inline-block {display: inline-block;}

.pc_only_block {display: none;}
.pc_only_inline {display: none;}
.pc_only_inline-block {display: none;}

body {
  font-size: 16px;
  font-size: 1.6rem;
  /* text-align: center; */
/*  margin: 0 0 20px;*/
  color: #534741;
}
.container {
  width: 100%;
  margin: 0 auto;
}
section {
  background-repeat: no-repeat;
  background-size: auto;
  background-position: center center;
}
h3 {
  font-size: 20px;
  font-size: 2.0rem;
}
.strong {
  font-weight: 700;
}

header {
  width: 100%;
  height: 16vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  position:relative;
  z-index:30;
}
header .header_logo {
  width: 50.66vw;
  height: 15.6vw;
  background-image: url(./img4/header_logo_sp.png);
  margin: 0 0 0 14px;
  background-repeat: no-repeat;
  background-size: cover;
}
header .shoulder {
  display: none;
}
header .cta_tel {
  display: none;
  width: 24vw;
  height: 12.933vw;
  background-image: url(./img4/header_cta_tel_smp.png);
  background-repeat: no-repeat;
  background-size: cover;
  margin: 0;
}
header .cta_web {
  display: block;
  width: 29.4vw;
  height: 17.5vw;
  margin: 0;
  background-image: url(./img4/header_cta_web.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-color: transparent;
  z-index: 100;
}


.cta_web {
  background-color: #d83229;
  transition: 0.2s all ease-out;
}
.cta .cta_web:hover {
  background-color: #ff4f29;
  transform: scale(1.02);
}


.cta .button-area {
  max-width: 96.5%;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  justify-content: center;
}
.cta .button-area .button-box{
  width: 42.5%;
}
.cta .button-area .button-box.left{
  margin-right: 15px;
}
.cta .button-area .button-box a  {
  display: block;
}

.sec01 {
  height: 150.53vw;
  background-image: url(./img4/smp01_20250623.png);
  background-size: contain;
}
.sec01.cta .button-area .button-box{
  margin-top: 87vw;
}
.sec01.cta .button-area .button-box a img  {
  max-width: 372px;
  width: 100%;
}
.sec01 .button_area_top {
  width: 100%;
  height: 67vw;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
.sec01 .button_box  {
  width: 48%;
  min-width: 248px;
  max-width: 325px;
}
.sec01 .button_box a  {
  display: block;
  text-align: center;
  margin: 10px 20px;
  padding: 0.5em 2em;
  line-height: 1em;
  background: #fdb8f7;
  border: solid 4px #f55a00;
  border-radius: 1.5em;
  font-weight: bold;
  font-size: 1.6rem;
}
.sec01 .button_box a:hover  {
  background-color: white;
}


.sec01 .button_area_top2 {
  width: 100%;
  height: 84vw;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
.sec01 .button_box2 {
  width: 63.33%;
}
.sec01 .button_box a img {
  width: 100%;
  aspect-ratio: 475/99;

}

.sec02 {
  position: relative;
}
#ans {
  visibility: hidden;
  position: absolute;
  bottom: 19vw;
}

.sec04 {
  height: 93.33vw;
  background-image: url(./img4/smp04.png);
  background-size: contain;
}
.sec04.cta .button-area .button-box{
  width: 49%;
  margin-top: 67.6vw;
}
.sec04.cta .button-area .button-box a img  {
  max-width: 347px;
  width: 100%;
}
.sec04 .cta_tel_box {
  width: 94.133vw;
  height: 21.866vw;
  left: 0;
  margin: 6.666vw auto auto;  
}

.sec06 ,
.sec09 {
  height: 166.666vw;
  background-size: contain;
}
.sec11 {
  height: 146.666vw;
  background-size: contain;
}
.sec06 {
  background-image: url(./img4/smp06.png);
}
.sec09 {
  background-image: url(./img4/smp09.png);
}
.sec11 {
  background-image: url(./img4/smp11.png);
}

.sec06.cta .button-area .button-box,
.sec09.cta .button-area .button-box{
  width: 47%;
  margin-top: 111vw;
}
.sec11.cta .button-area .button-box{
  width: 47%;
  margin-top: 95vw;
}
.sec06.cta .button-area .button-box.left,
.sec09.cta .button-area .button-box.left,
.sec11.cta .button-area .button-box.left{
  margin-right: 0px;
}
.sec06.cta .button-area .button-box a img  ,
.sec09.cta .button-area .button-box a img  ,
.sec11.cta .button-area .button-box a img  {
  max-width: 347px;
  width: 100%;
}
.sec11.cta .button-area .button-box a img  {
  max-width: 347px;
}
.container {
  width: 100%;
  margin: 0 auto;
}
.cta_tel {
  pointer-events: auto;
}
.sec04.cta .tel_area  {
  display: block;
  background-color: transparent;
  width: 60.8vw;
  height: 14.4vw;
  max-height: 93px;
  margin-left: 34%;
  margin-top: 1.22%;
}
.sec06.cta .tel_area  ,
.sec09.cta .tel_area  ,
.sec11.cta .tel_area  {
  display: block;
  background-color: transparent;
  width: 62.667vw;
  height: 14.9333vw;
  max-height: 127px;
  margin-left: 27%;
  margin-top: 18.666%;
}
.sec11.cta .tel_area  {
  margin-top: 14.8%;

}
.sec04.cta .cta_tel  {
  background: url("./img4/cta02_sp_button_tel_20250430.png") no-repeat center center;
  background-size: contain;
  height: 100%;
}
.sec06.cta .cta_tel  ,
.sec09.cta .cta_tel  ,
.sec11.cta .cta_tel  {
  background: url("./img4/cta03_sp_button_tel_20250430.png") no-repeat center center;
  background-size: contain;
  height: 100%;
}


/* form */

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

.form .section-inner {
  margin: 0 auto;
  width: min(640px,100vw);
}
.form .section-inner iframe {
  width: 100%;
}
.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 {
  font-size: 120%;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

@media all and (min-width:750px) {
  .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 ;
}

/* 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;
      }
    }


/*  */


footer {
  background-color: #80b320;
  padding: 10px 0;
  text-align: center;
  color: #bad881;
  font-size: 1.4rem;
  /* position: absolute; */
  bottom: 0;
  width: 100%;
}
footer .footer_logo {
  display: block;
  width: 320px;
  height: 80px;
  margin: 0 auto 10px;
  background-image: url(./img4/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;
}
/*
 * PC
 *-----------------------------------**/

@media (min-width: 750px){
  .pc_only_block {
    display: block ;
    margin: 0 auto;
    width: 100%;
    max-width: 1500px;
  }
  .pc_only_inline {display: inline;}
  .pc_only_inline-block {display: inline-block;}
  
  .sp_only_block {display: none;}
  .sp_only_inline {display: none;}
  .sp_only_inline-block {display: none;}

  section {
    max-width: 1500px;
    margin: 0 auto;
  }
  h3 {
    font-size: 40px;
    font-size: 4.0rem;
  }

  header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    height: 80px;
    margin: 0 auto;
    z-index: 10;
  }
  header .header_logo {
    display: block;
    width: 32.8vw;
    height: 4.266vw;
    background-image: url(./img4/header_logo_pc.png);
    background-repeat: no-repeat;
    background-size: cover;
    margin: 0 20px 0 0;
    max-width: 492px;
    max-height: 64px;
    /* max-width: 492px;
    max-height: 64px; */
  }
  /* header .cta_tel {
    display: none;
    width: 23.333vw;
    height: 3.866vw;
    background-image: url(./img4/header_cta_tel_pc.png);
    background-repeat: no-repeat;
    background-size: cover;
    margin: 0 0 0 10px;
    max-width:350px;
    max-height:58px;
  } */
  header .cta_web {
    display: block;
    width: 14.8vw;
    max-width: 222px;
    max-height: 131px;
    height: 8.7vw;
    margin-top: 42px;
    background-image: url(./img4/header_cta_web.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-color: transparent;
    z-index: 100;
  }
  .button_sec_inner {
    padding: 1em auto;
    max-width: 1200px;
  }
  .button_sec .button_box {
    flex-direction: row;
    padding: 0.333em 0;
    flex-basis: calc(25% - 4px);
    width: auto;
    height: auto;

  }
  .button_sec .button_box .button_inner {

  }
  .button_sec .button_box a {
    width: 100%;
    padding: 0.6em 0;
  }
  .sec01 {
    background-image: url(./img4/pc01_20250623.png) ;
    background-repeat: no-repeat;
    background-size: auto;
    height: 1197px;
    position: relative;
  }

  .sec01 .button_area_top {
    width: 100%;
    height: 266px;
    /* height: 48.8vw; */
    position: relative;
    max-width: 1500px;
    max-height: 732px;
  }
  .sec01 .button_box {
    position: absolute;
    left: calc(50% + 100px);
    /* top: 28%; */
    /* left: 56.5%; */
  }
  .sec01 .button_box a{
    font-size: 2.2rem;
    min-width: 180px;
  }



  .sec01 .button_area_top2 {
    width: 100%;
    height: 116px;
    position: absolute;
    max-width: 1500px;
    max-height: 116px;
    bottom: 0;
  }
  .sec01 .button_box2 {
    position: absolute;
    left: calc(50% + 93px);
    width: max(37.3%,531px);
    max-width: 531px;
    margin-bottom: -10px;
  }
  .sec01 .button_box2 a img {
    width: 100%;
    aspect-ratio: 531/140;
  
  }
  

.cta .button-area  {
    max-width: 780px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    justify-content: center;
  }
  .sec01.cta .button-area .button-box{
    margin-top: 812px;
  }
  .sec01.cta .button-area .button-box.left{
    width: 100%;
    margin-left: 0px;
    margin-right: 15px;
  }
  .sec01.cta .button-area .button-box.right{
    margin-left: 15px;
    margin-right: 0px;
    width: 100%;
  }
  #ans {
    bottom: min(10.5vw,150px);
  }
  
  .sec04 {
    background-image: url(./img4/pc04.png) ;
    background-size: auto;
    background-position: center center;
    height: 700px;
  }
  .sec04.cta .button-area .button-box{
    margin-top: 507px;
  }
  .sec04.cta .button-area .button-box.left{
    width: 100%;
    margin-left: 21px;
    margin-right: 0;
  }
  .sec04.cta .button-area .button-box.right{
    margin-left: 15px;
    margin-right: 22px;
    width: 100%;
  }

  .sec04.cta .tel_area  {
    height: 92px;
    width: 394px;
    background-color: #fff;
    margin-left: calc(50% - 120px);
    margin-top: 8px;
    background: url(./img4/cta02_pc_button_tel_20250304.png);
  }
  .cta {
    position: relative;
  }
  .sec06  ,
  .sec09  {
    background-size: auto;
    height: 1100px;
  }
  .sec11  {
    background-size: auto;
    height: 1000px;
  }
  .sec06 {
    background-image: url(./img4/pc06.png) ;
  }
  .sec09 {
    background-image: url(./img4/pc09.png) ;
  }
  .sec11 {
    background-image: url(./img4/pc11.png) ;
  }
  .sec06.cta .button-area  ,
  .sec09.cta .button-area  ,
  .sec11.cta .button-area  {
    max-width: 940px;
  }
  .sec06.cta .button-area .button-box,
  .sec09.cta .button-area .button-box{
    margin-top: 694px;
    width: 50%;
  }
  .sec11.cta .button-area .button-box{
    margin-top: 623px;
    width: 50%;
  }
  .sec06.cta .button-area .button-box a img,
  .sec09.cta .button-area .button-box a img,
  .sec11.cta .button-area .button-box a img{
    max-width: 447px;
    width: 100%;
  }
  .sec06.cta .button-area .button-box.left ,
  .sec09.cta .button-area .button-box.left ,
  .sec11.cta .button-area .button-box.left {
    margin-right: 15px;
  }
  .sec06.cta .button-area .button-box.right ,
  .sec09.cta .button-area .button-box.right ,
  .sec11.cta .button-area .button-box.right {
    margin-left: 15px;
  }
  .sec06.cta .tel_area  ,
  .sec09.cta .tel_area  ,
  .sec11.cta .tel_area  {
    width: 536px;
    height: 125px;
    background-color: #fff;
    margin-left: calc(50% - 145px);
    margin-top: 142px;
    background: url(./img4/cta03_pc_button_tel_20250304.png);
    background-repeat: no-repeat;
  }
  .sec11.cta .tel_area  {
    margin-top: 103px;
  }


}


/*
 * large size
 *-----------------------------------**/

@media (min-width: 1501px){
}