@charset "UTF-8";
/*-- transition --*/
/*-- transition --*/
/*-- 矢印アイコン --*/
/*-- 外部リンク --*/
/*-- メディアクエリ --*/
/*****************************************************************
コーポレートサイト ベースレイアウト設定ファイル（common.css）
      - Version: 1.0.0 (2017/09/04)
      - Create:  (2017/09/04)
      - Release: (yyyy/mm/dd)
*****************************************************************/
/*==========================================
/
/ 1■body
/ 2■common
/ 3■header
/ 4■breadcrumbs
/ 5■title
/ 6■footer
/ 7■slider(top)
/ 8■contents
/ 9■news
/ 10■faq
/ 11■free
/
==========================================*/
:root {
  --color-primary: #5C9F84;
  --color-bg: #e9e0da;
  --color-white: #ffffff;
  --color-title-bg: #000000;
  --color-text: #56534F;
  --color-link: var(--color-text);
  --color-table: #bbb;
  --color-breadcrumbs: #f1f1f1;
  --color-gray-1: #f4f4f4;
  --color-gray-2: #dddddd;
  --color-gray-3: #cdcdcd;
  --color-gray-6: #999999;
  --color-gray-8: #55514D;
  --color-pagination: var(--color-text);
  --color-red-rgb: 215, 85, 85;
  --color-btn-bg: var(--color-primary);
  --color-btn-text: var(--color-white);
  --color-dynamic-101: #B586A9;
  --color-dynamic-102: #C98181;
  --color-dynamic-103: #9C9481;
  --color-dynamic-104: #759E87;
  --color-dynamic-105: #6B9BB0;
  --color-dynamic-106: #7E8CAB;
  --top-color-bg: #f8f5f0;
  --margin-pc: 32px;
  --margin-sp: 10px;
  --margin: var(--margin-pc);
  --border-radius-pc: 20px;
  --border-radius-sp: 10px;
  --border-radius: var(--border-radius-pc);
  --font-size-pc: 1.8rem;
  --font-size-sp: 1.7rem;
  --font-size: var(--font-size-pc);
  --containerWidth: 500px;
}

/******************************************************************
1■body
*****************************************************************/
html {
  font-size: 62.5%;
  color: var(--color-primary);
  --color-primary: var(--color-text);
  scroll-snap-type: y proximity;
  scroll-padding-top: 56px;
}
@media (max-width: 767.98px) {
  html {
    scroll-padding-top: 50px;
  }
}

body {
  width: 100%;
  height: 100%;
  color: var(--color-text);
  font-weight: 500;
  font-size: var(--font-size);
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
@media (max-width: 767.98px) {
  body {
    --font-size: var(--font-size-sp);
    --margin: var(--margin-sp);
    --border-radius: var(--border-radius-sp);
  }
}

*, *:after, *:before {
  box-sizing: border-box;
}

.main {
  padding-top: 104px;
}

/******************************************************************
  2■common
*****************************************************************/
a {
  color: var(--color-link);
  text-decoration: underline;
  transition: opacity 0.25s linear;
}
@media (any-hover: hover) {
  a:hover {
    color: var(--color-link);
    text-decoration: none;
  }
  a[href^="tel:"] {
    pointer-events: none;
    text-decoration: none !important;
  }
}
a:focus {
  outline-offset: -2px;
}
a.link-arrow {
  display: inline-block;
  padding-left: 16px;
  position: relative;
}
a.link-arrow::before, a.link-arrow::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  margin-right: 0;
  content: "";
  vertical-align: middle;
  opacity: 1;
}
a.link-arrow::before {
  left: 0;
  width: 6px;
  height: 6px;
  border-top: 1px solid var(--color-link);
  border-right: 1px solid var(--color-link);
  rotate: 45deg;
}
a.blank::after {
  content: url("../img/common/icon-blank.png");
  margin-left: 6px;
}

@media (any-hover: hover) {
  a:hover {
    opacity: 0.8;
  }
}
.btn-01, .btn-02 {
  display: table;
  min-width: 268px;
  margin: 32px auto;
}
.btn-01 a, .btn-02 a {
  display: table-cell;
  border-radius: 50vh;
  text-align: center;
  vertical-align: middle;
  background-color: var(--color-primary);
  padding: 0.6em;
  font-size: 2.4rem;
  color: #fff;
  text-decoration: none;
  line-height: 1;
  letter-spacing: 2px;
}
@media (max-width: 767.98px) {
  .btn-01 a, .btn-02 a {
    font-size: 2rem;
  }
}

/******************************************************************
  3■header
*****************************************************************/
header {
  position: fixed;
  top: 0;
  z-index: 1000;
  width: 100%;
  height: 104px;
  border-top: 4px solid var(--color-primary);
  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.3);
  background-color: rgb(255, 255, 255);
  transition: height 0.1s ease;
}
header .header-logo {
  display: flex;
  align-items: center;
  height: 100px;
  margin: 0;
  font-size: 1.2rem;
  transition: height 0.2s ease;
}
@media (min-width: 992px) {
  header .header-logo img {
    width: 100%;
  }
}
header .row {
  position: relative;
}
header .nav {
  display: flex;
  justify-content: center;
}
header .nav li {
  color: #333;
  font-weight: bold;
  font-size: 1.6rem;
}
@media (min-width: 992px) {
  header .nav li {
    padding: 0 20px;
  }
}
header .nav li a {
  display: flex;
  align-items: center;
  height: 100px;
  color: #333;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.2s ease;
}
header .nav li a span {
  padding-bottom: 6px;
  border-bottom: 1px solid rgba(255, 255, 255, 0);
}
header .nav li a span.focus {
  border-bottom-color: var(--color-primary);
  color: var(--color-primary);
}
@media (min-width: 992px) {
  header .nav li a:hover {
    color: var(--color-primary);
  }
  header .nav li a:hover span {
    border-bottom-color: var(--color-primary);
  }
}
header .nav li.contact-btn {
  width: auto;
  text-align: right;
}
header .nav li.contact-btn .contact-btn-bg {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 40px;
  padding: 0 20px 0;
  border-radius: 4px;
  background-color: var(--color-primary);
  color: #fff;
  transition: opacity 0.2s ease;
}
header .nav li.contact-btn a {
  padding-bottom: 6px;
}
@media (min-width: 992px) {
  header .nav li.contact-btn a:hover {
    border-bottom: none;
  }
  header .nav li.contact-btn a:hover .contact-btn-bg {
    opacity: 0.8;
  }
}
header .nav .drawer-menu, header .nav .drawer-menu span {
  display: none;
}
@media (min-width: 992px) {
  header.mini-header {
    height: 56px;
    transition: all 0.2s ease;
  }
  header.mini-header .header-logo {
    height: 52px;
  }
  header.mini-header .header-logo img {
    width: 56%;
    transition: width 0.2s ease;
  }
  header.mini-header nav li a {
    height: 52px;
    padding: 15px 0 7px;
    transition: all 0.2s ease;
  }
  header.mini-header nav li.contact-btn a {
    height: 52px;
    padding: 7px 0;
    transition: all 0.2s ease;
  }
}

@media print {
  header {
    position: absolute;
  }
}
@media (max-width: 991.98px) {
  .main {
    padding-top: 54px;
  }
  header {
    height: 54px;
    transition: all 0.2s ease;
  }
  header .container {
    width: 100%;
    padding: 0;
  }
  .sm-header {
    width: 100%;
    padding: 0 24px;
    background-color: #fff;
  }
  header .header-logo {
    height: 50px;
  }
  .header-logo img {
    width: auto;
    height: 40px;
  }
  ul.nav {
    display: none;
    padding: 0 28px;
  }
  .drawer-menu {
    display: block;
    position: absolute;
    top: 16px;
    right: 24px;
    width: 24px;
    height: 17px;
    cursor: pointer;
  }
  .drawer-menu span {
    display: inline-block;
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    box-sizing: border-box;
    background-color: var(--color-primary);
    transition: all 0.4s;
  }
  .drawer-menu span:nth-of-type(1) {
    top: 0;
  }
  .drawer-menu span:nth-of-type(2) {
    top: 8px;
  }
  .drawer-menu span:nth-of-type(3) {
    bottom: 0;
  }
  header.is-opened {
    height: 100%;
    background-color: var(--color-bg);
    transition: all 0.2s ease;
  }
  header.is-opened .drawer-menu span:nth-of-type(1) {
    transform: translateY(8px) rotate(-45deg);
  }
  header.is-opened .drawer-menu span:nth-of-type(2) {
    opacity: 0;
  }
  header.is-opened .drawer-menu span:nth-of-type(3) {
    transform: translateY(-8px) rotate(45deg);
  }
  header.is-opened ul.nav {
    display: block;
  }
  header.is-opened ul.nav li {
    display: block;
    width: 100%;
    border-bottom: 1px solid #ccc;
  }
  header.is-opened ul.nav li a {
    position: relative;
    height: auto;
    padding: 16px 0;
    font-size: 1.6rem;
    line-height: 1.5;
    text-align: left;
  }
  header.is-opened ul.nav li a span {
    padding: 0;
  }
  header.is-opened ul.nav li a::before {
    position: absolute;
    top: 50%;
    right: 8px;
    rotate: 45deg;
    width: 8px;
    height: 8px;
    margin-top: -4px;
    border-top: 1px solid var(--color-gray-6);
    border-right: 1px solid var(--color-gray-6);
    content: "";
  }
  header.is-opened ul.nav .contact-btn {
    border-bottom: none;
  }
  header.is-opened ul.nav .contact-btn a {
    display: flex;
    justify-content: center;
    margin: 16px 0;
  }
  header.is-opened ul.nav .contact-btn a .contact-btn-bg {
    width: 144px;
    height: 48px;
  }
  header.is-opened ul.nav .contact-btn a::before {
    content: none;
  }
}
/******************************************************************
  4■breadcrumbs
*****************************************************************/
.breadcrumbs {
  padding: 4px 0;
  background-color: var(--color-breadcrumbs);
  margin-bottom: 8px;
  position: relative;
  z-index: 10;
}
.breadcrumbs li {
  display: inline-block;
  position: relative;
  margin-right: 16px;
  padding-right: 16px;
  font-size: 1.4rem;
  color: var(--color-gray-6);
}
.breadcrumbs li::before {
  content: "";
  position: absolute;
  border-top: 1px solid var(--color-gray-6);
  border-right: 1px solid var(--color-gray-6);
  top: 50%;
  right: 0;
  margin-top: -3px;
  width: 6px;
  height: 6px;
  rotate: 45deg;
}
.breadcrumbs li:last-child::before {
  content: none;
}
@media (max-width: 767.98px) {
  .breadcrumbs {
    margin-bottom: 32px;
  }
  .breadcrumbs .container {
    overflow-x: scroll;
  }
  .breadcrumbs .container ul {
    overflow: hidden;
    display: table;
    width: initial;
    width: auto;
  }
  .breadcrumbs .container ul li {
    display: table-cell;
    white-space: nowrap;
    padding-left: 16px;
  }
  .breadcrumbs .container ul li:first-child {
    padding-left: 0;
  }
}

/******************************************************************
  5■title
*****************************************************************/
.main-img {
  height: 700px;
  position: relative;
}
@media (max-width: 767.98px) {
  .main-img {
    height: 432px;
  }
}
.main-img .kv-img {
  width: 100%;
  height: 100%;
  background-position: center center;
  background-size: cover;
}

.img-text {
  color: var(--color-primary);
  width: 100%;
  text-align: center;
  font-size: 4vw;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
@media (max-width: 767.98px) {
  .img-text {
    font-size: 8vw;
  }
}
.img-text.dark-color {
  color: #333;
  text-shadow: 0px 0px 3px #fff;
}
.img-text.bright-color {
  color: #fff;
  text-shadow: 0px 0px 3px #333;
}

.title-box {
  height: 344px;
  position: relative;
  overflow: hidden;
  background-color: var(--color-title-bg);
}

.title-bg {
  opacity: 0.6;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-size: cover;
}
@media (max-width: 767.98px) {
  #facility-list .title-bg, #facility-detail .title-bg {
    background-position: 63% center;
  }
}

.title-text {
  color: #fff;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: 0;
  margin-right: -50%;
  translate: -50% -50%;
  width: 100%;
}
.title-text-upper {
  font-size: 4rem;
  font-weight: bold;
}
@media (max-width: 767.98px) {
  .title-text-upper {
    font-size: 3rem;
  }
}
.title-text-lower {
  font-size: 2.4rem;
  padding-top: 24px;
}
@media (max-width: 767.98px) {
  .title-text-lower {
    font-size: 2rem;
  }
}

.fs_sm {
  font-size: 16px;
}

.contents-ttl {
  position: relative;
  font-weight: bold;
  text-align: center;
  font-size: 3.5rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-bottom: 40px;
  color: #333;
}
@media (max-width: 767.98px) {
  .contents-ttl {
    font-size: 2.8rem;
    margin-bottom: 24px;
  }
}
.contents-ttl .fs_sm {
  font-size: 0.65em;
}
.contents-ttl-2 {
  font-size: 2.6rem;
  line-height: 1.5;
  font-weight: bold;
}
@media (max-width: 767.98px) {
  .contents-ttl-2 {
    font-size: 2.2rem;
  }
}
.contents-ttl::after {
  display: none;
}
.contents-ttl > span:first-child {
  line-height: 1.2;
}
#index .contents-ttl > span:first-child, .contact .contents-ttl > span:first-child, .recruit .contents-ttl > span:first-child {
  line-height: 1.5;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 32px;
}
@media (max-width: 767.98px) {
  #index .contents-ttl > span:first-child, .contact .contents-ttl > span:first-child, .recruit .contents-ttl > span:first-child {
    gap: 12px;
  }
}
#index .contents-ttl > span:first-child::before, #index .contents-ttl > span:first-child::after, .contact .contents-ttl > span:first-child::before, .contact .contents-ttl > span:first-child::after, .recruit .contents-ttl > span:first-child::before, .recruit .contents-ttl > span:first-child::after {
  --width: 104px;
  --height: 40px;
  --bgPos: 0 0;
  content: "";
  width: var(--width);
  height: var(--height);
  background: var(--bgUrl) no-repeat;
  background-size: auto var(--height);
  background-position: var(--bgPos);
}
@media (max-width: 767.98px) {
  #index .contents-ttl > span:first-child::before, #index .contents-ttl > span:first-child::after, .contact .contents-ttl > span:first-child::before, .contact .contents-ttl > span:first-child::after, .recruit .contents-ttl > span:first-child::before, .recruit .contents-ttl > span:first-child::after {
    --width: 48px;
    --height: 28px;
  }
}
#index .contents-ttl > span:first-child::before, .contact .contents-ttl > span:first-child::before, .recruit .contents-ttl > span:first-child::before {
  --bgUrl: url(../img/top/ttl-before.png);
}
@media (max-width: 767.98px) {
  #index .contents-ttl > span:first-child::before, .contact .contents-ttl > span:first-child::before, .recruit .contents-ttl > span:first-child::before {
    --width: 56px;
    --bgPos: -18px 0;
  }
}
#index .contents-ttl > span:first-child::after, .contact .contents-ttl > span:first-child::after, .recruit .contents-ttl > span:first-child::after {
  --bgUrl: url(../img/top/ttl-after.png);
}
.contents-ttl > span:last-child {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  width: 100%;
  margin-top: 20px;
}
@media (max-width: 767.98px) {
  .contents-ttl > span:last-child {
    gap: 12px;
    margin-top: 10px;
  }
}
.contents-ttl > span:last-child img {
  --height: 14px;
  width: auto;
  height: var(--height);
}
.contents-ttl > span:last-child::before {
  --width: 142px;
  --aspectRatio: 71/1;
  content: "";
  width: var(--width);
  aspect-ratio: var(--aspectRatio);
  background-image: radial-gradient(rgb(92, 159, 132) 50%, rgba(255, 255, 255, 0) 75%);
}
.contents-ttl > span:last-child.img-child {
  margin-top: 0;
}
.contents-ttl-sub {
  font-size: 2.6rem;
  line-height: 1.5;
  margin-bottom: 40px;
  font-weight: bold;
}
@media (max-width: 767.98px) {
  .contents-ttl-sub {
    font-size: 2.2rem;
    margin-bottom: 24px;
    text-align: center;
  }
}

@media (min-width: 768px) {
  .contents-ttl.ttl-left {
    text-align: left;
  }
  .contents-ttl.ttl-left::after {
    left: 0;
    translate: 0;
  }
}
/******************************************************************
  6■footer
*****************************************************************/
footer .section {
  font-size: 1.6rem;
  background-color: var(--color-gray-8);
  margin: 0;
  color: var(--color-white);
}
@media (max-width: 767.98px) {
  footer .section {
    font-size: 1.7rem;
  }
}
footer .section a {
  color: var(--color-white);
}
footer .section a:link, footer .section a:visited {
  text-decoration: none;
  color: var(--color-white);
}
@media (any-hover: hover) {
  footer .section a:hover {
    color: var(--color-white);
    text-decoration: underline;
    opacity: 1;
  }
}

.footer-nav-title {
  border-bottom: 1px solid var(--color-gray-6);
  font-size: 1.6rem;
  padding-bottom: 24px;
  margin-bottom: 24px;
}
@media (max-width: 767.98px) {
  .footer-nav-title {
    font-size: 1.5rem;
    padding: 16px 32px 16px 0;
    margin-bottom: 0;
    position: relative;
  }
  .footer-nav-title .trigger {
    position: absolute;
    display: block;
    width: 15px;
    height: 15px;
    right: 8px;
    top: 18px;
    cursor: pointer;
  }
  .footer-nav-title .trigger::before, .footer-nav-title .trigger::after {
    content: "";
    position: absolute;
    display: block;
    background-color: #fff;
    width: 15px;
    height: 1px;
    top: 7px;
    right: 0;
  }
  .footer-nav-title .trigger::after {
    transition: all 0.4s;
    width: 1px;
    height: 15px;
    top: 0;
    right: 7px;
  }
  .footer-nav-title .trigger.op::after {
    transform: rotate(-90deg);
  }
}

.footer-sub-menu li {
  margin-bottom: 8px;
}
@media (max-width: 767.98px) {
  .footer-sub-menu li {
    margin-bottom: 16px;
  }
}
@media (max-width: 767.98px) {
  .footer-sub-menu {
    display: none;
    padding-left: 16px;
    padding-bottom: 8px;
    font-size: 1.3rem;
    margin-bottom: 0;
  }
}

@media (max-width: 767.98px) {
  footer dl {
    border-bottom: 1px solid var(--color-gray-6);
  }
  footer dl .footer-nav-title {
    border-bottom: none;
  }
}
@media (min-width: 768px) {
  dd.footer-sub-menu {
    display: block !important;
  }
}
.copyright {
  text-align: center;
  margin: 64px 0 0;
}

footer .ga-pdf {
  padding: 16px 0 0 0;
}

.footer-logo {
  width: 210px;
  border-radius: 10px;
  padding: 14px;
  background-color: var(--color-white);
  margin: 0 auto 16px;
  text-align: center;
}
@media (max-width: 767.98px) {
  .footer-logo {
    border-radius: 5px;
  }
}
.footer-logo img {
  width: 100%;
  width: 150px;
}

.pagetop {
  position: fixed;
  right: 20px;
  bottom: 60px;
  z-index: 100;
  display: none;
}
.pagetop a {
  display: block;
  position: relative;
  right: 0;
  background: var(--color-primary);
  width: 40px;
  height: 40px;
  border-radius: 4px;
}
.pagetop a::before {
  content: "";
  position: absolute;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  top: 16px;
  left: 50%;
  margin-left: -8px;
  width: 16px;
  height: 16px;
  rotate: 315deg;
}

.sns-box {
  display: flex;
  align-items: center;
  font-size: 0;
}
.sns-box li {
  width: 40px;
  display: block;
  margin-right: 26px;
  height: 40px;
}
.sns-box li a {
  display: block;
}
.sns-box li img {
  width: 100%;
}
.sns-box .x-logo {
  width: 34px;
  height: auto;
}
@media (max-width: 767.98px) {
  .sns-box {
    margin-top: 40px;
    text-align: center;
  }
  .sns-box li {
    margin: 0 13px;
  }
}

/******************************************************************
  7■slider(top)
*****************************************************************/
.mainimg {
  position: relative;
}
.mainimg .no-link {
  cursor: default;
}
.mainimg img {
  width: 100%;
}
.mainimg img.object-fit-img {
  height: 700px;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
}
@media (max-width: 767px) {
  .mainimg img.object-fit-img {
    height: 432px;
  }
}
.mainimg .slick-dots li {
  margin: 0 8px;
}
.mainimg .slick-dots li button::before {
  font-size: 18px;
}

/******************************************************************
  8■contents
*****************************************************************/
#facility-list .facility-list.section {
  padding-top: 60px;
}
@media (max-width: 767.98px) {
  #facility-list .facility-list.section {
    padding-top: 20px;
  }
}

.section {
  padding: 80px 0 80px;
  overflow: hidden;
}
@media (max-width: 767.98px) {
  .section {
    padding: 48px 0 48px;
  }
}
.section p {
  line-height: 1.75;
}
.section.section-colored {
  background-color: var(--color-bg);
  margin-bottom: 0;
}
.section.section-image, .section.section-image-dark {
  background-position: center center;
  background-size: cover;
  position: relative;
}
.section.section-image::before, .section.section-image-dark::before {
  position: absolute;
  top: 0;
  left: 0;
  content: " ";
  width: 100%;
  height: 100%;
  background-color: var(--color-bg);
  opacity: 0.8;
  z-index: 1;
}
.section.section-image .container, .section.section-image-dark .container {
  position: relative;
  z-index: 10;
}
.section.recruit {
  background-color: #f7f7f7;
}
.section.recruit .contents-ttl-sub {
  color: var(--color-text);
}
.section.recruit .lead {
  text-align: center;
}
@media (max-width: 767.98px) {
  .section.recruit .lead {
    text-align: left;
  }
}
.section.recruit figure {
  position: relative;
}
.section.recruit figure picture img {
  aspect-ratio: 1142/381;
}
@media (max-width: 767.98px) {
  .section.recruit figure picture img {
    aspect-ratio: 343/200;
  }
}
.section.recruit figure::after {
  content: "";
  position: absolute;
  top: -36px;
  left: 40px;
  width: 77px;
  aspect-ratio: 1;
  background: url(../img/common/recruit-pic-001.png) center/contain no-repeat;
}
@media (max-width: 767.98px) {
  .section.recruit figure::after {
    width: 57px;
    top: -28px;
    left: 12px;
  }
}
.section.contact {
  background: url(../img/common/bg-pic-003.jpg) center/cover no-repeat;
  position: relative;
}
.section.contact .container {
  background-color: rgba(255, 255, 255, 0.9);
  padding: 80px 40px;
}
@media (max-width: 767.98px) {
  .section.contact .container {
    padding: 48px 28px;
  }
}
@media (min-width: 768px) {
  .section.contact .container {
    border-radius: var(--border-radius);
  }
}
.section.contact .tel-number {
  font-size: 2.8rem;
  font-weight: normal;
  vertical-align: middle;
}
.section.contact .contact-info {
  margin: 8px auto;
}
@media (max-width: 767.98px) {
  .section.contact .contact-info {
    margin: 20px auto 0px;
  }
}

.row.flx .flx-box {
  background-clip: content-box;
}
.row.flx .flx-box .flx-box-inner {
  padding: 32px 16px;
}

@media (min-width: 768px) {
  .row.flx {
    display: flex;
  }
}
.m-b-sm {
  margin-bottom: 16px;
}
@media (max-width: 767.98px) {
  .m-b-sm {
    margin-bottom: 8px;
  }
}

.m-b-md {
  margin-bottom: 40px;
}
@media (max-width: 767.98px) {
  .m-b-md {
    margin-bottom: 24px;
  }
}

.m-b-lg {
  margin-bottom: 64px;
}
@media (max-width: 767.98px) {
  .m-b-lg {
    margin-bottom: 32px;
  }
}

@media (min-width: 768px) {
  .sm-right-space {
    padding-right: 3%;
  }
  .sm-left-space {
    padding-left: 3%;
  }
}
.font-size-xs {
  font-size: 1.2rem;
}
@media (max-width: 767.98px) {
  .font-size-xs {
    font-size: 1rem;
  }
}

.font-size-sm {
  font-size: 1.4rem;
}
@media (max-width: 767.98px) {
  .font-size-sm {
    font-size: 1rem;
  }
}

.font-size-md {
  font-size: 1.6rem;
}
@media (max-width: 767.98px) {
  .font-size-md {
    font-size: 1.2rem;
  }
}

.font-size-lg {
  font-size: 2.4rem;
}
@media (max-width: 767.98px) {
  .font-size-lg {
    font-size: 1.6rem;
  }
}

.font-size-xl {
  font-size: 5rem;
}
@media (max-width: 767.98px) {
  .font-size-xl {
    font-size: 3rem;
  }
}

.text-indent {
  text-indent: -1em;
  padding-left: 1em;
}

.lead {
  line-height: 2;
}

.article {
  line-height: 2;
}

.valign-m {
  vertical-align: middle;
}

.emphasis {
  font-weight: bold;
}
.emphasis-colored {
  color: var(--color-primary);
}
.emphasis-boldcolored {
  font-weight: bold;
  color: var(--color-primary);
}

.text-center {
  text-align: center;
}

@media (min-width: 768px) {
  .text-md-center {
    text-align: center;
  }
}
.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.h-line {
  border-left: 4px solid var(--color-primary);
  padding-left: 8px;
}

.blockquote {
  position: relative;
  margin: 0 0 16px;
  padding: 0;
  z-index: 1;
}
.blockquote p {
  position: relative;
  z-index: 3;
  padding: 16px;
  font-size: 2.4rem;
  color: var(--color-primary);
}
.blockquote::before, .blockquote::after {
  content: "“";
  font-size: 60px;
  line-height: 0.8em;
  font-family: "Times New Roman", "ＭＳ Ｐゴシック", sans-serif;
  color: var(--color-primary);
  position: absolute;
  z-index: 2;
  opacity: 0.5;
}
.blockquote::before {
  left: 0;
  top: 0;
}
.blockquote::after {
  content: "”";
  line-height: 0em;
  right: 0;
  bottom: 0;
}

.colored-box {
  background-color: var(--color-bg);
  border: 1px solid var(--color-primary);
  padding: 16px;
}

.bg-gray {
  background-color: #ccc;
}
.bg-white {
  background-color: #fff;
}
.bg-colored {
  background-color: var(--color-bg);
}
.bg-img-company {
  background: url(../img/company/philosophy-bg-001.jpg) right top/cover no-repeat;
}
@media (max-width: 767.98px) {
  .bg-img-company {
    background-position: 89.4% top;
  }
}

.nowrap {
  white-space: nowrap;
}

@media (min-width: 768px) {
  .nowrap-md {
    white-space: nowrap;
  }
}
.inline-block {
  display: inline-block;
}

/* リスト関連 */
.dot-list li {
  position: relative;
  padding-left: 15px;
  margin: 16px 0;
}
.dot-list li::after {
  color: var(--color-text);
  content: "・";
  left: 0;
  position: absolute;
  top: 0;
}
.dot-list.lh-sm li {
  margin: 8px 0;
}

.check-list li {
  margin: 16px 0 16px 24px;
  position: relative;
  padding-left: 4px;
}
@media (max-width: 767.98px) {
  .check-list li {
    margin: 8px 0 8px 24px;
  }
}
.check-list li::after {
  opacity: 0.8;
  display: block;
  content: "";
  position: absolute;
  top: 0.2em;
  left: -1.4em;
  width: 16px;
  height: 10px;
  border-left: 4px solid var(--color-primary);
  border-bottom: 4px solid var(--color-primary);
  rotate: -45deg;
}
.check-list.lh-sm li {
  margin: 8px 0 8px 24px;
}

/* 画像関連 */
picture img {
  width: 100%;
}

.img-fluid {
  width: 100%;
  aspect-ratio: 3/2;
}

.img-radius {
  border-radius: var(--border-radius);
}

.img-radius-round {
  border-radius: 50%;
}

.img-cadre {
  border: 1px solid #ccc;
  padding: 8px;
}

.img-link {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  border-radius: 4px;
  opacity: 1;
}
.img-link figure {
  top: 0;
  left: 0;
  background-color: #333;
}
.img-link figure img {
  width: 100%;
  opacity: 0.4;
  transition: transform 0.2s ease;
}
@media (min-width: 992px) {
  .img-link:hover figure img {
    scale: 1.08;
  }
}
.img-link .img-link-text {
  position: absolute;
  top: 16px;
  left: 16px;
  color: #fff;
}
.img-link .img-link-text-ttl {
  font-size: 2.8rem;
}
.img-link .box-arrow::before, .img-link .box-arrow::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  margin-right: 0;
  content: "";
  vertical-align: middle;
  opacity: 1;
}
.img-link .box-arrow::before {
  right: 24px;
  width: 16px;
  height: 16px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  rotate: 45deg;
}

.fukidashi-top {
  background-color: #fff;
  position: relative;
  z-index: 1;
  padding: 8px;
  margin: 16px 0 0;
  border: 1px solid var(--color-gray-6);
}
.fukidashi-top::before, .fukidashi-top::after {
  border: 10px solid transparent;
  border-bottom-color: #fff;
  border-top-width: 0;
  position: absolute;
  top: -9px;
  content: " ";
  display: block;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 0;
  z-index: 1;
}
.fukidashi-top::after {
  border-bottom-color: var(--color-gray-6);
  top: -10px;
  z-index: 0;
}

/* テーブル関連 */
@media (min-width: 768px) {
  .table-list dl {
    display: table;
    width: 100%;
  }
  .table-list dt, .table-list dd {
    display: table-cell;
    vertical-align: middle;
    border-right: 1px solid var(--color-table);
    border-top: 1px solid var(--color-table);
    padding: 24px;
  }
  .table-list dt {
    width: 25%;
    text-align: center;
    position: relative;
  }
  .table-list dd {
    display: table-cell;
    width: auto;
    border-right: none;
  }
  .table-list dl:first-child dt, .table-list dl:first-child dd {
    border-top: none;
  }
  .table-list.no-v-line dt, .table-list.no-v-line dd {
    border-right: none;
  }
  .table-list.time-line dt {
    color: var(--color-primary);
  }
  .table-list.time-line dt, .table-list.time-line dd {
    vertical-align: top;
    border-top: none;
  }
  .table-list.time-line dt::after {
    content: "";
    height: 8px;
    width: 8px;
    background-color: var(--color-primary);
    position: absolute;
    right: -5px;
    top: 32px;
    border-radius: 4px;
  }
  .table-list.time-line dd p {
    margin-top: 8px;
  }
}
@media (max-width: 767.98px) {
  .table-list dt, .table-list dd {
    padding: 8px;
  }
  .table-list dt {
    background-color: var(--color-bg);
  }
  .table-list dd {
    padding-bottom: 16px;
  }
  .table-list dl:first-child dt, .table-list dl:first-child dd {
    border-top: none;
  }
  .table-list.time-line dt {
    color: var(--color-primary);
    background-color: transparent;
    position: relative;
    font-weight: bold;
  }
  .table-list.time-line dt, .table-list.time-line dd {
    vertical-align: top;
    border-top: none;
    border-left: 1px solid var(--color-table);
    padding-left: 16px;
  }
  .table-list.time-line dt::after {
    content: "";
    height: 7px;
    width: 7px;
    background-color: var(--color-primary);
    position: absolute;
    left: -4px;
    top: 13px;
    border-radius: 4px;
  }
  .table-list.time-line dd {
    padding-top: 0;
  }
  .table-list.time-line dd p {
    margin: 8px 0 0 8px;
  }
}
/* その他 */
a.map-link {
  display: inline-block;
  margin-top: 14px;
  padding: 11.5px 37px;
  background-color: var(--color-primary);
  vertical-align: middle;
  color: #fff;
  font-size: 1.6rem;
  text-decoration: none;
}
a.map-link::after {
  content: url(../img/common/icon-blank-white.png);
  margin-left: 10px;
}

.g-map {
  border: 0;
  width: 100%;
  height: 320px;
}

.map-responsive {
  position: relative;
  width: 100%;
}
.map-responsive::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
@media (max-width: 767.98px) {
  .map-responsive::before {
    padding-top: 100%;
  }
}
.map #map-canvas {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: auto;
  height: auto;
}

.anchor {
  margin-top: -136px;
  padding-top: 136px;
}
@media (max-width: 991.98px) {
  .anchor {
    margin-top: -134px;
    padding-top: 134px;
  }
}
@media (max-width: 767.98px) {
  .anchor {
    margin-top: -102px;
    padding-top: 102px;
  }
}

/******************************************************************
  9■news
*****************************************************************/
.news-list ul {
  margin-bottom: 32px;
}
.news-list ul li {
  border-bottom: 1px solid var(--color-table);
}
.news-list ul li a {
  display: table;
  text-decoration: none !important;
  width: 100%;
  padding: 8px 0;
}
@media (min-width: 768px) {
  .news-list ul li a {
    font-size: 1.4rem;
    height: 96px;
  }
  .news-list ul li a:hover {
    background-color: var(--color-bg);
  }
}
.news-list ul li a .news-date, .news-list ul li a .news-category, .news-list ul li a .news-title {
  display: table-cell;
  vertical-align: middle;
}
@media (max-width: 767.98px) {
  .news-list ul li a .news-date, .news-list ul li a .news-category, .news-list ul li a .news-title {
    display: inline-block;
    margin: 4px 0;
  }
}
@media (min-width: 768px) {
  .news-list ul li a .news-date {
    width: 136px;
  }
  .news-list ul li a .news-category {
    width: 168px;
    padding-right: 24px;
  }
  .news-list ul li a .news-category .category-frame {
    width: 100%;
    text-align: center;
  }
}
.news-list ul li a .news-date {
  color: var(--color-text);
  text-align: center;
}
@media (max-width: 767.98px) {
  .news-list ul li a .news-date {
    text-align: left;
    margin-right: 24px;
  }
}
.news-list ul li a .news-category {
  margin: 4px 0;
}
.news-list ul li a .news-category .category-frame {
  border: 1px solid var(--color-primary);
  padding: 2px 8px;
  display: inline-block;
  color: var(--color-primary);
}
@media (max-width: 767.98px) {
  .news-list ul li a .news-title {
    display: block;
  }
}
.news-list ul li a .news-text {
  width: 100%;
  color: var(--color-text);
}
@media (min-width: 768px) {
  .news-list ul li a .news-text {
    position: relative;
    display: inline-block;
    padding-right: 56px;
  }
  .news-list ul li a .news-text::before, .news-list ul li a .news-text::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 24px;
    margin: auto;
    margin-right: 0;
    content: "";
    vertical-align: middle;
    opacity: 1;
  }
  .news-list ul li a .news-text::before {
    right: 24px;
    width: 12px;
    height: 12px;
    border-top: 1px solid var(--color-link);
    border-right: 1px solid var(--color-link);
    rotate: 45deg;
  }
}
@media (max-width: 767.98px) {
  .news-list ul li a {
    position: relative;
    display: inline-block;
    padding-right: 24px;
  }
  .news-list ul li a::before, .news-list ul li a::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 8px;
    margin: auto;
    margin-right: 0;
    content: "";
    vertical-align: middle;
    opacity: 1;
  }
  .news-list ul li a::before {
    right: 8px;
    width: 8px;
    height: 8px;
    border-top: 1px solid var(--color-link);
    border-right: 1px solid var(--color-link);
    rotate: 45deg;
  }
}

.table-news-list .news-box {
  width: 100%;
  border-top: 1px solid var(--color-table);
}
.table-news-list .news-box a {
  display: block;
  padding: 24px 16px;
  text-decoration: none;
}
@media (max-width: 767.98px) {
  .table-news-list .news-box a {
    padding: 16px 0;
  }
}
.table-news-list .news-box a h3 {
  font-weight: bold;
  font-size: 1.8rem;
  margin-bottom: 16px;
  text-decoration: underline;
}
@media (max-width: 767.98px) {
  .table-news-list .news-box a h3 {
    font-size: 1.6rem;
    margin-bottom: 8px;
  }
}
.table-news-list .news-box:first-child {
  border-top: none;
}

.news-info {
  font-size: 1.4rem;
}
@media (max-width: 767.98px) {
  .news-info {
    margin-bottom: 8px;
    font-size: 1.3rem;
  }
}
.news-info .news-date {
  margin-right: 16px;
}
.news-info .category-frame {
  border: 1px solid var(--color-table);
  padding: 2px 8px;
  background-color: #fff;
  display: inline-block;
  text-align: center;
  min-width: 8em;
}

.news-img {
  max-width: 500px;
}

/******************************************************************
10■faq
*****************************************************************/
.faq-container {
  position: relative;
  width: 100%;
  cursor: pointer;
}

.faq-q {
  display: block;
  position: relative;
  margin: 0;
  padding: 20px 60px;
  background: var(--color-gray-1);
  cursor: pointer;
}
@media (max-width: 767.98px) {
  .faq-q {
    padding: 15px 35px 10px;
  }
}
.faq-q:not(:first-child) {
  margin-top: 20px;
}
.faq-q p::before {
  content: "Q";
  top: 18px;
}
@media (max-width: 767.98px) {
  .faq-q p::before {
    top: 15px;
  }
}
@media (max-width: 767.98px) {
  .faq-q:after {
    right: 10px;
  }
}
.faq-q.open::before, .faq-q.open::after {
  background-color: var(--color-white);
}
@media (any-hover: hover) {
  .faq-q:hover::before, .faq-q:hover::after {
    background-color: var(--color-white);
  }
}

.faq-a {
  display: none;
  padding: 30px 20px 30px 60px;
  position: relative;
  background-color: var(--color-gray-1);
}
@media (max-width: 767.98px) {
  .faq-a {
    padding: 20px 10px 20px 35px;
  }
}
.faq-a:before {
  content: "A";
  top: 28px;
}
@media (max-width: 767.98px) {
  .faq-a:before {
    top: 20px;
  }
}

.faq-q p:before, .faq-a:before {
  position: absolute;
  left: 20px;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1;
}
@media (max-width: 767.98px) {
  .faq-q p:before, .faq-a:before {
    left: 10px;
    font-size: 1.8rem;
  }
}

@media (min-width: 992px) {
  .faq-container .faq-q:hover {
    background-color: var(--color-primary);
    color: white;
  }
}

.faq-container .faq-q:active,
.faq-container .faq-q.open {
  background-color: var(--color-primary);
  color: white;
}

.faq-container .faq-q:hover i:before,
.faq-container .faq-q:hover i:active,
.faq-container .faq-q.open i {
  color: var(--color-text);
}

/*--------------------------------------------------
 【共通】トグルボタン
--------------------------------------------------*/
.tgl-btn {
  cursor: pointer;
}
.tgl-btn::before, .tgl-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: var(--margin);
  translate: 0 -50%;
  width: var(--margin);
  height: 1px;
  background-color: var(--color-primary);
}
.tgl-btn::after {
  rotate: 90deg;
  transition: rotate 0.3s;
}
.tgl-btn.open::after {
  rotate: 0deg;
}

/*--------------------------------------------------
 【共通】検索機能付き動的ページ以降追記
--------------------------------------------------*/
.font-bold {
  font-weight: bold;
}

.w-100 {
  width: 100%;
}

.grid-center {
  display: grid;
  align-items: center;
}

.d-flex {
  display: flex;
}

.flex-column {
  flex-direction: column;
}
.flex-wrap {
  flex-wrap: wrap;
}
.flex-col {
  --width: 100%;
  --times: 1;
}
.flex-col.gap-2 {
  --times: 2;
}
@media (min-width: 768px) {
  .flex-col-2 {
    --width: calc((100% - var(--margin) * 1 ) / 2);
  }
}
@media (min-width: 768px) {
  .flex-col-3 {
    --width: calc((100% - var(--margin) * 2) / 3);
  }
}
.flex-col .flex-col-list {
  width: var(--width);
}
.flex-col.flex-col-card {
  gap: var(--margin);
  padding: 0;
  container: view-card/inline-size;
  --bgColor: var(--color-white);
}
.flex-col.flex-col-card.bg-color {
  --bgColor: var(--top-color-bg);
}
.flex-col.flex-col-card .flex-col-list {
  --width: calc((100% - var(--margin) * 3) / 4);
  display: flex;
  flex-direction: column;
  gap: var(--gapS);
  width: var(--width);
  padding: var(--gapS);
  background-color: var(--bgColor);
}
@container view-card (width < 750px) {
  .flex-col.flex-col-card .flex-col-list {
    --width: calc((100% - var(--margin) * 2) / 3);
  }
}
@container view-card (width < 600px) {
  .flex-col.flex-col-card .flex-col-list {
    --width: calc((100% - var(--margin)) / 2);
  }
}
.flex-col.flex-col-card .flex-col-list figure {
  width: 100px;
  margin-inline: auto;
}
.flex-col.flex-col-card .flex-col-list img {
  width: 100%;
  aspect-ratio: 1;
}
.flex-col.flex-col-card .flex-col-list .flex-col-card-ttl {
  font-size: 2.2rem;
  text-align: center;
  font-weight: bold;
}
@media (max-width: 767.98px) {
  .flex-col.flex-col-card .flex-col-list .flex-col-card-ttl {
    font-size: 1.7rem;
  }
}
.flex-col.flex-col-card .flex-col-list .flex-col-card-ttl span {
  white-space: nowrap;
}
.flex-col.flex-col-column {
  --gap: 40px;
  --width: calc((100% - var(--gap)) / 2);
  --widthImg: 100px;
  gap: var(--gap);
}
@media (max-width: 767.98px) {
  .flex-col.flex-col-column {
    --width: 100%;
    --gap: 24px;
    --widthImg: 80px;
  }
}
.flex-col.flex-col-column .flex-col-list {
  --listGap: 24px;
  display: flex;
  gap: var(--listGap);
  width: var(--width);
  background-color: var(--bgColor);
}
@media (max-width: 767.98px) {
  .flex-col.flex-col-column .flex-col-list {
    --listGap: 16px;
  }
}
.flex-col.flex-col-column .flex-col-list figure {
  width: var(--widthImg);
}
.flex-col.flex-col-column .flex-col-list img {
  width: 100%;
  aspect-ratio: 1;
}
.flex-col.flex-col-column .flex-col-list-item {
  width: calc(100% - var(--widthImg) - var(--listGap));
  gap: 8px;
}
@media (max-width: 767.98px) {
  .flex-col.flex-col-column .flex-col-list-item {
    gap: 4px;
  }
}
.flex-col.flex-col-column .flex-col-list .flex-col-column-ttl {
  font-size: 2.2rem;
  font-weight: bold;
}
@media (max-width: 767.98px) {
  .flex-col.flex-col-column .flex-col-list .flex-col-column-ttl {
    font-size: 1.7rem;
  }
}
.flex-col.flex-col-column .flex-col-list .flex-col-column-ttl span {
  white-space: nowrap;
}
.flex-col.flex-col-serviceCat {
  --gap: 32px;
  --width: calc((100% - var(--gap)) / 2);
  --color: #5D5D5D;
  --margin: 15px;
  padding-bottom: calc(var(--margin) + 2px);
  gap: var(--gap);
}
@media (min-width: 992px) {
  .flex-col.flex-col-serviceCat {
    --width: calc((100% - var(--gap) * 3) / 4);
  }
}
@media (max-width: 767.98px) {
  .flex-col.flex-col-serviceCat {
    --width: 100%;
    --gap: 16px;
    padding-bottom: 0;
  }
}
.flex-col.flex-col-serviceCat .flex-col-list {
  width: var(--width);
}
.flex-col.flex-col-serviceCat a {
  position: relative;
  flex-direction: column;
  justify-content: center;
  border: 2px solid var(--color);
  background-color: var(--color-white);
  padding: 50px 16px 40px;
  text-align: center;
  border-radius: var(--border-radius);
  font-weight: bold;
  overflow: visible;
}
@media (max-width: 767.98px) {
  .flex-col.flex-col-serviceCat a {
    flex-direction: row;
    justify-content: flex-start;
    flex-wrap: wrap;
    text-align: left;
    padding: 24px 30px 24px 20px;
    min-height: 100px;
    align-items: center;
  }
}
.flex-col.flex-col-serviceCat a > span:first-child > span {
  white-space: nowrap;
}
.flex-col.flex-col-serviceCat a .icon__btn {
  position: absolute;
  bottom: calc(var(--margin) * -1);
  left: calc(50% - var(--margin));
  fill: var(--color-white);
}
@media (max-width: 767.98px) {
  .flex-col.flex-col-serviceCat a .icon__btn {
    bottom: calc(50% - 12px);
    left: auto;
    right: 16px;
  }
}
.flex-col.flex-col-serviceCat a .icon__btn::before {
  background-color: var(--color);
}
.flex-col.flex-col-serviceCat a .icon__btn svg {
  rotate: 90deg;
  transform-origin: left;
  top: -2px;
}
@media (max-width: 767.98px) {
  .flex-col.flex-col-serviceCat a .icon__btn svg {
    right: 0;
  }
}
.flex-col.flex-col-side {
  --imgWidth: 274px;
}
@media (max-width: 767.98px) {
  .flex-col.flex-col-side {
    --imgWidth:100%;
  }
}
.flex-col.flex-col-side figure {
  width: var(--imgWidth);
}
.flex-col.flex-col-side figure img {
  aspect-ratio: 3/2;
}
.flex-col.flex-col-side .view__item-col-text {
  width: calc(100% - var(--imgWidth) - var(--gapL));
}
@media (max-width: 767.98px) {
  .flex-col.flex-col-side .view__item-col-text {
    width: 100%;
  }
}

.justify-content-center {
  justify-content: center;
}

.gap-1 {
  --margin: 20px;
  gap: var(--margin);
}
@media (max-width: 767.98px) {
  .gap-1 {
    --margin: 10px;
  }
}
.gap-2 {
  --margin: 32px;
  gap: var(--margin);
}
@media (max-width: 767.98px) {
  .gap-2 {
    --margin: 16px;
  }
}
.facility-list .gap-2 {
  --margin: 20px;
}
@media (max-width: 767.98px) {
  .facility-list .gap-2 {
    --margin: 16px;
  }
}
@media (min-width: 992px) {
  .facility-list .gap-2 {
    --margin: 24px;
  }
}
@media (min-width: 1200px) {
  .facility-list .gap-2 {
    --margin: 32px;
  }
}
.gap-3 {
  --margin: 40px;
  gap: var(--margin);
}
@media (max-width: 767.98px) {
  .gap-3 {
    --margin: 24px;
  }
}

.border-1 {
  border: 1px solid var(--color-gray-1);
}
.border-y-1 {
  border: 1px solid var(--color-gray-1);
  border-width: 1px 0;
}
.border__color-primary {
  border-color: var(--color-primary);
}

/* 余白 */
.m-auto {
  margin: auto;
}

.mt-auto {
  margin-top: auto;
}

.m-0 {
  margin: 0;
}

.m-half {
  margin: calc(var(--margin) * 0.5);
}

.m-1 {
  margin: calc(var(--margin) * 1);
}

.m-2 {
  margin: calc(var(--margin) * 1.5);
}

.m-3 {
  margin: calc(var(--margin) * 2.2);
}

.m-4 {
  margin: calc(var(--margin) * 3.3);
}

.m-5 {
  margin: calc(var(--margin) * 4.9);
}

.mt-0 {
  margin-top: 0;
}

.mt-half {
  margin-top: calc(var(--margin) * 0.5);
}

.mt-1 {
  margin-top: calc(var(--margin) * 1);
}

.mt-2 {
  margin-top: calc(var(--margin) * 1.5);
}

.mt-3 {
  margin-top: calc(var(--margin) * 2.2);
}

.mt-4 {
  margin-top: calc(var(--margin) * 3.3);
}

.mt-5 {
  margin-top: calc(var(--margin) * 4.9);
}

.mr-0 {
  margin-right: 0;
}

.mr-half {
  margin-right: calc(var(--margin) * 0.5);
}

.mr-1 {
  margin-right: calc(var(--margin) * 1);
}

.mr-2 {
  margin-right: calc(var(--margin) * 1.5);
}

.mr-3 {
  margin-right: calc(var(--margin) * 2.2);
}

.mr-4 {
  margin-right: calc(var(--margin) * 3.3);
}

.mr-5 {
  margin-right: calc(var(--margin) * 4.9);
}

.mb-0 {
  margin-bottom: 0;
}

.mb-half {
  margin-bottom: calc(var(--margin) * 0.5);
}

.mb-1 {
  margin-bottom: calc(var(--margin) * 1);
}

.mb-2 {
  margin-bottom: calc(var(--margin) * 1.5);
}

.mb-3 {
  margin-bottom: calc(var(--margin) * 2.2);
}

.mb-4 {
  margin-bottom: calc(var(--margin) * 3.3);
}

.mb-5 {
  margin-bottom: calc(var(--margin) * 4.9);
}

.ml-0 {
  margin-left: 0;
}

.ml-half {
  margin-left: calc(var(--margin) * 0.5);
}

.ml-1 {
  margin-left: calc(var(--margin) * 1);
}

.ml-2 {
  margin-left: calc(var(--margin) * 1.5);
}

.ml-3 {
  margin-left: calc(var(--margin) * 2.2);
}

.ml-4 {
  margin-left: calc(var(--margin) * 3.3);
}

.ml-5 {
  margin-left: calc(var(--margin) * 4.9);
}

.my-0 {
  margin-top: 0;
  margin-bottom: 0;
}

.my-half {
  margin-top: calc(var(--margin) * 0.5);
  margin-bottom: calc(var(--margin) * 0.5);
}

.my-1 {
  margin-top: calc(var(--margin) * 1);
  margin-bottom: calc(var(--margin) * 1);
}

.my-2 {
  margin-top: calc(var(--margin) * 1.5);
  margin-bottom: calc(var(--margin) * 1.5);
}

.my-3 {
  margin-top: calc(var(--margin) * 2.2);
  margin-bottom: calc(var(--margin) * 2.2);
}

.my-4 {
  margin-top: calc(var(--margin) * 3.3);
  margin-bottom: calc(var(--margin) * 3.3);
}

.my-5 {
  margin-top: calc(var(--margin) * 4.9);
  margin-bottom: calc(var(--margin) * 4.9);
}

.mx-0 {
  margin-inline: 0;
}

.mx-half {
  margin-inline: calc(var(--margin) * 0.5);
}

.mx-1 {
  margin-inline: calc(var(--margin) * 1);
}

.mx-2 {
  margin-inline: calc(var(--margin) * 1.5);
}

.mx-3 {
  margin-inline: calc(var(--margin) * 2.2);
}

.mx-4 {
  margin-inline: calc(var(--margin) * 3.3);
}

.mx-5 {
  margin-inline: calc(var(--margin) * 4.9);
}

.p-0 {
  padding: 0;
}

.p-half {
  padding: calc(var(--margin) * 0.5);
}

.p-1 {
  padding: calc(var(--margin) * 1);
}

.p-2 {
  padding: calc(var(--margin) * 1.5);
}

.p-3 {
  padding: calc(var(--margin) * 2.2);
}

.p-4 {
  padding: calc(var(--margin) * 3.3);
}

.p-5 {
  padding: calc(var(--margin) * 4.9);
}

.pt-0 {
  padding-top: 0;
}

.pt-half {
  padding-top: calc(var(--margin) * 0.5);
}

.pt-1 {
  padding-top: calc(var(--margin) * 1);
}

.pt-2 {
  padding-top: calc(var(--margin) * 1.5);
}

.pt-3 {
  padding-top: calc(var(--margin) * 2.2);
}

.pt-4 {
  padding-top: calc(var(--margin) * 3.3);
}

.pt-5 {
  padding-top: calc(var(--margin) * 4.9);
}

.pr-0 {
  padding-right: 0;
}

.pr-half {
  padding-right: calc(var(--margin) * 0.5);
}

.pr-1 {
  padding-right: calc(var(--margin) * 1);
}

.pr-2 {
  padding-right: calc(var(--margin) * 1.5);
}

.pr-3 {
  padding-right: calc(var(--margin) * 2.2);
}

.pr-4 {
  padding-right: calc(var(--margin) * 3.3);
}

.pr-5 {
  padding-right: calc(var(--margin) * 4.9);
}

.pb-0 {
  padding-bottom: 0;
}

.pb-half {
  padding-bottom: calc(var(--margin) * 0.5);
}

.pb-1 {
  padding-bottom: calc(var(--margin) * 1);
}

.pb-2 {
  padding-bottom: calc(var(--margin) * 1.5);
}

.pb-3 {
  padding-bottom: calc(var(--margin) * 2.2);
}

.pb-4 {
  padding-bottom: calc(var(--margin) * 3.3);
}

.pb-5 {
  padding-bottom: calc(var(--margin) * 4.9);
}

.pl-0 {
  padding-left: 0;
}

.pl-half {
  padding-left: calc(var(--margin) * 0.5);
}

.pl-1 {
  padding-left: calc(var(--margin) * 1);
}

.pl-2 {
  padding-left: calc(var(--margin) * 1.5);
}

.pl-3 {
  padding-left: calc(var(--margin) * 2.2);
}

.pl-4 {
  padding-left: calc(var(--margin) * 3.3);
}

.pl-5 {
  padding-left: calc(var(--margin) * 4.9);
}

.py-0 {
  padding-top: 0;
  padding-bottom: 0;
}

.py-half {
  padding-top: calc(var(--margin) * 0.5);
  padding-bottom: calc(var(--margin) * 0.5);
}

.py-1 {
  padding-top: calc(var(--margin) * 1);
  padding-bottom: calc(var(--margin) * 1);
}

.py-2 {
  padding-top: calc(var(--margin) * 1.5);
  padding-bottom: calc(var(--margin) * 1.5);
}

.py-3 {
  padding-top: calc(var(--margin) * 2.2);
  padding-bottom: calc(var(--margin) * 2.2);
}

.py-4 {
  padding-top: calc(var(--margin) * 3.3);
  padding-bottom: calc(var(--margin) * 3.3);
}

.py-5 {
  padding-top: calc(var(--margin) * 4.9);
  padding-bottom: calc(var(--margin) * 4.9);
}

.px-0 {
  padding-inline: 0;
}

.px-half {
  padding-inline: calc(var(--margin) * 0.5);
}

.px-1 {
  padding-inline: calc(var(--margin) * 1);
}

.px-2 {
  padding-inline: calc(var(--margin) * 1.5);
}

.px-3 {
  padding-inline: calc(var(--margin) * 2.2);
}

.px-4 {
  padding-inline: calc(var(--margin) * 3.3);
}

.px-5 {
  padding-inline: calc(var(--margin) * 4.9);
}

.overflow__ellipsis {
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 3;
}

.relative {
  position: relative;
}

@media (min-width: 768px) {
  .deco {
    --width: 359px;
    position: relative;
  }
  .deco::before {
    content: "";
    position: absolute;
    width: var(--width);
    aspect-ratio: 359/282;
    background: url(../img/common/bg-pic-001.png) center/contain no-repeat;
  }
  .deco-left::before {
    top: 76px;
    left: -117px;
    rotate: 56deg;
  }
  .deco-right::before {
    top: 30px;
    right: -147px;
  }
}

.label span {
  color: #fff;
  background-color: var(--color-primary);
  padding: 4px 8px;
}

.view {
  --gap: 32px;
  --gapL: 40px;
  --gapM: 32px;
  --gapS: 24px;
  --gapB: 32px;
  --gapLabelRow: 10px;
  --gapLabelCol: 5px;
  container: view/inline-size;
  gap: var(--gap);
  overflow: hidden;
}
@media (max-width: 767.98px) {
  .view {
    --gapL: 24px;
    --gapM: 24px;
    --gapS: 22px;
    --gapB: 16px;
    --gap: 20px;
  }
}
.facility-list .view {
  gap: 20px;
}
@media (min-width: 992px) {
  .facility-list .view {
    gap: 24px;
  }
}
.view .px-1 {
  padding-inline: min(4.3%, 24px);
}
@media (max-width: 767.98px) {
  .view .px-1 {
    padding-inline: 20px;
  }
}
.view img {
  width: 100%;
  aspect-ratio: 4/3;
}
.view__101 .view__ttl {
  background-color: var(--color-dynamic-101);
}
.view__102 .view__ttl {
  background-color: var(--color-dynamic-102);
}
.view__103 .view__ttl {
  background-color: var(--color-dynamic-103);
}
.view__104 .view__ttl {
  background-color: var(--color-dynamic-104);
}
.view__105 .view__ttl {
  background-color: var(--color-dynamic-105);
}
.view__106 .view__ttl {
  background-color: var(--color-dynamic-106);
}
#facility-detail .view__head {
  gap: 16px;
  margin-bottom: var(--gapL);
}
@media (max-width: 767.98px) {
  #facility-detail .view__head {
    padding-inline: 15px;
  }
}
#facility-detail .view__head-label {
  -moz-column-gap: 24px;
       column-gap: 24px;
  row-gap: 8px;
  line-height: 1;
}
#facility-detail .view__head-label > div {
  padding: 8px 24px;
  border-radius: 5px;
}
@media (max-width: 767.98px) {
  #facility-detail .view__head-label > div {
    padding: 8px 16px;
  }
}
.view__label-s1 {
  background: #6B9BB0;
  border: 1px solid var(--color-primary);
  color: var(--color-white);
}
.view__label-s4 {
  background: #F0FFF9;
  border: 1px solid var(--color-primary);
  color: var(--color-primary);
}
.view__ttl {
  background-color: var(--color-primary);
  color: var(--color-white);
  font-weight: bold;
  font-size: 2.6rem;
  padding: 20px;
}
@media (max-width: 767.98px) {
  .view__ttl {
    font-size: 2.2rem;
    padding: 16px;
  }
}
.facility-list .view__ttl {
  font-size: 1.8rem;
  padding: 12px;
  font-size: 1.9rem;
  padding: 10px 16px;
}
@media (min-width: 768px) {
  .facility-list .view__ttl {
    padding: 12px 20px;
  }
}
.view__ttl-d {
  font-size: 4rem;
  font-weight: bold;
}
@media (max-width: 767.98px) {
  .view__ttl-d {
    font-size: 2.8rem;
  }
}
.view__ttl-sub {
  position: relative;
  display: flex;
  flex-direction: column;
  padding-left: 16px;
  gap: 12px;
}
.view__ttl-sub span:first-child {
  font-size: 2.6rem;
  font-weight: bold;
}
@media (max-width: 767.98px) {
  .view__ttl-sub span:first-child {
    font-style: 2.2rem;
  }
}
.view__ttl-sub::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 6px;
  height: 100%;
  background-color: var(--color-primary);
}
#facility-detail .view {
  --gap: var(--gapL);
}
@media (max-width: 767.98px) {
  #facility-detail .view {
    margin-inline: -15px;
  }
}
.view__box {
  gap: var(--gapL);
  padding-bottom: var(--gapL);
}
.facility-list .view__box {
  --gap: 20px;
  gap: var(--gap);
  height: 100%;
  padding-bottom: 0;
}
@media (max-width: 767.98px) {
  .facility-list .view__box {
    --gap: 16px;
  }
}
#facility-detail .view__box {
  background-color: var(--color-white);
}
#facility-detail .view__box-overview {
  padding-bottom: calc(var(--gapL) * 2);
}
#facility-detail .view__box-overview, #facility-detail .view__box-features {
  --flexImg: 1;
  --flexText: 1;
  --maxWidth: 640px;
}
@media (max-width: 767.98px) {
  #facility-detail .view__box-overview, #facility-detail .view__box-features {
    --flexImg: auto;
    --flexText: auto;
  }
}
#facility-detail .view__box-voice {
  --flexImg: 1;
  --flexText: 1;
  --maxWidth: 180px;
}
@media (max-width: 767.98px) {
  #facility-detail .view__box-voice {
    --flexImg: auto;
    --flexText: auto;
  }
}
#facility-detail .view__box-voice .view__item-col-img::before {
  content: "";
  display: block;
  width: 180px;
  aspect-ratio: 1;
  background: var(--imgSrc) center/cover no-repeat;
  clip-path: circle(90px);
}
#facility-detail .view__box-img .view__item {
  -moz-column-gap: var(--gapM);
       column-gap: var(--gapM);
}
#facility-detail .view__box-img .flex-col {
  container: view-list/inline-size;
}
#facility-detail .view__box-img .flex-col .flex-col-list {
  --width: calc((100% - var(--gapM) * 2) / 3);
  gap: 20px;
}
@container view-list (width < 720px) {
  #facility-detail .view__box-img .flex-col .flex-col-list {
    --width: calc((100% - var(--gapM) * 1) / 2);
  }
}
@container view-list (width < 500px) {
  #facility-detail .view__box-img .flex-col .flex-col-list {
    --width: 100%;
  }
}
@media (max-width: 767.98px) {
  #facility-detail .view__box-img .flex-col .flex-col-list {
    gap: 16px;
  }
}
#company #cts_03 .view__box {
  padding-bottom: 0;
}
.view__item {
  padding: 0;
  row-gap: var(--gapM);
  -moz-column-gap: var(--gapL);
       column-gap: var(--gapL);
}
.view__item-col {
  justify-content: center;
}
.view__item-col-img {
  max-width: var(--maxWidth);
  flex: var(--flexImg);
}
@media (max-width: 767.98px) {
  .view__item-col-img {
    width: 100%;
  }
}
.view__item-col-text {
  flex: var(--flexText);
  gap: var(--gapM);
}
@media (max-width: 767.98px) {
  .view__item-col-text {
    width: 100%;
  }
}
.view__item-col-text.view__item-list > div dt, .view__item-col-text.view__item-list > div dd {
  width: 100%;
}
.view__item-col-text > div:last-child::after {
  display: none;
}
@media (max-width: 767.98px) {
  .view__item-col-text > div:last-child::after {
    display: block;
  }
}
.view__item-list {
  gap: var(--gapS);
  row-gap: calc(var(--gapS) * 2 + 2px);
  padding-bottom: var(--gapS);
}
.view__item-list .view__item-list-li {
  --rowGap: 14px;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  row-gap: var(--rowGap);
}
@media (max-width: 767.98px) {
  .view__item-list .view__item-list-li {
    --rowGap: 8px;
  }
}
.view__item-list .view__item-list-li::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: calc(var(--gapS) * -1);
  width: 100%;
  height: 2px;
  background-image: repeating-linear-gradient(90deg, #cdcdcd, #cdcdcd 4px, transparent 4px, transparent 8px), repeating-linear-gradient(90deg, #cdcdcd, #cdcdcd 4px, transparent 4px, transparent 8px);
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 100% 2px;
}
.view__item-list li, .view__item-list dt {
  position: relative;
  padding-left: 1em;
  font-weight: bold;
}
.view__item-list li::before, .view__item-list dt::before {
  content: "";
  position: absolute;
  top: 0.4em;
  left: 0;
  display: inline-block;
  width: 10px;
  aspect-ratio: 1;
  border-radius: 50vh;
  background-color: var(--color-gray-8);
  margin-right: 10px;
}
@media (max-width: 767.98px) {
  .view__item-list li::before, .view__item-list dt::before {
    margin-right: 8px;
  }
}
.view__item-list dt {
  width: 270px;
  align-content: center;
}
@media (max-width: 767.98px) {
  .view__item-list dt {
    width: 100%;
  }
}
.view__item-list dt::before {
  top: 50%;
  translate: 0 -50%;
}
.view__item-list dd {
  display: flex;
  flex-direction: column;
  row-gap: var(--rowGap);
  width: calc(100% - 270px);
}
@media (max-width: 767.98px) {
  .view__item-list dd {
    width: 100%;
  }
}
.facility-list .view__item {
  display: grid;
  row-gap: 16px;
  -moz-column-gap: 20px;
       column-gap: 20px;
  grid-template: "area-right-top area-right-top" auto "area-left area-right-mid" auto "area-left area-right-btm" auto "area-left area-right-btm" 1fr/39.8% 1fr;
}
@container view (width < 500px) {
  .facility-list .view__item {
    grid-template: "area-right-top area-right-top" auto "area-left area-left" auto "area-right-mid area-right-mid" auto "area-right-btm area-right-btm" auto/39.8% 1fr;
  }
}
@media (max-width: 767.98px) {
  .facility-list .view__item {
    row-gap: 10px;
    -moz-column-gap: 16px;
         column-gap: 16px;
  }
}
#facility-detail .view__item {
  padding: 0 var(--gapB);
}
.facility-list .view__item figure {
  grid-area: area-left;
}
.view__item-ttl {
  font-size: clamp(2rem, 2.2933507171rem + 0.0782268579vw, 2.6rem);
  line-height: 1.5;
  font-weight: bold;
}
.facility-list .view__item-ttl {
  grid-area: area-right-top;
}
@media (max-width: 767.98px) {
  .view__item-ttl {
    font-size: 2rem;
    line-height: 1.2;
  }
}
.view__item-cts1 {
  grid-area: area-right-mid;
}
@media (max-width: 767.98px) {
  .view__item-cts1 {
    font-size: 1.4rem;
  }
}
.view__item-cts2 {
  grid-area: area-right-btm;
  font-size: 1.6rem;
  line-height: 1;
}
@media (max-width: 767.98px) {
  .view__item-cts2 {
    -moz-column-gap: 10px;
         column-gap: 10px;
    font-size: 1.2rem;
  }
}
.view__item-cts2 > div {
  color: var(--color-primary);
  border: 1px solid var(--color-primary);
  background-color: #F0FFF9;
  padding: 8px;
  border-radius: 5px;
}
.view__text {
  background-image: repeating-linear-gradient(90deg, #cdcdcd, #cdcdcd 4px, transparent 4px, transparent 8px), repeating-linear-gradient(90deg, #cdcdcd, #cdcdcd 4px, transparent 4px, transparent 8px);
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 100% 2px;
  background-position: left top, left bottom;
  background-repeat: repeat-x, repeat-x;
  background-size: 100% 2px, 100% 2px;
}
.facility-list .view__text {
  padding: 20px 0;
}
@media (max-width: 767.98px) {
  .facility-list .view__text {
    padding: 12px 0;
  }
}
.facility-list .view__text dl {
  display: flex;
  gap: 20px;
}
@container view (width < 500px) {
  .facility-list .view__text dl {
    gap: 0;
    flex-direction: column;
  }
}
.facility-list .view__text dl dt {
  white-space: nowrap;
}
@media (max-width: 767.98px) {
  .facility-list .view__text dl dt {
    font-size: 1.4rem;
  }
}
.facility-list .view__text dl dd {
  font-size: 1.9rem;
}
@media (max-width: 767.98px) {
  .facility-list .view__text dl dd {
    font-size: 1.6rem;
  }
}
@media (min-width: 992px) {
  .facility-list .view__text dl dd {
    font-size: 2rem;
  }
}
.view__label {
  --gap: 10px;
  --minWidth: 89px;
  gap: var(--gap);
}
#facilityservices .view__label, #facility-detail .view__label {
  --columnGap: 5px;
  --rowGap: 5px;
  container: view-label/inline-size;
  -moz-column-gap: var(--columnGap);
       column-gap: var(--columnGap);
  row-gap: var(--rowGap);
}
#facilityservices .view__label-list, #facility-detail .view__label-list {
  --font-size: var(--font-size-pc);
  --width: calc((100% - var(--columnGap) * 4) / 5);
  padding: 14px 4px;
  width: var(--width);
  font-weight: bold;
}
@container view-label (width < 940px) {
  #facilityservices .view__label-list, #facility-detail .view__label-list {
    --width: calc((100% - var(--columnGap) * 3) / 4);
  }
}
@container view-label (width < 720px) {
  #facilityservices .view__label-list, #facility-detail .view__label-list {
    --width: calc((100% - var(--columnGap) * 2) / 3);
  }
}
@container view-label (width < 600px) {
  #facilityservices .view__label-list, #facility-detail .view__label-list {
    --width: calc((100% - var(--columnGap) * 1) / 2);
  }
}
@media (max-width: 767.98px) {
  #facilityservices .view__label-list, #facility-detail .view__label-list {
    --font-size: var(--font-size-sp);
    padding: 10px 1px;
    letter-spacing: -0.03em;
  }
}
.view__label-list {
  --font-size: 1.4rem;
  --gap: 10px;
  --width: calc((100% - (var(--gap) * 2)) / 3);
  font-size: var(--font-size);
  width: var(--width);
  gap: var(--gap);
  color: #797979;
  letter-spacing: 0;
  background-color: var(--color-gray-1);
  padding: 4px 0;
  border: 1px solid var(--color-gray-3);
  border-radius: 5px;
  text-align: center;
}
@media (min-width: 992px) {
  .view__label-list {
    --width: calc((100% - (var(--gap) * 3)) / 4);
  }
}
@media (min-width: 1200px) {
  .view__label-list {
    --width: calc((100% - (var(--gap) * 4)) / 5);
  }
}
@media (max-width: 767.98px) {
  .view__label-list {
    --font-size: 1.1rem;
    --gap: 8px;
    --width: calc((100% - (var(--gap) * 4 + 8px)) / 5);
    padding: 6px 0;
  }
}
@media (max-width: 479.98px) {
  .view__label-list {
    --width: calc((100% - (var(--gap) * 3 + 6px)) / 4);
  }
}
@media (max-width: 767.98px) {
  .view__label-text {
    font-size: 1.4rem;
  }
}
.view__imgLink {
  max-width: 400px;
  align-self: center;
}
@media (max-width: 767.98px) {
  .view__imgLink {
    padding-inline: var(--gapB);
  }
}
.view__imgLink img {
  aspect-ratio: auto;
}
.view__btn {
  margin-top: auto;
  margin-bottom: 32px;
  -moz-column-gap: 40px;
       column-gap: 40px;
  row-gap: 32px;
}
@media (max-width: 767.98px) {
  .view__btn {
    margin-bottom: 20px;
    -moz-column-gap: 24px;
         column-gap: 24px;
    row-gap: 12px;
  }
}
.facility-list .view__btn {
  --margin: 20px;
  margin-bottom: var(--margin);
}
@media (max-width: 767.98px) {
  .facility-list .view__btn {
    --margin: 16px;
  }
}
@media (min-width: 992px) {
  .facility-list .view__btn {
    --margin: 24px;
  }
}
.view__btn2 {
  position: relative;
  -moz-column-gap: 40px;
       column-gap: 40px;
  row-gap: 32px;
}
@media (max-width: 767.98px) {
  .view__btn2 {
    -moz-column-gap: 24px;
         column-gap: 24px;
    row-gap: 12px;
  }
  .view__btn2 .link__type-B {
    width: min(450px, 86%);
  }
}
.view__btn2::after {
  content: "";
  position: absolute;
  top: -38px;
  width: 100%;
  height: 2px;
  background-image: repeating-linear-gradient(90deg, #cdcdcd, #cdcdcd 4px, transparent 4px, transparent 8px), repeating-linear-gradient(90deg, #cdcdcd, #cdcdcd 4px, transparent 4px, transparent 8px);
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 100% 2px;
}
@media (max-width: 767.98px) {
  .view__btn2::after {
    top: -24px;
  }
}

.note-li ul {
  list-style: none;
  display: flex;
  flex-direction: column;
}
.note-li li {
  position: relative;
  padding-left: 1.2em;
}
@media (max-width: 767.98px) {
  .note-li li {
    --margin: 24px;
  }
}
.note-li li::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}

.num-li {
  padding: 2px;
  background-color: var(--color-primary);
}
.num-li ul {
  counter-reset: isCounter;
  gap: 18px;
  padding: var(--gapL);
  font-weight: bold;
  background-color: var(--color-white);
  font-size: 2.6rem;
  border-radius: 0 40px;
}
@media (max-width: 767.98px) {
  .num-li ul {
    font-size: 2rem;
    border-radius: 0 20px;
  }
}
.num-li li::before {
  content: counter(isCounter) ".";
  counter-increment: isCounter;
}

.memo {
  padding: var(--gapL);
  background-color: #F0FFF9;
  border: 2px dotted var(--color-primary);
  border-radius: var(--border-radius);
}
@media (max-width: 767.98px) {
  .memo {
    padding: 30px 16px;
  }
}
.memo-ttl {
  font-size: 2.2rem;
  font-weight: bold;
  color: var(--color-primary);
  margin-bottom: 16px;
}
@media (max-width: 767.98px) {
  .memo-ttl {
    font-size: 2rem;
    margin-bottom: 12px;
  }
}

.pagination {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.5em;
  align-items: center;
  line-height: 1.4;
  margin: 24px 0;
}
@media (min-width: 768px) {
  .pagination {
    flex-direction: row;
    justify-content: space-between;
    margin: 40px 0;
  }
}
.pagination .gap {
  gap: 0.5em;
}
.paginationNum {
  display: flex;
  justify-content: center;
}
.paginationBox {
  display: flex;
  align-items: center;
}
.paginationItem {
  font-family: Arial, Helvetica, sans-serif;
  letter-spacing: 0.02em;
  border: 1px solid var(--color-pagination);
}
.paginationItem a, .paginationItem .current {
  padding: 0.4em 0;
  width: 28.5px;
  height: 100%;
  text-align: center;
  font-size: 1.4rem;
  display: grid;
  justify-content: center;
  line-height: 1;
  text-decoration: none;
}
.paginationItem .current {
  background-color: var(--color-pagination);
  color: var(--color-white);
}
.pagination .icon__pageinfo {
  fill: none;
  stroke: var(--color-pagination);
  width: 12px;
  height: 12px;
  display: grid;
}
.pagination .icon__pageinfo svg {
  width: 100%;
  aspect-ratio: 1;
}
.pagination .prev {
  rotate: 180deg;
}

/******************************************************************
  11■free(その他、独自のスタイルは以下に記述してください)
*****************************************************************/
.link__type {
  line-height: 1.25;
}
.link__type-tel .text::before, .link__type-form .text::before {
  content: "";
  display: inline-block;
  height: 29px;
  aspect-ratio: 1;
}
.link__type-tel .text::before {
  background: url(../img/common/icon-oubo-tel.png) center/contain no-repeat;
}
.link__type-form .text::before {
  background: url(../img/common/icon-oubo-web.png) center/contain no-repeat;
}
.link__type-A {
  --fontSize: 2rem;
  --textAlign: center;
  --padding: 24px;
  display: grid;
  align-items: center;
  font-size: var(--fontSize);
  text-align: var(--textAlign);
  padding: var(--padding);
  grid-template: "iconStart text icon" auto/1fr auto 1fr;
  border: 2px solid var(--color-btn-bg);
  background-color: var(--color-btn-bg);
  color: var(--color-btn-text);
  border-radius: 50vh;
  font-weight: bold;
  width: min(450px, 87%);
  transition: background-color 0.3s, color 0.3s, fill 0.3s;
}
@media (max-width: 767.98px) {
  .link__type-A {
    --fontSize: 1.8rem;
    --padding: 16px;
  }
}
@media (any-hover: hover) {
  .link__type-A {
    cursor: pointer;
  }
  .link__type-A:hover {
    background-color: var(--color-btn-text);
    color: var(--color-btn-bg);
    opacity: 1;
  }
  .link__type-A:hover .icon__btn {
    fill: var(--color-white);
  }
  .link__type-A:hover .icon__btn::before {
    background-color: var(--color-btn-bg);
  }
  .link__type-A:hover .icon__start {
    fill: var(--color-primary);
  }
}
.link__type-A .text {
  grid-area: text;
  text-decoration: none;
  padding-right: 0.5em;
}
.link__type-A .text__wrap::before {
  content: "\a";
  white-space: pre;
}
.link__type-A .text__sm {
  font-size: 1.6rem;
}
.link__type-A.apply {
  --color-btn-bg: var(--color-apply-bg);
  --color-btn-text: var(--color-apply-text);
}
#cts_105 .link__type-A, #cts_106 .link__type-A {
  width: min(562px, 87%);
  line-height: 1.25;
}
.link__type-B {
  --fontSize: 2rem;
  --textAlign: center;
  --padding: 24px;
  display: grid;
  align-items: center;
  font-size: var(--fontSize);
  text-align: var(--textAlign);
  padding: var(--padding);
  grid-template: ". text icon" auto/1fr auto 1fr;
  border: 2px solid var(--color-link);
  background-color: var(--color-white);
  color: var(--color-link);
  border-radius: 50vh;
  font-weight: bold;
  width: min(450px, 91%);
  transition: background-color 0.3s, color 0.3s, fill 0.3s;
}
@media (max-width: 767.98px) {
  .link__type-B {
    --fontSize: 1.8rem;
    --padding: 16px;
  }
}
@media (any-hover: hover) {
  .link__type-B {
    cursor: pointer;
  }
  .link__type-B:hover {
    background-color: var(--color-link);
    color: var(--color-white);
    opacity: 1;
  }
  .link__type-B:hover .icon__btn {
    fill: var(--color-link);
  }
  .link__type-B:hover .icon__btn::before {
    background-color: var(--color-white);
  }
}
.link__type-B .text {
  grid-area: text;
  text-decoration: none;
}
.link__type-B .icon__btn {
  fill: var(--color-white);
}
.link__type-B .icon__btn::before {
  background-color: var(--color-link);
}
.link__type-C {
  --fontSize: 2rem;
  --textAlign: center;
  --padding: 24px;
  display: grid;
  align-items: center;
  font-size: var(--fontSize);
  text-align: var(--textAlign);
  padding: var(--padding);
  --fontSize: 1.8rem;
  --padding: 16px;
  --width: 180px;
  grid-template: ". text icon" auto/1fr auto 1fr;
  border: 2px solid var(--color-link);
  background-color: var(--color-link);
  color: var(--color-white);
  border-radius: 50vh;
  font-weight: bold;
  width: var(--width);
  transition: background-color 0.3s, color 0.3s, fill 0.3s;
}
@media (max-width: 767.98px) {
  .link__type-C {
    --fontSize: 1.8rem;
    --padding: 16px;
  }
}
@media (max-width: 767.98px) {
  .link__type-C {
    --fontSize: 1.7rem;
    --padding: 12px;
    --width: 180px;
  }
}
@media (any-hover: hover) {
  .link__type-C {
    cursor: pointer;
  }
  .link__type-C:hover {
    background-color: var(--color-white);
    color: var(--color-link);
    opacity: 1;
  }
  .link__type-C:hover .icon__btn {
    fill: var(--color-link);
  }
}
.link__type-C .text {
  grid-area: text;
  text-decoration: none;
}
.link__type-C .icon__btn {
  --width: 16px;
  fill: var(--color-white);
}
.link__type-C .icon__btn::before {
  display: none;
}

@media (max-width: 767.98px) {
  .spHdn {
    display: none;
  }
  .spTextCenter {
    text-align: center;
  }
}
.icon__btn {
  --width: 12px;
  position: relative;
  grid-area: icon;
  justify-self: end;
  fill: var(--color-primary);
  width: var(--width);
  margin-left: 16px;
  display: inline-block;
  transition: all 0.3s;
}
@media (max-width: 767.98px) {
  .icon__btn {
    --width: 10px;
  }
}
@media (max-width: 767.98px) {
  .icon__btn {
    margin-left: 4px;
  }
}
.icon__btn svg {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  right: 4px;
  top: -1px;
}
@media (max-width: 767.98px) {
  .icon__btn svg {
    right: 2px;
  }
}
.icon__btn::before {
  --width: 30px;
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  translate: 0 -50%;
  width: var(--width);
  aspect-ratio: 1;
  border-radius: 50vh;
  background-color: var(--color-white);
}
@media (max-width: 767.98px) {
  .icon__btn::before {
    --width: 20px;
  }
}
.scroll-up .icon__btn {
  rotate: -90deg;
  transform-origin: left;
  top: -2px;
}
@media (min-width: 768px) {
  .scroll-up .icon__btn svg {
    right: 5px;
  }
}
.scroll-down .icon__btn {
  rotate: 90deg;
  transform-origin: left;
  top: 2px;
}
.icon__arrow001 {
  background-color: var(--color-primary);
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="%23ffffff" stroke="%23ffffff" stroke-width="2px" d="M1.687 32c-0.432 0-0.864-0.165-1.193-0.494-0.66-0.66-0.66-1.726 0-2.385l13.12-13.12-13.12-13.121c-0.66-0.66-0.66-1.726 0-2.385s1.726-0.66 2.385 0l14.312 14.312c0.66 0.66 0.66 1.726 0 2.385l-14.312 14.312c-0.329 0.331-0.761 0.496-1.193 0.496z" /></svg>') no-repeat center;
          mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="%23ffffff" stroke="%23ffffff" stroke-width="2px" d="M1.687 32c-0.432 0-0.864-0.165-1.193-0.494-0.66-0.66-0.66-1.726 0-2.385l13.12-13.12-13.12-13.121c-0.66-0.66-0.66-1.726 0-2.385s1.726-0.66 2.385 0l14.312 14.312c0.66 0.66 0.66 1.726 0 2.385l-14.312 14.312c-0.329 0.331-0.761 0.496-1.193 0.496z" /></svg>') no-repeat center;
}
.icon__blank001 {
  background-color: var(--color-primary);
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="%23ffffff" stroke="%23ffffff" stroke-width="1px" d="M28.8 19.2h3.2v12.8h-32v-32h12.8v3.2h-9.6v25.6h25.6v-9.6z" /><path fill="%23ffffff" stroke="%23ffffff" stroke-width="1px"  d="M19.2 0h12.8v12.8h-3.2v-6.4l-12.8 12.8-3.2-3.2 12.8-12.8h-6.4v-3.2z" /></svg>') no-repeat center;
          mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="%23ffffff" stroke="%23ffffff" stroke-width="1px" d="M28.8 19.2h3.2v12.8h-32v-32h12.8v3.2h-9.6v25.6h25.6v-9.6z" /><path fill="%23ffffff" stroke="%23ffffff" stroke-width="1px"  d="M19.2 0h12.8v12.8h-3.2v-6.4l-12.8 12.8-3.2-3.2 12.8-12.8h-6.4v-3.2z" /></svg>') no-repeat center;
}
.icon__start {
  --height: 29px;
  position: relative;
  grid-area: iconStart;
  justify-self: end;
  fill: var(--color-white);
  height: var(--height);
  display: inline-block;
  transition: all 0.3s;
  margin-right: 4px;
}
.icon__start svg {
  position: relative;
  height: 29px;
  aspect-ratio: 1;
  right: 4px;
}
@media (max-width: 767.98px) {
  .icon__start svg {
    top: -1px;
    right: 2px;
  }
}

.slick-dotted.slick-slider {
  margin-bottom: 0 !important;
}

@media (min-width: 768px) {
  .slick-dots {
    bottom: 6.2% !important;
  }
}
.slick-dots li button::before {
  font-size: 12px !important;
}
.slick-dots li.slick-active button::before {
  color: var(--color-primary) !important;
  opacity: 1 !important;
}

/*--------------------------------------------------
トップページ
--------------------------------------------------*/
.main {
  background-color: var(--top-color-bg);
}

.index-company {
  background: url(../img/top/bg-pic-002.jpg) center;
}
@media (max-width: 767.98px) {
  .index-company .link__type {
    margin: auto;
  }
}
.index-business {
  position: relative;
}
.index-business::before {
  content: "";
  position: absolute;
  top: 0;
  width: 100%;
  height: 62%;
  background: url(../img/common/bg-pic-003.jpg) center top/180% no-repeat;
}
@media (max-width: 767.98px) {
  .index-business::before {
    background-size: 250%;
  }
}
@media (min-width: 992px) {
  .index-business::before {
    background-size: 160%;
  }
}
@media (min-width: 1200px) {
  .index-business::before {
    background-size: cover;
  }
}
.index-business > div {
  position: relative;
}
.index-business .flex-col-list:first-child {
  --iconImg: url(../img/top/business-pic-001.png);
}
.index-business .flex-col-list:last-child {
  --iconImg: url(../img/top/business-pic-002.png);
}
.index-business .flex-col-list a {
  --top: 28px;
  position: relative;
  background-color: var(--color-white);
  border-radius: var(--border-radius);
  border-bottom-right-radius: 0;
  overflow: visible;
  margin-top: var(--top);
  transition: outline 0.1s;
}
@media (max-width: 767.98px) {
  .index-business .flex-col-list a {
    --top: 24px;
  }
}
.index-business .flex-col-list a figure img {
  border-radius: var(--border-radius);
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.index-business .flex-col-list a::before {
  --beforetop: calc(var(--top) * -1);
  --right: 24px;
  --width: 77px;
  content: "";
  position: absolute;
  top: var(--beforetop);
  right: var(--right);
  width: var(--width);
  aspect-ratio: 1;
  background: var(--iconImg) center/contain no-repeat;
}
@media (max-width: 767.98px) {
  .index-business .flex-col-list a::before {
    --right: 16px;
    --width: 57px;
  }
}
@media (any-hover: hover) {
  .index-business .flex-col-list a:hover {
    opacity: 1;
    outline: 4px solid var(--color-primary);
    outline-offset: -4px;
  }
}
.index-business-item {
  position: relative;
  padding: 22px;
}
@media (max-width: 767.98px) {
  .index-business-item {
    padding: 20px;
  }
}
.index-business-item::after {
  --width: 40px;
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: var(--width);
  aspect-ratio: 1;
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  background-color: var(--color-primary);
}
@media (max-width: 767.98px) {
  .index-business-item::after {
    --width: 15px;
  }
}
.index-facility-list {
  background: url(../img/top/bg-pic-002.jpg) center/cover no-repeat;
}

/*--------------------------------------------------
【動的コンテンツ】一覧ページ
--------------------------------------------------*/
.facility-list .flex-col-list {
  background-color: var(--color-white);
  border-radius: var(--border-radius);
  overflow: hidden;
}
.facility-list-text {
  width: min(100%, 960px);
  margin: auto;
}

/*--------------------------------------------------
個人情報保護方針など
--------------------------------------------------*/
#privacy .lh-175 {
  line-height: 1.75;
}

.li__dot li {
  position: relative;
  padding-left: 1.5em;
}
.li__dot li::before {
  content: "・";
  position: absolute;
  left: 0.4em;
}

.li__no {
  counter-reset: brackets-counter circle-counter;
}
.li__no-brackets li {
  position: relative;
  padding-left: 2.6em;
}
.li__no-brackets li::before {
  content: "（" counter(brackets-counter) "）";
  counter-increment: brackets-counter;
  position: absolute;
  left: 0;
  font-weight: bold;
}
.li__no-circle {
  position: relative;
  padding-left: 1.8em;
}
.li__no-circle::before {
  content: "";
  position: absolute;
  top: 6px;
  left: 0;
  width: 18px;
  aspect-ratio: 1;
  border: 1px solid #333;
  border-radius: 50%;
}
@media (max-width: 767.98px) {
  .li__no-circle::before {
    top: 5px;
    width: 17px;
  }
}
.li__no-circle::after {
  content: counter(circle-counter);
  counter-increment: circle-counter;
  position: absolute;
  top: 4px;
  left: 0;
  font-size: 14px;
  padding-left: 0.4em;
}
@media (max-width: 767.98px) {
  .li__no-circle::after {
    top: 2px;
  }
}

/*****************************************************************
SearchForm専用SCSSファイル（searchForm.scss）
*****************************************************************/
.is-hdn {
  display: none;
}

/******************************************************************
  ■ 検索フォーム
*****************************************************************/
.searchForm {
  --margin: 1em;
  --bgColor-red: rgba(var(--color-red-rgb), .1);
  --border-radius: 4px;
  line-height: 1.1;
  background-color: var(--color-white);
  padding: 0 16px 20px;
  margin-inline: -16px;
}
@media (min-width: 768px) {
  .searchForm {
    border: 1px solid var(--color-gray-3);
    padding: 56px 40px;
    border-radius: 20px;
    margin: 0;
  }
}
.searchForm .gap {
  --margin: 1em;
  --margin: 20px;
}
.searchForm .gap-1 {
  gap: var(--margin);
}
.searchForm .gap-2 {
  gap: calc(var(--margin) * 2);
}
.searchForm .gap__row-1 {
  row-gap: var(--margin);
}
.searchForm .gap__row-2 {
  row-gap: calc(var(--margin) * 2);
}
.searchForm .gap__col-1 {
  -moz-column-gap: var(--margin);
       column-gap: var(--margin);
}
.searchForm .gap__col-2 {
  -moz-column-gap: calc(var(--margin) * 1.2);
       column-gap: calc(var(--margin) * 1.2);
}
.searchForm a {
  text-decoration: underline;
}
.searchForm .tgl-btn::before, .searchForm .tgl-btn::after {
  background-color: var(--color-white);
}
@media (min-width: 768px) {
  .searchForm .tgl-btn {
    pointer-events: none;
    display: grid;
    grid-template: "area-left area-add area-after" auto/auto auto 1fr;
  }
  .searchForm .tgl-btn::before {
    left: 0;
    right: auto;
    width: 4px;
    height: calc(100% - 12px);
    height: 100%;
    background-color: var(--color-primary);
    border-radius: var(--border-radius);
  }
  .searchForm .tgl-btn::after {
    grid-area: area-after;
    width: calc(100% - 2em);
    background-color: #b4b4b4;
    rotate: 0deg;
  }
}
@media (min-width: 768px) {
  .searchForm .tgl-cts {
    display: flex !important;
  }
}
.searchForm .attention {
  background-color: var(--bgColor-red);
  font-size: 1.4rem;
  padding: calc(var(--margin) * 0.5);
  width: 100%;
  font-weight: bold;
  text-shadow: 1px 1px 1px var(--color-white);
}
.searchForm__text {
  transition: all 0.3s;
}
.searchForm__box {
  position: relative;
  display: flex;
  flex-wrap: wrap;
}
.searchForm__title {
  --ttlWidth: calc(100% + var(--margin) * 2);
  --ttlMargin: 0 calc(var(--margin) * -1);
  --background-color: var(--color-primary);
  --color: var(--color-white);
  --padding: calc(var(--margin) * .8) 2.6em calc(var(--margin) * .8) 1em;
  position: relative;
  width: var(--ttlWidth);
  margin: var(--ttlMargin);
  background-color: var(--background-color);
  color: var(--color);
  padding: var(--padding);
  border-bottom: 1px solid var(--color-white);
  font-weight: bold;
  align-items: center;
}
@media (min-width: 768px) {
  .searchForm__title {
    --ttlWidth: 100%;
    --ttlMargin: 0;
    --background-color: transparent;
    --color: var(--color-primary);
    --padding: calc(var(--margin) * .8) 0 calc(var(--margin) * .8) 1em;
    --padding: calc(var(--margin) * .1) 0 calc(var(--margin) * .1) 1em;
  }
}
.searchForm__title-text {
  grid-area: area-left;
}
.searchForm__title-add {
  grid-area: area-add;
  font-weight: normal;
  font-size: small;
  margin-left: 8px;
}
@media (min-width: 768px) {
  .searchForm__title-add {
    color: #5D5D5D;
  }
}
.checkbox .searchForm__title {
  background-color: var(--color-gray-1);
  padding: 0.6em;
  font-size: 1.4rem;
}
.searchForm__item {
  width: 100%;
  margin-bottom: calc(var(--margin) * 2);
}
@media (min-width: 768px) {
  .searchForm__item {
    width: calc(100% - var(--margin) * 2);
    margin-inline: auto;
  }
}
.searchForm__item .radio {
  width: 100%;
}
.searchForm__item-inn:not(:first-child) {
  margin-top: var(--spacer);
}
.searchForm .preftitle {
  background-color: var(--color-gray-1);
  padding: 0.4em;
}
.searchForm .radio li {
  position: relative;
  flex: 1 auto;
  border: 1px solid var(--color-primary);
  text-align: center;
}
.searchForm .radio__label {
  cursor: pointer;
  position: relative;
  display: grid;
  align-items: center;
  background-color: var(--color-white);
  color: var(--color-primary);
  height: 100%;
  padding: calc(var(--margin) * 0.5);
}
.searchForm input[type=radio] {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 5;
}
.searchForm input[type=checkbox] {
  position: absolute;
  width: 18px;
  height: 18px;
  z-index: 5;
}
.searchForm input[type=radio]:checked + .radio__label {
  background-color: transparent;
  color: var(--color-white);
}
.searchForm input[type=radio]:checked + .radio__label::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-primary);
  filter: brightness(60%);
  z-index: -1;
}
.searchForm .checkbox__label {
  position: relative;
  display: block;
  padding-left: 1.4em;
}
.searchForm .checkbox__label::before, .searchForm .checkbox__label::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  cursor: pointer;
}
.searchForm .checkbox__label::before {
  width: 18px;
  aspect-ratio: 1;
  border: 2px solid var(--color-gray-3);
  border-radius: var(--border-radius);
  background-color: var(--color-white);
}
.searchForm .checkbox__label::after {
  left: 5px;
  width: 8px;
  height: 12px;
  border: 1px solid var(--color-white);
  border-width: 0 2px 2px 0;
  rotate: 40deg;
  opacity: 0;
}
.searchForm input[type=checkbox]:disabled + .checkbox__label::before {
  background-color: var(--color-gray-2);
}
.searchForm input[type=checkbox]:checked + .checkbox__label::before {
  border-color: var(--color-primary);
  background-color: var(--color-primary);
}
.searchForm input[type=checkbox]:checked + .checkbox__label::after {
  opacity: 1;
}
.searchForm .selectbox {
  position: relative;
  width: var(--width);
}
.searchForm .selectbox::after {
  content: "";
  position: absolute;
  top: calc(50% - 4px);
  right: 12px;
  width: 12px;
  aspect-ratio: 1;
  background-color: #676767;
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="%23ffffff" stroke="%23ffffff" stroke-width="2px" d="M1.687 32c-0.432 0-0.864-0.165-1.193-0.494-0.66-0.66-0.66-1.726 0-2.385l13.12-13.12-13.12-13.121c-0.66-0.66-0.66-1.726 0-2.385s1.726-0.66 2.385 0l14.312 14.312c0.66 0.66 0.66 1.726 0 2.385l-14.312 14.312c-0.329 0.331-0.761 0.496-1.193 0.496z" /></svg>') no-repeat center;
          mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="%23ffffff" stroke="%23ffffff" stroke-width="2px" d="M1.687 32c-0.432 0-0.864-0.165-1.193-0.494-0.66-0.66-0.66-1.726 0-2.385l13.12-13.12-13.12-13.121c-0.66-0.66-0.66-1.726 0-2.385s1.726-0.66 2.385 0l14.312 14.312c0.66 0.66 0.66 1.726 0 2.385l-14.312 14.312c-0.329 0.331-0.761 0.496-1.193 0.496z" /></svg>') no-repeat center;
  rotate: 90deg;
  pointer-events: none;
}
.searchForm .selectbox select {
  position: relative;
  padding: 0.8em;
  width: 100%;
  border: 1px solid var(--color-gray-3);
  border-radius: var(--border-radius);
  font-size: var(--font-size-base);
  background-color: var(--color-white);
}
.searchForm .selectbox select.selectPref, .searchForm .selectbox select.selectCity {
  background-color: var(--bgColor-red);
}
.searchForm .textbox {
  border: 1px solid var(--color-gray-3);
  border-radius: var(--border-radius);
  padding: 1em;
  width: 100%;
  font-size: inherit;
  background-color: #eeeeee;
  box-shadow: 0.03px 1px 0 0 #cccccc;
}
.searchForm .textbox::-moz-placeholder {
  color: rgba(51, 51, 51, 0.4);
}
.searchForm .textbox::placeholder {
  color: rgba(51, 51, 51, 0.4);
}
.searchForm__btn {
  --width: 280px;
  width: var(--width);
}
@media (min-width: 768px) {
  .searchForm__btn {
    --width: 320px;
  }
}
.searchForm__btn button {
  width: 100%;
  padding: 1em;
  background-color: var(--color-primary);
  color: var(--color-white);
}/*# sourceMappingURL=common.css.map */