@charset "UTF-8";
@keyframes hoverlinelink {
  0% {
    background-size: 100% 1px;
    background-position: 100% 100%;
  }
  50% {
    background-size: 0 1px;
    background-position: 100% 100%;
  }
  51% {
    background-size: 0 1px;
    background-position: 0 100%;
  }
  100% {
    background-size: 100% 1px;
    background-position: 0 100%;
  }
}
/* =====================================================
* Base
* ================================================== */
/*! normalize.css v3.0.0 | MIT License | git.io/normalize */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden],
template {
  display: none;
}

a {
  background-color: transparent;
}

a:active, a:hover {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong {
  font-weight: bold;
}

dfn {
  font-style: italic;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

mark {
  background: #ff0;
  color: #000;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

img {
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
  fill: currentColor;
}

figure {
  margin: 1em 40px;
}

hr {
  box-sizing: content-box;
  height: 0;
}

pre {
  overflow: auto;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input[type=checkbox],
input[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto;
}

input[type=search] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: bold;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

:root {
  --sw-breakpoints-sp: screen and (max-width: 991px);
  --sw-breakpoints-mobile: screen and (min-width: 576px);
  --sw-breakpoints-pc: screen and (min-width: 990px);
  --sw-breakpoints-large: screen and (min-width: 1240px);
  --sw-breakpoints-artbord: screen and (min-width: 2000px);
  --sw-layout-side-padding-sp: 4rem;
  --sw-layout-side-padding-pc: 4rem;
  --sw-layout-container-width-pc: 120rem;
  --sw-layout-artbord-width: 200rem;
  --sw-z-index-header: 10;
  --sw-z-index-navigation: 9;
  --sw-z-index-sidebar: 6;
  --sw-z-index-content: 5;
  --sw-z-index-footer: 1;
  --sw-easing-linear: cubic-bezier(0.25, 0.25, 0.75, 0.75);
  --sw-easing-ease: cubic-bezier(0.25, 0.1, 0.25, 1);
  --sw-easing-easeIn: cubic-bezier(0.42, 0, 1, 1);
  --sw-easing-easeOut: cubic-bezier(0, 0, 0.58, 1);
  --sw-easing-easeInOut: cubic-bezier(0.42, 0, 0.58, 1);
  --sw-easing-easing_1_SineIn: cubic-bezier(0.47, 0, 0.745, 0.715);
  --sw-easing-easing_1_SineOut: cubic-bezier(0.39, 0.575, 0.565, 1);
  --sw-easing-easing_1_SineInOut: cubic-bezier(0.445, 0.05, 0.55, 0.95);
  --sw-easing-easing_2_QuadIn: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  --sw-easing-easing_2_QuadOut: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --sw-easing-easing_2_QuadInOut: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  --sw-easing-easing_3_CubicIn: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  --sw-easing-easing_3_CubicOut: cubic-bezier(0.215, 0.61, 0.355, 1);
  --sw-easing-easing_3_CubicInOut: cubic-bezier(0.645, 0.045, 0.355, 1);
  --sw-easing-easing_4_QuartIn: cubic-bezier(0.895, 0.03, 0.685, 0.22);
  --sw-easing-easing_4_QuartOut: cubic-bezier(0.165, 0.84, 0.44, 1);
  --sw-easing-easing_4_QuartInOut: cubic-bezier(0.77, 0, 0.175, 1);
  --sw-easing-easing_5_QuintIn: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  --sw-easing-easing_5_QuintOut: cubic-bezier(0.23, 1, 0.32, 1);
  --sw-easing-easing_5_QuintInOut: cubic-bezier(0.86, 0, 0.07, 1);
  --sw-easing-easing_6_ExpoIn: cubic-bezier(0.95, 0.05, 0.795, 0.035);
  --sw-easing-easing_6_ExpoOut: cubic-bezier(0.19, 1, 0.22, 1);
  --sw-easing-easing_6_ExpoInOut: cubic-bezier(1, 0, 0, 1);
  --sw-easing-easing_7_CircIn: cubic-bezier(0.6, 0.04, 0.98, 0.335);
  --sw-easing-easing_7_CircOut: cubic-bezier(0.075, 0.82, 0.165, 1);
  --sw-easing-easing_7_CircInOut: cubic-bezier(0.785, 0.135, 0.15, 0.86);
  --sw-easing-easing_BackIn: cubic-bezier(0.6, -0.28, 0.735, 0.045);
  --sw-easing-easing_BackOut: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  --sw-easing-easing_BackInOut: cubic-bezier(0.68, -0.55, 0.265, 1.55);
  --sw-easing-easing_BackOutStrong: cubic-bezier(0.5, 1.5, 0.5, 1.5);
  --sw-easing-easing_BackInStrong: cubic-bezier(0.5, -0.5, 0.5, -0.5);
  --sw-easing-easing_BackInOutStrong: cubic-bezier(0.5, -1, 0.5, 2);
  --sw-easing-easing_12_SineQuadInOut: cubic-bezier(0.445, 0.05, 0.515, 0.955);
  --sw-easing-easing_21_QuadSineInOut: cubic-bezier(0.455, 0.03, 0.55, 0.95);
  --sw-easing-easing_23_QuadCubicInOut: cubic-bezier(0.455, 0.03, 0.355, 1);
  --sw-easing-easing_32_CubicQuadInOut: cubic-bezier(0.645, 0.045, 0.515, 0.955);
  --sw-easing-easing_34_CubicQuartInOut: cubic-bezier(0.645, 0.045, 0.175, 1);
  --sw-easing-easing_43_QuartCubicInOut: cubic-bezier(0.77, 0, 0.355, 1);
  --sw-easing-easing_45_QuartQuintInOut: cubic-bezier(0.77, 0, 0.07, 1);
  --sw-easing-easing_54_QuintQuartInOut: cubic-bezier(0.86, 0, 0.175, 1);
  --sw-easing-easing_46_QuartExpoInOut: cubic-bezier(0.77, 0, 1, 0);
  --sw-easing-easing_64_ExpoQuartInOut: cubic-bezier(1, 0, 0.175, 1);
  --sw-easing-easing_56_QuintExpoInOut: cubic-bezier(0.86, 0, 1, 0);
  --sw-easing-easing_65_ExpoQuintInOut: cubic-bezier(1, 0, 0.07, 1);
  --sw-easing-smooth: cubic-bezier(0.25, 0.1, 0.25, 1);
  --sw-font-size-base-sp: 1.3rem;
  --sw-font-size-base-pc: 1.5rem;
  --sw-font-family-base: Noto Sans JP, sans-serif;
  --sw-font-line-height-base: 1.78;
  --sw-font-line-height-p: 2;
  --sw-font-line-height-heading: 1.5;
  --sw-font-letter-spacing-base: 0.04em;
  --sw-color-bg-base: #000;
  --sw-color-bg-white: #ffffff;
  --sw-color-bg-dark: #ffffff;
  --sw-color-text-base: #000;
  --sw-color-text-white: #fff;
  --sw-color-theme-primary: #0069c8;
  --sw-color-gray-lightest: #fbfcfc;
  --sw-color-gray-lighter: #f1f1f1;
  --sw-color-gray-light: #dbdbdb;
  --sw-color-gray-base: #c7c8c8;
  --sw-color-gray-dark: #222;
  --sw-color-gray-black: #000000;
  --sw-header-height-sp: 8rem;
  --sw-header-height-pc: 8rem;
  --sw-header-logo-width-sp: 18rem;
  --sw-header-logo-width-pc: 18rem;
  --sw-header-humberger-bar-width-sp: 3.5rem;
  --sw-header-humberger-bar-height-sp: 0.65rem;
  --sw-header-humberger-bar-radius-sp: 0;
  --sw-header-humberger-bar-gap-sp: 0.5rem;
  --sw-header-humberger-bar-color: #fff;
}

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

::-moz-selection {
  background-color: #0069c8;
  color: #fff;
}

::selection {
  background-color: #0069c8;
  color: #fff;
}

html {
  background-color: var(--sw-color-bg-base);
  font-size: 1.6666666667vw;
  font-weight: 500;
  color: var(--sw-color-text-base);
  -webkit-tap-highlight-color: transparent;
  scroll-padding-top: calc(var(--sw-header-height-sp) + 2rem);
}
@media screen and (min-width: 990px) {
  html {
    font-size: 0.5vw;
    scroll-padding-top: calc(var(--sw-header-height-pc) + 2rem);
  }
}
@media screen and (min-width: 1240px) {
  html {
    font-size: 0.5vw;
  }
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  width: 100%;
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  font-size: 1.3rem;
  font-optical-sizing: auto;
  line-height: 1.78;
  letter-spacing: 0.04em;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
}
@media (min-resolution: 2dppx) {
  body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}
@media screen and (min-width: 990px) {
  body {
    font-size: 1.5rem;
  }
}

.grecaptcha-badge {
  z-index: 9999;
}
@media screen and (max-width: 991px) {
  .grecaptcha-badge {
    bottom: 8rem !important;
  }
}

:focus-visible {
  outline: 2px solid var(--sw-color-focus);
  outline-offset: 2px;
}

h1,
h2,
h3,
h4,
h5 {
  font-weight: 500;
}

p {
  line-height: 2;
}

a {
  color: inherit;
}

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

video {
  max-width: 100%;
}

sup {
  font-weight: 400;
}

.sr-only {
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

/* =====================================================
 * Library
 * ================================================== */
/* =====================================================
 * Layout
 * ================================================== */
.l-header {
  background-color: var(--sw-color-gray-dark);
  position: fixed;
  left: 0;
  width: 100%;
  top: 0;
  z-index: var(--sw-z-index-header);
  color: #fff;
  height: var(--sw-header-height-sp);
}
.l-header__innr {
  padding: 0 2.8rem;
  height: 100%;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 990px) {
  .l-header__innr {
    justify-content: space-between;
    padding: 0 var(--sw-layout-side-padding-pc);
    margin: 0 auto;
    max-width: calc(var(--sw-layout-container-width-pc) + var(--sw-layout-side-padding-pc) * 2);
  }
}
.l-header__logo {
  display: block;
  width: var(--sw-header-logo-width-sp);
  margin: 0;
}
.l-header__logo-img {
  display: block;
  width: 100%;
  height: auto;
}
.l-header__logo-link {
  display: block;
  transition: opacity 75ms linear;
}
.touch-is-active .l-header__logo-link.touched {
  opacity: 0.7;
}
.mouse-is-active .l-header__logo-link:hover {
  opacity: 0.7;
}
.l-header__logo-link:focus {
  opacity: 0.7;
}
.l-header__logo-link:focus-visible {
  outline: 2px solid var(--sw-color-theme-primary);
}
.l-header__nav {
  position: fixed;
  top: var(--sw-header-height-sp);
  left: 0;
  width: 100%;
  height: 100%;
  height: calc(100% - var(--sw-header-height-sp));
  height: calc(100lvh - var(--sw-header-height-sp));
  overflow-y: scroll;
  overscroll-behavior: contain;
  transition: all 200ms linear;
  transition-property: opacity, visibility;
  opacity: 0;
  visibility: hidden;
  background-color: var(--sw-color-theme-primary);
}
.-is-nav-open .l-header__nav {
  pointer-events: auto;
  visibility: visible;
  opacity: 1;
  transition: all 300ms linear;
  transition-property: opacity, visibility;
}
@media screen and (min-width: 990px) {
  .l-header__nav {
    background-color: transparent;
    position: relative;
    top: auto;
    left: auto;
    width: auto;
    height: auto;
    overflow: hidden;
    opacity: 1;
    visibility: visible;
    transition: none;
    overscroll-behavior: none;
    display: flex;
    align-items: flex-end;
  }
}
.l-header__nav-innr {
  min-height: calc(100% + 1px);
  padding: 0 var(--sw-layout-side-padding-sp) 5rem;
  display: flex;
  flex-direction: column;
  gap: 6rem;
}
@media screen and (min-width: 990px) {
  .l-header__nav-innr {
    padding: 0;
    align-items: center;
    min-height: auto;
  }
}
.l-header__toggle {
  position: absolute;
  right: 0.7rem;
  height: var(--sw-header-height-sp);
  aspect-ratio: 1;
}
@media screen and (min-width: 990px) {
  .l-header__toggle {
    display: none;
  }
}
.l-header__trap {
  position: absolute;
  width: 0;
  top: 0;
  left: 0;
  height: 1px;
}
@media screen and (min-width: 990px) {
  .l-header__trap {
    display: none;
  }
}

.l-footer {
  background-color: var(--sw-color-gray-dark);
  color: #fff;
}
.l-footer__innr {
  padding: 0 var(--sw-layout-side-padding-sp);
}
.l-footer__bottom {
  background-color: var(--sw-color-gray-black);
  color: #fff;
  overflow: hidden;
  padding: 2.2rem 0;
}
@media screen and (min-width: 990px) {
  .l-footer__bottom {
    padding: 3rem 0;
  }
}
.l-footer__copyright {
  display: block;
  margin: 0;
  padding: 0;
}
.l-footer__copyright small {
  display: block;
  font-size: 1.5rem;
  text-align: center;
  line-height: 1.0666666667;
}
@media screen and (min-width: 990px) {
  .l-footer__copyright small {
    font-size: 1.7rem;
    line-height: 1.1764705882;
  }
}

.l-section {
  overflow: hidden;
  padding: 6rem 0;
  background-color: #ffffff;
}
@media screen and (min-width: 990px) {
  .l-section {
    padding: 11rem 0;
  }
}
.l-section.-cl-white {
  background-color: #ffffff;
}
.l-section.-cl-primary {
  background-color: #0069c8;
  color: #fff;
}
.l-section.-cl-gray {
  background-color: #f1f1f1;
}
.l-section.-cl-black {
  background-color: #222;
  color: #fff;
}

.l-content {
  padding: var(--sw-header-height-sp) 0 0;
}
@media screen and (min-width: 990px) {
  .l-content {
    padding: var(--sw-header-height-pc) 0 0;
  }
}

.l-container {
  width: 100%;
  padding: 0 4rem;
  margin: 0 auto;
}
@media screen and (min-width: 990px) {
  .l-container {
    padding: 0 4rem;
    max-width: 128rem;
  }
}
.l-container.-fluid {
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 calc(-50vw + 50%) !important;
  padding: 0 !important;
}

/* =====================================================
 * Module
 * ================================================== */
.c-gnav__list {
  display: flex;
  flex-direction: column;
  gap: 0;
  list-style: none;
  padding: 0;
  margin: 0;
}
@media screen and (min-width: 990px) {
  .c-gnav__list {
    flex-direction: row;
    gap: 0 4rem;
  }
}
.c-gnav__item {
  display: block;
  margin: 0;
  padding: 0;
  border-bottom: 0.2rem solid currentColor;
}
.c-gnav__item:last-child {
  border-bottom: 0;
}
@media screen and (min-width: 990px) {
  .c-gnav__item {
    border-bottom: 0;
  }
  .c-gnav__item.-hidden-pc {
    display: none;
  }
}
.c-gnav__link {
  display: flex;
  text-decoration: none;
  font-size: 2.5rem;
  height: 10rem;
  align-items: center;
  justify-content: space-between;
  transition: opacity 75ms linear;
}
.touch-is-active .c-gnav__link.touched {
  opacity: 0.7;
}
.mouse-is-active .c-gnav__link:hover {
  opacity: 0.7;
}
.c-gnav__link:focus {
  opacity: 0.7;
}
.c-gnav__link:focus-visible {
  outline: 2px solid var(--sw-color-theme-primary);
  outline-offset: -0.5rem;
}
.c-gnav__link::after {
  content: "";
  display: block;
  width: 0.8em;
  height: 0.8em;
  border-top: 0.25rem solid currentColor;
  border-right: 0.25rem solid currentColor;
  transform: rotate(45deg);
}
@media screen and (min-width: 990px) {
  .c-gnav__link::after {
    display: none;
  }
}
@media screen and (min-width: 990px) {
  .c-gnav__link {
    height: auto;
    font-size: 2rem;
  }
}

.c-fnav {
  display: block;
  padding: 1.7rem 0;
}
@media screen and (min-width: 990px) {
  .c-fnav {
    padding: 2.5rem 0;
  }
}
.c-fnav__list {
  display: flex;
  list-style: none;
  justify-content: center;
  margin: 0;
  padding: 0;
}
.c-fnav__item {
  display: block;
  margin: 0;
  padding: 0;
  position: relative;
}
.c-fnav__item::after {
  content: "";
  display: block;
  width: 1px;
  height: 1.5rem;
  background-color: currentColor;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.c-fnav__item:first-child .c-fnav__link {
  padding-left: 0;
}
.c-fnav__item:last-child::after {
  display: none;
}
.c-fnav__item:last-child .c-fnav__link {
  padding-right: 0;
}
.c-fnav__link {
  display: block;
  position: relative;
  font-size: 1.5rem;
  line-height: 1.2;
  text-decoration: none;
  padding: 0.4rem 1.5rem;
  transition: opacity 75ms linear;
}
.touch-is-active .c-fnav__link.touched {
  opacity: 0.7;
}
.mouse-is-active .c-fnav__link:hover {
  opacity: 0.7;
}
.c-fnav__link:focus {
  opacity: 0.7;
}
.c-fnav__link:focus-visible {
  outline: 2px solid var(--sw-color-theme-primary);
  outline-offset: -0.5rem;
}
@media screen and (min-width: 990px) {
  .c-fnav__link {
    font-size: 1.7rem;
    line-height: 1.1764705882;
    padding: 0.5rem 1.8rem;
  }
}

.c-humberger {
  width: 100%;
  aspect-ratio: 1;
  position: relative;
  display: flex;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  box-shadow: none;
  border: 0;
  background: none;
  cursor: pointer;
  padding: 0;
}
.c-humberger:focus-visible {
  outline: 2px solid var(--sw-color-theme-primary);
  outline-offset: -0.5rem;
}
.c-humberger__bar {
  width: 3.5rem;
  height: 0.65rem;
  background-color: #fff;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s ease;
}
.c-humberger__bar:nth-child(1) {
  transform: translate(-50%, calc(-50% - 0.5rem - 0.65rem));
}
.c-humberger__bar:nth-child(2) {
  transform: translate(-50%, -50%);
}
.c-humberger__bar:nth-child(3) {
  transform: translate(-50%, calc(-50% + 0.5rem + 0.65rem));
}
.c-humberger.-is-close .c-humberger__bar:nth-child(1) {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.c-humberger.-is-close .c-humberger__bar:nth-child(2) {
  opacity: 0;
}
.c-humberger.-is-close .c-humberger__bar:nth-child(3) {
  transform: translate(-50%, -50%) rotate(45deg);
}

.c-pane-promo__link {
  display: block;
  transition: opacity 75ms linear;
}
.c-pane-promo__wrap {
  display: grid;
  overflow: hidden;
  width: 100%;
}
.c-pane-promo__main {
  position: relative;
  z-index: 2;
  grid-area: 1/-1;
}
.c-pane-promo__content {
  width: 51rem;
  padding: 5.6rem 0 0;
}
@media screen and (min-width: 990px) {
  .c-pane-promo__content {
    width: 50rem;
    padding: 10rem 0 4rem;
  }
}
.c-pane-promo__main-img {
  display: block;
  width: 100%;
  height: auto;
}
.c-pane-promo__bg {
  position: relative;
  z-index: 1;
  grid-area: 1/-1;
}
.c-pane-promo__bg-img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  transform: translate(0, 0) scale(1.00001);
  transition: transform 1s cubic-bezier(0.19, 1, 0.22, 1);
}
.c-pane-promo .c-pane-promo__link:focus, .c-pane-promo .touch-is-active .c-pane-promo__link.touched, .touch-is-active .c-pane-promo .c-pane-promo__link.touched, .c-pane-promo .mouse-is-active .c-pane-promo__link:hover, .mouse-is-active .c-pane-promo .c-pane-promo__link:hover {
  opacity: 0.91;
}
.c-pane-promo .c-pane-promo__link:focus .c-pane-promo__bg-img, .c-pane-promo .touch-is-active .c-pane-promo__link.touched .c-pane-promo__bg-img, .touch-is-active .c-pane-promo .c-pane-promo__link.touched .c-pane-promo__bg-img, .c-pane-promo .mouse-is-active .c-pane-promo__link:hover .c-pane-promo__bg-img, .mouse-is-active .c-pane-promo .c-pane-promo__link:hover .c-pane-promo__bg-img {
  transform: translate(0, 0) scale(1.01);
}

.c-ggl-lead {
  padding: 7.4rem 0;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media screen and (min-width: 990px) {
  .c-ggl-lead {
    padding: 5.4rem 0;
    gap: 1.8rem;
  }
}
.c-ggl-lead__img {
  display: block;
  width: 53rem;
  margin: 0 auto;
  height: auto;
}
@media screen and (min-width: 990px) {
  .c-ggl-lead__img {
    width: 80rem;
  }
}
.c-ggl-lead__txt {
  font-size: 2.4rem;
  text-align: center;
  letter-spacing: 0;
  font-weight: 500;
  line-height: 1.25;
}
@media screen and (min-width: 990px) {
  .c-ggl-lead__txt {
    font-size: 3rem;
    line-height: 1.2;
  }
}

.c-gtv {
  padding: 4.8rem 0;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media screen and (min-width: 990px) {
  .c-gtv {
    padding: 8rem 0;
    gap: 2.8rem;
  }
}
.c-gtv__screen {
  width: 51rem;
  margin: 0 auto;
}
@media screen and (min-width: 990px) {
  .c-gtv__screen {
    width: 90rem;
  }
}
.c-gtv__screen-img {
  display: block;
  width: 100%;
}
.c-gtv__logo {
  width: 51rem;
  margin: 0 auto;
}
@media screen and (min-width: 990px) {
  .c-gtv__logo {
    width: 90rem;
  }
}
.c-gtv__logo-img {
  display: block;
  width: 100%;
}
.c-gtv__txt {
  font-size: 2.8rem;
  text-align: center;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.2857142857;
  margin: -0.4rem 0 0;
}
@media screen and (min-width: 990px) {
  .c-gtv__txt {
    font-size: 3.6rem;
    line-height: 1.6666666667;
  }
}

.c-brds__head {
  padding: 0 0 14rem;
}
@media screen and (min-width: 990px) {
  .c-brds__head {
    padding: 0 0 17rem;
  }
}
.c-brds__logo {
  width: 38rem;
  margin: 2.3rem auto 4.4rem;
}
@media screen and (min-width: 990px) {
  .c-brds__logo {
    width: 40rem;
    margin: 1rem auto 4rem;
  }
}
.c-brds__logo-img {
  display: block;
  width: 100%;
}
.c-brds__dscr {
  text-align: center;
  font-size: 2.2rem;
  line-height: 2.2727272727;
  margin: 0;
}
@media screen and (min-width: 990px) {
  .c-brds__dscr {
    line-height: 2.5454545455;
  }
}
.c-brds__body {
  background-color: var(--sw-color-gray-dark);
  overflow: visible;
  padding: 0 0 7rem;
}
@media screen and (min-width: 990px) {
  .c-brds__body {
    padding: 0 0 10rem;
  }
}
.c-brds__b-visual {
  position: relative;
  top: -9.5rem;
  margin: 0 0 -4rem;
}
@media screen and (min-width: 990px) {
  .c-brds__b-visual {
    width: 75rem;
    top: -6.5rem;
    margin: 0 auto 3.5rem;
  }
}
.c-brds__b-visual-img {
  display: block;
  width: 100%;
}
.c-brds__txt {
  font-size: 2.2rem;
  line-height: 2.2727272727;
  margin: 0 0 2.25em;
  letter-spacing: 0.01em;
  text-align: justify;
  -moz-text-align-last: center;
       text-align-last: center;
}
@media screen and (min-width: 990px) {
  .c-brds__txt {
    letter-spacing: 0.02em;
  }
}

.c-h2 {
  font-size: 4.6rem;
  line-height: 1.3913043478;
  letter-spacing: 0.06em;
  text-align: center;
  margin: 0 0 0.6em;
  font-weight: 500;
}
@media screen and (min-width: 990px) {
  .c-h2 {
    font-size: 5.2rem;
    line-height: 1.4285714286;
    margin: 0 0 0.6em;
  }
}

.c-card {
  background-color: #ffffff;
  overflow: hidden;
  color: #0069c8;
  text-align: center;
  padding: 2rem 0;
}
@media screen and (min-width: 990px) {
  .c-card {
    padding: 5rem 0;
  }
}
.c-card__title {
  font-size: 5.542rem;
  font-weight: 500;
  letter-spacing: -0.02rem;
  line-height: 1.42;
}
@media screen and (min-width: 990px) {
  .c-card__title {
    font-size: 7rem;
    line-height: 1.38;
  }
}
.c-card__dscr {
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (min-width: 990px) {
  .c-card__dscr {
    font-size: 3.5rem;
  }
}

.c-text-brand {
  display: inline-block;
  letter-spacing: -0.01em;
}

.c-note {
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.04em;
}

.c-sec-title {
  font-size: 2.6rem;
  line-height: 1.3076923077;
  color: #fff;
  background-color: #222;
  text-align: center;
  font-weight: 500;
  padding: 1.6rem 1rem;
  margin: 0 0 1.2em;
}
@media screen and (min-width: 990px) {
  .c-sec-title {
    padding: 1.8rem 1rem;
    margin: 1.5em 0 1.5em;
  }
}

.c-kv {
  display: grid;
  position: relative;
}
.c-kv__main {
  position: relative;
  z-index: 2;
  grid-area: 1/-1;
  padding: 5.8rem 0 0;
}
@media screen and (min-width: 990px) {
  .c-kv__main {
    padding: 26rem 0 0;
  }
}
.c-kv__content {
  width: 100%;
}
@media screen and (min-width: 990px) {
  .c-kv__content {
    width: 52rem;
  }
}
.c-kv__c-img {
  display: block;
  width: 100%;
}
.c-kv__bg {
  grid-area: 1/-1;
  aspect-ratio: 6/8;
}
@media screen and (min-width: 990px) {
  .c-kv__bg {
    aspect-ratio: 200/95;
  }
}
.c-kv__bg-img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.u-bg-white {
  background-color: #ffffff;
}
.u-bg-black {
  background-color: #ffffff;
}

.u-br-sp {
  display: block;
}
@media screen and (min-width: 990px) {
  .u-br-sp {
    display: none;
  }
}
.u-br-pc {
  display: none;
}
@media screen and (min-width: 990px) {
  .u-br-pc {
    display: block;
  }
}

.u-cl-primary {
  color: #0069c8;
}
.u-display-ib {
  display: inline-block;
}
@media screen and (max-width: 991px) {
  .u-display-none-sp {
    display: none;
  }
}
@media screen and (min-width: 990px) {
  .u-display-block-pc {
    display: block;
  }
}

.u-fs-10 {
  font-size: 1rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-10 {
    font-size: 1rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-10 {
    font-size: 1rem !important;
  }
}
.u-fs-11 {
  font-size: 1.1rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-11 {
    font-size: 1.1rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-11 {
    font-size: 1.1rem !important;
  }
}
.u-fs-12 {
  font-size: 1.2rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-12 {
    font-size: 1.2rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-12 {
    font-size: 1.2rem !important;
  }
}
.u-fs-13 {
  font-size: 1.3rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-13 {
    font-size: 1.3rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-13 {
    font-size: 1.3rem !important;
  }
}
.u-fs-14 {
  font-size: 1.4rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-14 {
    font-size: 1.4rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-14 {
    font-size: 1.4rem !important;
  }
}
.u-fs-15 {
  font-size: 1.5rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-15 {
    font-size: 1.5rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-15 {
    font-size: 1.5rem !important;
  }
}
.u-fs-16 {
  font-size: 1.6rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-16 {
    font-size: 1.6rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-16 {
    font-size: 1.6rem !important;
  }
}
.u-fs-17 {
  font-size: 1.7rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-17 {
    font-size: 1.7rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-17 {
    font-size: 1.7rem !important;
  }
}
.u-fs-18 {
  font-size: 1.8rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-18 {
    font-size: 1.8rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-18 {
    font-size: 1.8rem !important;
  }
}
.u-fs-19 {
  font-size: 1.9rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-19 {
    font-size: 1.9rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-19 {
    font-size: 1.9rem !important;
  }
}
.u-fs-20 {
  font-size: 2rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-20 {
    font-size: 2rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-20 {
    font-size: 2rem !important;
  }
}
.u-fs-21 {
  font-size: 2.1rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-21 {
    font-size: 2.1rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-21 {
    font-size: 2.1rem !important;
  }
}
.u-fs-22 {
  font-size: 2.2rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-22 {
    font-size: 2.2rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-22 {
    font-size: 2.2rem !important;
  }
}
.u-fs-23 {
  font-size: 2.3rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-23 {
    font-size: 2.3rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-23 {
    font-size: 2.3rem !important;
  }
}
.u-fs-24 {
  font-size: 2.4rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-24 {
    font-size: 2.4rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-24 {
    font-size: 2.4rem !important;
  }
}
.u-fs-25 {
  font-size: 2.5rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-25 {
    font-size: 2.5rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-25 {
    font-size: 2.5rem !important;
  }
}
.u-fs-26 {
  font-size: 2.6rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-26 {
    font-size: 2.6rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-26 {
    font-size: 2.6rem !important;
  }
}
.u-fs-27 {
  font-size: 2.7rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-27 {
    font-size: 2.7rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-27 {
    font-size: 2.7rem !important;
  }
}
.u-fs-28 {
  font-size: 2.8rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-28 {
    font-size: 2.8rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-28 {
    font-size: 2.8rem !important;
  }
}
.u-fs-29 {
  font-size: 2.9rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-29 {
    font-size: 2.9rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-29 {
    font-size: 2.9rem !important;
  }
}
.u-fs-30 {
  font-size: 3rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-30 {
    font-size: 3rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-30 {
    font-size: 3rem !important;
  }
}
.u-fs-31 {
  font-size: 3.1rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-31 {
    font-size: 3.1rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-31 {
    font-size: 3.1rem !important;
  }
}
.u-fs-32 {
  font-size: 3.2rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-32 {
    font-size: 3.2rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-32 {
    font-size: 3.2rem !important;
  }
}
.u-fs-33 {
  font-size: 3.3rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-33 {
    font-size: 3.3rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-33 {
    font-size: 3.3rem !important;
  }
}
.u-fs-34 {
  font-size: 3.4rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-34 {
    font-size: 3.4rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-34 {
    font-size: 3.4rem !important;
  }
}
.u-fs-35 {
  font-size: 3.5rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-35 {
    font-size: 3.5rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-35 {
    font-size: 3.5rem !important;
  }
}
.u-fs-36 {
  font-size: 3.6rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-36 {
    font-size: 3.6rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-36 {
    font-size: 3.6rem !important;
  }
}
.u-fs-37 {
  font-size: 3.7rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-37 {
    font-size: 3.7rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-37 {
    font-size: 3.7rem !important;
  }
}
.u-fs-38 {
  font-size: 3.8rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-38 {
    font-size: 3.8rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-38 {
    font-size: 3.8rem !important;
  }
}
.u-fs-39 {
  font-size: 3.9rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-39 {
    font-size: 3.9rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-39 {
    font-size: 3.9rem !important;
  }
}
.u-fs-40 {
  font-size: 4rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-40 {
    font-size: 4rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-40 {
    font-size: 4rem !important;
  }
}
.u-fs-41 {
  font-size: 4.1rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-41 {
    font-size: 4.1rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-41 {
    font-size: 4.1rem !important;
  }
}
.u-fs-42 {
  font-size: 4.2rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-42 {
    font-size: 4.2rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-42 {
    font-size: 4.2rem !important;
  }
}
.u-fs-43 {
  font-size: 4.3rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-43 {
    font-size: 4.3rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-43 {
    font-size: 4.3rem !important;
  }
}
.u-fs-44 {
  font-size: 4.4rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-44 {
    font-size: 4.4rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-44 {
    font-size: 4.4rem !important;
  }
}
.u-fs-45 {
  font-size: 4.5rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-45 {
    font-size: 4.5rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-45 {
    font-size: 4.5rem !important;
  }
}
.u-fs-46 {
  font-size: 4.6rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-46 {
    font-size: 4.6rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-46 {
    font-size: 4.6rem !important;
  }
}
.u-fs-47 {
  font-size: 4.7rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-47 {
    font-size: 4.7rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-47 {
    font-size: 4.7rem !important;
  }
}
.u-fs-48 {
  font-size: 4.8rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-48 {
    font-size: 4.8rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-48 {
    font-size: 4.8rem !important;
  }
}
.u-fs-49 {
  font-size: 4.9rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-49 {
    font-size: 4.9rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-49 {
    font-size: 4.9rem !important;
  }
}
.u-fs-50 {
  font-size: 5rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-50 {
    font-size: 5rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-50 {
    font-size: 5rem !important;
  }
}
.u-fs-51 {
  font-size: 5.1rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-51 {
    font-size: 5.1rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-51 {
    font-size: 5.1rem !important;
  }
}
.u-fs-52 {
  font-size: 5.2rem !important;
}
@media screen and (max-width: 991px) {
  .u-fs-sp-52 {
    font-size: 5.2rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fs-pc-52 {
    font-size: 5.2rem !important;
  }
}

.u-fw-thin {
  font-weight: 100 !important;
}
.u-fw-extra-light {
  font-weight: 200 !important;
}
.u-fw-light {
  font-weight: 300 !important;
}
.u-fw-normal {
  font-weight: 400 !important;
}
.u-fw-medium {
  font-weight: 500 !important;
}
.u-fw-semi-bold {
  font-weight: 600 !important;
}
.u-fw-bold {
  font-weight: 700 !important;
}
.u-fw-extra-bold {
  font-weight: 800 !important;
}
.u-fw-black {
  font-weight: 900 !important;
}
@media screen and (max-width: 991px) {
  .u-fw-sp-normal {
    font-weight: 400 !important;
  }
}
@media screen and (max-width: 991px) {
  .u-fw-sp-bold {
    font-weight: 700 !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fw-pc-normal {
    font-weight: 400 !important;
  }
}
@media screen and (min-width: 990px) {
  .u-fw-pc-bold {
    font-weight: 700 !important;
  }
}

.u-ls-0 {
  letter-spacing: 0.025em;
}

.u-mt-1 {
  margin-top: 1rem !important;
}
@media screen and (max-width: 991px) {
  .u-mt-sp-1 {
    margin-top: 1rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-mt-pc-1 {
    margin-top: 1rem !important;
  }
}
.u-mt-2 {
  margin-top: 2rem !important;
}
@media screen and (max-width: 991px) {
  .u-mt-sp-2 {
    margin-top: 2rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-mt-pc-2 {
    margin-top: 2rem !important;
  }
}
.u-mt-3 {
  margin-top: 3rem !important;
}
@media screen and (max-width: 991px) {
  .u-mt-sp-3 {
    margin-top: 3rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-mt-pc-3 {
    margin-top: 3rem !important;
  }
}
.u-mt-4 {
  margin-top: 4rem !important;
}
@media screen and (max-width: 991px) {
  .u-mt-sp-4 {
    margin-top: 4rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-mt-pc-4 {
    margin-top: 4rem !important;
  }
}
.u-mt-5 {
  margin-top: 5rem !important;
}
@media screen and (max-width: 991px) {
  .u-mt-sp-5 {
    margin-top: 5rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-mt-pc-5 {
    margin-top: 5rem !important;
  }
}
.u-mt-6 {
  margin-top: 6rem !important;
}
@media screen and (max-width: 991px) {
  .u-mt-sp-6 {
    margin-top: 6rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-mt-pc-6 {
    margin-top: 6rem !important;
  }
}
.u-mt-7 {
  margin-top: 7rem !important;
}
@media screen and (max-width: 991px) {
  .u-mt-sp-7 {
    margin-top: 7rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-mt-pc-7 {
    margin-top: 7rem !important;
  }
}
.u-mt-8 {
  margin-top: 8rem !important;
}
@media screen and (max-width: 991px) {
  .u-mt-sp-8 {
    margin-top: 8rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-mt-pc-8 {
    margin-top: 8rem !important;
  }
}
.u-mt-9 {
  margin-top: 9rem !important;
}
@media screen and (max-width: 991px) {
  .u-mt-sp-9 {
    margin-top: 9rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-mt-pc-9 {
    margin-top: 9rem !important;
  }
}
.u-mt-10 {
  margin-top: 10rem !important;
}
@media screen and (max-width: 991px) {
  .u-mt-sp-10 {
    margin-top: 10rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-mt-pc-10 {
    margin-top: 10rem !important;
  }
}
.u-mt-11 {
  margin-top: 11rem !important;
}
@media screen and (max-width: 991px) {
  .u-mt-sp-11 {
    margin-top: 11rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-mt-pc-11 {
    margin-top: 11rem !important;
  }
}
.u-mt-12 {
  margin-top: 12rem !important;
}
@media screen and (max-width: 991px) {
  .u-mt-sp-12 {
    margin-top: 12rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-mt-pc-12 {
    margin-top: 12rem !important;
  }
}
.u-mt-none {
  margin-top: 0 !important;
}

.u-mb-1 {
  margin-bottom: 1rem !important;
}
@media screen and (max-width: 991px) {
  .u-mb-sp-1 {
    margin-bottom: 1rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-mb-pc-1 {
    margin-bottom: 1rem !important;
  }
}
@media screen and (max-width: 991px) {
  .u-mb-negative-sp-1 {
    margin-bottom: -1rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-mb-negative-pc-1 {
    margin-bottom: -1rem !important;
  }
}
.u-mb-2 {
  margin-bottom: 2rem !important;
}
@media screen and (max-width: 991px) {
  .u-mb-sp-2 {
    margin-bottom: 2rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-mb-pc-2 {
    margin-bottom: 2rem !important;
  }
}
@media screen and (max-width: 991px) {
  .u-mb-negative-sp-2 {
    margin-bottom: -2rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-mb-negative-pc-2 {
    margin-bottom: -2rem !important;
  }
}
.u-mb-3 {
  margin-bottom: 3rem !important;
}
@media screen and (max-width: 991px) {
  .u-mb-sp-3 {
    margin-bottom: 3rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-mb-pc-3 {
    margin-bottom: 3rem !important;
  }
}
@media screen and (max-width: 991px) {
  .u-mb-negative-sp-3 {
    margin-bottom: -3rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-mb-negative-pc-3 {
    margin-bottom: -3rem !important;
  }
}
.u-mb-4 {
  margin-bottom: 4rem !important;
}
@media screen and (max-width: 991px) {
  .u-mb-sp-4 {
    margin-bottom: 4rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-mb-pc-4 {
    margin-bottom: 4rem !important;
  }
}
@media screen and (max-width: 991px) {
  .u-mb-negative-sp-4 {
    margin-bottom: -4rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-mb-negative-pc-4 {
    margin-bottom: -4rem !important;
  }
}
.u-mb-5 {
  margin-bottom: 5rem !important;
}
@media screen and (max-width: 991px) {
  .u-mb-sp-5 {
    margin-bottom: 5rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-mb-pc-5 {
    margin-bottom: 5rem !important;
  }
}
@media screen and (max-width: 991px) {
  .u-mb-negative-sp-5 {
    margin-bottom: -5rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-mb-negative-pc-5 {
    margin-bottom: -5rem !important;
  }
}
.u-mb-6 {
  margin-bottom: 6rem !important;
}
@media screen and (max-width: 991px) {
  .u-mb-sp-6 {
    margin-bottom: 6rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-mb-pc-6 {
    margin-bottom: 6rem !important;
  }
}
@media screen and (max-width: 991px) {
  .u-mb-negative-sp-6 {
    margin-bottom: -6rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-mb-negative-pc-6 {
    margin-bottom: -6rem !important;
  }
}
.u-mb-7 {
  margin-bottom: 7rem !important;
}
@media screen and (max-width: 991px) {
  .u-mb-sp-7 {
    margin-bottom: 7rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-mb-pc-7 {
    margin-bottom: 7rem !important;
  }
}
@media screen and (max-width: 991px) {
  .u-mb-negative-sp-7 {
    margin-bottom: -7rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-mb-negative-pc-7 {
    margin-bottom: -7rem !important;
  }
}
.u-mb-8 {
  margin-bottom: 8rem !important;
}
@media screen and (max-width: 991px) {
  .u-mb-sp-8 {
    margin-bottom: 8rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-mb-pc-8 {
    margin-bottom: 8rem !important;
  }
}
@media screen and (max-width: 991px) {
  .u-mb-negative-sp-8 {
    margin-bottom: -8rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-mb-negative-pc-8 {
    margin-bottom: -8rem !important;
  }
}
.u-mb-9 {
  margin-bottom: 9rem !important;
}
@media screen and (max-width: 991px) {
  .u-mb-sp-9 {
    margin-bottom: 9rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-mb-pc-9 {
    margin-bottom: 9rem !important;
  }
}
@media screen and (max-width: 991px) {
  .u-mb-negative-sp-9 {
    margin-bottom: -9rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-mb-negative-pc-9 {
    margin-bottom: -9rem !important;
  }
}
.u-mb-10 {
  margin-bottom: 10rem !important;
}
@media screen and (max-width: 991px) {
  .u-mb-sp-10 {
    margin-bottom: 10rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-mb-pc-10 {
    margin-bottom: 10rem !important;
  }
}
@media screen and (max-width: 991px) {
  .u-mb-negative-sp-10 {
    margin-bottom: -10rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-mb-negative-pc-10 {
    margin-bottom: -10rem !important;
  }
}
.u-mb-none {
  margin-bottom: 0 !important;
}
.u-mb-0_5 {
  margin-bottom: 0.5rem !important;
}
.u-mb-1_5 {
  margin-bottom: 1.5rem !important;
}

.u-ol-roman {
  list-style-type: lower-roman;
}

.u-pb-1 {
  padding-bottom: 1rem !important;
}
@media screen and (max-width: 991px) {
  .u-pb-sp-1 {
    padding-bottom: 1rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pb-pc-1 {
    padding-bottom: 1rem !important;
  }
}
.u-pb-2 {
  padding-bottom: 2rem !important;
}
@media screen and (max-width: 991px) {
  .u-pb-sp-2 {
    padding-bottom: 2rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pb-pc-2 {
    padding-bottom: 2rem !important;
  }
}
.u-pb-3 {
  padding-bottom: 3rem !important;
}
@media screen and (max-width: 991px) {
  .u-pb-sp-3 {
    padding-bottom: 3rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pb-pc-3 {
    padding-bottom: 3rem !important;
  }
}
.u-pb-4 {
  padding-bottom: 4rem !important;
}
@media screen and (max-width: 991px) {
  .u-pb-sp-4 {
    padding-bottom: 4rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pb-pc-4 {
    padding-bottom: 4rem !important;
  }
}
.u-pb-5 {
  padding-bottom: 5rem !important;
}
@media screen and (max-width: 991px) {
  .u-pb-sp-5 {
    padding-bottom: 5rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pb-pc-5 {
    padding-bottom: 5rem !important;
  }
}
.u-pb-6 {
  padding-bottom: 6rem !important;
}
@media screen and (max-width: 991px) {
  .u-pb-sp-6 {
    padding-bottom: 6rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pb-pc-6 {
    padding-bottom: 6rem !important;
  }
}
.u-pb-7 {
  padding-bottom: 7rem !important;
}
@media screen and (max-width: 991px) {
  .u-pb-sp-7 {
    padding-bottom: 7rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pb-pc-7 {
    padding-bottom: 7rem !important;
  }
}
.u-pb-8 {
  padding-bottom: 8rem !important;
}
@media screen and (max-width: 991px) {
  .u-pb-sp-8 {
    padding-bottom: 8rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pb-pc-8 {
    padding-bottom: 8rem !important;
  }
}
.u-pb-9 {
  padding-bottom: 9rem !important;
}
@media screen and (max-width: 991px) {
  .u-pb-sp-9 {
    padding-bottom: 9rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pb-pc-9 {
    padding-bottom: 9rem !important;
  }
}
.u-pb-10 {
  padding-bottom: 10rem !important;
}
@media screen and (max-width: 991px) {
  .u-pb-sp-10 {
    padding-bottom: 10rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pb-pc-10 {
    padding-bottom: 10rem !important;
  }
}
.u-pb-none {
  padding-bottom: 0 !important;
}

.u-pl-1 {
  padding-left: 1rem !important;
}
@media screen and (max-width: 991px) {
  .u-pl-sp-1 {
    padding-left: 1rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pl-pc-1 {
    padding-left: 1rem !important;
  }
}
.u-pl-2 {
  padding-left: 2rem !important;
}
@media screen and (max-width: 991px) {
  .u-pl-sp-2 {
    padding-left: 2rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pl-pc-2 {
    padding-left: 2rem !important;
  }
}
.u-pl-3 {
  padding-left: 3rem !important;
}
@media screen and (max-width: 991px) {
  .u-pl-sp-3 {
    padding-left: 3rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pl-pc-3 {
    padding-left: 3rem !important;
  }
}
.u-pl-4 {
  padding-left: 4rem !important;
}
@media screen and (max-width: 991px) {
  .u-pl-sp-4 {
    padding-left: 4rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pl-pc-4 {
    padding-left: 4rem !important;
  }
}
.u-pl-5 {
  padding-left: 5rem !important;
}
@media screen and (max-width: 991px) {
  .u-pl-sp-5 {
    padding-left: 5rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pl-pc-5 {
    padding-left: 5rem !important;
  }
}
.u-pl-6 {
  padding-left: 6rem !important;
}
@media screen and (max-width: 991px) {
  .u-pl-sp-6 {
    padding-left: 6rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pl-pc-6 {
    padding-left: 6rem !important;
  }
}
.u-pl-7 {
  padding-left: 7rem !important;
}
@media screen and (max-width: 991px) {
  .u-pl-sp-7 {
    padding-left: 7rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pl-pc-7 {
    padding-left: 7rem !important;
  }
}
.u-pl-8 {
  padding-left: 8rem !important;
}
@media screen and (max-width: 991px) {
  .u-pl-sp-8 {
    padding-left: 8rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pl-pc-8 {
    padding-left: 8rem !important;
  }
}
.u-pl-9 {
  padding-left: 9rem !important;
}
@media screen and (max-width: 991px) {
  .u-pl-sp-9 {
    padding-left: 9rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pl-pc-9 {
    padding-left: 9rem !important;
  }
}
.u-pl-10 {
  padding-left: 10rem !important;
}
@media screen and (max-width: 991px) {
  .u-pl-sp-10 {
    padding-left: 10rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pl-pc-10 {
    padding-left: 10rem !important;
  }
}
.u-pl-none {
  padding-left: 0 !important;
}

.u-pr-1 {
  padding-right: 1rem !important;
}
@media screen and (max-width: 991px) {
  .u-pr-sp-1 {
    padding-right: 1rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pr-pc-1 {
    padding-right: 1rem !important;
  }
}
.u-pr-2 {
  padding-right: 2rem !important;
}
@media screen and (max-width: 991px) {
  .u-pr-sp-2 {
    padding-right: 2rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pr-pc-2 {
    padding-right: 2rem !important;
  }
}
.u-pr-3 {
  padding-right: 3rem !important;
}
@media screen and (max-width: 991px) {
  .u-pr-sp-3 {
    padding-right: 3rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pr-pc-3 {
    padding-right: 3rem !important;
  }
}
.u-pr-4 {
  padding-right: 4rem !important;
}
@media screen and (max-width: 991px) {
  .u-pr-sp-4 {
    padding-right: 4rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pr-pc-4 {
    padding-right: 4rem !important;
  }
}
.u-pr-5 {
  padding-right: 5rem !important;
}
@media screen and (max-width: 991px) {
  .u-pr-sp-5 {
    padding-right: 5rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pr-pc-5 {
    padding-right: 5rem !important;
  }
}
.u-pr-6 {
  padding-right: 6rem !important;
}
@media screen and (max-width: 991px) {
  .u-pr-sp-6 {
    padding-right: 6rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pr-pc-6 {
    padding-right: 6rem !important;
  }
}
.u-pr-7 {
  padding-right: 7rem !important;
}
@media screen and (max-width: 991px) {
  .u-pr-sp-7 {
    padding-right: 7rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pr-pc-7 {
    padding-right: 7rem !important;
  }
}
.u-pr-8 {
  padding-right: 8rem !important;
}
@media screen and (max-width: 991px) {
  .u-pr-sp-8 {
    padding-right: 8rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pr-pc-8 {
    padding-right: 8rem !important;
  }
}
.u-pr-9 {
  padding-right: 9rem !important;
}
@media screen and (max-width: 991px) {
  .u-pr-sp-9 {
    padding-right: 9rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pr-pc-9 {
    padding-right: 9rem !important;
  }
}
.u-pr-10 {
  padding-right: 10rem !important;
}
@media screen and (max-width: 991px) {
  .u-pr-sp-10 {
    padding-right: 10rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pr-pc-10 {
    padding-right: 10rem !important;
  }
}
.u-pr-none {
  padding-right: 0 !important;
}

.u-pt-1 {
  padding-top: 1rem !important;
}
@media screen and (max-width: 991px) {
  .u-pt-sp-1 {
    padding-top: 1rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pt-pc-1 {
    padding-top: 1rem !important;
  }
}
.u-pt-2 {
  padding-top: 2rem !important;
}
@media screen and (max-width: 991px) {
  .u-pt-sp-2 {
    padding-top: 2rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pt-pc-2 {
    padding-top: 2rem !important;
  }
}
.u-pt-3 {
  padding-top: 3rem !important;
}
@media screen and (max-width: 991px) {
  .u-pt-sp-3 {
    padding-top: 3rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pt-pc-3 {
    padding-top: 3rem !important;
  }
}
.u-pt-4 {
  padding-top: 4rem !important;
}
@media screen and (max-width: 991px) {
  .u-pt-sp-4 {
    padding-top: 4rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pt-pc-4 {
    padding-top: 4rem !important;
  }
}
.u-pt-5 {
  padding-top: 5rem !important;
}
@media screen and (max-width: 991px) {
  .u-pt-sp-5 {
    padding-top: 5rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pt-pc-5 {
    padding-top: 5rem !important;
  }
}
.u-pt-6 {
  padding-top: 6rem !important;
}
@media screen and (max-width: 991px) {
  .u-pt-sp-6 {
    padding-top: 6rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pt-pc-6 {
    padding-top: 6rem !important;
  }
}
.u-pt-7 {
  padding-top: 7rem !important;
}
@media screen and (max-width: 991px) {
  .u-pt-sp-7 {
    padding-top: 7rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pt-pc-7 {
    padding-top: 7rem !important;
  }
}
.u-pt-8 {
  padding-top: 8rem !important;
}
@media screen and (max-width: 991px) {
  .u-pt-sp-8 {
    padding-top: 8rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pt-pc-8 {
    padding-top: 8rem !important;
  }
}
.u-pt-9 {
  padding-top: 9rem !important;
}
@media screen and (max-width: 991px) {
  .u-pt-sp-9 {
    padding-top: 9rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pt-pc-9 {
    padding-top: 9rem !important;
  }
}
.u-pt-10 {
  padding-top: 10rem !important;
}
@media screen and (max-width: 991px) {
  .u-pt-sp-10 {
    padding-top: 10rem !important;
  }
}
@media screen and (min-width: 990px) {
  .u-pt-pc-10 {
    padding-top: 10rem !important;
  }
}
.u-pt-none {
  padding-top: 0 !important;
}

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

.u-ta-center {
  text-align: center !important;
}
.u-ta-left {
  text-align: left !important;
}
.u-ta-right {
  text-align: right !important;
}
.u-ta-justify {
  text-align: justify !important;
}
@media screen and (max-width: 991px) {
  .u-ta-sp-center {
    text-align: center !important;
  }
}
@media screen and (max-width: 991px) {
  .u-ta-sp-left {
    text-align: left !important;
  }
}
@media screen and (max-width: 991px) {
  .u-ta-sp-right {
    text-align: right !important;
  }
}
@media screen and (min-width: 990px) {
  .u-ta-pc-center {
    text-align: center !important;
  }
}
@media screen and (min-width: 990px) {
  .u-ta-pc-left {
    text-align: left !important;
  }
}
@media screen and (min-width: 990px) {
  .u-ta-pc-right {
    text-align: right !important;
  }
}
@media screen and (max-width: 991px) {
  .u-ta-sp-justify {
    text-align: justify !important;
  }
}
@media screen and (min-width: 990px) {
  .u-ta-pc-justify {
    text-align: justify !important;
  }
}

.u-ws-nowrap {
  white-space: nowrap !important;
}

.u-pos-absolute {
  position: absolute !important;
}

.u-whitespace-nowrap {
  white-space: nowrap !important;
}
.u-whitespace-normal {
  white-space: normal !important;
}
.u-whitespace-pre {
  white-space: pre !important;
}
.u-whitespace-pre-wrap {
  white-space: pre-wrap !important;
}
.u-whitespace-pre-line {
  white-space: pre-line !important;
}
@media screen and (max-width: 991px) {
  .u-whitespace-sp-nowrap {
    white-space: nowrap !important;
  }
}
@media screen and (max-width: 991px) {
  .u-whitespace-sp-normal {
    white-space: normal !important;
  }
}
@media screen and (max-width: 991px) {
  .u-whitespace-sp-pre {
    white-space: pre !important;
  }
}
@media screen and (max-width: 991px) {
  .u-whitespace-sp-pre-wrap {
    white-space: pre-wrap !important;
  }
}
@media screen and (max-width: 991px) {
  .u-whitespace-sp-pre-line {
    white-space: pre-line !important;
  }
}
@media screen and (min-width: 990px) {
  .u-whitespace-pc-nowrap {
    white-space: nowrap !important;
  }
}
@media screen and (min-width: 990px) {
  .u-whitespace-pc-normal {
    white-space: normal !important;
  }
}
@media screen and (min-width: 990px) {
  .u-whitespace-pc-pre {
    white-space: pre !important;
  }
}
@media screen and (min-width: 990px) {
  .u-whitespace-pc-pre-wrap {
    white-space: pre-wrap !important;
  }
}
@media screen and (min-width: 990px) {
  .u-whitespace-pc-pre-line {
    white-space: pre-line !important;
  }
}

.p-wysiwyg {
  font-size: 1.3rem;
}
@media screen and (min-width: 990px) {
  .p-wysiwyg {
    font-size: 1.5rem;
  }
}
.p-wysiwyg a {
  color: inherit;
  text-decoration: underline;
  font-weight: 500;
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-position: 100% 100%;
  background-repeat: no-repeat;
  background-size: 100% 1px;
  transition: background-size 0.5s;
  background-position: right bottom;
}
.touch-is-active .p-wysiwyg a.touched {
  animation: hoverlinelink 500ms linear;
}
.mouse-is-active .p-wysiwyg a:hover {
  animation: hoverlinelink 500ms linear;
}
.p-wysiwyg h1,
.p-wysiwyg h2,
.p-wysiwyg h3,
.p-wysiwyg h4,
.p-wysiwyg h5,
.p-wysiwyg h6 {
  letter-spacing: 0.1em;
}
.p-wysiwyg h1,
.p-wysiwyg .h1 {
  padding: 0.8rem 1.1rem;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.45;
  margin-block-start: 4rem;
  margin-block-end: 2rem;
}
@media screen and (min-width: 990px) {
  .p-wysiwyg h1,
  .p-wysiwyg .h1 {
    margin-block-start: 6rem;
    margin-block-end: 3rem;
    font-size: 2.4rem;
    line-height: 1.4583333333;
  }
}
.p-wysiwyg h1::before,
.p-wysiwyg .h1::before {
  display: none;
}
.p-wysiwyg h2,
.p-wysiwyg .h2 {
  position: relative;
  padding: 0 0 1.4rem;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4444444444;
  margin-block-start: 4rem;
  margin-block-end: 2rem;
  background-color: transparent;
  color: #000;
}
@media screen and (min-width: 990px) {
  .p-wysiwyg h2,
  .p-wysiwyg .h2 {
    margin-block-start: 6rem;
    margin-block-end: 3rem;
    padding: 0 0 1.6rem 0.5rem;
    font-size: 2.4rem;
    line-height: 1.4583333333;
  }
}
.p-wysiwyg h2::before,
.p-wysiwyg .h2::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.4rem;
  background: linear-gradient(to right, #0069c8 0, #0069c8 6rem, #222 6rem); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
.p-wysiwyg h3,
.p-wysiwyg .h3 {
  padding: 0 0 0 0.5em;
  border-left: 0.4rem solid #0069c8;
  font-size: 1.7rem;
  font-weight: bold;
  line-height: 1.4705882353;
  background-color: transparent;
  color: #000;
  margin-block-start: 4rem;
  margin-block-end: 2rem;
}
@media screen and (min-width: 990px) {
  .p-wysiwyg h3,
  .p-wysiwyg .h3 {
    margin-block-start: 6rem;
    margin-block-end: 2rem;
    font-size: 2.2rem;
    line-height: 1.4545454545;
  }
}
.p-wysiwyg h3::before,
.p-wysiwyg .h3::before {
  display: none;
}
.p-wysiwyg h4,
.p-wysiwyg .h4 {
  padding: 0 0 0.5em;
  border-bottom: 2px solid #222;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
  background-color: transparent;
  color: #000;
  margin-block-start: 4rem;
  margin-block-end: 2rem;
}
@media screen and (min-width: 990px) {
  .p-wysiwyg h4,
  .p-wysiwyg .h4 {
    margin-block-start: 6rem;
    margin-block-end: 2rem;
    padding: 0 0 1.4rem 0;
    font-size: 2rem;
    line-height: 1.45;
  }
}
.p-wysiwyg h4::before,
.p-wysiwyg .h4::before {
  display: none;
}
.p-wysiwyg h5,
.p-wysiwyg .h5 {
  padding: 0 0 0.5em;
  border-bottom: 2px solid #dbdbdb;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.7333333333;
  background-color: transparent;
  color: #000;
  margin-block-start: 4rem;
  margin-block-end: 2rem;
}
@media screen and (min-width: 990px) {
  .p-wysiwyg h5,
  .p-wysiwyg .h5 {
    margin-block-start: 6rem;
    margin-block-end: 2rem;
    padding: 0 0 1.4rem;
    font-size: 1.8rem;
    line-height: 1.4444444444;
  }
}
.p-wysiwyg h5::before,
.p-wysiwyg .h5::before {
  display: none;
}
.p-wysiwyg h6,
.p-wysiwyg .h6 {
  padding: 0;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5714285714;
  background-color: transparent;
  color: #000;
  margin-block-start: 4rem;
  margin-block-end: 0rem;
}
@media screen and (min-width: 990px) {
  .p-wysiwyg h6,
  .p-wysiwyg .h6 {
    margin-block-start: 6rem;
    margin-block-end: 0rem;
    font-size: 1.6rem;
  }
}
.p-wysiwyg h6::before,
.p-wysiwyg .h6::before {
  display: none;
}
.p-wysiwyg p {
  line-height: 2;
}
.p-wysiwyg figure {
  margin: 3rem 0;
}
.p-wysiwyg figure figcaption {
  font-size: 1.2rem;
}
@media screen and (min-width: 990px) {
  .p-wysiwyg figure figcaption {
    font-size: 1.4rem;
  }
}
.p-wysiwyg ul {
  padding: 0;
  margin: 3rem 0;
  display: flex;
  flex-direction: column;
  gap: 1.5rem 0;
  list-style: none;
}
.p-wysiwyg ul ul {
  margin-top: 1.5rem;
  margin-bottom: 0;
}
.p-wysiwyg ul ul li {
  padding: 0 0 0 1.2rem;
}
.p-wysiwyg ul ul li::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.7em;
  left: 0;
  width: 0.6rem;
  height: 0.6rem;
  border-radius: calc(infinity * 1px);
}
.p-wysiwyg ul li {
  position: relative;
  margin: 0;
  padding: 0 0 0 1.4rem;
  margin-left: 0 !important;
}
.p-wysiwyg ul li::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.6em;
  left: 0;
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
}
.p-wysiwyg ol {
  display: flex;
  flex-direction: column;
  gap: 1.5rem 0;
}
.p-wysiwyg ol ol,
.p-wysiwyg ol ul {
  margin: 1.5rem 0 0;
}
.p-wysiwyg ol li {
  margin: 0;
  margin-left: 0 !important;
}
.p-wysiwyg table {
  width: 100%;
}
.p-wysiwyg table caption {
  margin: 1rem 0;
  font-size: 1.2rem;
}
@media screen and (min-width: 990px) {
  .p-wysiwyg table caption {
    font-size: 1.4rem;
  }
}
.p-wysiwyg table caption:first-child {
  margin-top: 0;
}
.p-wysiwyg table caption:last-child {
  margin-bottom: 0;
}
.p-wysiwyg table thead {
  background-color: #000;
  border-bottom: 0 !important;
}
.p-wysiwyg table thead th {
  border: 1px solid #222;
  min-width: 10rem;
  padding: 1rem;
  color: #fff;
  white-space: nowrap;
}
.p-wysiwyg table tbody th,
.p-wysiwyg table tbody td {
  padding: 1rem;
  border: 1px solid #222;
}
@media screen and (min-width: 990px) {
  .p-wysiwyg table tbody th,
  .p-wysiwyg table tbody td {
    padding: 2rem;
  }
}
.p-wysiwyg table tbody th {
  border: 1px solid #fff;
  font-weight: 400;
  text-align: left;
  color: #fff;
}
.p-wysiwyg blockquote {
  margin: 3rem 0;
  position: relative;
  padding: 2rem 1.5rem 2rem 5rem;
  background: #fff !important;
  background-size: 2.4rem 2.1rem;
  line-height: 1.7142857143;
}
@media screen and (min-width: 990px) {
  .p-wysiwyg blockquote {
    padding: 3rem 4rem 3rem 7rem;
    background-position: 3rem 2rem;
    background-size: 3rem auto;
  }
}
.p-wysiwyg blockquote::before {
  content: "";
  display: block;
  position: absolute;
  top: 2rem;
  left: 1.5rem;
  width: 2.4rem;
  height: 2.1rem;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 21'%3E%3Cpath fill='%2378848b' d='M21.75 10.5H18v-3a3 3 0 0 1 3-3h.375A1.122 1.122 0 0 0 22.5 3.375v-2.25A1.122 1.122 0 0 0 21.375 0H21a7.5 7.5 0 0 0-7.5 7.5v11.25A2.251 2.251 0 0 0 15.75 21h6A2.251 2.251 0 0 0 24 18.75v-6a2.251 2.251 0 0 0-2.25-2.25Zm-13.5 0H4.5v-3a3 3 0 0 1 3-3h.375A1.122 1.122 0 0 0 9 3.375v-2.25A1.122 1.122 0 0 0 7.875 0H7.5A7.5 7.5 0 0 0 0 7.5v11.25A2.251 2.251 0 0 0 2.25 21h6a2.251 2.251 0 0 0 2.25-2.25v-6a2.251 2.251 0 0 0-2.25-2.25Z' data-name='Icon awesome-quote-left'/%3E%3C/svg%3E");
}
@media screen and (min-width: 990px) {
  .p-wysiwyg blockquote::before {
    width: 3rem;
    height: 2.625rem;
    left: 2rem;
    top: 3rem;
  }
}
.p-wysiwyg blockquote > *:first-child {
  margin-top: 0;
}
.p-wysiwyg blockquote p {
  margin: 0;
}
.p-wysiwyg blockquote cite {
  display: inline-block;
  margin: 2rem 0 0;
  font-size: 1.3rem;
  font-style: normal;
}
.p-wysiwyg blockquote cite a {
  color: #000;
}

.p-wysiwyg {
  letter-spacing: 0.1em;
}
.p-wysiwyg > *:first-child {
  margin-top: 0;
}
.p-wysiwyg > *:last-child {
  margin-bottom: 0;
}

.p-list-card {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
@media screen and (min-width: 990px) {
  .p-list-card {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 6rem 6rem;
  }
}

.p-ntwk {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
.p-ntwk__visual {
  margin: 0 -2rem;
}
@media screen and (min-width: 990px) {
  .p-ntwk__visual {
    margin: 1rem -1.5rem 0 1rem;
  }
}
.p-ntwk__visual-img {
  display: block;
  width: 100%;
}
.p-ntwk__main {
  display: grid;
  grid-template-columns: repeat(2, 21rem);
  gap: 0 5.1rem;
  padding: 1.8rem 0 0 2.5rem;
}
@media screen and (min-width: 990px) {
  .p-ntwk__main {
    grid-template-columns: repeat(2, 35rem);
    padding: 2rem 0 0 1rem;
    justify-content: center;
    gap: 0 12rem;
  }
}
.p-ntwk__col {
  display: flex;
  flex-direction: column;
  gap: 2.8rem;
}
.p-ntwk__title {
  font-size: 2.2rem;
  text-align: center;
  background-color: #ffffff;
  height: 4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 0;
  color: #000;
}
.p-ntwk__list {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.p-ntwk__item {
  padding: 0 0 0 1.8rem;
  margin: 0;
  position: relative;
  font-size: 2.2rem;
}
.p-ntwk__item::before {
  content: "・";
  display: block;
  position: absolute;
  left: 0;
}

.p-list-awards {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
@media screen and (min-width: 990px) {
  .p-list-awards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem 6rem;
  }
}
.p-list-awards__card {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media screen and (min-width: 990px) {
  .p-list-awards__card.-pc-wide {
    grid-column: span 2;
  }
}
.p-list-awards__visual {
  display: block;
}
.p-list-awards__visual-img {
  display: block;
  width: 100%;
}
.p-list-awards__title {
  font-size: 2.7rem;
  line-height: 1.5777777778;
  margin: 0;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 990px) {
  .p-list-awards__title {
    font-size: 2.8rem;
  }
  .p-list-awards__title:has(.p-list-awards__t-block) {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 6rem;
  }
}
.p-list-awards__t-block {
  display: block;
}

.p-page-header {
  background-color: #0069c8;
  color: #fff;
  overflow: hidden;
  padding: 5rem 0;
}
@media screen and (min-width: 990px) {
  .p-page-header {
    padding: 6rem 0;
  }
}
.p-page-header__title {
  font-size: 4.6rem;
  line-height: 1.3913043478;
  letter-spacing: 0.06em;
  text-align: center;
  margin: 0;
  font-weight: 500;
}
@media screen and (min-width: 990px) {
  .p-page-header__title {
    font-size: 5.2rem;
    line-height: 1.4285714286;
  }
}

.p-entry {
  padding: 3rem 0 4rem;
}
@media screen and (min-width: 990px) {
  .p-entry {
    padding: 5rem 0;
  }
}
.p-entry h2 {
  font-size: 2.2rem;
  line-height: 1.5454545455;
  color: #0069c8;
  margin: 1.25em 0 0.3em;
  font-weight: 500;
}
.p-entry p {
  font-size: 1.7rem;
  line-height: 2;
  margin: 0 0 1.5em;
  text-align: justify;
}
.p-entry a {
  text-decoration: underline;
  color: #0069c8;
}

.p-rcmd {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
@media screen and (min-width: 990px) {
  .p-rcmd {
    gap: 5rem;
    margin: 0 0 -1.3rem;
  }
}
.p-rcmd__title {
  font-size: 5rem;
  text-align: center;
  line-height: 1.2;
  margin: 0;
  font-weight: 500;
}
@media screen and (min-width: 990px) {
  .p-rcmd__title {
    font-size: 5.2rem;
    line-height: 1.2692307692;
  }
}
.p-rcmd__list {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 990px) {
  .p-rcmd__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5rem 5rem;
  }
}
.p-rcmd__item {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.p-rcmd__visual {
  display: block;
  width: 100%;
}
.p-rcmd__img {
  display: block;
  width: 100%;
}
.p-rcmd__label {
  display: block;
  font-size: 3.5rem;
  line-height: 1.1428571429;
  margin: 0;
  letter-spacing: 0.05em;
}
.p-rcmd__label.-nowrap {
  white-space: nowrap;
}

.p-pane {
  display: grid;
  width: 100%;
  position: relative;
}
.p-pane__main {
  position: relative;
  z-index: 2;
  grid-area: 1/-1;
  color: #fff;
  padding: 7rem 0;
}
@media screen and (min-width: 990px) {
  .p-pane__main {
    padding: 10rem 0;
  }
}
.p-pane__title {
  font-size: 4.8rem;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: 0.06em;
  margin: 0 0 0.16em;
}
@media screen and (min-width: 990px) {
  .p-pane__title {
    font-size: 5.2rem;
    line-height: 1.5;
    margin: 0 0 0.28em;
  }
}
.p-pane__txt {
  font-size: 2.4rem;
  line-height: 2;
  font-weight: 500;
  margin: 0;
}
@media screen and (min-width: 990px) {
  .p-pane__txt {
    font-size: 2.8rem;
    line-height: 1.9078571429;
  }
}
.p-pane__txt small {
  font-size: 1.5rem;
  display: block;
  margin: 1rem 0 0;
}
.p-pane__label {
  font-size: 2.2rem;
  text-align: center;
  border: 1px solid currentColor;
  border-radius: 0.4rem;
  height: 4.523rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 1.5rem 0;
}
@media screen and (min-width: 990px) {
  .p-pane__label {
    font-size: 5.1rem;
    height: 9.14rem;
    margin: 9rem 0 2rem;
    border-width: 2px;
    width: 62.3rem;
  }
}
.p-pane__bg {
  grid-area: 1/-1;
}
.p-pane__bg-img {
  display: block;
  width: 100%;
}
.p-pane.-f32-01 .p-pane__main {
  align-self: end;
}
@media screen and (min-width: 990px) {
  .p-pane.-f32-01 .p-pane__main {
    align-self: center;
  }
}
@media screen and (min-width: 990px) {
  .p-pane.-f32-01 .p-pane__content {
    width: 46rem;
    margin: 0 0 0 auto;
  }
}
.p-pane.-f32-02 {
  text-align: center;
}
@media screen and (min-width: 990px) {
  .p-pane.-f32-02 .p-pane__content {
    margin: 0 -10rem;
  }
}
.p-pane.-f32-03 {
  min-height: unset;
  background-color: #0069c8;
}
@media screen and (min-width: 990px) {
  .p-pane.-f32-03 {
    grid-template-columns: 1fr 1fr;
  }
}
.p-pane.-f32-03 .p-pane__main {
  grid-area: 1/1/2/2;
  padding: 5rem 0;
  text-align: center;
}
@media screen and (min-width: 990px) {
  .p-pane.-f32-03 .p-pane__main {
    grid-area: 1/1/2/2;
    text-align: left;
    align-self: center;
  }
}
@media screen and (min-width: 990px) {
  .p-pane.-f32-03 .p-pane__content {
    width: 45rem;
    margin: 0 8rem 0 auto;
  }
}
.p-pane.-f32-03 .p-pane__bg {
  grid-area: 2/1/3/2;
}
@media screen and (min-width: 990px) {
  .p-pane.-f32-03 .p-pane__bg {
    grid-area: 1/2/2/3;
  }
}
@media screen and (min-width: 990px) {
  .p-pane.-f32-04 .p-pane__main {
    align-self: center;
  }
}
@media screen and (min-width: 990px) {
  .p-pane.-f32-04 .p-pane__content {
    width: 68rem;
    margin: 0 -7rem 0 auto;
  }
}
.p-pane.-f43-01 {
  text-align: center;
}
.p-pane.-f43-02 .p-pane__main {
  align-self: end;
}
@media screen and (min-width: 990px) {
  .p-pane.-f43-02 .p-pane__main {
    align-self: center;
  }
}
@media screen and (min-width: 990px) {
  .p-pane.-f43-02 .p-pane__content {
    width: 68rem;
    margin: 0 0 0 auto;
  }
}
.p-pane.-f43-03 {
  text-align: center;
}
@media screen and (min-width: 990px) {
  .p-pane.-f43-03 {
    text-align: left;
  }
}
@media screen and (min-width: 990px) {
  .p-pane.-f43-03 .p-pane__main {
    align-self: center;
  }
}
@media screen and (min-width: 990px) {
  .p-pane.-f43-03 .p-pane__content {
    width: 53rem;
  }
}
.p-pane.-f43-04 {
  text-align: center;
}
@media screen and (min-width: 990px) {
  .p-pane.-f43-04 .p-pane__content {
    margin: 0 -10rem;
  }
}
.p-pane.-f43-05 .p-pane__main {
  padding: 5rem 0 0;
}
@media screen and (min-width: 990px) {
  .p-pane.-f43-05 .p-pane__main {
    align-self: center;
    padding: 0;
  }
}
@media screen and (min-width: 990px) {
  .p-pane.-f43-05 .p-pane__content {
    width: 48rem;
    margin: 0 0 0 auto;
  }
}
.p-pane.-f55-01 {
  text-align: center;
}
.p-pane.-f55-01 .p-pane__main {
  align-self: end;
}
@media screen and (min-width: 990px) {
  .p-pane.-f55-01 .p-pane__main {
    align-self: start;
  }
}
.p-pane.-f55-02 {
  text-align: center;
}
@media screen and (min-width: 990px) {
  .p-pane.-f55-02 {
    text-align: left;
  }
}
.p-pane.-f55-02 .p-pane__main {
  color: #000;
}
@media screen and (min-width: 990px) {
  .p-pane.-f55-02 .p-pane__main {
    align-self: center;
  }
}
@media screen and (min-width: 990px) {
  .p-pane.-f55-02 .p-pane__content {
    width: 43rem;
    margin: 0 0 0 auto;
  }
}
.p-pane.-f55-03 {
  text-align: center;
}
.p-pane.-f55-04 {
  text-align: center;
}
@media screen and (min-width: 990px) {
  .p-pane.-f55-04 {
    text-align: left;
  }
}
@media screen and (min-width: 990px) {
  .p-pane.-f55-04 .p-pane__main {
    align-self: center;
  }
}
.p-pane.-f55-04 .p-pane__content {
  margin: 0 -0.5rem;
}
@media screen and (min-width: 990px) {
  .p-pane.-f55-04 .p-pane__content {
    width: 52rem;
    margin: 0 0 0 -1.5rem;
  }
}
.p-pane.-f55-05 {
  text-align: center;
}
.p-pane.-f55-06 {
  text-align: center;
}
.p-pane.-f55-06 .p-pane__content {
  margin: 0 -0.7rem;
}
@media screen and (min-width: 990px) {
  .p-pane.-f55-06 .p-pane__content {
    margin: 0 -2.7rem;
  }
}
.p-pane.-f55-07 .p-pane__main {
  padding: 5rem 0 0;
}
@media screen and (min-width: 990px) {
  .p-pane.-f55-07 .p-pane__main {
    align-self: center;
    padding: 0;
  }
}
@media screen and (min-width: 990px) {
  .p-pane.-f55-07 .p-pane__content {
    width: 48rem;
    margin: 0 0 0 auto;
  }
}
.p-pane.-h24-01 {
  text-align: center;
}
@media screen and (min-width: 990px) {
  .p-pane.-h24-01 {
    text-align: left;
  }
}
.p-pane.-h24-01 .p-pane__main {
  color: #000;
}
@media screen and (min-width: 990px) {
  .p-pane.-h24-01 .p-pane__main {
    align-self: center;
  }
}
.p-pane.-h24-01 .p-pane__content {
  padding: 0 1rem;
}
@media screen and (min-width: 990px) {
  .p-pane.-h24-01 .p-pane__content {
    width: 58.5rem;
    margin: 0 0 0 auto;
  }
}
.p-pane.-h24-02 {
  text-align: center;
}
@media screen and (min-width: 990px) {
  .p-pane.-h24-02 {
    text-align: left;
  }
}
.p-pane.-h24-02 .p-pane__c-img-wrap {
  margin: 50.8rem 0 0;
}
@media screen and (min-width: 990px) {
  .p-pane.-h24-02 .p-pane__c-img-wrap {
    margin: 2.8rem 0 0;
  }
}
.p-pane.-h24-02 .p-pane__main {
  color: #000;
}
@media screen and (min-width: 990px) {
  .p-pane.-h24-02 .p-pane__main {
    align-self: center;
  }
}
.p-pane.-h24-02 .p-pane__content {
  padding: 0 2rem;
}
@media screen and (min-width: 990px) {
  .p-pane.-h24-02 .p-pane__content {
    width: 57.5rem;
    margin: 0 auto 0 0;
  }
}
.p-pane.-h24-03 {
  text-align: center;
}
@media screen and (min-width: 990px) {
  .p-pane.-h24-03 {
    text-align: left;
  }
}
.p-pane.-h24-03 .p-pane__main {
  color: #000;
}
@media screen and (min-width: 990px) {
  .p-pane.-h24-03 .p-pane__main {
    align-self: center;
  }
}
.p-pane.-h24-03 .p-pane__content {
  padding: 0 1rem;
}
@media screen and (min-width: 990px) {
  .p-pane.-h24-03 .p-pane__content {
    width: 58.5rem;
    margin: 0 0 0 auto;
  }
}
.p-pane.-h24-04 {
  text-align: center;
}
@media screen and (min-width: 990px) {
  .p-pane.-h24-04 {
    text-align: left;
  }
}
.p-pane.-h24-04 .p-pane__main {
  color: #000;
}
@media screen and (min-width: 990px) {
  .p-pane.-h24-04 .p-pane__main {
    align-self: center;
  }
}
.p-pane.-h24-04 .p-pane__content {
  padding: 0 1rem;
}
@media screen and (min-width: 990px) {
  .p-pane.-h24-04 .p-pane__content {
    width: 39.5rem;
    margin: 0 auto 0 0;
  }
}
.p-pane.-h24-05 {
  text-align: center;
}
.p-pane.-h24-05 .p-pane__main {
  color: #000;
}
.p-pane.-h24-05 .p-pane__content {
  padding: 0;
}
.p-pane.-h24-06 {
  min-height: unset;
  background-color: #0069c8;
}
@media screen and (min-width: 990px) {
  .p-pane.-h24-06 {
    grid-template-columns: 1fr 1fr;
  }
}
.p-pane.-h24-06 .p-pane__main {
  grid-area: 1/1/2/2;
  padding: 5rem 0;
  text-align: center;
}
@media screen and (min-width: 990px) {
  .p-pane.-h24-06 .p-pane__main {
    grid-area: 1/2/2/3;
    text-align: left;
    align-self: center;
  }
}
@media screen and (min-width: 990px) {
  .p-pane.-h24-06 .p-pane__content {
    width: 49.5rem;
    margin: 0 auto 0 8rem;
  }
}
.p-pane.-h24-06 .p-pane__bg {
  grid-area: 2/1/3/2;
}
@media screen and (min-width: 990px) {
  .p-pane.-h24-06 .p-pane__bg {
    grid-area: 1/1/2/2;
  }
}
.p-pane.-ggl {
  min-height: unset;
}

.p-srch__title {
  font-size: 4.8rem;
  text-align: center;
  letter-spacing: 0.03em;
  line-height: 1.5441666667;
  margin: 0 0 2rem;
}
@media screen and (min-width: 990px) {
  .p-srch__title {
    font-size: 5.2rem;
    line-height: 1.4253846154;
    margin: 0 0 2rem;
  }
}
.p-srch__txt {
  font-size: 2.4rem;
  line-height: 1.6666666667;
  margin: 0 0 3.5rem;
}
@media screen and (min-width: 990px) {
  .p-srch__txt {
    font-size: 2.8rem;
    line-height: 1.7857142857;
    margin: 0 0 4.5rem;
    text-align: center;
  }
}
.p-srch__row {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 3.6rem;
}
@media screen and (min-width: 990px) {
  .p-srch__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7rem;
  }
}
.p-srch__card {
  display: block;
}
.p-srch__visual {
  display: block;
  aspect-ratio: 528/368;
  padding: 0;
  margin: 0 0 3.6rem;
}
@media screen and (min-width: 990px) {
  .p-srch__visual {
    margin: 0 0 4.8rem;
  }
}
.p-srch__v-img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-srch__c-title {
  font-size: 3.6rem;
  line-height: 1.3333333333;
  letter-spacing: 0.05em;
  margin: 0 0 0.8rem;
}
@media screen and (min-width: 990px) {
  .p-srch__c-title {
    font-size: 3.8rem;
    margin: 0 0 1.4rem;
  }
}
.p-srch__c-dscr {
  font-size: 2.4rem;
  line-height: 1.6666666667;
  letter-spacing: 0.05em;
  margin: 0;
}
@media screen and (min-width: 990px) {
  .p-srch__c-dscr {
    font-size: 2.7rem;
    line-height: 1.6296296296;
    letter-spacing: 0.03em;
  }
}

.p-spks {
  display: grid;
  gap: 0.8rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
@media screen and (min-width: 990px) {
  .p-spks {
    gap: 1.5rem;
  }
}
.p-spks__visual {
  width: 100%;
  margin: 2rem 0 6rem;
}
@media screen and (min-width: 990px) {
  .p-spks__visual {
    margin: 3rem 0 5rem;
  }
}
.p-spks__visual img {
  width: 100%;
  height: auto;
  display: block;
}
@media screen and (min-width: 990px) {
  .p-spks__visual.-sp {
    display: none;
  }
}
.p-spks__visual.-pc {
  display: none;
}
@media screen and (min-width: 990px) {
  .p-spks__visual.-pc {
    display: block;
  }
}
.p-spks__title {
  font-size: 4.8rem;
  text-align: center;
  letter-spacing: 0.03em;
  line-height: 1.5441666667;
  margin: 0 0 2rem;
}
@media screen and (min-width: 990px) {
  .p-spks__title {
    font-size: 5.2rem;
    line-height: 1.4253846154;
    margin: 0 0 2rem;
  }
}
.p-spks__table {
  font-weight: 500;
  width: 100%;
}
.p-spks__thead {
  width: 100%;
}
.p-spks__thead .p-spks__th {
  font-size: 2.1rem;
  text-align: center;
  line-height: 1.4285714286;
  background-color: #e5e5e5;
  padding: 0.95rem 1rem;
  font-weight: 500;
}
@media screen and (min-width: 990px) {
  .p-spks__thead .p-spks__th {
    font-size: 2.47rem;
    line-height: 1.5;
    padding: 1.2rem 1.6rem;
  }
}
.p-spks__tbody {
  width: 100%;
}
.p-spks__tbody .p-spks__th {
  background-color: #dbdbdb;
}
.p-spks__tbody .p-spks__th span {
  writing-mode: vertical-rl;
  width: 4.25rem;
  white-space: nowrap;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 1.572rem;
  font-weight: 500;
}
@media screen and (min-width: 990px) {
  .p-spks__tbody .p-spks__th span {
    font-size: 1.852rem;
    width: 5rem;
    line-height: 1.5118790497;
  }
}
.p-spks__tbody .p-spks__th span span {
  writing-mode: horizontal-tb;
  letter-spacing: -0.05em;
  line-height: 1.2;
  height: auto;
}
.p-spks__tbody .p-spks__th.-dark {
  background-color: #c7c8c8;
}
.p-spks__tbody .p-spks__tr {
  background-color: #fbfcfc;
}
.p-spks__tbody .p-spks__tr:nth-child(2n) {
  background-color: #eee;
}
.p-spks__s-th {
  white-space: nowrap;
}
.p-spks__s-th, .p-spks__td {
  font-size: 1.572rem;
  line-height: 1.5267175573;
  padding: 0.6rem 1rem 0.6rem 1.6rem;
  font-weight: 500;
  text-align: left;
  vertical-align: top;
}
@media screen and (min-width: 990px) {
  .p-spks__s-th, .p-spks__td {
    font-size: 1.852rem;
    padding: 0.72rem 1rem 0.72rem 1.6rem;
    line-height: 1.5118790497;
  }
}
.p-spks__td {
  word-break: auto-phrase;
  width: 100%;
}
.p-spks__td-span {
  display: block;
}
.p-spks__td-span:not(:last-child) {
  margin-bottom: 0.5em;
}
@media screen and (min-width: 990px) {
  .p-spks__td-span:not(:last-child) {
    margin-bottom: 0.2em;
  }
}
.p-spks__note {
  margin: 0.5rem 0 1rem;
  font-size: 1.5rem;
  line-height: 1.7333333333;
}
@media screen and (min-width: 990px) {
  .p-spks__note {
    margin: 3.5rem 0;
  }
}