@charset "UTF-8";

/* ********** CDN読み込み ********** */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap");
/* @import url("https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&display=swap"); */
@import url("https://use.fontawesome.com/releases/v6.4.2/css/all.css");

/* base */
/* --px */
:root {
  --px: calc(100vw / 1440);
}
@media screen and (min-width: 1441px) {
  :root {
    --px: 1px;
  }
}
@media screen and (max-width: 1440px) and (min-width: 811px) {
  :root {
    --px: calc(100vw / 1440);
  }
}
@media screen and (max-width: 810px) {
  :root {
    --px: calc(100vw / 810);
  }
}

/* --rem */
:root {
  --rem: calc(10 * 100vw / 1440);
}
@media screen and (min-width: 1441px) {
  :root {
    --rem: 10px;
  }
}
@media screen and (max-width: 810px) {
  :root {
    --rem: clamp(10px, calc(10 * 100vw / 375), 12px);
  }
}

@media screen and (max-width: 450px) {
  :root {
    --rem: calc(10 * 100vw / 375);
  }
}

@media screen and (max-width: 374px) {
  :root {
    --rem: clamp(9px, calc(10 * 100vw / 375), 10px);
  }
}

/* ********** ノーマライズstyle（変更不可） ********** */
img,
iframe {
  vertical-align: top;
}
li {
  list-style: none;
}

/* ********** サイト全体のstyle ********** */
html {
  width: 100%;
  font-size: 62.5%;
  scroll-padding-top: 100px;
  scroll-behavior: smooth;
}
@media screen and (max-width: 1080px) {
  html {
    /* font-size:60.5%; */
  }
}
@media screen and (max-width: 810px) {
  html {
    /* font-size:60.5%; */
    /* font-size:54.6%; */
    scroll-padding-top: 0;
  }
}
body {
  color: #333;
  font-family: "Noto Sans JP", sans-serif; /* フォントファミリー */
  font-feature-settings: "palt";
  text-align: justify;
  margin: 0 auto;
  padding: 0;
  -webkit-text-size-adjust: 100%;
  overflow: hidden;
}
/*  a-para--all用 */
html.lenis body {
  height: auto;
}
.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

p,
li,
th,
td {
  font-size: 1.5rem; /* 基本フォントサイズ */
  font-weight: 400;
}
a {
  font-size: inherit;
  text-decoration: none;
  transition: all 0.3s;
  color: inherit;
}

/* ********** 固定共通モジュールのstyle（原則変更不可）********** */
/* コンテナ・ラップ */
.c-container {
  width: 100%;
  margin: 0 auto;
  position: relative;
}
.c-wrap {
  position: relative;
}
/* 基本レイアウト */
.c-col1,
.c-col2 {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
  position: relative;
}
.c-col1 {
  flex-direction: column;
}
.c-col2 {
  justify-content: space-between;
}
.c-col2 > div:nth-of-type(1) {
  margin-left: 0;
}
.c-col2 > div:nth-of-type(2) {
  margin-right: 0;
}
/* パネルレイアウト */
.c-col1--panel,
.c-col2--panel,
.c-col3--panel,
.c-col4--panel,
.c-col5--panel {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.c-col1--panel .c-item {
  display: flex;
  width: 100%;
}
.c-col2--panel .c-item,
.c-col3--panel .c-item,
.c-col4--panel .c-item,
.c-col5--panel .c-item {
  display: flex;
  flex-direction: column;
}
/* /////パネルの幅・余白変更///// */
.c-col2--panel .c-item {
  width: 47.5%;
}
.c-col2--panel .c-item:nth-of-type(2n + 1) {
  margin: 0 calc(50% - 47.5%) 0 0;
}
.c-col2--panel .c-item:nth-of-type(2n) {
  margin: 0 0 0 calc(50% - 47.5%);
}
.c-col3--panel .c-item {
  width: 31%;
}
.c-col3--panel .c-item:nth-of-type(3n + 2) {
  margin: 0 calc((100% - (31% * 3)) / 2);
}
.c-col4--panel .c-item {
  width: 20.5%;
}
.c-col4--panel .c-item:nth-of-type(4n + 2) {
  margin-left: calc((100% - (20.5% * 4)) / 3);
}
.c-col4--panel .c-item:nth-of-type(4n + 3) {
  margin: 0 calc((100% - (20.5% * 4)) / 3);
}
.c-col5--panel .c-item {
  width: 18.5%;
}
.c-col5--panel .c-item:not(:nth-of-type(5n + 1)) {
  margin-left: calc((100% - (18.5% * 5)) / 4);
}
.c-col5--panel .c-item:nth-of-type(5n + 1) {
  margin-left: 0;
}
/* /////パネルの幅・余白変更ここまで///// */

.c-col1--panel > .c-item:nth-of-type(n + 2),
.c-col2--panel > .c-item:nth-of-type(n + 3),
.c-col3--panel > .c-item:nth-of-type(n + 4),
.c-col4--panel > .c-item:nth-of-type(n + 5),
.c-col5--panel > .c-item:nth-of-type(n + 6) {
  margin-top: calc(40 * var(--px));
}
/* 画像要素 */
[class*="c-photo"] {
  width: 100%;
  height: auto;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}
[class*="c-photo"] img {
  margin: auto;
  object-fit: cover;
  font-family: "object-fit: cover;, object-position: center;";
  width: 100%;
  height: 100%;
  object-position: center;
  vertical-align: top;
}
.c-photo--con img {
  object-fit: contain;
  font-family: "object-fit: contain;, object-position: center;";
}
/* グーグルマップ埋め込み */
.c-map {
  width: 100%;
  margin: 0 auto;
  position: relative;
}
.c-map iframe {
  width: 100%;
  height: 100%;
}
/* YouTube埋め込み */
.c-youtube {
  padding-top: 56.25%;
  width: 100%;
  position: relative;
  overflow: hidden;
  touch-action: pan-y;
}
.c-youtube iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
}
/* リスト要素横並び */
.c-rowlists {
  position: relative;
  display: flex;
  width: 100%;
}
.c-rowlists__list {
  display: flex;
  align-items: center;
  justify-content: center;
}
/* リスト縦横並び */
.c-collists {
  position: relative;
  display: flex;
  flex-direction: column;
}
.c-collists li {
  display: block;
}
/* パネル切り替え */
/* アコーディオン表示 */
.c-tab__panel,
.c-accordion {
  cursor: pointer;
}

/* **************************************************************** */
/* ********************** スマートフォン対応 ************************* */

@media screen and (max-width: 810px) {
  /* ********** 固定共通モジュールのstyle（原則変更不可） ********** */
  /* ベースレレイアウト */
  .c-col2,
  .c-col1--panel .c-item,
  .c-col2--panel,
  .c-col3--panel,
  .c-col4--panel,
  .c-col5--panel {
    flex-direction: column;
  }
  .c-col2--panel .c-item,
  .c-col3--panel .c-item,
  .c-col4--panel .c-item,
  .c-col5--panel .c-item {
    width: 100%;
    margin: 20px auto 0 !important;
  }
  .c-col2--panel .c-item:first-of-type,
  .c-col3--panel .c-item:first-of-type,
  .c-col4--panel .c-item:first-of-type {
    margin: 0 auto !important;
  }
  .c-col2 > div:nth-of-type(1) {
    margin-left: auto;
  }
  .c-col2 > div:nth-of-type(2) {
    margin-right: auto;
  }
  .c-col2 > .c-wrap {
    order: 1;
    margin: 20px auto 0;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .c-col1--panel .c-item > .c-wrap {
    order: 1;
    margin: 0 auto 20px;
  }
  .c-col2 > .c-map,
  .c-col1--panel .c-item > .c-map,
  .c-col2 > .c-youtube,
  .c-col1--panel .c-item > .c-youtube {
    order: 1;
    padding-right: unset !important;
    padding-left: unset !important;
  }
}
