/*!***************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./node_modules/sass-loader/dist/cjs.js!./src/scss/main.scss ***!
  \***************************************************************************************************************************************************************************************************************/
@charset "UTF-8";

/*
  A modern CSS reset
  https://github.com/Andy-set-studio/modern-css-reset
*/
/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
  list-style: none;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ------------------------------------------------- *
/*        Breakpoint
/* ------------------------------------------------- */
/* ------------------------------------------------- *
/* Colors
/* ------------------------------------------------- */
/* ------------------------------------------------- *
/* Site
/* ------------------------------------------------- */
/* ------------------------------------------------- *
/* Header
/* ------------------------------------------------- */
/* ------------------------------------------------- *
/* FontFamily
/* ------------------------------------------------- */
/* ------------------------------------------------- *
/* FontSize
/* ------------------------------------------------- */
/* ------------------------------------------------- *
/* Space
/* ------------------------------------------------- */
/* ------------------------------------------------- *
/* contentsMargin
/* ------------------------------------------------- */
/* ------------------------------------------------- *
/* Shadow
/* ------------------------------------------------- */
/* ------------------------------------------------- *
/* Easing
/* ------------------------------------------------- */
/* ------------------------------------------------- *
/* Icon
/* ------------------------------------------------- */
/* ------------------------------------------------- *
/*        hover
/* ------------------------------------------------- */
/* ------------------------------------------------- *
/*        textlink hover
/* ------------------------------------------------- */
/* icon */
/* ------------------------------------------------- *
/*        button icon1
/* ------------------------------------------------- */
/* ------------------------------------------------- *
/*        header hover
/* ------------------------------------------------- */
html {
  overflow-x: hidden;
  font-size: 10px;
  -webkit-font-smoothing: antialiased;
}

html.is-large {
  font-size: 15px;
}

html.is-xlarge {
  font-size: 20px;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  line-height: 1.5;
  background: #fff;
  -webkit-text-size-adjust: 100%;
  margin: 0;
  color: #333;
}

@media (min-width: 768px) {

  /*
    CMS環境用特殊対応：
    1200px以下の画面幅において横スクロールが発生した際、右端が切れる問題を解消します。
    ページ全体（html, body）に最小幅を設定し、CMS側等の既存スタイルによる
    overflow-x: hidden を強制的に解除します。
  */
  html,
  body {
    min-width: 1200px;
    overflow-x: visible !important;
  }
}

a {
  text-decoration: none;
}

[hidden] {
  display: none !important;
}

ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* li {
  display: block;
} */

*,
*::before,
*::after {
  word-break: break-all;
}

.u-none {
  display: none !important;
}

@media (min-width: 768px) {
  .u-md-none {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .u-sm-none {
    display: none !important;
  }
}

@media (max-width: 767px) {

  /* EN: Ensure long words wrap in SP */
  :lang(en) {
    overflow-wrap: break-word;
  }
}

.u-color-red1 {
  color: #BF3A3F !important;
}

.u-ta-center {
  text-align: center !important;
}

@media (min-width: 768px) {
  .u-md-ta-center {
    text-align: center !important;
  }
}

.u-ta-right {
  text-align: right !important;
}

@media (min-width: 768px) {
  .u-md-ta-right {
    text-align: right !important;
  }
}

@media (max-width: 767px) {
  .u-sm-ta-right {
    text-align: right !important;
  }
}

.u-ta-left {
  text-align: left !important;
}

@media (min-width: 768px) {
  .u-md-ta-left {
    text-align: left !important;
  }
}

@media (max-width: 767px) {
  .u-sm-ta-left {
    text-align: left !important;
  }
}

.u-va-middle {
  vertical-align: middle !important;
}

.u-fw-bold {
  font-weight: 700 !important;
}

.u-fw-normal {
  font-weight: 400 !important;
}

.u-td-uline {
  text-decoration: underline;
}

.u-fz-14 {
  font-size: 1.4rem !important;
}

.u-fz-16 {
  font-size: 1.6rem !important;
}

.u-fz-24 {
  font-size: 2.4rem !important;
}

@media (min-width: 768px) {
  .u-md-fz-40 {
    font-size: 4rem !important;
  }
}

@media (max-width: 767px) {
  .u-sm-fz-32 {
    font-size: 3.2rem !important;
  }
}

.u-tt-upper {
  text-transform: uppercase !important;
}

.u-mt-0 {
  margin-top: 0 !important;
}

.u-mt-8 {
  margin-top: 8px !important;
}

.u-mt-52 {
  margin-top: 52px !important;
}

.u-mt-100 {
  margin-top: 100px !important;
}

@media (min-width: 768px) {
  .u-md-pe-none {
    pointer-events: none;
  }
}

/**
 * Swiper 8.4.7
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: January 30, 2023
 */
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
  font-weight: 400;
  font-style: normal;
}

:root {
  --swiper-theme-color: #007aff;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}

.swiper-vertical>.swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-pointer-events {
  touch-action: pan-y;
}

.swiper-pointer-events.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}

.swiper-3d,
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-cube-shadow,
.swiper-3d .swiper-slide,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-css-mode>.swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
  scroll-snap-align: start start;
}

.swiper-horizontal.swiper-css-mode>.swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-vertical.swiper-css-mode>.swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-centered>.swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}

.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-horizontal>.swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-vertical>.swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

.swiper-centered>.swiper-wrapper>.swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 1px;
  width: var(--swiper-virtual-size);
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size);
}

:root {
  --swiper-navigation-size: 44px;
}

.swiper-button-next,
.swiper-button-prev {
  position: absolute;
  top: 50%;
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-next.swiper-button-hidden,
.swiper-button-prev.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-next,
.swiper-navigation-disabled .swiper-button-prev {
  display: none !important;
}

.swiper-button-next:after,
.swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: 10px;
  right: auto;
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  content: "prev";
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: 10px;
  left: auto;
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  content: "next";
}

.swiper-button-lock {
  display: none;
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 0.3s opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-disabled>.swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
  bottom: 10px;
  left: 0;
  width: 100%;
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: 50%;
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-pagination-vertical.swiper-pagination-bullets,
.swiper-vertical>.swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 0.2s transform, 0.2s top;
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s left;
}

.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s right;
}

.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-horizontal>.swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0;
}

.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-vertical>.swiper-pagination-progressbar {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-lock {
  display: none;
}

.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1);
}

.swiper-scrollbar-disabled>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}

.swiper-horizontal>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%;
}

.swiper-scrollbar.swiper-scrollbar-vertical,
.swiper-vertical>.swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%;
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container>canvas,
.swiper-zoom-container>img,
.swiper-zoom-container>svg {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,
.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-free-mode>.swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-grid>.swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-grid-column>.swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-fade .swiper-slide-active,
.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube {
  overflow: visible;
}

.swiper-cube .swiper-slide {
  pointer-events: none;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-next+.swiper-slide,
.swiper-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-right,
.swiper-cube .swiper-slide-shadow-top {
  z-index: 0;
  backface-visibility: hidden;
}

.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}

.swiper-cube .swiper-cube-shadow:before {
  content: "";
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px);
}

.swiper-flip {
  overflow: visible;
}

.swiper-flip .swiper-slide {
  pointer-events: none;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-flip .swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-right,
.swiper-flip .swiper-slide-shadow-top {
  z-index: 0;
  backface-visibility: hidden;
}

.swiper-creative .swiper-slide {
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}

.swiper-cards {
  overflow: visible;
}

.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  backface-visibility: hidden;
  overflow: hidden;
}

@media (min-width: 768px) {
  .l-document {
    /* overflow-x: hidden; */
    min-width: 1200px;
    padding-top: 106px;
  }
}

@media (max-width: 767px) {
  .l-document {
    padding-top: 60px;
  }
}

@media (max-width: 767px) {
  .l-document main {
    display: flex;
    flex-direction: column-reverse;
  }
}

@media (min-width: 768px) {
  .l-content {
    margin-bottom: 120px;
  }
}

@media (max-width: 767px) {
  .l-content {
    margin-bottom: 80px;
  }
}

.l-content:has(> .c-section1.is-blue1:last-child) {
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .l-content:has(> .c-section1.is-blue1:last-child) {
    border-bottom: 1px solid #cccccc;
  }
}

.l-content:has(> .c-section1 .c-index-nav1:last-child) {
  margin-bottom: 0;
}

.l-content:has(> .c-cv1:last-child) {
  margin-bottom: 0;
}

.l-content:has(.p-top-section3:last-child) {
  margin-bottom: 0;
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 20;
  width: 100%;
  background: #fff;
  transition: translate 0.2s ease 0.2s;
}

@media (min-width: 768px) {
  .l-header {
    min-width: 1200px;
  }
}

@media (min-width: 768px) and (max-width: 1200px) {
  .l-header {
    position: absolute !important;
    left: 0 !important;
    /* JavaScriptによる位置調整を無効化 */
  }

  /* メガメニュー（ドロップダウン）が画面幅で切れないように最小幅を確保 */
  .p-header-nav2 {
    min-width: 1200px;
  }
}

@media (min-width: 768px) {

  .l-header.is-hidden,
  .l-header.is-hide {
    translate: 0 -106px;
  }
}

@media (max-width: 767px) {

  .l-header.is-hidden,
  .l-header.is-hide {
    translate: 0 -60px;
  }
}

@media (min-width: 768px) {
  .l-header.is-show {
    translate: 0 0;
  }
}

@media (max-width: 767px) {
  .l-header.is-show {
    translate: 0 0;
  }
}

.l-header__inner {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@media (min-width: 768px) {
  .l-header__inner {
    height: 106px;
    padding-left: 20px;
  }
}

@media (max-width: 767px) {
  .l-header__inner {
    height: 60px;
    padding-left: 24px;
  }
}

/* logo */
/* menu */
@media (min-width: 768px) {
  .l-header__menu-button {
    display: none;
  }
}

@media (min-width: 768px) {
  .l-header__menu {
    height: 100%;
  }
}

@media (max-width: 767px) {
  .l-header__menu {
    position: absolute;
    top: 60px;
    left: 0;
    z-index: 99;
  }
}

@media (max-width: 767px) {
  .l-header__nav {
    padding-bottom: 40px;
  }
}

/* header__utility */
.l-header__utility {
  display: flex;
  gap: 12px;
}

@media (min-width: 768px) {
  .l-header__utility {
    margin: 0 24px 0 auto;
    padding-right: 292px;
  }
}

@media (max-width: 767px) {
  .l-header__utility {
    padding: 0 24px 40px;
  }
}

.l-footer {
  position: relative;
  background: #F5FCFF;
}

@media (min-width: 768px) {
  .l-footer {
    min-width: 1200px;
  }
}

.l-footer__inner {
  position: relative;
  background: #F5FCFF;
}

@media (min-width: 768px) {
  .l-footer__inner {
    width: 1200px;
    margin: auto;
    padding: 40px 0 76px;
  }
}

@media (max-width: 767px) {
  .l-footer__inner {
    padding: 40px 24px;
  }
}

/* top */
@media (min-width: 768px) {
  .l-footer__top {
    padding: 14px 24px;
  }
}

@media (max-width: 767px) {
  .l-footer__top {
    padding: 16px 20px;
  }
}

/* main */
@media (min-width: 768px) {
  .l-footer__main {
    min-width: 1200px;
    margin: auto;
  }
}

/* bottom */
.l-footer__bottom {
  padding-top: 36px;
}

@media (min-width: 768px) {
  .l-footer__bottom {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 34px 0;
    min-width: 1200px;
    margin: auto;
  }
}

@media (min-width: 768px) {
  .c-article-list1 {
    margin-top: 16px;
  }
}

.c-article-list1__list {
  display: flex;
  flex-direction: column;
}

.c-article-list1__item {
  display: flex;
  border-top: 1px solid #cccccc;
}

@media (min-width: 768px) {
  .c-article-list1__item {
    gap: 20px;
    padding: 24px 16px;
  }
}

@media (max-width: 767px) {
  .c-article-list1__item {
    gap: 8px 0;
    padding: 24px 0;
    flex-wrap: wrap;
  }
}

.c-article-list1__item:first-child {
  border-top: none;
}

.c-article-list1.is-wrap1 .c-article-list1__item {
  flex-wrap: wrap;
  gap: 8px 20px;
}

.c-article-list1__info {
  display: flex;
  gap: 16px;
}

@media (min-width: 768px) {
  .c-article-list1__info {
    flex: 0 0 auto;
    width: 252px;
  }
}

.c-article-list1.is-wrap1 .c-article-list1__info {
  width: auto;
}

.c-article-list1__info-date {
  flex: 0 0 auto;
  line-height: 1.8;
}

.c-article-list1__info-category {
  flex: 0 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.c-article-list1.is-wrap1 .c-article-list1__info-category {
  flex: 1 1 auto;
}

.c-article-list1__text {
  color: #0B57A0;
  line-height: 1.8;
}

@media (max-width: 767px) {
  .c-article-list1__text {
    width: 100%;
  }
}

.c-article-list1.is-wrap1 .c-article-list1__text {
  width: 100%;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-article-list1__text {
    transition: color 0.2s ease;
  }

  .c-article-list1__text:hover {
    color: #333;
    text-decoration: underline;
  }
}

.c-banner1.is-happiness1 {
  position: relative;
}

@media (min-width: 768px) {
  .c-banner1.is-happiness1 {
    padding-top: 340px;
  }
}

@media (max-width: 767px) {
  .c-banner1.is-happiness1 {
    padding-top: 230px;
  }
}

.c-banner1.is-happiness1::before {
  content: "";
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  border-radius: 0 0 40px 40px;
}

@media (min-width: 768px) {
  .c-banner1.is-happiness1::before {
    height: 420px;
    background: url(../img/img_sustainability_04.webp) no-repeat 0 0;
    background-size: cover;
  }
}

@media (max-width: 767px) {
  .c-banner1.is-happiness1::before {
    height: 266px;
    background: url(../img/img_sustainability_04_sp.webp) no-repeat 0 0;
    background-size: cover;
  }
}

.c-banner1__inner {
  position: relative;
  display: flex;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 0 20px rgba(51, 51, 51, 0.1);
}

@media (min-width: 768px) {
  .c-banner1__inner {
    gap: 40px;
    width: 1200px;
    margin: 0 auto;
    padding: 40px 80px;
  }
}

@media (max-width: 767px) {
  .c-banner1__inner {
    flex-direction: column;
    gap: 0;
    margin: 0 36px;
    padding: 24px;
  }
}

@media (min-width: 768px) {
  .c-banner1__head {
    flex: 0 0 auto;
    width: 380px;
  }
}

.c-banner1__title {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.c-banner1__title-label {
  font-size: 4rem;
  line-height: 1.25;
  font-family: "Lato", sans-serif;
}

.c-banner1__title-sublabel {
  display: flex;
  flex-direction: column;
  gap: 16px;
  font-size: 1.6rem;
  line-height: 1.8;
}

.c-banner1__title-sublabel::before {
  content: "";
  display: block;
  width: 80px;
  height: 1px;
  background: #333;
}

@media (max-width: 767px) {
  .c-banner1__body .c-button-set1 {
    margin-top: 24px;
    padding-right: 0;
    padding-left: 0;
  }
}

.c-button1 {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 6px 36px 6px 32px;
  border: 1px solid #0B57A0;
  border-radius: 56px;
  background: #fff;
  cursor: pointer;
}

@media (min-width: 768px) {
  .c-button1 {
    min-width: 240px;
  }
}

@media (max-width: 767px) {
  .c-button1 {
    min-width: 240px;
  }
}

@media (max-width: 767px) {
  .c-button1.is-wide1-sm {
    width: 100%;
  }
}

.c-button1::after {
  content: "";
  position: absolute;
  top: 0;
  right: 8px;
  bottom: 0;
  display: inline-block;
  width: 24px;
  height: 24px;
  margin: auto;
  background: #0B57A0;
  -webkit-mask-image: url(../img/icon_arrow_01.svg);
  mask-image: url(../img/icon_arrow_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 8px 13px;
  mask-size: 8px 13px;
}

.c-button1.is-back1::after {
  right: auto;
  left: 8px;
  rotate: 180deg;
}

.c-button1.is-anchor1::after {
  rotate: 90deg;
}

.c-button1.is-download1::after {
  -webkit-mask-image: url(../img/icon_download_01.svg);
  mask-image: url(../img/icon_download_01.svg);
  -webkit-mask-size: 16px 14px;
  mask-size: 16px 14px;
}

.c-button1.is-external1::after,
.c-button1[target=_blank]::after {
  -webkit-mask-image: url(../img/icon_external_01.svg);
  mask-image: url(../img/icon_external_01.svg);
  -webkit-mask-size: 14px;
  mask-size: 14px;
}

.c-button1.is-pdf1::before {
  content: "";
  position: absolute;
  top: 0;
  right: 2px;
  bottom: 0;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: auto;
  border: 1px solid #F0F0F0;
  border-radius: 2px;
  background: #cccccc;
}

.c-button1.is-pdf1::after {
  -webkit-mask-image: url(../img/icon_pdf_01.svg);
  mask-image: url(../img/icon_pdf_01.svg);
  -webkit-mask-size: 13.5px 13.06px;
  mask-size: 13.5px 13.06px;
}

.c-button1.is-toggle1::before,
.c-button1.is-toggle1::after {
  content: "";
  position: absolute;
  top: 0;
  right: 12px;
  bottom: 0;
  display: inline-block;
  width: 16px;
  height: 2px;
  margin: auto;
  background: #0B57A0;
}

.c-button1.is-toggle1::after {
  -webkit-mask-image: none;
  mask-image: none;
  rotate: 90deg;
}

.c-button1.is-toggle1.is-active::after {
  display: none;
}

.c-button1:disabled {
  pointer-events: none;
  opacity: 0.5;
  filter: saturate(0%);
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-button1 {
    transition: background 0.2s ease;
  }

  .c-button1::after {
    transition: background 0.2s ease;
  }

  .c-button1 .c-button1__label1 {
    transition: color 0.2s ease;
  }
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-button1:hover {
    background: #0B57A0;
  }

  .c-button1:hover::after {
    background: #fff;
  }

  .c-button1:hover .c-button1__label1 {
    color: #fff;
  }
}

.c-button1__icon1 {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 12px;
  margin: auto;
}

.c-button1__icon1.c-icon1 {
  background: #0B57A0;
}

.c-button1.is-big1 .c-button1__icon1 {
  left: 16px;
}

.c-button1.is-small1 .c-button1__icon1 {
  left: 8px;
}

.c-button1__label1 {
  color: #0B57A0;
  text-align: center;
  font-weight: 700;
}

.c-button1__label1>.is-sub1 {
  display: block;
  font-size: 1.4rem;
}

.c-button1__label1:has(.is-sub1, br) {
  line-height: 1.5;
}

.c-button1.is-big1 .c-button1__label1 {
  font-size: 2rem;
}

.c-button2 {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  display: flex;
  align-items: center;
  min-height: 68px;
  padding: 6px 48px 6px 20px;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 0 20px rgba(51, 51, 51, 0.1);
  cursor: pointer;
}

.c-button2:has(.c-button2__icon1) {
  min-height: 92px;
  padding-left: 80px;
}

@media (min-width: 768px) {
  .c-button2 {
    min-width: 360px;
  }
}

@media (max-width: 767px) {
  .c-button2 {
    min-width: 100%;
  }
}

.c-button2::before,
.c-button2::after {
  content: "";
  position: absolute;
  top: 0;
  right: 12px;
  bottom: 0;
  display: inline-block;
  width: 28px;
  height: 28px;
  margin: auto;
}

.c-button2::before {
  background: #fff;
  border-radius: 100%;
  box-shadow: 0 0 4px rgba(51, 51, 51, 0.24);
}

.c-button2::after {
  background: #0B57A0;
  -webkit-mask-image: url(../img/icon_arrow_01.svg);
  mask-image: url(../img/icon_arrow_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 8px 13px;
  mask-size: 8px 13px;
}

.c-button2.is-back1::after {
  right: auto;
  left: 12px;
  rotate: 180deg;
}

.c-button2.is-external1::after {
  -webkit-mask-image: url(../img/icon_external_01.svg);
  mask-image: url(../img/icon_external_01.svg);
  -webkit-mask-size: 14px;
  mask-size: 14px;
}

.c-button2.is-pdf1::after {
  -webkit-mask-image: url(../img/icon_pdf_01.svg);
  mask-image: url(../img/icon_pdf_01.svg);
  -webkit-mask-size: 13.5px 13.06px;
  mask-size: 13.5px 13.06px;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-button2 {
    transition: background 0.2s ease;
  }

  .c-button2 .c-button2__label1 {
    transition: color 0.2s ease;
  }

  .c-button2 .c-button2__icon1 {
    transition: background 0.2s ease;
  }
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-button2:hover {
    background: #0B57A0;
  }

  .c-button2:hover .c-button2__label1 {
    color: #fff;
  }

  .c-button2:hover .c-button2__icon1 {
    background: #fff;
  }
}

.c-button2__icon1 {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}

.c-button2__icon1.c-icon1 {
  left: 12px;
  width: 60px;
  height: 60px;
  background: #0B57A0;
}

.c-button2__label1 {
  color: #333;
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
}

.c-button2__label1>.is-sub1 {
  display: block;
  font-size: 1.4rem;
}

.c-button2__label1:has(.is-sub1, br) {
  line-height: 1.5;
}

@media (max-width: 767px) {
  .c-button2__label1:has(wbr) {
    word-break: keep-all;
  }
}

.c-button2.is-big1 .c-button2__label1 {
  font-size: 2rem;
}

#previousButton.c-button2 .c-button2__label1 {
  pointer-events: none;
}

.c-button-set1 {
  display: flex;
}

@media (min-width: 768px) {
  .c-button-set1 {
    align-items: center;
    justify-content: center;
    gap: 40px;
    margin-top: 40px;
  }
}

@media (max-width: 767px) {
  .c-button-set1 {
    flex-direction: column;
    align-items: center;
    gap: 24px;
    margin-top: 24px;
    padding-right: 20px;
    padding-left: 20px;
  }
}

.c-button-set1:first-child {
  margin-top: 0;
}

@media (min-width: 768px) {
  .c-button-set1.is-mdReverse {
    flex-direction: row-reverse;
  }
}

@media (min-width: 768px) {
  .c-button-set1.is-mdVertical {
    flex-direction: column;
  }
}

.c-button-set1.is-col2 {
  flex-direction: row;
  gap: 12px;
}

.c-button-set1.is-col2>.c-button1,
.c-button-set1.is-col2>.c-button2 {
  min-width: initial;
  width: calc(50% - 6px);
}

@media (min-width: 768px) {

  .c-button-set1.is-col2>.c-button1,
  .c-button-set1.is-col2>.c-button2 {
    padding-left: 28px;
    padding-right: 32px;
  }
}

@media (max-width: 767px) {

  .c-button-set1.is-col2>.c-button1,
  .c-button-set1.is-col2>.c-button2 {
    padding-left: 12px;
    justify-content: flex-start;
  }
}

@media (min-width: 768px) {

  .c-button-set1.is-col2>.c-button1::after,
  .c-button-set1.is-col2>.c-button2::after {
    right: 4px;
  }
}

@media (max-width: 767px) {

  .c-button-set1.is-col2>.c-button1 .c-button1__label1,
  .c-button-set1.is-col2>.c-button1 .c-button2__label1,
  .c-button-set1.is-col2>.c-button2 .c-button1__label1,
  .c-button-set1.is-col2>.c-button2 .c-button2__label1 {
    text-align: left;
  }
}

@media (max-width: 767px) {
  .c-button-set1.is-smCol2 {
    flex-direction: row;
    gap: 12px;
  }
}

@media (max-width: 767px) {

  .c-button-set1.is-smCol2>.c-button1,
  .c-button-set1.is-smCol2>.c-button2 {
    justify-content: flex-start;
    min-width: initial;
    width: calc(50% - 6px);
  }
}

@media (max-width: 767px) {

  .c-button-set1.is-smCol2>.c-button1:not(.is-back1),
  .c-button-set1.is-smCol2>.c-button2:not(.is-back1) {
    padding-left: 12px;
  }
}

@media (max-width: 767px) {

  .c-button-set1.is-smCol2>.c-button1.is-back1,
  .c-button-set1.is-smCol2>.c-button2.is-back1 {
    padding-right: 12px;
  }
}

@media (min-width: 768px) {
  .c-button-set1.is-mdCol3 {
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 24px 30px;
  }
}

@media (min-width: 768px) {
  .c-button-set1.is-mdCol3>* {
    width: calc(33.33% - 20px);
    min-width: initial;
  }
}

.c-button-set1.is-vertical1 {
  flex-direction: column;
}

@media (min-width: 768px) {
  .c-button-set1.is-left {
    justify-content: flex-start;
  }
}

.c-button-set1.is-gap12 {
  gap: 12px;
}

@media (min-width: 768px) {
  .c-button-set1.is-type1 {
    margin: 64px 0;
  }
}

@media (max-width: 767px) {
  .c-button-set1.is-type1 {
    margin: 40px 0;
  }
}

@media (min-width: 768px) {
  .c-button-set1.is-type2 {
    margin-top: 20px;
  }
}

@media (max-width: 767px) {
  .c-button-set1.is-type2 {
    margin-top: 40px;
  }
}

@media (min-width: 768px) {
  .c-button-set1.is-type3 {
    margin-top: 80px;
  }
}

@media (max-width: 767px) {
  .c-button-set1.is-type3 {
    margin-top: 60px;
  }
}

.c-button-set1.is-type4 {
  margin-top: 20px;
}

.c-section1 .c-button-set1,
.c-section2 .c-button-set1,
.c-cv1 .c-button-set1 {
  padding-right: 0;
  padding-left: 0;
}

@media (min-width: 768px) {
  .c-section1+.c-button-set1 {
    margin-top: 60px;
  }
}

@media (max-width: 767px) {
  .c-section1+.c-button-set1 {
    margin-top: 40px;
  }
}

.c-article-list1+.c-button-set1 {
  margin-top: 0;
  border-top: 1px solid #cccccc;
  padding-top: 40px;
  padding-bottom: 20px;
}

.c-card1 {
  position: relative;
  display: block;
  height: 100%;
  padding: 12px 12px 16px;
  border-radius: 20px;
  color: #333;
  background: #fff;
  box-shadow: 0 0 20px rgba(51, 51, 51, 0.1);
}

.c-card1::before,
.c-card1::after {
  content: "";
  position: absolute;
  top: 20px;
  right: 20px;
  display: inline-block;
  width: 24px;
  height: 24px;
  z-index: 1;
}

.c-card1::before {
  border-radius: 100%;
  background: #fff;
  box-shadow: 0 0 4px rgba(51, 51, 51, 0.24);
}

.c-card1::after {
  background: #0B57A0;
  -webkit-mask-image: url(../img/icon_arrow_01.svg);
  mask-image: url(../img/icon_arrow_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 8px 13px;
  mask-size: 8px 13px;
}

.c-card1[target=_blank]::after {
  -webkit-mask-image: url(../img/icon_external_01.svg);
  mask-image: url(../img/icon_external_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 14px;
  mask-size: 14px;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-card1 {
    transition: opacity 0.2s ease;
  }

  .c-card1:hover {
    opacity: 0.5;
  }
}

.c-card1__image1 {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
}

.c-card1__image1::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid #F0F0F0;
  border-radius: 12px;
}

.c-card1__label1 {
  margin-top: 16px;
  padding: 0 8px;
  font-size: 2rem;
  line-height: 1.8;
  font-weight: 700;
}

@media (max-width: 767px) {
  :lang(en) .c-card1__label1 {
    font-size: 1.6rem;
    line-height: 1.4;
  }
}

.c-card1__category1 {
  position: absolute;
  top: 12px;
  left: 12px;
}

.c-card1__textbox1 {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 0 8px;
}

.c-card1__data1 {
  color: #333;
  line-height: 1.8;
}

.c-card1__text1 {
  line-height: 1.8;
}

.c-card2 {
  position: relative;
  display: block;
  padding: 12px 12px 20px 12px;
  border-radius: 20px;
  color: #333;
  background: #fff;
  box-shadow: 0 0 20px rgba(51, 51, 51, 0.1);
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-card2 {
    transition: opacity 0.2s ease;
  }

  .c-card2:hover {
    opacity: 0.5;
  }
}

.c-card2__image1 {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 1;
}

@media (min-width: 768px) {
  .c-card2__image1 {
    width: 80px;
    height: 80px;
  }
}

@media (max-width: 767px) {
  .c-card2__image1 {
    width: 64px;
    height: 64px;
  }
}

.c-card2__title1 {
  position: relative;
  background: #F5FCFF;
  line-height: 1.8;
  font-weight: 700;
}

@media (min-width: 768px) {
  .c-card2__title1 {
    padding: 4px 40px 4px 108px;
    font-size: 2rem;
  }
}

@media (max-width: 767px) {
  .c-card2__title1 {
    min-height: 66px;
    padding: 4px 40px 4px 92px;
    font-size: 1.6rem;
  }
}

.c-card2__title1::before,
.c-card2__title1::after {
  content: "";
  position: absolute;
  top: 0;
  right: 8px;
  bottom: 0;
  display: inline-block;
  width: 24px;
  height: 24px;
  margin: auto;
}

.c-card2__title1::before {
  border-radius: 100%;
  background: #fff;
  box-shadow: 0 0 4px rgba(51, 51, 51, 0.24);
}

.c-card2__title1::after {
  background: #0B57A0;
  -webkit-mask-image: url(../img/icon_arrow_01.svg);
  mask-image: url(../img/icon_arrow_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 8px 13px;
  mask-size: 8px 13px;
}

.c-card2[target=_blank] .c-card2__title1::after {
  -webkit-mask-image: url(../img/icon_external_01.svg);
  mask-image: url(../img/icon_external_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 14px;
  mask-size: 14px;
}

.c-card2__text1 {
  margin-top: 16px;
  font-size: 1.6rem;
  line-height: 1.8;
}

@media (min-width: 768px) {
  .c-card2__text1 {
    padding: 0 0 0 108px;
  }
}

@media (max-width: 767px) {
  .c-card2__text1 {
    padding: 0 8px;
  }
}

.c-cv1 {
  position: relative;
}

@media (min-width: 768px) {
  .c-cv1 {
    margin-top: 80px;
    background: url(../img/img_cv_01.webp) no-repeat 0 0;
    background-size: cover;
  }
}

@media (max-width: 767px) {
  .c-cv1 {
    margin-top: 64px;
    background: url(../img/img_cv_01_sp.webp) no-repeat 0 0;
    background-size: cover;
  }
}

.c-cv1:last-child {
  margin-bottom: 0;
}

.c-cv1__inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 24px;
}

@media (min-width: 768px) {
  .c-cv1__inner {
    width: 1200px;
    min-height: 360px;
    margin: 0 auto;
    padding: 60px 20px;
  }
}

@media (max-width: 767px) {
  .c-cv1__inner {
    min-height: 300px;
    padding: 20px 24px;
  }
}

.c-cv1__title1 {
  text-align: center;
  font-weight: 700;
}

@media (min-width: 768px) {
  .c-cv1__title1 {
    padding: 8px 0;
    font-size: 3rem;
  }
}

@media (max-width: 767px) {
  .c-cv1__title1 {
    padding: 8px 0;
    font-size: 2.4rem;
  }
}

.c-cv1__button1 {
  display: flex;
  justify-content: center;
}

@media (min-width: 768px) {
  .c-cv1__button1 .c-button1 {
    width: 360px;
  }
}

@media (max-width: 767px) {
  .c-cv1__button1 .c-button1 {
    width: 100%;
  }
}

@media (min-width: 768px) {
  .c-grid1-md {
    display: grid;
    gap: 40px;
    margin-top: 40px;
  }
}

@media (max-width: 767px) {
  .c-grid1-md {
    margin-top: 24px;
  }
}

.c-grid1-md:first-child {
  margin-top: 0;
}

@media (min-width: 768px) {
  .c-grid1-md.is-col2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 768px) {
  .c-grid1-md.is-col3 {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 768px) {
  .c-grid1-md.is-col4 {
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
  }
}

@media (max-width: 767px) {
  .c-grid1-md.is-col4 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }
}

@media (min-width: 768px) {
  .c-grid1-md.is-col4md {
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
  }
}

@media (min-width: 768px) {
  .c-grid1-md.is-col6 {
    grid-template-columns: repeat(6, 1fr);
    gap: 40px;
  }
}

@media (max-width: 767px) {
  .c-grid1-md.is-col6 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }
}

@media (min-width: 768px) {
  .c-grid1-md.is-gap20 {
    margin-top: 24px;
    gap: 20px;
  }
}

@media (max-width: 767px) {
  .c-grid1-md.is-gap20 .c-grid1__unit1+.c-grid1__unit1 {
    margin-top: 20px;
  }
}

@media (min-width: 768px) {
  .c-grid1-md.is-mdReverse {
    grid-auto-flow: dense;
    direction: rtl;
  }
}

@media (min-width: 768px) {
  .c-grid1-md.is-mdReverse .c-grid1__unit1 {
    direction: ltr;
  }
}

@media (min-width: 768px) {
  .c-grid1-md.is-set1 {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto 1fr;
    gap: 0 40px;
    align-items: start;
  }
}

@media (min-width: 768px) {
  .c-grid1-md.is-set1 .c-grid1__unit1.is-rowSpan2 {
    grid-row: 2 span;
  }
}

.c-grid1-md.is-type1 {
  margin-top: 20px;
}

.c-grid1-md.is-type2 {
  margin-top: 60px;
}

.c-grid1-md+.c-grid1-md {
  padding-top: 40px;
  border-top: 1px solid #cccccc;
}

@media (min-width: 768px) {
  .c-grid1-md .c-grid1__unit1.is-colspan2 {
    grid-column: span 2;
  }
}

@media (min-width: 768px) {
  .c-grid1-md .c-grid1__unit1.is-narrow1 {
    width: 320px;
  }
}

@media (max-width: 767px) {
  .c-grid1-md .c-grid1__unit1+.c-grid1__unit1 {
    margin-top: 24px;
  }
}

@media (max-width: 767px) {

  .c-grid1-md.is-col4 .c-grid1__unit1,
  .c-grid1-md.is-col6 .c-grid1__unit1 {
    margin-top: 0;
  }
}

.c-icon1 {
  display: inline-flex;
  width: 28px;
  height: 28px;
  background: #333;
}

.c-icon1.is-red1 {
  background: #BF3A3F;
}

.c-icon1.is-blue1 {
  background-image: none;
  background-color: #0B57A0;
}

.c-icon1.is-blue2 {
  background-image: none;
  background-color: #002063;
}

.c-icon1.is-tag1 {
  -webkit-mask-image: url(../img/icon_tag1_1.svg);
  mask-image: url(../img/icon_tag1_1.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 20px;
  mask-size: 20px;
}

.c-icon1.is-calendar1 {
  -webkit-mask-image: url(../img/icon_calendar1_1.svg);
  mask-image: url(../img/icon_calendar1_1.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 20px 21px;
  mask-size: 20px 21px;
}

.c-icon1.is-attention1 {
  -webkit-mask-image: url(../img/icon_attention_01.svg);
  mask-image: url(../img/icon_attention_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 20px;
  mask-size: 20px;
}

.c-icon1.is-free-dial1 {
  width: 42px;
  height: 24px;
  background: url(../img/icon_free-dial1_1.svg) no-repeat 50% 50%;
  background-size: 42px 24px;
}

.c-icon1.is-swipe1 {
  width: 36px;
  height: 36px;
  -webkit-mask-image: url(../img/icon_swipe1_1.svg);
  mask-image: url(../img/icon_swipe1_1.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 36px;
  mask-size: 36px;
}

.c-icon1.is-mail1 {
  -webkit-mask-image: url(../img/icon_mail1_1.svg);
  mask-image: url(../img/icon_mail1_1.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 28px 21px;
  mask-size: 28px 21px;
}

.c-icon1.is-mail2 {
  -webkit-mask-image: url(../img/icon_mail2_1.svg);
  mask-image: url(../img/icon_mail2_1.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 24px 18px;
  mask-size: 24px 18px;
}

.c-icon1.is-tel1 {
  -webkit-mask-image: url(../img/icon_tel1_1.svg);
  mask-image: url(../img/icon_tel1_1.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 24px;
  mask-size: 24px;
}

.c-icon1.is-toggle1 {
  position: relative;
  background: none;
}

.c-icon1.is-toggle1::before,
.c-icon1.is-toggle1::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: inline-block;
  width: 12px;
  height: 2px;
  margin: auto;
  background: #0B57A0;
}

.c-icon1.is-toggle1::after {
  rotate: 90deg;
}

.c-icon1.is-circle1 {
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
}

.c-icon1.is-circle1::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 9px;
  border-radius: 100vmax;
}

.c-icon1.is-circle1.is-red1::before {
  background: #BF3A3F;
}

.c-icon1.is-circle1.is-blue1::before {
  background: #0B57A0;
}

.c-icon1.is-circle1.is-blue2::before {
  background: #002063;
}

.c-icon1.is-time1 {
  -webkit-mask-image: url(../img/icon_time_01.svg);
  mask-image: url(../img/icon_time_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 24px;
  mask-size: 24px;
}

.c-icon1.is-message {
  background-image: url(../img/icon_message_01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 64.22px 56.2px;
}

.c-icon1.is-philosophy {
  background-image: url(../img/icon_philosophy_01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 63.01px 53.17px;
}

.c-icon1.is-c-themepark {
  -webkit-mask-image: url(../img/icon_company-themepark_01.svg);
  mask-image: url(../img/icon_company-themepark_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 48px;
  mask-size: 48px;
}

.c-icon1.is-c-themepark-s {
  -webkit-mask-image: url(../img/icon_company-themepark_01.svg);
  mask-image: url(../img/icon_company-themepark_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 26px;
  mask-size: 26px;
}

.c-icon1.is-c-hotel {
  -webkit-mask-image: url(../img/icon_company-hotel_01.svg);
  mask-image: url(../img/icon_company-hotel_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 44px 48px;
  mask-size: 44px 48px;
}

.c-icon1.is-c-hotel-s {
  -webkit-mask-image: url(../img/icon_company-hotel_01.svg);
  mask-image: url(../img/icon_company-hotel_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 25px 27px;
  mask-size: 25px 27px;
}

.c-icon1.is-c-etc {
  -webkit-mask-image: url(../img/icon_company-etc_01.svg);
  mask-image: url(../img/icon_company-etc_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 44px;
  mask-size: 44px;
}

.c-icon1.is-c-etc-s {
  -webkit-mask-image: url(../img/icon_company-etc_01.svg);
  mask-image: url(../img/icon_company-etc_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 22px;
  mask-size: 22px;
}

.c-icon1.is-plan {
  background-image: url(../img/icon_plan_01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 62.85px 58.41px;
}

.c-icon1.is-sustainability {
  background-image: url(../img/icon_sustainability_01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 67.02px 49.54px;
}

.c-icon1.is-recruit {
  background-image: url(../img/icon_recruit_01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 77px 50px;
}

.c-icon1.is-sustainability {
  -webkit-mask-image: url(../img/icon_sustainability_01.svg);
  mask-image: url(../img/icon_sustainability_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 67.02px 49.54px;
  mask-size: 67.02px 49.54px;
}

.c-icon1.is-s-stock {
  background-image: url(../img/icon_sustainability-stock_01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 64px 58px;
}

.c-icon1.is-s-esg {
  background-image: url(../img/icon_sustainability-esg_01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 66px;
}

.c-icon1.is-s-external {
  -webkit-mask-image: url(../img/icon_sustainability-external_01.svg);
  mask-image: url(../img/icon_sustainability-external_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 52px 56px;
  mask-size: 52px 56px;
}

.c-icon1.is-s-about {
  -webkit-mask-image: url(../img/icon_sustainability-about_01.svg);
  mask-image: url(../img/icon_sustainability-about_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 42px 50px;
  mask-size: 42px 50px;
}

.c-icon1.is-s-esgnav {
  background-image: url(../img/icon_sustainability-esgnav_01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 54px 58px;
}

.c-icon1.is-s-esgnav-m2 {
  -webkit-mask-image: url(../img/icon_sustainability-esgnav_01.svg);
  mask-image: url(../img/icon_sustainability-esgnav_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 48px 52px;
  mask-size: 48px 52px;
}

.c-icon1.is-contact {
  -webkit-mask-image: url(../img/icon_contact_01.svg);
  mask-image: url(../img/icon_contact_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 48px 46px;
  mask-size: 48px 46px;
}

.c-icon1.is-faq {
  -webkit-mask-image: url(../img/icon_faq_01.svg);
  mask-image: url(../img/icon_faq_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 46px;
  mask-size: 46px;
}

.c-icon1.is-s-report {
  background-image: url(../img/icon_sustainability-report_01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 55px 60.6px;
}

.c-icon1.is-ir-annual {
  background-image: url(../img/icon_ir-annual_01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 56.01px 60.6px;
}

.c-icon1.is-ir-prosess {
  background-image: url(../img/icon_ir-prosess_01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 62px 64px;
}

.c-icon1.is-ir-olc {
  background-image: url(../img/icon_ir-olc_01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 55px 64px;
}

.c-icon1.is-ir-individual {
  background-image: url(../img/icon_ir-individualinvestor_01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 69.34px 50.38px;
}

.c-icon1.is-ir-benefit {
  background-image: url(../img/icon_ir-benefit_01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 60px 52px;
}

.c-icon1.is-recruit {
  -webkit-mask-image: url(../img/icon_recruit_01.svg);
  mask-image: url(../img/icon_recruit_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 77px 50px;
  mask-size: 77px 50px;
}

.c-icon1.is-r-manager {
  -webkit-mask-image: url(../img/icon_recruit-manager_01.svg);
  mask-image: url(../img/icon_recruit-manager_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 50px 39px;
  mask-size: 50px 39px;
}

.c-icon1.is-r-manager-s {
  -webkit-mask-image: url(../img/icon_recruit-manager_01.svg);
  mask-image: url(../img/icon_recruit-manager_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 27px 21px;
  mask-size: 27px 21px;
}

.c-icon1.is-r-generalist {
  -webkit-mask-image: url(../img/icon_recruit-generalist_01.svg);
  mask-image: url(../img/icon_recruit-generalist_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 48px 47px;
  mask-size: 48px 47px;
}

.c-icon1.is-r-generalist-s {
  -webkit-mask-image: url(../img/icon_recruit-generalist_01.svg);
  mask-image: url(../img/icon_recruit-generalist_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 27px;
  mask-size: 27px;
}

.c-icon1.is-r-themepark {
  -webkit-mask-image: url(../img/icon_recruit-themepark_01.svg);
  mask-image: url(../img/icon_recruit-themepark_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 42px 50px;
  mask-size: 42px 50px;
}

.c-icon1.is-r-themepark-s {
  -webkit-mask-image: url(../img/icon_recruit-themepark_01.svg);
  mask-image: url(../img/icon_recruit-themepark_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 22px 26px;
  mask-size: 22px 26px;
}

.c-icon1.is-r-career {
  -webkit-mask-image: url(../img/icon_recruit-career_01.svg);
  mask-image: url(../img/icon_recruit-career_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 35px 46px;
  mask-size: 35px 46px;
}

.c-icon1.is-r-career-s {
  -webkit-mask-image: url(../img/icon_recruit-career_01.svg);
  mask-image: url(../img/icon_recruit-career_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 19px 26px;
  mask-size: 19px 26px;
}

.c-index-nav1 {
  position: relative;
}

@media (min-width: 768px) {
  .c-index-nav1 {
    padding: 80px 0;
  }
}

@media (max-width: 767px) {
  .c-index-nav1 {
    padding: 40px 0 60px;
  }
}

.c-index-nav1:has(.c-index-nav1__image) {
  background: #EBF7FC;
}

.c-index-nav1:has(.c-index-nav1__image)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  background: #fff;
  width: 100%;
}

@media (min-width: 768px) {
  .c-index-nav1:has(.c-index-nav1__image)::before {
    height: 258px;
  }
}

@media (max-width: 767px) {
  .c-index-nav1:has(.c-index-nav1__image)::before {
    height: 131px;
  }
}

.c-index-nav1.is-type1 {
  padding: 0;
  background: transparent;
}

.c-index-nav1.is-type1::before {
  display: none;
}

.c-index-nav1__inner {
  position: relative;
}

@media (min-width: 768px) {
  .c-index-nav1__inner {
    width: 1200px;
    margin: auto;
  }
}

@media (max-width: 767px) {
  .c-index-nav1__inner {
    margin: 0 24px;
  }
}

@media (min-width: 768px) {
  .c-index-nav1__head {
    display: flex;
    gap: 60px;
  }
}

@media (min-width: 768px) {
  .c-index-nav1.is-reverse .c-index-nav1__head {
    flex-direction: row-reverse;
  }
}

.c-index-nav1__image {
  overflow: hidden;
}

@media (min-width: 768px) {
  .c-index-nav1__image {
    flex: 0 0 auto;
    width: 680px;
    border-radius: 32px;
  }
}

@media (max-width: 767px) {
  .c-index-nav1__image {
    border-radius: 24px;
  }
}

.c-index-nav1__textbox {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

@media (min-width: 768px) {
  .c-index-nav1:has(.c-index-nav1__image) .c-index-nav1__textbox {
    padding-top: 40px;
  }
}

@media (min-width: 768px) {
  .c-index-nav1:has(.c-index-nav1__image) .c-index-nav1__title {
    padding-bottom: 100px;
  }
}

@media (max-width: 767px) {
  .c-index-nav1:has(.c-index-nav1__image) .c-index-nav1__title {
    margin-top: 24px;
  }
}

.c-index-nav1.is-type1 .c-index-nav1__title {
  display: flex;
  align-items: center;
  gap: 12px;
}

@media (min-width: 768px) {
  .c-index-nav1.is-type1 .c-index-nav1__title {
    padding-bottom: 40px;
  }
}

@media (max-width: 767px) {
  .c-index-nav1.is-type1 .c-index-nav1__title {
    margin-top: 0;
    padding-bottom: 24px;
  }
}

.c-index-nav1__title-label {
  font-size: 3.6rem;
  text-align: left;
}

a.c-index-nav1__title-label {
  position: relative;
  color: #333;
}

@media (min-width: 768px) {
  a.c-index-nav1__title-label {
    display: inline-block;
  }
}

@media (max-width: 767px) {
  a.c-index-nav1__title-label {
    display: block;
    padding-right: 36px;
  }
}

a.c-index-nav1__title-label::before,
a.c-index-nav1__title-label::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  display: inline-block;
  width: 24px;
  height: 24px;
  margin: auto;
}

@media (min-width: 768px) {

  a.c-index-nav1__title-label::before,
  a.c-index-nav1__title-label::after {
    right: -44px;
  }
}

@media (max-width: 767px) {

  a.c-index-nav1__title-label::before,
  a.c-index-nav1__title-label::after {
    right: 0;
  }
}

a.c-index-nav1__title-label::before {
  border-radius: 100%;
  background: #fff;
  box-shadow: 0 0 4px rgba(51, 51, 51, 0.24);
}

a.c-index-nav1__title-label::after {
  background: #0B57A0;
  -webkit-mask-image: url(../img/icon_arrow_01.svg);
  mask-image: url(../img/icon_arrow_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 7px 10px;
  mask-size: 7px 10px;
}

@media (min-width: 768px) {
  a.c-index-nav1__title-label[target=_blank]::after {
    -webkit-mask-image: url(../img/icon_external_01.svg);
    mask-image: url(../img/icon_external_01.svg);
    -webkit-mask-size: 14px;
    mask-size: 14px;
  }
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  a.c-index-nav1__title-label {
    transition: color 0.2s ease;
  }

  a.c-index-nav1__title-label:hover {
    color: #0B57A0;
    text-decoration: underline;
  }

  a.c-index-nav1__title-label::before,
  a.c-index-nav1__title-label::after {
    transition: background 0.2s ease;
  }

  a.c-index-nav1__title-label:hover::before {
    background: #0B57A0;
  }

  a.c-index-nav1__title-label:hover::after {
    background: #fff;
  }
}

button.c-index-nav1__title-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
}

button.c-index-nav1__title-label .c-icon1 {
  width: 24px;
  height: 24px;
  background: #fff;
  border-radius: 100%;
  box-shadow: 0 0 4px rgba(51, 51, 51, 0.24);
}

button.c-index-nav1__title-label.is-open .c-icon1.is-toggle1::after {
  display: none;
}

.c-index-nav1__title-sublabel {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 8px;
  font-size: 1.6rem;
  font-family: "Lato", sans-serif;
}

.c-index-nav1__title-sublabel::before {
  content: "";
  display: inline-block;
  width: 80px;
  height: 1px;
  background: #333;
}

.c-index-nav1__title-icon {
  width: 54px;
  height: 54px;
}

.c-index-nav1__title-icon.c-icon1 {
  background: #0B57A0;
}

@media (min-width: 768px) {
  .c-index-nav1__text {
    font-size: 1.8rem;
    line-height: 1.8;
  }
}

@media (max-width: 767px) {
  .c-index-nav1__text {
    display: none;
  }
}

@media (min-width: 768px) {
  .c-index-nav1__body {
    padding: 32px 0 0;
  }
}

@media (max-width: 767px) {
  .c-index-nav1__body {
    display: grid;
    transition: grid-template-rows 0.5s ease;
    grid-template-rows: 0fr;
  }
}

@media (max-width: 767px) {
  .c-index-nav1:has(button.c-index-nav1__title-label.is-open) .c-index-nav1__body {
    grid-template-rows: 1fr;
  }
}

.c-index-nav1.is-type1 .c-index-nav1__body {
  padding-top: 0;
}

@media (max-width: 767px) {
  .c-index-nav1.is-type1 .c-index-nav1__body {
    grid-template-rows: 1fr;
  }
}

@media (min-width: 768px) {
  .c-index-nav1__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0 40px;
  }
}

@media (max-width: 767px) {
  .c-index-nav1__list {
    position: relative;
    overflow: hidden;
  }
}

.c-index-nav1__item1 {
  border-bottom: 1px solid #cccccc;
}

@media (min-width: 768px) {
  .c-index-nav1__item1 {
    width: calc((100% - 80px) / 3);
  }
}

.c-index-nav1__item1>a {
  position: relative;
  display: flex;
  height: 100%;
  align-items: center;
  color: #333;
}

@media (min-width: 768px) {
  .c-index-nav1__item1>a {
    padding: 16px 32px 16px 0;
    font-weight: 700;
  }
}

@media (max-width: 767px) {
  .c-index-nav1__item1>a {
    padding: 16px 32px 16px 24px;
  }
}

.c-index-nav1__item1>a::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  display: inline-block;
  width: 24px;
  height: 24px;
  margin: auto;
  background: #0B57A0;
  -webkit-mask-image: url(../img/icon_arrow_01.svg);
  mask-image: url(../img/icon_arrow_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 8px 13px;
  mask-size: 8px 13px;
}

@media (min-width: 768px) {
  .c-index-nav1__item1>a[target=_blank]::after {
    -webkit-mask-image: url(../img/icon_external_01.svg);
    mask-image: url(../img/icon_external_01.svg);
    -webkit-mask-size: 14px;
    mask-size: 14px;
  }
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-index-nav1__item1>a {
    transition: color 0.2s ease;
  }

  .c-index-nav1__item1>a::after {
    transition: background 0.2s ease;
  }

  .c-index-nav1__item1>a:hover {
    color: #0B57A0;
    text-decoration: underline;
  }

  .c-index-nav1__item1>a:hover::after {
    background: #0B57A0;
    translate: 0px 0;
  }
}

@media (max-width: 767px) {
  .c-index-nav1__item1:first-child {
    margin-top: 16px;
  }
}

@media (min-width: 768px) {
  .c-index-nav1:has(a.c-index-nav1__title-label) .c-index-nav1__item1:first-child {
    display: none;
  }
}

@media (max-width: 767px) {
  .c-index-nav1:has(a.c-index-nav1__title-label) .c-index-nav1__item1:first-child>a {
    padding-left: 0;
  }
}

@media (max-width: 767px) {
  .c-index-nav1.is-type1 .c-index-nav1__item1>a {
    padding-left: 0;
  }
}

@media (min-width: 768px) {
  .c-index-nav1.is-type1 .c-index-nav1__item1:first-child {
    display: block;
  }
}

@media (max-width: 767px) {
  .c-index-nav1.is-type1 .c-index-nav1__item1:first-child {
    margin-top: 0;
  }
}

.c-index-nav2.is-blue1 {
  position: relative;
  background: #EBF7FC;
}

@media (min-width: 768px) {
  .c-index-nav2.is-blue1 {
    padding-bottom: 80px;
  }
}

@media (max-width: 767px) {
  .c-index-nav2.is-blue1 {
    padding-bottom: 60px;
  }
}

.c-index-nav2.is-blue1::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100vw;
  background: #fff;
}

@media (min-width: 768px) {
  .c-index-nav2.is-blue1::before {
    height: 191px;
  }
}

@media (max-width: 767px) {
  .c-index-nav2.is-blue1::before {
    height: 218px;
  }
}

@media (min-width: 768px) {
  .c-index-nav2.is-blue1.is-col3::before {
    height: 242px;
  }
}

@media (max-width: 767px) {
  .c-index-nav2.is-blue1.is-col3::before {
    height: 218px;
  }
}

@media (min-width: 768px) {
  .c-section1__inner1+.c-index-nav2 {
    margin-top: 40px;
  }
}

@media (max-width: 767px) {
  .c-section1__inner1+.c-index-nav2 {
    margin-top: 24px;
  }
}

.c-index-nav2__inner {
  position: relative;
}

@media (min-width: 768px) {
  .c-index-nav2__inner {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    width: 1200px;
    margin: 0 auto;
  }
}

@media (max-width: 767px) {
  .c-index-nav2__inner {
    padding: 0 24px;
  }
}

@media (min-width: 768px) {
  .c-index-nav2__inner>* {
    width: calc((100% - 72px) / 4);
  }
}

@media (max-width: 767px) {
  .c-index-nav2__inner>*+* {
    margin-top: 24px;
  }
}

@media (min-width: 768px) {
  .c-index-nav2.is-col3 .c-index-nav2__inner {
    gap: 40px;
  }
}

@media (min-width: 768px) {
  .c-index-nav2.is-col3 .c-index-nav2__inner>* {
    width: calc((100% - 80px) / 3);
  }
}

.c-index-nav2__unit {
  overflow: hidden;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 0 20px rgba(51, 51, 51, 0.1);
}

@media (min-width: 768px) {
  .c-index-nav2__unit {
    display: flex;
    flex-direction: column;
  }
}

@media (max-width: 767px) {
  .c-index-nav2__unit+.c-index-nav2__unit {
    margin-top: 24px;
  }
}

@media (min-width: 768px) {
  .c-index-nav2__unit-wrap .c-index-nav2__unit+.c-index-nav2__unit {
    margin-top: 40px;
  }
}

.c-index-nav2__card1 {
  position: relative;
  display: block;
  padding: 12px 12px 16px;
  border-radius: 20px;
  color: #333;
}

.c-index-nav2__card1::before,
.c-index-nav2__card1::after {
  content: "";
  position: absolute;
  top: 20px;
  right: 20px;
  display: inline-block;
  width: 24px;
  height: 24px;
}

.c-index-nav2__card1::before {
  border-radius: 100%;
  background: #fff;
  box-shadow: 0 0 4px rgba(51, 51, 51, 0.24);
}

.c-index-nav2__card1::after {
  background: #0B57A0;
  -webkit-mask-image: url(../img/icon_arrow_01.svg);
  mask-image: url(../img/icon_arrow_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 7px 10px;
  mask-size: 7px 10px;
}

.c-index-nav2__card1[target=_blank]::after {
  -webkit-mask-image: url(../img/icon_external_01.svg);
  mask-image: url(../img/icon_external_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 14px;
  mask-size: 14px;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-index-nav2__card1 {
    transition: opacity 0.2s ease;
  }

  .c-index-nav2__card1:hover {
    opacity: 0.5;
  }
}

.c-index-nav2__card1-image {
  overflow: hidden;
  border-radius: 12px;
}

.c-index-nav2__card1-label {
  display: block;
  margin-top: 16px;
  padding-left: 8px;
  font-size: 2rem;
  font-weight: 700;
}

.c-index-nav2__list {
  background: #F5FCFF;
  margin-bottom: -1px;
  border-top: 1px solid #cccccc;
}

@media (min-width: 768px) {
  .c-index-nav2__list {
    flex: 1 1 auto;
  }
}

.c-index-nav2__item1 {
  border-bottom: 1px solid #cccccc;
}

.c-index-nav2__item1>a {
  position: relative;
  display: block;
  padding: 16px 40px 16px 36px;
  color: #333;
}

.c-index-nav2__item1>a::after {
  content: "";
  position: absolute;
  top: 0;
  right: 8px;
  bottom: 0;
  display: inline-block;
  width: 24px;
  height: 24px;
  margin: auto;
  background: #0B57A0;
  -webkit-mask-image: url(../img/icon_arrow_01.svg);
  mask-image: url(../img/icon_arrow_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 8px 13px;
  mask-size: 8px 13px;
}

.c-index-nav2__item1>a[target=_blank]::after {
  -webkit-mask-image: url(../img/icon_external_01.svg);
  mask-image: url(../img/icon_external_01.svg);
  -webkit-mask-size: 14px;
  mask-size: 14px;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-index-nav2__item1>a {
    transition: color 0.2s ease;
  }

  .c-index-nav2__item1>a::after {
    transition: background 0.2s ease;
  }

  .c-index-nav2__item1>a:hover {
    color: #0B57A0;
    text-decoration: underline;
  }

  .c-index-nav2__item1>a:hover::after {
    background: #0B57A0;
    translate: 0px 0;
  }
}

.c-kv1 {
  position: relative;
}

@media (min-width: 768px) {
  .c-kv1.is-company {
    background: url(../img/kv_company_01.webp) no-repeat center bottom;
    background-size: cover;
  }
}

@media (max-width: 767px) {
  .c-kv1.is-company {
    background: url(../img/kv_company_01_sp.webp) no-repeat 0 0;
    background-size: cover;
  }
}

@media (min-width: 768px) {
  .c-kv1.is-tdr {
    background: #E5F8FF url(../img/kv_tdr_01.webp) no-repeat center 0;
  }
}

@media (max-width: 767px) {
  .c-kv1.is-tdr {
    background: url(../img/kv_tdr_01_sp.webp) no-repeat 0 0;
    background-size: cover;
  }
}

@media (min-width: 768px) {
  .c-kv1.is-ir {
    background: url(../img/kv_ir_01.webp) no-repeat 0 0;
    background-size: cover;
  }
}

@media (max-width: 767px) {
  .c-kv1.is-ir {
    background: url(../img/kv_ir_01_sp.webp) no-repeat 0 0;
    background-size: cover;
  }
}

@media (min-width: 768px) {
  .c-kv1.is-sustainability {
    background: url(../img/kv_sustainability_01.webp) no-repeat center bottom;
    background-size: cover;
  }
}

@media (max-width: 767px) {
  .c-kv1.is-sustainability {
    background: url(../img/kv_sustainability_01_sp.webp) no-repeat 0 0;
    background-size: cover;
  }
}

@media (min-width: 768px) {
  .c-kv1.is-recruit {
    background: url(../img/kv_recruit_01.webp) no-repeat 0 0;
    background-size: cover;
  }
}

@media (max-width: 767px) {
  .c-kv1.is-recruit {
    background: url(../img/kv_recruit_01_sp.webp) no-repeat 0 0;
    background-size: cover;
  }
}

@media (min-width: 768px) {
  .c-kv1.is-career {
    background: url(../img/kv_career_01.webp) no-repeat 0 0;
    background-size: cover;
  }
}

@media (max-width: 767px) {
  .c-kv1.is-career {
    background: url(../img/kv_career_01_sp.webp) no-repeat 0 0;
    background-size: cover;
  }
}

.c-kv1__inner {
  display: flex;
  gap: 40px;
  height: 400px;
}

@media (min-width: 768px) {
  .c-kv1__inner {
    align-items: center;
    justify-content: space-between;
    width: 1200px;
    margin: 0 auto;
    padding-top: 40px;
  }
}

@media (max-width: 767px) {
  .c-kv1__inner {
    flex-direction: column;
    justify-content: center;
    padding: 40px 24px;
  }
}

.c-kv1__title {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

@media (max-width: 767px) {
  .c-kv1__title {
    flex: 1 1 auto;
    justify-content: center;
  }
}

.c-kv1.is-ir .c-kv1__title {
  padding-bottom: 100px;
}

.c-kv1.is-sustainability .c-kv1__title {
  color: #333;
}

.c-kv1__title-label {
  font-size: 4.8rem;
  line-height: 1.25;
  font-weight: 900;
}

.c-kv1__title-label .is-sub {
  display: block;
  font-size: 2.4rem;
}

.c-kv1__title-label:has(.is-sub) {
  line-height: 1.5;
}

.c-kv1__title-sublabel {
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-size: 1.8rem;
  font-weight: 700;
  font-family: "Lato", sans-serif;
}

.c-kv1__title-sublabel::before {
  content: "";
  display: block;
  width: 80px;
  height: 1px;
  background: #333;
}

.c-kv1.is-sustainability .c-kv1__title-sublabel::before {
  background: #333;
}

.c-kv1__title-text {
  font-size: 2rem;
}

.c-kv1__button {
  flex: 0 0 auto;
}

.c-kv1__block {
  background: rgba(255, 255, 255, 0.88);
  border-radius: 20px;
  box-shadow: 0 0 20px rgba(51, 51, 51, 0.1);
}

@media (max-width: 767px) {
  .c-kv1__block:has(.c-kv1__chart) {
    position: absolute;
    bottom: -120px;
    left: 24px;
    width: calc(100% - 48px);
  }
}

@media (min-width: 768px) {
  .c-kv1__chart {
    width: 241px;
  }
}

.c-kv1__chart-head {
  position: relative;
  padding: 4px 36px;
  border-bottom: 1px solid #cccccc;
  text-align: center;
  font-size: 1.8rem;
  line-height: 1.8;
  font-weight: 700;
}

.c-kv1__chart-head::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 12px;
  display: inline-block;
  width: 24px;
  height: 24px;
  margin: auto;
  background: #0B57A0;
  -webkit-mask-image: url(../img/icon_time_01.svg);
  mask-image: url(../img/icon_time_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 24px;
  mask-size: 24px;
}

.c-kv1__chart-body {
  padding: 8px 20px;
}

.c-kv1__chart-time {
  display: block;
  text-align: center;
  font-size: 1.4rem;
  line-height: 1.8;
}

.c-kv1__chart-table {
  width: 100%;
  margin: 8px 0 0;
  border-top: 1px solid #cccccc;
  border-collapse: collapse;
  font-size: 1.4rem;
  line-height: 1.8;
}

.c-kv1__chart-table th {
  text-align: left;
  font-weight: 400;
}

.c-kv1__chart-table td {
  text-align: right;
  font-weight: 700;
}

.c-kv1__chart-table tr td span {
  font-family: "Lato", sans-serif;
}

.c-kv1__chart-table tr:first-child th,
.c-kv1__chart-table tr:first-child td {
  padding: 4px 0 0;
}

.c-kv1__chart-table tr:first-child td {
  color: #0B57A0;
}

.c-kv1__chart-table tr:first-child td span {
  font-size: 2.4rem;
  font-weight: 900;
}

.c-kv1__chart-table tr:nth-last-child(2) th,
.c-kv1__chart-table tr:nth-last-child(2) td {
  padding: 0 0 4px;
}

.c-kv1__chart-table tr:nth-last-child(2) td {
  color: #1A9F3D;
}

.c-kv1__chart-table tr:nth-last-child(2) td span {
  font-size: 2.4rem;
  font-weight: 900;
}

.c-kv1__chart-table tr:last-child th,
.c-kv1__chart-table tr:last-child td {
  padding: 4px 0 0;
  border-top: 1px solid #cccccc;
}

.c-kv1__chart-table tr:last-child td span {
  font-size: 1.8rem;
}

.c-kv2 {
  background: #EBF7FC;
}

@media (min-width: 768px) {
  .c-kv2__inner {
    width: 1200px;
    margin: 0 auto;
    padding: 120px 0 80px;
  }
}

@media (max-width: 767px) {
  .c-kv2__inner {
    padding: 48px 24px;
  }
}

.c-kv2__title-label {
  font-size: 4.8rem;
  line-height: 1.25;
  font-weight: 900;
}

.c-link-list1 {
  margin-top: 8px;
}

@media (min-width: 768px) {
  .c-link-list1 {
    display: flex;
    flex-wrap: wrap;
    gap: 0 40px;
  }
}

.c-link-list1:first-child {
  margin-top: 0;
}

@media (min-width: 768px) {
  .c-title4+.c-link-list1 {
    margin-top: 40px;
  }
}

@media (max-width: 767px) {
  .c-title4+.c-link-list1 {
    margin-top: 24px;
  }
}

.c-link-list1__item1 {
  border-bottom: 1px solid #cccccc;
}

@media (min-width: 768px) {
  .c-link-list1__item1 {
    width: calc((100% - 80px) / 3);
  }
}

@media (min-width: 768px) {
  .c-link-list1.is-col2 .c-link-list1__item1 {
    width: calc((100% - 40px) / 2);
  }
}

.c-link-list1.is-bold .c-link-list1__item1 {
  font-weight: 700;
}

.c-link-list1__item1>a {
  position: relative;
  display: flex;
  height: 100%;
  align-items: center;
  color: #333;
}

@media (min-width: 768px) {
  .c-link-list1__item1>a {
    padding: 16px 32px 16px 0;
  }
}

@media (max-width: 767px) {
  .c-link-list1__item1>a {
    padding: 16px 32px 16px 0;
  }
}

.c-link-list1__item1>a::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  display: inline-block;
  width: 24px;
  height: 24px;
  margin: auto;
  background: #0B57A0;
  -webkit-mask-image: url(../img/icon_arrow_01.svg);
  mask-image: url(../img/icon_arrow_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 8px 13px;
  mask-size: 8px 13px;
}

.c-link-list1__item1>a[target=_blank]::after {
  -webkit-mask-image: url(../img/icon_external_01.svg);
  mask-image: url(../img/icon_external_01.svg);
  -webkit-mask-size: 14px;
  mask-size: 14px;
}

.c-link-list1__item1>a[href$=".pdf"]::before {
  content: "";
  position: absolute;
  top: 0;
  right: 2px;
  bottom: 0;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: auto;
  border: 1px solid #cccccc;
  border-radius: 2px;
  background: #F0F0F0;
}

.c-link-list1__item1>a[href$=".pdf"]::after {
  background: #E56353;
  -webkit-mask-image: url(../img/icon_pdf_01.svg);
  mask-image: url(../img/icon_pdf_01.svg);
  -webkit-mask-size: 13.5px 13.06px;
  mask-size: 13.5px 13.06px;
}

.c-link-list1__item1>a em {
  font-style: normal;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-link-list1__item1>a {
    transition: color 0.2s ease;
  }

  .c-link-list1__item1>a::after {
    transition: background 0.2s ease;
  }

  .c-link-list1__item1>a:hover {
    color: #0B57A0;
    text-decoration: underline;
  }

  .c-link-list1__item1>a:hover::after {
    background: #0B57A0;
    translate: 0px 0;
  }
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-link-list1__item1>a[href$=".pdf"]::before {
    transition: border 0.2s ease, background 0.2s ease;
  }

  .c-link-list1__item1>a[href$=".pdf"]:hover::before {
    border-color: #0B57A0;
    background: #0B57A0;
  }

  .c-link-list1__item1>a[href$=".pdf"]:hover::after {
    background: #fff;
  }
}

.c-logo1 {
  display: block;
}

@media (min-width: 768px) {
  .c-logo1 {
    width: 200px;
  }
}

@media (max-width: 767px) {
  .c-logo1 {
    width: 180px;
  }
}

.c-logo1__img {
  width: 100%;
  height: auto;
}

.c-page-nav1 {
  position: relative;
}

.c-page-nav1::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 50%;
  background: #EBF7FC;
}

.c-kv2+.c-page-nav1::before {
  background: #EBF7FC;
}

.c-page-nav1__inner {
  position: relative;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 0 20px rgba(51, 51, 51, 0.1);
}

@media (min-width: 768px) {
  .c-page-nav1__inner {
    display: flex;
    align-items: center;
    gap: 40px;
    width: 1200px;
    margin: 0 auto;
    padding: 20px 0 20px 40px;
  }
}

@media (max-width: 767px) {
  .c-page-nav1__inner {
    margin: 0 24px;
  }
}

.c-page-nav1__title {
  font-size: 2rem;
  line-height: 1.8;
  font-weight: 700;
}

@media (min-width: 768px) {
  .c-page-nav1__title {
    flex: 0 0 auto;
  }
}

@media (max-width: 767px) {
  .c-page-nav1__title {
    padding: 12px 20px;
  }
}

@media (min-width: 768px) {
  .c-page-nav1__list {
    display: flex;
    width: 100%;
  }
}

@media (min-width: 768px) {
  .c-page-nav1__item {
    border-left: 1px solid #cccccc;
  }
}

@media (max-width: 767px) {
  .c-page-nav1__item {
    border-top: 1px solid #cccccc;
  }
}

@media (min-width: 768px) {
  .c-page-nav1__list:has(> :nth-child(1):last-child) .c-page-nav1__item {
    width: 100%;
  }
}

@media (min-width: 768px) {
  .c-page-nav1__list:has(> :nth-child(2):last-child) .c-page-nav1__item {
    width: 50%;
  }
}

@media (min-width: 768px) {
  .c-page-nav1__list:has(> :nth-child(3):last-child) .c-page-nav1__item {
    width: 33.33%;
  }
}

@media (min-width: 768px) {

  .c-page-nav1__list:has(> :nth-child(4):last-child) .c-page-nav1__item,
  .c-page-nav1__list:has(> :nth-child(7):last-child) .c-page-nav1__item,
  .c-page-nav1__list:has(> :nth-child(8):last-child) .c-page-nav1__item {
    width: 25%;
  }
}

@media (min-width: 768px) {

  .c-page-nav1__list:has(> :nth-child(5):last-child) .c-page-nav1__item,
  .c-page-nav1__list:has(> :nth-child(9):last-child) .c-page-nav1__item,
  .c-page-nav1__list:has(> :nth-child(10):last-child) .c-page-nav1__item {
    width: 20%;
  }
}

@media (min-width: 768px) {

  .c-page-nav1__list:has(> :nth-child(6):last-child) .c-page-nav1__item,
  .c-page-nav1__list:has(> :nth-child(11):last-child) .c-page-nav1__item,
  .c-page-nav1__list:has(> :nth-child(12):last-child) .c-page-nav1__item {
    width: 16.66%;
  }
}

.c-page-nav1__item>a {
  position: relative;
  width: 100%;
  height: 100%;
  color: #333;
  font-weight: 700;
}

@media (min-width: 768px) {
  .c-page-nav1__item>a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 44px;
    text-align: center;
  }
}

@media (max-width: 767px) {
  .c-page-nav1__item>a {
    display: block;
    padding: 16px 44px 16px 20px;
  }
}

.c-page-nav1__item>a::after {
  content: "";
  position: absolute;
  top: 0;
  right: 12px;
  bottom: 0;
  display: inline-block;
  width: 24px;
  height: 24px;
  margin: auto;
  background: #0B57A0;
  -webkit-mask-image: url(../img/icon_pagetop_01.svg);
  mask-image: url(../img/icon_pagetop_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 12.32px 11.21px;
  mask-size: 12.32px 11.21px;
  rotate: 180deg;
}

.c-page-nav1.is-type1 .c-page-nav1__item>a {
  line-height: 1.8;
}

@media (min-width: 768px) {
  .c-page-nav1.is-type1 .c-page-nav1__item>a {
    line-height: 1.5;
    min-height: 60px;
    padding-top: 6px;
    padding-bottom: 6px;
  }
}

.c-page-nav1__item>a .c-icon1 {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #0B57A0;
}

@media (min-width: 768px) {
  .c-page-nav1__item>a .c-icon1 {
    left: 12px;
  }
}

@media (max-width: 767px) {
  .c-page-nav1__item>a .c-icon1 {
    left: 20px;
  }
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-page-nav1__item>a {
    transition: color 0.2s ease;
  }

  .c-page-nav1__item>a:hover {
    color: #0B57A0;
    text-decoration: underline;
  }
}

.scrollTrigger1[data-scroll=fade1] {
  opacity: 0;
  transition: opacity 0.5s linear;
}

.scrollTrigger1[data-scroll=fade1].is-enter {
  opacity: 1;
}

.scrollTrigger1[data-scroll=fade2] .scrollTrigger1__item1 {
  opacity: 0;
  translate: 0 10px;
  transition: opacity 0.5s linear, translate 0.5s ease;
}

.scrollTrigger1[data-scroll=fade2] .scrollTrigger1__item1:nth-of-type(1) {
  transition-delay: 0.15s;
}

.scrollTrigger1[data-scroll=fade2] .scrollTrigger1__item1:nth-of-type(2) {
  transition-delay: 0.3s;
}

.scrollTrigger1[data-scroll=fade2] .scrollTrigger1__item1:nth-of-type(3) {
  transition-delay: 0.45s;
}

.scrollTrigger1[data-scroll=fade2] .scrollTrigger1__item1:nth-of-type(4) {
  transition-delay: 0.6s;
}

.scrollTrigger1[data-scroll=fade2] .scrollTrigger1__item1:nth-of-type(5) {
  transition-delay: 0.75s;
}

.scrollTrigger1[data-scroll=fade2] .scrollTrigger1__item1:nth-of-type(6) {
  transition-delay: 0.9s;
}

.scrollTrigger1[data-scroll=fade2] .scrollTrigger1__item1:nth-of-type(7) {
  transition-delay: 1.05s;
}

.scrollTrigger1[data-scroll=fade2] .scrollTrigger1__item1:nth-of-type(8) {
  transition-delay: 1.2s;
}

.scrollTrigger1[data-scroll=fade2] .scrollTrigger1__item1:nth-of-type(9) {
  transition-delay: 1.35s;
}

.scrollTrigger1[data-scroll=fade2] .scrollTrigger1__item1:nth-of-type(10) {
  transition-delay: 1.5s;
}

.scrollTrigger1[data-scroll=fade2] .scrollTrigger1__item1:nth-of-type(11) {
  transition-delay: 1.65s;
}

.scrollTrigger1[data-scroll=fade2] .scrollTrigger1__item1:nth-of-type(12) {
  transition-delay: 1.8s;
}

.scrollTrigger1[data-scroll=fade2] .scrollTrigger1__item1:nth-of-type(13) {
  transition-delay: 1.95s;
}

.scrollTrigger1[data-scroll=fade2] .scrollTrigger1__item1:nth-of-type(14) {
  transition-delay: 2.1s;
}

.scrollTrigger1[data-scroll=fade2] .scrollTrigger1__item1:nth-of-type(15) {
  transition-delay: 2.25s;
}

.scrollTrigger1[data-scroll=fade2] .scrollTrigger1__item1:nth-of-type(16) {
  transition-delay: 2.4s;
}

.scrollTrigger1[data-scroll=fade2] .scrollTrigger1__item1:nth-of-type(17) {
  transition-delay: 2.55s;
}

.scrollTrigger1[data-scroll=fade2] .scrollTrigger1__item1:nth-of-type(18) {
  transition-delay: 2.7s;
}

.scrollTrigger1[data-scroll=fade2] .scrollTrigger1__item1:nth-of-type(19) {
  transition-delay: 2.85s;
}

.scrollTrigger1[data-scroll=fade2] .scrollTrigger1__item1:nth-of-type(20) {
  transition-delay: 3s;
}

.scrollTrigger1[data-scroll=fade2].is-enter .scrollTrigger1__item1 {
  opacity: 1;
  translate: 0 0;
}

.scrollTrigger2[data-scroll=fade1] .scrollTrigger2__item1 {
  opacity: 0;
  transition: opacity 0.5s linear;
}

.scrollTrigger2[data-scroll=fade1] .scrollTrigger2__item1.is-enter {
  opacity: 1;
}

.c-shortcut1 {
  background: #F5FCFF;
}

@media (min-width: 768px) {
  .c-shortcut1 {
    padding: 40px 0 64px;
    border-bottom: 1px solid #cccccc;
  }
}

@media (max-width: 767px) {
  .c-shortcut1 {
    padding: 144px 0;
  }
}

@media (max-width: 767px) {
  .c-kv1.is-ir+.c-shortcut1 {
    padding-top: 144px;
  }
}

.c-shortcut1__inner {
  display: flex;
  justify-content: center;
}

@media (min-width: 768px) {
  .c-shortcut1__inner {
    width: 1200px;
    margin: auto;
  }
}

@media (max-width: 767px) {
  .c-shortcut1__inner {
    flex-wrap: wrap;
    gap: 8px 16px;
    margin: 0 24px;
  }
}

.c-shortcut1__unit {
  position: relative;
}

.c-shortcut1__unit>a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

@media (min-width: 768px) {
  .c-shortcut1__unit {
    width: 200px;
  }
}

@media (max-width: 767px) {
  .c-shortcut1__unit {
    width: calc((100% - 32px) / 3);
  }
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-shortcut1__unit>a .c-shortcut1__image {
    transition: opacity 0.3s ease, box-shadow 0.3s ease;
  }

  .c-shortcut1__unit>a:hover .c-shortcut1__image {
    opacity: 0.8;
    box-shadow: inset 0 0 0 3px #0B57A0;
  }
}

.c-shortcut1__image {
  position: relative;
  border-radius: 100%;
  border: 1px solid #0B57A0;
  background: #fff;
}

@media (min-width: 768px) {
  .c-shortcut1__image {
    width: 120px;
    height: 120px;
  }
}

@media (max-width: 767px) {
  .c-shortcut1__image {
    width: 96px;
    height: 96px;
  }
}

.c-shortcut1__image.is-download::before {
  content: "";
  position: absolute;
  display: inline-block;
  background: #0B57A0;
  border-radius: 100%;
}

@media (min-width: 768px) {
  .c-shortcut1__image.is-download::before {
    right: 0;
    bottom: 0;
    width: 32px;
    height: 32px;
  }
}

@media (max-width: 767px) {
  .c-shortcut1__image.is-download::before {
    right: -7px;
    bottom: -3px;
    width: 36px;
    height: 36px;
  }
}

.c-shortcut1__image.is-download::after {
  content: "";
  position: absolute;
  display: inline-block;
  background: #fff;
  -webkit-mask-image: url(../img/icon_download_01.svg);
  mask-image: url(../img/icon_download_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 16px 14px;
  mask-size: 16px 14px;
}

@media (min-width: 768px) {
  .c-shortcut1__image.is-download::after {
    right: 0;
    bottom: 0;
    width: 32px;
    height: 32px;
  }
}

@media (max-width: 767px) {
  .c-shortcut1__image.is-download::after {
    right: -7px;
    bottom: -3px;
    width: 36px;
    height: 36px;
  }
}

.c-shortcut1__image .c-icon1 {
  width: 100%;
  height: 100%;
  background-color: transparent !important;
}

@media (max-width: 767px) {
  .c-shortcut1__image .c-icon1 {
    scale: 0.8;
  }
}

.c-shortcut1__text {
  margin-top: 12px;
  color: #0B57A0;
  font-weight: 700;
  text-align: center;
}

.c-shortcut1__unit a.is-external1 .c-shortcut1__text::after,
.c-shortcut1__unit a[target=_blank] .c-shortcut1__text::after {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  margin: auto;
  background: #0B57A0;
  -webkit-mask-image: url(../img/icon_external_01.svg);
  mask-image: url(../img/icon_external_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 14px;
  mask-size: 14px;
  vertical-align: bottom;
}

.c-slide1 {
  position: relative;
}

@media (max-width: 767px) {
  .c-slide1 {
    margin: 0 24px;
  }
}

@media (min-width: 768px) {
  .c-slide1__unit {
    width: calc((100% - 72px) / 4);
  }
}

@media (max-width: 767px) {
  .c-slide1__unit {
    width: calc((100% - 8px) / 2);
  }
}

.c-slide1__unit>a {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px;
  color: #0B57A0;
}

.c-slide1__unit>a[target=_blank]::before {
  content: "";
  position: absolute;
  display: block;
  border-radius: 100%;
  background: #fff;
  box-shadow: 0 0 4px rgba(51, 51, 51, 0.24);
}

@media (min-width: 768px) {
  .c-slide1__unit>a[target=_blank]::before {
    top: 8px;
    right: 8px;
    width: 24px;
    height: 24px;
  }
}

@media (max-width: 767px) {
  .c-slide1__unit>a[target=_blank]::before {
    top: 6px;
    right: 8px;
    right: 8px;
    width: 16px;
    height: 16px;
  }
}

.c-slide1__unit>a[target=_blank]::after {
  content: "";
  position: absolute;
  display: inline-block;
  background: #0B57A0;
}

@media (min-width: 768px) {
  .c-slide1__unit>a[target=_blank]::after {
    top: 8px;
    right: 8px;
    width: 24px;
    height: 24px;
    -webkit-mask-image: url(../img/icon_external_01.svg);
    mask-image: url(../img/icon_external_01.svg);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 14px;
    mask-size: 14px;
  }
}

@media (max-width: 767px) {
  .c-slide1__unit>a[target=_blank]::after {
    top: 6px;
    right: 8px;
    right: 8px;
    width: 16px;
    height: 16px;
    -webkit-mask-image: url(../img/icon_external_01.svg);
    mask-image: url(../img/icon_external_01.svg);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 8px;
    mask-size: 8px;
  }
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-slide1__unit>a {
    transition: opacity 0.2s ease;
  }

  .c-slide1__unit>a:hover {
    opacity: 0.5;
  }
}

.c-slide1 .swiper {
  position: relative;
  display: block;
  margin-top: -20px;
  padding-top: 20px;
  margin-right: -20px;
  margin-left: -20px;
  padding-right: 20px;
  padding-left: 20px;
}

.c-slide1 .swiper-wrapper {
  display: flex;
}

.c-slide1 .swiper-slide {
  flex: 0 0 auto;
}

@media (min-width: 768px) {
  .c-slide1 .swiper-slide {
    width: calc((100% - 80px) / 3);
  }
}

@media (max-width: 767px) {
  .c-slide1 .swiper-slide {
    width: 100%;
  }
}

.c-slide1 .swiper-slide.swiper-slide-prev .c-slide1__unit>* {
  box-shadow: none;
}

.c-slide1 .swiper-slide.swiper-slide-visible+.swiper-slide:not(.swiper-slide-visible) .c-slide1__unit>* {
  box-shadow: none;
}

.c-slide1 .swiper-slide .c-slide1__unit {
  width: 100%;
}

.c-slide1 .swiper-pagination {
  position: static;
  display: flex;
  justify-content: center;
  gap: 10px;
}

@media (min-width: 768px) {
  .c-slide1 .swiper-pagination {
    margin-top: 24px;
  }
}

@media (max-width: 767px) {
  .c-slide1 .swiper-pagination {
    margin-top: 24px;
  }
}

.c-slide1 .swiper-pagination-bullet {
  display: block;
  width: 12px;
  height: 12px;
  border-radius: 100vmax;
  background: #cccccc;
  cursor: pointer;
}

.c-slide1 .swiper-pagination-bullet-active {
  background: #0B57A0;
  pointer-events: none;
}

.c-slide1 .swiper-button-prev,
.c-slide1 .swiper-button-next {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 0;
  cursor: pointer;
}

@media (min-width: 768px) {

  .c-slide1 .swiper-button-prev,
  .c-slide1 .swiper-button-next {
    top: calc(50% - 16px - 36px);
    width: 32px;
    height: 32px;
  }
}

@media (max-width: 767px) {

  .c-slide1 .swiper-button-prev,
  .c-slide1 .swiper-button-next {
    top: calc(50% - 12px - 36px);
    width: 24px;
    height: 24px;
    margin-top: calc((100% - 8px) / 2 * 0.36900369 - 12px);
  }
}

.c-slide1 .swiper-button-prev::before,
.c-slide1 .swiper-button-next::before {
  content: "";
  display: block;
  background: #0B57A0;
}

@media (min-width: 768px) {

  .c-slide1 .swiper-button-prev::before,
  .c-slide1 .swiper-button-next::before {
    width: 32px;
    height: 32px;
    -webkit-mask-image: url(../img/icon_arrow_01.svg);
    mask-image: url(../img/icon_arrow_01.svg);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 19.7px 29.57px;
    mask-size: 19.7px 29.57px;
  }
}

@media (max-width: 767px) {

  .c-slide1 .swiper-button-prev::before,
  .c-slide1 .swiper-button-next::before {
    width: 24px;
    height: 24px;
    -webkit-mask-image: url(../img/icon_arrow_01.svg);
    mask-image: url(../img/icon_arrow_01.svg);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 14.78px 22.18px;
    mask-size: 14.78px 22.18px;
  }
}

.c-slide1 .swiper-button-prev {
  translate: 0 0;
}

@media (min-width: 768px) {
  .c-slide1 .swiper-button-prev {
    left: -44px;
  }
}

@media (max-width: 767px) {
  .c-slide1 .swiper-button-prev {
    left: calc(50% - 167.5px - 20px);
  }
}

.c-slide1 .swiper-button-prev::before {
  rotate: 180deg;
}

.c-slide1 .swiper-button-next {
  translate: 0 0;
}

@media (min-width: 768px) {
  .c-slide1 .swiper-button-next {
    right: -44px;
  }
}

@media (max-width: 767px) {
  .c-slide1 .swiper-button-next {
    right: calc(50% - 167.5px - 20px);
  }
}

@media (min-width: 768px) {
  .c-section1 {
    padding-top: 64px;
  }
}

@media (max-width: 767px) {
  .c-section1 {
    padding-top: 40px;
  }
}

.c-section1.is-blue1 {
  background: #EBF7FC;
}

@media (min-width: 768px) {
  .c-section1.is-blue1 {
    margin-top: 80px;
    padding: 64px 0 80px;
  }
}

@media (max-width: 767px) {
  .c-section1.is-blue1 {
    margin-top: 40px;
    padding: 40px 0 64px;
  }
}

@media (min-width: 768px) {
  .c-section1+.c-section1:not(.is-blue1) {
    padding-top: 64px;
  }
}

@media (max-width: 767px) {
  .c-section1+.c-section1:not(.is-blue1) {
    padding-top: 40px;
  }
}

@media (min-width: 768px) {
  .c-section1+.c-section1.is-blue1 {
    margin-top: 80px;
  }
}

@media (max-width: 767px) {
  .c-section1+.c-section1.is-blue1 {
    margin-top: 60px;
  }
}

.c-section1.is-halfblue1 {
  position: relative;
}

@media (min-width: 768px) {
  .c-section1.is-halfblue1 {
    padding-bottom: 80px;
  }
}

@media (max-width: 767px) {
  .c-section1.is-halfblue1 {
    padding-bottom: 40px;
  }
}

.c-section1.is-halfblue1::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 50%;
  background: #F5FCFF;
}

.c-section1:has(.c-index-nav1:first-child) {
  padding-top: 0;
}

.c-shortcut1+.c-section1.is-blue1,
.c-filter1+.c-section1.is-blue1 {
  padding-top: 0;
}

.c-intro1+.c-section1.is-blue1 {
  margin-top: 0;
}

@media (min-width: 768px) {
  .c-section1__inner1 {
    width: 1200px;
    margin: 0 auto;
  }
}

@media (max-width: 767px) {
  .c-section1__inner1 {
    padding: 0 24px;
  }
}

@media (max-width: 767px) {
  .c-smSection-wrapper1 {
    padding: 40px 20px 0;
  }
}

@media (max-width: 767px) {
  .c-smSection-wrapper1 .c-section1:has(.c-smAccordion1) {
    margin: 0;
    padding: 0;
    background: none;
  }
}

@media (max-width: 767px) {
  .c-smSection-wrapper1 .c-section1__inner1 {
    padding: 0;
  }
}

.c-section2 {
  padding: 40px 0;
  background: #F5FCFF;
}

@media (min-width: 768px) {
  .c-section2 {
    margin-top: 80px;
  }
}

@media (max-width: 767px) {
  .c-section2 {
    margin-top: 40px;
  }
}

.c-shortcut1+.c-section2,
.c-intro1+.c-section2 {
  margin-top: 0;
}

@media (min-width: 768px) {
  .c-section2__inner1 {
    width: 1200px;
    margin: 0 auto;
  }
}

@media (max-width: 767px) {
  .c-section2__inner1 {
    padding: 0 24px;
  }
}

.c-intro1 {
  padding: 40px 0;
}

@media (min-width: 768px) {
  .c-intro1__inner {
    width: 1200px;
    margin: 0 auto;
  }
}

@media (max-width: 767px) {
  .c-intro1__inner {
    padding: 0 24px;
  }
}

.c-tag1 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 12px;
  border-radius: 8px;
  background: #F5FCFF;
  color: #0B57A0;
  font-size: 1.4rem;
}

.c-tag1.is-blue1 {
  background: #2673BF;
  color: #fff;
  font-weight: 700;
}

.c-tag1.is-green1 {
  background: #13A192;
  color: #fff;
  font-weight: 700;
}

.c-tag1.is-green2 {
  background: #348538;
  color: #fff;
  font-weight: 700;
}

.c-tag1.is-orange1 {
  background: #CF4900;
  font-family: "Lato", sans-serif;
  color: #fff;
  font-weight: 700;
}

.c-tag1.is-white1 {
  background: #fff;
}

.c-text1 {
  margin-top: 24px;
  line-height: 1.8;
}

.c-text1:first-child {
  margin-top: 0;
}

.c-button-set1+.c-text1 {
  margin-top: 40px;
}

@media (min-width: 768px) {

  .c-title2+.c-text1,
  .c-title4+.c-text1 {
    margin-top: 40px;
  }
}

@media (max-width: 767px) {

  .c-title2+.c-text1,
  .c-title4+.c-text1 {
    margin-top: 24px;
  }
}

@media (min-width: 768px) {
  .c-title3+.c-text1 {
    margin-top: 40px;
  }
}

@media (max-width: 767px) {
  .c-title3+.c-text1 {
    margin-top: 20px;
  }
}

.c-text1.is-icon1 {
  display: flex;
  align-items: center;
  gap: 8px;
}

.c-text1.is-note1 {
  display: flex;
  gap: 4px;
  font-size: 1.2rem;
}

.c-text1.is-note1::before {
  content: "※";
  flex: auto 0 0;
}

.c-text1.is-note1+.c-text1.is-note1 {
  margin-top: 0;
}

.c-text1.is-caption1 {
  font-size: 1.4rem;
}

.c-text1.is-type1 {
  margin-top: 8px;
}

.c-text1.is-type2 {
  margin-top: 12px;
}

.c-text1.is-type3 {
  margin-top: 16px;
}

.c-text1.is-type4 {
  margin-top: 40px;
}

.c-text1.is-type5 {
  margin-top: 20px;
}

@media (min-width: 768px) {
  .c-text1.is-big1 {
    font-size: 2rem;
  }
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-text1 a:hover {
    text-decoration: underline;
  }
}

.c-title1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

@media (min-width: 768px) {
  .c-title1 {
    margin-bottom: 40px;
  }
}

@media (max-width: 767px) {
  .c-title1 {
    margin-bottom: 24px;
  }
}

.c-title1:not(:has(.c-title1__sub-label1)) {
  align-items: flex-start;
}

.c-title1.is-type1 {
  flex-direction: column-reverse;
  align-items: flex-start;
  gap: 8px;
}

.c-title1__label1 {
  text-align: center;
}

@media (min-width: 768px) {
  .c-title1__label1 {
    font-size: 3.6rem;
  }
}

@media (max-width: 767px) {
  .c-title1__label1 {
    font-size: 2.4rem;
  }
}

.c-title1:not(:has(.c-title1__sub-label1)) .c-title1__label1 {
  text-align: left;
}

@media (min-width: 768px) {
  .c-title1.is-type1 .c-title1__label1 {
    font-size: 3rem;
  }
}

@media (max-width: 767px) {
  .c-title1.is-type1 .c-title1__label1 {
    font-size: 2.4rem;
  }
}

.c-title1__sub-label1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
  font-family: "Lato", sans-serif;
  font-size: 1.6rem;
  line-height: 1.25;
}

.c-title1__sub-label1::before {
  content: "";
  display: block;
  width: 80px;
  height: 1px;
  background: #333;
}

.c-title1.is-type1 .c-title1__sub-label1 {
  flex-direction: row;
  gap: 20px;
}

.c-title2 {
  position: relative;
  padding: 8px 0;
  text-align: center;
}

@media (max-width: 767px) {
  .c-title2:has(.c-title2__text1) {
    text-align: left;
  }
}

@media (max-width: 767px) {
  .c-title2.is-left-sm {
    text-align: left;
  }
}

.c-title2__label1 {
  font-size: 3rem;
  font-weight: 700;
}

.c-title2__text1 {
  font-size: 1.4rem;
  font-weight: 400;
}

@media (min-width: 768px) {
  .c-title2__text1 {
    position: absolute;
    right: 0;
    bottom: 8px;
  }
}

@media (max-width: 767px) {
  .c-title2__text1 {
    display: block;
    margin-top: 4px;
  }
}

@media (min-width: 768px) {
  .c-title3 {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
  }
}

@media (max-width: 767px) {
  .c-title3 {
    font-size: 2.4rem;
  }
}

.c-title3.is-border1 {
  padding-top: 40px;
  border-top: 1px solid #cccccc;
}

@media (min-width: 768px) {
  .c-title3.is-border1 {
    margin-top: 40px;
  }
}

@media (max-width: 767px) {
  .c-title3.is-border1 {
    margin-top: 24px;
  }
}

.c-title3__label1 {
  font-size: 2.4rem;
}

.c-title3__note1 {
  display: flex;
  gap: 4px;
  margin-top: 4px;
  font-size: 1.4rem;
  line-height: 1.8;
}

.c-title3__note1::before {
  content: "※";
  flex: 0 0 auto;
  display: inline-block;
}

.c-title4 {
  display: flex;
  align-items: center;
  gap: 12px;
}

.c-title4__icon {
  flex: 0 0 auto;
  width: 54px;
  height: 54px;
}

.c-title4__icon.c-icon1 {
  background: #0B57A0;
}

@media (min-width: 768px) {
  .c-title4__label {
    font-size: 3.6rem;
  }
}

@media (max-width: 767px) {
  .c-title4__label {
    font-size: 3rem;
  }
}

@media (max-width: 767px) {
  .c-topicpath1 {
    background: #F0F0F0;
    border-top: 1px solid #cccccc;
    border-bottom: 1px solid #cccccc;
  }
}

@media (min-width: 768px) {

  .l-document:has(.c-kv1) .c-topicpath1,
  .l-document:has(.c-kv2) .c-topicpath1 {
    position: absolute;
    z-index: 1;
    width: 100%;
    background: rgba(255, 255, 255, 0.6);
  }
}

.c-topicpath1__list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}

@media (min-width: 768px) {
  .c-topicpath1__list {
    margin: 0 20px;
    padding: 11px 0;
  }
}

@media (max-width: 767px) {
  .c-topicpath1__list {
    padding: 11px 24px;
  }
}

.c-topicpath1__item {
  display: flex;
  gap: 16px;
  color: #6E6E6E;
  font-size: 1.2rem;
}

@media (min-width: 768px) {
  .c-topicpath1__item {
    line-height: 1.8;
  }
}

@media (max-width: 767px) {
  .c-topicpath1__item {
    line-height: 1.5;
  }
}

.c-topicpath1__item::after {
  content: "";
  display: inline-block;
  width: 5px;
  height: 100%;
  background: #6E6E6E;
  -webkit-mask-image: url(../img/icon_arrow_01.svg);
  mask-image: url(../img/icon_arrow_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 5px 8px;
  mask-size: 5px 8px;
}

.c-topicpath1__item:last-child:after {
  display: none;
}

.c-topicpath1__link {
  color: #333;
}

@media (hover: hover) and (pointer: fine) {
  .c-topicpath1__link {
    transition: color 0.2s ease;
  }

  .c-topicpath1__link:hover {
    color: #0B57A0;
    text-decoration: underline;
  }
}

@media (max-width: 767px) {
  .c-hidden-box1-md>* {
    display: none;
  }
}

@media (max-width: 767px) {
  .c-hidden-box1-md.is-open>* {
    display: block;
  }
}

@media (max-width: 767px) {

  .c-hidden-box1-md[data-hiddenbox="3"]>*:first-child,
  .c-hidden-box1-md[data-hiddenbox="3"]>*:nth-child(2),
  .c-hidden-box1-md[data-hiddenbox="3"]>*:nth-child(3) {
    display: block;
  }
}

/* menu */
@media (max-width: 767px) {
  .p-header-menu-button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    overflow: hidden;
    position: absolute;
    top: 0;
    right: 0;
    width: 60px;
    height: 100%;
    margin: 0;
    padding: 0;
    border-top: none;
    border-right: none;
    border-bottom: 1px solid #cccccc;
    border-left: none;
    background: #0B57A0;
  }
}

@media (max-width: 767px) {
  .p-header-menu-button[aria-expanded=true] {
    border-bottom-color: #0B57A0;
  }
}

@media (max-width: 767px) {
  .p-header-menu-button__icon {
    position: absolute;
    top: 20px;
    right: 0;
    left: 0;
    display: block;
    width: 24px;
    height: 2px;
    margin: auto;
    background: #fff;
    transition: background 0.2s ease;
  }
}

@media (max-width: 767px) {

  .p-header-menu-button__icon::before,
  .p-header-menu-button__icon::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: inline-block;
    width: 100%;
    height: 100%;
    background: #fff;
    transition: translate 0.2s ease 0.2s, rotate 0.2s ease;
  }
}

@media (max-width: 767px) {
  .p-header-menu-button__icon::before {
    translate: 0 -8px;
  }
}

@media (max-width: 767px) {
  .p-header-menu-button__icon::after {
    translate: 0 8px;
  }
}

@media (max-width: 767px) {
  .p-header-menu-button[aria-expanded=true] .p-header-menu-button__icon {
    width: 26px;
    background: none;
  }
}

@media (max-width: 767px) {

  .p-header-menu-button[aria-expanded=true] .p-header-menu-button__icon::before,
  .p-header-menu-button[aria-expanded=true] .p-header-menu-button__icon::after {
    translate: 0;
    transition: translate 0.2s ease, rotate 0.2s ease 0.2s;
  }
}

@media (max-width: 767px) {
  .p-header-menu-button[aria-expanded=true] .p-header-menu-button__icon::before {
    rotate: 45deg;
  }
}

@media (max-width: 767px) {
  .p-header-menu-button[aria-expanded=true] .p-header-menu-button__icon::after {
    rotate: -45deg;
  }
}

@media (max-width: 767px) {
  .p-header-menu-button__label {
    display: block;
    margin-top: 30px;
    color: #fff;
    font-size: 12px;
    line-height: 18px;
  }
}

@media (max-width: 767px) {
  .p-header-menu {
    width: 100%;
    background: #E6F0FA;
  }
}

@media (max-width: 767px) {
  .p-header-menu {
    display: grid;
    transition: grid-template-rows 0.5s ease;
    grid-template-rows: 0fr;
  }
}

@media (max-width: 767px) {
  .p-header-menu-button[aria-expanded=true]+.p-header-menu {
    grid-template-rows: 1fr;
  }
}

.p-header-menu__inner {
  display: flex;
}

@media (min-width: 768px) {
  .p-header-menu__inner {
    flex-direction: column-reverse;
    height: 100%;
  }
}

@media (max-width: 767px) {
  .p-header-menu__inner {
    overflow: hidden;
    flex-direction: column;
    width: 100%;
  }
}

@media (max-width: 767px) {
  .p-header-menu-button[aria-expanded=true]+.p-header-menu .p-header-menu__inner {
    overflow-y: auto;
    max-height: calc(100svh - 60px);
  }
}

/* nav1
------------------------ */
@media (min-width: 768px) {
  .p-header-nav1 {
    height: 58px;
    margin-right: 40px;
  }
}

@media (min-width: 768px) {
  .p-header-nav1__list {
    display: flex;
    gap: 32px;
    height: 100%;
    font-size: 1.6rem;
  }
}

@media (max-width: 1280px) {
  .p-header-nav1__list {
    gap: 16px;
  }
}

@media (max-width: 767px) {
  .p-header-nav1__list {
    gap: 0;
  }
}

@media (min-width: 768px) {
  .p-header-nav1__item {
    display: flex;
    align-items: center;
    height: 100%;
  }
}

@media (max-width: 767px) {
  .p-header-nav1__item {
    border-bottom: 1px solid #cccccc;
  }
}

@media (min-width: 768px) {
  .p-header-nav1__link {
    display: flex;
    align-items: center;
    gap: 4px;
    height: 100%;
    color: #333;
    line-height: 1.25;
  }
}

@media (max-width: 767px) {
  .p-header-nav1__link {
    position: relative;
    display: block;
    padding: 16px 60px 16px 20px;
    color: #333;
    font-size: 2rem;
    font-weight: 700;
  }
}

@media (max-width: 767px) {
  .p-header-nav1__link::after {
    content: "";
    position: absolute;
    top: 0;
    right: 24px;
    bottom: 0;
    display: inline-block;
    width: 24px;
    height: 24px;
    margin: auto;
    background: #333;
    -webkit-mask-image: url(../img/icon_arrow_01.svg);
    mask-image: url(../img/icon_arrow_01.svg);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 8.21px 12.31px;
    mask-size: 8.21px 12.31px;
  }
}

@media (max-width: 767px) {

  .p-header-nav1__item.is-haschild .p-header-nav1__link::before,
  .p-header-nav1__item.is-haschild .p-header-nav1__link::after {
    content: "";
    position: absolute;
    top: 0;
    right: 28px;
    bottom: 0;
    display: inline-block;
    width: 16px;
    height: 2px;
    margin: auto;
    background: #333;
    -webkit-mask-image: none;
    mask-image: none;
  }
}

@media (max-width: 767px) {
  .p-header-nav1__item.is-haschild .p-header-nav1__link::after {
    rotate: 90deg;
    transition: rotate 0.2s ease;
  }
}

@media (max-width: 767px) {
  .p-header-nav1__item.is-haschild .p-header-nav1__link.is-active::after {
    rotate: 0deg;
  }
}

@media (min-width: 768px) {
  .p-header-nav1__link[aria-current=page]::before {
    transform: scaleX(1);
  }
}

@media (min-width: 768px) {
  .p-header-nav1__item:has(.p-header-nav2) .p-header-nav1__link::after {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    background: #999999;
    -webkit-mask-image: url(../img/icon_arrow_01.svg);
    mask-image: url(../img/icon_arrow_01.svg);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 8px 13px;
    mask-size: 8px 13px;
    rotate: 90deg;
  }
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .p-header-nav1__link {
    position: relative;
    transition: color 0.2s ease;
  }

  .p-header-nav1__link::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    display: block;
    width: 100%;
    height: 4px;
    background: #0B57A0;
    transform: scaleX(0);
    transform-origin: left top;
    transition: transform 0.2s ease;
  }

  .p-header-nav1__link:hover {
    color: #0B57A0;
    font-weight: 700;
  }

  .p-header-nav1__link:hover::before {
    transform: scaleX(1);
  }
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .p-header-nav1__item:has(.p-header-nav2) .p-header-nav1__link::after {
    transition: background 0.2s ease, transform 0.2s ease;
  }
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .p-header-nav1__item:has(.p-header-nav2):hover .p-header-nav1__link {
    color: #0B57A0;
    font-weight: 700;
  }

  .p-header-nav1__item:has(.p-header-nav2):hover .p-header-nav1__link::before {
    transform: scaleX(1);
  }

  .p-header-nav1__item:has(.p-header-nav2):hover .p-header-nav1__link::after {
    background: #0B57A0;
    transform: rotate(180deg);
  }
}

/* nav2
------------------------ */
@media (min-width: 768px) {
  .p-header-nav2 {
    overflow: hidden;
    position: absolute;
    top: 106px;
    left: 0;
    width: 100%;
    background: #E6F0FA;
  }
}

@media (max-width: 767px) {
  .p-header-nav2 {
    display: grid;
    transition: grid-template-rows 0.5s ease;
    grid-template-rows: 0fr;
  }
}

@media (max-width: 767px) {
  .js-headerNav1Button.is-active+.p-header-nav2 {
    grid-template-rows: 1fr;
  }
}

@media (min-width: 768px) {
  .p-header-nav2 {
    display: grid;
    transition: grid-template-rows 0.5s ease;
    grid-template-rows: 0fr;
  }
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .l-header:not(.is-hidden) .p-header-nav1__item:hover .p-header-nav2 {
    z-index: 99;
    grid-template-rows: 1fr;
  }
}

@media (min-width: 768px) {
  .p-header-nav2__inner {
    position: relative;
    overflow: hidden;
  }
}

@media (max-width: 767px) {
  .p-header-nav2__inner {
    overflow: hidden;
  }
}

@media (min-width: 768px) {
  .p-header-nav2__row {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    width: 1200px;
    margin: 0 auto;
    padding: 24px 0 40px;
  }
}

/* title */
@media (min-width: 768px) {
  .p-header-nav2__title {
    margin-bottom: 16px;
    border-bottom: 1px solid #333;
  }
}

@media (max-width: 767px) {
  .p-header-nav2__title {
    border-top: 1px solid #DCDCDC;
  }
}

.p-header-nav2__title-link {
  display: block;
  position: relative;
  color: #333;
}

@media (min-width: 768px) {
  .p-header-nav2__title-link {
    padding: 18px 24px 18px 0;
    font-size: 1.6rem;
    line-height: 24px;
    font-weight: 700;
  }
}

@media (max-width: 767px) {
  .p-header-nav2__title-link {
    position: relative;
    display: block;
    margin-left: 24px;
    padding: 12px 60px 12px 0;
  }
}

.p-header-nav2__title-link::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  display: inline-block;
  width: 24px;
  height: 24px;
  margin: auto;
  background: #333;
  -webkit-mask-image: url(../img/icon_arrow_01.svg);
  mask-image: url(../img/icon_arrow_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 8.21px 12.31px;
  mask-size: 8.21px 12.31px;
}

@media (min-width: 768px) {
  .p-header-nav2__title-link::after {
    right: 0;
  }
}

@media (max-width: 767px) {
  .p-header-nav2__title-link::after {
    right: 24px;
  }
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .p-header-nav2__title-link {
    transition: color 0.2s ease;
  }

  .p-header-nav2__title-link::after {
    transition: background 0.2s ease;
  }

  .p-header-nav2__title-link:hover {
    color: #0B57A0;
    text-decoration: underline;
  }

  .p-header-nav2__title-link:hover::after {
    background: #0B57A0;
  }
}

/* main */
@media (max-width: 767px) {
  .p-header-nav2__main {
    padding-left: 24px;
  }
}

@media (min-width: 768px) {
  .p-header-nav2__list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px 48px;
  }
}

@media (min-width: 768px) {
  .p-header-nav2__list:first-child {
    margin-top: 0;
  }
}

@media (max-width: 767px) {
  .p-header-nav2__list .is-noborder {
    display: none;
  }
}

@media (max-width: 767px) {
  .p-header-nav2__item {
    border-top: 1px solid #DCDCDC;
  }
}

.p-header-nav2__link {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  color: #333;
}

@media (min-width: 768px) {
  .p-header-nav2__link {
    min-height: 56px;
    padding: 0 24px 0 0;
    border-bottom: 1px solid #cccccc;
  }
}

@media (max-width: 767px) {
  .p-header-nav2__link {
    padding: 12px 60px 12px 0;
  }
}

.p-header-nav2__link::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  display: inline-block;
  width: 24px;
  height: 24px;
  margin: auto;
  background: #333;
  -webkit-mask-image: url(../img/icon_arrow_01.svg);
  mask-image: url(../img/icon_arrow_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 8.21px 12.31px;
  mask-size: 8.21px 12.31px;
}

@media (min-width: 768px) {
  .p-header-nav2__link::after {
    right: 0;
  }
}

@media (max-width: 767px) {
  .p-header-nav2__link::after {
    right: 24px;
  }
}

.p-header-nav2__link[target=_blank]::after {
  -webkit-mask-image: url(../img/icon_external_01.svg);
  mask-image: url(../img/icon_external_01.svg);
  -webkit-mask-size: 14px;
  mask-size: 14px;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .p-header-nav2__link {
    transition: color 0.2s ease;
  }

  .p-header-nav2__link::after {
    transition: background 0.2s ease;
  }

  .p-header-nav2__link:hover {
    color: #0B57A0;
    text-decoration: underline;
  }

  .p-header-nav2__link:hover::after {
    background: #0B57A0;
  }
}

.p-header-nav2__button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  display: flex;
  align-items: center;
  color: #333;
  width: 100%;
  border: none;
  background: none;
  text-align: left;
  cursor: pointer;
}

@media (min-width: 768px) {
  .p-header-nav2__button {
    min-height: 56px;
    padding: 0 24px 0 0;
    border-bottom: 1px solid #cccccc;
  }
}

@media (max-width: 767px) {
  .p-header-nav2__button {
    padding: 12px 60px 12px 0;
  }
}

.p-header-nav2__button::before,
.p-header-nav2__button::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  display: inline-block;
  width: 16px;
  height: 2px;
  margin: auto;
  background: #333;
}

@media (min-width: 768px) {

  .p-header-nav2__button::before,
  .p-header-nav2__button::after {
    right: 4px;
  }
}

@media (max-width: 767px) {

  .p-header-nav2__button::before,
  .p-header-nav2__button::after {
    right: 28px;
  }
}

.p-header-nav2__button::after {
  rotate: 90deg;
  transition: rotate 0.2s ease;
}

.p-header-nav2__button.is-active::after {
  rotate: 0deg;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .p-header-nav2__button {
    transition: color 0.2s ease;
  }

  .p-header-nav2__button::after {
    transition: background 0.2s ease;
  }

  .p-header-nav2__button:hover {
    color: #0B57A0;
    text-decoration: underline;
  }

  .p-header-nav2__button:hover::after {
    background: #0B57A0;
  }
}

.p-header-nav2__toggle {
  display: grid;
  transition: grid-template-rows 0.5s ease;
  grid-template-rows: 0fr;
}

.p-header-nav2__button.is-active+.p-header-nav2__toggle {
  grid-template-rows: 1fr;
}

.p-header-nav2__toggle-inner {
  overflow: hidden;
}

@media (min-width: 768px) {
  .p-header-nav2__toggle-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
  }
}

/* close */
.p-header-nav2__close {
  overflow: hidden;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: block;
  padding: 0;
  border: none;
  background: none;
  text-indent: -999px;
  cursor: pointer;
}

@media (min-width: 768px) {
  .p-header-nav2__close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 24px;
    height: 24px;
  }
}

@media (max-width: 767px) {
  .p-header-nav2__close {
    display: none;
  }
}

.p-header-nav2__close::before,
.p-header-nav2__close::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 16px;
  height: 2px;
  background: #333;
}

.p-header-nav2__close::before {
  rotate: 45deg;
}

.p-header-nav2__close::after {
  rotate: -45deg;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .p-header-nav2__close {
    transition: opacity 0.2s ease;
  }

  .p-header-nav2__close:hover {
    opacity: 0.5;
  }
}

/* nav3
------------------------ */
@media (max-width: 767px) {
  .p-header-nav3 {
    padding-left: 24px;
  }
}

.p-header-nav3__item {
  font-size: 1.4rem;
}

@media (min-width: 768px) {
  .p-header-nav3__item {
    padding-left: 24px;
    border-bottom: 1px solid #cccccc;
  }
}

@media (max-width: 767px) {
  .p-header-nav3__item {
    border-top: 1px solid #cccccc;
  }
}

@media (min-width: 768px) {
  .p-header-nav3__item:first-child {
    padding-left: 0;
  }
}

.p-header-nav3__link {
  position: relative;
  display: block;
  color: #333;
}

@media (min-width: 768px) {
  .p-header-nav3__link {
    padding: 9px 24px 9px 0;
  }
}

@media (max-width: 767px) {
  .p-header-nav3__link {
    padding: 12px 60px 12px 0;
  }
}

.p-header-nav3__link::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  display: inline-block;
  margin: auto;
  background: #333;
  -webkit-mask-image: url(../img/icon_arrow_01.svg);
  mask-image: url(../img/icon_arrow_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 4px 6px;
  mask-size: 4px 6px;
}

@media (min-width: 768px) {
  .p-header-nav3__link::after {
    width: 24px;
    height: 24px;
  }
}

@media (max-width: 767px) {
  .p-header-nav3__link::after {
    right: 20px;
    width: 28px;
    height: 28px;
  }
}

.p-header-nav3__link[target=_blank]::after {
  -webkit-mask-image: url(../img/icon_external_01.svg);
  mask-image: url(../img/icon_external_01.svg);
  -webkit-mask-size: 14px;
  mask-size: 14px;
}

@media (max-width: 767px) {
  .p-header-nav2__title-sub+.p-header-nav2__list .p-header-nav2__link {
    padding-left: 60px;
  }
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .p-header-nav3__link {
    transition: color 0.2s ease;
  }

  .p-header-nav3__link::after {
    transition: background 0.2s ease;
  }

  .p-header-nav3__link:hover {
    color: #0B57A0;
    text-decoration: underline;
  }

  .p-header-nav3__link:hover::after {
    background: #0B57A0;
  }
}

/* utility
------------------------ */
.p-header-fontsize,
.p-header-language {
  position: relative;
}

@media (max-width: 767px) {

  .p-header-fontsize,
  .p-header-language {
    width: 100%;
  }
}

.p-header-fontsize-button,
.p-header-language-button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  display: flex;
  align-items: center;
  border: none;
  cursor: pointer;
}

@media (min-width: 768px) {

  .p-header-fontsize-button,
  .p-header-language-button {
    height: 36px;
    border-radius: 18px;
    background: #F5FCFF;
  }
}

@media (max-width: 767px) {

  .p-header-fontsize-button,
  .p-header-language-button {
    width: 100%;
    height: 48px;
    border-radius: 24px;
    background: #fff;
  }
}

.p-header-fontsize-button::after,
.p-header-language-button::after {
  content: "";
  position: absolute;
  top: 0;
  right: 12px;
  bottom: 0;
  display: inline-block;
  width: 18px;
  height: 18px;
  margin: auto;
  background: #999;
  -webkit-mask-image: url(../img/icon_arrow_01.svg);
  mask-image: url(../img/icon_arrow_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 8px 13px;
  mask-size: 8px 13px;
  rotate: 90deg;
}

@media (min-width: 768px) {

  .p-header-fontsize:hover .p-header-fontsize-button,
  .p-header-language:hover .p-header-fontsize-button,
  .p-header-fontsize:hover .p-header-language-button,
  .p-header-language:hover .p-header-language-button {
    border-radius: 18px 18px 0 0;
  }
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {

  .p-header-fontsize .p-header-fontsize-button,
  .p-header-language .p-header-fontsize-button,
  .p-header-fontsize .p-header-language-button,
  .p-header-language .p-header-language-button {
    position: relative;
    transition: color 0.2s ease;
  }

  .p-header-fontsize .p-header-fontsize-button::after,
  .p-header-language .p-header-fontsize-button::after,
  .p-header-fontsize .p-header-language-button::after,
  .p-header-language .p-header-language-button::after {
    transition: background 0.2s ease, transform 0.2s ease;
  }
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {

  .p-header-fontsize:hover .p-header-fontsize-button,
  .p-header-language:hover .p-header-fontsize-button,
  .p-header-fontsize:hover .p-header-language-button,
  .p-header-language:hover .p-header-language-button {
    color: #0B57A0;
  }

  .p-header-fontsize:hover .p-header-fontsize-button::after,
  .p-header-language:hover .p-header-fontsize-button::after,
  .p-header-fontsize:hover .p-header-language-button::after,
  .p-header-language:hover .p-header-language-button::after {
    background: #0B57A0;
    transform: rotate(180deg);
  }
}

@media (max-width: 767px) {

  .p-header-fontsize-button[aria-expanded=true],
  .p-header-language-button[aria-expanded=true] {
    border-radius: 24px 24px 0 0;
  }
}

@media (min-width: 768px) {
  .p-header-fontsize-button {
    padding-left: 43px;
    padding-right: 42px;
  }
}

@media (max-width: 767px) {
  .p-header-fontsize-button {
    padding: 0;
    justify-content: center;
  }
}

@media (min-width: 768px) {
  .p-header-language-button {
    padding-left: 48px;
    padding-right: 42px;
  }
}

@media (max-width: 767px) {
  .p-header-language-button {
    padding: 0;
    justify-content: center;
  }
}

.p-header-fontsize-button__label,
.p-header-language-button__label {
  font-size: 1.4rem;
}

.p-header-fontsize-button__icon,
.p-header-language-button__icon {
  position: absolute;
  top: 0;
  left: 12px;
  bottom: 0;
  display: inline-block;
  width: 24px;
  height: 24px;
  margin: auto;
  background: #0B57A0;
}

.p-header-fontsize-button__icon {
  -webkit-mask-image: url(../img/icon_fontsize_01.svg);
  mask-image: url(../img/icon_fontsize_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 19px;
  mask-size: 19px;
}

.p-header-language-button__icon {
  -webkit-mask-image: url(../img/icon_lang_01.svg);
  mask-image: url(../img/icon_lang_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 20px;
  mask-size: 20px;
}

.p-header-fontsize__box,
.p-header-language__box {
  overflow: hidden;
}

@media (min-width: 768px) {

  .p-header-fontsize__box,
  .p-header-language__box {
    position: absolute;
    top: 36px;
    width: 100%;
    background: rgba(235, 247, 252, 0.88);
    border-radius: 0 0 18px 18px;
  }
}

@media (max-width: 767px) {

  .p-header-fontsize__box,
  .p-header-language__box {
    background: #fff;
    border-radius: 0 0 24px 24px;
  }
}

.p-header-fontsize__box,
.p-header-language__box {
  display: grid;
  transition: grid-template-rows 0.5s ease;
  grid-template-rows: 0fr;
}

@media (min-width: 768px) {

  .p-header-fontsize:hover .p-header-fontsize__box,
  .p-header-language:hover .p-header-fontsize__box,
  .p-header-fontsize:hover .p-header-language__box,
  .p-header-language:hover .p-header-language__box {
    grid-template-rows: 1fr;
  }
}

@media (max-width: 767px) {

  .p-header-fontsize-button[aria-expanded=true]+.p-header-fontsize__box,
  .p-header-language-button[aria-expanded=true]+.p-header-fontsize__box,
  .p-header-fontsize-button[aria-expanded=true]+.p-header-language__box,
  .p-header-language-button[aria-expanded=true]+.p-header-language__box {
    grid-template-rows: 1fr;
  }
}

.p-header-fontsize__box-inner,
.p-header-language__box-inner {
  overflow: hidden;
}

.p-header-fontsize__list {
  display: flex;
  border-top: 1px solid #cccccc;
}

.p-header-fontsize__list-item {
  width: 100%;
}

.p-header-fontsize__list-item+.p-header-fontsize__list-item {
  border-left: 1px solid #cccccc;
}

.p-header-fontsize__change {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 0;
  color: #333;
  font-family: "Lato", sans-serif;
  line-height: 1;
  aspect-ratio: 1;
  background: transparent;
  cursor: pointer;
}

.p-header-fontsize__change.is-active {
  background: #0B57A0;
  color: #fff;
  font-weight: 700;
}

.p-header-language__list-item {
  border-top: 1px solid #cccccc;
}

.p-header-language__list-item>a,
.p-header-language__list-item>span {
  display: block;
  font-size: 1.4rem;
  line-height: 1.8;
  color: #333;
}

@media (min-width: 768px) {

  .p-header-language__list-item>a,
  .p-header-language__list-item>span {
    padding: 9px 24px 9px 12px;
  }
}

@media (max-width: 767px) {

  .p-header-language__list-item>a,
  .p-header-language__list-item>span {
    padding: 17px 24px 17px 12px;
  }
}

.p-header-language__list-item>a {
  position: relative;
}

.p-header-language__list-item>a::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  display: inline-block;
  width: 24px;
  height: 24px;
  margin: auto;
  background: #333;
  -webkit-mask-image: url(../img/icon_arrow_01.svg);
  mask-image: url(../img/icon_arrow_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 8px 13px;
  mask-size: 8px 13px;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .p-header-language__list-item>a {
    transition: color 0.2s ease;
  }

  .p-header-language__list-item>a::after {
    transition: background 0.2s ease;
  }

  .p-header-language__list-item>a:hover {
    color: #0B57A0;
    text-decoration: underline;
  }

  .p-header-language__list-item>a:hover::after {
    background: #0B57A0;
    translate: 0px 0;
  }
}

.p-header-language__list-item>span {
  font-weight: 700;
}

/* search
------------------------ */
@media (min-width: 768px) {
  .p-header-search {
    position: absolute;
    top: 12px;
    right: 24px;
    width: 280px;
    height: 36px;
  }
}

/* button */
.p-header-search-button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  display: flex;
  align-items: center;
  border: none;
  background: #F5FCFF;
  cursor: pointer;
}

@media (min-width: 768px) {
  .p-header-search-button {
    display: none;
    width: 280px;
    height: 36px;
    padding: 0 0 0 44px;
    border-radius: 18px;
  }
}

@media (max-width: 767px) {
  .p-header-search-button {
    position: absolute;
    top: 0;
    right: 60px;
    justify-content: center;
    width: 60px;
    height: 60px;
    padding: 0;
  }
}

.p-header-search-button__icon {
  position: absolute;
  display: inline-block;
  margin: auto;
  background: #0B57A0;
}

@media (min-width: 768px) {
  .p-header-search-button__icon {
    top: 0;
    bottom: 0;
    left: 12px;
    width: 24px;
    height: 24px;
    -webkit-mask-image: url(../img/icon_search_01.svg);
    mask-image: url(../img/icon_search_01.svg);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 20px;
    mask-size: 20px;
  }
}

@media (max-width: 767px) {
  .p-header-search-button__icon {
    top: 8px;
    right: 0;
    left: 0;
    width: 40px;
    height: 28px;
    -webkit-mask-image: url(../img/icon_search_01.svg);
    mask-image: url(../img/icon_search_01.svg);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 24px;
    mask-size: 24px;
  }
}

@media (max-width: 767px) {
  .p-header-search-button[aria-expanded=true] .p-header-search-button__icon {
    width: 26px;
    height: 2px;
    background: none;
    -webkit-mask-image: none;
    mask-image: none;
  }
}

@media (max-width: 767px) {

  .p-header-search-button[aria-expanded=true] .p-header-search-button__icon::before,
  .p-header-search-button[aria-expanded=true] .p-header-search-button__icon::after {
    content: "";
    position: absolute;
    top: 12px;
    left: 0;
    display: inline-block;
    width: 100%;
    height: 100%;
    background: #0B57A0;
  }
}

@media (max-width: 767px) {
  .p-header-search-button[aria-expanded=true] .p-header-search-button__icon::before {
    rotate: 45deg;
  }
}

@media (max-width: 767px) {
  .p-header-search-button[aria-expanded=true] .p-header-search-button__icon::after {
    rotate: -45deg;
  }
}

@media (max-width: 767px) {
  .p-header-search-button__label {
    display: block;
    margin-top: 30px;
    font-size: 12px;
    line-height: 1.5;
  }
}

/* searchbox */
@media (min-width: 768px) {
  .p-header-search__searchbox {
    height: 100%;
  }
}

@media (max-width: 767px) {
  .p-header-search__searchbox {
    position: absolute;
    top: 60px;
    left: 0;
    width: 100%;
  }
}

.p-header-search__searchbox form {
  position: relative;
  display: flex;
  width: 100%;
  background: rgba(235, 247, 252, 0.88);
}

@media (min-width: 768px) {
  .p-header-search__searchbox form {
    height: 100%;
    border-radius: 18px;
  }
}

@media (max-width: 767px) {
  .p-header-search__searchbox form {
    padding: 24px;
  }
}

.p-header-search__searchbox form::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  display: inline-block;
  width: 24px;
  height: 24px;
  margin: auto;
  background: #0B57A0;
  -webkit-mask-image: url(../img/icon_search_01.svg);
  mask-image: url(../img/icon_search_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 20px;
  mask-size: 20px;
}

@media (min-width: 768px) {
  .p-header-search__searchbox form::before {
    left: 12px;
  }
}

@media (max-width: 767px) {
  .p-header-search__searchbox form::before {
    left: 36px;
  }
}

.p-header-search__searchbox form>input[type=text] {
  border: none;
  padding: 0 0 0 44px;
  font-size: 1.4rem;
}

@media (min-width: 768px) {
  .p-header-search__searchbox form>input[type=text] {
    background: transparent;
    width: 100%;
  }
}

@media (max-width: 767px) {
  .p-header-search__searchbox form>input[type=text] {
    width: calc(100% - 76px);
    height: 48px;
    border-radius: 24px 0 0 24px;
    background: #fff;
  }
}

.p-header-search__searchbox form>input[type=text]::-moz-placeholder {
  color: #333;
}

.p-header-search__searchbox form>input[type=text]::placeholder {
  color: #333;
}

@media (min-width: 768px) {
  .p-header-search__searchbox form>input[type=submit] {
    display: none;
  }
}

@media (max-width: 767px) {
  .p-header-search__searchbox form>input[type=submit] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 76px;
    height: 48px;
    padding: 0;
    border: none;
    border-radius: 0 24px 24px 0;
    background: #0B57A0;
    color: #fff;
    font-weight: 700;
  }
}

@media (max-width: 767px) {
  .p-header-search__searchbox {
    display: grid;
    transition: grid-template-rows 0.5s ease;
    grid-template-rows: 0fr;
  }
}

@media (max-width: 767px) {
  .p-header-search-button[aria-expanded=true]+.p-header-search__searchbox {
    grid-template-rows: 1fr;
  }
}

@media (min-width: 768px) {
  .p-header-search__searchbox-inner {
    height: 100%;
  }
}

@media (max-width: 767px) {
  .p-header-search__searchbox-inner {
    overflow: hidden;
  }
}

/* pagetop
------------------------ */
.p-footer-pagetop {
  position: fixed;
  width: 40px;
  height: 40px;
  opacity: 0;
  transition: opacity 0.2s ease;
  pointer-events: none;
}

@media (min-width: 768px) {
  .p-footer-pagetop {
    right: 20px;
    bottom: 20px;
  }
}

@media (max-width: 767px) {
  .p-footer-pagetop {
    right: 8px;
    bottom: 8px;
  }
}

.p-footer-pagetop.is-active {
  opacity: 1;
  z-index: 9;
  pointer-events: all;
}

.p-footer-pagetop__button {
  overflow: hidden;
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid #fff;
  background: rgba(11, 87, 160, 0.4);
  border-radius: 100%;
  text-indent: -999px;
}

.p-footer-pagetop__button::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: inline-block;
  width: 100%;
  height: 100%;
  margin: auto;
  background: #fff;
  -webkit-mask-image: url(../img/icon_pagetop_01.svg);
  mask-image: url(../img/icon_pagetop_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 12.32px 11.21px;
  mask-size: 12.32px 11.21px;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .p-footer-pagetop__button {
    transition: translate 0.2s ease;
  }
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .p-footer-pagetop__button:hover {
    translate: 0 -4px;
  }
}

/* nav1
------------------------ */
@media (min-width: 768px) {
  .p-footer-nav1__row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 48px;
  }
}

@media (max-width: 767px) {
  .p-footer-nav1__row {
    border-bottom: 1px solid #DCDCDC;
  }
}

@media (min-width: 768px) {
  .p-footer-nav1__list {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
}

@media (min-width: 768px) {
  .p-footer-nav1__item {
    border-bottom: 1px solid #DCDCDC;
  }
}

@media (max-width: 767px) {
  .p-footer-nav1__item {
    border-top: 1px solid #DCDCDC;
  }
}

.p-footer-nav1__link {
  display: block;
  padding: 16px 24px 16px 0;
  color: #333;
  font-weight: 700;
}

@media (min-width: 768px) {
  .p-footer-nav1__link {
    position: relative;
  }
}

@media (max-width: 767px) {
  .p-footer-nav1__link {
    position: relative;
  }
}

.p-footer-nav1__link::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  display: inline-block;
  width: 24px;
  height: 24px;
  margin: auto;
  background: #333;
  -webkit-mask-image: url(../img/icon_arrow_01.svg);
  mask-image: url(../img/icon_arrow_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 8px 13px;
  mask-size: 8px 13px;
}

@media (min-width: 768px) {
  .p-footer-nav1__link[target=_blank]::after {
    -webkit-mask-image: url(../img/icon_external_01.svg);
    mask-image: url(../img/icon_external_01.svg);
    -webkit-mask-size: 14px;
    mask-size: 14px;
  }
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .p-footer-nav1__link {
    transition: color 0.2s ease;
  }

  .p-footer-nav1__link::after {
    transition: background 0.2s ease;
  }

  .p-footer-nav1__link:hover {
    color: #0B57A0;
    text-decoration: underline;
  }

  .p-footer-nav1__link:hover::after {
    background: #0B57A0;
    translate: 0px 0;
  }
}

.p-footer-nav1__button {
  position: relative;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: block;
  width: 100%;
  padding: 16px 24px 16px 0;
  border: none;
  background: none;
  color: #333;
  text-align: left;
  font-weight: 700;
  cursor: pointer;
}

@media (max-width: 767px) {

  .p-footer-nav1__button::before,
  .p-footer-nav1__button::after {
    content: "";
    position: absolute;
    top: 0;
    right: 4px;
    bottom: 0;
    display: inline-block;
    width: 16px;
    height: 2px;
    margin: auto;
    background: #333;
  }
}

@media (max-width: 767px) {
  .p-footer-nav1__button::after {
    rotate: 90deg;
    transition: rotate 0.2s ease;
  }
}

@media (max-width: 767px) {
  .p-footer-nav1__button.is-active::after {
    rotate: 0deg;
  }
}

@media (min-width: 768px) {
  .p-footer-nav1__toggle {
    flex: auto 1 1;
    width: 100%;
  }
}

@media (max-width: 767px) {
  .p-footer-nav1__toggle {
    display: grid;
    transition: grid-template-rows 0.5s ease;
    grid-template-rows: 0fr;
  }
}

@media (max-width: 767px) {
  .p-footer-nav1__button.is-active+.p-footer-nav1__toggle {
    grid-template-rows: 1fr;
  }
}

@media (min-width: 768px) {
  .p-footer-nav1__toggle-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
  }
}

@media (max-width: 767px) {
  .p-footer-nav1__toggle-inner {
    overflow: hidden;
  }
}

@media (min-width: 768px) {
  .p-footer-nav1__logo {
    position: absolute;
    top: 16px;
    right: 40px;
    display: flex;
    align-items: center;
    height: 58px;
  }
}

@media (max-width: 767px) {
  .p-footer-nav1__logo {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

@media (max-width: 767px) {
  .p-footer-nav1__logo.is-mitsui-chintai1 {
    padding: 4px 12px 28px;
  }
}

@media (max-width: 767px) {
  .p-footer-nav1__logo.is-mitsui-chintai1 img {
    width: auto;
    height: 40px;
  }
}

@media (max-width: 767px) {
  .p-footer-nav1__logo.is-mitsuifudosan-group1 {
    padding: 23px 12px;
    border-top: 1px solid rgba(204, 204, 204, 0.3);
  }
}

@media (max-width: 767px) {
  .p-footer-nav1__logo.is-mitsuifudosan-group1 img {
    width: auto;
    height: 25px;
  }
}

@media (min-width: 768px) {
  .p-footer-nav1__title {
    margin-top: 12px;
    margin-bottom: 8px;
    padding: 0 14px 0 24px;
    font-size: 1.2rem;
    line-height: 1.8;
    font-weight: 700;
  }
}

/* nav2
------------------------ */
.p-footer-nav2__list {
  display: flex;
  flex-direction: column;
}

.p-footer-nav2__item {
  border-top: 1px solid #DCDCDC;
}

@media (min-width: 768px) {
  .p-footer-nav2__item {
    padding: 0 0 0 40px;
  }
}

@media (max-width: 767px) {
  .p-footer-nav2__item {
    padding: 0 0 0 24px;
  }
}

@media (max-width: 767px) {
  .p-footer-nav2__item:first-child {
    padding-left: 0;
  }
}

.p-footer-nav2__link {
  position: relative;
  display: block;
  font-size: 1.4rem;
  line-height: 1.8;
  color: #333;
}

@media (min-width: 768px) {
  .p-footer-nav2__link {
    padding: 9px 24px 9px 0;
  }
}

@media (max-width: 767px) {
  .p-footer-nav2__link {
    padding: 17px 24px 17px 0;
  }
}

.p-footer-nav2__link::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  display: inline-block;
  width: 24px;
  height: 24px;
  margin: auto;
  background: #333;
  -webkit-mask-image: url(../img/icon_arrow_01.svg);
  mask-image: url(../img/icon_arrow_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 8px 13px;
  mask-size: 8px 13px;
}

.p-footer-nav2__link[target=_blank]::after {
  -webkit-mask-image: url(../img/icon_external_01.svg);
  mask-image: url(../img/icon_external_01.svg);
  -webkit-mask-size: 8px;
  mask-size: 8px;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .p-footer-nav2__link {
    transition: color 0.2s ease;
  }

  .p-footer-nav2__link::before {
    transition: background 0.2s ease;
  }

  .p-footer-nav2__link:hover {
    color: #0B57A0;
    text-decoration: underline;
  }

  .p-footer-nav2__link:hover::before {
    background: #0B57A0;
    translate: 2px 0;
  }
}

/* link
------------------------ */
@media (min-width: 768px) {
  .p-footer-link {
    display: flex;
    gap: 16px;
    width: calc(100% - 264px);
  }
}

.p-footer-link__item {
  font-size: 1.4rem;
}

@media (min-width: 768px) {
  .p-footer-link__item {
    padding-left: 16px;
    border-left: 1px solid #cccccc;
    line-height: 21px;
  }
}

@media (max-width: 767px) {
  .p-footer-link__item {
    line-height: 2.8;
    border-bottom: 1px solid #cccccc;
  }
}

@media (min-width: 768px) {
  .p-footer-link__item.is-span2 {
    grid-column: span 2;
  }
}

.p-footer-link__link {
  color: #333;
}

@media (max-width: 767px) {
  .p-footer-link__link {
    display: block;
    position: relative;
  }
}

@media (max-width: 767px) {
  .p-footer-link__link::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    display: inline-block;
    width: 24px;
    height: 24px;
    margin: auto;
    background: #333;
    -webkit-mask-image: url(../img/icon_arrow_01.svg);
    mask-image: url(../img/icon_arrow_01.svg);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 8px 13px;
    mask-size: 8px 13px;
  }
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .p-footer-link__link {
    transition: color 0.2s ease;
  }

  .p-footer-link__link:hover {
    color: #0B57A0;
    text-decoration: underline;
  }
}

/* sns
------------------------ */
.p-footer-sns {
  display: flex;
  gap: 10px;
}

@media (min-width: 768px) {
  .p-footer-sns {
    margin: 0 0 0 auto;
  }
}

@media (max-width: 767px) {
  .p-footer-sns {
    justify-content: center;
    margin-top: 20px;
  }
}

.p-footer-sns__item {
  width: 118px;
  height: 36px;
}

.p-footer-sns__link {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 4px 13px 4px 35px;
  border: 1px solid #333;
  background: #fff;
  font-size: 1.2rem;
  font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
}

.p-footer-sns__link.is-fb {
  border-color: #1877f2;
  color: #1877f2;
  background: #fff url(../img/icon_facebook_01.png) no-repeat 7px center;
  background-size: 24px 24px;
}

.p-footer-sns__link.is-x {
  border-color: #333;
  color: #333;
  background: #fff url(../img/icon_x_01.png) no-repeat 7px center;
  background-size: 24px 24px;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .p-footer-sns__link {
    transition: opacity 0.2s ease;
  }

  .p-footer-sns__link:hover {
    opacity: 0.5;
  }
}

/* logo
------------------------ */
@media (min-width: 768px) {
  .p-footer-logo {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

@media (max-width: 767px) {
  .p-footer-logo {
    display: block;
    margin: 40px 0 0;
  }
}

.p-footer-logo img {
  width: 231px;
  height: auto;
}

/* copyright
------------------------ */
.p-footer-copyright {
  font-size: 1.2rem;
  line-height: 2.4;
}

@media (min-width: 768px) {
  .p-footer-copyright {
    margin: 0 0 0 69px;
  }
}

@media (max-width: 767px) {
  .p-footer-copyright {
    margin: 20px 0 0;
  }
}

/* important */
.p-top-important {
  display: flex;
  width: 100%;
  padding: 24px;
  border-top: 1px solid #cccccc;
  background: #F0F0F0;
  box-shadow: 0 0 60px rgba(51, 51, 51, 0.08);
}

@media (min-width: 768px) {
  .p-top-important {
    align-items: center;
    gap: 24px;
  }
}

@media (max-width: 767px) {
  .p-top-important {
    flex-direction: column;
    gap: 12px;
  }
}

.p-top-important__title {
  position: relative;
  padding-left: 32px;
  color: #BF3A3F;
  font-size: 1.8rem;
  line-height: 1.8;
}

@media (min-width: 768px) {
  .p-top-important__title {
    flex: auto 0 0;
  }
}

.p-top-important__title:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  display: inline-block;
  width: 24px;
  height: 24px;
  margin: auto;
  background: #BF3A3F;
  -webkit-mask-image: url(../img/icon_attention_01.svg);
  mask-image: url(../img/icon_attention_01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 20px;
  mask-size: 20px;
}

.p-top-important__text {
  font-size: 1.4rem;
  line-height: 1.8;
}

@media (min-width: 768px) {
  .p-top-important__text {
    flex: auto 1 1;
  }
}

/* kv */
.p-top-kv {
  position: relative;
  width: 100%;
  background: #F5FCFF;
}

@media (min-width: 768px) {
  .p-top-kv {
    height: 680px;
  }
}

@media (max-width: 767px) {
  .p-top-kv {
    height: 500px;
  }
}

.p-top-kv__image {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 0 0 40px 40px;
}

.p-top-kv__image picture,
.p-top-kv__image img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

/* info */
.p-top-info {
  position: relative;
}

@media (min-width: 768px) {
  .p-top-info {
    margin-top: -85px;
  }
}

@media (max-width: 767px) {
  .p-top-info {
    margin-bottom: -100px;
    background: #F5FCFF;
  }
}

.p-top-info__inner {
  display: flex;
  background: #fff;
  box-shadow: 0 0 20px rgba(51, 51, 51, 0.1);
  border-radius: 20px;
}

@media (min-width: 768px) {
  .p-top-info__inner {
    align-items: center;
    gap: 40px;
    width: 1200px;
    margin: 0 auto;
    padding: 20px 20px 20px 40px;
  }
}

@media (max-width: 767px) {
  .p-top-info__inner {
    position: relative;
    top: -100px;
    flex-direction: column;
    gap: 20px;
    margin: 0 36px;
    padding: 24px;
  }
}

@media (min-width: 768px) {
  .p-top-info__head {
    flex: 0 0 auto;
    width: 80px;
  }
}

.p-top-info__title {
  display: flex;
}

@media (min-width: 768px) {
  .p-top-info__title {
    flex-direction: column;
    gap: 12px;
  }
}

@media (max-width: 767px) {
  .p-top-info__title {
    align-items: flex-end;
    gap: 20px;
  }
}

.p-top-info__title-mainlabel {
  font-size: 2rem;
  font-weight: 700;
}

.p-top-info__title-sublabel {
  font-size: 1.2rem;
  font-family: "Lato", sans-serif;
  line-height: 1.25;
  font-weight: 400;
}

@media (min-width: 768px) {
  .p-top-info__title-sublabel {
    border-top: 1px solid #333;
    padding-top: 12px;
  }
}

@media (max-width: 767px) {
  .p-top-info__title-sublabel {
    margin: 4px 0;
  }
}

@media (min-width: 768px) {
  .p-top-info__body {
    flex: 0 0 auto;
    width: 1020px;
  }
}

.p-top-info__list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.p-top-info__item {
  display: flex;
}

@media (min-width: 768px) {
  .p-top-info__item {
    gap: 12px;
  }
}

@media (max-width: 767px) {
  .p-top-info__item {
    flex-wrap: wrap;
    gap: 4px 12px;
  }
}

@media (max-width: 767px) {
  .p-top-info__item+.p-top-info__item {
    padding-top: 16px;
    border-top: 1px solid #cccccc;
  }
}

.p-top-info__item-category {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: #F5FCFF;
  color: #0B57A0;
  font-size: 1.4rem;
}

@media (min-width: 768px) {
  .p-top-info__item-category {
    width: 94px;
    padding: 4px 12px;
  }
}

@media (max-width: 767px) {
  .p-top-info__item-category {
    flex-wrap: wrap;
    gap: 4px 12px;
  }
}

.p-top-info__item-date {
  flex: 0 0 auto;
  line-height: 1.8;
}

.p-top-info__item-text {
  overflow: hidden;
  color: #0B57A0;
  text-overflow: ellipsis;
  line-height: 1.8;
}

@media (min-width: 768px) {
  .p-top-info__item-text {
    white-space: nowrap;
  }
}

@media (max-width: 767px) {
  .p-top-info__item-text {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .p-top-info__item-text {
    transition: color 0.2s ease;
  }

  .p-top-info__item-text:hover {
    color: #333;
    text-decoration: underline;
  }
}

/* shortcut */
.p-top-shortcut {
  background: #F5FCFF;
}

@media (min-width: 768px) {
  .p-top-shortcut {
    margin-top: -99px;
    padding-top: 150px;
    padding-bottom: 56px;
  }
}

@media (max-width: 767px) {
  .p-top-shortcut {
    padding: 40px 0;
  }
}

.p-top-shortcut__inner {
  display: flex;
  justify-content: center;
}

@media (min-width: 768px) {
  .p-top-shortcut__inner {
    width: 1200px;
    margin: auto;
  }
}

@media (max-width: 767px) {
  .p-top-shortcut__inner {
    flex-wrap: wrap;
    gap: 8px 16px;
    margin: 0 24px;
  }
}

.p-top-shortcut__unit {
  position: relative;
}

.p-top-shortcut__unit>a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

@media (min-width: 768px) {
  .p-top-shortcut__unit {
    width: 200px;
  }
}

@media (max-width: 767px) {
  .p-top-shortcut__unit {
    width: calc((100% - 32px) / 3);
  }
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .p-top-shortcut__unit>a .p-top-shortcut__image {
    transition: opacity 0.3s ease, box-shadow 0.3s ease;
  }

  .p-top-shortcut__unit>a:hover .p-top-shortcut__image {
    opacity: 0.8;
    box-shadow: inset 0 0 0 3px #0B57A0;
  }
}

.p-top-shortcut__image {
  position: relative;
  border-radius: 100%;
  border: 1px solid #0B57A0;
  background: #fff;
}

@media (min-width: 768px) {
  .p-top-shortcut__image {
    width: 120px;
    height: 120px;
  }
}

@media (max-width: 767px) {
  .p-top-shortcut__image {
    width: 96px;
    height: 96px;
  }
}

.p-top-shortcut__image::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.p-top-shortcut__image.is-message::before {
  background-image: url(../img/icon_message_01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 64.22px 56.2px;
}

.p-top-shortcut__image.is-philosophy::before {
  background-image: url(../img/icon_philosophy_01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 63.01px 53.17px;
}

.p-top-shortcut__image.is-plan::before {
  background-image: url(../img/icon_plan_01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 62.85px 58.41px;
}

.p-top-shortcut__image.is-sustainability::before {
  background-image: url(../img/icon_sustainability_01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 67.02px 49.54px;
}

.p-top-shortcut__image.is-recruit::before {
  background-image: url(../img/icon_recruit_01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 77px 50px;
}

.p-top-shortcut__text {
  margin-top: 12px;
  color: #0B57A0;
  font-weight: 700;
  text-align: center;
}

/* section1 */
.p-top-section1 {
  padding-top: 40px;
  padding-bottom: 80px;
  border-top: 1px solid #cccccc;
}

.p-top-section1:has(.p-top-news.is-tdr.is-active) {
  background: #F5FCFF;
}

@media (min-width: 768px) {
  .p-top-section1__inner {
    width: 1200px;
    margin: auto;
  }
}

@media (max-width: 767px) {
  .p-top-section1__inner {
    padding: 0 24px;
  }
}

@media (min-width: 768px) {
  .p-top-section1__unit.is-title {
    flex: auto 0 0;
  }
}

@media (min-width: 768px) {
  .p-top-section1__unit.is-body {
    flex: auto 1 1;
  }
}

/* section2 */
@media (min-width: 768px) {
  .p-top-section2__inner {
    display: flex;
  }
}

.p-top-section2__unit {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

@media (min-width: 768px) {
  .p-top-section2__unit {
    width: 50%;
    height: 360px;
  }
}

@media (max-width: 767px) {
  .p-top-section2__unit {
    height: 375px;
  }
}

@media (min-width: 768px) {
  .p-top-section2__unit.is-message {
    background: url(../img/img_top_01.jpg) no-repeat 50% 50%;
    background-size: cover;
  }
}

@media (max-width: 767px) {
  .p-top-section2__unit.is-message {
    background: url(../img/img_top_01_sp.jpg) no-repeat 50% 50%;
    background-size: cover;
  }
}

@media (min-width: 768px) {
  .p-top-section2__unit.is-company {
    background: url(../img/img_top_02.jpg) no-repeat 50% 50%;
    background-size: cover;
  }
}

@media (max-width: 767px) {
  .p-top-section2__unit.is-company {
    background: url(../img/img_top_02.jpg) no-repeat 50% 50%;
    background-size: cover;
  }
}

/* section3 */
.p-top-section3 {
  position: relative;
  padding-top: 40px;
  padding-bottom: 80px;
  background: #F5FCFF;
}

.p-top-section3::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  background: #fff;
}

@media (min-width: 768px) {
  .p-top-section3::before {
    height: 248px;
  }
}

@media (max-width: 767px) {
  .p-top-section3::before {
    height: 228px;
  }
}

.p-top-section3__inner {
  position: relative;
}

@media (min-width: 768px) {
  .p-top-section3__inner {
    width: 1200px;
    margin: auto;
  }
}

@media (max-width: 767px) {
  .p-top-section3__inner {
    padding: 0 24px;
  }
}

/* title1 */
.p-top-title1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin-bottom: 40px;
}

.p-top-title1__mainlabel {
  text-align: center;
  font-size: 3.6rem;
  line-height: 1.25;
  font-family: "Lato", sans-serif;
  font-weight: 700;
}

.p-top-title1.is-white .p-top-title1__mainlabel {
  color: #fff;
}

.p-top-title1__sublabel {
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 700;
}

.p-top-title1__sublabel::before {
  content: "";
  display: block;
  width: 80px;
  height: 1px;
  background: #333;
  margin: 0 auto 12px;
}

.p-top-title1.is-white .p-top-title1__sublabel {
  color: #fff;
}

.p-top-title1.is-white .p-top-title1__sublabel::before {
  background: #fff;
}

.p-top-title1.scrollTrigger1 {
  opacity: 0;
  translate: 0 8px;
}

.p-top-title1.scrollTrigger1.is-enter {
  opacity: 1;
  translate: 0;
  transition: opacity 0.3s ease 0s, translate 0.3s ease 0s;
}

/* tab */
.p-top-tab {
  display: flex;
  gap: 12px;
  border-bottom: 1px solid #cccccc;
}

.p-top-tab.is-bottom {
  border-bottom: none;
}

.p-top-tab__unit {
  width: calc(50% - 6px);
}

.p-top-tab__tab {
  position: relative;
  overflow: hidden;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  height: 72px;
  margin-bottom: -1px;
  padding: 3px 8px 0;
  border: 1px solid #cccccc;
  border-radius: 20px 20px 0 0;
  font-size: 1.8rem;
  font-weight: 700;
  cursor: pointer;
}

.p-top-tab__tab::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  border-radius: 20px 20px 0 0;
  background: #cccccc;
}

.p-top-tab__tab.is-active {
  background: #fff;
  pointer-events: none;
  border-bottom-color: #fff;
  color: #0B57A0;
}

.p-top-tab__tab.is-active::before {
  background: #0B57A0;
}

.p-top-tab__tab.is-active.is-tdr {
  background: #F5FCFF;
  border-bottom-color: #F5FCFF;
}

.p-top-tab.is-bottom .p-top-tab__tab {
  margin-top: -1px;
  margin-bottom: 0;
  border-radius: 0 0 20px 20px;
}

.p-top-tab.is-bottom .p-top-tab__tab::before {
  top: auto;
  bottom: 0;
}

.p-top-tab.is-bottom .p-top-tab__tab.is-active {
  border-top-color: #fff;
  border-bottom-color: #cccccc;
}

.p-top-tab.is-bottom .p-top-tab__tab.is-active.is-tdr {
  background: #F5FCFF;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .p-top-tab__tab {
    transition: opacity 0.2s ease;
  }

  .p-top-tab__tab:hover {
    opacity: 0.5;
  }
}

.p-top-tab__target>div {
  display: none;
}

.p-top-tab__target>div.is-active {
  display: block;
}

/* news */
.p-top-news__list {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-top: 24px;
}

.p-top-news__item {
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 24px;
  border-bottom: 1px solid #cccccc;
}

@media (min-width: 768px) {
  .p-top-news__item {
    gap: 8px 12px;
  }
}

@media (max-width: 767px) {
  .p-top-news__item {
    flex-wrap: wrap;
    gap: 4px 12px;
  }
}

.p-top-news__item-category {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.p-top-news__icon {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px 12px;
  border-radius: 8px;
  font-size: 1.4rem;
}

.p-top-news__icon.is-type1 {
  background: #2673BF;
  color: #fff;
  font-weight: 700;
}

.p-top-news__icon.is-type2 {
  background: #13A192;
  color: #fff;
  font-weight: 700;
}

.p-top-news__icon.is-type3 {
  background: #F5FCFF;
  color: #0B57A0;
}

.p-top-news__icon.is-type4 {
  background: #CF4900;
  font-family: "Lato", sans-serif;
  color: #fff;
  font-weight: 700;
}

.p-top-news__item-date {
  flex: 0 0 auto;
  line-height: 1.8;
}

.p-top-news__item-text {
  color: #0B57A0;
  width: 100%;
  line-height: 1.8;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .p-top-news__item-text {
    transition: color 0.2s ease;
  }

  .p-top-news__item-text:hover {
    color: #333;
    text-decoration: underline;
  }
}

/* group */
.p-top-group {
  position: relative;
}

@media (max-width: 767px) {
  .p-top-group {
    margin: 0 24px;
  }
}

@media (min-width: 768px) {
  .p-top-group__unit {
    width: calc((100% - 72px) / 4);
  }
}

@media (max-width: 767px) {
  .p-top-group__unit {
    width: calc((100% - 8px) / 2);
  }
}

.p-top-group__unit>a {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px;
  color: #0B57A0;
}

.p-top-group__unit>a[target=_blank]::before {
  content: "";
  position: absolute;
  display: block;
  border-radius: 100%;
  background: #fff;
  box-shadow: 0 0 4px rgba(51, 51, 51, 0.24);
}

@media (min-width: 768px) {
  .p-top-group__unit>a[target=_blank]::before {
    top: 8px;
    right: 8px;
    width: 24px;
    height: 24px;
  }
}

@media (max-width: 767px) {
  .p-top-group__unit>a[target=_blank]::before {
    top: 6px;
    right: 8px;
    right: 8px;
    width: 16px;
    height: 16px;
  }
}

.p-top-group__unit>a[target=_blank]::after {
  content: "";
  position: absolute;
  display: inline-block;
  background: #0B57A0;
}

@media (min-width: 768px) {
  .p-top-group__unit>a[target=_blank]::after {
    top: 8px;
    right: 8px;
    width: 24px;
    height: 24px;
    -webkit-mask-image: url(../img/icon_external_01.svg);
    mask-image: url(../img/icon_external_01.svg);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 14px;
    mask-size: 14px;
  }
}

@media (max-width: 767px) {
  .p-top-group__unit>a[target=_blank]::after {
    top: 6px;
    right: 8px;
    right: 8px;
    width: 16px;
    height: 16px;
    -webkit-mask-image: url(../img/icon_external_01.svg);
    mask-image: url(../img/icon_external_01.svg);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 8px;
    mask-size: 8px;
  }
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .p-top-group__unit>a {
    transition: opacity 0.2s ease;
  }

  .p-top-group__unit>a:hover {
    opacity: 0.5;
  }
}

.p-top-group__image {
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  box-shadow: 0 0 20px rgba(51, 51, 51, 0.1);
  border-radius: 12px;
}

@media (max-width: 767px) {
  .p-top-group__image {
    aspect-ratio: 13.55/10;
  }
}

.p-top-group .swiper {
  position: relative;
  display: block;
  margin-top: -20px;
  padding-top: 20px;
}

@media (min-width: 768px) {
  .p-top-group .swiper {
    margin-right: -20px;
    margin-left: -20px;
    padding-right: 20px;
    padding-left: 20px;
  }
}

@media (max-width: 767px) {
  .p-top-group .swiper {
    margin-right: -8px;
    margin-left: -8px;
    padding-right: 8px;
    padding-left: 8px;
  }
}

.p-top-group .swiper-wrapper {
  display: flex;
}

.p-top-group .swiper-slide {
  flex: 0 0 auto;
}

@media (min-width: 768px) {
  .p-top-group .swiper-slide {
    width: calc((100% - 72px) / 4);
  }
}

@media (max-width: 767px) {
  .p-top-group .swiper-slide {
    width: calc((100% - 8px) / 2);
  }
}

.p-top-group .swiper-slide.swiper-slide-prev .p-top-group__image {
  box-shadow: none;
}

.p-top-group .swiper-slide.swiper-slide-visible+.swiper-slide:not(.swiper-slide-visible) .p-top-group__image {
  box-shadow: none;
}

.p-top-group .swiper-slide .p-top-group__unit {
  width: 100%;
}

.p-top-group .swiper-pagination {
  position: static;
  display: flex;
  justify-content: center;
  gap: 10px;
}

@media (min-width: 768px) {
  .p-top-group .swiper-pagination {
    margin-top: 24px;
  }
}

@media (max-width: 767px) {
  .p-top-group .swiper-pagination {
    margin-top: 24px;
  }
}

.p-top-group .swiper-pagination-bullet {
  display: block;
  width: 12px;
  height: 12px;
  border-radius: 100vmax;
  background: #cccccc;
  cursor: pointer;
}

.p-top-group .swiper-pagination-bullet-active {
  background: #0B57A0;
  pointer-events: none;
}

.p-top-group .swiper-button-prev,
.p-top-group .swiper-button-next {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 0;
  cursor: pointer;
}

@media (min-width: 768px) {

  .p-top-group .swiper-button-prev,
  .p-top-group .swiper-button-next {
    top: 78px;
    width: 32px;
    height: 32px;
  }
}

@media (max-width: 767px) {

  .p-top-group .swiper-button-prev,
  .p-top-group .swiper-button-next {
    top: 20px;
    width: 24px;
    height: 24px;
    margin-top: calc((100% - 8px) / 2 * 0.36900369 - 12px);
  }
}

.p-top-group .swiper-button-prev::before,
.p-top-group .swiper-button-next::before {
  content: "";
  display: block;
  background: #0B57A0;
}

@media (min-width: 768px) {

  .p-top-group .swiper-button-prev::before,
  .p-top-group .swiper-button-next::before {
    width: 32px;
    height: 32px;
    -webkit-mask-image: url(../img/icon_arrow_01.svg);
    mask-image: url(../img/icon_arrow_01.svg);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 19.7px 29.57px;
    mask-size: 19.7px 29.57px;
  }
}

@media (max-width: 767px) {

  .p-top-group .swiper-button-prev::before,
  .p-top-group .swiper-button-next::before {
    width: 24px;
    height: 24px;
    -webkit-mask-image: url(../img/icon_arrow_01.svg);
    mask-image: url(../img/icon_arrow_01.svg);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 14.78px 22.18px;
    mask-size: 14.78px 22.18px;
  }
}

.p-top-group .swiper-button-prev {
  translate: 0 0;
}

@media (min-width: 768px) {
  .p-top-group .swiper-button-prev {
    left: -44px;
  }
}

@media (max-width: 767px) {
  .p-top-group .swiper-button-prev {
    left: calc(50% - 167.5px - 20px);
  }
}

.p-top-group .swiper-button-prev::before {
  rotate: 180deg;
}

.p-top-group .swiper-button-next {
  translate: 0 0;
}

@media (min-width: 768px) {
  .p-top-group .swiper-button-next {
    right: -44px;
  }
}

@media (max-width: 767px) {
  .p-top-group .swiper-button-next {
    right: calc(50% - 167.5px - 20px);
  }
}

/* banner */
.p-top-banner {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 0;
  text-align: center;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .p-top-banner>a {
    transition: opacity 0.2s ease;
  }

  .p-top-banner>a:hover {
    opacity: 0.5;
  }
}

/* callender1 */
@media (min-width: 768px) {
  .p-ir-callender1 {
    padding: 60px 0;
    background: #F5FCFF url(../img/img_ir_01.webp) no-repeat 0 0;
    background-size: 100%;
  }
}

@media (max-width: 767px) {
  .p-ir-callender1 {
    padding: 40px 0 60px;
    background: #F5FCFF url(../img/img_ir_01_sp.webp) no-repeat 0 0;
    background-size: cover;
  }
}

@media (min-width: 768px) {
  .p-ir-callender1__inner {
    width: 1200px;
    margin: 0 auto;
  }
}

@media (max-width: 767px) {
  .p-ir-callender1__inner {
    padding: 0 24px;
  }
}

.p-ir-callender1__head {
  display: flex;
}

@media (min-width: 768px) {
  .p-ir-callender1__head {
    justify-content: space-between;
    align-items: center;
  }
}

@media (max-width: 767px) {
  .p-ir-callender1__head {
    flex-direction: column;
    gap: 20px;
  }
}

.p-ir-callender1__head .c-title1 {
  margin-bottom: 0;
}

.p-ir-callender1__body {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 40px;
}

@media (max-width: 767px) {
  .p-ir-callender1__body .c-button-set1 {
    padding-right: 0;
    padding-left: 0;
  }
}

.p-ir-callender1__image img {
  filter: drop-shadow(0 0 60px white) drop-shadow(0 0 20px white);
}


@media (min-width: 768px) {
  .list_item_other_index {
    display: none;
  }
}

@media (max-width: 767px) {
  .list_item_other_index {
    display: block;
  }
}

/* 株主・投資家の皆様へ：株価表示の英語対応 */
.c-kv1__chart-table th {
  word-break: keep-all;
  overflow-wrap: break-word;
  font-size: 14px;
  line-height: 1.4;
  vertical-align: middle;
  padding-right: 8px;
}

.c-kv1__chart-table td {
  white-space: nowrap;
  vertical-align: middle;
}

.c-kv1__chart-head {
  line-height: 1.4;
  word-break: keep-all;
  overflow-wrap: break-word;
}

.u-nowrap {
  white-space: nowrap;
}

@media (max-width: 767px) {
  .c-kv1__chart-table th {
    font-size: 13px;
  }
}

/* /株主・投資家の皆様へ：株価表示の英語対応 */

/* Update for English Word-wrapping */
html[lang="en"],
html[lang="en"] *,
html[lang="en"] *::before,
html[lang="en"] *::after {
  word-break: normal;
  overflow-wrap: break-word;
}

/*# sourceMappingURL=main.css.map*/
/* 言語切り替え (JA/ENリンク) KV配置用スタイル */
.c-kv2__inner {
  position: relative;
}

.js-sw-lang-link {
  position: absolute;
  right: 0;
  bottom: 24px;
  z-index: 10;
}

.js-sw-lang-link ul {
  display: flex;
  align-items: center;
  list-style: none;
  padding: 0;
  margin: 0;
}

.js-sw-lang-link li {
  display: flex;
  align-items: center;
  font-family: "Lato", sans-serif;
  font-size: 1.8rem;
  font-weight: 400;
  color: #0B57A0;
  line-height: 1.2;
}

.js-sw-lang-link li + li::before {
    content: "|";
    display: block;
    width: 40px;
    text-align: center;
    color: #B6B6B6;
    font-size: 1.8rem;
    font-weight: inherit;
    background: transparent;
    height: auto;
    margin: 0;
}

.js-sw-lang-link li.active span {
  border-bottom: 2px solid #0B57A0;
  padding-bottom: 0;
}

.js-sw-lang-link li span,
.js-sw-lang-link li a {
  padding: 0 5px;
}
.js-sw-lang-link li a {
  color: #333;
  text-decoration: none;
}

.js-sw-lang-link li a:hover {
  color: #0B57A0;
  text-decoration: none;
  border-bottom: 2px solid #0B57A0;
}

@media (max-width: 767px) {
  .js-sw-lang-link {
    right: 24px;
    bottom: 12px;
  }
  .js-sw-lang-link li {
    font-size: 1.4rem;
  }
}

/* IRページ：PC版の株価リアルタイムBOXを左に130pxずらす */
@media screen and (min-width: 768px) {
  .c-kv1.is-ir .c-kv1__block {
    transform: translateX(-130px);
  }
}
/* groupcompany.html ページタイトルのfont-weightをboldに変更 */
#company-groupcompany .c-kv2__title-label {
    font-weight: 700 !important;
}
/* スマホ版アコーディオンボタンの文字色が青くなる問題の修正（黒色を明示的に指定） */
button.c-index-nav1__title-label {
    color: #333;
}

/* カプセル型言語切り替えリンク強制適用 */
.c-kv1 .js-sw-lang-link {
  z-index: 2;
}
@media (min-width: 768px) {
  .c-kv1 .js-sw-lang-link {
    right: max(0px, calc(50% - 600px));
  }
}
.c-kv1 .js-sw-lang-link ul {
  background: transparent;
  border-radius: 50px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  display: flex;
  align-items: stretch;
  padding: 0;
}
.c-kv1 .js-sw-lang-link li + li::before {
  display: none;
}
.c-kv1 .js-sw-lang-link li {
  display: flex;
  margin: 0;
  border-left: 1px solid #e0e0e0;
}
.c-kv1 .js-sw-lang-link li:first-child {
  border-left: none;
}
.c-kv1 .js-sw-lang-link li span,
.c-kv1 .js-sw-lang-link li a {
  background: rgba(255, 255, 255, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px 10px;
  font-size: 1.4rem;
  color: #0B57A0;
  text-decoration: none;
}
.c-kv1 .js-sw-lang-link li.active span {
  background: rgba(234, 246, 244, 0.9);
  border-bottom: none;
}
.c-kv1 .js-sw-lang-link li a:hover {
  background: rgba(245, 245, 245, 0.9);
  border-bottom: none;
}
@media (max-width: 767px) {
  .c-kv1 .js-sw-lang-link {
    top: auto;
    bottom: 24px;
    right: 24px;
  }
  .c-kv1.is-ir .js-sw-lang-link {
    bottom: 140px;
  }
}