:root {
  --cqw: 1px;
}

@media (max-width: 750px) {
  :root {
    --cqw: calc(100cqw / 750);
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
}

a {
  text-decoration: none;
  color: inherit;
  transition: opacity 0.3s ease;
}

a:focus {
  border: none !important;
  box-shadow: none !important;
}

@media (hover: hover) {
  a:hover {
    opacity: 0.7;
  }
}

/* @media (hover: hover) {
  a[href^="tel:"] {
    pointer-events: none;
  }
} */

html {
  scroll-behavior: smooth;
}

body {
  color: #111111;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.6;
  font-feature-settings: "palt";
}

ul {
  padding-inline-start: 0;
  list-style: none;
}

img {
  width: 100%;
  height: auto;
  display: block;
}

button {
  border: none;
  background-color: transparent;
}

button,
input,
textarea,
select {
  font-family: inherit;
}

.u-section-title {
  font-size: calc(var(--cqw) * 60);
  line-height: calc(var(--cqw) * 78);
  font-weight: 700;
  text-align: center;
  display: flex;
  align-items: center;
  gap: calc(var(--cqw) * 22);
  justify-content: center;
}
.u-section-title::before {
  content: "";
  display: block;
  width: calc(var(--cqw) * 46);
  height: calc(var(--cqw) * 47);
  background-image: url("./img/title__icon--before.webp");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-top: calc(var(--cqw) * 3);
}
.u-section-title::after {
  content: "";
  display: block;
  width: calc(var(--cqw) * 46);
  height: calc(var(--cqw) * 47);
  background-image: url("./img/title__icon--after.webp");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-top: calc(var(--cqw) * 3);
}

/* main */
main {
  width: calc(var(--cqw) * 750);
  margin: 0 auto;
}

/* header */
.header {
  height: calc(var(--cqw) * 90);
  display: flex;
  align-items: center;
  justify-content: center;
}

.header-logo {
  width: calc(var(--cqw) * 273);
}

/* kv */
.kv img {
  width: 100%;
}

/* needs */
.needs {
  padding: calc(var(--cqw) * 87) calc(var(--cqw) * 39) calc(var(--cqw) * 99);
  background-color: #f4f4f4;
}

.needs-title {
  font-size: calc(var(--cqw) * 60);
  line-height: calc(var(--cqw) * 78);
  font-weight: 700;
  text-align: center;
}

.needs-title b {
  color: #e52733;
}

.needs-list {
  background-color: #ffffff;
  border: calc(var(--cqw) * 4) solid #e52733;
  padding: calc(var(--cqw) * 42) calc(var(--cqw) * 20) calc(var(--cqw) * 20);
  border-radius: calc(var(--cqw) * 15);
  margin-top: calc(var(--cqw) * 54);
}

.needs-list ul {
  display: flex;
  flex-direction: column;
  gap: calc(var(--cqw) * 27);
}

.needs-list li {
  font-size: calc(var(--cqw) * 38);
  line-height: calc(var(--cqw) * 45.6);
  font-weight: 700;
  border-bottom: calc(var(--cqw) * 2) solid #dddddd;
  display: flex;
  align-items: center;
  gap: calc(var(--cqw) * 18);
  padding-bottom: calc(var(--cqw) * 28);
  padding-left: calc(var(--cqw) * 12);
}

.needs-list li:last-child {
  border-bottom: none;
}

.needs-list li b {
  color: #e52733;
}

.needs-list li:before {
  content: "";
  display: block;
  width: calc(var(--cqw) * 36);
  height: calc(var(--cqw) * 32);
  background-image: url("./img/list__icon.webp");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* strength */
.strength {
  padding: calc(var(--cqw) * 94) calc(var(--cqw) * 39) calc(var(--cqw) * 99);
  background-color: #fff6d1;
}

.strength__title {
  font-size: calc(var(--cqw) * 60);
  line-height: calc(var(--cqw) * 78);
  font-weight: 700;
  text-align: center;
}

.strength__title b {
  color: #e52733;
}

.strength__content {
  display: flex;
  flex-direction: column;
  gap: calc(var(--cqw) * 38);
  margin-top: calc(var(--cqw) * 58);
}

.strength__content-item {
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
  padding: calc(var(--cqw) * 52) calc(var(--cqw) * 28) calc(var(--cqw) * 44);
  border-radius: calc(var(--cqw) * 10);
  box-shadow: 0 0 calc(var(--cqw) * 15) calc(var(--cqw) * 2) rgba(0, 0, 0, 0.15);
}

.strength__content-title {
  display: flex;
  align-items: center;
  gap: calc(var(--cqw) * 18);
}

.strength__content-title__img {
  width: calc(var(--cqw) * 160);
}

.strength__content-title__text {
  flex: 1;
  width: 100%;
  text-align: center;
}

.strength__content-title__text h3 {
  font-size: calc(var(--cqw) * 40);
  line-height: calc(var(--cqw) * 56);
  font-weight: 700;
}

.strength__content-title__text h3 span {
  background-image: linear-gradient(to bottom, transparent calc(100% - calc(var(--cqw) * 15)), #fff900 calc(100% - calc(var(--cqw) * 15)));
}

.strength__content-title__text h3 span b {
  font-family: "Roboto", sans-serif;
}

.strength__content-description {
  font-size: calc(var(--cqw) * 28.51);
  line-height: calc(var(--cqw) * 42.77);
  margin-top: calc(var(--cqw) * 20);
}

/* suggestion */
.suggestion {
  width: 100%;
}

.suggestion__content {
  width: 100%;
}

/* cta */
.cta {
  padding: calc(var(--cqw) * 36) 0 calc(var(--cqw) * 100);
  background-image: linear-gradient(to bottom, #e52833, #86010a);
}

.cta__title {
  width: calc(var(--cqw) * 480);
  margin: 0 auto;
}

.cta__time {
  font-size: calc(var(--cqw) * 28);
  line-height: calc(var(--cqw) * 33.6);
  text-align: center;
  margin-top: calc(var(--cqw) * 40);
  background-color: #b40e17;
  padding: calc(var(--cqw) * 11) calc(var(--cqw) * 100);
  border-radius: calc(var(--cqw) * 10);
  color: #e8c675;
  font-weight: 700;
  width: fit-content;
  margin: 0 auto;
  margin-top: calc(var(--cqw) * 38);
  letter-spacing: 0.05em;
}

.cta__time b {
  font-family: "Roboto", sans-serif;
}

.cta__content {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 auto;
  margin-top: calc(var(--cqw) * 41);
  width: calc(var(--cqw) * 695);
}

.cta__btn01 {
  width: calc(var(--cqw) * 692);
}

.cta__btn02 {
  width: calc(var(--cqw) * 692);
}

.cta__btn03 {
  width: calc(var(--cqw) * 347);
  position: relative;
}

.cta__btn04 {
  width: calc(var(--cqw) * 347);
  position: relative;
}

.cta__btn03__sub {
  position: absolute;
  top: calc(var(--cqw) * -3);
  right: calc(var(--cqw) * -12);
  width: calc(var(--cqw) * 63);
  height: calc(var(--cqw) * 61);
}

/* menu */
.menu {
  padding: calc(var(--cqw) * 81) 0 calc(var(--cqw) * 99);
  background-color: #fff6d1;
}

.menu__title {
}

.menu__content {
  width: 100%;
  padding-left: calc(var(--cqw) * 40);
  padding-right: calc(var(--cqw) * 40);
  padding-top: calc(var(--cqw) * 53);
  display: flex;
  flex-direction: column;
  gap: calc(var(--cqw) * 30);
}

.menu__content-item {
  position: relative;
}

.menu__content-item__inner {
  position: relative;
  box-shadow: 0 0 calc(var(--cqw) * 15) calc(var(--cqw) * 2) rgba(0, 0, 0, 0.15);
  border-radius: calc(var(--cqw) * 10);
  overflow: clip;
}

.menu__content-item__badge {
  position: absolute;
  top: calc(var(--cqw) * -18);
  left: calc(var(--cqw) * -17);
  /*width: auto;
  height: auto;*/
  width: calc(var(--cqw) * 86);
  height: calc(var(--cqw) * 84);
  z-index: 1;
}

.menu__content-item__top {
  display: flex;
  gap: 0;
  overflow: clip;
}

.menu__content-item__image {
  width: calc(var(--cqw) * 300);
  flex-shrink: 0;
}

.menu__content-item__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.menu__content-item__right {
  width: calc(var(--cqw) * 370);
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
}

.menu__content-item__title {
  background-color: #e52733;
  color: #ffffff;
  font-size: calc(var(--cqw) * 40);
  line-height: calc(var(--cqw) * 48);
  font-weight: 700;
  height: calc(var(--cqw) * 120);
  display: grid;
  place-items: center;
  text-align: center;
}

.menu__content-item__price {
  background: linear-gradient(to bottom, #fcea00, #f3b70b);
  color: #e52733;
  padding: calc(var(--cqw) * 11) 0;
  text-align: center;
  display: flex;
  align-items: baseline;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 0;
  white-space: nowrap;
  font-weight: 700;
  -webkit-text-stroke: calc(var(--cqw) * 6) #ffffff;
  text-stroke: calc(var(--cqw) * 6) #ffffff;
  paint-order: stroke fill;
}

.menu__content-item__price-number {
  font-family: "Roboto", sans-serif;
  font-size: calc(var(--cqw) * 60);
  line-height: 1;
}

.menu__content-item__price-unit {
  font-size: calc(var(--cqw) * 32);
  line-height: 1;
  margin-left: calc(var(--cqw) * 5);
}

.menu__content-item__price-note {
  font-size: calc(var(--cqw) * 26);
  line-height: 1;
  position: relative;
  bottom: calc(var(--cqw) * 10);
  margin-left: calc(var(--cqw) * 5);
}

.menu__content-item__price-note-number {
  font-family: "Roboto", sans-serif;
  font-size: calc(var(--cqw) * 31.2);
  font-weight: 700;
}

.menu__content-item__price-room {
  font-size: calc(var(--cqw) * 40);
  line-height: 1;
  margin-right: calc(var(--cqw) * 10);
  position: relative;
  bottom: calc(var(--cqw) * 5);
}

.menu__content-item__description {
  background-color: #ffffff;
  padding: calc(var(--cqw) * 20) calc(var(--cqw) * 20);
  font-size: calc(var(--cqw) * 28.51);
  line-height: calc(var(--cqw) * 42.77);
  text-align: center;
  border-radius: 0 0 calc(var(--cqw) * 10) calc(var(--cqw) * 10);
  overflow: clip;
}

.menu__note {
  font-size: calc(var(--cqw) * 24);
  line-height: calc(var(--cqw) * 38.4);
  color: #e52633;
  padding: 0 calc(var(--cqw) * 10);
}

/* price */
.price {
  padding: calc(var(--cqw) * 83) calc(var(--cqw) * 40) calc(var(--cqw) * 40);
}

.price__regions {
  display: flex;
  border-bottom: calc(var(--cqw) * 5) solid #e52733;
  gap: calc(var(--cqw) * 12);
  justify-content: center;
  margin-top: calc(var(--cqw) * 67);
}

.price__region-tab {
  flex-grow: 1;
  text-align: center;
  background-color: #dedede;
  font-size: calc(var(--cqw) * 28);
  font-weight: 700;
  padding: calc(var(--cqw) * 28) calc(var(--cqw) * 17);
  min-width: calc(var(--cqw) * 110);
}

.price__region-tab--active {
  background-color: #e52733;
  color: #fff;
}

.price__region-content {
  display: none;
  padding: calc(var(--cqw) * 59) 0 0;
}

.price__region-content--active {
  display: block;
}

.price__services {
  display: flex;
  flex-wrap: wrap;
  gap: calc(var(--cqw) * 8);
  margin-bottom: calc(var(--cqw) * 61);
}

.price__service-tab {
  background-color: #fff;
  font-size: calc(var(--cqw) * 28);
  font-weight: 700;
  padding: calc(var(--cqw) * 10) calc(var(--cqw) * 25);
  background-color: #dedede;
}

.price__service-tab--active {
  background-color: #e52733;
  color: #fff;
}

.price__service-content {
  display: none;
}

.price__service-content--active {
  display: block;
}

.price__table {
  width: 100%;
  border-collapse: collapse;
}

.price__table th,
.price__table td {
  border: calc(var(--cqw) * 1) solid #ddd;
  padding: calc(var(--cqw) * 7);
  text-align: left;
  font-weight: 700;
}

.price__table th:nth-child(1),
.price__table td:nth-child(1) {
  border-left: none;
  width: 60%;
}

.price__table th:nth-child(2),
.price__table td:nth-child(2) {
  border-right: none;
  width: 40%;
}

.price__table th {
  background-color: #22293b;
  color: #ffffff;
  text-align: center;
  font-size: calc(var(--cqw) * 28);
}

.price__table td:nth-child(1) {
  font-size: calc(var(--cqw) * 24);
  line-height: calc(var(--cqw) * 28.8);
  padding: calc(var(--cqw) * 16) calc(var(--cqw) * 22);
}

.price__table td:nth-child(2) {
  font-size: calc(var(--cqw) * 22);
  color: #202739;
  font-style: italic;
  text-align: center;
}

.price__table td:nth-child(2) b {
  font-size: calc(var(--cqw) * 32);
  font-family: "Roboto", sans-serif;
}

.price__note {
  font-size: calc(var(--cqw) * 24);
  margin-top: calc(var(--cqw) * 15);
}

/* other-service */
.other-service {
  padding: calc(var(--cqw) * 88) calc(var(--cqw) * 40) calc(var(--cqw) * 99);
}

.other-service__title {
  font-size: calc(var(--cqw) * 48);
  color: #e52733;
  font-weight: 700;
  text-align: center;
}

.other-service__content {
  display: flex;
  flex-direction: column;
  gap: calc(var(--cqw) * 48);
  margin-top: calc(var(--cqw) * 49);
}

.other-service__content-item {
  background-color: #e52833;
  padding: calc(var(--cqw) * 45) calc(var(--cqw) * 35);
  border-radius: calc(var(--cqw) * 15);
  box-shadow: 0 0 calc(var(--cqw) * 15) calc(var(--cqw) * 2) rgba(0, 0, 0, 0.15);
}

.other-service__content-item__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.other-service__content-item__icon {
  width: calc(var(--cqw) * 160);
  height: calc(var(--cqw) * 160);
  flex-shrink: 0;
}

.other-service__content-item__title {
  width: calc(var(--cqw) * 410);
  height: calc(var(--cqw) * 160);
  font-size: calc(var(--cqw) * 44);
  line-height: calc(var(--cqw) * 61.6);
  font-weight: 700;
  color: #e52633;
  text-align: center;
  -webkit-text-stroke: calc(var(--cqw) * 6) #ffffff;
  text-stroke: calc(var(--cqw) * 6) #ffffff;
  paint-order: stroke fill;
  background: url("./img/other-service__bg.webp") 50% 50%/cover no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: 40px;
}

.other-service__content-item__description {
  font-size: calc(var(--cqw) * 28.51);
  line-height: calc(var(--cqw) * 42.77);
  margin-top: calc(var(--cqw) * 27);
  color: #ffffff;
}

.other-service__text {
  font-size: calc(var(--cqw) * 28.51);
  line-height: calc(var(--cqw) * 37.06);
  margin-top: calc(var(--cqw) * 39);
  padding: 0 calc(var(--cqw) * 11);
}

.other-service__note {
  font-size: calc(var(--cqw) * 24);
  line-height: calc(var(--cqw) * 38.4);
  margin-top: calc(var(--cqw) * 27);
  padding: 0 calc(var(--cqw) * 12);
  color: #e52733;
}

/* works */
.works {
  padding: calc(var(--cqw) * 78) 0px calc(var(--cqw) * 99);
  background-color: #fff6d1;
}

.works__title {
}

.works__content {
  margin-top: calc(var(--cqw) * 51);
  padding: 0 calc(var(--cqw) * 30);
  overflow: hidden;
}

.works__content .swiper-slide {
  width: auto;
  height: auto;
  flex-shrink: 0;
}

.works__content-item {
  width: calc(var(--cqw) * 300);
  border-top: calc(var(--cqw) * 14) solid #e52733;
  border-bottom: calc(var(--cqw) * 14) solid #e52733;
  border-radius: calc(var(--cqw) * 14);
  margin-bottom: calc(var(--cqw) * 15);
  height: 100%;
  background-color: #ffffff;
}

.works__content-item__img {
  width: 100%;
  height: calc(var(--cqw) * 230);
}

.works__content-item__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.works__content-item__time {
  font-size: calc(var(--cqw) * 20);
  margin-top: calc(var(--cqw) * 9);
  font-weight: 700;
  text-align: center;
}

.works__content-item b {
  font-size: calc(var(--cqw) * 24);
  font-family: "Roboto", sans-serif;
}

.works__content-item__description {
  font-size: calc(var(--cqw) * 26);
  line-height: calc(var(--cqw) * 31.2);
  margin-top: calc(var(--cqw) * 2);
  text-align: center;
}

/* faq */
.faq {
  padding: calc(var(--cqw) * 94) 0 calc(var(--cqw) * 94);
  background-color: #ffffff;
}

.faq__title {
}

.faq__title-slash {
  color: #e52733;
  font-size: calc(var(--cqw) * 60);
  line-height: calc(var(--cqw) * 78);
}

.faq__content {
  margin-top: calc(var(--cqw) * 51);
  margin-left: auto;
  margin-right: auto;
  padding: 0 calc(var(--cqw) * 30);
  display: flex;
  flex-direction: column;
  gap: calc(var(--cqw) * 37);
}

.faq__item {
  overflow: hidden;
}

.faq__item::details-content {
  content-visibility: unset;
  display: block grid;
}

@media (prefers-reduced-motion: no-preference) {
  .faq__item::details-content {
    transition-duration: 300ms;
    transition-property: grid-template-rows;
    transition-timing-function: ease-in-out;
  }
}

.faq__item:not([open])::details-content {
  grid-template-rows: 0fr;
}

.faq__item[open]::details-content {
  grid-template-rows: 1fr;
}

.faq__question {
  background-color: #e52733;
  color: #ffffff;
  padding: calc(var(--cqw) * 26) calc(var(--cqw) * 58) calc(var(--cqw) * 26) calc(var(--cqw) * 21);
  display: flex;
  align-items: center;
  gap: calc(var(--cqw) * 20);
  text-align: left;
  list-style: none;
  cursor: pointer;
  position: relative;
}

.faq__question::-webkit-details-marker {
  display: none;
}

.faq__question::after {
  content: "";
  position: absolute;
  right: calc(var(--cqw) * 20);
  width: 0;
  height: 0;
  border-left: calc(var(--cqw) * 10.5) solid transparent;
  border-right: calc(var(--cqw) * 10.5) solid transparent;
  border-top: calc(var(--cqw) * 10) solid #ffffff;
  transition: transform 0.3s ease;
  transform: rotate(0deg);
}

.faq__item[open] > .faq__question::after {
  transform: rotate(180deg);
}

.faq__question-icon {
  font-size: calc(var(--cqw) * 50);
  font-weight: 700;
  flex-shrink: 0;
}

.faq__question-text {
  flex: 1;
  font-size: calc(var(--cqw) * 28);
  line-height: calc(var(--cqw) * 39.2);
  font-weight: 700;
}

.faq__answer {
  background-color: #fff6d1;
  padding: calc(var(--cqw) * 21) calc(var(--cqw) * 58) calc(var(--cqw) * 26) calc(var(--cqw) * 24);
  display: flex;
  align-items: flex-start;
  gap: calc(var(--cqw) * 20);
  overflow: hidden;
}

.faq__answer-icon {
  font-size: calc(var(--cqw) * 50);
  font-weight: 700;
  flex-shrink: 0;
  line-height: 1;
  color: #e52733;
}

.faq__answer-text {
  flex: 1;
  font-size: calc(var(--cqw) * 26);
  line-height: calc(var(--cqw) * 41.6);
}

/* media */
.media {
  padding: calc(var(--cqw) * 88) calc(var(--cqw) * 39) calc(var(--cqw) * 105);
  background-image: linear-gradient(to bottom, #e52833, #86010a);
}

.media__title {
  color: #ffffff;
}

.media__title::before {
  background-image: url("./img/title__icon--before--white.webp");
}

.media__title::after {
  background-image: url("./img/title__icon--after--white.webp");
}
.media__content {
}

.media__content-title {
  font-size: calc(var(--cqw) * 28.51);
  color: #ffffff;
  text-align: center;
  margin-top: calc(var(--cqw) * 43);
}

.media__content-video {
  margin-top: calc(var(--cqw) * 36);
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  border: calc(var(--cqw) * 6) solid #c00;
  box-shadow: calc(var(--cqw) * 4) calc(var(--cqw) * 5) 0 0 #fc3;
  vertical-align: bottom;
}

/* area */
.area {
  padding: calc(var(--cqw) * 85) 0 calc(var(--cqw) * 99);
  background-color: #ffffff;
}

.area__title {
}

.area__content {
  margin-top: calc(var(--cqw) * 47);
  padding: 0 calc(var(--cqw) * 30);
  display: flex;
  flex-direction: column;
  gap: calc(var(--cqw) * 5);
}

.area__item {
  overflow: hidden;
}

.area__item::details-content {
  content-visibility: unset;
  display: block grid;
}

@media (prefers-reduced-motion: no-preference) {
  .area__item::details-content {
    transition-duration: 300ms;
    transition-property: grid-template-rows;
    transition-timing-function: ease-in-out;
  }
}

.area__item:not([open])::details-content {
  grid-template-rows: 0fr;
}

.area__item[open]::details-content {
  grid-template-rows: 1fr;
}

.area__item__summary {
  background-color: #e52733;
  color: #ffffff;
  padding: calc(var(--cqw) * 15) calc(var(--cqw) * 58) calc(var(--cqw) * 17) calc(var(--cqw) * 21);
  display: flex;
  align-items: center;
  gap: calc(var(--cqw) * 20);
  text-align: left;
  list-style: none;
  cursor: pointer;
  position: relative;
}

.area__item__summary::-webkit-details-marker {
  display: none;
}

.area__item__summary::after {
  content: "";
  position: absolute;
  right: calc(var(--cqw) * 20);
  width: 0;
  height: 0;
  border-left: calc(var(--cqw) * 10.5) solid transparent;
  border-right: calc(var(--cqw) * 10.5) solid transparent;
  border-top: calc(var(--cqw) * 10) solid #ffffff;
  transition: transform 0.3s ease;
}

.area__item[open] > .area__item__summary::after {
  transform: rotate(180deg);
}

.area__item__summary-text {
  flex: 1;
  font-size: calc(var(--cqw) * 28);
  line-height: calc(var(--cqw) * 39.2);
  font-weight: 700;
}

.area__item__content {
  background-color: #fff6d1;
  padding: calc(var(--cqw) * 21) calc(var(--cqw) * 58) calc(var(--cqw) * 10) calc(var(--cqw) * 24);
  overflow: hidden;
}

.area__item__content-text {
  font-size: calc(var(--cqw) * 26);
  line-height: calc(var(--cqw) * 41.6);
  margin-bottom: calc(var(--cqw) * 17);
}

.area__note {
  font-size: calc(var(--cqw) * 24);
  line-height: calc(var(--cqw) * 38.4);
  margin-top: calc(var(--cqw) * 39);
  padding: 0 calc(var(--cqw) * 26);
  color: #e52733;
}

/* company */
.company {
  padding: calc(var(--cqw) * 87) calc(var(--cqw) * 40) calc(var(--cqw) * 105);
  background-color: #f2f2f2;
}

.company__title {
}

.company__content {
  margin-top: calc(var(--cqw) * 56);
  padding: calc(var(--cqw) * 40) calc(var(--cqw) * 34);
  border-radius: calc(var(--cqw) * 10);
  display: flex;
  flex-direction: column;
  gap: calc(var(--cqw) * 10);
  background-color: #ffffff;
  box-shadow: 0 0 calc(var(--cqw) * 15) calc(var(--cqw) * 2) rgba(0, 0, 0, 0.15);
}

.company__content-item {
}

.company__content-item__title {
  font-size: calc(var(--cqw) * 40);
  font-weight: 700;
}

.company__content-item__text {
  font-size: calc(var(--cqw) * 28);
  line-height: calc(var(--cqw) * 42);
  margin-top: calc(var(--cqw) * -5);
}

/* map */
.map {
}

.map__content {
  display: flex;
}

.map__content-item {
  width: calc(var(--cqw) * 374);
  height: auto;
  aspect-ratio: 1/1;
}

.map__content-item.--line{border-right: calc(var(--cqw) * 2) #aaa solid;}
.map__content-item .company__content-item__title{text-align: center; padding: .7em 0;}

.map__content-item iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  vertical-align: bottom;
}

/* philosophy */
.philosophy {
  position: relative;
}

.philosophy__title {
  position: absolute;
  width: 100%;
  color: #ffffff;
  z-index: 1;
  top: calc(var(--cqw) * 88);
}

.philosophy__title::before {
  background-image: URL("./img/title__icon--before--white.webp");
}

.philosophy__title::after {
  background-image: URL("./img/title__icon--after--white.webp");
}

.philosophy__img {
  width: 100%;
}

/* footer */
.footer {
  padding: calc(var(--cqw) * 47) 0 calc(var(--cqw) * 180);
}

@media screen and (min-width: 751px) {
  .footer {
    padding: calc(var(--cqw) * 47) 0 calc(var(--cqw) * 148);
  }
}

.footer__certification {
  display: flex;
  gap: calc(var(--cqw) * 35);
  align-items: center;
  justify-content: center;
}

.footer__certification__img01 {
  width: calc(var(--cqw) * 200);
}

.footer__certification__img02 {
  width: calc(var(--cqw) * 200);
}

.footer__registration {
  font-size: calc(var(--cqw) * 28);
  line-height: calc(var(--cqw) * 33.6);
  margin: 0 auto;
  margin-top: calc(var(--cqw) * 41);
  border-radius: calc(var(--cqw) * 10);
  padding: calc(var(--cqw) * 12) calc(var(--cqw) * 27);
  color: #e8c675;
  width: fit-content;
  background-color: #b40e17;
  letter-spacing: 0.05em;
}

.footer__registration b {
  font-weight: 400;
  font-family: "Roboto", sans-serif;
}

.footer__copyright {
  font-size: calc(var(--cqw) * 20);
  margin-top: calc(var(--cqw) * 34);
  text-align: center;
}

.footer__note {
  font-size: calc(var(--cqw) * 18);
  line-height: calc(var(--cqw) * 23.4);
  margin-top: calc(var(--cqw) * 59);
  padding: calc(var(--cqw) * 21) calc(var(--cqw) * 29);
  color: #777777;
  background-color: #f9e6e9;
}

/* fixed-cta */
.fixed-cta {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 100;
}

.fixed-cta__inner {
  width: calc(var(--cqw) * 750);
  margin: 0 auto;
}

.fixed-cta__text {
  background-color: #b40e17;
  padding: calc(var(--cqw) * 7) 0;
  font-size: calc(var(--cqw) * 28);
  line-height: calc(var(--cqw) * 33.6);
  color: #e8c675;
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 751px) {
  .fixed-cta__text {
    font-size: calc(var(--cqw) * 20);
    line-height: calc(var(--cqw) * 24);
  }
}


.fixed-cta__text b {
  font-family: "Roboto", sans-serif;
}

.fixed-cta__content {
  display: flex;
  justify-content: space-around;
  padding: calc(var(--cqw) * 3) calc(var(--cqw) * 7);
  background-color: #f4f4f4;
}

.fixed-cta__btn01 {
  width: calc(var(--cqw) * 178);
  position: relative;
}

.fixed-cta__btn01__sub {
  position: absolute;
  top: calc(var(--cqw) * -6);
  right: calc(var(--cqw) * -5);
  width: calc(var(--cqw) * 63);
  height: calc(var(--cqw) * 61);
}

.fixed-cta__btn02 {
  width: calc(var(--cqw) * 378);
}

.fixed-cta__btn03 {
  width: calc(var(--cqw) * 178);
}
