@charset "UTF-8";
/* ===================================================================
CSS information

file name  : homepage.css
author     : Abilive
style info : トップページ
=================================================================== */
/* ===================================================================
CSS information

file name  : _settings.scss
author     : Abilive
style info : 汎用設定
=================================================================== */
.p-loading {
  position: fixed;
  inset: 0;
  z-index: 9999;
  opacity: 1;
  background: #FFF;
  transition: all 800ms 200ms ease-out;
}
.p-loading.is-hidden {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

.p-about {
  position: relative;
  padding-bottom: calc(170 / var(--tsuruga-parent-font-size) * 1rem);
}
.p-about[data-tsuruga-theme="dark"] {
  background-color: transparent;
}
@media only screen and (max-width: 767px) {
  .p-about {
    padding-top: calc(80 / var(--tsuruga-parent-font-size) * 1rem);
    padding-bottom: calc(80 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) {
  .p-about__box-title {
    position: sticky;
    width: fit-content;
    top: 0;
    padding-top: calc(365 / 1920 * 100%);
    left: calc(320 / 1920 * 100%);
    display: flex;
    flex-direction: column;
    z-index: 4;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1024px) {
  .p-about__box-title {
    left: calc(160 / 1920 * 100%);
    top: calc(365 / 1920 * 100%);
  }
}

.p-about__box-title > .inner {
  align-items: center;
}
.p-about__title {
  margin-top: auto;
}
.p-about__catch {
  margin-top: calc(40 / var(--tsuruga-parent-font-size) * 1rem);
  margin-bottom: auto;
}
@media only screen and (max-width: 767px) {
  .p-about__catch {
    margin-top: calc(30 / var(--tsuruga-parent-font-size) * 1rem);
    margin-bottom: calc(30 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-about__top-imgs {
  --parent: 1280;
}
@media only screen and (max-width: 767px) {
  .p-about__top-imgs {
    z-index: 2;
    position: relative;
  }
}
.p-about__top-imgs img {
  display: block;
}
@media only screen and (max-width: 767px) {
  .p-about__top-imgs {
    --parent: 390;
  }
}
.p-about__top-imgs__img01 {
  width: calc(220 / var(--parent) * 100%);
  margin-right: calc(520 / var(--parent) * 100%);
  margin-left: auto;
}
@media only screen and (max-width: 767px) {
  .p-about__top-imgs__img01 {
    width: calc(115 / var(--parent) * 100%);
    margin-right: calc(215 / var(--parent) * 100%);
  }
}
.p-about__top-imgs__img02 {
  width: calc(200 / var(--parent) * 100%);
  margin-left: auto;
  margin-right: calc(240 / var(--parent) * 100%);
  margin-top: calc(20 / var(--tsuruga-parent-font-size) * 1rem);
}
@media only screen and (max-width: 767px) {
  .p-about__top-imgs__img02 {
    width: calc(105 / var(--parent) * 100%);
    margin-right: 0;
    margin-top: calc(11 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-about__top-imgs__img03 {
  width: calc(260 / var(--parent) * 100%);
  margin-left: auto;
  margin-right: calc(560 / var(--parent) * 100%);
  margin-top: calc(-20 / var(--tsuruga-parent-font-size) * 1rem);
}
@media only screen and (max-width: 767px) {
  .p-about__top-imgs__img03 {
    margin-top: calc(-75 / var(--tsuruga-parent-font-size) * 1rem);
    width: calc(137 / var(--parent) * 100%);
    margin-right: 0;
    margin-left: 0;
  }
}
.p-about__top-imgs__img04 {
  width: calc(400 / var(--parent) * 100%);
  margin-left: auto;
  margin-right: calc(80 / var(--parent) * 100%);
  margin-top: calc(-120 / var(--tsuruga-parent-font-size) * 1rem);
}
@media only screen and (max-width: 767px) {
  .p-about__top-imgs__img04 {
    margin-top: calc(-100 / var(--tsuruga-parent-font-size) * 1rem);
    width: calc(211 / var(--parent) * 100%);
    margin-right: 0;
    margin-left: auto;
  }
}
@media only screen and (min-width: 768px) {
  .p-about__main {
    z-index: 3;
    position: relative;
    margin-right: 0;
    margin-left: auto;
    width: calc(1280 / 1920 * 100%);
    margin-top: calc(45 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-about__main__box-text {
  z-index: 2;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .p-about__main__box-text {
    margin-top: calc(-173 / 1280 * 100%);
    margin-left: auto;
    width: calc(680 / 1280 * 100%);
    margin-right: calc(385 / 1280 * 100%);
    --offset: 100;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1024px) {
  .p-about__main__box-text {
    margin-top: 3em;
    width: calc(calc(680 + var(--offset) + 100) / 1280 * 100%);
    margin-right: calc(calc(385 - var(--offset)) / 1280 * 100%);
  }
}

@media only screen and (max-width: 767px) {
  .p-about__main__box-text {
    width: calc(290 / 390 * 100%);
    margin-right: auto;
    margin-left: auto;
    margin-top: -1.5em;
  }
}
.p-about__main__text p:not(:first-child) {
  margin-top: 2em;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-about__main__text p:not(:first-child) {
    margin-top: 1em;
  }
}
.p-about__main__catch {
  margin-top: calc(30 / var(--tsuruga-parent-font-size) * 1rem);
}
.p-about__main__btn {
  margin-top: calc(40 / var(--tsuruga-parent-font-size) * 1rem);
}
.p-about__bottom-imgs {
  display: flex;
  align-items: flex-start;
  padding-top: calc(95 / var(--tsuruga-parent-font-size) * 1rem);
  --parent: 1280;
}
@media only screen and (max-width: 767px) {
  .p-about__bottom-imgs {
    padding-top: calc(85 / var(--tsuruga-parent-font-size) * 1rem);
    z-index: 1;
    position: relative;
  }
}
.p-about__bottom-imgs img {
  display: block;
}
@media only screen and (max-width: 767px) {
  .p-about__bottom-imgs {
    --parent: 390;
  }
}
.p-about__bottom-imgs__img-l {
  margin-left: 0;
  margin-right: auto;
}
@media only screen and (max-width: 767px) {
  .p-about__bottom-imgs__img-l {
    width: calc(98 / var(--parent) * 100%);
  }
}
.p-about__bottom-imgs__img-c {
  width: calc(220 / var(--parent) * 100%);
  margin-right: calc(-60 / var(--parent) * 100%);
  margin-left: auto;
  margin-top: calc(220 / var(--tsuruga-parent-font-size) * 1rem);
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .p-about__bottom-imgs__img-c {
    margin-top: calc(65 / var(--tsuruga-parent-font-size) * 1rem);
    width: calc(85 / var(--parent) * 100%);
  }
}
.p-about__bottom-imgs__img-r {
  width: calc(620 / var(--parent) * 100%);
  margin-right: 0;
  margin-left: 0;
  margin-top: calc(-340 / var(--parent) * 100%);
}
@media only screen and (max-width: 767px) {
  .p-about__bottom-imgs__img-r {
    margin-top: calc(-105 / var(--parent) * 100%);
    width: calc(189 / var(--parent) * 100%);
    aspect-ratio: 189 / 213;
    object-fit: cover;
  }
}
.p-about__bg {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
}
.p-about__bg__item {
  aspect-ratio: 1920 / 1000;
  background: no-repeat center top/cover;
}
@media only screen and (min-width: 1025px) and (max-width: 1200px) {
  .p-about__bg__item {
    aspect-ratio: 1.6;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-about__bg__item {
    aspect-ratio: 1.37143;
  }
}
@media only screen and (max-width: 767px) {
  .p-about__bg__item {
    aspect-ratio: 390 / 600;
  }
}
@media only screen and (min-width: 768px) {
  .p-about__bg__item--top:not(.js-inview), .p-about__bg__item--top.js-inview.is-inview {
    background-image: url("../images/home/bg_about_top-pc.jpg");
  }
}
@media only screen and (max-width: 767px) {
  .p-about__bg__item--top:not(.js-inview), .p-about__bg__item--top.js-inview.is-inview {
    background-image: url("../images/home/bg_about_top-sp.jpg");
  }
}
@media only screen and (min-width: 768px) {
  .p-about__bg__item--center:not(.js-inview), .p-about__bg__item--center.js-inview.is-inview {
    background-image: url("../images/home/bg_about_center-pc.jpg");
  }
}
@media only screen and (max-width: 767px) {
  .p-about__bg__item--center:not(.js-inview), .p-about__bg__item--center.js-inview.is-inview {
    background-image: url("../images/home/bg_about_center-sp.jpg");
  }
}
@media only screen and (min-width: 768px) {
  .p-about__bg__item--bottom:not(.js-inview), .p-about__bg__item--bottom.js-inview.is-inview {
    aspect-ratio: 1920 / 683;
    background-image: url("../images/home/bg_about_bottom-pc.jpg");
  }
}
@media only screen and (min-width: 768px) and (min-width: 1025px) and (max-width: 1200px) {
  .p-about__bg__item--bottom:not(.js-inview), .p-about__bg__item--bottom.js-inview.is-inview {
    aspect-ratio: 2.34261;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1024px) {
  .p-about__bg__item--bottom:not(.js-inview), .p-about__bg__item--bottom.js-inview.is-inview {
    aspect-ratio: 2.00795;
  }
}

@media only screen and (max-width: 767px) {
  .p-about__bg__item--bottom:not(.js-inview), .p-about__bg__item--bottom.js-inview.is-inview {
    aspect-ratio: 390 / 381;
    background-image: url("../images/home/bg_about_bottom-sp.jpg");
  }
}

.p-news {
  margin-right: auto;
  margin-left: auto;
  --tsuruga-container-width: var(--tsuruga-content-0);
  padding-top: calc(80 / var(--tsuruga-parent-font-size) * 1rem);
  padding-bottom: calc(40 / var(--tsuruga-parent-font-size) * 1rem);
}
@media only screen and (min-width: 1025px) {
  .p-news {
    width: calc(var(--tsuruga-child-width) / var(--tsuruga-container-width) * 100%);
    --tsuruga-child-width: var(--tsuruga-content-3);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-news {
    width: calc(var(--tsuruga-child-width) / var(--tsuruga-container-width) * 100%);
    --tsuruga-child-width: var(--tsuruga-content-2);
  }
}
@media only screen and (max-width: 767px) {
  .p-news {
    width: calc(var(--tsuruga-child-width) / var(--tsuruga-container-width) * 100%);
    --tsuruga-child-width: var(--tsuruga-content-1);
  }
}
@media only screen and (min-width: 768px) {
  .p-news {
    max-width: calc(1120 / var(--tsuruga-parent-font-size) * 1rem);
    align-items: center;
    display: flex;
  }
}
.p-news__wrp {
  position: relative;
}
.p-news__wrp::before {
  content: "";
  display: block;
  width: calc(200 / var(--tsuruga-parent-font-size) * 1rem);
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  background: no-repeat center top/cover;
}
@media only screen and (max-width: 767px) {
  .p-news__wrp::before {
    width: calc(108 / var(--tsuruga-parent-font-size) * 1rem);
    background: repeat-y center top;
  }
}
.p-news__wrp:not(.js-inview)::before, .p-news__wrp.js-inview.is-inview::before {
  background-image: url("../images/home/deco_news.png");
}
@media only screen and (min-width: 768px) {
  .p-news__title {
    width: calc(260 / 1120 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .p-news__title {
    padding-left: calc(60 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) {
  .p-news__main {
    width: calc(860 / 1120 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .p-news__main {
    margin-top: calc(8 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-news__list {
  width: 100%;
}
.p-news__item {
  width: 100%;
  display: flex;
  align-items: center;
  position: relative;
  text-decoration: none;
  padding-left: calc(30 / var(--tsuruga-parent-font-size) * 1rem);
  padding-right: calc(10 / var(--tsuruga-parent-font-size) * 1rem);
  padding-top: calc(20 / var(--tsuruga-parent-font-size) * 1rem);
  padding-bottom: calc(20 / var(--tsuruga-parent-font-size) * 1rem);
  --icon: calc(18 / var(--tsuruga-parent-font-size) * 1rem);
  --icon-right: calc(10 / var(--tsuruga-parent-font-size) * 1rem);
  --icon-left: calc(25 / var(--tsuruga-parent-font-size) * 1rem);
  padding-right: calc(var(--icon-left) + var(--icon) + var(--icon-right));
  flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
  .p-news__item {
    --icon: calc(16 / var(--tsuruga-parent-font-size) * 1rem);
    --icon-left: calc(5 / var(--tsuruga-parent-font-size) * 1rem);
    padding-left: calc(20 / var(--tsuruga-parent-font-size) * 1rem);
    padding-top: calc(20 / var(--tsuruga-parent-font-size) * 1rem);
    padding-bottom: calc(20 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-news__item::before, .p-news__item::after {
  background-color: var(--tsuruga-color-gray-c8);
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  height: 1px;
  width: 100%;
}
.p-news__item::after {
  background-color: var(--tsuruga-color-accent);
  width: calc(30 / var(--tsuruga-parent-font-size) * 1rem);
  transition-property: width;
  transition-duration: .5s;
  transition-timing-function: ease-out;
}
.p-news__item time {
  font-family: var(--tsuruga-font-num);
  font-size: calc(var(--tsuruga-target-font-size) / var(--tsuruga-parent-font-size) * 1rem);
  line-height: 1;
  flex-shrink: 0;
  white-space: nowrap;
  padding-right: calc(20 / var(--tsuruga-parent-font-size) * 1rem);
}
@media only screen and (min-width: 768px) {
  .p-news__item time {
    --tsuruga-target-font-size: 20;
  }
}
@media only screen and (max-width: 767px) {
  .p-news__item time {
    --tsuruga-target-font-size: 18;
  }
}
@media only screen and (max-width: 767px) {
  .p-news__item time {
    padding-right: calc(10 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-news__item .cate {
  font-size: calc(var(--tsuruga-target-font-size) / var(--tsuruga-parent-font-size) * 1rem);
  height: calc(24 / var(--tsuruga-parent-font-size) * 1rem);
  flex-shrink: 0;
  padding-left: calc(14 / var(--tsuruga-parent-font-size) * 1rem);
  padding-right: calc(14 / var(--tsuruga-parent-font-size) * 1rem);
  white-space: nowrap;
  border: 1px solid var(--tsuruga-color-accent);
  color: var(--tsuruga-color-accent);
  background: white;
  border-radius: 1000px;
  transition-property: background-color, color;
  transition-duration: .5s;
  transition-timing-function: ease-out;
  display: flex;
  align-items: center;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .p-news__item .cate {
    --tsuruga-target-font-size: 14;
  }
}
@media only screen and (max-width: 767px) {
  .p-news__item .cate {
    --tsuruga-target-font-size: 12;
  }
}
@media only screen and (max-width: 767px) {
  .p-news__item .cate {
    height: calc(18 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-news__item .text {
  line-height: 1.2;
}
@media only screen and (min-width: 768px) {
  .p-news__item .text {
    padding-left: calc(20 / var(--tsuruga-parent-font-size) * 1rem);
    flex: 1;
    flex-shrink: 0;
  }
}
@media only screen and (max-width: 767px) {
  .p-news__item .text {
    width: 100%;
    margin-top: calc(8 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-news__item .o-icon {
  --tsuruga-icon-width: var(--icon);
  position: absolute;
  right: var(--icon-right);
  left: auto;
  transition-property: fill, transform;
  transition-duration: .5s;
  transition-timing-function: ease-out;
}
.p-news__item[aria-current="page"] .cate {
  color: #fff;
  background: var(--tsuruga-color-accent);
}
.p-news__item[aria-current="page"] .o-icon {
  fill: var(--tsuruga-color-accent);
  transform: translateX(0.3rem);
}
.p-news__item[aria-current="page"]::after {
  width: 100%;
}
.mouse .p-news__item:hover .cate, .touch .p-news__item.touchstart .cate {
  color: #fff;
  background: var(--tsuruga-color-accent);
}
.mouse .p-news__item:hover .o-icon, .touch .p-news__item.touchstart .o-icon {
  fill: var(--tsuruga-color-accent);
  transform: translateX(0.3rem);
}
.mouse .p-news__item:hover::after, .touch .p-news__item.touchstart::after {
  width: 100%;
}
.touch .p-news__item {
  -webkit-tap-highlight-color: transparent;
}
.touch .p-news__item.touchend {
  transition-delay: 200ms;
}
.p-news__btn {
  margin-top: calc(30 / var(--tsuruga-parent-font-size) * 1rem);
}

:root {
  --concept-offset-bottom: calc(100 / var(--tsuruga-parent-font-size) * 1rem);
}
@media only screen and (max-width: 767px) {
  :root {
    --concept-offset-bottom: calc(35 / var(--tsuruga-parent-font-size) * 1rem);
  }
}

.p-concept {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-concept {
    flex-wrap: nowrap;
    padding-bottom: calc(var(--concept-offset-bottom) + calc(70 / var(--tsuruga-parent-font-size) * 1rem));
  }
}
@media only screen and (max-width: 767px) {
  .p-concept {
    padding-top: calc(60 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) {
  .p-concept__main {
    margin-left: calc(60 / 1920 * 100%);
    margin-right: calc(60 / 1920 * 100%);
    padding-top: calc(130 / var(--tsuruga-parent-font-size) * 1rem);
    padding-bottom: calc(25 / var(--tsuruga-parent-font-size) * 1rem);
    width: calc(520 / 1920 * 100%);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-concept__main {
    order: 1;
    width: calc(676 / 1920 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .p-concept__main {
    width: calc(290 / 390 * 100%);
    margin-right: auto;
    margin-left: auto;
    padding-bottom: calc(45 / var(--tsuruga-parent-font-size) * 1rem);
    z-index: 2;
    position: relative;
  }
}
.p-concept__text {
  margin-top: calc(40 / var(--tsuruga-parent-font-size) * 1rem);
  line-height: 1.6;
}
@media only screen and (min-width: 768px) {
  .p-concept__text {
    margin-right: 0;
    margin-left: auto;
    width: calc(410 / 460 * 100%);
    max-width: calc(360 / 460 * 100%);
  }
}
@media only screen and (min-width: 768px) and (min-width: 1025px) and (max-width: 1200px) {
  .p-concept__text {
    width: 100%;
    max-width: none;
  }
}
.p-concept__btn {
  margin-right: 0;
  margin-left: auto;
  margin-top: calc(40 / var(--tsuruga-parent-font-size) * 1rem);
  flex-direction: column;
}
@media only screen and (min-width: 768px) {
  .p-concept__btn {
    width: calc(410 / 460 * 100%);
    max-width: calc(360 / 460 * 100%);
  }
}
@media only screen and (min-width: 768px) and (min-width: 1025px) and (max-width: 1200px) {
  .p-concept__btn {
    width: 100%;
    max-width: none;
  }
}

.p-concept__btn .c-btn__link {
  max-width: calc(240 / var(--tsuruga-parent-font-size) * 1rem);
}
.p-concept__btn .c-btn__link:not(:first-child) {
  margin-top: calc(6 / var(--tsuruga-parent-font-size) * 1rem);
}
.p-concept__box-img-l {
  display: flex;
  align-items: flex-end;
}
@media only screen and (min-width: 768px) {
  .p-concept__box-img-l {
    order: -1;
    width: calc(780 / 1920 * 100%);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-concept__box-img-l {
    order: 2;
    margin-top: calc(300 / var(--tsuruga-parent-font-size) * 1rem);
    margin-right: calc(-780 / 1920 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .p-concept__box-img-l {
    width: calc(270 / 390 * 100%);
    margin-bottom: calc(-55 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-concept__box-img-l__img01 {
  width: calc(660 / 780 * 100%);
  display: block;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-concept__box-img-l__img01 {
    border-top-left-radius: var(--image-radius, calc(6 / var(--tsuruga-parent-font-size) * 1rem));
    border-bottom-left-radius: var(--image-radius, calc(6 / var(--tsuruga-parent-font-size) * 1rem));
  }
}
@media only screen and (max-width: 767px) {
  .p-concept__box-img-l__img01 {
    width: calc(227 / 270 * 100%);
  }
}
.p-concept__box-img-l__img02 {
  width: calc(380 / 780 * 100%);
  margin-right: 0;
  margin-left: calc(-260 / 780 * 100%);
  margin-bottom: calc(var(--concept-offset-bottom) * -1);
}
@media only screen and (max-width: 767px) {
  .p-concept__box-img-l__img02 {
    width: calc(131 / 270 * 100%);
  }
}
.p-concept__box-img-r {
  padding-bottom: calc(60 / 1920 * 100%);
  position: relative;
  margin-left: auto;
}
@media only screen and (min-width: 768px) {
  .p-concept__box-img-r {
    padding-top: calc(80 / 1920 * 100%);
    width: calc(500 / 1920 * 100%);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-concept__box-img-r {
    order: 3;
  }
}
@media only screen and (max-width: 767px) {
  .p-concept__box-img-r {
    padding-top: calc(50 / 390 * 100%);
    width: calc(112 / 390 * 100%);
    margin-top: calc(-125 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-concept__box-img-r::before {
  content: "";
  display: block;
  width: calc(360 / 500 * 100%);
  aspect-ratio: 360 / 545;
  position: absolute;
  background: no-repeat center top/cover;
}
@media only screen and (min-width: 768px) {
  .p-concept__box-img-r::before {
    left: 0;
    top: 0;
  }
}
@media only screen and (max-width: 767px) {
  .p-concept__box-img-r::before {
    right: calc(-32 / 112 * 100%);
    bottom: 100%;
    width: calc(176 / 112 * 100%);
    margin-bottom: calc(115 / 112 * 100%);
  }
}
.p-concept__box-img-r:not(.js-inview)::before, .p-concept__box-img-r.js-inview.is-inview::before {
  background-image: url("../images/home/deco_concept.png");
}
.p-concept__box-img-r__img01 {
  width: calc(320 / 500 * 100%);
  margin-right: 0;
  margin-left: auto;
  z-index: 1;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .p-concept__box-img-r__img01 {
    width: 100%;
    object-fit: cover;
    aspect-ratio: 112 / 208;
  }
}
.p-concept__box-img-r__img02 {
  width: calc(400 / 500 * 100%);
  background-color: var(--tsuruga-color-accent);
  aspect-ratio: 20 / 27;
  position: absolute;
  right: 0;
  bottom: 0;
  margin-bottom: calc(var(--concept-offset-bottom) * -1);
}
.p-concept__box-img-r__img02::before {
  content: "";
  display: block;
  width: calc(100 / 400 * 100%);
  position: absolute;
  right: 0;
  top: 0;
  background: no-repeat center top/cover;
}
@media only screen and (min-width: 768px) {
  .p-concept__box-img-r__img02::before {
    aspect-ratio: 100 / 540;
  }
}
@media only screen and (max-width: 767px) {
  .p-concept__box-img-r__img02::before {
    bottom: 0;
    transform: rotateY(180deg);
    width: calc(36 / 60 * 100%);
    background-repeat: repeat-y;
    background-position: left top;
    background-size: contain;
  }
}
.p-concept__box-img-r__img02:not(.js-inview)::before, .p-concept__box-img-r__img02.js-inview.is-inview::before {
  background-image: url("../images/home/deco_concept02.png");
}
@media only screen and (max-width: 767px) {
  .p-concept__box-img-r__img02:not(.js-inview)::before, .p-concept__box-img-r__img02.js-inview.is-inview::before {
    background-image: url("../images/common/bg_deco4.svg");
  }
}
@media only screen and (max-width: 767px) {
  .p-concept__box-img-r__img02 {
    aspect-ratio: 60 / 380;
    width: calc(60 / 112 * 100%);
    top: 0;
    bottom: auto;
  }
}

.p-place {
  padding-top: calc(var(--concept-offset-bottom) + calc(140 / var(--tsuruga-parent-font-size) * 1rem));
  padding-bottom: calc(140 / var(--tsuruga-parent-font-size) * 1rem);
  align-items: flex-start;
  width: 100%;
  max-width: calc(1920 / var(--tsuruga-parent-font-size) * 1rem);
  overflow: hidden;
}
@media only screen and (min-width: 1025px) {
  .p-place {
    display: flex;
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 767px) {
  .p-place {
    padding-bottom: calc(60 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) {
  .p-place__main {
    width: calc(1000 / 1920 * 100%);
    max-width: calc(840 / var(--tsuruga-parent-font-size) * 1rem);
    margin-right: calc(-80 / 1920 * 100%);
    margin-left: auto;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-place__main {
    width: calc(1600 / 1920 * 100%);
    margin-left: 0;
  }
}
@media only screen and (max-width: 767px) {
  .p-place__main {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .p-place__box-title {
    width: calc(780 / 840 * 100%);
    max-width: calc(680 / var(--tsuruga-parent-font-size) * 1rem);
    margin-left: auto;
    margin-right: 0;
  }
}
@media only screen and (max-width: 767px) {
  .p-place__box-title {
    z-index: 1;
    position: relative;
    width: calc(290 / 390 * 100%);
    margin-right: auto;
    margin-left: auto;
  }
}
.p-place__text {
  margin-top: calc(40 / var(--tsuruga-parent-font-size) * 1rem);
}
@media only screen and (min-width: 768px) {
  .p-place__text {
    max-width: calc(580 / var(--tsuruga-parent-font-size) * 1rem);
    width: calc(680 / 840 * 100%);
    margin-right: 0;
    margin-left: auto;
  }
}
@media only screen and (max-width: 767px) {
  .p-place__text {
    line-height: 1.4;
    margin-top: calc(30 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-place__map {
  margin-right: 0;
  margin-left: 0;
  position: relative;
}
@media only screen and (min-width: 1025px) {
  .p-place__map {
    width: calc(940 / 1920 * 100%);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-place__map {
    width: calc(1410 / 1920 * 100%);
    margin-inline: auto;
    margin-top: calc(40 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-place__map {
    margin-top: -6em;
  }
}
.p-place__click {
  width: fit-content;
  margin-right: auto;
  margin-left: auto;
  padding-left: calc(calc(18.75 / var(--tsuruga-parent-font-size) * 1rem) + calc(13.13 / var(--tsuruga-parent-font-size) * 1rem));
  line-height: 1.75;
  position: relative;
}
.p-place__click .o-icon {
  position: absolute;
  top: calc(1em * 1.75 / 2);
  transform: translateY(-50%);
  left: 0;
}

.p-group {
  display: flex;
  align-items: flex-start;
  width: 100%;
  z-index: 1;
  position: relative;
  margin-top: calc(40 / var(--tsuruga-parent-font-size) * 1rem);
}
@media only screen and (max-width: 767px) {
  .p-group {
    margin-top: calc(30 / var(--tsuruga-parent-font-size) * 1rem);
    width: calc(310 / 390 * 100%);
    margin-right: auto;
    margin-left: auto;
  }
}
.p-group__area {
  padding-top: calc(10 / var(--tsuruga-parent-font-size) * 1rem);
  padding-bottom: calc(10 / var(--tsuruga-parent-font-size) * 1rem);
  width: calc(230 / 840 * 100%);
  border-left: 3px solid var(--tsuruga-color-txt-blue);
}
@media only screen and (min-width: 1025px) and (max-width: 1200px) {
  .p-group__area {
    width: calc(330 / 840 * 100%);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-group__area {
    width: calc(330 / 840 * 100%);
  }
}
.p-group__area__button {
  --arrow-width: calc(34 / var(--tsuruga-parent-font-size) * 1rem);
  --arrow-margin: calc(14 / var(--tsuruga-parent-font-size) * 1rem);
  --text-line-height: 1.2;
  --padding-left: calc(var(--arrow-width) + var(--arrow-margin));
  padding-left: var(--padding-left);
  padding-top: calc(13 / var(--tsuruga-parent-font-size) * 1rem);
  padding-bottom: calc(13 / var(--tsuruga-parent-font-size) * 1rem);
}
.p-group__area__button .count {
  font-size: calc(var(--tsuruga-target-font-size) / var(--tsuruga-parent-font-size) * 1rem);
  --tsuruga-target-font-size: 14;
  color: var(--tsuruga-color-gray-c8);
  border: 1px solid var(--tsuruga-color-gray-c8);
  background-color: transparent;
  border-radius: 100px;
  padding-right: calc(14 / var(--tsuruga-parent-font-size) * 1rem);
  padding-left: calc(14 / var(--tsuruga-parent-font-size) * 1rem);
  height: calc(20 / var(--tsuruga-parent-font-size) * 1rem);
  display: flex;
  align-items: center;
  width: fit-content;
  transition-property: color, border-color, background-color;
  transition-duration: .1s;
  transition-timing-function: ease-out;
}
.p-group__area__button .text {
  color: var(--tsuruga-color-gray-c8);
  display: block;
  width: 100%;
  line-height: var(--text-line-height);
  position: relative;
  margin-top: 0.25em;
  transition-property: color;
  transition-duration: .1s;
  transition-timing-function: ease-out;
}
.p-group__area__button .text::before {
  content: "";
  opacity: 0;
  display: block;
  width: var(--arrow-width);
  aspect-ratio: 34 / 9;
  background: url("../images/home/tab_acitve_arrow.svg") no-repeat center top;
  position: absolute;
  left: 0;
  top: calc(var(--text-line-height) * 1em / 2);
  transform: translate(calc(var(--padding-left) * -1), -50%);
  transition-property: opacity;
  transition-duration: .1s;
  transition-timing-function: ease-out;
}
.p-group__area__button[aria-selected="true"] .count, .p-group__area__button:hover .count {
  color: #fff;
  border: 1px solid var(--tsuruga-color-accent);
  background-color: var(--tsuruga-color-accent);
  transition-duration: .3s;
}
.p-group__area__button[aria-selected="true"] .text, .p-group__area__button:hover .text {
  color: var(--tsuruga-color-txt-blue);
  transition-duration: .3s;
}
.p-group__area__button[aria-selected="true"] .text::before, .p-group__area__button:hover .text::before {
  transition-duration: .3s;
  opacity: 1;
}
.p-group__main {
  width: calc(580 / 840 * 100%);
  margin-right: 0;
  margin-left: auto;
}
@media only screen and (min-width: 1025px) and (max-width: 1200px) {
  .p-group__main {
    width: calc(480 / 840 * 100%);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-group__main {
    width: calc(538 / 840 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .p-group__main {
    width: 100%;
  }
  .p-group__main > * {
    display: block;
  }
  .p-group__main > *:not(:first-child) {
    margin-top: calc(8 / var(--tsuruga-parent-font-size) * 1rem);
  }
}

.p-facilities__button {
  position: relative;
  width: 100%;
  background-color: #fff;
  height: calc(48 / var(--tsuruga-parent-font-size) * 1rem);
  display: flex;
  align-items: center;
  padding-left: calc(15 / var(--tsuruga-parent-font-size) * 1rem);
  --area-color: black;
}
.p-facilities__button--akanko {
  --area-color: var(--tsuruga-color-akanko);
}
.p-facilities__button--saroma {
  --area-color: var(--tsuruga-color-saroma);
}
.p-facilities__button--sapporo {
  --area-color: var(--tsuruga-color-sapporo);
}
.p-facilities__button--shikotsu {
  --area-color: var(--tsuruga-color-shikotsu);
}
.p-facilities__button--hakodate {
  --area-color: var(--tsuruga-color-hakodate);
}
.p-facilities__button .all {
  font-size: calc(var(--tsuruga-target-font-size) / var(--tsuruga-parent-font-size) * 1rem);
  --tsuruga-target-font-size: 12;
  display: flex;
  justify-content: center;
  background-color: var(--area-color);
  color: #fff;
  width: calc(62 / var(--tsuruga-parent-font-size) * 1rem);
  padding-right: .25em;
  padding-left: .25em;
  border-radius: 100px;
  flex-shrink: 0;
}
.p-facilities__button .name {
  padding-left: 1em;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .p-facilities__button .name {
    padding-left: .5em;
  }
}
.p-facilities__button .o-icon--plus-minus {
  fill: inherit;
  width: calc(30 / var(--tsuruga-parent-font-size) * 1rem);
  margin-right: 0;
  margin-left: auto;
}
.p-facilities__button .o-icon--plus-minus .o-icon {
  --tsuruga-icon-width: calc(10 / var(--tsuruga-parent-font-size) * 1rem);
}
.p-facilities__button[aria-expanded="false"] .o-icon--minus {
  display: none;
}
.p-facilities__button[aria-expanded="true"] {
  color: #fff;
  fill: #fff;
  background-color: var(--area-color);
}
.p-facilities__button[aria-expanded="true"] .all {
  color: var(--area-color);
  background-color: #fff;
}
.p-facilities__button[aria-expanded="true"] .o-icon--plus {
  display: none;
}
@media only screen and (max-width: 767px) {
  .p-facilities__box {
    height: 0;
    opacity: 0;
    overflow: hidden;
    transition: opacity 0.5s, height 0.5s;
    visibility: hidden;
    width: calc(250 / 310 * 100%);
    margin-right: auto;
    margin-left: auto;
  }
}
.p-facilities__list {
  display: flex;
  flex-wrap: wrap;
  --gap: calc(10 / var(--tsuruga-parent-font-size) * 1rem);
  gap: var(--gap);
}
@media only screen and (max-width: 767px) {
  .p-facilities__list {
    padding-top: calc(10 / var(--tsuruga-parent-font-size) * 1rem);
    padding-bottom: calc(25 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-facilities__item {
  display: flex;
  overflow: hidden;
  border-radius: calc(6 / var(--tsuruga-parent-font-size) * 1rem);
  width: calc((100% - var(--gap)) / 2);
}
@media only screen and (min-width: 1025px) and (max-width: 1200px) {
  .p-facilities__item {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .p-facilities__item {
    width: 100%;
  }
}
.p-facilities__link {
  --num-color: #5D99CC;
  display: flex;
  align-items: center;
  text-decoration: none;
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: calc(6 / var(--tsuruga-parent-font-size) * 1rem);
  background-color: #fff;
}
@media only screen and (min-width: 768px) {
  .p-facilities__link {
    padding: calc(10 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-facilities__link {
    background-color: transparent;
  }
}
.p-facilities__link::before {
  content: "";
  border-radius: calc(6 / var(--tsuruga-parent-font-size) * 1rem);
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  border: calc(3 / var(--tsuruga-parent-font-size) * 1rem) solid var(--tsuruga-color-accent);
  opacity: 0;
  transition-property: opacity;
  transition-duration: .1s;
  transition-timing-function: ease-out;
}
.p-facilities__link .img {
  width: calc(50 / var(--tsuruga-parent-font-size) * 1rem);
  border-radius: 100px;
  overflow: hidden;
  flex-shrink: 0;
}
.p-facilities__link .num {
  flex-shrink: 0;
  width: calc(20 / var(--tsuruga-parent-font-size) * 1rem);
  margin-right: calc(10 / var(--tsuruga-parent-font-size) * 1rem);
  margin-left: calc(10 / var(--tsuruga-parent-font-size) * 1rem);
  aspect-ratio: 1;
  border-radius: 100px;
  line-height: 1;
  background-color: var(--num-color);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-facilities__link .name {
  flex-shrink: 1;
  line-height: 1.2;
}
@media only screen and (max-width: 767px) {
  .p-facilities__link .name {
    padding-left: calc(8 / var(--tsuruga-parent-font-size) * 1rem);
    padding-right: calc(8 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-facilities__link .o-icon {
  flex-shrink: 0;
  margin-right: 0;
  margin-left: auto;
  --icon-color: var(--tsuruga-color-body);
  background-color: var(--icon-color);
  border-color: var(--icon-color);
}
.p-facilities__link .o-icon--akanko {
  --icon-color: var(--tsuruga-color-akanko);
}
.p-facilities__link .o-icon--saroma {
  --icon-color: var(--tsuruga-color-saroma);
}
.p-facilities__link .o-icon--sapporo {
  --icon-color: var(--tsuruga-color-sapporo);
}
.p-facilities__link .o-icon--shikotsu {
  --icon-color: var(--tsuruga-color-shikotsu);
}
.p-facilities__link .o-icon--hakodate {
  --icon-color: var(--tsuruga-color-hakodate);
}
.p-facilities__link:hover, .p-facilities__link.is-active {
  --num-color: var(--tsuruga-color-txt-blue);
}
.p-facilities__link:hover::before, .p-facilities__link.is-active::before {
  transition-duration: .3s;
  opacity: 1;
}
.p-facilities__click {
  margin-top: calc(25 / var(--tsuruga-parent-font-size) * 1rem);
  padding-left: calc(calc(18.75 / var(--tsuruga-parent-font-size) * 1rem) + calc(13.13 / var(--tsuruga-parent-font-size) * 1rem));
  line-height: 1.75;
  position: relative;
}
.p-facilities__click .o-icon {
  position: absolute;
  top: calc(1em * 1.75 / 2);
  transform: translateY(-50%);
  left: 0;
}

.o-map-area {
  --map-width: 914;
  --map-height: 765;
  --circle-size: 100;
  transform: translate(-50%, -50%);
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (max-width: 767px) {
  .o-map-area {
    --map-width: 375;
    --map-height: 386;
  }
}
.o-map-area__list {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .o-map-area__list::before {
    content: "";
    width: calc(var(--circle-size) / var(--tsuruga-parent-font-size) * 1rem);
    display: block;
    aspect-ratio: 1;
    border-radius: 1000px;
    background-color: rgba(var(--tsuruga-color-gray-5b-rgb), 0.1);
  }
}
.o-map-area__btn {
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  .o-map-area__btn {
    position: absolute;
  }
}
.o-map-area__btn__link {
  width: 100%;
  background-color: #fff;
  text-decoration: none;
  padding-right: calc(15 / var(--tsuruga-parent-font-size) * 1rem);
  padding-left: calc(15 / var(--tsuruga-parent-font-size) * 1rem);
  height: calc(40 / var(--tsuruga-parent-font-size) * 1rem);
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 calc(20 / var(--tsuruga-parent-font-size) * 1rem) rgba(46, 104, 152, 0.2);
  border-radius: 500px;
  transition-duration: .2s;
  transition-property: color, background-color;
  transition-timing-function: ease-out;
}
@media only screen and (max-width: 767px) {
  .o-map-area__btn__link {
    padding-right: calc(20 / var(--tsuruga-parent-font-size) * 1rem);
    padding-left: calc(20 / var(--tsuruga-parent-font-size) * 1rem);
    height: calc(32 / var(--tsuruga-parent-font-size) * 1rem);
    white-space: nowrap;
    background-color: var(--area-color);
    color: #fff;
  }
  .o-map-area__btn__link--akanko {
    --area-color: var(--tsuruga-color-akanko);
  }
  .o-map-area__btn__link--saroma {
    --area-color: var(--tsuruga-color-saroma);
  }
  .o-map-area__btn__link--sapporo {
    --area-color: var(--tsuruga-color-sapporo);
  }
  .o-map-area__btn__link--shikotsu {
    --area-color: var(--tsuruga-color-shikotsu);
  }
  .o-map-area__btn__link--hakodate {
    --area-color: var(--tsuruga-color-hakodate);
  }
}
@media only screen and (min-width: 768px) {
  .o-map-area__btn__link:hover, .o-map-area__btn__link.is-active {
    color: #fff;
    background-color: var(--tsuruga-color-accent);
  }
}
@media only screen and (max-width: 767px) {
  .o-map-area__btn__link:hover, .o-map-area__btn__link.is-active {
    opacity: .7;
  }
}
.o-map-area:has(.o-map-area__btn__link.is-active) .o-map-area__list::before {
  background-color: rgba(var(--tsuruga-color-accent-rgb), 0.2);
}
.o-map-area:has(.o-map-area__btn__link.is-active) .o-map-area__list .o-map-num__link {
  --num-color: #5D99CC;
}
@media only screen and (min-width: 768px) {
  .o-map-area--akanko {
    --circle-size: 130;
    left: calc(calc(582 + var(--circle-size) / 2) / var(--map-width) * 100%);
    top: calc(calc(327 + var(--circle-size) / 2) / var(--map-height) * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .o-map-area--akanko {
    left: calc(295 / var(--map-width) * 100%);
    top: calc(228 / var(--map-height) * 100%);
  }
}
.o-map-area--akanko .o-map-area__list .o-map-num {
  --parent2: var(--circle-size);
}
@media only screen and (min-width: 768px) {
  .o-map-area--akanko .o-map-area__btn {
    left: calc(50 / var(--tsuruga-parent-font-size) * 1rem);
    top: calc(100% + calc(25 / var(--tsuruga-parent-font-size) * 1rem));
    width: calc(240 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) {
  .o-map-area--saroma {
    --circle-size: 90;
    left: calc(calc(584 + var(--circle-size) / 2) / var(--map-width) * 100%);
    top: calc(calc(229 + var(--circle-size) / 2) / var(--map-height) * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .o-map-area--saroma {
    left: calc(180 / var(--map-width) * 100%);
    top: calc(140 / var(--map-height) * 100%);
  }
}
.o-map-area--saroma .o-map-area__list .o-map-num {
  --parent2: var(--circle-size);
}
@media only screen and (min-width: 768px) {
  .o-map-area--saroma .o-map-area__btn {
    left: calc(-3em);
    bottom: calc(100% + calc(30 / var(--tsuruga-parent-font-size) * 1rem));
    width: calc(220 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.o-map-area--sapporo {
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  .o-map-area--sapporo {
    --circle-size: 80;
    left: calc(calc(235 + var(--circle-size) / 2) / var(--map-width) * 100%);
    top: calc(calc(403 + var(--circle-size) / 2) / var(--map-height) * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .o-map-area--sapporo {
    left: calc(104 / var(--map-width) * 100%);
    top: calc(182 / var(--map-height) * 100%);
  }
}
.o-map-area--sapporo .o-map-area__list .o-map-num {
  --parent2: var(--circle-size);
}
@media only screen and (min-width: 768px) {
  .o-map-area--sapporo .o-map-area__btn {
    right: calc(-1rem);
    bottom: calc(100% + calc(30 / var(--tsuruga-parent-font-size) * 1rem));
    width: calc(205 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) {
  .o-map-area--shikotsu {
    --circle-size: 130;
    left: calc(calc(161 + var(--circle-size) / 2) / var(--map-width) * 100%);
    top: calc(calc(450 + var(--circle-size) / 2) / var(--map-height) * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .o-map-area--shikotsu {
    left: calc(193 / var(--map-width) * 100%);
    top: calc(291 / var(--map-height) * 100%);
  }
}
.o-map-area--shikotsu .o-map-area__list .o-map-num {
  --parent2: var(--circle-size);
}
@media only screen and (min-width: 768px) {
  .o-map-area--shikotsu .o-map-area__btn {
    left: 5rem;
    top: calc(100% - 1em);
    width: calc(270 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) {
  .o-map-area--hakodate {
    --circle-size: 80;
    left: calc(calc(147 + var(--circle-size) / 2) / var(--map-width) * 100%);
    top: calc(calc(624 + var(--circle-size) / 2) / var(--map-height) * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .o-map-area--hakodate {
    left: calc(150 / var(--map-width) * 100%);
    top: calc(335 / var(--map-height) * 100%);
  }
}
.o-map-area--hakodate .o-map-area__list .o-map-num {
  --parent2: var(--circle-size);
}
@media only screen and (min-width: 768px) {
  .o-map-area--hakodate .o-map-area__btn {
    width: calc(188 / var(--tsuruga-parent-font-size) * 1rem);
    left: 5rem;
    top: calc(100%);
  }
}

.o-map-num {
  --parent2: 100;
  width: calc(20 / var(--tsuruga-parent-font-size) * 1rem);
  aspect-ratio: 1;
  position: absolute;
  transform: translate(-50%, -50%);
}
.o-map-num__link {
  --num-color: #728697;
  border-radius: 100px;
  background-color: var(--num-color);
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  line-height: 1;
  text-decoration: none !important;
}
.o-map-num__link:hover, .o-map-num__link.is-active {
  transform: scale(1.3);
  --num-color: var(--tsuruga-color-txt-blue)!important;
}
.o-map-num--tsuruga {
  left: calc(48 / var(--parent2) * 100%);
  top: calc(56 / var(--parent2) * 100%);
}
.o-map-num--hinanoza {
  left: calc(99 / var(--parent2) * 100%);
  top: calc(56 / var(--parent2) * 100%);
}
.o-map-num--theforestakan {
  left: calc(21 / var(--parent2) * 100%);
  top: calc(80 / var(--parent2) * 100%);
}
.o-map-num--akan-turano {
  left: calc(73 / var(--parent2) * 100%);
  top: calc(80 / var(--parent2) * 100%);
}
.o-map-num--akanterrace {
  left: calc(103 / var(--parent2) * 100%);
  top: calc(20 / var(--parent2) * 100%);
}
.o-map-num--auberge-sora {
  left: calc(73 / var(--parent2) * 100%);
  top: calc(56 / var(--parent2) * 100%);
}
.o-map-num--akan-pandepan {
  left: calc(99 / var(--parent2) * 100%);
  top: calc(80 / var(--parent2) * 100%);
}
.o-map-num--akan-bardepan {
  left: calc(48 / var(--parent2) * 100%);
  top: calc(80 / var(--parent2) * 100%);
}
.o-map-num--lakeakanpark {
  left: calc(22 / var(--parent2) * 100%);
  top: calc(56 / var(--parent2) * 100%);
}
.o-map-num--s-tsuruga {
  left: calc(40 / var(--parent2) * 100%);
  top: calc(23 / var(--parent2) * 100%);
}
.o-map-num--hokutennooka {
  left: calc(73 / var(--parent2) * 100%);
  top: calc(48 / var(--parent2) * 100%);
}
.o-map-num--izuba {
  left: calc(48 / var(--parent2) * 100%);
  top: calc(48 / var(--parent2) * 100%);
}
.o-map-num--morino-uta {
  left: calc(14 / var(--parent2) * 100%);
  top: calc(64 / var(--parent2) * 100%);
}
.o-map-num--tsuruga-buffet {
  left: calc(35 / var(--parent2) * 100%);
  top: calc(44 / var(--parent2) * 100%);
}
.o-map-num--mizunouta {
  left: calc(120 / var(--parent2) * 100%);
  top: calc(43 / var(--parent2) * 100%);
}
.o-map-num--kohakunosho {
  left: calc(101 / var(--parent2) * 100%);
  top: calc(37 / var(--parent2) * 100%);
}
.o-map-num--aonoza {
  left: calc(118 / var(--parent2) * 100%);
  top: calc(70 / var(--parent2) * 100%);
}
.o-map-num--mokunosho {
  left: calc(19 / var(--parent2) * 100%);
  top: calc(42 / var(--parent2) * 100%);
}
.o-map-num--hikarino-uta {
  left: calc(36 / var(--parent2) * 100%);
  top: calc(98 / var(--parent2) * 100%);
}
.o-map-num--onuma-epuy {
  left: calc(27 / var(--parent2) * 100%);
  top: calc(31 / var(--parent2) * 100%);
}

.p-environment {
  padding-top: calc(120 / var(--tsuruga-parent-font-size) * 1rem);
  overflow: hidden;
  width: 100%;
  --gap: calc(10 / var(--tsuruga-parent-font-size) * 1rem);
  --indent: 160;
  background: no-repeat center top/cover;
}
@media only screen and (min-width: 1025px) and (max-width: 1200px) {
  .p-environment {
    --indent: 80;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-environment {
    --indent: 80;
  }
}
@media only screen and (max-width: 767px) {
  .p-environment {
    padding-top: calc(80 / var(--tsuruga-parent-font-size) * 1rem);
    --indent: 0;
  }
}
@media only screen and (min-width: 768px) {
  .p-environment:not(.js-inview), .p-environment.js-inview.is-inview {
    background-image: url("../images/home/bg_env-pc.jpg");
  }
}
@media only screen and (max-width: 767px) {
  .p-environment:not(.js-inview), .p-environment.js-inview.is-inview {
    background-image: url("../images/home/bg_env-sp.jpg");
  }
}
.p-environment__header {
  margin-right: auto;
  margin-left: auto;
  --tsuruga-container-width: var(--tsuruga-content-0);
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 1025px) {
  .p-environment__header {
    width: calc(var(--tsuruga-child-width) / var(--tsuruga-container-width) * 100%);
    --tsuruga-child-width: var(--tsuruga-content-3);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-environment__header {
    width: calc(var(--tsuruga-child-width) / var(--tsuruga-container-width) * 100%);
    --tsuruga-child-width: var(--tsuruga-content-3);
  }
}
@media only screen and (min-width: 768px) {
  .p-environment__header {
    padding-top: calc(215 / 1920 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .p-environment__header {
    width: calc(310 / 390 * 100%);
  }
}
@media only screen and (min-width: 768px) {
  .p-environment__header > .inner {
    padding-left: calc(var(--indent) / 1440 * 100%);
    padding-right: 1em;
    width: calc(1040 / 1440 * 100%);
  }
}
@media only screen and (min-width: 1025px) {
  .p-environment__header > .inner {
    max-width: calc(840 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) {
  .p-environment__text {
    margin-top: calc(40 / var(--tsuruga-parent-font-size) * 1rem);
    max-width: calc(580 / 680 * 100%);
    margin-right: 0;
    margin-left: auto;
  }
}
@media only screen and (max-width: 767px) {
  .p-environment__text {
    line-height: 1.4;
    margin-top: calc(30 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-environment__list {
  display: flex;
  max-width: calc(740 / var(--tsuruga-parent-font-size) * 1rem);
  align-items: center;
  flex-wrap: wrap;
  gap: var(--gap);
}
.p-environment__imgs {
  position: absolute;
  right: calc(-180 / 1440 * 100%);
  width: calc(580 / 1440 * 100%);
  top: 0;
}
.p-environment__imgs__img01 {
  width: calc(500 / 580 * 100%);
}
.p-environment__imgs__img02 {
  z-index: 1;
  width: calc(260 / 580 * 100%);
  margin-right: 0;
  margin-left: auto;
  margin-top: calc(-120 / 580 * 100%);
}
.p-environment__main {
  margin-right: auto;
  margin-left: auto;
  --tsuruga-container-width: var(--tsuruga-content-0);
  position: relative;
  border-top-left-radius: calc(10 / var(--tsuruga-parent-font-size) * 1rem);
}
@media only screen and (min-width: 1025px) {
  .p-environment__main {
    width: calc(var(--tsuruga-child-width) / var(--tsuruga-container-width) * 100%);
    --tsuruga-child-width: var(--tsuruga-content-3);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-environment__main {
    width: calc(var(--tsuruga-child-width) / var(--tsuruga-container-width) * 100%);
    --tsuruga-child-width: var(--tsuruga-content-3);
  }
}
@media only screen and (min-width: 768px) {
  .p-environment__main {
    margin-top: calc(60 / 1920 * 100%);
    padding-top: calc(80 / 1920 * 100%);
    padding-left: calc(var(--indent) / 1920 * 100%);
  }
  .p-environment__main::after {
    content: "";
    display: block;
    left: 100%;
    height: 100%;
    background-color: #fff;
    width: 1000px;
    position: absolute;
    left: 100%;
    top: 0;
    bottom: 0;
  }
}
@media only screen and (max-width: 767px) {
  .p-environment__main {
    margin-top: calc(40 / var(--tsuruga-parent-font-size) * 1rem);
    padding-top: calc(40 / var(--tsuruga-parent-font-size) * 1rem);
    width: calc(350 / 390 * 100%);
    margin-right: 0;
    margin-left: auto;
  }
}
@media only screen and (min-width: 768px) {
  .p-environment__item {
    width: calc((100% - var(--gap)) / 2);
  }
}
@media only screen and (max-width: 767px) {
  .p-environment__item {
    width: calc(270 / 350 * 100%);
    margin-right: auto;
    margin-left: auto;
  }
}
.p-environment__link {
  display: flex;
  text-decoration: none;
  align-items: center;
  padding: calc(20 / var(--tsuruga-parent-font-size) * 1rem);
  background-color: #F5F7F8;
  position: relative;
  transition-property: color, background-color;
  transition-duration: .4s;
  transition-timing-function: ease-out;
}
@media only screen and (max-width: 767px) {
  .p-environment__link {
    padding: calc(10 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-environment__link .icon {
  width: calc(80 / var(--tsuruga-parent-font-size) * 1rem);
  display: block;
  overflow: hidden;
  border: 1px solid #fff;
  background-color: #fff;
  border-radius: 100px;
  flex-shrink: 0;
  aspect-ratio: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  fill: var(--tsuruga-color-accent);
  transition-property: fill, background-color;
  transition-duration: .4s;
  transition-timing-function: ease-out;
}
.p-environment__link .icon img {
  width: calc(38 / 80 * 100%);
}
.p-environment__link .icon .o-icon {
  --tsuruga-icon-width: calc(38 / var(--tsuruga-parent-font-size) * 1rem);
}
@media only screen and (max-width: 767px) {
  .p-environment__link .icon {
    width: calc(60 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-environment__link .text {
  display: block;
  padding-left: calc(25 / var(--tsuruga-parent-font-size) * 1rem);
}
@media only screen and (max-width: 767px) {
  .p-environment__link .text {
    padding-left: calc(25 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-environment__link .text .jp {
  font-size: calc(var(--tsuruga-target-font-size) / var(--tsuruga-parent-font-size) * 1rem);
  display: block;
  line-height: 1.3;
}
@media only screen and (min-width: 768px) {
  .p-environment__link .text .jp {
    --tsuruga-target-font-size: 20;
  }
}
.p-environment__link .text .en {
  font-size: calc(var(--tsuruga-target-font-size) / var(--tsuruga-parent-font-size) * 1rem);
  font-family: var(--tsuruga-font-en);
  display: block;
}
@media only screen and (max-width: 767px) {
  .p-environment__link .text .en {
    --tsuruga-target-font-size: 14;
  }
}
.p-environment__link .o-icon--circle-arrow {
  position: absolute;
  right: calc(10 / var(--tsuruga-parent-font-size) * 1rem);
  bottom: calc(10 / var(--tsuruga-parent-font-size) * 1rem);
}
.p-environment__link:hover {
  background-color: var(--tsuruga-color-accent);
  color: #fff;
}
.p-environment__link:hover .icon {
  background-color: transparent;
  fill: white;
}
.p-environment__link:hover .o-icon--circle-arrow {
  border-color: #fff;
}

.p-meet {
  display: flex;
  flex-wrap: wrap;
  padding-bottom: calc(120 / var(--tsuruga-parent-font-size) * 1rem);
  padding-top: calc(100 / var(--tsuruga-parent-font-size) * 1rem);
  align-items: flex-start;
  --sp-img-offset: calc(130 / var(--tsuruga-parent-font-size) * 1rem);
}
@media only screen and (max-width: 767px) {
  .p-meet {
    padding-top: calc(60 / var(--tsuruga-parent-font-size) * 1rem);
    padding-bottom: calc(50 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-meet__text {
  margin-top: calc(40 / var(--tsuruga-parent-font-size) * 1rem);
  margin-bottom: calc(40 / var(--tsuruga-parent-font-size) * 1rem);
}
@media only screen and (max-width: 767px) {
  .p-meet__text {
    line-height: 1.4;
    margin-top: calc(30 / var(--tsuruga-parent-font-size) * 1rem);
    margin-bottom: calc(30 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-meet__btns {
  display: flex;
  flex-direction: column;
  max-width: calc(260 / var(--tsuruga-parent-font-size) * 1rem);
}
@media only screen and (min-width: 1025px) and (max-width: 1200px) {
  .p-meet__btns {
    max-width: calc(280 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-meet__btns {
    max-width: calc(280 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-meet__btns .c-btn__link:not(:first-child) {
  margin-top: calc(6 / var(--tsuruga-parent-font-size) * 1rem);
}
.p-meet__main {
  display: flex;
  flex-direction: column;
}
@media only screen and (min-width: 768px) {
  .p-meet__main {
    --img-width: calc(400 / 1160 * 100%);
    width: calc(1160 / 1920 * 100%);
    margin-left: calc(-60 / 1920 * 100%);
  }
}
.p-meet__main > .inner {
  background-color: var(--tsuruga-color-accent);
  width: 100%;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .p-meet__main > .inner {
    padding-right: var(--img-width);
    padding-left: calc(140 / 1160 * 100%);
    padding-top: calc(170 / 1160 * 100%);
    padding-bottom: calc(150 / 1160 * 100%);
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1024px) {
  .p-meet__main > .inner {
    padding-top: calc(136 / 1160 * 100%);
    padding-bottom: calc(120 / 1160 * 100%);
  }
}

@media only screen and (max-width: 767px) {
  .p-meet__main > .inner {
    padding-top: calc(80 / var(--tsuruga-parent-font-size) * 1rem);
    padding-bottom: calc(40 / var(--tsuruga-parent-font-size) * 1rem);
    padding-bottom: calc(calc(40 / var(--tsuruga-parent-font-size) * 1rem) + var(--sp-img-offset));
    padding-left: calc(50 / 390 * 100%);
    padding-right: calc(50 / 390 * 100%);
  }
}
.p-meet__main > .inner::before {
  content: "";
  display: block;
  width: calc(220 / 1160 * 100%);
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  background: no-repeat center top/cover;
}
@media only screen and (max-width: 767px) {
  .p-meet__main > .inner::before {
    width: calc(153 / 390 * 100%);
    background: repeat-y center top/100% auto;
  }
}
.p-meet__main > .inner:not(.js-inview)::before, .p-meet__main > .inner.js-inview.is-inview::before {
  background-image: url("../images/home/deco_meet.png");
}
@media only screen and (min-width: 768px) {
  .p-meet__main__box-text {
    width: calc(540 / 620 * 100%);
    margin-right: 0;
    margin-left: auto;
  }
}
.p-meet__main__img {
  order: -1;
  margin-right: 0;
  margin-left: auto;
  z-index: 1;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .p-meet__main__img {
    width: var(--img-width);
    margin-bottom: calc(-260 / 1160 * 100%);
    margin-top: calc(60 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-meet__main__img {
    width: calc(155 / 390 * 100%);
    margin-bottom: calc(-110 / 390 * 100%);
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
  }
}
.p-meet__imgs {
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  .p-meet__imgs {
    order: -1;
    width: calc(820 / 1920 * 100%);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-meet__imgs {
    margin-top: calc(240 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-meet__imgs {
    align-items: flex-start;
    display: flex;
  }
}
.p-meet__imgs__img01 {
  width: calc(740 / 820 * 100%);
}
@media only screen and (min-width: 768px) {
  .p-meet__imgs__img01 {
    margin-right: 0;
    margin-left: auto;
  }
}
@media only screen and (max-width: 767px) {
  .p-meet__imgs__img01 {
    width: calc(200 / 390 * 100%);
    margin-left: calc(-75 / 390 * 100%);
    margin-top: calc(var(--sp-img-offset) * -1);
  }
}
.p-meet__imgs__img02 {
  width: calc(260 / 820 * 100%);
}
@media only screen and (min-width: 768px) {
  .p-meet__imgs__img02 {
    margin-top: calc(-180 / 820 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .p-meet__imgs__img02 {
    width: calc(110 / 390 * 100%);
    order: -1;
    z-index: 1;
    position: relative;
  }
}
