@charset "UTF-8";/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.css */

/* Reset box-model and set borders */
/* ============================================ */

*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  min-width: 0;
}

/* Document */
/* ============================================ */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */

dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
  -webkit-text-decoration: none;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */

/**
 * Prevent vertical alignment issues.
 */

svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */

/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */

button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none; /* 1 */
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */
}

/**
 * Correct cursors for clickable elements.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  cursor: pointer;
}

button:disabled,
[type="button"]:disabled,
[type="reset"]:disabled,
[type="submit"]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */

:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */

option {
  padding: 0;
}

/**
 * Reset to invisible
 */

fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

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

/**
 * Correct the outline style in Safari.
 */

[type="search"] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Fix appearance for Firefox
 */
[type="number"] {
  -moz-appearance: textfield;
}

/**
 * Clickable labels
 */

label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */

[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */

/**
1. Correct table border color inheritance in all Chrome and Safari.
*/

table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

/* =====================
  configuration setting
===================== */
/* easeInOutCirc */
/*!
 * Generated using the Bootstrap Customizer (https://getbootstrap.com/docs/3.4/customize/)
 */
/*!
 * Bootstrap v3.4.1 (https://getbootstrap.com/)
 * Copyright 2011-2019 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
img {
  vertical-align: middle;
}

.img-responsive {
  display: block;
  max-width: 100%;
  height: auto;
}

hr {
  width: 100%;
  border: 0;
  border-top: 1px solid #eeeeee;
}

.visible-xs,
.visible-sm,
.visible-md,
.visible-pc,
.visible-lg {
  display: none !important;
}

.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
  display: none !important;
}

@media (max-width: 767px) {
  .visible-xs {
    display: block !important;
  }
  table.visible-xs {
    display: table !important;
  }
  tr.visible-xs {
    display: table-row !important;
  }
  th.visible-xs,
  td.visible-xs {
    display: table-cell !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-block {
    display: block !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline {
    display: inline !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm {
    display: block !important;
  }
  table.visible-sm {
    display: table !important;
  }
  tr.visible-sm {
    display: table-row !important;
  }
  th.visible-sm,
  td.visible-sm {
    display: table-cell !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-block {
    display: block !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline {
    display: inline !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 992px) and (max-width: 1519px) {
  .visible-md {
    display: block !important;
  }
  table.visible-md {
    display: table !important;
  }
  tr.visible-md {
    display: table-row !important;
  }
  th.visible-md,
  td.visible-md {
    display: table-cell !important;
  }
}
@media (min-width: 992px) and (max-width: 1519px) {
  .visible-md-block {
    display: block !important;
  }
}
@media (min-width: 992px) and (max-width: 1519px) {
  .visible-md-inline {
    display: inline !important;
  }
}
@media (min-width: 992px) and (max-width: 1519px) {
  .visible-md-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 992px) {
  .visible-pc {
    display: block !important;
  }
  table.visible-pc {
    display: table !important;
  }
  tr.visible-pc {
    display: table-row !important;
  }
  th.visible-pc,
  td.visible-pc {
    display: table-cell !important;
  }
}
@media (min-width: 1520px) {
  .visible-lg {
    display: block !important;
  }
  table.visible-lg {
    display: table !important;
  }
  tr.visible-lg {
    display: table-row !important;
  }
  th.visible-lg,
  td.visible-lg {
    display: table-cell !important;
  }
}
@media (min-width: 1520px) {
  .visible-lg-block {
    display: block !important;
  }
}
@media (min-width: 1520px) {
  .visible-lg-inline {
    display: inline !important;
  }
}
@media (min-width: 1520px) {
  .visible-lg-inline-block {
    display: inline-block !important;
  }
}
@media (max-width: 767px) {
  .hidden-xs {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important;
  }
}
@media (min-width: 992px) and (max-width: 1519px) {
  .hidden-md {
    display: none !important;
  }
}
@media (min-width: 992px) {
  .hidden-pc {
    display: none !important;
  }
}
@media (min-width: 1520px) {
  .hidden-lg {
    display: none !important;
  }
}
.visible-print {
  display: none !important;
}

@media print {
  .visible-print {
    display: block !important;
  }
  table.visible-print {
    display: table !important;
  }
  tr.visible-print {
    display: table-row !important;
  }
  th.visible-print,
  td.visible-print {
    display: table-cell !important;
  }
}
.visible-print-block {
  display: none !important;
}

@media print {
  .visible-print-block {
    display: block !important;
  }
}
.visible-print-inline {
  display: none !important;
}

@media print {
  .visible-print-inline {
    display: inline !important;
  }
}
.visible-print-inline-block {
  display: none !important;
}

@media print {
  .visible-print-inline-block {
    display: inline-block !important;
  }
}
@media print {
  .hidden-print {
    display: none !important;
  }
}
/*=====================
  common
===================== */
:root {
  --primary-color: #00a5da;
}

html {
  font-size: min(3.8647342995vw, 24px);
}
@media print, screen and (min-width: 992px) {
  html {
    font-size: max(11px, min(1vw, 15.2px));
  }
}
@media print {
  html {
    font-size: max(11px, min(1vw, 15.2px));
  }
}

html,
body,
.popup-modal {
  font-optical-sizing: auto;
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", "YakuHanJP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 500;
  line-height: 1.8;
  color: #132c41;
  word-wrap: break-word;
  word-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  letter-spacing: 0.05em;
  text-rendering: optimizeLegibility;
  font-feature-settings: "palt";
}
@media print, screen and (min-width: 992px) {
  html,
  body,
  .popup-modal {
    line-height: 2;
  }
}
@media print {
  html,
  body,
  .popup-modal {
    line-height: 2;
  }
}

@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
  [id] {
    scroll-margin-top: 3.5rem;
  }
}
@media print and (prefers-reduced-motion: no-preference), screen and (prefers-reduced-motion: no-preference) and (min-width: 992px) {
  [id] {
    scroll-margin-top: 4rem;
  }
}
@media print and (prefers-reduced-motion: no-preference) {
  [id] {
    scroll-margin-top: 4rem;
  }
}
body {
  position: relative;
  padding-top: 3.5rem;
}
@media print, screen and (min-width: 992px) {
  body {
    padding-top: 6rem;
  }
}
@media print {
  body {
    padding-top: 6rem;
  }
}
@media print, screen and (min-width: 992px) {
  body.--home {
    padding-top: 2.5rem;
  }
}
@media print {
  body.--home {
    padding-top: 2.5rem;
  }
}

@media print {
  a[href]:after {
    content: "" !important;
  }
  abbr[title]:after {
    content: "" !important;
  }
}
h1,
h2,
h3,
h4,
h5,
p {
  margin: 0;
}

*:focus {
  outline: none;
}

.page-wrapper {
  display: flex;
  flex-flow: column;
  min-height: 100vh;
  font-size: 1rem;
  background-color: #f0f2f6;
  background-image: url("../images/noise.png");
  background-size: 240px auto;
}
@media print, screen and (min-width: 992px) {
  .page-wrapper {
    font-size: 1.125rem;
  }
}
@media print {
  .page-wrapper {
    font-size: 1.125rem;
  }
}
.page-wrapper__main {
  flex: 1;
}

.align-right {
  display: flex;
  width: 100%;
  justify-content: flex-end;
}

.text-link {
  color: #132c41;
  -webkit-text-decoration: underline;
  text-decoration: underline;
}

@media print {
  /**
   * Bootstrap Print v1.0.0 (https://github.com/onocom/bootstrap-print)
   * Copyright (c) 2017 Ono Takashi
   * Licensed under MIT (https://github.com/onocom/bootstrap-print/blob/master/LICENSE)
   */
  @page {
    margin: 0 !important;
  }
  * {
    -webkit-print-color-adjust: exact !important;
    background-attachment: scroll !important;
    background-attachment: initial !important;
    overflow-y: visible !important;
  }
  html {
    overflow: visible !important;
    zoom: 0.7 !important;
  }
  body {
    margin: 0 auto;
    width: 1120px;
    min-width: 1120px !important;
    padding-bottom: 0px !important;
  }
  .container-fluid,
  .container {
    min-width: 1090px !important;
  }
  .row {
    margin-left: -15px !important;
    margin-right: -15px !important;
  }
  .dl-horizontal dt {
    float: left;
    width: 160px;
    overflow: hidden;
    clear: left;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .dl-horizontal dd {
    margin-left: 180px;
  }
  .form-inline .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .form-inline .form-control-static {
    display: inline-block;
  }
  .form-inline .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .form-inline .input-group .input-group-addon,
  .form-inline .input-group .input-group-btn,
  .form-inline .input-group .form-control {
    width: auto;
  }
  .form-inline .input-group > .form-control {
    width: 100%;
  }
  .form-inline .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio,
  .form-inline .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio label,
  .form-inline .checkbox label {
    padding-left: 0;
  }
  .form-inline .radio input[type=radio],
  .form-inline .checkbox input[type=checkbox] {
    position: relative;
    margin-left: 0;
  }
  .form-inline .has-feedback .form-control-feedback {
    top: 0;
  }
  .form-horizontal .control-label {
    padding-top: 7px;
    margin-bottom: 0;
    text-align: right;
  }
  .form-horizontal .form-group-lg .control-label {
    padding-top: 11px;
    font-size: 18px;
  }
  .form-horizontal .form-group-sm .control-label {
    padding-top: 6px;
    font-size: 12px;
  }
  .navbar-header {
    float: left;
  }
  .navbar-right .dropdown-menu {
    right: 0;
    left: auto;
  }
  .navbar-right .dropdown-menu-left {
    right: auto;
    left: 0;
  }
  .navbar {
    border-radius: 0;
  }
  .navbar-collapse {
    width: auto;
    border-top: 0;
    box-shadow: none;
  }
  .navbar-collapse.collapse {
    display: block;
    height: auto;
    padding-bottom: 0;
    overflow: visible;
  }
  .navbar-collapse.in {
    overflow-y: visible;
  }
  .nav-justified {
    width: 100%;
  }
  .nav-justified > li {
    float: none;
  }
  .nav-justified > .dropdown .dropdown-menu {
    top: auto;
    left: auto;
  }
  .nav-justified > li {
    display: table-cell;
    width: 1%;
  }
  .nav-justified > li > a {
    margin-bottom: 0;
  }
  .navbar-fixed-top,
  .navbar-fixed-bottom {
    position: static;
  }
  .navbar-fixed-top .navbar-collapse,
  .navbar-static-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    padding-right: 0;
    padding-left: 0;
  }
  .container > .navbar-header,
  .container-fluid > .navbar-header,
  .container > .navbar-collapse,
  .container-fluid > .navbar-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .navbar-static-top {
    border-radius: 0;
  }
  .navbar-fixed-top,
  .navbar-fixed-bottom {
    border-radius: 0;
  }
  .navbar > .container .navbar-brand,
  .navbar > .container-fluid .navbar-brand {
    margin-left: -15px;
  }
  .navbar-toggle {
    display: none;
  }
  .navbar-nav {
    float: left;
    margin: 0;
  }
  .navbar-nav > li {
    float: left;
  }
  .navbar-nav > li > a {
    padding-top: 15px;
    padding-bottom: 15px;
  }
  .navbar-form .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .navbar-form .form-control-static {
    display: inline-block;
  }
  .navbar-form .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .navbar-form .input-group .input-group-addon,
  .navbar-form .input-group .input-group-btn,
  .navbar-form .input-group .form-control {
    width: auto;
  }
  .navbar-form .input-group > .form-control {
    width: 100%;
  }
  .navbar-form .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio,
  .navbar-form .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio label,
  .navbar-form .checkbox label {
    padding-left: 0;
  }
  .navbar-form .radio input[type=radio],
  .navbar-form .checkbox input[type=checkbox] {
    position: relative;
    margin-left: 0;
  }
  .navbar-form .has-feedback .form-control-feedback {
    top: 0;
  }
  .navbar-text {
    float: left;
    margin-right: 15px;
    margin-left: 15px;
  }
  .navbar-left {
    float: left;
  }
  .navbar-right {
    float: right;
    margin-right: -15px;
  }
  .navbar-right ~ .navbar-right {
    margin-right: 0;
  }
  .jumbotron {
    padding-top: 48px;
    padding-bottom: 48px;
  }
  .container .jumbotron,
  .container-fluid .jumbotron {
    padding-right: 60px;
    padding-left: 60px;
  }
  .jumbotron h1,
  .jumbotron .h1 {
    font-size: 63px;
  }
  .modal-dialog {
    width: 700px;
    margin: 30px auto;
  }
  .modal-content {
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
  }
  .modal-sm {
    width: 300px;
  }
  .modal-lg {
    width: 900px;
  }
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-prev,
  .carousel-control .icon-next {
    width: 30px;
    height: 30px;
    margin-top: -10px;
    font-size: 30px;
  }
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .icon-prev {
    margin-left: -10px;
  }
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-next {
    margin-right: -10px;
  }
  .carousel-caption {
    right: 20%;
    left: 20%;
    padding-bottom: 30px;
  }
  .carousel-indicators {
    bottom: 20px;
  }
  .visible-xs,
  .visible-sm,
  .visible-md {
    display: none !important;
  }
  .visible-lg {
    display: block !important;
  }
  .visible-xs-block,
  .visible-xs-inline,
  .visible-xs-inline-block,
  .visible-sm-block,
  .visible-sm-inline,
  .visible-sm-inline-block,
  .visible-md-block,
  .visible-md-inline,
  .visible-md-inline-block {
    display: none !important;
  }
  .visible-lg-block,
  .visible-lg-inline,
  .visible-lg-inline-block {
    display: block !important;
  }
  .hidden-xs,
  .hidden-sm,
  .hidden-md {
    display: block !important;
  }
  .hidden-lg {
    display: none !important;
  }
  .navbar-offcanvas {
    position: relative;
    display: block;
    width: auto;
    max-width: none;
    left: auto;
    top: auto;
  }
}
.youtube {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.youtube iframe,
.youtube object,
.youtube embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

.gmap, .gmap--hide-detail {
  position: relative;
  padding-bottom: 50%;
  height: 0;
  overflow: hidden;
  border-radius: 0.5rem;
  border: 2px solid #fff;
}
@media print, screen and (min-width: 992px) {
  .gmap, .gmap--hide-detail {
    padding-bottom: 35rem;
    border-radius: 1.5rem;
  }
}
@media print {
  .gmap, .gmap--hide-detail {
    padding-bottom: 35rem;
    border-radius: 1.5rem;
  }
}
.gmap iframe, .gmap--hide-detail iframe,
.gmap object,
.gmap--hide-detail object,
.gmap embed,
.gmap--hide-detail embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}
.gmap--hide-detail iframe,
.gmap--hide-detail object,
.gmap--hide-detail embed {
  height: calc(100% + 300px);
  top: -150px;
  bottom: 0;
}

.fotorama {
  overflow: visible;
  max-width: 60rem;
}
.fotorama-wrap {
  display: flex;
  width: 100%;
  justify-content: center;
}
.fotorama__stage {
  margin-bottom: 1rem;
}
.fotorama__caption {
  width: 100%;
}
.fotorama__caption__wrap {
  width: 100%;
  text-align: center;
}
.fotorama__thumb-border {
  border-color: #132c41;
  border-width: 1px !important;
}

.iframe-wrapper {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.iframe-wrapper iframe,
.iframe-wrapper object,
.iframe-wrapper embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
  margin: 0;
}

.grecaptcha-badge {
  visibility: hidden;
}

.lightcaseImage-contentInner {
  background-color: #fff;
}

.common-title {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
@media print, screen and (min-width: 992px) {
  .common-title {
    gap: 0.5rem;
  }
}
@media print {
  .common-title {
    gap: 0.5rem;
  }
}
.common-title__en {
  color: #00a5da;
  line-height: 1.25;
  font-family: "Manrope", sans-serif;
  font-weight: 700;
  font-size: 1rem;
}
@media print, screen and (min-width: 992px) {
  .common-title__en {
    font-size: 1.25rem;
  }
}
@media print {
  .common-title__en {
    font-size: 1.25rem;
  }
}
.common-title__ja {
  line-height: 1.25;
  font-weight: 500;
  font-size: 1.75rem;
}
@media print, screen and (min-width: 992px) {
  .common-title__ja {
    font-size: 2.5rem;
  }
}
@media print {
  .common-title__ja {
    font-size: 2.5rem;
  }
}
.common-title__ja--sm {
  line-height: 1.25;
  font-weight: 500;
  font-size: 1.5rem;
}
@media print, screen and (min-width: 992px) {
  .common-title__ja--sm {
    font-size: 1.75rem;
  }
}
@media print {
  .common-title__ja--sm {
    font-size: 1.75rem;
  }
}

.common-h2, .editor-content h1, .editor-content h2, .editor-content--sm h1, .editor-content--sm h2, .common-h2--center {
  display: flex;
  flex-direction: column;
  gap: 0;
  align-items: flex-start;
  line-height: 1.25;
}
.common-h2--center {
  text-align: center;
  align-items: center;
}
.common-h2__en {
  position: relative;
  font-family: "Manrope", sans-serif;
  font-weight: 700;
  color: #00a5da;
  font-size: 0.9375rem;
  letter-spacing: 0.05em;
}
@media print, screen and (min-width: 992px) {
  .common-h2__en {
    font-size: 1.125rem;
  }
}
@media print {
  .common-h2__en {
    font-size: 1.125rem;
  }
}
.common-h2__en > span {
  position: relative;
  z-index: 10;
}
.common-h2__ja {
  font-family: "Zen Maru Gothic", "Zen Kaku Gothic New", "Noto Sans JP", "YakuHanJP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 400;
  font-size: 1.75rem;
}
@media print, screen and (min-width: 992px) {
  .common-h2__ja {
    font-size: 2.5rem;
  }
}
@media print {
  .common-h2__ja {
    font-size: 2.5rem;
  }
}

.common-h3, .editor-content h3, .editor-content--sm h3,
.common-h4,
.editor-content h4,
.editor-content--sm h4 {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  padding-left: 1em;
  padding-top: 0.15em;
  padding-bottom: 0.15em;
  line-height: 1.5;
  font-weight: 500;
  font-size: 1.375rem;
  align-items: baseline;
  gap: 0.5em;
}
@media print, screen and (min-width: 992px) {
  .common-h3, .editor-content h3, .editor-content--sm h3,
  .common-h4,
  .editor-content h4,
  .editor-content--sm h4 {
    font-size: 2rem;
  }
}
@media print {
  .common-h3, .editor-content h3, .editor-content--sm h3,
  .common-h4,
  .editor-content h4,
  .editor-content--sm h4 {
    font-size: 2rem;
  }
}
.common-h3::before, .editor-content h3::before, .editor-content--sm h3::before,
.common-h4::before,
.editor-content h4::before,
.editor-content--sm h4::before {
  position: absolute;
  display: block;
  content: " ";
  left: 0;
  top: 0;
  bottom: 0;
  border-radius: 1em;
  width: 0.1875rem;
  background-color: #00a5da;
  background-color: var(--primary-color, #00a5da);
}
@media print, screen and (min-width: 992px) {
  .common-h3::before, .editor-content h3::before, .editor-content--sm h3::before,
  .common-h4::before,
  .editor-content h4::before,
  .editor-content--sm h4::before {
    width: 0.25rem;
  }
}
@media print {
  .common-h3::before, .editor-content h3::before, .editor-content--sm h3::before,
  .common-h4::before,
  .editor-content h4::before,
  .editor-content--sm h4::before {
    width: 0.25rem;
  }
}

.common-h4, .editor-content h4, .editor-content--sm h4 {
  font-size: 1.125rem;
}
@media print, screen and (min-width: 992px) {
  .common-h4, .editor-content h4, .editor-content--sm h4 {
    font-size: 1.5rem;
  }
}
@media print {
  .common-h4, .editor-content h4, .editor-content--sm h4 {
    font-size: 1.5rem;
  }
}

.common-h5, .editor-content h5, .editor-content--sm h5 {
  position: relative;
  display: flex;
  flex-direction: column;
  padding-left: 1em;
  line-height: 1.5;
  font-weight: 500;
  font-size: 1.125rem;
}
@media print, screen and (min-width: 992px) {
  .common-h5, .editor-content h5, .editor-content--sm h5 {
    font-size: 1.25rem;
  }
}
@media print {
  .common-h5, .editor-content h5, .editor-content--sm h5 {
    font-size: 1.25rem;
  }
}
.common-h5 > span, .editor-content h5 > span, .editor-content--sm h5 > span {
  flex: 1;
}
.common-h5::before, .editor-content h5::before, .editor-content--sm h5::before {
  position: absolute;
  display: block;
  content: " ";
  left: 0;
  top: 1em;
  border-radius: 50%;
  font-size: 0.5em;
  width: 1em;
  height: 1em;
  border: 3px solid #00a5da;
  border: 3px solid var(--primary-color, #00a5da);
}
@media print, screen and (min-width: 992px) {
  .common-h5::before, .editor-content h5::before, .editor-content--sm h5::before {
    border-color: 5px;
  }
}
@media print {
  .common-h5::before, .editor-content h5::before, .editor-content--sm h5::before {
    border-color: 5px;
  }
}

.common-h6, .editor-content h6, .editor-content--sm h6 {
  font-weight: 500;
  font-size: 0.875rem;
}
@media print, screen and (min-width: 992px) {
  .common-h6, .editor-content h6, .editor-content--sm h6 {
    font-size: 1.0625rem;
  }
}
@media print {
  .common-h6, .editor-content h6, .editor-content--sm h6 {
    font-size: 1.0625rem;
  }
}

.min-title, .min-title--white {
  position: relative;
  letter-spacing: 0.05em;
  font-size: 1rem;
  gap: 0.5em;
  color: #00a5da;
  line-height: 1.25;
  display: flex;
  align-items: center;
}
@media print, screen and (min-width: 992px) {
  .min-title, .min-title--white {
    font-size: 1.125rem;
  }
}
@media print {
  .min-title, .min-title--white {
    font-size: 1.125rem;
  }
}
.min-title--white {
  color: #fff;
}
.min-title::before, .min-title--white::before {
  position: relative;
  display: block;
  content: " ";
  width: 1em;
  height: 1px;
  background-color: currentColor;
}

.number-title {
  display: flex;
  gap: 0.5em;
  align-items: baseline;
  line-height: 1.5;
  font-weight: 500;
  font-size: 1.5rem;
  padding-bottom: 0.25em;
  border-bottom: 1px solid #00a5da;
}
@media print, screen and (min-width: 992px) {
  .number-title {
    font-size: 2rem;
  }
}
@media print {
  .number-title {
    font-size: 2rem;
  }
}
.number-title__number {
  font-size: 125%;
  font-family: "Manrope", sans-serif;
  font-weight: 700;
  font-weight: 700;
  color: #00a5da;
  font-style: italic;
}
@media print, screen and (min-width: 992px) {
  .number-title__number {
    font-size: 150%;
  }
}
@media print {
  .number-title__number {
    font-size: 150%;
  }
}
.number-title__text {
  flex: 1;
}

.box-title {
  line-height: 1.5;
  font-weight: 500;
  display: flex;
  font-size: 1.125rem;
}
@media print, screen and (min-width: 992px) {
  .box-title {
    font-size: 1.5rem;
  }
}
@media print {
  .box-title {
    font-size: 1.5rem;
  }
}
.box-title > span {
  background-color: #00a5da;
  color: #fff;
  font-weight: 500;
  padding: 0em 0.5em;
}

.center-title {
  text-align: center;
  line-height: 1.5;
  font-weight: 500;
  font-size: 1.25rem;
}
@media print, screen and (min-width: 992px) {
  .center-title {
    font-size: 1.5rem;
  }
}
@media print {
  .center-title {
    font-size: 1.5rem;
  }
}

.common-titleLabel, .common-titleLabel--sm {
  position: relative;
  line-height: 1.5;
  display: flex;
  align-items: flex-start;
  width: 100%;
  font-weight: 700;
  font-size: 1rem;
}
@media print, screen and (min-width: 992px) {
  .common-titleLabel, .common-titleLabel--sm {
    font-size: 1.125rem;
  }
}
@media print {
  .common-titleLabel, .common-titleLabel--sm {
    font-size: 1.125rem;
  }
}
.common-titleLabel--sm {
  font-size: 0.875rem;
}
@media print, screen and (min-width: 992px) {
  .common-titleLabel--sm {
    font-size: 1rem;
  }
}
@media print {
  .common-titleLabel--sm {
    font-size: 1rem;
  }
}
.common-titleLabel > span, .common-titleLabel--sm > span {
  color: #fff;
  background-color: #00a5da;
  background-color: var(--primary-color, #00a5da);
  padding: 0.25em 1.5em 0.25em 1em;
  border-radius: 0 999em 999em 0;
}

.label-title {
  position: relative;
  line-height: 1.25;
  font-weight: 500;
  font-size: 1.125rem;
  background-color: #fff;
  border-radius: 999em;
  padding: 0.25em 1em;
}
@media print, screen and (min-width: 992px) {
  .label-title {
    font-size: 1.25rem;
  }
}
@media print {
  .label-title {
    font-size: 1.25rem;
  }
}
.label-title > span {
  flex: 1;
}

/* =====================
  editor(WYSIWYG)
===================== */
table .editor-content {
  line-height: 1.5;
  font-size: 0.625rem;
}
@media print, screen and (min-width: 768px) {
  table .editor-content {
    font-size: 0.8125rem;
  }
}
@media print {
  table .editor-content {
    font-size: 0.8125rem;
  }
}
table .editor-content p {
  margin: 0;
}

.editor-content {
  word-break: break-all;
  font-size: 0.9rem;
  font-size: 1rem;
}
@media print, screen and (min-width: 992px) {
  .editor-content {
    font-size: 1.15rem;
  }
}
@media print {
  .editor-content {
    font-size: 1.15rem;
  }
}
.editor-content * {
  word-wrap: break-word;
  word-wrap: break-word;
  min-width: 0;
  max-width: 100%;
}
.editor-content button,
.editor-content input,
.editor-content select,
.editor-content textarea {
  font-size: 100%;
  font-weight: 500;
  line-height: 1.66;
}
.editor-content h1,
.editor-content h2,
.editor-content h3,
.editor-content h4,
.editor-content h5,
.editor-content h6 {
  line-height: 1.5;
  font-weight: 700;
  margin-top: 2.5em;
}
.editor-content h1:first-child,
.editor-content h2:first-child,
.editor-content h3:first-child,
.editor-content h4:first-child,
.editor-content h5:first-child,
.editor-content h6:first-child,
.editor-content p:first-child {
  margin-top: 0;
}
.editor-content h1 {
  font-size: 1.75rem;
}
@media print, screen and (min-width: 992px) {
  .editor-content h1 {
    font-size: 3rem;
  }
}
@media print {
  .editor-content h1 {
    font-size: 3rem;
  }
}
.editor-content a {
  color: #00a5da;
  -webkit-text-decoration: underline;
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  .editor-content a {
    transition: all 0.25s ease;
  }
  .editor-content a:hover {
    color: rgb(14, 196.4082568807, 255);
  }
}
@media (hover: hover) and (pointer: fine) {
  .editor-content .btn:hover {
    color: #fff;
  }
}
@media (hover: hover) and (pointer: fine) {
  .editor-content a img {
    transition: all 0.25s ease;
  }
  .editor-content a img:hover {
    opacity: 0.65;
  }
}
.editor-content img {
  display: block;
  height: auto;
  max-width: 100%;
  margin-top: 1em;
  margin-bottom: 1em;
}
.editor-content img.alignright {
  display: block;
  margin-left: auto;
}
.editor-content img.alignleft {
  display: block;
  margin-right: auto;
}
.editor-content img.aligncenter {
  display: block;
  margin: 1em auto;
}
.editor-content p,
.editor-content table,
.editor-content img,
.editor-content ul,
.editor-content ol,
.editor-content > div {
  margin-top: 1.5em;
}
.editor-content p > img:first-child {
  margin-top: 0;
}
.editor-content dfn,
.editor-content cite,
.editor-content em,
.editor-content i {
  font-style: italic;
}
.editor-content blockquote {
  color: #666;
  background-color: #f7f7f7;
  font-size: 0.875rem;
  font-style: italic;
  line-height: 1.7;
  margin: 0;
  overflow: hidden;
  padding: 0.5em;
  padding-left: 1.5em;
}
@media print, screen and (min-width: 768px) {
  .editor-content blockquote {
    font-size: 15px;
  }
}
@media print {
  .editor-content blockquote {
    font-size: 15px;
  }
}
.editor-content blockquote.alignleft,
.editor-content blockquote.alignright {
  font-size: 0.875rem;
  width: 34%;
}
.editor-content address {
  margin: 0 0 1.5em;
}
.editor-content pre {
  background: #f7f7f7;
  line-height: 1.5;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}
.editor-content code,
.editor-content kbd,
.editor-content tt,
.editor-content var {
  font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}
.editor-content abbr,
.editor-content acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}
.editor-content mark,
.editor-content ins {
  background: #eee;
  -webkit-text-decoration: none;
  text-decoration: none;
}
.editor-content big {
  font-size: 125%;
}
.editor-content dl dt {
  font-weight: 700;
}
.editor-content blockquote,
.editor-content q {
  quotes: "" "";
}
.editor-content blockquote:before,
.editor-content blockquote:after,
.editor-content q:before,
.editor-content q:after {
  content: "";
}
.editor-content hr {
  background-color: #bbb;
  border: 0;
  height: 1px;
  margin-bottom: 1em;
}
.editor-content ul,
.editor-content ol {
  margin-left: 1em;
  margin-top: 1em;
  margin-bottom: 1em;
  padding: 0;
}
.editor-content ul {
  list-style: disc;
}
.editor-content ol h1,
.editor-content ol h2,
.editor-content ol h3,
.editor-content ol h4,
.editor-content ol h5,
.editor-content ol h6 {
  border: none;
  padding: 0;
}
.editor-content ol h3 {
  font-weight: 700;
  font-size: 1rem;
}
@media print, screen and (min-width: 768px) {
  .editor-content ol h3 {
    font-size: 1.125rem;
  }
}
@media print {
  .editor-content ol h3 {
    font-size: 1.125rem;
  }
}
.editor-content ol h4 {
  font-weight: 700;
  font-size: 0.9375rem;
}
@media print, screen and (min-width: 768px) {
  .editor-content ol h4 {
    font-size: 1rem;
  }
}
@media print {
  .editor-content ol h4 {
    font-size: 1rem;
  }
}
.editor-content li > ul,
.editor-content li > ol {
  margin-bottom: 1em;
  margin-left: 1em;
}
.editor-content li ol {
  font-size: 90%;
}
.editor-content li ol li {
  margin-bottom: 0.5em;
}
.editor-content table {
  font-size: 0.6875rem;
}
@media print, screen and (min-width: 768px) {
  .editor-content table {
    font-size: 1rem;
  }
}
@media print {
  .editor-content table {
    font-size: 1rem;
  }
}
.editor-content .iframe {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.editor-content .iframe iframe,
.editor-content .iframe object,
.editor-content .iframe embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
  margin: 0;
}
.editor-content embed,
.editor-content iframe,
.editor-content object {
  margin-top: 2em;
  max-width: 100%;
}
.editor-content strong {
  font-weight: 700;
}
.editor-content em {
  font-style: italic;
}
.editor-content blockquote {
  display: block;
  -webkit-margin-before: 1em;
  -webkit-margin-after: 1em;
  -webkit-margin-start: 40px;
  -webkit-margin-end: 40px;
}
.editor-content #toc_container {
  margin-top: 1em;
  background-color: #f3f3f3;
  border-radius: 4px;
  padding: 16px;
  border: none;
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 8px;
  font-size: 0.8125rem;
}
@media print, screen and (min-width: 768px) {
  .editor-content #toc_container {
    padding: 24px;
    font-size: 1rem;
  }
}
@media print {
  .editor-content #toc_container {
    padding: 24px;
    font-size: 1rem;
  }
}
.editor-content #toc_container .toc_title {
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 2;
  opacity: 0.4;
  text-align: left;
}
.editor-content #toc_container .toc_depth_1 {
  display: inline-flex;
  margin-right: 0.5em;
}
.editor-content #toc_container .toc_depth_1::after {
  position: relative;
  display: block;
  content: ".";
}
.editor-content #toc_container .toc_list {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  width: 100%;
  flex-direction: column;
}
.editor-content #toc_container .toc_list li {
  padding: 8px;
  border: none;
  background-image: linear-gradient(90deg, #ddd 25%, transparent 25%);
  background-position: 0 bottom;
  background-repeat: repeat-x;
  background-size: 8px 2px;
}
.editor-content #toc_container .toc_list li a {
  color: #132c41;
}
@media (hover: hover) and (pointer: fine) {
  .editor-content #toc_container .toc_list li a {
    transition: all 0.25s ease;
  }
  .editor-content #toc_container .toc_list li a:hover {
    color: #00a5da;
    -webkit-text-decoration: none;
    text-decoration: none;
  }
}
.editor-content--sm {
  word-break: break-all;
  font-size: 0.9rem;
  font-size: 0.8rem;
}
@media print, screen and (min-width: 992px) {
  .editor-content--sm {
    font-size: 1.15rem;
  }
}
@media print {
  .editor-content--sm {
    font-size: 1.15rem;
  }
}
.editor-content--sm * {
  word-wrap: break-word;
  word-wrap: break-word;
  min-width: 0;
  max-width: 100%;
}
.editor-content--sm button,
.editor-content--sm input,
.editor-content--sm select,
.editor-content--sm textarea {
  font-size: 100%;
  font-weight: 500;
  line-height: 1.66;
}
.editor-content--sm h1,
.editor-content--sm h2,
.editor-content--sm h3,
.editor-content--sm h4,
.editor-content--sm h5,
.editor-content--sm h6 {
  line-height: 1.5;
  font-weight: 700;
  margin-top: 2.5em;
}
.editor-content--sm h1:first-child,
.editor-content--sm h2:first-child,
.editor-content--sm h3:first-child,
.editor-content--sm h4:first-child,
.editor-content--sm h5:first-child,
.editor-content--sm h6:first-child,
.editor-content--sm p:first-child {
  margin-top: 0;
}
.editor-content--sm h1 {
  font-size: 1.75rem;
}
@media print, screen and (min-width: 992px) {
  .editor-content--sm h1 {
    font-size: 3rem;
  }
}
@media print {
  .editor-content--sm h1 {
    font-size: 3rem;
  }
}
.editor-content--sm a {
  color: #00a5da;
  -webkit-text-decoration: underline;
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  .editor-content--sm a {
    transition: all 0.25s ease;
  }
  .editor-content--sm a:hover {
    color: rgb(14, 196.4082568807, 255);
  }
}
@media (hover: hover) and (pointer: fine) {
  .editor-content--sm .btn:hover {
    color: #fff;
  }
}
@media (hover: hover) and (pointer: fine) {
  .editor-content--sm a img {
    transition: all 0.25s ease;
  }
  .editor-content--sm a img:hover {
    opacity: 0.65;
  }
}
.editor-content--sm img {
  display: block;
  height: auto;
  max-width: 100%;
  margin-top: 1em;
  margin-bottom: 1em;
}
.editor-content--sm img.alignright {
  display: block;
  margin-left: auto;
}
.editor-content--sm img.alignleft {
  display: block;
  margin-right: auto;
}
.editor-content--sm img.aligncenter {
  display: block;
  margin: 1em auto;
}
.editor-content--sm p,
.editor-content--sm table,
.editor-content--sm img,
.editor-content--sm ul,
.editor-content--sm ol,
.editor-content--sm > div {
  margin-top: 1.5em;
}
.editor-content--sm p > img:first-child {
  margin-top: 0;
}
.editor-content--sm dfn,
.editor-content--sm cite,
.editor-content--sm em,
.editor-content--sm i {
  font-style: italic;
}
.editor-content--sm blockquote {
  color: #666;
  background-color: #f7f7f7;
  font-size: 0.875rem;
  font-style: italic;
  line-height: 1.7;
  margin: 0;
  overflow: hidden;
  padding: 0.5em;
  padding-left: 1.5em;
}
@media print, screen and (min-width: 768px) {
  .editor-content--sm blockquote {
    font-size: 15px;
  }
}
@media print {
  .editor-content--sm blockquote {
    font-size: 15px;
  }
}
.editor-content--sm blockquote.alignleft,
.editor-content--sm blockquote.alignright {
  font-size: 0.875rem;
  width: 34%;
}
.editor-content--sm address {
  margin: 0 0 1.5em;
}
.editor-content--sm pre {
  background: #f7f7f7;
  line-height: 1.5;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}
.editor-content--sm code,
.editor-content--sm kbd,
.editor-content--sm tt,
.editor-content--sm var {
  font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}
.editor-content--sm abbr,
.editor-content--sm acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}
.editor-content--sm mark,
.editor-content--sm ins {
  background: #eee;
  -webkit-text-decoration: none;
  text-decoration: none;
}
.editor-content--sm big {
  font-size: 125%;
}
.editor-content--sm dl dt {
  font-weight: 700;
}
.editor-content--sm blockquote,
.editor-content--sm q {
  quotes: "" "";
}
.editor-content--sm blockquote:before,
.editor-content--sm blockquote:after,
.editor-content--sm q:before,
.editor-content--sm q:after {
  content: "";
}
.editor-content--sm hr {
  background-color: #bbb;
  border: 0;
  height: 1px;
  margin-bottom: 1em;
}
.editor-content--sm ul,
.editor-content--sm ol {
  margin-left: 1em;
  margin-top: 1em;
  margin-bottom: 1em;
  padding: 0;
}
.editor-content--sm ul {
  list-style: disc;
}
.editor-content--sm ol h1,
.editor-content--sm ol h2,
.editor-content--sm ol h3,
.editor-content--sm ol h4,
.editor-content--sm ol h5,
.editor-content--sm ol h6 {
  border: none;
  padding: 0;
}
.editor-content--sm ol h3 {
  font-weight: 700;
  font-size: 1rem;
}
@media print, screen and (min-width: 768px) {
  .editor-content--sm ol h3 {
    font-size: 1.125rem;
  }
}
@media print {
  .editor-content--sm ol h3 {
    font-size: 1.125rem;
  }
}
.editor-content--sm ol h4 {
  font-weight: 700;
  font-size: 0.9375rem;
}
@media print, screen and (min-width: 768px) {
  .editor-content--sm ol h4 {
    font-size: 1rem;
  }
}
@media print {
  .editor-content--sm ol h4 {
    font-size: 1rem;
  }
}
.editor-content--sm li > ul,
.editor-content--sm li > ol {
  margin-bottom: 1em;
  margin-left: 1em;
}
.editor-content--sm li ol {
  font-size: 90%;
}
.editor-content--sm li ol li {
  margin-bottom: 0.5em;
}
.editor-content--sm table {
  font-size: 0.6875rem;
}
@media print, screen and (min-width: 768px) {
  .editor-content--sm table {
    font-size: 1rem;
  }
}
@media print {
  .editor-content--sm table {
    font-size: 1rem;
  }
}
.editor-content--sm .iframe {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.editor-content--sm .iframe iframe,
.editor-content--sm .iframe object,
.editor-content--sm .iframe embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
  margin: 0;
}
.editor-content--sm embed,
.editor-content--sm iframe,
.editor-content--sm object {
  margin-top: 2em;
  max-width: 100%;
}
.editor-content--sm strong {
  font-weight: 700;
}
.editor-content--sm em {
  font-style: italic;
}
.editor-content--sm blockquote {
  display: block;
  -webkit-margin-before: 1em;
  -webkit-margin-after: 1em;
  -webkit-margin-start: 40px;
  -webkit-margin-end: 40px;
}
.editor-content--sm #toc_container {
  margin-top: 1em;
  background-color: #f3f3f3;
  border-radius: 4px;
  padding: 16px;
  border: none;
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 8px;
  font-size: 0.8125rem;
}
@media print, screen and (min-width: 768px) {
  .editor-content--sm #toc_container {
    padding: 24px;
    font-size: 1rem;
  }
}
@media print {
  .editor-content--sm #toc_container {
    padding: 24px;
    font-size: 1rem;
  }
}
.editor-content--sm #toc_container .toc_title {
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 2;
  opacity: 0.4;
  text-align: left;
}
.editor-content--sm #toc_container .toc_depth_1 {
  display: inline-flex;
  margin-right: 0.5em;
}
.editor-content--sm #toc_container .toc_depth_1::after {
  position: relative;
  display: block;
  content: ".";
}
.editor-content--sm #toc_container .toc_list {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  width: 100%;
  flex-direction: column;
}
.editor-content--sm #toc_container .toc_list li {
  padding: 8px;
  border: none;
  background-image: linear-gradient(90deg, #ddd 25%, transparent 25%);
  background-position: 0 bottom;
  background-repeat: repeat-x;
  background-size: 8px 2px;
}
.editor-content--sm #toc_container .toc_list li a {
  color: #132c41;
}
@media (hover: hover) and (pointer: fine) {
  .editor-content--sm #toc_container .toc_list li a {
    transition: all 0.25s ease;
  }
  .editor-content--sm #toc_container .toc_list li a:hover {
    color: #00a5da;
    -webkit-text-decoration: none;
    text-decoration: none;
  }
}

.child-block {
  margin-top: 1.5rem;
}
@media print, screen and (min-width: 768px) {
  .child-block {
    margin-top: 2.5rem;
  }
}
@media print {
  .child-block {
    margin-top: 2.5rem;
  }
}
.child-block:first-child {
  margin-top: 0;
}
.child-block--xs {
  margin-top: 0.25rem;
}
@media print, screen and (min-width: 768px) {
  .child-block--xs {
    margin-top: 0.5rem;
  }
}
@media print {
  .child-block--xs {
    margin-top: 0.5rem;
  }
}
.child-block--xs:first-child {
  margin-top: 0;
}
.child-block--sm {
  margin-top: 1rem;
}
@media print, screen and (min-width: 768px) {
  .child-block--sm {
    margin-top: 1.5rem;
  }
}
@media print {
  .child-block--sm {
    margin-top: 1.5rem;
  }
}
.child-block--sm:first-child {
  margin-top: 0;
}
.child-block--lg {
  margin-top: 2.5rem;
}
@media print, screen and (min-width: 768px) {
  .child-block--lg {
    margin-top: 5rem;
  }
}
@media print {
  .child-block--lg {
    margin-top: 5rem;
  }
}
.child-block--lg:first-child {
  margin-top: 0;
}
.child-block--xl {
  margin-top: 4rem;
}
@media print, screen and (min-width: 768px) {
  .child-block--xl {
    margin-top: 7.5rem;
  }
}
@media print {
  .child-block--xl {
    margin-top: 7.5rem;
  }
}
.child-block--xl:first-child {
  margin-top: 0;
}

.inview-up[data-inview] {
  transition: opacity 0.8s ease 0.35s, transform 0.8s ease 0.4s;
}
.inview-up[data-inview=false] {
  opacity: 0;
  transform: translate(0, 40px);
}
.inview-up[data-inview=true] {
  opacity: 1;
  transform: translate(0, 0);
}

/* easeInOutCirc */
.inview-clip[data-inview] {
  will-change: clip-path;
}
.inview-clip[data-inview=false] {
  clip-path: inset(0 0 0 100%);
  transform: translate(60px, 0);
}
.inview-clip[data-inview=true] {
  transition: clip-path 1.2s cubic-bezier(0.445, 0.05, 0.255, 0.985), transform 0.8s ease 0.3s;
  clip-path: inset(0 0 0 0);
  transform: translate(0, 0);
}

.inview-scale[data-inview] {
  transition: transform 1.25s ease, filter 0.75s ease;
}
.inview-scale[data-inview=false] {
  transform: scale(1.1);
  filter: brightness(200%);
}
.inview-scale[data-inview=true] {
  transform: scale(1);
  filter: brightness(100%);
}

.card-list, .card-list--lg, .card-list--sm, .card-list--xs {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
@media print, screen and (min-width: 992px) {
  .card-list, .card-list--lg, .card-list--sm, .card-list--xs {
    gap: 2.5rem 2.5rem;
  }
}
@media print {
  .card-list, .card-list--lg, .card-list--sm, .card-list--xs {
    gap: 2.5rem 2.5rem;
  }
}
.card-list--xs {
  gap: 1rem 0.5rem;
}
@media print, screen and (min-width: 992px) {
  .card-list--xs {
    gap: 1.5rem 2.5rem;
  }
}
@media print {
  .card-list--xs {
    gap: 1.5rem 2.5rem;
  }
}
.card-list--xs .card-list__item {
  width: calc(50% - 0.25rem);
}
@media print, screen and (min-width: 992px) {
  .card-list--xs .card-list__item {
    width: calc(25% - 1.875rem);
  }
}
@media print {
  .card-list--xs .card-list__item {
    width: calc(25% - 1.875rem);
  }
}
.card-list--sm {
  gap: 1rem 0.5rem;
}
@media print, screen and (min-width: 992px) {
  .card-list--sm {
    gap: 1.5rem 2.5rem;
  }
}
@media print {
  .card-list--sm {
    gap: 1.5rem 2.5rem;
  }
}
.card-list--sm .card-list__item {
  width: calc(50% - 0.25rem);
}
@media print, screen and (min-width: 992px) {
  .card-list--sm .card-list__item {
    width: calc(33.333% - 1.875rem);
  }
}
@media print {
  .card-list--sm .card-list__item {
    width: calc(33.333% - 1.875rem);
  }
}
@media print, screen and (min-width: 992px) {
  .card-list--lg .card-list__item {
    width: calc(50% - 1.25rem);
  }
}
@media print {
  .card-list--lg .card-list__item {
    width: calc(50% - 1.25rem);
  }
}
.card-list__item {
  display: flex;
  padding: 0;
  margin: 0;
  width: calc(50% - 0.5rem);
}
@media print, screen and (min-width: 992px) {
  .card-list__item {
    width: calc(33.333% - 1.875rem);
  }
}
@media print {
  .card-list__item {
    width: calc(33.333% - 1.875rem);
  }
}

a.card {
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
}
@media (hover: hover) and (pointer: fine) {
  a.card {
    transition: 0.25s ease;
  }
  a.card:hover {
    color: #555;
  }
  a.card:hover .card__image img {
    opacity: 0.75;
    transform: scale(1.025);
  }
}

.card {
  display: flex;
  width: 100%;
  position: relative;
  font-size: 0.9375rem;
}
@media print, screen and (min-width: 992px) {
  .card {
    font-size: 1.25rem;
  }
}
@media print {
  .card {
    font-size: 1.25rem;
  }
}
.card__image {
  position: relative;
  display: flex;
  width: 100%;
  height: 0;
  padding-bottom: 100%;
  overflow: hidden;
  border-radius: 0.5rem;
}
@media print, screen and (min-width: 992px) {
  .card__image {
    border-radius: 1rem;
  }
}
@media print {
  .card__image {
    border-radius: 1rem;
  }
}
.card__image img {
  max-width: inherit;
  max-height: inherit;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  left: 0;
  top: 0;
  transition: all 0.45s ease;
}
.card__main {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25em;
  position: absolute;
  left: 0;
  bottom: 0;
  min-height: 4.5em;
  background-color: #fff;
  width: auto;
  border-top-right-radius: 0.5rem;
  padding: 0.5em;
  padding-bottom: 0;
  z-index: 10;
}
@media print, screen and (min-width: 992px) {
  .card__main {
    border-top-right-radius: 1rem;
  }
}
@media print {
  .card__main {
    border-top-right-radius: 1rem;
  }
}
.card__main::after, .card__main::before {
  position: absolute;
  display: block;
  content: " ";
  font-size: 0.5rem;
  width: 1em;
  height: 1em;
  background-image: url(/images/corner.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: left top;
  transform: rotate(-90deg);
}
@media print, screen and (min-width: 992px) {
  .card__main::after, .card__main::before {
    font-size: 1rem;
  }
}
@media print {
  .card__main::after, .card__main::before {
    font-size: 1rem;
  }
}
.card__main::before {
  bottom: 100%;
  left: 0;
}
.card__main::after {
  left: 100%;
  bottom: 0;
}
.card__illust {
  margin-right: 0.25em;
}
.card__illust img {
  width: 1.5em;
  height: auto;
}
.card__text {
  display: flex;
  flex-direction: column;
  writing-mode: vertical-rl;
  line-height: 1.25;
}
.card__en {
  opacity: 0.3;
  font-family: "Manrope", sans-serif;
  font-weight: 700;
  font-size: 50%;
  text-transform: uppercase;
}

.drawer {
  position: fixed;
  display: flex;
  flex-direction: column;
  z-index: 990;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
}
@media print, screen and (min-width: 992px) {
  .drawer {
    position: static;
    position: initial;
    flex-direction: row;
    z-index: auto;
    top: auto;
    left: auto;
    width: auto;
    height: 100%;
  }
}
@media print {
  .drawer {
    position: static;
    position: initial;
    flex-direction: row;
    z-index: auto;
    top: auto;
    left: auto;
    width: auto;
    height: 100%;
  }
}
.drawer__backdrop {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}
@media print, screen and (min-width: 992px) {
  .drawer__backdrop {
    display: none;
  }
}
@media print {
  .drawer__backdrop {
    display: none;
  }
}
.drawer__inner {
  height: 100%;
  width: calc(100vw - 3.5rem);
  transform: translate(-100%, 0);
  background-color: #f9f9f9;
  overflow: auto;
}
@media print, screen and (min-width: 992px) {
  .drawer__inner {
    display: flex;
    height: auto;
    width: auto;
    transform: none;
    background-color: transparent;
  }
}
@media print {
  .drawer__inner {
    display: flex;
    height: auto;
    width: auto;
    transform: none;
    background-color: transparent;
  }
}
.drawer[aria-hidden] {
  transition: all 0.25s ease;
}
@media print, screen and (min-width: 992px) {
  .drawer[aria-hidden] {
    transition: none;
  }
}
@media print {
  .drawer[aria-hidden] {
    transition: none;
  }
}
.drawer[aria-hidden] .drawer__backdrop,
.drawer[aria-hidden] .drawer__inner {
  transition: all 0.25s ease;
}
@media print, screen and (min-width: 992px) {
  .drawer[aria-hidden] .drawer__backdrop,
  .drawer[aria-hidden] .drawer__inner {
    transition: none;
  }
}
@media print {
  .drawer[aria-hidden] .drawer__backdrop,
  .drawer[aria-hidden] .drawer__inner {
    transition: none;
  }
}
.drawer[aria-hidden=false] {
  visibility: visible;
  width: 100%;
}
@media print, screen and (min-width: 992px) {
  .drawer[aria-hidden=false] {
    width: auto;
  }
}
@media print {
  .drawer[aria-hidden=false] {
    width: auto;
  }
}
.drawer[aria-hidden=false] .drawer__backdrop {
  opacity: 1;
}
.drawer[aria-hidden=false] .drawer__inner {
  transform: translate(0);
}
@media print, screen and (min-width: 992px) {
  .drawer[aria-hidden=false] .drawer__inner {
    transform: none;
  }
}
@media print {
  .drawer[aria-hidden=false] .drawer__inner {
    transform: none;
  }
}
.drawer[aria-hidden=true] {
  visibility: hidden;
}
@media print, screen and (min-width: 992px) {
  .drawer[aria-hidden=true] {
    visibility: visible;
  }
}
@media print {
  .drawer[aria-hidden=true] {
    visibility: visible;
  }
}
.drawer[aria-hidden=true] .drawer__backdrop {
  opacity: 0;
}

.drawer-btn {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: 0.1em;
  margin: 0;
  font-size: 3rem;
  padding: 0;
  width: 1em;
  height: 1em;
  border: none;
  border-radius: 0.25rem;
  color: #fff;
  background-color: #132c41;
  z-index: 1000;
}
@media (hover: hover) and (pointer: fine) {
  .drawer-btn {
    transition: all 0.25s ease;
  }
  .drawer-btn:hover {
    background-color: rgb(36.3035714286, 84.0714285714, 124.1964285714);
  }
  .drawer-btn:hover .drawer-btn__bar:nth-child(1) {
    transform: translate(0, -1px);
  }
  .drawer-btn:hover .drawer-btn__bar:nth-child(3) {
    transform: translate(0, 1px);
  }
}
@media print, screen and (min-width: 992px) {
  .drawer-btn {
    display: none;
  }
}
@media print {
  .drawer-btn {
    display: none;
  }
}
.drawer-btn__bars {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.075em;
  width: 0.4em;
}
.drawer-btn__bar {
  display: block;
  background-color: currentColor;
  width: 100%;
  height: 1px;
  border-radius: 999em;
  transition: all 0.25s ease;
}
@media print, screen and (min-width: 768px) {
  .drawer-btn__bar {
    height: 2px;
  }
}
@media print {
  .drawer-btn__bar {
    height: 2px;
  }
}
.drawer-btn__text, .drawer-btn__text--close, .drawer-btn__text--open {
  font-size: 0.125em;
  line-height: 1;
  font-family: "Manrope", sans-serif;
  font-weight: 700;
  font-weight: 700;
  text-transform: uppercase;
}
.drawer-btn[aria-expanded=false] .drawer-btn__text--close {
  display: none;
}
.drawer-btn[aria-expanded=true] .drawer-btn__text--open {
  display: none;
}
.drawer-btn[aria-expanded=true] .drawer-btn__bar:nth-child(2) {
  opacity: 0;
}
.drawer-btn[aria-expanded=true] .drawer-btn__bar:nth-child(1) {
  opacity: 1;
  transform: translate(0, calc(0.1125em - 1px)) rotate(45deg);
}
.drawer-btn[aria-expanded=true] .drawer-btn__bar:nth-child(3) {
  transform: translate(0, calc(-0.1125em + 1px)) rotate(-45deg);
}
@media (hover: hover) and (pointer: fine) {
  .drawer-btn[aria-expanded=true]:hover .drawer-btn__bar:nth-child(1) {
    opacity: 1;
    transform: translate(0, calc(0.1125em - 1px)) rotate(40deg);
  }
  .drawer-btn[aria-expanded=true]:hover .drawer-btn__bar:nth-child(3) {
    transform: translate(0, calc(-0.1125em + 1px)) rotate(-40deg);
  }
}

.dropdown-menu {
  margin: 0;
  padding: 0;
  overflow: hidden;
  background-color: #f0f0f0;
}
@media print, screen and (min-width: 992px) {
  .dropdown-menu {
    background-color: rgba(255, 255, 255, 0.95);
    max-height: calc(100vh - 10rem);
    overflow: auto;
    z-index: 92;
    box-shadow: 0 1rem 1rem rgba(0, 0, 0, 0.175);
  }
}
@media print {
  .dropdown-menu {
    background-color: rgba(255, 255, 255, 0.95);
    max-height: calc(100vh - 10rem);
    overflow: auto;
    z-index: 92;
    box-shadow: 0 1rem 1rem rgba(0, 0, 0, 0.175);
  }
}
.dropdown-menu__container {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 1520px;
  padding-left: 1rem;
  padding-right: 1rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
}
@media print, screen and (min-width: 992px) {
  .dropdown-menu__container {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
@media print {
  .dropdown-menu__container {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
@media print, screen and (min-width: 992px) {
  .dropdown-menu__container {
    padding-top: 4rem;
    padding-bottom: 5rem;
    flex-direction: row;
    gap: 7.5rem;
  }
}
@media print {
  .dropdown-menu__container {
    padding-top: 4rem;
    padding-bottom: 5rem;
    flex-direction: row;
    gap: 7.5rem;
  }
}
@media print, screen and (min-width: 992px) {
  .dropdown-menu__header {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 15rem;
    gap: 4rem;
  }
}
@media print {
  .dropdown-menu__header {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 15rem;
    gap: 4rem;
  }
}
.dropdown-menu__header--noLink {
  display: none;
}
@media print, screen and (min-width: 992px) {
  .dropdown-menu__header--noLink {
    display: block;
  }
}
@media print {
  .dropdown-menu__header--noLink {
    display: block;
  }
}
.dropdown-menu__title {
  display: flex;
  width: 100%;
}
@media print, screen and (min-width: 992px) {
  .dropdown-menu__main {
    flex: 1;
    margin: 0;
  }
}
@media print {
  .dropdown-menu__main {
    flex: 1;
    margin: 0;
  }
}

a.dropdown-title {
  color: #132c41;
}
@media (hover: hover) and (pointer: fine) {
  a.dropdown-title {
    transition: all 0.25s ease;
  }
  a.dropdown-title:hover {
    color: #555;
  }
  a.dropdown-title:hover .dropdown-title__arrow {
    transform: translate(25%, 0);
  }
}
@media print, screen and (min-width: 992px) {
  a.dropdown-title .dropdown-title__text > span {
    border-bottom: 1px solid;
  }
}
@media print {
  a.dropdown-title .dropdown-title__text > span {
    border-bottom: 1px solid;
  }
}

.dropdown-title {
  display: flex;
  width: 100%;
  align-items: center;
  line-height: 1.25;
  font-size: 0.9375rem;
  border-top: 1px solid #ddd;
  position: relative;
  min-height: 3.5rem;
  line-height: 1.5;
  font-weight: 500;
  padding: 1rem;
}
@media print, screen and (min-width: 992px) {
  .dropdown-title {
    font-size: 2rem;
    background-color: transparent;
    border: none;
    padding: 0;
    min-height: 0;
  }
}
@media print {
  .dropdown-title {
    font-size: 2rem;
    background-color: transparent;
    border: none;
    padding: 0;
    min-height: 0;
  }
}
.dropdown-title__text {
  display: flex;
  flex-direction: column;
  flex: 1;
  align-items: flex-start;
}
@media print, screen and (min-width: 992px) {
  .dropdown-title__sp {
    display: none;
  }
}
@media print {
  .dropdown-title__sp {
    display: none;
  }
}
.dropdown-title__en {
  font-family: "Manrope", sans-serif;
  font-weight: 700;
  color: #00b5ca;
  font-size: 100%;
}
.dropdown-title__ja {
  font-weight: 500;
  font-size: 1.125rem;
}
.dropdown-title__arrow {
  transition: 0.25s ease;
}

.dropdown-list {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  font-size: 95%;
}
@media print, screen and (min-width: 992px) {
  .dropdown-list {
    flex-direction: row;
    flex: 1;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 3rem;
    background-color: transparent;
    font-size: 100%;
  }
}
@media print {
  .dropdown-list {
    flex-direction: row;
    flex: 1;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 3rem;
    background-color: transparent;
    font-size: 100%;
  }
}
.dropdown-list__item, .dropdown-list__item--sm {
  display: flex;
  justify-content: flex-start;
  flex-direction: column;
  padding: 0;
  margin: 0;
  width: 100%;
  border-top: 1px solid #ddd;
}
@media print, screen and (min-width: 992px) {
  .dropdown-list__item, .dropdown-list__item--sm {
    border: none;
    border-bottom: 1px solid #dddddd;
    background-color: transparent;
    width: calc(33.333% - 2rem);
  }
}
@media print {
  .dropdown-list__item, .dropdown-list__item--sm {
    border: none;
    border-bottom: 1px solid #dddddd;
    background-color: transparent;
    width: calc(33.333% - 2rem);
  }
}
@media print, screen and (min-width: 992px) {
  .dropdown-list__item--sm {
    width: calc(25% - 2.25rem);
  }
}
@media print {
  .dropdown-list__item--sm {
    width: calc(25% - 2.25rem);
  }
}

a.dropdown-item {
  color: #132c41;
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
}
@media (hover: hover) and (pointer: fine) {
  a.dropdown-item {
    transition: all 0.25s ease;
  }
  a.dropdown-item:hover {
    color: #555;
  }
  a.dropdown-item:hover .dropdown-item__image img {
    transform: scale(1.03);
  }
  a.dropdown-item:hover .dropdown-item__arrow {
    transform: translate(25%, 0);
  }
}

.dropdown-item {
  position: relative;
  display: flex;
  min-height: 3.5rem;
  width: 100%;
  line-height: 1.5;
  font-weight: 500;
}
.dropdown-item:active, .dropdown-item:focus {
  color: #132c41;
}
@media print, screen and (min-width: 992px) {
  .dropdown-item {
    flex-direction: column;
    height: auto;
    padding: 0;
    border: none;
    gap: 1.5em;
    min-height: 0;
    background-color: transparent;
  }
}
@media print {
  .dropdown-item {
    flex-direction: column;
    height: auto;
    padding: 0;
    border: none;
    gap: 1.5em;
    min-height: 0;
    background-color: transparent;
  }
}
.dropdown-item__arrow {
  transition: 0.25s ease;
}
.dropdown-item__image {
  display: flex;
  width: 4.5rem;
}
@media print, screen and (min-width: 992px) {
  .dropdown-item__image {
    width: 100%;
  }
}
@media print {
  .dropdown-item__image {
    width: 100%;
  }
}
.dropdown-item__image-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@media print, screen and (min-width: 992px) {
  .dropdown-item__image-inner {
    height: 0;
    border-radius: 1rem;
    padding-bottom: 56.25%;
  }
}
@media print {
  .dropdown-item__image-inner {
    height: 0;
    border-radius: 1rem;
    padding-bottom: 56.25%;
  }
}
.dropdown-item__image-inner img {
  max-width: inherit;
  max-height: inherit;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  left: 0;
  top: 0;
  transition: all 0.45s ease;
}
.dropdown-item__main {
  display: flex;
  align-items: center;
  position: relative;
  line-height: 1.5;
  gap: 0.5em;
  flex: 1;
  padding: 1rem;
}
@media print, screen and (min-width: 992px) {
  .dropdown-item__main {
    padding: 0;
    padding-bottom: 1em;
  }
}
@media print {
  .dropdown-item__main {
    padding: 0;
    padding-bottom: 1em;
  }
}
.dropdown-item__text {
  flex: 1;
}

@media print, screen and (min-width: 992px) {
  .global-nav {
    margin: 0;
    display: flex;
    width: 100%;
    flex-direction: column-reverse;
    gap: 1em;
  }
}
@media print {
  .global-nav {
    margin: 0;
    display: flex;
    width: 100%;
    flex-direction: column-reverse;
    gap: 1em;
  }
}
.global-nav__list {
  flex: 1;
  display: flex;
  width: 100%;
  flex-direction: column;
}
@media print, screen and (min-width: 992px) {
  .global-nav__list {
    flex-direction: row;
    gap: 1.25em;
  }
}
@media print {
  .global-nav__list {
    flex-direction: row;
    gap: 1.25em;
  }
}

.global-list {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
  list-style: none;
  font-size: 1rem;
  letter-spacing: 0.05em;
}
@media print, screen and (min-width: 992px) {
  .global-list {
    flex-wrap: nowrap;
    gap: 2.5rem;
    font-size: 1rem;
  }
}
@media print {
  .global-list {
    flex-wrap: nowrap;
    gap: 2.5rem;
    font-size: 1rem;
  }
}
.global-list::before {
  transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
  transition-property: visibility, opacity;
  content: "";
  display: block;
  visibility: hidden;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 90;
  background: rgba(0, 11, 32, 0.4);
  opacity: 0;
  pointer-events: none;
}
@media print, screen and (min-width: 992px) {
  .global-list.dropdown-open::before {
    opacity: 1;
    visibility: visible;
  }
}
@media print {
  .global-list.dropdown-open::before {
    opacity: 1;
    visibility: visible;
  }
}
.global-list__item, .global-list__item--btn, .global-list__item--home {
  padding: 0;
  margin: 0;
  width: 100%;
  border-bottom: 1px solid #ddd;
}
@media (hover: hover) and (pointer: fine) {
  .global-list__item:hover .global-list__text::after, .global-list__item--btn:hover .global-list__text::after, .global-list__item--home:hover .global-list__text::after {
    width: 100%;
  }
}
@media print, screen and (min-width: 992px) {
  .global-list__item, .global-list__item--btn, .global-list__item--home {
    display: flex;
    width: auto;
    border-bottom: none;
    cursor: pointer;
  }
}
@media print {
  .global-list__item, .global-list__item--btn, .global-list__item--home {
    display: flex;
    width: auto;
    border-bottom: none;
    cursor: pointer;
  }
}
@media print, screen and (min-width: 992px) {
  .global-list__item--home {
    display: none;
  }
}
@media print {
  .global-list__item--home {
    display: none;
  }
}
.global-list__item--btn {
  border: none;
  margin-top: 1rem;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media print, screen and (min-width: 992px) {
  .global-list__item--btn {
    align-items: center;
    padding: 0;
    margin-top: 0;
  }
}
@media print {
  .global-list__item--btn {
    align-items: center;
    padding: 0;
    margin-top: 0;
  }
}
@media (hover: hover) and (pointer: fine) {
  .global-list__item:has(.global-list__child):hover .global-list__child, .global-list__item--home:has(.global-list__child):hover .global-list__child, .global-list__item--btn:has(.global-list__child):hover .global-list__child {
    grid-template-rows: 1fr;
  }
  .global-list__item:has(.global-list__child):hover .global-list__plus::after, .global-list__item--home:has(.global-list__child):hover .global-list__plus::after, .global-list__item--btn:has(.global-list__child):hover .global-list__plus::after {
    transform: translate(-50%, -50%) rotate(0);
  }
}
.global-list__content {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  gap: 1em;
  padding: 0 1rem;
  min-height: 4rem;
  line-height: 1.25;
  color: #132c41;
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
  transition: all 0.25s linear;
  transition-property: color, background-color;
}
@media print, screen and (min-width: 992px) {
  .global-list__content {
    justify-content: center;
    flex-direction: column;
    padding: 0;
    gap: 0.5em;
  }
}
@media print {
  .global-list__content {
    justify-content: center;
    flex-direction: column;
    padding: 0;
    gap: 0.5em;
  }
}
@media print, screen and (min-width: 992px) {
  .global-list__content::after {
    position: absolute;
    display: block;
    content: " ";
    top: 0;
    left: 0;
    width: 0;
    height: 2px;
    background: #00a5da;
    z-index: 1;
    border-radius: 0 0 4px 4px;
    transition: width 0.3s cubic-bezier(0.6, 0, 0.3, 1);
  }
}
@media print {
  .global-list__content::after {
    position: absolute;
    display: block;
    content: " ";
    top: 0;
    left: 0;
    width: 0;
    height: 2px;
    background: #00a5da;
    z-index: 1;
    border-radius: 0 0 4px 4px;
    transition: width 0.3s cubic-bezier(0.6, 0, 0.3, 1);
  }
}
.global-list__content[aria-current=page] {
  background-color: rgba(0, 165, 218, 0.15);
}
@media print, screen and (min-width: 992px) {
  .global-list__content[aria-current=page] {
    background-color: transparent;
  }
  .global-list__content[aria-current=page]::after {
    width: 100%;
  }
}
@media print {
  .global-list__content[aria-current=page] {
    background-color: transparent;
  }
  .global-list__content[aria-current=page]::after {
    width: 100%;
  }
}
.global-list__row {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 4rem;
  line-height: 1.25;
  gap: 0.5em;
}
@media print, screen and (min-width: 992px) {
  .global-list__row {
    min-height: 0;
  }
}
@media print {
  .global-list__row {
    min-height: 0;
  }
}
.global-list__text {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  gap: 1em;
  padding: 0;
  line-height: 1.25;
  flex: 1;
  color: #132c41;
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
  transition: all 0.25s linear;
  transition-property: color, background-color;
}
@media print, screen and (min-width: 992px) {
  .global-list__text {
    justify-content: center;
    text-align: center;
  }
}
@media print {
  .global-list__text {
    justify-content: center;
    text-align: center;
  }
}
.global-list__check {
  display: none;
}
.global-list__dropdown-icon {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1em;
  font-size: 1rem;
}
.global-list__plus {
  position: relative;
  color: #00a5da;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  transition: all 0.25s ease;
}
.global-list__plus::before, .global-list__plus::after {
  position: absolute;
  display: block;
  content: " ";
  top: 50%;
  left: 50%;
  width: 100%;
  height: 2px;
  background-color: currentColor;
  transform-origin: center center;
  transform: translate(-50%, -50%);
  border-radius: 999em;
}
.global-list__plus::after {
  transition: transform 0.25s ease;
  transform: translate(-50%, -50%) rotate(90deg);
}
@media print, screen and (max-width: 991px) {
  .global-list__check:checked + .global-list__content + .global-list__child {
    grid-template-rows: 1fr;
  }
}
@media print, screen and (max-width: 991px) {
  .global-list__check:checked + .global-list__content .global-list__plus::after {
    transform: translate(-50%, -50%) rotate(0);
  }
}
.global-list__child {
  width: 100%;
  display: grid;
  grid-template-rows: 0fr;
  transition: 250ms grid-template-rows ease;
}
@media print, screen and (min-width: 992px) {
  .global-list__child {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    z-index: 92;
    transform: translateZ(1px);
  }
}
@media print {
  .global-list__child {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    z-index: 92;
    transform: translateZ(1px);
  }
}

.global-list-btn {
  position: relative;
  display: flex;
  padding: 0;
  margin: 0;
  height: 3.5rem;
  color: #132c41;
  gap: 0.25em;
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
  text-align: center;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  color: #fff;
  background-color: #00a5da;
  font-size: 1rem;
  line-height: 1.25;
  border-radius: 0.5rem;
}
@media print, screen and (min-width: 992px) {
  .global-list-btn {
    width: 10rem;
    height: 3.5rem;
  }
}
@media print {
  .global-list-btn {
    width: 10rem;
    height: 3.5rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .global-list-btn {
    transition: all 0.25s ease;
  }
  .global-list-btn:hover {
    color: #fff;
    filter: brightness(1.25);
  }
}
.global-list-btn__icon {
  line-height: 1;
}
.global-list-btn__icon img,
.global-list-btn__icon svg {
  vertical-align: middle;
  width: 1.25em;
  height: auto;
  fill: currentColor;
}
.header-sns {
  display: flex;
  align-items: center;
  font-size: 1.25rem;
  gap: 0.5em;
  padding: 0;
  margin: 0;
  list-style: none;
  justify-content: flex-end;
}
.header-sns > li {
  padding: 0;
  margin: 0;
}
.header-sns > li a {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #00b5ca;
  width: 2em;
  height: 2em;
  border-radius: 50%;
}
@media (hover: hover) and (pointer: fine) {
  .header-sns > li a {
    transition: 0.25s ease;
  }
  .header-sns > li a:hover {
    opacity: 0.75;
  }
}
.header-sns > li a svg {
  width: 1em;
  height: auto;
  fill: #fff;
}

.container, .container--md, .container--sm, .container--post {
  position: relative;
  width: 100%;
  max-width: 1520px;
  padding-left: 1rem;
  padding-right: 1rem;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media print, screen and (min-width: 992px) {
  .container, .container--md, .container--sm, .container--post {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
@media print {
  .container, .container--md, .container--sm, .container--post {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
@media print, screen and (min-width: 992px) {
  .container, .container--md, .container--sm, .container--post {
    gap: 7.5rem;
  }
}
@media print {
  .container, .container--md, .container--sm, .container--post {
    gap: 7.5rem;
  }
}
.container--post {
  max-width: 65rem;
  gap: 1.5rem;
}
@media print, screen and (min-width: 992px) {
  .container--post {
    gap: 3rem;
  }
}
@media print {
  .container--post {
    gap: 3rem;
  }
}
.container--sm {
  max-width: 77.5rem;
}
.container--md {
  max-width: 82.5rem;
}

.row-container, .row-container--inner {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  width: 100%;
  max-width: 1520px;
  padding-left: 1rem;
  padding-right: 1rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 992px) {
  .row-container, .row-container--inner {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
@media print {
  .row-container, .row-container--inner {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
@media print, screen and (min-width: 992px) {
  .row-container, .row-container--inner {
    flex-direction: row;
    gap: 5rem;
    justify-content: center;
  }
}
@media print {
  .row-container, .row-container--inner {
    flex-direction: row;
    gap: 5rem;
    justify-content: center;
  }
}
.row-container--inner {
  padding: 0;
  gap: 1.5rem;
}
@media print, screen and (min-width: 992px) {
  .row-container--inner {
    gap: 3rem;
  }
}
@media print {
  .row-container--inner {
    gap: 3rem;
  }
}
.row-container__side {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media print, screen and (min-width: 992px) {
  .row-container__side {
    width: 20rem;
    gap: 1.5rem;
  }
}
@media print {
  .row-container__side {
    width: 20rem;
    gap: 1.5rem;
  }
}
@media print, screen and (min-width: 992px) {
  .row-container__sticky {
    position: sticky;
    top: 10rem;
    z-index: 100;
  }
}
@media print {
  .row-container__sticky {
    position: sticky;
    top: 10rem;
    z-index: 100;
  }
}
.row-container__main {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media print, screen and (min-width: 992px) {
  .row-container__main {
    flex: 1;
    gap: 7.5rem;
  }
}
@media print {
  .row-container__main {
    flex: 1;
    gap: 7.5rem;
  }
}

.side-container {
  position: relative;
  padding-left: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media print, screen and (min-width: 992px) {
  .side-container {
    padding-left: max(50vw - 47.5rem, 2.5rem);
    flex-direction: row;
    gap: 5rem;
    justify-content: center;
  }
}
@media print {
  .side-container {
    padding-left: max(50vw - 47.5rem, 2.5rem);
    flex-direction: row;
    gap: 5rem;
    justify-content: center;
  }
}
.side-container__side {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-right: 1rem;
}
@media print, screen and (min-width: 992px) {
  .side-container__side {
    width: 20rem;
    gap: 1.5rem;
    padding-right: 0;
  }
}
@media print {
  .side-container__side {
    width: 20rem;
    gap: 1.5rem;
    padding-right: 0;
  }
}
@media print, screen and (min-width: 992px) {
  .side-container__sticky {
    position: sticky;
    top: 10rem;
    z-index: 100;
  }
}
@media print {
  .side-container__sticky {
    position: sticky;
    top: 10rem;
    z-index: 100;
  }
}
.side-container__main {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
@media print, screen and (min-width: 992px) {
  .side-container__main {
    flex: 1;
    gap: 5rem;
    align-items: center;
  }
}
@media print {
  .side-container__main {
    flex: 1;
    gap: 5rem;
    align-items: center;
  }
}
.side-container__inner {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 1rem;
  padding-right: 1rem;
}
@media print, screen and (min-width: 992px) {
  .side-container__inner {
    gap: 1.5rem;
    padding-right: max(50vw - 47.5rem, 2.5rem);
  }
}
@media print {
  .side-container__inner {
    gap: 1.5rem;
    padding-right: max(50vw - 47.5rem, 2.5rem);
  }
}
.side-container__paper, .side-container__paper--sm {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 1rem;
  padding: 1.5rem 1rem;
  background-color: #fff;
  border-radius: 0.5rem 0 0 0.5rem;
}
@media print, screen and (min-width: 992px) {
  .side-container__paper, .side-container__paper--sm {
    gap: 1.5rem;
    border-radius: 2.5rem 0 0 2.5rem;
    padding: 6rem max(50vw - 47.5rem, 2.5rem) 6rem 5rem;
  }
}
@media print {
  .side-container__paper, .side-container__paper--sm {
    gap: 1.5rem;
    border-radius: 2.5rem 0 0 2.5rem;
    padding: 6rem max(50vw - 47.5rem, 2.5rem) 6rem 5rem;
  }
}
@media print, screen and (min-width: 992px) {
  .side-container__paper--sm {
    border-radius: 1.5rem 0 0 1.5rem;
    padding: 3rem max(50vw - 47.5rem, 2.5rem) 3rem 4rem;
  }
}
@media print {
  .side-container__paper--sm {
    border-radius: 1.5rem 0 0 1.5rem;
    padding: 3rem max(50vw - 47.5rem, 2.5rem) 3rem 4rem;
  }
}

.paper, .paper--light {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 1rem;
  background-color: #fff;
  padding: 1rem;
}
@media print, screen and (min-width: 992px) {
  .paper, .paper--light {
    gap: 1.5rem;
    padding: 4rem 5rem;
  }
}
@media print {
  .paper, .paper--light {
    gap: 1.5rem;
    padding: 4rem 5rem;
  }
}
.paper--light {
  background-color: #eaeff4;
}

.content-row, .content-row--sp, .content-row--lg {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 1.5rem;
}
@media print, screen and (min-width: 992px) {
  .content-row, .content-row--sp, .content-row--lg {
    flex-direction: row;
    align-items: flex-start;
    gap: 2.5rem;
  }
}
@media print {
  .content-row, .content-row--sp, .content-row--lg {
    flex-direction: row;
    align-items: flex-start;
    gap: 2.5rem;
  }
}
.content-row--lg {
  flex-direction: column;
  gap: 2rem;
}
@media print, screen and (min-width: 992px) {
  .content-row--lg {
    flex-direction: row;
    gap: 5rem;
  }
}
@media print {
  .content-row--lg {
    flex-direction: row;
    gap: 5rem;
  }
}
.content-row--sp {
  flex-direction: row;
  gap: 0.5rem;
}
@media print, screen and (min-width: 992px) {
  .content-row--sp {
    gap: 2.5rem;
  }
}
@media print {
  .content-row--sp {
    gap: 2.5rem;
  }
}
.content-row__image {
  width: 100%;
}
@media print, screen and (min-width: 992px) {
  .content-row__image {
    width: 40%;
  }
}
@media print {
  .content-row__image {
    width: 40%;
  }
}
.content-row__col {
  display: flex;
  flex: 1;
  width: 100%;
}
.content-row__col--lg {
  width: 100%;
}
@media print, screen and (min-width: 992px) {
  .content-row__col--lg {
    width: 60%;
  }
}
@media print {
  .content-row__col--lg {
    width: 60%;
  }
}
.content-row__col--sm {
  width: 100%;
}
@media print, screen and (min-width: 992px) {
  .content-row__col--sm {
    width: 30%;
  }
}
@media print {
  .content-row__col--sm {
    width: 30%;
  }
}
.content-row__col--xs {
  width: 100%;
}
@media print, screen and (min-width: 992px) {
  .content-row__col--xs {
    width: 25%;
  }
}
@media print {
  .content-row__col--xs {
    width: 25%;
  }
}
.content-row img, .content-row--lg img, .content-row--sp img {
  max-width: 100%;
  height: auto;
}

.section, .section--light, .section--white, .section--post, .section--sm {
  position: relative;
  display: flex;
  width: 100%;
  flex-direction: column;
  padding-top: 4rem;
  padding-bottom: 4rem;
  gap: 3rem;
}
@media print, screen and (min-width: 992px) {
  .section, .section--light, .section--white, .section--post, .section--sm {
    gap: 5rem;
    padding-top: 8rem;
    padding-bottom: 8rem;
  }
}
@media print {
  .section, .section--light, .section--white, .section--post, .section--sm {
    gap: 5rem;
    padding-top: 8rem;
    padding-bottom: 8rem;
  }
}
.section--sm {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
@media print, screen and (min-width: 992px) {
  .section--sm {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
@media print {
  .section--sm {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
.section--post {
  padding-top: 5rem;
  padding-bottom: 4rem;
}
@media print, screen and (min-width: 992px) {
  .section--post {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
  }
}
@media print {
  .section--post {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
  }
}
.section--white {
  background-color: #fff;
}
.section--light {
  background-color: #eaeff4;
  background-image: url("../images/noise.png");
  background-size: 240px auto;
}

.swiper-ui {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 2.5rem;
}
@media print, screen and (min-width: 768px) {
  .swiper-ui {
    margin-top: 2.5rem;
    gap: 4rem;
  }
}
@media print {
  .swiper-ui {
    margin-top: 2.5rem;
    gap: 4rem;
  }
}
.swiper-ui.slideNone {
  display: none;
}

.swiper-scrollbar, .swiper-scrollbar--white {
  position: relative !important;
  flex: 1;
  width: 100%;
  height: 0.5rem;
  background: rgba(0, 0, 0, 0.1);
  border-radius: 999em;
}
.swiper-scrollbar .swiper-scrollbar-drag, .swiper-scrollbar--white .swiper-scrollbar-drag {
  height: 100%;
  transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
  background: rgba(0, 0, 0, 0.4);
}
.swiper-scrollbar--white {
  background: rgba(255, 255, 255, 0.1);
}
.swiper-scrollbar--white .swiper-scrollbar-drag {
  background: rgba(255, 255, 255, 0.4);
}

.swiper-buttons, .swiper-buttons--white {
  display: flex;
  gap: 0.25rem;
}
@media print, screen and (min-width: 768px) {
  .swiper-buttons, .swiper-buttons--white {
    gap: 0.25rem;
  }
}
@media print {
  .swiper-buttons, .swiper-buttons--white {
    gap: 0.25rem;
  }
}
.swiper-buttons__button--prev, .swiper-buttons__button--next {
  position: relative;
  display: block;
  background-color: #132c41;
  font-size: 1.5rem;
  font-size: 2rem;
  width: 1em;
  height: 1em;
  cursor: pointer;
  transition: all 0.25s ease;
}
@media (hover: hover) and (pointer: fine) {
  .swiper-buttons__button--prev:hover, .swiper-buttons__button--next:hover {
    background-color: rgb(30.5357142857, 70.7142857143, 104.4642857143);
  }
}
@media print, screen and (min-width: 992px) {
  .swiper-buttons__button--prev, .swiper-buttons__button--next {
    font-size: 2.5rem;
  }
}
@media print {
  .swiper-buttons__button--prev, .swiper-buttons__button--next {
    font-size: 2.5rem;
  }
}
.swiper-buttons__button--prev::before, .swiper-buttons__button--prev::after, .swiper-buttons__button--next::before, .swiper-buttons__button--next::after {
  position: absolute;
  content: " ";
  display: block;
  background-color: #fff;
  height: 2px;
  width: 20%;
  top: 50%;
  left: 48%;
  transition: all 0.25s ease;
}
.swiper-buttons__button--prev::before, .swiper-buttons__button--next::before {
  transform-origin: right bottom;
  transform: translate(-50%, -50%) rotate(45deg);
}
.swiper-buttons__button--prev::after, .swiper-buttons__button--next::after {
  transform-origin: right top;
  transform: translate(-50%, -50%) rotate(-45deg);
}
.swiper-buttons__button--prev.swiper-button-disabled, .swiper-buttons__button--next.swiper-button-disabled {
  pointer-events: none;
  opacity: 0.1;
}
.swiper-buttons__button--prev {
  transform: rotate(180deg);
}
.swiper-buttons--white .swiper-buttons__button--prev,
.swiper-buttons--white .swiper-buttons__button--next {
  background-color: #fff;
}
.swiper-buttons--white .swiper-buttons__button--prev::before, .swiper-buttons--white .swiper-buttons__button--prev::after,
.swiper-buttons--white .swiper-buttons__button--next::before,
.swiper-buttons--white .swiper-buttons__button--next::after {
  background-color: #00a5da;
}

.thumb-slider {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 0.5rem;
  overflow: hidden;
}
@media print, screen and (min-width: 992px) {
  .thumb-slider {
    gap: 1rem;
  }
}
@media print {
  .thumb-slider {
    gap: 1rem;
  }
}
.thumb-slider .swiper-wrapper {
  padding: 0;
  margin: 0;
  list-style: none;
  align-items: center;
}
.thumb-slider__main {
  display: flex;
  width: 100%;
  background-image: linear-gradient(-45deg, #fff 25%, #f3f3f3 25%, #f3f3f3 50%, #fff 50%, #fff 75%, #f3f3f3 75%, #f3f3f3);
  background-size: 8px 8px;
  align-items: center;
}
.thumb-slider__main .swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
}
.thumb-slider__main .swiper-slide img {
  width: auto;
  max-width: 100%;
  max-height: 40rem;
  border-radius: 0.5rem;
}
@media print, screen and (min-width: 992px) {
  .thumb-slider__main .swiper-slide img {
    border-radius: 1rem;
  }
}
@media print {
  .thumb-slider__main .swiper-slide img {
    border-radius: 1rem;
  }
}
.thumb-slider__thumbnail {
  width: 100%;
}
.thumb-slider__thumbnail .swiper-wrapper {
  width: 100%;
}
.thumb-slider__thumbnail .swiper-slide {
  opacity: 0.5;
  transition: opacity 0.65s;
  width: 3.5rem;
  position: relative;
  border: 1px solid #fff;
  overflow: hidden;
  border-radius: 0.5rem;
}
@media print, screen and (min-width: 992px) {
  .thumb-slider__thumbnail .swiper-slide {
    width: 5rem;
    border-radius: 1rem;
  }
}
@media print {
  .thumb-slider__thumbnail .swiper-slide {
    width: 5rem;
    border-radius: 1rem;
  }
}
.thumb-slider__thumbnail .swiper-slide > p {
  position: relative;
  width: 100%;
  padding-bottom: 100%;
  height: 0;
}
.thumb-slider__thumbnail .swiper-slide > p img {
  max-width: inherit;
  max-height: inherit;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  left: 0;
  top: 0;
  transition: all 0.45s ease;
}
.thumb-slider__thumbnail .swiper-slide.swiper-slide-thumb-active {
  opacity: 1;
  border: 2px solid #00a5da;
  border: 2px solid var(--primary-color, #00a5da);
}
.thumb-slider__thumbnail .swiper-scrollbar {
  margin-top: 1em;
}

.accordion-block, .accordion-block--sp {
  border-bottom: 1px solid #dddddd;
  background-color: #fff;
}
@media print, screen and (min-width: 992px) {
  .accordion-block--sp {
    background-color: transparent;
  }
  .accordion-block--sp .accordion-block__plus {
    display: none;
  }
  .accordion-block--sp .accordion-block__label {
    pointer-events: none;
  }
  .accordion-block--sp .accordion-block__content {
    height: auto;
    opacity: 1;
    padding: 0 !important;
    border: none;
  }
  .accordion-block--sp .accordion-block__content-inner {
    padding: 0;
  }
}
@media print {
  .accordion-block--sp {
    background-color: transparent;
  }
  .accordion-block--sp .accordion-block__plus {
    display: none;
  }
  .accordion-block--sp .accordion-block__label {
    pointer-events: none;
  }
  .accordion-block--sp .accordion-block__content {
    height: auto;
    opacity: 1;
    padding: 0 !important;
    border: none;
  }
  .accordion-block--sp .accordion-block__content-inner {
    padding: 0;
  }
}
.accordion-block__check {
  display: none !important;
}
.accordion-block__label {
  position: relative;
  cursor: pointer;
  display: flex;
  align-items: center;
  width: 100%;
  gap: 0.5rem;
  padding-right: 1rem;
  background-color: #fff;
}
@media print, screen and (min-width: 992px) {
  .accordion-block__label {
    gap: 1rem;
    padding-right: 0;
    background-color: transparent;
  }
}
@media print {
  .accordion-block__label {
    gap: 1rem;
    padding-right: 0;
    background-color: transparent;
  }
}
@media (hover: hover) and (pointer: fine) {
  .accordion-block__label {
    transition: background 0.25s ease;
  }
  .accordion-block__label:hover {
    background-color: #f6f7f8;
  }
}
.accordion-block__plus,
.accordion-block .accordion-header__plus,
.accordion-block--sp .accordion-header__plus {
  font-size: 1.75rem;
  position: relative;
  color: #00a5da;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  transition: all 0.25s ease;
}
.accordion-block__plus::before, .accordion-block__plus::after,
.accordion-block .accordion-header__plus::before,
.accordion-block--sp .accordion-header__plus::before,
.accordion-block .accordion-header__plus::after,
.accordion-block--sp .accordion-header__plus::after {
  position: absolute;
  display: block;
  content: " ";
  top: 50%;
  left: 50%;
  width: 100%;
  height: 2px;
  background-color: currentColor;
  transform-origin: center center;
  transform: translate(-50%, -50%);
  border-radius: 999em;
}
.accordion-block__plus::after,
.accordion-block .accordion-header__plus::after,
.accordion-block--sp .accordion-header__plus::after {
  transition: transform 0.25s ease;
  transform: translate(-50%, -50%) rotate(90deg);
}
@media print, screen and (min-width: 768px) {
  .accordion-block__plus,
  .accordion-block .accordion-header__plus,
  .accordion-block--sp .accordion-header__plus {
    font-size: 2.5rem;
  }
}
@media print {
  .accordion-block__plus,
  .accordion-block .accordion-header__plus,
  .accordion-block--sp .accordion-header__plus {
    font-size: 2.5rem;
  }
}
.accordion-block__label-inner, .accordion-block__content-inner {
  position: relative;
  display: flex;
  width: 100%;
}
.accordion-block__label-inner {
  flex: 1;
  font-weight: bold;
  flex-direction: column;
  justify-content: center;
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 0.5rem;
}
@media print, screen and (min-width: 992px) {
  .accordion-block__label-inner {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    padding-left: 1.5rem;
  }
}
@media print {
  .accordion-block__label-inner {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    padding-left: 1.5rem;
  }
}
.accordion-block__question, .accordion-block__answer {
  position: relative;
  display: flex;
  gap: 0.5em;
}
.accordion-block__question::before, .accordion-block__answer::before {
  position: relative;
  display: block;
  font-family: "Manrope", sans-serif;
  font-weight: 700;
  font-weight: bold;
  color: #f1533d;
  font-size: 150%;
  line-height: 1;
}
.accordion-block__question {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 1em;
  font-size: 1rem;
  align-items: center;
  font-weight: 500;
}
@media print, screen and (min-width: 992px) {
  .accordion-block__question {
    font-size: 1.125rem;
  }
}
@media print {
  .accordion-block__question {
    font-size: 1.125rem;
  }
}
.accordion-block__question::before {
  align-self: center;
  content: "Q.";
  line-height: 1;
  color: #00b5ca;
}
@media print, screen and (min-width: 768px) {
  .accordion-block__question::before {
    align-self: center;
  }
}
@media print {
  .accordion-block__question::before {
    align-self: center;
  }
}
.accordion-block__question > div,
.accordion-block__question > span {
  flex: 1;
}
.accordion-block__answer::before {
  content: "A.";
  color: #f1533d;
}
.accordion-block__answer > div {
  flex: 1;
  word-break: break-all;
}
.accordion-block__title {
  display: block;
  line-height: 1.75;
  font-weight: 500;
  font-size: 1.25rem;
  color: #00a5da;
}
@media print, screen and (min-width: 992px) {
  .accordion-block__title {
    font-size: 1.5rem;
  }
}
@media print {
  .accordion-block__title {
    font-size: 1.5rem;
  }
}
.accordion-block__title strong {
  font-size: 115%;
}
.accordion-block .accordion-block__check:checked + .accordion-block__label + .accordion-block__content, .accordion-block--sp .accordion-block__check:checked + .accordion-block__label + .accordion-block__content {
  grid-template-rows: 1fr;
}
.accordion-block .accordion-block__check:checked + .accordion-block__label .accordion-block__plus::after, .accordion-block--sp .accordion-block__check:checked + .accordion-block__label .accordion-block__plus::after {
  transform: translate(-50%, -50%) rotate(0);
}
.accordion-block .accordion-block__check:checked + .accordion-block__label .accordion-header__plus::after, .accordion-block--sp .accordion-block__check:checked + .accordion-block__label .accordion-header__plus::after {
  transform: translate(-50%, -50%) rotate(0);
}
.accordion-block__content {
  width: 100%;
  display: grid;
  grid-template-rows: 0fr;
  transition: 250ms grid-template-rows ease;
}
@media print, screen and (min-width: 992px) {
  .accordion-block__content {
    display: flex;
    grid-template-rows: 1fr;
  }
}
@media print {
  .accordion-block__content {
    display: flex;
    grid-template-rows: 1fr;
  }
}
.accordion-block__content-inner {
  display: flex;
  width: 100%;
  overflow: hidden;
}

.accordion-header {
  display: flex;
  flex-direction: column;
  width: 100%;
}
@media print, screen and (min-width: 992px) {
  .accordion-header {
    flex-direction: row;
  }
}
@media print {
  .accordion-header {
    flex-direction: row;
  }
}
.accordion-header__image {
  width: 100%;
}
@media print, screen and (min-width: 992px) {
  .accordion-header__image {
    width: 35rem;
  }
}
@media print {
  .accordion-header__image {
    width: 35rem;
  }
}
.accordion-header__image img {
  width: 100%;
  height: auto;
}
.accordion-header__content {
  display: flex;
  align-items: center;
  width: 100%;
  gap: 0.5rem;
  padding: 1rem 0.5rem 1.5rem;
}
@media print, screen and (min-width: 992px) {
  .accordion-header__content {
    flex: 1;
    padding: 3rem;
  }
}
@media print {
  .accordion-header__content {
    flex: 1;
    padding: 3rem;
  }
}
.accordion-header__main {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  line-height: 1.5;
  flex: 1;
}
@media print, screen and (min-width: 992px) {
  .accordion-header__main {
    gap: 1rem;
  }
}
@media print {
  .accordion-header__main {
    gap: 1rem;
  }
}
.accordion-header__name {
  display: flex;
  width: 100%;
  color: #00a5da;
  font-size: 0.9375rem;
}
@media print, screen and (min-width: 992px) {
  .accordion-header__name {
    font-size: 1.125rem;
  }
}
@media print {
  .accordion-header__name {
    font-size: 1.125rem;
  }
}
.accordion-header__title {
  display: flex;
  width: 100%;
  font-family: "Shippori Mincho", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
  -webkit-font-smoothing: antialiased;
  font-weight: 400;
  font-size: 1.125rem;
}
@media print, screen and (min-width: 992px) {
  .accordion-header__title {
    font-size: 1.75rem;
  }
}
@media print {
  .accordion-header__title {
    font-size: 1.75rem;
  }
}

.btn, .btn-back,
.btn-submit, .btn--back, .btn--filled {
  position: relative;
  display: inline-flex;
  align-items: center;
  text-align: left;
  justify-content: space-between;
  min-width: 13.5rem;
  max-width: 100%;
  height: 3.5rem;
  padding: 0.25em 1rem 0.25em 1.5em;
  color: #132c41;
  line-height: 1.25;
  gap: 0.5em;
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
  font-size: 0.9375rem;
  border-radius: 99em;
  font-weight: 500;
  background-color: #fff;
  border: 1px solid #e3e6e9;
}
@media print, screen and (min-width: 992px) {
  .btn, .btn-back,
  .btn-submit, .btn--back, .btn--filled {
    height: 4rem;
    min-width: 15rem;
    padding-right: 1rem;
    font-size: 1rem;
  }
}
@media print {
  .btn, .btn-back,
  .btn-submit, .btn--back, .btn--filled {
    height: 4rem;
    min-width: 15rem;
    padding-right: 1rem;
    font-size: 1rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .btn, .btn-back,
  .btn-submit, .btn--back, .btn--filled {
    transition: 0.25s ease;
  }
  .btn:hover, .btn-back:hover,
  .btn-submit:hover, .btn--back:hover, .btn--filled:hover {
    color: #fff;
    background-color: #00a5da;
  }
  .btn:hover .btn__arrow, .btn-back:hover .btn__arrow,
  .btn-submit:hover .btn__arrow, .btn--back:hover .btn__arrow, .btn--filled:hover .btn__arrow {
    transform: translate(25%, 0);
  }
  .btn:hover .btn__icon svg, .btn-back:hover .btn__icon svg,
  .btn-submit:hover .btn__icon svg, .btn--back:hover .btn__icon svg, .btn--filled:hover .btn__icon svg {
    fill: currentColor;
  }
}
.btn--filled {
  background-color: #00a5da;
  color: #fff;
  border: none;
}
@media (hover: hover) and (pointer: fine) {
  .btn--filled:hover {
    filter: brightness(1.15);
  }
}
.btn__arrow {
  transition: 0.25s ease;
}
.btn__text {
  flex: 1;
  align-self: center;
}
.btn__icon {
  line-height: 1;
}
.btn__icon img,
.btn__icon svg {
  width: 1.2em;
  height: auto;
}
.btn__icon svg {
  fill: currentColor;
  vertical-align: middle;
}
.btn--back {
  flex-direction: row-reverse;
  justify-content: flex-start;
  padding: 0.25em 1.5em 0.25em 1em;
}
.btn--back .btn__arrow {
  transform: rotate(180deg);
  margin-right: 0.5em;
}
@media (hover: hover) and (pointer: fine) {
  .btn--back:hover .btn__arrow {
    transform: rotate(180deg) translate(25%, 0);
  }
}

.text-btn, .text-btn--back {
  position: relative;
  display: inline-flex;
  align-items: center;
  border: none;
  line-height: 1.25;
  gap: 1em;
  font-family: "Manrope", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  color: currentColor;
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
  font-size: 0.875rem;
}
@media print, screen and (min-width: 992px) {
  .text-btn, .text-btn--back {
    font-size: 1rem;
  }
}
@media print {
  .text-btn, .text-btn--back {
    font-size: 1rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .text-btn, .text-btn--back {
    transition: all 0.25s ease;
  }
}
.text-btn__text {
  border-bottom: 1px solid;
  padding-bottom: 0.25em;
  min-width: 7.5rem;
}
.text-btn__icon {
  line-height: 1;
}
.text-btn__icon img,
.text-btn__icon svg {
  width: 1.25em;
  height: auto;
}
.text-btn__icon svg {
  fill: currentColor;
  vertical-align: middle;
}
.text-btn__arrow {
  transition: all 0.25s ease;
}
@media (hover: hover) and (pointer: fine) {
  .text-btn:hover .text-btn__arrow, .text-btn--back:hover .text-btn__arrow {
    transform: translate(25%, 0);
  }
  .text-btn:hover .text-btn__icon svg, .text-btn--back:hover .text-btn__icon svg {
    fill: currentColor;
  }
  .text-btn:hover__text, .text-btn--back:hover__text {
    border-bottom: 1px solid;
    padding-bottom: 0.25em;
    min-width: 7.5rem;
  }
  .text-btn:hover__icon, .text-btn--back:hover__icon {
    line-height: 1;
  }
  .text-btn:hover__icon img, .text-btn--back:hover__icon img,
  .text-btn:hover__icon svg,
  .text-btn--back:hover__icon svg {
    width: 1.25em;
    height: auto;
  }
  .text-btn:hover__icon svg, .text-btn--back:hover__icon svg {
    fill: currentColor;
    vertical-align: middle;
  }
  .text-btn:hover__arrow, .text-btn--back:hover__arrow {
    transition: all 0.25s ease;
  }
}
.text-btn--back {
  flex-direction: row-reverse;
}
@media (hover: hover) and (pointer: fine) {
  .text-btn--back:hover .text-btn__arrow {
    transform: rotate(180deg) translate(25%, 0);
  }
}
.text-btn--back .text-btn__arrow {
  transform: rotate(180deg);
}

.btns-row {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  gap: 0.5rem;
}
@media print, screen and (min-width: 768px) {
  .btns-row {
    gap: 1rem;
  }
}
@media print {
  .btns-row {
    gap: 1rem;
  }
}
.btns-row--sm {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.btns-row > [class^=btn] {
  max-width: 100%;
  min-width: 8rem;
}
@media print, screen and (min-width: 768px) {
  .btns-row > [class^=btn] {
    min-width: 10rem;
  }
}
@media print {
  .btns-row > [class^=btn] {
    min-width: 10rem;
  }
}

.form-btns {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
@media print, screen and (min-width: 992px) {
  .form-btns {
    gap: 2.5rem;
  }
}
@media print {
  .form-btns {
    gap: 2.5rem;
  }
}
.form-btns .wpcf7-spinner {
  position: absolute;
}

.btn-back,
.btn-submit {
  justify-content: center;
  text-align: center;
  padding: 0.25em 1em;
  min-width: 0;
  width: 100%;
  max-width: 20rem;
  background-color: #00a5da;
  color: #fff;
}
@media print, screen and (min-width: 768px) {
  .btn-back,
  .btn-submit {
    width: 15rem;
  }
}
@media print {
  .btn-back,
  .btn-submit {
    width: 15rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .btn-back:hover,
  .btn-submit:hover {
    filter: brightness(1.15);
  }
}
.btn-back:disabled,
.btn-submit:disabled {
  opacity: 0.3;
  pointer-events: none;
}

.btn-submit:disabled {
  pointer-events: none;
}

.btn-back {
  background: #ccd;
  border: none;
  color: #fff;
}
.btn-back:visited {
  color: #fff;
}
@media (hover: hover) and (pointer: fine) {
  .btn-back:hover {
    background-color: #999;
    color: #fff;
  }
}

.anchor-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75em;
  padding: 0;
  margin: 0;
  list-style: none;
  width: 100%;
  font-size: 0.75rem;
  padding-top: 1rem;
  padding-left: 1rem;
}
@media print, screen and (min-width: 992px) {
  .anchor-list {
    flex-direction: row;
    gap: 2em;
    font-size: 1rem;
    padding-top: 1.5rem;
    padding-left: 5rem;
  }
}
@media print {
  .anchor-list {
    flex-direction: row;
    gap: 2em;
    font-size: 1rem;
    padding-top: 1.5rem;
    padding-left: 5rem;
  }
}
.anchor-list__item {
  position: relative;
  display: flex;
  line-height: 1.25;
  cursor: pointer;
}
@media print, screen and (min-width: 992px) {
  .anchor-list__item {
    transition: all 0.25s ease;
  }
}
@media print {
  .anchor-list__item {
    transition: all 0.25s ease;
  }
}

.anchor-btn {
  display: flex;
  align-items: center;
  min-width: 4rem;
  height: 2rem;
  gap: 0.5em;
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
  border-bottom: 2px solid #dddddd;
}
@media print, screen and (min-width: 992px) {
  .anchor-btn {
    min-width: 8rem;
    height: 3.5rem;
  }
}
@media print {
  .anchor-btn {
    min-width: 8rem;
    height: 3.5rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .anchor-btn:hover {
    color: #00a5da;
  }
  .anchor-btn:hover .anchor-btn__arrow {
    transform: rotate(90deg) translate(25%, 0);
  }
}
.anchor-btn__text {
  flex: 1;
}
.anchor-btn__arrow {
  transition: 0.25s ease;
  transform: rotate(90deg);
}

.bg-dotted {
  position: relative;
}
.bg-dotted::before {
  position: absolute;
  display: block;
  content: " ";
  top: 0;
  bottom: 0;
  left: 0.5rem;
  right: 0.5rem;
  background-image: url(/images/bg-dotted.png);
  background-repeat: repeat;
  background-size: 2.5rem 2rem;
  border-radius: 1.5rem;
}
@media print, screen and (min-width: 992px) {
  .bg-dotted::before {
    border-radius: 2.5rem;
    left: 1.5rem;
    right: 1.5rem;
  }
}
@media print {
  .bg-dotted::before {
    border-radius: 2.5rem;
    left: 1.5rem;
    right: 1.5rem;
  }
}
.bg-dotted .container {
  position: relative;
  z-index: 10;
}

.bg-blue {
  background-color: #afe0f5;
}
.bg-blue::before {
  position: absolute;
  display: block;
  content: " ";
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-image: url("../images/noise.png");
  background-size: 250px 250px;
  opacity: 0.25;
  will-change: background-size;
}
@keyframes noise {
  0% {
    background-position: 0 0;
  }
  50% {
    background-position: 7.75rem 8.75rem;
  }
  100% {
    background-position: 2.5rem -7.75rem;
  }
}
.bg-blue .container,
.bg-blue .container--sm {
  position: relative;
}

a.blog-item {
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
}
@media (hover: hover) and (pointer: fine) {
  a.blog-item {
    transition: 0.25s ease;
  }
  a.blog-item:hover {
    color: #555;
  }
  a.blog-item:hover .blog-item__image img {
    opacity: 0.75;
    transform: scale(1.025);
  }
  a.blog-item:hover .blog-item__arrow {
    transform: translateX(20%);
  }
}

.blog-item {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: flex-start;
  background-color: #fff;
  border-radius: 1rem;
  overflow: hidden;
}
.blog-item__image {
  position: relative;
  display: flex;
  width: 100%;
  height: 0;
  padding-bottom: 66.6666666667%;
  overflow: hidden;
  border-radius: 1rem;
  border-bottom-left-radius: 0;
}
.blog-item__image img {
  max-width: inherit;
  max-height: inherit;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  left: 0;
  top: 0;
  transition: all 0.45s ease;
}
.blog-item__meta {
  display: flex;
  align-items: center;
  gap: 1rem;
  position: absolute;
  left: 0;
  bottom: 0;
  min-width: 7.5rem;
  background-color: #fff;
  width: auto;
  border-top-right-radius: 0.5rem;
  z-index: 10;
  padding: 1rem;
  padding-bottom: 0;
}
@media print, screen and (min-width: 992px) {
  .blog-item__meta {
    gap: 1.5rem;
    border-top-right-radius: 1rem;
  }
}
@media print {
  .blog-item__meta {
    gap: 1.5rem;
    border-top-right-radius: 1rem;
  }
}
.blog-item__meta::after, .blog-item__meta::before {
  position: absolute;
  display: block;
  content: " ";
  font-size: 0.5rem;
  width: 1em;
  height: 1em;
  background-image: url(/images/corner.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: left top;
  transform: rotate(-90deg);
}
.blog-item__meta::before {
  bottom: 100%;
  left: 0;
}
.blog-item__meta::after {
  left: 100%;
  bottom: 0;
}
.blog-item__time {
  display: flex;
  opacity: 0.5;
  font-family: "Manrope", sans-serif;
  font-weight: 700;
  line-height: 1.25;
  font-size: 0.875rem;
}
.blog-item__main {
  display: flex;
  flex-direction: column;
  width: 100%;
  flex: 1;
  gap: 0.5rem;
  padding: 1rem 1rem 2rem;
}
.blog-item__text {
  line-height: 1.5;
  font-size: 1rem;
}
@media print, screen and (min-width: 992px) {
  .blog-item__text {
    font-size: 1.125rem;
  }
}
@media print {
  .blog-item__text {
    font-size: 1.125rem;
  }
}

.box, .box--dark, .box--outline, .box--white {
  background-color: #eaeff4;
  display: flex;
  width: 100%;
  flex-direction: column;
  flex: 1;
  border-radius: 0.5rem;
}
@media print, screen and (min-width: 992px) {
  .box, .box--dark, .box--outline, .box--white {
    border-radius: 1rem;
  }
}
@media print {
  .box, .box--dark, .box--outline, .box--white {
    border-radius: 1rem;
  }
}
.box--white {
  background-color: #fff;
}
.box__title, .box__title--sm {
  position: relative;
  display: flex;
  font-weight: 500;
  line-height: 1.5;
  font-size: 1.125rem;
}
@media print, screen and (min-width: 992px) {
  .box__title, .box__title--sm {
    font-size: 1.25rem;
  }
}
@media print {
  .box__title, .box__title--sm {
    font-size: 1.25rem;
  }
}
.box__title--sm {
  font-size: 1rem;
}
@media print, screen and (min-width: 992px) {
  .box__title--sm {
    font-size: 1.125rem;
  }
}
@media print {
  .box__title--sm {
    font-size: 1.125rem;
  }
}
.box__title > p, .box__title--sm > p,
.box__title > span,
.box__title--sm > span {
  position: relative;
  background-color: #132c41;
  color: #fff;
  padding: 0.25em 1em;
  min-width: 5em;
  border-bottom-right-radius: 0.5rem;
}
.box__content, .box__content--sm, .box__content--lg {
  padding: 1rem;
}
@media print, screen and (min-width: 992px) {
  .box__content, .box__content--sm, .box__content--lg {
    padding: 2rem 2.5rem;
  }
}
@media print {
  .box__content, .box__content--sm, .box__content--lg {
    padding: 2rem 2.5rem;
  }
}
.box__content--lg {
  padding: 1.5rem 1rem;
}
@media print, screen and (min-width: 992px) {
  .box__content--lg {
    padding: 4rem 5rem;
  }
}
@media print {
  .box__content--lg {
    padding: 4rem 5rem;
  }
}
.box__content--sm {
  padding: 1rem 0.5rem;
}
@media print, screen and (min-width: 992px) {
  .box__content--sm {
    padding: 1.5rem;
  }
}
@media print {
  .box__content--sm {
    padding: 1.5rem;
  }
}
.box--outline {
  background-color: transparent;
  border: 2px solid #132c41;
  overflow: hidden;
}
.box--white {
  background-color: #fff;
}
.box--dark {
  background-color: rgba(34, 68, 136, 0.5);
  color: #fff;
}

strong {
  font-weight: 500;
}

.breadcrumbs {
  position: relative;
  display: flex;
  z-index: 10;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.625rem;
}
@media print, screen and (min-width: 992px) {
  .breadcrumbs {
    padding-top: 1rem;
    padding-bottom: 1rem;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
    font-size: 0.8125rem;
  }
}
@media print {
  .breadcrumbs {
    padding-top: 1rem;
    padding-bottom: 1rem;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
    font-size: 0.8125rem;
  }
}
.breadcrumbs ul,
.breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  line-height: 1.25;
}
.breadcrumbs ul li,
.breadcrumbs ol li {
  padding: 0;
  margin: 0;
  display: flex;
  align-items: center;
  position: relative;
  letter-spacing: 0;
}
.breadcrumbs ul li::before,
.breadcrumbs ol li::before {
  position: relative;
  display: block;
  content: "";
  height: 65%;
  width: 1px;
  background-color: #132c41;
  opacity: 0.15;
  transform: skew(-30deg, 0);
  margin-left: 1em;
  margin-right: 1em;
}
.breadcrumbs ul li:first-child::before,
.breadcrumbs ol li:first-child::before {
  content: none;
}
.breadcrumbs ul li a,
.breadcrumbs ol li a {
  color: #aaa;
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
  z-index: 2;
}
@media (hover: hover) and (pointer: fine) {
  .breadcrumbs ul li a,
  .breadcrumbs ol li a {
    transition: all 0.25s ease;
  }
  .breadcrumbs ul li a:hover,
  .breadcrumbs ol li a:hover {
    color: #132c41;
  }
}
.breadcrumbs ul li > a,
.breadcrumbs ul li > span,
.breadcrumbs ol li > a,
.breadcrumbs ol li > span {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2em;
}
.breadcrumbs__home {
  display: flex;
  align-items: center;
  gap: 0.25em;
}
.breadcrumbs__icon {
  line-height: 1;
}
.breadcrumbs__icon svg {
  vertical-align: middle;
  width: 1em;
  height: auto;
}

.category-block {
  display: flex;
  flex-direction: column;
  border: 1px solid #dddddd;
  border-radius: 2em;
  overflow: hidden;
}
@media print, screen and (min-width: 992px) {
  .category-block {
    max-width: 20rem;
    border-radius: 0.5rem;
    overflow: hidden;
    background-color: #fff;
  }
}
@media print {
  .category-block {
    max-width: 20rem;
    border-radius: 0.5rem;
    overflow: hidden;
    background-color: #fff;
  }
}
.category-block__title {
  position: relative;
  display: flex;
  flex: 1;
  align-items: baseline;
  min-height: 3rem;
  padding: 1rem;
  line-height: 1.25;
  color: #132c41;
  gap: 0.5em;
}
@media print, screen and (min-width: 992px) {
  .category-block__title {
    padding: 1rem;
    min-height: 2.5rem;
  }
}
@media print {
  .category-block__title {
    padding: 1rem;
    min-height: 2.5rem;
  }
}
.category-block__label {
  font-size: 75%;
  font-family: "Manrope", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  white-space: nowrap;
}
@media print, screen and (min-width: 992px) {
  .category-block__label {
    padding: 0.5em;
    min-width: 4em;
  }
}
@media print {
  .category-block__label {
    padding: 0.5em;
    min-width: 4em;
  }
}
.category-block__current {
  color: #00a5da;
  color: var(--primary-color, #00a5da);
  padding-left: 0.5em;
  border-left: 1px solid #dddddd;
}
@media print, screen and (min-width: 992px) {
  .category-block__current {
    padding-top: 0.45em;
    padding-bottom: 0.45em;
  }
}
@media print {
  .category-block__current {
    padding-top: 0.45em;
    padding-bottom: 0.45em;
  }
}
.category-block__icon {
  position: relative;
  width: 1em;
  height: 1em;
}
.category-block__icon::before, .category-block__icon::after {
  position: absolute;
  display: block;
  content: " ";
  top: 50%;
  width: 1em;
  height: 2px;
  border-radius: 999em;
  background-color: #00a5da;
  background-color: var(--primary-color, #00a5da);
  transform: translate(0, -50%);
}
.category-block__icon::after {
  transition: all 0.25s ease;
  transform: translate(0, -50%) rotate(90deg);
}
@media print, screen and (min-width: 992px) {
  .category-block__icon {
    display: none;
  }
}
@media print {
  .category-block__icon {
    display: none;
  }
}
.category-block__list {
  background-color: #fff;
}
@media print, screen and (min-width: 992px) {
  .category-block__list {
    width: 100%;
  }
}
@media print {
  .category-block__list {
    width: 100%;
  }
}

@media print, screen and (min-width: 992px) {
  .accordion-block--sp.category-block {
    border: none;
  }
}
@media print {
  .accordion-block--sp.category-block {
    border: none;
  }
}
@media print, screen and (min-width: 992px) {
  .accordion-block--sp .category-block__title {
    align-items: stretch;
    padding: 0.5rem 1rem;
    min-height: 0;
    gap: 1em;
  }
}
@media print {
  .accordion-block--sp .category-block__title {
    align-items: stretch;
    padding: 0.5rem 1rem;
    min-height: 0;
    gap: 1em;
  }
}
@media print, screen and (min-width: 992px) {
  .accordion-block--sp .category-block__label {
    flex: 1;
    font-size: 125%;
  }
}
@media print {
  .accordion-block--sp .category-block__label {
    flex: 1;
    font-size: 125%;
  }
}
@media print, screen and (min-width: 992px) {
  .accordion-block--sp .category-block__current {
    display: none;
  }
}
@media print {
  .accordion-block--sp .category-block__current {
    display: none;
  }
}

.category-list, .category-list--row-pc, .category-list--child {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  width: 100%;
}
@media print, screen and (min-width: 992px) {
  .category-list, .category-list--row-pc, .category-list--child {
    font-size: 1.125rem;
  }
}
@media print {
  .category-list, .category-list--row-pc, .category-list--child {
    font-size: 1.125rem;
  }
}
.category-list > li, .category-list--row-pc > li, .category-list--child > li {
  display: flex;
  flex-direction: column;
  padding: 0;
  margin: 0;
  width: 100%;
  border-top: 1px dotted #dddddd;
}
@media print, screen and (min-width: 992px) {
  .category-list > li, .category-list--row-pc > li, .category-list--child > li {
    width: auto;
    border-top: 1px dotted rgb(195.5, 195.5, 195.5);
  }
}
@media print {
  .category-list > li, .category-list--row-pc > li, .category-list--child > li {
    width: auto;
    border-top: 1px dotted rgb(195.5, 195.5, 195.5);
  }
}
.category-list > li:first-child, .category-list--row-pc > li:first-child, .category-list--child > li:first-child {
  border-top: none;
}
.category-list > li.current-cat a, .category-list--row-pc > li.current-cat a, .category-list--child > li.current-cat a {
  background-color: #eaeff4;
}
.category-list--child {
  font-size: 90%;
  padding-left: 1.05em;
  border-left: 0.25em solid #ddd;
  margin-bottom: 0.5em;
}
.category-list--child > li {
  border-top: 1px dotted #ddd;
}
.category-list--child > li:first-child {
  border-top: 1px dotted #ddd;
}
.category-list--child > li > a {
  min-height: 3em;
  padding: 0.25em 0;
}
.category-list a, .category-list--row-pc a, .category-list--child a {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 3.5em;
  padding: 0.75em 1em;
  width: 100%;
  gap: 1em;
  line-height: 1.25;
  color: #132c41;
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
}
.category-list a:active, .category-list--row-pc a:active, .category-list--child a:active, .category-list a:focus, .category-list--row-pc a:focus, .category-list--child a:focus {
  color: #132c41;
}
.category-list a > span, .category-list--row-pc a > span, .category-list--child a > span {
  flex: 1;
}
@media print, screen and (min-width: 992px) {
  .category-list a, .category-list--row-pc a, .category-list--child a {
    padding: 0.5rem 1rem;
  }
}
@media print {
  .category-list a, .category-list--row-pc a, .category-list--child a {
    padding: 0.5rem 1rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .category-list a, .category-list--row-pc a, .category-list--child a {
    transition: all 0.25s ease;
  }
  .category-list a:hover, .category-list--row-pc a:hover, .category-list--child a:hover {
    color: #00a5da;
    color: var(--primary-color, #00a5da);
    background-color: rgba(0, 165, 218, 0.05);
  }
}
@media print, screen and (min-width: 992px) {
  .category-list--row-pc {
    flex-direction: row;
    gap: 1em 2em;
    flex-wrap: wrap;
  }
}
@media print {
  .category-list--row-pc {
    flex-direction: row;
    gap: 1em 2em;
    flex-wrap: wrap;
  }
}
@media print, screen and (min-width: 992px) {
  .category-list--row-pc > li {
    border-top: none !important;
  }
}
@media print {
  .category-list--row-pc > li {
    border-top: none !important;
  }
}
@media print, screen and (min-width: 992px) {
  .category-list--row-pc > li.current-cat a {
    font-weight: 500;
    background-color: transparent !important;
    border-color: #00a5da;
    border-color: var(--primary-color, #00a5da);
  }
}
@media print {
  .category-list--row-pc > li.current-cat a {
    font-weight: 500;
    background-color: transparent !important;
    border-color: #00a5da;
    border-color: var(--primary-color, #00a5da);
  }
}
@media print and (hover: hover) and (pointer: fine), screen and (hover: hover) and (pointer: fine) and (min-width: 992px) {
  .category-list--row-pc a:hover {
    background-color: transparent;
  }
}
@media print and (hover: hover) and (pointer: fine) {
  .category-list--row-pc a:hover {
    background-color: transparent;
  }
}
@media print, screen and (min-width: 992px) {
  .category-list--row-pc a {
    border-bottom: 3px solid transparent;
    padding: 0;
  }
}
@media print {
  .category-list--row-pc a {
    border-bottom: 3px solid transparent;
    padding: 0;
  }
}

.dl {
  margin: 0;
  padding: 0;
  line-height: 1.5;
  display: flex;
  flex-direction: column;
}
.dl dt {
  font-weight: 500;
  padding: 0;
  margin: 0;
  margin-top: 1em;
}
.dl dt:first-of-type {
  margin-top: 0;
}
.dl dd {
  padding: 0;
  margin: 0;
  margin-top: 0.5em;
}

.horizontal-dl, .horizontal-dl--lg, .horizontal-dl--sm, .horizontal-dl--xs {
  margin: 0;
  padding: 0;
  line-height: 1.5;
  display: flex;
  flex-wrap: wrap;
}
.horizontal-dl dt, .horizontal-dl--lg dt, .horizontal-dl--sm dt, .horizontal-dl--xs dt {
  font-weight: 500;
  width: 9em;
  padding: 0;
  margin: 0;
  margin-top: 0.75em;
}
.horizontal-dl dt:first-of-type, .horizontal-dl--lg dt:first-of-type, .horizontal-dl--sm dt:first-of-type, .horizontal-dl--xs dt:first-of-type {
  margin-top: 0;
}
.horizontal-dl dt.horizontal-dl__point, .horizontal-dl--lg dt.horizontal-dl__point, .horizontal-dl--sm dt.horizontal-dl__point, .horizontal-dl--xs dt.horizontal-dl__point {
  padding-left: 1em;
  position: relative;
}
.horizontal-dl dt.horizontal-dl__point::before, .horizontal-dl--lg dt.horizontal-dl__point::before, .horizontal-dl--sm dt.horizontal-dl__point::before, .horizontal-dl--xs dt.horizontal-dl__point::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 0.25em;
  height: 0.25em;
  border-radius: 50%;
  background-color: #00a5da;
}
.horizontal-dl dd, .horizontal-dl--lg dd, .horizontal-dl--sm dd, .horizontal-dl--xs dd {
  width: calc(100% - 9em);
  padding: 0;
  margin: 0;
  margin-top: 0.75em;
  padding-left: 0.5em;
}
.horizontal-dl dd:first-of-type, .horizontal-dl--lg dd:first-of-type, .horizontal-dl--sm dd:first-of-type, .horizontal-dl--xs dd:first-of-type {
  margin-top: 0;
}
.horizontal-dl--xs dt {
  width: 3em;
  white-space: nowrap;
  font-weight: normal;
}
.horizontal-dl--xs dd {
  width: calc(100% - 3em);
}
.horizontal-dl--sm dt {
  width: 6em;
}
.horizontal-dl--sm dd {
  width: calc(100% - 6em);
}
.horizontal-dl--lg {
  flex-direction: column;
}
@media print, screen and (min-width: 992px) {
  .horizontal-dl--lg {
    flex-direction: row;
  }
}
@media print {
  .horizontal-dl--lg {
    flex-direction: row;
  }
}
.horizontal-dl--lg dt {
  width: 100%;
}
@media print, screen and (min-width: 992px) {
  .horizontal-dl--lg dt {
    width: 12em;
  }
}
@media print {
  .horizontal-dl--lg dt {
    width: 12em;
  }
}
.horizontal-dl--lg dd {
  margin-top: 0;
  width: 100%;
}
@media print, screen and (min-width: 992px) {
  .horizontal-dl--lg dd {
    margin-top: 1em;
    width: calc(100% - 12em);
  }
}
@media print {
  .horizontal-dl--lg dd {
    margin-top: 1em;
    width: calc(100% - 12em);
  }
}

.label-dl, .label-dl--lined, .label-dl--xl, .label-dl--lg {
  margin: 0;
  padding: 0;
  line-height: 1.5;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
.label-dl dt, .label-dl--lined dt, .label-dl--xl dt, .label-dl--lg dt {
  display: flex;
  font-weight: 500;
  width: 4em;
  padding: 0;
  margin: 0;
  margin-top: 0.75em;
}
.label-dl dt:first-of-type, .label-dl--lined dt:first-of-type, .label-dl--xl dt:first-of-type, .label-dl--lg dt:first-of-type {
  margin-top: 0;
}
.label-dl dt.white > span, .label-dl--lined dt.white > span, .label-dl--xl dt.white > span, .label-dl--lg dt.white > span {
  background-color: #fff;
  color: #00a5da;
}
.label-dl dt > span, .label-dl--lined dt > span, .label-dl--xl dt > span, .label-dl--lg dt > span {
  display: flex;
  width: 100%;
  border-radius: 0 10em 10em 0;
  background-color: #996655;
  color: #fff;
  font-size: 85%;
  padding: 0.25em 0.5em;
  line-height: 1.25;
}
.label-dl dd, .label-dl--lined dd, .label-dl--xl dd, .label-dl--lg dd {
  padding: 0;
  margin: 0;
  margin-top: 0.5em;
  padding-left: 0.5em;
  width: 100%;
}
@media print, screen and (min-width: 992px) {
  .label-dl dd, .label-dl--lined dd, .label-dl--xl dd, .label-dl--lg dd {
    margin-top: 0.75em;
    padding-left: 1em;
    width: calc(100% - 4em);
  }
  .label-dl dd:first-of-type, .label-dl--lined dd:first-of-type, .label-dl--xl dd:first-of-type, .label-dl--lg dd:first-of-type {
    margin-top: 0;
  }
}
@media print {
  .label-dl dd, .label-dl--lined dd, .label-dl--xl dd, .label-dl--lg dd {
    margin-top: 0.75em;
    padding-left: 1em;
    width: calc(100% - 4em);
  }
  .label-dl dd:first-of-type, .label-dl--lined dd:first-of-type, .label-dl--xl dd:first-of-type, .label-dl--lg dd:first-of-type {
    margin-top: 0;
  }
}
.label-dl--lg dt {
  width: 7em;
}
@media print, screen and (min-width: 992px) {
  .label-dl--lg dd {
    width: calc(100% - 7em);
  }
}
@media print {
  .label-dl--lg dd {
    width: calc(100% - 7em);
  }
}
.label-dl--xl dt {
  width: 10em;
}
@media print, screen and (min-width: 992px) {
  .label-dl--xl dd {
    width: calc(100% - 10em);
  }
}
@media print {
  .label-dl--xl dd {
    width: calc(100% - 10em);
  }
}
.label-dl--lined dt {
  padding-bottom: 0.8em;
}
.label-dl--lined dd {
  border-bottom: 2px dotted #dddddd;
  padding-bottom: 0.75em;
}

.flow-list {
  padding: 0;
  margin: 0;
  list-style: none;
  counter-reset: number;
  display: flex;
  flex-direction: column;
  width: 100%;
}
.flow-list__item {
  position: relative;
  display: flex;
  width: 100%;
  gap: 0.5rem;
  padding: 0;
  padding-bottom: 1.5rem;
  margin: 0;
}
@media print, screen and (min-width: 992px) {
  .flow-list__item {
    padding-bottom: 2rem;
    gap: 1.5rem;
  }
}
@media print {
  .flow-list__item {
    padding-bottom: 2rem;
    gap: 1.5rem;
  }
}
.flow-list__item:last-child {
  padding-bottom: 0;
}
.flow-list__item:last-child::before {
  content: none;
}
.flow-list__item::before {
  position: absolute;
  content: " ";
  display: block;
  width: 1px;
  top: 0;
  bottom: 0;
  left: 0.75rem;
  background-color: #00a5da;
  background-color: var(--primary-color, #00a5da);
}
@media print, screen and (min-width: 992px) {
  .flow-list__item::before {
    width: 2px;
    left: 1.5rem;
  }
}
@media print {
  .flow-list__item::before {
    width: 2px;
    left: 1.5rem;
  }
}
.flow-list__number {
  left: 0;
  top: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  text-transform: uppercase;
  font-weight: 700;
  border-radius: 50%;
  background-color: #00a5da;
  background-color: var(--primary-color, #00a5da);
  font-weight: 500;
  font-size: 1rem;
  width: 1.5rem;
  height: 1.5rem;
  color: #fff;
  font-family: "Manrope", sans-serif;
  font-weight: 700;
}
@media print, screen and (min-width: 768px) {
  .flow-list__number {
    font-size: 1.5rem;
    width: 3rem;
    height: 3rem;
  }
}
@media print {
  .flow-list__number {
    font-size: 1.5rem;
    width: 3rem;
    height: 3rem;
  }
}
.flow-list__number::after {
  position: relative;
  display: block;
  line-height: 1;
  counter-increment: number;
  content: counter(number);
}
.flow-list__main {
  display: flex;
  width: 100%;
}
@media print, screen and (min-width: 992px) {
  .flow-list__main {
    flex: 1;
  }
}
@media print {
  .flow-list__main {
    flex: 1;
  }
}
.flow-list__card {
  display: flex;
  width: 100%;
  flex-direction: column;
  background-color: #eaeff4;
  border-radius: 0.5rem;
  overflow: hidden;
}
@media print, screen and (min-width: 992px) {
  .flow-list__card {
    flex-direction: row;
    border-radius: 1rem;
  }
}
@media print {
  .flow-list__card {
    flex-direction: row;
    border-radius: 1rem;
  }
}
.flow-list__image {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 66.6666666667%;
  overflow: hidden;
}
@media print, screen and (min-width: 992px) {
  .flow-list__image {
    width: 20rem;
    padding-bottom: 0;
    height: 100%;
    min-height: 15rem;
  }
}
@media print {
  .flow-list__image {
    width: 20rem;
    padding-bottom: 0;
    height: 100%;
    min-height: 15rem;
  }
}
.flow-list__image img {
  max-width: inherit;
  max-height: inherit;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  left: 0;
  top: 0;
  transition: all 0.45s ease;
}
.flow-list__content {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 0.5rem;
  background-color: #eaeff4;
  border-radius: 0.5rem;
  padding: 1rem;
}
@media print, screen and (min-width: 992px) {
  .flow-list__content {
    flex: 1;
    gap: 1rem;
    padding: 2.5rem;
  }
}
@media print {
  .flow-list__content {
    flex: 1;
    gap: 1rem;
    padding: 2.5rem;
  }
}
.flow-list__title {
  line-height: 1.5;
  line-height: 1.75;
  font-weight: 500;
  font-size: 1.25rem;
  display: flex;
  align-items: center;
  gap: 0.5em;
  padding-bottom: 0.25em;
  border-bottom: 2px solid #00a5da;
  border-bottom: 2px solid var(--primary-color, #00a5da);
}
@media print, screen and (min-width: 992px) {
  .flow-list__title {
    font-size: 1.5rem;
  }
}
@media print {
  .flow-list__title {
    font-size: 1.5rem;
  }
}
.flow-list__title strong {
  font-size: 115%;
}
.flow-list__cat {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-color: #00a5da;
  color: #fff;
  border-radius: 0.5em;
  line-height: 1.25;
  padding: 0.25em 1em;
  font-size: 0.8125rem;
}
@media print, screen and (min-width: 992px) {
  .flow-list__cat {
    font-size: 1rem;
  }
}
@media print {
  .flow-list__cat {
    font-size: 1rem;
  }
}
.flow-list__time {
  display: flex;
  justify-content: flex-end;
  flex: 1;
  font-size: 0.875rem;
}
@media print, screen and (min-width: 992px) {
  .flow-list__time {
    font-size: 1.125rem;
  }
}
@media print {
  .flow-list__time {
    font-size: 1.125rem;
  }
}
.flow-list__text {
  display: flex;
  width: 100%;
  flex-direction: column;
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 1em;
  font-size: 1rem;
  gap: 0;
}
@media print, screen and (min-width: 992px) {
  .flow-list__text {
    font-size: 1.125rem;
  }
}
@media print {
  .flow-list__text {
    font-size: 1.125rem;
  }
}

.form-table, .form-table--confirmed {
  display: block;
  line-height: 1.3;
  border-top: 1px solid #e6e6e6;
}
.form-table tbody, .form-table--confirmed tbody {
  display: block;
}
.form-table--confirmed {
  font-size: 85%;
}
@media print, screen and (min-width: 992px) {
  .form-table--confirmed .form-table__head {
    width: 7.5rem;
  }
}
@media print {
  .form-table--confirmed .form-table__head {
    width: 7.5rem;
  }
}
.form-table__row {
  display: block;
  background: none;
  border-bottom: 1px solid #e6e6e6;
  margin-bottom: 0;
}
@media print, screen and (min-width: 992px) {
  .form-table__row {
    display: flex;
    align-items: center;
  }
}
@media print {
  .form-table__row {
    display: flex;
    align-items: center;
  }
}
.form-table__head, .form-table__content {
  display: block;
  padding: 0.5rem 0;
}
@media print, screen and (min-width: 992px) {
  .form-table__head, .form-table__content {
    padding: 1rem 0;
  }
}
@media print {
  .form-table__head, .form-table__content {
    padding: 1rem 0;
  }
}
.form-table__head {
  position: relative;
  text-align: left;
  font-weight: 500;
  margin-top: 0.5rem;
  font-size: 90%;
}
@media print, screen and (min-width: 992px) {
  .form-table__head {
    margin-top: 0;
    width: 15rem;
  }
}
@media print {
  .form-table__head {
    margin-top: 0;
    width: 15rem;
  }
}
.form-table__head label {
  font-weight: 500;
}
.form-table__head .mark-req {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
}
.form-table__head .min,
.form-table__head small {
  display: block;
  font-size: 85%;
  color: #666;
  font-weight: normal;
  margin-top: 0.3125rem;
  line-height: 1.5;
}
@media print, screen and (min-width: 992px) {
  .form-table__content {
    flex: 1;
    padding-left: 1.5rem;
    min-height: 4.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.5em;
  }
}
@media print {
  .form-table__content {
    flex: 1;
    padding-left: 1.5rem;
    min-height: 4.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.5em;
  }
}
.form-table__content .min {
  font-size: 85%;
  font-weight: normal;
}

.form-row {
  display: flex;
  gap: 0.5em;
}

.form-adornments {
  display: flex;
  align-items: center;
}
.form-adornments__before {
  opacity: 0.6;
  font-size: 85%;
  margin-right: 0.5em;
}
.form-adornments__after {
  opacity: 0.6;
  font-size: 85%;
  margin-left: 0.5em;
}
.form-adornments .wpcf7-form-control-wrap {
  flex: 1;
}

.form-control, .form-control--white, .form-control--inline {
  width: 100%;
  padding: 0.5em;
  box-shadow: none;
  border: 1px solid #eee;
  border-radius: 3px;
  background-color: #fff;
  font-size: 16px;
  height: 2.5rem;
}
@media print, screen and (min-width: 992px) {
  .form-control, .form-control--white, .form-control--inline {
    padding: 1em 0.5em;
    font-size: 1.125rem;
    height: 3.5rem;
  }
}
@media print {
  .form-control, .form-control--white, .form-control--inline {
    padding: 1em 0.5em;
    font-size: 1.125rem;
    height: 3.5rem;
  }
}
.form-control--inline {
  width: auto;
  max-width: 100%;
  display: inline-block;
}
.form-control--white {
  background-color: #fff;
}
.form-control::-moz-placeholder, .form-control--inline::-moz-placeholder, .form-control--white::-moz-placeholder {
  color: #999;
}
.form-control::placeholder, .form-control--inline::placeholder, .form-control--white::placeholder {
  color: #999;
}

input:disabled {
  background-color: #ddd;
  opacity: 0.3;
}

.radio-label {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
  align-items: center;
  line-height: 1.5;
  gap: 0.5em;
  cursor: pointer;
  min-width: 6em;
}
.radio-label__wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 1em 1.5em;
}

.radio-label .wpcf7-list-item {
  display: block;
}

.radio-label--inlineblock .wpcf7-list-item {
  display: inline-block;
}
@media print, screen and (min-width: 992px) {
  .radio-label--inlineblock .wpcf7-list-item {
    min-width: 7.5rem;
  }
}
@media print {
  .radio-label--inlineblock .wpcf7-list-item {
    min-width: 7.5rem;
  }
}

input[type=checkbox] {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 1.25em;
  height: 1.25em;
  border: 1px solid #ddd;
  border-radius: 2px;
  background-color: #fff;
  box-shadow: inset 0px 6px 10px 0px rgba(0, 0, 0, 0.1);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
input[type=checkbox]:checked:before {
  position: relative;
  transform: translate(0, -20%) rotate(50deg);
  font-size: 0.65em;
  width: 0.7em;
  height: 1em;
  border-right: 2px solid #132c41;
  border-bottom: 2px solid #132c41;
  content: "";
}

input[type=radio] {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 1.25em;
  height: 1.25em;
  border: 2px solid #dddddd;
  border-radius: 50%;
  background-color: #fff;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
input[type=radio]:checked:before {
  position: relative;
  font-size: 0.65em;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  background-color: rgb(14, 196.4082568807, 255);
  content: "";
}

.radio-block label,
.radio-inlineblock label {
  display: inline-flex;
  align-items: center;
  margin: 3px 0;
  font-weight: normal;
}
.radio-block label .wpcf7-list-item-label,
.radio-inlineblock label .wpcf7-list-item-label {
  display: inline-flex;
  vertical-align: middle;
  margin-right: 0.5rem;
}
@media print, screen and (min-width: 992px) {
  .radio-block label .wpcf7-list-item-label,
  .radio-inlineblock label .wpcf7-list-item-label {
    margin-right: 1rem;
  }
}
@media print {
  .radio-block label .wpcf7-list-item-label,
  .radio-inlineblock label .wpcf7-list-item-label {
    margin-right: 1rem;
  }
}
.radio-block label input,
.radio-inlineblock label input {
  font-weight: normal;
  margin-top: 0.4375rem;
  margin-bottom: 0.3125rem;
  margin-right: 0.3125rem;
  display: inline-block;
  vertical-align: middle;
}

.form-select, .form-select--white {
  background-color: #ffffff;
  border: 1px solid #eee;
  border-radius: 4px;
  display: inline-block;
  font: inherit;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin: 0;
  line-height: 1.5;
  min-width: 5em;
  height: 2.5rem;
  width: 100%;
  font-size: 16px;
  padding: 0.5em 2.5em 0.5em 0.5em;
  background-image: linear-gradient(45deg, transparent 50%, gray 50%), linear-gradient(135deg, gray 50%, transparent 50%), linear-gradient(to right, #ccc, #ccc);
  background-position: calc(100% - 15px) 50%, calc(100% - 10px) 50%, calc(100% - 2em) 50%;
  background-size: 5px 5px, 5px 5px, 1px 70%;
  background-repeat: no-repeat;
}
@media print, screen and (min-width: 992px) {
  .form-select, .form-select--white {
    min-width: 8em;
    height: 3.5rem;
    padding: 0.5em 3em 0.5em 0.5em;
    font-size: 1.125rem;
  }
}
@media print {
  .form-select, .form-select--white {
    min-width: 8em;
    height: 3.5rem;
    padding: 0.5em 3em 0.5em 0.5em;
    font-size: 1.125rem;
  }
}
.form-select--white {
  background-color: #fff;
}

.form-select:-moz-focusring, .form-select--white:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}

.form-select::-ms-expand, .form-select--white::-ms-expand {
  display: none;
}

.form-file {
  display: flex;
  align-items: center;
}
.form-file .wpcf7-form-control-wrap input {
  display: none;
}
.form-file.use-floating-validation-tip {
  position: relative;
}
.form-file.use-floating-validation-tip .wpcf7-form-control-wrap {
  position: static;
  position: initial;
}
.form-file.use-floating-validation-tip .wpcf7-not-valid-tip {
  position: absolute;
  left: 0;
  top: 0;
  transform: translate(0, -100%);
  min-width: 13em;
  width: auto;
}
.form-file label {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #00a5da;
  color: white;
  font-size: 90%;
  font-weight: 400;
  width: 9em;
  height: 2rem;
  padding: 6px 12px;
  border-radius: 4px;
  cursor: pointer;
  white-space: nowrap;
}
@media (hover: hover) and (pointer: fine) {
  .form-file label {
    transition: 0.3s ease-out;
  }
  .form-file label:hover {
    opacity: 0.7;
  }
}
.form-file label:after {
  position: absolute;
  content: "選択されていません";
  color: black;
  font-weight: 400;
  right: -10em;
}
.form-file label.changed:after {
  content: "";
}
.form-file .filename {
  display: block;
  font-size: 90%;
  padding-left: 1em;
}
.form-file__delete {
  position: relative;
  display: block;
  -webkit-text-decoration: none;
  text-decoration: none;
  width: 1.5em;
  height: 1.5em;
  margin-left: 1em;
  background-color: #999;
  border-radius: 50%;
}
.form-file__delete::before, .form-file__delete::after {
  position: absolute;
  content: " ";
  display: block;
  font-size: 20px;
  height: 60%;
  width: 1px;
  top: 50%;
  left: 50%;
  background-color: #fff;
}
.form-file__delete::before {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.form-file__delete::after {
  transform: translate(-50%, -50%) rotate(45deg);
}
@media (hover: hover) and (pointer: fine) {
  .form-file__delete {
    transition: all 0.25s ease;
  }
  .form-file__delete:hover {
    opacity: 0.7;
  }
}
.form-file__delete.active {
  display: block !important;
}

.add-files {
  display: none;
}

.btn-addfile {
  padding: 10px 0;
  border: none;
  background-color: transparent;
  opacity: 0.65;
}
@media print, screen and (min-width: 992px) {
  .btn-addfile {
    transition: all 0.25s ease;
  }
  .btn-addfile:hover {
    opacity: 1;
  }
}
@media print {
  .btn-addfile {
    transition: all 0.25s ease;
  }
  .btn-addfile:hover {
    opacity: 1;
  }
}
.btn-addfile .icon,
.btn-addfile .txt {
  display: inline-block;
  vertical-align: middle;
  font-size: 0.75rem;
}
@media print, screen and (min-width: 992px) {
  .btn-addfile .icon,
  .btn-addfile .txt {
    font-size: 0.8125rem;
  }
}
@media print {
  .btn-addfile .icon,
  .btn-addfile .txt {
    font-size: 0.8125rem;
  }
}
.btn-addfile .txt {
  font-weight: 500;
}
.btn-addfile .icon {
  margin-right: 5px;
  color: #666;
}

textarea.form-control, textarea.form-control--inline, textarea.form-control--white {
  line-height: 1.5;
  height: auto;
}

.form-label {
  font-size: 85%;
  opacity: 0.65;
  margin-bottom: 0.1875rem;
  display: block;
}

.mark-req {
  display: inline-block;
  padding: 2px 5px 3px;
  line-height: 1;
  color: #fff;
  text-align: center;
  font-weight: 500;
  font-size: 0.6875rem;
  background-color: #f1533d;
}
.mark-req.lg {
  font-size: 0.6875rem;
  padding: 5px;
  min-width: 30px;
}
@media print, screen and (min-width: 992px) {
  .mark-req.lg {
    font-size: 0.8125rem;
    min-width: 40px;
  }
}
@media print {
  .mark-req.lg {
    font-size: 0.8125rem;
    min-width: 40px;
  }
}

.wpcf7 form .ajax-loader {
  margin-top: 5px;
}
.wpcf7 form .formError {
  z-index: 9;
}
.wpcf7 form .formError .formErrorContent {
  min-width: 140px;
}
.wpcf7 form .wpcf7-response-output {
  font-weight: 700;
  margin: 10px 0 0;
  text-shadow: none;
  border: none;
  background-color: #fff;
  font-size: 0.9375rem;
}
@media print, screen and (min-width: 992px) {
  .wpcf7 form .wpcf7-response-output {
    text-align: center;
    font-size: 1.125rem;
  }
}
@media print {
  .wpcf7 form .wpcf7-response-output {
    text-align: center;
    font-size: 1.125rem;
  }
}
.wpcf7 form .wpcf7-response-output.hide {
  display: none !important;
}
.wpcf7 form .wpcf7-validation-errors {
  color: #b94a48;
  background-color: #f2dede;
  border: 1px solid #eed3d7;
}

.show-sent {
  display: none;
}

.help-block.with-errors {
  margin: 0;
  font-size: 90%;
}
.help-block.with-errors ul {
  padding: 0;
  margin: 0;
  margin-top: 5px;
  padding-left: 1.5em;
}
.help-block.with-errors ul li {
  color: #ea321f;
}

.wpcf7-not-valid-tip {
  font-size: 85%;
}

.has-error .form-control, .has-error .form-control--inline, .has-error .form-control--white {
  border-color: #ea321f;
}

input[type=checkbox][disabled],
input[type=checkbox][disabled] ~ span {
  display: none;
}

input[type=checkbox][disabled]:checked,
input[type=checkbox][disabled]:checked ~ span {
  display: inline;
}

/*確認画面*/
.custom-wpcf7c-confirmed .form-control.wpcf7c-conf, .custom-wpcf7c-confirmed .wpcf7c-conf.form-control--inline, .custom-wpcf7c-confirmed .wpcf7c-conf.form-control--white {
  background-color: #fff !important;
  border-color: #fff;
}
.custom-wpcf7c-confirmed .form-control:-moz-read-only, .custom-wpcf7c-confirmed .form-control--inline:-moz-read-only, .custom-wpcf7c-confirmed .form-control--white:-moz-read-only, .custom-wpcf7c-confirmed input[type=date]:-moz-read-only {
  background-color: transparent !important;
  border: none;
  padding: 0;
  height: auto;
}
.custom-wpcf7c-confirmed .form-control:read-only, .custom-wpcf7c-confirmed .form-control--inline:read-only, .custom-wpcf7c-confirmed .form-control--white:read-only,
.custom-wpcf7c-confirmed input[type=date]:read-only {
  background-color: transparent !important;
  border: none;
  padding: 0;
  height: auto;
}
.custom-wpcf7c-confirmed textarea:-moz-read-only {
  resize: none;
}
.custom-wpcf7c-confirmed textarea:read-only {
  resize: none;
}
.custom-wpcf7c-confirmed .form-control:read-only:-webkit-autofill, .custom-wpcf7c-confirmed .form-control--inline:read-only:-webkit-autofill, .custom-wpcf7c-confirmed .form-control--white:read-only:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #fff inset;
}
.custom-wpcf7c-confirmed input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #f6f6f6 inset;
}
.custom-wpcf7c-confirmed select.wpcf7c-conf {
  border: none;
  background: none;
  padding: 0;
  padding-right: 5px;
  height: auto;
}
.custom-wpcf7c-confirmed input[type=radio]:disabled,
.custom-wpcf7c-confirmed input[type=radio]:disabled ~ * {
  display: none;
}
.custom-wpcf7c-confirmed input[type=radio]:disabled:checked,
.custom-wpcf7c-confirmed input[type=radio]:disabled:checked ~ * {
  display: block;
}

.grecaptcha-badge {
  visibility: hidden;
}

.recapture-text {
  margin-top: 24px;
  opacity: 0.65;
  font-size: 0.75rem;
}
@media print, screen and (min-width: 992px) {
  .recapture-text {
    font-size: 0.8125rem;
    text-align: center;
  }
}
@media print {
  .recapture-text {
    font-size: 0.8125rem;
    text-align: center;
  }
}
.recapture-text a {
  color: #00a5da;
  -webkit-text-decoration: underline;
  text-decoration: underline;
}

input[type=date] {
  position: relative;
}

input[type=date]::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

input[type=date]::-webkit-clear-button {
  -webkit-appearance: none;
}

input[type=date]::-webkit-calendar-picker-indicator {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
}

.faq-block {
  background-color: #fff;
  display: flex;
  width: 100%;
  flex-direction: column;
  padding: 1rem;
  gap: 0.5rem;
}
@media print, screen and (min-width: 992px) {
  .faq-block {
    gap: 1rem;
    padding: 3rem 5rem;
  }
}
@media print {
  .faq-block {
    gap: 1rem;
    padding: 3rem 5rem;
  }
}
.faq-block__q {
  position: relative;
  display: flex;
}
.faq-block__q::before {
  position: relative;
  display: block;
  font-size: 1.5em;
  line-height: 1;
  color: #00a5da;
}
.faq-block__text {
  flex: 1;
}
.faq-block__q {
  display: flex;
  gap: 0.5em;
  line-height: 1.75;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5;
  flex-direction: row;
}
@media print, screen and (min-width: 992px) {
  .faq-block__q {
    font-size: 1.5rem;
  }
}
@media print {
  .faq-block__q {
    font-size: 1.5rem;
  }
}
.faq-block__q strong {
  font-size: 115%;
}
.faq-block__q::before {
  content: "Q.";
}
.faq-block__a {
  display: flex;
  gap: 1em;
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 1em;
  font-size: 1rem;
  border-top: 1px solid #dddddd;
  padding-top: 1em;
}
@media print, screen and (min-width: 992px) {
  .faq-block__a {
    font-size: 1.125rem;
  }
}
@media print {
  .faq-block__a {
    font-size: 1.125rem;
  }
}

.gallery-list, .gallery-list--lg {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
@media print, screen and (min-width: 992px) {
  .gallery-list, .gallery-list--lg {
    gap: 3rem;
  }
}
@media print {
  .gallery-list, .gallery-list--lg {
    gap: 3rem;
  }
}
.gallery-list > li, .gallery-list--lg > li {
  padding: 0;
  margin: 0;
  width: 100%;
  width: calc(50% - 0.5rem);
}
@media print, screen and (min-width: 992px) {
  .gallery-list > li, .gallery-list--lg > li {
    width: calc(25% - 2.25rem);
  }
}
@media print {
  .gallery-list > li, .gallery-list--lg > li {
    width: calc(25% - 2.25rem);
  }
}
.gallery-list--lg {
  gap: 0.25rem;
}
@media print, screen and (min-width: 992px) {
  .gallery-list--lg {
    gap: 3rem;
  }
}
@media print {
  .gallery-list--lg {
    gap: 3rem;
  }
}
.gallery-list--lg > li {
  width: calc(33.333% - 0.1875rem);
}
@media print, screen and (min-width: 992px) {
  .gallery-list--lg > li {
    width: calc(33.333% - 2rem);
  }
}
@media print {
  .gallery-list--lg > li {
    width: calc(33.333% - 2rem);
  }
}

@media (hover: hover) and (pointer: fine) {
  a.gallery-card:hover {
    color: #666;
  }
  a.gallery-card:hover img {
    opacity: 0.8;
    transform: scale(1.03);
  }
}

.gallery-card {
  display: flex;
  gap: 0.5em;
  width: 100%;
  position: relative;
  overflow: hidden;
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
}
.gallery-card img {
  max-width: 100%;
  height: auto;
}
.gallery-card__cats {
  position: absolute;
  left: 1em;
  bottom: 1em;
  z-index: 20;
  font-size: 80%;
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  color: #fff;
}
.gallery-card__cats > li,
.gallery-card__cats > span,
.gallery-card__cats > div,
.gallery-card__cats > p {
  margin: 0;
  line-height: 1.5;
  background-color: rgba(255, 255, 255, 0.75);
  color: currentColor;
  font-weight: 500;
  padding: 0.15em 0.5em;
  min-width: 4em;
  border-radius: 999em;
}
@media print, screen and (min-width: 992px) {
  .gallery-card__cats {
    font-size: 90%;
  }
}
@media print {
  .gallery-card__cats {
    font-size: 90%;
  }
}

.gap, .gap--xs, .gap--sm, .gap--xl, .gap--lg {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 2rem;
}
@media print, screen and (min-width: 992px) {
  .gap, .gap--xs, .gap--sm, .gap--xl, .gap--lg {
    gap: 3rem;
  }
}
@media print {
  .gap, .gap--xs, .gap--sm, .gap--xl, .gap--lg {
    gap: 3rem;
  }
}
.gap--lg {
  gap: 3rem;
}
@media print, screen and (min-width: 992px) {
  .gap--lg {
    gap: 5rem;
  }
}
@media print {
  .gap--lg {
    gap: 5rem;
  }
}
.gap--xl {
  gap: 5rem;
}
@media print, screen and (min-width: 992px) {
  .gap--xl {
    gap: 9rem;
  }
}
@media print {
  .gap--xl {
    gap: 9rem;
  }
}
.gap--sm {
  gap: 1rem;
}
@media print, screen and (min-width: 992px) {
  .gap--sm {
    gap: 1.5rem;
  }
}
@media print {
  .gap--sm {
    gap: 1.5rem;
  }
}
.gap--xs {
  gap: 0.25rem;
}
@media print, screen and (min-width: 992px) {
  .gap--xs {
    gap: 0.5rem;
  }
}
@media print {
  .gap--xs {
    gap: 0.5rem;
  }
}

.history-dl {
  position: relative;
  line-height: 1.5;
  padding: 0;
  margin: 0;
  padding-left: 2em;
  display: flex;
  flex-direction: column;
  width: 100%;
}
@media print, screen and (min-width: 992px) {
  .history-dl {
    padding-left: 0;
    width: 100%;
    line-height: 1.75;
    gap: 0 4em;
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
  }
}
@media print {
  .history-dl {
    padding-left: 0;
    width: 100%;
    line-height: 1.75;
    gap: 0 4em;
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
  }
}
.history-dl::before {
  position: absolute;
  content: " ";
  display: block;
  width: 1px;
  border-right: 1px dashed #00a5da;
  border-right: 1px dashed var(--primary-color, #00a5da);
  left: 1.2em;
  top: 1em;
  bottom: 0;
  z-index: 10;
}
@media print, screen and (min-width: 992px) {
  .history-dl::before {
    content: none;
  }
}
@media print {
  .history-dl::before {
    content: none;
  }
}
.history-dl > dt,
.history-dl > dd {
  font-size: 100%;
}
.history-dl > dt::before,
.history-dl > dd::before {
  position: absolute;
  content: " ";
  display: block;
  font-size: 35%;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  border: 2em solid #eaeff4;
  background-color: #00a5da;
  background-color: var(--primary-color, #00a5da);
  left: -2.25em;
  top: 0;
  box-sizing: content-box;
  transform: translate(-50%, 0);
}
@media print, screen and (min-width: 992px) {
  .history-dl > dt::before,
  .history-dl > dd::before {
    left: -2.75em;
  }
}
@media print {
  .history-dl > dt::before,
  .history-dl > dd::before {
    left: -2.75em;
  }
}
.history-dl > dt {
  position: relative;
  display: flex;
  font-weight: 500;
  white-space: nowrap;
  align-items: baseline;
  padding-left: 1em;
  gap: 0.5em;
}
@media print, screen and (min-width: 992px) {
  .history-dl > dt {
    width: 8em;
    position: relative;
    padding-left: 0;
    gap: 0.25em;
    justify-content: flex-end;
  }
}
@media print {
  .history-dl > dt {
    width: 8em;
    position: relative;
    padding-left: 0;
    gap: 0.25em;
    justify-content: flex-end;
  }
}
@media print, screen and (min-width: 992px) {
  .history-dl > dt::before {
    content: none;
  }
}
@media print {
  .history-dl > dt::before {
    content: none;
  }
}
.history-dl > dt small {
  opacity: 0.85;
  font-size: 75%;
}
.history-dl__year {
  font-feature-settings: "palt";
  line-height: 1;
  font-size: 1.25em;
}
.history-dl__month {
  font-size: 87.5%;
}
.history-dl > dd {
  position: relative;
  margin: 0;
  z-index: 2;
  padding-left: 1.5em;
  margin-top: 0.5em;
  margin-bottom: 1em;
}
@media print, screen and (min-width: 992px) {
  .history-dl > dd {
    width: calc(100% - 12em);
    padding-bottom: 1em;
    padding-left: 2em;
    margin: 0;
  }
}
@media print {
  .history-dl > dd {
    width: calc(100% - 12em);
    padding-bottom: 1em;
    padding-left: 2em;
    margin: 0;
  }
}
.history-dl > dd::before {
  content: none;
}
@media print, screen and (min-width: 992px) {
  .history-dl > dd::before {
    content: " ";
  }
}
@media print {
  .history-dl > dd::before {
    content: " ";
  }
}
@media print, screen and (min-width: 992px) {
  .history-dl > dd::after {
    position: absolute;
    content: " ";
    display: block;
    position: absolute;
    width: 1px;
    left: -1em;
    top: 0;
    bottom: -2em;
    border-right: 1px dashed #00a5da;
    border-right: 1px dashed var(--primary-color, #00a5da);
  }
}
@media print {
  .history-dl > dd::after {
    position: absolute;
    content: " ";
    display: block;
    position: absolute;
    width: 1px;
    left: -1em;
    top: 0;
    bottom: -2em;
    border-right: 1px dashed #00a5da;
    border-right: 1px dashed var(--primary-color, #00a5da);
  }
}
.history-dl > dd:first-of-type::after {
  top: 1em;
  bottom: -0.5em;
}
.history-dl > dd:last-of-type::after {
  bottom: 0;
}
.history-dl__main {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 0.25em;
}
.history-dl__text {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 1em;
  font-size: 0.875rem;
  gap: 0.25em;
}
@media print, screen and (min-width: 992px) {
  .history-dl__text {
    font-size: 1rem;
  }
}
@media print {
  .history-dl__text {
    font-size: 1rem;
  }
}
.history-dl a {
  color: #132c41;
  -webkit-text-decoration: underline;
  text-decoration: underline;
}
.history-dl img {
  max-width: 100%;
  height: auto;
}

.image {
  max-width: 100%;
  height: auto;
  border-radius: 0.5rem;
}
@media print, screen and (min-width: 992px) {
  .image {
    border-radius: 1rem;
  }
}
@media print {
  .image {
    border-radius: 1rem;
  }
}
.image--16x9 {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-bottom: 56.25%;
}
.image--16x9 img {
  max-width: inherit;
  max-height: inherit;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  left: 0;
  top: 0;
  transition: all 0.45s ease;
}
.image--3x2 {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-bottom: 66.66%;
}
.image--3x2 img {
  max-width: inherit;
  max-height: inherit;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  left: 0;
  top: 0;
  transition: all 0.45s ease;
}
.image--4x3 {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-bottom: 75%;
}
.image--4x3 img {
  max-width: inherit;
  max-height: inherit;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  left: 0;
  top: 0;
  transition: all 0.45s ease;
}

.list, .list--lined, .list--inline, .list--narrow {
  padding: 0;
  margin: 0;
  list-style: none !important;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
}
.list li, .list--lined li, .list--inline li, .list--narrow li {
  position: relative;
  padding: 0;
  line-height: 1.75;
  padding-left: 0.75em;
}
.list li:after, .list--lined li:after, .list--inline li:after, .list--narrow li:after {
  position: absolute;
  content: " ";
  display: block;
  width: 0.25em;
  height: 0.25em;
  border-radius: 50%;
  background-color: #00a5da;
  background-color: var(--primary-color, #00a5da);
  left: 0;
  top: 1em;
  transform: translate(0, -50%);
}
.list ul, .list--lined ul, .list--inline ul, .list--narrow ul {
  padding: 0;
  margin: 0;
  list-style: none;
  margin-top: 0.5em;
  font-size: 95%;
}
.list ul li, .list--lined ul li, .list--inline ul li, .list--narrow ul li {
  position: relative;
  padding: 0;
  margin-top: 0.2em;
  padding-left: 0.5em;
}
.list ul li:first-child, .list--lined ul li:first-child, .list--inline ul li:first-child, .list--narrow ul li:first-child {
  margin-top: 0;
}
.list ul li:after, .list--lined ul li:after, .list--inline ul li:after, .list--narrow ul li:after {
  position: absolute;
  content: " ";
  display: block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background-color: #00a5da;
  background-color: var(--primary-color, #00a5da);
  left: 0;
  top: 0.7em;
}
.list--narrow {
  gap: 0.25em;
}
.list--narrow > li {
  line-height: 1.5;
}
.list--inline {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.25em 1em;
}
.list--lined {
  gap: 1em;
}
.list--lined li {
  padding-bottom: 1em;
  border-bottom: 1px solid #dddddd;
}

.strong-list {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  font-weight: 500;
}
@media print, screen and (min-width: 992px) {
  .strong-list {
    gap: 0.5rem;
  }
}
@media print {
  .strong-list {
    gap: 0.5rem;
  }
}
.strong-list > li {
  display: flex;
  align-items: center;
  background-color: #fff;
  width: 100%;
  padding: 0.5rem;
}
@media print, screen and (min-width: 992px) {
  .strong-list > li {
    width: calc(50% - 4px);
    padding: 1rem;
  }
}
@media print {
  .strong-list > li {
    width: calc(50% - 4px);
    padding: 1rem;
  }
}

.tab-list {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  color: #444;
}
.tab-list > li,
.tab-list > span,
.tab-list > div,
.tab-list > p {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  line-height: 1.5;
  background-color: #eaeff4;
  border: 1px solid #dddddd;
  color: currentColor;
  font-weight: 500;
  padding: 0.15em 0.5em;
  min-width: 4em;
}

.number-list, .number-list--lg {
  padding: 0;
  margin: 0;
  counter-reset: number;
  list-style-type: none !important;
  gap: 0.5em;
  display: flex;
  width: 100%;
  flex-direction: column;
}
.number-list > li, .number-list--lg > li {
  display: flex;
  flex-direction: column;
  position: relative;
  padding: 0;
  margin: 0;
  width: 100%;
  gap: 0.5em;
  padding-left: 2.5em;
  line-height: 1.75;
  letter-spacing: 0;
}
.number-list > li::before, .number-list--lg > li::before {
  position: absolute;
  left: 0;
  top: 0.15em;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Manrope", sans-serif;
  font-weight: 700;
  background-color: #fff;
  color: #00a5da;
  color: var(--primary-color, #00a5da);
  counter-increment: number;
  content: counter(number);
  white-space: nowrap;
  width: 2em;
  height: 2em;
  text-align: center;
  font-size: 75%;
  border: 1px solid #00a5da;
  border: 1px solid var(--primary-color, #00a5da);
  border-radius: 50%;
}
.number-list--lg {
  gap: 1em;
}
@media print, screen and (min-width: 992px) {
  .number-list--lg {
    gap: 1.5em;
  }
}
@media print {
  .number-list--lg {
    gap: 1.5em;
  }
}
.number-list--lg > li {
  border-bottom: 1px dotted #dddddd;
  padding-bottom: 1em;
}
@media print, screen and (min-width: 992px) {
  .number-list--lg > li {
    padding-bottom: 1.5em;
  }
}
@media print {
  .number-list--lg > li {
    padding-bottom: 1.5em;
  }
}
.number-list__content {
  flex: 1;
}
.number-list ul, .number-list--lg ul,
.number-list ol,
.number-list--lg ol {
  display: block;
  list-style-position: outside;
  margin-top: 1em;
  margin-bottom: 1em;
  margin-left: 0px;
  margin-right: 0px;
  padding-left: 2em;
}
.number-list li, .number-list--lg li {
  display: list-item;
  text-align: -webkit-match-parent;
}
.number-list ol, .number-list--lg ol {
  list-style-type: decimal;
}
.number-list ul, .number-list--lg ul {
  list-style-type: disc;
}

.file-list {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  width: 100%;
  border-top: 1px solid #dddddd;
  font-size: 0.875rem;
}
@media print, screen and (min-width: 992px) {
  .file-list {
    font-size: 1.25rem;
  }
}
@media print {
  .file-list {
    font-size: 1.25rem;
  }
}
.file-list > li {
  border-bottom: 1px solid #dddddd;
  display: flex;
  width: 100%;
}
.file-list > li > a {
  display: flex;
  width: 100%;
  padding: 1rem 0.5rem;
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
  color: #132c41;
  gap: 0.5em;
}
@media print, screen and (min-width: 992px) {
  .file-list > li > a {
    padding: 1.5rem 1rem;
    min-height: 5rem;
  }
}
@media print {
  .file-list > li > a {
    padding: 1.5rem 1rem;
    min-height: 5rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .file-list > li > a {
    transition: all 0.25s ease;
  }
  .file-list > li > a:hover {
    color: #666;
    background-color: #f3f4f5;
  }
}
.file-list__text {
  flex: 1;
}
.file-list__icon {
  position: relative;
  display: flex;
  align-self: center;
  line-height: 1.25;
  color: #00a5da;
  color: var(--primary-color, #00a5da);
  font-size: 1.5em;
}
.file-list__icon svg {
  width: 1em;
  height: auto;
  fill: currentColor;
}

#loader-bg {
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding-bottom: 5vh;
  top: 0px;
  left: 0px;
  background: #fff;
  z-index: 9999;
}
#loader-bg.loaded {
  pointer-events: none;
}
#loader-bg.loaded .icon {
  transform: translateZ(0) scale(0);
}
#loader-bg.subpage .icon {
  display: none;
}
#loader-bg .icon {
  transition: transform 0.3s ease;
}
#loader-bg .loader {
  font-size: 10px;
  position: relative;
  text-indent: -9999em;
  font-size: 10px;
  width: 10em;
  height: 1px;
  background-color: rgba(0, 0, 0, 0.1);
  transform: translateZ(0);
}
#loader-bg .loader::after {
  position: absolute;
  content: " ";
  display: block;
  top: 0;
  left: 0;
  width: 0;
  height: 1px;
  opacity: 0;
  animation: loader 0.75s infinite cubic-bezier(0.6, 0, 0.3, 1);
}
@keyframes loader {
  0% {
    width: 0;
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  100% {
    width: 100%;
    opacity: 0.1;
  }
}

.news-list {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0;
  margin: 0;
  list-style: none;
}
@media print, screen and (min-width: 992px) {
  .news-list {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
}
@media print {
  .news-list {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
}
.news-list__item {
  display: flex;
  width: 100%;
}
.news-list__item--sm {
  display: flex;
  width: 100%;
}
@media print, screen and (min-width: 992px) {
  .news-list__item--sm {
    width: calc(50% - 0.25rem);
  }
}
@media print {
  .news-list__item--sm {
    width: calc(50% - 0.25rem);
  }
}

a.news-item__linkarea {
  color: #132c41;
}
a.news-item__linkarea .news-item__title {
  -webkit-text-decoration: underline;
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  a.news-item__linkarea {
    transition: 0.4s ease;
  }
  a.news-item__linkarea:hover {
    color: #00a5da;
  }
  a.news-item__linkarea:hover .news-item__icon,
  a.news-item__linkarea:hover .news-item__arrow {
    transform: translate(25%, 0);
  }
}

a.news-item {
  color: #132c41;
}
@media (hover: hover) and (pointer: fine) {
  a.news-item {
    transition: 0.4s ease;
  }
  a.news-item:hover {
    color: #132c41;
    background-color: rgba(171, 188, 205, 0.15);
  }
  a.news-item:hover .news-item__icon,
  a.news-item:hover .news-item__arrow {
    transform: translate(25%, 0);
  }
}

.news-item {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 1em;
  padding: 1rem 0.5rem;
  color: #132c41;
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 1em;
  font-size: 0.875rem;
  background-color: #fff;
  border-radius: 0.25rem;
  padding-right: 1rem;
}
@media print, screen and (min-width: 992px) {
  .news-item {
    font-size: 1rem;
  }
}
@media print {
  .news-item {
    font-size: 1rem;
  }
}
@media print, screen and (min-width: 992px) {
  .news-item {
    gap: 1.5em;
    flex-direction: row;
    align-items: center;
    border-radius: 0.5rem;
    padding: 1.5rem;
  }
}
@media print {
  .news-item {
    gap: 1.5em;
    flex-direction: row;
    align-items: center;
    border-radius: 0.5rem;
    padding: 1.5rem;
  }
}
.news-item__image {
  overflow: hidden;
  width: 10rem;
}
.news-item__image img {
  border-radius: 0.25rem;
  max-width: 100%;
  height: auto;
}
.news-item__main {
  flex: 1;
  display: flex;
  width: 100%;
  gap: 0.5em;
  align-items: center;
}
.news-item__linkarea {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  gap: 0.5em;
}
.news-item__body {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 0.25em;
}
.news-item__meta {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  line-height: 1.25;
  gap: 1em;
}
.news-item__time {
  font-size: 80%;
  opacity: 0.5;
  font-family: "Manrope", sans-serif;
  font-weight: 700;
}
.news-item__cats {
  font-size: 80%;
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  color: #fff;
  color: #fff;
}
.news-item__cats > li,
.news-item__cats > span,
.news-item__cats > div,
.news-item__cats > p {
  margin: 0;
  line-height: 1.5;
  background-color: #00a5da;
  color: currentColor;
  font-weight: 500;
  padding: 0.15em 0.5em;
  min-width: 4em;
  border-radius: 999em;
}
.news-item__new {
  font-family: "Manrope", sans-serif;
  font-weight: 700;
  font-size: 80%;
  color: #f1533d;
  text-transform: uppercase;
}
.news-item__title {
  font-size: 100%;
  font-weight: 500;
}
.news-item__text {
  line-height: 1.75;
  font-size: 100%;
}
.news-item__arrow, .news-item__icon {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(0, -50%);
  transition: 0.4s ease;
}
@media print, screen and (min-width: 992px) {
  .news-item__arrow, .news-item__icon {
    position: relative;
    right: auto;
    top: auto;
    transform: none;
  }
}
@media print {
  .news-item__arrow, .news-item__icon {
    position: relative;
    right: auto;
    top: auto;
    transform: none;
  }
}
.news-item__arrow svg, .news-item__icon svg {
  fill: #00a5da;
}

.pageTab {
  display: flex;
  background-color: rgb(210.571875, 221.15, 231.728125);
  padding-top: 1rem;
  padding-right: 0;
  margin-right: -1rem;
  border-radius: 4px 4px 0 0;
  overflow: hidden;
  font-size: 0.875rem;
}
@media print, screen and (min-width: 992px) {
  .pageTab {
    font-size: 1.125rem;
    width: 100%;
    padding-top: 2.5rem;
    border-radius: 8px 8px 0 0;
  }
}
@media print {
  .pageTab {
    font-size: 1.125rem;
    width: 100%;
    padding-top: 2.5rem;
    border-radius: 8px 8px 0 0;
  }
}
.pageTab__inner {
  display: flex;
  width: 100%;
}

.pageTabList {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  width: 100%;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  gap: 0.25rem;
  scrollbar-width: thin;
  scrollbar-color: #00a5da;
  overflow-x: auto;
  word-wrap: break-word;
  word-break: break-word;
}
@media print, screen and (min-width: 992px) {
  .pageTabList {
    gap: 0.75rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}
@media print {
  .pageTabList {
    gap: 0.75rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}
.pageTabList__item {
  display: inline-flex;
  min-width: auto;
  width: auto;
  overflow: hidden;
}
.pageTabList__item a,
.pageTabList__item button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  min-width: 6rem;
  padding: 1rem 0.5rem;
  background-color: #132c41;
  border: none;
  line-height: 1.25;
  color: #aaa;
  cursor: pointer;
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
  font-weight: 500;
  border-radius: 2px 2px 0 0;
  transition: 0.25s ease;
  transform: translateY(0.5em);
}
@media print, screen and (min-width: 992px) {
  .pageTabList__item a,
  .pageTabList__item button {
    flex-direction: row;
    min-width: 12.5rem;
    border-radius: 4px 4px 0 0;
    padding: 1.5rem 1rem;
  }
}
@media print {
  .pageTabList__item a,
  .pageTabList__item button {
    flex-direction: row;
    min-width: 12.5rem;
    border-radius: 4px 4px 0 0;
    padding: 1.5rem 1rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .pageTabList__item a:hover,
  .pageTabList__item button:hover {
    color: #fff;
    background-color: rgb(47.8392857143, 110.7857142857, 163.6607142857);
  }
}
.pageTabList__item a.unused,
.pageTabList__item button.unused {
  pointer-events: none;
  opacity: 0.4;
}
.pageTabList__item a[aria-expanded=true],
.pageTabList__item button[aria-expanded=true] {
  color: #132c41;
  background-color: #fff;
  transform: none;
}

.sub-page--light .pageTitle__main,
.sub-page--light .pageTitle--simple__main {
  background-color: #eaeff4;
  background-image: url("../images/noise.png");
  background-size: 240px auto;
}

.pageTitle, .pageTitle--simple {
  position: relative;
  display: flex;
  width: 100%;
  overflow: hidden;
  color: #132c41;
  background-color: #fff;
  height: 12.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media print, screen and (min-width: 992px) {
  .pageTitle, .pageTitle--simple {
    height: 27.5rem;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}
@media print {
  .pageTitle, .pageTitle--simple {
    height: 27.5rem;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}
@media print, screen and (min-width: 1600px) {
  .pageTitle, .pageTitle--simple {
    height: 30rem;
  }
}
@media print {
  .pageTitle, .pageTitle--simple {
    height: 30rem;
  }
}
.pageTitle--simple {
  color: #132c41;
  background-color: #eaeff4;
  background-image: url("../images/noise.png");
  background-size: 240px auto;
  height: 8rem;
}
@media print, screen and (min-width: 992px) {
  .pageTitle--simple {
    height: 10rem;
    justify-content: center;
  }
}
@media print {
  .pageTitle--simple {
    height: 10rem;
    justify-content: center;
  }
}
@media print, screen and (min-width: 992px) {
  .pageTitle--simple .pageTitle__inner {
    max-width: 75rem;
  }
}
@media print {
  .pageTitle--simple .pageTitle__inner {
    max-width: 75rem;
  }
}
@media print, screen and (min-width: 992px) {
  .pageTitle--simple .pageTitle__main {
    padding-bottom: 0;
  }
}
@media print {
  .pageTitle--simple .pageTitle__main {
    padding-bottom: 0;
  }
}
.pageTitle__inner {
  position: relative;
  display: flex;
  width: 100%;
  align-items: flex-end;
  border-radius: 0.5rem;
  border-bottom-left-radius: 0px;
  overflow: hidden;
}
@media print, screen and (min-width: 992px) {
  .pageTitle__inner {
    border-radius: 2.5rem;
    border-bottom-left-radius: 0;
  }
}
@media print {
  .pageTitle__inner {
    border-radius: 2.5rem;
    border-bottom-left-radius: 0;
  }
}
.pageTitle__main {
  position: relative;
  display: flex;
  z-index: 10;
  background-color: #fff;
  padding: 1rem;
  border-top-right-radius: 0.5rem;
  min-width: 10rem;
}
@media print, screen and (min-width: 992px) {
  .pageTitle__main {
    padding: 2.5rem 5rem 1.5rem 2.5rem;
    border-top-right-radius: 3rem;
    min-width: 25rem;
  }
}
@media print {
  .pageTitle__main {
    padding: 2.5rem 5rem 1.5rem 2.5rem;
    border-top-right-radius: 3rem;
    min-width: 25rem;
  }
}
.pageTitle__parent {
  font-size: 0.9375rem;
  display: flex;
  align-items: center;
  line-height: 1.25;
  font-weight: 500;
  gap: 0.5em;
  padding-left: 0.5em;
}
@media print, screen and (min-width: 992px) {
  .pageTitle__parent {
    font-size: 1.125rem;
  }
}
@media print {
  .pageTitle__parent {
    font-size: 1.125rem;
  }
}
.pageTitle__parent::before {
  position: relative;
  display: block;
  content: "";
  font-size: 0.3125rem;
  height: 1em;
  width: 1em;
  background-color: #00a5da;
  border-radius: 50%;
}
@media print, screen and (min-width: 992px) {
  .pageTitle__parent::before {
    font-size: 0.4375rem;
  }
}
@media print {
  .pageTitle__parent::before {
    font-size: 0.4375rem;
  }
}
.pageTitle__parent > span {
  flex: 1;
}
.pageTitle__title {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 0.5rem;
}
@media print, screen and (min-width: 992px) {
  .pageTitle__title {
    gap: 1.5rem;
  }
}
@media print {
  .pageTitle__title {
    gap: 1.5rem;
  }
}
.pageTitle__en {
  line-height: 1.25;
  letter-spacing: 0.1em;
  font-family: "Manrope", sans-serif;
  font-weight: 700;
  color: #00a5da;
  font-size: 0.8125rem;
}
@media print, screen and (min-width: 992px) {
  .pageTitle__en {
    font-size: 1.125rem;
  }
}
@media print {
  .pageTitle__en {
    font-size: 1.125rem;
  }
}
.pageTitle__ja {
  line-height: 1.25;
  font-family: "Zen Maru Gothic", "Zen Kaku Gothic New", "Noto Sans JP", "YakuHanJP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 400;
  font-size: 1.5rem;
}
@media print, screen and (min-width: 992px) {
  .pageTitle__ja {
    font-size: 3rem;
  }
}
@media print {
  .pageTitle__ja {
    font-size: 3rem;
  }
}
.pageTitle__image {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  background-color: #00a5da;
}
.pageTitle__image img {
  max-width: inherit;
  max-height: inherit;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  left: 0;
  top: 0;
  transition: all 0.45s ease;
}
.pageTitle__image img.pageTitle__img--service {
  -o-object-position: center right;
     object-position: center right;
}
@media print, screen and (min-width: 992px) {
  .pageTitle__image img.pageTitle__img--service {
    -o-object-position: center center;
       object-position: center center;
  }
}
@media print {
  .pageTitle__image img.pageTitle__img--service {
    -o-object-position: center center;
       object-position: center center;
  }
}

.pagetopbtn {
  position: fixed;
  cursor: pointer;
  visibility: hidden;
  opacity: 0;
  transition: all 0.25s ease;
  transform: translate(0, 50%);
  right: 5px;
  bottom: 10px;
  pointer-events: auto;
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
  z-index: 90;
}
@media print, screen and (min-width: 768px) {
  .pagetopbtn {
    right: 10px;
    bottom: 10px;
  }
}
@media print {
  .pagetopbtn {
    right: 10px;
    bottom: 10px;
  }
}
.pagetopbtn.active {
  opacity: 1;
  visibility: visible;
  transform: translate(0);
}
.pagetopbtn__text {
  display: block;
  z-index: 10;
  position: relative;
  transform-origin: right top;
  transform: rotate(90deg);
  font-family: "Manrope", sans-serif;
  font-weight: 700;
  font-weight: 400;
  color: #00a5da;
  font-size: 11px;
  letter-spacing: 0.1em;
  line-height: 1.3;
  padding: 10px;
  padding-right: 0;
}
.pagetopbtn__text::after {
  position: absolute;
  display: block;
  content: " ";
  width: 0;
  top: 50%;
  opacity: 1;
  right: 110%;
  height: 1px;
  background-color: #00a5da;
  z-index: 1;
  animation: pagetopanime 1s infinite cubic-bezier(0.6, 0, 0.3, 1);
}
@keyframes pagetopanime {
  0% {
    width: 0;
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  100% {
    width: 40px;
    opacity: 0.1;
  }
}

.page-nav {
  display: flex;
  width: 100%;
  gap: 0;
  padding: 0;
  margin: 0;
  list-style: none;
  border-top: 1px solid #dddddd;
  font-size: 0.8125rem;
}
@media print, screen and (min-width: 992px) {
  .page-nav {
    flex-wrap: nowrap;
    font-size: 1.125rem;
  }
}
@media print {
  .page-nav {
    flex-wrap: nowrap;
    font-size: 1.125rem;
  }
}
.page-nav > li {
  display: flex;
  width: auto;
  padding: 0;
  margin: 0;
  flex: 1;
  border-right: 1px solid #dddddd;
  border-bottom: 1px solid #dddddd;
}
@media print, screen and (min-width: 992px) {
  .page-nav > li {
    width: 100%;
  }
}
@media print {
  .page-nav > li {
    width: 100%;
  }
}
.page-nav > li > a {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #999;
  line-height: 1.5;
  padding: 0.5rem 0.25rem;
  min-height: 3.5rem;
}
@media print, screen and (min-width: 992px) {
  .page-nav > li > a {
    padding: 1rem;
    min-height: 4.5rem;
  }
}
@media print {
  .page-nav > li > a {
    padding: 1rem;
    min-height: 4.5rem;
  }
}
.page-nav > li > a.active {
  background-color: #00a5da;
  background-color: var(--primary-color, #00a5da);
  color: #fff;
  font-weight: 500;
  pointer-events: none;
}
@media (hover: hover) and (pointer: fine) {
  .page-nav > li > a {
    transition: 0.25s ease;
  }
  .page-nav > li > a:hover {
    background-color: #f6f6f6;
    color: #00a5da;
    color: var(--primary-color, #00a5da);
  }
}

.pagination {
  display: flex;
  justify-content: center;
  text-align: center;
  width: 100%;
  font-size: 0.8125rem;
}
@media print, screen and (min-width: 992px) {
  .pagination {
    font-size: 1.125rem;
  }
}
@media print {
  .pagination {
    font-size: 1.125rem;
  }
}
.pagination .page-numbers {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  gap: 0.25rem;
}
@media print, screen and (min-width: 992px) {
  .pagination .page-numbers {
    gap: 0.5rem;
  }
}
@media print {
  .pagination .page-numbers {
    gap: 0.5rem;
  }
}
.pagination .page-numbers li {
  padding: 0;
  display: flex;
}
.pagination a,
.pagination span {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 700;
  width: 2.5em;
  height: 2.5em;
  background-color: transparent;
  color: #999;
  background-color: #fff;
  border-radius: 50%;
}
.pagination span {
  background-color: transparent;
}
.pagination span.current {
  background-color: #00a5da;
  background-color: var(--primary-color, #00a5da);
  color: #fff;
}
.pagination a {
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
}
@media (hover: hover) and (pointer: fine) {
  .pagination a {
    transition: all 0.25s ease;
  }
  .pagination a:hover {
    background-color: #fff;
    color: #00a5da;
  }
}
.pagination a.page-numbers__next, .pagination a.page-numbers__prev {
  border-color: transparent;
  background-color: transparent;
}
.pagination a.page-numbers__next > span, .pagination a.page-numbers__prev > span {
  position: relative;
  background-color: transparent;
  border: none;
  width: 0.5em;
  height: 0.5em;
  border-top: 2px solid #132c41;
  border-right: 2px solid #132c41;
  transform: rotate(45deg);
  border-radius: 0;
  opacity: 0.45;
  transition: all 0.25s ease;
}
@media (hover: hover) and (pointer: fine) {
  .pagination a.page-numbers__next:hover > span, .pagination a.page-numbers__prev:hover > span {
    opacity: 0.8;
  }
}
.pagination a.page-numbers__prev > span {
  transform: rotate(-135deg);
}

.paging {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  gap: 0.25rem;
}
@media print, screen and (min-width: 992px) {
  .paging {
    gap: 0.5rem;
  }
}
@media print {
  .paging {
    gap: 0.5rem;
  }
}
.paging .paging-text {
  padding: 0;
  display: flex;
}
.paging a,
.paging span {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 700;
  width: 2.5em;
  height: 2.5em;
  background-color: transparent;
  color: #999;
}
.paging span {
  background-color: transparent;
}
.paging span.current {
  background-color: #00a5da;
  background-color: var(--primary-color, #00a5da);
  color: #fff;
}
.paging a {
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
}
@media (hover: hover) and (pointer: fine) {
  .paging a {
    transition: all 0.25s ease;
  }
  .paging a:hover {
    background-color: #eaeff4;
    color: #132c41;
  }
}
.paging a.page-numbers__next, .paging a.page-numbers__prev {
  border-color: transparent;
  background-color: transparent;
}
.paging a.page-numbers__next > span, .paging a.page-numbers__prev > span {
  position: relative;
  background-color: transparent;
  border: none;
  width: 0.5em;
  height: 0.5em;
  border-top: 2px solid #132c41;
  border-right: 2px solid #132c41;
  transform: rotate(45deg);
  border-radius: 0;
  opacity: 0.45;
  transition: all 0.25s ease;
}
@media (hover: hover) and (pointer: fine) {
  .paging a.page-numbers__next:hover > span, .paging a.page-numbers__prev:hover > span {
    opacity: 0.8;
  }
}
.paging a.page-numbers__prev > span {
  transform: rotate(-135deg);
}

.paper {
  background-color: #fff;
  padding: 2.5rem 1rem;
  display: flex;
  flex-direction: column;
  border-radius: 1rem;
  gap: 3rem;
}
@media print, screen and (min-width: 992px) {
  .paper {
    padding: 5rem;
    gap: 5rem;
    border-radius: 1.5rem;
  }
}
@media print {
  .paper {
    padding: 5rem;
    gap: 5rem;
    border-radius: 1.5rem;
  }
}

#lightcase-overlay {
  background-color: #555;
}

#lightcase-loading {
  color: #999;
}

.lightcase-icon-close {
  display: none !important;
}

#lightcase-case {
  text-shadow: none;
}
#lightcase-case #lightcase-content {
  background-color: transparent;
}
#lightcase-case #lightcase-content .lightcase-contentInner .lightcase-inlineWrap {
  padding: 0;
}
#lightcase-case #lightcase-content .popup-modal {
  position: relative;
  background-color: rgba(255, 255, 255, 0.85);
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 1rem;
  padding: 16px 8px;
}
@media print, screen and (min-width: 992px) {
  #lightcase-case #lightcase-content .popup-modal {
    gap: 1.5rem;
    padding: 32px 40px;
  }
}
@media print {
  #lightcase-case #lightcase-content .popup-modal {
    gap: 1.5rem;
    padding: 32px 40px;
  }
}
#lightcase-case #lightcase-content .popup-modal *,
#lightcase-case #lightcase-content .popup-modal p {
  color: #132c41;
  text-shadow: none;
}
#lightcase-case #lightcase-content .popup-modal__close {
  position: absolute;
  top: 0;
  right: 0;
  padding: 0;
  margin: 0;
  font-size: 32px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #00b5ca;
  border: none;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
  transform: translate(8px, -8px);
}
@media (hover: hover) and (pointer: fine) {
  #lightcase-case #lightcase-content .popup-modal__close {
    transition: all 0.25s ease;
  }
  #lightcase-case #lightcase-content .popup-modal__close:hover {
    opacity: 0.65;
  }
}
@media print, screen and (min-width: 768px) {
  #lightcase-case #lightcase-content .popup-modal__close {
    font-size: 40px;
    transform: none;
    top: 8px;
    right: 8px;
  }
}
@media print {
  #lightcase-case #lightcase-content .popup-modal__close {
    font-size: 40px;
    transform: none;
    top: 8px;
    right: 8px;
  }
}
#lightcase-case #lightcase-content .popup-modal__close::before, #lightcase-case #lightcase-content .popup-modal__close::after {
  position: absolute;
  display: block;
  content: " ";
  left: 50%;
  top: 50%;
  width: 50%;
  height: 1px;
  background-color: #fff;
  border-radius: 999em;
}
#lightcase-case #lightcase-content .popup-modal__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
#lightcase-case #lightcase-content .popup-modal__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
#lightcase-case #lightcase-content .popup-modal__main {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 0.25rem;
}
@media print, screen and (min-width: 992px) {
  #lightcase-case #lightcase-content .popup-modal__main {
    gap: 0.5rem;
  }
}
@media print {
  #lightcase-case #lightcase-content .popup-modal__main {
    gap: 0.5rem;
  }
}
#lightcase-case #lightcase-content .popup-modal__cats {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  color: #fff;
}
#lightcase-case #lightcase-content .popup-modal__cats > li,
#lightcase-case #lightcase-content .popup-modal__cats > span,
#lightcase-case #lightcase-content .popup-modal__cats > div,
#lightcase-case #lightcase-content .popup-modal__cats > p {
  margin: 0;
  line-height: 1.5;
  background-color: #eaeff4;
  color: currentColor;
  font-weight: 500;
  padding: 0.15em 0.5em;
  min-width: 4em;
  border-radius: 999em;
}
#lightcase-case #lightcase-content .popup-modal__image {
  text-align: center;
}
#lightcase-case #lightcase-content .popup-modal__image img {
  max-width: 100%;
  max-height: 40rem;
  width: auto;
  height: auto;
}
#lightcase-case #lightcase-content .popup-modal__title {
  line-height: 1.75;
  font-weight: 500;
  font-size: 1.25rem;
}
@media print, screen and (min-width: 992px) {
  #lightcase-case #lightcase-content .popup-modal__title {
    font-size: 1.5rem;
  }
}
@media print {
  #lightcase-case #lightcase-content .popup-modal__title {
    font-size: 1.5rem;
  }
}
#lightcase-case #lightcase-content .popup-modal__title strong {
  font-size: 115%;
}
.post {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 1.5rem;
}
@media print, screen and (min-width: 992px) {
  .post {
    gap: 2.5rem;
  }
}
@media print {
  .post {
    gap: 2.5rem;
  }
}

.post-header {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  gap: 0.25rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #00a5da;
}
@media print, screen and (min-width: 992px) {
  .post-header {
    gap: 0.5rem;
    padding-bottom: 1rem;
  }
}
@media print {
  .post-header {
    gap: 0.5rem;
    padding-bottom: 1rem;
  }
}
.post-header__title {
  position: relative;
  display: flex;
  gap: 0.5em;
  line-height: 1.5;
  align-items: baseline;
  font-weight: 500;
  font-size: 1.5rem;
}
@media print, screen and (min-width: 992px) {
  .post-header__title {
    font-size: 2rem;
  }
}
@media print {
  .post-header__title {
    font-size: 2rem;
  }
}
.post-header__meta {
  display: flex;
  gap: 1em;
  align-items: center;
}
.post-header__time {
  font-size: 115%;
  opacity: 0.5;
  font-family: "Manrope", sans-serif;
  font-weight: 700;
}
.post-header__cats {
  display: flex;
  flex: 1;
  font-size: 85%;
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  color: #fff;
  color: #fff;
}
.post-header__cats > li,
.post-header__cats > span,
.post-header__cats > div,
.post-header__cats > p {
  margin: 0;
  line-height: 1.5;
  background-color: #132c41;
  color: currentColor;
  font-weight: 500;
  padding: 0.15em 0.5em;
  min-width: 4em;
  border-radius: 999em;
}

.post-attachments {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  gap: 0.5rem;
}
@media print, screen and (min-width: 992px) {
  .post-attachments {
    gap: 1.5rem;
  }
}
@media print {
  .post-attachments {
    gap: 1.5rem;
  }
}

.attachment-list {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 1em;
  font-size: 0.875rem;
}
@media print, screen and (min-width: 992px) {
  .attachment-list {
    font-size: 1rem;
  }
}
@media print {
  .attachment-list {
    font-size: 1rem;
  }
}
.attachment-list__item {
  padding: 0;
  margin: 0;
  margin-top: 1em;
}
.attachment-list__item:first-child {
  margin-top: 0;
}
.attachment-list__btn {
  display: inline-flex;
  align-items: center;
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
  color: #00a5da;
  border-bottom: 1px solid currentColor;
  padding: 0.25em;
}
@media (hover: hover) and (pointer: fine) {
  .attachment-list__btn {
    transition: all 0.25s ease;
  }
  .attachment-list__btn:hover {
    background-color: #f6f7f8;
  }
}
.attachment-list__icon {
  width: 1.5em;
  margin-right: 0.5em;
}
.attachment-list__icon img,
.attachment-list__icon svg {
  max-width: 100%;
  height: auto;
}
.attachment-list__icon svg {
  fill: #00a5da;
  line-height: 1;
  vertical-align: middle;
}
.attachment-list__text {
  flex: 1;
  font-weight: 700;
}

.post-slide__text {
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  text-align: left;
  background-color: rgba(255, 255, 255, 0.75);
  line-height: 1.5;
  font-size: 0.75rem;
  padding: 0.25rem 0.5rem;
}
@media print, screen and (min-width: 992px) {
  .post-slide__text {
    text-align: center;
    padding: 0.5rem 1rem;
    font-size: 1rem;
  }
}
@media print {
  .post-slide__text {
    text-align: center;
    padding: 0.5rem 1rem;
    font-size: 1rem;
  }
}

.side-nav, .side-nav--sticky {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1.5em 1em;
  border-radius: 0.5rem;
}
@media print, screen and (min-width: 992px) {
  .side-nav--sticky {
    position: sticky;
    top: 10rem;
    z-index: 100;
  }
}
@media print {
  .side-nav--sticky {
    position: sticky;
    top: 10rem;
    z-index: 100;
  }
}
.side-nav__title {
  font-size: 0.9375rem;
  color: #00a5da;
  line-height: 1.25;
  font-family: "Manrope", sans-serif;
  font-weight: 700;
}
@media print, screen and (min-width: 992px) {
  .side-nav__title {
    font-size: 1.125rem;
  }
}
@media print {
  .side-nav__title {
    font-size: 1.125rem;
  }
}

@media screen and (max-width: 991px) {
  .responsive-table-wrapper {
    margin-right: -1rem;
    padding-bottom: 0.5rem;
    display: block;
    overflow-y: hidden;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }
  .responsive-table-wrapper__inner {
    display: inline-block;
    min-width: 100%;
    padding-right: 1rem;
  }
  .responsive-table-wrapper table {
    min-width: 46.5rem;
  }
  .responsive-table-wrapper table th {
    width: 10em;
  }
}
@media screen and (max-width: 991px) and (min-width: 992px) {
  .responsive-table-wrapper table th {
    width: 15em;
  }
}
@media screen and (max-width: 991px) {
  .responsive-table-wrapper--sticky table thead tr th:first-child,
  .responsive-table-wrapper--sticky table tbody tr th:first-child {
    position: sticky;
    left: 0;
    z-index: 10;
    box-shadow: 0 5px 5px rgb(0, 0, 0);
  }
  .responsive-table-wrapper .scroll-hint-icon {
    z-index: 90;
    top: 5rem;
  }
}
@media screen and (max-width: 991px) and (min-width: 992px) {
  .responsive-table-wrapper .scroll-hint-icon {
    top: 7.5rem;
  }
}

.table, .table--sm, .table--req {
  width: 100%;
  border-collapse: collapse;
  line-height: 1.75;
  border-top: 1px solid #dddddd;
  border-left: 1px solid #dddddd;
  font-size: 85%;
}
@media print, screen and (min-width: 992px) {
  .table, .table--sm, .table--req {
    table-layout: fixed;
    font-size: 100%;
  }
}
@media print {
  .table, .table--sm, .table--req {
    table-layout: fixed;
    font-size: 100%;
  }
}
.table--req {
  font-size: 75%;
}
@media print, screen and (min-width: 992px) {
  .table--req {
    font-size: 100%;
  }
}
@media print {
  .table--req {
    font-size: 100%;
  }
}
.table tr, .table--sm tr, .table--req tr {
  border-bottom: 1px solid #dddddd;
}
.table th, .table--sm th, .table--req th,
.table td,
.table--sm td,
.table--req td {
  position: relative;
  vertical-align: middle;
  padding: 0.25rem;
  border-right: 1px solid #dddddd;
}
@media print, screen and (min-width: 992px) {
  .table th, .table--sm th, .table--req th,
  .table td,
  .table--sm td,
  .table--req td {
    padding: 1rem 1rem;
  }
}
@media print {
  .table th, .table--sm th, .table--req th,
  .table td,
  .table--sm td,
  .table--req td {
    padding: 1rem 1rem;
  }
}
.table thead th, .table--sm thead th, .table--req thead th,
.table thead td,
.table--sm thead td,
.table--req thead td {
  background-color: #00a5da;
  background-color: var(--primary-color, #00a5da);
  color: #fff;
  white-space: nowrap;
  text-align: center;
}
.table thead th:first-child, .table--sm thead th:first-child, .table--req thead th:first-child,
.table thead td:first-child,
.table--sm thead td:first-child,
.table--req thead td:first-child {
  width: 8em;
}
@media print, screen and (min-width: 992px) {
  .table thead th:first-child, .table--sm thead th:first-child, .table--req thead th:first-child,
  .table thead td:first-child,
  .table--sm thead td:first-child,
  .table--req thead td:first-child {
    width: 15em;
  }
}
@media print {
  .table thead th:first-child, .table--sm thead th:first-child, .table--req thead th:first-child,
  .table thead td:first-child,
  .table--sm thead td:first-child,
  .table--req thead td:first-child {
    width: 15em;
  }
}
.table tbody th, .table--sm tbody th, .table--req tbody th {
  position: relative;
  text-align: left;
  font-weight: 500;
  background-color: rgba(0, 0, 0, 0.025);
  width: 8em;
}
@media print, screen and (min-width: 992px) {
  .table tbody th, .table--sm tbody th, .table--req tbody th {
    width: 15em;
    height: 4rem;
  }
}
@media print {
  .table tbody th, .table--sm tbody th, .table--req tbody th {
    width: 15em;
    height: 4rem;
  }
}
.table tbody td, .table--sm tbody td, .table--req tbody td {
  background-color: #fff;
}
@media print, screen and (min-width: 992px) {
  .table tbody td, .table--sm tbody td, .table--req tbody td {
    height: 4rem;
  }
}
@media print {
  .table tbody td, .table--sm tbody td, .table--req tbody td {
    height: 4rem;
  }
}
.table__td--min {
  font-size: 95%;
}
.table strong, .table--sm strong, .table--req strong {
  font-weight: 700;
  font-size: 110%;
}
.table a, .table--sm a, .table--req a {
  -webkit-text-decoration: underline;
  text-decoration: underline;
}
@media print, screen and (min-width: 992px) {
  .table--sm th,
  .table--sm td {
    padding: 0.5rem;
  }
}
@media print {
  .table--sm th,
  .table--sm td {
    padding: 0.5rem;
  }
}
.table--sm tbody th {
  width: 8em;
}
@media print, screen and (min-width: 992px) {
  .table--sm tbody th {
    width: 10em;
    height: 2.5rem;
  }
}
@media print {
  .table--sm tbody th {
    width: 10em;
    height: 2.5rem;
  }
}
@media print, screen and (min-width: 992px) {
  .table--sm tbody td {
    height: 2.5rem;
  }
}
@media print {
  .table--sm tbody td {
    height: 2.5rem;
  }
}

.transform-table {
  position: relative;
  width: 100%;
  border-collapse: collapse;
  line-height: 1.75;
  border-top: 1px solid #dddddd;
  display: block;
}
@media print, screen and (min-width: 992px) {
  .transform-table {
    display: table;
  }
  .transform-table::before {
    content: " ";
    position: absolute;
    width: 10em;
    height: 0;
    border-bottom: 1px solid #00a5da;
    left: 0;
    top: 0;
  }
}
@media print {
  .transform-table {
    display: table;
  }
  .transform-table::before {
    content: " ";
    position: absolute;
    width: 10em;
    height: 0;
    border-bottom: 1px solid #00a5da;
    left: 0;
    top: 0;
  }
}
.transform-table tr {
  display: flex;
  flex-direction: column;
  gap: 0.25em;
  border-bottom: 1px solid #dddddd;
  width: 100%;
}
@media print, screen and (min-width: 992px) {
  .transform-table tr {
    display: table-row;
  }
}
@media print {
  .transform-table tr {
    display: table-row;
  }
}
.transform-table thead th,
.transform-table thead td {
  background-color: #666;
  color: #fff;
  white-space: nowrap;
  text-align: center;
  width: auto;
  height: auto;
  vertical-align: middle;
  padding: 0.5rem;
}
.transform-table tbody {
  display: flex;
  flex-direction: column;
  width: 100%;
}
@media print, screen and (min-width: 992px) {
  .transform-table tbody {
    display: table-row-group;
  }
}
@media print {
  .transform-table tbody {
    display: table-row-group;
  }
}
.transform-table tbody th,
.transform-table tbody td {
  display: block;
}
@media print, screen and (min-width: 992px) {
  .transform-table tbody th,
  .transform-table tbody td {
    display: table-cell;
    vertical-align: middle;
    height: 3rem;
  }
}
@media print {
  .transform-table tbody th,
  .transform-table tbody td {
    display: table-cell;
    vertical-align: middle;
    height: 3rem;
  }
}
.transform-table tbody th {
  color: #666;
  font-weight: 500;
  text-align: left;
  font-size: 0.85em;
  padding: 1rem 0.5rem 0;
}
@media print, screen and (min-width: 992px) {
  .transform-table tbody th {
    position: relative;
    width: 10em;
    font-size: 1em;
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .transform-table tbody th::before {
    content: " ";
    position: absolute;
    width: 100%;
    height: 0;
    border-bottom: 1px solid #00a5da;
    left: 0;
    bottom: -1px;
  }
}
@media print {
  .transform-table tbody th {
    position: relative;
    width: 10em;
    font-size: 1em;
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .transform-table tbody th::before {
    content: " ";
    position: absolute;
    width: 100%;
    height: 0;
    border-bottom: 1px solid #00a5da;
    left: 0;
    bottom: -1px;
  }
}
.transform-table tbody td {
  padding: 0.5rem;
  padding-bottom: 1rem;
}
@media print, screen and (min-width: 992px) {
  .transform-table tbody td {
    padding: 1rem 1rem;
  }
}
@media print {
  .transform-table tbody td {
    padding: 1rem 1rem;
  }
}
.transform-table a {
  -webkit-text-decoration: underline;
  text-decoration: underline;
}

.simple-table, .simple-table--sm {
  width: 100%;
  border-collapse: collapse;
  line-height: 1.75;
  font-size: 85%;
}
@media print, screen and (min-width: 992px) {
  .simple-table, .simple-table--sm {
    font-size: 100%;
  }
}
@media print {
  .simple-table, .simple-table--sm {
    font-size: 100%;
  }
}
.simple-table th, .simple-table--sm th,
.simple-table td,
.simple-table--sm td {
  padding: 0;
  margin: 0;
  padding-top: 0.25em;
  padding-bottom: 0.25em;
}
.simple-table tbody th, .simple-table--sm tbody th {
  text-align: left;
  font-weight: 500;
  width: 8em;
  opacity: 0.5;
  vertical-align: top;
}
@media print, screen and (min-width: 992px) {
  .simple-table tbody th, .simple-table--sm tbody th {
    width: 10em;
  }
}
@media print {
  .simple-table tbody th, .simple-table--sm tbody th {
    width: 10em;
  }
}
.simple-table a, .simple-table--sm a {
  -webkit-text-decoration: underline;
  text-decoration: underline;
}
.simple-table--sm {
  font-size: 0.875rem;
}
@media print, screen and (min-width: 992px) {
  .simple-table--sm {
    font-size: 1rem;
  }
}
@media print {
  .simple-table--sm {
    font-size: 1rem;
  }
}
.simple-table--sm tbody th {
  width: 5em;
}
@media print, screen and (min-width: 992px) {
  .simple-table--sm tbody th {
    width: 6em;
  }
}
@media print {
  .simple-table--sm tbody th {
    width: 6em;
  }
}

.number-table, .number-table--sm {
  width: 100%;
  border-collapse: collapse;
  line-height: 1.75;
  border-top: 1px solid #dddddd;
  border-left: 1px solid #dddddd;
  font-size: 85%;
}
@media print, screen and (min-width: 992px) {
  .number-table, .number-table--sm {
    table-layout: fixed;
    font-size: 100%;
  }
}
@media print {
  .number-table, .number-table--sm {
    table-layout: fixed;
    font-size: 100%;
  }
}
.number-table tr, .number-table--sm tr {
  border-bottom: 1px solid #dddddd;
}
.number-table th, .number-table--sm th,
.number-table td,
.number-table--sm td {
  position: relative;
  vertical-align: middle;
  padding: 0.25rem;
  border-right: 1px solid #dddddd;
}
@media print, screen and (min-width: 992px) {
  .number-table th, .number-table--sm th,
  .number-table td,
  .number-table--sm td {
    padding: 0.5rem 1rem;
  }
}
@media print {
  .number-table th, .number-table--sm th,
  .number-table td,
  .number-table--sm td {
    padding: 0.5rem 1rem;
  }
}
.number-table tbody th, .number-table--sm tbody th {
  position: relative;
  text-align: left;
  font-weight: 500;
  background-color: rgba(0, 0, 0, 0.025);
  width: 80%;
}
@media print, screen and (min-width: 992px) {
  .number-table tbody th, .number-table--sm tbody th {
    height: 3rem;
  }
}
@media print {
  .number-table tbody th, .number-table--sm tbody th {
    height: 3rem;
  }
}
.number-table tbody td, .number-table--sm tbody td {
  text-align: center;
  background-color: #fff;
}
@media print, screen and (min-width: 992px) {
  .number-table tbody td, .number-table--sm tbody td {
    height: 3rem;
  }
}
@media print {
  .number-table tbody td, .number-table--sm tbody td {
    height: 3rem;
  }
}
.number-table__td--min {
  font-size: 95%;
}
.number-table strong, .number-table--sm strong {
  font-weight: 700;
  font-size: 110%;
}
.number-table a, .number-table--sm a {
  -webkit-text-decoration: underline;
  text-decoration: underline;
}
@media print, screen and (min-width: 992px) {
  .number-table--sm th,
  .number-table--sm td {
    padding: 0.5rem;
  }
}
@media print {
  .number-table--sm th,
  .number-table--sm td {
    padding: 0.5rem;
  }
}
.number-table--sm tbody th {
  width: 8em;
}
@media print, screen and (min-width: 992px) {
  .number-table--sm tbody th {
    width: 10em;
    height: 2.5rem;
  }
}
@media print {
  .number-table--sm tbody th {
    width: 10em;
    height: 2.5rem;
  }
}
@media print, screen and (min-width: 992px) {
  .number-table--sm tbody td {
    height: 2.5rem;
  }
}
@media print {
  .number-table--sm tbody td {
    height: 2.5rem;
  }
}

.tel-block {
  color: currentColor;
  display: flex;
  gap: 0.25em;
  font-size: 100%;
  flex-direction: row;
}
.tel-block a {
  color: currentColor;
}
.tel-block__icon {
  line-height: 1;
  font-size: 1em;
}
.tel-block__icon img {
  width: 1.25em;
  height: auto;
}
.tel-block__icon svg {
  width: 1em;
  height: auto;
  fill: #00a5da;
}
.tel-block__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.15em;
}
.tel-block__number {
  line-height: 1;
  white-space: nowrap;
  font-family: "Manrope", sans-serif;
  font-weight: 700;
  border-bottom: 1px solid;
}
.tel-block__detail {
  font-size: min(45%, 0.75rem);
  line-height: 1;
  text-align: center;
  display: flex;
  align-items: center;
  width: 100%;
  justify-content: center;
  gap: 0.5em;
}
.tel-block__label {
  font-size: 75%;
  background-color: #fff;
  color: #132c41;
  border-radius: 0.75em;
  padding: 0.5em 1em;
}

.note-block {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 0.25em;
}
.note-block > p {
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.5;
  opacity: 0.75;
  font-size: 85%;
}

.note-text, .note-text--right, .note-text--alert, .note-text--red {
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.5;
  opacity: 0.75;
  font-size: 0.8125rem;
}
.note-text--red {
  font-weight: 500;
  color: #f1533d;
  opacity: 1;
}
.note-text--alert {
  font-weight: 700;
  color: #f1533d;
  opacity: 1;
  font-size: 100%;
}
@media print, screen and (min-width: 768px) {
  .note-text--right {
    text-align: right;
  }
}
@media print {
  .note-text--right {
    text-align: right;
  }
}

.text {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 1em;
  font-size: 1rem;
}
@media print, screen and (min-width: 992px) {
  .text {
    font-size: 1.125rem;
  }
}
@media print {
  .text {
    font-size: 1.125rem;
  }
}
.text--min {
  font-size: 85%;
  line-height: 1.75;
}
.text--xs {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 1em;
  font-size: 0.8125rem;
}
@media print, screen and (min-width: 992px) {
  .text--xs {
    font-size: 0.875rem;
  }
}
@media print {
  .text--xs {
    font-size: 0.875rem;
  }
}
.text--sm {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 1em;
  font-size: 0.875rem;
}
@media print, screen and (min-width: 992px) {
  .text--sm {
    font-size: 1rem;
  }
}
@media print {
  .text--sm {
    font-size: 1rem;
  }
}
.text--lg {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 1em;
  font-size: 1rem;
}
@media print, screen and (min-width: 992px) {
  .text--lg {
    font-size: 1.25rem;
  }
}
@media print {
  .text--lg {
    font-size: 1.25rem;
  }
}
.text--red {
  color: #f1533d;
}
.text--right {
  text-align: right;
}
.text--center {
  text-align: center;
}
.text--center-pc {
  text-align: left;
}
@media print, screen and (min-width: 768px) {
  .text--center-pc {
    text-align: center;
  }
}
@media print {
  .text--center-pc {
    text-align: center;
  }
}
.text--bold {
  font-weight: 500;
}
.text--light {
  opacity: 0.75;
}

.primary-text {
  color: #00a5da;
  color: var(--primary-color, #00a5da);
}

.lead {
  line-height: 1.75;
  font-weight: 500;
  font-size: 1.375rem;
}
@media print, screen and (min-width: 992px) {
  .lead {
    font-size: 2rem;
  }
}
@media print {
  .lead {
    font-size: 2rem;
  }
}
.lead strong {
  font-size: 115%;
}
.lead--sm {
  line-height: 1.75;
  font-weight: 500;
  font-size: 1.25rem;
}
@media print, screen and (min-width: 992px) {
  .lead--sm {
    font-size: 1.5rem;
  }
}
@media print {
  .lead--sm {
    font-size: 1.5rem;
  }
}
.lead--sm strong {
  font-size: 115%;
}
.lead--lg {
  line-height: 1.75;
  font-weight: 500;
  font-size: 1.5rem;
}
@media print, screen and (min-width: 992px) {
  .lead--lg {
    font-size: 2.5rem;
  }
}
@media print {
  .lead--lg {
    font-size: 2.5rem;
  }
}
.lead--lg strong {
  font-size: 115%;
}
.lead--xl {
  line-height: 1.75;
  font-weight: 500;
  font-size: 2rem;
}
@media print, screen and (min-width: 992px) {
  .lead--xl {
    font-size: 3rem;
  }
}
@media print {
  .lead--xl {
    font-size: 3rem;
  }
}
.lead--xl strong {
  font-size: 115%;
}
.lead--primary {
  line-height: 1.75;
  font-weight: 500;
  font-size: 1.375rem;
  color: #00a5da;
  color: var(--primary-color, #00a5da);
}
@media print, screen and (min-width: 992px) {
  .lead--primary {
    font-size: 2rem;
  }
}
@media print {
  .lead--primary {
    font-size: 2rem;
  }
}
.lead--primary strong {
  font-size: 115%;
}

.marker-text {
  font-weight: 500;
  font-size: 110%;
  padding-bottom: 0.1em;
  background-image: linear-gradient(transparent 85%, yellow 85%);
  background-repeat: repeat-x;
  background-size: 200% 100%;
}

.underline-text {
  position: relative;
  display: inline-flex;
  border-bottom: 2px solid;
}

.tabSwitch__target {
  width: 100%;
}
.tabSwitch__target[aria-hidden=true] {
  display: none;
  opacity: 0;
  transition: 0.4s;
}
.tabSwitch__target[aria-hidden=false] {
  display: flex;
  opacity: 1;
  transition: 0.4s;
}

.link-arrow, .link-arrow--line, .link-arrow--white {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  font-size: 1.25rem;
  width: 1em;
  height: 1em;
  color: #fff;
  background-color: #00a5da;
}
@media print, screen and (min-width: 992px) {
  .link-arrow, .link-arrow--line, .link-arrow--white {
    font-size: 1.5rem;
  }
}
@media print {
  .link-arrow, .link-arrow--line, .link-arrow--white {
    font-size: 1.5rem;
  }
}
.link-arrow::before, .link-arrow--line::before, .link-arrow--white::before {
  position: relative;
  content: " ";
  display: block;
  width: 0.275em;
  height: 0.275em;
  border: 1px solid;
  border-left: none;
  border-bottom: none;
  transform: translateX(0.05em) rotate(45deg);
}
.link-arrow::after, .link-arrow--line::after, .link-arrow--white::after {
  position: absolute;
  content: " ";
  display: block;
  width: 0.4em;
  height: 1px;
  background-color: currentColor;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 1em;
}
.link-arrow--white {
  background-color: #fff;
  color: #00a5da;
}
.link-arrow--white::before {
  border-color: #00a5da;
}
.link-arrow--line {
  background-color: transparent;
  color: #00a5da;
}
.link-arrow--line::before, .link-arrow--line::after {
  font-size: 1.25em;
}

.privacy-block, .privacy-block--page {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 1em;
  font-size: 0.75rem;
}
@media print, screen and (min-width: 992px) {
  .privacy-block, .privacy-block--page {
    font-size: 0.8125rem;
  }
}
@media print {
  .privacy-block, .privacy-block--page {
    font-size: 0.8125rem;
  }
}
.privacy-block--page {
  font-size: 0.875rem;
}
@media print, screen and (min-width: 992px) {
  .privacy-block--page {
    font-size: 1rem;
  }
}
@media print {
  .privacy-block--page {
    font-size: 1rem;
  }
}
.privacy-block__title {
  font-weight: 500;
  font-size: 125%;
}
.privacy-block__section {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 0.5em;
}
.privacy-block__list {
  margin: 0;
}
.privacy-block__list li {
  margin-top: 0.5em;
}
.privacy-block__list li:first-child {
  margin-top: 0;
}
.privacy-block__list li > ol {
  margin-top: 0.5em;
}
.privacy-block__list li > ol li ol {
  margin-top: 0.3em;
}
.privacy-block__h1 {
  line-height: 1.5;
  font-size: 110%;
  font-weight: 500;
}
.privacy-block__h2 {
  line-height: 1.5;
  font-weight: 500;
}
.privacy-block__box {
  overflow: auto;
  padding: 0.5rem;
  background-color: rgba(19, 44, 65, 0.1);
  max-height: 15rem;
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 1.5em;
}
@media print, screen and (min-width: 992px) {
  .privacy-block__box {
    max-height: 20rem;
    padding: 1rem;
  }
}
@media print {
  .privacy-block__box {
    max-height: 20rem;
    padding: 1rem;
  }
}
.privacy-block a, .privacy-block--page a {
  color: #00a5da;
  -webkit-text-decoration: underline;
  text-decoration: underline;
}
.privacy-block ul, .privacy-block--page ul,
.privacy-block ol,
.privacy-block--page ol {
  display: block;
  list-style-position: outside;
  margin-top: 1em;
  margin-bottom: 1em;
  margin-left: 0px;
  margin-right: 0px;
  padding-left: 40px;
}
.privacy-block li, .privacy-block--page li {
  display: list-item;
  text-align: -webkit-match-parent;
}
.privacy-block ol, .privacy-block--page ol {
  list-style-type: decimal;
}
.privacy-block ul, .privacy-block--page ul {
  list-style-type: disc;
}

.modal-trigger {
  position: relative;
  display: block;
  cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
  .modal-trigger {
    transition: 0.25s ease;
  }
  .modal-trigger:hover {
    opacity: 0.75;
  }
}
.modal-trigger__plus {
  position: relative;
  color: #00a5da;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  transition: all 0.25s ease;
  position: absolute;
  z-index: 10;
  right: 0.5em;
  bottom: 0.5em;
  font-size: 1.5rem;
}
.modal-trigger__plus::before, .modal-trigger__plus::after {
  position: absolute;
  display: block;
  content: " ";
  top: 50%;
  left: 50%;
  width: 100%;
  height: 2px;
  background-color: currentColor;
  transform-origin: center center;
  transform: translate(-50%, -50%);
  border-radius: 999em;
}
.modal-trigger__plus::after {
  transition: transform 0.25s ease;
  transform: translate(-50%, -50%) rotate(90deg);
}
@media print, screen and (min-width: 992px) {
  .modal-trigger__plus {
    font-size: 2rem;
  }
}
@media print {
  .modal-trigger__plus {
    font-size: 2rem;
  }
}

.modal {
  position: fixed;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  max-width: none;
  max-height: none;
  pointer-events: none;
  overflow-y: scroll;
  overscroll-behavior: none;
  opacity: 0;
  display: none;
  background: transparent;
}
.modal::after {
  display: block;
  position: absolute;
  z-index: 1;
  content: " ";
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: calc(100% + 1px);
  background-color: rgba(0, 0, 0, 0.5);
}
.modal[open] {
  display: block;
  z-index: 1000;
  opacity: 1;
  pointer-events: auto;
}
.modal__box {
  display: flex;
  flex-direction: column;
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  min-width: 20rem;
  max-width: 98vw;
  gap: 0;
  overscroll-behavior: contain;
}
@media print, screen and (min-width: 992px) {
  .modal__box {
    min-width: 30rem;
    max-width: 50rem;
  }
}
@media print {
  .modal__box {
    min-width: 30rem;
    max-width: 50rem;
  }
}
.modal__close {
  position: relative;
  color: #00a5da;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  transition: all 0.25s ease;
  position: absolute;
  background-color: #fff;
  border-radius: 50%;
  right: 0;
  top: 0;
  z-index: 10;
  font-size: 2rem;
  transform: translate(50%, -50%) rotate(45deg);
}
.modal__close::before, .modal__close::after {
  position: absolute;
  display: block;
  content: " ";
  top: 50%;
  left: 50%;
  width: 100%;
  height: 2px;
  background-color: currentColor;
  transform-origin: center center;
  transform: translate(-50%, -50%);
  border-radius: 999em;
}
.modal__close::after {
  transition: transform 0.25s ease;
  transform: translate(-50%, -50%) rotate(90deg);
}
@media print, screen and (min-width: 992px) {
  .modal__close {
    font-size: 2.5rem;
  }
}
@media print {
  .modal__close {
    font-size: 2.5rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .modal__close {
    transition: all 0.25s linear;
  }
  .modal__close:hover {
    opacity: 0.75;
  }
}
.modal img {
  max-width: 100%;
  max-height: 40rem;
  height: auto;
}

.tel-block {
  color: currentColor;
  display: flex;
  gap: 0.25em;
  font-size: 100%;
  flex-direction: row;
}
.tel-block a {
  color: currentColor;
}
.tel-block__icon {
  line-height: 1;
  font-size: 1em;
}
.tel-block__icon img {
  width: 1.25em;
  height: auto;
}
.tel-block__icon svg {
  width: 1em;
  height: auto;
  fill: #00a5da;
}
.tel-block__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.15em;
}
.tel-block__number {
  line-height: 1;
  white-space: nowrap;
  font-family: "Manrope", sans-serif;
  font-weight: 700;
  border-bottom: 1px solid;
}
.tel-block__detail {
  font-size: min(45%, 0.75rem);
  line-height: 1;
  text-align: center;
  display: flex;
  align-items: center;
  width: 100%;
  justify-content: center;
  gap: 0.5em;
}
.tel-block__label {
  font-size: 75%;
  background-color: #fff;
  color: #132c41;
  border-radius: 0.75em;
  padding: 0.5em 1em;
}

.migratory-block {
  display: flex;
  flex-direction: column;
  width: 100%;
  background-color: #eaeff4;
}
@media print, screen and (min-width: 992px) {
  .migratory-block {
    flex-direction: row;
  }
}
@media print {
  .migratory-block {
    flex-direction: row;
  }
}
.migratory-block__title {
  display: flex;
  position: relative;
  font-family: "Manrope", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 1.125rem;
  color: #fff;
  background-color: #132c41;
  padding: 1rem;
  width: 100%;
  line-height: 1.25;
}
@media print, screen and (min-width: 992px) {
  .migratory-block__title {
    width: 15rem;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 1.5rem;
    font-size: 1.25rem;
  }
}
@media print {
  .migratory-block__title {
    width: 15rem;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 1.5rem;
    font-size: 1.25rem;
  }
}
.migratory-block__title a {
  -webkit-text-decoration: none;
  text-decoration: none;
  color: currentColor;
}
@media (hover: hover) and (pointer: fine) {
  .migratory-block__title a {
    transition: 0.25s ease;
  }
  .migratory-block__title a:hover {
    opacity: 0.75;
  }
}
.migratory-block__main {
  display: flex;
  width: 100%;
  padding: 1rem;
}
@media print, screen and (min-width: 992px) {
  .migratory-block__main {
    flex: 1;
    border-top: 1px solid #dddddd;
    padding: 2.5rem 4rem;
    padding-right: max(50vw - 45rem, 2.5rem);
  }
}
@media print {
  .migratory-block__main {
    flex: 1;
    border-top: 1px solid #dddddd;
    padding: 2.5rem 4rem;
    padding-right: max(50vw - 45rem, 2.5rem);
  }
}

.migratory-list {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
  list-style: none;
  width: 100%;
  gap: 1em;
}
@media print, screen and (min-width: 992px) {
  .migratory-list {
    gap: 1.5em 2em;
  }
}
@media print {
  .migratory-list {
    gap: 1.5em 2em;
  }
}

.migratory-link {
  position: relative;
  display: flex;
  align-items: center;
  color: #132c41;
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
  gap: 0.5em;
  line-height: 1.5;
  font-size: 0.8125rem;
}
@media print, screen and (min-width: 992px) {
  .migratory-link {
    font-size: 1rem;
  }
}
@media print {
  .migratory-link {
    font-size: 1rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .migratory-link {
    transition: all 0.25s ease;
  }
  .migratory-link:hover {
    opacity: 1;
    color: #00a5da;
  }
  .migratory-link:hover .migratory-link__arrow {
    transform: translate(25%, 0);
  }
}
.migratory-link[aria-current=page] .migratory-link__text {
  color: #666;
  border-bottom: 1px solid #00a5da;
}
.migratory-link[aria-current=page] .migratory-link__arrow {
  display: none;
}
.migratory-link__arrow {
  transition: 0.25s ease;
}

.loading {
  position: fixed;
  z-index: 1000;
  width: 100%;
  height: 100dvh;
  top: 0;
  left: 0;
  display: flex;
  pointer-events: none;
}
.loading.set .loading-icon {
  opacity: 1;
  transform: translate(0, 0);
  transition: 0.5s ease;
}
.loading.hide {
  opacity: 0;
  pointer-events: none;
  transition: opacity 1.5s ease 0.25s;
}
.loading.hide .loading-icon {
  opacity: 0;
  transform: translate(0, -1em);
}
.loading.loaded {
  display: none;
}
.loading__inner {
  background-color: #fff;
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.loading .loading-icon {
  font-size: 1.5rem;
  width: 10em;
  transform: translate(0, 1em);
  transition: 0.5s ease;
  transition-delay: 0.5s;
  opacity: 0;
}
@media print, screen and (min-width: 992px) {
  .loading .loading-icon {
    font-size: 2.5rem;
  }
}
@media print {
  .loading .loading-icon {
    font-size: 2.5rem;
  }
}
.loading .loading-icon img {
  width: 100%;
  height: auto;
}

/*=====================
  header
===================== */
.header, .header--home {
  position: fixed;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 3.5rem;
  gap: 0.5rem;
  z-index: 980;
  top: 0;
  padding-left: 1rem;
  padding-right: 0.25rem;
  width: 100%;
  transition: 0.25s ease;
}
@media print, screen and (min-width: 992px) {
  .header, .header--home {
    gap: 1.5rem;
    height: 6rem;
    padding-left: 2.5rem;
    padding-right: 1.5rem;
  }
}
@media print {
  .header, .header--home {
    gap: 1.5rem;
    height: 6rem;
    padding-left: 2.5rem;
    padding-right: 1.5rem;
  }
}
@media print {
  .header, .header--home {
    position: absolute;
  }
}
@media print, screen and (min-width: 992px) {
  .header--home {
    transform: translateY(-100%);
  }
}
@media print {
  .header--home {
    transform: translateY(-100%);
  }
}
.header[data-status=scrolled], [data-status=scrolled].header--home {
  background-color: rgba(255, 255, 255, 0.95);
  box-shadow: 0 0 1em rgba(0, 0, 0, 0.1);
}
@media print, screen and (min-width: 992px) {
  .header[data-status=scrolled], [data-status=scrolled].header--home {
    height: 4rem;
    padding-top: 0;
    transform: translateY(0);
  }
  .header[data-status=scrolled] .global-list-btn, [data-status=scrolled].header--home .global-list-btn {
    height: 3rem;
  }
  .header[data-status=scrolled] .header-logo, [data-status=scrolled].header--home .header-logo {
    width: 16.25rem;
    height: 2.4rem;
  }
}
@media print {
  .header[data-status=scrolled], [data-status=scrolled].header--home {
    height: 4rem;
    padding-top: 0;
    transform: translateY(0);
  }
  .header[data-status=scrolled] .global-list-btn, [data-status=scrolled].header--home .global-list-btn {
    height: 3rem;
  }
  .header[data-status=scrolled] .header-logo, [data-status=scrolled].header--home .header-logo {
    width: 16.25rem;
    height: 2.4rem;
  }
}
.header__logo {
  display: flex;
  align-items: center;
  justify-content: center;
}

.header-logo {
  color: #00a5da;
  background-image: url("/images/logo.svg");
  background-repeat: no-repeat;
  text-indent: 150%;
  font-size: 0;
  white-space: nowrap;
  overflow: hidden;
  background-size: 100% auto;
  width: 13.5416666667rem;
  height: 2rem;
}
@media print, screen and (min-width: 992px) {
  .header-logo {
    width: 20.3125rem;
    height: 3rem;
  }
}
@media print {
  .header-logo {
    width: 20.3125rem;
    height: 3rem;
  }
}

_::-webkit-full-page-media,
_:future,
:root .global-nav__list.dropdown-open::before {
  opacity: 0 !important;
}

/* =====================
  footer
===================== */
/*フッター */
.footer {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  background-color: #fff;
  color: currentColor;
  padding-top: 3rem;
  padding-bottom: 1.5rem;
  border-radius: 1rem 1rem 0 0;
}
@media print, screen and (min-width: 992px) {
  .footer {
    padding-top: 5rem;
    padding-bottom: 2.5rem;
    border-radius: 3rem 3rem 0 0;
  }
}
@media print {
  .footer {
    padding-top: 5rem;
    padding-bottom: 2.5rem;
    border-radius: 3rem 3rem 0 0;
  }
}
.footer a {
  color: currentColor;
}
.footer__container {
  width: 100%;
  max-width: 1520px;
  padding-left: 1rem;
  padding-right: 1rem;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  font-size: 0.8125rem;
  width: 100%;
  gap: 3rem;
}
@media print, screen and (min-width: 992px) {
  .footer__container {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
@media print {
  .footer__container {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
@media print, screen and (min-width: 992px) {
  .footer__container {
    flex-direction: row;
    gap: 5rem;
  }
}
@media print {
  .footer__container {
    flex-direction: row;
    gap: 5rem;
  }
}
.footer__info {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  align-items: center;
}
@media print, screen and (min-width: 992px) {
  .footer__info {
    width: 30rem;
    gap: 1rem;
    align-items: flex-start;
  }
}
@media print {
  .footer__info {
    width: 30rem;
    gap: 1rem;
    align-items: flex-start;
  }
}
.footer__detail {
  display: flex;
  flex-direction: column;
}
.footer__tel {
  opacity: 0.75;
  line-height: 1.25;
}
.footer__tel a {
  -webkit-text-decoration: underline;
  text-decoration: underline;
}
.footer__nav {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 1.5rem;
}
@media print, screen and (min-width: 992px) {
  .footer__nav {
    flex: 1;
  }
}
@media print {
  .footer__nav {
    flex: 1;
  }
}
.footer__list {
  display: flex;
  flex: 1;
}
.footer__bottom {
  display: flex;
  width: 100%;
  justify-content: center;
  border-top: 1px solid #dddddd;
  padding-top: 1rem;
}
@media print, screen and (min-width: 992px) {
  .footer__bottom {
    padding-top: 1.5rem;
    justify-content: flex-end;
  }
}
@media print {
  .footer__bottom {
    padding-top: 1.5rem;
    justify-content: flex-end;
  }
}
.footer__fixed {
  height: 1.5rem;
}
@media print, screen and (min-width: 992px) {
  .footer__fixed {
    height: 2.5rem;
  }
}
@media print {
  .footer__fixed {
    height: 2.5rem;
  }
}

.fixed-banner {
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 6.625rem;
  z-index: 100;
}
@media print, screen and (min-width: 992px) {
  .fixed-banner {
    width: 12.5rem;
    right: 1.5rem;
  }
}
@media print {
  .fixed-banner {
    width: 12.5rem;
    right: 1.5rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .fixed-banner {
    transition: 0.25s ease;
  }
  .fixed-banner:hover {
    opacity: 0.75;
  }
}
.fixed-banner img {
  width: 100%;
  height: auto;
}

.fixed-banner {
  position: fixed;
  right: 0.25rem;
  bottom: 0;
  width: 6.625rem;
  z-index: 100;
}
@media print, screen and (min-width: 992px) {
  .fixed-banner {
    right: 1.5rem;
    width: 12.5rem;
  }
}
@media print {
  .fixed-banner {
    right: 1.5rem;
    width: 12.5rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .fixed-banner {
    transition: 0.25s ease;
  }
  .fixed-banner:hover {
    opacity: 0.75;
  }
}
.fixed-banner img {
  width: 100%;
  height: auto;
}

.footer-copy {
  position: relative;
  z-index: 10;
  text-align: center;
  letter-spacing: 0.05em;
  line-height: 1;
  opacity: 0.75;
  font-size: 0.75rem;
}
@media print, screen and (min-width: 992px) {
  .footer-copy {
    font-size: 0.8125rem;
  }
}
@media print {
  .footer-copy {
    font-size: 0.8125rem;
  }
}

.footer-nav {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 1em;
  font-size: 0.8125rem;
}
@media print, screen and (min-width: 992px) {
  .footer-nav {
    flex-direction: row;
    flex: 1;
    font-size: 0.875rem;
  }
}
@media print {
  .footer-nav {
    flex-direction: row;
    flex: 1;
    font-size: 0.875rem;
  }
}
.footer-nav__col {
  width: 100%;
}

.footer-list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
  list-style: none;
  width: 100%;
  gap: 1em 0;
}
@media print, screen and (min-width: 992px) {
  .footer-list {
    gap: 3.5em;
    justify-content: flex-end;
  }
}
@media print {
  .footer-list {
    gap: 3.5em;
    justify-content: flex-end;
  }
}
.footer-list > li {
  display: flex;
  flex-direction: column;
  width: 50%;
  text-align: center;
}
@media print, screen and (min-width: 992px) {
  .footer-list > li {
    width: auto;
    text-align: left;
    justify-content: flex-start;
  }
}
@media print {
  .footer-list > li {
    width: auto;
    text-align: left;
    justify-content: flex-start;
  }
}
.footer-list > li.has-child, .footer-list > li:has(.footer-list--child) {
  width: 100%;
}
.footer-list--child {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 90%;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  padding-top: 1em;
  padding-bottom: 1em;
  gap: 1em 3em;
}
@media print, screen and (min-width: 992px) {
  .footer-list--child {
    padding-bottom: 0;
    border-top: none;
    gap: 1.5em;
  }
}
@media print {
  .footer-list--child {
    padding-bottom: 0;
    border-top: none;
    gap: 1.5em;
  }
}
.footer-list--child > li {
  display: flex;
  width: auto;
}
@media print, screen and (min-width: 992px) {
  .footer-list--child > li {
    width: 100%;
  }
}
@media print {
  .footer-list--child > li {
    width: 100%;
  }
}
.footer-list--child > li a {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  opacity: 0.7;
  color: currentColor;
  line-height: 1.5;
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
}
@media print, screen and (min-width: 992px) {
  .footer-list--child > li a {
    gap: 0.5em;
    flex-wrap: nowrap;
  }
}
@media print {
  .footer-list--child > li a {
    gap: 0.5em;
    flex-wrap: nowrap;
  }
}
@media (hover: hover) and (pointer: fine) {
  .footer-list--child > li a {
    transition: all 0.25s ease;
  }
  .footer-list--child > li a:hover {
    opacity: 1;
  }
}
@media print, screen and (min-width: 992px) {
  .footer-list--child > li a::before {
    position: relative;
    display: block;
    content: " ";
    width: 0.5em;
    margin-top: 0.75em;
    height: 1px;
    opacity: 0.5;
    background-color: currentColor;
  }
}
@media print {
  .footer-list--child > li a::before {
    position: relative;
    display: block;
    content: " ";
    width: 0.5em;
    margin-top: 0.75em;
    height: 1px;
    opacity: 0.5;
    background-color: currentColor;
  }
}

.footer-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  line-height: 1.5;
  width: 100%;
}
@media (hover: hover) and (pointer: fine) {
  .footer-item:hover {
    opacity: 0.75;
  }
}
.footer-item__en {
  font-size: 1.125rem;
  font-family: "Manrope", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
}
.footer-item__ja {
  opacity: 0.5;
}

.footer-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #dddddd;
  font-size: 0.9375rem;
  width: 1.75em;
  height: 1.75em;
  border-radius: 50%;
  color: #00a5da;
}
@media print, screen and (min-width: 992px) {
  .footer-icon {
    font-size: 1.125rem;
  }
}
@media print {
  .footer-icon {
    font-size: 1.125rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .footer-icon {
    transition: 0.25s ease;
  }
  .footer-icon:hover {
    opacity: 0.75;
  }
}
.footer-icon svg {
  width: 1em;
  height: auto;
  fill: #00a5da;
}

.footer-access {
  display: flex;
  align-items: center;
  gap: 0.75em;
}
.footer-access__text {
  line-height: 1.75;
  opacity: 0.75;
}
.footer-btn {
  position: relative;
  display: flex;
  padding: 0 1em;
  margin: 0;
  height: 2.5rem;
  color: #132c41;
  gap: 0.25em;
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
  text-align: center;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  color: #fff !important;
  background-color: #00a5da;
  font-size: 1rem;
  line-height: 1.25;
  border-radius: 0.5rem;
  letter-spacing: 0;
}
@media print, screen and (min-width: 992px) {
  .footer-btn {
    width: 10rem;
    height: 2.5rem;
  }
}
@media print {
  .footer-btn {
    width: 10rem;
    height: 2.5rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .footer-btn {
    transition: all 0.25s ease;
  }
  .footer-btn:hover {
    color: #fff;
    filter: brightness(1.25);
  }
}
.footer-btn__icon {
  line-height: 1;
}
.footer-btn__icon img,
.footer-btn__icon svg {
  vertical-align: middle;
  width: 1.25em;
  height: auto;
  fill: currentColor;
}
.footer-bottom {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 2.5rem;
}
@media print, screen and (min-width: 992px) {
  .footer-bottom {
    flex-direction: row;
    align-items: center;
    justify-content: center;
  }
}
@media print {
  .footer-bottom {
    flex-direction: row;
    align-items: center;
    justify-content: center;
  }
}
@media print, screen and (min-width: 992px) {
  .footer-bottom__left {
    flex: 1;
  }
}
@media print {
  .footer-bottom__left {
    flex: 1;
  }
}

.footer-other-list {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 2em 1.5em;
  width: 100%;
  font-size: 85%;
}
@media print, screen and (min-width: 992px) {
  .footer-other-list {
    flex: 1;
    font-size: 92%;
    align-items: center;
  }
}
@media print {
  .footer-other-list {
    flex: 1;
    font-size: 92%;
    align-items: center;
  }
}
.footer-other-list li {
  display: flex;
  align-items: center;
  width: calc(50% - 0.75em);
}
@media print, screen and (min-width: 992px) {
  .footer-other-list li {
    width: auto;
  }
}
@media print {
  .footer-other-list li {
    width: auto;
  }
}
.footer-other-list li > a {
  display: flex;
  gap: 0.5em;
  opacity: 0.65;
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
  color: #fff;
  line-height: 1;
}
@media (hover: hover) and (pointer: fine) {
  .footer-other-list li > a {
    transition: all 0.25s ease;
  }
  .footer-other-list li > a:hover {
    opacity: 1;
  }
}
.footer-other-list li > a svg {
  align-self: flex-start;
  width: 0.75em;
  height: auto;
  fill: currentColor;
}

.sns-list {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  gap: 0.75em;
  font-size: 1.75rem;
}
@media print, screen and (min-width: 992px) {
  .sns-list {
    font-size: 2rem;
  }
}
@media print {
  .sns-list {
    font-size: 2rem;
  }
}
.sns-list > li {
  display: flex;
}
.sns-list > li > a {
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-text-decoration: none;
  text-decoration: none;
  color: #132c41;
  opacity: 0.75;
}
@media (hover: hover) and (pointer: fine) {
  .sns-list > li > a {
    transition: 0.25s ease;
  }
  .sns-list > li > a:hover {
    opacity: 1;
  }
}
.sns-list > li > a svg {
  width: 1em;
  height: auto;
  fill: currentColor;
}

.fixed-menu {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3.5rem;
  display: flex;
  background-color: #f1eae3;
  z-index: 90;
}
@media print, screen and (min-width: 992px) {
  .fixed-menu {
    top: auto;
    bottom: 15rem;
    right: 0;
    left: auto;
    flex-direction: column;
    gap: 1rem;
    background-color: transparent;
  }
}
@media print {
  .fixed-menu {
    top: auto;
    bottom: 15rem;
    right: 0;
    left: auto;
    flex-direction: column;
    gap: 1rem;
    background-color: transparent;
  }
}
.fixed-menu__wrapper {
  display: flex;
  width: 100%;
  height: 3.5rem;
}
@media print, screen and (min-width: 992px) {
  .fixed-menu__wrapper {
    height: 0;
  }
}
@media print {
  .fixed-menu__wrapper {
    height: 0;
  }
}
.fixed-menu__item {
  display: flex;
  width: 100%;
  border-left: 1px solid #dddddd;
}
@media print, screen and (min-width: 992px) {
  .fixed-menu__item {
    border: none;
  }
}
@media print {
  .fixed-menu__item {
    border: none;
  }
}
@media print, screen and (min-width: 992px) {
  .fixed-menu__item.--sp {
    display: none;
  }
}
@media print {
  .fixed-menu__item.--sp {
    display: none;
  }
}

.fixed-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  -webkit-text-decoration: none;
  text-decoration: none;
  width: 100%;
  color: #132c41;
  font-size: 0.75rem;
  font-weight: 500;
}
@media print, screen and (min-width: 992px) {
  .fixed-btn {
    font-size: 0.8125rem;
    width: 4rem;
    height: 4.5rem;
    color: #fff;
    background-color: #f39a08;
    border-radius: 1.75rem 0 0 1.75rem;
  }
}
@media print {
  .fixed-btn {
    font-size: 0.8125rem;
    width: 4rem;
    height: 4.5rem;
    color: #fff;
    background-color: #f39a08;
    border-radius: 1.75rem 0 0 1.75rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .fixed-btn:hover {
    color: #fff;
    filter: brightness(1.1);
  }
}
@media print, screen and (min-width: 992px) {
  .fixed-btn.--blog {
    background-color: #328d37;
  }
}
@media print {
  .fixed-btn.--blog {
    background-color: #328d37;
  }
}
.fixed-btn__icon img {
  width: 2em;
  height: auto;
}

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

.top-title {
  display: flex;
  flex-direction: column;
  gap: 0;
  align-items: flex-start;
  line-height: 1.25;
}
.top-title__en {
  position: relative;
  font-family: "Manrope", sans-serif;
  font-weight: 700;
  color: #00a5da;
  font-size: 0.9375rem;
  letter-spacing: 0.05em;
}
@media print, screen and (min-width: 992px) {
  .top-title__en {
    font-size: 1.125rem;
  }
}
@media print {
  .top-title__en {
    font-size: 1.125rem;
  }
}
.top-title__en > span {
  position: relative;
  z-index: 10;
}
.top-title__ja {
  font-family: "Zen Maru Gothic", "Zen Kaku Gothic New", "Noto Sans JP", "YakuHanJP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 400;
  font-size: 1.75rem;
}
@media print, screen and (min-width: 992px) {
  .top-title__ja {
    font-size: 2.5rem;
  }
}
@media print {
  .top-title__ja {
    font-size: 2.5rem;
  }
}

.top-kv {
  position: relative;
  display: flex;
  width: 100%;
  padding-bottom: 2.5rem;
  background-color: #fff;
}
@media print, screen and (min-width: 992px) {
  .top-kv {
    padding-bottom: 4rem;
  }
}
@media print {
  .top-kv {
    padding-bottom: 4rem;
  }
}
.top-kv::before {
  content: "";
  position: absolute;
  top: 3rem;
  left: 0;
  right: 1.5rem;
  bottom: 0;
  background-color: #eaeff4;
  background-image: url("../images/noise.png");
  background-size: 240px auto;
  border-radius: 1rem;
  border-bottom-left-radius: 0;
}
@media print, screen and (min-width: 992px) {
  .top-kv::before {
    top: 7.5rem;
    right: 12.5vw;
    border-radius: 3rem;
    border-bottom-left-radius: 0;
  }
}
@media print {
  .top-kv::before {
    top: 7.5rem;
    right: 12.5vw;
    border-radius: 3rem;
    border-bottom-left-radius: 0;
  }
}
.top-kv__side {
  position: relative;
  display: none;
}
@media print, screen and (min-width: 992px) {
  .top-kv__side {
    display: flex;
    width: 30rem;
    padding-left: 2.5rem;
  }
}
@media print {
  .top-kv__side {
    display: flex;
    width: 30rem;
    padding-left: 2.5rem;
  }
}
@media print, screen and (min-width: 1680px) {
  .top-kv__side {
    width: 25vw;
    padding-left: 5vw;
  }
}
@media print {
  .top-kv__side {
    width: 25vw;
    padding-left: 5vw;
  }
}
.top-kv__main {
  position: relative;
  display: flex;
  width: 100%;
  position: relative;
  padding-left: 1rem;
}
@media print, screen and (min-width: 992px) {
  .top-kv__main {
    flex: 1;
    padding-left: 0;
    padding-right: 2.5rem;
  }
}
@media print {
  .top-kv__main {
    flex: 1;
    padding-left: 0;
    padding-right: 2.5rem;
  }
}
.top-kv__image {
  position: relative;
  display: flex;
  width: 100%;
  height: 16.25rem;
  border-radius: 1.5rem;
  overflow: hidden;
}
@media print, screen and (min-width: 992px) {
  .top-kv__image {
    height: 40rem;
    border-radius: 2.5rem;
  }
}
@media print {
  .top-kv__image {
    height: 40rem;
    border-radius: 2.5rem;
  }
}
@media print, screen and (min-width: 1680px) {
  .top-kv__image {
    max-width: 80rem;
  }
}
@media print {
  .top-kv__image {
    max-width: 80rem;
  }
}
.top-kv__text {
  display: flex;
  align-items: center;
  gap: 0.75em;
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  color: #fff;
  z-index: 100;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-size: 1.25rem;
  font-family: "Zen Maru Gothic", "Zen Kaku Gothic New", "Noto Sans JP", "YakuHanJP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 400;
}
@media print, screen and (min-width: 992px) {
  .top-kv__text {
    line-height: 1.25;
    left: 4rem;
    bottom: 2rem;
    font-size: 2rem;
  }
}
@media print {
  .top-kv__text {
    line-height: 1.25;
    left: 4rem;
    bottom: 2rem;
    font-size: 2rem;
  }
}
.top-kv__text::after {
  position: relative;
  display: block;
  content: "";
  height: 1px;
  background-color: #fff;
  width: 4rem;
}
@media print, screen and (min-width: 992px) {
  .top-kv__text::after {
    width: 7.5rem;
  }
}
@media print {
  .top-kv__text::after {
    width: 7.5rem;
  }
}

.kv-slider {
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;
  z-index: 10;
}
.kv-slider::after {
  pointer-events: none;
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 50%, rgba(0, 0, 0, 0) 100%);
  height: 25%;
  display: block;
  z-index: 10;
  opacity: 0.25;
}
.kv-slider__list {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
}
.kv-slider__item {
  display: flex;
  position: relative;
  overflow: hidden;
}
.kv-slider__image {
  position: relative;
  display: flex;
  width: 100%;
  overflow: hidden;
  background-color: #000;
}
.kv-slider__image img {
  max-width: inherit;
  max-height: inherit;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  left: 0;
  top: 0;
  transition: all 0.45s ease;
}

.kv-nav {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 2.5rem;
}
.kv-nav__logo {
  display: flex;
  height: 8rem;
  align-items: center;
}
.kv-nav__logo img {
  width: 20.3125rem;
  height: auto;
}
.kv-nav__list {
  display: flex;
  width: 100%;
  padding-left: 2.5rem;
}
.kv-nav__banner {
  display: flex;
  width: 100%;
  padding-left: 2.5rem;
  width: 15.5rem;
}

.kv-banner {
  display: flex;
  width: 100%;
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
}
@media (hover: hover) and (pointer: fine) {
  .kv-banner img {
    transition: 0.25s ease;
  }
  .kv-banner:hover img {
    opacity: 0.8;
  }
}
.kv-banner img {
  width: 100%;
  height: auto;
}

.kv-list {
  display: flex;
  padding: 0;
  margin: 0;
  list-style: none;
  width: 100%;
  flex-direction: column;
  gap: 2rem;
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
.kv-list li {
  display: flex;
  width: 100%;
}
.kv-list li a {
  color: currentColor;
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
}
@media (hover: hover) and (pointer: fine) {
  .kv-list li a {
    transition: 0.25s ease;
  }
  .kv-list li a:hover {
    color: #00a5da;
    -webkit-text-decoration: underline;
    text-decoration: underline;
  }
}

.top-concept {
  display: flex;
  width: 100%;
  z-index: 10;
  position: relative;
  background-color: #fff;
  padding-top: 3rem;
  padding-bottom: 3rem;
  border-radius: 1rem 0 1rem 1rem;
}
@media print, screen and (min-width: 992px) {
  .top-concept {
    padding-top: 5rem;
    padding-bottom: 5rem;
    border-radius: 3rem 0 3rem 3rem;
  }
}
@media print {
  .top-concept {
    padding-top: 5rem;
    padding-bottom: 5rem;
    border-radius: 3rem 0 3rem 3rem;
  }
}
.top-concept__container {
  width: 100%;
  max-width: 1520px;
  padding-left: 1rem;
  padding-right: 1rem;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media print, screen and (min-width: 992px) {
  .top-concept__container {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
@media print {
  .top-concept__container {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
@media print, screen and (min-width: 992px) {
  .top-concept__container {
    flex-direction: row-reverse;
    gap: 0;
    align-items: center;
  }
}
@media print {
  .top-concept__container {
    flex-direction: row-reverse;
    gap: 0;
    align-items: center;
  }
}
.top-concept__main {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 1.5rem;
}
@media print, screen and (min-width: 992px) {
  .top-concept__main {
    flex: 1;
    gap: 2.5rem;
  }
}
@media print {
  .top-concept__main {
    flex: 1;
    gap: 2.5rem;
  }
}
.top-concept__lead {
  font-family: "Zen Maru Gothic", "Zen Kaku Gothic New", "Noto Sans JP", "YakuHanJP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 400;
  font-size: 1.75rem;
  line-height: 1.25;
  color: #00a5da;
}
@media print, screen and (min-width: 992px) {
  .top-concept__lead {
    font-size: 2.625rem;
  }
}
@media print {
  .top-concept__lead {
    font-size: 2.625rem;
  }
}
.top-concept__text {
  display: flex;
  flex-direction: column;
  gap: 1em;
  line-height: 2.25;
  letter-spacing: 0.05em;
  font-size: 1rem;
}
@media print, screen and (min-width: 992px) {
  .top-concept__text {
    line-height: 2.5;
    font-size: 1.125rem;
  }
}
@media print {
  .top-concept__text {
    line-height: 2.5;
    font-size: 1.125rem;
  }
}
.top-concept__image {
  position: relative;
  display: flex;
  width: 100%;
  justify-content: center;
  padding-left: 1rem;
}
@media print, screen and (min-width: 992px) {
  .top-concept__image {
    width: 51.25rem;
    padding-left: 0;
  }
}
@media print {
  .top-concept__image {
    width: 51.25rem;
    padding-left: 0;
  }
}
.top-concept__image img {
  position: relative;
  width: 20rem;
}
@media print, screen and (min-width: 992px) {
  .top-concept__image img {
    width: 43.75rem;
  }
}
@media print {
  .top-concept__image img {
    width: 43.75rem;
  }
}
.top-concept__dotted {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-66%, -52.5%);
  display: block;
  border-radius: 50%;
  width: 16rem;
  height: 16rem;
  background-image: radial-gradient(circle, #6e7780 15%, transparent 15%), radial-gradient(circle, #6e7780 15%, transparent 15%);
  background-position: 0 0, 2px 2px;
  background-size: 4px 4px;
}
@media print, screen and (min-width: 992px) {
  .top-concept__dotted {
    background-position: 0 0, 4px 4px;
    background-size: 8px 8px;
  }
}
@media print {
  .top-concept__dotted {
    background-position: 0 0, 4px 4px;
    background-size: 8px 8px;
  }
}
@media print, screen and (min-width: 992px) {
  .top-concept__dotted {
    width: 34.25rem;
    height: 34.25rem;
  }
}
@media print {
  .top-concept__dotted {
    width: 34.25rem;
    height: 34.25rem;
  }
}

.top-sections {
  position: relative;
  display: flex;
  width: 100%;
  flex-direction: column;
  padding-top: 4rem;
  padding-bottom: 4rem;
  gap: 4rem;
}
@media print, screen and (min-width: 992px) {
  .top-sections {
    padding-top: 10rem;
    padding-bottom: 10rem;
    gap: 7.5rem;
  }
}
@media print {
  .top-sections {
    padding-top: 10rem;
    padding-bottom: 10rem;
    gap: 7.5rem;
  }
}
.top-sections__illust {
  position: absolute;
  left: 0;
  top: 0;
  transform: translateY(-7.5%);
  width: 12.5rem;
}
@media print, screen and (min-width: 992px) {
  .top-sections__illust {
    width: 33.875rem;
  }
}
@media print {
  .top-sections__illust {
    width: 33.875rem;
  }
}
.top-sections__illust img {
  width: 100%;
  height: auto;
}

.top-service {
  position: relative;
  display: flex;
  width: 100%;
  position: relative;
}
.top-service__container {
  position: relative;
  width: 100%;
  max-width: 1520px;
  padding-left: 1rem;
  padding-right: 1rem;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media print, screen and (min-width: 992px) {
  .top-service__container {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
@media print {
  .top-service__container {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
@media print, screen and (min-width: 992px) {
  .top-service__container {
    flex-direction: row;
    gap: 0;
    align-items: center;
  }
}
@media print {
  .top-service__container {
    flex-direction: row;
    gap: 0;
    align-items: center;
  }
}
.top-service__main {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 1.5rem;
}
@media print, screen and (min-width: 992px) {
  .top-service__main {
    flex: 1;
    gap: 2.5rem;
  }
}
@media print {
  .top-service__main {
    flex: 1;
    gap: 2.5rem;
  }
}
.top-service__body {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 1.5rem;
}
@media print, screen and (min-width: 992px) {
  .top-service__body {
    gap: 2.5rem;
  }
}
@media print {
  .top-service__body {
    gap: 2.5rem;
  }
}
.top-service__text {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 1em;
  font-size: 1rem;
}
@media print, screen and (min-width: 992px) {
  .top-service__text {
    font-size: 1.125rem;
  }
}
@media print {
  .top-service__text {
    font-size: 1.125rem;
  }
}
.top-service__btn {
  display: flex;
  width: 100%;
  justify-content: center;
}
@media print, screen and (min-width: 992px) {
  .top-service__btn {
    justify-content: flex-start;
  }
}
@media print {
  .top-service__btn {
    justify-content: flex-start;
  }
}
.top-service__image {
  position: relative;
  display: flex;
  width: 100%;
}
@media print, screen and (min-width: 992px) {
  .top-service__image {
    width: 50%;
  }
}
@media print {
  .top-service__image {
    width: 50%;
  }
}
.top-service__image img {
  position: relative;
  width: 100%;
  height: auto;
  border-radius: 1rem;
}
@media print, screen and (min-width: 992px) {
  .top-service__image img {
    border-radius: 1.5rem;
  }
}
@media print {
  .top-service__image img {
    border-radius: 1.5rem;
  }
}
.top-service__dotted {
  position: absolute;
  left: 0;
  top: 0;
  transform: translate(-0.75rem, -0.75rem);
  display: block;
  border-radius: 1rem;
  width: 100%;
  height: 100%;
  background-image: radial-gradient(circle, #6e7780 15%, transparent 15%), radial-gradient(circle, #6e7780 15%, transparent 15%);
  background-position: 0 0, 2px 2px;
  background-size: 4px 4px;
}
@media print, screen and (min-width: 992px) {
  .top-service__dotted {
    background-position: 0 0, 4px 4px;
    background-size: 8px 8px;
  }
}
@media print {
  .top-service__dotted {
    background-position: 0 0, 4px 4px;
    background-size: 8px 8px;
  }
}
@media print, screen and (min-width: 992px) {
  .top-service__dotted {
    border-radius: 1.5rem;
    transform: translate(-1.5rem, -1.5rem);
  }
}
@media print {
  .top-service__dotted {
    border-radius: 1.5rem;
    transform: translate(-1.5rem, -1.5rem);
  }
}

.top-service-list {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1.5em;
  padding: 0;
  margin: 0;
  list-style: none;
  font-size: 0.8125rem;
  width: 100%;
  justify-content: center;
}
@media print, screen and (min-width: 992px) {
  .top-service-list {
    justify-content: flex-start;
    font-size: 1rem;
  }
}
@media print {
  .top-service-list {
    justify-content: flex-start;
    font-size: 1rem;
  }
}
.top-service-list li {
  display: flex;
}

.top-service-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border: 1px solid currentColor;
  width: 6.5em;
  height: 6.5em;
  border-radius: 50%;
  line-height: 1.25;
}

.top-sections-row {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  width: 100%;
}
@media print, screen and (min-width: 992px) {
  .top-sections-row {
    flex-direction: row;
    gap: 7.5rem;
  }
}
@media print {
  .top-sections-row {
    flex-direction: row;
    gap: 7.5rem;
  }
}
.top-sections-row__company {
  display: flex;
  width: 100%;
  background-color: #fff;
  border-radius: 0 1rem 1rem 0;
  padding: 2.5rem 1rem;
}
@media print, screen and (min-width: 992px) {
  .top-sections-row__company {
    align-items: flex-start;
    width: calc(50vw + 2.5rem);
    border-radius: 0 3rem 3rem 0;
    padding: 5rem 3rem 5rem max(50vw - 47.5rem, 2.5rem);
  }
}
@media print {
  .top-sections-row__company {
    align-items: flex-start;
    width: calc(50vw + 2.5rem);
    border-radius: 0 3rem 3rem 0;
    padding: 5rem 3rem 5rem max(50vw - 47.5rem, 2.5rem);
  }
}
.top-sections-row__safety {
  padding-left: 1rem;
  padding-right: 1rem;
}
@media print, screen and (min-width: 992px) {
  .top-sections-row__safety {
    flex: 1;
    padding: 0;
    padding-right: max(50vw - 47.5rem, 2.5rem);
  }
}
@media print {
  .top-sections-row__safety {
    flex: 1;
    padding: 0;
    padding-right: max(50vw - 47.5rem, 2.5rem);
  }
}

.top-company {
  position: relative;
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 1.5rem;
}
@media print, screen and (min-width: 992px) {
  .top-company {
    flex-direction: row-reverse;
    gap: 4rem;
  }
}
@media print {
  .top-company {
    flex-direction: row-reverse;
    gap: 4rem;
  }
}
.top-company__main {
  display: flex;
  gap: 1.5rem;
  flex-direction: column;
  width: 100%;
}
@media print, screen and (min-width: 992px) {
  .top-company__main {
    gap: 2.5rem;
    flex: 1;
  }
}
@media print {
  .top-company__main {
    gap: 2.5rem;
    flex: 1;
  }
}
.top-company__image {
  position: relative;
  display: flex;
  width: 100%;
}
@media print, screen and (min-width: 992px) {
  .top-company__image {
    width: 20rem;
    height: auto;
  }
}
@media print {
  .top-company__image {
    width: 20rem;
    height: auto;
  }
}
.top-company__image-inner {
  position: relative;
  display: flex;
  width: 100%;
  height: 20rem;
  border-radius: 1rem;
  overflow: hidden;
}
@media print, screen and (min-width: 992px) {
  .top-company__image-inner {
    height: auto;
    border-radius: 1.5rem;
  }
}
@media print {
  .top-company__image-inner {
    height: auto;
    border-radius: 1.5rem;
  }
}
.top-company__image img {
  max-width: inherit;
  max-height: inherit;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  left: 0;
  top: 0;
  transition: all 0.45s ease;
}
.top-company__dotted {
  position: absolute;
  left: 0;
  top: 0;
  transform: translate(-0.75rem, 0.75rem);
  display: block;
  border-radius: 1rem;
  width: 100%;
  height: 100%;
  background-image: radial-gradient(circle, #6e7780 15%, transparent 15%), radial-gradient(circle, #6e7780 15%, transparent 15%);
  background-position: 0 0, 2px 2px;
  background-size: 4px 4px;
}
@media print, screen and (min-width: 992px) {
  .top-company__dotted {
    background-position: 0 0, 4px 4px;
    background-size: 8px 8px;
  }
}
@media print {
  .top-company__dotted {
    background-position: 0 0, 4px 4px;
    background-size: 8px 8px;
  }
}
@media print, screen and (min-width: 992px) {
  .top-company__dotted {
    border-radius: 1.5rem;
    transform: translate(-1.25rem, 1.25rem);
  }
}
@media print {
  .top-company__dotted {
    border-radius: 1.5rem;
    transform: translate(-1.25rem, 1.25rem);
  }
}

.top-company-list {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  border-top: 1px dashed #dddddd;
}
.top-company-list > li {
  display: flex;
  width: 100%;
  border-bottom: 1px dashed #dddddd;
}

.top-company-item {
  color: #132c41;
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
  min-height: 3rem;
  display: flex;
  align-items: center;
  width: 100%;
}
@media print, screen and (min-width: 992px) {
  .top-company-item {
    min-height: 4.875rem;
  }
}
@media print {
  .top-company-item {
    min-height: 4.875rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .top-company-item {
    transition: 0.25s ease;
  }
  .top-company-item:hover {
    color: #00a5da;
  }
  .top-company-item:hover .top-company-item__arrow {
    transform: translate(25%, 0);
  }
}
.top-company-item__text {
  flex: 1;
}
.top-company-item__arrow {
  transition: 0.25s ease;
}

.top-safety {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 1.5rem;
}
@media print, screen and (min-width: 992px) {
  .top-safety {
    gap: 2rem;
  }
}
@media print {
  .top-safety {
    gap: 2rem;
  }
}
.top-safety__image {
  position: relative;
  width: 100%;
}
.top-safety__image img {
  width: 100%;
  height: auto;
  border-radius: 1rem;
}
@media print, screen and (min-width: 992px) {
  .top-safety__image img {
    border-radius: 1.5rem;
  }
}
@media print {
  .top-safety__image img {
    border-radius: 1.5rem;
  }
}
.top-safety__main {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 1.5rem;
}
@media print, screen and (min-width: 992px) {
  .top-safety__main {
    gap: 1.5rem;
  }
}
@media print {
  .top-safety__main {
    gap: 1.5rem;
  }
}
.top-safety__body {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 1.5rem;
}
@media print, screen and (min-width: 992px) {
  .top-safety__body {
    gap: 1.5rem;
  }
}
@media print {
  .top-safety__body {
    gap: 1.5rem;
  }
}
.top-safety__text {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 1em;
  font-size: 1rem;
}
@media print, screen and (min-width: 992px) {
  .top-safety__text {
    font-size: 1.125rem;
  }
}
@media print {
  .top-safety__text {
    font-size: 1.125rem;
  }
}
.top-safety__btn {
  display: flex;
  width: 100%;
  justify-content: center;
}
@media print, screen and (min-width: 992px) {
  .top-safety__btn {
    justify-content: flex-start;
  }
}
@media print {
  .top-safety__btn {
    justify-content: flex-start;
  }
}

.top-recruit {
  display: flex;
  flex-direction: column;
  width: 100%;
  overflow: hidden;
}
.top-recruit__top {
  width: 100%;
  padding-top: 1rem;
  height: 3.5rem;
}
@media print, screen and (min-width: 992px) {
  .top-recruit__top {
    padding-top: 0;
    height: 12.5rem;
  }
}
@media print {
  .top-recruit__top {
    padding-top: 0;
    height: 12.5rem;
  }
}
.top-recruit__top svg {
  width: 100%;
  height: 100%;
}
.top-recruit__base {
  position: relative;
  display: flex;
  width: 100%;
  background-color: #fff;
  flex-direction: column;
  gap: 4rem;
  padding-top: 8.5rem;
}
@media print, screen and (min-width: 992px) {
  .top-recruit__base {
    gap: 7.5rem;
    padding-top: 0;
  }
}
@media print {
  .top-recruit__base {
    gap: 7.5rem;
    padding-top: 0;
  }
}
.top-recruit__image, .top-recruit__image--02, .top-recruit__image--01 {
  position: absolute;
  width: 9rem;
  left: 50%;
  top: -3.5rem;
}
@media print, screen and (min-width: 992px) {
  .top-recruit__image, .top-recruit__image--02, .top-recruit__image--01 {
    width: 20rem;
    top: 6rem;
  }
}
@media print {
  .top-recruit__image, .top-recruit__image--02, .top-recruit__image--01 {
    width: 20rem;
    top: 6rem;
  }
}
.top-recruit__image img, .top-recruit__image--02 img, .top-recruit__image--01 img {
  width: 100%;
  height: auto;
  transform: translateX(-50%);
}
.top-recruit__image--01 {
  transform: translateX(-4rem);
}
@media print, screen and (min-width: 992px) {
  .top-recruit__image--01 {
    transform: translateX(-30rem);
  }
}
@media print {
  .top-recruit__image--01 {
    transform: translateX(-30rem);
  }
}
.top-recruit__image--02 {
  transform: translateX(4rem);
}
@media print, screen and (min-width: 992px) {
  .top-recruit__image--02 {
    transform: translateX(30rem);
  }
}
@media print {
  .top-recruit__image--02 {
    transform: translateX(30rem);
  }
}
.top-recruit__container {
  width: 100%;
  max-width: 1520px;
  padding-left: 1rem;
  padding-right: 1rem;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1.5rem;
}
@media print, screen and (min-width: 992px) {
  .top-recruit__container {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
@media print {
  .top-recruit__container {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
@media print, screen and (min-width: 992px) {
  .top-recruit__container {
    gap: 2.5rem;
  }
}
@media print {
  .top-recruit__container {
    gap: 2.5rem;
  }
}
.top-recruit__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1rem;
}
@media print, screen and (min-width: 992px) {
  .top-recruit__body {
    gap: 1.5rem;
  }
}
@media print {
  .top-recruit__body {
    gap: 1.5rem;
  }
}
.top-recruit__lead {
  text-align: center;
  color: #00a5da;
  line-height: 1.25;
  font-size: 1.25rem;
}
@media print, screen and (min-width: 992px) {
  .top-recruit__lead {
    font-size: 1.5rem;
  }
}
@media print {
  .top-recruit__lead {
    font-size: 1.5rem;
  }
}
.top-recruit__text {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 1em;
  font-size: 1rem;
}
@media print, screen and (min-width: 992px) {
  .top-recruit__text {
    font-size: 1.25rem;
  }
}
@media print {
  .top-recruit__text {
    font-size: 1.25rem;
  }
}
@media print, screen and (min-width: 992px) {
  .top-recruit__text {
    line-height: 2.25;
  }
}
@media print {
  .top-recruit__text {
    line-height: 2.25;
  }
}
.top-recruit__text strong {
  font-size: 110%;
  font-weight: 500;
  padding-bottom: 0.1em;
  background-image: linear-gradient(transparent 65%, yellow 65%);
  background-repeat: repeat-x;
  background-size: 200% 100%;
}
.top-recruit__btns {
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}
@media print, screen and (min-width: 992px) {
  .top-recruit__btns {
    gap: 1.5rem;
  }
}
@media print {
  .top-recruit__btns {
    gap: 1.5rem;
  }
}
.top-recruit__btn {
  display: flex;
  width: 100%;
}
@media print, screen and (min-width: 992px) {
  .top-recruit__btn {
    width: auto;
  }
}
@media print {
  .top-recruit__btn {
    width: auto;
  }
}
.top-recruit__btn > [class*=btn] {
  min-width: 0 !important;
  width: 100%;
}
@media print, screen and (min-width: 992px) {
  .top-recruit__btn > [class*=btn] {
    width: 15rem;
  }
}
@media print {
  .top-recruit__btn > [class*=btn] {
    width: 15rem;
  }
}
.top-recruit__slider {
  position: relative;
}
.top-recruit__slider::before {
  position: absolute;
  content: " ";
  left: 0;
  right: 0;
  bottom: 0;
  top: 50%;
  background-color: #f0f2f6;
  background-image: url("../images/noise.png");
  background-size: 240px auto;
}

.recruit-title {
  display: flex;
  flex-direction: column;
  text-align: center;
  align-items: center;
  line-height: 1.25;
  gap: 0.25rem;
}
@media print, screen and (min-width: 992px) {
  .recruit-title {
    gap: 0.5rem;
  }
}
@media print {
  .recruit-title {
    gap: 0.5rem;
  }
}
.recruit-title__en {
  position: relative;
  font-family: "Manrope", sans-serif;
  font-weight: 700;
  color: #00a5da;
  font-size: 0.9375rem;
  letter-spacing: 0.05em;
}
@media print, screen and (min-width: 992px) {
  .recruit-title__en {
    font-size: 1.125rem;
  }
}
@media print {
  .recruit-title__en {
    font-size: 1.125rem;
  }
}
.recruit-title__en > span {
  position: relative;
  z-index: 10;
}
.recruit-title__ja {
  position: relative;
  display: flex;
  justify-content: center;
  font-family: "Zen Maru Gothic", "Zen Kaku Gothic New", "Noto Sans JP", "YakuHanJP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 400;
  font-size: 1.5rem;
  color: #064f8c;
  letter-spacing: 0.05em;
}
@media print, screen and (min-width: 992px) {
  .recruit-title__ja {
    font-size: 2.5rem;
    gap: 0.5em;
  }
}
@media print {
  .recruit-title__ja {
    font-size: 2.5rem;
    gap: 0.5em;
  }
}
.recruit-title__ja > span {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.5;
}
@media print, screen and (min-width: 992px) {
  .recruit-title__ja > span {
    line-height: 1.5;
    flex-direction: row;
    align-items: baseline;
  }
}
@media print {
  .recruit-title__ja > span {
    line-height: 1.5;
    flex-direction: row;
    align-items: baseline;
  }
}
.recruit-title__ja > span > span {
  position: relative;
  display: flex;
}
.recruit-title__ja > span > span::before {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 75%;
  content: "";
  display: block;
  background-image: radial-gradient(circle, #80d2ed 15%, transparent 15%), radial-gradient(circle, #80d2ed 15%, transparent 15%);
  background-position: 0 0, 2px 2px;
  background-size: 4px 4px;
}
@media print, screen and (min-width: 992px) {
  .recruit-title__ja > span > span::before {
    background-position: 0 0, 4px 4px;
    background-size: 8px 8px;
  }
}
@media print {
  .recruit-title__ja > span > span::before {
    background-position: 0 0, 4px 4px;
    background-size: 8px 8px;
  }
}
.recruit-title__ja > span > span > span {
  position: relative;
}
.recruit-title__ja::before, .recruit-title__ja::after {
  position: relative;
  content: "";
  display: block;
  width: 1px;
  background-color: #064f8c;
  border-radius: 1em;
}
@media print, screen and (min-width: 992px) {
  .recruit-title__ja::before, .recruit-title__ja::after {
    width: 2px;
  }
}
@media print {
  .recruit-title__ja::before, .recruit-title__ja::after {
    width: 2px;
  }
}
.recruit-title__ja::before {
  transform-origin: left bottom;
  transform: rotate(-30deg);
}
@media print, screen and (min-width: 992px) {
  .recruit-title__ja::before {
    transform: rotate(-45deg);
  }
}
@media print {
  .recruit-title__ja::before {
    transform: rotate(-45deg);
  }
}
.recruit-title__ja::after {
  transform-origin: right bottom;
  transform: rotate(30deg);
}
@media print, screen and (min-width: 992px) {
  .recruit-title__ja::after {
    transform: rotate(45deg);
  }
}
@media print {
  .recruit-title__ja::after {
    transform: rotate(45deg);
  }
}

.scenery-slider {
  position: relative;
}
@keyframes scenerySlider {
  from {
    transform: translate(0, 0);
  }
  to {
    transform: translate(-50%, 0);
  }
}
.scenery-slider__wrapper {
  position: relative;
  overflow: hidden;
  width: 100%;
}
.scenery-slider__list {
  display: inline-flex;
  list-style: none;
  padding: 0;
  margin: 0;
  height: auto;
  animation: scenerySlider 32s linear infinite;
  will-change: transform, animation;
  backface-visibility: hidden;
  gap: 1rem;
}
@media print, screen and (min-width: 992px) {
  .scenery-slider__list {
    gap: 3rem;
  }
}
@media print {
  .scenery-slider__list {
    gap: 3rem;
  }
}
.scenery-slider__item {
  display: flex;
  align-items: center;
  min-width: 11.5rem;
}
@media print, screen and (min-width: 992px) {
  .scenery-slider__item {
    min-width: 25rem;
  }
}
@media print {
  .scenery-slider__item {
    min-width: 25rem;
  }
}

.scenery-card {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 75%;
  overflow: hidden;
  border-radius: 0.5rem;
  background-color: #fff;
}
@media print, screen and (min-width: 992px) {
  .scenery-card {
    border-radius: 1.5rem;
  }
}
@media print {
  .scenery-card {
    border-radius: 1.5rem;
  }
}
.scenery-card img {
  max-width: inherit;
  max-height: inherit;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  left: 0;
  top: 0;
  transition: all 0.45s ease;
}

.top-news {
  position: relative;
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 4rem;
  padding-top: 4rem;
  padding-bottom: 4rem;
}
@media print, screen and (min-width: 992px) {
  .top-news {
    gap: 5rem;
    padding-top: 8rem;
    padding-bottom: 8rem;
  }
}
@media print {
  .top-news {
    gap: 5rem;
    padding-top: 8rem;
    padding-bottom: 8rem;
  }
}
.top-news__container {
  width: 100%;
  max-width: 1520px;
  padding-left: 1rem;
  padding-right: 1rem;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media print, screen and (min-width: 992px) {
  .top-news__container {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
@media print {
  .top-news__container {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
@media print, screen and (min-width: 992px) {
  .top-news__container {
    flex-direction: row;
    gap: 5rem;
  }
}
@media print {
  .top-news__container {
    flex-direction: row;
    gap: 5rem;
  }
}
.top-news__header {
  display: flex;
  flex-direction: column;
  gap: 5rem;
  width: 100%;
}
@media print, screen and (min-width: 992px) {
  .top-news__header {
    width: 25rem;
  }
}
@media print {
  .top-news__header {
    width: 25rem;
  }
}
.top-news__main {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: 100%;
  font-size: 1rem;
}
@media print, screen and (min-width: 992px) {
  .top-news__main {
    flex: 1;
    font-size: 1.125rem;
  }
}
@media print {
  .top-news__main {
    flex: 1;
    font-size: 1.125rem;
  }
}
.top-news__btn, .top-news__btn--pc, .top-news__btn--sp {
  display: flex;
  width: 100%;
  justify-content: center;
}
@media print, screen and (min-width: 992px) {
  .top-news__btn, .top-news__btn--pc, .top-news__btn--sp {
    justify-content: flex-start;
  }
}
@media print {
  .top-news__btn, .top-news__btn--pc, .top-news__btn--sp {
    justify-content: flex-start;
  }
}
.top-news__btn--sp {
  display: flex;
}
@media print, screen and (min-width: 992px) {
  .top-news__btn--sp {
    display: none;
  }
}
@media print {
  .top-news__btn--sp {
    display: none;
  }
}
.top-news__btn--pc {
  display: none;
}
@media print, screen and (min-width: 992px) {
  .top-news__btn--pc {
    display: flex;
  }
}
@media print {
  .top-news__btn--pc {
    display: flex;
  }
}

.sub-page, .sub-page--light {
  position: relative;
  background-color: #fff;
}
.sub-page--light {
  background-color: #eaeff4;
  background-image: url("../images/noise.png");
  background-size: 240px auto;
}
.sub-page__padding, .sub-page__padding--nopb {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 5rem;
  padding-top: 3rem;
  padding-bottom: 4rem;
}
@media print, screen and (min-width: 992px) {
  .sub-page__padding, .sub-page__padding--nopb {
    gap: 7.5rem;
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}
@media print {
  .sub-page__padding, .sub-page__padding--nopb {
    gap: 7.5rem;
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}
.sub-page__padding--nopb {
  padding-bottom: 0;
}
@media print, screen and (min-width: 992px) {
  .sub-page__padding--nopb {
    padding-bottom: 0;
  }
}
@media print {
  .sub-page__padding--nopb {
    padding-bottom: 0;
  }
}

.center-block {
  display: flex;
  width: 100%;
  justify-content: center;
}

.bg-section, .bg-section--sm {
  position: relative;
  display: flex;
  width: 100%;
  padding-left: 1rem;
}
@media print, screen and (min-width: 992px) {
  .bg-section, .bg-section--sm {
    padding-left: max(50vw - 47.5rem, 2.5rem);
  }
}
@media print {
  .bg-section, .bg-section--sm {
    padding-left: max(50vw - 47.5rem, 2.5rem);
  }
}
@media print, screen and (min-width: 992px) {
  .bg-section--sm {
    padding-left: max(50vw - 42.5rem, 2.5rem);
  }
}
@media print {
  .bg-section--sm {
    padding-left: max(50vw - 42.5rem, 2.5rem);
  }
}
@media print, screen and (min-width: 992px) {
  .bg-section--sm .bg-section__container {
    padding-right: max(50vw - 36.25rem, 2.5rem);
  }
}
@media print {
  .bg-section--sm .bg-section__container {
    padding-right: max(50vw - 36.25rem, 2.5rem);
  }
}
.bg-section__container {
  position: relative;
  display: flex;
  width: 100%;
  padding-top: 3rem;
  padding-bottom: 3rem;
  padding-left: 1rem;
  padding-right: 1rem;
  background-color: #f0f2f6;
  background-image: url("../images/noise.png");
  background-size: 240px auto;
  border-radius: 0.5rem 0 0 0.5rem;
}
@media print, screen and (min-width: 992px) {
  .bg-section__container {
    border-radius: 2.5rem 0 0 2.5rem;
    padding-top: 6rem;
    padding-bottom: 6rem;
    padding-left: 7.5rem;
    padding-right: max(50vw - 47.5rem, 2.5rem);
  }
}
@media print {
  .bg-section__container {
    border-radius: 2.5rem 0 0 2.5rem;
    padding-top: 6rem;
    padding-bottom: 6rem;
    padding-left: 7.5rem;
    padding-right: max(50vw - 47.5rem, 2.5rem);
  }
}

.gmark-card {
  display: flex;
  align-items: center;
  flex-direction: column;
  width: 100%;
  gap: 0.5rem;
}
@media print, screen and (min-width: 992px) {
  .gmark-card {
    gap: 1rem;
    flex-direction: row;
    align-items: flex-end;
  }
}
@media print {
  .gmark-card {
    gap: 1rem;
    flex-direction: row;
    align-items: flex-end;
  }
}
.gmark-card__image {
  width: 100%;
  max-width: 20rem;
}
.gmark-card__text {
  text-align: center;
  line-height: 1.5;
  font-size: 0.8125rem;
}
@media print, screen and (min-width: 992px) {
  .gmark-card__text {
    font-size: 1rem;
    text-align: left;
  }
}
@media print {
  .gmark-card__text {
    font-size: 1rem;
    text-align: left;
  }
}

.contact-row {
  display: flex;
  flex-direction: column;
  width: 100%;
  border-bottom: 1px solid #eaeff4;
  padding-bottom: 1rem;
}
@media print, screen and (min-width: 992px) {
  .contact-row {
    flex-direction: row;
    padding-bottom: 2.5rem;
  }
}
@media print {
  .contact-row {
    flex-direction: row;
    padding-bottom: 2.5rem;
  }
}
.contact-row__col {
  display: flex;
  width: 100%;
  border-top: 1px dashed #eaeff4;
}
@media print, screen and (min-width: 992px) {
  .contact-row__col {
    border-top: none;
    border-left: 1px dashed #eaeff4;
  }
}
@media print {
  .contact-row__col {
    border-top: none;
    border-left: 1px dashed #eaeff4;
  }
}
.contact-row__col:nth-child(1) {
  border-top: none;
}
@media print, screen and (min-width: 992px) {
  .contact-row__col:nth-child(1) {
    border-left: none;
  }
}
@media print {
  .contact-row__col:nth-child(1) {
    border-left: none;
  }
}

.contact-box {
  display: flex;
  width: 100%;
  padding: 1.5rem 1rem;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
@media print, screen and (min-width: 992px) {
  .contact-box {
    padding: 1.5rem 2.5rem 2.5rem;
    border-radius: 1.5rem;
    gap: 1.5rem;
  }
}
@media print {
  .contact-box {
    padding: 1.5rem 2.5rem 2.5rem;
    border-radius: 1.5rem;
    gap: 1.5rem;
  }
}
.contact-box__title {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 500;
  width: 100%;
  gap: 0.5rem;
  background-color: #132c41;
  color: #fff;
  border-radius: 0.25rem;
  font-size: 1rem;
}
@media print, screen and (min-width: 992px) {
  .contact-box__title {
    border-radius: 0.5rem;
    font-size: 1.25rem;
  }
}
@media print {
  .contact-box__title {
    border-radius: 0.5rem;
    font-size: 1.25rem;
  }
}
.contact-box__content {
  display: flex;
  flex-direction: column;
  font-size: 1.5rem;
  gap: 0.75em;
}
@media print, screen and (min-width: 992px) {
  .contact-box__content {
    font-size: 2.5rem;
    justify-content: center;
    flex: 1;
  }
}
@media print {
  .contact-box__content {
    font-size: 2.5rem;
    justify-content: center;
    flex: 1;
  }
}
.contact-box .tel-block__number {
  border: none;
}
.contact-box__dl {
  display: flex;
  align-items: center;
  gap: 0.5em;
  line-height: 1.25;
}
.contact-box__dl dt {
  width: 6em;
  font-size: 1rem;
  font-weight: 500;
}
@media print, screen and (min-width: 992px) {
  .contact-box__dl dt {
    font-size: 1.125rem;
  }
}
@media print {
  .contact-box__dl dt {
    font-size: 1.125rem;
  }
}
.contact-box__dl dd {
  flex: 1;
}

.lead-message {
  line-height: 1.75;
  font-weight: 500;
  font-size: 1.375rem;
  color: #00a5da;
}
@media print, screen and (min-width: 992px) {
  .lead-message {
    font-size: 2rem;
  }
}
@media print {
  .lead-message {
    font-size: 2rem;
  }
}
.lead-message strong {
  font-size: 115%;
}

.table-row {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 0;
}
@media print, screen and (min-width: 992px) {
  .table-row {
    flex-direction: row;
    gap: 3rem;
  }
}
@media print {
  .table-row {
    flex-direction: row;
    gap: 3rem;
  }
}
.table-row__col {
  display: flex;
  width: 100%;
}
.table-row__col:nth-child(2) .transform-table {
  border-top: none;
}
@media print, screen and (min-width: 992px) {
  .table-row__col:nth-child(2) .transform-table {
    border-top: 1px solid #dddddd;
  }
}
@media print {
  .table-row__col:nth-child(2) .transform-table {
    border-top: 1px solid #dddddd;
  }
}

.message-block {
  display: flex;
  width: 100%;
}
@media print, screen and (min-width: 992px) {
  .message-block {
    gap: 1.5rem;
  }
}
@media print {
  .message-block {
    gap: 1.5rem;
  }
}
.message-block__lead {
  position: relative;
  z-index: 10;
  font-family: "Zen Maru Gothic", "Zen Kaku Gothic New", "Noto Sans JP", "YakuHanJP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 400;
  width: 9rem;
  line-height: 1.25;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  writing-mode: vertical-rl;
  text-orientation: upright;
  gap: 0.25em;
  font-size: 1.25rem;
}
@media print, screen and (min-width: 992px) {
  .message-block__lead {
    font-size: 2rem;
    width: 17.5rem;
    justify-content: flex-end;
  }
}
@media print {
  .message-block__lead {
    font-size: 2rem;
    width: 17.5rem;
    justify-content: flex-end;
  }
}
.message-block__lead > span {
  background-color: #fff;
  color: #00a5da;
  border-right: 1px solid;
  padding: 0 0.1em;
}
.message-block__main {
  position: relative;
  flex: 1;
}
.message-block__image {
  position: relative;
  background-color: #f6f6f6;
}
.message-block__image::before {
  position: absolute;
  content: " ";
  display: block;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-image: radial-gradient(circle, #6e7780 15%, transparent 15%), radial-gradient(circle, #6e7780 15%, transparent 15%);
  background-position: 0 0, 2px 2px;
  background-size: 4px 4px;
  transform: translate(-1em, 1em);
  opacity: 0.5;
  border-radius: 0.5rem;
}
@media print, screen and (min-width: 992px) {
  .message-block__image::before {
    background-position: 0 0, 4px 4px;
    background-size: 8px 8px;
  }
}
@media print {
  .message-block__image::before {
    background-position: 0 0, 4px 4px;
    background-size: 8px 8px;
  }
}
@media print, screen and (min-width: 992px) {
  .message-block__image::before {
    border-radius: 1rem;
  }
}
@media print {
  .message-block__image::before {
    border-radius: 1rem;
  }
}
.message-block__image img {
  position: relative;
  max-width: 100%;
  height: auto;
  border-radius: 0.5rem;
}
@media print, screen and (min-width: 992px) {
  .message-block__image img {
    border-radius: 1rem;
  }
}
@media print {
  .message-block__image img {
    border-radius: 1rem;
  }
}
.message-block__detail {
  font-size: 90%;
}
.message-block__name {
  font-size: 115%;
  font-weight: 500;
}
.message-block__number {
  opacity: 0.75;
  font-size: 85%;
}

.person-list {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: 100%;
}
@media print, screen and (min-width: 992px) {
  .person-list {
    flex-direction: row;
    justify-content: center;
    gap: 2.5rem;
  }
}
@media print {
  .person-list {
    flex-direction: row;
    justify-content: center;
    gap: 2.5rem;
  }
}
.person-list__item {
  display: flex;
  width: 100%;
}
@media print, screen and (min-width: 992px) {
  .person-list__item {
    justify-content: center;
    width: auto;
  }
}
@media print {
  .person-list__item {
    justify-content: center;
    width: auto;
  }
}

.person-card {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
}
@media print, screen and (min-width: 992px) {
  .person-card {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    background-color: #f3f7fb;
    border-radius: 50%;
    width: 20rem;
    height: 20rem;
    gap: 1rem;
  }
}
@media print {
  .person-card {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    background-color: #f3f7fb;
    border-radius: 50%;
    width: 20rem;
    height: 20rem;
    gap: 1rem;
  }
}
.person-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5.5rem;
  height: 5.5rem;
  border-radius: 50%;
  overflow: hidden;
  background-color: #f3f7fb;
}
@media print, screen and (min-width: 992px) {
  .person-card__icon {
    background-color: transparent;
    overflow: auto;
    border-radius: 0;
    width: 17.5rem;
    height: auto;
  }
  .person-card__icon img {
    width: 100%;
  }
}
@media print {
  .person-card__icon {
    background-color: transparent;
    overflow: auto;
    border-radius: 0;
    width: 17.5rem;
    height: auto;
  }
  .person-card__icon img {
    width: 100%;
  }
}
.person-card__icon img {
  width: 50%;
  height: auto;
}
.person-card__text {
  font-weight: 500;
  line-height: 1.5;
  font-size: 0.9375rem;
  flex: 1;
}
@media print, screen and (min-width: 992px) {
  .person-card__text {
    font-size: 1.25rem;
    flex: initial;
  }
}
@media print {
  .person-card__text {
    font-size: 1.25rem;
    flex: initial;
  }
}

.service-block {
  display: flex;
  width: 100%;
  flex-direction: column;
  width: 100%;
}
@media print, screen and (min-width: 992px) {
  .service-block {
    flex-direction: row;
    align-items: flex-start;
  }
}
@media print {
  .service-block {
    flex-direction: row;
    align-items: flex-start;
  }
}
@media print, screen and (min-width: 992px) {
  .service-block:nth-child(even) {
    flex-direction: row-reverse;
  }
}
@media print {
  .service-block:nth-child(even) {
    flex-direction: row-reverse;
  }
}
@media print, screen and (min-width: 992px) {
  .service-block:nth-child(even) .service-block__main::before, .service-block:nth-child(even) .service-block__main--full::before {
    right: 0;
    left: -15rem;
  }
}
@media print {
  .service-block:nth-child(even) .service-block__main::before, .service-block:nth-child(even) .service-block__main--full::before {
    right: 0;
    left: -15rem;
  }
}
.service-block__main, .service-block__main--full {
  position: relative;
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 1rem;
  padding: 1.5rem 1rem;
}
@media print, screen and (min-width: 992px) {
  .service-block__main, .service-block__main--full {
    flex: 1;
    gap: 2rem;
    padding: 4rem;
    margin-top: 5rem;
  }
}
@media print {
  .service-block__main, .service-block__main--full {
    flex: 1;
    gap: 2rem;
    padding: 4rem;
    margin-top: 5rem;
  }
}
.service-block__main::before, .service-block__main--full::before {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-color: #fff;
  content: " ";
  border-radius: 1rem;
}
@media print, screen and (min-width: 992px) {
  .service-block__main::before, .service-block__main--full::before {
    border-radius: 2.5rem;
    min-height: 25rem;
    right: -15rem;
  }
}
@media print {
  .service-block__main::before, .service-block__main--full::before {
    border-radius: 2.5rem;
    min-height: 25rem;
    right: -15rem;
  }
}
@media print, screen and (min-width: 992px) {
  .service-block__main--full {
    margin-top: 0;
  }
}
@media print {
  .service-block__main--full {
    margin-top: 0;
  }
}
.service-block__main--full::before {
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}
.service-block__inner {
  position: relative;
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 1rem;
}
@media print, screen and (min-width: 992px) {
  .service-block__inner {
    gap: 2rem;
  }
}
@media print {
  .service-block__inner {
    gap: 2rem;
  }
}
.service-block__header {
  display: flex;
  width: 100%;
  flex-direction: column;
  padding-bottom: 0.5em;
  border-bottom: 2px dotted #00a5da;
}
.service-block__number {
  font-family: "Manrope", sans-serif;
  font-weight: 700;
  line-height: 1.25;
  color: #00a5da;
  letter-spacing: 0.1em;
  font-size: 0.75rem;
}
@media print, screen and (min-width: 992px) {
  .service-block__number {
    font-size: 0.875rem;
  }
}
@media print {
  .service-block__number {
    font-size: 0.875rem;
  }
}
.service-block__number > strong {
  font-weight: 700;
  font-size: 200%;
  line-height: 1;
}
.service-block__title {
  font-weight: 500;
  line-height: 1.5;
  font-size: 1.5rem;
}
@media print, screen and (min-width: 992px) {
  .service-block__title {
    font-size: 2rem;
  }
}
@media print {
  .service-block__title {
    font-size: 2rem;
  }
}
.service-block__text {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 1em;
  font-size: 1rem;
}
@media print, screen and (min-width: 992px) {
  .service-block__text {
    font-size: 1.125rem;
  }
}
@media print {
  .service-block__text {
    font-size: 1.125rem;
  }
}
.service-block__image {
  position: relative;
  display: flex;
  width: 100%;
  z-index: 10;
}
@media print, screen and (min-width: 992px) {
  .service-block__image {
    width: 45%;
  }
}
@media print {
  .service-block__image {
    width: 45%;
  }
}
.service-block__image img {
  position: relative;
  width: 100%;
  height: auto;
  border-radius: 1rem;
}
@media print, screen and (min-width: 992px) {
  .service-block__image img {
    border-radius: 1.5rem;
  }
}
@media print {
  .service-block__image img {
    border-radius: 1.5rem;
  }
}
.service-block__dotted {
  position: absolute;
  left: 0;
  top: 0;
  transform: translate(-0.75rem, -0.75rem);
  display: block;
  border-radius: 1rem;
  width: 100%;
  height: 100%;
  background-image: radial-gradient(circle, #6e7780 15%, transparent 15%), radial-gradient(circle, #6e7780 15%, transparent 15%);
  background-position: 0 0, 2px 2px;
  background-size: 4px 4px;
}
@media print, screen and (min-width: 992px) {
  .service-block__dotted {
    background-position: 0 0, 4px 4px;
    background-size: 8px 8px;
  }
}
@media print {
  .service-block__dotted {
    background-position: 0 0, 4px 4px;
    background-size: 8px 8px;
  }
}
@media print, screen and (min-width: 992px) {
  .service-block__dotted {
    border-radius: 1.5rem;
    transform: translate(-1.5rem, -1.5rem);
  }
}
@media print {
  .service-block__dotted {
    border-radius: 1.5rem;
    transform: translate(-1.5rem, -1.5rem);
  }
}

.service-list {
  padding: 0;
  margin: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 1rem;
  gap: 1rem;
}
@media print, screen and (min-width: 992px) {
  .service-list {
    grid-template-columns: repeat(4, 1fr);
    gap: 2.5rem;
  }
}
@media print {
  .service-list {
    grid-template-columns: repeat(4, 1fr);
    gap: 2.5rem;
  }
}
.service-list__item {
  display: flex;
  width: 100%;
}
@media print, screen and (min-width: 992px) {
  .service-list__item {
    justify-content: center;
    width: auto;
  }
}
@media print {
  .service-list__item {
    justify-content: center;
    width: auto;
  }
}

.service-card {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 0.5rem;
  width: 100%;
}
@media print, screen and (min-width: 992px) {
  .service-card {
    gap: 1rem;
  }
}
@media print {
  .service-card {
    gap: 1rem;
  }
}
.service-card__image {
  width: 100%;
}
.service-card__image img {
  width: 100%;
  border-radius: 0.5rem;
}
@media print, screen and (min-width: 992px) {
  .service-card__image img {
    border-radius: 1rem;
  }
}
@media print {
  .service-card__image img {
    border-radius: 1rem;
  }
}
.service-card__text {
  display: flex;
  width: 100%;
  flex-direction: column;
  font-weight: 500;
  line-height: 1.5;
  font-size: 0.875rem;
  gap: 0.5rem;
}
@media print, screen and (min-width: 992px) {
  .service-card__text {
    font-size: 1.125rem;
    gap: 0.5rem;
  }
}
@media print {
  .service-card__text {
    font-size: 1.125rem;
    gap: 0.5rem;
  }
}
.service-card__text > p {
  font-weight: 500;
}
.service-card__dl {
  display: flex;
  font-size: 0.75rem;
  width: 100%;
  gap: 0.25em;
  flex-direction: column;
}
@media print, screen and (min-width: 992px) {
  .service-card__dl {
    font-size: 1rem;
    gap: 0.5em;
    flex-direction: row;
    align-items: flex-start;
  }
}
@media print {
  .service-card__dl {
    font-size: 1rem;
    gap: 0.5em;
    flex-direction: row;
    align-items: flex-start;
  }
}
.service-card__dl dt {
  width: 6em;
  font-size: 85%;
  line-height: 1.25;
  font-weight: 500;
  background-color: #eaeff4;
  padding: 0.25em 0.5em;
  border-radius: 0 10em 10em 0;
}
.service-card__dl dd {
  flex: 1;
}

.place-block {
  display: flex;
  flex-direction: column;
  font-size: 0.8125rem;
}
@media print, screen and (min-width: 992px) {
  .place-block {
    flex-direction: row;
    align-items: flex-start;
    gap: 1.5rem;
    font-size: 1rem;
    padding-top: 0.5rem;
  }
}
@media print {
  .place-block {
    flex-direction: row;
    align-items: flex-start;
    gap: 1.5rem;
    font-size: 1rem;
    padding-top: 0.5rem;
  }
}
.place-block__title {
  font-weight: 500;
  font-size: 125%;
  line-height: 1.5;
  width: 6rem;
}
@media print, screen and (min-width: 992px) {
  .place-block__title {
    width: 8rem;
  }
}
@media print {
  .place-block__title {
    width: 8rem;
  }
}
.place-block__detail {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.25em;
  line-height: 1.5;
}
.place-block__address {
  display: flex;
  width: 100%;
  gap: 0.5rem;
  align-items: center;
}
.place-block__address .footer-icon {
  background-color: #fff;
}

.text-red{
  font-size: 16px;
  font-weight: bold;
  color: #ff0000;
  margin: 30px 0 !important;
}