@charset "UTF-8";
:root {
  /* Colors */
  --color-main: #97999B;
  --color-sub: #D9D9D6;
  --color-accent-01: #FFB81C;
  --color-accent-02: #00BFB3;
  --color-white: #FFF;
  --color-black: #333;
  --color-font: var(--color-black);
  --color-gray: #707070;
  --color-light-gray: #F4F4F3;
  --color-footer: #ECECEA;
  --color-btn-hover: #EFEFEE;
  --color-form-warn: #AB2328;
  --color-form-bg-err: #FEE;
  --color-placeholder: #C0C0C0;
  --color-toggle-bg: #F3F3F2;
  /* Font */
  --font-family: "Noto Sans JP", "メイリオ", "Meiryo", sans-serif;
  --font-family-02: "Montserrat", "Noto Sans JP", "メイリオ", "Meiryo", sans-serif;
  --font-weight-txt: 400;
  --font-weight: 500;
  --font-weight-bold: 700;
  --line-height: 1.75;
  --line-height-txt: 2;
  /* Dimensions */
  --breakpoint: 768px;
  --width-content: 1240px;
  --gutter-content: 16px;
  /* Radius */
  --radius: 20px;
  /* Transitions */
  --transition-duration: .3s;
  --transition-tf: ease;
  --opacity-hover: 0.6;
  /* Parallax Animation */
  --parallax-scroll-num: 0;
  --parallax-target-offset-num: 0;
  /* Z-Index */
  --z-index-header: 100;
  --z-index-local-menu: 99;
  --z-index-overlay: 101;
}

/* ----------------------------------------------------------------
  Reset

  https://github.com/andy-piccalilli/modern-css-reset/blob/master/LICENSE
----------------------------------------------------------------- */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

ul[role=list],
ol[role=list] {
  list-style: none;
}

body {
  min-height: 100vh;
  text-rendering: optimizespeed;
  line-height: var(--line-height);
}
body.contact-finish-page {
  min-height: 92vh;
}

a:not([class]) {
  text-decoration-skip-ink: auto;
}

img,
picture {
  max-width: 100%;
}

picture {
  display: block;
}

input,
button,
textarea,
select {
  font: inherit;
}

@font-face {
  font-family: Montserrat;
  font-display: swap;
  src: local("Montserrat-Bold"), url("/assets/font/Montserrat-Bold.woff2") format("woff2");
  font-weight: 700;
}
@font-face {
  font-family: "Noto Sans JP";
  font-display: swap;
  src: url("/assets/font/NotoSansJP-VariableFont_wght.woff2") format("woff2");
  font-weight: 400 700;
  font-style: normal;
}
html {
  --header-height: 84px;
  font-size: 62.5%;
  scroll-behavior: smooth;
  scroll-padding-top: var(--header-height);
}
html.is-menu-open, html.is-modal-open {
  overflow: hidden;
}

body {
  color: var(--color-font);
  font-family: var(--font-family);
  font-weight: var(--font-weight);
  font-size: 1.4rem;
  word-break: break-word;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; /* stylelint-disable-line */
}
@media only screen and (min-width: 768px) {
  body {
    font-size: 1.6rem;
  }
}

h1 {
  margin-bottom: 24px;
  font-size: 3.2rem;
  font-weight: var(--font-weight);
}
@media only screen and (min-width: 768px) {
  h1 {
    max-width: 826px;
    font-size: 4rem;
  }
}

h2 {
  margin: 80px 0 20px;
  font-size: 2.4rem;
  font-weight: var(--font-weight);
}
@media only screen and (min-width: 768px) {
  h2 {
    margin-block: 60px 48px;
    font-size: 3.2rem;
  }
}

h3 {
  margin-bottom: 16px;
  font-size: 2rem;
  font-weight: var(--font-weight);
}
@media only screen and (min-width: 768px) {
  h3 {
    margin-bottom: 48px;
  }
}

h4 {
  margin-bottom: 16px;
  font-size: 1.8rem;
  font-weight: var(--font-weight);
}

h5 {
  margin-bottom: 16px;
  font-size: 1.6rem;
  font-weight: var(--font-weight);
}

p {
  margin-bottom: 16px;
  font-weight: var(--font-weight-txt);
  line-height: var(--line-height-txt);
}

a {
  transition: opacity var(--transition-duration) var(--transition-tf);
}
a:hover, a:active, a:focus-visible {
  opacity: var(--opacity-hover);
}
a:not([href]) {
  opacity: unset;
}

b {
  font-weight: var(--font-weight-bold);
}

strong {
  font-weight: var(--font-weight-bold);
}

em {
  font-weight: var(--font-weight-bold);
  font-style: normal;
}

sup,
sub {
  font-size: 1.2rem;
}

ul,
ol {
  padding: 0;
  margin: 0;
}
ul[class],
ol[class] {
  list-style: none;
}
ul:not([class]),
ol:not([class]) {
  padding-left: 18px;
}
ul li a,
ol li a {
  color: var(--color-black);
  text-decoration: none;
}

img,
video {
  height: auto;
  max-width: 100%;
}

iframe {
  border: 0;
  max-width: 100%;
}

button {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  appearance: none;
  color: inherit;
}
button:not(:disabled) {
  cursor: pointer;
}

select {
  width: 100%;
  appearance: none;
  border: none;
  background-color: transparent;
  color: inherit;
  cursor: pointer;
}
select:focus-visible {
  outline: 2px solid #000;
}

::placeholder {
  opacity: 1;
}

fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

input[type=file] {
  width: 100%;
}

dfn {
  font-style: normal;
}

table {
  border-collapse: collapse;
}

summary {
  list-style: none;
}
summary::-webkit-details-marker {
  display: none;
}

dialog {
  padding: 0;
  border: none;
}
dialog::backdrop {
  background-color: rgba(51, 51, 51, 0.3);
}

@keyframes fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes move01 {
  from {
    transform: translateY(500px);
  }
  to {
    transform: translateY(calc(var(--parallax-scroll-num) * 1));
  }
}
@keyframes move02 {
  from {
    transform: translateY(-500px);
  }
  to {
    transform: translateY(calc(var(--parallax-scroll-num) * -10));
  }
}
@keyframes zoom01 {
  from {
    scale: 2;
  }
  to {
    scale: 1.1;
  }
}
@keyframes zoom02 {
  from {
    scale: 2;
  }
  to {
    scale: 1.2;
  }
}
@keyframes top-mv-sp {
  0% {
    height: calc(100vh - 73px);
  }
  80% {
    height: calc(100vh - 73px);
  }
  82% {
    height: calc(100vh - 73px);
  }
  100% {
    height: 643px;
  }
}
@keyframes top-img-sp {
  0% {
    filter: opacity(0);
  }
  60% {
    filter: opacity(0);
  }
  80% {
    filter: opacity(1);
  }
}
@keyframes top-hdg-sp {
  0% {
    padding: 21px;
  }
  80% {
    padding: 21px;
  }
  82% {
    padding: 21px;
  }
}
@keyframes top-path-sp {
  0% {
    fill: var(--color-main);
  }
  60% {
    fill: var(--color-main);
  }
  80% {
    fill: var(--color-white);
  }
}
@keyframes top-round01-sp {
  0% {
    background-color: var(--color-light-gray);
    filter: none;
    mask-size: 10px 10px;
    -webkit-mask-size: 10px 10px; /* stylelint-disable-line property-no-vendor-prefix */
    mask-position: 0;
    -webkit-mask-position: 100% 0; /* stylelint-disable-line property-no-vendor-prefix */
  }
  25% {
    mask-size: 449px 449px;
    -webkit-mask-size: 449px 449px; /* stylelint-disable-line property-no-vendor-prefix */
    mask-position: calc(100% + 449px - 250px) -41px;
    -webkit-mask-position: calc(100% + 449px - 250px) -41px; /* stylelint-disable-line property-no-vendor-prefix */
  }
  30% {
    mask-size: 449px 449px;
    -webkit-mask-size: 449px 449px; /* stylelint-disable-line property-no-vendor-prefix */
    mask-position: calc(100% + 449px - 250px) -41px;
    -webkit-mask-position: calc(100% + 449px - 250px) -41px; /* stylelint-disable-line property-no-vendor-prefix */
  }
  55% {
    mask-size: 701px 701px;
    -webkit-mask-size: 701px 701px; /* stylelint-disable-line property-no-vendor-prefix */
    mask-position: -390px -210px;
    -webkit-mask-position: -390px -210px; /* stylelint-disable-line property-no-vendor-prefix */
  }
  60% {
    background-color: var(--color-light-gray);
    filter: none;
  }
  80% {
    background-color: transparent;
    filter: brightness(110%);
    mask-size: 701px 701px;
    -webkit-mask-size: 701px 701px; /* stylelint-disable-line property-no-vendor-prefix */
    mask-position: -390px -210px;
    -webkit-mask-position: -390px -210px; /* stylelint-disable-line property-no-vendor-prefix */
  }
  82% {
    background-color: transparent;
    filter: brightness(110%);
    mask-size: 701px 701px;
    -webkit-mask-size: 701px 701px; /* stylelint-disable-line property-no-vendor-prefix */
    mask-position: -390px -210px;
    -webkit-mask-position: -390px -210px; /* stylelint-disable-line property-no-vendor-prefix */
  }
}
@keyframes top-round02-sp {
  0% {
    opacity: 1;
  }
  25% {
    width: 314px;
    height: 314px;
    left: -27px;
    bottom: -117px;
  }
  30% {
    width: 314px;
    height: 314px;
    left: -27px;
    bottom: -117px;
  }
  55% {
    width: 331px;
    height: 331px;
    left: calc(100% - 182px);
    bottom: -70px;
  }
  60% {
    opacity: 1;
  }
  80% {
    width: 331px;
    height: 331px;
    left: calc(100% - 182px);
    bottom: -70px;
    opacity: 0;
  }
}
@keyframes top-decoration01-sp {
  20% {
    top: 206px;
    left: calc(100% - 272px);
    width: 44px;
    height: 44px;
  }
  25% {
    top: 206px;
    left: calc(100% - 272px);
    width: 44px;
    height: 44px;
  }
  55% {
    top: 129px;
    left: calc(100% - 110px);
    width: 56px;
    height: 56px;
    opacity: 1;
  }
  60% {
    top: 129px;
    left: calc(100% - 110px);
    width: 56px;
    height: 56px;
    opacity: 0;
  }
  80% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes top-decoration02-sp {
  20% {
    right: 65%;
    bottom: 180px;
    width: 41px;
    height: 41px;
  }
  25% {
    right: 65%;
    bottom: 180px;
    width: 41px;
    height: 41px;
  }
  55% {
    right: 75%;
    bottom: 147px;
    width: 69px;
    height: 69px;
    opacity: 1;
  }
  60% {
    right: 75%;
    bottom: 147px;
    width: 69px;
    height: 69px;
    opacity: 0;
  }
  80% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes top-decoration03-sp {
  20% {
    left: calc(100% - 109px);
    bottom: -12px;
    width: 43px;
    height: 43px;
  }
  25% {
    left: calc(100% - 109px);
    bottom: -12px;
    width: 43px;
    height: 43px;
  }
  55% {
    left: calc(100% - 126px);
    bottom: -61px;
    width: 38px;
    height: 38px;
    opacity: 1;
  }
  60% {
    left: calc(100% - 126px);
    bottom: -61px;
    width: 38px;
    height: 38px;
    opacity: 0;
  }
  80% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes top-mv-pc {
  0% {
    height: calc(100vh - 91px + 15px);
  }
  80% {
    height: calc(100vh - 91px + 15px);
  }
  100% {
    height: 609px;
  }
}
@keyframes top-img-pc {
  0% {
    filter: opacity(0);
  }
  55% {
    filter: opacity(0);
  }
  70% {
    filter: opacity(1);
  }
  100% {
    filter: opacity(1);
  }
}
@keyframes top-hdg-pc {
  0% {
    max-width: min(681px, 60%);
  }
  80% {
    max-width: min(681px, 60%);
  }
  100% {
    max-width: min(553px, 50%);
  }
}
@keyframes top-path-pc {
  0% {
    fill: var(--color-main);
  }
  55% {
    fill: var(--color-main);
  }
  70% {
    fill: var(--color-white);
  }
  100% {
    fill: var(--color-white);
  }
}
@keyframes top-round01-pc {
  0% {
    top: auto;
    bottom: 0;
    background-color: var(--color-light-gray);
    filter: none;
    mask-size: 100%;
    -webkit-mask-size: 100%; /* stylelint-disable-line property-no-vendor-prefix */
    mask-position: 0;
    -webkit-mask-position: 0; /* stylelint-disable-line property-no-vendor-prefix */
    width: 10px;
    height: 10px;
  }
  15% {
    width: 10px;
    height: 10px;
  }
  33% {
    width: 453px;
    height: 453px;
    left: -80px;
    bottom: -187px;
  }
  38% {
    width: 453px;
    height: 453px;
    left: -80px;
    bottom: -187px;
  }
  53% {
    width: 1007px;
    height: 1007px;
    left: -347px;
    bottom: 167px;
  }
  55% {
    background-color: var(--color-light-gray);
    filter: none;
  }
  70% {
    background-color: transparent;
    filter: brightness(110%);
  }
  80% {
    width: 1007px;
    height: 1007px;
    left: -347px;
    bottom: 167px;
    background-color: transparent;
    filter: brightness(110%);
  }
  100% {
    top: auto;
    width: 870px;
    height: 870px;
    left: -329px;
    bottom: 135px;
    mask-size: 100%;
    -webkit-mask-size: 100%; /* stylelint-disable-line property-no-vendor-prefix */
    mask-position: 0;
    -webkit-mask-position: 0; /* stylelint-disable-line property-no-vendor-prefix */
  }
}
@keyframes top-round02-pc {
  15% {
    opacity: 0;
    width: 489px;
    height: 489px;
    transform: translate(calc(100% - 28px), calc(-50% + 90px));
  }
  33% {
    opacity: 1;
    width: 943px;
    height: 943px;
    transform: translate(calc(100% - 547px), 90px);
  }
  38% {
    opacity: 1;
    width: 943px;
    height: 943px;
    transform: translate(calc(100% - 547px), 90px);
  }
  53% {
    opacity: 1;
    width: 396px;
    height: 396px;
    transform: translate(calc(100% - 198px), calc(100% - 244px));
  }
  55% {
    opacity: 1;
    width: 396px;
    height: 396px;
    transform: translate(calc(100% - 198px), calc(100% - 244px));
  }
  70% {
    opacity: 0;
    width: 396px;
    height: 396px;
    transform: translate(calc(100% - 198px), calc(100% - 244px));
  }
}
@keyframes top-decoration01-pc {
  15% {
    top: -56px;
    left: 330px;
  }
  30% {
    top: calc(100% - 133px);
    left: 330px;
  }
  35% {
    top: calc(100% - 133px);
    left: 330px;
  }
  50% {
    top: calc(100% - 210px);
    left: 263px;
  }
  55% {
    top: calc(100% - 210px);
    left: 263px;
    opacity: 1;
  }
  70% {
    top: calc(100% - 210px);
    left: 263px;
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes top-decoration02-pc {
  15% {
    top: -56px;
    right: 333px;
  }
  30% {
    top: 66px;
    right: 333px;
    width: 56px;
    height: 56px;
  }
  35% {
    top: 66px;
    right: 333px;
    width: 56px;
    height: 56px;
  }
  50% {
    top: 135px;
    right: 212px;
    width: 107px;
    height: 107px;
  }
  55% {
    top: 135px;
    right: 212px;
    width: 107px;
    height: 107px;
    opacity: 1;
  }
  70% {
    top: 135px;
    right: 212px;
    width: 107px;
    height: 107px;
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes top-decoration03-pc {
  15% {
    right: 361px;
    bottom: -35px;
    width: 111px;
    height: 111px;
    opacity: 0;
  }
  30% {
    right: 361px;
    bottom: -35px;
    width: 111px;
    height: 111px;
    opacity: 1;
  }
  35% {
    right: 361px;
    bottom: -35px;
    width: 111px;
    height: 111px;
    opacity: 1;
  }
  50% {
    right: 152px;
    bottom: -83px;
    width: 46px;
    height: 46px;
  }
  55% {
    right: 152px;
    bottom: -83px;
    width: 46px;
    height: 46px;
    opacity: 1;
  }
  70% {
    right: 152px;
    bottom: -83px;
    width: 46px;
    height: 46px;
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
/* ----------------------------------------------------------------
    Header (.header[-*])
----------------------------------------------------------------- */
/* .header
----------------------------------------------- */
.header {
  position: fixed;
  top: 0;
  width: 100%;
  background-color: var(--color-white);
  border-bottom: solid 2px var(--color-sub);
  z-index: var(--z-index-header);
}
.header:has(.is-menu-open) {
  z-index: var(--z-index-overlay);
}
.header::after {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  bottom: -3px;
  width: 100%;
  max-width: 92px;
  height: 4px;
  background: linear-gradient(to right, var(--color-main) 50%, var(--color-accent-01) 50%, var(--color-accent-01) 75%, var(--color-accent-02) 75%);
  z-index: 2;
}
.header_inner {
  max-width: var(--width-content);
  margin: 0 auto;
  padding-inline: var(--gutter-content);
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: space-between;
}
@media only screen and (min-width: 1230px) {
  .header_inner {
    padding-inline: calc(var(--gutter-content) + 28px);
  }
}
@media only screen and (min-width: 1328px) {
  .header_inner {
    padding-inline: 0;
  }
}
.header_logo {
  display: flex;
  max-width: 188px;
  padding: 24px 0 25px;
  transition: opacity var(--transition-duration) var(--transition-tf), max-width var(--transition-duration) var(--transition-tf), padding var(--transition-duration) var(--transition-tf);
}
.header_close {
  display: none;
}
.header_search {
  position: relative;
}
.header_search .header_toggle-title {
  display: none;
}
.header_search-search {
  position: relative;
  width: 100%;
  border: 1px solid var(--color-sub);
  border-radius: 2px;
  padding: 14px 16px;
  padding-right: 42px;
}
.header_search-search::placeholder {
  color: var(--color-placeholder);
}
.header_search-btn {
  position: absolute;
  top: 50%;
  right: 10px;
  width: 32px;
  height: 36px;
  transform: translateY(-50%);
}
@media only screen and (min-width: 1230px) {
  .header {
    border-bottom-width: 1px;
  }
  .header.is-sticky .global-nav_btn,
  .header.is-sticky .global-nav_item.is-contact .global-nav_btn-text {
    padding: 16px 0 14px;
  }
  .header::after {
    content: none;
  }
  .header_logo {
    max-width: 207px;
    padding: 12px 0;
  }
  .header_close {
    position: absolute;
    top: 16px;
    right: 20px;
    display: block;
    width: 24px;
    height: 24px;
  }
  .header_close-btn {
    display: block;
    width: 100%;
    height: 100%;
  }
  .header_close-btn::before, .header_close-btn::after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--color-gray);
    transform: translateY(-50%);
  }
  .header_close-btn::before {
    rotate: 45deg;
  }
  .header_close-btn::after {
    rotate: -45deg;
  }
  .header_close-btn > span {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    padding: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    border: 0;
    white-space: nowrap;
    overflow: hidden;
  }
  .header_search-content {
    display: flex;
    padding: 16px 24px;
  }
  .header_search .header_toggle-title {
    display: flex;
    align-items: center;
    float: left;
    padding-left: 0;
  }
  .header_search .header_toggle-title::before {
    content: none;
  }
  .header_search-inner {
    width: 100%;
    border-left: 1px solid var(--color-sub);
    padding: 8px 24px;
    padding-right: 0;
  }
  .header_search-label {
    position: relative;
    display: flex;
    align-items: center;
    font-size: 1.4rem;
    padding-left: 20px;
  }
  .header_search-label::before {
    display: block;
    content: "";
    position: absolute;
    left: 0;
    width: 16px;
    height: 16px;
    border: 1px solid var(--color-sub);
    border-radius: 50%;
  }
  .header_search-btn {
    display: none;
  }
  .header_search-search {
    font-size: 1.4rem;
    padding-right: 16px;
  }
}

/* .header_menu
----------------------------------------------- */
.header_menu {
  position: relative;
  width: 30px;
  height: 35px;
}
.header_menu.is-menu-open::before {
  top: 50%;
  left: -1px;
  transform: translateY(-50%);
  rotate: 45deg;
}
.header_menu.is-menu-open::after {
  top: 50%;
  rotate: -45deg;
}
.header_menu.is-menu-open .header_menu-btn::before,
.header_menu.is-menu-open .header_menu-btn::after {
  opacity: 0;
}
.header_menu::before, .header_menu::after,
.header_menu .header_menu-btn::before {
  display: block;
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  border-radius: 2px;
  background-color: var(--color-main);
}
.header_menu::before, .header_menu::after {
  transition: transform var(--transition-duration) var(--transition-tf), rotate var(--transition-duration) var(--transition-tf), top var(--transition-duration) var(--transition-tf), left var(--transition-duration) var(--transition-tf);
}
.header_menu::before {
  top: 0;
}
.header_menu::after {
  top: 14px;
}
.header_menu-btn {
  width: 100%;
  height: 100%;
}
.header_menu-btn::before, .header_menu-btn::after {
  transition: opacity var(--transition-duration) var(--transition-tf);
}
.header_menu-btn::before {
  top: 7px;
}
.header_menu-btn::after {
  content: "MENU";
  position: absolute;
  bottom: 0;
  display: block;
  font-size: 1rem;
  font-weight: bold;
  color: var(--color-main);
}
.header_menu-btn-alt {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  border: 0;
  white-space: nowrap;
  overflow: hidden;
}
.header_menu-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.header_menu-backdrop.fn-menu-backdrop {
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--transition-duration) var(--transition-tf), visibility var(--transition-duration) var(--transition-tf);
}
.header_menu-backdrop.fn-menu-backdrop.is-shown {
  opacity: 1;
  visibility: visible;
}
@media only screen and (min-width: 1230px) {
  .header_menu {
    position: static;
    width: auto;
    height: auto;
  }
  .header_menu::before, .header_menu::after,
  .header_menu .header_menu_menu-btn::before {
    content: none;
  }
  .header_menu-btn {
    display: none;
  }
}

/* .header_toggle
----------------------------------------------- */
.header_toggle summary {
  position: relative;
  width: 100%;
  text-align: left;
  font-size: 1.6rem;
  font-weight: var(--font-weight-bold);
  background-color: var(--color-white);
  border-bottom: 1px solid var(--color-sub);
  padding: 16px;
  padding-right: 52px;
  cursor: pointer;
}
.header_toggle summary::before, .header_toggle summary::after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  width: 20px;
  height: 2px;
  background-color: var(--color-main);
  transition: rotate var(--transition-duration) var(--transition-tf);
}
.header_toggle summary::after {
  rotate: 90deg;
}
.header_toggle.is-open summary::before {
  rotate: -180deg;
}
.header_toggle.is-open summary::after {
  rotate: none;
}
.header_toggle-content {
  background-color: rgba(217, 217, 214, 0.3);
  padding: 24px 24px 32px 32px;
}
.header_toggle-content-row {
  display: grid;
  gap: 24px;
  padding-left: 32px;
  margin-top: 24px;
}
.header_toggle-content-item > a {
  position: relative;
  display: inline-block;
  color: var(--color-font);
  text-decoration: none;
  padding-left: 16px;
}
.header_toggle-content-item > a::before {
  display: block;
  content: "";
  position: absolute;
  top: 6px;
  left: 0;
  width: 12px;
  height: 12px;
  background-image: url("/assets/img/icon-arrow-bold.svg");
  background-size: cover;
  background-repeat: no-repeat;
}
.header_toggle-title {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 295px;
  color: var(--color-font);
  text-decoration: none;
  font-size: 1.6rem;
  font-weight: var(--font-weight-bold);
  padding-left: 16px;
}
.header_toggle-title[href]::before {
  display: block;
  content: "";
  position: absolute;
  top: 0.5em;
  left: 0;
  width: 12px;
  height: 12px;
  background-image: url("/assets/img/icon-arrow-bold.svg");
  background-size: cover;
  background-repeat: no-repeat;
}
.header_toggle-title > span {
  display: block;
  color: var(--color-main);
  font-family: var(--font-family-02);
  font-size: 1.2rem;
  line-height: 1;
  margin-top: 4px;
}
@media only screen and (min-width: 1230px) {
  .header_toggle {
    display: contents;
  }
  .header_toggle summary {
    display: none;
  }
  .header_toggle-content {
    display: flex;
    align-items: center;
    padding: 16px 24px;
    background-color: transparent;
  }
  .header_toggle-content-row {
    flex: 1;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px 30px;
    border-left: 1px solid var(--color-sub);
    padding-block: 16px;
    margin-top: 0;
  }
  .header_toggle-content-item > a {
    padding-left: 24px;
  }
  .header_toggle-content-item > a::before {
    width: 16px;
    height: 16px;
  }
  .header_toggle-title {
    align-self: flex-start;
    font-size: 2.6rem;
    padding-block: 16px;
  }
  .header_toggle-title[href]::before {
    top: calc(18px + 0.5em);
    left: -8px;
    width: 16px;
    height: 16px;
  }
  .header_toggle-title > span {
    font-size: 1.6rem;
  }
  .header_search .header_toggle-title > span {
    font-size: 2.6rem;
  }
}

/* ----------------------------------------------------------------
    Footer (.footer[-*])
----------------------------------------------------------------- */
/* .footer
----------------------------------------------- */
.footer_inner {
  max-width: var(--width-content);
  margin: 0 auto;
  padding-inline: var(--gutter-content);
}
@media only screen and (min-width: 1230px) {
  .footer_inner {
    padding-inline: calc(var(--gutter-content) + 28px);
  }
}
@media only screen and (min-width: 1328px) {
  .footer_inner {
    padding-inline: 0;
  }
}
.footer_inner > :first-child {
  margin-top: 0;
}
.footer_inner > :last-child {
  margin-bottom: 0;
}
.footer_top {
  background-color: var(--color-footer);
  padding: 32px 0 8px;
}
.footer_middle {
  padding: 24px 0;
  background-color: var(--color-main);
  color: var(--color-white);
}
.footer_bottom {
  padding: 24px 0;
  background-color: var(--color-white);
}
.footer_bottom .footer_inner {
  display: flex;
  flex-direction: column-reverse;
}
.footer_link-group:has(.footer_link-group_list.-type2) .footer_link-group_hdg {
  border-bottom: none;
}
.footer_link-group_hdg {
  font-size: 1.4rem;
  font-weight: var(--font-weight-bold);
  border-bottom: 1px solid var(--color-sub);
  padding-bottom: 16px;
}
.footer_link-group_hdg.-type2 {
  font-size: 1.2rem;
  border-bottom: none;
  padding-bottom: 0;
}
.footer_link-group_inner {
  margin-top: 16px;
}
.footer_link-group_inner + .footer_link-group_inner {
  border-top: 1px solid var(--color-sub);
  padding-top: 24px;
  margin-top: 24px;
}
.footer_link-group_list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 25px;
  margin-top: 8px;
}
.footer_link-group_item {
  font-size: 1.2rem;
  border-right: 1px solid var(--color-sub);
  padding-right: 12px;
}
.footer_link-group_item:last-child {
  border-right: none;
  padding-right: 0;
}
.footer_link-group_btn.btn {
  margin: 24px auto 40px;
}
.footer_link-group_btn.btn > a {
  font-size: 1.2rem;
  font-weight: var(--font-weight);
  border: none;
  padding: 8px 0;
}
.footer_link-group_btn.btn > a > span {
  padding-left: 11px;
}
.footer_link-group_btn.btn > a > span::before {
  top: calc(50% - 4.5px);
  width: 9px;
  height: 9px;
}
.footer_img {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 25px;
}
.footer_img-logo {
  max-width: 108px;
}
.footer_img-copy {
  max-width: 135px;
}
.footer_img img {
  display: block;
}
.footer_copyright {
  order: -1;
  text-align: center;
  font-size: 1rem;
}
@media only screen and (max-width: 767.9px) {
  .footer_link-group_list.-type2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 27px;
    margin: 0;
  }
  .footer_link-group_list.-type2 .footer_link-group_item {
    border-bottom: 1px solid var(--color-sub);
    border-right: none;
    padding: 16px 0;
  }
  .footer_link-group_list.-type2 .footer_link-group_item:nth-child(1), .footer_link-group_list.-type2 .footer_link-group_item:nth-child(2) {
    border-top: 1px solid var(--color-sub);
  }
}
@media only screen and (min-width: 768px) {
  .footer_top {
    padding: 35px 0;
  }
  .footer_middle {
    padding: 30px 0;
  }
  .footer_bottom {
    padding: 32px 0 24px;
  }
  .footer_bottom .footer_inner {
    flex-direction: column;
  }
  .footer_link-group {
    display: grid;
    grid-template-columns: 1fr 144px;
    gap: 60px;
  }
  .footer_link-group + .footer_link-group {
    margin-top: 32px;
  }
  .footer_link-group > dl {
    display: flex;
    align-items: center;
    gap: 25px;
  }
  .footer_link-group > dl > dd {
    width: 100%;
  }
  .footer_link-group_hdg {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 130px;
    height: 100%;
    font-size: 1.2rem;
    border-bottom: 0;
    border-right: 1px solid var(--color-sub);
    padding-bottom: 0;
  }
  .footer_link-group_hdg.-type2 {
    max-width: 140px;
    border-right: none;
  }
  .footer_link-group_inner {
    display: flex;
    margin: 0;
  }
  .footer_link-group_inner + .footer_link-group_inner {
    border-top: none;
    padding: 0;
    margin-top: 12px;
  }
  .footer_link-group_list {
    gap: 8px 12px;
    margin: 0;
  }
  .footer_link-group_btn.btn {
    display: flex;
    align-items: center;
    margin: 0;
  }
  .footer_img {
    margin-bottom: 0;
  }
  .footer_img-logo, .footer_img-copy {
    max-width: none;
  }
  .footer_copyright {
    order: 1;
    font-size: 1.5rem;
  }
}

/* ----------------------------------------------------------------
    Global Navigation (.global-nav[-*])
----------------------------------------------------------------- */
/* .global-nav
----------------------------------------------- */
.global-nav {
  --header-height: 84px;
  position: fixed;
  top: var(--header-height);
  left: 0;
  width: 100%;
  background-color: var(--color-white);
  opacity: 0;
  visibility: hidden;
  z-index: 2;
  transition: opacity var(--transition-duration) var(--transition-tf), visibility var(--transition-duration) var(--transition-tf);
}
.global-nav.is-shown {
  opacity: 1;
  visibility: visible;
}
.global-nav_list {
  display: grid;
  max-height: calc(100vh - var(--header-height));
  overflow: auto;
  margin: 0;
}
@supports (height: 100dvh) {
  .global-nav_list {
    max-height: calc(100dvh - var(--header-height));
  }
}
.global-nav_item {
  position: relative;
  background-color: var(--color-white);
}
.global-nav_item:last-child {
  order: -1;
  border-bottom: 1px solid var(--color-sub);
  padding: 16px;
}
.global-nav_item.is-contact {
  text-align: center;
  padding: 24px;
  border-bottom: 1px solid var(--color-sub);
}
.global-nav_item.is-contact .global-nav_btn-text {
  display: block;
  width: 100%;
  max-width: 163px;
  color: var(--color-font);
  font-weight: var(--font-weight-bold);
  text-decoration: none;
  line-height: 1;
  border: 2px solid var(--color-sub);
  border-radius: 25px;
  padding: 12px;
  margin: auto;
  transition: padding var(--transition-duration) var(--transition-tf);
}
.global-nav_btn {
  display: none;
  border-bottom: 2px solid transparent;
  padding: 23px 0;
  transition: border 0.2s var(--transition-tf), padding var(--transition-duration) var(--transition-tf);
}
.global-nav_btn:hover:not(.is-search), .global-nav_btn:active:not(.is-search), .global-nav_btn:focus-visible:not(.is-search) {
  border-bottom: 2px solid var(--color-black);
}
.global-nav_btn:hover.is-search, .global-nav_btn:active.is-search, .global-nav_btn:focus-visible.is-search {
  opacity: var(--opacity-hover);
}
.global-nav_btn[aria-expanded=true]:not(.is-search) {
  border-bottom: 2px solid var(--color-black);
}
.global-nav_btn.is-search {
  transition: opacity var(--transition-duration) var(--transition-tf);
}
.global-nav_btn.is-search svg {
  vertical-align: middle;
}
.global-nav_btn-text {
  display: flex;
  align-items: center;
  height: 42px;
  font-size: 1.4rem;
  font-weight: bold;
}
@media only screen and (min-width: 1230px) {
  .global-nav {
    position: static;
    opacity: 1;
    visibility: visible;
  }
  .global-nav_list {
    display: flex;
    align-items: center;
    gap: 24px;
  }
  .global-nav_item {
    position: static;
  }
  .global-nav_item:last-child {
    order: 1;
    border: none;
    padding: 0;
  }
  .global-nav_item.is-contact {
    position: relative;
    text-align: left;
    border: none;
    padding: 0;
    margin-left: 24px;
  }
  .global-nav_item.is-contact .global-nav_btn-text {
    display: flex;
    width: auto;
    max-width: none;
    font-size: 1.4rem;
    font-weight: var(--font-weight);
    line-height: initial;
    border: none;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    padding: 23px 0;
    box-sizing: content-box;
    transition: border var(--transition-duration) var(--transition-tf);
  }
  .global-nav_item.is-contact .global-nav_btn-text:hover, .global-nav_item.is-contact .global-nav_btn-text:active, .global-nav_item.is-contact .global-nav_btn-text:focus-visible {
    border-bottom: 2px solid var(--color-black);
    opacity: 1;
  }
  .global-nav_item.is-contact::before {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: -24px;
    width: 1px;
    height: 36px;
    background-color: var(--color-sub);
    transform: translateY(-50%);
  }
  .global-nav_content {
    position: absolute;
    top: calc(100% + 1px);
    left: 0;
    background: var(--color-white);
    border-bottom: 1px solid var(--color-sub);
    width: 100%;
    opacity: 0;
    visibility: hidden;
    z-index: 3;
    transition: opacity var(--transition-duration) var(--transition-tf), visibility var(--transition-duration) var(--transition-tf);
  }
  .global-nav_content.is-shown {
    opacity: 1;
    visibility: visible;
  }
  .global-nav_content-inner {
    max-width: var(--width-content);
    margin: 0 auto;
    padding-inline: var(--gutter-content);
    padding: 0 24px;
  }
}
@media only screen and (min-width: 1230px) and (min-width: 1230px) {
  .global-nav_content-inner {
    padding-inline: calc(var(--gutter-content) + 28px);
  }
}
@media only screen and (min-width: 1230px) and (min-width: 1328px) {
  .global-nav_content-inner {
    padding-inline: 0;
  }
}
@media only screen and (min-width: 1230px) {
  .global-nav_btn {
    display: block;
  }
  .global-nav_backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
  }
  .global-nav_backdrop.fn-dropdown-pc_backdrop {
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--transition-duration) var(--transition-tf), visibility var(--transition-duration) var(--transition-tf);
  }
  .global-nav_backdrop.fn-dropdown-pc_backdrop.is-shown {
    opacity: 1;
    visibility: visible;
  }
}

/* ----------------------------------------------------------------
    Local Navigation (.local-nav[-*])
----------------------------------------------------------------- */
/* .local-nav
----------------------------------------------- */
.local-nav_inner {
  max-width: var(--width-content);
  margin: 0 auto;
  padding-inline: var(--gutter-content);
}
@media only screen and (min-width: 1230px) {
  .local-nav_inner {
    padding-inline: calc(var(--gutter-content) + 28px);
  }
}
@media only screen and (min-width: 1328px) {
  .local-nav_inner {
    padding-inline: 0;
  }
}
.local-nav_hdg {
  position: relative;
  font-weight: var(--font-weight-bold);
  border-top: 2px solid var(--color-sub);
  padding-top: 24px;
  padding-left: 24px;
}
.local-nav_hdg::before {
  display: block;
  content: "";
  position: absolute;
  top: 34px;
  left: 0;
  width: 16px;
  height: 16px;
  background-image: url("/assets/img/icon-arrow.svg");
  background-size: cover;
  background-repeat: no-repeat;
}
.local-nav_hdg[aria-current=true] .local-nav_link-main,
.local-nav_hdg[aria-current=true] .local-nav_link-sub {
  width: fit-content;
  border-bottom: 1px solid var(--color-black);
}
.local-nav_hdg .local-nav_link {
  display: flex;
  flex-direction: column;
  font-size: 3.2rem;
  letter-spacing: 0.02em;
  line-height: 1.2;
}
.local-nav_hdg .local-nav_link::before {
  top: 14px;
}
.local-nav_link {
  color: var(--color-font);
  text-decoration: none;
  font-size: 1.5rem;
}
.local-nav_link-sub {
  font-family: var(--font-family-02);
  font-size: 1.6rem;
  color: var(--color-main);
  margin-top: 4px;
}
.local-nav_list {
  display: grid;
  gap: 24px;
  margin: 48px 0 0;
  padding-bottom: 30px;
}
.local-nav_item {
  position: relative;
  padding-left: 24px;
}
.local-nav_item::before {
  display: block;
  content: "";
  position: absolute;
  top: 6px;
  left: 0;
  width: 16px;
  height: 16px;
  background-image: url("/assets/img/icon-arrow.svg");
  background-size: cover;
  background-repeat: no-repeat;
}
.local-nav_item[aria-current=true] .local-nav_link {
  border-bottom: 1px solid var(--color-black);
}
.local-nav_privacy {
  display: flex;
  align-items: center;
  gap: 30px;
  margin-top: 30px;
}
.local-nav_privacy > :first-child {
  margin-top: 0;
}
.local-nav_privacy > :last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .local-nav_hdg {
    font-size: 3.2rem;
    line-height: 1;
    padding-top: 20px;
  }
  .local-nav_hdg[aria-current=true] .local-nav_link {
    border-bottom: 1px solid var(--color-black);
  }
  .local-nav_hdg[aria-current=true] .local-nav_link-main,
  .local-nav_hdg[aria-current=true] .local-nav_link-sub {
    border-bottom: none;
  }
  .local-nav_hdg .local-nav_link {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
  }
  .local-nav_list {
    grid-template-columns: repeat(4, 1fr);
    gap: 24px 32px;
    padding-bottom: 48px;
    margin-top: 30px;
  }
  .local-nav_item[aria-current=true] .local-nav_link {
    padding-bottom: 2px;
  }
}

/* ----------------------------------------------------------------
    Page Top (.page-top[-*])
----------------------------------------------------------------- */
/* .page-top
----------------------------------------------- */
.page-top {
  max-width: var(--width-content);
  margin: 0 auto;
  padding-inline: var(--gutter-content);
  position: sticky;
  right: 16px;
  bottom: 16px;
  margin-bottom: -32px;
  visibility: hidden;
  opacity: 0;
  transition: visibility var(--transition-duration) var(--transition-tf), opacity var(--transition-duration) var(--transition-tf);
  z-index: 1;
}
@media only screen and (min-width: 1230px) {
  .page-top {
    padding-inline: calc(var(--gutter-content) + 28px);
  }
}
@media only screen and (min-width: 1328px) {
  .page-top {
    padding-inline: 0;
  }
}
.page-top.is-shown {
  visibility: visible;
  opacity: 1;
}
.page-top_inner {
  width: 64px;
  height: 64px;
  margin-left: auto;
}
.page-top_link {
  display: block;
  width: 100%;
  height: 100%;
  border: 2px solid var(--color-main);
  border-radius: 50%;
  background-color: var(--color-white);
  background-image: url("/assets/img/icon-pagetop.svg");
  background-repeat: no-repeat;
  background-position: center;
}
.page-top_alt {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  border: 0;
  white-space: nowrap;
  overflow: hidden;
}

/* ----------------------------------------------------------------
    SNS (.footer-sns[-*])
----------------------------------------------------------------- */
/* .footer-sns
----------------------------------------------- */
.footer-sns {
  padding: 32px 0;
}
.footer-sns_list {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin: 0;
}
.footer-sns img {
  display: block;
}
@media only screen and (min-width: 768px) {
  .footer-sns {
    border-bottom: none;
    padding-top: 0;
  }
}

/* ----------------------------------------------------------------
    SP時用Global Navigation (.footer-global-nav[-*])
----------------------------------------------------------------- */
/* .footer-global-nav
----------------------------------------------- */
.footer-global-nav {
  margin-bottom: 32px;
}
.footer-global-nav_list {
  margin: 0;
}
.footer-global-nav_item {
  border-bottom: 1px solid var(--color-sub);
}
.footer-global-nav_item:first-child {
  border-top: 1px solid var(--color-sub);
}
.footer-global-nav_link {
  display: block;
  text-decoration: none;
  font-size: 1.4rem;
  font-weight: var(--font-weight-bold);
  color: var(--color-font);
  padding: 16px 0;
}
@media only screen and (min-width: 768px) {
  .footer-global-nav {
    display: none;
  }
}

/* ----------------------------------------------------------------
    Utility (.footer-utility[-*])
----------------------------------------------------------------- */
/* .footer-utility
----------------------------------------------- */
.footer-utility_list {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
}
.footer-utility_item {
  display: inline-block;
}
.footer-utility_item:last-child .footer-utility_link::after {
  content: none;
}
.footer-utility_link {
  display: inline-block;
  text-decoration: none;
  font-size: 1.2rem;
  font-weight: var(--font-weight-bold);
  color: var(--color-font);
}
@media only screen and (min-width: 768px) {
  .footer-utility {
    margin-bottom: 32px;
  }
}

/* ----------------------------------------------------------------
  Breadscrum (.breadscrum-*)
----------------------------------------------------------------- */
/* .breadscrum
----------------------------------------------- */
.breadscrum {
  display: none;
}
.breadscrum:first-child {
  display: none;
}
.breadscrum:last-child {
  position: relative;
  display: block;
  border-bottom: 1px solid var(--color-sub);
}
.breadscrum:last-child .breadscrum_inner {
  background-color: var(--color-footer);
  padding-top: 40px;
  padding-bottom: 32px;
}
.breadscrum:last-child::before {
  display: block;
  content: "";
  position: absolute;
  height: 560px;
  width: 560px;
  left: 0;
  bottom: 100%;
  background-color: rgba(217, 217, 214, 0.3);
  mask-image: url("/assets/img/icon-mask.svg");
  -webkit-mask-image: url("/assets/img/icon-mask.svg"); /* stylelint-disable-line */
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat; /* stylelint-disable-line */
  mask-size: 1050px 1050px;
  -webkit-mask-size: 1050px 1050px; /* stylelint-disable-line */
  mask-position: 100% 0;
  -webkit-mask-position: -533px 0; /* stylelint-disable-line */
  transform: scale(0.5);
  transform-origin: left bottom;
  z-index: -1;
  opacity: 0;
  animation: fadein 0.5s ease 0.5s forwards;
}
.breadscrum_inner {
  max-width: var(--width-content);
  margin: 0 auto;
  padding-inline: var(--gutter-content);
}
@media only screen and (min-width: 1230px) {
  .breadscrum_inner {
    padding-inline: calc(var(--gutter-content) + 28px);
  }
}
@media only screen and (min-width: 1328px) {
  .breadscrum_inner {
    padding-inline: 0;
  }
}
.breadscrum_list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  font-size: 1.2rem;
}
.breadscrum_list > li {
  position: relative;
  padding-right: 14px;
}
.breadscrum_list > li::after {
  display: block;
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  right: 0;
  width: 6px;
  height: 8px;
  background: no-repeat center;
  background-image: url("data:image/svg+xml; charset=utf-8, %3csvg%20xmlns%3d%22http%3a%2f%2fwww%2ew3%2eorg%2f2000%2fsvg%22%20viewBox%3d%220%200%206%208%22%3e%3cpath%20d%3d%22m1%2e71,1%2e24l2%2e75,2%2e75%2d2%2e75,2%2e75%22%20fill%3d%22none%22%20stroke%3d%22%2397999B%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dlinejoin%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3c%2fsvg%3e");
}
.breadscrum_list > li:last-child {
  padding-right: 0;
  font-weight: var(--font-weight-bold);
}
.breadscrum_list > li:last-child::after {
  display: none;
}
.breadscrum_list > li > a {
  color: var(--color-font);
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .breadscrum {
    display: block;
    padding: 14px 0;
  }
  .breadscrum_list > li::after {
    top: calc(50% - 4px);
  }
  .breadscrum:first-child {
    display: block;
  }
  .breadscrum:last-child {
    display: none;
  }
}

/* ----------------------------------------------------------------
    Content (.content[-*])
----------------------------------------------------------------- */
/* .content-main
----------------------------------------------- */
.content-main {
  position: relative;
  min-height: 70vh;
  margin-top: 84px;
}
.content-main.contact-finish-page {
  min-height: 52vh;
}
.content-main.unq-content-form {
  margin-top: 61.2px;
}
@media only screen and (min-width: 768px) {
  .content-main::before {
    display: block;
    content: "";
    opacity: 0;
    animation: fadein 0.5s ease 0.5s forwards;
    position: absolute;
    height: 560px;
    width: 560px;
    left: 0;
    bottom: 0;
    background-color: rgba(217, 217, 214, 0.3);
    mask-image: url("/assets/img/icon-mask.svg");
    -webkit-mask-image: url("/assets/img/icon-mask.svg"); /* stylelint-disable-line */
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat; /* stylelint-disable-line */
    mask-size: 1050px 1050px;
    -webkit-mask-size: 1050px 1050px; /* stylelint-disable-line */
    mask-position: 100% 0;
    -webkit-mask-position: -533px 0; /* stylelint-disable-line */
    transform: scale(1);
    transform-origin: left bottom;
    z-index: -1;
  }
  .content-main.contact-finish-page {
    min-height: 64vh;
  }
}
@media only screen and (min-width: 1230px) {
  .content-main {
    margin-top: 90px;
  }
  .content-main::after {
    display: block;
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 28px;
    max-width: none;
    height: calc(100% - 32px);
    background: linear-gradient(to right, var(--color-main) 50%, var(--color-accent-01) 50%, var(--color-accent-01) 75%, var(--color-accent-02) 75%);
    z-index: 1;
  }
}

/* .content-area
----------------------------------------------- */
.content-area {
  padding: 56px 0;
  overflow: hidden;
}
.content-area > :first-child {
  margin-top: 0;
}
.content-area > :last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .content-area {
    padding-bottom: 96px;
  }
}
.content-area + .content-area {
  padding-top: 0;
}
.content-area_inner {
  max-width: var(--width-content);
  margin: 0 auto;
  padding-inline: var(--gutter-content);
}
@media only screen and (min-width: 1230px) {
  .content-area_inner {
    padding-inline: calc(var(--gutter-content) + 28px);
  }
}
@media only screen and (min-width: 1328px) {
  .content-area_inner {
    padding-inline: 0;
  }
}
.content-area_inner > :first-child {
  margin-top: 0;
}
.content-area_inner > :last-child {
  margin-bottom: 0;
}

/* ----------------------------------------------------------------
    絞り込みボタンエリア
----------------------------------------------------------------- */
/* .content-search-area
----------------------------------------------- */
.content-search-area {
  padding: 0;
  margin-bottom: 32px;
}
.content-search-area > :first-child {
  margin-top: 0;
}
.content-search-area > :last-child {
  margin-bottom: 0;
}
.content-search-area_inner {
  max-width: var(--width-content);
  margin: 0 auto;
  padding-inline: var(--gutter-content);
}
@media only screen and (min-width: 1230px) {
  .content-search-area_inner {
    padding-inline: calc(var(--gutter-content) + 28px);
  }
}
@media only screen and (min-width: 1328px) {
  .content-search-area_inner {
    padding-inline: 0;
  }
}
.content-search-area_inner > :first-child {
  margin-top: 0;
}
.content-search-area_inner > :last-child {
  margin-bottom: 0;
}
.content-search-area .filter {
  margin-bottom: 32px;
}

/* ----------------------------------------------------------------
  Heading (.hdg-*)
----------------------------------------------------------------- */
/* .hdg-mv-top
----------------------------------------------- */
.hdg-mv-top {
  --img-size: 353px;
  --offset-y: 80px;
  --line-width: 0px;
  position: relative;
  overflow: hidden;
}
.hdg-mv-top.-sustainability .hdg-mv-top_img.fn-fade-area.is-shown .hdg-mv-top_img-round > img {
  animation: zoom02 1s 0.5s, fadein 0.5s;
}
.hdg-mv-top.-sustainability .hdg-mv-top_img-round > img {
  object-position: -200px;
}
.hdg-mv-top.-sustainability .hdg-mv-top_img-round > img.fn-parallax-area {
  scale: 1.2;
}
.hdg-mv-top_main {
  background-color: rgba(217, 217, 214, 0.3);
  min-height: 605px;
}
.hdg-mv-top_inner {
  max-width: var(--width-content);
  margin: 0 auto;
  padding-inline: var(--gutter-content);
}
@media only screen and (min-width: 1230px) {
  .hdg-mv-top_inner {
    padding-inline: calc(var(--gutter-content) + 28px);
  }
}
@media only screen and (min-width: 1328px) {
  .hdg-mv-top_inner {
    padding-inline: 0;
  }
}
.hdg-mv-top_content {
  padding-bottom: 32px;
}
.hdg-mv-top_content > :first-child {
  margin-top: 0;
}
.hdg-mv-top_content > :last-child {
  margin-bottom: 0;
}
.hdg-mv-top_title {
  margin-bottom: 32px;
}
.hdg-mv-top_title > :first-child {
  margin-top: 0;
}
.hdg-mv-top_title > :last-child {
  margin-bottom: 0;
}
.hdg-mv-top_title.fn-fade-area {
  opacity: 0;
  transform: translateY(10px);
}
.hdg-mv-top_title.fn-fade-area.is-shown {
  opacity: 1;
  transform: translateY(0);
  transition: transform 0.5s, opacity 1s;
}
.hdg-mv-top_title-text {
  font-size: 3.2rem;
  line-height: 1.3;
  margin-bottom: 16px;
}
.hdg-mv-top_title-sub {
  color: var(--color-main);
  text-transform: uppercase;
  font-size: 1.6rem;
  line-height: 1;
  font-family: var(--font-family-02);
  font-weight: 700;
}
.hdg-mv-top_lead {
  font-size: 1.8rem;
}
.hdg-mv-top_lead.fn-fade-area {
  opacity: 0;
  transform: translateY(10px);
}
.hdg-mv-top_lead.fn-fade-area.is-shown {
  opacity: 1;
  transform: translateY(0);
  transition: transform 0.5s, opacity 1s;
}
.hdg-mv-top_img {
  position: relative;
  text-align: right;
}
.hdg-mv-top_img.fn-fade-area.is-init::before {
  opacity: 0;
  transform: translateY(500px);
}
.hdg-mv-top_img.fn-fade-area.is-init .hdg-mv-top_img-wrap::after {
  opacity: 0;
  transform: translateY(-500px);
}
.hdg-mv-top_img.fn-fade-area.is-init .hdg-mv-top_img-round > img {
  opacity: 0;
  scale: 2;
}
.hdg-mv-top_img.fn-fade-area.is-shown::before {
  animation: move01 1s 0.5s, fadein 0.5s 0.75s;
}
.hdg-mv-top_img.fn-fade-area.is-shown .hdg-mv-top_img-wrap::after {
  animation: move02 1s 0.5s, fadein 0.5s 0.75s;
}
.hdg-mv-top_img.fn-fade-area.is-shown .hdg-mv-top_img-round > img {
  animation: zoom01 1s 0.5s, fadein 0.5s;
}
.hdg-mv-top_img::before {
  display: block;
  content: "";
  position: absolute;
  right: 0;
  top: 70px;
  height: 167px;
  width: 94%;
  max-width: 290px;
  background-size: 22px;
  transform: translateY(calc(var(--parallax-scroll-num) * 0.1));
  background-image: url("data:image/svg+xml; charset=utf-8, %3csvg%20xmlns%3d%22http%3a%2f%2fwww%2ew3%2eorg%2f2000%2fsvg%22%20viewBox%3d%220%200%2022%2022%22%3e%3ccircle%20cx%3d%2210%2e56%22%20cy%3d%2210%2e97%22%20r%3d%221%2e5%22%20fill%3d%22%2397999B%22%2f%3e%3c%2fsvg%3e");
}
.hdg-mv-top_img-wrap {
  position: relative;
  display: inline-block;
  width: var(--img-size);
  height: var(--img-size);
  transform: translate(40%, -20px);
  transform-origin: top right;
}
.hdg-mv-top_img-wrap::after {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  top: var(--offset-y);
  height: 80px;
  width: 80px;
  border-radius: 50%;
  background-color: var(--color-accent-02);
  scale: 0.5;
  transform-origin: top left;
  transform: translateY(calc(var(--parallax-scroll-num) * -3));
}
.hdg-mv-top_img-round {
  height: 100%;
  width: 100%;
  clip-path: path("M176.5,353a177.806,177.806,0,0,1-35.571-3.586,175.534,175.534,0,0,1-63.112-26.558A177.015,177.015,0,0,1,13.87,245.2,175.613,175.613,0,0,1,3.586,212.071a178.223,178.223,0,0,1,0-71.142A175.535,175.535,0,0,1,30.143,77.817,177.015,177.015,0,0,1,107.8,13.87,175.613,175.613,0,0,1,140.929,3.586a178.222,178.222,0,0,1,71.142,0,175.535,175.535,0,0,1,63.112,26.558A177.016,177.016,0,0,1,339.13,107.8a175.612,175.612,0,0,1,10.284,33.131,178.223,178.223,0,0,1,0,71.142,175.535,175.535,0,0,1-26.558,63.112A177.015,177.015,0,0,1,245.2,339.13a175.614,175.614,0,0,1-33.131,10.284A177.806,177.806,0,0,1,176.5,353Zm-.271-224.145a47.224,47.224,0,1,0,18.44,3.723A47.076,47.076,0,0,0,176.229,128.856Z");
}
.hdg-mv-top_img-round > img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: right;
}
.hdg-mv-top_img-round > img.fn-parallax-area {
  scale: 1.1;
}
.hdg-mv-top .breadscrum {
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 1230px) {
  .hdg-mv-top {
    --line-width: 28px;
  }
}
@media only screen and (min-width: 768px) {
  .hdg-mv-top {
    --img-size: 686px;
    --offset-y: 95px;
    --height: 605px;
    min-height: var(--height);
  }
  .hdg-mv-top.-sustainability {
    margin-bottom: -120px;
  }
  .hdg-mv-top.-sustainability .hdg-mv-top_main {
    min-height: 406px;
  }
  .hdg-mv-top.-sustainability .hdg-mv-top_img-round > img {
    object-position: -390px;
  }
  .hdg-mv-top_main {
    min-height: 442px;
  }
  .hdg-mv-top_content {
    padding: 48px 0 96px;
    max-width: 50%;
  }
  .hdg-mv-top_title {
    margin-bottom: 64px;
  }
  .hdg-mv-top_title-text {
    font-size: 4rem;
  }
  .hdg-mv-top_title-sub {
    font-size: 1.8rem;
  }
  .hdg-mv-top_img {
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: var(--height);
  }
  .hdg-mv-top_img::before {
    top: 12px;
    height: 313px;
    max-width: 800px;
  }
  .hdg-mv-top_img-wrap {
    transform: translate(9.5vw, calc(var(--offset-y) * -1));
  }
  .hdg-mv-top_img-wrap::after {
    top: calc(var(--offset-y) + 40px);
    scale: 1;
  }
  .hdg-mv-top_img-round {
    clip-path: path("M343,686a348.52,348.52,0,0,1-35.07-1.771A342.489,342.489,0,0,1,1.771,378.07a348.148,348.148,0,0,1,0-70.139A342.487,342.487,0,0,1,307.93,1.771a348.146,348.146,0,0,1,70.139,0A342.487,342.487,0,0,1,684.229,307.93a348.152,348.152,0,0,1,0,70.139A342.488,342.488,0,0,1,378.07,684.23,348.522,348.522,0,0,1,343,686Zm-.526-435.589a92.749,92.749,0,0,0-18.554,1.87A91.555,91.555,0,0,0,291,266.134a92.332,92.332,0,0,0-33.355,40.5,91.59,91.59,0,0,0-5.364,17.281,92.96,92.96,0,0,0,0,37.108,91.559,91.559,0,0,0,13.852,32.919,92.334,92.334,0,0,0,40.5,33.355,91.594,91.594,0,0,0,17.281,5.364,92.96,92.96,0,0,0,37.108,0,91.556,91.556,0,0,0,32.919-13.852,92.33,92.33,0,0,0,33.355-40.5,91.592,91.592,0,0,0,5.364-17.281,92.96,92.96,0,0,0,0-37.108A91.559,91.559,0,0,0,418.813,291a92.331,92.331,0,0,0-40.505-33.355,91.6,91.6,0,0,0-17.281-5.364A92.746,92.746,0,0,0,342.473,250.412Z");
  }
  .hdg-mv-top .breadscrum_list {
    max-width: 50%;
  }
}

.hdg-mv-top + .content-area {
  padding-top: 0;
}

/* .hdg-mv, .hdg-mv-404
----------------------------------------------- */
.hdg-mv,
.hdg-mv-404 {
  position: relative;
  min-height: 120px;
  overflow: hidden;
  background: url("/assets/img/mv-bg-01_sp.svg") no-repeat calc(100vw - 115px) -44px;
}
.hdg-mv_inner,
.hdg-mv-404_inner {
  max-width: var(--width-content);
  margin: 0 auto;
  padding-inline: var(--gutter-content);
}
@media only screen and (min-width: 1230px) {
  .hdg-mv_inner,
  .hdg-mv-404_inner {
    padding-inline: calc(var(--gutter-content) + 28px);
  }
}
@media only screen and (min-width: 1328px) {
  .hdg-mv_inner,
  .hdg-mv-404_inner {
    padding-inline: 0;
  }
}
.hdg-mv_content,
.hdg-mv-404_content {
  padding: 32px 0 8px;
}
.hdg-mv_content > :first-child,
.hdg-mv-404_content > :first-child {
  margin-top: 0;
}
.hdg-mv_content > :last-child,
.hdg-mv-404_content > :last-child {
  margin-bottom: 0;
}
.hdg-mv_lead,
.hdg-mv-404_lead {
  font-size: 1.6rem;
}
.hdg-mv.hdg-layer2,
.hdg-mv-404.hdg-layer2 {
  min-height: 172px;
  background-color: var(--color-light-gray);
}
.hdg-mv.hdg-layer2 .hdg-mv, .hdg-mv.hdg-layer2 .hdg-mv-404_content,
.hdg-mv-404.hdg-layer2 .hdg-mv,
.hdg-mv-404.hdg-layer2 .hdg-mv-404_content {
  padding: 32px 0;
}
.hdg-mv.hdg-layer3,
.hdg-mv-404.hdg-layer3 {
  padding: 0;
  min-height: 134px;
}
.hdg-mv.hdg-layer3 .hdg-mv, .hdg-mv.hdg-layer3 .hdg-mv-404_content,
.hdg-mv-404.hdg-layer3 .hdg-mv,
.hdg-mv-404.hdg-layer3 .hdg-mv-404_content {
  padding: 32px 0 56px;
}
@media only screen and (min-width: 768px) {
  .hdg-mv,
  .hdg-mv-404 {
    min-height: 235px;
    background-image: url("/assets/img/mv-bg-01.svg");
    background-position: calc(100vw - 290px) -125px;
  }
  .hdg-mv_content,
  .hdg-mv-404_content {
    padding: 18px 0 48px;
  }
  .hdg-mv_lead,
  .hdg-mv-404_lead {
    font-size: 1.8rem;
  }
  .hdg-mv.hdg-layer2,
  .hdg-mv-404.hdg-layer2 {
    min-height: 267px;
    background-position: calc(100vw - 290px) -125px;
  }
  .hdg-mv.hdg-layer2 .hdg-mv, .hdg-mv.hdg-layer2 .hdg-mv-404_content,
  .hdg-mv-404.hdg-layer2 .hdg-mv,
  .hdg-mv-404.hdg-layer2 .hdg-mv-404_content {
    padding: 48px 0 96px;
  }
  .hdg-mv.hdg-layer3,
  .hdg-mv-404.hdg-layer3 {
    min-height: 251px;
    background-position: calc(100vw - 290px) -125px;
  }
  .hdg-mv.hdg-layer3 .hdg-mv, .hdg-mv.hdg-layer3 .hdg-mv-404_content,
  .hdg-mv-404.hdg-layer3 .hdg-mv,
  .hdg-mv-404.hdg-layer3 .hdg-mv-404_content {
    padding: 48px 0 96px;
  }
}

.hdg-mv-404 {
  background-color: rgba(217, 217, 214, 0.3);
}

/* .hdg-layer2-l1（第2階層用）
----------------------------------------------- */
.hdg-layer2-l1 > h1 {
  margin-bottom: 0;
  font-size: 3.2rem;
}
.hdg-layer2-l1_en {
  display: block;
  margin-top: 16px;
  font-family: var(--font-family-02);
  font-size: 1.6rem;
  font-weight: var(--font-weight-bold);
  color: var(--color-main);
  text-transform: uppercase;
}
.hdg-layer2-l1_sub {
  margin: 32px 0 0;
  font-size: 1.8rem;
}
@media only screen and (min-width: 768px) {
  .hdg-layer2-l1 > h1 {
    font-size: 4rem;
  }
  .hdg-layer2-l1_en {
    font-size: 1.8rem;
  }
  .hdg-layer2-l1_sub {
    margin-top: 64px;
  }
}
.content-miva-story-top .hdg-layer2-l1_en {
  font-size: 2.4rem;
}

/* .hdg-layer3-l1（第3階層用）
----------------------------------------------- */
.hdg-layer3-l1 > h1 {
  margin-bottom: 0;
  font-size: 3.2rem;
}
.hdg-layer3-l1_sub {
  margin: 16px 0 0;
  font-size: 1.6rem;
}
@media only screen and (min-width: 768px) {
  .hdg-layer3-l1 > h1 {
    font-size: 4rem;
  }
  .hdg-layer3-l1_sub {
    margin-top: 24px;
    font-size: 1.8rem;
  }
}

/* .hdg-detail-l1（詳細ページ用）
----------------------------------------------- */
.hdg-detail-l1 {
  font-size: 2rem;
  line-height: 2;
}
@media only screen and (min-width: 768px) {
  .hdg-detail-l1 {
    font-size: 2.2rem;
  }
}

/* .hdg-media-l1（画像付き）
----------------------------------------------- */
.hdg-media-l1 {
  display: flex;
  flex-direction: column-reverse;
  margin-bottom: 56px;
}
.hdg-media-l1-inner {
  display: flex;
  flex-direction: column-reverse;
  gap: 32px;
}
.hdg-media-l1_media {
  margin: 0 auto;
  width: 204px;
  height: 204px;
  border: 1px solid var(--color-sub);
  border-radius: var(--radius);
  overflow: hidden;
}
.hdg-media-l1_media > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hdg-media-l1_title {
  max-width: 100%;
  margin-bottom: 0;
  font-size: 2rem;
  line-height: 2;
}
.hdg-media-l1-item {
  display: block;
  margin-bottom: 32px;
}
.hdg-media-l1-item .icon-label {
  margin: 0 0 8px;
}
.hdg-media-l1-item .txt-sub {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .hdg-media-l1 {
    margin-bottom: 96px;
  }
  .hdg-media-l1-inner {
    display: flex;
    flex-direction: row-reverse;
  }
  .hdg-media-l1_media {
    margin: 0 auto;
    width: 128px;
    height: 128px;
  }
  .hdg-media-l1_title {
    flex: 1;
    font-size: 2.2rem;
  }
  .hdg-media-l1-item {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
  }
  .hdg-media-l1-item .icon-label {
    margin-bottom: 0;
  }
}

.hdg-content {
  display: block;
  margin-bottom: 32px;
}
.hdg-content .icon-label {
  margin: 0 0 8px;
}
.hdg-content .icon-label_item {
  padding: 4px 13px;
  background-color: var(--color-sub);
  font-size: 1.4rem;
  color: var(--color-font);
}
.hdg-content .txt-sub {
  margin-bottom: 0;
}
.hdg-content_txt {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .hdg-content {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
  }
  .hdg-content .icon-label {
    margin-bottom: 0;
  }
}

/* .hdg-l2
----------------------------------------------- */
.hdg-l2 {
  margin: 56px 0 20px;
  font-size: 2.4rem;
}
.hdg-l2.-border {
  position: relative;
  padding-bottom: 10px;
  font-size: 2.2rem;
  font-weight: var(--font-weight-bold);
}
.hdg-l2.-border::after {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background-color: var(--color-sub);
}
.hdg-l2 > a {
  text-decoration: none;
  color: var(--color-font);
}
@media only screen and (min-width: 768px) {
  .hdg-l2 {
    margin: 96px 0 48px;
    font-size: 3.2rem;
  }
  .hdg-l2.-border {
    margin-bottom: 24px;
    padding-bottom: 14px;
    font-size: 2.6rem;
  }
}

/* .hdg-l3
----------------------------------------------- */
.hdg-l3 {
  margin: 40px 0 20px;
  padding: 8px 12px;
  border-radius: 6px;
  background-color: var(--color-sub);
  font-size: 2rem;
  font-weight: var(--font-weight-bold);
}
@media only screen and (min-width: 768px) {
  .hdg-l3 {
    margin-bottom: 24px;
    padding: 8px 16px;
    font-size: 2.2rem;
  }
}

/* .hdg-detail-l3
----------------------------------------------- */
.hdg-detail-l3 {
  margin: 40px 0 18px;
  font-size: 1.6rem;
  font-weight: var(--font-weight-bold);
}
@media only screen and (min-width: 768px) {
  .hdg-detail-l3 {
    margin-bottom: 20px;
    font-size: 1.8rem;
  }
}

/* .hdg-l4
----------------------------------------------- */
.hdg-l4 {
  margin: 20px 0;
  font-size: 2rem;
  font-weight: var(--font-weight-bold);
}
@media only screen and (min-width: 768px) {
  .hdg-l4 {
    margin: 24px 0;
  }
}

/* .hdg-l5
----------------------------------------------- */
.hdg-l5 {
  margin: 20px 0;
  font-size: 1.8rem;
  font-weight: var(--font-weight-bold);
}
@media only screen and (min-width: 768px) {
  .hdg-l5 {
    margin: 24px 0;
  }
}

/* ----------------------------------------------------------------
  Text
----------------------------------------------------------------- */
/* .txt
----------------------------------------------- */
.txt {
  font-weight: 400;
  line-height: 2;
}

/* .txt-sub
----------------------------------------------- */
.txt-sub {
  color: var(--color-main);
}

/* .txt-link
----------------------------------------------- */
.txt-link {
  width: fit-content;
  color: var(--color-main);
}

/* .txt-intro
----------------------------------------------- */
.txt-intro {
  margin-bottom: 16px;
}
.txt-intro p {
  font-size: 1.6rem;
  font-weight: var(--font-weight-bold);
  margin-bottom: 8px;
}
.txt-intro p:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .txt-intro p {
    font-size: 1.8rem;
  }
}

/* .txt-lead
----------------------------------------------- */
.txt-lead {
  font-size: 1.6rem;
}
@media only screen and (min-width: 768px) {
  .txt-lead {
    font-size: 1.8rem;
  }
}

/* .txt-interview
----------------------------------------------- */
.txt-interview {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 8px;
}
.txt-interview_speaker {
  font-weight: var(--font-weight-bold);
}

/* ----------------------------------------------------------------
  Link (.link-*)
----------------------------------------------------------------- */
/* .link
----------------------------------------------- */
.link,
.office-detail_map-link {
  margin-bottom: 8px;
  position: relative;
  display: block;
  padding-left: 22px;
  width: fit-content;
  color: var(--color-font);
  text-decoration: none;
  font-weight: var(--font-weight-bold);
  transition: color var(--transition-duration) var(--transition-tf);
}
.link::after,
.office-detail_map-link::after {
  display: block;
  content: "";
  position: absolute;
  top: 0.5em;
  left: 0;
  width: 14px;
  height: 14px;
  background: no-repeat center;
  background-image: url("data:image/svg+xml; charset=utf-8, %3csvg%20xmlns%3d%22http%3a%2f%2fwww%2ew3%2eorg%2f2000%2fsvg%22%20viewBox%3d%220%200%2014%2014%22%3e%3cpath%20d%3d%22m7%2e09,1%2e06l6%2e06,6%2e06%2d6%2e06,6%2e06%22%20fill%3d%22none%22%20stroke%3d%22%2397999B%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dlinejoin%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3cline%20x1%3d%221%2e06%22%20y1%3d%227%2e12%22%20x2%3d%2212%2e76%22%20y2%3d%227%2e12%22%20fill%3d%22none%22%20stroke%3d%22%2397999B%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dmiterlimit%3d%2210%22%20stroke%2dwidth%3d%222%22%2f%3e%3c%2fsvg%3e");
}
.link:hover, .link:active, .link:focus-visible,
.office-detail_map-link:hover,
.office-detail_map-link:active,
.office-detail_map-link:focus-visible {
  color: var(--color-main);
  opacity: 1;
}

/* .link-anchor
----------------------------------------------- */
.link-anchor {
  margin-bottom: 8px;
  position: relative;
  display: inline-block;
  padding-left: 22px;
  width: fit-content;
  color: var(--color-font);
  text-decoration: none;
}
.link-anchor::after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 14px;
  height: 14px;
  background: no-repeat center;
  translate: 0 -50%;
  background-image: url("data:image/svg+xml; charset=utf-8, %3csvg%20xmlns%3d%22http%3a%2f%2fwww%2ew3%2eorg%2f2000%2fsvg%22%20viewBox%3d%220%200%2014%2014%22%3e%3cpath%20d%3d%22m13%2e18,7%2e09l%2d6%2e06,6%2e06L1%2e06,7%2e09%22%20fill%3d%22none%22%20stroke%3d%22%2397999B%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dlinejoin%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3cline%20x1%3d%227%2e12%22%20y1%3d%221%2e06%22%20x2%3d%227%2e12%22%20y2%3d%2212%2e76%22%20fill%3d%22none%22%20stroke%3d%22%2397999B%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dmiterlimit%3d%2210%22%20stroke%2dwidth%3d%222%22%2f%3e%3c%2fsvg%3e");
}

/* .link-title
----------------------------------------------- */
.link-title {
  margin-bottom: 8px;
}
.link-title > a {
  display: inline-block;
  font-size: 1.8rem;
  font-weight: var(--font-weight-bold);
  color: var(--color-font);
  text-decoration: none;
  transition: color var(--transition-duration) var(--transition-tf);
}
.link-title:hover > a, .link-title:active > a, .link-title:focus-visible > a {
  color: var(--color-main);
  opacity: 1;
}

/* .link-pdf
----------------------------------------------- */
.link-pdf {
  display: inline-flex;
  font-size: 1.4rem;
  color: var(--color-main);
  transition: color var(--transition-duration) var(--transition-tf);
}
.link-pdf:hover, .link-pdf:active, .link-pdf:focus-visible {
  color: var(--color-sub);
  opacity: 1;
}

/* .link-next-part
----------------------------------------------- */
.link-next-part {
  display: flex;
  justify-content: flex-end;
  margin-top: 12px;
}
.link-next-part .link {
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .link-next-part {
    margin-top: 24px;
  }
}

/* ----------------------------------------------------------------
  Button (.btn-*)
----------------------------------------------------------------- */
/* .btn
----------------------------------------------- */
.btn {
  display: block;
  width: 100%;
  text-align: center;
  margin: 32px auto 56px;
}
@media only screen and (min-width: 768px) {
  .btn.-left {
    text-align: left;
  }
}
@media only screen and (min-width: 768px) {
  .btn.-right {
    text-align: right;
  }
}
.btn > a,
.btn > button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: min(400px, 100%);
  width: min-content;
  overflow: hidden;
  margin: 0 auto;
  padding: 28px 46px;
  border: solid 2px var(--color-main);
  background-color: var(--color-white);
  border-radius: 4em;
  text-decoration: none;
  font-weight: var(--font-weight-bold);
  color: var(--color-font);
  text-align: center;
  transition: background-color 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.btn > a:hover, .btn > a:active, .btn > a:focus-visible,
.btn > button:hover,
.btn > button:active,
.btn > button:focus-visible {
  opacity: 1;
  background-color: var(--color-btn-hover);
}
.btn > a > span,
.btn > button > span {
  position: relative;
  display: flex;
  align-items: center;
  padding-left: 22px;
}
.btn > a > span::before,
.btn > button > span::before {
  display: block;
  content: "";
  position: absolute;
  z-index: 1;
  left: 0;
  top: calc(50% - 7px);
  width: 14px;
  height: 14px;
  background: no-repeat center;
  background-image: url("data:image/svg+xml; charset=utf-8, %3csvg%20xmlns%3d%22http%3a%2f%2fwww%2ew3%2eorg%2f2000%2fsvg%22%20viewBox%3d%220%200%2014%2014%22%3e%3cpath%20d%3d%22m7%2e09,1%2e06l6%2e06,6%2e06%2d6%2e06,6%2e06%22%20fill%3d%22none%22%20stroke%3d%22%2397999B%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dlinejoin%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3cline%20x1%3d%221%2e06%22%20y1%3d%227%2e12%22%20x2%3d%2212%2e76%22%20y2%3d%227%2e12%22%20fill%3d%22none%22%20stroke%3d%22%2397999B%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dmiterlimit%3d%2210%22%20stroke%2dwidth%3d%222%22%2f%3e%3c%2fsvg%3e");
}
.btn.-disabled > a,
.btn.-disabled > button {
  opacity: 0.3;
  cursor: default;
  pointer-events: none;
}
.btn.-disabled > a:hover, .btn.-disabled > a:active, .btn.-disabled > a:focus-visible,
.btn.-disabled > button:hover,
.btn.-disabled > button:active,
.btn.-disabled > button:focus-visible {
  background-color: var(--color-white);
  border-color: var(--color-main);
}
.btn.-disabled > a:hover::before, .btn.-disabled > a:hover::after, .btn.-disabled > a:active::before, .btn.-disabled > a:active::after, .btn.-disabled > a:focus-visible::before, .btn.-disabled > a:focus-visible::after,
.btn.-disabled > button:hover::before,
.btn.-disabled > button:hover::after,
.btn.-disabled > button:active::before,
.btn.-disabled > button:active::after,
.btn.-disabled > button:focus-visible::before,
.btn.-disabled > button:focus-visible::after {
  transform: none;
  opacity: 1;
}
.btn.-disabled > a:hover::after, .btn.-disabled > a:active::after, .btn.-disabled > a:focus-visible::after,
.btn.-disabled > button:hover::after,
.btn.-disabled > button:active::after,
.btn.-disabled > button:focus-visible::after {
  opacity: 0;
}
.btn.-disabled > a:hover > span::after, .btn.-disabled > a:active > span::after, .btn.-disabled > a:focus-visible > span::after,
.btn.-disabled > button:hover > span::after,
.btn.-disabled > button:active > span::after,
.btn.-disabled > button:focus-visible > span::after {
  opacity: 0;
}
.btn.-small {
  margin: 14px 0;
}
.btn.-small > a,
.btn.-small > button {
  min-width: min(165px, 100%);
  height: 100%;
  padding: 8px 4px;
  font-size: 1.4rem;
}
@media only screen and (min-width: 768px) {
  .btn.-small {
    gap: 16px;
    margin: 16px 0;
  }
  .btn.-small > a,
  .btn.-small > button {
    min-width: min(188px, 100%);
  }
}

/* .modal-box
----------------------------------------------- */
.modal-box {
  width: 100%;
  max-height: calc(100vh - 166px);
  background-color: var(--color-white);
  border-radius: var(--radius);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--transition-duration) var(--transition-tf), visibility var(--transition-duration) var(--transition-tf);
}
.modal-box.is-shown {
  opacity: 1;
  visibility: visible;
}
.modal-box:has(.modal-box_sns) {
  width: fit-content;
}
.modal-box_inner {
  position: relative;
}
.modal-box_content {
  padding: 40px 24px;
}
.modal-box_content > :first-child {
  margin-top: 0;
}
.modal-box_content > :last-child {
  margin-bottom: 0;
}
.modal-box_content:has(.modal-box_sns) {
  padding: 64px;
}
.modal-box_content:has(.modal-box_sns) > p {
  margin-bottom: 32px;
  font-weight: var(--font-weight-bold);
  text-align: center;
}
.modal-box_content-item {
  display: grid;
  grid-template-columns: 98px 98px;
  gap: 40px 8px;
  justify-content: center;
}
.modal-box_hdg {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
}
.modal-box_hdg span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border: 2px solid var(--color-sub);
  border-radius: 50%;
  margin-left: 8px;
  padding-bottom: 2px;
}
.modal-box_sns {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 1.4rem;
  font-weight: var(--font-weight-bold);
}
.modal-box_sns-icon {
  margin-bottom: 11px;
  width: 34px;
  height: 34px;
}
.modal-box_btn-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 24px;
  height: 24px;
}
.modal-box_btn-close > button {
  position: absolute;
  width: 100%;
  height: 100%;
}
.modal-box_btn-close > button::after, .modal-box_btn-close > button::before {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 27px;
  height: 2px;
  background-color: var(--color-main);
  border-radius: 0.2em;
}
.modal-box_btn-close > button::after {
  transform: rotate(45deg);
}
.modal-box_btn-close > button::before {
  transform: rotate(-45deg);
}
.modal-box_btn-close > button > span {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  border: 0;
  white-space: nowrap;
  overflow: hidden;
}
.modal-box .media.-no-border img {
  border: none;
}
@media only screen and (min-width: 768px) {
  .modal-box {
    max-width: min(100% - 32px, 928px);
  }
  .modal-box_content {
    padding: 48px 64px;
  }
  .modal-box_content:has(.modal-box_sns) > p {
    margin-bottom: 64px;
  }
  .modal-box_content-item {
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
  }
  .modal-box_hdg {
    gap: 12px;
    font-size: 2.2rem;
    margin-bottom: 24px;
  }
  .modal-box_hdg span {
    width: 48px;
    height: 48px;
  }
  .modal-box_btn-close {
    right: 24px;
  }
}

/* ----------------------------------------------------------------
  List (.list-*)
----------------------------------------------------------------- */
/* .list
----------------------------------------------- */
.list {
  display: grid;
  row-gap: 8px;
  margin-bottom: 8px;
}
.list_item {
  position: relative;
  display: flex;
  flex-direction: column;
  padding-left: 24px;
}
.list_item > :first-child {
  margin-top: 0;
}
.list_item > :last-child {
  margin-bottom: 0;
}
.list_item::before {
  display: block;
  content: "";
  position: absolute;
  top: 0.2em;
  left: 0;
  margin: 10px 9px 9px 10px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: var(--color-black);
}

/* .list-num
----------------------------------------------- */
.list-num {
  display: grid;
  row-gap: 8px;
  margin-bottom: 8px;
}
.list-num li {
  display: flex;
}
.list-num_content {
  padding-left: 24px;
}
.list-num_content > :first-child {
  margin-top: 0;
}
.list-num_content > :last-child {
  margin-bottom: 0;
}

/* .list-note
----------------------------------------------- */
.list-note {
  display: grid;
  row-gap: 8px;
  margin: 8px 0;
}
.list-note li {
  display: flex;
  font-size: 1.4rem;
  font-weight: 400;
}
.list-note_item {
  flex: 1 0 0;
}

:is(.list, .list-num) :is(.list, .list-num, .list-note) {
  margin-top: 8px;
}

:is(.list, .list-num, .list-note) + p {
  margin-top: 32px;
}

/* .list-link
----------------------------------------------- */
.list-link {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 16px;
}
.list-link .link {
  margin-bottom: 0;
}

/* .list-anchor
----------------------------------------------- */
.list-anchor {
  margin: 24px auto 56px;
}
.list-anchor_list > li {
  position: relative;
  padding: 24px 24px 26px;
}
.list-anchor_list > li::after {
  display: block;
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  height: 2px;
  width: 100%;
  border-radius: 2px;
  background-color: var(--color-sub);
}
.list-anchor_list > li:first-child {
  padding-top: 0;
}
.list-anchor_list > li:last-child {
  padding-bottom: 0;
}
.list-anchor_list > li:last-child::after {
  display: none;
}
.list-anchor_list > li > a {
  position: relative;
  display: block;
  padding: 0 0 0 20px;
  color: var(--color-font);
  text-decoration: none;
  font-size: 1.6rem;
  text-align: center;
}
.list-anchor_list > li > a::after {
  display: block;
  content: "";
  position: absolute;
  top: 0.5em;
  left: 0;
  width: 12px;
  height: 12px;
  background: no-repeat center;
  background-image: url("data:image/svg+xml; charset=utf-8, %3csvg%20xmlns%3d%22http%3a%2f%2fwww%2ew3%2eorg%2f2000%2fsvg%22%20viewBox%3d%220%200%2014%2014%22%3e%3cpath%20d%3d%22m13%2e18,7%2e09l%2d6%2e06,6%2e06L1%2e06,7%2e09%22%20fill%3d%22none%22%20stroke%3d%22%2397999B%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dlinejoin%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3cline%20x1%3d%227%2e12%22%20y1%3d%221%2e06%22%20x2%3d%227%2e12%22%20y2%3d%2212%2e76%22%20fill%3d%22none%22%20stroke%3d%22%2397999B%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dmiterlimit%3d%2210%22%20stroke%2dwidth%3d%222%22%2f%3e%3c%2fsvg%3e");
}
@media only screen and (min-width: 768px) {
  .list-anchor {
    margin-top: 32px;
  }
  .list-anchor.-center .list-anchor_list {
    justify-content: center;
  }
  .list-anchor_list {
    display: flex;
    flex-wrap: wrap;
    gap: 16px 32px;
  }
  .list-anchor_list > li {
    display: flex;
    align-items: center;
    position: relative;
    padding: 0 20px 0 0;
  }
  .list-anchor_list > li::after {
    bottom: 0;
    height: 100%;
    width: 2px;
  }
  .list-anchor_list > li:last-child {
    padding-right: 0;
  }
  .list-anchor_list > li > a {
    padding: 0 0 0 20px;
    text-align: left;
  }
}
.list-anchor.col2-sp .list-anchor_list {
  display: flex;
  column-gap: 17px;
  flex-wrap: wrap;
}
.list-anchor.col2-sp .list-anchor_list > li {
  padding: 24px 22px 26px;
  width: calc((100% - 17px) / 2);
}
.list-anchor.col2-sp .list-anchor_list > li:first-child {
  padding-top: 24px;
}
.list-anchor.col2-sp .list-anchor_list > li:last-child {
  padding-bottom: 26px;
}
.list-anchor.col2-sp .list-anchor_list > li:last-child::after {
  display: block;
}
.list-anchor.col2-sp .list-anchor_list > li.w-100-sp {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .list-anchor.col2-sp .list-anchor_list {
    flex-wrap: wrap;
    gap: 24px;
  }
  .list-anchor.col2-sp .list-anchor_list > li {
    display: flex;
    align-items: center;
    position: relative;
    padding: 0 20px 0 0;
    width: auto;
  }
  .list-anchor.col2-sp .list-anchor_list > li::after {
    bottom: 0;
    height: 100%;
    width: 2px;
  }
  .list-anchor.col2-sp .list-anchor_list > li:first-child {
    padding-top: 0;
  }
  .list-anchor.col2-sp .list-anchor_list > li:last-child {
    padding-bottom: 0;
  }
  .list-anchor.col2-sp .list-anchor_list > li:last-child::after {
    display: none;
  }
  .list-anchor.col2-sp .list-anchor_list > li.w-100-sp {
    width: auto;
  }
  .list-anchor.col2-sp .list-anchor_list > li > a {
    padding: 0 0 0 20px;
    text-align: left;
  }
}

/* .list-anchor-02
----------------------------------------------- */
.list-anchor-02 {
  margin-block: 56px;
}
.list-anchor-02_list {
  display: grid;
  gap: 24px;
}
.list-anchor-02_anchor {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  background-color: var(--color-white);
  border: 2px solid var(--color-sub);
  border-radius: 20px;
  padding: 16px 22px;
}
.list-anchor-02_anchor > span {
  position: relative;
  font-size: 1.6rem;
  padding-left: 22px;
}
.list-anchor-02_anchor > span::before {
  display: block;
  content: "";
  position: absolute;
  top: 0.5em;
  left: 0;
  width: 14px;
  height: 14px;
  background: no-repeat center;
  rotate: 90deg;
  background-image: url("data:image/svg+xml; charset=utf-8, %3csvg%20xmlns%3d%22http%3a%2f%2fwww%2ew3%2eorg%2f2000%2fsvg%22%20viewBox%3d%220%200%2014%2014%22%3e%3cpath%20d%3d%22m7%2e09,1%2e06l6%2e06,6%2e06%2d6%2e06,6%2e06%22%20fill%3d%22none%22%20stroke%3d%22%2397999B%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dlinejoin%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3cline%20x1%3d%221%2e06%22%20y1%3d%227%2e12%22%20x2%3d%2212%2e76%22%20y2%3d%227%2e12%22%20fill%3d%22none%22%20stroke%3d%22%2397999B%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dmiterlimit%3d%2210%22%20stroke%2dwidth%3d%222%22%2f%3e%3c%2fsvg%3e");
}
.list-anchor-02_anchor > img {
  width: 60px;
}
@media only screen and (min-width: 768px) {
  .list-anchor-02 {
    margin-bottom: 96px;
  }
  .list-anchor-02_list {
    grid-template-columns: repeat(3, 1fr);
  }
  .list-anchor-02_anchor {
    flex-direction: column-reverse;
    gap: 16px;
    padding: 32px 40px 24px;
    transition: background-color var(--transition-duration) var(--transition-tf);
  }
  .list-anchor-02_anchor:hover, .list-anchor-02_anchor:active, .list-anchor-02_anchor:focus-visible {
    opacity: 1;
    background-color: var(--color-btn-hover);
  }
  .list-anchor-02_anchor > span {
    padding-left: 0;
    padding-bottom: 30px;
  }
  .list-anchor-02_anchor > span::before {
    top: auto;
    left: 50%;
    transform: translateY(50%);
    bottom: 0;
  }
  .list-anchor-02_anchor > img {
    width: auto;
  }
}

/* .list-desc
----------------------------------------------- */
.list-desc_title {
  margin: 16px 0 8px;
  font-weight: var(--font-weight-bold);
}
.list-desc_content {
  margin-top: 8px;
  padding-left: 24px;
}
.list-desc_content > :first-child {
  margin-top: 0;
}
.list-desc_content > :last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .list-desc_title {
    margin-top: 24px;
  }
}

/* .list-news
----------------------------------------------- */
.list-news {
  display: grid;
  gap: 20px;
  width: 100%;
}
.list-news_info {
  display: flex;
  align-items: baseline;
  gap: 24px;
  min-width: max-content;
}
.list-news_date {
  color: var(--color-main);
  font-size: 1.6rem;
}
.list-news_link {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px;
  font-size: 1.6rem;
  font-weight: var(--font-weight-bold);
  padding: 8px 0 0 23px;
}
.list-news_link::before {
  display: block;
  content: "";
  position: absolute;
  top: 1em;
  left: 0;
  width: 15px;
  height: 14px;
  background: no-repeat center;
  background-image: url("data:image/svg+xml; charset=utf-8, %3csvg%20xmlns%3d%22http%3a%2f%2fwww%2ew3%2eorg%2f2000%2fsvg%22%20viewBox%3d%220%200%2014%2014%22%3e%3cpath%20d%3d%22m7%2e09,1%2e06l6%2e06,6%2e06%2d6%2e06,6%2e06%22%20fill%3d%22none%22%20stroke%3d%22%2397999B%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dlinejoin%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3cline%20x1%3d%221%2e06%22%20y1%3d%227%2e12%22%20x2%3d%2212%2e76%22%20y2%3d%227%2e12%22%20fill%3d%22none%22%20stroke%3d%22%2397999B%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dmiterlimit%3d%2210%22%20stroke%2dwidth%3d%222%22%2f%3e%3c%2fsvg%3e");
}
.list-news_link:not([href]) {
  font-weight: var(--font-weight);
  padding-left: 0;
}
.list-news_link:not([href])::before {
  content: none;
}
.list-news_link .icon-label {
  margin-right: 8px;
}
.list-news.-border .list-news {
  gap: 24px;
}
.list-news.-border .list-news_item {
  border-bottom: 2px solid var(--color-sub);
}
.list-news.-border .list-news_link {
  padding-block: 16px 24px;
}
.list-news.-border .list-news_link::before {
  top: 1.5em;
}
@media only screen and (min-width: 768px) {
  .list-news_item {
    display: flex;
    gap: 24px;
  }
  .list-news_link {
    padding-top: 0;
  }
  .list-news_link::before {
    top: 0.5em;
  }
  .list-news.-border .list-news {
    gap: 16px;
  }
  .list-news.-border .list-news_item {
    padding-bottom: 16px;
  }
  .list-news.-border .list-news_link {
    flex: 1;
    padding-block: 0;
  }
  .list-news.-border .list-news_link[href]::before {
    top: 0.5em;
  }
}

/* .pager
----------------------------------------------- */
.pager {
  display: flex;
  justify-content: center;
  gap: 8px;
}
.pager a {
  transition: var(--transition-duration) var(--transition-tf);
}
.pager a:hover, .pager a:active, .pager a:focus-visible {
  opacity: 1;
}
.pager-item {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  border: 2px solid var(--color-sub);
  border-radius: 2em;
  background-color: var(--color-white);
  font-size: 1.8rem;
}
.pager-item:hover, .pager-item:active, .pager-item:focus-visible {
  background-color: var(--color-btn-hover);
  color: var(--color-black);
}
.pager-item.active {
  border: 2px solid var(--color-main);
  background-color: var(--color-main);
  color: var(--color-white);
}
.pager-dots {
  font-size: 2.4rem;
  line-height: 2;
}

/* ----------------------------------------------------------------
  Icon (.icon-*)
----------------------------------------------------------------- */
/* .icon-img
----------------------------------------------- */
.icon-img {
  display: inline-block;
  margin-inline: 4px;
}
.icon-img.-left {
  margin-left: 0;
}
.icon-img.-right {
  margin-right: 0;
}

/* .icon-label
----------------------------------------------- */
.icon-label {
  display: inline-block;
  padding: 2px 8px;
  background-color: var(--color-sub);
  font-size: 1.4rem;
  line-height: 1.4;
  font-weight: var(--font-weight-bold);
}
.icon-label + .icon-label {
  margin-left: 8px;
}
@media only screen and (min-width: 768px) {
  .icon-label + .icon-label {
    margin-left: 16px;
  }
}
.icon-label[href] {
  color: var(--color-font);
  text-decoration: none;
}
.icon-label.-important {
  color: var(--color-white);
  background-color: var(--color-black);
}
.icon-label.-radius {
  border-radius: 6px;
  padding: 5px 8px;
}
.hdg-content .icon-label.-radius {
  padding: 5px 14px;
}
.icon-label.-inactive {
  color: var(--color-sub);
  background-color: var(--color-white);
  border: 1px solid var(--color-sub);
}

/* ----------------------------------------------------------------
Form (.form-*)
----------------------------------------------------------------- */
/* .filter
----------------------------------------------- */
.filter {
  margin-bottom: 56px;
}
.filter.-pc {
  display: none;
}
@media only screen and (max-width: 767.9px) {
  .filter {
    position: relative;
  }
  .filter::after {
    display: block;
    content: "";
    position: absolute;
    right: 36px;
    top: calc(50% - 7px);
    width: 14px;
    height: 14px;
    background-image: url("/assets/img/icon-arrow-pulldown.svg");
    background-repeat: no-repeat;
    background-size: 14px;
  }
  .filter_list {
    position: relative;
    display: block;
    padding: 14px 34px 14px 36px;
    min-height: 64px;
    border: solid 2px var(--color-sub);
    background-color: var(--color-white);
    border-radius: 999em;
    font-size: 1.8rem;
    font-weight: var(--font-weight-bold);
  }
  .filter_list:focus-visible {
    outline: 2px solid -webkit-focus-ring-color;
  }
}
@media only screen and (min-width: 768px) {
  .filter {
    margin-bottom: 96px;
  }
  .filter fieldset, .filter_list {
    display: flex;
    flex-wrap: wrap;
    gap: 24px 20px;
  }
  .filter_item {
    position: relative;
  }
  .filter_item > input {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
  }
  .filter_item > input:focus + label, .filter_item > input:checked + label {
    background-color: var(--color-main);
    border-color: var(--color-main);
    color: var(--color-white);
  }
  .filter_item > input:focus-visible + label {
    outline: 2px solid -webkit-focus-ring-color;
  }
  .filter_item > label {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: var(--color-font);
    background-color: var(--color-white);
    border: solid 2px var(--color-sub);
    border-radius: 999em;
    text-align: center;
    word-break: break-word;
    text-decoration: none;
    padding: 8px 24px;
    cursor: pointer;
    transition: background-color var(--transition-duration) var(--transition-tf);
  }
  .filter_item > label:hover, .filter_item > label:active, .filter_item > label:focus-visible {
    background-color: var(--color-btn-hover);
  }
  .filter_anchor {
    display: block;
    border: solid 2px var(--color-sub);
    background-color: var(--color-white);
    border-radius: 999em;
    height: 100%;
    text-align: center;
    color: var(--color-font);
    text-decoration: none;
    padding: 8px 24px;
    cursor: pointer;
    transition: background-color var(--transition-duration) var(--transition-tf);
  }
  .filter_anchor:hover, .filter_anchor:active, .filter_anchor:focus-visible {
    background-color: var(--color-btn-hover);
    opacity: 1;
  }
  .filter_anchor[aria-current=true] {
    background-color: var(--color-main);
    border-color: var(--color-main);
    color: var(--color-white);
  }
  .filter.-pc {
    display: block;
  }
  .filter.-sp {
    display: none;
  }
}

/* ----------------------------------------------------------------
  PullDownMenu
----------------------------------------------------------------- */
/* .pulldown
----------------------------------------------- */
.pulldown {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 32px;
}
.pulldown-menu {
  position: relative;
  display: flex;
  border-radius: 6px;
  border: 2px solid var(--color-sub);
  background-color: var(--color-white);
}
.pulldown-menu_list {
  padding: 8px 15px;
  border-radius: 6px;
  min-width: 138px;
  font-weight: var(--font-weight-bold);
  background-image: url("/assets/img/icon-arrow-pulldown.svg");
  background-repeat: no-repeat;
  background-position: right 15px top 14px;
  background-size: 14px;
}
.pulldown-search {
  display: flex;
  align-items: center;
  margin-left: -2px;
  padding: 11px;
  background-color: #FFF;
  border-left: 2px solid var(--color-sub);
  border-radius: 0 6px 6px 0;
  transition: var(--transition-duration) var(--transition-tf);
}
.pulldown-search:hover, .pulldown-search:active, .pulldown-search:focus-visible {
  background-color: var(--color-btn-hover);
}
.pulldown-search[inert] path {
  fill: var(--color-sub);
}
.pulldown-search[inert] line {
  stroke: var(--color-sub);
}
.pulldown-search_alt {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  border: 0;
  white-space: nowrap;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .pulldown-menu_list {
    background-position: right 15px top 17px;
  }
}

/* ----------------------------------------------------------------
  RadioButton
----------------------------------------------------------------- */
/* .event-*
----------------------------------------------- */
.event_search-radio-input {
  position: absolute;
  opacity: 0;
}
.event_search-radio-input:checked + .event_search-label::after {
  display: block;
  content: "";
  position: absolute;
  left: 4px;
  width: 12px;
  height: 12px;
  background-color: var(--color-main);
  border-radius: 50%;
}
.event_search-radio-wrap {
  display: flex;
  gap: 16px;
  margin-bottom: 48px;
  padding-top: 32px;
  padding-bottom: 16px;
  border-top: 2px solid var(--color-sub);
}
.event_search-label {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 1.4rem;
  padding-left: 24px;
  cursor: pointer;
}
.event_search-label::before {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  width: 20px;
  height: 20px;
  border: 1px solid var(--color-sub);
  border-radius: 50%;
}
@media only screen and (min-width: 768px) {
  .event_search-radio-input:checked + .event_search-label::after {
    width: 16px;
    height: 16px;
  }
  .event_search-radio-wrap {
    gap: 24px;
    padding-top: 40px;
  }
  .event_search-label {
    font-size: 1.6rem;
    padding-left: 28px;
  }
  .event_search-label::before {
    width: 24px;
    height: 24px;
  }
}

/* .radio
----------------------------------------------- */
.radio {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 1.4rem;
  color: var(--color-font);
  text-decoration: none;
  padding-left: 24px;
}
.radio:hover, .radio:active, .radio:focus-visible {
  opacity: 1;
}
.radio-wrap {
  display: flex;
  gap: 16px;
  margin-bottom: 48px;
  padding-top: 32px;
  padding-bottom: 16px;
  border-top: 2px solid var(--color-sub);
}
.radio::before {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  width: 20px;
  height: 20px;
  border: 1px solid var(--color-sub);
  border-radius: 50%;
}
.radio[aria-current=true]::after {
  display: block;
  content: "";
  position: absolute;
  left: 4px;
  width: 12px;
  height: 12px;
  background-color: var(--color-main);
  border-radius: 50%;
}
@media only screen and (min-width: 768px) {
  .radio {
    font-size: 1.6rem;
    padding-left: 28px;
  }
  .radio-wrap {
    gap: 24px;
    padding-top: 40px;
  }
  .radio::before {
    width: 24px;
    height: 24px;
  }
  .radio[aria-current=true]::after {
    width: 16px;
    height: 16px;
  }
}

.search-radio-input {
  position: absolute;
  opacity: 0;
}
.search-radio-input:checked + .search-label::after {
  display: block;
  content: "";
  position: absolute;
  left: 4px;
  width: 12px;
  height: 12px;
  background-color: var(--color-main);
  border-radius: 50%;
}
.search-radio-input:focus-visible + .search-label::before {
  outline: 2px solid;
}
.search-radio-wrap {
  display: flex;
  gap: 16px;
  margin-bottom: 48px;
  padding-top: 32px;
  padding-bottom: 16px;
  border-top: 2px solid var(--color-sub);
}
.search-label {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 1.4rem;
  padding-left: 24px;
}
.search-label::before {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  width: 20px;
  height: 20px;
  border: 1px solid var(--color-sub);
  border-radius: 50%;
}
@media only screen and (min-width: 768px) {
  .search-radio-input:checked + .search-label::after {
    width: 16px;
    height: 16px;
  }
  .search-radio-wrap {
    gap: 24px;
    padding-top: 40px;
  }
  .search-label {
    font-size: 1.6rem;
    padding-left: 28px;
  }
  .search-label::before {
    width: 24px;
    height: 24px;
  }
}

/* ----------------------------------------------------------------
    お問い合わせページ
----------------------------------------------------------------- */
/* .form-content
----------------------------------------------- */
.form-content {
  margin: 0 auto;
  width: 100%;
  max-width: 800px;
}
.form-content_term {
  margin-bottom: 12px;
}
.form-content_desc {
  display: flex;
  flex-direction: column;
  margin-bottom: 32px;
}
.form-content_desc:has(#err) input,
.form-content_desc:has(#err) textarea,
.form-content_desc:has(#err) .pulldown-menu,
.form-content_desc:has(#err) .search-label::before,
.form-content_desc:has(#err) .form-checkbox-label::before {
  border: 1px solid var(--color-form-warn);
}
.form-content_desc > input,
.form-content_desc > textarea {
  padding: 9px 15px;
  width: 100%;
  border: 1px solid var(--color-sub);
  border-radius: 2px;
  font-size: 1.4rem;
  font-weight: normal;
}
.form-content_desc > input::placeholder,
.form-content_desc > textarea::placeholder {
  color: var(--color-placeholder);
}
.form-content_desc > input + input {
  margin-top: 12px;
}
.form-content_desc .txt-form-err {
  display: none;
  color: var(--color-form-warn);
  margin-top: 8px;
}
.form-content_desc .txt-form-err:has(#err) {
  display: block;
}
.form-content.-confirm {
  margin-bottom: 56px;
}
.form-content.-confirm .form-content_term {
  margin-bottom: 16px;
}
.form-content.-confirm .form-content_desc > p {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .form-content_term {
    margin-bottom: 16px;
  }
  .form-content_desc {
    margin-bottom: 48px;
  }
  .form-content.-confirm {
    display: grid;
    gap: 24px;
  }
  .form-content.-confirm .form-content_item {
    display: flex;
    gap: 24px;
  }
  .form-content.-confirm .form-content_term {
    display: block;
    margin-bottom: 0;
    width: 35%;
    max-width: 235px;
  }
  .form-content.-confirm .form-content_desc {
    flex-direction: unset;
    flex: 1;
    margin-bottom: 0;
  }
}

/* .form-pulldown
----------------------------------------------- */
.form-pulldown {
  display: flex;
  gap: 16px;
}
.form-pulldown .pulldown {
  gap: 8px;
  margin-bottom: 0;
  align-items: center;
  flex: 1;
}
.form-pulldown .pulldown-menu {
  flex: 1;
}
.form-pulldown .pulldown-menu_list {
  padding: 10px;
  padding-right: 30px;
  min-width: 0;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .form-pulldown {
    gap: 24px;
  }
  .form-pulldown .pulldown {
    flex: unset;
  }
  .form-pulldown .pulldown-menu {
    flex: unset;
  }
  .form-pulldown .pulldown-menu_list {
    min-width: 138px;
  }
}

/* .form-err
----------------------------------------------- */
.form-err_box {
  display: none;
  margin-bottom: 24px;
  padding: 9px;
  border: 1px solid var(--color-form-warn);
  border-radius: 2px;
  background-color: var(--color-form-bg-err);
  font-size: 1.4rem;
  color: var(--color-form-warn);
}
.form-err_box:has(#err) {
  display: block;
}
.form-err_box-inner {
  position: relative;
  display: flex;
  gap: 8px;
}
.form-err_box-inner::before {
  content: "";
  position: relative;
  top: 3px;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  background: url("/assets/files/contact/form/common/icon-warn.svg") no-repeat center/contain;
}
.form-err-txt {
  display: block;
  flex: 1;
}
@media only screen and (min-width: 768px) {
  .form-err_box {
    margin-bottom: 48px;
  }
}

/* .form-radio
----------------------------------------------- */
.form-radio {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
@media only screen and (min-width: 768px) {
  .form-radio {
    gap: 24px;
  }
}

/* .form-required
----------------------------------------------- */
.form-required {
  margin-left: 4px;
  padding: 4px 10px;
  border-radius: 6px;
  background-color: var(--color-form-warn);
  font-size: 1.2rem;
  font-weight: var(--font-weight-bold);
  color: var(--color-white);
}

/* .form-checkbox
----------------------------------------------- */
.form-checkbox {
  display: flex;
  justify-content: center;
}
.form-checkbox-input {
  position: absolute;
  opacity: 0;
}
.form-checkbox-input:checked + .form-checkbox-label::after {
  display: block;
  content: "";
  position: absolute;
  left: 2px;
  width: 15px;
  height: 10px;
  background: url("/assets/files/contact/form/common/icon-form-check.svg") no-repeat center/contain;
}
.form-checkbox-input:checked + .form-checkbox-label::before {
  background-color: var(--color-sub);
}
.form-checkbox-input:focus-visible + .form-checkbox-label::before {
  outline: 2px solid;
}
.form-checkbox-label {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 1.4rem;
  padding-left: 28px;
  cursor: pointer;
}
.form-checkbox-label::before {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  width: 20px;
  height: 20px;
  border: 1px solid var(--color-sub);
  border-radius: 2px;
  background-color: var(--color-white);
}
@media only screen and (min-width: 768px) {
  .form-checkbox-label {
    font-size: 1.6rem;
  }
}

/* .form-btn
----------------------------------------------- */
.form-btn > .btn {
  margin: 0;
}
.form-btn.layout.-col2 {
  gap: 32px;
}
@media only screen and (min-width: 768px) {
  .form-btn.layout.-col2 {
    gap: 24px;
  }
}

/* .form-search
----------------------------------------------- */
.form-search {
  position: relative;
}
.form-search_input {
  position: relative;
  width: 100%;
  border: 1px solid var(--color-sub);
  border-radius: 2px;
  padding: 14px 16px;
  padding-right: 42px;
}
.form-search_input::placeholder {
  color: var(--color-placeholder);
}
.form-search_btn {
  position: absolute;
  top: 50%;
  right: 15px;
  width: 18px;
  height: 18px;
  transform: translateY(-50%);
}
@media only screen and (min-width: 768px) {
  .form-search {
    font-size: 1.4rem;
  }
}

/* ----------------------------------------------------------------
  Media
----------------------------------------------------------------- */
/* .media
----------------------------------------------- */
.media {
  margin: 32px 0;
}
.media[href] {
  display: block;
  text-decoration: none;
  color: var(--color-font);
}
.media_item {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.media + .media {
  margin-top: 16px;
}
.media.-no-border img {
  border: 2px solid transparent;
}
.media.-square img {
  border-radius: 0;
}
.media img {
  display: block;
  width: 100%;
  border-radius: var(--radius);
  border: 2px solid var(--color-sub);
}
.media_caption {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 1.4rem;
}
.media_caption.-right {
  justify-content: flex-end;
}
.media_caption.-center {
  justify-content: center;
}
.media_caption img {
  border: none;
  width: auto;
}
[data-category=article] .media {
  margin-block: 32px;
}
[data-category=article] .media img {
  border-radius: 0;
}
.media [data-category=article] .content-news-area--article .media {
  margin-top: 0;
}
@media only screen and (min-width: 768px) {
  .media {
    width: fit-content;
    margin: 40px auto;
  }
  .media_caption {
    text-align: left;
  }
  [data-category=article] .media {
    margin-block: 40px;
  }
  .media img {
    width: auto;
  }
}

/* ----------------------------------------------------------------
  Media-Layout
----------------------------------------------------------------- */
/* .media-lyt
----------------------------------------------- */
.media-lyt {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 20px;
}
.media-lyt_content {
  width: 100%;
  margin-bottom: 20px;
}
.media-lyt_content > :first-child {
  margin-top: 0;
}
.media-lyt_content > :last-child {
  margin-bottom: 0;
}
.media-lyt_content > p + p {
  margin-top: 12px;
}
.media-lyt_item {
  flex: 1;
  width: 100%;
  margin-bottom: 20px;
}
.media-lyt_item > :first-child {
  margin-top: 0;
}
.media-lyt_item > :last-child {
  margin-bottom: 0;
}
.media-lyt.-column-reverse {
  flex-direction: column-reverse;
  align-items: center;
}
.media-lyt.-column-reverse .media-lyt_content {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .media-lyt {
    flex-direction: row;
    gap: 24px;
    margin-top: 24px;
  }
  .media-lyt_content {
    flex: 1;
    margin-bottom: 24px;
  }
  .media-lyt_content > p + p {
    margin-top: 8px;
  }
  .media-lyt.-float {
    display: block;
  }
  .media-lyt.-float .media-lyt_item {
    float: left;
    width: auto;
    margin-right: 24px;
  }
  .media-lyt.-float.-row-reverse .media-lyt_item {
    float: right;
    width: auto;
    margin-right: 0;
    margin-left: 24px;
  }
  .media-lyt.-float + * {
    clear: both;
  }
  .media-lyt.-column-reverse {
    align-items: flex-start;
    flex-direction: row;
  }
  .media-lyt.-row-reverse {
    flex-direction: row-reverse;
  }
}
.media-lyt .content-news-area--article .media-lyt {
  margin-top: 0;
}

/* .media-lyt-person
----------------------------------------------- */
.media-lyt-person {
  display: flex;
  flex-direction: column;
  gap: 20px 56px;
  margin: 20px 0 56px;
}
.media-lyt-person_media {
  display: block;
  max-width: 580px;
  aspect-ratio: 343/229;
  object-fit: cover;
  flex: 1;
  margin: 0;
}
.media-lyt-person_content {
  flex: 1;
}
.media-lyt-person_content > :first-child {
  margin-top: 0;
}
.media-lyt-person_content > :last-child {
  margin-bottom: 0;
}
.media-lyt-person_txt {
  font-size: 2rem;
  font-weight: var(--font-weight);
}
.media-lyt-person_director {
  display: block;
  font-size: 1.4rem;
  color: var(--color-main);
}
.media-lyt-person_name {
  font-size: 1.8rem;
}
@media only screen and (min-width: 768px) {
  .media-lyt-person {
    flex-direction: row;
    align-items: center;
    margin: 48px 0 96px;
  }
  .media-lyt-person_txt {
    font-size: 2.8rem;
  }
  .media-lyt-person_director {
    font-size: 1.6rem;
  }
  .media-lyt-person_name {
    font-size: 2.4rem;
  }
}

/* ----------------------------------------------------------------
  Layout (.lyt-*)
----------------------------------------------------------------- */
/* .layout
----------------------------------------------- */
.layout {
  display: grid;
  gap: 16px;
}
.layout_item > :first-child {
  margin-top: 0;
}
.layout_item > :last-child {
  margin-bottom: 0;
}
.layout_item.fn-filter-item.is-hidden {
  display: none;
}
.layout.-sp-col1 {
  grid-template-columns: auto;
  gap: 16px;
}
.layout.-sp-col2 {
  grid-template-columns: repeat(2, 1fr);
  gap: 7px 17px;
}
.layout.-col2 {
  gap: 32px;
}
.layout.-col3 {
  gap: 48px 32px;
}
.layout.-col4 {
  grid-template-columns: repeat(2, 1fr);
  gap: 32px 17px;
}
.layout.-inbox {
  gap: 24px;
}
.layout.-center {
  align-items: center;
}
@media only screen and (min-width: 768px) {
  .layout.-col2 {
    grid-template-columns: repeat(2, 1fr);
    gap: 48px 80px;
  }
  .layout.-col3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .layout.-col4 {
    grid-template-columns: repeat(4, 1fr);
    gap: 48px 32px;
  }
  .layout.-inbox {
    grid-template-columns: repeat(4, 1fr);
    gap: 40px 24px;
  }
  .layout.-narrow {
    gap: 48px 32px;
  }
}

/* .lyt-narrow
----------------------------------------------- */
.lyt-narrow_inner > :first-child {
  margin-top: 0;
}
.lyt-narrow_inner > :last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .lyt-narrow {
    margin: 0 auto;
    max-width: 800px;
  }
}

/* .lyt-panel-content
----------------------------------------------- */
.lyt-panel-content {
  margin-bottom: 32px;
}
@media only screen and (min-width: 768px) {
  .lyt-panel-content {
    margin-bottom: 48px;
  }
  .lyt-panel-content.mb-80-pc {
    margin-bottom: 80px;
  }
}

/* ----------------------------------------------------------------
  記事詳細ページ
----------------------------------------------------------------- */
/* .lyt-article
----------------------------------------------- */
.lyt-article-inner > :first-child {
  margin-top: 0;
}
.lyt-article-inner > :last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .lyt-article {
    margin: 0 auto;
    max-width: 800px;
  }
}

/* ----------------------------------------------------------------
  BOX
----------------------------------------------------------------- */
/* .box-01
----------------------------------------------- */
.box-01 {
  margin: 56px 0;
}
.box-01_inner {
  position: relative;
  display: flex;
  flex-direction: column-reverse;
  overflow: hidden;
  color: var(--color-font);
  text-decoration: none;
  background-color: var(--color-white);
  border: solid 1px var(--color-sub);
  border-radius: var(--radius);
}
.box-01_inner::before, .box-01_inner::after {
  display: block;
  content: "";
  position: absolute;
}
.box-01_inner::before {
  left: -1px;
  top: -132px;
  width: 100%;
  height: 100%;
  background-color: var(--color-sub);
  mask-image: url("/assets/img/icon-mask.svg");
  -webkit-mask-image: url("/assets/img/icon-mask.svg"); /* stylelint-disable-line */
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat; /* stylelint-disable-line */
  mask-size: 268px 239px;
  -webkit-mask-size: 268px 239px; /* stylelint-disable-line */
  mask-position: -120px 35px;
  -webkit-mask-position: -120px 35px; /* stylelint-disable-line */
}
.box-01_inner::after {
  left: 115px;
  top: 13px;
  width: 47px;
  height: 47px;
  background-color: var(--color-main);
  border-radius: 50%;
}
.box-01_content {
  position: relative;
  z-index: 1;
  flex: 1;
  padding: 32px 16px;
}
.box-01_content > :last-child {
  margin-bottom: 0;
}
.box-01_content::before {
  display: block;
  content: "";
  position: absolute;
  z-index: -1;
  right: 0;
  top: 0;
  width: 131px;
  height: 76px;
  background-size: 12px, 15px;
  background-image: url("data:image/svg+xml; charset=utf-8, %3csvg%20xmlns%3d%22http%3a%2f%2fwww%2ew3%2eorg%2f2000%2fsvg%22%20viewBox%3d%220%200%2022%2022%22%3e%3ccircle%20cx%3d%2210%2e56%22%20cy%3d%2210%2e97%22%20r%3d%221%2e5%22%20fill%3d%22%2397999B%22%2f%3e%3c%2fsvg%3e");
}
.box-01_content-inner {
  margin: 0 auto 24px;
  width: 100%;
  max-width: 510px;
  text-align: center;
}
.box-01_content-inner > :last-child {
  margin-bottom: 0;
}
.box-01_title {
  margin: 75px 0 16px;
  font-size: 2.4rem;
}
.box-01_title > :first-child {
  margin-top: 0;
}
.box-01_title > :last-child {
  margin-bottom: 0;
}
.box-01_title .txt-sub {
  display: block;
  margin-top: 16px;
  font-family: var(--font-family-02);
  font-size: 1.8rem;
  text-transform: uppercase;
}
@media only screen and (min-width: 768px) {
  .box-01 {
    margin: 96px 0;
    max-width: 100%;
  }
  .box-01_inner::before {
    top: -2px;
    mask-position: -6% -40px;
    -webkit-mask-position: -6% -40px; /* stylelint-disable-line */
    mask-size: 305px 303px;
    -webkit-mask-size: 305px 303px; /* stylelint-disable-line */
  }
  .box-01_inner::after {
    top: 38px;
    left: 199px;
    transform: scale(1.7);
  }
  .box-01_content {
    flex: 1;
    padding: 64px 8.6%;
  }
  .box-01_content-inner {
    margin-bottom: 36px;
  }
  .box-01_content::before {
    top: 9px;
    width: 332px;
    height: 185px;
    background-size: 19px;
  }
  .box-01_title {
    margin-top: 0;
    margin-bottom: 24px;
  }
  .box-01_title.txt-sub {
    margin-top: 14px;
  }
}
.box-01 .btn {
  margin: 32px auto 0;
}
.box-01 .btn > a,
.box-01 .btn > button {
  gap: 8px;
  min-width: min(292px, 100%);
  padding: 18px 46px;
}
@media only screen and (min-width: 768px) {
  .box-01 .btn {
    margin-top: 56px;
  }
  .box-01 .btn > a {
    padding: 16px 46px;
  }
}

/* .box-02
----------------------------------------------- */
.box-02 {
  margin: 32px 0;
  padding: 24px 32px;
  border: 2px solid var(--color-sub);
  border-radius: var(--radius);
}
.box-02_content > :first-child {
  margin-top: 0;
}
.box-02_content > :last-child {
  margin-bottom: 0;
}
.box-02_title {
  margin-bottom: 20px;
  font-size: 2.2rem;
  font-weight: var(--font-weight-bold);
}
@media only screen and (min-width: 768px) {
  .box-02 {
    margin: 40px 0;
    padding: 32px 40px;
  }
  .box-02_title {
    margin-bottom: 24px;
    font-size: 2.6rem;
  }
}

/* .box-03
----------------------------------------------- */
.box-03 {
  display: block;
  height: 100%;
  color: var(--color-font);
  border: 2px solid var(--color-sub);
  border-radius: var(--radius);
  text-decoration: none;
  padding: 24px 16px;
  margin: 32px 0;
}
.box-03_content > :first-child {
  margin-top: 0;
}
.box-03_content > :last-child {
  margin-bottom: 0;
}
.box-03_title {
  font-size: 1.6rem;
  font-weight: var(--font-weight-bold);
  text-align: center;
  color: var(--color-black);
  margin-bottom: 12px;
}
.box-03_title span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 2px solid var(--color-sub);
  border-radius: 50%;
  margin-left: 8px;
  padding-bottom: 2px;
}
@media only screen and (min-width: 768px) {
  .box-03 {
    margin: 40px 0;
    padding: 32px 24px;
  }
  .box-03_title {
    font-size: 2rem;
    margin-bottom: 16px;
  }
  .box-03_title span {
    width: 40px;
    height: 40px;
  }
}

/* .box-media
----------------------------------------------- */
.box-media {
  max-width: 620px;
  margin: 64px auto;
  text-align: center;
}
.box-media_inner {
  position: relative;
  display: flex;
  flex-direction: column-reverse;
  overflow: hidden;
  color: var(--color-font);
  text-decoration: none;
  background-color: var(--color-white);
  border: 2px solid var(--color-sub);
  border-radius: var(--radius);
}
.box-media_inner:hover .box-media_link, .box-media_inner:active .box-media_link, .box-media_inner:focus-visible .box-media_link {
  opacity: var(--opacity-hover);
}
.box-media_inner::before, .box-media_inner::after {
  display: block;
  content: "";
  position: absolute;
}
.box-media_inner::before {
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-sub);
  mask-image: url("/assets/img/icon-mask.svg");
  -webkit-mask-image: url("/assets/img/icon-mask.svg"); /* stylelint-disable-line */
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat; /* stylelint-disable-line */
  mask-size: 268px 268px;
  -webkit-mask-size: 268px 268px; /* stylelint-disable-line */
  mask-position: -120px 10px;
  -webkit-mask-position: -120px 10px; /* stylelint-disable-line */
}
.box-media_inner::after {
  left: 116px;
  top: 165px;
  width: 42px;
  height: 42px;
  background-color: var(--color-main);
  border-radius: 50%;
}
.box-media_img {
  position: relative;
  z-index: 1;
  overflow: hidden;
  height: 157px;
}
.box-media_img > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.box-media_img::after {
  display: block;
  content: "";
  position: absolute;
  width: 100%;
  top: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  background-color: rgba(255, 255, 255, 0.5);
  transition: opacity var(--transition-duration) var(--transition-tf);
}
.box-media_content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  flex: 1;
  justify-content: center;
  padding: 60px 16px 40px;
}
.box-media_content::before {
  display: block;
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
  width: 138px;
  height: 60px;
  background-size: 14px;
  background-image: url("data:image/svg+xml; charset=utf-8, %3csvg%20xmlns%3d%22http%3a%2f%2fwww%2ew3%2eorg%2f2000%2fsvg%22%20viewBox%3d%220%200%2022%2022%22%3e%3ccircle%20cx%3d%2210%2e56%22%20cy%3d%2210%2e97%22%20r%3d%221%2e5%22%20fill%3d%22%2397999B%22%2f%3e%3c%2fsvg%3e");
}
.box-media_content > :last-child {
  margin-bottom: 0;
}
.box-media_title {
  margin-bottom: 18px;
}
.box-media_title > :first-child {
  margin-top: 0;
}
.box-media_title > :last-child {
  margin-bottom: 0;
}
.box-media_title-text {
  margin-bottom: 16px;
  font-size: 2.4rem;
  line-height: 1.4;
}
.box-media_title-sub {
  color: var(--color-main);
  font-size: 1.6rem;
  font-family: var(--font-family-02);
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}
.box-media_text {
  margin-bottom: 16px;
}
.box-media_link {
  position: relative;
  width: fit-content;
  margin: 0 auto;
  padding-left: 22px;
  font-weight: var(--font-weight-bold);
  transition: transform var(--transition-duration) var(--transition-tf);
}
.box-media_link::after {
  display: block;
  content: "";
  position: absolute;
  top: 0.5em;
  left: 0;
  width: 14px;
  height: 14px;
  background: no-repeat center;
  background-image: url("data:image/svg+xml; charset=utf-8, %3csvg%20xmlns%3d%22http%3a%2f%2fwww%2ew3%2eorg%2f2000%2fsvg%22%20viewBox%3d%220%200%2014%2014%22%3e%3cpath%20d%3d%22m7%2e09,1%2e06l6%2e06,6%2e06%2d6%2e06,6%2e06%22%20fill%3d%22none%22%20stroke%3d%22%2397999B%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dlinejoin%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3cline%20x1%3d%221%2e06%22%20y1%3d%227%2e12%22%20x2%3d%2212%2e76%22%20y2%3d%227%2e12%22%20fill%3d%22none%22%20stroke%3d%22%2397999B%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dmiterlimit%3d%2210%22%20stroke%2dwidth%3d%222%22%2f%3e%3c%2fsvg%3e");
}
.box-media_link:hover, .box-media_link:active, .box-media_link:focus-visible {
  color: unset;
}
@media only screen and (min-width: 768px) {
  .box-media {
    max-width: 100%;
  }
  .box-media_inner {
    flex-direction: row-reverse;
    max-height: 366px;
  }
  .box-media_inner::before {
    mask-position: 45% -60px;
    -webkit-mask-position: 45% -60px; /* stylelint-disable-line */
    mask-size: 306px 306px;
    -webkit-mask-size: 306px 306px; /* stylelint-disable-line */
  }
  .box-media_inner::after {
    left: calc(50% + 60px);
    top: 20px;
    width: 72px;
    height: 72px;
  }
  .box-media_content {
    flex: 1;
    padding: 64px 3.75%;
  }
  .box-media_content::before {
    top: 8px;
    width: 182px;
    height: 140px;
    background-size: 22px;
  }
  .box-media_title {
    margin-bottom: 24px;
  }
  .box-media_title-text {
    font-size: 3.2rem;
  }
  .box-media_title .txt-sub {
    font-size: 1.8rem;
  }
  .box-media_text {
    margin-bottom: 32px;
  }
  .box-media_img {
    max-width: 620px;
    height: unset;
    flex: 1;
  }
}

/* .box-toc-anchor
----------------------------------------------- */
.box-toc-anchor {
  padding: 24px 32px;
  border-radius: var(--radius);
  background-color: #F3F3F2;
}
.box-toc-anchor_title {
  margin-bottom: 20px;
  font-size: 1.8rem;
  font-weight: var(--font-weight-bold);
}
.box-toc-anchor_item {
  position: relative;
  display: block;
  margin-top: 12px;
  padding-left: 20px;
  font-size: 1.6rem;
  color: var(--color-black);
  text-decoration: none;
}
.box-toc-anchor_item::after {
  display: block;
  content: "";
  position: absolute;
  top: 0.4em;
  left: -20px;
  margin-left: 20px;
  width: 12px;
  height: 12px;
  background: url("/assets/files/newsroom/own_your_career/all/img/icon-toc-arrow.svg") no-repeat center/contain;
  transform: rotate(90deg);
}
@media only screen and (min-width: 768px) {
  .box-toc-anchor {
    padding: 32px 40px;
  }
  .box-toc-anchor_item {
    margin-top: 8px;
  }
}

/* .box-person
----------------------------------------------- */
.box-person {
  margin-top: 32px;
  padding: 20px 28px;
  border: 2px solid var(--color-sub);
  border-radius: var(--radius);
  background-color: var(--color-white);
}
.box-person_media {
  margin-right: 14px;
  margin-bottom: 20px;
  float: left;
  max-width: 120px;
}
.box-person_item {
  display: contents;
}
.box-person_item-hdg {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 120px;
  margin-bottom: 20px;
  font-size: 2rem;
  font-weight: var(--font-weight-bold);
}
.box-person_item-hdg-sub {
  display: block;
  font-size: 1.6rem;
  font-weight: var(--font-weight);
  color: var(--color-main);
}
.box-person_txt {
  clear: both;
}
.box-person_txt > p {
  margin-bottom: 0;
}
.box-person_txt p + p {
  margin-top: 12px;
}
@media only screen and (min-width: 768px) {
  .box-person {
    margin-top: 40px;
    padding: 28px 36px;
  }
  .box-person_inner {
    display: flex;
    gap: 26px;
  }
  .box-person_media {
    margin-right: 0;
    margin-bottom: 0;
    min-width: 186px;
  }
  .box-person_item {
    display: block;
  }
  .box-person_item-hdg {
    min-height: auto;
    margin-bottom: 0;
  }
  .box-person_txt {
    margin-top: 24px;
  }
  .box-person_txt p + p {
    margin-top: 16px;
  }
}

/* ----------------------------------------------------------------
  Panel (.panel-link-*)
----------------------------------------------------------------- */
/* .panel-link
----------------------------------------------- */
.panel-link_inner {
  position: relative;
  padding-top: calc(var(--col-media-height) / var(--col-media-width) * 100% + 1px);
}
.panel-link_inner > :first-child {
  margin-top: 0;
}
.panel-link_inner > :last-child {
  margin-bottom: 0;
}
.panel-link_item .txt-sub {
  margin: 8px 0 6px;
  font-size: 1rem;
}
.panel-link_item .txt-sub + .icon-label {
  margin-top: 0;
}
.panel-link_item .icon-label {
  margin-top: 12px;
  font-size: 1.4rem;
}
.panel-link_item + .panel-link_title-txt {
  margin-top: 0;
}
.panel-link_title > a {
  color: var(--color-font);
  text-decoration: none;
}
.panel-link_title-txt {
  display: block;
  font-size: 1.4rem;
  font-weight: var(--font-weight-bold);
  margin: 12px 0 0;
}
.panel-link_title-label {
  position: absolute;
  top: -16px;
  left: -6px;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #00BFB3;
  font-size: 1rem;
  color: var(--color-white);
}
.panel-link_title-speaker {
  margin: 14px 0 0;
}
.panel-link_title-media-wrap {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: auto;
  border-radius: var(--radius);
  border: 2px solid var(--color-sub);
  aspect-ratio: var(--col-media-width)/var(--col-media-height);
  object-fit: contain;
  overflow: hidden;
}
.panel-link_title-media-wrap.-no-border {
  border: 2px solid transparent;
}
.panel-link_detail {
  margin: 12px 0;
  font-size: 1rem;
}
.panel-link_detail-period {
  margin-bottom: 0;
}
.panel-link_detail-spot {
  position: relative;
  display: block;
  margin-top: 8px;
  margin-bottom: 0;
  padding-left: 16px;
}
.panel-link_detail-spot::before {
  display: block;
  content: "";
  position: absolute;
  top: 1px;
  left: 0;
  width: 14px;
  height: 14.2px;
  background: url("/assets/img/icon-point.svg") no-repeat center/contain;
}
.panel-link_desc {
  margin-top: 12px;
  margin-bottom: 0;
  font-size: 1.2rem;
}
.panel-link_btn {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 16px;
}
.panel-link_btn .btn {
  margin: 0;
}
.panel-link .link {
  margin-top: 16px;
}
.panel-link:last-child {
  margin-bottom: 0;
}
.content-corp-area-award .panel-link {
  margin-top: 0;
}
.content-miva-area .panel-link {
  margin-top: 0;
}
.panel-link.-link a {
  color: var(--color-font);
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .panel-link.-link .panel-link_inner:nth-child(2) {
    margin-top: 80px;
  }
}
@media only screen and (min-width: 768px) {
  .panel-link.-link .panel-link_inner:nth-child(2n+1) {
    margin-top: -80px;
  }
}
@media only screen and (min-width: 768px) {
  .panel-link_item .txt-sub {
    margin: 15px 0 8px;
    font-size: 1.2rem;
  }
  .panel-link_item .icon-label {
    margin-top: 16px;
    font-size: 1.4rem;
  }
  .panel-link_title-txt {
    margin-top: 16px;
    font-size: 1.8rem;
  }
  .panel-link_title-label {
    top: -25px;
    left: -14px;
    width: 54px;
    height: 54px;
    font-size: 1.2rem;
  }
  .panel-link_title-speaker {
    margin: 16px 0 0;
  }
  .panel-link_detail {
    margin: 16px 0;
    font-size: 1.2rem;
  }
  .panel-link_detail-spot::before {
    top: 3px;
  }
  .panel-link_desc {
    margin-top: 16px;
    font-size: 1.6rem;
  }
}
.panel-link.layout.-col2 {
  --col-media-width: 580;
  --col-media-height: 400;
}
.panel-link.layout.-col2 .panel-link_title-txt {
  margin-top: 16px;
  font-size: 2rem;
  font-weight: var(--font-weight);
}
.panel-link.layout.-col2 .panel-link_desc {
  margin-top: 14px;
  font-size: 1.6rem;
}
.panel-link.layout.-col3 {
  --col-media-width: 392;
  --col-media-height: 200;
}
.panel-link.layout.-col3 .panel-link_title-txt,
.panel-link.layout.-col3 .panel-link_desc {
  margin-top: 14px;
  font-size: 1.6rem;
}
@media only screen and (min-width: 768px) {
  .panel-link.layout.-col3 {
    gap: 48px;
  }
  .panel-link.layout.-col3 .panel-link_title-txt,
  .panel-link.layout.-col3 .panel-link_desc {
    margin-top: 16px;
  }
}
.panel-link.layout.-col3 .icon-label {
  margin-top: 16px;
}
.panel-link.layout.-col3 .icon-label_item {
  padding: 4px 13px;
  border-radius: 6px;
  font-size: 1.4rem;
}
.panel-link.layout.-col4 {
  --col-media-width: 286;
  --col-media-height: 183;
}

/* .box-media-link
----------------------------------------------- */
.box-media-link {
  display: flex;
  flex-direction: column;
  margin: 32px 0;
  gap: 24px;
}
.box-media-link.newsroom-media {
  margin-bottom: 56px;
}
.box-media-link_item {
  display: block;
  padding: 14px 14px 22px;
  height: 100%;
  border: 2px solid var(--color-sub);
  border-radius: var(--radius);
  background-color: var(--color-white);
  color: var(--color-font);
  transition: var(--transition-duration) var(--transition-tf);
  text-decoration: none;
}
.box-media-link_item:hover, .box-media-link_item:active, .box-media-link_item:focus-visible {
  opacity: 1;
  background-color: var(--color-btn-hover);
}
.box-media-link .txt-sub {
  display: block;
  margin-bottom: 16px;
  font-size: 1rem;
}
.box-media-link .icon-label {
  font-size: 1rem;
}
.box-media-link_title {
  position: relative;
  display: block;
  padding-left: 18px;
  font-size: 1.4rem;
  font-weight: var(--font-weight-bold);
  margin: 0;
  margin-top: 16px;
}
.box-media-link_title::before {
  display: block;
  content: "";
  position: absolute;
  top: 0.4em;
  left: 0;
  width: 14px;
  height: 14px;
  background: url("/assets/img/icon-arrow-bold.svg") no-repeat center/contain;
}
@media only screen and (min-width: 768px) {
  .box-media-link {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
    margin-bottom: 48px;
  }
  .box-media-link_item {
    padding: 32px 24px;
  }
  .box-media-link .txt-sub, .box-media-link .icon-label {
    font-size: 1.4rem;
  }
  .box-media-link_title {
    font-size: 1.6rem;
  }
  .box-media-link_title::before {
    top: 0.5em;
  }
}

/* .panel-link-02
----------------------------------------------- */
.panel-link-02 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column-reverse;
  gap: 8px;
  background-color: var(--color-white);
  border: 2px solid var(--color-sub);
  border-radius: 20px;
  padding: 20px 24px 24px;
  transition: background-color var(--transition-duration) var(--transition-tf);
}
.panel-link-02:hover, .panel-link-02:active, .panel-link-02:focus-visible {
  opacity: 1;
  background-color: var(--color-btn-hover);
}
.panel-link-02::after {
  display: block;
  content: "";
  position: absolute;
  z-index: 1;
  right: 12px;
  bottom: 12px;
  width: 14px;
  height: 14px;
  background: no-repeat center;
  background-image: url("data:image/svg+xml; charset=utf-8, %3csvg%20xmlns%3d%22http%3a%2f%2fwww%2ew3%2eorg%2f2000%2fsvg%22%20viewBox%3d%220%200%2014%2014%22%3e%3cpath%20d%3d%22m7%2e09,1%2e06l6%2e06,6%2e06%2d6%2e06,6%2e06%22%20fill%3d%22none%22%20stroke%3d%22%2397999B%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dlinejoin%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3cline%20x1%3d%221%2e06%22%20y1%3d%227%2e12%22%20x2%3d%2212%2e76%22%20y2%3d%227%2e12%22%20fill%3d%22none%22%20stroke%3d%22%2397999B%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dmiterlimit%3d%2210%22%20stroke%2dwidth%3d%222%22%2f%3e%3c%2fsvg%3e");
}
.panel-link-02_txt {
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .panel-link-02 {
    gap: 16px;
    padding: 32px 40px;
  }
  .panel-link-02::after {
    right: 16px;
    bottom: 16px;
  }
}

/* .panel-link-03
----------------------------------------------- */
.panel-link-03 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: center;
  gap: 16px;
  text-decoration: none;
}
.panel-link-03_content {
  display: flex;
  align-items: center;
  height: 100%;
  border-bottom: 1px solid var(--color-sub);
  order: 1;
}
.panel-link-03_content > :first-child {
  margin-top: 0;
}
.panel-link-03_content > :last-child {
  margin-bottom: 0;
}
.panel-link-03_media {
  margin: 0;
}
.panel-link-03_media img {
  aspect-ratio: 274/137;
  object-fit: cover;
}
@media only screen and (min-width: 768px) {
  .panel-link-03 {
    margin: 48px 0;
  }
  .panel-link-03_item .txt-sub {
    margin: 15px 0 8px;
    font-size: 1.2rem;
  }
  .panel-link-03_item .icon-label {
    margin-top: 16px;
  }
  .panel-link-03_title-txt {
    margin-top: 16px;
    font-size: 1.8rem;
  }
  .panel-link-03_title-icon {
    top: 10px;
    width: 17px;
    height: 14px;
  }
  .panel-link-03_title-label {
    top: -25px;
    left: -14px;
    width: 54px;
    height: 54px;
    font-size: 1.2rem;
  }
  .panel-link-03_title-speaker {
    margin: 16px 0 0;
  }
  .panel-link-03_detail {
    margin: 16px 0;
    font-size: 1.2rem;
  }
  .panel-link-03_detail-spot::before {
    top: 3px;
  }
  .panel-link-03_desc {
    margin-top: 16px;
    font-size: 1.6rem;
  }
}

/* ----------------------------------------------------------------
  Table (.table-*)
----------------------------------------------------------------- */
/* .table
----------------------------------------------- */
.table {
  width: 100%;
  text-align: left;
  margin-bottom: 32px;
}
.table thead tr {
  border-left: 1px solid var(--color-sub);
  background-color: var(--color-sub);
}
.table thead tr th {
  padding: 13px 8px 12px;
  border-left: 1px solid var(--color-white);
}
.table tbody tr {
  border: 1px solid var(--color-sub);
}
.table tbody tr th {
  padding: 10px 9px;
  background-color: var(--color-light-gray);
}
.table tbody tr td {
  padding: 9px 8px;
  border-left: 1px solid var(--color-sub);
  background-color: var(--color-white);
}
.table > caption {
  margin: 8px 0 24px;
  font-size: 1.2rem;
  text-align: left;
  caption-side: bottom;
}
@media only screen and (min-width: 768px) {
  .table {
    margin-bottom: 40px;
  }
  .table thead tr th,
  .table tbody tr th,
  .table tbody tr td {
    padding: 10px 16px;
  }
  .table > caption {
    font-size: 1.4rem;
  }
}

/* ----------------------------------------------------------------
    Scroll
----------------------------------------------------------------- */
/* .fn-scroll
----------------------------------------------- */
.fn-scroll__wrapper {
  position: relative;
  margin-bottom: 32px;
}
.fn-scroll__icon {
  position: absolute;
  top: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: auto;
  max-width: 104px;
  height: 68px;
  border-radius: 20px 0 0 20px;
  transition: opacity 0.3s ease-in-out;
  pointer-events: none;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}
.fn-scroll__icon.is-hidden {
  opacity: 0;
}
.fn-scroll__icon > img {
  width: 100%;
}
.fn-scroll__inner {
  overflow-x: auto;
}
.fn-scroll__inner > .table {
  width: 1200px;
  margin-bottom: 0;
}
.fn-scroll__inner > .table > caption {
  margin-bottom: 0;
}
.fn-scroll__inner > .media {
  width: 821px;
}
@media only screen and (min-width: 768px) {
  .fn-scroll__wrapper {
    margin-bottom: 40px;
  }
  .fn-scroll__inner {
    overflow: hidden;
  }
  .fn-scroll__inner > .table {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .fn-scroll__icon {
    display: none;
  }
}

/* .table-history
----------------------------------------------- */
.table-history th,
.table-history td {
  vertical-align: top;
}
.table-history th {
  text-align: right;
  color: var(--color-main);
  border-right: 2px solid var(--color-sub);
  white-space: nowrap;
  padding: 10px 15px 10px 0;
}
.table-history td {
  padding: 10px 0 10px 15px;
}
@media only screen and (min-width: 768px) {
  .table-history th {
    padding: 20px 50px 20px 0;
  }
  .table-history td {
    padding: 20px 0 20px 50px;
  }
}

/* ----------------------------------------------------------------
  Toggle (.toggle-*)
----------------------------------------------------------------- */
/* .toggle
----------------------------------------------- */
.toggle {
  margin-top: 32px;
  margin-bottom: 56px;
  overflow: hidden;
}
.toggle + .toggle {
  margin-top: 0;
}
.toggle.is-open > summary::after {
  transform: none;
}
.toggle_content {
  background-color: var(--color-toggle-bg);
  padding: 20px 16px;
}
.toggle_content > :first-child {
  margin-top: 0;
}
.toggle_content > :last-child {
  margin-bottom: 0;
}
.toggle_content > .toggle {
  margin-top: 24px;
  margin-bottom: 0;
}
.toggle_content > .toggle + .toggle {
  margin-top: 0;
}
.toggle_content > .toggle .toggle_content {
  background-color: var(--color-white);
}
.toggle > summary {
  position: relative;
  display: block;
  background-color: var(--color-white);
  border-top: 1px solid var(--color-sub);
  padding: 24px 33.5px 24px 21.5px;
  font-size: 1.8rem;
  font-weight: var(--font-weight-bold);
  text-align: center;
  cursor: pointer;
  border-bottom: 1px solid var(--color-sub);
}
.toggle > summary::before, .toggle > summary::after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 22px;
  margin: auto;
  width: 12px;
  height: 2px;
  border-radius: 1em;
  background-color: var(--color-main);
}
.toggle > summary::after {
  transform: rotate(90deg);
}
@media only screen and (min-width: 768px) {
  .toggle {
    margin-top: 48px;
    margin-bottom: 24px;
  }
  .toggle_content {
    padding: 24px;
  }
  .toggle_content > .toggle {
    margin-top: 32px;
  }
}

/* .accordion
----------------------------------------------- */
.accordion {
  position: relative;
}
.accordion_list {
  display: flex;
  flex-direction: column;
  border: 2px solid var(--color-sub);
  border-radius: 20px;
  margin-top: 32px;
  overflow: hidden;
}
.accordion_item {
  padding-inline: 24px;
  overflow: hidden;
}
.accordion_item + .accordion_item .accordion_btn {
  border-top: 2px dashed var(--color-sub);
}
.accordion_item[open] + .accordion_item .accordion_btn {
  border-top: none;
}
.accordion_item[open] .accordion_btn-toggle > span::before {
  opacity: 0;
}
.accordion_item.is-open .accordion_panel {
  z-index: 1;
}
.accordion_btn {
  position: relative;
  text-align: center;
  padding-block: 24px;
}
.accordion_btn-hdg {
  display: block;
  margin-bottom: 12px;
  font-size: 1.6rem;
}
.accordion_btn-media {
  display: block;
  margin: 0 auto 24px;
  width: 182px;
  height: 144px;
}
.accordion_btn-txt {
  display: block;
  margin-bottom: 24px;
  font-size: 1.6rem;
  line-height: 2.25;
}
.accordion_btn-toggle {
  display: block;
  font-weight: var(--font-weight-bold);
  margin: auto;
  cursor: pointer;
}
.accordion_btn-toggle > span {
  position: relative;
  padding-left: 22px;
}
.accordion_btn-toggle > span::before, .accordion_btn-toggle > span::after {
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  width: 14px;
  height: 2px;
  border-radius: 0.1em;
  background-color: var(--color-main);
  translate: 0 -50%;
}
.accordion_btn-toggle > span::before {
  rotate: 90deg;
}
.accordion_panel {
  position: relative;
  width: calc(100% + 48px);
  padding: 60px 30px 40px;
  margin-left: -24px;
  background-color: var(--color-light-gray);
}
.accordion_panel > :first-child {
  margin-top: 0;
}
.accordion_panel > :last-child {
  margin-bottom: 0;
}
.accordion_panel::before {
  position: absolute;
  content: "";
  top: -1px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 68px;
  height: 28px;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  background-color: var(--color-white);
  z-index: 2;
}
.accordion_panel-hdg {
  font-size: 1.6rem;
  font-weight: var(--font-weight-bold);
  text-align: center;
}
.accordion_panel-txt {
  margin-bottom: 24px;
}
@media only screen and (min-width: 768px) {
  .accordion_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: flex-start;
    background-color: var(--color-white);
    margin-top: 40px;
  }
  .accordion_item {
    overflow: initial;
    padding-inline: 0;
  }
  .accordion_item + .accordion_item .accordion_btn {
    border: none;
  }
  .accordion_item + .accordion_item .accordion_btn .accordion_btn-inner {
    border-left: 1px dashed var(--color-sub);
  }
  .accordion_item:nth-child(2) .accordion_panel {
    margin-left: -100%;
  }
  .accordion_item:nth-child(3) .accordion_panel {
    margin-left: -200%;
  }
  .accordion_item:nth-child(3) .accordion_btn {
    border-radius: 0 20px 0 0;
  }
  .accordion_btn {
    border-bottom: none;
    padding-block: 32px;
  }
  .accordion_btn-inner {
    display: grid;
    align-items: center;
    padding-inline: 40px;
  }
  .accordion_btn-hdg {
    font-size: 1.8rem;
    margin-bottom: 16px;
  }
  .accordion_btn-media {
    width: 154px;
    height: 141px;
  }
  .accordion_btn-toggle > span {
    padding-left: 22px;
  }
  .accordion_btn-toggle > span::before, .accordion_btn-toggle > span::after {
    width: 14px;
  }
  .accordion_panel {
    width: calc(100vw - (100vw - 300%));
    border-radius: 0 0 20px 20px;
    padding: 60px 40px 40px;
    margin-left: 0;
  }
  .accordion_panel-hdg {
    font-size: 1.8rem;
  }
  .accordion_panel-txt {
    margin-bottom: 32px;
  }
}

/* ----------------------------------------------------------------
  Adjust
----------------------------------------------------------------- */
/* .adj-*
----------------------------------------------- */
.adj-left {
  text-align: left !important;
}
.adj-center {
  text-align: center !important;
  justify-content: center !important;
}
.adj-right {
  text-align: right !important;
}
.adj-top {
  vertical-align: top !important;
}
.adj-middle {
  vertical-align: middle !important;
  align-items: center !important;
}
.adj-bottom {
  vertical-align: bottom !important;
}
.adj-block {
  display: block !important;
}
@media only screen and (min-width: 768px) {
  .adj-block-pc {
    display: block !important;
  }
}
@media only screen and (max-width: 767.9px) {
  .adj-block-sp {
    display: block !important;
  }
}
.adj-link-right {
  display: flex !important;
  justify-content: flex-end !important;
}
.adj-caption-top {
  caption-side: top !important;
  margin: 24px 0 8px !important;
}

.adj-m-auto {
  margin: auto !important;
}

.adj-mt-0 {
  margin-top: 0px !important;
}

.adj-ml-0 {
  margin-left: 0px !important;
}

.adj-mb-0 {
  margin-bottom: 0px !important;
}

.adj-mr-0 {
  margin-right: 0px !important;
}

.adj-mt-4 {
  margin-top: 4px !important;
}

.adj-ml-4 {
  margin-left: 4px !important;
}

.adj-mb-4 {
  margin-bottom: 4px !important;
}

.adj-mr-4 {
  margin-right: 4px !important;
}

.adj-mt-8 {
  margin-top: 8px !important;
}

.adj-ml-8 {
  margin-left: 8px !important;
}

.adj-mb-8 {
  margin-bottom: 8px !important;
}

.adj-mr-8 {
  margin-right: 8px !important;
}

.adj-mt-12 {
  margin-top: 12px !important;
}

.adj-ml-12 {
  margin-left: 12px !important;
}

.adj-mb-12 {
  margin-bottom: 12px !important;
}

.adj-mr-12 {
  margin-right: 12px !important;
}

.adj-mt-16 {
  margin-top: 16px !important;
}

.adj-ml-16 {
  margin-left: 16px !important;
}

.adj-mb-16 {
  margin-bottom: 16px !important;
}

.adj-mr-16 {
  margin-right: 16px !important;
}

.adj-mt-20 {
  margin-top: 20px !important;
}

.adj-ml-20 {
  margin-left: 20px !important;
}

.adj-mb-20 {
  margin-bottom: 20px !important;
}

.adj-mr-20 {
  margin-right: 20px !important;
}

.adj-mt-24 {
  margin-top: 24px !important;
}

.adj-ml-24 {
  margin-left: 24px !important;
}

.adj-mb-24 {
  margin-bottom: 24px !important;
}

.adj-mr-24 {
  margin-right: 24px !important;
}

.adj-mt-28 {
  margin-top: 28px !important;
}

.adj-ml-28 {
  margin-left: 28px !important;
}

.adj-mb-28 {
  margin-bottom: 28px !important;
}

.adj-mr-28 {
  margin-right: 28px !important;
}

.adj-mt-32 {
  margin-top: 32px !important;
}

.adj-ml-32 {
  margin-left: 32px !important;
}

.adj-mb-32 {
  margin-bottom: 32px !important;
}

.adj-mr-32 {
  margin-right: 32px !important;
}

.adj-mt-36 {
  margin-top: 36px !important;
}

.adj-ml-36 {
  margin-left: 36px !important;
}

.adj-mb-36 {
  margin-bottom: 36px !important;
}

.adj-mr-36 {
  margin-right: 36px !important;
}

.adj-mt-40 {
  margin-top: 40px !important;
}

.adj-ml-40 {
  margin-left: 40px !important;
}

.adj-mb-40 {
  margin-bottom: 40px !important;
}

.adj-mr-40 {
  margin-right: 40px !important;
}

.adj-mt-44 {
  margin-top: 44px !important;
}

.adj-ml-44 {
  margin-left: 44px !important;
}

.adj-mb-44 {
  margin-bottom: 44px !important;
}

.adj-mr-44 {
  margin-right: 44px !important;
}

.adj-mt-48 {
  margin-top: 48px !important;
}

.adj-ml-48 {
  margin-left: 48px !important;
}

.adj-mb-48 {
  margin-bottom: 48px !important;
}

.adj-mr-48 {
  margin-right: 48px !important;
}

.adj-mt-52 {
  margin-top: 52px !important;
}

.adj-ml-52 {
  margin-left: 52px !important;
}

.adj-mb-52 {
  margin-bottom: 52px !important;
}

.adj-mr-52 {
  margin-right: 52px !important;
}

.adj-mt-56 {
  margin-top: 56px !important;
}

.adj-ml-56 {
  margin-left: 56px !important;
}

.adj-mb-56 {
  margin-bottom: 56px !important;
}

.adj-mr-56 {
  margin-right: 56px !important;
}

.adj-mt-60 {
  margin-top: 60px !important;
}

.adj-ml-60 {
  margin-left: 60px !important;
}

.adj-mb-60 {
  margin-bottom: 60px !important;
}

.adj-mr-60 {
  margin-right: 60px !important;
}

.adj-mt-64 {
  margin-top: 64px !important;
}

.adj-ml-64 {
  margin-left: 64px !important;
}

.adj-mb-64 {
  margin-bottom: 64px !important;
}

.adj-mr-64 {
  margin-right: 64px !important;
}

.adj-mt-68 {
  margin-top: 68px !important;
}

.adj-ml-68 {
  margin-left: 68px !important;
}

.adj-mb-68 {
  margin-bottom: 68px !important;
}

.adj-mr-68 {
  margin-right: 68px !important;
}

.adj-mt-72 {
  margin-top: 72px !important;
}

.adj-ml-72 {
  margin-left: 72px !important;
}

.adj-mb-72 {
  margin-bottom: 72px !important;
}

.adj-mr-72 {
  margin-right: 72px !important;
}

.adj-mt-76 {
  margin-top: 76px !important;
}

.adj-ml-76 {
  margin-left: 76px !important;
}

.adj-mb-76 {
  margin-bottom: 76px !important;
}

.adj-mr-76 {
  margin-right: 76px !important;
}

.adj-mt-80 {
  margin-top: 80px !important;
}

.adj-ml-80 {
  margin-left: 80px !important;
}

.adj-mb-80 {
  margin-bottom: 80px !important;
}

.adj-mr-80 {
  margin-right: 80px !important;
}

.adj-mt-84 {
  margin-top: 84px !important;
}

.adj-ml-84 {
  margin-left: 84px !important;
}

.adj-mb-84 {
  margin-bottom: 84px !important;
}

.adj-mr-84 {
  margin-right: 84px !important;
}

.adj-mt-88 {
  margin-top: 88px !important;
}

.adj-ml-88 {
  margin-left: 88px !important;
}

.adj-mb-88 {
  margin-bottom: 88px !important;
}

.adj-mr-88 {
  margin-right: 88px !important;
}

.adj-mt-92 {
  margin-top: 92px !important;
}

.adj-ml-92 {
  margin-left: 92px !important;
}

.adj-mb-92 {
  margin-bottom: 92px !important;
}

.adj-mr-92 {
  margin-right: 92px !important;
}

.adj-mt-96 {
  margin-top: 96px !important;
}

.adj-ml-96 {
  margin-left: 96px !important;
}

.adj-mb-96 {
  margin-bottom: 96px !important;
}

.adj-mr-96 {
  margin-right: 96px !important;
}

.adj-mt-100 {
  margin-top: 100px !important;
}

.adj-ml-100 {
  margin-left: 100px !important;
}

.adj-mb-100 {
  margin-bottom: 100px !important;
}

.adj-mr-100 {
  margin-right: 100px !important;
}

@media only screen and (max-width: 767.9px) {
  .adj-sp-m-auto {
    margin: auto !important;
  }
  .adj-sp-mt-0 {
    margin-top: 0px !important;
  }
  .adj-sp-ml-0 {
    margin-left: 0px !important;
  }
  .adj-sp-mb-0 {
    margin-bottom: 0px !important;
  }
  .adj-sp-mr-0 {
    margin-right: 0px !important;
  }
  .adj-sp-mt-4 {
    margin-top: 4px !important;
  }
  .adj-sp-ml-4 {
    margin-left: 4px !important;
  }
  .adj-sp-mb-4 {
    margin-bottom: 4px !important;
  }
  .adj-sp-mr-4 {
    margin-right: 4px !important;
  }
  .adj-sp-mt-8 {
    margin-top: 8px !important;
  }
  .adj-sp-ml-8 {
    margin-left: 8px !important;
  }
  .adj-sp-mb-8 {
    margin-bottom: 8px !important;
  }
  .adj-sp-mr-8 {
    margin-right: 8px !important;
  }
  .adj-sp-mt-12 {
    margin-top: 12px !important;
  }
  .adj-sp-ml-12 {
    margin-left: 12px !important;
  }
  .adj-sp-mb-12 {
    margin-bottom: 12px !important;
  }
  .adj-sp-mr-12 {
    margin-right: 12px !important;
  }
  .adj-sp-mt-16 {
    margin-top: 16px !important;
  }
  .adj-sp-ml-16 {
    margin-left: 16px !important;
  }
  .adj-sp-mb-16 {
    margin-bottom: 16px !important;
  }
  .adj-sp-mr-16 {
    margin-right: 16px !important;
  }
  .adj-sp-mt-20 {
    margin-top: 20px !important;
  }
  .adj-sp-ml-20 {
    margin-left: 20px !important;
  }
  .adj-sp-mb-20 {
    margin-bottom: 20px !important;
  }
  .adj-sp-mr-20 {
    margin-right: 20px !important;
  }
  .adj-sp-mt-24 {
    margin-top: 24px !important;
  }
  .adj-sp-ml-24 {
    margin-left: 24px !important;
  }
  .adj-sp-mb-24 {
    margin-bottom: 24px !important;
  }
  .adj-sp-mr-24 {
    margin-right: 24px !important;
  }
  .adj-sp-mt-28 {
    margin-top: 28px !important;
  }
  .adj-sp-ml-28 {
    margin-left: 28px !important;
  }
  .adj-sp-mb-28 {
    margin-bottom: 28px !important;
  }
  .adj-sp-mr-28 {
    margin-right: 28px !important;
  }
  .adj-sp-mt-32 {
    margin-top: 32px !important;
  }
  .adj-sp-ml-32 {
    margin-left: 32px !important;
  }
  .adj-sp-mb-32 {
    margin-bottom: 32px !important;
  }
  .adj-sp-mr-32 {
    margin-right: 32px !important;
  }
  .adj-sp-mt-36 {
    margin-top: 36px !important;
  }
  .adj-sp-ml-36 {
    margin-left: 36px !important;
  }
  .adj-sp-mb-36 {
    margin-bottom: 36px !important;
  }
  .adj-sp-mr-36 {
    margin-right: 36px !important;
  }
  .adj-sp-mt-40 {
    margin-top: 40px !important;
  }
  .adj-sp-ml-40 {
    margin-left: 40px !important;
  }
  .adj-sp-mb-40 {
    margin-bottom: 40px !important;
  }
  .adj-sp-mr-40 {
    margin-right: 40px !important;
  }
  .adj-sp-mt-44 {
    margin-top: 44px !important;
  }
  .adj-sp-ml-44 {
    margin-left: 44px !important;
  }
  .adj-sp-mb-44 {
    margin-bottom: 44px !important;
  }
  .adj-sp-mr-44 {
    margin-right: 44px !important;
  }
  .adj-sp-mt-48 {
    margin-top: 48px !important;
  }
  .adj-sp-ml-48 {
    margin-left: 48px !important;
  }
  .adj-sp-mb-48 {
    margin-bottom: 48px !important;
  }
  .adj-sp-mr-48 {
    margin-right: 48px !important;
  }
  .adj-sp-mt-52 {
    margin-top: 52px !important;
  }
  .adj-sp-ml-52 {
    margin-left: 52px !important;
  }
  .adj-sp-mb-52 {
    margin-bottom: 52px !important;
  }
  .adj-sp-mr-52 {
    margin-right: 52px !important;
  }
  .adj-sp-mt-56 {
    margin-top: 56px !important;
  }
  .adj-sp-ml-56 {
    margin-left: 56px !important;
  }
  .adj-sp-mb-56 {
    margin-bottom: 56px !important;
  }
  .adj-sp-mr-56 {
    margin-right: 56px !important;
  }
  .adj-sp-mt-60 {
    margin-top: 60px !important;
  }
  .adj-sp-ml-60 {
    margin-left: 60px !important;
  }
  .adj-sp-mb-60 {
    margin-bottom: 60px !important;
  }
  .adj-sp-mr-60 {
    margin-right: 60px !important;
  }
  .adj-sp-mt-64 {
    margin-top: 64px !important;
  }
  .adj-sp-ml-64 {
    margin-left: 64px !important;
  }
  .adj-sp-mb-64 {
    margin-bottom: 64px !important;
  }
  .adj-sp-mr-64 {
    margin-right: 64px !important;
  }
  .adj-sp-mt-68 {
    margin-top: 68px !important;
  }
  .adj-sp-ml-68 {
    margin-left: 68px !important;
  }
  .adj-sp-mb-68 {
    margin-bottom: 68px !important;
  }
  .adj-sp-mr-68 {
    margin-right: 68px !important;
  }
  .adj-sp-mt-72 {
    margin-top: 72px !important;
  }
  .adj-sp-ml-72 {
    margin-left: 72px !important;
  }
  .adj-sp-mb-72 {
    margin-bottom: 72px !important;
  }
  .adj-sp-mr-72 {
    margin-right: 72px !important;
  }
  .adj-sp-mt-76 {
    margin-top: 76px !important;
  }
  .adj-sp-ml-76 {
    margin-left: 76px !important;
  }
  .adj-sp-mb-76 {
    margin-bottom: 76px !important;
  }
  .adj-sp-mr-76 {
    margin-right: 76px !important;
  }
  .adj-sp-mt-80 {
    margin-top: 80px !important;
  }
  .adj-sp-ml-80 {
    margin-left: 80px !important;
  }
  .adj-sp-mb-80 {
    margin-bottom: 80px !important;
  }
  .adj-sp-mr-80 {
    margin-right: 80px !important;
  }
  .adj-sp-mt-84 {
    margin-top: 84px !important;
  }
  .adj-sp-ml-84 {
    margin-left: 84px !important;
  }
  .adj-sp-mb-84 {
    margin-bottom: 84px !important;
  }
  .adj-sp-mr-84 {
    margin-right: 84px !important;
  }
  .adj-sp-mt-88 {
    margin-top: 88px !important;
  }
  .adj-sp-ml-88 {
    margin-left: 88px !important;
  }
  .adj-sp-mb-88 {
    margin-bottom: 88px !important;
  }
  .adj-sp-mr-88 {
    margin-right: 88px !important;
  }
  .adj-sp-mt-92 {
    margin-top: 92px !important;
  }
  .adj-sp-ml-92 {
    margin-left: 92px !important;
  }
  .adj-sp-mb-92 {
    margin-bottom: 92px !important;
  }
  .adj-sp-mr-92 {
    margin-right: 92px !important;
  }
  .adj-sp-mt-96 {
    margin-top: 96px !important;
  }
  .adj-sp-ml-96 {
    margin-left: 96px !important;
  }
  .adj-sp-mb-96 {
    margin-bottom: 96px !important;
  }
  .adj-sp-mr-96 {
    margin-right: 96px !important;
  }
  .adj-sp-mt-100 {
    margin-top: 100px !important;
  }
  .adj-sp-ml-100 {
    margin-left: 100px !important;
  }
  .adj-sp-mb-100 {
    margin-bottom: 100px !important;
  }
  .adj-sp-mr-100 {
    margin-right: 100px !important;
  }
}
@media only screen and (min-width: 768px) {
  .adj-pc-m-auto {
    margin: auto !important;
  }
  .adj-pc-mt-0 {
    margin-top: 0px !important;
  }
  .adj-pc-ml-0 {
    margin-left: 0px !important;
  }
  .adj-pc-mb-0 {
    margin-bottom: 0px !important;
  }
  .adj-pc-mr-0 {
    margin-right: 0px !important;
  }
  .adj-pc-mt-4 {
    margin-top: 4px !important;
  }
  .adj-pc-ml-4 {
    margin-left: 4px !important;
  }
  .adj-pc-mb-4 {
    margin-bottom: 4px !important;
  }
  .adj-pc-mr-4 {
    margin-right: 4px !important;
  }
  .adj-pc-mt-8 {
    margin-top: 8px !important;
  }
  .adj-pc-ml-8 {
    margin-left: 8px !important;
  }
  .adj-pc-mb-8 {
    margin-bottom: 8px !important;
  }
  .adj-pc-mr-8 {
    margin-right: 8px !important;
  }
  .adj-pc-mt-12 {
    margin-top: 12px !important;
  }
  .adj-pc-ml-12 {
    margin-left: 12px !important;
  }
  .adj-pc-mb-12 {
    margin-bottom: 12px !important;
  }
  .adj-pc-mr-12 {
    margin-right: 12px !important;
  }
  .adj-pc-mt-16 {
    margin-top: 16px !important;
  }
  .adj-pc-ml-16 {
    margin-left: 16px !important;
  }
  .adj-pc-mb-16 {
    margin-bottom: 16px !important;
  }
  .adj-pc-mr-16 {
    margin-right: 16px !important;
  }
  .adj-pc-mt-20 {
    margin-top: 20px !important;
  }
  .adj-pc-ml-20 {
    margin-left: 20px !important;
  }
  .adj-pc-mb-20 {
    margin-bottom: 20px !important;
  }
  .adj-pc-mr-20 {
    margin-right: 20px !important;
  }
  .adj-pc-mt-24 {
    margin-top: 24px !important;
  }
  .adj-pc-ml-24 {
    margin-left: 24px !important;
  }
  .adj-pc-mb-24 {
    margin-bottom: 24px !important;
  }
  .adj-pc-mr-24 {
    margin-right: 24px !important;
  }
  .adj-pc-mt-28 {
    margin-top: 28px !important;
  }
  .adj-pc-ml-28 {
    margin-left: 28px !important;
  }
  .adj-pc-mb-28 {
    margin-bottom: 28px !important;
  }
  .adj-pc-mr-28 {
    margin-right: 28px !important;
  }
  .adj-pc-mt-32 {
    margin-top: 32px !important;
  }
  .adj-pc-ml-32 {
    margin-left: 32px !important;
  }
  .adj-pc-mb-32 {
    margin-bottom: 32px !important;
  }
  .adj-pc-mr-32 {
    margin-right: 32px !important;
  }
  .adj-pc-mt-36 {
    margin-top: 36px !important;
  }
  .adj-pc-ml-36 {
    margin-left: 36px !important;
  }
  .adj-pc-mb-36 {
    margin-bottom: 36px !important;
  }
  .adj-pc-mr-36 {
    margin-right: 36px !important;
  }
  .adj-pc-mt-40 {
    margin-top: 40px !important;
  }
  .adj-pc-ml-40 {
    margin-left: 40px !important;
  }
  .adj-pc-mb-40 {
    margin-bottom: 40px !important;
  }
  .adj-pc-mr-40 {
    margin-right: 40px !important;
  }
  .adj-pc-mt-44 {
    margin-top: 44px !important;
  }
  .adj-pc-ml-44 {
    margin-left: 44px !important;
  }
  .adj-pc-mb-44 {
    margin-bottom: 44px !important;
  }
  .adj-pc-mr-44 {
    margin-right: 44px !important;
  }
  .adj-pc-mt-48 {
    margin-top: 48px !important;
  }
  .adj-pc-ml-48 {
    margin-left: 48px !important;
  }
  .adj-pc-mb-48 {
    margin-bottom: 48px !important;
  }
  .adj-pc-mr-48 {
    margin-right: 48px !important;
  }
  .adj-pc-mt-52 {
    margin-top: 52px !important;
  }
  .adj-pc-ml-52 {
    margin-left: 52px !important;
  }
  .adj-pc-mb-52 {
    margin-bottom: 52px !important;
  }
  .adj-pc-mr-52 {
    margin-right: 52px !important;
  }
  .adj-pc-mt-56 {
    margin-top: 56px !important;
  }
  .adj-pc-ml-56 {
    margin-left: 56px !important;
  }
  .adj-pc-mb-56 {
    margin-bottom: 56px !important;
  }
  .adj-pc-mr-56 {
    margin-right: 56px !important;
  }
  .adj-pc-mt-60 {
    margin-top: 60px !important;
  }
  .adj-pc-ml-60 {
    margin-left: 60px !important;
  }
  .adj-pc-mb-60 {
    margin-bottom: 60px !important;
  }
  .adj-pc-mr-60 {
    margin-right: 60px !important;
  }
  .adj-pc-mt-64 {
    margin-top: 64px !important;
  }
  .adj-pc-ml-64 {
    margin-left: 64px !important;
  }
  .adj-pc-mb-64 {
    margin-bottom: 64px !important;
  }
  .adj-pc-mr-64 {
    margin-right: 64px !important;
  }
  .adj-pc-mt-68 {
    margin-top: 68px !important;
  }
  .adj-pc-ml-68 {
    margin-left: 68px !important;
  }
  .adj-pc-mb-68 {
    margin-bottom: 68px !important;
  }
  .adj-pc-mr-68 {
    margin-right: 68px !important;
  }
  .adj-pc-mt-72 {
    margin-top: 72px !important;
  }
  .adj-pc-ml-72 {
    margin-left: 72px !important;
  }
  .adj-pc-mb-72 {
    margin-bottom: 72px !important;
  }
  .adj-pc-mr-72 {
    margin-right: 72px !important;
  }
  .adj-pc-mt-76 {
    margin-top: 76px !important;
  }
  .adj-pc-ml-76 {
    margin-left: 76px !important;
  }
  .adj-pc-mb-76 {
    margin-bottom: 76px !important;
  }
  .adj-pc-mr-76 {
    margin-right: 76px !important;
  }
  .adj-pc-mt-80 {
    margin-top: 80px !important;
  }
  .adj-pc-ml-80 {
    margin-left: 80px !important;
  }
  .adj-pc-mb-80 {
    margin-bottom: 80px !important;
  }
  .adj-pc-mr-80 {
    margin-right: 80px !important;
  }
  .adj-pc-mt-84 {
    margin-top: 84px !important;
  }
  .adj-pc-ml-84 {
    margin-left: 84px !important;
  }
  .adj-pc-mb-84 {
    margin-bottom: 84px !important;
  }
  .adj-pc-mr-84 {
    margin-right: 84px !important;
  }
  .adj-pc-mt-88 {
    margin-top: 88px !important;
  }
  .adj-pc-ml-88 {
    margin-left: 88px !important;
  }
  .adj-pc-mb-88 {
    margin-bottom: 88px !important;
  }
  .adj-pc-mr-88 {
    margin-right: 88px !important;
  }
  .adj-pc-mt-92 {
    margin-top: 92px !important;
  }
  .adj-pc-ml-92 {
    margin-left: 92px !important;
  }
  .adj-pc-mb-92 {
    margin-bottom: 92px !important;
  }
  .adj-pc-mr-92 {
    margin-right: 92px !important;
  }
  .adj-pc-mt-96 {
    margin-top: 96px !important;
  }
  .adj-pc-ml-96 {
    margin-left: 96px !important;
  }
  .adj-pc-mb-96 {
    margin-bottom: 96px !important;
  }
  .adj-pc-mr-96 {
    margin-right: 96px !important;
  }
  .adj-pc-mt-100 {
    margin-top: 100px !important;
  }
  .adj-pc-ml-100 {
    margin-left: 100px !important;
  }
  .adj-pc-mb-100 {
    margin-bottom: 100px !important;
  }
  .adj-pc-mr-100 {
    margin-right: 100px !important;
  }
}
.adj-w-5 {
  width: 5% !important;
}

.adj-w-10 {
  width: 10% !important;
}

.adj-w-15 {
  width: 15% !important;
}

.adj-w-20 {
  width: 20% !important;
}

.adj-w-25 {
  width: 25% !important;
}

.adj-w-30 {
  width: 30% !important;
}

.adj-w-35 {
  width: 35% !important;
}

.adj-w-40 {
  width: 40% !important;
}

.adj-w-45 {
  width: 45% !important;
}

.adj-w-50 {
  width: 50% !important;
}

.adj-w-55 {
  width: 55% !important;
}

.adj-w-60 {
  width: 60% !important;
}

.adj-w-65 {
  width: 65% !important;
}

.adj-w-70 {
  width: 70% !important;
}

.adj-w-75 {
  width: 75% !important;
}

.adj-w-80 {
  width: 80% !important;
}

.adj-w-85 {
  width: 85% !important;
}

.adj-w-90 {
  width: 90% !important;
}

.adj-w-95 {
  width: 95% !important;
}

.adj-w-100 {
  width: 100% !important;
}

@media only screen and (min-width: 768px) {
  .adj-pc-w-5 {
    width: 5% !important;
  }
  .adj-pc-w-10 {
    width: 10% !important;
  }
  .adj-pc-w-15 {
    width: 15% !important;
  }
  .adj-pc-w-20 {
    width: 20% !important;
  }
  .adj-pc-w-25 {
    width: 25% !important;
  }
  .adj-pc-w-30 {
    width: 30% !important;
  }
  .adj-pc-w-35 {
    width: 35% !important;
  }
  .adj-pc-w-40 {
    width: 40% !important;
  }
  .adj-pc-w-45 {
    width: 45% !important;
  }
  .adj-pc-w-50 {
    width: 50% !important;
  }
  .adj-pc-w-55 {
    width: 55% !important;
  }
  .adj-pc-w-60 {
    width: 60% !important;
  }
  .adj-pc-w-65 {
    width: 65% !important;
  }
  .adj-pc-w-70 {
    width: 70% !important;
  }
  .adj-pc-w-75 {
    width: 75% !important;
  }
  .adj-pc-w-80 {
    width: 80% !important;
  }
  .adj-pc-w-85 {
    width: 85% !important;
  }
  .adj-pc-w-90 {
    width: 90% !important;
  }
  .adj-pc-w-95 {
    width: 95% !important;
  }
  .adj-pc-w-100 {
    width: 100% !important;
  }
}
@media only screen and (max-width: 767.9px) {
  .adj-sp-w-5 {
    width: 5% !important;
  }
  .adj-sp-w-10 {
    width: 10% !important;
  }
  .adj-sp-w-15 {
    width: 15% !important;
  }
  .adj-sp-w-20 {
    width: 20% !important;
  }
  .adj-sp-w-25 {
    width: 25% !important;
  }
  .adj-sp-w-30 {
    width: 30% !important;
  }
  .adj-sp-w-35 {
    width: 35% !important;
  }
  .adj-sp-w-40 {
    width: 40% !important;
  }
  .adj-sp-w-45 {
    width: 45% !important;
  }
  .adj-sp-w-50 {
    width: 50% !important;
  }
  .adj-sp-w-55 {
    width: 55% !important;
  }
  .adj-sp-w-60 {
    width: 60% !important;
  }
  .adj-sp-w-65 {
    width: 65% !important;
  }
  .adj-sp-w-70 {
    width: 70% !important;
  }
  .adj-sp-w-75 {
    width: 75% !important;
  }
  .adj-sp-w-80 {
    width: 80% !important;
  }
  .adj-sp-w-85 {
    width: 85% !important;
  }
  .adj-sp-w-90 {
    width: 90% !important;
  }
  .adj-sp-w-95 {
    width: 95% !important;
  }
  .adj-sp-w-100 {
    width: 100% !important;
  }
}
.adj-w-1\/3 {
  width: 33.3333333333% !important;
}

@media only screen and (min-width: 768px) {
  .adj-pc-w-1\/3 {
    width: 33.3333333333% !important;
  }
}

@media only screen and (max-width: 767.9px) {
  .adj-sp-w-1\/3 {
    width: 33.3333333333% !important;
  }
}

.adj-w-2\/3 {
  width: 66.6666666667% !important;
}

@media only screen and (min-width: 768px) {
  .adj-pc-w-2\/3 {
    width: 66.6666666667% !important;
  }
}

@media only screen and (max-width: 767.9px) {
  .adj-sp-w-2\/3 {
    width: 66.6666666667% !important;
  }
}

/* ----------------------------------------------------------------
  media配下固有モジュール
----------------------------------------------------------------- */
/* .content-media-area
----------------------------------------------- */
.content-media-area {
  padding-top: 0;
}
.content-media-area.-article {
  padding-top: 32px;
}
@media only screen and (min-width: 768px) {
  .content-media-area.-article {
    padding-top: 48px;
  }
}

/* .unq-media（詳細ページ）
----------------------------------------------- */
.hdg-l2.-border.-unq-media {
  margin: 48px 0 20px;
  padding-bottom: 10px;
  font-size: 1.8rem;
}
@media only screen and (min-width: 768px) {
  .hdg-l2.-border.-unq-media {
    margin: 56px 0 24px;
    padding-bottom: 14px;
    font-size: 2rem;
  }
}

/* ----------------------------------------------------------------
  news配下固有モジュール
----------------------------------------------------------------- */
/* .content-news-area
----------------------------------------------- */
.content-news-area {
  padding-top: 32px;
}

/* .unq-news（詳細ページ）
----------------------------------------------- */
.hdg-l2.-border.-unq-news {
  margin: 32px 0 16px;
  padding-bottom: 8px;
  font-size: 1.8rem;
}
@media only screen and (min-width: 768px) {
  .hdg-l2.-border.-unq-news {
    margin: 56px 0 32px;
    font-size: 2rem;
  }
}

/* ----------------------------------------------------------------
  OYC配下固有モジュール
----------------------------------------------------------------- */
/* .content-area
----------------------------------------------- */
.content-area_inner.order {
  display: flex;
  flex-direction: column;
}
.content-area_inner.order .lyt-oyc-container-wrap {
  display: contents;
}
.content-area_inner.order .lyt-oyc-container-wrap_side-content {
  order: 1;
}
@media only screen and (min-width: 768px) {
  .content-area_inner.order .lyt-oyc-container-wrap {
    display: flex;
  }
}

/* .content-oyc-area
----------------------------------------------- */
.content-oyc-area {
  padding-top: 32px;
}
.content-oyc-area.oyc-top {
  margin-top: -10px;
  padding-top: 0;
}
.content-oyc-area.oyc-article {
  padding-top: 24px;
}
.content-oyc-area .media img {
  border: 2px solid transparent;
}
@media only screen and (min-width: 768px) {
  .content-oyc-area {
    padding-top: 48px;
  }
  .content-oyc-area.oyc-article {
    padding-top: 48px;
  }
}
.content-oyc-area + .content-oyc-area {
  padding-top: 0;
}

/* .lyt-oyc-container-wrap
----------------------------------------------- */
.lyt-oyc-container-wrap {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  margin-top: 56px;
}
.lyt-oyc-container-wrap_main-content {
  width: 100%;
}
.lyt-oyc-container-wrap_main-content > :first-child {
  margin-top: 0;
}
.lyt-oyc-container-wrap_main-content > :last-child {
  margin-bottom: 0;
}
.lyt-oyc-container-wrap_side-content {
  width: 100%;
}
.lyt-oyc-container-wrap_content > :last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .lyt-oyc-container-wrap {
    flex-direction: row;
    gap: 40px;
    margin-top: 96px;
  }
  .lyt-oyc-container-wrap_side-content {
    width: 32%;
  }
}

/* .hdg-oyc-mv（トップページ）
----------------------------------------------- */
.hdg-oyc-mv {
  position: relative;
  overflow: hidden;
}
.hdg-oyc-mv > :first-child {
  margin-top: 0;
}
.hdg-oyc-mv > :last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .hdg-oyc-mv {
    padding-bottom: 0;
  }
}
.hdg-oyc-mv_inner > :first-child {
  margin-top: 0;
}
.hdg-oyc-mv_inner > :last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .hdg-oyc-mv_inner {
    max-width: var(--width-content);
    margin: 0 auto;
    padding-inline: var(--gutter-content);
  }
}
@media only screen and (min-width: 768px) and (min-width: 1230px) {
  .hdg-oyc-mv_inner {
    padding-inline: calc(var(--gutter-content) + 28px);
  }
}
@media only screen and (min-width: 768px) and (min-width: 1328px) {
  .hdg-oyc-mv_inner {
    padding-inline: 0;
  }
}
@media only screen and (min-width: 768px) {
  .hdg-oyc-mv_inner > .breadscrum {
    padding-bottom: 48px;
  }
}
.hdg-oyc-mv_media {
  margin-top: -8px;
  margin-right: -16px;
  padding-left: 16px;
}
.hdg-oyc-mv_media img {
  width: 100%;
  vertical-align: bottom;
}
@media only screen and (min-width: 768px) {
  .hdg-oyc-mv_media {
    max-width: none;
    margin-top: -102px;
    margin-right: 0;
    padding-left: 0;
  }
}
.hdg-oyc-mv_txt {
  display: block;
  margin-top: -8%;
  padding: 0 16px 56px;
  font-size: 1.6rem;
}
@media only screen and (min-width: 768px) {
  .hdg-oyc-mv_txt {
    margin-top: -13%;
    padding: 0 0 106px;
    font-size: 1.8rem;
  }
}

/* .hdg-oyc-all-l1（全記事一覧）
----------------------------------------------- */
.hdg-oyc-all-l1 {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 32px;
  margin-bottom: 56px;
  max-width: none;
  font-size: 3.2rem;
}
.hdg-oyc-all-l1_label {
  font-size: 2rem;
  font-family: var(--font-family-02);
  font-weight: var(--font-weight-bold);
  line-height: 1.2;
  color: var(--color-main);
}
.hdg-oyc-all-l1_label.color-accent-01 {
  color: var(--color-accent-01);
}
@media only screen and (min-width: 768px) {
  .hdg-oyc-all-l1 {
    margin-top: 48px;
    margin-bottom: 96px;
    font-size: 4rem;
  }
  .hdg-oyc-all-l1_label {
    font-size: 2.8rem;
  }
}

/* .hdg-oyc-l2
----------------------------------------------- */
.hdg-oyc-l2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  margin-top: 56px;
  margin-bottom: 24px;
  font-family: var(--font-family-02);
  font-weight: var(--font-weight-bold);
  line-height: 1;
}
.hdg-oyc-l2_sub {
  position: relative;
  display: inline-block;
  margin-top: 4px;
  padding: 0 10px;
  font-size: 1.2rem;
}
.hdg-oyc-l2_sub::before, .hdg-oyc-l2_sub::after {
  display: block;
  content: "";
  position: absolute;
  bottom: 2px;
  width: 1px;
  height: 17px;
  background-color: var(--color-black);
  transform: skewX(30deg);
}
.hdg-oyc-l2_sub::before {
  left: 0;
}
.hdg-oyc-l2_sub::after {
  right: 0;
  transform: skewX(150deg);
}
@media only screen and (min-width: 768px) {
  .hdg-oyc-l2 {
    flex-direction: row;
    align-items: baseline;
    gap: 17px;
    margin-top: 96px;
    margin-bottom: 40px;
  }
  .hdg-oyc-l2_sub {
    margin-top: 0;
    font-size: 1.6rem;
  }
}

/* .hdg-oyc-article-l1
----------------------------------------------- */
.hdg-oyc-article-l1_media {
  margin-bottom: 24px;
  text-align: center;
}
.hdg-oyc-article-l1_media img {
  width: auto;
  max-height: 356px;
  vertical-align: bottom;
}
.hdg-oyc-article-l1_item {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
}
.hdg-oyc-article-l1_item .txt-sub,
.hdg-oyc-article-l1_item .hdg-oyc-article-l1_item-date {
  margin-bottom: 0;
  font-size: 1.4rem;
  color: var(--color-main);
}
.hdg-oyc-article-l1_item .icon-label,
.hdg-oyc-article-l1_item .hdg-oyc-article-l1_item-category {
  display: inline-block;
  padding: 3px 12px;
  border: 2px solid var(--color-main);
  background-color: var(--color-white);
  border-radius: 2em;
  font-size: 1.2rem;
  font-weight: var(--font-weight-bold);
  color: var(--color-font);
  text-decoration: none;
  transition: var(--transition-duration) var(--transition-tf);
}
.hdg-oyc-article-l1_item .icon-label:hover, .hdg-oyc-article-l1_item .icon-label:active, .hdg-oyc-article-l1_item .icon-label:focus-visible,
.hdg-oyc-article-l1_item .hdg-oyc-article-l1_item-category:hover,
.hdg-oyc-article-l1_item .hdg-oyc-article-l1_item-category:active,
.hdg-oyc-article-l1_item .hdg-oyc-article-l1_item-category:focus-visible {
  background-color: #EFEFEE;
  opacity: 1;
}
.hdg-oyc-article-l1_tag {
  margin-bottom: 14px;
}
.hdg-oyc-article-l1_tag-item {
  display: inline-block;
  padding-right: 8px;
}
.hdg-oyc-article-l1_tag-txt {
  position: relative;
  display: block;
  margin-left: 19px;
  font-size: 1.2rem;
  font-weight: var(--font-weight-bold);
}
.hdg-oyc-article-l1_tag-txt::after {
  display: block;
  content: "";
  position: absolute;
  top: 0.4em;
  left: -19px;
  width: 15px;
  height: 12px;
  background: no-repeat center;
  background-image: url("data:image/svg+xml; charset=utf-8, %3csvg%20xmlns%3d%22http%3a%2f%2fwww%2ew3%2eorg%2f2000%2fsvg%22%20viewBox%3d%220%200%2015%2012%22%3e%3cpath%20d%3d%22M0,10%2e5V0H9%2e9l3%2e6,5%2e25L9%2e9,10%2e5Z%22%20transform%3d%22translate(0%2e75%200%2e75)%22%20fill%3d%22none%22%20stroke%3d%22%2397999B%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dlinejoin%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3cpath%20d%3d%22M0,1A1,1,0,1,1,1,2,1,1,0,0,1,0,1%22%20transform%3d%22translate(9%2e25%204%2e75)%22%20fill%3d%22%2397999B%22%2f%3e%3c%2fsvg%3e");
}
.hdg-oyc-article-l1 h1 {
  margin-bottom: 32px;
  font-size: 2rem;
  line-height: 2;
  max-width: 100%;
}
@media only screen and (min-width: 768px) {
  .hdg-oyc-article-l1_media {
    margin-bottom: 40px;
  }
  .hdg-oyc-article-l1_item {
    gap: 12px;
    margin-bottom: 16px;
  }
  .hdg-oyc-article-l1_item .icon-label,
  .hdg-oyc-article-l1_item .hdg-oyc-article-l1_item-category {
    font-size: 1.4rem;
  }
  .hdg-oyc-article-l1_tag {
    margin-bottom: 16px;
  }
  .hdg-oyc-article-l1_tag-item {
    padding-right: 12px;
  }
  .hdg-oyc-article-l1 h1 {
    margin-bottom: 40px;
    font-size: 2.2rem;
  }
}

/* .hdg-oyc-detail-l2
----------------------------------------------- */
.hdg-oyc-detail-l2 {
  position: relative;
  margin: 40px 0 24px;
  padding-bottom: 8px;
  font-size: 1.9rem;
  font-weight: var(--font-weight-bold);
}
.hdg-oyc-detail-l2::after {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background-color: var(--color-sub);
}
@media only screen and (min-width: 768px) {
  .hdg-oyc-detail-l2 {
    margin: 56px 0 32px;
    font-size: 2rem;
  }
}

/* .oyc-card-container
----------------------------------------------- */
.oyc-card-container {
  display: grid;
  gap: 24px 13px;
  grid-template-columns: repeat(2, 1fr);
  margin-bottom: 24px;
}
.oyc-card-container.-large {
  gap: 24px;
  grid-template-columns: 1fr;
}
@media only screen and (min-width: 768px) {
  .oyc-card-container {
    gap: 32px;
    grid-template-columns: repeat(3, 1fr);
    margin-bottom: 32px;
  }
  .oyc-card-container.-large {
    gap: 32px;
    grid-template-columns: repeat(3, 1fr);
  }
  .oyc-card-container.col4-pc {
    gap: 32px;
    grid-template-columns: repeat(4, 1fr);
  }
}

/* .oyc-card
----------------------------------------------- */
.oyc-card {
  --media-width: 388px;
  --media-height: 240px;
  position: relative;
  padding-top: calc(var(--media-width) / var(--media-height) * 100);
  padding-bottom: 18px;
  height: 100%;
  border: 2px solid var(--color-sub);
  border-radius: var(--radius);
  background-color: var(--color-white);
  overflow: hidden;
}
.oyc-card_item {
  margin-bottom: 10px;
  padding: 0 10px;
  padding-top: calc(61.8% + 10px);
}
.oyc-card_item .txt-sub,
.oyc-card_item .oyc-card_item-date {
  margin-bottom: 8px;
  font-size: 1rem;
}
.oyc-card_item .icon-label {
  padding: 3px 12px;
  border: 2px solid var(--color-main);
  background-color: var(--color-white);
  border-radius: 2em;
  font-size: 1rem;
  transition: var(--transition-duration) var(--transition-tf);
}
.oyc-card_item .icon-label:hover, .oyc-card_item .icon-label:active, .oyc-card_item .icon-label:focus-visible {
  background-color: var(--color-btn-hover);
  opacity: 1;
}
.oyc-card_title-media {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 97/60;
  object-fit: cover;
}
.oyc-card_title-txt {
  margin: 0 0 14px;
  padding: 0 10px;
  font-size: 1.4rem;
  font-weight: var(--font-weight-bold);
}
.oyc-card_title-txt > img {
  position: relative;
  top: 5px;
  margin-left: 4px;
  width: 17px;
  height: 14px;
  vertical-align: top;
}
.oyc-card_tag {
  margin: 0;
  padding: 0 10px;
}
.oyc-card_tag-item {
  display: inline-block;
}
.oyc-card_tag-txt {
  position: relative;
  display: block;
  margin-left: 27px;
  font-size: 1rem;
  font-weight: var(--font-weight-bold);
}
.oyc-card_tag-txt::after {
  display: block;
  content: "";
  position: absolute;
  top: 0.3em;
  left: -27px;
  width: 15px;
  height: 12px;
  background: no-repeat center;
  background-image: url("data:image/svg+xml; charset=utf-8, %3csvg%20xmlns%3d%22http%3a%2f%2fwww%2ew3%2eorg%2f2000%2fsvg%22%20viewBox%3d%220%200%2015%2012%22%3e%3cpath%20d%3d%22M0,10%2e5V0H9%2e9l3%2e6,5%2e25L9%2e9,10%2e5Z%22%20transform%3d%22translate(0%2e75%200%2e75)%22%20fill%3d%22none%22%20stroke%3d%22%2397999B%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dlinejoin%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3cpath%20d%3d%22M0,1A1,1,0,1,1,1,2,1,1,0,0,1,0,1%22%20transform%3d%22translate(9%2e25%204%2e75)%22%20fill%3d%22%2397999B%22%2f%3e%3c%2fsvg%3e");
}
.oyc-card-container.-large .oyc-card {
  padding-bottom: 22px;
}
.oyc-card-container.-large .oyc-card_item {
  padding: 0 22px;
  padding-top: calc(61.8% + 16px);
}
.oyc-card-container.-large .oyc-card_item .date, .oyc-card-container.-large .oyc-card_item .icon-label {
  font-size: 1.2rem;
}
.oyc-card-container.-large .oyc-card_title-txt {
  padding: 0 22px;
  font-size: 1.6rem;
}
.oyc-card-container.-large .oyc-card_tag {
  padding: 0 22px;
}
.oyc-card-container.-large .oyc-card_tag-txt {
  padding-right: 14px;
  font-size: 1.2rem;
}
.oyc-card-container.-large .oyc-card_tag-txt::after {
  top: 0.4em;
}
@media only screen and (min-width: 768px) {
  .oyc-card {
    padding-bottom: 22px;
  }
  .oyc-card_item {
    padding: 0 22px;
    padding-top: calc(61.8% + 16px);
  }
  .oyc-card_item .txt-sub,
  .oyc-card_item .oyc-card_item-date,
  .oyc-card_item .icon-label {
    font-size: 1.2rem;
  }
  .oyc-card_title-txt {
    padding: 0 22px;
    font-size: 1.6rem;
  }
  .oyc-card_title-txt > img {
    top: 8px;
  }
  .oyc-card_tag {
    padding: 0 8px 0 22px;
  }
  .oyc-card_tag-txt {
    padding-right: 14px;
    font-size: 1.2rem;
  }
  .oyc-card_tag-txt::after {
    top: 0.5em;
  }
  .oyc-card-container.-large .oyc-card_item-date, .oyc-card-container.-large .oyc-card_item-category {
    font-size: 1.4rem;
  }
  .oyc-card-container.-large .oyc-card_title-txt {
    font-size: 1.8rem;
  }
  .oyc-card-container.-large .oyc-card_tag-txt {
    font-size: 1.4rem;
    padding-right: 14px;
  }
}

/* ----------------------------------------------------------------
  sideコンテンツ
----------------------------------------------------------------- */
/* .oyc-toggle-content
----------------------------------------------- */
.oyc-toggle-content {
  margin-top: 32px;
  overflow: hidden;
}
.oyc-toggle-content > details:first-child {
  border-top: 1px solid var(--color-sub);
}
@media only screen and (min-width: 768px) {
  .oyc-toggle-content {
    margin-top: 0;
  }
  .oyc-toggle-content > details:first-child {
    border-top: none;
  }
}

/* .hdg-side-l2
----------------------------------------------- */
.hdg-side-l2 {
  margin-top: 48px;
  margin-bottom: 24px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--color-sub);
  font-size: 1.8rem;
  font-weight: var(--font-weight-bold);
}
.hdg-side-l2_toggle > summary {
  position: relative;
  display: block;
  padding: 24px 41px 24px 22px;
  background-color: var(--color-white);
  border-bottom: 1px solid var(--color-sub);
  font-size: 1.8rem;
  font-weight: var(--font-weight-bold);
  text-align: center;
  cursor: pointer;
}
.hdg-side-l2_toggle > summary::before, .hdg-side-l2_toggle > summary::after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 22px;
  margin: auto;
  width: 12px;
  height: 2px;
  border-radius: 1em;
  background-color: var(--color-main);
}
.hdg-side-l2_toggle > summary::after {
  transform: rotate(90deg);
}
.hdg-side-l2_toggle.is-open > summary::after {
  transform: none;
}
@media only screen and (min-width: 768px) {
  .hdg-side-l2:first-child {
    margin-top: 0;
  }
  .hdg-side-l2_toggle {
    margin-top: 48px;
    margin-bottom: 24px;
  }
  .hdg-side-l2_toggle > summary {
    padding: 0;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--color-sub);
    text-align: left;
  }
  .hdg-side-l2_toggle > summary::before, .hdg-side-l2_toggle > summary::after {
    display: none;
  }
}

/* .list-side-ranking
----------------------------------------------- */
.list-side-ranking {
  margin-bottom: 32px;
}
@media only screen and (min-width: 768px) {
  .list-side-ranking {
    margin-bottom: 48px;
  }
}
.list-side-ranking_item {
  position: relative;
  padding: 24px 0;
}
.list-side-ranking_item::before {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-image: linear-gradient(to right, var(--color-sub), var(--color-sub) 3px, transparent 3px, transparent 4px);
  background-size: 7px 1px;
  background-position: left bottom;
  background-repeat: repeat-x;
}
.list-side-ranking_item:first-child {
  padding-top: 0;
}
.list-side-ranking_item:last-child {
  padding-bottom: 0;
}
.list-side-ranking_item:last-child::before {
  display: none;
}
.list-side-ranking_item > a {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.list-side-ranking_item > a:hover, .list-side-ranking_item > a:active, .list-side-ranking_item > a:focus-visible {
  opacity: unset;
}
.list-side-ranking_number {
  position: relative;
  width: 20px;
  height: 26px;
  background: url("/assets/img/icon-ranking.svg") no-repeat center/contain;
  font-size: 1.2rem;
  font-weight: var(--font-weight-bold);
  color: var(--color-white);
  text-align: center;
}
.list-side-ranking_title {
  flex: 1;
  font-size: 1.4rem;
  transition: opacity var(--transition-duration) var(--transition-tf);
}
.list-side-ranking_title:hover, .list-side-ranking_title:active, .list-side-ranking_title:focus-visible {
  opacity: var(--opacity-hover);
}

/* .list-side-category
----------------------------------------------- */
.list-side-category {
  border-bottom: 1px solid var(--color-sub);
}
@media only screen and (min-width: 768px) {
  .list-side-category {
    border-bottom: none;
  }
}
.list-side-category_item {
  position: relative;
  padding: 24px 0;
}
.list-side-category_item::before {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-image: linear-gradient(to right, var(--color-sub), var(--color-sub) 3px, transparent 3px, transparent 4px);
  background-size: 7px 1px;
  background-position: left bottom;
  background-repeat: repeat-x;
}
.list-side-category_item:last-child::before {
  display: none;
}
@media only screen and (min-width: 768px) {
  .list-side-category_item:last-child {
    padding-bottom: 0;
  }
}
.list-side-category_txt {
  position: relative;
  display: block;
  padding-left: 46px;
  font-size: 1.4rem;
}
.list-side-category_txt::after {
  display: block;
  content: "";
  position: absolute;
  top: 0.3em;
  left: 16px;
  width: 14px;
  height: 14px;
  background: no-repeat center;
  background-image: url("data:image/svg+xml; charset=utf-8, %3csvg%20xmlns%3d%22http%3a%2f%2fwww%2ew3%2eorg%2f2000%2fsvg%22%20viewBox%3d%220%200%2014%2014%22%3e%3cpath%20d%3d%22m7%2e09,1%2e06l6%2e06,6%2e06%2d6%2e06,6%2e06%22%20fill%3d%22none%22%20stroke%3d%22%2397999B%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dlinejoin%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3cline%20x1%3d%221%2e06%22%20y1%3d%227%2e12%22%20x2%3d%2212%2e76%22%20y2%3d%227%2e12%22%20fill%3d%22none%22%20stroke%3d%22%2397999B%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dmiterlimit%3d%2210%22%20stroke%2dwidth%3d%222%22%2f%3e%3c%2fsvg%3e");
}

/* .list-side-tag
----------------------------------------------- */
.list-side-tag {
  margin: 0 16px;
  padding-top: 24px;
}
.list-side-tag_item {
  display: inline-block;
}
.list-side-tag_txt {
  position: relative;
  display: block;
  margin-left: 19px;
  padding-right: 16px;
  font-size: 1.2rem;
  font-weight: var(--font-weight-bold);
}
.list-side-tag_txt::after {
  display: block;
  content: "";
  position: absolute;
  top: 0.4em;
  left: -19px;
  width: 15px;
  height: 12px;
  background: no-repeat center;
  background-image: url("data:image/svg+xml; charset=utf-8, %3csvg%20xmlns%3d%22http%3a%2f%2fwww%2ew3%2eorg%2f2000%2fsvg%22%20viewBox%3d%220%200%2015%2012%22%3e%3cpath%20d%3d%22M0,10%2e5V0H9%2e9l3%2e6,5%2e25L9%2e9,10%2e5Z%22%20transform%3d%22translate(0%2e75%200%2e75)%22%20fill%3d%22none%22%20stroke%3d%22%2397999B%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dlinejoin%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3cpath%20d%3d%22M0,1A1,1,0,1,1,1,2,1,1,0,0,1,0,1%22%20transform%3d%22translate(9%2e25%204%2e75)%22%20fill%3d%22%2397999B%22%2f%3e%3c%2fsvg%3e");
}

/* ----------------------------------------------------------------
  newsroomトップ固有モジュール
----------------------------------------------------------------- */
/* .content-newsroom-area（newsroomトップ）
----------------------------------------------- */
.content-newsroom-area {
  padding-top: 16px;
}
@media only screen and (min-width: 768px) {
  .content-newsroom-area {
    padding-top: 24px;
  }
}

.message-kv {
  height: 50vw;
  display: flex;
  flex-flow: column;
  justify-content: center;
  background: url("/assets/files/corporate/message/img/index-img-01.png") no-repeat center center;
  background-size: cover;
  color: #fff;
  overflow-x: hidden;
  padding: 0;
  margin-bottom: 32px;
}
.message-kv .message {
  margin-left: 10%;
  margin-top: 5px;
  margin-bottom: 10px;
  font-size: 1.2rem;
}
.message-kv .message-body {
  width: 100%;
  margin: 40px auto 0;
}
.message-kv .message-body p {
  margin-top: 20px;
}
.message-kv .message-body .message-name {
  margin-top: 35px;
}
.message-kv .position {
  font-size: 1.2rem;
  margin-left: 10%;
}
.message-kv .president-name-jp {
  font-size: 1.2rem;
  margin-top: 10px;
  margin-left: 10%;
}
.message-kv .president-name-en {
  font-family: Montserrat, sans-serif;
  font-weight: 200;
  font-size: 1rem;
  margin-top: 10px;
  margin-left: 10%;
}
@media only screen and (min-width: 768px) {
  .message-kv {
    height: 664px;
    padding-left: 130px;
  }
  .message-kv .message {
    font-size: 3.2rem;
    line-height: 1.3;
    letter-spacing: 0.08em;
    margin-bottom: 30px;
  }
  .message-kv .message-body {
    width: 880px;
    margin: 85px auto 0;
    overflow: hidden;
  }
  .message-kv .message-body p {
    margin-top: 30px;
    line-height: 2;
  }
  .message-kv .message-body .message-name {
    text-align: right;
    margin-top: 70px;
    width: 117px;
  }
  .message-kv .message-body .message-name img {
    width: 100%;
  }
  .message-kv .position {
    font-size: 1.4rem;
    line-height: 1;
    letter-spacing: 0.08em;
  }
  .message-kv .president-name-jp {
    font-size: 2.2rem;
    line-height: 1;
    margin-top: 15px;
  }
  .message-kv .president-name-en {
    font-family: Montserrat, sans-serif;
    font-weight: 200;
    font-size: 1.4rem;
    line-height: 1;
    margin-top: 15px;
  }
}

.overview caption,
.overview table,
.overview th,
.overview td {
  margin: 0;
  padding: 0;
  border: 0;
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show;
  text-align: left;
  font-weight: 400;
}
.overview table {
  max-width: 850px;
  margin: 0 auto;
  border-top: 1px solid var(--color-sub);
}
.overview table p {
  margin: 0;
}
.overview table, .overview table.second-table {
  min-width: 0;
  width: 100%;
}
.overview table th, .overview table.second-table th {
  width: 100%;
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  border-bottom: 0;
}
.overview table td, .overview table.second-table td {
  width: 100%;
  border-bottom: 1px solid var(--color-sub);
}
.overview table.second-table {
  border-top: none;
}
.overview table th,
.overview table td {
  display: block;
  padding-top: 14px;
  padding-bottom: 14px;
  vertical-align: top;
}
.overview table th {
  padding-bottom: 0;
  white-space: nowrap;
  color: var(--color-main);
}
@media only screen and (min-width: 768px) {
  .overview table {
    min-width: 550px;
  }
  .overview table.second-table {
    width: 550px;
  }
  .overview table.second-table th,
  .overview table.second-table td {
    display: table-cell;
    padding-top: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--color-sub);
  }
  .overview table.second-table th {
    width: 60%;
    padding-left: 70px;
    padding-right: 30px;
  }
  .overview table.second-table td {
    width: 40%;
  }
  .overview table th,
  .overview table td {
    display: table-cell;
    padding-top: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--color-sub);
  }
  .overview table th {
    width: 36%;
    padding-left: 70px;
    padding-right: 30px;
  }
  .overview table td {
    width: 64%;
  }
}

.vision-img {
  max-width: 240px;
}
@media only screen and (min-width: 768px) {
  .vision-img {
    max-width: none;
  }
}

.vision-large-txt {
  font-size: 2.4rem;
  margin-bottom: 20px;
}
@media only screen and (min-width: 768px) {
  .vision-large-txt {
    font-size: 3.2rem;
    margin-bottom: 24px;
  }
}

.vision-action-guideline {
  display: grid;
  gap: 20px;
}
.vision-action-guideline > div {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.vision-action-guideline > div dt {
  font-size: 2rem;
}
@media only screen and (min-width: 768px) {
  .vision-action-guideline {
    gap: 24px;
  }
  .vision-action-guideline > div {
    flex-direction: row;
    align-items: center;
    gap: 24px;
  }
  .vision-action-guideline > div dt {
    font-size: 2.4rem;
  }
}

/* ----------------------------------------------------------------
  corporate配下固有モジュール
----------------------------------------------------------------- */
/* .content-corp-area--award
----------------------------------------------- */
.content-corp-area--award {
  padding-top: 0;
}

/* .office-detail
----------------------------------------------- */
.office-detail {
  display: flex;
  flex-direction: column;
  gap: 32px;
  margin-bottom: 40px;
}
.office-detail_title {
  margin-bottom: 10px;
  font-weight: var(--font-weight-bold);
}
.office-detail dd > p {
  margin-bottom: 14px;
}
.office-detail .office-detail_map-link {
  position: relative;
  padding-left: 39px;
}
.office-detail .office-detail_map-link::before {
  display: block;
  content: "";
  position: absolute;
  top: calc(50% - 7px);
  left: 22px;
  width: 14px;
  height: 14.2px;
  background: url("/assets/img/icon-point.svg");
}
.office-detail_access-list {
  padding-left: 0;
}
@media only screen and (min-width: 768px) {
  .office-detail {
    flex-direction: row;
  }
  .office-detail_address {
    width: 50%;
  }
  .office-detail_access {
    width: 50%;
  }
}

/* ----------------------------------------------------------------
  mission_value配下固有モジュール
----------------------------------------------------------------- */
/* .content-mission-value（共通背景）
----------------------------------------------- */
.content-mission-value {
  position: relative;
  overflow: hidden;
}
.content-mission-value::before, .content-mission-value::after {
  display: block;
  content: "";
}
.content-mission-value::before {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 200vh;
  background-color: #F4F4F3;
  mask-image: url("/assets/img/icon-mask.svg");
  -webkit-mask-image: url("/assets/img/icon-mask.svg"); /* stylelint-disable-line */
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat; /* stylelint-disable-line */
  mask-size: 604px 604px;
  -webkit-mask-size: 604px 604px; /* stylelint-disable-line */
  mask-position: calc(100% + 234px) 335px;
  -webkit-mask-position: calc(100% + 234px) 335px; /* stylelint-disable-line */
  z-index: -10;
  transform: translate3d(0, calc(var(--parallax-scroll-num) * -0.5), 0);
  will-change: transform;
}
.content-mission-value_inner::before, .content-mission-value_inner::after {
  display: block;
  content: "";
  position: fixed;
  border-radius: 50%;
  transform: translate3d(0, calc(var(--parallax-scroll-num) * -0.6), 0);
  will-change: transform;
  z-index: -1;
}
.content-mission-value_inner::before {
  top: 315px;
  left: calc(100% - 116px);
  width: 46px;
  height: 46px;
  background-color: #B2ECE8;
}
.content-mission-value_inner::after {
  top: 628px;
  left: calc(100% - 418px);
  width: 92px;
  height: 92px;
  background-color: #EAEBEB;
}
@media only screen and (min-width: 768px) {
  .content-mission-value::before {
    mask-size: 1051px 1051px;
    -webkit-mask-size: 1051px 1051px; /* stylelint-disable-line */
    mask-position: calc(100% + 1051px - 567px) 200px;
    -webkit-mask-position: calc(100% + 1051px - 567px) 200px; /* stylelint-disable-line */
  }
  .content-mission-value_inner::before {
    top: 169.5px;
    left: calc(100% - 126px);
    width: 80px;
    height: 80px;
  }
  .content-mission-value_inner::after {
    top: 696px;
    left: calc(100% - 653px);
    width: 160px;
    height: 160px;
  }
}

/* .content-miva-area
----------------------------------------------- */
.content-miva-area {
  padding-top: 0;
  padding-bottom: 24px;
}
@media only screen and (min-width: 768px) {
  .content-miva-area {
    padding-bottom: 64px;
  }
}

/* .lyt-miva-article-container
----------------------------------------------- */
.lyt-miva-article-container-inner > :first-child {
  margin-top: 0;
}
.lyt-miva-article-container-inner > :last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .lyt-miva-article-container {
    margin: 0 auto;
    padding-top: 64px;
    max-width: 800px;
  }
}

/* .unq-mission-txt
----------------------------------------------- */
.unq-mission-txt {
  margin-bottom: 32px;
}
@media only screen and (min-width: 768px) {
  .unq-mission-txt {
    margin-bottom: 48px;
  }
}

/* .hdg-miva-l1
----------------------------------------------- */
.hdg-miva-l1_inner {
  max-width: var(--width-content);
  margin: 0 auto;
  padding-inline: var(--gutter-content);
}
@media only screen and (min-width: 1230px) {
  .hdg-miva-l1_inner {
    padding-inline: calc(var(--gutter-content) + 28px);
  }
}
@media only screen and (min-width: 1328px) {
  .hdg-miva-l1_inner {
    padding-inline: 0;
  }
}
.hdg-miva-l1_content {
  padding: 32px 0 56px;
}
.hdg-miva-l1_content > :first-child {
  margin-top: 0;
}
.hdg-miva-l1_content > :last-child {
  margin-bottom: 0;
}
.hdg-miva-l1_title {
  margin: 0;
  font-size: 3.2rem;
  font-weight: unset;
  line-height: 1.6;
}
.hdg-miva-l1_title-sub {
  display: block;
  margin-bottom: 4px;
  font-size: 2.4rem;
}
.hdg-miva-l1_title .txt-sub {
  display: block;
  margin-top: 16px;
  font-size: 2.4rem;
  font-weight: var(--font-weight-bold);
  font-family: var(--font-family-02);
  color: var(--color-main);
  text-transform: uppercase;
}
.hdg-miva-l1_lead {
  margin-top: 24px;
  margin-bottom: 0;
  font-size: 1.6rem;
}
@media only screen and (min-width: 768px) {
  .hdg-miva-l1_content {
    padding: 48px 0 96px;
  }
  .hdg-miva-l1_title {
    font-size: 4rem;
  }
  .hdg-miva-l1_title-sub {
    margin-bottom: 0;
  }
  .hdg-miva-l1_lead {
    font-size: 1.8rem;
  }
}

/* .hdg-thoughts-article-l1（thoughts 記事詳細）
----------------------------------------------- */
.hdg-thoughts-article-l1 {
  max-width: var(--width-content);
  margin: 0 auto;
  padding-inline: var(--gutter-content);
  padding-top: 32px;
  padding-bottom: 56px;
}
@media only screen and (min-width: 1230px) {
  .hdg-thoughts-article-l1 {
    padding-inline: calc(var(--gutter-content) + 28px);
  }
}
@media only screen and (min-width: 1328px) {
  .hdg-thoughts-article-l1 {
    padding-inline: 0;
  }
}
.hdg-thoughts-article-l1 > :first-child {
  margin-top: 0;
}
.hdg-thoughts-article-l1 > :last-child {
  margin-bottom: 0;
}
.hdg-thoughts-article-l1_inner {
  display: flex;
  flex-direction: column-reverse;
  gap: 10px;
}
.hdg-thoughts-article-l1_media {
  margin: 0 auto;
  width: 280px;
  height: 280px;
}
.hdg-thoughts-article-l1_title > h1 {
  margin-bottom: 16px;
  font-size: 2.4rem;
  line-height: 2;
}
.hdg-thoughts-article-l1_title-person {
  margin-bottom: 0;
  font-size: 1.8rem;
}
.hdg-thoughts-article-l1_title-director {
  display: block;
  margin-bottom: 4px;
  font-size: 1.4rem;
  color: var(--color-main);
}
@media only screen and (min-width: 768px) {
  .hdg-thoughts-article-l1 {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    gap: 60px;
    padding-top: 0;
    padding-bottom: 0;
    min-height: 400px;
  }
  .hdg-thoughts-article-l1_inner {
    display: contents;
  }
  .hdg-thoughts-article-l1_media {
    width: 400px;
    height: 400px;
    margin-right: -46px;
    transform: translateY(-9px);
    float: right;
  }
  .hdg-thoughts-article-l1_title > h1 {
    margin-bottom: 24px;
    font-size: 4rem;
  }
  .hdg-thoughts-article-l1_title-person {
    font-size: 2.4rem;
  }
  .hdg-thoughts-article-l1_title-director {
    margin-bottom: 0;
    font-size: 1.6rem;
  }
}

/* .hdg-intvw-article-l1（interview 記事詳細）
----------------------------------------------- */
.hdg-intvw-article-l1 {
  max-width: var(--width-content);
  margin: 0 auto;
  padding-inline: var(--gutter-content);
  padding-top: 32px;
  padding-bottom: 32px;
  overflow: hidden;
}
@media only screen and (min-width: 1230px) {
  .hdg-intvw-article-l1 {
    padding-inline: calc(var(--gutter-content) + 28px);
  }
}
@media only screen and (min-width: 1328px) {
  .hdg-intvw-article-l1 {
    padding-inline: 0;
  }
}
.hdg-intvw-article-l1 > :first-child {
  margin-top: 0;
}
.hdg-intvw-article-l1 > :last-child {
  margin-bottom: 0;
}
.hdg-intvw-article-l1_inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
.hdg-intvw-article-l1_title h1 {
  margin-bottom: 0;
  font-size: 2.4rem;
  font-weight: normal;
  line-height: 2;
}
.hdg-intvw-article-l1_media {
  min-width: 480px;
}
@media only screen and (min-width: 768px) {
  .hdg-intvw-article-l1 {
    padding-top: 16px;
    padding-bottom: 64px;
  }
  .hdg-intvw-article-l1_inner {
    flex-direction: row;
    gap: 60px;
  }
  .hdg-intvw-article-l1_title {
    width: 52%;
  }
  .hdg-intvw-article-l1_title h1 {
    font-size: 4rem;
    line-height: var(--line-height);
  }
  .hdg-intvw-article-l1_media {
    min-width: 560px;
  }
}

/* ----------------------------------------------------------------
  共通パーツ調整
----------------------------------------------------------------- */
.header_inner {
  min-height: 84px;
}
@media only screen and (min-width: 1230px) {
  .header {
    min-height: 90px;
  }
}

/* ----------------------------------------------------------------
  search固有モジュール
----------------------------------------------------------------- */
/* .search-hdg-mv
----------------------------------------------- */
.search-hdg-mv {
  position: relative;
  min-height: 120px;
  overflow: hidden;
  background: url("/assets/img/mv-bg-01_sp.svg") no-repeat calc(100vw - 115px) -44px;
  background-color: rgba(217, 217, 214, 0.3);
}
.search-hdg-mv_inner {
  max-width: var(--width-content);
  margin: 0 auto;
  padding-inline: var(--gutter-content);
}
@media only screen and (min-width: 1230px) {
  .search-hdg-mv_inner {
    padding-inline: calc(var(--gutter-content) + 28px);
  }
}
@media only screen and (min-width: 1328px) {
  .search-hdg-mv_inner {
    padding-inline: 0;
  }
}
.search-hdg-mv_content {
  padding: 32px 0 8px;
}
.search-hdg-mv_content > :first-child {
  margin-top: 0;
}
.search-hdg-mv_content > :last-child {
  margin-bottom: 0;
}
.search-hdg-mv_lead {
  font-size: 1.6rem;
}
.search-hdg-mv.hdg-layer2 {
  min-height: 172px;
  background-color: var(--color-light-gray);
}
.search-hdg-mv.hdg-layer2 .search-hdg-mv_content {
  padding: 32px 0;
}
@media only screen and (min-width: 768px) {
  .search-hdg-mv {
    min-height: 235px;
    background-image: url("/assets/img/mv-bg-01.svg");
    background-position: calc(100vw - 290px) -125px;
  }
  .search-hdg-mv_content {
    padding: 18px 0 48px;
  }
  .search-hdg-mv_lead {
    font-size: 1.8rem;
  }
  .search-hdg-mv.hdg-layer2 {
    min-height: 267px;
    background-position: calc(100vw - 290px) -125px;
  }
  .search-hdg-mv.hdg-layer2 .search-hdg-mv_content {
    padding: 48px 0 96px;
  }
}

/* .search-form
----------------------------------------------- */
.search-form {
  --input-submit-width-pc: 72px;
  --input-submit-width-sp: 56px;
  position: relative;
  display: flex;
  width: 100%;
  gap: 0;
}
.search-form_wrap {
  position: relative;
}
.search-form_wrap:has(.search-form_input-search) {
  flex: 1 1 100%;
  width: 100%;
}
.search-form_wrap:has(.search-form_input-search:focus:not(:placeholder-shown))::before, .search-form_wrap:has(.search-form_input-search:focus:not(:placeholder-shown))::after {
  display: block;
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  width: 14px;
  height: 2px;
  background-color: #707070;
  background-size: 8px 8px;
  transform-origin: center;
  z-index: 0;
}
.search-form_wrap:has(.search-form_input-search:focus:not(:placeholder-shown))::before {
  transform: translateY(-50%) rotate(-45deg);
}
.search-form_wrap:has(.search-form_input-search:focus:not(:placeholder-shown))::after {
  transform: translateY(-50%) rotate(45deg);
}
.search-form_wrap:has(.search-form_input-submit) {
  transition: opacity var(--transition-duration) var(--transition-tf);
}
.search-form_wrap:has(.search-form_input-submit):hover, .search-form_wrap:has(.search-form_input-submit):active, .search-form_wrap:has(.search-form_input-submit):focus-visible {
  opacity: var(--opacity-hover);
}
.search-form_input-search {
  width: 100%;
  padding: 12px 16px;
  border-top-left-radius: 32px;
  border-bottom-left-radius: 32px;
  line-height: 1.8;
  border: 2px solid #D9D9D6;
}
.search-form_input-search::-webkit-search-cancel-button {
  opacity: 0;
}
.search-form_input-submit {
  width: var(--input-submit-width-sp);
  height: 100%;
  padding: 12px;
  border-top-right-radius: 32px;
  border-bottom-right-radius: 32px;
  font-size: 0;
  line-height: 1.8;
  background-color: var(--color-white);
  background-image: url(/assets/img/icon-search-02.svg);
  background-size: 24px;
  background-repeat: no-repeat;
  background-position: center;
  border: 2px solid #D9D9D6;
  border-left: none;
}
.search-form:has(.poplink:not(.poplink_invisible)) .search-form_input-search, .search-form:has(.poplink:not(.poplink_invisible)) .search-form_input-submit {
  border-bottom-left-radius: unset;
  border-bottom-right-radius: unset;
}
.search-form .poplink {
  border: 2px solid #D9D9D6;
  top: 100%;
  width: calc(100% + var(--input-submit-width-sp)) !important;
  border-top: unset !important;
  border-bottom-left-radius: 32px !important;
  border-bottom-right-radius: 32px !important;
}
.search-form .poplink_suggest {
  border-top: unset !important;
  margin: 0 !important;
  border: unset !important;
  border-bottom-left-radius: 32px !important;
  border-bottom-right-radius: 32px !important;
}
.search-form .poplink_suggest .word {
  color: var(--color-black);
  font-size: 1.6rem;
  font-weight: var(--font-weight-txt);
  transition: background-color 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
  padding: 12px 16px 0 16px !important;
}
.search-form .poplink_suggest .word:last-child, .search-form .poplink_suggest .word:not(.poplink_invisible):has(+ .word.poplink_invisible) {
  padding-bottom: 12px !important;
  border-bottom-left-radius: 32px;
  border-bottom-right-radius: 32px;
}
.search-form .poplink_suggest .word.highlighted {
  opacity: 1;
  background-color: var(--color-btn-hover);
}
.search-form .poplink .close_button {
  position: absolute;
  top: -44px;
  right: 68px;
  left: unset;
}
.search-form .poplink .close_button::before, .search-form .poplink .close_button::after {
  display: block;
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 10px;
  height: 2px;
  background-color: #707070;
  background-size: 8px 8px;
  transform-origin: center;
}
.search-form .poplink .close_button::before {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.search-form .poplink .close_button::after {
  transform: translate(-50%, -50%) rotate(45deg);
}
.search-form .poplink .close_button img {
  display: none;
}
@media only screen and (min-width: 768px) {
  .search-form_input-search {
    padding: 16px;
  }
  .search-form_input-submit {
    padding: 12px 16px;
    width: var(--input-submit-width-pc);
  }
  .search-form .poplink {
    width: calc(100% + var(--input-submit-width-pc)) !important;
  }
  .search-form .poplink_suggest {
    top: 100%;
  }
  .search-form .poplink_suggest .word {
    padding: 16px 24px 0 24px !important;
  }
  .search-form .poplink_suggest .word:last-child {
    padding-bottom: 16px;
  }
}

/* .search-form-box
----------------------------------------------- */
.search-form-box {
  margin: 48px 0 0 0;
  background-color: rgba(217, 217, 214, 0.3);
  border-radius: 20px;
}
.search-form-box:first-child {
  margin-top: 0;
}
.search-form-box_inner {
  padding: 16px 12px;
}
@media only screen and (min-width: 768px) {
  .search-form-box_inner {
    padding: 24px;
  }
}

/* .search-info｜レイアウトモジュール（おすすめリンク＆キーワード）
----------------------------------------------- */
.search-info:has(> div[data-recommendlinks] ._recommendlinks):has(> div[data-kwranking] ._keywordranking) {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.search-info:has(> div[data-recommendlinks] ._recommendlinks):has(> div[data-kwranking] ._keywordranking) div[data-recommendlinks] {
  max-width: 922px;
  width: fit-content;
  flex: 1 1 100%;
}
.search-info:has(> div[data-recommendlinks] ._recommendlinks):has(> div[data-kwranking] ._keywordranking) ._keywordranking {
  margin-top: 18px !important;
}
@media only screen and (min-width: 768px) {
  .search-info:has(> div[data-recommendlinks] ._recommendlinks):has(> div[data-kwranking] ._keywordranking) {
    flex-direction: row !important;
    gap: 48px;
  }
  .search-info:has(> div[data-recommendlinks] ._recommendlinks):has(> div[data-kwranking] ._keywordranking) ._keywordranking {
    margin-top: 48px !important;
  }
  .search-info:has(> div[data-recommendlinks] ._recommendlinks):has(> div[data-kwranking] ._keywordranking) ._recommendlinks {
    margin: 32px 0 0 0;
  }
  .search-info:has(> div[data-recommendlinks] ._recommendlinks):has(> div[data-kwranking] ._keywordranking) ._links {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ._recommendlinks｜おすすめリンク
----------------------------------------------- */
._recommendlinks {
  margin: 48px 0 32px !important;
  padding: 0 !important;
  border-bottom: none !important;
}
._recommendlinks ._label {
  margin-bottom: 24px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--color-sub);
  font-size: 1.8rem;
  right: unset !important;
  bottom: unset !important;
  padding: 0 !important;
  position: relative !important;
}
._recommendlinks ._links {
  gap: 35px;
  justify-content: center;
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);
}
._recommendlinks ._link {
  width: unset !important;
  margin: 0 !important;
  padding: 0 !important;
}
._recommendlinks ._wrap {
  display: flex;
  flex-direction: column-reverse;
  gap: 16px;
}
._recommendlinks ._link_title a {
  font-size: 1.8rem;
  text-decoration: none !important;
  line-height: initial;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
  max-height: unset;
}
._recommendlinks ._link_image {
  border: 2px solid #D9D9D6;
  border-radius: 16px;
}
._recommendlinks ._link_image img {
  max-width: 286px !important;
  width: 100% !important;
  border-radius: 16px !important;
}
@media only screen and (min-width: 768px) {
  ._recommendlinks {
    margin: 32px 0 24px;
  }
  ._recommendlinks ._label {
    padding-bottom: 12px !important;
  }
  ._recommendlinks ._links {
    justify-content: start;
    grid-template-columns: repeat(4, 1fr);
  }
}

/* ._keywordranking｜よく検索されるキーワード
----------------------------------------------- */
._keywordranking {
  margin: 48px 0 32px !important;
  padding: 0 !important;
}
._keywordranking ._label {
  margin-bottom: 24px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--color-sub);
  font-size: 1.8rem;
}
._keywordranking ._keywords {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
._keywordranking ._keywords ._keyword {
  margin: 0 !important;
  display: flex;
  flex-wrap: nowrap;
  gap: 6px;
}
._keywordranking ._keywords ._keyword ._rank {
  margin: 0 !important;
  flex: 0 0 auto;
  width: 15px;
  height: 100%;
  font-size: 0;
  background: no-repeat center;
  background-image: url("data:image/svg+xml; charset=utf-8, %3csvg%20xmlns%3d%22http%3a%2f%2fwww%2ew3%2eorg%2f2000%2fsvg%22%20viewBox%3d%220%200%2015%2012%22%3e%3cpath%20d%3d%22M0,10%2e5V0H9%2e9l3%2e6,5%2e25L9%2e9,10%2e5Z%22%20transform%3d%22translate(0%2e75%200%2e75)%22%20fill%3d%22none%22%20stroke%3d%22%2397999B%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dlinejoin%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3cpath%20d%3d%22M0,1A1,1,0,1,1,1,2,1,1,0,0,1,0,1%22%20transform%3d%22translate(9%2e25%204%2e75)%22%20fill%3d%22%2397999B%22%2f%3e%3c%2fsvg%3e");
}
._keywordranking ._keywords ._keyword ._word {
  font-size: 1.6rem;
  font-weight: var(--font-weight-bold);
}
._keywordranking ._keywords ._keyword ._word a {
  text-decoration: none;
  color: var(--color-black);
}
@media only screen and (min-width: 768px) {
  ._keywordranking {
    margin: 32px 0 24px;
  }
  ._keywordranking ._label {
    padding-bottom: 12px;
  }
}

/* .search-toggle｜絞り込みトグル
----------------------------------------------- */
.search-toggle {
  margin-top: 48px;
  border: 2px solid var(--color-sub);
  border-radius: 16px;
}
.search-toggle_hdg {
  position: relative;
  margin: 0;
  padding: 16px 24px 16px 56px;
  font-size: 1.8rem;
  font-weight: var(--font-weight-bold);
}
.search-toggle_hdg::before {
  display: block;
  content: "";
  position: absolute;
  left: 24px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  background-color: var(--color-white);
  background-image: url(/assets/img/icon-filter.svg);
  background-size: 18px;
  background-repeat: no-repeat;
  background-position: center;
}
.search-toggle_content {
  padding: 0 12px 12px;
}
.search-toggle_content-inner {
  padding: 24px;
  width: 100%;
  background-color: rgba(217, 217, 214, 0.3);
  border-radius: 16px;
}
.search-toggle_categoryList-item {
  padding: 24px 0;
  display: flex;
  gap: 12px;
  flex-direction: column;
  border-top: 1px solid var(--color-sub);
}
.search-toggle_categoryList-item:first-child {
  padding-top: 0;
  border-top: none;
}
.search-toggle_categoryList-item:has(.fn-site-search_movedCategoryArea:empty) {
  display: none;
}
.search-toggle_categoryTitle {
  flex: 0 0 auto;
  min-width: 120px;
  font-size: 1.8rem;
  font-weight: var(--font-weight-bold);
}
.search-toggle_btn {
  display: block;
  width: 100%;
  text-align: center;
  margin: 0 auto;
}
.search-toggle_btn-inner {
  position: relative;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: min(218px, 100%);
  overflow: hidden;
  margin: 0 auto;
  padding: 16px 40px;
  border: solid 2px var(--color-sub);
  background-color: var(--color-white);
  border-radius: 4em;
  text-decoration: none;
  font-weight: var(--font-weight-bold);
  color: var(--color-font);
  text-align: center;
  transition: background-color 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.search-toggle_btn-inner:hover, .search-toggle_btn-inner:active, .search-toggle_btn-inner:focus-visible {
  opacity: 1;
  background-color: var(--color-btn-hover);
}
.search-toggle_btn-input {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  .search-toggle {
    margin-top: 46px;
    border-radius: 32px;
  }
  .search-toggle_hdg {
    font-size: 2rem;
  }
  .search-toggle_content {
    padding: 0 24px 16px;
  }
  .search-toggle_content-inner {
    padding: 32px;
    border-radius: 32px;
  }
  .search-toggle_categoryList-item {
    padding: 40px 0;
    flex-direction: row;
    gap: 40px;
  }
  .search-toggle_categoryTitle {
    font-size: 1.8rem;
  }
}

/* ._attributegroup｜絞り込みの各グループ
----------------------------------------------- */
._attributegroup {
  margin: 0 !important;
  padding: 0 !important;
}
._attributegroup ._group {
  display: none;
}
._attributegroup ._attributes {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
._attributegroup ._attributes ._attribute {
  margin: 0 !important;
}
._attributegroup ._attributes ._attribute:has(input[type=checkbox]:disabled) {
  text-decoration: none;
}
._attributegroup ._attributes ._attribute label {
  position: relative;
  padding-left: 28px;
}
._attributegroup ._attributes ._attribute label ._count {
  display: none;
}
._attributegroup ._attributes ._attribute label:has(input[type=checkbox])::before, ._attributegroup ._attributes ._attribute label:has(input[type=checkbox])::after {
  display: block;
  content: "";
  position: absolute;
}
._attributegroup ._attributes ._attribute label:has(input[type=checkbox])::before {
  left: 0;
  top: 0;
  border: 2px solid var(--color-sub);
  border-radius: 6px;
  width: 20px;
  height: 20px;
  background-color: var(--color-white);
}
._attributegroup ._attributes ._attribute label:has(input[type=checkbox]:checked)::before {
  background-color: #97999B;
  border: 2px solid #97999B;
}
._attributegroup ._attributes ._attribute label:has(input[type=checkbox]:checked)::after {
  left: 4px;
  top: 0;
  bottom: 5px;
  margin: auto 0;
  width: 11px;
  height: 7px;
  border-left: 3px solid #fff;
  border-bottom: 3px solid #fff;
  transform: rotate(-45deg);
}
._attributegroup ._attributes ._attribute label:has(input[type=checkbox]:disabled)::before {
  background-color: #F5F5F5;
  border: 2px solid var(--color-sub);
}
._attributegroup ._attributes ._attribute label:has(input[type=checkbox]:disabled) ._label {
  color: var(--color-sub);
}
._attributegroup ._attributes ._attribute label input[type=checkbox] {
  position: absolute;
  z-index: -1;
  opacity: 0;
}
._attributegroup ._attributes ._sub_groups {
  display: none;
}
@media only screen and (min-width: 768px) {
  ._attributegroup ._attributes {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 16px 24px;
  }
  ._attributegroup ._attributes ._attribute label:has(input[type=checkbox])::before {
    top: 4px;
  }
  ._attributegroup ._attributes ._attribute label:has(input[type=checkbox]:checked)::after {
    top: 4px;
  }
}

/* .search-status
----------------------------------------------- */
.search-status {
  margin-top: 48px;
}
.search-status ._status {
  display: flex;
  flex-wrap: wrap;
  row-gap: 8px;
  font-size: 24px;
  font-weight: var(--font-weight-bold);
}
.search-status ._status ._countstart,
.search-status ._status ._countend,
.search-status ._status ._totalhits {
  font-size: 1.6rem;
  font-weight: var(--font-weight-txt);
  color: #666;
}
.search-status ._status ._countstart::after,
.search-status ._status ._countend::after,
.search-status ._status ._totalhits::after {
  font-size: 1.6rem;
  vertical-align: initial;
}
.search-status ._status ._keyword + span {
  margin-left: 24px;
}
.search-status ._status ._countstart {
  align-self: center;
}
.search-status ._status ._countstart:first-of-type {
  margin-left: 24px;
}
.search-status ._status ._countstart::after {
  content: "～";
}
.search-status ._status ._countend {
  align-self: center;
}
.search-status ._status ._countend::after {
  content: " / ";
}
.search-status ._status ._totalhits {
  align-self: center;
}
.search-status ._status ._totalhits::after {
  content: "件";
}
@media only screen and (min-width: 768px) {
  .search-status {
    margin-top: 64px;
  }
  .search-status ._status {
    font-size: 32px;
  }
  .search-status ._status ._countstart,
  .search-status ._status ._countend,
  .search-status ._status ._totalhits {
    font-size: 1.8rem;
  }
  .search-status ._status ._countstart::after,
  .search-status ._status ._countend::after,
  .search-status ._status ._totalhits::after {
    font-size: 1.8rem;
  }
}

/* .search-selector-list｜セレクターリスト
----------------------------------------------- */
.search-selector-list {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 20px;
  align-items: flex-end;
}
.search-selector-list select {
  position: relative;
  display: flex;
  border-radius: 6px;
  border: 2px solid var(--color-sub);
  background-color: var(--color-white);
  padding: 8px 15px !important;
  border-radius: 6px;
  min-width: 138px;
  font-weight: var(--font-weight-bold);
  background-image: url(/assets/img/icon-arrow-pulldown.svg);
  background-repeat: no-repeat;
  background-position: right 15px top 14px;
  background-size: 14px;
}
.search-selector-list_sortselector ._sortorderselector {
  flex-direction: column;
  gap: 4px;
  align-items: flex-start !important;
  padding: 0 !important;
  margin: 0 !important;
}
.search-selector-list_sortselector ._sortorderselector ._label {
  color: var(--color-main);
  font-size: 1.2rem;
  font-weight: var(--font-weight-txt);
}
.search-selector-list_countselector ._countselector {
  flex-direction: column;
  gap: 4px;
  align-items: flex-start !important;
  padding: 0 !important;
  margin: 0 !important;
}
.search-selector-list_countselector ._countselector ._label {
  color: var(--color-main);
  font-size: 1.2rem;
  font-weight: var(--font-weight-txt);
}
.search-selector-list_btn {
  text-align: center;
}
.search-selector-list_btn-inner {
  position: relative;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: min(76px, 100%);
  overflow: hidden;
  margin: 0 auto;
  padding: 12px 24px;
  border: solid 2px var(--color-sub);
  background-color: var(--color-white);
  border-radius: 4em;
  text-decoration: none;
  font-weight: var(--font-weight-bold);
  color: var(--color-font);
  text-align: center;
  transition: background-color 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.search-selector-list_btn-inner:hover, .search-selector-list_btn-inner:active, .search-selector-list_btn-inner:focus-visible {
  opacity: 1;
  background-color: var(--color-btn-hover);
}
.search-selector-list_btn-input {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  .search-selector-list {
    justify-content: flex-end;
    gap: 16px;
    margin-top: 28px;
  }
}

/* .search-results｜結果一覧
----------------------------------------------- */
.search-results {
  margin-top: 32px;
}
.search-results ._searchresults ._items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px 16px;
}
.search-results ._searchresults ._items ._item {
  margin: 0 !important;
}
.search-results ._searchresults ._items ._item ._wrap {
  display: grid;
  grid-template-areas: "thumbnail" "title" "snippet" "url";
}
.search-results ._searchresults ._items ._item ._wrap ._layoutgroup1 {
  grid-area: title;
  margin: 10px 0 0 !important;
  padding: 0 0 12px;
  font-size: 1.4rem;
  font-weight: var(--font-weight-bold);
  border-bottom: 2px solid var(--color-sub);
}
.search-results ._searchresults ._items ._item ._wrap ._layoutgroup1 ._seq {
  display: none;
}
.search-results ._searchresults ._items ._item ._wrap ._layoutgroup1 ._title {
  padding: 0 !important;
  line-height: initial;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
  max-height: unset;
}
.search-results ._searchresults ._items ._item ._wrap ._layoutgroup1 ._title a {
  font-weight: var(--font-weight-bold);
  text-decoration: none;
}
.search-results ._searchresults ._items ._item ._wrap ._layoutgroup2 {
  display: contents;
}
.search-results ._searchresults ._items ._item ._wrap ._layoutgroup2 ._thumbnail {
  grid-area: thumbnail;
  min-width: unset;
  max-height: 202px;
  margin: 0 auto;
  min-height: unset;
}
.search-results ._searchresults ._items ._item ._wrap ._layoutgroup2 ._thumbnail::before {
  display: none;
}
.search-results ._searchresults ._items ._item ._wrap ._layoutgroup2 ._thumbnail a {
  grid-area: img;
  position: relative;
  padding: 0 !important;
  background-color: var(--color-white);
}
.search-results ._searchresults ._items ._item ._wrap ._layoutgroup2 ._thumbnail img {
  border-color: var(--color-sub);
  vertical-align: middle;
}
.search-results ._searchresults ._items ._item ._wrap ._layoutgroup2 ._snippet {
  grid-area: snippet;
  margin-top: 12px;
  padding: 0 !important;
  font-size: 1.4rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
}
.search-results ._searchresults ._items ._item ._wrap ._layoutgroup3 {
  display: none;
}
.search-results ._searchresults ._items ._item ._wrap ._layoutgroup4 {
  grid-area: url;
  margin: 4px 0 0 !important;
  padding: 0 !important;
  justify-content: flex-start;
}
.search-results ._searchresults ._items ._item ._wrap ._layoutgroup4 ._link {
  padding: 0 !important;
}
.search-results ._searchresults ._items ._item ._wrap ._layoutgroup4 ._link a {
  text-decoration: none;
  font-size: 1.1rem;
  color: #97999B;
}
@media only screen and (min-width: 768px) {
  .search-results {
    margin-top: 48px;
  }
  .search-results ._searchresults ._items {
    flex-direction: row;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 48px 0;
  }
  .search-results ._searchresults ._items ._item ._wrap {
    grid-template-areas: "thumbnail title" "thumbnail snippet" "thumbnail url";
    gap: 0 32px;
    grid-template-columns: 202px auto;
  }
  .search-results ._searchresults ._items ._item ._wrap em {
    background-color: rgba(255, 184, 28, 0.3) !important;
  }
  .search-results ._searchresults ._items ._item ._wrap ._layoutgroup1 {
    margin-top: 0 !important;
    font-size: 2.2rem;
    padding: 0 !important;
  }
  .search-results ._searchresults ._items ._item ._wrap ._layoutgroup1 ._title {
    -webkit-line-clamp: 1;
    max-height: 1.3em;
  }
  .search-results ._searchresults ._items ._item ._wrap ._layoutgroup2 ._thumbnail {
    min-width: 202px;
  }
  .search-results ._searchresults ._items ._item ._wrap ._layoutgroup2 ._thumbnail a img {
    vertical-align: top;
  }
  .search-results ._searchresults ._items ._item ._wrap ._layoutgroup2 ._snippet {
    margin-top: 20px;
    font-size: 1.6rem;
    -webkit-line-clamp: 2;
    max-height: 3.2em;
  }
  .search-results ._searchresults ._items ._item ._wrap ._layoutgroup3 {
    display: none;
  }
  .search-results ._searchresults ._items ._item ._wrap ._layoutgroup4 {
    grid-area: url;
    margin: 10px 0 0 !important;
  }
}

/* .search-pagenator｜ページネーション
----------------------------------------------- */
.search-pagenator ._pagenator {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin: 0 !important;
  padding: 0 !important;
  color: #666;
}
.search-pagenator ._pagenator ._nav {
  flex: 0 1 auto !important;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  border: 2px solid var(--color-sub);
  border-radius: 2em;
  background-color: var(--color-white);
  font-size: 1.8rem;
  display: flex !important;
  padding: 0 !important;
  margin: 0 !important;
}
.search-pagenator ._pagenator ._nav._first {
  display: none !important;
}
.search-pagenator ._pagenator ._nav._prev, .search-pagenator ._pagenator ._nav._next {
  display: none !important;
}
.search-pagenator ._pagenator ._nav._current {
  border: 2px solid var(--color-main);
  background-color: var(--color-main);
  color: var(--color-white);
}
.search-pagenator ._pagenator ._nav a {
  transition: var(--transition-duration) var(--transition-tf);
  text-decoration: none;
  color: #666;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 2em;
}
.search-pagenator ._pagenator ._nav a._button {
  padding: 0 !important;
  border-radius: 2em;
  border-bottom: unset;
}
.search-pagenator ._pagenator ._nav a:hover, .search-pagenator ._pagenator ._nav a:active, .search-pagenator ._pagenator ._nav a:focus-visible {
  background-color: var(--color-btn-hover) !important;
  color: var(--color-black);
  opacity: 1;
}
.search-pagenator ._pagenator-dots {
  font-size: 2.4rem;
  line-height: 2;
}
