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

Custom Properties

* ============================================================= */
:root {
  /* ========================================
  Colors
  ======================================== */
  /* Base Colors */
  --base-color: #000;
  --bg-color: #f3f3f3;
  --border-color: #ccc;
  /* Key & Accent Colors */
  --key-color: #F19D06;
  --point-color: #0094C6;
  /* ========================================
  Layout
  ======================================== */
  --header-height: calc(50px + var(--slope-1px) * 15);
  --belt-height: clamp(25px, 1px + 6.4vw, 65px);
  --inner-width: 1100;
  --inner-width-px: calc(var(--inner-width) * 1px);
  --inner-padding: 15px;
  --inner-overflow: calc(var(--vw) * 50 - var(--inner-width-px) * .5);
  --contents-padding: 100px;
  /* ========================================
  Typography
  ======================================== */
  /* Font Family */
  --base-font-family: Lato, "Noto Sans JP", sans-serif;
  --en-font-family: Michroma, sans-serif;
  --point-en-font-family: Oswald, sans-serif;
  /* Font Size & Leading */
  --line-height: 1.5;
  --line-space: calc((var(--line-height) - 1) / 2);
  --leading-trim: calc((1em - 1lh) / 2);
  /* ========================================
  Utility
  ======================================== */
  --vw: 1vw;
  --vh: 1vh;
  --slope-1px: clamp(0px, -.95663px + .2551vw, 1px);
  --border-dashed: linear-gradient(to right, var(--key-color) 0px, var(--key-color) 6px, transparent 6px, transparent 12px) left bottom / 12px 1px repeat-x;
  /* Icons (as background SVGs) */
  --icon-angle: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 10 10"><path fill="%23000" fill-rule="evenodd" d="M1.9588.1333a.4167.4167 0 0 0-.023.6738l4.895 4.1966-4.895 4.1956a.415.415 0 0 0 .023.6722.684.684 0 0 0 .8291-.0179l5.2768-4.524a.4144.4144 0 0 0 .118-.5094.4144.4144 0 0 0-.118-.145L2.788.152a.6849.6849 0 0 0-.8291-.0187Z" clip-rule="evenodd"/></svg>');
  --icon-menu: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 21 21"><path fill="%23000" d="M11.9001 4.9c0 .7732-.6268 1.4-1.4 1.4-.7732 0-1.4-.6268-1.4-1.4 0-.7732.6268-1.4 1.4-1.4.7732 0 1.4.6268 1.4 1.4Zm0 5.6c0 .7732-.6268 1.4-1.4 1.4-.7732 0-1.4-.6268-1.4-1.4 0-.7732.6268-1.4 1.4-1.4.7732 0 1.4.6268 1.4 1.4Zm0 5.6c0 .7732-.6268 1.4-1.4 1.4-.7732 0-1.4-.6268-1.4-1.4 0-.7732.6268-1.4 1.4-1.4.7732 0 1.4.6268 1.4 1.4Z"/></svg>');
  --icon-close: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 21 21"><path fill="%23000" d="M5.5888 16.8 4.2 15.4111l4.9274-4.9274L4.2 5.5889 5.5888 4.2l4.9275 4.9274L15.411 4.2 16.8 5.5889l-4.9275 4.8948L16.8 15.4111 15.411 16.8l-4.8947-4.9274L5.5889 16.8Z"/></svg>');
  --icon-arrow: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 22 21"><path fill="%23000" d="M14.8867 11.13H4.7V9.87h10.1867l-4.7849-4.7848L11 4.2l6.3 6.3-6.3 6.3-.8982-.8851 4.7849-4.7849Z"/></svg>');
  --icon-blank: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 21 20"><path fill="%23000" d="M6.3334 14.1667h11.111V4.4445H6.3334v9.7222Zm0 1.389c-.375 0-.7003-.1378-.9757-.4133-.2755-.2754-.4133-.6007-.4133-.9757V3.0557c0-.375.1378-.7003.4133-.9758.2754-.2754.6006-.4131.9756-.4131h11.1111c.375 0 .7003.1377.9758.413.2754.2756.4132.601.4132.976v11.1109c0 .375-.1378.7003-.4132.9757-.2755.2755-.6008.4133-.9758.4133H6.3334Zm-2.7778 2.7777c-.375 0-.7002-.1377-.9758-.4131-.2754-.2756-.4131-.6008-.4131-.9758v-12.5h1.389v12.5h12.4999v1.3889h-12.5Z"/></svg>');
  --icon-plus: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 20 20"><path fill="%23000" d="M8.9097 11.0902H3.5832V8.9098h5.3265V3.5693h2.1804v5.3405h5.3404v2.1804h-5.3404v5.3264H8.9097v-5.3264Z"/></svg>');
  --icon-info: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 25 26"><path fill="%23000" fill-rule="evenodd" d="M12.5001.51c-2.4701 0-4.8848.733-6.9386 2.1066a12.498 12.498 0 0 0-4.6 5.6099 12.5104 12.5104 0 0 0-.7108 7.2222 12.5044 12.5044 0 0 0 3.4179 6.4005 12.486 12.486 0 0 0 6.3945 3.4212 12.4786 12.4786 0 0 0 7.216-.7111 12.492 12.492 0 0 0 5.6052-4.6036 12.5092 12.5092 0 0 0 2.1052-6.9447 12.5026 12.5026 0 0 0-.9486-4.785 12.495 12.495 0 0 0-2.7071-4.0566 12.4824 12.4824 0 0 0-4.0529-2.7097A12.473 12.473 0 0 0 12.5001.51Zm0 23.0472a10.5311 10.5311 0 0 1-5.8544-1.7775 10.5454 10.5454 0 0 1-3.8811-4.7334 10.5556 10.5556 0 0 1-.5996-6.0938 10.5498 10.5498 0 0 1 2.8842-5.4002 10.5346 10.5346 0 0 1 5.3956-2.8863 10.529 10.529 0 0 1 6.0884.6005 10.5398 10.5398 0 0 1 4.7289 3.8848 10.5537 10.5537 0 0 1 1.7756 5.8597 10.5493 10.5493 0 0 1-.8008 4.0368 10.5422 10.5422 0 0 1-2.2842 3.4222 10.5305 10.5305 0 0 1-3.4193 2.2859 10.5253 10.5253 0 0 1-4.0333.8013Zm0-16.7523a.9768.9768 0 0 0-.9759.9767v6.2885a.9765.9765 0 0 0 .2763.7077.976.976 0 0 0 .6993.2954.976.976 0 0 0 .9755-1.0031V7.7795a.977.977 0 0 0-.2856-.6904.9755.9755 0 0 0-.6896-.2864v.0022Zm0 9.4409a1.317 1.317 0 0 1 1.218.8138 1.3202 1.3202 0 0 1-.2855 1.4377 1.3173 1.3173 0 0 1-2.0277-.2003 1.3188 1.3188 0 0 1-.2218-.733 1.318 1.318 0 0 1 1.317-1.3232v.005Z" clip-rule="evenodd"/></svg>');
}

@media screen and (max-width: 1230px) {
  :root {
    --inner-overflow: var(--inner-padding);
    --contents-padding: calc(30px + var(--slope-1px) * 20);
  }
}

/* =============================================================

Base

* ============================================================= */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  height: 100%;
  margin: 0;
  padding: 0;
  background: #fff;
  font-size: 62.5%;
}

body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  color: var(--base-color);
  letter-spacing: .03em;
  font-weight: 400;
  font-size: calc(1.5rem + var(--slope-1px));
  font-family: var(--base-font-family);
  font-feature-settings: "palt";
  line-height: 1.75;
  -webkit-text-size-adjust: 100%;
}

:where(img, svg) {
  display: block;
  height: auto;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: underline;
  cursor: pointer;
}

a:hover {
  text-decoration: none;
}

@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    text-decoration: none !important;
    cursor: text;
    pointer-events: none;
  }
  a:focus-visible {
    outline: 2px solid var(--key-color);
  }
}

button {
  cursor: pointer;
}

sup {
  vertical-align: super;
  font-size: 70%;
}

sub {
  vertical-align: sub;
  font-size: 70%;
}

*[data-anchor-id] {
  scroll-margin-top: var(--header-height);
}

*[data-toggle-id] {
  display: none;
}

* {
  text-underline-offset: .25em;
}

/* =============================================================

Loader

* ============================================================= */
.l-loader {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100000;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background: url(../img/logo.png) 50% 50%/300px auto no-repeat var(--bg-color);
  perspective: 10rem;
  transition: all .4s ease-in;
}

body.is-loaded .l-loader {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

/* =============================================================

Wrapper

* ============================================================= */
.l-wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  width: 100%;
  min-height: 100%;
  margin-inline: auto;
}

.l-wrapper:before {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: var(--key-color);
  mask: url(../img/bg.svg) center var(--header-height)/1316px auto repeat-y;
}

@media screen and (max-width: 767px) {
  .l-wrapper:before {
    mask-image: url(../img/bg-sp.svg);
    mask-size: 100%;
  }
}

body[data-id=index] .l-wrapper:before {
  content: none;
}

/* =============================================================

Header

* ============================================================= */
/* header
=============================== */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  z-index: 1000;
  width: 100%;
  font-size: calc(14px + var(--slope-1px) * 4);
  transition: all .5s ease-out;
}

.l-header__inner {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  height: var(--header-height);
  background: var(--point-color);
  color: #fff;
  transition: all .4s;
}

/* l-header-logo
=============================== */
.l-header-logo {
  position: relative;
  z-index: 0;
}

.l-header-logo a {
  position: relative;
  display: flex;
  align-items: center;
  width: fit-content;
  height: 100%;
  padding-inline: calc(12px + var(--slope-1px) * 27);
  background: #fff;
  transition: all .3s ease-out;
}

.l-header-logo a img {
  width: calc(159px + var(--slope-1px) * 63);
  min-width: 0%;
}

.l-header-logo a:hover {
  filter: brightness(.95);
}

/* l-header-menu
=============================== */
.l-header-menu {
  z-index: 2;
  display: flex;
  flex-grow: 1;
  justify-content: flex-end;
}

.l-header-menu a {
  text-decoration: none;
}

.l-header-menu__nav {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 20px;
  padding-right: var(--belt-height);
  color: #fff;
  font-size: calc(14px + var(--slope-1px) * 4);
}

@media screen and (min-width: 768px) {
  .l-header-menu__nav {
    right: -1em;
    gap: .5em;
  }
}

body.is-header-nav-open .l-header-menu__nav {
  color: var(--base-color);
}

.l-header-menu__drawer {
  position: fixed;
  top: 0;
  right: 0;
  visibility: hidden;
  overflow-y: auto;
  width: min(72%, 798px);
  max-height: 100%;
  padding: var(--header-height) var(--belt-height) calc(25px + var(--slope-1px) * 20);
  border-bottom-left-radius: calc(40px + var(--slope-1px) * 40);
  background: #fff;
  color: var(--base-color);
  opacity: 0;
  transition: all .4s cubic-bezier(.1, .91, .3, .98);
  pointer-events: none;
}

@media screen and (max-width: 560px) {
  .l-header-menu__drawer {
    width: min(72%, 300px);
    padding-inline: 28px 22px;
  }
}

body.is-header-nav-open .l-header-menu__drawer {
  top: 0;
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.l-header-menu__bg {
  position: absolute;
  inset: 0;
  display: block;
  width: calc(100 * var(--vw));
  height: calc(100 * var(--vh));
  background: rgba(0, 0, 0, .4);
  opacity: 0;
  transition: all .3s ease-out;
  pointer-events: none;
}

body.is-header-nav-open .l-header-menu__bg {
  opacity: 1;
  pointer-events: auto;
}

/* l-header-contact
============================== */
.l-header-contact {
  display: block;
}

@media screen and (max-width: 960px) {
  .l-header-menu__nav > .l-header-contact {
    display: none;
  }
}

body.is-header-nav-open .l-header-contact .c-button {
  background: #fff;
}

/* l-header-toggle
============================== */
.l-header-toggle {
  position: relative;
  overflow: visible;
  outline: none;
  border: 0;
  border-radius: 0;
  background: none;
  color: inherit;
  appearance: none;
}

body.is-header-nav-open .l-header-toggle .c-button {
  background: #fff;
}

.l-header-toggle .c-button._close {
  position: absolute;
  inset: 0;
  visibility: hidden;
  width: 100%;
  height: 100%;
  opacity: 0;
}

body.is-header-nav-open .l-header-toggle .c-button._close {
  visibility: visible;
  opacity: 1;
}

body.is-header-nav-open .l-header-toggle .c-button._open {
  opacity: 0;
}

/* l-header-sitemap
============================== */
.l-header-sitemap {
  padding-top: calc(11px + var(--slope-1px) * 4);
}

/* l-header-nav
=============================== */
.l-header-nav {
  display: flex;
  align-items: center;
  gap: 30px;
  height: 100%;
}

@media screen and (max-width: 960px) {
  .l-header-nav {
    z-index: 2;
    display: block;
    height: auto;
  }
}

/* l-header-menu-contact
============================== */
.l-header-menu-contact {
  display: none;
  grid-template-columns: 100%;
  gap: 10px;
  margin-top: 20px;
}

@media screen and (max-width: 960px) {
  .l-header-menu-contact {
    display: grid;
  }
}

/* =============================================================

Main

* ============================================================= */
/* l-main
=============================== */
.l-main {
  position: relative;
  flex-grow: 1;
  width: 100%;
  min-height: 0%;
  max-width: calc(var(--inner-width-px) + var(--inner-padding) * 2);
  max-height: 100%;
  margin-inline: auto;
  padding: var(--header-height) var(--inner-padding) 0;
}

body[data-id=index] .l-main {
  max-width: calc(var(--inner-width-px) + var(--inner-padding) * 2 + var(--belt-height) * 2);
  padding-inline: calc(var(--inner-padding) + var(--belt-height));
}

/* l-main-heading
=============================== */
.l-main-heading {
  position: relative;
  padding-top: calc(50px + var(--slope-1px) * 30);
}

.l-main-heading:after {
  content: attr(data-category);
  position: absolute;
  top: 0;
  left: 50%;
  width: calc(var(--vw) * 100);
  color: var(--point-color);
  text-align: right;
  text-transform: uppercase;
  font-weight: 700;
  font-size: calc(45px + var(--slope-1px) * 75);
  font-family: var(--point-en-font-family);
  line-height: .7;
  opacity: .3;
  transform: translateX(-50%);
}

/* l-main-breadcrumbs
=============================== */
.l-main-breadcrumbs {
  margin-block: calc(17px + var(--slope-1px) * 3) calc(25px + var(--slope-1px) * 15);
}

/* l-main-body
============================== */
.l-main-body {
  position: relative;
}

.l-main-body:has(.c-section._bg:last-child) {
  padding-bottom: 0;
}

.l-main-body._no-padding-top {
  padding-top: 0;
}

/* main banner
=============================== */
.l-main-banner {
  padding: 2.5em 0;
  background: var(--bg-color);
}

.l-main-banner__inner {
  width: 1200px;
  max-width: 87.84773%;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .l-main-banner__inner {
    width: 550px;
  }
}

.l-main-banner-list {
  display: flex;
  flex-wrap: wrap;
  width: 101.66667%;
  margin: -.83333% -.83333%;
  padding-top: 1px;
}

.l-main-banner-list__item {
  width: 20%;
  padding: .81967% .81967%;
}

@media screen and (max-width: 767px) {
  .l-main-banner-list__item {
    width: 50%;
  }
}

/* main showroom nav
=============================== */
.l-main-showroom-nav {
  padding: 5.85652% 0;
  background: var(--bg-color);
}

.c-section._bg + .l-main-showroom-nav {
  background: #fff;
}

.l-main-showroom-nav__inner {
  width: 1200px;
  max-width: 87.84773%;
  margin: 0 auto;
}

/* main category nav
=============================== */
.l-main-category-nav {
  padding: 4.39239% 0;
}

.c-section._bg + .l-main-showroom-nav + .l-main-category-nav {
  background: var(--bg-color);
}

.l-main-category-nav__inner {
  width: 1366px;
  max-width: 111.71303%;
  margin: 0 auto;
}

.l-main-category-nav__grid {
  display: flex;
  flex-wrap: wrap;
  width: calc(100% + 2px);
}

.l-main-category-nav__item {
  width: 33.33333%;
  padding-right: 2px;
}

@media screen and (max-width: 560px) {
  .l-main-category-nav__item {
    width: 100%;
    margin-top: 2px;
  }
}

.l-page[data-category=car] .l-main-category-nav__item[data-banner=car] {
  display: none;
}

.l-page[data-category=showroom] .l-main-category-nav__item[data-banner=campaign],
.l-page[data-category=campaign] .l-main-category-nav__item[data-banner=campaign],
.l-page[data-category=company] .l-main-category-nav__item[data-banner=campaign],
.l-page[data-category=other] .l-main-category-nav__item[data-banner=campaign] {
  display: none;
}

.l-page[data-id=welcome] .l-main-category-nav__item[data-banner=campaign] {
  display: block;
}

.l-page[data-category=maintenance] .l-main-category-nav__item[data-banner=maintenance] {
  display: none;
}

.l-page[data-id=welcome] .l-main-category-nav__item[data-banner=welcome] {
  display: none;
}

/* =============================================================

Footer

* ============================================================= */
/* l-footer
============================== */
.l-footer {
  background-color: var(--key-color);
  color: #fff;
}

body[data-id=index] .l-footer {
  padding-inline: var(--belt-height);
  padding-bottom: calc(30px + var(--belt-height));
}

/* l-footer-contact
============================== */
.l-footer-contact {
  padding-block: calc(35px + var(--slope-1px) * 30) calc(42px + var(--slope-1px) * 36);
  padding-inline: var(--inner-padding);
  background: url(../img/bg-footer.svg) top 60px right 4.39239% / 9.51684% auto no-repeat, url(../img/bg-footer.svg) top 43px left 10.46852% / 9.51684% auto no-repeat, url(../img/bg-footer.svg) bottom 53px left -2.19619% / 9.51684% auto no-repeat, url(../img/bg-footer.svg) bottom 10px right 22.98682% / 9.51684% auto no-repeat;
}

@media screen and (max-width: 767px) {
  .l-footer-contact {
    background: url(../img/bg-footer.svg) top 20px right 9.06667% / 20.26667% auto no-repeat, url(../img/bg-footer.svg) top 90px left -.8% / 20.26667% auto no-repeat, url(../img/bg-footer.svg) bottom 2px left 9.86667% / 20.26667% auto no-repeat, url(../img/bg-footer.svg) top 60% right 10.66667% / 20.26667% auto no-repeat;
  }
}

.l-footer-contact__head {
  margin-bottom: calc(32px + var(--slope-1px) * 9);
  text-align: center;
}

.l-footer-contact__title {
  position: relative;
  display: grid;
  grid-template-columns: 100%;
  gap: calc(8px + var(--slope-1px) * 4);
  font-weight: 700;
  font-size: calc(16px + var(--slope-1px) * 4);
  line-height: 1;
}

.l-footer-contact__title[data-en]:before {
  content: attr(data-en);
  display: grid;
  grid-template-columns: 100%;
  margin-top: -.15em;
  padding-bottom: calc(20px + var(--slope-1px) * 4 - .15em);
  background-image: radial-gradient(circle, currentColor var(--circle-radius), transparent var(--circle-radius)), radial-gradient(circle, currentColor var(--circle-radius), transparent var(--circle-radius)), radial-gradient(circle, currentColor var(--circle-radius), transparent var(--circle-radius));
  background-position: calc(50% - var(--total-circle-width) * 1) 100%, 50% 100%, calc(50% + var(--total-circle-width) * 1) 100%;
  background-size: var(--circle-diameter) var(--circle-diameter), var(--circle-diameter) var(--circle-diameter), var(--circle-diameter) var(--circle-diameter);
  background-repeat: no-repeat;
  letter-spacing: .05em;
  font-weight: 400;
  font-size: calc(32px + var(--slope-1px) * 23);
  font-family: var(--en-font-family);
  line-height: 1;

  --circle-diameter: 6px;
  --gap: 2px;
  --circle-radius: calc(var(--circle-diameter) / 2);
  --total-circle-width: calc(var(--circle-diameter) + var(--gap));
}

.l-footer-contact__body {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(25px + var(--slope-1px) * 25);
  max-width: 1090px;
  margin-inline: auto;
}

@media screen and (max-width: 767px) {
  .l-footer-contact__body {
    grid-template-columns: 100%;
  }
}

/* l-footer-contact-nav
============================== */
.l-footer-contact-nav {
  position: relative;
  display: block;
  color: var(--base-color);
  text-align: center;
  text-decoration: none;
}

.l-footer-contact-nav:before {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: 40px 40px 0px 40px;
  background: #fff;
  opacity: .5;
  transition: all .2s ease-out;

  rotate: -3deg;
}

.l-footer-contact-nav:hover:before {
  rotate: 0deg;
}

.l-footer-contact-nav__inner {
  position: relative;
  z-index: 1;
  display: grid;
  gap: calc(20px + var(--slope-1px) * 5);
  justify-items: center;
  height: 100%;
  padding: calc(28px + var(--slope-1px) * 25) calc(20px + var(--slope-1px) * 10);
  border: 3px solid var(--point-color);
  border-radius: 40px 40px 0px 40px;
  background-color: #fff;
  background-image: linear-gradient(90deg, #efefef 1px, transparent 1px), linear-gradient(#efefef 1px, transparent 1px);
  background-position: center center;
  background-size: 16px 16px;
}

.l-footer-contact-nav__head {
  margin-top: var(--leading-trim);
  padding-bottom: calc(13px + var(--slope-1px) * 5);
  background-image: radial-gradient(circle, var(--point-color) var(--circle-radius), transparent var(--circle-radius)), radial-gradient(circle, var(--point-color) var(--circle-radius), transparent var(--circle-radius)), radial-gradient(circle, var(--point-color) var(--circle-radius), transparent var(--circle-radius));
  background-position: calc(50% - var(--total-circle-width) * 1) 100%, 50% 100%, calc(50% + var(--total-circle-width) * 1) 100%;
  background-size: var(--circle-diameter) var(--circle-diameter), var(--circle-diameter) var(--circle-diameter), var(--circle-diameter) var(--circle-diameter);
  background-repeat: no-repeat;
  font-weight: 700;
  font-size: clamp(18px, 10.3172px + 1.00167vw, 24px);
  line-height: 1.5;

  --circle-diameter: 6px;
  --gap: 2px;
  --circle-radius: calc(var(--circle-diameter) / 2);
  --total-circle-width: calc(var(--circle-diameter) + var(--gap));
}

.l-footer-contact-nav__body {
  margin-block: var(--leading-trim);
  word-break: keep-all;
  overflow-wrap: anywhere;
  font-size: calc(14px + var(--slope-1px) * 2);
}

.l-footer-contact-nav__foot {
  display: flex;
  align-items: center;
  gap: calc(2px + var(--slope-1px) * 4);
  width: fit-content;
  margin-block: var(--leading-trim);
  margin-inline: auto;
  color: var(--key-color);
  text-decoration: underline;
  font-weight: 700;
  font-size: clamp(16px, 13.43907px + .33389vw, 18px);
  transition: all .2s ease-out;
}

.l-footer-contact-nav__foot:after {
  content: "";
  display: block;
  flex-shrink: 0;
  width: calc(11px + var(--slope-1px) * 2);
  height: calc(11px + var(--slope-1px) * 2);
  background: currentColor;
  mask: var(--icon-angle) 50% 50%/contain no-repeat;
}

.l-footer-contact-nav:hover .l-footer-contact-nav__foot {
  text-underline-offset: .15em;
}

/* l-footer-profile
============================== */
.l-footer-profile {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 2em;
  padding: 30px;
  border-top: 2px solid;
  text-align: center;
  font-size: calc(10px + var(--slope-1px) * 4);
  line-height: 1.5;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .l-footer-profile {
    flex-direction: column;
    align-items: center;
  }
}

.l-footer-profile__info {
  margin-block: var(--leading-trim);
  text-align: center;
}

.l-footer-profile__info > span {
  display: flex;
}

@media screen and (max-width: 767px) {
  .l-footer-profile__info > span {
    justify-content: center;
  }
}

.l-footer-profile__copyright {
  margin-block: var(--leading-trim);
}

/* =============================================================

Modal

* ============================================================= */
/* l-modal
=============================== */
.l-modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100005;
  display: none;
  visibility: hidden;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: calc(var(--vh) * 5) var(--inner-padding);
  background: rgba(0, 0, 0, .85);
  opacity: 0;
  pointer-events: none;
}

.l-modal.is-show {
  display: flex;
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.l-modal__inner {
  position: relative;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  max-width: 1040px;
  max-height: fit-content;
  margin: auto;
  opacity: 0;
  transition: all .6s .6s;
}

.l-modal.is-show .l-modal__inner {
  opacity: 1;
}

.l-modal__bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  font-size: 0;
  opacity: 0;
}

.l-modal__contents {
  position: relative;
  z-index: 1;
  overflow-y: auto;
  width: 100%;
  max-height: calc(var(--vh) * 90);
  border-radius: var(--base-border-radius);
  border-radius: 20px;
  background: #fff;
}

@media screen and (max-width: 767px) {
  .l-modal__contents {
    border-radius: calc(5px + var(--slope-1px) * 5);
  }
}

.l-modal__close {
  position: absolute;
  top: calc(5px + var(--slope-1px) * 5);
  right: calc(5px + var(--slope-1px) * 5);
  z-index: 4;
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 44px;
  height: 44px;
  outline: none;
  border: 0;
  border-radius: 50%;
  background: var(--base-color);
  mask: var(--icon-close) 50% 50%/contain no-repeat;
  color: #fff;
  line-height: 1;
  transition: all .3s ease-out;
  appearance: none;
}

.l-modal__close:hover {
  opacity: .7;
}

.l-modal__close span {
  display: none;
}

/* l-modal-contents
============================== */
.l-modal-contents {
  padding: calc(20px + var(--slope-1px) * 20) calc(20px + var(--slope-1px) * 20);
}

.l-modal-contents__head {
  margin-bottom: calc(20px + var(--slope-1px) * 10);
  text-align: center;
}

/* ============================================================= *

Grid

* ============================================================= */
/* tile
=============================== */
.c-tile-grid {
  display: flex;
  flex-wrap: wrap;
}

.c-tile-grid__item {
  width: 50%;
}

@media screen and (max-width: 767px) {
  .c-tile-grid[data-col-tablet="1"] .c-tile-grid__item {
    width: 100%;
  }
}

/* ============================================================= *

Navigation

* ============================================================= */
/* c-breadcrumbs
=============================== */
.c-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 0 calc(5px + var(--slope-1px) * 5);
  margin-block: var(--leading-trim);
  font-weight: 400;
  font-size: calc(12px + var(--slope-1px) * 4);
}

.c-breadcrumbs > li {
  display: flex;
  align-items: center;
}

.c-breadcrumbs > li + li:before {
  content: "";
  display: block;
  width: calc(8px + var(--slope-1px) * 2);
  height: calc(8px + var(--slope-1px) * 2);
  margin-right: calc(5px + var(--slope-1px) * 5);
  background: currentColor;
  mask: var(--icon-angle) 50% 50%/contain no-repeat;
}

.c-breadcrumbs > li a {
  text-decoration: underline;
}

.c-breadcrumbs > li a:hover {
  text-decoration: none;
}

/* c-button
============================== */
.c-button {
  position: relative;
  display: flex;
  align-items: center;
  gap: 5px;
  width: fit-content;
  max-width: 100%;
  border-radius: var(--circle-width);
  text-decoration: none;
  font-weight: 700;
  font-size: calc(14px + var(--slope-1px) * 4);
  line-height: 1.4;
  transition: all .3s cubic-bezier(.25, 1, .5, 1);

  --circle-width: calc(31px + var(--slope-1px) * 6);
  --icon: var(--icon-arrow);
}

.c-button > span {
  position: relative;
  z-index: 1;
}

.c-button > span:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  background: currentColor;
  transition: all .3s cubic-bezier(.25, 1, .5, 1);
  transform-origin: right bottom;
}

.c-button:before {
  content: "";
  position: relative;
  z-index: 1;
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  height: var(--circle-width);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: var(--icon) 50% 50% / calc(16px + var(--slope-1px) * 5) no-repeat;
  transition: all .3s cubic-bezier(.25, 1, .5, 1);
}

.c-button.js-scroll:before {
  rotate: 90deg;
}

.c-button:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  display: block;
  width: var(--circle-width);
  height: var(--circle-width);
  margin-block: auto;
  border: 1px solid var(--base-color);
  border-radius: calc(var(--circle-width) / 2);
  background: #fff;
  transition: all .3s cubic-bezier(.25, 1, .5, 1);
}

@media screen and (min-width: 768px) {
  .c-button {
    padding-right: 1em;
  }
  .c-button:hover {
    color: var(--base-color);
  }
  .c-button:hover > span:after {
    transform: scaleX(0);
  }
  .c-button:hover:before {
    translate: 15% 0;
  }
  .c-button:hover:after {
    width: 100%;
  }
}

/* c-bg-button
============================== */
.c-bg-button {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  height: calc(80px + var(--slope-1px) * 40);
  border-radius: 20px 20px 0px 20px;
  background: #fff;
  color: var(--base-color);
  text-decoration: none;
  font-size: calc(14px + var(--slope-1px) * 4);
  transition: all .2s;
}

.c-bg-button:hover {
  opacity: .8;
}

.c-bg-button:before {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 20px 20px 0px 20px;
  background: rgba(255, 255, 255, .5);
  transition: all .2s ease-out;
  pointer-events: none;

  rotate: 3deg;
}

.c-bg-button:hover:before {
  rotate: 0deg;
}

.c-bg-button__icon {
  position: relative;
  z-index: 1;
  display: block;
  width: calc(33px + var(--slope-1px) * 11);
  aspect-ratio: 1 / 1;
}

.c-bg-button__icon :is(img, svg) {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: all .3s;
}

.c-bg-button__title {
  position: relative;
  z-index: 1;
  margin-block: var(--leading-trim);
  font-weight: 700;
}

/* c-category-nav
============================== */
.c-category-nav-section {
  position: relative;
  padding-block: calc(25px + var(--slope-1px) * 15);
}

.c-category-nav-section:before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: calc(var(--vw) * 100);
  height: 100%;
  background: var(--bg-color);
  transform: translateX(-50%);
}

.c-category-nav-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: calc(17px + var(--slope-1px) * 13) calc(12px + var(--slope-1px) * 18);
}

@media screen and (max-width: 767px) {
  .c-category-nav-grid {
    grid-template-columns: repeat(auto-fill, minmax(265px, 1fr));
  }
}

@media screen and (max-width: 560px) {
  .c-category-nav-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ============================================================= *

▼調整前

* ============================================================= */
/* container */
.c-button-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: calc(10px + var(--slope-1px) * 10) 20px;
  width: 100%;
  margin-top: calc(30px + var(--slope-1px) * 20);
}

.c-button-container:first-child {
  margin-top: 0;
}

.c-button-container._flexible .c-button {
  max-width: fit-content;
  padding: 0 1.5em;
}

/* banner
=============================== */
.c-banner {
  display: block;
  overflow: hidden;
  border: 1px solid var(--border-color);
  border-radius: 10px;
  transition: opacity .2s;
}

.c-banner:hover {
  opacity: .7;
}

/* detailed banner
=============================== */
.c-detailed-banner {
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
  width: 100%;
  border: 1px solid var(--border-color);
  border-radius: 10px;
  background: #fff;
  text-decoration: none;
  transition: opacity .2s;
}

.c-detailed-banner:hover {
  opacity: .7;
}

.c-detailed-banner__image {
  width: 50%;
}

.c-detailed-banner__image img {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .c-detailed-banner__image {
    order: -1;
    width: 100%;
  }
}

.c-detailed-banner__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 50%;
  padding: 2.5% 3.33333%;
  font-size: calc(12px + var(--slope-1px) * 3);
}

@media screen and (max-width: 767px) {
  .c-detailed-banner__text {
    width: 100%;
    padding: 2.66667em;
  }
}

.c-detailed-banner__head {
  margin-block: var(--leading-trim);
  text-decoration: underline;
  font-weight: bold;
  font-size: calc(18px + var(--slope-1px) * 3);
}

.c-detailed-banner__body {
  margin-block: 1.5em var(--leading-trim);
}

/* tab
=============================== */
.c-tab {
  overflow: hidden;
  margin-bottom: 6.25%;
}

.c-tab__list {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  width: calc(100% + var(--gap) * 2);
  margin-inline: calc(var(--gap) * -1);
  border-bottom: 2px solid;

  --gap: calc(3px + var(--slope-1px) * 3);
}

.c-tab__item {
  z-index: 1;
  display: flex;
  align-items: stretch;
  width: 50%;
  margin-bottom: -2px;
  padding-inline: var(--gap);
}

.c-tab__button {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  overflow: visible;
  width: 100%;
  min-height: 3.61111em;
  padding: 1em .25em;
  outline: none;
  border: 1px solid var(--base-color);
  border-bottom-width: 2px;
  border-radius: 10px 10px 0 0;
  background: var(--base-color);
  color: #fff;
  text-align: center;
  text-decoration: none;
  font-size: 1.125em;
  line-height: 1.2;
  cursor: pointer;
  transition: background .25s;
}

.c-tab__button:after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 50%;
  z-index: 2;
  display: block;
  width: calc(100% + 4px);
  border-bottom: 2px solid var(--base-color);
  transform: translateX(-50%);
}

@media screen and (max-width: 767px) {
  .c-tab__button {
    font-size: .98214em;
  }
}

.c-tab__button span {
  display: block;
  margin-bottom: 1em;
  font-size: .8em;
}

.c-tab__button em {
  font-size: 1.4em;
}

.c-tab__button.is-current {
  border: 2px solid var(--base-color);
  background: #fff;
  color: var(--base-color);
}

.c-tab__button.is-current:after {
  width: 100%;
  border-bottom: 2px solid #fff;
}

/* for tab.js view control */
:is(*[data-tab-id], .js-tab-channel) {
  display: none;
}

:is(*[data-tab-id], .js-tab-channel).is-current {
  display: block;
}

/* ============================================================= *

Section

* ============================================================= */
.c-section {
  position: relative;
  margin-block: calc(65px + var(--slope-1px) * 35);
}

.c-section:not(:has(.c-section__head)):first-child {
  margin-top: calc(50px + var(--slope-1px) * 10);
}

.c-section._bg {
  margin-block: calc(35px + var(--slope-1px) * 30);
  padding-block: calc(35px + var(--slope-1px) * 30);
}

.c-section._bg:before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  z-index: -1;
  width: calc(var(--vw) * 100);
  height: 100%;
  background: var(--bg-color);
  transform: translateX(-50%);
}

.c-section._bg\:dark {
  color: #fff;
}

.c-section._bg\:dark:before {
  background: var(--point-color);
}

.c-section__head {
  position: relative;
  z-index: 1;
  margin-bottom: calc(25px + var(--slope-1px) * 15);
}

.c-section._bg\:dark .c-section__head {
  --point-color: #fff;
}

.c-section__body {
  position: relative;
  z-index: 1;
}

/* inner section
=============================== */
.c-inner-section + .c-inner-section {
  margin-top: calc(40px + var(--slope-1px) * 20);
}

.c-inner-section__head {
  margin-bottom: calc(18px + var(--slope-1px) * 6);
}

/* c-grid-section
============================== */
.c-grid-section {
  display: grid;
  gap: calc(30px + var(--slope-1px) * 20);
  justify-items: center;
}

@media screen and (max-width: 767px) {
  .c-grid-section {
    width: calc(100% + var(--contents-padding));
    margin-inline: calc(var(--contents-padding) * -.5);
  }
}

.c-grid-section + .c-grid-section {
  margin-top: calc(50px + var(--slope-1px) * 30);
  padding-top: calc(50px + var(--slope-1px) * 30);
  border-top: 1px solid var(--border-color);
}

.c-grid-section__head {
  text-align: center;
}

.c-grid-section__body {
  width: 100%;
}

.c-grid-section__foot {
  width: 285px;
  max-width: 100%;
}

@media screen and (min-width: 768px) {
  .c-grid-section {
    align-items: center;
    grid-template-columns: 1fr 280px;
    justify-items: stretch;
  }
  .c-grid-section__head {
    text-align: left;
  }
  .c-grid-section__body {
    grid-column: span 2;
  }
  .c-grid-section__foot {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    width: auto;
  }
}

/* ============================================================= *

Table

* ============================================================= */
/* scroll container
=============================== */
.c-table-container {
  position: relative;
  overflow: auto;
  width: 100%;
  background: linear-gradient(to left, rgba(255, 255, 255, 0), #fff 15px) 0 0/50px 100%, linear-gradient(to left, rgba(255, 255, 255, 0), rgba(0, 0, 0, .2)) 0 0/20px 100%, linear-gradient(to right, rgba(255, 255, 255, 0), #fff 15px) right/50px 100%, linear-gradient(to right, rgba(255, 255, 255, 0), rgba(0, 0, 0, .2)) right/20px 100%;
  background-color: #fff;
  background-attachment: local, scroll, local, scroll;
  background-repeat: no-repeat;
}

.c-table-container + .c-table-container {
  margin-top: calc(30px + var(--slope-1px) * 20);
}

.c-table-container > * {
  min-width: 58em;
}

/* data table
=============================== */
.c-data-table {
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid var(--border-color);
  border-left: 1px solid var(--border-color);
  color: var(--base-color);
  font-size: calc(13px + var(--slope-1px) * 2);
}

.c-data-table._fixed {
  table-layout: fixed;
}

.c-data-table th,
.c-data-table td {
  padding: 1em .75em;
  border-right: 1px solid var(--border-color);
  border-bottom: 1px solid var(--border-color);
  text-align: center;
}

.c-data-table thead th {
  background: #666;
  color: #fff;
}

.c-data-table thead th em {
  display: block;
  font-size: 1.06667em;
}

.c-data-table thead th em span {
  display: inline;
  padding-left: .5em;
  font-size: .875em;
}

.c-data-table thead th > span {
  display: block;
  margin-top: .25em;
  font-size: .93333em;
}

.c-data-table thead td {
  font-size: .86667em;
}

.c-data-table tbody th {
  background: var(--bg-color);
}

.c-data-table tbody th[rowspan] {
  width: 2.66667em;
  padding: 1.2em .33333em;
  background: #666;
  color: #fff;
}

.c-data-table tbody th[rowspan] span {
  display: inline-block;
  min-height: 1em;
  text-align: left;
  white-space: nowrap;
  line-height: 1.25;
  writing-mode: vertical-rl;
  text-orientation: upright;
}

.c-data-table tbody td {
  width: 13.66667%;
}

.c-data-table tbody td em {
  color: #0068b7;
  font-weight: bold;
}

/* profile table
=============================== */
.c-profile-table {
  width: 100%;
  border-collapse: collapse;
  background: linear-gradient(to right, var(--border-color) 0px, var(--border-color) 2px, transparent 2px, transparent 4px) left top/4px 1px repeat-x;
  font-size: calc(13px + var(--slope-1px) * 2);
}

.c-profile-table th,
.c-profile-table td {
  padding: 1.33333em 0;
  background: linear-gradient(to right, var(--border-color) 0px, var(--border-color) 2px, transparent 2px, transparent 4px) left bottom/4px 1px repeat-x;
}

.c-profile-table th {
  width: 10em;
  padding-right: 1em;
  font-weight: bold;
}

.c-profile-table td {
  width: calc(100% - 10em);
  max-width: 60%;
}

/* ============================================================= *

Text

* ============================================================= */
/* lead
=============================== */
.c-lead {
  text-align: center;
  font-size: calc(14px + var(--slope-1px) * 1);
}

.c-lead > p {
  margin-block: var(--leading-trim);
}

.c-lead > p em {
  font-weight: bold;
  font-size: 1.33333em;
}

.c-lead > p + p {
  margin-top: 1em;
}

/* c-notes
=============================== */
.c-notes {
  margin-top: 1.5em;
  font-size: calc(12px + var(--slope-1px) * 1);
}

.c-notes > li {
  padding-left: 1em;
  text-indent: -1em;
}

.c-notes > li + li {
  margin-top: .25em;
}

.c-notes > li:before {
  content: "\203b";
}

.c-notes._dot > li:before {
  content: "\30fb";
}

.c-notes._square > li:before {
  content: "\25a0";
}

.c-notes._star > li:before {
  content: "\2605";
}

.c-notes > li._dot:before {
  content: "\30fb";
}

.c-notes > li._square:before {
  content: "\25a0";
}

.c-notes > li._star:before {
  content: "\2605";
}

/* ============================================================= *

title

* ============================================================= */
/* c-page-title
=============================== */
.c-page-title {
  position: relative;
  display: grid;
  grid-template-columns: 100%;
  gap: calc(12px + var(--slope-1px) * 8);
  word-break: keep-all;
  overflow-wrap: anywhere;
  font-weight: 700;
  font-size: calc(30px + var(--slope-1px) * 25);
  line-height: 1.1;
}

.c-page-title:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: calc(58px + var(--slope-1px) * 64);
  aspect-ratio: 1 / 1;
  background: var(--key-color);
  mask: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 100 100"><path fill="%23932EAC" d="m50.7094 100-.1844-13.6364c.954-.016 1.9239-.0641 2.8778-.1523l1.2585 13.5803c-1.3066.1202-2.6373.1924-3.9439.2084h-.008Zm-5.2585-.2004c-1.3146-.1203-2.6293-.2886-3.9279-.5131l2.3006-13.4359c.9379.1603 1.8998.2886 2.8538.3687l-1.2265 13.5803Zm14.4289-.7696-2.6854-13.3718c.9379-.1924 1.8838-.4169 2.7896-.6734l3.7354 13.1153a48.0165 48.0165 0 0 1-3.8477.9299h.0081Zm-23.503-.9059c-1.2666-.3607-2.5331-.7696-3.7596-1.2265l4.7375-12.7866c.8978.3286 1.8116.6333 2.7335.8898l-3.7114 13.1233Zm32.3446-1.7476-5.1062-12.6423c.8818-.3608 1.7636-.7536 2.6213-1.1865l6.0922 12.1934c-1.1784.5852-2.3888 1.1383-3.6073 1.6274v.008Zm-40.9539-1.5793a50.0562 50.0562 0 0 1-3.4709-1.9l7.022-11.6883c.8177.489 1.6674.954 2.5251 1.3789l-6.0681 12.2094h-.0081Zm49.1463-2.6455-7.3427-11.4879c.8016-.5131 1.5952-1.0662 2.3648-1.6434l8.2244 10.8706c-1.0501.7936-2.1403 1.5552-3.2465 2.2607Zm-56.994-2.2046c-1.0501-.7937-2.0761-1.6354-3.0621-2.5012l9.0421-10.2052c.7134.6333 1.4669 1.2506 2.2285 1.8198l-8.2085 10.8866Zm64.2646-3.4552-9.3227-9.9487c.6974-.6574 1.3788-1.3468 2.0201-2.0523l10.0761 9.1872c-.8817.97-1.8196 1.9159-2.7735 2.8138Zm-71.0782-2.7497a47.9075 47.9075 0 0 1-2.5491-3.0223l10.7495-8.3854a34.5272 34.5272 0 0 0 1.8597 2.1965l-10.0601 9.2032v.008Zm77.1944-4.1446-10.982-8.0808c.5692-.7696 1.1063-1.5713 1.6113-2.381l11.5911 7.1829c-.6893 1.1144-1.4428 2.2207-2.2204 3.2789ZM7.527 76.3989a50.4617 50.4617 0 0 1-1.9559-3.4391l12.1123-6.2691c.4408.8418.9138 1.6835 1.4188 2.5012L7.527 76.3989Zm87.5351-4.7058-12.2805-5.9243c.4168-.8578.8016-1.7476 1.1462-2.6375l12.7135 4.9223c-.473 1.2265-1.01 2.4531-1.5792 3.6395ZM3.3988 68.1498a47.9988 47.9988 0 0 1-1.2906-3.7438l13.0581-3.9202c.2726.9139.5852 1.8278.9379 2.7177L3.3988 68.1578v-.008Zm94.8858-5.1147-13.1624-3.5434c.2485-.9219.465-1.8678.6333-2.8058l13.4028 2.4852c-.2405 1.2907-.5371 2.5894-.8737 3.864ZM.8577 59.2753c-.2405-1.2907-.4329-2.6134-.5771-3.9202l13.5551-1.443c.1042.946.2405 1.908.4168 2.846L.8497 59.2753h.008Zm98.99-5.3311L86.2525 52.878c.0721-.954.1122-1.924.1122-2.886v-.1363L100 49.7675v.2245c0 1.3147-.0481 2.6375-.1523 3.9442v.008Zm-86.2124-3.856H0V50c0-1.2747.0481-2.5653.1443-3.84l13.5952 1.0342c-.0722.9299-.1042 1.8759-.1042 2.8058v.0882Zm72.513-4.0805a37.2114 37.2114 0 0 0-.4249-2.8379l13.3948-2.5493c.2485 1.2907.4409 2.6134.5852 3.9201l-13.5551 1.4671Zm-71.9198-2.6215L.8176 40.9251c.2405-1.2907.529-2.5974.8658-3.864l13.1703 3.5193c-.2485.9219-.4569 1.8679-.6333 2.8058h.0081Zm70.5811-3.9442c-.2725-.9139-.5932-1.8278-.9379-2.7096l12.6894-4.9783c.481 1.2265.9139 2.4851 1.2986 3.7437l-13.0501 3.9523v-.0081Zm-68.7615-2.5012L3.3266 32.0427a47.3897 47.3897 0 0 1 1.5712-3.6396l12.2886 5.9003a38.4434 38.4434 0 0 0-1.1383 2.6374Zm66.2365-3.7037a36.6246 36.6246 0 0 0-1.4269-2.5012l11.5591-7.231c.6974 1.1143 1.3547 2.2687 1.964 3.4311l-12.0962 6.2931v.008ZM19.022 30.9283 7.4229 23.7694a49.937 49.937 0 0 1 2.2124-3.2788l10.998 8.0568c-.5692.7776-1.1062 1.5793-1.6113 2.3889v-.008Zm59.6313-3.3269a37.5137 37.5137 0 0 0-1.8677-2.1966l10.0441-9.2191a50.8055 50.8055 0 0 1 2.5571 3.0142l-10.7335 8.4095v-.008Zm-55.5912-2.0362-10.0922-9.1631c.8818-.97 1.8117-1.916 2.7656-2.8219l9.3467 9.9247a37.6526 37.6526 0 0 0-2.0201 2.0603Zm50.982-2.854c-.7134-.6333-1.4669-1.2425-2.2365-1.8197L79.992 9.9888a48.0142 48.0142 0 0 1 3.0701 2.5012l-9.018 10.2212ZM28.016 21.0277l-8.2565-10.8545c1.0421-.7937 2.1323-1.5553 3.2385-2.2688l7.3747 11.4719c-.8016.5211-1.6032 1.0742-2.3567 1.6514Zm40.6093-2.2767a36.5936 36.5936 0 0 0-2.5251-1.3789l6.0441-12.2254c1.1783.5852 2.3487 1.2185 3.4789 1.892L68.6333 18.743l-.008.008Zm-34.9259-1.2746L27.5832 5.291c1.1783-.5932 2.3887-1.1384 3.6072-1.6354l5.1302 12.6343c-.8817.3607-1.7635.7616-2.6212 1.1865Zm28.8737-1.6194a35.055 35.055 0 0 0-2.7334-.8819L63.519 1.8438c1.2666.3528 2.5331.7696 3.7676 1.2186L62.5651 15.857h.008Zm-22.6372-.8177L36.1764 1.932c1.2665-.3607 2.5571-.6814 3.8476-.938l2.7095 13.3639c-.9299.1924-1.8758.4168-2.7896.6814h-.008Zm16.1683-.9059c-.9459-.1603-1.9078-.2806-2.8537-.3688L54.4449.1924c1.3066.1122 2.6292.2806 3.9198.505l-2.2605 13.444v-.008Zm-9.5791-.3447L45.2425.2164C46.5491.0963 47.8717.016 49.1864 0l.2164 13.6364c-.9619.016-1.9238.0721-2.8777.1603v-.008Z" opacity=".2"/></svg>') 50% 50%/contain no-repeat;
  transform: translate3d(-50%, -40%, 0px);
}

.c-page-title:after {
  content: "";
  display: block;
  width: calc(var(--circle-diameter) * 3 + var(--gap) * 2);
  height: var(--circle-diameter);
  background-image: radial-gradient(circle, var(--point-color) var(--circle-radius), transparent var(--circle-radius)), radial-gradient(circle, var(--point-color) var(--circle-radius), transparent var(--circle-radius)), radial-gradient(circle, var(--point-color) var(--circle-radius), transparent var(--circle-radius));
  background-position: 0 100%, calc(var(--total-circle-width) * 1) 100%, calc(var(--total-circle-width) * 2) 100%;
  background-size: var(--circle-diameter) var(--circle-diameter), var(--circle-diameter) var(--circle-diameter), var(--circle-diameter) var(--circle-diameter);
  background-repeat: no-repeat;

  --circle-diameter: calc(4px + var(--slope-1px) * 2);
  --gap: 2px;
  --circle-radius: calc(var(--circle-diameter) / 2);
  --total-circle-width: calc(var(--circle-diameter) + var(--gap));
}

/* c-en-title
============================== */
.c-en-title {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 100%;
  gap: calc(8px + var(--slope-1px) * 4);
  color: var(--key-color);
  font-weight: 700;
  font-size: calc(16px + var(--slope-1px) * 4);
  line-height: 1;
}

.c-en-title[data-en]:before {
  content: attr(data-en);
  display: grid;
  grid-template-columns: 100%;
  margin-top: -.15em;
  padding-bottom: calc(24px + var(--slope-1px) * 10 - .15em);
  background-image: radial-gradient(circle, var(--point-color) var(--circle-radius), transparent var(--circle-radius)), radial-gradient(circle, var(--point-color) var(--circle-radius), transparent var(--circle-radius)), radial-gradient(circle, var(--point-color) var(--circle-radius), transparent var(--circle-radius));
  background-position: 0 100%, calc(var(--total-circle-width) * 1) 100%, calc(var(--total-circle-width) * 2) 100%;
  background-size: var(--circle-diameter) var(--circle-diameter), var(--circle-diameter) var(--circle-diameter), var(--circle-diameter) var(--circle-diameter);
  background-repeat: no-repeat;
  color: var(--base-color);
  letter-spacing: .05em;
  font-weight: 400;
  font-size: calc(32px + var(--slope-1px) * 23);
  font-family: var(--en-font-family);
  line-height: 1;

  --circle-diameter: 6px;
  --gap: 2px;
  --circle-radius: calc(var(--circle-diameter) / 2);
  --total-circle-width: calc(var(--circle-diameter) + var(--gap));
}

.c-en-title:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: calc(50px + var(--slope-1px) * 50);
  aspect-ratio: 1 / 1;
  background: var(--key-color);
  mask: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 100 100"><path fill="%23932EAC" d="m50.7094 100-.1844-13.6364c.954-.016 1.9239-.0641 2.8778-.1523l1.2585 13.5803c-1.3066.1202-2.6373.1924-3.9439.2084h-.008Zm-5.2585-.2004c-1.3146-.1203-2.6293-.2886-3.9279-.5131l2.3006-13.4359c.9379.1603 1.8998.2886 2.8538.3687l-1.2265 13.5803Zm14.4289-.7696-2.6854-13.3718c.9379-.1924 1.8838-.4169 2.7896-.6734l3.7354 13.1153a48.0165 48.0165 0 0 1-3.8477.9299h.0081Zm-23.503-.9059c-1.2666-.3607-2.5331-.7696-3.7596-1.2265l4.7375-12.7866c.8978.3286 1.8116.6333 2.7335.8898l-3.7114 13.1233Zm32.3446-1.7476-5.1062-12.6423c.8818-.3608 1.7636-.7536 2.6213-1.1865l6.0922 12.1934c-1.1784.5852-2.3888 1.1383-3.6073 1.6274v.008Zm-40.9539-1.5793a50.0562 50.0562 0 0 1-3.4709-1.9l7.022-11.6883c.8177.489 1.6674.954 2.5251 1.3789l-6.0681 12.2094h-.0081Zm49.1463-2.6455-7.3427-11.4879c.8016-.5131 1.5952-1.0662 2.3648-1.6434l8.2244 10.8706c-1.0501.7936-2.1403 1.5552-3.2465 2.2607Zm-56.994-2.2046c-1.0501-.7937-2.0761-1.6354-3.0621-2.5012l9.0421-10.2052c.7134.6333 1.4669 1.2506 2.2285 1.8198l-8.2085 10.8866Zm64.2646-3.4552-9.3227-9.9487c.6974-.6574 1.3788-1.3468 2.0201-2.0523l10.0761 9.1872c-.8817.97-1.8196 1.9159-2.7735 2.8138Zm-71.0782-2.7497a47.9075 47.9075 0 0 1-2.5491-3.0223l10.7495-8.3854a34.5272 34.5272 0 0 0 1.8597 2.1965l-10.0601 9.2032v.008Zm77.1944-4.1446-10.982-8.0808c.5692-.7696 1.1063-1.5713 1.6113-2.381l11.5911 7.1829c-.6893 1.1144-1.4428 2.2207-2.2204 3.2789ZM7.527 76.3989a50.4617 50.4617 0 0 1-1.9559-3.4391l12.1123-6.2691c.4408.8418.9138 1.6835 1.4188 2.5012L7.527 76.3989Zm87.5351-4.7058-12.2805-5.9243c.4168-.8578.8016-1.7476 1.1462-2.6375l12.7135 4.9223c-.473 1.2265-1.01 2.4531-1.5792 3.6395ZM3.3988 68.1498a47.9988 47.9988 0 0 1-1.2906-3.7438l13.0581-3.9202c.2726.9139.5852 1.8278.9379 2.7177L3.3988 68.1578v-.008Zm94.8858-5.1147-13.1624-3.5434c.2485-.9219.465-1.8678.6333-2.8058l13.4028 2.4852c-.2405 1.2907-.5371 2.5894-.8737 3.864ZM.8577 59.2753c-.2405-1.2907-.4329-2.6134-.5771-3.9202l13.5551-1.443c.1042.946.2405 1.908.4168 2.846L.8497 59.2753h.008Zm98.99-5.3311L86.2525 52.878c.0721-.954.1122-1.924.1122-2.886v-.1363L100 49.7675v.2245c0 1.3147-.0481 2.6375-.1523 3.9442v.008Zm-86.2124-3.856H0V50c0-1.2747.0481-2.5653.1443-3.84l13.5952 1.0342c-.0722.9299-.1042 1.8759-.1042 2.8058v.0882Zm72.513-4.0805a37.2114 37.2114 0 0 0-.4249-2.8379l13.3948-2.5493c.2485 1.2907.4409 2.6134.5852 3.9201l-13.5551 1.4671Zm-71.9198-2.6215L.8176 40.9251c.2405-1.2907.529-2.5974.8658-3.864l13.1703 3.5193c-.2485.9219-.4569 1.8679-.6333 2.8058h.0081Zm70.5811-3.9442c-.2725-.9139-.5932-1.8278-.9379-2.7096l12.6894-4.9783c.481 1.2265.9139 2.4851 1.2986 3.7437l-13.0501 3.9523v-.0081Zm-68.7615-2.5012L3.3266 32.0427a47.3897 47.3897 0 0 1 1.5712-3.6396l12.2886 5.9003a38.4434 38.4434 0 0 0-1.1383 2.6374Zm66.2365-3.7037a36.6246 36.6246 0 0 0-1.4269-2.5012l11.5591-7.231c.6974 1.1143 1.3547 2.2687 1.964 3.4311l-12.0962 6.2931v.008ZM19.022 30.9283 7.4229 23.7694a49.937 49.937 0 0 1 2.2124-3.2788l10.998 8.0568c-.5692.7776-1.1062 1.5793-1.6113 2.3889v-.008Zm59.6313-3.3269a37.5137 37.5137 0 0 0-1.8677-2.1966l10.0441-9.2191a50.8055 50.8055 0 0 1 2.5571 3.0142l-10.7335 8.4095v-.008Zm-55.5912-2.0362-10.0922-9.1631c.8818-.97 1.8117-1.916 2.7656-2.8219l9.3467 9.9247a37.6526 37.6526 0 0 0-2.0201 2.0603Zm50.982-2.854c-.7134-.6333-1.4669-1.2425-2.2365-1.8197L79.992 9.9888a48.0142 48.0142 0 0 1 3.0701 2.5012l-9.018 10.2212ZM28.016 21.0277l-8.2565-10.8545c1.0421-.7937 2.1323-1.5553 3.2385-2.2688l7.3747 11.4719c-.8016.5211-1.6032 1.0742-2.3567 1.6514Zm40.6093-2.2767a36.5936 36.5936 0 0 0-2.5251-1.3789l6.0441-12.2254c1.1783.5852 2.3487 1.2185 3.4789 1.892L68.6333 18.743l-.008.008Zm-34.9259-1.2746L27.5832 5.291c1.1783-.5932 2.3887-1.1384 3.6072-1.6354l5.1302 12.6343c-.8817.3607-1.7635.7616-2.6212 1.1865Zm28.8737-1.6194a35.055 35.055 0 0 0-2.7334-.8819L63.519 1.8438c1.2666.3528 2.5331.7696 3.7676 1.2186L62.5651 15.857h.008Zm-22.6372-.8177L36.1764 1.932c1.2665-.3607 2.5571-.6814 3.8476-.938l2.7095 13.3639c-.9299.1924-1.8758.4168-2.7896.6814h-.008Zm16.1683-.9059c-.9459-.1603-1.9078-.2806-2.8537-.3688L54.4449.1924c1.3066.1122 2.6292.2806 3.9198.505l-2.2605 13.444v-.008Zm-9.5791-.3447L45.2425.2164C46.5491.0963 47.8717.016 49.1864 0l.2164 13.6364c-.9619.016-1.9238.0721-2.8777.1603v-.008Z" opacity=".2"/></svg>') 50% 50%/contain no-repeat;
  transform: translate3d(-50%, -50%, 0px);
}

/* c-section-title
=============================== */
.c-section-title {
  position: relative;
  display: grid;
  grid-template-columns: 100%;
  gap: calc(10px + var(--slope-1px) * 8);
  text-align: left;
  word-break: keep-all;
  overflow-wrap: anywhere;
  font-weight: 700;
  font-size: calc(24px + var(--slope-1px) * 11);
  line-height: 1.1;
}

.c-section-title:after {
  content: "";
  display: block;
  width: calc(var(--circle-diameter) * 3 + var(--gap) * 2);
  height: var(--circle-diameter);
  background-image: radial-gradient(circle, var(--point-color) var(--circle-radius), transparent var(--circle-radius)), radial-gradient(circle, var(--point-color) var(--circle-radius), transparent var(--circle-radius)), radial-gradient(circle, var(--point-color) var(--circle-radius), transparent var(--circle-radius));
  background-position: 0 100%, calc(var(--total-circle-width) * 1) 100%, calc(var(--total-circle-width) * 2) 100%;
  background-size: var(--circle-diameter) var(--circle-diameter), var(--circle-diameter) var(--circle-diameter), var(--circle-diameter) var(--circle-diameter);
  background-repeat: no-repeat;

  --circle-diameter: calc(4px + var(--slope-1px) * 2);
  --gap: 2px;
  --circle-radius: calc(var(--circle-diameter) / 2);
  --total-circle-width: calc(var(--circle-diameter) + var(--gap));
}

/* c-sub-title
============================== */
.c-sub-title {
  margin-block: var(--leading-trim);
  font-weight: 700;
  font-size: calc(18px + var(--slope-1px) * 2);
}

/* ============================================================= *

Blog

* ============================================================= */
.c-blog-container__table {
  width: 100%;
}

.c-blog-container__td > article {
  border: 3px solid var(--key-color);
  border-radius: 40px;
  background: #fff;
}

.c-blog-container__td > article + article {
  margin-top: calc(25px + var(--slope-1px) * 15);
}

.c-blog-container img {
  display: inline;
}

.c-blog-container .blog__header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px 1em;
  width: 100%;
  padding: calc(20px + var(--slope-1px) * 14) calc(20px + var(--slope-1px) * 15) calc(17px + var(--slope-1px) * 13);
  border-bottom: 3px solid var(--key-color);
}

@media screen and (max-width: 767px) {
  .c-blog-container .blog__header {
    flex-direction: column;
    align-items: flex-start;
  }
}

.c-blog-container .blog__title {
  margin-block: var(--leading-trim);
  font-weight: 700;
  font-size: calc(16px + var(--slope-1px) * 4);
  line-height: 1.4;
}

.c-blog-container .blog__date {
  margin-block: var(--leading-trim);
  margin-left: auto;
  font-weight: 700;
  font-size: calc(14px + var(--slope-1px) * 2);
}

.c-blog-container .blog__body {
  padding: calc(20px + var(--slope-1px) * 15);
  word-break: break-all;
}

.c-blog-container .blog__body img {
  height: auto;
  max-width: 1200px;
}

@media screen and (max-width: 767px) {
  .c-blog-container .blog__body img {
    max-width: 100%;
  }
}

.c-blog-container .blog__paging {
  text-align: right;
}

.c-blog-container .blog__paging:first-child {
  margin-bottom: calc(20px + var(--slope-1px) * 10);
}

.c-blog-container .blog__paging:last-child {
  margin-top: calc(20px + var(--slope-1px) * 10);
}

/* =============================================================

calendar

* ============================================================= */
/* c-calendar
============================== */
.c-calendar {
  position: relative;
  display: block;
}

.c-calendar__body {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(20px + var(--slope-1px) * 10);
}

@media screen and (max-width: 767px) {
  .c-calendar__body {
    grid-template-columns: 100%;
  }
  .c-calendar__body > *:last-child {
    display: none;
  }
  .c-calendar._next .c-calendar__body > * {
    display: none;
  }
  .c-calendar._next .c-calendar__body > *:last-child {
    display: block;
  }
}

.c-calendar__control {
  position: absolute;
  top: calc(20px + var(--slope-1px) * 10);
  right: calc(20px + var(--slope-1px) * 10);
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media screen and (min-width: 768px) {
  .c-calendar__control {
    display: none;
  }
}

.c-calendar__control > button {
  top: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(25px + var(--slope-1px) * 10);
  height: calc(25px + var(--slope-1px) * 10);
  margin-block: auto;
  outline: none;
  border: 0;
  background: var(--key-color);
  mask: var(--icon-angle) 50% 50%/contain no-repeat;
  color: transparent;
  text-decoration: none;
  font-size: 0;
}

.c-calendar__control > button._prev {
  transform: rotate(180deg);
}

.c-calendar__control > button:hover {
  opacity: .7;
  transition: all .3s;
}

.c-calendar__control > button.is-disabled {
  opacity: .3;
  transition: none;
  pointer-events: none;
}

/* c-calendar-notes
============================== */
.c-calendar-notes__item {
  display: inline-block;
  padding: .5em;
}

.c-calendar-notes__item .cal_close04 {
  color: #aaa;
}

.c-calendar-notes__item .cal_close01 {
  color: var(--key-color);
  font-style: normal;
}

/* c-calendar-box
============================== */
.c-calendar-box {
  display: flex;
  flex-direction: column;
  padding: calc(20px + var(--slope-1px) * 10);
  border: 1px solid var(--border-color);
  border-radius: 10px;
}

.c-calendar-box__head {
  position: relative;
  display: flex;
  align-items: flex-end;
  gap: .5em;
  width: 100%;
  margin-bottom: 1.11111em;
  font-weight: bold;
}

.c-calendar-box__head .cal_month {
  position: relative;
  font-size: calc(40px + var(--slope-1px) * 20);
  font-family: var(--en-font-family);
  line-height: .75;
}

.c-calendar-box__head .cal_month i {
  display: none;
}

.c-calendar-box__head .cal_year {
  font-family: var(--en-font-family);
  line-height: .75;
}

.c-calendar-box__body {
  width: 100%;
  margin-bottom: auto;
}

.c-calendar-box__foot {
  width: 100%;
  margin-top: 1em;
}

.c-calendar-box .cal {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-weight: regular;
}

.c-calendar-box .cal th {
  padding-bottom: .75em;
}

.c-calendar-box .cal th > div {
  padding-block: .75em;
  text-align: center;
  font-family: var(--en-font-family);
  line-height: .75;
  border-block: 1px solid var(--border-color);
}

@media screen and (max-width: 560px) {
  .c-calendar-box .cal th > div {
    font-size: 1.1rem;
  }
}

.c-calendar-box .cal td {
  padding: 3px;
  text-align: center;
}

.c-calendar-box .cal td > div {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2.5em;
  height: 2.5em;
  margin-inline: auto;
  padding: .5em;
  border-radius: 50%;
  font-weight: 500;
}

.c-calendar-box .cal td .cal_sat {
  color: #227cbd;
}

.c-calendar-box .cal .cal_sun,
.c-calendar-box .cal .cal_holiday {
  color: #de0000;
}

.c-calendar-box .cal td .cal_close01 {
  background: var(--key-color);
  color: #fff;
}

/* ============================================================= *

Maintenance

* ============================================================= */
/* service
=============================== */
.c-maintenance-service {
  display: flex;
  flex-wrap: wrap;
  width: 103.33333%;
  margin: -1.66667% -1.66667%;
  padding-top: 1px;
}

.c-maintenance-service:not(:first-child) {
  margin-top: 4.375em;
}

.c-maintenance-service__item {
  width: 50%;
  padding: 1.6129% 1.6129%;
}

.c-maintenance-service__item:first-child:last-child {
  margin: 0 auto;
}

.c-maintenance-service-block {
  display: block;
  text-align: center;
  text-decoration: none;
}

.c-maintenance-service-block__lead {
  margin-block: var(--leading-trim) 1em;
  font-weight: bold;
  font-size: calc(12px + var(--slope-1px) * 3);
}

.c-maintenance-service-block__lead span {
  display: inline-block;
}

.c-maintenance-service-block__banner {
  border: 4px solid var(--border-color);
  transition: opacity .2s;
}

.c-maintenance-service-block:hover .c-maintenance-service-block__banner {
  opacity: .7;
}

.c-maintenance-service-block__desc {
  margin-block: 1em var(--leading-trim);
  font-size: calc(11px + var(--slope-1px) * 3);
}

/* ============================================================= *

Inspection

* ============================================================= */
/* inspection fig
=============================== */
.c-inspection-fig {
  position: relative;
  max-width: 1080px;
  margin: 0 auto -1.875em;
  padding-bottom: 1.875em;
}

@media screen and (max-width: 767px) {
  .c-inspection-fig {
    margin-bottom: 0;
    padding-bottom: 0;
  }
}

.c-inspection-fig__notes {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  margin-top: 1em;
}

.c-inspection-fig__notes > li {
  margin: .25em 0;
}

.c-inspection-fig__notes > li:not(:first-child) {
  margin-left: 1.5em;
}

.c-inspection-fig__notes > li > span:after {
  content: "…";
  padding: 0 .25em;
  color: var(--base-color);
}

.c-inspection-fig__notes > li._option > span {
  color: var(--point-color);
}

.c-inspection-fig-image {
  position: relative;
  flex-grow: 0 !important;
}

.c-inspection-fig-image img {
  display: block;
  width: 100%;
  max-width: 532px;
}

.c-inspection-fig-image span {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
}

.c-inspection-fig-image i {
  position: absolute;
  display: block;
  border-width: 0;
  border-style: solid;
  color: #666;
}

.c-inspection-fig-image i._option {
  color: #666;
}

.c-inspection-fig-image i._option > * {
  color: inherit;
}

@media screen and (max-width: 767px) {
  .c-inspection-fig-image {
    display: none;
  }
}

.c-inspection-fig-box {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

@media screen and (max-width: 767px) {
  .c-inspection-fig-box {
    display: block;
    margin-left: 0 !important;
  }
  .c-inspection-fig-box > * {
    width: 100% !important;
    margin-left: 0 !important;
  }
}

.c-inspection-fig-box > * {
  flex-grow: 1;
}

.c-inspection-fig-box[data-col="1"] {
  flex-direction: column;
  align-items: stretch;
}

.c-inspection-fig-box[data-col="1"] > * {
  width: 100%;
}

.c-inspection-fig-box[data-col="1"] > *:not(:last-child) {
  margin-bottom: 1.875em;
}

.c-inspection-fig-box[data-col="2"] > * {
  width: 49%;
}

.c-inspection-fig-box[data-col="2"] > *:not(:first-child) {
  margin-left: 2%;
}

.c-inspection-fig-box[data-col="3"] > * {
  width: 32%;
}

.c-inspection-fig-box[data-col="3"] > *:not(:first-child) {
  margin-left: 2%;
}

.c-inspection-fig-box[data-col="3"] > *[data-flex="2"] {
  width: 66%;
}

.c-inspection-fig-box[data-col="4"] > * {
  width: 23.5%;
}

.c-inspection-fig-box[data-col="4"] > *:not(:first-child) {
  margin-left: 2%;
}

.c-inspection-fig-box[data-col="4"] > *[data-flex="2"] {
  width: 49%;
}

.c-inspection-fig-box[data-col="4"] > *[data-flex="3"] {
  width: 74.5%;
}

/* inspection check
=============================== */
.c-inspection-check {
  position: relative;
  z-index: 1;
  width: 100%;
  margin-bottom: 1.875em;
}

@media screen and (min-width: 768px) {
  .c-inspection-fig-image + .c-inspection-check {
    margin-bottom: 0;
  }
}

.c-inspection-check__head {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 2.5em;
  margin-bottom: .75em;
  background: #666;
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: 1.6rem;
}

.c-inspection-check__list {
  text-align: left;
  font-size: 1.4rem;
}

.c-inspection-check__list li {
  position: relative;
  width: 100%;
  margin-top: .5em;
  padding-left: 1.2em;
  line-height: 1.6;
}

.c-inspection-check__list li:hover {
  text-decoration: none;
}

.c-inspection-check__list li:before {
  content: "\25cf";
  position: absolute;
  top: 0;
  left: 0;
  opacity: .2;
}

.c-inspection-check__list._2col {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

.c-inspection-check__list._2col li {
  width: 50%;
}

@media screen and (max-width: 767px) {
  .c-inspection-check__list._2col li {
    width: 100%;
  }
}

/* ============================================================= *

sitemap

* ============================================================= */
/* c-sitemap
============================== */
.c-sitemap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 25px;
}

@media screen and (max-width: 767px) {
  .c-sitemap {
    grid-template-columns: 100%;
    gap: 0;
    background: linear-gradient(to right, transparent 0px, transparent 3px, var(--key-color) 3px, var(--key-color) 9px, transparent 9px, transparent 12px) center bottom / 12px 1px repeat-x;
  }
}

.c-sitemap__col {
  display: contents;
}

.c-sitemap-box {
  background: linear-gradient(to right, transparent 0px, transparent 3px, var(--key-color) 3px, var(--key-color) 9px, transparent 9px, transparent 12px) center top / 12px 1px repeat-x;
}

.c-sitemap-box__toggle {
  display: block;
  width: 100%;
  padding-block: 1em;
  border: 0;
  border-radius: 0;
  background: none;
  text-align: left;
  text-decoration: none;
  font-weight: 700;
  font-size: calc(14px + var(--slope-1px) * 4);
  line-height: 1;
  pointer-events: none;
}

@media screen and (max-width: 767px) {
  .c-sitemap-box__toggle {
    display: grid;
    align-items: center;
    grid-template-columns: 1fr 20px;
    gap: 1em;
    padding-block: 20px;
    padding-right: 5px;
    pointer-events: auto;
  }
  .c-sitemap-box__toggle:after {
    content: "";
    display: block;
    width: 11px;
    height: 11px;
    background: currentColor;
    mask: var(--icon-angle) 50% 50%/contain no-repeat;
    transition: transform .3s ease-out;
    transform: rotate(90deg);
  }
  .c-sitemap-box__toggle.is-open:after {
    transform: rotate(270deg);
  }
}

@media screen and (max-width: 767px) {
  .c-sitemap-box__body {
    display: none;
    margin-bottom: 20px;
  }
}

@media screen and (min-width: 768px) {
  .c-sitemap-box__body {
    display: block !important;
  }
}

.c-sitemap-pages {
  display: grid;
  grid-template-columns: 100%;
  gap: 14px;
  font-size: calc(12px + var(--slope-1px) * 2);
}

@media screen and (max-width: 767px) {
  .c-sitemap-pages {
    gap: 12px;
  }
}

.c-sitemap-pages > li a {
  display: grid;
  align-items: center;
  grid-template-columns: 6px 1fr;
  gap: 5px;
  width: fit-content;
  max-width: 100%;
  margin-block: var(--leading-trim);
  text-decoration: none;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .c-sitemap-pages > li a {
    font-weight: 500;
  }
}

.c-sitemap-pages > li a:before {
  content: "";
  display: block;
  width: 6px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: var(--point-color);
}

@media screen and (min-width: 768px) {
  .c-sitemap-pages > li a:hover {
    text-decoration: underline;
  }
}

/* ============================================================= *

Slider

* ============================================================= */
/* c-slider
============================== */
.c-slider {
  max-width: 100%;
  margin-inline: auto;
}

.c-slider__item a {
  display: block;
  transition: opacity .3s ease-out;
}

.c-slider__item a:hover {
  opacity: .8;
}

.c-slider__item img {
  border: 3px solid var(--key-color);
  border-radius: 20px;
}

/* c-slider-control
============================== */
.c-slider-control {
  display: flex;
  align-items: center;
  gap: calc(5px + var(--slope-1px) * 5);
}

.c-slider-control__pager {
  font-weight: 400;
  font-size: calc(15px + var(--slope-1px) * 3);
  font-family: var(--en-font-family);
}

.c-slider-control__arrows {
  display: flex;
  gap: calc(4px + var(--slope-1px) * 3);
}

/* ============================================================= *

Topics

* ============================================================= */
/* c-topics
============================== */
.c-topics {
  background: var(--border-dashed);
  background-position: left top;
}

.c-topics__item {
  background: var(--border-dashed);
}

.c-topics .topics-link {
  display: grid;
  grid-template-columns: 100%;
  gap: 10px;
  padding: 15px 15px 20px;
  text-decoration: none;
  font-size: calc(14px + var(--slope-1px) * 2);
  transition: all .2s ease-out;
}

.c-topics .topics-link:hover {
  color: var(--key-color);
}

.c-topics .topics-link__head {
  width: fit-content;
  padding: 8px;
  border-radius: 8px 8px 0px 8px;
  background: var(--key-color);
  color: #fff;
  font-weight: 700;
  font-size: calc(12px + var(--slope-1px) * 2);
  font-size: calc(14px + var(--slope-1px) * 2);
  line-height: 1;
}

.c-topics .topics-link__body {
  margin-block: var(--leading-trim);
  line-height: 1.5;
}

/* c-topics-toggle
============================== */
.c-topics-toggle {
  display: flex;
  align-items: center;
  gap: calc(5px + var(--slope-1px) * 3);
  width: fit-content;
  margin-inline: auto;
  margin-top: calc(20px + var(--slope-1px) * 5);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: inherit;
  font-weight: 400;
  font-size: calc(14px + var(--slope-1px) * 2);
  font-family: var(--en-font-family);
  transition: all .2s ease-out;
}

.c-topics-toggle:hover {
  opacity: .6;
}

.c-topics-toggle:after {
  content: "";
  flex-shrink: 0;
  width: calc(9px + var(--slope-1px) * 1);
  height: calc(9px + var(--slope-1px) * 1);
  background: currentColor;
  mask: var(--icon-angle) 50% 50%/contain no-repeat;
  transform: rotate(90deg);
}

.c-topics-toggle > span:last-child {
  display: none;
}

.c-topics-toggle.is-show > span:first-child {
  display: none;
}

.c-topics-toggle.is-show > span:nth-child(2) {
  display: block;
}

.c-topics-toggle.is-show:after {
  transform: rotate(270deg);
}

/* ============================================================= *

Scroll Bar

* ============================================================= */
[data-simplebar] {
  position: relative;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  align-content: flex-start;
}

.simplebar-wrapper {
  overflow: hidden;
  width: inherit;
  height: inherit;
  max-width: inherit;
  max-height: inherit;
}

.simplebar-mask {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  overflow: hidden;
  width: auto !important;
  height: auto !important;
  margin: 0;
  padding: 0;
  direction: inherit;
}

.simplebar-offset {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-overflow-scrolling: touch;
  box-sizing: inherit !important;
  margin: 0;
  padding: 0;
  resize: none !important;
  direction: inherit !important;
}

.simplebar-content-wrapper {
  position: relative;
  display: block;
  box-sizing: border-box !important;
  width: auto;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  direction: inherit;

  scrollbar-width: none;
  -ms-overflow-style: none;
}

.simplebar-content-wrapper::-webkit-scrollbar,
.simplebar-hide-scrollbar::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.simplebar-content:before,
.simplebar-content:after {
  content: ' ';
  display: table;
}

.simplebar-placeholder {
  width: 100%;
  max-width: 100%;
  max-height: 100%;
  pointer-events: none;
}

.simplebar-height-auto-observer-wrapper {
  position: relative;
  z-index: -1;
  float: left;
  flex-grow: inherit;
  flex-shrink: 0;
  flex-basis: 0;
  overflow: hidden;
  box-sizing: inherit !important;
  width: 100%;
  height: 100%;
  max-width: 1px;
  max-height: 1px;
  margin: 0;
  padding: 0;
  pointer-events: none;
}

.simplebar-height-auto-observer {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  overflow: hidden;
  box-sizing: inherit;
  width: 1000%;
  height: 1000%;
  min-width: 1px;
  min-height: 1px;
  opacity: 0;
  pointer-events: none;
}

.simplebar-track {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  overflow: hidden;
  background: rgba(200, 200, 200, .3);
  /* pointer-events: none; */
}

[data-simplebar].simplebar-dragging .simplebar-content {
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

[data-simplebar].simplebar-dragging .simplebar-track {
  pointer-events: all;
}

.simplebar-scrollbar {
  position: absolute;
  right: 0;
  left: 0;
  min-height: 10px;
}

.simplebar-scrollbar:before {
  content: '';
  position: absolute;
  right: 2px;
  left: 2px;
  border-radius: 12px;
  background: var(--key-color);
  transition: opacity 0s linear;
}

.simplebar-track.simplebar-vertical {
  top: 0;
  width: 11px;
}

.simplebar-track.simplebar-vertical .simplebar-scrollbar:before {
  top: 2px;
  bottom: 2px;
}

.simplebar-track.simplebar-horizontal {
  bottom: 3px;
  left: 0;
  overflow: visible;
  width: 100%;
  height: 6px;
  max-width: 952px;
  margin: 0 auto;
}

.simplebar-track.simplebar-horizontal.is-fixed {
  position: fixed;
  top: auto;
}

.simplebar-track.simplebar-horizontal .simplebar-scrollbar {
  top: auto;
  right: auto;
  bottom: -3px;
  left: 0;
  width: auto;
  height: 12px;
  min-width: 10px;
  min-height: 0;
  margin: auto 0;
  border-radius: 12px;
  background: var(--key-color);
}

/* Rtl support */
[data-simplebar-direction='rtl'] .simplebar-track.simplebar-vertical {
  right: auto;
  left: 0;
}

.hs-dummy-scrollbar-size {
  position: fixed;
  visibility: hidden;
  overflow-x: scroll;
  overflow-y: hidden;
  width: 500px;
  height: 500px;
  opacity: 0;
  direction: rtl;
}

.simplebar-hide-scrollbar {
  position: fixed;
  left: 0;
  visibility: hidden;
  overflow-y: scroll;

  scrollbar-width: none;
  -ms-overflow-style: none;
}

/* ============================================================= *

Utility

* ============================================================= */
/* Media Query Setting
====================================== */
.u-tablet-block {
  display: none !important;
}

@media screen and (max-width: 767px) {
  .u-tablet-block {
    display: block !important;
  }
}

.u-tablet-inline-block {
  display: none !important;
}

@media screen and (max-width: 767px) {
  .u-tablet-inline-block {
    display: inline-block !important;
  }
}

.u-tablet-flex {
  display: none !important;
}

@media screen and (max-width: 767px) {
  .u-tablet-flex {
    display: flex !important;
  }
}

@media screen and (max-width: 767px) {
  .u-tablet-none {
    display: none !important;
  }
}

.u-mobile-block {
  display: none !important;
}

@media screen and (max-width: 560px) {
  .u-mobile-block {
    display: block !important;
  }
}

.u-mobile-inline-block {
  display: none !important;
}

@media screen and (max-width: 560px) {
  .u-mobile-inline-block {
    display: inline-block !important;
  }
}

.u-mobile-flex {
  display: none !important;
}

@media screen and (max-width: 560px) {
  .u-mobile-flex {
    display: flex !important;
  }
}

@media screen and (max-width: 560px) {
  .u-mobile-none {
    display: none !important;
  }
}

/* text align
====================================== */
.u-ta-left {
  text-align: left !important;
}

.u-ta-right {
  text-align: right !important;
}

.u-ta-center {
  text-align: center !important;
}

/* display
====================================== */
.u-d-block {
  display: block !important;
}

.u-d-none {
  display: none !important;
}

.u-d-inline {
  display: inline !important;
}

.u-d-ib {
  display: inline-block !important;
}

/* position
====================================== */
.u-pos-static {
  position: static !important;
}

.u-pos-relative {
  position: relative !important;
}

.u-pos-absolute {
  position: absolute !important;
}

.u-pos-fixed {
  position: fixed !important;
}

/* clear
====================================== */
.u-clearfix:after {
  content: "";
  display: block;
  visibility: hidden;
  clear: both;
}

/* other
====================================== */
.u-strong {
  font-weight: bold !important;
}

.u-pointer {
  cursor: pointer;
}

.u-nowrap {
  white-space: nowrap;
}

.u-color-honda {
  color: #cc0000 !important;
}

.u-color-ciao {
  color: #0068b6 !important;
}

.u-color-mamoru {
  color: #8fc31f !important;
}

.u-rotate-90 {
  transform: rotate(90deg);
}

/* animationn
====================================== */
.u-no-transition {
  transition: none !important;
}

/* u-wide-width
============================== */
.u-wide-width {
  position: relative;
  left: 50%;
  width: calc(var(--vw) * 100);
  transform: translateX(-50%);
}

/* u-inner-width
============================== */
.u-inner-width {
  max-width: 990px;
  margin-right: auto;
  margin-left: auto;
}
