@charset "utf-8";
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

a {
  text-decoration: none;
}

img {
  width: 100%;
}

/* v-cloak処理 */
[v-cloak] {
  display: none;
}

/* Googleフォント　Noto Sans JP */
.font-ja {
  font-family: 'Noto Sans JP', sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

/* Googleフォント Lusitana */
.font-en {
  font-family: 'Lusitana', serif;
  font-style: normal;
}

/* レスポンシブ対応(767px以下) */
.on768 {
  display: none;
}

/* main-visual */
.main-img {
  width: 100%;
  overflow: hidden;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 0;
}

.main-title-top {
  width: 40%;
  position: absolute;
  top: 23%;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 2;
}

.main-title {
  width: 45%;
  position: absolute;
  top: 40%;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 2;
}

.main-people1 {
  width: 31%;
  position: absolute;
  top: 9.375vw;
  left: -1.82vw;
  z-index: 1;
}

.main-people2 {
  width: 38%;
  position: absolute;
  bottom: -6.77vw;
  right: -5.43vw;
  z-index: 1;
}

.main-catch-container {
  position: absolute;
  top: 3.65vw;
  left: 0;
  z-index: 1;
  display: flex;
  align-items: center;
}

.main-catch-container img {
  height: 5.1vw;
}

/* reservedボタン */
/* btnスタイルは「.fix-btn-container」へ */
.reserved-btn {
  width: 100%;
  position: absolute;
  bottom: 3.0vw;
  left: 0;
  padding: 15px 0;
  z-index: 5;
}

.reserved-btn-container {
  background-image: url(../images/arrow.webp);
  background-position: center right 10%;
  background-repeat: no-repeat;
  background-size: 8%;
}

.white-border {
  border: 9px solid #fff;
}

/* #summary */
#summary {
  background-color: #fff;
  width: 100%;
}

.summary-container {
  width: 75%;
  margin: 70px auto;
  display: grid;
  justify-items: center;
  grid-template-columns: auto 1fr;
  column-gap: 55px;
}

.support {
  justify-content: flex-start;
}

.summary-container:nth-of-type(1) .summary-flex img:nth-of-type(1) {
  width: clamp(44px, 8vw, 88px);
  flex-shrink: 0;
}

.summary-container:nth-of-type(2) .summary-flex img:nth-of-type(1),
.summary-container:nth-of-type(3) .summary-flex img:nth-of-type(1),
.summary-container:nth-of-type(4) .summary-flex img:nth-of-type(1) {
  width: clamp(40px, 12vw, 149px);
  flex-shrink: 0;
}

.date {
  width: clamp(100px, 26vw, 444px);
  flex-shrink: 0;
}

.place {
  width: clamp(150px, 33.6vw, 572px);
  flex-shrink: 0;
}

.summary-flex {
  display: flex;
  align-items: center;
  gap: 5px;
}

.summary-container:nth-of-type(2) .summary-flex,
.summary-container:nth-of-type(3) .summary-flex,
.summary-container:nth-of-type(4) .summary-flex {
  gap: 25px;
}

.summary-container:nth-of-type(2) .summary-flex:nth-of-type(2) {
  margin-left: 3vw;
}

.summary-flex p {
  font-size: clamp(0.625rem, 2.1vw, 2.25rem);
  font-weight: bold;
  white-space: nowrap;
}

.on450 {
  display: none;
}

/* #message */
.message-wrapper {
  background-color: #0e5fa6;
  width: 100%;
  display: flex;
  justify-content: center;
}

.message-container {
  padding: 60px 0;
}

.message-container h3 {
  color: #fff;
  font-size: 2.375rem;
  font-weight: bold;
}

.message-container h3:nth-of-type(2) {
  margin-bottom: 40px;
}

.message-container p {
  color: #fff;
  font-size: 1.635rem;
  font-weight: normal;
}

/* companies */
#companies {
  width: 100%;
  padding-bottom: 200px;
  background-image: url(../images/bg-companies.webp);
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: contain;
}

.content-head {
  padding-top: 100px;
}

.content-head h3 {
  font-size: 2rem;
  font-weight: normal;
  text-align: center;
  color: #0e5fa6;
}

.content-head h2 {
  font-size: 3rem;
  font-weight: bold;
  text-align: center;
  margin-top: -1rem;
  overflow-wrap: anywhere;
  word-break: keep-all;
}

.company-list {
  width: 80%;
  margin: 0 auto;
}

#company {
  width: 100%;
  height: auto;
  display: grid;
  justify-content: center;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  grid-auto-rows: auto;
  gap: 40px;
  margin: 100px auto;
}

#company > div {
  width: 100%;
  place-items: center;
}

#company > div > div {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.24);
  border-radius: 10px;
  padding: 20px 10px;
}

#company img {
  width: 80%;
}

#company p {
  font-size: 1.125rem; /* 1rem */
  text-align: center;
  margin-top: 20px;
}

/* ＃OVERVIEW */
.overview-wrapper {
  width: 100%;
  background-color: #ebf5ff;
}

.overview-container {
  width: 90%;
  display: flex;
  justify-content: center;
  flex-direction: column;
  margin: 0 auto;
  text-align: center;
}

.overview-box {
  width: 760px;
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  gap: 25px;
  margin: 30px auto 45px;
}

.overview-head {
  width: 85px;
  height: 85px;
  flex-shrink: 0;
  background-color: #fff;
  border: 1px solid #0e5fa6;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.overview-head h4 {
  font-size: 1.5rem;
  font-weight: bold;
  color: #0e5fa6;
}

.overview-box:nth-of-type(3) h4 {
  font-size: 1rem;
}

.overview-content p {
  color: #000;
  font-size: clamp(1.25rem, 2.82vw, 1.5rem);
  font-weight: normal;
  text-align: left;
  white-space: pre-wrap;
}

.map iframe {
  width: 700px;
  height: 450px;
}

.overview-text {
  margin: 40px auto 100px;
  text-align: left;
}

.overview-text p {
  font-size: 1rem;
  font-weight: normal;
}

.overview-text p:nth-of-type(2) {
  margin-top: 25px;
}

/* state */
.state-img-container {
  width: 85%;
  margin: 80px auto;
  display: flex;
  justify-content: space-between;
}

.state-img-container img {
  width: clamp(250px, 27vw, 500px);
}

/* event */
#event {
  width: 100%;
  background-color: #fff;
}

.talk-event-content {
  position: relative;
}

.img-talkevent {
  width: clamp(680px, 80vw, 1300px);
  clip-path: polygon(0 0, 70% 0, 40% 100%, 0 100%);
}

.talk-event {
  position: absolute;
  top: clamp(30px, 8vw, 100px);
  right: 10%;
  text-align: center;
}

.event-head {
  display: inline-block;
}

.event-head h3 {
  background-color: #0e5fa6;
  color: #fff;
  font-size: clamp(1.75rem, 4vw, 3.75rem);
  font-weight: bold;
  padding: 20px 36px;
}

.present-head {
  width: 100%;
}

.present-head h3 {
  background-color: #0e5fa6;
  color: #fff;
  font-size: clamp(1.5rem, 2.4vw, 3.75rem);
  font-weight: bold;
  padding: 20px 36px;
  display: inline-block;
}

.present-head h3:nth-of-type(2) {
  display: inline-block;
  margin-top: 50px;
}

.event-text p,
.form-text p {
  color: #000;
  font-size: clamp(1.375rem, 2vw, 2rem);
  font-weight: bold;
  line-height: 1.75em;
  margin-top: clamp(20px, 4vw, 70px);
  text-align: left;
}

.event-time {
  width: 90%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 20px;
  margin-top: clamp(20px, 4vw, 60px);
}

.event-time h4 {
  background-color: #ebf5ff;
  color: #0e5fa6;
  font-size: clamp(1rem, 2.5vw, 2.25rem);
  font-weight: bold;
  padding: 10px 40px;
  border-radius: 50px;
}

.event-time p {
  font-size: clamp(1rem, 2.5vw, 2.25rem);
  font-weight: bold;
}

.present-event-content {
  width: 90%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(50px, 5vw, 100px);
  margin: 100px auto 70px;
}

.img-quocard {
  width: clamp(250px, 30vw, 450px);
  height: clamp(250px, 30vw, 450px);
  aspect-ratio: 1/1;
  background-color: #ebf5ff;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.img-quocard img {
  width: clamp(200px, 20vw, 350px);
}

/* point */
.point-wrapper {
  width: 100%;
  background-color: #0e5fa6;
  padding: 90px 0;
}

.point-head h3 {
  font-size: 2rem;
  font-weight: normal;
  text-align: center;
  color: #fff;
}

.point-head h2 {
  font-size: 3rem;
  font-weight: bold;
  text-align: center;
  margin-top: -1rem;
  color: #fff;
}

.point-flex {
  width: 90%;
  margin: 100px auto;
  padding-bottom: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(40px, 1vw, 80px);
  position: relative;
}

.point-flex:nth-of-type(3) {
  margin-bottom: 0;
}

.point-flex:nth-of-type(2) {
  flex-direction: row-reverse;
}

.img-point-box {
  width: clamp(400px, 49vw, 820px);
  height: auto;
  aspect-ratio: 82/47;
  background-color: #fff;
  position: relative;
  z-index: 0;
}

.img-point img {
  width: clamp(320px, 44vw, 750px);
  position: absolute;
  top: -70px;
  left: 35px;
  z-index: 1;
}

.point-textbox {
  width: auto;
  height: clamp(230px, 27.4vw, 470px);
  aspect-ratio: 80/47;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 60px;
  border: 9px solid #fff;
}

.text-head h3 {
  font-size: clamp(3.5rem, 4vw, 4.5rem);
  font-weight: bold;
  color: #0e5fa6;
  -webkit-text-stroke: 2px #fff;
}

.text-main p {
  font-size: clamp(2rem, 2.46vw, 2.625rem);
  font-weight: bold;
  line-height: 1.75em;
  color: #fff;
  text-align: center;
  white-space: pre-wrap;
}

/* Q&A */
.qa-wrapper {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 7%;
  width: 85%;
  margin: 100px auto 80px;
}

.qa-head h3 {
  font-size: clamp(1.5rem, 2.3vw, 2rem);
  font-weight: normal;
  color: #0e5fa6;
}

.qa-head h2 {
  font-size: clamp(1.5rem, 3.5vw, 3rem);
  font-weight: bold;
}

.qa-area {
  width: 68%;
}

.qa-container {
  border-top: 1px solid #d8d8d9;
}

.qa-container:last-of-type {
  border-bottom: 1px solid #d8d8d9;
}

.qa-question {
  position: relative;
  cursor: pointer;
  padding: 35px 20px;
}

.qa-question::before,
.qa-question::after {
  position: absolute;
  content: '';
  top: 1px;
  right: 20px;
  bottom: 0;
  width: 24px;
  height: 3px;
  margin: auto;
  background: #000;
}

.qa-question::after {
  transform: rotate(-90deg);
  transition: transform 0.3s;
}

.qa-question.active::after {
  transform: rotate(0deg);
}

.qa-question p,
.qa-content p {
  font-size: 1.125rem;
  font-weight: normal;
  padding: 0 30px;
  position: relative;
}

.qa-question p {
  font-weight: bold;
}

.qa-question p::before {
  position: absolute;
  content: 'Q.';
  top: 1px;
  left: 0;
  color: #000;
  font-size: 1.125rem;
}

.qa-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s cubic-bezier(0.65, 0.05, 0.36, 1), margin 0.3s linear;
  padding: 0 20px;
}

.qa-content.active {
  max-height: 180px;
  margin: 15px 0;
}

.qa-content p::before {
  position: absolute;
  content: 'A.';
  top: 2px;
  left: 0;
  color: #000;
  font-size: 1.125rem;
}

/* お問合わせ */
.inq-wrapper {
  width: 100%;
  margin-bottom: 200px;
}

.inq-head {
  width: 100%;
  background-color: #0e5fa6;
}

.inq-head h3 {
  color: #fff;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
  padding: 20px 0;
}

.inq-container {
  width: 90%;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  flex-direction: column;
}

.inq-text {
  margin: 50px auto 35px;
}

.inq-text p {
  font-size: 1.125rem;
  font-weight: bold;
  color: #000;
}

.phone-number {
  text-align: center;
  margin-bottom: 20px;
}

.phone-number a {
  font-size: 2.25rem;
  font-weight: bold;
  color: #0e5fa6;
  position: relative;
}

.phone-mark {
  position: absolute;
  top: 50%;
  left: -12%;
  transform: translateY(-50%);
}

.phone-mark img {
  width: 23px;
}

.company {
  margin: 0 auto;
}

.company p {
  font-size: 1.125rem;
  font-weight: bold;
  text-align: left;
}

.company p:nth-of-type(2) {
  margin-bottom: 40px;
}

/* 固定ボタン */
#fixed-btn {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100vw;
  background-color: rgba(255, 255, 255, 0.8);
  padding: 15px 0;
  z-index: 5;
}

.reserved-btn-container,
.fix-btn-container {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #00b722;
  border-radius: 100px;
  height: clamp(40px, 10vw, 140px);
  margin: 0 auto;
  transition: all 0.3s;
}

.reserved-btn-container {
  width: clamp(250px, 45.7vw, 880px);
}

.fix-btn-container {
  width: clamp(250px, 52.7vw, 880px);
  background-image: url(../images/arrow.webp);
  background-position: center right 10%;
  background-repeat: no-repeat;
  background-size: 8%;
}

@media (hover: hover) {
  .fix-btn-container:hover {
    transform: scale(1.03);
    opacity: 0.9;
  }

  .reserved-btn-container:hover {
    transform: scale(1.03);
    background-color: #00cb25;
  }
}

.reserved-btn-container p,
.fix-btn-container p {
  font-size: clamp(1rem, 3.57vw, 3.875rem);
  font-weight: bold;
  color: #fff;
  text-shadow: 2px 2px 0 #00a64b,
                1.41px 1.41px 0 #00a64b,
                2px -2px 0 #00a64b,
                1.41px -1.41px 0 #00a64b,
                -2px 2px 0 #00a64b,
                -1.41px 1.41px 0 #00a64b,
                -2px -2px 0 #00a64b,
                -1.41px -1.41px 0 #00a64b;
}

.white-arrow {
  position: relative;
  display: inline-block;
  width: 30px;
  height: 38px;
}

.white-arrow::before,
.white-arrow::after {
  content: '';
  position: absolute;
  top: 70%;
  right: -200%;
  height: 5px;
  background-color: #fff;
  transform-origin: calc(100% - 1px) 50%;
}

.white-arrow::before {
  transform: rotate(45deg);
  width: 40px;
}

.white-arrow::after {
  transform: rotate(0deg);
  width: 55px;
}

@media screen and (max-width: 1750px) {
  .img-talkevent {
    width: clamp(680px, 80vw, 1300px);
  }
  .talk-event {
    right: 3%;
  }
}

@media screen and (max-width: 1500px) {
  .summary-container {
    width: 80%;
  }
}


@media screen and (max-width: 1350px) {
  /* reservedボタン */
  /* btnスタイルは「.fix-btn-container」と同じ */
  .reserved-btn {
    bottom: 20px;
  }

  .summary-container:nth-of-type(2) .summary-flex:nth-of-type(2) {
    margin-left: 0;
  }

  /* #message */
  .message-container {
    width: 90%;
  }

  .message-container h3 {
    font-size: clamp(1.125rem, 2.5vw, 2.375rem);
  }

  .message-container p {
    font-size: clamp(1rem, 1.9vw, 1.635rem);
  }

  /* #event */
  .talk-event {
    top: clamp(20px, 4vw, 100px);
  }

  .event-text p {
    font-size: clamp(1.3rem, 2vw, 2rem);
  }

  /* fixed-btn */
  .white-arrow::before,
  .white-arrow::after {
    right: -4vw;
  }

  .white-arrow::before {
    width: clamp(20px, 3vw, 30px);
  }

  .white-arrow::after {
    width: clamp(30px, 4vw, 40px);
  }
}

@media screen and (max-width: 1200px) {
  .point-flex {
    margin: 50px auto;
    padding-bottom: 30px;
    flex-direction: column-reverse;
    gap: clamp(20px, 8.7vw, 80px);
  }

  .point-flex:nth-of-type(2) {
    flex-direction: column-reverse;
  }

  .img-point-box {
    width: clamp(730px, 96vw, 820px);
  }

  .img-point img {
    width: clamp(600px, 88vw, 750px);
  }

  .point-textbox {
    height: clamp(400px, 55vw, 470px);
  }

  .text-head h3 {
    font-size: 4.5rem;
  }

  .text-main p {
    font-size: 2.625rem;
  }
}

@media screen and (max-width: 1024px) {
  /* state */
  .state-img-container {
    flex-direction: column;
    align-items: center;
    gap: 50px;
  }

  .state-img-container img {
    width: clamp(300px, 80vw, 600px);
  }

  /* event */
  .img-talkevent {
    width: 100%;
    clip-path: polygon(0 0, 100% 0, 100% 30%, 0 80%);
  }

  .img-talkevent img {
    overflow: hidden;
  }

  .talk-event {
    width: 90%;
    top: clamp(20px, 36vw, 350px);
    right: 50%;
    transform: translateX(50%);
  }

  .event-head {
    display: inline-block;
  }

  .event-head h3 {
    padding: 10px 16px;
    white-space: nowrap;
    margin-left: 100px;
  }

  .event-head h3:nth-of-type(2) {
    margin-top: 50px;
    display: inline-block;
  }

  .event-text p,
  .form-text p {
    font-size: clamp(1.375rem, 2.5vw, 2rem);
    margin-top: 30px;
  }

  .event-time {
    width: 100%;
    gap: 5px;
    margin-top: 10px;
  }

  .event-time h4 {
    font-size: clamp(1.25rem, 3.2vw, 2.25rem);
    padding: 5px clamp(15px, 4vw, 40px);
  }

  .event-time p {
    font-size: clamp(1.25rem, 3.2vw, 2.25rem);
  }

  .present-event-content {
    flex-direction: column;
    gap: 50px;
    margin: 30px auto;
  }

  .present-event-content:nth-of-type(odd) {
    flex-direction: column-reverse;
  }

  .form-text {
    width: clamp(300px, 88vw, 575px);
  }

  .present-head h3 {
    font-size: clamp(1.75rem, 6vw, 3rem);
    padding: 5px 36px;
    display: inline-block;
  }

  .present-head h3:nth-of-type(2),
  .present-head h3:nth-of-type(3),
  .present-head h3:nth-of-type(4) {
    margin-top: 8px;
  }

  .img-quocard {
    width: clamp(250px, 50vw, 450px);
    height: clamp(250px, 50vw, 450px);
  }

  .img-quocard img {
    width: clamp(200px, 35vw, 350px);
  }
}

@media screen and (max-width: 768px) {
  /* レスポンシブ対応(767px以下) */
  .on768 {
    display: block;
  }
  /* main-visual */
  .main-catch-container img {
    height: 6.5vw;
  }

  /* reservedボタン */
  .reserved-btn {
    bottom: 1%;
  }

  .reserved-btn-container {
    width: clamp(170px, 40vw, 880px);
    height: clamp(30px, 8vw, 140px);
  }

  .reserved-btn-container p {
    font-size: clamp(0.8rem, 3.2vw, 3.875rem);
  }

  .white-border {
    border: 3px solid #fff;
  }

  /* #summary */
  .summary-container {
    width: 90%;
    margin: 20px auto;
    column-gap: clamp(5px, 2vw, 55px);
  }

  .summary-container:nth-of-type(2) .summary-flex,
  .summary-container:nth-of-type(3) .summary-flex,
  .summary-container:nth-of-type(4) .summary-flex {
    gap: clamp(5px, 1.5vw, 25px);
  }

  .summary-container:nth-of-type(2) .summary-flex:nth-of-type(2) {
    margin-left: 2vw;
  }

  /* #message */
  .message-container {
    padding: 15px 0;
  }

  .message-container h3:nth-of-type(4) {
    margin-bottom: 20px;
  }

  /* companies */
  #companies {
    padding-bottom: 100px;
  }

  .content-head {
    padding-top: 30px;
  }

  .content-head h3 {
    font-size: clamp(0.875rem, 2.3vw, 1.125rem);
  }

  .content-head h2 {
    font-size: clamp(1.25rem, 4vw, 2rem);
    margin-top: -0.5rem;
  }

  .company-list {
    width: 100%;
  }

  #company {
    width: 90%;
    grid-template-columns: 1fr 1fr;
    gap: 40px 20px;
    margin: 40px auto;
  }

  #company p {
    font-size: 0.875rem;
    margin-top: 15px;
  }

  /* overview */
  .overview-box {
    width: 100%;
    gap: 20px;
    margin: 10px auto 15px;
  }

  .overview-head {
    width: clamp(50px, 11vw, 85px);
    height: clamp(50px, 11vw, 85px);
  }

  .overview-head h4 {
    font-size: clamp(0.9rem, 3.2vw, 1.5rem);
  }

  .overview-box:nth-of-type(3) h4 {
    font-size: clamp(0.75rem, 2.1vw, 1rem);
  }

  .overview-content p {
    font-size: clamp(1rem, 3.2vw, 1.5rem);
  }

  .map {
    margin-top: 15px;
  }

  .map iframe {
    width: clamp(300px, 90vw, 700px);
    height: clamp(120px, 59vw, 450px);
  }

  .overview-text {
    margin: 25px auto 35px;
  }

  /* state */
  .state-img-container {
    margin: 30px auto;
  }

  /* event */
  .event-head h3 {
    margin-left: 80px;
  }

  .event-time h4 {
    font-size: clamp(1.125rem, 4.2vw, 2.25rem);
  }

  .event-time p {
    font-size: clamp(1.125rem, 4.2vw, 2.25rem);
  }

  .present-head h3 {
    padding: 5px 8px;
  }

  /* point */
  .point-wrapper {
    padding: 25px 0;
  }

  .point-head h3 {
    font-size: clamp(0.875rem, 4vw, 2rem);
  }

  .point-head h2 {
    font-size: clamp(1.25rem, 6vw, 3rem);
    margin-top: -0.5rem;
  }

  .img-point-box {
    width: clamp(350px, 90vw, 690px);
  }

  .img-point img {
    width: clamp(300px, 83vw, 675px);
    top: clamp(-80px, -7vw, -25px);
    left: 20px;
  }

  .point-textbox {
    height: clamp(200px, 52vw, 400px);
    gap: clamp(20px, 4.5vw, 60px);
  }

  .text-head h3 {
    font-size: clamp(2rem, 7.4vw, 4.5rem);
  }

  .text-main p {
    font-size: clamp(1.125rem, 4.1vw, 2.625rem);
  }

  /* Q&A */
  #qa {
    padding-bottom: 35px;
  }

  .qa-wrapper {
    flex-direction: column;
    gap: 25px;
    width: 90%;
    margin: 35px auto 0;
  }

  .qa-head h3 {
    font-size: 1.5rem;
  }

  .qa-head h2 {
    font-size: 2rem;
  }

  .qa-area {
    width: 100%;
    margin: 0 auto;
  }

  .qa-question {
    padding: 15px 5px;
  }

  .qa-question::before,
  .qa-question::after {
    position: absolute;
    content: '';
    top: 1px;
    right: 20px;
    bottom: 0;
    width: 12px;
    height: 2px;
    margin: auto;
    background: #000;
  }

  .qa-question::after {
    transform: rotate(-90deg);
    transition: transform 0.3s;
  }

  .qa-question.active::after {
    transform: rotate(0deg);
  }

  .qa-question p,
  .qa-content p {
    font-size: 0.875rem;
    width: 90%;
    padding: 0 5px 0 30px;
  }

  .qa-question p::before {
    top: 0;
    font-size: 0.875rem;
  }

  .qa-content {
    padding: 0 5px;
  }

  .qa-content p::before {
    top: 0;
    font-size: 0.875rem; /* 0.875rem */
  }

  /* お問合わせ */
  .inq-wrapper {
    margin-bottom: 100px;
  }

  .inq-head h3 {
    font-size: 1.5rem;
  }

  .inq-text {
    margin: 20px auto 25px;
  }

  .inq-text p {
    font-size: 1rem;
  }

  .company {
    margin: 0 auto;
  }

  .company p {
    font-size: 1rem;
    font-weight: 500;
  }

  .company p:nth-of-type(2) {
    margin-bottom: 0px;
  }

  .company p:nth-of-type(3) {
    margin-bottom: 25px;
  }

  .company p:nth-of-type(4),
  .company p:nth-of-type(5) {
    font-weight: bold;
  }

  /* 固定ボタン */
  .white-arrow::before,
  .white-arrow::after {
    top: 60%;
    right: -10px;
    height: 3px;
    transform-origin: calc(100% - 0px) 50%;
  }

  .white-arrow::before {
    width: clamp(15px, 3vw, 20px);
  }

  .white-arrow::after {
    width: clamp(20px, 4vw, 25px);
  }
}

@media screen and (max-width: 450px) {
  .summary-container:nth-of-type(3) .summary-flex {
    align-items: flex-start;
  }

  .on450 {
    display: block;
  }
}

@media screen and (max-width: 400px) {
  .summary-container {
    width: 95%;
  }
}

@media screen and (min-width: 768px) {
  /* 電話番号　スマホのみ */
  a[href*='tel:'] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
