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

Properties

* ============================================================= */
/* color
============================== */
:root {
  --base-color: #333;
  --border-color: #c7c7c7;
  --bg-color: rgba(51, 51, 51, .06);
  --key-gradation: linear-gradient(90deg, #db0000 0%, #f28400 17%, #ffda00 35%, #85d100 49%, #35a04c 64%, #05bfdd 77%, #0051c6 89%, #a423e8 100%);
  --button-miyagi: linear-gradient(94deg, #ff001e 4.73%, #f49111 119.14%);
  --button-yamagata: linear-gradient(94deg, #44a257 4.73%, #b6dc28 119.14%);
  --button-fukushima: linear-gradient(94deg, #1562c9 4.73%, #21c3d2 119.14%);
  --red: #c00;
}

/* layouts
============================== */
:root {
  --inner-width-px: 1080px;
  --outer-width-px: 1200px;
  --header-height: calc(66px + var(--slope-1px) * 29);
  --inner-padding: 20px;
  --inner-margin: calc(50 * var(--vw) - var(--inner-width-px) * .5);
}

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

/* utility
============================== */
:root {
  --vw: 1vw;
  --vh: 1vh;
  --leading-trim: calc((1em - 1lh) / 2);
  --ovall-radius: calc(1px / 0);
  --base-border-radius: 12px;
  --base-box-shadow: 0 0 20px 3px rgba(51, 51, 51, .10);
  /* 375-767pxを0-1pxで推移 */
  --slope-1px: clamp(0px, -.95663px + .2551vw, 1px);
  /* 768-1200pxを0-1pxで推移 */
  --slope-1px-md: clamp(0px, -1.77136px + .23095vw, 1px);
  /* fonts */
  --base-font-family: Roboto, "Noto Sans JP", sans-serif;
  --en-font-family: Roboto, sans-serif;
}

/* icon
============================== */
:root {
  --icon-angle: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none"><path d="M7.86003 6.00245L2.97192 1.11435C2.843 0.985429 2.78022 0.831961 2.78357 0.653943C2.78693 0.475924 2.85306 0.322402 2.98198 0.193376C3.1109 0.0644585 3.26437 0 3.44238 0C3.6204 0 3.77393 0.0644585 3.90295 0.193376L8.87087 5.17135C8.98811 5.2887 9.07501 5.42016 9.13157 5.56573C9.18824 5.7113 9.21658 5.85688 9.21658 6.00245C9.21658 6.14802 9.18824 6.2936 9.13157 6.43917C9.07501 6.58474 8.98811 6.7162 8.87087 6.83355L3.89289 11.8115C3.76398 11.9404 3.61218 12.0032 3.43752 11.9999C3.26274 11.9965 3.1109 11.9304 2.98198 11.8015C2.85306 11.6725 2.7886 11.5191 2.7886 11.3411C2.7886 11.163 2.85306 11.0095 2.98198 10.8805L7.86003 6.00245Z" fill="%23333333"/></svg>');
  --icon-info: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 28 28"><path fill="%23333" d="M14.0597 21q.3956 0 .6584-.266.2622-.2664.2623-.6598v-6.622q0-.3935-.2675-.6599-.2675-.266-.6632-.266-.3952 0-.658.266-.2626.2664-.2626.6599v6.622q0 .3934.2674.6598.2678.266.6632.266m-.0608-10.8865q.4521 0 .7593-.301.3073-.3006.3073-.7457 0-.4656-.3062-.7751-.3062-.309-.7589-.3091-.461 0-.7634.3106-.3025.3105-.3025.77 0 .4464.3058.7486.3062.3017.7586.3017M14.0088 28q-2.9072 0-5.4544-1.1023-2.5473-1.1024-4.448-3.0041-1.9006-1.9022-3.0037-4.448Q0 16.8996 0 13.9948q0-2.9046 1.1023-5.4563 1.1024-2.552 3.0041-4.4424 1.9022-1.8903 4.448-2.9934Q11.1004 0 14.0052 0q2.9046 0 5.4563 1.1023 2.552 1.1023 4.4424 2.992t2.9934 4.4442Q28 11.0932 28 13.9912q0 2.9072-1.1023 5.4544-1.1023 2.5473-2.992 4.4436-1.8895 1.8962-4.4442 3.0033Q16.9068 28 14.0088 28m-.0011-1.8517q5.0688 0 8.6049-3.5435 3.5357-3.5434 3.5357-8.6125 0-5.0688-3.5306-8.6049Q19.0871 1.8517 14 1.8517q-5.0613 0-8.6048 3.5306T1.8517 14q0 5.0613 3.5435 8.6048 3.5434 3.5436 8.6125 3.5435"/></svg>');
  --icon-blank: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none"><path d="M1.35541 11.7C1.07041 11.7 0.823202 11.5953 0.61378 11.386C0.404463 11.1766 0.299805 10.9294 0.299805 10.6444V1.35561C0.299805 1.07061 0.404463 0.823401 0.61378 0.613978C0.823202 0.404662 1.07041 0.300003 1.35541 0.300003L4.49041 0.300003C4.63988 0.300003 4.76523 0.350775 4.86645 0.45232C4.96758 0.553759 5.01814 0.679528 5.01814 0.829628C5.01814 0.979728 4.96758 1.10492 4.86645 1.20519C4.76523 1.30547 4.63988 1.35561 4.49041 1.35561H1.35541V10.6444H10.6442V7.50939C10.6442 7.35993 10.695 7.23458 10.7965 7.13335C10.8981 7.03223 11.0238 6.98167 11.1738 6.98167C11.3239 6.98167 11.4491 7.03223 11.5494 7.13335C11.6497 7.23458 11.6998 7.35993 11.6998 7.50939V10.6444C11.6998 10.9294 11.5951 11.1766 11.3858 11.386C11.1764 11.5953 10.9292 11.7 10.6442 11.7H1.35541ZM10.6442 2.105L4.8492 7.9C4.74723 8.00208 4.6241 8.05132 4.4798 8.04773C4.33551 8.04424 4.21238 7.99147 4.11041 7.88939C4.00834 7.78743 3.9573 7.6643 3.9573 7.52C3.9573 7.37571 4.00834 7.25258 4.11041 7.15061L9.90541 1.35561H7.36147C7.2119 1.35561 7.08655 1.30484 6.98543 1.20329C6.88431 1.10175 6.83375 0.97598 6.83375 0.825986C6.83375 0.675886 6.88431 0.550697 6.98543 0.45042C7.08655 0.350142 7.2119 0.300003 7.36147 0.300003H11.1721C11.3215 0.300003 11.4469 0.350564 11.5481 0.451687C11.6492 0.552914 11.6998 0.678262 11.6998 0.827728V4.63834C11.6998 4.78791 11.649 4.91326 11.5475 5.01438C11.446 5.1155 11.3203 5.16606 11.1702 5.16606C11.0201 5.16606 10.8949 5.1155 10.7946 5.01438C10.6943 4.91326 10.6442 4.78791 10.6442 4.63834V2.105Z" fill="%23333333"/></svg>');
  --icon-plus: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none"><path d="M5.60283 11.8403C5.49728 11.7338 5.4445 11.6018 5.4445 11.4445V6.5555H0.5555C0.398167 6.5555 0.266222 6.50211 0.159667 6.39533C0.0532223 6.28844 0 6.156 0 5.998C0 5.84011 0.0532223 5.70839 0.159667 5.60283C0.266222 5.49728 0.398167 5.4445 0.5555 5.4445H5.4445V0.5555C5.4445 0.398167 5.49789 0.266223 5.60467 0.159667C5.71156 0.0532225 5.844 0 6.002 0C6.15989 0 6.29161 0.0532225 6.39717 0.159667C6.50272 0.266223 6.5555 0.398167 6.5555 0.5555V5.4445H11.4445C11.6018 5.4445 11.7338 5.49789 11.8403 5.60467C11.9468 5.71156 12 5.844 12 6.002C12 6.15989 11.9468 6.29161 11.8403 6.39717C11.7338 6.50272 11.6018 6.5555 11.4445 6.5555H6.5555V11.4445C6.5555 11.6018 6.50211 11.7338 6.39533 11.8403C6.28844 11.9468 6.156 12 5.998 12C5.84011 12 5.70839 11.9468 5.60283 11.8403Z" fill="%23333333"/></svg>');
  --icon-minus: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none"><path d="M0.5555 6.5555L6.5555 6.5555L11.4445 6.5555C11.6018 6.5555 11.7338 6.50273 11.8403 6.39717C11.9468 6.29161 12 6.15989 12 6.002C12 5.844 11.9468 5.71156 11.8403 5.60467C11.7338 5.49789 11.6018 5.4445 11.4445 5.4445L6.5555 5.4445L0.5555 5.4445C0.398167 5.4445 0.266222 5.49728 0.159667 5.60284C0.0532223 5.70839 0 5.84012 0 5.998C0 6.156 0.0532223 6.28845 0.159667 6.39534C0.266222 6.50212 0.398167 6.5555 0.5555 6.5555Z" fill="%23333333"/></svg>');
  --icon-menu: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 40 40"><path fill="%23333" d="M10.2567 10.6408q-.8042 0-1.3475-.5483-.5434-.5484-.5434-1.3583 0-.8109.5434-1.3434.5433-.5316 1.3475-.5316h27.8525q.8033 0 1.3466.5483Q40 7.9558 40 8.7667q0 .81-.5442 1.3425-.5433.5316-1.3466.5316zm0 11.25q-.8042 0-1.3475-.5483-.5434-.5483-.5434-1.3592 0-.81.5434-1.3425.5433-.5316 1.3475-.5316h27.8525q.8033 0 1.3466.5483.5442.5483.5442 1.3592 0 .81-.5442 1.3425-.5433.5316-1.3466.5316zm0 11.25q-.8042 0-1.3475-.5483-.5434-.5483-.5434-1.3592 0-.81.5434-1.3425.5433-.5316 1.3475-.5316h27.8525q.8033 0 1.3466.5483.5442.5484.5442 1.3583 0 .8109-.5442 1.3434-.5433.5316-1.3466.5316zM2.0825 10.8333q-.8225 0-1.4525-.6233Q0 9.5875 0 8.6925q0-.8675.6308-1.4467.63-.579 1.495-.5791t1.4525.59q.5884.59.5884 1.4616 0 .8692-.5992 1.4917-.5991.6234-1.485.6233m0 11.2175q-.8225 0-1.4525-.6208T0 19.9583q0-.8816.6308-1.4775.63-.5958 1.495-.5958t1.4525.6058q.5884.6067.5884 1.525 0 .7942-.5992 1.415-.5991.62-1.485.62m0 11.2825q-.8225 0-1.4525-.6233Q0 32.0875 0 31.1925q0-.8683.6308-1.4467.63-.5791 1.495-.5791t1.4525.59q.5884.5891.5884 1.4608 0 .87-.5992 1.4925-.5991.6233-1.485.6233"/></svg>');
  --icon-close: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40" fill="none"><path d="M20 22.6753L8.22964 34.4457C7.86009 34.8152 7.41411 35 6.8917 35C6.36966 35 5.92387 34.8152 5.55432 34.4457C5.18477 34.0761 5 33.6303 5 33.1083C5 32.5859 5.18477 32.1399 5.55432 31.7704L17.3247 20L5.55432 8.22964C5.18477 7.86009 5 7.41411 5 6.8917C5 6.36966 5.18477 5.92387 5.55432 5.55432C5.92387 5.18477 6.36966 5 6.8917 5C7.41411 5 7.86009 5.18477 8.22964 5.55432L20 17.3247L31.7704 5.55432C32.1399 5.18477 32.5859 5 33.1083 5C33.6303 5 34.0761 5.18477 34.4457 5.55432C34.8152 5.92387 35 6.36966 35 6.8917C35 7.41411 34.8152 7.86009 34.4457 8.22964L22.6753 20L34.4457 31.7704C34.8152 32.1399 35 32.5859 35 33.1083C35 33.6303 34.8152 34.0761 34.4457 34.4457C34.0761 34.8152 33.6303 35 33.1083 35C32.5859 35 32.1399 34.8152 31.7704 34.4457L20 22.6753Z" fill="%23333333"/></svg>');
}

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

Base

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

html {
  height: 100%;
  margin: 0;
  padding: 0;
  background: url(../img/bg-pattern.gif);
  font-size: var(--base-font-root);
}

body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  color: var(--base-color);
  letter-spacing: .03em;
  font-size: calc(15px + var(--slope-1px) * 1);
  font-family: var(--base-font-family);
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
}

body.is-header-nav-open {
  overflow: hidden;
}

img {
  display: block;
  max-width: 100%;
}

svg {
  display: block;
  width: 100%;
}

svg path:not([fill]) {
  fill: currentColor;
}

svg text:not([fill]) {
  fill: currentColor;
}

svg circle:not([fill]) {
  fill: currentColor;
}

a {
  color: currentColor;
  text-decoration: underline;
}

a:hover {
  text-decoration: none;
}

a.js-tel {
  text-decoration: none;
}

a.js-tel._active {
  text-decoration: underline;
}

a.js-tel._inactive {
  color: currentColor;
}

button {
  cursor: pointer;
}

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

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

:where(._en) {
  font-family: "Barlow Condensed";
  line-height: .8;
}

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

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

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

/* intersection
============================== */
*[data-intersection] {
  opacity: 0;
  transition: opacity .5s ease-out, translate .5s ease-out;

  translate: 0px 50px;
}

*[data-intersection][data-intersecting="true"] {
  opacity: 1;

  translate: 0px 0px;
}

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

Header

* ============================================================= */
/* l-header
============================== */
.l-header {
  z-index: 100;
  width: 100%;
  padding: var(--header-padding) var(--header-padding) 0;

  --header-padding: calc(16px + var(--slope-1px) * 9);
}

.l-header__inner {
  display: flex;
}

/* l-header-logo
============================== */
.l-header-logo {
  position: relative;
  z-index: 3;
  justify-self: flex-start;
}

.l-header-logo a {
  display: flex;
  align-items: center;
  gap: calc(9px + var(--slope-1px) * 3);
  padding: calc(13px + var(--slope-1px) * 2);
  border-radius: 10px;
  background: #fff;
  box-shadow: var(--base-box-shadow);
  transition: all .2s ease-out;
}

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

.l-header-logo a:before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: calc(37px + var(--slope-1px) * 23);
  aspect-ratio: 60/40;
  background: url(../img/vi.png) 50% 50%/contain no-repeat;
}

.l-header-logo a :is(img, svg) {
  width: calc(160px + var(--slope-1px) * 79);
}

/* l-header-menu
============================== */
.l-header-menu {
  position: fixed;
  top: var(--header-padding);
  right: var(--header-padding);
}

.l-header-menu__toggle {
  position: relative;
  z-index: 3;
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(50px + var(--slope-1px) * 20);
  aspect-ratio: 1/1;
  border: 0;
  border-radius: 10px;
  background: #fff;
  box-shadow: var(--base-box-shadow);
  color: currentColor;
  transition: all .2s ease-out;
}

.l-header-menu__toggle > div {
  width: calc(27px + var(--slope-1px) * 13);
  aspect-ratio: 1/1;
  background: currentColor;
  mask: var(--icon-menu) 50% 50%/contain no-repeat;
}

body.is-header-nav-open .l-header-menu__toggle > div {
  mask-image: var(--icon-close);
}

.l-header-menu__toggle > div > span {
  display: none;
}

.l-header-menu__toggle:hover {
  opacity: .7;
}

.l-header-menu__nav {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 2;
  display: block;
  display: block;
  visibility: hidden;
  overflow-y: auto;
  width: 376px;
  height: calc(var(--vh) * 100);
  max-width: 100%;
  padding: calc(var(--header-height) + 20px - var(--slope-1px) * 8) calc(32px + var(--slope-1px) * 16) calc(40px + var(--slope-1px) * 24);
  background: url(../img/gradation.svg) right 70%/65% auto no-repeat #fff;
  box-shadow: 0 0 20px 3px rgba(51, 51, 51, .1);
  opacity: 0;
  transition: all .4s cubic-bezier(.22, 1, .36, 1);
  transform: translateX(100%);

  overscroll-behavior-y: none;
}

@media screen and (max-width: 560px) {
  .l-header-menu__nav {
    width: 100%;
  }
}

body.is-header-nav-open .l-header-menu__nav {
  visibility: visible;
  opacity: 1;
  transform: translateX(0);
}

.l-header-menu:before {
  content: "";
  position: fixed;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, .8);
  opacity: 0;
  transition: all .4s cubic-bezier(.22, 1, .36, 1);
  pointer-events: none;
}

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

/* l-header-nav
============================== */
.l-header-nav__item {
  border-bottom: 1px solid var(--border-color);
}

.l-header-nav__link {
  display: grid;
  grid-template-columns: 1fr 12px;
  padding-block: 20px;
  text-decoration: none;
  font-weight: 600;
  font-size: calc(15px + var(--slope-1px) * 1);
  line-height: 1;
  transition: opacity .2s;
}

.l-header-nav__link:hover {
  opacity: .7;
}

.l-header-nav__link:after {
  content: "";
  display: block;
  aspect-ratio: 1/1;
  background: currentColor;
  mask: var(--icon-angle) 50% 50%/contain no-repeat;
}

.l-header-nav__link[target="_blank"]:after {
  mask-image: var(--icon-blank);
}

.l-header-nav__link.js-next-toggle {
  pointer-events: none;
}

.l-header-nav__link.js-next-toggle:after {
  color: transparent;

  mask-image: var(--icon-plus);
}

.l-header-nav__link.js-next-toggle.is-open:after {
  mask-image: var(--icon-minus);
}

@media screen and (max-width: 767px) {
  .l-header-nav__link.js-next-toggle {
    pointer-events: auto;
  }
  .l-header-nav__link.js-next-toggle:after {
    color: inherit;
  }
}

.l-header-nav__corporate {
  display: none;
  margin-top: -4px;
  padding-bottom: 20px;
}

@media screen and (min-width: 768px) {
  .l-header-nav__corporate {
    display: block !important;
  }
}

.l-header-nav__button-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.l-header-nav__button {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 42px;
  border: 0;
  border-radius: 5px;
  background: var(--button-color);
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  font-size: 14px;
  transition: all .2s;

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

.l-header-nav__button[data-pref=miyagikeno] {
  --button-color: var(--button-miyagi);
}

.l-header-nav__button[data-pref=yamagatakeno] {
  --button-color: var(--button-yamagata);
}

.l-header-nav__button[data-pref=chuofukushima] {
  --button-color: var(--button-fukushima);
}

@media (any-hover: hover) {
  .l-header-nav__button:hover {
    opacity: .7;
  }
}

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

Main

* ============================================================= */
/* main
=============================== */
.l-main {
  position: relative;
  flex-grow: 1;
  width: 100%;
  max-height: 100%;
  padding: 0;
}

.l-main:has(.l-main__head) {
  position: relative;
  padding-bottom: calc(72px + var(--slope-1px) * 48);
}

.l-main:has(.l-main__head):before {
  content: "";
  position: absolute;
  top: calc(-36px + var(--slope-1px) * -8);
  right: calc(16px + var(--slope-1px-md) * 67);
  z-index: -1;
  display: block;
  width: calc(165px + var(--slope-1px) * 225);
  aspect-ratio: 390/307;
  background: url(../img/symbol.svg) 50% 50%/contain no-repeat;
  opacity: .35;
}

.l-main__head {
  display: flex;
  flex-direction: column;
  gap: calc(40px + var(--slope-1px) * 16);
  overflow: hidden;
  width: 100%;
  max-width: calc(var(--inner-width-px) + var(--inner-padding) * 2);
  margin-inline: auto;
  padding-block: calc(32px + var(--slope-1px) * 25) calc(40px + var(--slope-1px) * 48);
  padding-inline: var(--inner-padding);
}

.l-main__body {
  width: 100%;
  max-width: calc(var(--inner-width-px) + var(--inner-padding) * 2);
  margin-inline: auto;
  padding-inline: var(--inner-padding);
}

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

Footer

* ============================================================= */
.l-footer {
  position: relative;
  overflow: hidden;
  padding-block: calc(48px + var(--slope-1px) * 6) calc(30px + var(--slope-1px) * 14);
  border-top: 1px solid;
  border-image-source: var(--key-gradation);
  border-image-slice: 1;
  background: rgba(255, 255, 255, .35);
}

.l-footer:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  z-index: 0;
  display: block;
  width: 468px;
  aspect-ratio: 468/368;
  background: url(../img/symbol.svg) 50% 50%/contain no-repeat;
  opacity: .5;
  transform: translateX(10.68376%) translateY(-50%);
}

@media screen and (max-width: 767px) {
  .l-footer:before {
    top: 0;
    width: 281px;
    transform: translateX(10.68376%) translateY(-14.79821%);
  }
}

.l-footer__inner {
  position: relative;
  z-index: 1;
  width: min(100%, 1260px);
  margin-inline: auto;
  padding-inline: 30px;
}

.l-footer__lead {
  margin-block: var(--leading-trim);
  word-break: keep-all;
  overflow-wrap: anywhere;
  font-weight: 900;
  font-size: calc(34px + var(--slope-1px) * 10);
  line-height: 1.3;
}

.l-footer__logo {
  width: 228px;
  margin-top: calc(48px + var(--slope-1px) * -8);
}

.l-footer__copyright {
  margin-top: 16px;
  font-weight: 400;
  font-size: 14px;
  font-family: var(--en-font-family);
  line-height: 1;
}

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

Blog

* ============================================================= */
.CMN-blog {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(24px + var(--slope-1px) * 6);
}

.CMN-blog__body {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(16px + var(--slope-1px) * 4);
}

/* CMN-blog-paging
============================== */
.CMN-blog-paging {
  margin-block: var(--leading-trim);
  text-align: right;
  font-weight: 400;
}

/* CMN-blog-block
=============================== */
.CMN-blog-block {
  padding: calc(32px + var(--slope-1px) * 8) calc(24px + var(--slope-1px) * 16);
  border: 1px solid var(--border-color);
  border-radius: 10px;
  line-height: 1.65;
}

.CMN-blog-block__inner {
  display: grid;
  grid-template-columns: 100%;
  gap: 24px;
}

.CMN-blog-block__head {
  padding-bottom: 24px;
  border-bottom: 1px solid var(--border-color);
}

.CMN-blog-block__body strong {
  font-weight: bold;
}

.CMN-blog-block__body em {
  font-style: italic;
}

.CMN-blog-block__body u {
  text-decoration: underline;
}

.CMN-blog-block__body img {
  display: inline;
}

.CMN-blog-block-table {
  width: 100%;
}

/* CMN-blog-heading
=============================== */
.CMN-blog-heading {
  display: grid;
  align-items: center;
  grid-template-columns: 1fr auto;
  gap: 16px 1em;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .CMN-blog-heading {
    grid-template-columns: 100%;
  }
}

.CMN-blog-heading__title {
  margin-block: var(--leading-trim);
  font-weight: 600;
  font-size: 18px;
}

.CMN-blog-heading__date {
  margin-block: var(--leading-trim);
  font-weight: 400;
  font-family: var(--en-font-family);
}

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

Navigation

* ============================================================= */
/* c-button
============================== */
.c-button {
  display: grid;
  justify-content: center;
  align-items: center;
  grid-template-columns: 1fr 12px;
  height: calc(52px + var(--slope-1px) * 6);
  padding-inline: 20px;
  border: 1px solid var(--base-color);
  border-radius: 5px;
  background: transparent;
  color: var(--base-color);
  text-align: center;
  text-decoration: none;
  font-weight: 600;
  font-size: calc(15px + var(--slope-1px) * 1);
  transition: all .2s;
}

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

.c-button:after {
  content: "";
  display: block;
  width: 12px;
  aspect-ratio: 1/1;
  background: currentColor;
  mask: var(--icon-angle) 50% 50%/contain no-repeat;
}

/* c-button-container
============================== */
.c-button-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
}

.c-button-container:not(:first-child) {
  margin-top: calc(40px + var(--slope-1px) * 16);
}

.c-button-container > .c-button {
  width: calc(273px + var(--slope-1px) * 9);
}

/* c-breadcrumbs
=============================== */
.c-breadcrumbs {
  order: -1;
  margin-block: var(--leading-trim);
  font-size: calc(12px + var(--slope-1px) * 1);
}

.c-breadcrumbs__list > li {
  display: inline;
  font-weight: 400;
}

.c-breadcrumbs__list > li:not(:last-child) {
  padding-right: 6px;
}

.c-breadcrumbs__list > li:not(:first-child):before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 10px;
  background: currentColor;
  mask: var(--icon-angle) 50% 50%/contain no-repeat;
}

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

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

/* c-tab
=============================== */
.c-tab {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(13px + var(--slope-1px) * 19);
  width: 900px;
  max-width: 100%;
  margin-inline: auto;
  margin-top: calc(80px + var(--slope-1px) * 16);
  margin-bottom: calc(60px + var(--slope-1px) * 12);
}

.c-tab__item {
  display: contents;
}

.c-tab__button {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: visible;
  padding: calc(19px + var(--slope-1px) * 21) .5em calc(20px + var(--slope-1px) * 21);
  outline: none;
  border: 1px solid #7c7c7c;
  border-radius: 4px;
  background: transparent;
  color: currentColor;
  text-align: center;
  text-decoration: none;
  font-weight: 600;
  font-size: calc(15px + var(--slope-1px) * 7);
  line-height: 1.65;
  filter: drop-shadow(0 0 7.444px rgba(51, 51, 51, .1));
  cursor: pointer;
  transition: all .3s;
}

.c-tab__button:hover {
  background: #ffff;
  opacity: .8;
}

.c-tab__button.is-current {
  background: linear-gradient(180deg, #535353 0%, #000 50.18%);
  color: #fff;
}

.c-tab__button.is-current:before, .c-tab__button.is-current:after {
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  display: block;
  margin-inline: auto;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.c-tab__button.is-current:before {
  top: 100%;
  width: calc(15px + var(--slope-1px) * 6);
  height: calc(12px + var(--slope-1px) * 6);
  background: #7c7c7c;
}

.c-tab__button.is-current:after {
  top: calc(100% - 1px);
  width: calc(13px + var(--slope-1px) * 6);
  height: calc(11px + var(--slope-1px) * 6);
  background: #000;
}

.c-tab__button span {
  display: block;
  text-align: center;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

*[data-tab-id]:not(.is-current) {
  display: none !important;
}

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

policy

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

.c-policy:not(:has(.c-policy__body)) {
  gap: calc(40px + var(--slope-1px) * 32);
}

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

.c-policy__list {
  counter-reset: policy;
  display: contents;
}

.c-policy__sign {
  margin-block: var(--leading-trim);
  text-align: right;
}

.c-policy__item {
  counter-increment: policy;
  display: grid;
  grid-template-columns: 100%;
  gap: calc(24px + var(--slope-1px) * 8);
}

.c-policy__head {
  display: flex;
  align-items: baseline;
  gap: calc(10px + var(--slope-1px) * 2);
  margin-block: var(--leading-trim);
  padding-block: 8px;
  font-weight: 400;
  font-size: calc(16px + var(--slope-1px) * 2);
}

.c-policy__head:before {
  content: counter(policy) ".";
  flex-shrink: 0;
  font-size: calc(18px + var(--slope-1px) * 2);
  font-family: var(--en-font-family);
  line-height: 1;
}

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

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

section

* ============================================================= */
/* c-section
============================== */
.c-section {
  display: grid;
  grid-template-columns: 100%;
  gap: var(--gap);

  --margin-top: calc(80px + var(--slope-1px) * 16);
  --gap: calc(32px + var(--slope-1px) * 8);
}

.c-section:not(:first-child) {
  margin-top: var(--margin-top);
}

.c-tab + .c-section {
  margin-top: 0;
}

.c-section._policy {
  --margin-top: calc(96px + var(--slope-1px) * 48);
  --gap: calc(40px + var(--slope-1px) * 16);
}

.c-section._text {
  width: 900px;
  max-width: 100%;
  margin-inline: auto;
}

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

block

* ============================================================= */
/* c-text-block
============================== */
.c-text-block {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(24px + var(--slope-1px) * 8);
}

.c-text-block:not(:first-child) {
  margin-top: calc(56px + var(--slope-1px) * 32);
}

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

/* c-text-block-frame
============================== */
.c-text-block-frame {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(24px + var(--slope-1px) * 8);
  padding: calc(32px + var(--slope-1px) * 8) calc(24px + var(--slope-1px) * 16);
  border: 1px solid var(--border-color);
  border-radius: 10px;
}

.c-text-block-frame__head {
  margin-block: var(--leading-trim);
  font-weight: 500;
  font-size: calc(16px + var(--slope-1px) * 2);
}

.c-text-block-frame__list {
  display: contents;
}

.c-text-block-frame__item {
  position: relative;
  margin-block: var(--leading-trim);
  padding-left: 1em;
}

.c-text-block-frame__item:before {
  content: "\30fb";
  position: absolute;
  top: 0;
  left: 0;
}

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

Mouse Stalker

* ============================================================= */
.c-stalker {
  position: fixed;
  top: calc(var(--size) * -.5);
  left: calc(var(--size) * -.5);
  /* 開いた瞬間は非表示 */
  z-index: -1;
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  background: url(../img/gradation.svg) 50% 50%/contain no-repeat;
  opacity: 0;
  transition: all .45s ease-out;
  transition-property: top, left, width, height;
  pointer-events: none;

  --size: 680px;
}

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

.c-stalker.is-mouseon {
  --size: 400px;
}

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

Text

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

/* c-notes
=============================== */
.c-notes {
  margin-block: var(--leading-trim);
  font-size: calc(12px + var(--slope-1px) * 2);
}

.c-notes:not(:first-child) {
  margin-top: calc(32px - var(--slope-1px) * 8 + var(--leading-trim));
}

.c-text-block__body .c-notes {
  margin-top: calc(4px + var(--slope-1px) * 8 + var(--leading-trim));
}

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

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

.c-notes > li._strong {
  color: #c00;
  font-weight: bold;
}

.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._circle > li:before {
  content: "\25cf";
}

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

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

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

.c-notes > li._circle:before {
  content: "\25cf";
}

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

Title

* ============================================================= */
/* c-page-title
=============================== */
.c-page-title {
  position: relative;
  display: flex;
  align-items: center;
  height: var(--en-height);
  font-weight: 600;
  font-size: calc(32px + var(--slope-1px) * 12);

  --en-height: calc(61px + var(--slope-1px-md) * 24);
}

@media screen and (max-width: 767px) {
  .c-page-title {
    width: calc(100% + var(--inner-padding));
  }
}

.c-page-title:before {
  content: attr(data-en);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  color: var(--bg-color);
  font-size: calc(86px + var(--slope-1px-md) * 34);
  font-family: var(--en-font-family);
  line-height: .8;
}

/* c-section-title
=============================== */
.c-section-title {
  margin-block: var(--leading-trim);
  font-weight: 600;
  font-size: calc(24px + var(--slope-1px) * 8);
}

.c-section-title:has(wbr) {
  word-break: keep-all;
  overflow-wrap: anywhere;
}

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

.c-sub-title:has(wbr) {
  word-break: keep-all;
  overflow-wrap: anywhere;
}

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

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