@charset "UTF-8";
/* Scss Document */
body {
  font-size: 62.5%;
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", YuMincho, "Meiryo UI", "メイリオ", "Meiryo", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  -webkit-text-size-adjust: 100%;
  animation-name: fadeIn;
  animation-duration: 1.5s;
  animation-timing-function: ease; }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

body, h1, h2, h3, h4, h5, h6, p {
  font-size: 1rem;
  color: #000;
  margin: 0;
  padding: 0;
  line-height: 1.5; }

a {
  text-decoration: none; }
  a:hover {
    color: #FF0000;
    text-decoration: underline; }
  a:link {
    color: #0000FF; }
  a:active {
    color: #0000FF; }
  a:visited {
    color: #990066; }

img {
  vertical-align: bottom; }

a img {
  border: none; }

input,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  border: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", YuMincho, "Meiryo UI", "メイリオ", "Meiryo", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  outline: none; }

input:focus,
button {
  outline: 0; }

.clear {
  display: none;
  clear: both; }

img.centering {
  position: absolute; }

::selection {
  background: #FFD7E9; }

::-moz-selection {
  background: #FFD7E9; }

.pcNone {
  display: none; }

@media (max-width: 767px) {
  /* responsive none fore SP */
  .spNone {
    display: none; } }

div.system-free {
  height: 100%;
  overflow: hidden; }
  div.system-free hr {
    height: 0;
    margin: 0;
    border: none;
    border-top: 1px solid #000; }
  div.system-free table {
    border-collapse: collapse; }

ol.transition {
  width: 100%;
  height: 29px;
  overflow: hidden;
  margin: 40px auto 0;
  padding: 0;
  text-align: center;
  list-style: none; }
  ol.transition li {
    width: 27px;
    height: 27px;
    overflow: hidden;
    margin: 0 1px;
    padding: 0;
    color: #0086dc;
    font-size: 0.875rem;
    text-align: center;
    line-height: 1.2;
    display: inline-block;
    *display: inline;
    *zoom: 1;
    background-color: #FFF;
    border: 1px solid #0086dc; }
    ol.transition li a {
      width: 27px;
      height: 27px;
      margin: 0;
      padding: 0;
      color: #0086dc;
      display: block;
      text-decoration: none; }
    ol.transition li span {
      margin: 0;
      padding: 5px 0 0;
      display: block; }
    ol.transition li a:hover, ol.transition li.current {
      color: #FFF;
      font-weight: bold;
      background-color: #0086dc; }

.header {
  width: 100%;
  height: 100px;
  margin: 0;
  padding: 0 40px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  position: fixed;
  top: 0;
  z-index: 100; }
  .header::after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.8);
    z-index: 1;
    -moz-transform: scaleY(0);
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    transform-origin: top; }
  .header.scroll {
    height: 70px; }
    .header.scroll::after {
      -moz-transform: scaleY(1);
      -webkit-transform: scaleY(1);
      transform: scaleY(1); }
    .header.scroll .logo__anchor .mark {
      width: 35px;
      height: 40px; }
      .header.scroll .logo__anchor .mark .st0 {
        fill: #004ca1; }
    .header.scroll .logo__anchor .name {
      width: 238px;
      height: 21px; }
      .header.scroll .logo__anchor .name .st0 {
        fill: #000; }

@media (max-width: 1000px) {
  .header {
    padding: 0 20px; } }

.logo {
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 2; }
  .logo__anchor {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center; }
    .logo__anchor .mark {
      width: 50px;
      height: 57px;
      transition: 0.1s linear; }
      .logo__anchor .mark .st0 {
        fill: #FFF; }
    .logo__anchor .name {
      width: 340px;
      height: 30px;
      margin-left: 10px;
      transition: 0.1s linear; }
      .logo__anchor .name .st0 {
        fill: #FFF; }

.btnMenu {
  width: 162px;
  height: 100px;
  margin: 0;
  padding: 0;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 10000;
  transition: 0.1s linear; }
  .btnMenu a {
    width: 100%;
    height: 100%;
    line-height: 1.0;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #7C93F2;
    background: linear-gradient(90deg, #7c93f2 0%, #b5c4ff 100%);
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }
    .btnMenu a:hover {
      text-decoration: none;
      background: #FFF; }
  .btnMenu.scroll {
    height: 70px; }
    .btnMenu.scroll .menu-trigger strong {
      font-size: 1.0625rem; }

.menu-trigger {
  transition: all .4s;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }
  .menu-trigger span {
    width: 30px;
    height: 1px;
    display: block;
    position: relative;
    background-color: #FFF;
    transition: all .4s;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }
    .menu-trigger span:nth-of-type(1) {
      margin: 0 auto 8px; }
    .menu-trigger span:nth-of-type(2) {
      margin: 0 auto; }
    .menu-trigger span:nth-of-type(3) {
      margin: 8px auto 0; }
  .menu-trigger.active span {
    width: 16px; }
    .menu-trigger.active span:nth-of-type(1) {
      margin: 0 auto;
      top: 1px;
      -webkit-transform: translateY(0) rotate(-45deg);
      transform: translateY(0) rotate(-45deg); }
    .menu-trigger.active span:nth-of-type(2) {
      left: 0;
      opacity: 0;
      -webkit-animation: active-menu-bar02 .8s forwards;
      animation: active-menu-bar02 .8s forwards; }
    .menu-trigger.active span:nth-of-type(3) {
      margin: 0 auto;
      -webkit-transform: translateY(0) rotate(45deg);
      transform: translateY(0) rotate(45deg); }
  .menu-trigger strong {
    margin: 0 0 0 10px;
    color: #FFF;
    font-size: 1.25rem;
    font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo UI", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;
    font-weight: 500;
    line-height: 1.0;
    position: relative; }
  .menu-trigger:hover span {
    background-color: #000; }
  .menu-trigger:hover strong {
    color: #000; }

@-webkit-keyframes active-menu-bar02 {
  100% {
    height: 0; } }

@keyframes active-menu-bar02 {
  100% {
    height: 0; } }

.gNav {
  width: 100%;
  height: 100vh;
  margin: 0;
  padding: 100px 0;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  flex-direction: column;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #004ca1;
  -moz-transform: scale(0.8);
  -webkit-transform: scale(0.8);
  transform: scale(0.8);
  opacity: 0;
  filter: alpha(opacity=0);
  -ms-filter: alpha(opacity=0);
  visibility: hidden;
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0s 0.3s; }
  .gNav.open {
    -moz-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: alpha(opacity=100);
    visibility: visible;
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0s 0s; }
  .gNav__logo {
    margin: 0;
    padding: 0;
    position: relative;
    z-index: 4; }
    .gNav__logo--anchor {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      align-items: center; }
      .gNav__logo--anchor span {
        margin: 0 0 0 10px;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        flex-direction: column; }
    .gNav__logo .mark {
      width: 40px;
      height: 46px; }
      .gNav__logo .mark .st0 {
        fill: #FFF; }
    .gNav__logo .cc {
      width: 300px;
      height: 14px; }
      .gNav__logo .cc .st0 {
        fill: #FFF; }
    .gNav__logo .name {
      width: 270px;
      height: 24px;
      margin: 10px 0 0; }
      .gNav__logo .name .st0 {
        fill: #FFF; }
  .gNav__wrap {
    margin: 100px 0 0;
    padding: 0;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center;
    position: relative;
    z-index: 3; }
  .gNav__list {
    margin: 0 70px 0 0;
    padding: 0;
    list-style: none; }
    .gNav__list:last-of-type {
      margin: 0; }
  .gNav__item {
    margin: 0 0 15px;
    padding: 0; }
    .gNav__item:last-of-type {
      margin: 0; }
    .gNav__item--anchor {
      color: #FFF !important;
      font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo UI", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;
      font-size: 1.125rem;
      font-weight: 700;
      line-height: 1.0; }
      .gNav__item--anchor.external {
        padding: 0 20px 0 0;
        background-image: url("../img/common/external.svg");
        background-position: right center;
        background-repeat: no-repeat;
        background-size: 10px; }
    .gNav__item ul {
      margin: 0;
      padding: 0;
      list-style: none; }
      .gNav__item ul li {
        margin: 10px 0 0;
        padding: 0; }
        .gNav__item ul li a {
          color: #FFF !important;
          font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo UI", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;
          font-size: 0.9375rem;
          font-weight: 500;
          line-height: 1.0; }
  .gNav__contact {
    width: 1000px;
    height: 130px;
    margin: 100px auto 0;
    padding: 0;
    border: 1px solid #FFF;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 2;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }
    .gNav__contact::after {
      content: '';
      width: 1px;
      height: 90px;
      position: absolute;
      top: 50%;
      left: 50%;
      -moz-transform: translate(-50%, -50%);
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      background-color: #FFF; }
    .gNav__contact--left {
      width: 50%;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #FFF;
      letter-spacing: 0.1em;
      line-height: 1.75;
      text-align: center; }
      .gNav__contact--left svg {
        width: 70px;
        height: 80px;
        margin: 0 30px 0 0; }
        .gNav__contact--left svg .st0 {
          fill: #FFF; }
    .gNav__contact--right {
      width: 50%;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      font-style: normal; }
    .gNav__contact--phone {
      padding: 0 0 0 47px;
      color: #FFF;
      font-size: 3rem;
      font-family: "Barlow", sans-serif;
      font-weight: 600;
      line-height: 1.0;
      background-image: url("../img/common/phone.svg");
      background-position: left center;
      background-repeat: no-repeat;
      background-size: 37px; }
    .gNav__contact--time {
      margin: 10px 0 0;
      color: #FFF;
      line-height: 1.0; }
  .gNav > .mark {
    width: 800px;
    height: 913px;
    opacity: 0.1;
    filter: alpha(opacity=10);
    -ms-filter: alpha(opacity=10);
    position: absolute;
    top: 50%;
    left: 50%;
    -moz-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 1; }
    .gNav > .mark .st0 {
      fill: #FFF; }

.footer {
  width: 100%;
  height: auto;
  margin: 0;
  padding: 100px 0 150px;
  background-color: #004ca1; }
  .footer__contact {
    width: 1000px;
    height: 130px;
    margin: 0 auto;
    padding: 0;
    border: 1px solid #FFF;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }
    .footer__contact::after {
      content: '';
      width: 1px;
      height: 90px;
      position: absolute;
      top: 50%;
      left: 50%;
      -moz-transform: translate(-50%, -50%);
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      background-color: #FFF; }
    .footer__contact--left {
      width: 50%;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #FFF;
      letter-spacing: 0.1em;
      line-height: 1.75;
      text-align: center; }
      .footer__contact--left svg {
        width: 70px;
        height: 80px;
        margin: 0 30px 0 0; }
        .footer__contact--left svg .st0 {
          fill: #FFF; }
    .footer__contact--right {
      width: 50%;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      font-style: normal; }
    .footer__contact--phone {
      padding: 0 0 0 47px;
      color: #FFF;
      font-size: 3rem;
      font-family: "Barlow", sans-serif;
      font-weight: 600;
      line-height: 1.0;
      background-image: url("../img/common/phone.svg");
      background-position: left center;
      background-repeat: no-repeat;
      background-size: 37px; }
    .footer__contact--time {
      margin: 10px 0 0;
      color: #FFF;
      line-height: 1.0; }
  .footer__bnr {
    width: 1030px;
    margin: 70px auto 0;
    padding: 0;
    list-style: none;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap; }
    .footer__bnr--item {
      width: 250px;
      height: 100px;
      margin: 10px 10px 0 0; }
      .footer__bnr--item:nth-of-type(4n) {
        margin: 10px 0 0; }

@media (max-width: 1100px) {
  .footer__contact {
    width: calc(100% - 80px);
    height: auto;
    padding: 40px 0;
    flex-direction: column; }
    .footer__contact::after {
      content: none; }
    .footer__contact--left {
      width: 100%; }
    .footer__contact--right {
      width: 100%;
      margin: 30px 0 0; }
  .footer__bnr {
    width: calc(100% - 80px);
    margin: 70px 40px 0;
    justify-content: center; }
    .footer__bnr--item {
      margin: 10px 5px 0; }
      .footer__bnr--item:nth-of-type(4n) {
        margin: 10px 5px 0; } }

@media (max-width: 700px) {
  .footer__contact {
    width: calc(100% - 40px); }
    .footer__contact--left svg {
      width: 40px;
      height: 46px;
      margin: 0 10px 0 0; } }

@media (max-width: 620px) {
  .footer__contact--phone {
    padding: 0 0 0 37px;
    font-size: 2.25rem;
    background-size: 27px; }
  .footer__bnr {
    width: calc(100% - 40px);
    margin: 70px 15px 0; }
    .footer__bnr--item {
      width: calc((100% - 20px)/2);
      height: auto; }
      .footer__bnr--item img {
        width: 100%;
        height: auto; } }

.youtube {
  margin: 80px 25px 0;
  padding: 0;
  list-style: none;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center; }
  .youtube__item {
    width: 485px;
    margin: 0 15px; }
    .youtube__item--title {
      margin: 10px 0 0;
      color: #FFF;
      font-size: 1.125rem; }

@media (max-width: 800px) {
  .youtube {
    flex-direction: column; }
    .youtube__item {
      width: 100%;
      margin: 0; }
      .youtube__item:not(:first-of-type) {
        margin: 20px 0 0; } }

.footerMain {
  margin: 80px 0 0;
  padding: 0 40px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: space-between; }
  .footerMain__left--logo a {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center; }
    .footerMain__left--logo a span {
      margin: 0 0 0 10px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      flex-direction: column; }
  .footerMain__left--logo .mark {
    width: 40px;
    height: 46px; }
    .footerMain__left--logo .mark .st0 {
      fill: #FFF; }
  .footerMain__left--logo .cc {
    width: 300px;
    height: 14px; }
    .footerMain__left--logo .cc .st0 {
      fill: #FFF; }
  .footerMain__left--logo .name {
    width: 270px;
    height: 24px;
    margin: 10px 0 0; }
    .footerMain__left--logo .name .st0 {
      fill: #FFF; }
  .footerMain__left--contact {
    margin: 30px 0 0;
    color: #FFF;
    font-size: 1.125rem;
    font-style: normal; }
  .footerMain__left--copyright {
    margin: 30px 0 0;
    color: #FFF;
    font-size: 0.9375rem;
    font-family: "Barlow", sans-serif;
    font-weight: 500;
    line-height: 1.0; }
  .footerMain__right {
    margin: 0;
    padding: 0;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex; }
  .footerMain__list {
    margin: 0 50px 0 0;
    padding: 0;
    list-style: none; }
    .footerMain__list:last-of-type {
      margin: 0; }
  .footerMain__item {
    margin: 0 0 15px;
    padding: 0; }
    .footerMain__item:last-of-type {
      margin: 0; }
    .footerMain__item--anchor {
      color: #FFF !important;
      font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo UI", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;
      font-size: 1.125rem;
      font-weight: 700;
      line-height: 1.0; }
      .footerMain__item--anchor.external {
        padding: 0 20px 0 0;
        background-image: url("../img/common/external.svg");
        background-position: right center;
        background-repeat: no-repeat;
        background-size: 10px; }
    .footerMain__item ul {
      margin: 0;
      padding: 0;
      list-style: none; }
      .footerMain__item ul li {
        margin: 10px 0 0;
        padding: 0; }
        .footerMain__item ul li a {
          color: #FFF !important;
          font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo UI", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;
          font-size: 0.9375rem;
          font-weight: 500;
          line-height: 1.0; }

@media (max-width: 1200px) {
  .footerMain {
    justify-content: center; }
    .footerMain__left {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      flex-direction: column;
      align-items: center; }
      .footerMain__left--contact, .footerMain__left--copyright {
        text-align: center; }
    .footerMain__right {
      display: none; } }

.innerPage .btnMenu button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: linear-gradient(90deg, #7c93f2, #b4c1f8);
  cursor: pointer; }
  .innerPage .btnMenu button:hover {
    background: #FFF; }
  .innerPage .btnMenu button:focus-visible {
    outline: 2px solid #004ca1;
    outline-offset: -4px; }

.innerPage .header .logo__anchor .mark .st0 {
  fill: #004ca1; }

.innerPage .header .logo__anchor .name .st0 {
  fill: #000; }

.innerPage.fixed {
  width: 100%;
  position: fixed;
  overflow: hidden; }

.innerPage .gNav {
  overflow-y: auto;
  overflow-x: hidden;
  justify-content: flex-start; }
  .innerPage .gNav__wrap {
    flex-shrink: 0; }
  .innerPage .gNav__contact {
    flex-shrink: 0; }

.innerPage .youtube iframe {
  display: block;
  border: 0; }

.innerPage .footer__bnr--anchor {
  display: block; }

.innerPage a:focus-visible,
.innerPage select:focus-visible {
  outline: 2px solid #00a8e0;
  outline-offset: 4px; }

@media (max-width: 1000px) {
  .innerPage .gNav {
    padding: 100px 40px 50px; }
    .innerPage .gNav__wrap {
      width: 100%;
      margin-top: 50px;
      gap: 35px;
      flex-wrap: wrap; }
    .innerPage .gNav__list {
      width: calc(50% - 18px);
      margin: 0; }
    .innerPage .gNav__contact {
      width: 100%;
      margin-top: 50px; } }

@media (max-width: 700px) {
  .innerPage .header {
    height: 70px;
    padding: 0 20px; }
  .innerPage .logo__anchor .mark {
    width: 30px;
    height: 35px; }
  .innerPage .logo__anchor .name {
    width: 204px;
    height: 18px;
    margin-left: 7px; }
  .innerPage .header.scroll .logo__anchor .mark {
    width: 30px;
    height: 35px; }
  .innerPage .header.scroll .logo__anchor .name {
    width: 204px;
    height: 18px; }
  .innerPage .btnMenu {
    width: 70px;
    height: 70px; }
    .innerPage .btnMenu strong {
      display: none; }
  .innerPage .gNav {
    padding: 100px 20px 40px; }
    .innerPage .gNav__logo .cc {
      width: 210px; }
    .innerPage .gNav__logo .name {
      width: 195px; }
    .innerPage .gNav__contact {
      height: auto;
      padding: 25px 10px;
      flex-direction: column; }
      .innerPage .gNav__contact::after {
        content: none; }
      .innerPage .gNav__contact--left, .innerPage .gNav__contact--right {
        width: 100%; }
      .innerPage .gNav__contact--left svg {
        width: 40px;
        height: 46px;
        margin-right: 15px; }
      .innerPage .gNav__contact--right {
        margin-top: 25px; }
      .innerPage .gNav__contact--phone {
        padding-left: 30px;
        font-size: 1.875rem;
        background-size: 24px; }
  .innerPage .footerMain {
    padding: 0 20px; }
    .innerPage .footerMain__left--logo .mark {
      width: 30px;
      height: 35px; }
    .innerPage .footerMain__left--logo .cc {
      width: 230px;
      height: auto; }
    .innerPage .footerMain__left--logo .name {
      width: 207px;
      height: auto; }
    .innerPage .footerMain__left--contact {
      font-size: 0.875rem; }
    .innerPage .footerMain__left--copyright {
      font-size: 0.6875rem;
      line-height: 1.5; } }

@media (max-width: 380px) {
  .innerPage .logo__anchor .name,
  .innerPage .header.scroll .logo__anchor .name {
    width: 170px;
    height: 15px; } }

.pageHeading {
  position: relative;
  padding-top: 400px; }
  .pageHeading__image {
    height: 400px;
    position: absolute;
    inset: 0 0 auto;
    overflow: hidden; }
    .pageHeading__image img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 46%; }
    .pageHeading__image::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, rgba(0, 76, 161, 0) 38%, rgba(0, 76, 161, 0.35) 100%); }
  .pageHeading__title {
    position: relative;
    max-width: 1440px;
    margin: -103px auto 0;
    padding: 0 40px; }
  .pageHeading__title--eng {
    display: table;
    color: #00a8e0;
    font-size: 12.5rem;
    font-family: "Barlow", sans-serif;
    font-weight: 700;
    line-height: 1;
    background: linear-gradient(90deg, #00a8e0, #00aaa5);
    background-clip: text;
    -webkit-text-fill-color: transparent; }
  .pageHeading__title--jp {
    display: block;
    margin-top: 10px;
    color: #004ca1;
    font-size: 2rem;
    font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo UI", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;
    font-weight: 700;
    line-height: 1.5; }

@media (max-width: 700px) {
  .pageHeading {
    padding-top: 260px; }
    .pageHeading__image {
      height: 260px; }
    .pageHeading__title {
      margin-top: -54px;
      padding: 0 20px; }
    .pageHeading__title--eng {
      font-size: 6.5rem; }
    .pageHeading__title--jp {
      margin-top: 8px;
      font-size: 1.5rem; } }

.breadcrumb {
  max-width: 1440px;
  margin: 150px auto 0;
  padding: 0 40px 50px;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo UI", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif; }
  .breadcrumb__list {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
    color: #999;
    font-size: 0.875rem; }
    .breadcrumb__list li + li {
      display: flex;
      align-items: center;
      gap: 12px; }
      .breadcrumb__list li + li::before {
        content: '';
        width: 4px;
        height: 4px;
        border-top: 1px solid currentColor;
        border-right: 1px solid currentColor;
        transform: rotate(45deg); }
    .breadcrumb__list a {
      display: flex;
      align-items: center;
      gap: 8px;
      color: #999; }

@media (max-width: 700px) {
  .breadcrumb {
    margin-top: 75px;
    padding: 0 20px 35px; } }

.companyPage {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo UI", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif; }
  .companyPage .pageHeading__image img {
    object-position: center; }
  .companyPage .breadcrumb__list {
    flex-wrap: wrap; }

.companyPage--organization .pageHeading__title--eng {
  letter-spacing: -8px; }

.companyContent {
  width: calc(100% - 80px);
  max-width: 1440px;
  margin: 100px auto 0; }

.companyNav {
  width: calc(100% - 80px);
  max-width: 1440px;
  margin: 86px auto 0; }
  .companyNav--bottom {
    margin-top: 100px; }
  .companyNav__list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: repeat(2, 60px);
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid #DDD;
    border-radius: 6px;
    list-style: none; }
  .companyNav__item {
    min-width: 0;
    border-right: 1px solid #DDD;
    border-bottom: 1px solid #DDD; }
    .companyNav__item--top {
      grid-row: 1 / span 2;
      border-bottom: 0;
      background-color: #004ca1; }
      .companyNav__item--top .companyNav__anchor:link, .companyNav__item--top .companyNav__anchor:visited {
        color: #FFF; }
      .companyNav__item--top .companyNav__anchor:hover, .companyNav__item--top .companyNav__anchor:focus-visible {
        background-color: rgba(255, 255, 255, 0.15); }
    .companyNav__item--access {
      grid-column: 3;
      border-bottom: 0; }
    .companyNav__item:nth-of-type(4) {
      border-right: 0; }
    .companyNav__item:nth-of-type(5) {
      border-bottom: 0; }
  .companyNav__anchor {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    height: 100%;
    padding: 8px;
    box-sizing: border-box;
    font-size: 1.0625rem;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
    transition: background-color 0.3s ease; }
    .companyNav__anchor:link, .companyNav__anchor:visited {
      color: #000; }
    .companyNav__anchor:hover, .companyNav__anchor:focus-visible {
      background-color: #f2f7fb;
      text-decoration: none; }
    .companyNav__anchor[aria-current] {
      font-weight: 700; }
    .companyNav__anchor img {
      flex-shrink: 0;
      width: 30px;
      height: 30px;
      object-fit: contain; }

@media (max-width: 1280px) {
  .companyPage--organization .pageHeading__title--eng {
    font-size: 8.75rem; } }

@media (max-width: 1000px) {
  .companyPage .pageHeading__title--eng {
    font-size: 8.75rem; }
  .companyPage--organization .pageHeading__title--eng {
    font-size: 6.25rem;
    letter-spacing: -2px; }
  .companyNav__anchor {
    gap: 7px;
    font-size: 0.875rem; }
    .companyNav__anchor img {
      width: 24px;
      height: 24px; } }

@media (max-width: 700px) {
  .companyPage .pageHeading__title--eng {
    font-size: 6.5rem; }
  .companyPage--organization .pageHeading__title--eng {
    font-size: 5.5rem; }
  .companyContent {
    width: calc(100% - 40px);
    margin-top: 60px; }
  .companyNav {
    width: calc(100% - 40px);
    margin-top: 55px; }
    .companyNav--bottom {
      margin-top: 60px; }
    .companyNav__list {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      grid-template-rows: repeat(2, minmax(80px, auto)); }
    .companyNav__item--top {
      grid-row: auto;
      border-bottom: 1px solid #DDD; }
    .companyNav__item--access {
      grid-column: auto;
      border-right: 0; }
    .companyNav__item:nth-of-type(3) {
      border-right: 0; }
    .companyNav__item:nth-of-type(4) {
      border-right: 1px solid #DDD;
      border-bottom: 0; }
    .companyNav__anchor {
      flex-direction: column;
      gap: 5px;
      padding: 10px 4px;
      font-size: 0.75rem; }
      .companyNav__anchor img {
        width: 22px;
        height: 22px; } }

@media (max-width: 600px) {
  .companyPage .pageHeading__title--eng {
    font-size: 4.5rem; }
  .companyPage--organization .pageHeading__title--eng {
    font-size: 4.5rem; } }

@media (max-width: 480px) {
  .companyPage--organization .pageHeading__title--eng {
    font-size: 3.5rem; } }

@media (max-width: 380px) {
  .companyPage .pageHeading__title--eng {
    font-size: 3.75rem; }
  .companyPage--organization .pageHeading__title--eng {
    font-size: 2.875rem; } }

.businessPage {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo UI", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif; }
  .businessPage .pageHeading__title--eng {
    white-space: nowrap; }
  .businessPage .pageHeading__image img {
    object-position: center; }
  .businessPage .breadcrumb__list {
    flex-wrap: wrap; }

.businessPage--environment .pageHeading__title--eng {
  font-size: 11.25rem; }

.businessPage--rentalyard .pageHeading__title--eng {
  font-size: 11.25rem; }

.businessMain {
  isolation: isolate; }

.businessContent {
  width: calc(100% - 80px);
  max-width: 1440px;
  margin: 100px auto 0; }

.businessNav {
  width: calc(100% - 80px);
  max-width: 1440px;
  margin: 86px auto 0; }
  .businessNav--bottom {
    margin-top: 100px; }
  .businessNav__list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid #DDD;
    border-radius: 6px;
    list-style: none; }
  .businessNav__item {
    min-width: 0;
    border-right: 1px solid #DDD; }
    .businessNav__item:last-child {
      border-right: 0; }
    .businessNav__item--top {
      background-color: #004ca1; }
      .businessNav__item--top .businessNav__anchor:link, .businessNav__item--top .businessNav__anchor:visited {
        color: #FFF; }
      .businessNav__item--top .businessNav__anchor:hover, .businessNav__item--top .businessNav__anchor:focus-visible {
        background-color: rgba(255, 255, 255, 0.15); }
  .businessNav__anchor {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 90px;
    box-sizing: border-box;
    padding: 12px;
    font-size: 1.0625rem;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
    transition: background-color 0.3s ease; }
    .businessNav__anchor:link, .businessNav__anchor:visited {
      color: #000; }
    .businessNav__anchor:hover, .businessNav__anchor:focus-visible {
      background-color: #f2f7fb;
      text-decoration: none; }
    .businessNav__anchor[aria-current] {
      font-weight: 700; }
    .businessNav__anchor img {
      flex-shrink: 0;
      width: 30px;
      height: 30px;
      object-fit: contain; }

.divisionIntro {
  position: relative;
  margin-top: 80px; }
  .divisionIntro::before {
    content: '';
    position: absolute;
    top: -50px;
    right: -20px;
    z-index: -1;
    width: 600px;
    height: 687px;
    max-width: 65%;
    background-image: url("../img/business/watermark.png");
    background-position: top right;
    background-repeat: no-repeat;
    background-size: contain;
    opacity: 0.1;
    pointer-events: none; }
  .divisionIntro__title {
    font-size: 3rem;
    font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", YuMincho, "Meiryo UI", "メイリオ", "Meiryo", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-weight: 500;
    line-height: 1.8; }
  .divisionIntro__text {
    margin-top: 60px;
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 2; }

.divisionGallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  width: calc((100% - 80px) * 0.92);
  max-width: 1324.8px;
  margin-top: 80px;
  margin-left: max(40px, calc((100% - 1440px) / 2)); }
  .divisionGallery__item {
    margin: 0; }
    .divisionGallery__item img {
      display: block;
      width: 100%;
      height: auto; }

.businessSectionTitle {
  display: table;
  position: relative;
  padding: 8px 30px;
  color: #FFF;
  background-color: #000;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 24px; }
  .businessSectionTitle::before {
    content: '';
    position: absolute;
    top: 50%;
    right: 100%;
    width: 40px;
    border-top: 1px solid #000; }

.divisionFeatures__list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 40px 0 0;
  padding: 0;
  list-style: none; }

.divisionFeatures__item {
  display: flex;
  align-items: center;
  gap: 30px;
  min-height: 200px; }

.divisionFeatures__image {
  flex: 0 0 200px;
  margin: 0; }
  .divisionFeatures__image img {
    display: block;
    width: 100%;
    height: auto; }

.divisionFeatures__body {
  flex: 1;
  min-width: 0; }

.divisionFeatures__title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 1.875rem;
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", YuMincho, "Meiryo UI", "メイリオ", "Meiryo", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 600;
  line-height: 1.5; }

.divisionFeatures__point {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 70px;
  height: 20px;
  box-sizing: border-box;
  border: 1px solid #004ca1;
  border-radius: 10px;
  color: #004ca1;
  background-color: #FFF;
  font-size: 0.9375rem;
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  line-height: 1; }

.divisionFeatures__text {
  margin-top: 26px;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.7; }

@media (max-width: 1280px) {
  .businessPage--rentalyard .pageHeading__title--eng {
    font-size: 8.75rem; }
  .businessPage--environment .pageHeading__title--eng {
    font-size: 8.75rem; } }

@media (max-width: 1000px) {
  .businessPage .pageHeading__title--eng {
    font-size: 8.75rem; }
  .businessPage--environment .pageHeading__title--eng {
    font-size: 6.875rem; }
  .businessPage--rentalyard .pageHeading__title--eng {
    font-size: 6.25rem; }
  .businessNav__anchor {
    gap: 7px;
    font-size: 0.875rem; }
    .businessNav__anchor img {
      width: 24px;
      height: 24px; }
  .divisionIntro::before {
    right: 50%;
    background-position: center top;
    transform: translateX(50%); }
  .divisionIntro__title {
    font-size: 2.25rem; }
  .divisionFeatures__title {
    font-size: 1.625rem; } }

@media (max-width: 800px) {
  .businessPage--environment .pageHeading__title--eng {
    font-size: 5.625rem; } }

@media (max-width: 700px) {
  .businessContent {
    width: calc(100% - 40px);
    margin-top: 60px; }
  .businessPage .pageHeading__title--eng {
    font-size: 6.5rem; }
  .businessPage--environment .pageHeading__title--eng {
    font-size: 4.5rem; }
  .businessPage--rentalyard .pageHeading__title--eng {
    font-size: 5.5rem; }
  .businessNav {
    width: calc(100% - 40px);
    margin-top: 55px; }
    .businessNav--bottom {
      margin-top: 60px; }
    .businessNav__list {
      grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .businessNav__item:nth-child(2) {
      border-right: 0; }
    .businessNav__item:nth-child(-n + 2) {
      border-bottom: 1px solid #DDD; }
    .businessNav__anchor {
      min-height: 74px;
      padding: 12px 8px;
      font-size: 0.8125rem; }
  .divisionIntro::before {
    top: 0;
    max-width: 85%; }
  .divisionIntro__title {
    font-size: 1.625rem;
    line-height: 1.8; }
  .divisionIntro__text {
    margin-top: 30px;
    font-size: 1rem; }
  .divisionGallery {
    width: calc(100% - 40px);
    margin-left: 20px;
    gap: 12px; }
  .businessSectionTitle {
    padding: 8px 18px;
    font-size: 1.0625rem; }
    .businessSectionTitle::before {
      width: 20px; }
  .divisionFeatures__list {
    gap: 40px;
    margin-top: 30px; }
  .divisionFeatures__item {
    align-items: flex-start;
    gap: 20px; }
  .divisionFeatures__image {
    flex-basis: 120px; }
  .divisionFeatures__title {
    font-size: 1.375rem; }
  .divisionFeatures__text {
    margin-top: 18px;
    font-size: 1rem; } }

@media (max-width: 600px) {
  .businessPage .pageHeading__title--eng {
    font-size: 5.5rem; }
  .businessPage--environment .pageHeading__title--eng {
    font-size: 4rem; }
  .businessPage--rentalyard .pageHeading__title--eng {
    font-size: 4.25rem; } }

@media (max-width: 480px) {
  .businessPage .pageHeading__title--eng {
    font-size: 4.5rem; }
  .businessPage--environment .pageHeading__title--eng {
    font-size: 3rem; }
  .businessPage--rentalyard .pageHeading__title--eng {
    font-size: 3.5rem; }
  .divisionGallery {
    grid-template-columns: 1fr;
    gap: 20px; }
  .divisionFeatures__item {
    flex-direction: column; }
  .divisionFeatures__image {
    flex: none;
    width: 200px;
    max-width: 100%; } }

@media (max-width: 380px) {
  .businessPage .pageHeading__title--eng {
    font-size: 3.75rem; }
  .businessPage--environment .pageHeading__title--eng {
    font-size: 2.5rem; }
  .businessPage--rentalyard .pageHeading__title--eng {
    font-size: 2.875rem; } }

.catalogPage {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo UI", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif; }
  .catalogPage .pageHeading__image img {
    object-position: center; }

.catalogContent {
  width: calc(100% - 80px);
  max-width: 1440px;
  margin: 86px auto 0; }

.catalogSectionTitle {
  display: table;
  position: relative;
  padding: 8px 30px;
  color: #FFF;
  background-color: #000;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 24px; }
  .catalogSectionTitle::before {
    content: '';
    position: absolute;
    top: 50%;
    right: 100%;
    width: 40px;
    border-top: 1px solid #000; }

.catalogNav {
  display: flex;
  align-items: stretch;
  gap: 40px;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5; }
  .catalogNav__title {
    display: flex;
    align-items: flex-start;
    flex-shrink: 0;
    gap: 5px;
    padding-right: 40px;
    border-right: 1px solid #000;
    font-size: 1.125rem;
    font-weight: 700; }
    .catalogNav__title img {
      width: 20px;
      height: 20px;
      margin-top: 4px; }
  .catalogNav__list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px 40px;
    margin: 0;
    padding: 0;
    list-style: none; }
  .catalogNav__anchor:link, .catalogNav__anchor:visited {
    color: #000; }
  .catalogNav__anchor:hover, .catalogNav__anchor:focus-visible {
    color: #004ca1;
    text-decoration: underline;
    text-underline-offset: 4px; }

.catalogTitle {
  box-sizing: border-box;
  padding: 24px 30px;
  color: #FFF;
  background: linear-gradient(90deg, #0065b3, #008fb9);
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 32px; }

.catalogTableWrap {
  margin-top: 50px;
  overflow-x: auto;
  overscroll-behavior-x: contain; }
  .catalogTableWrap:focus-visible {
    outline: 2px solid #00a8e0;
    outline-offset: 4px; }

.catalogTableHint {
  display: none; }

.catalogLink {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 640px;
  max-width: 100%;
  min-height: 72px;
  box-sizing: border-box;
  margin: 100px auto 0;
  padding: 18px 64px;
  border: 1px solid #000;
  border-radius: 40px;
  background-color: #FFF;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease; }
  .catalogLink:link, .catalogLink:visited {
    color: #000; }
  .catalogLink__arrow {
    position: absolute;
    top: 50%;
    right: 40px;
    width: 16px;
    height: 14px;
    transition: filter 0.3s ease;
    transform: translateY(-50%); }
  .catalogLink:hover, .catalogLink:focus-visible {
    border-color: #004ca1;
    color: #FFF;
    background-color: #004ca1;
    text-decoration: none; }
    .catalogLink:hover .catalogLink__arrow, .catalogLink:focus-visible .catalogLink__arrow {
      filter: invert(1); }

@media (max-width: 1000px) {
  .catalogNav {
    gap: 25px;
    font-size: 1rem; }
    .catalogNav__title {
      padding-right: 25px;
      font-size: 1rem; }
    .catalogNav__list {
      gap: 14px 25px; }
  .catalogTableWrap {
    margin-top: 12px; }
  .catalogTableHint {
    display: block;
    margin-top: 30px;
    color: #444;
    font-size: 0.875rem;
    text-align: right; } }

@media (max-width: 700px) {
  .catalogContent {
    width: calc(100% - 40px);
    margin-top: 55px; }
  .catalogPage .pageHeading__title--eng {
    font-size: 6.5rem; }
  .catalogSectionTitle {
    padding: 8px 20px;
    font-size: 1.0625rem; }
    .catalogSectionTitle::before {
      width: 20px; }
  .catalogNav {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px; }
    .catalogNav__title {
      padding-right: 0;
      border-right: 0; }
  .catalogTitle {
    padding: 18px 20px;
    font-size: 1.125rem;
    line-height: 1.6; }
  .catalogLink {
    min-height: 60px;
    margin-top: 60px;
    padding: 16px 45px;
    font-size: 1rem; }
    .catalogLink__arrow {
      right: 24px; } }

@media (max-width: 380px) {
  .catalogPage .pageHeading__title--eng {
    font-size: 5.5rem; } }

.photoZoom {
  display: block;
  position: relative;
  cursor: zoom-in; }
  .photoZoom:focus-visible {
    outline: 2px solid #004ca1;
    outline-offset: 4px; }
  .photoZoom:hover .photoZoom__icon, .photoZoom:focus-visible .photoZoom__icon {
    background-color: #004ca1; }
  .photoZoom__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: 0;
    bottom: 0;
    width: 32px;
    height: 32px;
    border-radius: 0;
    background-color: rgba(26, 37, 51, 0.8);
    transition: background-color 0.3s ease;
    pointer-events: none; }
    .photoZoom__icon img {
      display: block;
      width: 20px;
      height: 20px; }

.worksLightboxOpen {
  position: fixed;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden; }

.worksLightbox {
  position: fixed;
  inset: 0;
  width: 100%;
  max-width: none;
  height: 100%;
  height: 100dvh;
  max-height: none;
  box-sizing: border-box;
  margin: 0;
  padding: 80px 30px 30px;
  border: 0;
  color: #FFF;
  background-color: transparent;
  opacity: 0;
  transition: opacity 0.3s ease;
  overscroll-behavior: contain; }
  .worksLightbox[open] {
    display: flex;
    align-items: center;
    justify-content: center; }
  .worksLightbox:not([open]) {
    display: none; }
  .worksLightbox::backdrop {
    background-color: rgba(0, 0, 0, 0);
    transition: background-color 0.3s ease; }
  .worksLightbox.is-visible {
    opacity: 1; }
    .worksLightbox.is-visible::backdrop {
      background-color: rgba(0, 0, 0, 0.88); }
    .worksLightbox.is-visible .worksLightbox__panel {
      transform: translateY(0) scale(1); }
  .worksLightbox__panel {
    width: 100%;
    max-width: 960px;
    margin: 0;
    transform: translateY(12px) scale(0.92);
    transition: transform 0.3s ease; }
  .worksLightbox__image {
    display: block;
    width: 100%;
    height: auto;
    max-height: calc(100vh - 180px);
    max-height: calc(100dvh - 180px);
    object-fit: contain; }
  .worksLightbox__caption {
    margin-top: 18px;
    color: #FFF;
    font-size: 1.125rem;
    font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo UI", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
    overflow-wrap: anywhere; }
  .worksLightbox__close {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 1;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.8);
    border-radius: 50%;
    color: #FFF;
    background-color: rgba(0, 0, 0, 0.5);
    cursor: pointer;
    transition: background-color 0.3s ease; }
    .worksLightbox__close::before, .worksLightbox__close::after {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      width: 20px;
      height: 2px;
      background-color: currentColor;
      transform: translate(-50%, -50%) rotate(45deg); }
    .worksLightbox__close::after {
      transform: translate(-50%, -50%) rotate(-45deg); }
    .worksLightbox__close:hover {
      background-color: #004ca1; }
    .worksLightbox__close:focus-visible {
      outline: 2px solid #FFF;
      outline-offset: 4px; }
  .worksLightbox__closeText {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap; }

@media (max-width: 700px) {
  .worksLightbox {
    padding: 75px 20px 25px; }
    .worksLightbox__caption {
      font-size: 1rem; } }
