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

file name	: common.css
author		 : Abilive
style info : 基本・共通設定
=================================================================== */
@import url("https://fonts.googleapis.com/css2?family=Andada+Pro:wght@400..840&family=Hubot+Sans&family=Noto+Serif+JP:wght@200..900&display=swap");
/* ===================================================================
CSS information

file name  : _settings.scss
author     : Abilive
style info : 汎用設定
=================================================================== */
@property --1vw {
  syntax: "<length>";
  inherits: true;
  initial-value: 0px;
}
:root {
  --1vw: 1vw;
  --vw-to-px: calc(tan(atan2(var(--1vw), 1px)));
}

:root {
  --font-size-base: 15;
  --font-size-min: 13;
  --font-size-sp: 13;
  --font-family-base: "Noto Serif JP", "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
  --font-family-en: "Andada Pro", "Times New Roman", Times, Garamond, Georgia, serif;
  --font-family-en-hubot: "Hubot Sans", "Times New Roman", Times, Garamond, Georgia, serif;
  --color-base: #111;
  --color-black: #000;
  --color-black-lighten: rgba(0, 0, 0, 0.3);
  --color-black-lighten2: rgba(0, 0, 0, 0.7);
  --color-black-lighten3: rgba(0, 0, 0, 0.4);
  --color-white: #fff;
  --color-white-lighten: rgba(255, 255, 255, 0.6);
  --color-white-lighten2: rgba(255, 255, 255, 0.5);
  --color-key1: #18C5F4;
  --color-key2: #0B369C;
  --color-key3: #00A0DE;
  --color-key4: #003893;
  --color-bg1: #F6F3EE;
  --color-bg2: #EDE9E3;
  --color-bg3: #DDD8D0;
  --color-bg4: #01060E;
  --color-bg5: #010B1A;
  --color-bg5-lighten: rgba(1, 11, 26, 0.8);
  --color-bg6: #1A2D4B;
  --color-bg6-lighten: rgba(26, 45, 75, 0.5);
  --color-bg6-lighten2: rgba(26, 45, 75, 0.3);
  --color-bg6-lighten3: rgba(26, 45, 75, 0.4);
  --color-bg7: #1A2331;
  --color-bg7-lighten: rgba(26, 35, 49, 0.8);
  --color-bg8: #7E7E7E;
  --color-bg9: #0B192E;
  --color-bg10: #2C3B56;
  --color-bg-step1: #1390D3;
  --color-bg-step2: #106EBE;
  --color-bg-step3: #0E55AF;
  --color-bg-step4: #0B369C;
  --color-base-bg: var(--color-bg5);
  --color-border1: #54637A;
  --color-border2: #A6BAD9;
  --color-border2-lighten: rgba(166, 186, 217, 0.5);
  --color-border-white1: rgba(255, 255, 255, 0.5);
  --color-border-white2: rgba(255, 255, 255, 0.3);
  --color-border-white3: rgba(255, 255, 255, 0.6);
  --color-gradient1: linear-gradient(149deg, #00A0DE, rgba(0, 160, 222, 0.6));
  --color-gradient2: linear-gradient(155deg, #2D3C56, rgba(45, 60, 86, 0.6));
  --color-gradient3: linear-gradient(132deg, #0B369C, rgba(11, 54, 156, 0.6));
  --color-gradient4: linear-gradient(102deg, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.15));
  --color-gradient5: linear-gradient(to right, #1A2D4B, rgba(26, 45, 75, 0.3));
  --content-max-width: 1280px;
  --content-width: 89%;
  --content-width-small: 79%;
  --duration-normal: 300ms;
  --ease: ease;
  --ease-in-out: ease-in-out;
  --opacity-hover: 0.5;
  --header-height-pc: 5.3rem;
  --header-height-sp: 4rem;
  --icon-arrow-left: url("../images/common/icon-arrow-left.svg");
  --icon-arrow-right: url("../images/common/icon-arrow-right.svg");
  --icon-arrow-up: url("../images/common/icon-arrow-up.svg");
  --icon-arrow-circle-right: url("../images/common/icon-arrow-circle-right.svg");
  --icon-chevron-down: url("../images/common/icon-chevron-down.svg");
  --icon-chevron-down-round: url("../images/common/icon-chevron-down-round.svg");
  --icon-pdf: url("../images/common/icon-pdf.svg");
  --icon-scroll-down: url("../images/common/icon-scroll-down.svg");
  --icon-play: url("../images/common/icon-play.svg");
  --icon-instagram: url("../images/common/icon-instagram.svg");
  --icon-youtube: url("../images/common/icon-youtube.svg");
}

html {
  line-height: 1.5;
}
@media only screen and (min-width: 1200px) {
  html {
    font-size: clamp(0.8125rem, -0.1875rem + 1.25 * var(--vw-to-px) / 16 * 1rem, 0.9375rem);
  }
}
@media print {
  html {
    font-size: clamp(0.8125rem, -0.1875rem + 1.25 * var(--vw-to-px) / 16 * 1rem, 0.9375rem);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  html {
    font-size: clamp(0.8125rem, 0.6246330724rem + 0.3913894325 * var(--vw-to-px) / 16 * 1rem, 0.9375rem);
  }
}
@media only screen and (max-width: 767px) {
  html {
    font-size: clamp(0.0625rem, 0.060502611rem + 3.1958224543 * var(--vw-to-px) / 16 * 1rem, 1.5925rem);
  }
}

body {
  overflow-x: hidden;
  color: var(--color-white);
  background: var(--color-base-bg);
  -webkit-text-size-adjust: none;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2;
}
@media only screen and (min-width: 768px) {
  body {
    font-size: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  body {
    font-size: 1rem;
  }
}
body.is-noscroll {
  overflow-y: hidden;
}
body a {
  color: inherit;
  text-decoration: underline;
}
body a:hover, body a:focus {
  text-decoration: none;
}
body img {
  max-width: 100%;
  -webkit-touch-callout: none;
  line-height: 1;
  width: 100%;
  height: auto;
}
body svg {
  overflow: visible;
  display: block;
}
body button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  border-radius: 0;
  padding: 0;
  background: none;
  color: inherit;
  font-size: inherit;
  font-family: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
}
body button:focus {
  outline-offset: 0;
}
body button {
  cursor: pointer;
}
body dialog {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  border: none;
  background: transparent;
  color: inherit;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  -webkit-transition-property: visibility, opacity;
  transition-property: visibility, opacity;
  -webkit-transition-duration: var(--duration-normal);
  transition-duration: var(--duration-normal);
  -webkit-transition-timing-function: var(--ease);
  transition-timing-function: var(--ease);
}
body dialog.is-open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
body dialog::-ms-backdrop {
  background-color: transparent;
}
body dialog::backdrop {
  background-color: transparent;
}
body h1, body h2, body h3, body h4, body h5, body h6 {
  font-weight: normal;
}
body * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
body *:before, body *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body,
pre,
input,
textarea,
select {
  font-family: var(--font-family-base);
}

input,
select,
textarea {
  font-size: 100%;
}

@media only screen and (max-width: 767px) {
  select {
    font-size: 16px;
  }
}

html.ie8 .view_tab,
html.ie8 .view_tab_sp,
html.ie8 .view_sp {
  display: none !important;
}
html.ie8 #abi_page {
  min-width: 1280px !important;
  margin: auto;
  font-size: 100% !important;
}

@media only screen and (min-width: 1200px) {
  body .view_tab-sp,
  body .view_tab {
    display: none !important;
  }
}
@media print {
  body .view_tab-sp,
  body .view_tab {
    display: none !important;
  }
}
@media only screen and (min-width: 768px) {
  body .view_sp {
    display: none !important;
  }
}
@media only screen and (max-width: 1199px) {
  body .view_pc {
    display: none !important;
  }
}
@media only screen and (max-width: 767px) {
  body .view_pc-tab,
  body .view_tab {
    display: none !important;
  }
}

.mouse .over {
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: var(--duration-normal);
  transition-duration: var(--duration-normal);
  -webkit-transition-timing-function: var(--ease);
  transition-timing-function: var(--ease);
}
.over:focus, .mouse .over:hover, .touch .over.touchstart {
  opacity: var(--opacity-hover);
}
.touch .over {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.touch .over.touchend {
  -webkit-transition-delay: 200ms;
  transition-delay: 200ms;
}

#abi_page {
  font-size: 100% !important;
}
@media only screen and (min-width: 1200px) {
  #abi_page {
    width: 100%;
    margin: auto;
  }
}
@media print {
  #abi_page {
    width: 100%;
    margin: auto;
  }
}
.is-noscroll #abi_page {
  overflow: auto;
  scrollbar-gutter: stable;
}

.l-header {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: 1001;
  -webkit-transition: -webkit-transform var(--duration-normal) var(--ease-in-out);
  transition: -webkit-transform var(--duration-normal) var(--ease-in-out);
  transition: transform var(--duration-normal) var(--ease-in-out);
  transition: transform var(--duration-normal) var(--ease-in-out), -webkit-transform var(--duration-normal) var(--ease-in-out);
  background: var(--color-black-lighten);
  backdrop-filter: blur(10px);
}
.l-header.is-hidden {
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
}
.l-header__logo {
  position: relative;
  z-index: 1001;
  width: 17.3rem;
}
@media only screen and (min-width: 1200px) {
  .l-header__logo {
    grid-area: logo;
    margin-top: 0.8rem;
  }
}
@media print {
  .l-header__logo {
    grid-area: logo;
    margin-top: 0.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .l-header__logo {
    width: 15.1rem;
  }
}
.l-header__logo a {
  display: block;
}
.mouse .l-header__logo a {
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: var(--duration-normal);
  transition-duration: var(--duration-normal);
  -webkit-transition-timing-function: var(--ease);
  transition-timing-function: var(--ease);
}
.l-header__logo a:focus, .mouse .l-header__logo a:hover, .touch .l-header__logo a.touchstart {
  opacity: var(--opacity-hover);
}
.touch .l-header__logo a {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.touch .l-header__logo a.touchend {
  -webkit-transition-delay: 200ms;
  transition-delay: 200ms;
}
.l-header__logo a img {
  vertical-align: middle;
}
.l-header__inner {
  border-bottom: 1px solid var(--color-border-white2);
}
@media only screen and (min-width: 1200px) {
  .l-header__inner {
    display: grid;
    grid-template-columns: auto 1fr auto;
    grid-template-areas: "logo nav entry";
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
    gap: 1rem 2.6rem;
    height: var(--header-height-pc);
    padding-inline: 2rem;
  }
}
@media print {
  .l-header__inner {
    display: grid;
    grid-template-columns: auto 1fr auto;
    grid-template-areas: "logo nav entry";
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
    gap: 1rem 2.6rem;
    height: var(--header-height-pc);
    padding-inline: 2rem;
  }
}
@media only screen and (max-width: 1199px) {
  .l-header__inner {
    display: grid;
    grid-template-columns: auto auto;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-column-gap: 2.6rem;
    -moz-column-gap: 2.6rem;
    column-gap: 2.6rem;
    padding-inline: 1rem 0.8rem;
    height: var(--header-height-sp);
  }
}
@media only screen and (min-width: 1200px) {
  .l-header__entry {
    grid-area: entry;
    width: 200px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin-top: 1.4rem;
  }
}
@media print {
  .l-header__entry {
    grid-area: entry;
    width: 200px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin-top: 1.4rem;
  }
}
@media only screen and (max-width: 1199px) {
  .l-header__entry {
    display: none;
  }
}
@media only screen and (min-width: 1200px) {
  .l-header .c-hamburger {
    display: none;
  }
}
@media print {
  .l-header .c-hamburger {
    display: none;
  }
}
@media only screen and (max-width: 1199px) {
  .l-header .c-hamburger {
    position: relative;
    z-index: 1001;
    margin-left: auto;
  }
}

.l-recruit-links {
  position: relative;
  padding-block: 6.6rem 8rem;
}
.l-recruit-links:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  z-index: 1;
}
.l-recruit-links__bg {
  position: absolute;
  inset: 0;
}
.l-recruit-links__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.l-recruit-links__inner {
  position: relative;
  z-index: 1;
  width: var(--content-width);
  margin-inline: auto;
}
@media only screen and (min-width: 768px) {
  .l-recruit-links__inner {
    max-width: 1280px;
  }
}
@media only screen and (min-width: 1200px) {
  .l-recruit-links__inner {
    display: grid;
    grid-template-columns: 1fr auto;
    -webkit-column-gap: 10.6rem;
    -moz-column-gap: 10.6rem;
    column-gap: 10.6rem;
  }
}
@media print {
  .l-recruit-links__inner {
    display: grid;
    grid-template-columns: 1fr auto;
    -webkit-column-gap: 10.6rem;
    -moz-column-gap: 10.6rem;
    column-gap: 10.6rem;
  }
}
@media only screen and (max-width: 1199px) {
  .l-recruit-links__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: 4.6rem;
  }
}
.l-recruit-links__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: 2rem;
}
@media only screen and (min-width: 1200px) {
  .l-recruit-links__text {
    margin-top: 4.3rem;
  }
}
@media print {
  .l-recruit-links__text {
    margin-top: 4.3rem;
  }
}
.l-recruit-links__heading {
  word-break: keep-all;
  overflow-wrap: break-word;
  letter-spacing: 0em;
  line-height: 1.6;
}
@media only screen and (min-width: 768px) {
  .l-recruit-links__heading {
    font-size: 3.1rem;
  }
}
@media only screen and (max-width: 767px) {
  .l-recruit-links__heading {
    font-size: 2.5rem;
  }
}
.l-recruit-links .c-entry-years {
  display: contents;
}
.l-recruit-links .c-entry-years .c-entry-years__item {
  aspect-ratio: 282/148;
}
@media only screen and (max-width: 767px) {
  .l-recruit-links .c-entry-years .c-entry-years__item {
    width: 49%;
    aspect-ratio: 165/161;
    padding: 0.8rem;
  }
}
.l-recruit-links .c-entry-years .c-entry-years__item .c-entry-years__item-jp {
  padding-left: 0.5rem;
}
@media only screen and (min-width: 768px) {
  .l-recruit-links .c-entry-years .c-entry-years__item .c-entry-years__item-jp {
    font-size: 1.3rem;
  }
}
@media only screen and (max-width: 767px) {
  .l-recruit-links .c-entry-years .c-entry-years__item .c-entry-years__item-jp {
    font-size: 1.5rem;
  }
}

.l-footer__head {
  display: grid;
  grid-template-columns: 1fr auto;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  margin-top: 5.3rem;
  padding: 1.6rem 2.6rem;
  border-radius: 0.2rem;
  background: rgba(255, 255, 255, 0.1);
  width: var(--content-width);
  margin-inline: auto;
}
@media only screen and (min-width: 768px) {
  .l-footer__head {
    max-width: 1280px;
  }
}
@media only screen and (max-width: 767px) {
  .l-footer__head {
    display: block;
    margin-top: 3.1rem;
    padding: 1.2rem 1.3rem;
  }
}
.l-footer__head .c-page-top {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media only screen and (max-width: 767px) {
  .l-footer__head .c-page-top {
    margin-top: 1rem;
  }
}
.l-footer__main {
  width: var(--content-width);
  margin-inline: auto;
}
@media only screen and (min-width: 768px) {
  .l-footer__main {
    max-width: 1280px;
  }
}
@media only screen and (min-width: 768px) {
  .l-footer__main {
    display: grid;
    grid-template-columns: 1fr auto;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
    -webkit-column-gap: 2.6rem;
    -moz-column-gap: 2.6rem;
    column-gap: 2.6rem;
    padding-block: 6.2rem 6.6rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .l-footer__main {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  .l-footer__main {
    padding-block: 3.1rem 5.3rem;
  }
}
.l-footer__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: 5.3rem;
}
@media only screen and (max-width: 767px) {
  .l-footer__info {
    row-gap: 3.1rem;
  }
}
.l-footer__logo {
  width: 23.3rem;
}
@media only screen and (max-width: 767px) {
  .l-footer__logo {
    width: 13.7rem;
  }
}
.l-footer__logo a {
  display: block;
}
.mouse .l-footer__logo a {
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: var(--duration-normal);
  transition-duration: var(--duration-normal);
  -webkit-transition-timing-function: var(--ease);
  transition-timing-function: var(--ease);
}
.l-footer__logo a:focus, .mouse .l-footer__logo a:hover, .touch .l-footer__logo a.touchstart {
  opacity: var(--opacity-hover);
}
.touch .l-footer__logo a {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.touch .l-footer__logo a.touchend {
  -webkit-transition-delay: 200ms;
  transition-delay: 200ms;
}
.l-footer__catch {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: 1.2rem;
}
@media only screen and (max-width: 767px) {
  .l-footer__catch {
    row-gap: 0.5rem;
  }
}
.l-footer__catch-jp {
  display: block;
  letter-spacing: 0.07em;
  line-height: 1.7;
  font-weight: 600;
}
@media only screen and (min-width: 768px) {
  .l-footer__catch-jp {
    font-size: 3.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .l-footer__catch-jp {
    font-size: 2.2rem;
  }
}
.l-footer__catch-jp span {
  display: inline-block;
}
@media only screen and (min-width: 768px) {
  .l-footer__catch-jp span:first-of-type {
    margin-left: -1.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .l-footer__catch-jp span:first-of-type {
    margin-left: -1.1rem;
  }
}
@media only screen and (min-width: 768px) {
  .l-footer__catch-jp span:nth-of-type(2), .l-footer__catch-jp span:nth-of-type(3) {
    margin-left: -3.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .l-footer__catch-jp span:nth-of-type(2), .l-footer__catch-jp span:nth-of-type(3) {
    margin-left: -1.9rem;
  }
}
.l-footer__catch-en {
  display: block;
  letter-spacing: 0em;
  line-height: 1.36;
  font-weight: 400;
  font-family: var(--font-family-en);
}
@media only screen and (min-width: 768px) {
  .l-footer__catch-en {
    font-size: 3.1rem;
  }
}
@media only screen and (max-width: 767px) {
  .l-footer__catch-en {
    font-size: 1.9rem;
  }
}
@media only screen and (min-width: 1200px) {
  .l-footer__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-column-gap: 4.9rem;
    -moz-column-gap: 4.9rem;
    column-gap: 4.9rem;
    width: 38.4rem;
    padding-right: 1.3rem;
  }
}
@media print {
  .l-footer__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-column-gap: 4.9rem;
    -moz-column-gap: 4.9rem;
    column-gap: 4.9rem;
    width: 38.4rem;
    padding-right: 1.3rem;
  }
}
@media only screen and (max-width: 1199px) {
  .l-footer__nav {
    margin-top: 4.7rem;
  }
}
@media only screen and (min-width: 768px) {
  .l-footer__nav-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: 3.6rem;
    width: 16.1rem;
  }
}
@media only screen and (max-width: 1199px) {
  .l-footer__nav-item:not(:has(.c-button)) {
    display: none;
  }
}
@media only screen and (min-width: 768px) {
  .l-footer__nav-item .c-button {
    width: 100%;
    margin-top: -0.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .l-footer__nav-item .c-button {
    width: 16rem;
  }
}
.l-footer__nav-heading {
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 0.8rem;
  -moz-column-gap: 0.8rem;
  column-gap: 0.8rem;
  line-height: 1.4;
}
@media only screen and (min-width: 768px) {
  .l-footer__nav-heading {
    font-size: 1.3rem;
  }
}
@media only screen and (max-width: 767px) {
  .l-footer__nav-heading {
    font-size: 1.1rem;
  }
}
.l-footer__nav-heading:before {
  content: "";
  display: block;
  width: 0.4rem;
  aspect-ratio: 1;
  border-radius: 100%;
  background: var(--color-key1);
}
.l-footer__nav-sublist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  row-gap: 1rem;
  margin-top: 1.3rem;
  padding-left: 1.2rem;
}
.l-footer__nav-subitem a {
  display: block;
  text-decoration: none;
  line-height: 1.6;
}
.mouse .l-footer__nav-subitem a {
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: var(--duration-normal);
  transition-duration: var(--duration-normal);
  -webkit-transition-timing-function: var(--ease);
  transition-timing-function: var(--ease);
}
.l-footer__nav-subitem a:focus, .mouse .l-footer__nav-subitem a:hover, .touch .l-footer__nav-subitem a.touchstart {
  opacity: var(--opacity-hover);
}
.touch .l-footer__nav-subitem a {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.touch .l-footer__nav-subitem a.touchend {
  -webkit-transition-delay: 200ms;
  transition-delay: 200ms;
}
@media only screen and (min-width: 768px) {
  .l-footer__nav-subitem a {
    font-size: 0.9rem;
  }
}
@media only screen and (max-width: 767px) {
  .l-footer__nav-subitem a {
    font-size: 1rem;
  }
}
.l-footer__foot {
  padding-block: 3.3rem 3.8rem;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}
@media only screen and (max-width: 767px) {
  .l-footer__foot {
    padding-block: 1.8rem 2.1rem;
  }
}
.l-footer__foot-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 2rem;
  -moz-column-gap: 2rem;
  column-gap: 2rem;
  width: var(--content-width);
  margin-inline: auto;
}
@media only screen and (min-width: 768px) {
  .l-footer__foot-inner {
    max-width: 1280px;
  }
}
.l-footer__copyright {
  font-family: var(--font-family-en);
}
@media only screen and (min-width: 768px) {
  .l-footer__copyright {
    font-size: 0.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .l-footer__copyright {
    font-size: 0.8rem;
  }
}

.p-breadcrumb {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  scrollbar-width: auto;
}
.p-breadcrumb::-webkit-scrollbar {
  width: 8px;
  height: 5px;
}
.p-breadcrumb::-webkit-scrollbar-track {
  border-radius: 1000px;
  background-color: transparent;
}
.p-breadcrumb::-webkit-scrollbar-thumb {
  border-radius: 1000px;
  cursor: pointer;
}
.p-breadcrumb {
  scrollbar-color: transparent transparent;
}
.p-breadcrumb::-webkit-scrollbar-thumb {
  background-color: transparent;
}
.p-breadcrumb:hover {
  scrollbar-color: var(--color-border1) transparent;
}
.p-breadcrumb:hover::-webkit-scrollbar-thumb {
  background-color: var(--color-border1);
}
@media only screen and (max-width: 767px) {
  .p-breadcrumb {
    overflow-x: visible;
  }
}
.p-breadcrumb__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media only screen and (max-width: 767px) {
  .p-breadcrumb__list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
  }
}
.p-breadcrumb__item {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  white-space: nowrap;
}
.p-breadcrumb__item:not(:first-child):before {
  content: "";
  display: block;
  width: 0.4rem;
  aspect-ratio: 1;
  border-radius: 100%;
  background: var(--color-key1);
  display: inline-block;
  vertical-align: middle;
  margin: auto 1.3rem;
}
@media only screen and (max-width: 767px) {
  .p-breadcrumb__item {
    -ms-flex-negative: 1;
    flex-shrink: 1;
    white-space: normal;
  }
}
.p-breadcrumb__item a, .p-breadcrumb__item > span {
  display: block;
  padding-block: 0.2rem;
  line-height: 1;
}
.p-breadcrumb__item a {
  text-decoration: none;
}
.p-breadcrumb__item a:hover, .p-breadcrumb__item a:focus {
  text-decoration: underline;
  text-underline-offset: 0.2rem;
}

html.lower .l-contents {
  padding-bottom: 16rem;
}
@media only screen and (max-width: 767px) {
  html.lower .l-contents {
    padding-bottom: 8rem;
  }
}

.p-page-title {
  position: relative;
  width: 100%;
  padding-block: 16rem 8rem;
}
@media only screen and (max-width: 767px) {
  .p-page-title {
    padding-block: 9.3rem 5.3rem;
  }
}
.p-page-title:not(:is([class*=u-style])) .p-page-title__text {
  width: var(--content-width);
  margin-inline: auto;
}
@media only screen and (min-width: 768px) {
  .p-page-title:not(:is([class*=u-style])) .p-page-title__text {
    max-width: 1280px;
  }
}
.p-page-title__text:has(.p-page-title__lead) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (min-width: 768px) {
  .p-page-title__text:has(.p-page-title__lead) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-column-gap: 3%;
    -moz-column-gap: 3%;
    column-gap: 3%;
  }
}
@media only screen and (max-width: 767px) {
  .p-page-title__text:has(.p-page-title__lead) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: 3.3rem;
  }
}
@media only screen and (min-width: 1200px) {
  .p-page-title__text:has(.p-page-title__lead) .p-page-title__heading {
    width: 75%;
  }
}
@media print {
  .p-page-title__text:has(.p-page-title__lead) .p-page-title__heading {
    width: 75%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-page-title__text:has(.p-page-title__lead) .p-page-title__heading {
    width: 67%;
  }
}
@media only screen and (min-width: 1200px) {
  .p-page-title__text:has(.p-page-title__lead) .p-page-title__lead {
    width: 34%;
  }
}
@media print {
  .p-page-title__text:has(.p-page-title__lead) .p-page-title__lead {
    width: 34%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-page-title__text:has(.p-page-title__lead) .p-page-title__lead {
    width: 42%;
  }
}
.p-page-title__text:has(.p-page-title__lead-wrap) .p-page-title__lead-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 1.3rem;
}
@media only screen and (min-width: 1200px) {
  .p-page-title__text:has(.p-page-title__lead-wrap) .p-page-title__lead-wrap {
    width: 34%;
  }
}
@media print {
  .p-page-title__text:has(.p-page-title__lead-wrap) .p-page-title__lead-wrap {
    width: 34%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-page-title__text:has(.p-page-title__lead-wrap) .p-page-title__lead-wrap {
    width: 42%;
  }
}
@media only screen and (max-width: 767px) {
  .p-page-title__text:has(.p-page-title__lead-wrap) .p-page-title__lead-wrap {
    gap: 1rem;
  }
}
.p-page-title__text:has(.p-page-title__lead-wrap) .p-page-title__lead-wrap .p-page-title__lead {
  width: 100%;
}
.p-page-title__text:has(.p-page-title__lead-wrap) .p-page-title__catch {
  margin: 0;
}
.p-page-title__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  row-gap: 2rem;
}
@media only screen and (max-width: 767px) {
  .p-page-title__heading {
    row-gap: 0.4rem;
  }
}
.p-page-title__heading-main {
  letter-spacing: 0em;
  line-height: 1.17;
}
@media only screen and (min-width: 1200px) {
  .p-page-title__heading-main {
    font-size: 4.7rem;
  }
}
@media print {
  .p-page-title__heading-main {
    font-size: 4.7rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-page-title__heading-main {
    font-size: 3.3rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-page-title__heading-main {
    font-size: 2.8rem;
  }
}
.p-page-title__heading-sub {
  text-transform: capitalize;
  font-weight: 400;
  font-family: var(--font-family-en);
  letter-spacing: 0.08em;
  line-height: 1;
}
@media only screen and (min-width: 1200px) {
  .p-page-title__heading-sub {
    font-size: 2rem;
  }
}
@media print {
  .p-page-title__heading-sub {
    font-size: 2rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-page-title__heading-sub {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-page-title__heading-sub {
    font-size: 1.2rem;
  }
}
.p-page-title.u-style-profile {
  width: 100%;
  padding-block: 5.3rem 8rem;
}
@media only screen and (min-width: 768px) {
  .p-page-title.u-style-profile {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas: "img txt";
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-page-title.u-style-profile {
    padding-top: 4rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-page-title.u-style-profile {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: 2.6rem;
    padding-block: 4rem 5rem;
  }
}
@media only screen and (min-width: 768px) {
  .p-page-title.u-style-profile .p-page-title__text {
    grid-area: txt;
    padding: 2.3rem 3rem 2.3rem 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-page-title.u-style-profile .p-page-title__text {
    display: contents;
  }
}
@media only screen and (max-width: 767px) {
  .p-page-title.u-style-profile .p-page-title__text > * {
    width: var(--content-width);
    margin-inline: auto;
  }
}
@media only screen and (max-width: 767px) {
  .p-page-title.u-style-profile .p-page-title__category {
    display: grid;
    grid-template-columns: auto 1fr;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-column-gap: 1.6rem;
    -moz-column-gap: 1.6rem;
    column-gap: 1.6rem;
    margin-top: 2.6rem;
  }
}
.p-page-title.u-style-profile .p-page-title__category-en {
  position: relative;
  padding-left: 1rem;
  font-family: var(--font-family-en);
  font-weight: 400;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .p-page-title.u-style-profile .p-page-title__category-en {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-page-title.u-style-profile .p-page-title__category-en {
    font-size: 1.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-page-title.u-style-profile .p-page-title__category-en {
    padding-left: 0.9rem;
  }
}
.p-page-title.u-style-profile .p-page-title__category-en:before {
  content: "";
  display: block;
  width: 0.4rem;
  aspect-ratio: 1;
  border-radius: 100%;
  background: var(--color-key1);
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 0;
}
.p-page-title.u-style-profile .p-page-title__category-jp {
  position: relative;
  padding-left: 3.5rem;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .p-page-title.u-style-profile .p-page-title__category-jp {
    font-size: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-page-title.u-style-profile .p-page-title__category-jp {
    font-size: 1.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-page-title.u-style-profile .p-page-title__category-jp {
    padding-left: 2.9rem;
  }
}
.p-page-title.u-style-profile .p-page-title__category-jp:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 0;
  width: 1.8rem;
  height: 1px;
  background: var(--color-border-white1);
}
.p-page-title.u-style-profile .p-page-title__detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
@media only screen and (max-width: 767px) {
  .p-page-title.u-style-profile .p-page-title__detail {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 2rem 16%;
    margin-top: 1.3rem;
  }
}
.p-page-title.u-style-profile .p-page-title__heading {
  row-gap: 0.4rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media only screen and (min-width: 768px) {
  .p-page-title.u-style-profile .p-page-title__heading {
    margin-top: 5.3rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-page-title.u-style-profile .p-page-title__heading {
    row-gap: 0;
    width: 29%;
  }
}
.p-page-title.u-style-profile .p-page-title__heading-main {
  letter-spacing: 0em;
  line-height: 2;
}
@media only screen and (min-width: 1200px) {
  .p-page-title.u-style-profile .p-page-title__heading-main {
    font-size: 1.9rem;
  }
}
@media print {
  .p-page-title.u-style-profile .p-page-title__heading-main {
    font-size: 1.9rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-page-title.u-style-profile .p-page-title__heading-main {
    font-size: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-page-title.u-style-profile .p-page-title__heading-main {
    font-size: 1.5rem;
  }
}
.p-page-title.u-style-profile .p-page-title__heading-sub {
  color: var(--color-white-lighten2);
  letter-spacing: 0em;
  line-height: 1;
}
@media only screen and (min-width: 1200px) {
  .p-page-title.u-style-profile .p-page-title__heading-sub {
    font-size: 1rem;
  }
}
@media print {
  .p-page-title.u-style-profile .p-page-title__heading-sub {
    font-size: 1rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-page-title.u-style-profile .p-page-title__heading-sub {
    font-size: 0.9rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-page-title.u-style-profile .p-page-title__heading-sub {
    font-size: 0.9rem;
  }
}
.p-page-title.u-style-profile .p-page-title__department {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media only screen and (min-width: 768px) {
  .p-page-title.u-style-profile .p-page-title__department {
    margin-top: 5.3rem;
  }
}
.p-page-title.u-style-profile .p-page-title__note {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media only screen and (min-width: 1200px) {
  .p-page-title.u-style-profile .p-page-title__note {
    font-size: 0.8rem;
  }
}
@media print {
  .p-page-title.u-style-profile .p-page-title__note {
    font-size: 0.8rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-page-title.u-style-profile .p-page-title__note {
    font-size: 0.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-page-title.u-style-profile .p-page-title__note {
    font-size: 0.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .p-page-title.u-style-profile .p-page-title__note {
    margin-top: 1.3rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-page-title.u-style-profile .p-page-title__note {
    width: 54%;
  }
}
.p-page-title.u-style-profile .p-page-title__catch {
  -webkit-box-ordinal-group: 0;
  -ms-flex-order: -1;
  order: -1;
  display: block;
  line-height: 1.6;
}
@media only screen and (min-width: 1200px) {
  .p-page-title.u-style-profile .p-page-title__catch {
    font-size: 2rem;
  }
}
@media print {
  .p-page-title.u-style-profile .p-page-title__catch {
    font-size: 2rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-page-title.u-style-profile .p-page-title__catch {
    font-size: 1.9rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-page-title.u-style-profile .p-page-title__catch {
    font-size: 2.2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p-page-title.u-style-profile .p-page-title__catch {
    margin-top: 8rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-page-title.u-style-profile .p-page-title__catch {
    width: 100%;
    letter-spacing: 0em;
  }
}
.p-page-title.u-style-profile .p-page-title__image {
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .p-page-title.u-style-profile .p-page-title__image {
    grid-area: img;
    width: 76vw;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-page-title.u-style-profile .p-page-title__image {
    width: 61vw;
  }
}
@media only screen and (max-width: 767px) {
  .p-page-title.u-style-profile .p-page-title__image {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    width: 1005;
    aspect-ratio: 375/368;
  }
}
.p-page-title.u-style-profile .p-page-title__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-page-title.u-style-text-vertical .p-page-title__text {
  width: var(--content-width);
  margin-inline: auto;
}
@media only screen and (min-width: 768px) {
  .p-page-title.u-style-text-vertical .p-page-title__text {
    max-width: 1280px;
  }
}
.p-page-title.u-style-text-vertical .p-page-title__text:has(.p-page-title__lead) {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  row-gap: 10.6rem;
}
@media only screen and (max-width: 767px) {
  .p-page-title.u-style-text-vertical .p-page-title__text:has(.p-page-title__lead) {
    row-gap: 4rem;
  }
}
.p-page-title.u-style-text-vertical .p-page-title__text .p-page-title__heading {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .p-page-title.u-style-text-vertical .p-page-title__text .p-page-title__lead {
    width: 61%;
  }
}
@media only screen and (min-width: 768px) {
  .p-page-title.u-style-kosen {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 94%;
    margin-left: auto;
    padding-block: 5.3rem 8rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-page-title.u-style-kosen {
    padding-block: 3.6rem 8rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-page-title.u-style-kosen {
    width: 94%;
    margin-inline: auto;
  }
}
.p-page-title.u-style-kosen .p-page-title__text {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  row-gap: 6.6rem;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-page-title.u-style-kosen .p-page-title__text {
    row-gap: 3.3rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-page-title.u-style-kosen .p-page-title__text {
    row-gap: 37.3rem;
  }
}
.p-page-title.u-style-kosen .p-page-title__text .p-page-title__heading {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .p-page-title.u-style-kosen .p-page-title__text .p-page-title__lead {
    width: 100%;
    max-width: 29.3rem;
  }
}
@media only screen and (min-width: 1200px) {
  .p-page-title.u-style-kosen .p-page-title__text .p-page-title__lead {
    width: 29.3rem;
  }
}
@media print {
  .p-page-title.u-style-kosen .p-page-title__text .p-page-title__lead {
    width: 29.3rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-page-title.u-style-kosen .p-page-title__text .p-page-title__lead {
    max-width: 22.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-page-title.u-style-kosen .p-page-title__text .p-page-title__lead {
    max-width: 97%;
  }
}
.p-page-title.u-style-kosen .p-page-title__image {
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .p-page-title.u-style-kosen .p-page-title__image {
    grid-area: img;
    width: 46%;
  }
}
@media only screen and (max-width: 767px) {
  .p-page-title.u-style-kosen .p-page-title__image {
    position: absolute;
    bottom: 62vw;
    width: 100%;
    aspect-ratio: 355/396;
  }
}
.p-page-title.u-style-kosen .p-page-title__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.u-visually-hidden {
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0 !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden;
}

[data-text]::before {
  content: attr(data-text) "";
}