@charset "UTF-8";
/* Reset
----------------------------------------------------------------- */
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  font: inherit;
  font-size: 100%;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}

table {
  border-spacing: 0;
  border-collapse: collapse;
}

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

Custom Properties

* ============================================================= */
/* color
============================== */
:root {
  /* base color */
  --base-color: #212d46;
  --base-bg-color: #edf2ff;
  /* border color */
  --border-color:#ccc;
  /* background color */
  --bg-color: #f6f5f2;
  /* key color */
  --key-color:  #005bac;
  --key-text-color: #c2b7ff;
  --key-color-sub:  #e0e8ff;
  --key-color-grade: linear-gradient(90deg, #513dc1 0%, #4773ec 100%);
  /* point color */
  --point-color: #7a8bae;
  /* maintenance color */
  --ciao-color:#0168b7;
  --mamoru-color:#8ec220;
  /* color */
  --white:#fff;
  --black: #333;
  --gray:#444;
  --light-gray:#aaa;
}

/* size / font
============================== */
:root {
  --frame-width: 1366;
  --inner-width: 1128;
  --frame-width-px: calc(var(--frame-width) * 1px);
  --inner-width-px: calc(var(--inner-width) * 1px);
  --inner-padding: calc(20px + var(--slope-1px) * 4);
  --inner-overflow: calc(var(--vw) * 50 - var(--inner-width-px) * .5);
  --max-width: 1920;
  --max-width-px: calc(var(--max-width) * 1px);
  --side-space: clamp(14px, -52.2069px + 6.89655vw, 42px);
  --container-width: min(var(--max-width-px), var(--vw) * 100 - var(--side-space) * 2);
  --header-height: calc(72px + var(--slope-1px) * 32);
  --header-top: calc(16px + var(--slope-1px) * 8);
  --sticky-height: 0px;
  --border-radius: calc(10px + var(--slope-1px) * 6);
  --border-radius-lg: calc(16px + var(--slope-1px) * 8);
  --ovall-radius: calc(1px / 0);
  --base-font-size: 16;
  --base-font-px: calc(var(--base-font-size) * 1px);
  --line-height: 1.65;
  --line-space: (var(--line-height) - 1)/2;
  /* family */
  --body-font-family: "Roboto", "Noto Sans JP", sans-serif;
  --base-font-family: "Noto Sans JP", sans-serif;
  --en-font-family: "Roboto", sans-serif;
  --point-en-font-family: "Unbounded", sans-serif;
  /* animation */
  --animation: cubic-bezier(.455, .03, .515, .955);
  /* z-index */
  --local-z-index: 0;
  --navigation-z-index: 200;
  --header-z-index: 1000;
  --modal-z-index: 1001;
  --loader-z-index: 1002;
}

@media screen and (max-width: 1128px) {
  :root {
    --inner-overflow: var(--inner-padding);
  }
}

@media screen and (max-width: 768px) {
  :root {
    --inner-padding: 20px;
  }
}

/* utility
============================== */
:root {
  --vw: 1vw;
  --vh: 1vh;
  --base-cqi: calc(100cqi / 1366);
  --base-cqi-mobile: calc(100cqi / 375);
  --slope-1px: clamp(0px, -.95663px + .2551vw, 1px);
  --leading-trim: calc((1em - 1lh) / 2);
  --is-support-lh: initial;
  --is-support-not-lh: "";
}

:where(:lang(en)) {
  --leading-trim: var(--is-support-lh, calc((1cap - 1lh) / 2)) var(--is-support-not-lh, 0px);
}

@supports not (top: 1lh) {
  :where(:root) {
    --is-support-lh: "";
    --is-support-not-lh: initial;
  }
}

/* utility
============================== */
:root {
  --icon-arrow: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 12 12"><path fill="%23fff" d="M7.5 10.5 6.45 9.4125 9.1125 6.75H0v-1.5h9.1125L6.45 2.5875 7.5 1.5 12 6z"/></svg>');
  --icon-angle: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 14 14"><path fill="%23333" d="M8.8488 7.0038 4.3385 2.494q-.136-.1225-.1372-.298-.0013-.1752.141-.3042.1427-.1419.3106-.1419.1683 0 .3106.142L9.5657 6.48q.1168.1166.1754.2414.059.125.059.2824a.67.67 0 0 1-.059.2754q-.0585.1314-.1754.248l-4.606 4.5922q-.123.1222-.2988.1302-.176.008-.3185-.1343-.1425-.1419-.1424-.3096 0-.1674.1424-.3094z"/></svg>');
  --icon-down: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 20 20"><path fill="%23333" fill-rule="evenodd" d="m13.0633 10.4125-2.6513 2.6531c-.1125.1125-.2662.1454-.412.1172-.1458.0282-.2995-.0047-.412-.1172l-2.6513-2.6531c-.1833-.1828-.1833-.4781 0-.6656a.469.469 0 0 1 .6628 0l1.9318 1.9359v-4.964c0-.2579.21-.4688.4687-.4688.2592 0 .4688.211.4688.4688v4.964l1.9317-1.936a.469.469 0 0 1 .6628 0c.1833.1876.1833.4829 0 .6657M10 2.5c-4.1423 0-7.5 3.3563-7.5 7.5s3.3577 7.5 7.5 7.5 7.5-3.3562 7.5-7.5c0-4.1437-3.3577-7.5-7.5-7.5" clip-rule="evenodd"/></svg>');
  --icon-circle: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"><path fill="%23333" d="M16.5002 4.2059a9.0004 9.0004 0 0 1 3.348 12.1992 9 9 0 0 1-12.1577 3.4961 9 9 0 0 1-4.686-7.6097L3 11.9999l.0045-.2916a9 9 0 0 1 13.4957-7.5024m-4.5001 5.994a1.8 1.8 0 0 0-1.7793 1.5273l-.0162.1386-.0045.1341.0045.135a1.8 1.8 0 0 0 1.2006 1.5641 1.8003 1.8003 0 0 0 1.5807-3.2048 1.8 1.8 0 0 0-.9858-.2943"/></svg>');
  --icon-plus: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 30 30"><path fill="%23333" d="M16.08 14.0601h3.9201q.4248 0 .7125.2883.2874.2886.2874.7152 0 .4263-.2874.7113-.2877.285-.7125.285H16.08v3.9402q0 .4248-.2886.7125-.2883.2874-.7149.2874t-.7116-.2874q-.285-.2877-.285-.7125v-3.9402h-4.08q-.4248 0-.7125-.2883Q9 15.483 9 15.0564q0-.4263.2874-.7113.2877-.285.7125-.285h4.08V9.9999q0-.4248.2886-.7125Q14.6571 9 15.0834 9q.4266 0 .7116.2874.285.2877.285.7125zm10.92.9453q0-2.4849-.945-4.6701t-2.5749-3.8154Q21.8499 4.89 19.6632 3.945T14.9901 3t-4.6734.945Q8.13 4.89 6.51 6.5199q-1.62 1.6302-2.565 3.8169T3 15.0099t.945 4.6734Q4.89 21.87 6.51 23.49t3.81 2.565 4.6746.945q2.4849 0 4.6701-.945t3.8115-2.565 2.5752-3.81Q27 17.49 27 15.0054m-2.0001.0045q0 4.17-2.9199 7.08t-7.0899 2.91-7.08-2.9061q-2.91-2.9064-2.91-7.0938 0-4.1601 2.9061-7.08Q10.8126 5.0001 15 5.0001q4.1601 0 7.08 2.9199t2.9199 7.0899"/></svg>');
  --icon-minus: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 30 30"><path fill="%23333" d="M20.0001 15.9399H9.9999q-.4248 0-.7125-.2883Q9 15.363 9 14.9364q0-.4263.2874-.7113.2877-.285.7125-.285h10.0002q.4248 0 .7125.2883.2874.2886.2874.7152 0 .4263-.2874.7113-.2877.285-.7125.285M14.9946 27q2.4849 0 4.6701-.945t3.8154-2.5749q1.6299-1.6302 2.5749-3.8169T27 14.9901t-.945-4.6734Q25.11 8.13 23.4801 6.51q-1.6302-1.62-3.8169-2.565T14.9901 3t-4.6734.945Q8.13 4.89 6.51 6.51t-2.565 3.81T3 14.9946q0 2.4849.945 4.6701t2.565 3.8115 3.81 2.5752Q12.51 27 14.9946 27m-.0045-2.0001q-4.17 0-7.08-2.9199t-2.91-7.0899 2.9061-7.08q2.9064-2.91 7.0938-2.91 4.1601 0 7.08 2.9061Q24.9999 10.8126 24.9999 15q0 4.1601-2.9199 7.08t-7.0899 2.9199"/></svg>');
  --icon-pagetop: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 32 32"><path fill="%23fff" d="M14.6337 27.6164q-.3853-.3837-.3853-.9623V8.5765l-7.1642 7.1204q-.3921.3906-.9395.3974-.5475.0064-.953-.3974-.3917-.39-.3917-.9421t.3917-.9421l9.4622-9.4226q.2161-.2153.4461-.3029Q15.3295 4 15.6 4t.5.0872q.23.0876.446.3029l9.4623 9.4226q.3917.3901.3917.9353t-.3917.9489q-.4055.4038-.953.4039t-.9529-.4039l-7.1508-7.1204V26.654q0 .5786-.3853.9623T15.6 28t-.9663-.3836"/></svg>');
  --icon-menu: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"><path fill="%23333" d="M3.8333 7.043q-.354 0-.5938-.2371Q3 6.5689 3 6.2186t.2395-.5845q.2397-.234.5938-.2341h16.3334q.3541 0 .5938.237.2395.237.2395.5873 0 .3505-.2395.5845-.2397.2341-.5938.2341zm0 12.157q-.354 0-.5938-.2371Q3 18.7261 3 18.3757t.2395-.5845q.2397-.2341.5938-.2341h16.3334q.3541 0 .5938.237.2395.2371.2395.5873 0 .3504-.2395.5845-.2397.2341-.5938.2341zm0-6.0787q-.354 0-.5938-.2368Q3 12.6475 3 12.297q0-.3501.2395-.5842.2397-.2341.5938-.2341h16.3334q.3541 0 .5938.2368.2395.237.2395.5875 0 .3501-.2395.5842-.2397.2341-.5938.2341z"/></svg>');
  --icon-close: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"><path fill="%23333" d="m12 13.6052-7.0622 7.0622Q4.6052 21 4.135 21q-.4698 0-.8024-.3326T3 19.865q0-.4703.3326-.8028L10.3948 12 3.3326 4.9378Q3 4.6052 3 4.135q0-.4698.3326-.8024T4.135 3q.4702 0 .8028.3326L12 10.3948l7.0622-7.0622Q19.3947 3 19.865 3q.4698 0 .8024.3326T21 4.135q0 .4702-.3326.8028L13.6052 12l7.0622 7.0622q.3326.3325.3326.8028 0 .4698-.3326.8024T19.865 21q-.4703 0-.8028-.3326z"/></svg>');
  --icon-blank: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"><path fill="%23fff" d="M4.6668 21q-.675 0-1.171-.4957Q3 20.0083 3 19.3333V4.6668q0-.675.4958-1.171Q3.9918 3 4.6668 3h4.35q.354 0 .5937.2405.2395.2403.2395.5958t-.2395.593q-.2397.2375-.5937.2375h-4.35v14.6665h14.6665v-4.35q0-.354.2405-.5938.2405-.2395.5957-.2395.3555 0 .593.2395.2375.2398.2375.5938v4.35q0 .675-.4957 1.171-.496.4957-1.171.4957zM19.3333 5.85l-9.15 9.15q-.2416.2417-.5833.2333t-.5832-.25q-.2418-.2415-.2418-.5833 0-.3417.2417-.5832l9.1501-9.15H14.15q-.3543 0-.5937-.2406-.2395-.2405-.2395-.5957 0-.3555.2395-.593T14.15 3h6.0168q.354 0 .5937.2395.2395.2397.2395.5938V9.85q0 .3543-.2405.5938-.2402.2394-.5957.2395t-.593-.2395-.2375-.5938z"/></svg>');
}

/* data-intersection
============================== */
*:where([data-intersection]) {
  transition: opacity 1s, transform .8s;

  --intersection-y: 30px;
  --intersection-x: 0;
  --intersection-opacity: 0;
}

*[data-intersection] {
  opacity: var(--intersection-opacity);
  transform: translateX(var(--intersection-x)) translateY(var(--intersection-y));
}

*:where([data-intersection][data-intersecting=true]) {
  --intersection-y: 0;
  --intersection-x: 0;
  --intersection-opacity: 1;
}

*[data-pref=miyagi] {
  --pref-color: var(--pref-color-miyagi);
  --pref-color-sub: var(--pref-color-sub-miyagi);
}

*[data-pref=yamagata] {
  --pref-color: var(--pref-color-yamagata);
  --pref-color-sub: var(--pref-color-sub-yamagata);
}

*[data-pref=fukushima] {
  --pref-color: var(--pref-color-fukushima);
  --pref-color-sub: var(--pref-color-sub-fukushima);
}

*[data-pref=iwate] {
  --pref-color: var(--pref-color-iwate);
  --pref-color-sub: var(--pref-color-sub-iwate);
}

*[data-pref=akita] {
  --pref-color: var(--pref-color-akita);
  --pref-color-sub: var(--pref-color-sub-akita);
}

*[data-pref=aomori] {
  --pref-color: var(--pref-color-aomori);
  --pref-color-sub: var(--pref-color-sub-aomori);
}

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

Base

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

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

html {
  height: 100%;
  margin: 0;
  padding: 0;
  background: radial-gradient(circle at top right, rgba(248, 207, 150, .55) 0%, rgba(248, 207, 150, .55) calc(20px + var(--slope-1px) * 30), rgba(248, 207, 150, 0) calc(250px + var(--slope-1px) * 300)) no-repeat var(--base-bg-color);
  font-size: 62.5%;
}

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

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: var(--loader-z-index);
  width: 100%;
  height: 100%;
  background: url(../img/logo.svg) 50% 50% / calc(270px + var(--slope-1px) * 130) no-repeat var(--base-bg-color);
  transition: all .4s .2s;
}

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

body.is-modal-open {
  overflow: hidden;
}

body > * {
  backface-visibility: hidden;
}

: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: 769px) {
  a.js-tel {
    text-decoration: none;
    cursor: text;
    pointer-events: none;
  }
}

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;
}

*[data-intersection][data-intersection] {
  opacity: 0;
  transition: opacity .5s ease-out .4s;
}

*[data-intersection][data-intersection][data-intersecting=true] {
  opacity: 1;
  transition: opacity .5s ease-out .4s;
}

*[data-intersection][data-intersection-fade] {
  opacity: 0;
  transition: all .5s ease-out .2s;
}

*[data-intersection][data-intersection-fade][data-intersecting=true] {
  opacity: 1;
  transition: all .5s ease-out .2s;
}

*[data-intersection][data-intersection-fade-up] {
  opacity: 0;
  transition: opacity .4s ease-out .5s, transform 1.4s cubic-bezier(.215, .61, .355, 1) .5s;
  transform: translateY(60px);
}

*[data-intersection][data-intersection-fade-up][data-intersecting=true] {
  opacity: 1;
  transition: opacity .4s ease-out .5s, transform 1.4s cubic-bezier(.215, .61, .355, 1) .5s;
  transform: translateY(0);
}

*[data-intersection][data-intersection-scale] {
  opacity: 0;
  transition: all .5s cubic-bezier(.175, .885, .32, 1.275);
  transition-property: transform, opacity;
  transform: scale(.5);
}

*[data-intersection][data-intersection-scale][data-intersecting=true] {
  opacity: 1;
  transition: opacity 1.4s cubic-bezier(.215, .61, .355, 1) .5s, transform 1.4s cubic-bezier(.215, .61, .355, 1) .5s;
  transform: scale(1);
}

/* l-wrapper
============================== */
.l-wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100%;
  margin-inline: auto;
  transition: opacity .4s ease-out;
}

body.is-loaded .l-wrapper {
  opacity: 1;
}

@media screen and (max-width: 768px) {
  .l-wrapper {
    min-width: 0;
  }
}

@media print {
  .l-wrapper {
    min-width: 1080px;
  }
}

/* l-loader
============================== */
.l-loader {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100000;
  width: 100%;
  height: 100%;
  background: #fff;
}

body.is-loaded .l-loader {
  opacity: 0;
  transition: opacity .2s ease-in 2.4s;
  pointer-events: none;
}

body.is-loaded .l-loader::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 4px;
  margin: 0 auto auto;
  background: var(--key-color-grade);
  animation: shutterOpen 2.8s forwards;
}

@keyframes shutterOpen {
  0% {
    width: 0;
    height: 4px;
  }
  50% {
    width: 100%;
    height: 4px;
  }
  80% {
    width: 100%;
    height: 100%;
  }
  100% {
    width: 100%;
    height: 100%;
  }
}

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

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

Header

* ============================================================= */
/* header
=============================== */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--header-z-index);
  width: 100%;
  height: var(--header-height);
  padding-inline: var(--inner-padding);
  padding-top: var(--header-top);
  background: transparent;
  transition: opacity .3s ease-in-out, transform .3s ease-in-out;
  pointer-events: none;

  --logo-width: calc(240px + var(--slope-1px) * 58);
  --button-height: calc(38px + var(--slope-1px) * 1);
  /* TODO: 消える時にanimationなしで消えてしまう */
}

body .l-header {
  position: absolute;
}

body.is-header-hide .l-header {
  opacity: 0;
  transform: rotateX(90deg);
}

body.is-header-fixed .l-header {
  position: fixed;
  opacity: 1;
  transform: rotateX(0deg);
}

.l-header__inner {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0 14px;
  padding: 21px;
  border-radius: var(--border-radius);
  background: #fff;
  transition: opacity .3s ease-in-out, transform .3s ease-in-out;
  pointer-events: auto;
}

@media screen and (max-width: 960px) {
  .l-header__inner {
    padding: 14px 18px 14px 15px;
  }
}

@media screen and (max-width: 960px) {
  body:not(.is-header-hide) .l-header__inner {
    display: grid;
    grid-template-columns: 1fr auto auto;
  }
}

@media screen and (max-width: 768px) {
  body:not(.is-header-hide) .l-header__inner {
    grid-template-columns: 1fr auto;
  }
}

body.is-header-hide .l-header__inner {
  width: fit-content;
  margin-left: auto;
}

/* l-header-logo
=============================== */
.l-header-logo {
  width: var(--logo-width);
}

body.is-header-hide .l-header-logo {
  display: none;
}

@media screen and (max-width: 768px) {
  body:not(.is-header-hide) .l-header-logo {
    transition: all .3s;
  }
  body:not(.is-header-hide) .l-header:has(.is-open) .l-header-logo {
    opacity: 0;
    transition: all .2s;
    transform: rotateX(90deg);
    pointer-events: none;
  }
}

.l-header-logo a {
  display: block;
  overflow: hidden;
  transition: opacity .25s;
}

.l-header-logo a:hover {
  opacity: .7;
}

/* l-header-nav
============================== */
.l-header-nav {
  display: flex;
  align-items: center;
  gap: 0 calc(20px + var(--slope-1px) * 4);
}

@media screen and (max-width: 960px) {
  .l-header-nav {
    display: grid;
    grid-template-columns: 1fr auto;
  }
  body:not(.is-header-hide) .l-header-nav {
    display: contents !important;
  }
}

body.is-header-hide .l-header-nav {
  display: grid;
  grid-template-columns: 1fr auto;
}

.l-header-nav__list {
  display: none;
}

@media screen and (min-width: 961px) {
  body:not(.is-header-hide) .l-header-nav__list {
    display: contents !important;
  }
}

@media screen and (max-width: 960px) {
  .l-header-nav__list {
    grid-column: span 2;
    grid-row: 2/3;
    padding-block: calc(24px + var(--slope-1px) * 8) 12px;
  }
}

@media screen and (max-width: 960px) {
  body:not(.is-header-hide) .l-header-nav__list {
    grid-column: span 3;
    padding-block: 22px 8px;
  }
}

@media screen and (max-width: 768px) {
  body:not(.is-header-hide) .l-header-nav__list {
    grid-column: span 2;
  }
}

body.is-header-hide .l-header-nav__list {
  grid-column: span 2;
  grid-row: 2/3;
  padding-block: calc(24px + var(--slope-1px) * 8) 12px;
}

body:not(.is-header-hide) .l-header-nav__list-inner {
  display: flex;
  justify-content: space-around;
}

@media screen and (min-width: 961px) {
  body:not(.is-header-hide) .l-header-nav__list-inner {
    display: contents !important;
  }
}

.l-header-nav__item {
  display: contents;
}

@media screen and (max-width: 960px) {
  .l-header-nav__item {
    margin-block: var(--leading-trim);
    font-size: calc(14px + var(--slope-1px) * 2);
  }
}

.l-header-nav__item:first-child {
  display: none !important;
}

body.is-header-hide .l-header-nav__item {
  display: block;
  margin-block: var(--leading-trim);
  font-size: calc(14px + var(--slope-1px) * 2);
}

body.is-header-hide .l-header-nav__item:not(:last-child) {
  margin-bottom: calc(24px + var(--leading-trim));
}

body:not([data-id="index"]).is-header-hide .l-header-nav__item:first-child {
  display: block !important;
}

.l-header-nav__item a {
  display: block;
  color: currentColor;
  text-decoration: none;
  transition: opacity .25s;
}

.l-header-nav__item a:hover {
  opacity: .7;
}

.l-header-nav__button {
  display: flex;
  justify-content: center;
  align-items: center;
  height: var(--button-height);
  padding: 10px 14px;
  border-radius: 8px;
  background: linear-gradient(106deg, #3668aa 8.78%, #212d46 100%);
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  font-size: calc(14px + var(--slope-1px) * 1);
  line-height: 1;
  transition: filter .25s;
}

.l-header-nav__button:hover {
  filter: brightness(1.25);
}

.l-header-nav__toggle {
  display: none;
}

@media screen and (max-width: 960px) {
  .l-header-nav__toggle {
    display: block;
  }
}

body.is-header-hide .l-header-nav__toggle {
  display: block;
}

@media screen and (max-width: 768px) {
  body:not(.is-header-hide) .l-header-nav__contact {
    position: absolute;
    top: calc((var(--header-height) - var(--header-top) - var(--button-height)) / 2);
    left: 15px;
    visibility: hidden;
    width: var(--logo-width);
    opacity: 0;
    transition: all .3s;
    transform: rotateX(90deg);
    pointer-events: none;
  }
  body:not(.is-header-hide) .l-header-nav:has(.is-open) .l-header-nav__contact {
    visibility: visible;
    opacity: 1;
    transform: rotateX(0deg);
    pointer-events: auto;
  }
}

body.is-header-hide .l-header-nav__contact {
  display: block;
}

/* l-header-toggle
=============================== */
.l-header-toggle {
  position: relative;
  z-index: 1001;
  display: flex;
  visibility: visible;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 15px;
  aspect-ratio: 1/1;
  outline: none;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--base-color);
  cursor: pointer;
  pointer-events: all;
  appearance: none;
}

.l-header-toggle span, .l-header-toggle::before, .l-header-toggle::after {
  position: absolute;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  border-radius: 1px;
  background: currentColor;
  transition: opacity .15s .15s, translate .15s .15s, rotate .15s;
}

body.is-toggle-menu-open .l-header-toggle span, body.is-toggle-menu-open .l-header-toggle::before, body.is-toggle-menu-open .l-header-toggle::after {
  transition: opacity .15s, translate .15s, rotate .15s .15s;
}

.l-header-toggle::before {
  content: "";
  top: 0;
}

.l-header-toggle::after {
  content: "";
  bottom: 0;
}

.l-header-toggle:focus-visible {
  outline: 2px solid var(--key-color);
}

body.is-toggle-menu-open .l-header-toggle span {
  opacity: 0;
}

body.is-toggle-menu-open .l-header-toggle::before {
  translate: 0 7px;
  rotate: 45deg;
}

body.is-toggle-menu-open .l-header-toggle::after {
  translate: 0 -7px;
  rotate: -45deg;
}

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

Main

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

body[data-id=index] .l-main {
  padding-top: 0;
}

.l-main__head {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
  max-width: var(--inner-width-px);
  margin-inline: auto;
  margin-bottom: calc(48px + var(--slope-1px) * 16);
  padding-inline: var(--inner-padding);
  padding-top: calc(20px + var(--slope-1px) * 20);
}

.l-main__body {
  width: 100%;
  max-width: var(--inner-width-px);
  margin-inline: auto;
  margin-bottom: calc(-80px + var(--slope-1px) * -20);
  padding-inline: var(--inner-padding);
  padding-bottom: calc(160px + var(--slope-1px) * 40);
}

.l-main__body._no-bottom {
  margin-bottom: 0;
  padding-bottom: 0;
}

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

Footer

* ============================================================= */
/* l-footer
============================== */
.l-footer {
  background: var(--base-bg-color);
}

/* l-footer-contact
============================== */
.l-footer-contact {
  display: grid;
  grid-template-columns: 100%;
  gap: 44px;
  padding-block: 96px 87px;
  background: url(../img/bg-footer-contact.webp) 50% 50%/cover no-repeat;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .l-footer-contact {
    padding-block: 56px;
    background-image: url(../img/bg-footer-contact-sp.webp);
  }
}

.l-footer-contact__head {
  position: relative;
  text-align: center;
}

.l-footer-contact__head:before {
  content: "CONTACT";
  background: linear-gradient(90deg, rgba(255, 255, 255, .4) -2.36%, rgba(248, 207, 150, .4) 17.3%, rgba(136, 156, 199, .4) 47.18%, rgba(194, 206, 224, .4) 110.84%);
  -webkit-background-clip: text;
          background-clip: text;
  font-weight: 700;
  font-size: calc(56px + var(--slope-1px) * 64);
  font-family: var(--point-en-font-family);
  line-height: .8;

  -webkit-text-fill-color: transparent;
}

.l-footer-contact__head > span {
  position: absolute;
  top: 50%;
  left: 50%;
  text-shadow: 0 0 25px var(--base-color);
  font-weight: 700;
  font-size: calc(28px + var(--slope-1px) * 14);
  transform: translate(-50%, -50%);
}

.l-footer-contact__body {
  display: grid;
  grid-template-columns: 100%;
  gap: inherit;
  padding-inline: var(--inner-padding);
}

.l-footer-contact__text {
  margin-block: var(--leading-trim);
  text-align: center;
  text-shadow: 0 0 25px var(--base-color);
  line-height: 2;
}

.l-footer-contact__button {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(272px + var(--slope-1px) * 90);
  height: 58px;
  max-width: 100%;
  margin-inline: auto;
  border: 1px solid #fff;
  border-radius: var(--border-radius);
  text-decoration: none;
  font-weight: 700;
  transition: all .25s;
}

.l-footer-contact__button:hover {
  background: #fff;
  color: var(--base-color);
}

.l-footer-contact__button:after {
  content: "";
  position: absolute;
  right: 15px;
  display: block;
  width: 12px;
  aspect-ratio: 1/1;
  margin-block: auto;
  background: currentColor;
  mask: var(--icon-arrow) 50% 50%/12px auto no-repeat;

  inset-block: 0;
}

/* l-footer-contents
============================== */
.l-footer-contents {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 26px;
  padding: 40px var(--inner-padding) calc(20px + var(--slope-1px) * 12);
}

@media screen and (max-width: 768px) {
  .l-footer-contents {
    grid-template-columns: 100%;
    gap: 24px;
    justify-items: center;
  }
}

/* l-footer-nav
============================== */
.l-footer-nav {
  display: flex;
  align-items: center;
  gap: 20px;
}

@media screen and (max-width: 768px) {
  .l-footer-nav {
    display: grid;
    grid-template-columns: 100%;
    gap: 0;
    width: 100%;

    border-block: 1px solid var(--base-color);
  }
}

.l-footer-nav__item {
  display: contents;
}

.l-footer-nav__item:not(:last-child):after {
  content: "";
  display: block;
  width: 1px;
  height: 1em;
  background: currentColor;
}

@media screen and (max-width: 768px) {
  .l-footer-nav__item:not(:last-child):after {
    width: 100%;
    height: 1px;
  }
}

.l-footer-nav__item a {
  text-decoration: none;
  line-height: 1;
}

@media screen and (min-width: 769px) {
  .l-footer-nav__item a:hover {
    text-decoration: underline;
  }
}

@media screen and (max-width: 768px) {
  .l-footer-nav__item a {
    padding: 20px 8px;
  }
}

/* l-footer-copyright
============================== */
.l-footer-copyright {
  color: var(--point-color);
  font-weight: 400;
  font-size: calc(11px + var(--slope-1px) * 1);
  font-family: var(--point-en-font-family);
}

/* l-footer-corporate
============================== */
.l-footer-corporate {
  display: grid;
  align-items: center;
  grid-template-columns: 1fr auto;
  grid-column: span 2;
  gap: 32px;
  width: 100%;
  padding: 32px calc(20px + var(--slope-1px) * 12);
  border-radius: var(--border-radius-lg);
  background: #fff;
}

@media screen and (max-width: 960px) {
  .l-footer-corporate {
    grid-template-columns: 100%;
    margin-top: 8px;
  }
}

@media screen and (max-width: 768px) {
  .l-footer-corporate {
    grid-column: span 1;
  }
}

.l-footer-corporate__head {
  display: flex;
  align-items: center;
  gap: 16px 21px;
}

@media screen and (max-width: 960px) {
  .l-footer-corporate__head {
    flex-direction: column;
  }
}

.l-footer-corporate__logo {
  width: 60px;
}

.l-footer-corporate__text {
  margin-block: var(--leading-trim);
  word-break: keep-all;
  overflow-wrap: anywhere;
  font-size: 14px;
  line-height: 1.65;
}

@media screen and (max-width: 960px) {
  .l-footer-corporate__text {
    text-align: center;
  }
}

.l-footer-corporate__nav {
  display: flex;
  flex-wrap: wrap;
}

@media screen and (max-width: 960px) {
  .l-footer-corporate__nav {
    display: grid;
    justify-content: center;
    grid-template-columns: auto auto;
    gap: 16px 0;
    width: fit-content;
    max-width: 100%;
    margin-inline: auto;
  }
}

.l-footer-corporate__nav > li {
  display: flex;
  align-items: center;
  font-size: calc(13px + var(--slope-1px) * 1);
}

.l-footer-corporate__nav > li:not(:last-child):after {
  content: "";
  display: block;
  width: 1px;
  height: 1em;
  margin-inline: 10px;
  background: currentColor;
}

.l-footer-corporate__nav > li a {
  text-decoration: none;
}

.l-footer-corporate__nav > li a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 960px) {
  .l-footer-corporate__nav > li._top {
    grid-column: span 2;
  }
  .l-footer-corporate__nav > li._top a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 1em;
    border: 1px solid var(--base-color);
    border-radius: var(--border-radius);
    text-decoration: none !important;
    transition: color .25s, background .25s;
  }
  .l-footer-corporate__nav > li._top a:hover {
    background: var(--base-color);
    color: #fff;
  }
  .l-footer-corporate__nav > li._top:after {
    content: none;
  }
}

.l-modal {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  padding: 0;
  border: none;
  background: transparent;

  --close-height: calc(26px + var(--close-padding));
  --close-padding: calc(5px + var(--slope-1px) * 2);
  --modal-padding-block: calc(15px + var(--slope-1px) * 5);
}

.l-modal[open] {
  display: flex;
  align-items: center;
}

.l-modal::backdrop {
  background: rgba(0, 0, 0, .85);
}

.l-modal__inner {
  position: relative;
  display: flex;
  flex-direction: column-reverse;
  width: 94.66667%;
  height: 100%;
  max-width: var(--inner-width-px);
  margin: 0 auto;
  margin-block: auto;
  padding-top: var(--modal-padding-block);
  pointer-events: none;
}

.l-modal__contents {
  position: relative;
  overflow-y: auto;
  width: 100%;
  max-height: calc(100% - var(--close-height));
  margin-bottom: auto;
  padding-bottom: var(--modal-padding-block);
  pointer-events: auto;
}

.l-modal__contents:has(iframe) {
  aspect-ratio: 16 / 9.27;
}

.l-modal__contents iframe {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.l-modal__close {
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  margin-left: auto;
  padding-bottom: var(--close-padding);
  outline: none;
  border: 0;
  background: none;
  color: #fff;
  font-weight: 500;
  font-size: calc(15px + var(--slope-1px) * 1);
  cursor: pointer;
  pointer-events: auto;
  appearance: none;
}

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

.l-modal__close span {
  display: none;
}

.l-modal__close:after {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: var(--ovall-radius);
  background: #fff;
  mask: var(--icon-close);
}

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

Navigation

* ============================================================= */
/* c-breadcrumbs
============================== */
.c-breadcrumbs {
  order: -1;
  font-weight: 500;
  font-size: 12px;
}

.c-breadcrumbs__list {
  margin-block: var(--leading-trim);
  line-height: 1.65;
}

.c-breadcrumbs__item {
  display: inline;
  align-items: center;
  color: var(--point-color);
}

.c-breadcrumbs__item:not(:last-child) {
  margin-right: 8px;
}

.c-breadcrumbs__item:not(:first-child):before {
  content: "/";
  padding-right: 8px;
  color: var(--base-color);
}

.c-breadcrumbs__item a {
  color: var(--base-color);
}

/* c-button-container
============================== */
.c-button-container {
  margin-top: calc(40px + var(--slope-1px) * 24);
}

/* c-button
============================== */
.c-button {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 242px;
  height: 58px;
  max-width: 100%;
  margin-inline: auto;
  border: 1px solid var(--color);
  border-radius: var(--border-radius);
  text-decoration: none;
  font-weight: 700;
  transition: all .25s;

  --color: var(--base-color);
}

.c-button:hover {
  background: var(--color);
  color: #fff;
}

.c-button._white {
  --color: #fff;
}

.c-button._white:hover {
  color: var(--base-color);
}

.c-button:after {
  content: "";
  position: absolute;
  right: 15px;
  display: block;
  width: 12px;
  aspect-ratio: 1/1;
  margin-block: auto;
  background: currentColor;
  mask: var(--icon-arrow) 50% 50%/12px auto no-repeat;

  inset-block: 0;
}

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

Text

* ============================================================= */
/* c-lead
============================== */
.c-lead {
  margin-block: var(--leading-trim);
  line-height: 1.65;
}

.c-lead:not(:last-child) {
  margin-bottom: calc(32px + var(--slope-1px) * 32 + var(--leading-trim));
}

/* c-text
============================== */
.c-text {
  margin-block: var(--leading-trim);
}

body[data-id=index] .c-text {
  line-height: 2;
}

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

Title

* ============================================================= */
/* c-page-title
============================== */
.c-page-title {
  margin-block: var(--leading-trim);
  font-weight: 700;
  font-size: calc(28px + var(--slope-1px) * 14);
  line-height: 1.4;
}

/* c-section-title
============================== */
.c-section-title {
  margin-block: var(--leading-trim);
  word-break: keep-all;
  overflow-wrap: anywhere;
  font-weight: 700;
  font-size: calc(24px + var(--slope-1px) * 12);
  line-height: 1.4;
}

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

Sitemap

* ============================================================= */
/* c-sitemap
============================== */
.c-sitemap {
  display: grid;
  justify-content: center;
  grid-template-rows: repeat(2, auto) 1fr;
  grid-template-columns: repeat(4, 1fr);
  grid-template-areas: "company newcar maintenance carlife" "company usedcar maintenance carlife" "company usedcar maintenance showroom";
  gap: 40px clamp(15px, -173.4375px + 15.625vw, 40px);
  width: 100%;
  margin-inline: auto;
  color: var(--base-color);
}

@media screen and (max-width: 768px) {
  .c-sitemap {
    display: block;
    border-bottom: 1px solid;
  }
}

.l-footer .c-sitemap {
  color: var(--white);
}

@media screen and (max-width: 768px) {
  .l-footer .c-sitemap {
    border-bottom: 1px solid #999;
  }
}

.c-sitemap__col {
  display: contents;
}

/* c-sitemap-box
============================== */
.c-sitemap-box[data-category=company] {
  grid-area: company;
}

.c-sitemap-box[data-category=newcar] {
  grid-area: newcar;
}

.c-sitemap-box[data-category=usedcar] {
  grid-area: usedcar;
}

.c-sitemap-box[data-category=maintenance] {
  grid-area: maintenance;
}

.c-sitemap-box[data-category=carlife] {
  grid-area: carlife;
}

.c-sitemap-box[data-category=showroom] {
  grid-area: showroom;
}

.c-sitemap-box__head {
  margin-bottom: .625em;
}

.l-footer .c-sitemap-box__head {
  border-bottom: 1px solid;
}

@media screen and (max-width: 768px) {
  .c-sitemap-box__head {
    margin-bottom: 0;
    border-top: 1px solid;
  }
  .l-footer .c-sitemap-box__head {
    border-top-color: #999;
    border-bottom: 0;
  }
}

.c-sitemap-box__toggle {
  display: block;
  width: 100%;
  padding: 0;
  padding-bottom: 10px;
  outline: none;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  text-decoration: none;
  font-weight: 700;
  font-weight: bold;
  font-size: 16px;
  line-height: 1.5;
  cursor: unset;
  pointer-events: none;
  appearance: none;
}

@media screen and (max-width: 768px) {
  .c-sitemap-box__toggle {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 20px;
    padding: 25px 0 15px;
    font-weight: 400;
    line-height: 1;
    line-height: normal;
    cursor: pointer;
    pointer-events: auto;
  }
  .c-sitemap-box__toggle:after {
    content: "";
    position: absolute;
    top: 10px;
    right: 0;
    bottom: 0;
    display: block;
    width: 20px;
    height: 20px;
    margin: auto;
    background: currentColor;
    mask: var(--icon-plus) 50% 50%/contain no-repeat;
    transition: rotate .3s ease-out;
  }
  .c-sitemap-box:has(.c-sitemap-pages li:first-child:last-child) .c-sitemap-box__toggle[target="_blank"]:after {
    mask: var(--icon-external) 50% 50%/contain no-repeat;
  }
  .c-sitemap-box__toggle.js-sitemap-toggle.is-open:after {
    mask: var(--icon-minus) 50% 50%/contain no-repeat;
  }
}

.c-sitemap-box__body {
  display: grid;
  margin-top: calc( var(--leading-trim) + 1.2rem);
  margin-bottom: var(--leading-trim);
  font-weight: 400;
  font-size: 13px;
  line-height: 215.38462%;
}

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

@media screen and (max-width: 768px) {
  .c-sitemap-box__body {
    display: none;
    gap: 0;
    padding: .92308em 0 1.92308em 1.76923em;
    border-top: 1px solid #ccc;
  }
}

@media screen and (max-width: 768px) {
  .l-footer .c-sitemap-box__body {
    border-top: 1px solid #404040;
  }
}

/* c-sitemap-pages
============================== */
@media screen and (max-width: 768px) {
  .c-sitemap-pages > li:not(:last-child) {
    border-bottom: 1px solid #404040;
  }
}

.c-sitemap-pages a {
  position: relative;
  text-decoration: none;
  transition: opacity .2s, translate .3s;
}

.l-footer .c-sitemap-pages a {
  color: var(--white);
}

@media (any-hover: hover) {
  .l-footer .c-sitemap-pages a:where(:hover) {
    opacity: .6;
  }
}

@media screen and (max-width: 768px) {
  .c-sitemap-pages a {
    display: grid;
    align-items: center;
    grid-template-columns: 1fr 16px;
    padding: .66667em 0;
  }
  .c-sitemap-pages a:after {
    content: "";
    position: relative;
    display: block;
    width: 14px;
    height: 14px;
    background: currentColor;
    mask: var(--icon-arrow) 50% 50%/contain no-repeat;
  }
  .c-sitemap-pages a[target="_blank"]:after {
    right: 2px;
    width: 20px;
    height: 20px;
    mask: var(--icon-external) 50% 50%/contain no-repeat;
  }
  .c-sitemap-pages a[data-modal-for]:after {
    right: 2px;
    width: 20px;
    height: 20px;
    mask: var(--icon-plus) 50% 50%/contain no-repeat;
  }
}

@media (any-hover: hover) {
  .c-sitemap-pages a:where(:hover) {
    color: var(--key-color);

    translate: 3px 0;
  }
}

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

Slider

* ============================================================= */
/* c-slider-control
============================== */
.c-slider-control {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(12px + var(--slope-1px) * 4);
  width: 100%;
  width: fit-content;
  margin-inline: auto;
}

.c-slider-control .slick-arrow {
  flex-shrink: 0;
}

.c-slider-control .slick-arrow.slick-prev {
  order: -1;
}

.c-slider-control__pager {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 400;
  font-size: calc(16px + var(--slope-1px) * 4);
  font-family: var(--point-en-font-family);

  font-variant-numeric: tabular-nums;
}

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

achievements

* ============================================================= */
/* c-achievements-nav
============================== */
.c-achievements-nav {
  display: block;
  height: 100%;
  padding: calc(20px + var(--slope-1px) * 4) calc(20px + var(--slope-1px) * 4) calc(24px + var(--slope-1px) * 8);
  border-radius: var(--border-radius-lg);
  background: #fff;
  text-decoration: none;
  transition: opacity .2s ease-out;
}

.c-achievements-nav:hover {
  opacity: .7;
}

.c-achievements-nav__head {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 292 / 157;
  margin-bottom: calc(20px + var(--slope-1px) * 4);
}

.c-achievements-nav__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--border-radius);
  background: var(--bg-color);
}

.c-achievements-nav__body {
  display: grid;
  grid-template-columns: 100%;
  gap: 20px;
}

.c-achievements-nav__project {
  margin-block: var(--leading-trim);
  font-size: calc(18px + var(--slope-1px) * 2);
}

.c-achievements-nav__client {
  margin-block: var(--leading-trim);
  font-size: calc(15px + var(--slope-1px) * 1);
}

.c-achievements-nav__foot {
  margin-top: 24px;
}

.c-achievements-nav__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0 1em;
  margin-block: var(--leading-trim);
  color: var(--point-color);
  font-size: calc(12px + var(--slope-1px) * 2);
}

/* c-achievements-article
============================== */
.c-achievements-article {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(32px + var(--slope-1px) * 18);
}

.c-achievements-article__head {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(20px + var(--slope-1px) * 4);
  font-weight: 500;
  font-size: calc(15px + var(--slope-1px) * 1);
}

.c-achievements-article__client {
  margin-block: var(--leading-trim);
}

.c-achievements-article__date {
  margin-block: var(--leading-trim);
  font-family: var(--en-font-family);
}

.c-achievements-article__detail {
  display: contents;
}

.c-achievements-article__detail-item {
  display: grid;
  grid-template-columns: auto 1fr;
  margin-block: var(--leading-trim);
  font-family: var(--body-font-family);
}

.c-achievements-article__detail-item > dt {
  grid-column: 1;
}

.c-achievements-article__detail-item > dt:after {
  content: "\ff1a";
}

.c-achievements-article__detail-item > dd {
  grid-column: 2;
  word-break: break-all;
}

.c-achievements-article__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0 1em;
  color: #7a8bae;
  font-size: calc(12px + var(--slope-1px) * 2);
}

.c-achievements-article__tags > li {
  margin-block: var(--leading-trim);
}

.c-achievements-article__tags > li:before {
  content: "#";
}

.c-achievements-article__body {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(48px + var(--slope-1px) * 24);
}

.c-achievements-article__image img {
  border-radius: var(--border-radius-lg);
  background: #fff;
}

.c-achievements-article__image:has(img:nth-child(2)) {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

@media screen and (max-width: 768px) {
  .c-achievements-article__image:has(img:nth-child(2)) {
    grid-template-columns: 100%;
  }
}

.c-achievements-article__text {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: calc(48px + var(--slope-1px) * 24) 5.375em;
  width: 960px;
  max-width: 100%;
  margin-inline: auto;
}

@media screen and (max-width: 768px) {
  .c-achievements-article__text {
    grid-template-columns: 100%;
    gap: 20px;
  }
}

.c-achievements-article__text-head {
  margin-block: var(--leading-trim);
  font-weight: 700;
  font-size: calc(18px + var(--slope-1px) * 2);
}

@media screen and (max-width: 768px) {
  .c-achievements-article__text-head:not(:first-child) {
    margin-top: 28px;
  }
}

.c-achievements-article__text-body {
  margin-block: var(--leading-trim);
  letter-spacing: .03em;
  font-size: calc(15px + var(--slope-1px) * 1);
  line-height: 1.65;
}

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

Utility

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

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

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

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

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

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

@media screen and (max-width: 768px) {
  .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-wbr {
  word-break: keep-all;
  overflow-wrap: anywhere;
}
