@charset "UTF-8";

/* A Modern CSS Reset (https://github.com/hankchizljaw/modern-css-reset) */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd,
ul,
ol,
li {
  margin: 0
}

ul,
ol {
  list-style: none;
  padding: 0
}

html:focus-within {
  scroll-behavior: smooth
}

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5
}

a:not([class]) {
  text-decoration-skip-ink: auto
}

a {
  text-decoration: none;
  color: inherit
}

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

input,
button,
textarea,
select {
  font: inherit
}

button {
  border: none;
  padding: 0;
  background-color: transparent;
  background-color: initial
}

@media (prefers-reduced-motion:reduce) {
  html:focus-within {
    scroll-behavior: auto
  }

  *,
  *::before,
  *::after {
    -webkit-animation-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
    animation-iteration-count: 1 !important;
    -webkit-transition-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important
  }
}

/* wordpress */
.has-small-font-size {
  font-size: 13px
}

.has-regular-font-size,
.has-normal-font-size {
  font-size: 16px
}

.has-medium-font-size {
  font-size: 20px
}

.has-large-font-size {
  font-size: 36px
}

.has-larger-font-size,
.has-huge-font-size {
  font-size: 42px
}

.has-drop-cap:not(:focus)::first-letter {
  float: left;
  font-size: 8.4em;
  line-height: .68;
  font-weight: 100;
  margin: .05em .1em 0 0;
  text-transform: uppercase;
  font-style: normal
}

.has-drop-cap:not(:focus)::after {
  content: "";
  display: table;
  clear: both;
  padding-top: 14px
}

p.has-background {
  padding: 20px 30px
}

.wp-block-table {
  width: 100%
}

.wp-block-table.is-style-stripes {
  border-spacing: 0;
  border-collapse: inherit;
  background-color: transparent;
  border-bottom: 1px solid #f3f4f5
}

.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background-color: #f3f4f5
}

.wp-block-table .has-fixed-layout {
  table-layout: fixed;
  width: 100%
}

.wp-block-table .has-fixed-layout td,
.wp-block-table .has-fixed-layout th {
  word-break: break-word
}

.wp-block-quote.is-style-large,
.wp-block-quote.is-large {
  margin: 0 0 16px;
  padding: 0 1em
}

.wp-block-quote.is-style-large p,
.wp-block-quote.is-large p {
  font-size: 24px;
  font-style: italic;
  line-height: 1.6
}

.wp-block-quote.is-style-large cite,
.wp-block-quote.is-style-large footer,
.wp-block-quote.is-large cite,
.wp-block-quote.is-large footer {
  font-size: 18px;
  text-align: right
}

html {
  font-size: 100%;
}

html {
  scroll-behavior: smooth;
}

[id] {
  scroll-margin-top: var(--header-h, 0px);
}

@media (max-width: 1250px) {
  html {
    font-size: 1.28vw;
  }
}

@media screen and (max-width: 767px) {
  html {
    font-size: 100%;
  }
}

@media (max-width: 390px) {
  html {
    font-size: 4.1025641026vw;
  }
}

body {
  color: #305252;
  background: #f7f6f2;
}

html.ja body {
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "游ゴシック体", "Lucida Grande", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  /*   font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif; */
}

html.zh-CN body {
  font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
}

a,
button {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  cursor: pointer;
}

@media (hover: hover) {

  a:hover,
  button:hover {
    opacity: 0.7;
  }
}

a {
  display: inline-block;
}

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

.js-fadein {
  opacity: 1;
}

.l-inner {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  max-width: 1250px;
  padding-right: 1.5625rem;
  padding-left: 1.5625rem;
}

@media screen and (max-width: 767px) {
  .l-inner {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
}

.c-breadcrumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.c-breadcrumb__item {
  font-size: max(10px, 0.875rem);
  font-weight: 500;
  line-height: 1.7142857143;
  padding: 1.5rem 0 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .c-breadcrumb__item {
    padding: 0.625rem 0;
    font-size: max(10px, 0.75rem);
  }
}

.c-breadcrumb__item::before {
  content: ">";
}

.c-breadcrumb__item:not(:last-child) {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.c-breadcrumb__item:first-child::before {
  display: none;
}

.c-breadcrumb__item:first-child a {
  padding-left: 0;
}

.c-breadcrumb__item:first-child a::before {
  content: "";
  background: url(../images/icon_home.svg) no-repeat center/contain;
  width: 0.875rem;
  aspect-ratio: 14/15;
  -o-object-fit: contain;
  object-fit: contain;
  display: inline-block;
  margin-right: 0.8125rem;
}

@media screen and (max-width: 767px) {
  .c-breadcrumb__item:first-child a::before {
    height: 0.75rem;
  }
}

.c-breadcrumb__item:last-child {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  display: block;
}

@media screen and (max-width: 767px) {
  .c-breadcrumb__item:last-child {
    max-width: 300px;
  }
}

.c-breadcrumb__item:last-child::before {
  margin-right: 0.5rem;
}

.c-breadcrumb__item a {
  font-size: max(10px, 0.875rem);
  font-weight: 500;
  line-height: 1.7142857143;
  padding-inline: 0.5rem;
}

@media screen and (max-width: 767px) {
  .c-breadcrumb__item a {
    font-size: max(10px, 0.75rem);
  }
}

.c-button01 {
  display: block;
  padding: 1.9375rem;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
  color: #fff;
  background-color: #305252;
  border-radius: 0.5rem;
  border: solid 1px #305252;
  text-align: center;
  text-decoration: none;
  transition: 0.3s;
}

@media (hover: hover) {
  .c-button01:hover {
    background-color: #fff;
    color: #305252;
    opacity: 1;
  }
}

@media screen and (max-width: 767px) {
  .c-button01 {
    padding: 0.9375rem;
  }
}

.c-button02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  font-size: max(0.75rem, 10px);
  font-weight: 500;
  line-height: 1.6666666667;
  color: #fff;
}

.c-button02 span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 2.6875rem;
  height: 2.6875rem;
  background: #fff;
  border-radius: 50%;
  transition: background 0.3s;
}

.c-button02 span::after {
  content: "";
  width: 0.625rem;
  height: 1rem;
  -webkit-mask-image: url(../images/icon_arrow_white.svg);
  mask-image: url(../images/icon_arrow_white.svg);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  background: #33241C;
}

@media screen and (hover: hover) {
  .c-button02:hover span {
    background: #33241C;
  }

  .c-button02:hover span::after {
    background: #fff;
  }
}

.c-button02.--brown {
  color: #33241C;
}

.c-button02.--brown span {
  background: #33241C;
  border: 1px solid #33241C;
}

.c-button02.--brown span::after {
  background: #fff;
}

.c-button02.--large {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.1111111111;
}

.c-button02.--large span {
  border: 1px solid #33241C;
}

@media (hover: hover) {
  .c-button02.--large:hover span {
    background: #fff;
  }

  .c-button02.--large:hover span::after {
    background: #33241C;
  }
}

.c-card01 {
  display: block;
}

@media (hover: hover) {
  .c-card01:hover .c-card01__img img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
}

.c-card01__img {
  overflow: hidden;
  border-radius: 0.75rem;
}

.c-card01__img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  aspect-ratio: 312/175;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.c-card01__title {
  margin-top: 1rem;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.c-card02 {
  display: block;
}

.c-card02__img {
  border-radius: 0.75rem;
  overflow: hidden;
}

.c-card02__img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  aspect-ratio: 364/224;
}

@media screen and (max-width: 767px) {
  .c-card02__img img {
    aspect-ratio: 220 / 140;
  }
}

.c-card02__body {
  margin-top: 1.5rem;
}

.c-card02__title {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.03em;
}

.c-card02__text {
  margin-top: 1.5rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.5;
}

.c-card02__link {
  margin-top: 1.5rem;
}

.c-card02__link a {
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.5;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.875rem;
  border-radius: 0.25rem;
  color: #fff;
  padding: 0.375rem 1rem;
}

.c-card02__link a::after {
  content: "";
  width: 1rem;
  height: 1rem;
  background: url(../images/icon_link_out.svg) no-repeat center center/contain;
}

.c-card02__link a.c-card02__btn-red {
  background: #FF385C;
}

.c-card02__link a.c-card02__btn-black {
  background: #305252;
}

.c-card03 {
  display: block;
}

@media (hover: hover) {
  .c-card03:hover .c-card03__img img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
}

.c-card03__img {
  overflow: hidden;
  border-radius: 0.75rem;
}

.c-card03__img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  aspect-ratio: 324/183;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.c-card03__title {
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.5555555556;
  margin-top: 1.75rem;
}

.c-card03__categories {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.3125rem;
  margin-top: 1rem;
}

.c-card03__category {
  display: inline-block;
  font-size: max(0.8rem, 10px);
  font-weight: 500;
  letter-spacing: -0.02em;
  padding: 0.5rem 1rem;
  background: #305252;
  border-radius: 0.25rem;
  color: #fff;
  margin-bottom: 0.5rem;
}

.c-card04 {
  display: grid;
  grid-template-columns: 16rem 20.9375rem 1fr 8.75rem;
  gap: 2rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 2rem 0;
}

@media (hover: hover) {
  .c-card04:hover .c-card04__img img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
}

@media screen and (max-width: 767px) {
  .c-card04 {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 1.5rem 0;
  }
}

.c-card04__img {
  aspect-ratio: 256/144;
  border-radius: 0.75rem;
  overflow: hidden;
}

.c-card04__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.c-card04__title {
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 2.2222222222;
}

@media screen and (max-width: 767px) {
  .c-card04__title {
    font-size: 1rem;
    line-height: 1.5;
  }
}

.c-card04__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.c-card04__item dt,
.c-card04__item dd {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}

.c-card04__item:nth-child(n+2) {
  margin-top: 0.25rem;
  color: rgba(60, 60, 67, .62);
}

@media screen and (max-width: 767px) {

  .c-card04__item dt,
  .c-card04__item dd {
    font-size: max(10px, 0.875rem);
  }
}

.c-card04__text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  color: #D72600;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 0.5625rem;
  -moz-column-gap: 0.5625rem;
  column-gap: 0.5625rem;
}

.c-card04__text::after {
  content: "";
  background: url(../images/icon_arrow_right.svg) no-repeat center/contain;
  width: 0.875rem;
  height: 0.875rem;
  aspect-ratio: 1/1;
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .c-card04__text {
    font-size: max(10px, 0.875rem);
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }

  .c-card04__text::after {
    width: 0.75rem;
    height: 0.75rem;
  }
}

.c-card05 {
  display: block;
  width: calc(50% - 1rem);
  border-radius: 2.5rem;
  overflow: hidden;
  color: #fff;
  padding: 6.5625rem 2.3125rem 3.3125rem;
  position: relative;
  aspect-ratio: 584/501;
}

.c-card05.--wide {
  width: 100%;
  aspect-ratio: 1200/453;
  padding-inline: 3.75rem;
}

.c-card05.--wide .c-card05__img img {
  aspect-ratio: 1200/453;
}

.c-card05.--link {
  padding-top: 6.25rem;
}

@media screen and (max-width: 767px) {
  .c-card05 {
    width: 100%;
    aspect-ratio: 326/460;
    padding: 1rem 1rem 2.25rem;
  }

  .c-card05.--wide {
    aspect-ratio: 326/460;
    padding-inline: 1rem;
  }

  .c-card05.--wide .c-card05__img img {
    aspect-ratio: 326/460;
  }

  .c-card05.--link {
    padding-top: 1rem;
  }
}

.c-card05__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.c-card05__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  aspect-ratio: 584/501;
}

.c-card05__img::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(51, 36, 28, .3);
}

.c-card05__img.--bg::before {
  background: rgba(51, 36, 28, .5);
}

.c-card05__head {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .c-card05__head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 1.8125rem;
  }
}

.c-card05__title {
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.1111111111;
  letter-spacing: 0.1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.5625rem;
}

.c-card05__title::before {
  content: attr(data-en);
  display: block;
  font-size: 3.125rem;
  font-weight: 300;
  font-family: "Raleway", sans-serif;
  line-height: 1.18;
  letter-spacing: 0.2em;
  color: #fff;
  text-transform: uppercase;
}

@media screen and (max-width: 767px) {
  .c-card05__title {
    line-height: 1.4444444444;
  }

  .c-card05__title::before {
    font-size: 2.5rem;
  }
}

.c-card05__icon {
  width: 5.3125rem;
}

.c-card05__icon img {
  width: 100%;
}

.c-card05__icon.--w97 {
  width: 6.0625rem;
}

@media screen and (max-width: 767px) {
  .c-card05__icon {
    width: 3.75rem;
    margin-left: auto;
  }

  .c-card05__icon.--w97 {
    width: 4.5rem;
  }
}

.c-card05__body {
  margin-top: 2.5rem;
  position: relative;
  z-index: 1;
}

.c-card05__text {
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.1em;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .c-card05__text {
    font-size: 0.875rem;
    line-height: 1.7142857143;
  }
}

.c-card05__link {
  margin-top: 2.5rem;
  max-width: 26.6875rem;
}

@media screen and (max-width: 767px) {
  .c-card05__link {
    max-width: 100%;
  }
}

.c-card06 {
  display: block;
}

@media (hover: hover) {
  .c-card06:hover {
    opacity: 1;
  }

  .c-card06:hover .c-card06__img img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }

  .c-card06:hover .c-button02 span {
    background: #fff;
  }

  .c-card06:hover .c-button02 span::after {
    background: #33241C;
  }
}

.c-card06__img {
  overflow: hidden;
  border-radius: 1.5rem;
}

.c-card06__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  aspect-ratio: 465/380;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

@media screen and (max-width: 767px) {
  .c-card06__img img {
    aspect-ratio: 326/260;
  }
}

.c-card06__title {
  margin-top: 3.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.9375rem;
  padding-left: 1rem;
  position: relative;
  font-size: max(1rem, 10px);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

.c-card06__title span {
  font-size: 1.5rem;
  font-weight: 400;
  font-family: "Raleway", sans-serif;
  line-height: 1.3333333333;
  letter-spacing: 0.02em;
  color: #33241C;
  text-transform: uppercase;
}

.c-card06__title::before {
  content: "";
  display: block;
  width: 0.1875rem;
  height: 100%;
  background: #33241C;
  position: absolute;
  left: 0;
  top: 0;
}

@media screen and (max-width: 767px) {
  .c-card06__title span {
    line-height: 1.1666666667;
  }
}

.c-card06__link {
  margin-top: 1.125rem;
}

.c-category-card {
  display: block;
}

@media (hover: hover) {
  .c-category-card:hover .c-category-card__img img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
}

.c-category-card__text {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.3333333333;
  letter-spacing: -0.02em;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .c-category-card__text {
    font-size: max(10px, 0.875rem);
    line-height: 1.7142857143;
  }
}

.c-category-card__img {
  aspect-ratio: 364/195;
  overflow: hidden;
  margin-top: 0.5rem;
}

.c-category-card__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.c-category-list__title {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.02em;
}

.c-category-list__title::before {
  content: attr(data-en);
  font-family: "Raleway", sans-serif;
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 1.3928571429;
  letter-spacing: 0.06em;
  margin-bottom: 0.5rem;
  display: block;
}

.c-category-list__conts {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  margin-top: 1.5rem;
}

@media screen and (max-width: 767px) {
  .c-category-list__conts {
    gap: 1.5rem 0.75rem;
  }
}

.c-category-list__item {
  padding: 1rem 1rem 0;
}

@media screen and (max-width: 767px) {
  .c-category-list__item {
    padding: 0;
  }
}

.c-column__head {
  display: block;
  position: relative;
  border-radius: 1rem;
  overflow: hidden;
}

@media (hover: hover) {
  .c-column__head:hover .c-column__img img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
}

@media screen and (max-width: 767px) {
  .c-column__head {
    border-radius: 0;
    border-bottom: solid 1.5px rgba(110, 80, 73, .2);
  }
}

.c-column__img {
  aspect-ratio: 816/352;
  overflow: hidden;
}

.c-column__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

@media screen and (max-width: 767px) {
  .c-column__img {
    aspect-ratio: 354/153;
    border-radius: 1rem;
  }
}

.c-column__conts {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 2rem;
  color: #fff;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, .5)));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, .5));
}

@media screen and (max-width: 767px) {
  .c-column__conts {
    position: static;
    position: initial;
    background: none;
    color: #305252;
    margin-top: 1rem;
    padding: 0;
  }
}

.c-column__title {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: -0.02em;
}

@media screen and (max-width: 767px) {
  .c-column__title {
    font-size: 1rem;
  }
}

.c-column__text {
  margin-top: 0.5rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.005em;
}

@media screen and (max-width: 767px) {
  .c-column__text {
    font-size: max(10px, 0.875rem);
    line-height: 1.7142857143;
    margin-top: 0.25rem;
  }
}

.c-column__list {
  margin-top: 2rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

@media screen and (max-width: 767px) {
  .c-column__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}

.c-column__button {
  margin-top: 2rem;
}

.c-cta {
  background: url(../images/cta_bg.jpg) no-repeat center center/cover;
  padding: 5rem 0;
  position: relative;
  z-index: 1;
  margin: 0 3rem 2rem 3rem;
  border-radius: 20px;
}

@media screen and (max-width: 767px) {
  .c-cta {
    background: url(../images/cta_bg_sp.jpg) no-repeat center center/cover;
    padding: 2rem 0;
    position: relative;
    z-index: 1;
    margin: 0 1rem 2rem 1rem;
  }
}

.c-cta::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .4);
  z-index: -1;
  border-radius: 20px;
}

.c-cta__catch {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .c-cta__catch {
    font-size: 1.25rem;
    line-height: 1.8;
    font-weight: 700;
  }
}

.c-cta__text {
  margin-top: 1.9375rem;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.7222222222;
  color: #fff;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .c-cta__text {
    font-size: 1rem;
    line-height: 1.9375;
  }
}

.c-cta__link {
  margin-top: 1.9375rem;
  text-align: center;
}

.c-cta__link a {
  background: #fff;
  border-radius: 0.25rem;
  color: #305252;
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  line-height: 1.3333333333;
  padding: 0.5rem 2rem;
  transition: background 0.3s, color 0.3s;
}

@media (hover: hover) {
  .c-cta__link a:hover {
    opacity: 1;
    background: #305252;
    color: #fff;
  }
}

/* Contact Form Styles (Dark Green Theme) */
.c-form__item {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-bottom: 2rem;
}

.c-form__label {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 0.5rem;
  color: #333;
  /* Dark gray text */
}

@media screen and (max-width: 767px) {
  .c-form__label {
    gap: 0.5rem;
    font-size: 0.875rem;
    flex-wrap: wrap;
  }
}

.c-form__required {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1;
  color: #fff;
  background: #305252;
  /* Dark Green */
  padding: 0.4em 1em;
  border-radius: 2px;
  vertical-align: middle;
}

.c-form__optional {
  display: inline-block;
  font-size: 0.75rem;
  line-height: 1;
  color: #305252;
  /* Dark Green Text */
  border: 1px solid #305252;
  /* Dark Green Border */
  background: #fff;
  padding: 0.3em 1em;
  border-radius: 2px;
  vertical-align: middle;
}

.c-form__input,
.c-form__textarea {
  background: #E6E6E6;
  /* Gray Background */
  border: none;
  border-radius: 0;
  padding: 1rem;
  font-size: 1rem;
  line-height: 1.5;
  width: 100%;
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
}

@media screen and (max-width: 767px) {

  .c-form__input,
  .c-form__textarea {
    font-size: 16px;
    padding: 0.8rem;
  }
}

.c-form__textarea {
  height: 12rem;
}

/* Radio Buttons */
.c-form__radio {
  margin-top: 0.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.c-form__radio .wpcf7-list-item {
  margin: 0;
  padding: 0;
}

.c-form__radio label {
  display: flex;
  align-items: center;
  position: relative;
  cursor: pointer;
  padding-left: 2rem;
  min-height: 1.5rem;
  color: #305252;
  font-weight: 500;
}

.c-form__radio input[type="radio"] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

/* Custom Radio Circle (Unchecked) */
.c-form__radio .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1.25rem;
  height: 1.25rem;
  background: #E6E6E6;
  /* Gray Background */
  border-radius: 50%;
  transition: all 0.2s;
}

/* Custom Radio Dot (Checked Bg) */
.c-form__radio .wpcf7-list-item-label::after {
  display: none;
  /* Not used in this style, strictly solid */
}

/* Checked State - Change Background Color */
.c-form__radio input:checked+.wpcf7-list-item-label::before {
  background: #305252;
  /* Dark Green */
}

/* Privacy Checkbox */
.c-form__check-wrap {
  margin-top: 2rem;
  text-align: center;
}

.c-form__check-wrap label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  cursor: pointer;
}

.c-form__check-wrap input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.c-form__privacy-check {
  padding-left: 2rem;
  position: relative;
  font-weight: 500;
  display: inline-block;
  color: #333;
}

.c-form__privacy-check a {
  color: #305252;
  text-decoration: underline;
  position: relative;
  z-index: 2;
}

.c-form__privacy-check a:hover {
  text-decoration: none;
}

/* Custom Checkbox Box */
.c-form__privacy-check::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1.25rem;
  height: 1.25rem;
  border: 1px solid #d1d5db;
  background: #fff;
  border-radius: 2px;
  box-sizing: border-box;
}

/* Custom Checkmark */
.c-form__privacy-check::after {
  content: "";
  position: absolute;
  left: 0.45rem;
  top: 48%;
  transform: translateY(-60%) rotate(45deg);
  width: 0.35rem;
  height: 0.65rem;
  border: solid #305252;
  border-width: 0 2px 2px 0;
  opacity: 0;
  transition: opacity 0.2s;
}

/* Checked State */
.c-form__check:checked+.wpcf7-list-item-label .c-form__privacy-check::after {
  opacity: 1;
}

/* Submit Button */
.c-form__submit {
  margin-top: 3rem;
  text-align: center;
}

.c-form__submit input[type="submit"] {
  background: #305252;
  color: #fff;
  font-weight: bold;
  font-size: 1rem;
  padding: 1rem 4rem;
  border: 1px solid #305252;
  cursor: pointer;
  transition: all 0.3s;
  display: inline-block;
  min-width: 280px;
}

.c-form__submit input[type="submit"]:hover {
  background: #fff;
  color: #305252;
}

.c-latest-card {
  padding: 1rem;
  display: grid;
  grid-template-columns: 12rem 1fr;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 2rem;
  -moz-column-gap: 2rem;
  column-gap: 2rem;
}

@media (hover: hover) {
  .c-latest-card:hover .c-latest-card__img img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
}

@media screen and (max-width: 767px) {
  .c-latest-card {
    grid-template-columns: 6.25rem 1fr;
    -webkit-column-gap: 1rem;
    -moz-column-gap: 1rem;
    column-gap: 1rem;
    padding: 1rem 0;
  }
}

.c-latest-card__img {
  aspect-ratio: 192/108;
  overflow: hidden;
  border-radius: 0.5rem;
}

.c-latest-card__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.c-latest-card__text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .c-latest-card__text {
    font-size: max(10px, 0.875rem);
    line-height: 1.4285714286;
  }
}

.c-latest-card__tag {
  font-size: max(10px, 0.875rem);
  font-weight: 500;
  line-height: 1.7142857143;
  letter-spacing: -0.005em;
  margin-top: 0.5rem;
  color: rgba(60, 60, 67, .62);
}

@media screen and (max-width: 767px) {
  .c-latest-card__tag {
    font-size: max(10px, 0.75rem);
    line-height: 1.6666666667;
  }
}

.c-latest__title {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.02em;
}

.c-latest__title::before {
  content: attr(data-en);
  font-family: "Raleway", sans-serif;
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 1.3928571429;
  letter-spacing: 0.06em;
  margin-bottom: 0.5rem;
  display: block;
}

.c-latest__list {
  margin-top: 1.5625rem;
}

.c-latest__item {
  border-top: solid 0.5px #305252;
}

.c-latest__item:last-child {
  border-bottom: solid 0.5px #305252;
}

.c-link {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.02em;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 1.5rem;
  -moz-column-gap: 1.5rem;
  column-gap: 1.5rem;
}

.c-link.--sm {
  -webkit-column-gap: 0.8125rem;
  -moz-column-gap: 0.8125rem;
  column-gap: 0.8125rem;
}

.c-link::before {
  content: "";
  background: url(../images/icon_link.svg) no-repeat center/contain;
  width: 1.6875rem;
  height: 1.6875rem;
  display: inline-block;
  aspect-ratio: 1/1;
  -webkit-transform: scale(-1, 1);
  transform: scale(-1, 1);
}

.c-link.--sm::before {
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
}

.c-news {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 1.5rem;
  -moz-column-gap: 1.5rem;
  column-gap: 1.5rem;
  padding-top: 2.25rem;
  padding-bottom: 1.5rem;
  border-bottom: solid 1px #305252;
}

@media screen and (max-width: 767px) {
  .c-news {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

.c-news__time {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

@media screen and (max-width: 767px) {
  .c-news__time {
    font-size: 1rem;
  }
}

.c-news__category {
  font-size: max(10px, 0.875rem);
  font-weight: 500;
  line-height: 1.5;
  background: #D3D3D3;
  padding: 0.25rem 1.5rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  border-radius: 0.25rem;
}

.c-news__title {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .c-news__title {
    width: 100%;
    margin-top: 0.5rem;
  }
}

.c-pagenation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.c-pagenation__link {
  display: grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  aspect-ratio: 1/1;
  font-size: max(10px, 0.9375rem);
  line-height: 1.3333333333;
}

.c-pagenation__link.current {
  background: #305252;
  color: #fff;
  pointer-events: none;
}

@media screen and (max-width: 767px) {
  .c-pagenation__link {
    width: 2rem;
    height: 2rem;
    font-size: max(10px, 0.875rem);
  }
}

.c-pagenation__link.--last::before {
  content: "";
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  border-top: 2px solid black;
  border-right: 2px solid black;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.c-pickup__title {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.02em;
}

.c-pickup__title::before {
  content: attr(data-en);
  font-family: "Raleway", sans-serif;
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 1.3928571429;
  letter-spacing: 0.06em;
  margin-bottom: 0.5rem;
  display: block;
}

.c-pickup__list {
  margin-top: 1.5625rem;
  counter-reset: item;
}

.c-pickup__item {
  counter-increment: item;
  border-top: solid 1.5px rgba(110, 80, 73, .2);
}

.c-pickup__item:last-child {
  border-bottom: solid 1.5px rgba(110, 80, 73, .2);
}

.c-pickup__link {
  display: grid;
  grid-template-columns: 1fr 8rem;
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  padding: 1rem 0 1.25rem;
}

@media (hover: hover) {
  .c-pickup__link:hover .c-pickup__img img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
}

@media screen and (max-width: 767px) {
  .c-pickup__link {
    padding: 1rem 0;
  }
}

.c-pickup__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  font-size: max(10px, 0.875rem);
  font-weight: 500;
  line-height: 1.7142857143;
  letter-spacing: -0.07em;
  -webkit-column-gap: 0.5rem;
  -moz-column-gap: 0.5rem;
  column-gap: 0.5rem;
}

.c-pickup__text::before {
  content: counter(item);
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.0833333333;
  letter-spacing: -0.02em;
  display: block;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  min-width: 2.5rem;
  text-align: center;
}

.c-pickup__img {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  aspect-ratio: 128/72;
  border-radius: 0.5rem;
  overflow: hidden;
}

.c-pickup__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

@media screen and (max-width: 767px) {
  .c-pickup__img {
    aspect-ratio: 127/76;
  }
}

.c-relation-card {
  display: block;
}

@media (hover: hover) {
  .c-relation-card:hover .c-relation-card__img img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
}

.c-relation-card__img {
  aspect-ratio: 192/108;
  border-radius: 0.5rem;
  overflow: hidden;
}

.c-relation-card__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.c-relation-card__conts {
  margin-top: 0.75rem;
  margin-right: 0.625rem;
}

.c-relation-card__text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}

.c-relation-card__category {
  font-size: max(10px, 0.75rem);
  font-weight: 500;
  line-height: 1.3333333333;
  color: #D72600;
  margin-top: 0.5rem;
}

.c-relation-card__time {
  margin-top: 0.5rem;
  font-size: max(10px, 0.75rem);
  font-weight: 500;
  line-height: 1.3333333333;
  color: rgba(46, 25, 20, .62);
}

.c-relation-card.--sm .c-relation-card__img {
  aspect-ratio: 250/160;
}

@media screen and (max-width: 767px) {
  .c-relation-card.--sm .c-relation-card__img {
    aspect-ratio: 162/111;
  }
}

.c-relation-card.--sm .c-relation-card__conts {
  margin-right: 0;
}

.c-relation-card.--sm .c-relation-card__text {
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .c-relation-card.--sm .c-relation-card__text {
    font-size: max(10px, 0.875rem);
    line-height: 1.7142857143;
  }
}

.c-relation-card.--sm .c-relation-card__category {
  font-size: max(10px, 0.8125rem);
  line-height: 1.2307692308;
}

@media screen and (max-width: 767px) {
  .c-relation-card.--sm .c-relation-card__category {
    font-size: max(10px, 0.75rem);
    line-height: 1.3333333333;
  }
}

.c-relation {
  border-top: solid 1px rgba(110, 80, 73, .2);
  padding-top: 2rem;
}

.c-relation__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.c-relation__title {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.3333333333;
}

.c-relation__link {
  font-size: max(10px, 0.875rem);
  font-weight: 500;
  line-height: 1.4285714286;
  color: #D72600;
}

.c-relation__link::after {
  content: "";
  background: url(../images/icon_arrow_right.svg) no-repeat center/contain;
  width: 0.5625rem;
  height: 0.5625rem;
  aspect-ratio: 1/1;
  display: inline-block;
  margin-left: 0.4375rem;
  vertical-align: middle;
}

.c-relation__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 2rem;
  gap: 3rem 0.8125rem;
}

@media screen and (max-width: 767px) {
  .c-relation__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}

.c-reserve-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.125rem;
  width: 6.9375rem;
  height: 6.9375rem;
  background: #006B6F;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.6666666667;
  border-radius: 50%;
  padding-top: 0.375rem;
  transition: background 0.3s, color 0.3s;
}

.c-reserve-btn.--technoport {
  background: #33241C;
}

@media (hover: hover) {
  .c-reserve-btn.--technoport:hover {
    opacity: 1;
    background: #fff;
    color: #33241C;
  }

  .c-reserve-btn.--technoport:hover::before {
    color: #33241C;
  }
}

.c-reserve-btn::before {
  content: attr(data-en);
  font-size: 1.0625rem;
  font-weight: 400;
  font-family: "Raleway", sans-serif;
  line-height: 1.1764705882;
  letter-spacing: 0.2em;
}

@media (hover: hover) {
  .c-reserve-btn:hover {
    opacity: 1;
    background: #fff;
    color: #006B6F;
  }

  .c-reserve-btn:hover::before {
    color: #006B6F;
  }
}

.c-side-banner {
  position: sticky;
  top: 5.375rem;
  right: 0;
}

@media screen and (max-width: 767px) {
  .c-side-banner {
    position: relative;
    top: 0;
    right: auto;
  }
}

@media (hover: hover) {
  .c-side-banner__link:hover .c-side-banner__img img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
}

.c-side-banner__img {
  border-radius: 0.5rem;
  overflow: hidden;
  position: relative;
}

.c-side-banner__img::before {
  content: "";
  /* background: rgba(0, 0, 0, .4); */
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.c-side-banner__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.c-side-banner__conts {
  color: #fff;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 2;
  text-align: center;
}

.c-side-banner__title {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
}

.c-side-banner__texts {
  margin-top: 0.5rem;
}

.c-side-banner__text {
  font-size: max(10px, 0.875rem);
  font-weight: 500;
  line-height: 1.7142857143;
}

.c-side-banner.--sm .c-side-banner__img {
  border-radius: 0.75rem;
}

.c-side-banner.--sm .c-side-banner__texts {
  margin-top: 0.4375rem;
}

.c-side-banner.--sm .c-side-banner__text {
  line-height: 1.5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
}

.c-side-banner.--sm .c-side-banner__text::after {
  content: "";
  background: url(../images/icon_banner_arrow.svg) no-repeat center/contain;
  display: inline-block;
  width: 0.5rem;
  aspect-ratio: 8/13;
}

.c-side-banner.--sm .c-side-banner__text:nth-child(2) {
  display: none;
}

.c-side-category__title {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.02em;
}

.c-side-category__title::before {
  content: attr(data-en);
  font-family: "Raleway", sans-serif;
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 1.3928571429;
  letter-spacing: 0.06em;
  margin-bottom: 0.5rem;
  display: block;
}

.c-side-category__list {
  margin-top: 1rem;
}

.c-side-link {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.25;
  padding: 0.5rem 0;
  display: block;
}

.c-side-link::before {
  content: "・";
}

.c-side-other__title {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.02em;
}

.c-side-other__title::before {
  content: attr(data-en);
  font-family: "Raleway", sans-serif;
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 1.3928571429;
  letter-spacing: 0.06em;
  margin-bottom: 0.5rem;
  display: block;
}

.c-side-other__list {
  margin-top: 1.5rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.625rem;
}

@media screen and (max-width: 767px) {
  .c-side-other__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}

.c-side-other__link {
  display: block;
}

@media (hover: hover) {
  .c-side-other__link:hover .c-side-other__img img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
}

.c-side-other__img {
  aspect-ratio: 223/126;
  overflow: hidden;
  border-radius: 0.75rem;
}

.c-side-other__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.c-side-other__text {
  margin-top: 0.75rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.02em;
}

.c-side {
  font-size: max(10px, 0.9375rem);
  font-weight: 500;
  line-height: 1.3333333333;
  letter-spacing: -0.02em;
  display: block;
  padding: 0.5rem 1rem;
  border-radius: 0.25rem;
  background-color: rgba(60, 60, 67, .1);
  transition: background-color 0.3s, color 0.3s;
}

@media screen and (max-width: 767px) {
  .c-side {
    font-size: 0.875rem;
    line-height: 1.4285714286;
  }
}

.c-side.is-current {
  background-color: #305252;
  color: #fff;
}

@media (hover: hover) {
  .c-side:hover {
    opacity: 1;
    background-color: #305252;
    color: #fff;
  }
}

.c-side.--glossary {
  font-size: 1.125rem;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .c-side.--glossary {
    font-size: max(10px, 0.9375rem);
    padding: 0.5rem;
  }
}

.c-title-side {
  position: sticky;
  top: 5.375rem;
  left: 0;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  z-index: 10;
}

@media screen and (max-width: 767px) {
  .c-title-side {
    position: relative;
    top: 0;
  }
}

.c-title-side__title {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
}

.c-title-side__title::before {
  content: attr(data-en);
  font-family: "Raleway", sans-serif;
  font-size: 2rem;
  line-height: 1.40625;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  display: block;
  margin-bottom: 0.375rem;
  font-weight: 600;
}

@media screen and (max-width: 767px) {
  .c-title-side__title::before {
    white-space: nowrap;
  }
}

.c-title-side__title.--sub::before {
  text-transform: capitalize;
}

.c-title-side__text {
  font-size: max(1rem, 10px);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.5;
  margin-top: 1.5rem;
}

@media screen and (max-width: 767px) {
  .c-title-side__text {
    font-size: 0.875rem;
  }
}

.c-title01 {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.02em;
}

@media screen and (max-width: 767px) {
  .c-title01 {
    font-size: 1rem;
  }
}

.c-title01::before {
  content: attr(data-en);
  font-family: "Raleway", sans-serif;
  font-size: 4.5rem;
  line-height: 1.4027777778;
  display: block;
  margin-bottom: 0.375rem;
  font-weight: 600;
}

@media screen and (max-width: 767px) {
  .c-title01::before {
    font-size: 3.5rem;
    line-height: 1.3928571429;
  }
}

.c-title02 {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
}

.c-title02.--center {
  text-align: center;
}

.c-title02::before {
  content: attr(data-en);
  font-family: "Raleway", sans-serif;
  font-size: 2rem;
  line-height: 1.3958333333;
  text-transform: uppercase;
  display: block;
  margin-bottom: 0.375rem;
}

/* @media screen and (max-width: 767px){.c-title02::before{white-space: nowrap;}} */

.c-title02.--sm {
  font-size: 1rem;
  letter-spacing: -0.02em;
}

@media screen and (max-width: 767px) {
  .c-title02.--sm {
    font-size: max(10px, 0.875rem);
    line-height: 1.5;
  }
}

.c-title02.--sm::before {
  font-size: 2rem;
  line-height: 1.40625;
  letter-spacing: 0.06em;
  margin-bottom: 0.5rem;
}

@media screen and (max-width: 767px) {
  .c-title02.--sm::before {
    font-size: 1.5rem;
    line-height: 1.4166666667;
  }
}

.c-title02.--lg {
  font-size: 1.5rem;
  letter-spacing: -0.02em;
}

@media screen and (max-width: 767px) {
  .c-title02.--lg {
    font-size: 1rem;
    line-height: 1.5;
  }
}

.c-title02.--lg::before {
  font-size: 4rem;
  line-height: 1.40625;
  letter-spacing: 0.04em;
  margin-bottom: 0.5rem;
  text-transform: none;
  text-transform: initial;
  font-weight: 600;
}

@media screen and (max-width: 767px) {
  .c-title02.--lg::before {
    font-size: 2.625rem;
    line-height: 1.2;
    white-space: normal;
  }
}

.c-title03 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.5625rem;
  font-size: max(1.125rem, 10px);
  font-weight: 500;
  line-height: 1.1111111111;
  letter-spacing: 0.1em;
  color: #006B6F;
}

.c-title03.--brown {
  color: #33241C;
}

.c-title03.--white {
  color: #fff;
}

.c-title03::before {
  content: attr(data-en);
  font-size: 3.125rem;
  font-family: "Raleway", sans-serif;
  font-weight: 300;
  letter-spacing: 0.2em;
  line-height: 1.18;
  text-transform: uppercase;
}

@media screen and (max-width: 767px) {
  .c-title03 {
    font-size: 1rem;
    line-height: 1.25;
  }

  .c-title03::before {
    font-size: 2rem;
  }
}

.p-application-example__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}

@media screen and (max-width: 767px) {
  .p-application-example__list {
    grid-template-columns: auto;
    gap: 3rem;
  }
}

.p-application-example__item {
  padding-bottom: 2.625rem;
}

@media screen and (max-width: 767px) {
  .p-application-example__item {
    padding-bottom: 0;
  }
}

.p-application-example__title {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.p-application-example__categories {
  margin-top: 0.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.875rem;
}

.p-application-example__category {
  display: inline-block;
  border-radius: 0.25rem;
  padding: 0.25rem 1rem;
  background: #305252;
  color: #fff;
  font-size: max(0.875rem, 10px);
  font-weight: 500;
  line-height: 1.4285714286;
}

.p-application-example__text {
  margin-top: 0.875rem;
  font-size: max(1rem, 10px);
  line-height: 1.75;
}

.p-application-feature {
  max-width: 44.125rem;
}

@media screen and (max-width: 767px) {
  .p-application-feature {
    max-width: 100%;
    overflow: hidden;
  }
}

.p-application-feature__title {
  font-size: 2rem;
  font-weight: 700;
  color: #000;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-application-feature__title {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 767px) {
  .p-application-feature__scroll {
    overflow-x: auto;
  }
}

.p-application-feature__table {
  margin-top: 2.25rem;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .p-application-feature__table {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
  }
}

.p-application-feature__table tr {
  display: grid;
  grid-template-columns: 2.5rem 1fr 1fr;
  gap: 1rem;
}

.p-application-feature__table tr:not(:first-child) {
  margin-top: 1.25rem;
}

@media screen and (max-width: 767px) {
  .p-application-feature__table tr {
    grid-template-columns: 1.875rem 20.875rem 20.875rem;
    gap: 0.625rem;
  }

  .p-application-feature__table tr:not(:first-child) {
    margin-top: 0.625rem;
  }
}

.p-application-feature__table td {
  padding: 1rem 0.625rem;
  font-size: max(1rem, 10px);
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .p-application-feature__table td {
    padding-inline: 1rem;
  }
}

.p-application-feature__table-head th {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.04em;
  text-align: left;
  padding-left: 1.125rem;
}

.p-application-feature__table-title {
  font-size: max(1rem, 10px);
  padding: 0.625rem 0.75rem;
  font-weight: 500;
  line-height: 1.1875;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .p-application-feature__table-title {
    padding: 0.625rem 0.4375rem;
  }
}

.p-application-feature__black {
  background: #305252;
  color: #fff;
}

.p-application-feature__gray {
  background: rgba(60, 60, 67, .1);
  color: #000;
}

.p-application-staff {
  display: grid;
  grid-template-columns: 24.625rem auto;
  gap: 2rem;
}

@media screen and (max-width: 767px) {
  .p-application-staff {
    grid-template-columns: auto;
    gap: 1.5rem;
  }
}

.p-application-staff__img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  aspect-ratio: 394/263;
}

.p-application-staff__title {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.1666666667;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.5rem;
}

.p-application-staff__title span {
  display: block;
  font-size: max(1rem, 10px);
  line-height: 1.75;
}

.p-application-staff__text {
  margin-top: 2rem;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.7777777778;
}

@media screen and (max-width: 767px) {
  .p-application-staff__text {
    font-size: 1rem;
    line-height: 1.75;
  }
}

.p-application-staff__list {
  margin-top: 0.5rem;
}

@media screen and (max-width: 767px) {
  .p-application-staff__list {
    margin-top: 1rem;
  }
}

.p-application-staff__item {
  font-size: max(10px, 1rem);
  font-weight: 500;
  line-height: 1.75;
  padding-left: 1.25rem;
  position: relative;
}

.p-application-staff__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.4375rem;
  width: 0.875rem;
  height: 0.875rem;
  background: #305252;
  border-radius: 50%;
}

.p-case-detail {
  padding-top: 12.25rem;
  padding-bottom: 8.25rem;
}

@media screen and (max-width: 767px) {
  .p-case-detail {
    padding-top: 7.5rem;
    padding-bottom: 4.5rem;
  }
}

.p-case-detail__body {
  display: grid;
  grid-template-columns: 1fr 13.9375rem;
  -webkit-column-gap: 4rem;
  -moz-column-gap: 4rem;
  column-gap: 4rem;
  margin-top: 7.5rem;
}

@media screen and (max-width: 767px) {
  .p-case-detail__body {
    grid-template-columns: 1fr;
    margin-top: 3rem;
  }
}

.p-case-detail__img {
  border-radius: 0.75rem;
  overflow: hidden;
  aspect-ratio: 907/511;
}

.p-case-detail__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-case-detail__conts {
  margin-top: 5rem;
  margin-inline: 1.375rem;
}

@media screen and (max-width: 767px) {
  .p-case-detail__conts {
    margin-inline: 0;
    margin-top: 3rem;
  }
}

.p-case-detail__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
}

.p-case-detail__time {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.02em;
}

.p-case-detail__label {
  font-size: max(10px, 0.875rem);
  font-weight: 500;
  line-height: 1.5;
  background: #D3D3D3;
  padding: 0.25rem 1.5rem;
  border-radius: 0.25rem;
}

.p-case-detail__title {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.6666666667;
  letter-spacing: -0.02em;
  margin-top: 0.5rem;
}

.p-case-detail__block {
  margin-top: 3.5rem;
}

@media screen and (max-width: 767px) {
  .p-case-detail__block {
    margin-top: 2rem;
  }
}

.p-case-detail__text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}

.p-case-detail__text+.p-case-detail__text {
  margin-top: 2em;
}

.p-case-detail__conts-img {
  margin-top: 3.5rem;
  overflow: hidden;
  aspect-ratio: 853/567;
}

.p-case-detail__conts-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-case-detail__conts-img+.p-case-detail__text {
  margin-top: 3.5rem;
}

.p-case-detail__back {
  margin-top: 4.25rem;
  text-align: center;
}

.p-case-detail__side {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 4rem;
}

@media screen and (max-width: 767px) {
  .p-case-detail__side {
    margin-top: 4.25rem;
    -webkit-box-align: initial;
    -ms-flex-align: initial;
    align-items: initial;
  }
}

.p-case-section {
  overflow: hidden;
  padding-top: 7.4375rem;
}

@media screen and (max-width: 767px) {
  .p-case-section {
    padding-top: 5rem;
  }
}

.p-case-section.--service {
  padding-bottom: 7.5rem;
  border-bottom: 1px solid rgba(60, 60, 67, .5);
}

@media screen and (max-width: 767px) {
  .p-case-section.--service {
    padding-bottom: 5rem;
  }
}

.p-case-section__scroll {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 0.625rem;
  margin-top: 3.3125rem;
  margin-right: -2.5rem;
}

@media screen and (max-width: 767px) {
  .p-case-section__scroll {
    margin-inline: calc(50% - 50vw);
  }
}

.p-case-section__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.625rem;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding-right: 2.1875rem;
}

@media screen and (max-width: 767px) {
  .p-case-section__list {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

.p-case-section__item {
  width: 20.25rem;
}

@media screen and (max-width: 767px) {
  .p-case-section__item {
    width: 18.9375rem;
  }
}

.p-case {
  padding-top: 12.25rem;
  padding-bottom: 7.5rem;
}

@media screen and (max-width: 767px) {
  .p-case {
    padding-top: 7.5rem;
    padding-bottom: 4.5rem;
  }
}

.p-case__body {
  display: grid;
  grid-template-columns: 13.125rem 56.875rem;
  gap: 1.875rem;
  margin-top: 7.5rem;
}

@media screen and (max-width: 767px) {
  .p-case__body {
    grid-template-columns: auto;
    gap: 1.875rem;
    margin-top: 3rem;
  }
}

.p-case__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.625rem;
}

@media screen and (max-width: 767px) {
  .p-case__list {
    grid-template-columns: auto;
  }
}

.p-case__categories {
  display: grid;
  gap: 0.5rem;
}

@media screen and (max-width: 767px) {
  .p-case__categories {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

.p-case__category {
  font-size: max(0.875rem, 10px);
  font-weight: 500;
  line-height: 1.3333333333;
}

.p-case__pagenation {
  margin-top: 5rem;
}

@media screen and (max-width: 767px) {
  .p-case__pagenation {
    margin-top: 3rem;
  }
}

.p-catch {
  padding: 3rem 0;
}

@media screen and (max-width: 767px) {
  .p-catch__inner {
    padding-inline: 0.625rem;
  }
}

.p-catch__title {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 2.8333333333;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .p-catch__title {
    font-size: 1.25rem;
    line-height: 2.3;
  }
}

.p-catch__title span {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.5em;
  font-size: 2rem;
  line-height: 2.125;
  margin-top: -1rem;
}

@media screen and (max-width: 767px) {
  .p-catch__title span {
    font-size: 1.5rem;
    line-height: 1.5;
    margin-top: 0;
    gap: 0.9375rem;
  }
}

.p-catch__title span::before,
.p-catch__title span::after {
  content: "";
  width: 0.125rem;
  height: 2.1875rem;
  background: #305252;
}

@media screen and (max-width: 767px) {

  .p-catch__title span::before,
  .p-catch__title span::after {
    height: 3.125rem;
  }
}

.p-catch__title span::before {
  -webkit-transform: rotate(-20deg);
  transform: rotate(-20deg);
}

.p-catch__title span::after {
  -webkit-transform: rotate(20deg);
  transform: rotate(20deg);
}

.p-catch__title.--sale span {
  line-height: 1.5;
  gap: 2.5rem;
}

.p-catch__title.--sale span::before,
.p-catch__title.--sale span::after {
  content: "";
  width: 0.125rem;
  height: 4.5rem;
  background: #305252;
}

@media screen and (max-width: 767px) {

  .p-catch__title.--sale span::before,
  .p-catch__title.--sale span::after {
    height: 6.25rem;
  }
}

.p-catch__list {
  margin-top: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 1rem;
}

@media screen and (max-width: 767px) {
  .p-catch__list {
    display: grid;
  }
}

.p-catch__item {
  background: #48BF84;
  color: #fff;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 2.8333333333;
  padding: 0.25rem 1rem;
  border-radius: 0.5rem;
}

@media screen and (max-width: 767px) {
  .p-catch__item {
    font-size: 1rem;
    line-height: 2.875;
    text-align: center;
    padding: 0 0.9375rem;
  }
}

.p-catch__text {
  margin-top: 1rem;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 3.4;
  letter-spacing: -0.02em;
  text-align: center;
}

.p-catch__text.--sm {
  font-size: 1.25rem;
  line-height: 2.3;
  margin-top: 2.5rem;
}

@media screen and (max-width: 767px) {
  .p-catch__text {
    font-size: 1.125rem;
    line-height: 2.5555555556;
    margin-top: 1.5rem;
  }

  .p-catch__text.--sm {
    font-size: 1.125rem;
    line-height: 2;
  }
}

.p-catch__graph {
  width: 20.6875rem;
  margin: 2.5rem auto 0;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-catch__graph {
    width: 18.75rem;
  }
}

.p-catch__graph img {
  width: 100%;
  height: 100%;
}

.p-catch__img-text {
  display: inline-block;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3333333333;
  letter-spacing: -0.005em;
  margin-top: 0.375rem;
  padding: 0.5rem 1.5rem;
  background: #48BF84;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .p-catch__img-text {
    font-size: 1.25rem;
  }
}

.p-catch__wrap {
  margin-top: 4.5rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

@media screen and (max-width: 767px) {
  .p-catch__wrap {
    grid-template-columns: auto;
    margin-top: 3rem;
  }
}

.p-catch__img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  aspect-ratio: 442/248;
}

.p-column-detail {
  padding-top: 12.25rem;
  padding-bottom: 9.5rem;
}

@media screen and (max-width: 767px) {
  .p-column-detail {
    padding-top: 7.5rem;
    padding-bottom: 4.5rem;
  }
}

.p-column-detail__body {
  display: grid;
  grid-template-columns: 1fr 20rem;
  -webkit-column-gap: 4rem;
  -moz-column-gap: 4rem;
  column-gap: 4rem;
  margin-top: 7.5rem;
}

@media screen and (max-width: 767px) {
  .p-column-detail__body {
    grid-template-columns: 1fr;
    margin-top: 3rem;
  }
}

.p-column-detail__img {
  border-radius: 1rem;
  overflow: hidden;
  aspect-ratio: 768/432;
}

.p-column-detail__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-column-detail__info {
  margin-top: 5rem;
}

.p-column-detail__time {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}

.p-column-detail__title {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.6666666667;
  letter-spacing: -0.02em;
  margin-top: 0.5rem;
}

.p-column-detail__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  margin-top: 1rem;
}

@media screen and (max-width: 767px) {
  .p-column-detail__tags {
    margin-top: 1.5rem;
  }
}

.p-column-detail__tag {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}

.p-column-detail__conts {
  margin-top: 3.5rem;
}

.p-column-detail__text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}

.p-column-detail__text+.p-column-detail__text {
  margin-top: 2em;
}

.p-column-detail__bottom {
  margin-top: 3.5rem;
  border-radius: 1rem;
  overflow: hidden;
  aspect-ratio: 768/432;
}

.p-column-detail__bottom img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-column-detail__back {
  margin-top: 4.25rem;
  text-align: center;
}

.p-column-detail__relation {
  margin-top: 7.75rem;
}

.p-column-detail__side {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 3rem;
}

@media screen and (max-width: 767px) {
  .p-column-detail__side {
    margin-top: 2.5rem;
    -webkit-box-align: initial;
    -ms-flex-align: initial;
    align-items: initial;
  }
}

.p-column {
  padding-top: 12.25rem;
  padding-bottom: 7.5rem;
}

@media screen and (max-width: 767px) {
  .p-column {
    padding-top: 7.5rem;
    padding-bottom: 4.5rem;
  }
}

.p-column__body {
  display: grid;
  grid-template-columns: 1fr 20rem;
  -webkit-column-gap: 3.75rem;
  -moz-column-gap: 3.75rem;
  column-gap: 3.75rem;
  margin-top: 7.5rem;
}

@media screen and (max-width: 767px) {
  .p-column__body {
    grid-template-columns: 1fr;
    margin-top: 3rem;
  }
}

.p-column__category {
  margin-top: 7rem;
}

@media screen and (max-width: 767px) {
  .p-column__category {
    margin-top: 2.5rem;
  }
}

.p-column__latest {
  margin-top: 8.625rem;
}

@media screen and (max-width: 767px) {
  .p-column__latest {
    margin-top: 2.5rem;
  }
}

.p-column__side {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 3rem;
}

@media screen and (max-width: 767px) {
  .p-column__side {
    margin-top: 2.5rem;
    -webkit-box-align: initial;
    -ms-flex-align: initial;
    align-items: initial;
  }
}

.p-company-access {
  display: grid;
  grid-template-columns: 17.5rem 1fr;
  -webkit-column-gap: 4.5rem;
  -moz-column-gap: 4.5rem;
  column-gap: 4.5rem;
}

@media screen and (max-width: 767px) {
  .p-company-access {
    grid-template-columns: 1fr;
    -webkit-column-gap: 0;
    -moz-column-gap: 0;
    column-gap: 0;
  }
}

.p-company-access__text {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .p-company-access__text {
    font-size: 1rem;
    line-height: 1.5;
    margin-top: 1.5rem;
  }
}

.p-company-purpose__map {
  margin-top: 2rem;
  aspect-ratio: 844/442;
}

.p-company-purpose__map iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  border: none;
  display: block;
}

@media screen and (max-width: 767px) {
  .p-company-purpose__map {
    margin-top: 1.5rem;
    aspect-ratio: 16/9;
  }
}

.p-company-info {
  display: grid;
  grid-template-columns: 17.5rem 1fr;
  -webkit-column-gap: 4.5rem;
  -moz-column-gap: 4.5rem;
  column-gap: 4.5rem;
}

@media screen and (max-width: 767px) {
  .p-company-info {
    grid-template-columns: 1fr;
    -webkit-column-gap: 0rem;
    -moz-column-gap: 0rem;
    column-gap: 0rem;
  }
}

@media screen and (max-width: 767px) {
  .p-company-info__conts {
    margin-top: 3.75rem;
  }
}

.p-company-info__list {
  width: 73.1132075472%;
}

@media screen and (max-width: 767px) {
  .p-company-info__list {
    width: 100%;
  }
}

.p-company-info__item {
  padding: 1.5rem 0;
  -webkit-box-shadow: inset 0 1px 0 rgba(60, 60, 67, .1);
  box-shadow: inset 0 1px 0 rgba(60, 60, 67, .1);
}

.p-company-info__info {
  display: grid;
  grid-template-columns: 8rem 1fr;
  -webkit-column-gap: 2.75rem;
  -moz-column-gap: 2.75rem;
  column-gap: 2.75rem;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.p-company-info__info dt,
.p-company-info__info dd {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .p-company-info__info {
    grid-template-columns: 5.625rem 1fr;
    -webkit-column-gap: 1.5rem;
    -moz-column-gap: 1.5rem;
    column-gap: 1.5rem;
  }

  .p-company-info__info dt,
  .p-company-info__info dd {
    font-size: 1rem;
  }
}

.p-company-member {
  display: grid;
  grid-template-columns: 17.9375rem 1fr;
  -webkit-column-gap: 4.0625rem;
  -moz-column-gap: 4.0625rem;
  column-gap: 4.0625rem;
}

@media screen and (max-width: 767px) {
  .p-company-member {
    grid-template-columns: 1fr;
    -webkit-column-gap: 0;
    -moz-column-gap: 0;
    column-gap: 0;
  }
}

.p-company-member__title {
  font-family: "Raleway", sans-serif;
  font-size: 2rem;
  line-height: 2.8125rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

@media screen and (max-width: 767px) {
  .p-company-member__title {
    font-size: 1.5rem;
    line-height: 2.125rem;
    margin-top: 3.75rem;
  }
}

.p-company-member__text {
  margin-top: 1.5rem;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 2.5rem;
  letter-spacing: 0.04em;
}

@media screen and (max-width: 767px) {
  .p-company-member__text {
    font-size: 1rem;
    line-height: 1.5;
  }
}

.p-company-member__img {
  aspect-ratio: 516/474;
  width: 60.8490566038%;
  margin-inline: auto;
  margin-top: 1.5rem;
}

.p-company-member__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

@media screen and (max-width: 767px) {
  .p-company-member__img {
    width: 90%;
  }
}

.p-company-member__list {
  margin-top: 4.5rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4.5rem;
}

@media screen and (max-width: 767px) {
  .p-company-member__list {
    max-width: 500px;
    margin-inline: auto;
    grid-template-columns: 1fr;
    -webkit-column-gap: 0;
    -moz-column-gap: 0;
    column-gap: 0;
  }
}

.p-company-member__icon {
  width: 68.0412371134%;
  aspect-ratio: 1/1;
  margin-inline: auto;
}

.p-company-member__icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-company-member__job {
  margin-top: 2rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75rem;
  text-align: center;
}

.p-company-member__name {
  margin-top: 1rem;
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.5rem;
  text-align: center;
  letter-spacing: -0.02em;
}

.p-company-member__name::after {
  content: attr(data-en);
  font-size: max(10px, 0.9375rem);
  line-height: 1.25rem;
  font-family: "Raleway", sans-serif;
  font-weight: 400;
  text-transform: capitalize;
  margin-top: 0.5rem;
  color: rgba(60, 60, 67, .8);
  display: block;
}

.p-company-member__itemText {
  margin-top: 2rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2;
}

.p-company-purpose {
  display: grid;
  grid-template-columns: 17.5rem 1fr;
  -webkit-column-gap: 4.5rem;
  -moz-column-gap: 4.5rem;
  column-gap: 4.5rem;
}

@media screen and (max-width: 767px) {
  .p-company-purpose {
    grid-template-columns: 1fr;
    -webkit-column-gap: 0;
    -moz-column-gap: 0;
    column-gap: 0;
  }
}

@media screen and (max-width: 767px) {
  .p-company-purpose__conts {
    margin-top: 3.75rem;
  }
}

.p-company-purpose__item {
  display: grid;
  grid-template-columns: 2.5rem 1fr;
  -webkit-column-gap: 2rem;
  -moz-column-gap: 2rem;
  column-gap: 2rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-company-purpose__item:nth-child(n+2) {
  margin-top: 4.5rem;
}

@media screen and (max-width: 767px) {
  .p-company-purpose__item {
    grid-template-columns: 1fr;
    -webkit-column-gap: 0;
    -moz-column-gap: 0;
    column-gap: 0;
  }

  .p-company-purpose__item:nth-child(n+2) {
    margin-top: 3rem;
  }
}

.p-company-purpose__item::before {
  content: attr(data-en);
  font-family: "Raleway", sans-serif;
  font-size: 2.5rem;
  line-height: 1;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
  text-transform: uppercase;
}

@media screen and (max-width: 767px) {
  .p-company-purpose__item::before {
    -webkit-writing-mode: initial;
    -ms-writing-mode: initial;
    writing-mode: initial;
    font-size: 1.25rem;
    line-height: 1.6;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
}

.p-company-purpose__head {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.6666666667;
  letter-spacing: 0.03em;
  font-weight: 600;
}

.p-company-purpose__text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.875;
  margin-top: 2rem;
  color: rgba(60, 60, 67, .8);
}

@media screen and (max-width: 767px) {
  .p-company-purpose__text {
    margin-top: 1.5rem;
  }
}

.p-company-purpose__info dt {
  font-family: "Raleway", sans-serif;
  font-size: 1.5rem;
  line-height: 1.6666666667;
  letter-spacing: 0.03em;
  font-weight: 600;
}

.p-company-purpose__info dd {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.875;
  margin-top: 0.5rem;
  color: rgba(60, 60, 67, .8);
}

.p-company-purpose__info:nth-child(n+2) {
  margin-top: 2rem;
}

.p-company-top {
  padding-top: 12.25rem;
}

@media screen and (max-width: 767px) {
  .p-company-top {
    padding-top: 7.5rem;
  }
}

.p-company-top__mv {
  margin-top: 7.5rem;
  position: relative;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .p-company-top__mv {
    margin-top: 3rem;
  }
}

.p-company-top__mv-inner {
  position: relative;
  width: 100%;
  padding-top: 67.109375%;
  overflow: hidden;
}

/* @media screen and (max-width: 767px){.p-company-top__mv-inner{padding-top: 177.7777777778%;}} */

.p-company-top__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  /* height: 100%; */
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  will-change: transform;
  transition: -webkit-transform 0.1s linear;
  transition: transform 0.1s linear;
  transition: transform 0.1s linear, -webkit-transform 0.1s linear;
}

.p-company {
  margin-top: 7.5rem;
  padding-bottom: 7.5rem;
}

@media screen and (max-width: 767px) {
  .p-company {
    margin-top: 3rem;
    padding-bottom: 4.5rem;
  }
}

.p-company__info {
  margin-top: 7.5rem;
  padding-bottom: 3rem;
}

@media screen and (max-width: 767px) {
  .p-company__info {
    margin-top: 5rem;
    padding-bottom: 0;
  }
}

.p-company__member {
  margin-top: 7.5rem;
  padding-bottom: 3rem;
}

@media screen and (max-width: 767px) {
  .p-company__member {
    margin-top: 3.75rem;
    padding-bottom: 0;
  }
}

.p-company__access {
  margin-top: 7.5rem;
  padding-bottom: 3rem;
}

@media screen and (max-width: 767px) {
  .p-company__access {
    margin-top: 3.75rem;
    padding-bottom: 0;
  }
}

.p-company__purpose {
  margin-top: 7.5rem;
  padding-bottom: 3rem;
}

@media screen and (max-width: 767px) {
  .p-company__purpose {
    margin-top: 3.75rem;
    padding-bottom: 0;
  }
}

.p-contact {
  padding-top: 12.25rem;
  padding-bottom: 13.4375rem;
}

@media screen and (max-width: 767px) {
  .p-contact {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
  }
}

.p-contact__wrap {
  display: grid;
  grid-template-columns: 40rem 30rem;
  gap: 6rem;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 7.5rem;
}

@media screen and (max-width: 767px) {
  .p-contact__wrap {
    grid-template-columns: auto;
    gap: 2.5rem;
    margin-top: 1.5rem;
  }
}

.p-contact__img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  aspect-ratio: 434/726;
  border-radius: 0.75rem;
}

@media screen and (max-width: 767px) {
  .p-contact__img img {
    aspect-ratio: 1;
  }
}

.p-contact__text {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.2;
}

@media screen and (max-width: 767px) {
  .p-contact__text {
    font-size: 1rem;
    line-height: 1.5;
    text-align: center;
  }
}

.p-contact__box {
  margin-top: 4.5rem;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .p-contact__box {
    margin-top: 3.125rem;
  }
}

.p-event-detail {
  padding-top: 12.25rem;
}

@media screen and (max-width: 767px) {
  .p-event-detail {
    padding-top: 7.5rem;
  }
}

.p-event-detail__inner {
  max-width: 880px;
}

.p-event-detail__main {
  width: 100%;
}

.p-event-detail__main .swiper-slide img {
  width: 100%;
  height: auto;
  aspect-ratio: 1024/576;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 0.75rem;
}

.p-event-detail__thumbnail {
  margin-top: 1rem;
  margin-inline: auto;
  width: 92.1875%;
}

@media screen and (max-width: 767px) {
  .p-event-detail__thumbnail {
    width: 100%;
  }
}

.p-event-detail__thumbnail .swiper-slide {
  opacity: 0.5;
  transition: opacity 0.5s;
}

.p-event-detail__thumbnail .swiper-slide img {
  width: 100%;
  height: auto;
  aspect-ratio: 224/126;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 0.25rem;
}

.p-event-detail__thumbnail .swiper-slide.swiper-slide-thumb-active {
  opacity: 1;
}

.p-event-detail__wrap {
  display: grid;
  grid-template-columns: 24.3125rem auto;
  gap: 2.5rem;
  margin-top: 4.5rem;
  padding-bottom: 3rem;
  border-bottom: 1px solid rgba(60, 60, 67, .5);
}

@media screen and (max-width: 767px) {
  .p-event-detail__wrap {
    grid-template-columns: auto;
    margin-top: 2.5rem;
  }
}

.p-event-detail__title {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.6666666667;
}

.p-event-detail__table {
  margin-top: 2rem;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .p-event-detail__table {
    margin-top: 1.5rem;
  }
}

.p-event-detail__table tr {
  background: rgba(60, 60, 67, .1);
  border-radius: 0.25rem;
  display: grid;
  grid-template-columns: 4.9375rem auto;
  padding: 0.5rem 0.625rem 0.5rem 2rem;
}

.p-event-detail__table tr:not(:first-child) {
  margin-top: 0.4375rem;
}

@media screen and (max-width: 767px) {
  .p-event-detail__table tr {
    padding: 0.5rem 0.625rem;
    grid-template-columns: 4.375rem auto;
  }
}

.p-event-detail__table th,
.p-event-detail__table td {
  text-align: left;
  font-weight: 500;
  font-size: max(1rem, 10px);
  line-height: 1.5;
}

.p-event-detail__link {
  margin-top: 2.5rem;
}

@media screen and (max-width: 767px) {
  .p-event-detail__link {
    margin-top: 1.5rem;
  }
}

.p-event-detail__link a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 1.875rem;
  background: #305252;
  color: #fff;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.5;
  border-radius: 1rem;
  border: 1px solid #305252;
  padding: 0.5rem 2rem;
  transition: background 0.3s, color 0.3s;
}

.p-event-detail__link a::after {
  content: "";
  width: 1.25rem;
  height: 0.9375rem;
  -webkit-mask-image: url(../images/icon_arrow.svg);
  mask-image: url(../images/icon_arrow.svg);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  background: #fff;
  transition: background 0.3s;
}

@media (hover: hover) {
  .p-event-detail__link a:hover {
    opacity: 1;
    background: #fff;
    color: #305252;
  }

  .p-event-detail__link a:hover::after {
    background: #305252;
  }
}

.p-event-detail__content {
  margin-top: 4.5rem;
}

@media screen and (max-width: 767px) {
  .p-event-detail__content {
    margin-top: 0;
  }
}

.p-event-detail__content p {
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.5;
}

.p-event-detail__content p+p {
  margin-top: 1em;
}

.p-event-detail__content figure {
  margin: 2rem 0;
}

.p-event-detail__content figure img {
  width: 100%;
  height: auto;
  border-radius: 0.25rem;
}

.p-event-form {
  padding-top: 3rem;
  padding-bottom: 10.5rem;
}

@media screen and (max-width: 767px) {
  .p-event-form {
    padding-top: 2.5rem;
    padding-bottom: 7.5rem;
  }
}

.p-event-form__inner {
  max-width: 1074px;
}

.p-event-form__title {
  font-size: 2.125rem;
  font-weight: 700;
  line-height: 1.1764705882;
  letter-spacing: -0.02em;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-event-form__title {
    font-size: 1.625rem;
  }
}

.p-event-form__text {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.2;
  margin-top: 1.5rem;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-event-form__text {
    font-size: 1rem;
    line-height: 1.5;
  }
}

.p-event-form__box {
  margin-top: 4.5rem;
  width: 26.6875rem;
  margin-inline: auto;
}

@media screen and (max-width: 767px) {
  .p-event-form__box {
    width: 100%;
    margin-top: 3.125rem;
  }
}

.p-event {
  padding-top: 12.25rem;
  padding-bottom: 7.5rem;
}

@media screen and (max-width: 767px) {
  .p-event {
    padding-top: 7.5rem;
    padding-bottom: 4.5rem;
  }
}

.p-event__main {
  margin-top: 7.5rem;
}

@media screen and (max-width: 767px) {
  .p-event__main {
    margin-top: 3rem;
  }
}

.p-event__mv {
  border-radius: 0.75rem;
  aspect-ratio: 1184/433;
  overflow: hidden;
}

.p-event__mv img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

@media screen and (max-width: 767px) {
  .p-event__mv {
    aspect-ratio: 16/9;
  }
}

.p-event__block {
  margin-top: 5rem;
  padding-bottom: 3rem;
}

.p-event__block:first-of-type {
  margin-top: 7.5rem;
}

@media screen and (max-width: 767px) {
  .p-event__block {
    margin-top: 3rem;
    padding-bottom: 0;
  }

  .p-event__block:first-of-type {
    margin-top: 3rem;
  }
}

.p-event__list {
  margin-top: 1.5rem;
}

.p-event__item {
  border-top: solid 0.5px #305252;
}

.p-event__item:nth-child(n+2) {
  margin-top: 1.5rem;
}

@media screen and (max-width: 767px) {
  .p-event__item:nth-child(n+2) {
    margin-top: 0;
  }
}

.p-facility-access {
  margin-top: 4.5rem;
  padding-top: 4.5rem;
  padding-bottom: 4.5rem;
  color: #006B6F;
}

@media screen and (max-width: 767px) {
  .p-facility-access {
    margin-top: 3rem;
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

.p-facility-access__wrap {
  display: grid;
  grid-template-columns: 1fr 40.375rem;
}

@media screen and (max-width: 767px) {
  .p-facility-access__wrap {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}

.p-facility-access__head-text {
  margin-top: 2rem;
  font-size: max(1.125rem, 10px);
  font-weight: 500;
  line-height: 1.1111111111;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .p-facility-access__head-text {
    line-height: 1.5;
  }
}

.p-facility-access__info {
  margin-top: 2rem;
}

.p-facility-access__info-text {
  font-size: max(1.125rem, 10px);
  font-weight: 500;
  line-height: 2.2222222222;
  letter-spacing: 0.02em;
}

@media screen and (max-width: 767px) {
  .p-facility-access__info-text {
    font-size: 1rem;
    line-height: 2;
  }
}

.p-facility-access__table {
  margin-top: 2rem;
}

.p-facility-access__table-wrap {
  display: grid;
  grid-template-columns: 10rem 1fr;
  gap: 0.5rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-facility-access__table-wrap:not(:first-child) {
  margin-top: 0.25rem;
}

@media screen and (max-width: 767px) {
  .p-facility-access__table-wrap {
    grid-template-columns: auto;
    gap: 0;
  }
}

.p-facility-access__term {
  background: #F0F0F0;
  padding: 0.25rem;
  text-align: center;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.875;
}

@media screen and (max-width: 767px) {
  .p-facility-access__term {
    width: 10rem;
  }
}

.p-facility-access__desc {
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.875;
}

@media screen and (max-width: 767px) {
  .p-facility-access__desc {
    padding: 0.25rem 0.5rem;
  }
}

.p-facility-access__map iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  aspect-ratio: 646/441;
}

@media screen and (max-width: 767px) {
  .p-facility-access__map iframe {
    aspect-ratio: 340/223;
  }
}

.p-facility-concept {
  padding-top: 6rem;
  padding-bottom: 4.5rem;
  color: #006B6F;
}

@media screen and (max-width: 767px) {
  .p-facility-concept {
    padding-top: 6.5625rem;
    padding-bottom: 3rem;
    overflow: hidden;
  }
}

@media screen and (max-width: 767px) {
  .p-facility-concept__inner {
    padding-inline: 1.0625rem;
  }
}

.p-facility-concept__wrap {
  display: grid;
  grid-template-columns: 26.1875rem auto;
  gap: 3.5rem;
}

@media screen and (max-width: 767px) {
  .p-facility-concept__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
}

.p-facility-concept__img {
  overflow: hidden;
  border-radius: 0.3125rem;
  position: relative;
}

.p-facility-concept__img::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), to(rgba(255, 255, 255, .2)));
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .2) 100%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.p-facility-concept__img img {
  width: 100%;
  height: auto;
  aspect-ratio: 419/271;
  -o-object-fit: cover;
  object-fit: cover;
}

@media screen and (max-width: 767px) {
  .p-facility-concept__img img {
    aspect-ratio: 354/246;
  }
}

.p-facility-concept__body {
  position: relative;
  padding-bottom: 2.375rem;
}

.p-facility-concept__body::after {
  content: "";
  display: block;
  width: 19.375rem;
  height: 16.625rem;
  background: url(../images/facility_map.svg) no-repeat center center/contain;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .p-facility-concept__body {
    padding-bottom: 0;
  }

  .p-facility-concept__body::after {
    bottom: 1.125rem;
    right: -1.0625rem;
  }
}

.p-facility-concept__title {
  font-family: "Raleway", sans-serif;
  font-weight: 300;
  font-size: 3.125rem;
  line-height: 1.18;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

@media screen and (max-width: 767px) {
  .p-facility-concept__title {
    font-size: 2rem;
  }
}

.p-facility-concept__sub-title {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.8333333333;
  letter-spacing: 0.06em;
  margin-top: 1.125rem;
}

@media screen and (max-width: 767px) {
  .p-facility-concept__sub-title {
    font-size: 1.25rem;
  }
}

.p-facility-concept__text {
  margin-top: 2rem;
  font-size: max(1rem, 10px);
  line-height: 2.5;
  letter-spacing: 0.1em;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .p-facility-concept__text {
    line-height: 2.25;
  }
}

.p-facility-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  aspect-ratio: 1280/500;
}

@media screen and (max-width: 767px) {
  .p-facility-img img {
    aspect-ratio: 390/260;
  }
}

.p-facility-img.--img02 img {
  aspect-ratio: 1280/576;
}

@media screen and (max-width: 767px) {
  .p-facility-img.--img02 img {
    aspect-ratio: 390/260;
  }
}

.p-facility-mv {
  padding-top: 29.3125rem;
  padding-bottom: 3.75rem;
  background: url(../images/facility_mv.jpg) no-repeat center center/cover;
  position: relative;
  z-index: 1;
}

.p-facility-mv::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, .35)));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .35) 100%);
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .p-facility-mv {
    padding-top: 10.1875rem;
    padding-bottom: 26rem;
    height: calc(var(--vh) * 100);
  }
}

.p-facility-mv__title {
  font-size: 3.5rem;
  font-weight: 400;
  font-family: "Zen Old Mincho", serif;
  color: #fff;
  line-height: 1.4285714286;
  letter-spacing: 0.04em;
}

@media screen and (max-width: 767px) {
  .p-facility-mv__title {
    font-size: 2rem;
    line-height: 1.75;
  }
}

.p-facility-mv__text {
  font-size: 1.5rem;
  font-weight: 500;
  color: #fff;
  line-height: 3.3333333333;
  letter-spacing: 0.04em;
  margin-top: -0.5rem;
}

@media screen and (max-width: 767px) {
  .p-facility-mv__text {
    font-size: 1.125rem;
    line-height: 1.5;
    margin-top: 1.0625rem;
  }
}

.p-facility-mv__btn {
  display: none;
}

@media screen and (max-width: 767px) {
  .p-facility-mv__btn {
    display: block;
    position: absolute;
    right: 0.875rem;
    bottom: 1.6875rem;
  }
}

.p-facility-news {
  color: #006B6F;
  padding-top: 4.5rem;
  padding-bottom: 9rem;
}

@media screen and (max-width: 767px) {
  .p-facility-news {
    padding-top: 3rem;
    padding-bottom: 6rem;
  }
}

.p-facility-news__wrap {
  display: grid;
  grid-template-columns: 18.5625rem 1fr;
}

@media screen and (max-width: 767px) {
  .p-facility-news__wrap {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}

.p-facility-news__lists {
  border-top: 1px solid #006B6F;
}

.p-facility-news__item {
  border-bottom: 1px solid #006B6F;
}

.p-facility-news__item a {
  display: grid;
  grid-template-columns: 11.1875rem 1fr;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  padding: 1.125rem 0;
}

.p-facility-news__item a time {
  font-size: max(1.125rem, 10px);
  font-weight: 500;
  line-height: 1.3333333333;
  letter-spacing: -0.02em;
}

@media screen and (max-width: 767px) {
  .p-facility-news__item a {
    grid-template-columns: auto;
    gap: 0.5rem;
    padding: 0.5rem 0;
  }

  .p-facility-news__item a time {
    font-size: 0.875rem;
    line-height: 2;
  }
}

.p-facility-news__text {
  font-size: max(1.125rem, 10px);
  font-weight: 500;
  line-height: 2.2222222222;
  letter-spacing: -0.02em;
}

@media screen and (max-width: 767px) {
  .p-facility-news__text {
    font-size: 1rem;
    line-height: 2.5;
  }
}

.p-facility-room {
  display: grid;
  grid-template-columns: 47.5625rem 1fr;
  gap: 3.5rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .p-facility-room {
    grid-template-columns: 1fr;
  }
}

.p-facility-room__img-wrap {
  display: grid;
  grid-template-columns: 32.0625rem 13.5rem;
  grid-template-rows: auto auto;
  grid-template-areas: "main sub1" "main sub2";
  gap: 2rem;
}

@media screen and (max-width: 767px) {
  .p-facility-room__img-wrap {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    grid-template-areas: "main main" "sub1 sub2";
    gap: 2rem 2.5625rem;
  }
}

.p-facility-room__img img {
  border-radius: 0.25rem;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-facility-room__img.--img01 {
  grid-area: main;
}

.p-facility-room__img.--img01 img {
  aspect-ratio: 513/308;
}

@media screen and (max-width: 767px) {
  .p-facility-room__img.--img01 img {
    aspect-ratio: 340/200;
  }
}

.p-facility-room__img.--img02 {
  grid-area: sub1;
}

.p-facility-room__img.--img02 img {
  aspect-ratio: 216/138;
}

@media screen and (max-width: 767px) {
  .p-facility-room__img.--img02 img {
    aspect-ratio: 150/100;
  }
}

.p-facility-room__img.--img03 {
  grid-area: sub2;
}

.p-facility-room__img.--img03 img {
  aspect-ratio: 216/138;
}

@media screen and (max-width: 767px) {
  .p-facility-room__img.--img03 img {
    aspect-ratio: 150/100;
  }
}

.p-facility-room__head a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem;
}

@media (hover: hover) {
  .p-facility-room__head a:hover {
    opacity: 1;
  }

  .p-facility-room__head a:hover .p-facility-room__btn-arrow {
    background: #fff;
  }

  .p-facility-room__head a:hover .p-facility-room__btn-arrow::before {
    background: #006B6F;
  }
}

.p-facility-room__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.9375rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.5;
  padding-left: 0.8125rem;
  border-left: 0.1875rem solid #006B6F;
}

.p-facility-room__title::before {
  content: attr(data-en);
  font-size: 1.5rem;
  font-family: "Raleway", sans-serif;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 0.8333333333;
}

.p-facility-room__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
}

.p-facility-room__btn-text {
  font-size: max(0.75rem, 10px);
  font-weight: 500;
  line-height: 1.6666666667;
}

.p-facility-room__btn-arrow {
  width: 2.6875rem;
  height: 2.6875rem;
  background: #006B6F;
  border-radius: 50%;
  border: 1px solid #006B6F;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  transition: background 0.3s;
}

.p-facility-room__btn-arrow::before {
  content: "";
  width: 0.625rem;
  height: 1rem;
  -webkit-mask-image: url(../images/icon_arrow_white.svg);
  mask-image: url(../images/icon_arrow_white.svg);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  background: #fff;
  transition: background 0.3s;
}

.p-facility-room__table {
  margin-top: 1.125rem;
}

.p-facility-room__table-wrap {
  display: grid;
  grid-template-columns: 4rem 1fr;
  gap: 0.5rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-facility-room__table-wrap:not(:first-child) {
  margin-top: 0.25rem;
}

.p-facility-room__term {
  background: #F0F0F0;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.875;
  padding: 0.25rem;
  text-align: center;
}

.p-facility-room__desc {
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.875;
}

@media screen and (max-width: 767px) {
  .p-facility-room__desc span {
    font-size: 0.875rem;
  }
}

.p-facility-room__supplement {
  margin-top: 1.125rem;
}

.p-facility-room__text {
  color: #727272;
  font-size: max(0.875rem, 10px);
  font-weight: 500;
  line-height: 2.1428571429;
}

.p-facility-rooms {
  padding-top: 4.5rem;
  padding-bottom: 9rem;
  color: #006B6F;
}

@media screen and (max-width: 767px) {
  .p-facility-rooms {
    padding-top: 3rem;
    padding-bottom: 6rem;
  }
}

.p-facility-rooms__text {
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-top: 2.5rem;
}

@media screen and (max-width: 767px) {
  .p-facility-rooms__text {
    font-size: 1.125rem;
    line-height: 1.7777777778;
    letter-spacing: 0.02em;
  }
}

.p-facility-rooms__lists {
  margin-top: 4.625rem;
}

.p-facility-rooms__item:not(:first-child) {
  margin-top: 4.625rem;
}

.p-facility {
  margin-top: 4.5rem;
  padding-top: 4.5rem;
  padding-bottom: 9rem;
  color: #006B6F;
}

@media screen and (max-width: 767px) {
  .p-facility {
    margin-top: 3rem;
    padding-top: 3rem;
    padding-bottom: 6rem;
  }
}

.p-facility.--technoport {
  color: #33241C;
  background: #F4ECE1;
  margin-top: 0;
  padding-top: 2.8125rem;
  padding-bottom: 6.125rem;
}

@media screen and (max-width: 767px) {
  .p-facility.--technoport {
    padding-bottom: 3rem;
  }
}

.p-facility.--technoport .p-facility__title {
  background: #33241C;
}

.p-facility.--technoport .p-facility__icon img {
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1" /><feFuncG type="linear" slope="1" /><feFuncB type="linear" slope="1" /></feComponentTransfer><feColorMatrix type="matrix" color-interpolation-filters="sRGB" values="1 0 0 0 0 0 1.01 0 0 0 0 0 1 0 0 0 0 0 1 0" /><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="table" tableValues="0.11 0.89" /><feFuncG type="table" tableValues="0.11 0.89" /><feFuncB type="table" tableValues="0.11 0.89" /></feComponentTransfer><feColorMatrix type="matrix" color-interpolation-filters="sRGB" values="0.82397 0.22301000000000004 0.05481 0 0 0.10121 0.9089400000000001 0.04872000000000001 0 0 0.07888 0.15486000000000005 0.7479899999999999 0 0 0 0 0 1 0" /><feColorMatrix type="matrix" color-interpolation-filters="sRGB" values="6.469650000000001 -4.96925 -0.5004000000000001 0 0 -1.4803499999999998 3.06025 -0.5004000000000001 0 0 -1.4803499999999998 -4.96925 7.4496 0 0 0 0 0 1 0" /><feColorMatrix type="hueRotate" color-interpolation-filters="sRGB" values="337" /><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="0.93" /><feFuncG type="linear" slope="0.93" /><feFuncB type="linear" slope="0.93" /></feComponentTransfer><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="0.89" intercept="0.05499999999999999" /><feFuncG type="linear" slope="0.89" intercept="0.05499999999999999" /><feFuncB type="linear" slope="0.89" intercept="0.05499999999999999" /></feComponentTransfer></filter></svg>#filter');
  -webkit-filter: brightness(0) saturate(100%) invert(11%) sepia(29%) saturate(795%) hue-rotate(337deg) brightness(93%) contrast(89%);
  filter: brightness(0) saturate(100%) invert(11%) sepia(29%) saturate(795%) hue-rotate(337deg) brightness(93%) contrast(89%);
}

.p-facility.--technoport .p-facility__lists02 .p-facility__item-text {
  white-space: nowrap;
}

.p-facility__time-wrap {
  margin-top: 3.375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 7rem;
}

@media screen and (max-width: 767px) {
  .p-facility__time-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1.5rem;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
}

.p-facility__time {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
}

@media screen and (max-width: 767px) {
  .p-facility__time {
    display: grid;
    grid-template-columns: 8.3125rem 1fr;
  }
}

.p-facility__time-term {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1;
  background: #989898;
  color: #fff;
  padding: 0.75rem 0.625rem;
}

@media screen and (max-width: 767px) {
  .p-facility__time-term {
    font-size: 1rem;
    line-height: 1.5;
    text-align: center;
  }
}

.p-facility__time-desc {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .p-facility__time-desc {
    font-size: 1.125rem;
    line-height: 1.3333333333;
  }
}

.p-facility__wrap {
  margin-top: 2.5rem;
}

.p-facility__title {
  background: #006B6F;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 0.8333333333;
  letter-spacing: 0.1em;
  padding: 1.1875rem 1.8rem;
  border-radius: 0.25rem;
}

@media screen and (max-width: 767px) {
  .p-facility__title {
    padding: 1.1875rem 1.375rem;
  }
}

.p-facility__lists {
  display: grid;
  grid-template-columns: repeat(9, 1fr);
  margin-top: 2rem;
  gap: 1.375rem;
  max-width: 70.1875rem;
}

@media screen and (max-width: 767px) {
  .p-facility__lists {
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
  }
}

.p-facility__item:nth-child(n+10) {
  display: grid;
}

.p-facility__item:nth-child(n+10).--sp-only {
  display: none;
}

.p-facility__item:nth-child(n+10) .p-facility__icon {
  display: grid;
  gap: 0;
}

@media screen and (max-width: 767px) {
  .p-facility__item:nth-child(n+10) {
    display: block;
  }

  .p-facility__item:nth-child(n+10).--sp-only {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .p-facility__item .p-facility__icon img {
    display: none;
  }
}

.p-facility__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  justify-items: center;
  gap: 0.8125rem;
}

.p-facility__icon img {
  width: 3.6875rem;
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1" /><feFuncG type="linear" slope="1" /><feFuncB type="linear" slope="1" /></feComponentTransfer><feColorMatrix type="matrix" color-interpolation-filters="sRGB" values="1 0 0 0 0 0 1.01 0 0 0 0 0 1 0 0 0 0 0 1 0" /><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="table" tableValues="0.15 0.85" /><feFuncG type="table" tableValues="0.15 0.85" /><feFuncB type="table" tableValues="0.15 0.85" /></feComponentTransfer><feColorMatrix type="matrix" color-interpolation-filters="sRGB" values="0.53868 0.5844400000000001 0.14364 0 0 0.26524 0.76136 0.12768000000000002 0 0 0.20672000000000001 0.40584000000000003 0.33956 0 0 0 0 0 1 0" /><feColorMatrix type="matrix" color-interpolation-filters="sRGB" values="34.408150000000006 -30.35175 -3.0564 0 0 -9.041850000000002 13.53275 -3.0564 0 0 -9.041850000000002 -30.35175 40.393600000000006 0 0 0 0 0 1 0" /><feColorMatrix type="hueRotate" color-interpolation-filters="sRGB" values="173" /><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="0.98" /><feFuncG type="linear" slope="0.98" /><feFuncB type="linear" slope="0.98" /></feComponentTransfer><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1.01" intercept="-0.0050000000000000044" /><feFuncG type="linear" slope="1.01" intercept="-0.0050000000000000044" /><feFuncB type="linear" slope="1.01" intercept="-0.0050000000000000044" /></feComponentTransfer></filter></svg>#filter');
  -webkit-filter: brightness(0) saturate(100%) invert(15%) sepia(76%) saturate(4345%) hue-rotate(173deg) brightness(98%) contrast(101%);
  filter: brightness(0) saturate(100%) invert(15%) sepia(76%) saturate(4345%) hue-rotate(173deg) brightness(98%) contrast(101%);
}

.p-facility__icon.--w92 img {
  width: 5.75rem;
}

.p-facility__icon.--w103 img {
  width: 6.4375rem;
}

.p-facility__item-text {
  text-align: center;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.8461538462;
}

.p-facility__item-text span {
  display: block;
}

@media screen and (max-width: 767px) {
  .p-facility__item-text span {
    display: none;
  }
}

.p-facility__lists02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.125rem;
  margin-top: 2rem;
}

@media screen and (max-width: 767px) {
  .p-facility__lists02 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
    max-width: calc(100% - 3.75rem);
    margin-inline: auto;
  }
}

.p-facility__lists02 .p-facility__icon img {
  width: 5.3125rem;
}

@media screen and (max-width: 767px) {
  .p-facility__lists02 .p-facility__icon img {
    display: block;
  }
}

.p-facility__lists02 .p-facility__item-text {
  font-size: max(1rem, 10px);
  line-height: 1.5;
}

.p-facility__supplement {
  margin-top: 2.5rem;
}

.p-facility__text {
  font-size: max(0.875rem, 10px);
  font-weight: 500;
  line-height: 2.2857142857;
}

.p-facility__cancel {
  margin-top: 3rem;
}

.p-facility__cancel-title {
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.7777777778;
}

.p-facility__cancel-text {
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  line-height: 2.1333333333;
}

.p-facility__cancel-sub {
  margin-top: 2em;
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  line-height: 2.1333333333;
  text-indent: -1em;
  padding-left: 1em;
}

.p-footer-sub {
  background: #006B6F;
  color: #fff;
  padding: 5rem 0 3.75rem;
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-footer-sub {
    padding: 4.25rem 0 3.75rem;
  }
}

.p-footer-sub.--technoport {
  background: #33241C;
}

@media screen and (max-width: 767px) {
  .p-footer-sub__inner {
    padding-inline: 2.5rem;
  }
}

.p-footer-sub__wrap {
  display: grid;
  grid-template-columns: 16.25rem auto;
  gap: 6.484375%;
}

@media screen and (max-width: 767px) {
  .p-footer-sub__wrap {
    grid-template-columns: auto;
    gap: 2.1875rem;
  }
}

@media screen and (max-width: 767px) {
  .p-footer-sub__info {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
}

.p-footer-sub__logo {
  width: 10.5625rem;
}

.p-footer-sub__logo a {
  display: block;
}

.p-footer-sub__logo a img {
  width: 100%;
}

.p-footer-sub__sns {
  margin-top: 0.9375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.875rem;
}

.p-footer-sub__sns-item a {
  width: 1.5rem;
}

.p-footer-sub__sns-item a img {
  width: 100%;
}

.p-footer-sub__copy {
  margin-top: 2.25rem;
}

.p-footer-sub__copy small {
  font-size: max(0.875rem, 10px);
  line-height: 1.4285714286;
}

.p-footer-sub__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  gap: 0 1.5rem;
}

@media screen and (max-width: 767px) {
  .p-footer-sub__nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 0;
  }
}

.p-footer-sub__nav-item a {
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem;
  font-size: max(0.875rem, 10px);
  line-height: 1.4285714286;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .p-footer-sub__nav-item a {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }
}

.p-footer {
  background: #305252;
  color: #fff;
  padding: 0 0 10.25rem;
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-footer {
    padding: 0 0 3rem;
  }
}

.p-footer__main {
  border-top: solid 1px rgba(255, 255, 255, .2);
  padding-top: 3rem;
}

@media screen and (max-width: 767px) {
  .p-footer__main {
    padding-top: 2.5rem;
  }
}

.p-footer__wrap {
  display: grid;
  grid-template-columns: 16.25rem auto;
  gap: 6.484375%;
}

@media screen and (max-width: 767px) {
  .p-footer__wrap {
    grid-template-columns: auto;
    gap: 2.5rem;
  }
}

@media screen and (max-width: 767px) {
  .p-footer__info {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
}

.p-footer__logo {
  width: 10.5625rem;
}

.p-footer__logo a {
  display: block;
}

.p-footer__logo a img {
  width: 100%;
}

.p-footer__link {
  margin-top: 2rem;
}

.p-footer__link a {
  font-size: max(0.875rem, 10px);
  font-weight: 500;
  line-height: 1.4285714286;
  padding-right: 0.5rem;
}

.p-footer__link a:not(:first-child) {
  padding-left: 0.5rem;
}

.p-footer__cta {
  margin-top: 2rem;
}

.p-footer__cta a {
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  line-height: 1.3333333333;
  padding: 0.5rem 3.5rem;
  border: 1px solid #fff;
  border-radius: 0.25rem;
  transition: background-color 0.3s, color 0.3s;
}

@media (hover: hover) {
  .p-footer__cta a:hover {
    opacity: 1;
    background: #fff;
    color: #305252;
  }
}

.p-footer__sns {
  margin-top: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.875rem;
}

.p-footer__sns-item a {
  width: 1.5rem;
}

.p-footer__sns-item a img {
  width: 100%;
}

.p-footer__copy {
  margin-top: 1.875rem;
}

.p-footer__copy small {
  font-size: max(0.875rem, 10px);
  line-height: 1.4285714286;
  font-family: "Raleway", sans-serif;
}

@media screen and (max-width: 767px) {
  .p-footer__menu {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
}

.p-footer__list:not(:first-child) {
  margin-top: 2.5rem;
}

@media screen and (max-width: 767px) {
  .p-footer__list:not(:first-child) {
    margin-top: 4rem;
  }
}

.p-footer__item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: max(0.75rem, 10px);
  line-height: 1.5;
  font-weight: 500;
  position: relative;
  padding-left: 1.625rem;
  color: rgba(255, 255, 255, .6);
}

.p-footer__item a::before {
  content: attr(deta-en);
  font-size: 1.25rem;
  font-family: "Raleway", sans-serif;
  line-height: 1;
  letter-spacing: 0.08em;
  margin-right: 1rem;
  text-transform: uppercase;
  color: #fff;
}

.p-footer__item a::after {
  content: "";
  background: #D9D9D9;
  width: 1.125rem;
  height: 1.125rem;
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.p-footer__sub-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0 1rem;
  margin-top: 0.5rem;
}

.p-footer__sub-list.--service {
  gap: 0 2rem;
}

@media screen and (max-width: 767px) {
  .p-footer__sub-list.--service {
    gap: 0 1rem;
  }
}

.p-footer__sub-item a {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: max(0.875rem, 10px);
  line-height: 1.4285714286;
  font-weight: 500;
}

.p-footer__nav {
  margin-top: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0 2rem;
}

@media screen and (max-width: 767px) {
  .p-footer__nav {
    margin-top: 2.75rem;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 0;
  }
}

.p-footer__nav-item a {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: max(0.875rem, 10px);
  line-height: 1.4285714286;
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .p-footer__nav-item a {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }
}

.p-glossary-detail {
  padding-top: 12.25rem;
  padding-bottom: 8.375rem;
}

@media screen and (max-width: 767px) {
  .p-glossary-detail {
    padding-top: 7.5rem;
    padding-bottom: 4.5rem;
  }
}

.p-glossary-detail__body {
  display: grid;
  grid-template-columns: 1fr 14.1875rem;
  -webkit-column-gap: 8.125rem;
  -moz-column-gap: 8.125rem;
  column-gap: 8.125rem;
  margin-top: 7.5rem;
}

@media screen and (max-width: 767px) {
  .p-glossary-detail__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    margin-top: 3rem;
  }
}

@media screen and (max-width: 767px) {
  .p-glossary-detail__main {
    margin-top: 3rem;
  }
}

.p-glossary-detail__title {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: -0.02em;
}

.p-glossary-detail__text {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.02em;
  margin-top: 2rem;
}

.p-glossary-detail__back {
  text-align: center;
  margin-top: 5.75rem;
}

.p-glossary {
  padding-top: 12.25rem;
  padding-bottom: 7.5rem;
}

@media screen and (max-width: 767px) {
  .p-glossary {
    padding-top: 7.5rem;
    padding-bottom: 4.5rem;
  }
}

.p-glossary__body {
  display: grid;
  grid-template-columns: 1fr 14.1875rem;
  -webkit-column-gap: 8.125rem;
  -moz-column-gap: 8.125rem;
  column-gap: 8.125rem;
  margin-top: 7.5rem;
}

@media screen and (max-width: 767px) {
  .p-glossary__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    margin-top: 3rem;
  }
}

.p-glossary__block+.p-glossary__block {
  margin-top: 5rem;
}

@media screen and (max-width: 767px) {
  .p-glossary__block {
    margin-top: 3rem;
  }

  .p-glossary__block+.p-glossary__block {
    margin-top: 3rem;
  }
}

.p-glossary__catch {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: -0.02em;
}

.p-glossary__list {
  margin-top: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1.875rem;
}

@media screen and (max-width: 767px) {
  .p-glossary__list {
    margin-top: 1rem;
    gap: 1.25rem;
  }
}

.p-glossary__side {
  position: sticky;
  top: 5.375rem;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
}

@media screen and (max-width: 767px) {
  .p-glossary__side {
    position: static;
  }
}

.p-header-sub {
  width: 100%;
  height: 5.375rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 90;
  transition: padding 0.3s, background 0.3s;
  padding-top: 1rem;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .p-header-sub {
    position: fixed;
    height: 4.375rem;
    padding-top: 0;
  }

  .p-header-sub.is-active {
    background: rgba(0, 107, 111, .7);
    padding-top: 0;
  }
}

.p-header-sub.--technoport .p-header-sub__logo a img {
  width: 7.3125rem;
}

.p-header-sub__inner {
  height: inherit;
  padding: 0 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .p-header-sub__inner {
    padding: 0 1.5rem;
  }
}

.p-header-sub__logo {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  height: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .p-header-sub__logo {
    position: relative;
    z-index: 100;
    padding-left: 0.3125rem;
  }
}

.p-header-sub__logo a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  gap: 0.625rem;
}

.p-header-sub__logo a img {
  width: 6.0625rem;
}

.p-header-sub__logo a span {
  font-size: 11px;
  font-weight: 500;
  line-height: 1.1818181818;
}

.p-header-sub__btn {
  position: absolute;
  right: 2.5rem;
  top: 0.9375rem;
}

@media screen and (max-width: 767px) {
  .p-header-sub__btn {
    display: none;
  }
}

.p-header-sub__hamburger {
  display: none;
}

@media screen and (max-width: 767px) {
  .p-header-sub__hamburger {
    display: block;
    text-align: center;
    background: none;
    border: none;
    padding: 0.3125rem 0.125rem;
    width: 1.5rem;
    height: 1.5rem;
    position: relative;
    z-index: 95;
  }
}

.p-header-sub__hamburger span {
  display: block;
  width: 1.125rem;
  height: 2px;
  background: #fff;
  transition: 0.3s;
  margin-inline: auto;
  border-radius: 5px;
}

.p-header-sub__hamburger span:nth-child(2) {
  margin: 0.25rem auto;
}

.p-header-sub__hamburger.is-active span:nth-child(1) {
  -webkit-transform: translateY(2px) rotate(-45deg);
  transform: translateY(2px) rotate(-45deg);
}

.p-header-sub__hamburger.is-active span:nth-child(2) {
  opacity: 0;
  margin: 0;
}

.p-header-sub__hamburger.is-active span:nth-child(3) {
  -webkit-transform: translateY(-2px) rotate(45deg);
  transform: translateY(-2px) rotate(45deg);
}

.p-header {
  /* 	width: 100%;
height: 4.75rem;
z-index: 90;
position: fixed;
top: 0;
left: 0;
background: #fff;
background: #ffffff9c; */
  margin: 1rem auto;
  width: 95%;
  height: 4.75rem;
  z-index: 90;
  position: fixed;
  top: 0;
  left: 40px;
  background: #fff;
  position: fixed;
  top: 4%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 95%;
  border-radius: 10px;
}

@media screen and (max-width: 767px) {
  .p-header {
    height: 4.375rem;
  }
}

.p-header:has(.p-header__hamburger.is-active) .p-header__logo a img {
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1" /><feFuncG type="linear" slope="1" /><feFuncB type="linear" slope="1" /></feComponentTransfer><feColorMatrix type="matrix" color-interpolation-filters="sRGB" values="1 0 0 0 0 0 1.01 0 0 0 0 0 1 0 0 0 0 0 1 0" /><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="table" tableValues="1 0" /><feFuncG type="table" tableValues="1 0" /><feFuncB type="table" tableValues="1 0" /></feComponentTransfer><feColorMatrix type="matrix" color-interpolation-filters="sRGB" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0" /><feColorMatrix type="matrix" color-interpolation-filters="sRGB" values="0.22086999999999998 0.70785 0.07128 0 0 0.21087 0.71795 0.07128 0 0 0.21087 0.70785 0.08127999999999999 0 0 0 0 0 1 0" /><feColorMatrix type="hueRotate" color-interpolation-filters="sRGB" values="58" /><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1.17" /><feFuncG type="linear" slope="1.17" /><feFuncB type="linear" slope="1.17" /></feComponentTransfer><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1.01" intercept="-0.0050000000000000044" /><feFuncG type="linear" slope="1.01" intercept="-0.0050000000000000044" /><feFuncB type="linear" slope="1.01" intercept="-0.0050000000000000044" /></feComponentTransfer></filter></svg>#filter');
  -webkit-filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(58deg) brightness(117%) contrast(101%);
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(58deg) brightness(117%) contrast(101%);
}

.p-header:has(.p-header__hamburger.is-active) .p-header__cta-btn {
  background: #fff;
  border: 1px solid #fff;
  color: #305252;
}

@media (hover: hover) {
  .p-header:has(.p-header__hamburger.is-active) .p-header__cta-btn:hover {
    background: #305252;
    color: #fff;
  }
}

.p-header__inner {
  height: inherit;
  padding: 0 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .p-header__inner {
    padding: 0 1rem;
  }
}

.p-header__logo {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 6rem;
  height: inherit;
  position: relative;
  z-index: 100;
}

@media screen and (max-width: 767px) {
  .p-header__logo {
    position: relative;
    z-index: 100;
    width: 4.8125rem;
    padding-left: 0.375rem;
  }
}

.p-header__logo a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: inherit;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-header__logo a img {
  width: 100%;
}

.p-header__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.p-header__cta-btn {
  background: #305252;
  color: #fff;
  padding: 0.5rem 2rem;
  font-size: max(0.9375rem, 13px);
  line-height: 1.3333333333;
  font-weight: 500;
  z-index: 95;
  position: relative;
  border: 1px solid #305252;
  border-radius: 0.25rem;
  transition: background-color 0.3s, color 0.3s;
}

@media screen and (max-width: 767px) {
  .p-header__cta-btn {
    font-size: 0.75rem;
    padding: 0.25rem 1.5rem;
  }
}

@media (hover: hover) {
  .p-header__cta-btn:hover {
    opacity: 1;
    background: #fff;
    color: #305252;
  }
}

.p-header__hamburger {
  text-align: center;
  background: none;
  border: none;
  padding: 0.3125rem 0.125rem;
  width: 1.5rem;
  height: 1.5rem;
  position: relative;
  z-index: 95;
  margin-left: 1.5rem;
}

@media screen and (max-width: 767px) {
  .p-header__hamburger {
    margin-left: 1.1875rem;
  }
}

.p-header__hamburger span {
  display: block;
  width: 1.125rem;
  height: 2px;
  background: #305252;
  transition: 0.3s;
  margin-inline: auto;
  border-radius: 5px;
}

.p-header__hamburger span:nth-child(2) {
  margin: 0.25rem auto;
}

.p-header__hamburger.is-active span {
  background: #fff;
}

.p-header__hamburger.is-active span:nth-child(1) {
  -webkit-transform: translateY(2px) rotate(-45deg);
  transform: translateY(2px) rotate(-45deg);
}

.p-header__hamburger.is-active span:nth-child(2) {
  opacity: 0;
  margin: 0;
}

.p-header__hamburger.is-active span:nth-child(3) {
  -webkit-transform: translateY(-2px) rotate(45deg);
  transform: translateY(-2px) rotate(45deg);
}

.p-nav {
  background: #305252;
  color: #fff;
  display: none;
  position: fixed;
  height: 100vh;
  width: 100%;
  top: 0;
  right: 0;
  z-index: 90;
  padding: 9rem 2.5rem;
  overflow-y: auto;
}

@media screen and (max-width: 767px) {
  .p-nav {
    padding-top: 5.5rem;
  }
}

.p-nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0 2rem;
  margin-top: 3rem;
}

@media screen and (max-width: 767px) {
  .p-nav__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 0;
    margin-top: 1rem;
    border-top: 1px solid rgba(255, 255, 255, .5);
  }
}

@media screen and (max-width: 767px) {
  .p-nav__item {
    width: 100%;
  }
}

.p-nav__item a {
  padding: 0.5rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.25;
}

@media screen and (max-width: 767px) {
  .p-nav__item a {
    display: block;
    width: 100%;
    padding: 1rem 0;
    font-weight: 500;
    border-bottom: 1px solid rgba(255, 255, 255, .5);
  }
}

.p-nav__list02:not(:first-child) {
  margin-top: 4rem;
}

.p-nav__item02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  padding-left: 1.625rem;
}

.p-nav__item02::before {
  content: "";
  background: #D9D9D9;
  width: 1.125rem;
  height: 1.125rem;
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.p-nav__item02-en-title {
  font-size: 1.625rem;
  font-family: "Raleway", sans-serif;
  line-height: 1;
  letter-spacing: 0.08em;
  margin-right: 1rem;
  text-transform: uppercase;
  color: #fff;
}

.p-nav__item02-ja-title {
  font-size: max(1rem, 10px);
  line-height: 1.5;
  font-weight: 500;
  color: rgba(255, 255, 255, .6);
}

.p-nav__sub02 {
  margin-top: 1.5rem;
}

@media screen and (max-width: 767px) {
  .p-nav__sub02 {
    margin-top: 1rem;
  }
}

.p-nav__sub02.--service {
  display: grid;
  grid-template-columns: repeat(5, 11.25rem);
  gap: 0 2rem;
}

@media screen and (max-width: 767px) {
  .p-nav__sub02.--service {
    grid-template-columns: 1fr;
    gap: 0;
  }
}

@media screen and (max-width: 767px) {
  .p-nav__sub02.--service .p-nav__sub02-item a {
    padding: 0.5rem 0;
  }
}

@media (hover: hover) {
  .p-nav__sub02.--service .p-nav__sub02-item a:hover .p-nav__sub02-img img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
}

.p-nav__sub02.--facility {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0 1rem;
  max-width: 53.5625rem;
  margin-top: 1rem;
}

.p-nav__sub02.--facility .p-nav__sub02-item a {
  font-size: max(1.125rem, 10px);
  line-height: 1.1111111111;
  padding: 0.5rem 0;
}

.p-nav__sub02-item a {
  font-size: max(1rem, 10px);
  line-height: 1.4285714286;
  font-weight: 500;
}

.p-nav__sub02-img {
  margin-bottom: 1rem;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .p-nav__sub02-img {
    display: none;
  }
}

.p-nav__sub02-img img {
  border-radius: 0.25rem;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  aspect-ratio: 170/98;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.p-nav__sns {
  margin-top: 2.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.875rem;
}

.p-nav__sns-item a {
  width: 1.5rem;
}

.p-nav__sns-item a img {
  width: 100%;
}

.p-news-detail {
  padding-top: 12.25rem;
  padding-bottom: 8.25rem;
}

@media screen and (max-width: 767px) {
  .p-news-detail {
    padding-top: 7.5rem;
    padding-bottom: 4.5rem;
  }
}

.p-news-detail__body {
  display: grid;
  grid-template-columns: 1fr 14.0625rem;
  -webkit-column-gap: 4rem;
  -moz-column-gap: 4rem;
  column-gap: 4rem;
  margin-top: 7.5rem;
}

@media screen and (max-width: 767px) {
  .p-news-detail__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    margin-top: 3rem;
  }
}

@media screen and (max-width: 767px) {
  .p-news-detail__main {
    margin-top: 3rem;
  }
}

.p-news-detail__img {
  border-radius: 0.75rem;
  overflow: hidden;
  aspect-ratio: 907/511;
}

.p-news-detail__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-news-detail__top {
  margin-top: 5rem;
  margin-inline: 1.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem 1rem;
}

@media screen and (max-width: 767px) {
  .p-news-detail__top {
    margin-top: 3rem;
    margin-inline: 0;
  }
}

.p-news-detail__time {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.02em;
}

.p-news-detail__label {
  font-size: max(10px, 0.875rem);
  font-weight: 500;
  line-height: 1.5;
  background: #D3D3D3;
  padding: 0.25rem 1.5rem;
  border-radius: 0.25rem;
}

.p-news-detail__title {
  width: 100%;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.6666666667;
  letter-spacing: -0.02em;
}

.p-news-detail__conts {
  margin-top: 3.5rem;
  margin-inline: 1.625rem;
  min-height: 12rem;
}

@media screen and (max-width: 767px) {
  .p-news-detail__conts {
    margin-top: 3rem;
    margin-inline: 0;
  }
}

.p-news-detail__text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.02em;
}

.p-news-detail__text+.p-news-detail__text {
  margin-top: 2em;
}

.p-news-detail__back {
  margin-top: 4.25rem;
  text-align: center;
}

.p-news-section {
  color: #006B6F;
  padding-top: 4.5rem;
  padding-bottom: 9rem;
}

@media screen and (max-width: 767px) {
  .p-news-section {
    padding-top: 3rem;
    padding-bottom: 6rem;
  }
}

.p-news-section.--brown {
  color: #33241C;
  background: #F4ECE1;
}

.p-news-section.--brown .p-news-section__item {
  border-color: #33241C;
}

.p-news-section__wrap {
  display: grid;
  grid-template-columns: 18.5625rem 1fr;
}

@media screen and (max-width: 767px) {
  .p-news-section__wrap {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}

.p-news-section__item {
  border-bottom: 1px solid #006B6F;
}

.p-news-section__item:first-child {
  border-top: 1px solid #006B6F;
}

.p-news-section__item a {
  display: grid;
  grid-template-columns: 11.1875rem 1fr;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  padding: 1.125rem 0;
}

.p-news-section__item a time {
  font-size: max(1.125rem, 10px);
  font-weight: 500;
  line-height: 1.3333333333;
  letter-spacing: -0.02em;
}

@media screen and (max-width: 767px) {
  .p-news-section__item a {
    grid-template-columns: auto;
    gap: 0.5rem;
    padding: 0.5rem 0;
  }

  .p-news-section__item a time {
    font-size: 0.875rem;
    line-height: 2;
  }
}

.p-news-section__text {
  font-size: max(1.125rem, 10px);
  font-weight: 500;
  line-height: 2.2222222222;
  letter-spacing: -0.02em;
}

@media screen and (max-width: 767px) {
  .p-news-section__text {
    font-size: 1rem;
    line-height: 2.5;
  }
}

.p-news {
  padding-top: 12.25rem;
  padding-bottom: 7.5rem;
}

@media screen and (max-width: 767px) {
  .p-news {
    padding-top: 7.5rem;
    padding-bottom: 4.5rem;
  }
}

.p-news__body {
  display: grid;
  grid-template-columns: 1fr 14.0625rem;
  -webkit-column-gap: 4rem;
  -moz-column-gap: 4rem;
  column-gap: 4rem;
  margin-top: 6rem;
}

@media screen and (max-width: 767px) {
  .p-news__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    margin-top: 3rem;
    gap: 1.25rem;
  }
}

.p-news__side {
  padding-top: 1.5rem;
}

.p-news__pagenation {
  margin-top: 5rem;
}

@media screen and (max-width: 767px) {
  .p-news__pagenation {
    margin-top: 3rem;
  }
}

.p-operation-feature__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.25rem;
}

@media screen and (max-width: 767px) {
  .p-operation-feature__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.25rem 1.5rem;
  }
}

.p-operation-feature__item {
  display: grid;
  grid-template-columns: 3rem auto;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 2rem;
}

@media screen and (max-width: 767px) {
  .p-operation-feature__item {
    grid-template-columns: auto;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1rem;
  }
}

.p-operation-feature__img {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .p-operation-feature__img {
    width: 3rem;
    margin-inline: auto;
  }
}

.p-operation-feature__img img {
  width: 100%;
}

.p-operation-feature__title {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.7777777778;
}

@media screen and (max-width: 767px) {
  .p-operation-feature__title {
    font-size: 1rem;
    text-align: center;
  }
}

.p-operation-image__list {
  display: grid;
  gap: 4.5rem;
}

.p-operation-image__title {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3333333333;
  color: #000;
}

@media screen and (max-width: 767px) {
  .p-operation-image__title {
    font-size: 1.25rem;
  }
}

.p-operation-image__wrap {
  margin-top: 2.25rem;
  display: grid;
  grid-template-columns: 14.625rem auto;
  gap: 2.25rem;
}

@media screen and (max-width: 767px) {
  .p-operation-image__wrap {
    grid-template-columns: auto;
    gap: 1.5rem;
    margin-top: 1.5rem;
  }
}

.p-operation-image__img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  aspect-ratio: 234/421;
}

.p-operation-image__body-title {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.7777777778;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.4375rem;
  color: #000;
}

.p-operation-image__body-title::before {
  content: "";
  width: 0.875rem;
  height: 0.875rem;
  background: #000;
}

@media screen and (max-width: 767px) {
  .p-operation-image__body-title {
    font-size: 1rem;
  }

  .p-operation-image__body-title::before {
    width: 0.75rem;
    height: 0.75rem;
  }
}

.p-operation-image__change {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
  margin-top: 1.25rem;
}

@media screen and (max-width: 767px) {
  .p-operation-image__change {
    grid-template-columns: auto;
    gap: 1.5rem;
  }
}

.p-operation-image__before .p-operation-image__change-title {
  color: #000;
}

.p-operation-image__before .p-operation-image__change-item {
  color: #fff;
  background: #305252;
}

.p-operation-image__change-title {
  font-size: 1.5rem;
  font-weight: 400;
  font-family: "Raleway", sans-serif;
  letter-spacing: 0.04em;
  line-height: 1.3333333333;
  text-transform: uppercase;
  margin: 0;
}

.p-operation-image__change-list {
  margin-top: 1.25rem;
  display: grid;
  gap: 1.25rem;
}

@media screen and (max-width: 767px) {
  .p-operation-image__change-list {
    margin-top: 1rem;
    gap: 1rem;
  }
}

.p-operation-image__change-item {
  padding: 1rem 0.625rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .p-operation-image__change-item {
    padding: 0.625rem;
  }
}

.p-operation-image__after .p-operation-image__change-item {
  background: rgba(60, 60, 67, .1);
}

.p-operation-service__list {
  display: grid;
  gap: 3.25rem;
}

@media screen and (max-width: 767px) {
  .p-operation-service__list {
    gap: 2.5rem;
  }
}

.p-operation-service__item {
  display: grid;
  grid-template-columns: 20rem auto;
  gap: 2rem;
}

@media screen and (max-width: 767px) {
  .p-operation-service__item {
    grid-template-columns: auto;
    gap: 1rem;
  }
}

.p-operation-service__img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  aspect-ratio: 320/200;
  border-radius: 1rem;
}

.p-operation-service__title {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

@media screen and (max-width: 767px) {
  .p-operation-service__title {
    font-size: 1.125rem;
  }
}

.p-operation-service__categories {
  margin-top: 0.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.875rem;
}

@media screen and (max-width: 767px) {
  .p-operation-service__categories {
    gap: 0.5rem;
  }
}

.p-operation-service__category {
  font-size: max(10px, 0.875rem);
  font-weight: 500;
  line-height: 1.4285714286;
  color: #fff;
  background: #305252;
  padding: 0.25rem 1rem;
  border-radius: 0.25rem;
}

@media screen and (max-width: 767px) {
  .p-operation-service__category {
    font-size: 0.75rem;
  }
}

.p-operation-service__text {
  margin-top: 0.875rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.75;
}

.p-pc-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: inherit;
}

@media screen and (max-width: 767px) {
  .p-pc-nav {
    display: none;
  }
}

.p-pc-nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: inherit;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-pc-nav__item {
  height: inherit;
  position: relative;
}

.p-pc-nav__item a {
  height: inherit;
  padding: 0 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: max(0.875rem, 12px);
  font-weight: 500;
  line-height: 1.4285714286;
}

.p-pc-nav__item-title {
  height: inherit;
  padding: 0 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
  font-size: max(0.875rem, 12px);
  font-weight: 500;
  line-height: 1.4285714286;
  cursor: pointer;
}

.p-pc-nav__item-title::after {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  background: url(../images/icon_arrow.svg) no-repeat center center/contain;
}

.p-pc-nav__sub {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #F1F1F1;
  padding: 0.75rem 2rem 0.75rem 1rem;
  z-index: 100;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}

.p-pc-nav__sub-item:not(:last-child) a {
  border-bottom: 1px solid #CECECE;
}

.p-pc-nav__sub-item a {
  display: block;
  font-size: max(0.875rem, 10px);
  font-weight: 500;
  line-height: 1.4285714286;
  padding: 0.5rem 0;
}

.p-privacy {
  padding-top: 12.25rem;
  padding-bottom: 7.5rem;
}

@media screen and (max-width: 767px) {
  .p-privacy {
    padding-top: 7.5rem;
    padding-bottom: 4.5rem;
  }
}

.p-privacy__top {
  margin-top: 4.5rem;
}

@media screen and (max-width: 767px) {
  .p-privacy__top {
    margin-top: 3rem;
  }
}

.p-privacy__text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8125;
}

.p-privacy__list {
  margin-top: 2em;
}

.p-privacy__item {
  margin-top: 2em;
}

.p-privacy__subtitle {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8125;
}

.p-privacy__sublist.--lg {
  margin-top: 2em;
}

.p-privacy__subitem {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8125;
}

.p-privacy__subitem .p-privacy__sublist {
  text-indent: 1em;
}

.p-privacy__subitem .p-privacy__sublist .p-privacy__subitem .p-privacy__sublist {
  padding-left: 1em;
  text-indent: 1em;
}

.p-privacy__company {
  margin-top: 2em;
}

.p-privacy__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-privacy__info dt,
.p-privacy__info dd {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8125;
}

.p-privacy__info dt {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.p-privacy__bottom {
  margin-top: 2em;
}

.p-room-content {
  padding: 0 0 2.8125rem;
  background: #F4ECE1;
  color: #33241C;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .p-room-content {
    padding: 2.8125rem 0;
  }
}

.p-room-content__item {
  overflow: hidden;
  margin-right: -2.5rem;
  padding-top: 4.6875rem;
}

@media screen and (max-width: 767px) {
  .p-room-content__item {
    margin-inline: calc(50% - 50vw);
  }
}

@media screen and (max-width: 767px) {
  .p-room-content__scroll-text {
    text-align: center;
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.1111111111;
    letter-spacing: 0.04em;
    color: #33241C;
  }
}

.p-room-content__scroll {
  overflow-x: auto;
  padding-bottom: 2.625rem;
}

@media screen and (max-width: 767px) {
  .p-room-content__scroll {
    margin-top: 1.5rem;
    margin-inline: calc(50% - 50vw);
    padding-inline: 1.5rem;
  }
}

.p-room-content__images {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding-right: 2rem;
}

@media screen and (max-width: 767px) {
  .p-room-content__images {
    padding-right: 0;
    gap: 1rem;
  }
}

.p-room-content__img {
  width: 32.0625rem;
  overflow: hidden;
  border-radius: 0.25rem;
}

.p-room-content__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  aspect-ratio: 513/420;
}

@media screen and (max-width: 767px) {
  .p-room-content__img {
    width: 20.375rem;
  }

  .p-room-content__img img {
    aspect-ratio: 326/260;
  }
}

.p-room-content__body {
  margin-top: 0.5rem;
  max-width: 71.625rem;
}

@media screen and (max-width: 767px) {
  .p-room-content__body {
    padding-inline: 1.5rem;
  }
}

.p-room-content__title {
  font-size: max(1rem, 10px);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.5rem;
}

.p-room-content__en-title {
  font-family: "Raleway", sans-serif;
  font-size: 2.5rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.175;
}

@media screen and (max-width: 767px) {
  .p-room-content__en-title {
    font-size: 1.5rem;
    line-height: 1.3333333333;
  }
}

.p-room-content__text {
  margin-top: 0.9375rem;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

@media screen and (max-width: 767px) {
  .p-room-content__text {
    font-size: 1rem;
  }
}

.p-room-content__table {
  margin-top: 1.125rem;
}

.p-room-content__table-row {
  display: grid;
  grid-template-columns: 4rem 23.3125rem;
}

@media screen and (max-width: 767px) {
  .p-room-content__table-row {
    grid-template-columns: 4rem auto;
  }
}

.p-room-content__table-row:not(:first-child) {
  margin-top: 0.25rem;
}

.p-room-content__term {
  background: #F0F0F0;
  padding: 0.25rem;
  text-align: center;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.875;
}

.p-room-content__desc {
  background: #fff;
  padding: 0.25rem 0.5rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.875;
}

.p-room-content__bottom-text {
  margin-top: 1.125rem;
  font-size: max(0.875rem, 10px);
  font-weight: 500;
  line-height: 2.1428571429;
  letter-spacing: 0.02em;
  color: #727272;
}

@media screen and (max-width: 767px) {
  .p-room-content__bottom-text {
    text-indent: -1em;
    padding-left: 1em;
  }
}

.p-room-content__btn {
  margin-top: 1.125rem;
}

.p-room-mv {
  padding: 9.375rem 0 5.4375rem;
  background: url(../images/room_mv_bg.jpg) no-repeat center center/cover;
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-room-mv {
    padding-top: 10.1875rem;
    padding-bottom: 14rem;
    height: calc(var(--vh) * 85);
    padding-bottom: 9rem;
  }
}

.p-room-mv__text {
  color: #fff;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 2;
  margin-top: 13.1875rem;
}

@media screen and (max-width: 767px) {
  .p-room-mv__text {
    margin-top: 3.75rem;
  }
}

.p-room-mv__btn {
  display: none;
}

@media screen and (max-width: 767px) {
  .p-room-mv__btn {
    display: block;
    position: absolute;
    right: 0.875rem;
    bottom: 1.6875rem;
  }
}

.p-sale-flow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem;
}

@media screen and (max-width: 767px) {
  .p-sale-flow {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-sale-flow__list {
  display: grid;
  gap: 1.5rem;
}

.p-sale-flow__item {
  display: grid;
  grid-template-columns: 3.25rem 1fr;
  gap: 0.75rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .p-sale-flow__item {
    grid-template-columns: 2.25rem 1fr;
  }
}

.p-sale-flow__item-num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  background: #305252;
  color: #fff;
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 50%;
}

@media screen and (max-width: 767px) {
  .p-sale-flow__item-num {
    width: 2.25rem;
    height: 2.25rem;
    font-size: 1.125rem;
  }
}

.p-sale-flow__item-text {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.3333333333;
}

.p-service-feature__list {
  counter-reset: num;
  display: grid;
  gap: 3.5rem;
}

.p-service-feature__item {
  padding-left: 7.9375rem;
  position: relative;
}

.p-service-feature__item::before {
  content: counter(num, decimal-leading-zero);
  counter-increment: num;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  font-family: "Raleway", sans-serif;
  font-weight: 300;
  font-size: 4.5rem;
}

@media screen and (max-width: 767px) {
  .p-service-feature__item {
    padding-left: 0;
  }

  .p-service-feature__item::before {
    font-size: 2.625rem;
    position: static;
    -webkit-transform: none;
    transform: none;
  }
}

.p-service-feature__title {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3333333333;
}

@media screen and (max-width: 767px) {
  .p-service-feature__title {
    font-size: 1.25rem;
  }
}

.p-service-feature__text {
  margin-top: 1rem;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.7777777778;
}

@media screen and (max-width: 767px) {
  .p-service-feature__text {
    font-size: 0.9375rem;
  }
}

.p-service-flow__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
}

@media screen and (max-width: 767px) {
  .p-service-flow__list {
    grid-template-columns: auto;
    gap: 2rem;
  }
}

.p-service-flow__img {
  width: 100%;
}

.p-service-flow__img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  aspect-ratio: 265/180;
  border-radius: 0.25rem;
}

.p-service-flow__title {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.2;
  margin-top: 1.5rem;
}

@media screen and (max-width: 767px) {
  .p-service-flow__title {
    margin-top: 1rem;
    font-size: 1.125rem;
  }
}

.p-service-flow__desc {
  margin-top: 0.75rem;
}

@media screen and (max-width: 767px) {
  .p-service-flow__desc {
    margin-top: 0.5rem;
  }
}

.p-service-flow__desc.--gap .p-service-flow__desc-item:not(:first-child) {
  margin-top: 1.5rem;
}

.p-service-flow__desc-item {
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  line-height: 1.6;
}

.p-service-flow__desc-item span {
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .p-service-flow__desc-item {
    font-size: 1rem;
  }
}

.p-service-form {
  padding-top: 3rem;
  padding-bottom: 10.5rem;
}

@media screen and (max-width: 767px) {
  .p-service-form {
    padding-top: 2.5rem;
    padding-bottom: 7.5rem;
  }
}

.p-service-form__title {
  font-size: 2.125rem;
  font-weight: 700;
  line-height: 1.1764705882;
  letter-spacing: -0.02em;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-service-form__title {
    font-size: 1.625rem;
  }
}

.p-service-form__text {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.2;
  margin-top: 1.5rem;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-service-form__text {
    font-size: 1rem;
    line-height: 1.5;
  }
}

.p-service-form__box {
  margin-top: 4.5rem;
  width: 26.6875rem;
  margin-inline: auto;
}

@media screen and (max-width: 767px) {
  .p-service-form__box {
    width: 100%;
    margin-top: 3.125rem;
  }
}

.p-service-head {
  padding-top: 12.25rem;
}

@media screen and (max-width: 767px) {
  .p-service-head {
    padding-top: 7.5rem;
  }
}

.p-service-head__wrap {
  display: grid;
  grid-template-columns: auto 12.8125rem;
}

@media screen and (max-width: 767px) {
  .p-service-head__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    gap: 2.5rem;
  }
}

.p-service-head__title {
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.5;
}

.p-service-head__title::before {
  content: attr(data-en);
  display: block;
  font-size: 1.5rem;
  font-weight: 400;
  font-family: "Raleway", sans-serif;
  letter-spacing: -0.02em;
  line-height: 1.4166666667;
}

@media screen and (max-width: 767px) {
  .p-service-head__title {
    font-size: 1.875rem;
    line-height: 1.6;
  }

  .p-service-head__title span {
    display: inline-block;
  }

  .p-service-head__title::before {
    font-size: 1rem;
  }
}

.p-service-head__text-block {
  margin-top: 2rem;
  display: inline-block;
  background: #305252;
  border-radius: 0.25rem;
  padding: 0.75rem 1rem;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .p-service-head__text-block {
    font-size: 1rem;
    padding: 0.5rem 1rem;
    margin-top: 1.5rem;
  }
}

.p-service-head__text {
  margin-top: 1rem;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .p-service-head__text {
    font-size: 1rem;
    line-height: 1.5;
  }

  .p-service-head__text span {
    display: inline-block;
  }
}

.p-service-head__link {
  margin-top: 2rem;
}

@media screen and (max-width: 767px) {
  .p-service-head__link {
    margin-top: 1.5rem;
  }
}

.p-service-head__link a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.9375rem;
  padding: 0.4375rem 3.125rem 0.4375rem 3.5rem;
  background: #48BF84;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  border-radius: 0.25rem;
  border: 1px solid #48BF84;
  transition: background 0.3s, color 0.3s;
}

@media screen and (max-width: 767px) {
  .p-service-head__link a {
    font-size: 1rem;
    padding: 0.4375rem 1.875rem;
  }
}

.p-service-head__link a::after {
  content: "";
  display: block;
  width: 1.875rem;
  height: 1.5625rem;
  -webkit-mask-image: url(../images/icon_arrow.svg);
  mask-image: url(../images/icon_arrow.svg);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  background: #fff;
  transition: background 0.3s;
}

@media screen and (max-width: 767px) {
  .p-service-head__link a::after {
    width: 1.25rem;
    height: 0.9375rem;
  }
}

@media (hover: hover) {
  .p-service-head__link a:hover {
    opacity: 1;
    background: #fff;
    color: #48BF84;
  }

  .p-service-head__link a:hover::after {
    background: #48BF84;
  }
}

.p-service-head__categories {
  display: grid;
  gap: 1rem;
}

@media screen and (max-width: 767px) {
  .p-service-head__categories {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
}

.p-service-head__category a {
  display: block;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
  padding: 0.9375rem;
  border-radius: 0.25rem;
  background: rgba(60, 60, 67, .1);
  transition: background 0.3s, color 0.3s;
}

@media screen and (max-width: 767px) {
  .p-service-head__category a {
    font-size: 0.875rem;
    padding: 0.5rem 1rem;
  }
}

@media (hover: hover) {
  .p-service-head__category a:hover {
    background: black;
    color: #fff;
  }
}

.p-service-head__category .is-current {
  display: block;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
  padding: 0.9375rem;
  border-radius: 0.25rem;
  background: #305252;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .p-service-head__category .is-current {
    font-size: 0.875rem;
    padding: 0.5rem 1rem;
  }
}

.p-service-head__img {
  margin-top: 7.5rem;
}

.p-service-head__img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  aspect-ratio: 1280/450;
}

@media screen and (max-width: 767px) {
  .p-service-head__img {
    margin-top: 2.5rem;
  }
}

.p-service-head__img.--sale img {
  aspect-ratio: 1280/640;
}

.p-service-wrap {
  padding-top: 7.5rem;
  padding-bottom: 3rem;
}

@media screen and (max-width: 767px) {
  .p-service-wrap {
    padding-top: 3rem;
  }
}

.p-service-wrap.--bottom {
  padding-bottom: 10.5rem;
}

@media screen and (max-width: 767px) {
  .p-service-wrap.--bottom {
    padding-bottom: 4.5rem;
  }
}

.p-service-wrap__wrap {
  display: grid;
  grid-template-columns: 15rem auto;
  gap: 2.5rem;
}

@media screen and (max-width: 767px) {
  .p-service-wrap__wrap {
    grid-template-columns: auto;
  }
}

.p-setup-plan__list {
  display: grid;
  gap: 2.5rem;
}

.p-setup-plan__item {
  display: grid;
  grid-template-columns: 27.5rem 1fr;
  gap: 2rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .p-setup-plan__item {
    grid-template-columns: auto;
    gap: 1rem;
  }
}

.p-setup-plan__img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  aspect-ratio: 440/275;
  border-radius: 1rem;
}

.p-setup-plan__title {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
}

.p-setup-plan__title::before {
  content: attr(data-en);
  display: block;
  font-size: 2rem;
  font-family: "Raleway", sans-serif;
  font-weight: 400;
  line-height: 1.40625;
  margin-bottom: 0.875rem;
}

.p-setup-plan__desc-list {
  margin-top: 0.875rem;
}

.p-setup-plan__term {
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.75;
}

.p-setup-plan__desc {
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.75;
}

.p-setup-plan__table {
  margin-top: 0.875rem;
}

.p-setup-plan__table tr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.875rem;
}

.p-setup-plan__table tr:not(:first-child) {
  margin-top: 0.875rem;
}

.p-setup-plan__table th,
.p-setup-plan__table td {
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.75;
}

.p-side__list {
  display: grid;
  gap: 0.5rem;
}

@media screen and (max-width: 767px) {
  .p-side__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
}

.p-sub-nav {
  padding-right: 8.25rem;
  height: inherit;
}

@media screen and (max-width: 767px) {
  .p-sub-nav {
    background: #006B6F;
    display: none;
    position: fixed;
    height: 100vh;
    width: 100%;
    top: 0;
    right: 0;
    z-index: 90;
    padding: 9.75rem 0;
    overflow-y: auto;
  }
}

@media screen and (max-width: 767px) {
  .p-sub-nav.--technoport {
    background: #33241C;
  }
}

.p-sub-nav__list {
  height: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

@media screen and (max-width: 767px) {
  .p-sub-nav__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: auto;
    margin-right: 0;
  }
}

.p-sub-nav__item {
  height: inherit;
  position: relative;
}

.p-sub-nav__item a {
  height: inherit;
  padding: 0 0.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: max(0.875rem, 10px);
  font-weight: 500;
  line-height: 1.4285714286;
}

@media screen and (max-width: 767px) {
  .p-sub-nav__item a {
    padding: 1.25rem 0;
  }
}

.p-top-column {
  padding-top: 7.4375rem;
  padding-bottom: 9.4375rem;
}

@media screen and (max-width: 767px) {
  .p-top-column {
    padding-top: 5rem;
    padding-bottom: 4rem;
  }
}

.p-top-column__body {
  display: grid;
  grid-template-columns: 1fr 20rem;
  -webkit-column-gap: 3.75rem;
  -moz-column-gap: 3.75rem;
  column-gap: 3.75rem;
  margin-top: 2.4375rem;
}

@media screen and (max-width: 767px) {
  .p-top-column__body {
    grid-template-columns: 1fr;
    margin-top: 2.4375rem;
  }
}

.p-top-column__main {
  margin-top: 1.5rem;
}

.p-top-column__main .c-column__list {
  padding-top: 2rem;
  border-top: 1px solid rgba(110, 80, 73, .2);
}

@media screen and (max-width: 767px) {
  .p-top-column__main {
    margin-top: 0;
  }

  .p-top-column__main .c-column__list {
    border: none;
    padding-top: 0;
  }
}

.p-top-column__side .c-pickup__item:last-child {
  border-bottom: none;
}

@media screen and (max-width: 767px) {
  .p-top-column__side {
    margin-top: 4.5rem;
  }
}

.p-top-event {
  padding-top: 7.4375rem;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .p-top-event {
    padding-top: 5rem;
  }
}

.p-top-event__wrap {
  display: grid;
  grid-template-columns: 5.875rem auto;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.8125rem;
}

@media screen and (max-width: 767px) {
  .p-top-event__wrap {
    grid-template-columns: auto;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
}

.p-top-event__title {
  color: rgba(60, 60, 67, .5);
  font-size: 4.1875rem;
  font-family: "Raleway", sans-serif;
  font-weight: 400;
  letter-spacing: 0.06em;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
  text-transform: uppercase;
}

@media screen and (max-width: 767px) {
  .p-top-event__title {
    -ms-writing-mode: lr-tb;
    -webkit-writing-mode: horizontal-tb;
    writing-mode: horizontal-tb;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    font-size: 3rem;
    font-family: "Raleway", sans-serif;
    color: #305252;
    line-height: 1.3958333333;
    padding-left: 1.5rem;
  }
}

.p-top-event__scroll {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 0.625rem;
  margin-right: -2.5rem;
}

@media screen and (max-width: 767px) {
  .p-top-event__scroll {
    margin-right: 0;
  }
}

.p-top-event__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.625rem;
  padding-right: 2.625rem;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}

@media screen and (max-width: 767px) {
  .p-top-event__list {
    gap: 1.5rem;
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
}

.p-top-event__item {
  width: 19.5rem;
}

@media screen and (max-width: 767px) {
  .p-top-event__item {
    width: 19rem;
  }
}

.p-top-facility {
  padding-top: 7.4375rem;
}

@media screen and (max-width: 767px) {
  .p-top-facility {
    padding-top: 5rem;
    overflow: hidden;
  }
}

.p-top-facility__scroll {
  margin-top: 3.125rem;
}

@media screen and (max-width: 767px) {
  .p-top-facility__scroll {
    overflow-x: auto;
    margin-top: 2.9375rem;
    margin-inline: calc(50% - 50vw);
  }
}

.p-top-facility__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
}

@media screen and (max-width: 767px) {
  .p-top-facility__list {
    grid-template-columns: repeat(2, 10rem);
    width: 100%;
    gap: 1rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

.p-top-mv {
  position: relative;
  padding-top: 24.375rem;
  padding-bottom: 7.375rem;
  overflow: hidden;
  color: #fff;
}

.p-top-mv__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 0;
  display: block;
}

.p-top-mv__picture {
  position: absolute;
  inset: 0;
  z-index: 0;
  filter: brightness(0.5);
}

.p-top-mv__picture>img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.p-top-mv .l-inner,
.p-top-mv__content {
  position: relative;
  z-index: 1;
}

.p-top-mv__catch {
  width: 26.4375rem;
  height: 22.0625rem;
  padding-top: 8rem;
  margin-left: auto;
  position: relative;
}

.p-top-mv__catch::after {
  content: "";
  width: 22.0625rem;
  height: 22.0625rem;
  background: url(../images/top_mv_text.png) no-repeat center center/contain;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  -webkit-animation: rotate 25s linear infinite;
  animation: rotate 25s linear infinite;
}

@media screen and (max-width: 767px) {
  .p-top-mv__catch {
    width: 100%;
  }

  .p-top-mv__catch::after {
    right: -3.125rem;
  }
}

@-webkit-keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(-360deg);
    transform: rotate(-360deg);
  }
}

@keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(-360deg);
    transform: rotate(-360deg);
  }
}

.p-top-mv__catch-text {
  display: inline-block;
  padding: 1rem 2rem;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.07em;
  line-height: 1.5;
  position: relative;
  z-index: 2;
}

.p-top-mv__catch-text span {
  display: block;
  font-family: "Raleway", sans-serif;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 767px) {
  .p-top-mv__catch-text {
    padding-left: 0.5rem;
    margin-left: 0;
  }
}

.p-top-mv__content {
  margin-top: 2rem;
}

.p-top-mv__title {
  font-size: 4.2rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.p-top-mv__title span {
  font-size: 1.2rem;
  display: block;
}

@media screen and (max-width: 767px) {
  .p-top-mv__title {
    font-size: 2rem;
  }

  .p-top-mv__title span {
    font-size: 1rem;
    display: block;
  }
}

.p-top-mv__title::before {
  content: attr(data-en);
  font-family: "Raleway", sans-serif;
  font-size: min(5.625vw, 72px);
  line-height: 1.4027777778;
  display: block;
  margin-bottom: 1rem;
}

@media screen and (max-width: 767px) {
  .p-top-mv__title::before {
    font-size: 3.5rem;
    line-height: 1.3928571429;
  }
}

.p-top-mv__image {
  margin-top: 3rem;
  border-radius: 0.75rem;
  overflow: hidden;
}

.p-top-mv__image img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  aspect-ratio: 1200/454;
}

@media screen and (max-width: 767px) {
  .p-top-mv__image {
    margin-top: 5rem;
  }

  .p-top-mv__image img {
    aspect-ratio: 343/450;
  }
}

.p-top-news {
  padding-top: 6.8125rem;
  padding-bottom: 7.4375rem;
}

@media screen and (max-width: 767px) {
  .p-top-news {
    padding-top: 4.5rem;
    padding-bottom: 5rem;
  }
}

.p-top-news__list {
  margin-top: 2.375rem;
}

.p-top-service {
  padding-top: 7.4375rem;
  padding-bottom: 5.1875rem;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .p-top-service {
    padding-top: 4.375rem;
    padding-bottom: 5rem;
  }
}

.p-top-service__wrap {
  display: grid;
  grid-template-columns: 45rem auto;
  gap: 4.4375rem;
}

@media screen and (max-width: 767px) {
  .p-top-service__wrap {
    grid-template-columns: auto;
    gap: 2.1875rem;
  }
}

.p-top-service__list {
  margin-top: 2.1875rem;
  counter-reset: item;
}

.p-top-service__item a {
  padding: 2.25rem 4.6875rem 2.25rem 6.875rem;
  position: relative;
  display: block;
}

@media screen and (max-width: 767px) {
  .p-top-service__item a {
    padding-left: 0;
    padding-right: 4.25rem;
  }
}

.p-top-service__item a::before {
  content: counter(item);
  counter-increment: item;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 4.375rem;
  height: 4.375rem;
  border: 1px solid #305252;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 3rem;
  font-family: "Raleway", sans-serif;
  line-height: 1.3958333333;
  transition: background 0.3s, color 0.3s;
}

@media screen and (max-width: 767px) {
  .p-top-service__item a::before {
    position: static;
    -webkit-transform: none;
    transform: none;
    width: 2.875rem;
    height: 2.875rem;
    font-size: 2rem;
  }
}

.p-top-service__item a::after {
  content: "click";
  font-size: max(1rem, 10px);
  font-family: "Raleway", sans-serif;
  letter-spacing: 0.1em;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  padding: 1.0625rem 0.25rem;
  border-left: 1px solid #305252;
}

@media screen and (max-width: 767px) {
  .p-top-service__item a::after {
    padding: 3.1875rem 0.3125rem;
  }
}

@media (hover: hover) {
  .p-top-service__item a:hover {
    opacity: 1;
  }

  .p-top-service__item a:hover::before {
    background: #305252;
    color: #fff;
  }
}

.p-top-service__item-title {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .p-top-service__item-title {
    margin-top: 1rem;
    font-size: 1.25rem;
    line-height: 1.5;
  }
}

.p-top-service__item-text {
  margin-top: 1rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .p-top-service__item-text {
    margin-top: 0.5rem;
  }
}

.p-top-service__img {
  margin-right: -5.25rem;
  height: 49.9375rem;
  overflow: hidden;
  border-radius: 0.75rem;
}

.p-top-service__img img {
  height: 100%;
  width: auto;
  -o-object-fit: cover;
  object-fit: cover;
  aspect-ratio: 533/799;
}

@media screen and (max-width: 767px) {
  .p-top-service__img {
    margin-right: 0;
    height: auto;
  }

  .p-top-service__img img {
    width: 100%;
    height: auto;
    aspect-ratio: 338/507;
  }
}

.p-villa-feature__title {
  font-size: 2rem;
  font-weight: 700;
  background: #305252;
  color: #fff;
  padding: 0.625rem 1.125rem;
  border-radius: 0.25rem;
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .p-villa-feature__title {
    font-size: 1.5rem;
    padding: 0.5rem 1rem;
    text-align: center;
    display: block;
  }
}

.p-villa-feature__text {
  margin-top: 2.5rem;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.7777777778;
  color: #000;
}

@media screen and (max-width: 767px) {
  .p-villa-feature__text {
    font-size: 1rem;
    line-height: 2;
    margin-top: 1.5rem;
    text-align: center;
  }
}

.p-villa-feature__list {
  margin-top: 3.5rem;
  display: grid;
  gap: 3.5rem;
}

@media screen and (max-width: 767px) {
  .p-villa-feature__list {
    margin-top: 2rem;
  }
}

.p-villa-feature__item-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.75rem;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.7777777778;
  color: #000;
}

.p-villa-feature__item-title::before {
  content: "";
  width: 0.875rem;
  height: 0.875rem;
  background: #000;
}

.p-villa-feature__img-wrap {
  margin-top: 1rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

@media screen and (max-width: 767px) {
  .p-villa-feature__img-wrap {
    margin-top: 1.5rem;
    grid-template-columns: auto;
    gap: 1.5rem;
  }
}

.p-villa-feature__img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  aspect-ratio: 286/191;
}

.p-villa-feature__img-text {
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 2;
  color: #000;
  margin-top: 1rem;
}

@media screen and (max-width: 767px) {
  .p-villa-feature__img-text {
    margin-top: 0.5rem;
    text-align: center;
  }
}

.p-villa-feature__bottom {
  margin-top: 3.5rem;
}

@media screen and (max-width: 767px) {
  .p-villa-feature__bottom {
    margin-top: 2rem;
  }
}

.p-villa-feature__bottom-text {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 2;
  color: #000;
}

@media screen and (max-width: 767px) {
  .p-villa-feature__bottom-text {
    font-size: 1.125rem;
    text-align: center;
  }
}

.p-worry {
  background: #305252;
  color: #fff;
  text-align: center;
  padding: 3rem 0;
}

.p-worry__title {
  font-size: 2rem;
  font-weight: 700;
  line-height: 2.125;
  letter-spacing: -0.02em;
}

@media screen and (max-width: 767px) {
  .p-worry__title {
    font-size: 1.5rem;
  }
}

.p-worry__list {
  margin-top: 1rem;
}

.p-worry__item {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 2.8333333333;
}

@media screen and (max-width: 767px) {
  .p-worry__item {
    font-size: 1rem;
  }
}

@media screen and (max-width: 767px) {
  .u-desktop {
    display: none;
  }
}

.u-mobile {
  display: none;
}

@media screen and (max-width: 767px) {
  .u-mobile {
    display: block;
  }
}

.p-column-detail__info {
  font-size: 16px;
  line-height: 1.8;
  color: #305252;
  background-color: #fff;
  padding: 2rem;
  border-radius: 1rem;
}

.p-column-detail__info>* {
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}

.p-column-detail__info p,
.p-column-detail__info li {
  font-size: 1.05rem;
  letter-spacing: .02em;
  word-break: break-word;
}

.p-column-detail__info h1,
.p-column-detail__info h2,
.p-column-detail__info h3,
.p-column-detail__info h4 {
  font-weight: 700;
  line-height: 1.4;
  margin: 2rem 0 1rem;
  color: #305252;
}

.p-column-detail__info h2 {
  border-left: 5px solid #305252;
  padding-left: .6rem;
}

.p-column-detail__info a {
  color: #305252;
  transition: opacity .2s;
}

.p-column-detail__info a:hover {
  opacity: .65;
}

.p-column-detail__info img,
.p-column-detail__info iframe {
  max-width: 100%;
  height: auto;
}

.p-column-detail__info table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  font-size: .95rem;
}

.p-column-detail__info th,
.p-column-detail__info td {
  border: 1px solid #305252;
  padding: .6rem .8rem;
  text-align: left;
  color: #305252;
}

.p-column-detail__info pre,
.p-column-detail__info code {
  border: 1px solid #305252;
  border-radius: 4px;
  padding: .3em .5em;
  overflow-x: auto;
  color: #305252;
  background: none;
}

.p-news-detail__conts {
  font-size: 16px;
  line-height: 1.8;
  color: #305252;
}

.p-news-detail__conts>* {
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}

.p-news-detail__conts p,
.p-news-detail__conts li {
  font-size: 1.05rem;
  letter-spacing: .02em;
  word-break: break-word;
}

.p-news-detail__conts h1,
.p-news-detail__conts h2,
.p-news-detail__conts h3,
.p-news-detail__conts h4 {
  font-weight: 700;
  line-height: 1.4;
  margin: 2rem 0 1rem;
  color: #305252;
}

.p-news-detail__conts h2 {
  border-left: 5px solid #305252;
  padding-left: .6rem;
}

.p-news-detail__conts a {
  color: #305252;
  text-decoration: underline;
  transition: opacity .2s;
}

.p-news-detail__conts a:hover {
  opacity: .65;
}

.p-news-detail__conts img,
.p-news-detail__conts iframe {
  max-width: 100%;
  height: auto;
}

.p-news-detail__conts table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  font-size: .95rem;
}

.p-news-detail__conts th,
.p-news-detail__conts td {
  border: 1px solid #305252;
  padding: .6rem .8rem;
  text-align: left;
  color: #305252;
}

.p-news-detail__conts pre,
.p-news-detail__conts code {
  border: 1px solid #305252;
  border-radius: 4px;
  padding: .3em .5em;
  overflow-x: auto;
  color: #305252;
  background: none;
}


.p-pagination {
  margin-top: 40px;
  text-align: center;
}

.p-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  margin: 0 5px;
  padding: 0 10px;
  border-radius: 4px;
  background: #fff;
  color: #333;
  text-decoration: none;
  font-size: 16px;
  transition: all 0.3s ease;
}

.p-pagination .page-numbers:hover {
  background: #f5f5f5;
}

.p-pagination .current {
  background: #333;
  color: #fff;
}

.p-pagination .prev,
.p-pagination .next {
  background: #f5f5f5;
}

.p-pagination .prev:hover,
.p-pagination .next:hover {
  background: #e5e5e5;
}

.p-pagination__arrow {
  display: inline-block;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .p-pagination {
    margin-top: 30px;
  }

  .p-pagination .page-numbers {
    min-width: 35px;
    height: 35px;
    margin: 0 3px;
    padding: 0 8px;
    font-size: 14px;
  }
}

.p-event-detail__content {
  padding: 1.5rem 1rem;
  line-height: 1.8;
  font-size: 1rem;
  color: #2d2d2d;
  max-width: 720px;
  margin: 0 auto;
  word-break: break-word;
}

.p-event-detail__content h2,
.p-event-detail__content h3,
.p-event-detail__content h4 {
  margin: 2.2rem 0 1rem;
  font-weight: 600;
  line-height: 1.4;
}

.p-event-detail__content h2 {
  font-size: 1.4rem;
}

.p-event-detail__content h3 {
  font-size: 1.25rem;
}

.p-event-detail__content h4 {
  font-size: 1.1rem;
}

.p-event-detail__content p {
  margin: 1rem 0;
}

.p-event-detail__content ul,
.p-event-detail__content ol {
  margin: 0.8rem 0 1.2rem 1.2rem;
  padding-left: 1rem;
}

.p-event-detail__content li {
  margin-bottom: 0.5rem;
}

.p-event-detail__content hr {
  border: none;
  border-top: 1px solid #ececec;
  margin: 2rem 0;
}

.p-event-detail__content strong {
  font-weight: 700;
  color: #111;
}

@media (max-width: 480px) {
  .p-event-detail__content {
    font-size: 0.94rem;
    padding: 1.2rem 0.8rem;
  }

  .p-event-detail__content h2 {
    font-size: 1.3rem;
  }

  .p-event-detail__content h3 {
    font-size: 1.15rem;
  }
}

.wpcf7-turnstile {
  margin: 2rem auto;
  width: fit-content;
}

.ninestay-faq-section {
  margin: 5rem auto 0;
  padding: 4rem 0;
  background-color: #ebebeb;
}

.ninestay-faq-title {
  text-align: center;
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 20px;
  color: #1a1a1a;
}

.ninestay-faq-subtitle {
  text-align: center;
  font-size: 1.1rem;
  color: #666;
  margin-bottom: 60px;
}

.ninestay-faq-container {
  max-width: 800px;
  margin: 3rem auto;
}

.ninestay-faq-item {
  background: #fff;
  border-radius: 8px;
  margin-bottom: 16px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  transition: box-shadow 0.3s ease;
}

.ninestay-faq-item:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
}

.ninestay-faq-question {
  padding: 24px 30px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 600;
  font-size: 1.1rem;
  color: #1a1a1a;
  transition: background-color 0.3s ease;
}

.ninestay-faq-question:hover {
  background-color: #f8f9fa;
}

.ninestay-faq-icon {
  font-size: 1.5rem;
  color: #666;
  transition: transform 0.3s ease;
}

.ninestay-faq-item.ninestay-active .ninestay-faq-icon {
  transform: rotate(45deg);
}

.ninestay-faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.ninestay-faq-answer-content {
  padding: 0 30px 24px;
  color: #666;
  line-height: 1.8;
  font-size: 1rem;
}

.ninestay-faq-answer-content strong {
  color: #1a1a1a;
  font-weight: 600;
}

.ninestay-highlight-point {
  color: #449a01;
  font-weight: 600;
}

.ninestay-faq-item.ninestay-active .ninestay-faq-answer {
  max-height: 500px;
  padding: 2rem 0;
}

@media (max-width: 768px) {
  .ninestay-faq-wrapper {
    padding: 60px 0;
  }

  .ninestay-faq-title {
    font-size: 2rem;
  }

  .ninestay-faq-subtitle {
    font-size: 1rem;
    margin-bottom: 40px;
  }

  .ninestay-faq-question {
    padding: 20px;
    font-size: 1rem;
  }

  .ninestay-faq-answer-content {
    padding: 0 20px 20px;
  }
}

.p-top-mv {
  position: relative;
  padding-top: 22.375rem;
  padding-bottom: 7.375rem;
  overflow: hidden;
  color: #fff;
}

.p-top-mv__picture {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.p-top-mv__bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.p-top-mv .l-inner,
.p-top-mv__content {
  position: relative;
  z-index: 1;
}

html {
  scroll-behavior: smooth;
}

[id] {
  scroll-margin-top: var(--header-h, 0px);
}


.p-event-detail__subtitle {
  margin-top: 2rem;
}

.p-propatty-detail__main .swiper-slide img {
  width: 100%;
  height: auto;
  aspect-ratio: 1024 / 576;
  -o-object-fit: cover;
  object-fit: contain;
  border-radius: 0.75rem;
}

.common-section {
  margin: 5rem 0rem;
}

.common-section h2 {
  margin-bottom: 3rem;
}

.company-wrapper {
  max-width: 1100px;
  margin: 0 auto;
  padding: 24px;
  background: none;
  color: #305252;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans JP";
}

.company-header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 16px;
  margin: 8px 0 24px
}

.company-title {
  font-size: clamp(28px, 4vw, 40px);
  line-height: 1.15;
  margin: 0;
}

.company-lead {
  color: #305252;
  font-size: clamp(14px, 2.2vw, 16px)
}

.company-section {
  margin: 34px 0
}

.company-section h2 {
  margin: 0 0 14px;
  font-size: clamp(22px, 3.2vw, 28px);
}

.company-grid {
  display: grid;
  gap: 16px
}

.company-grid.cols-3 {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr))
}

.company-card {
  background: #fff;
  border: 1px solid #cccccc;
  border-radius: 18px;
  padding: 16px;
}

.company-card h3 {
  margin: .3rem 0 1rem;
  padding-bottom: 0.5rem;
  font-size: 18px;
  text-align: center;
  border-bottom: 1px solid #3151515c;
}

.company-card p {
  color: #305252
}

.company-member {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 14px 0;
  border-bottom: 1px solid #cccccc
}

.company-member:last-child {
  border-bottom: none
}

.company-avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid #cccccc
}

.company-role {
  font-size: 12px;
  color: #666666
}

.company-benefit {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 6px 0;
  color: #305252
}

.company-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #007850;
  margin-top: 6px
}

.company-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 10px
}

.company-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
  border: 1px solid #cccccc
}

.company-cta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  border: 1px dashed #cccccc;
  padding: 18px;
  border-radius: 18px;
  background: #eef7f3
}

.company-btn {
  display: inline-block;
  background: #305252;
  color: #ffffff;
  padding: 10px 16px;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 600
}

.company-btn:hover {
  filter: brightness(1.05)
}

.header-lang {
  font-size: 14px;
  margin: 1rem;
}

.en .p-top-mv__title {
  font-size: 3.2rem;
}

.p-top-facility__tabs {
  display: flex;
  gap: 1rem;
  margin-bottom: 2rem;
  list-style: none;
}

.p-top-facility__tabs li {
  padding: 0.5rem 1.5rem;
  border: 1px solid #ccc;
  cursor: pointer;
  transition: 0.3s;
}

.p-top-facility__tabs li.active {
  background: #000;
  color: #fff;
  border-color: #000;
}

.p-top-facility__list {
  display: none;
}

.p-top-facility__list.active {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
}

/* タブリスト全体 */
.p-top-facility__tabs {
  display: flex;
  gap: 0.8rem;
  margin-bottom: 2rem;
  list-style: none;
  overflow-x: auto;
  /* ← 横スクロールを許可 */
  -webkit-overflow-scrolling: touch;
  /* ← スムーズスクロール for iOS */
  padding-bottom: 0.5rem;
  scrollbar-width: none;
  /* Firefoxでスクロールバー非表示 */
}

/* スクロールバー非表示（Safari/Chrome） */
.p-top-facility__tabs::-webkit-scrollbar {
  display: none;
}

/* タブ項目 */
.p-top-facility__tabs li {
  flex: 0 0 auto;
  /* ← 折り返さず横並び */
  padding: 0.6rem 1.5rem;
  border: 1px solid #ccc;
  border-radius: 30px;
  cursor: pointer;
  transition: 0.3s;
  white-space: nowrap;
  /* ← 改行防止 */
}

/* アクティブ時 */
.p-top-facility__tabs li.active {
  background: #000;
  color: #fff;
  border-color: #000;
}

/* モバイル特化調整 */
@media screen and (max-width: 767px) {
  .p-top-facility__tabs {
    justify-content: flex-start;
    /* ← 左寄せに変更 */
    padding-left: 1rem;
    margin-left: -1rem;
    /* ← 左右余白を自然に調整 */
    width: calc(100% + 2rem);
  }

  .en .p-top-mv__title {
    font-size: 1.8rem;
  }
}

.term-section {
  margin: 3rem 0;
}

.term_en {
  font-size: 0.8rem;
  color: #3151519c;
  margin: 0.5rem 0 1rem;
  display: block;
}

.p-privacy__table {
  margin: 1.5em 0;
  overflow-x: auto;
  /* スマホで横スクロール対応 */
}

.p-privacy__table table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #ccc;
  /* 外枠線（薄いグレー） */
  font-size: 15px;
  line-height: 1.6;
  background-color: #fff;
}

.p-privacy__table th,
.p-privacy__table td {
  border: 1px solid #ddd;
  /* 内側の線はさらに淡く */
  padding: 10px 12px;
  vertical-align: top;
}

.p-privacy__table th {
  background-color: #f9f9f9;
  font-weight: 600;
  text-align: center;
  white-space: nowrap;
}

.p-privacy__table td {
  text-align: left;
  word-break: break-word;
}

/* テーブルの境界線をやや丸めて柔らかい印象に */
.p-privacy__table table {
  border-radius: 4px;
  overflow: hidden;
}

/* 行のホバー時にうっすらハイライト */
.p-privacy__table tr:hover td {
  background-color: #fafafa;
  transition: background-color 0.2s ease-in-out;
}

/* モバイル最適化 */
@media screen and (max-width: 768px) {

  .p-privacy__table th,
  .p-privacy__table td {
    font-size: 14px;
    padding: 8px;
  }
}

.p-footer__link a:nth-child(3) {
  padding-left: 0;
}

.p-top-facility__list .c-card02 {
  display: block;
  background-color: #fff;
  padding: 1rem;
  border-radius: 10px;
}

.p-showroom {
  text-align: center;
}

.p-showroom__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  max-width: 1200px;
  margin: 0 auto 2rem;
}

.p-showroom__grid img {
  width: 100%;
  aspect-ratio: 16 / 9;
  /* 横長に統一 */
  object-fit: cover;
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.p-showroom__grid img:hover {
  transform: scale(1.02);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}

.p-showroom__text {
  font-size: 1.1rem;
  color: #333;
  font-weight: 500;
  line-height: 1.8;
}

.p-facility__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
}

@media screen and (max-width: 767px) {
  .p-facility__list {
    grid-template-columns: repeat(2, 10rem);
    width: 100%;
    gap: 1rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

.p-facility__list .c-card02 {
  display: block;
  background-color: #fff;
  padding: 1rem;
  border-radius: 10px;
}


.cta-section {
  padding: 60px 20px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.cta-container {
  max-width: 1000px;
  margin: 0 auto;
}

.cta-header {
  text-align: center;
  margin-bottom: 50px;
}

.cta-title {
  font-size: 28px;
  font-weight: 700;
  color: #333;
  margin-bottom: 16px;
  line-height: 1.5;
}

.cta-subtitle {
  font-size: 15px;
  color: #666;
  line-height: 1.8;
}

.services-list {
  background: #f8f9fa;
  border-radius: 8px;
  padding: 40px;
  margin-bottom: 30px;
}

.service-item {
  padding: 24px;
  border-bottom: 1px solid #e9ecef;
  text-decoration: none;
  display: block;
  transition: background-color 0.2s ease;
  border-radius: 4px;
  margin: 0 -24px;
  padding-left: 24px;
  padding-right: 24px;
}

.service-item:last-child {
  border-bottom: none;
}

.service-item:hover {
  background-color: #f8f9fa;
  cursor: pointer;
}

.service-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 8px;
}

.service-category {
  font-size: 12px;
  color: #999;
  font-weight: 500;
}

.service-link {
  font-size: 14px;
  color: #007bff;
  font-weight: 600;
  white-space: nowrap;
  display: flex;
  align-items: center;
  transition: color 0.2s ease;
}

.service-link::after {
  content: "→";
  margin-left: 6px;
  transition: margin-left 0.2s ease;
}

.service-item:hover .service-link {
  color: #0056b3;
}

.service-item:hover .service-link::after {
  margin-left: 10px;
}

.service-title {
  font-size: 18px;
  font-weight: 700;
  color: #333;
  margin-bottom: 8px;
}

.service-description {
  font-size: 14px;
  color: #666;
  line-height: 1.7;
}

.cta-footer {
  background: white;
  border-radius: 8px;
  padding: 40px;
  text-align: center;
}

.cta-footer-title {
  font-size: 20px;
  font-weight: 700;
  color: #333;
  margin-bottom: 12px;
}

.cta-footer-text {
  font-size: 14px;
  color: #666;
  margin-bottom: 30px;
  line-height: 1.8;
}

.cta-buttons {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

.btn {
  padding: 14px 32px;
  border-radius: 4px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
  display: inline-block;
}

.btn-primary {
  background: #333;
  color: white;
}

.btn-primary:hover {
  background: #555;
}

.btn-secondary {
  background: white;
  color: #333;
  border: 1px solid #ddd;
}

.btn-secondary:hover {
  background: #f8f9fa;
  border-color: #333;
}

@media (max-width: 768px) {
  .cta-section {
    padding: 40px 16px;
  }

  .cta-title {
    font-size: 22px;
  }

  .services-list {
    padding: 24px;
  }

  .service-item {
    padding: 20px;
    margin: 0 -24px;
    padding-left: 24px;
    padding-right: 24px;
  }

  .service-header {
    flex-direction: column;
    gap: 8px;
  }

  .service-link {
    align-self: flex-start;
  }

  .cta-footer {
    padding: 32px 24px;
  }

  .cta-buttons {
    flex-direction: column;
  }

  .btn {
    width: 100%;
  }
}

/* ニュースセクション */
.p-top-news {
  padding: 60px 0;
  background-color: #fff;
}

@media (max-width: 767px) {
  .p-top-news {
    padding: 40px 0;
  }
}

.p-top-news__wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
}

@media (max-width: 767px) {
  .p-top-news__wrap {
    padding: 24px 16px;
  }
}

.p-top-news__title {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 30px;
  color: #333;
}

@media (max-width: 767px) {
  .p-top-news__title {
    font-size: 20px;
    margin-bottom: 20px;
  }
}

.p-top-news__item {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 20px 0;
  text-decoration: none;
  transition: opacity 0.3s;
}

.p-top-news__item:hover {
  opacity: 0.7;
}

@media (max-width: 767px) {
  .p-top-news__item {
    flex-wrap: wrap;
    gap: 12px;
    padding: 16px 0;
  }
}

.p-top-news__date {
  font-size: 14px;
  color: #666;
  white-space: nowrap;
  min-width: 90px;
}

@media (max-width: 767px) {
  .p-top-news__date {
    font-size: 12px;
    min-width: auto;
  }
}

.p-top-news__label {
  display: inline-block;
  padding: 4px 12px;
  font-size: 12px;
  color: #333;
  border: 1px solid #333;
  border-radius: 4px;
  white-space: nowrap;
}

@media (max-width: 767px) {
  .p-top-news__label {
    padding: 3px 10px;
    font-size: 11px;
  }
}

.p-top-news__text {
  flex: 1;
  font-size: 16px;
  color: #333;
  line-height: 1.6;
}

@media (max-width: 767px) {
  .p-top-news__text {
    width: 100%;
    font-size: 14px;
    order: 3;
  }
}

.p-top-news__arrow {
  font-size: 20px;
  color: #333;
  margin-left: auto;
}

@media (max-width: 767px) {
  .p-top-news__arrow {
    margin-left: 0;
  }
}

.p-top-news__viewall {
  display: inline-block;
  margin-top: 30px;
  padding: 12px 40px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #333;
  border: 1px solid #333;
  border-radius: 4px;
  text-decoration: none;
  transition: all 0.3s;
  float: right;
}

.p-top-news__viewall:hover {
  background-color: #333;
  color: #fff;
}

@media (max-width: 767px) {
  .p-top-news__viewall {
    display: block;
    margin-top: 20px;
    padding: 10px 20px;
    font-size: 12px;
    text-align: center;
    float: none;
  }
}

.p-top-news__empty {
  padding: 40px 0;
  text-align: center;
  color: #999;
  font-size: 14px;
}

/* スライダー全体の余白調整 */
.member-slider {
  width: 100%;
  padding: 40px 0 60px;
  /* 上下の余白 */
  overflow: hidden;
}

/* スライドの動きを等速（リニア）にするための設定 */
.member-slider .swiper-wrapper {
  transition-timing-function: linear;
}

/* 各スライドの幅設定（PCとスマホで調整） */
.member-slider .swiper-slide {
  width: 180px;
  /* カードの幅 */
  height: auto;
  margin-right: 30px;
  /* カード間の余白 */
}

/* メンバーカードのデザイン */
.p-member-card {
  /* background: #fff; */
  /* border: 1px solid #eee; */
  border-radius: 8px;
  padding: 20px 10px;
  text-align: center;
  /* box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05); */
  height: 100%;
  box-sizing: border-box;
}

/* 画像エリア */
.p-member-card__img {
  width: 140px;
  height: 200px;
  margin: 0 auto 15px;
  border-radius: 4%;
  overflow: hidden;
}

.p-member-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 役職 */
.p-member-card__role {
  font-size: 12px;
  color: #888;
  margin-bottom: 5px;
  letter-spacing: 0.05em;
  font-weight: bold;
}

/* 名前 */
.p-member-card__name {
  font-size: 18px;
  font-weight: bold;
  color: #333;
  margin-bottom: 10px;
}

/* 紹介文 */
.p-member-card__text {
  font-size: 13px;
  line-height: 1.6;
  color: #666;
  text-align: left;
  /* 文章は左揃えの方が見やすい場合が多い */
}