/*=== Global ===*/
:root{
  --screen-base-size: 750;
}

body{
  font-family: "Noto Sans JP", sans-serif;
  color: #1E293C;
  font-size: 16px;
  line-height: 1.75;
}

img{
  width: 100%;
}

a{
  opacity: 1;
  transition: all .3s ease;
}

a:hover{
  opacity: 0.6;
}
/*=== Global /E ===*/


/*=== Layout ===*/
.l-container{
  width: 100%;
  max-width: 750px;
  margin: 0 auto min(150px, calc(150 / var(--screen-base-size) * 100vw));;
}
/*=== Layout /E ===*/


/*=== Components ===*/
.c-fixed-cta{
  width: 100%;
  max-width: 750px;
  padding: 0 min(30px, calc(30 / var(--screen-base-size) * 100vw));
  margin: 0 auto min(15px, calc(15 / var(--screen-base-size) * 100vw));;

  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
/*=== Components /E ===*/


/*=== Parts ===*/
.p-lp04-02{
  position: relative;
}

.p-lp04-02-wrap{
  position: absolute;
  left: 50%;
  top: 10%;
  transform: translateX(-50%);
}

.p-lp06-02{
  position: relative;
}

.p-lp06-02__tel, 
.p-lp06-02__web,
.p-lp06-02__online{
  font-size: min(38px, calc(38 / var(--screen-base-size) * 100vw));
  color: #fff;
  position: absolute;
}

.p-lp06-02__tel{
  font-weight: bold;
  left: 48%;
  top: 8.4%;
}

.p-lp06-02__web{
  left: 5.5%;
  top: 37%;
}

.p-lp06-02__online{
  left: 5.5%;
  bottom: 11%;
}

.p-lp08-01{
  position: relative;
}

.p-lp08-01__video{
    width: 83.2%;
    position: absolute;
    left: 50%;
    top: 30%;
    transform: translateX(-50%);
}

.p-faq{
  display: flex;
  flex-direction: column;
  gap: min(32px, calc(32 / var(--screen-base-size) * 100vw));
  padding: 0 min(24px, calc(24 / var(--screen-base-size) * 100vw));
  margin-bottom: min(30px, calc(30 / var(--screen-base-size) * 100vw));
}

.p-faq-item{
  background-color: #CCD0DB;
}

.p-faq-item-q{
  cursor: pointer;
  position: relative;
  padding: min(25px, calc(25 / var(--screen-base-size) * 100vw));
}

.p-faq-item-q__text{
  font-weight: bold;
  font-size: min(28px, calc(28 / var(--screen-base-size) * 100vw));
  padding-right: min(20px, calc(20 / var(--screen-base-size) * 100vw));
}

.p-faq-item-close__img{
  width: min(25px, calc(25 / var(--screen-base-size) * 100vw));
  aspect-ratio: 1 / 1;
  position: absolute;
  right: 2%;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: all .3s ease;
}

.p-faq-item-close__img.is-active{
  transform: translate(-50%, -50%) rotate(45deg);
}

.p-faq-item-a{
  display: none;
  padding: 
    0 
    min(20px, calc(20 / var(--screen-base-size) * 100vw))
    min(20px, calc(20 / var(--screen-base-size) * 100vw));
}

.p-faq-item-a__text{
  font-size: min(26px, calc(26 / var(--screen-base-size) * 100vw));
  background-color: #FFF;
  border-radius: 8px;
  padding: 
    min(20px, calc(20 / var(--screen-base-size) * 100vw));
}

.p-faq-item-a__text a{
  text-decoration: underline;
  text-underline-offset: 2px;
}
/*=== Parts /E ===*/


/*=== Utility ===*/
.u-video-size{
  width: 80%;
  height: min(335px, calc(335 / var(--screen-base-size) * 100vw));
}
/*=== Utility /E ===*/