@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap");
/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-style: solid;
  border-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;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
          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;
  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; /* 2 */
  -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;
}

/* Embedded content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
       appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
       appearance: radio;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

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

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove arrow in IE10 & IE11
 */
select::-ms-expand {
  display: none;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * 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;
}

/**
 * 1. 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. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * 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] {
  outline: none;
}

/* Table */
/* ============================================ */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  text-align: left;
}

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

th {
  text-align: left;
}

/* Misc */
/* ============================================ */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/*======================================================
# Media Query
====================================================== */
body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #000000;
  overflow-x: hidden;
}
body.-noscroll {
  overflow: hidden;
}

main {
  overflow: hidden;
}

img {
  vertical-align: bottom;
}

a {
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
a:hover {
  opacity: 0.7;
}

/*======================================================
# サムネイル
====================================================== */
/*======================================================
# 円
====================================================== */
/*======================================================
# アローアイコン
====================================================== */
.l-inner {
  padding: 0 30px;
}
.l-inner-page {
  max-width: 1200px;
  margin: 0 auto;
}
.l-inner-notop {
  margin-top: -254px;
}
@media screen and (max-width: 768px) {
  .l-inner-notop {
    margin-top: unset;
  }
}

.l-header {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 99;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 110px;
  background-color: #fff;
  padding: 0 50px;
}
@media screen and (max-width: 1110px) {
  .l-header {
    height: 80px;
    padding: 0 20px;
  }
}
.l-header__logo {
  width: 206px;
}
@media screen and (max-width: 1110px) {
  .l-header__logo {
    width: 165px;
  }
}
.l-header__logo img {
  width: 100%;
  height: auto;
}
.l-header__contents {
  width: calc(100% - 206px);
}
@media screen and (max-width: 1110px) {
  .l-header__contents {
    display: none;
    position: fixed;
    left: 0;
    top: 80px;
    background-color: #ABDBF3;
    width: 100%;
    height: 100vh;
    padding: 30px 40px 120px;
    overflow-y: scroll;
  }
}
.l-header__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 100%;
}
@media screen and (max-width: 1110px) {
  .l-header__nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.l-header__navitem {
  display: block;
  font-size: 18px;
  letter-spacing: 0.04em;
  margin-left: 37px;
  cursor: pointer;
}
@media screen and (max-width: 1110px) {
  .l-header__navitem {
    color: #036EB7;
    font-weight: 700;
    margin-left: unset;
    padding: 24px 0;
    border-bottom: 1px dashed;
    width: 100%;
  }
  .l-header__navitem:first-of-type {
    border-top: 1px dashed;
  }
}
@media (min-width: 1111px) {
  .l-header__navitem:hover > .l-header__navtitle {
    color: #036EB7;
  }
  .l-header__navitem.-open:hover {
    position: relative;
  }
  .l-header__navitem.-open:hover::after {
    position: absolute;
    content: "";
    background-color: #F7F7F7;
    width: 110px;
    height: 80px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    top: -25px;
    border-radius: 10px 10px 0 0;
  }
  .l-header__navitem.-open:hover > .l-header__navtitle {
    position: relative;
    z-index: 10;
  }
  .l-header__navitem.-open:hover > .l-header__dropdown {
    display: block;
  }
}
@media screen and (max-width: 1110px) {
  .l-header__navitem .-arrow {
    position: relative;
    width: 20px;
    height: 20px;
    display: inline-block;
    -webkit-transform: 0.2s;
            transform: 0.2s;
  }
  .l-header__navitem .-arrow::before, .l-header__navitem .-arrow::after {
    content: "";
    position: absolute;
    top: 6px;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: 10px;
    width: 2px;
    height: 10px;
    border-radius: 9999px;
    background-color: #ffffff;
    -webkit-transform-origin: 50% calc(100% - 1px);
            transform-origin: 50% calc(100% - 1px);
  }
  .l-header__navitem .-arrow::before {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .l-header__navitem .-arrow::after {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  .l-header__navitem.-active .-arrow {
    rotate: 180deg;
  }
  .l-header__navitem.-active .-arrow::before, .l-header__navitem.-active .-arrow::after {
    top: 3px;
  }
}
@media screen and (max-width: 1110px) {
  .l-header__navtitle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media (min-width: 1110px) {
  .l-header__dropdown {
    position: fixed;
    background-color: #F7F7F7;
    border-radius: 20px;
    max-width: 1300px;
    width: 100%;
    top: 80px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    padding: 28px 66px 30px;
    display: none;
  }
}
@media (min-width: 1400px) {
  .l-header__dropdown {
    right: 5%;
    -webkit-transform: unset;
            transform: unset;
    left: unset;
  }
}
@media screen and (max-width: 1110px) {
  .l-header__dropdown {
    background-color: #fff;
    padding: 0.4em 0.8em;
    margin-top: 24px;
    display: none;
  }
}
.l-header__dropdown > a {
  font-size: 18px;
  letter-spacing: 0.04em;
  padding-bottom: 10px;
  color: #036EB7;
  border-bottom: 1px solid;
  display: block;
}
@media screen and (max-width: 1110px) {
  .l-header__dropdown > a {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
.l-header__child {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 15px 16px;
  margin-top: 15px;
}
@media screen and (max-width: 1110px) {
  .l-header__child {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: unset;
    margin-top: unset;
  }
}
.l-header__child + a {
  margin-top: 19px;
}
@media (min-width: 1110px) {
  .l-header__child li {
    width: calc(25% - 12px);
    min-height: 80px;
  }
}
@media screen and (max-width: 1110px) {
  .l-header__child li + li {
    border-top: 1px dashed #036EB7;
  }
}
@media (min-width: 1110px) {
  .l-header__child a {
    line-height: 1.4;
    background-color: #fff;
    border-radius: 8px;
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 22px;
  }
  .l-header__child a.-outlink {
    position: relative;
  }
  .l-header__child a.-outlink::after {
    position: absolute;
    content: "";
    background-image: url("../images/common//outlink.webp");
    background-size: contain;
    background-repeat: no-repeat;
    right: 14px;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 16px;
    height: 16px;
  }
}
@media screen and (max-width: 1110px) {
  .l-header__child a {
    width: 100%;
    height: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.l-header__contact {
  max-width: 200px;
  width: 100%;
  height: 46px;
  font-size: 18px;
  letter-spacing: 0.04em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 30px;
  color: #fff;
  background-color: #036EB7;
  margin-left: 45px;
}
@media screen and (max-width: 1110px) {
  .l-header__contact {
    max-width: 320px;
    height: 50px;
    margin: 20px auto 0;
    font-size: 16px;
  }
}
.l-header__links {
  display: none;
}
@media screen and (max-width: 1110px) {
  .l-header__links {
    display: block;
    margin-top: 20px;
  }
  .l-header__links a {
    font-size: 16px;
    line-height: 1.875;
    color: #036EB7;
  }
}
.l-header__button {
  display: none;
}
@media screen and (max-width: 1110px) {
  .l-header__button {
    width: 100%;
    height: 46px;
    font-size: 16px;
    letter-spacing: 0.04em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    border-radius: 30px;
    color: #fff;
    background-color: #036EB7;
    max-width: 320px;
    height: 50px;
    margin: 10px auto 0;
  }
  .l-header__button.-color {
    background-color: #fff;
    border: 1px solid;
    color: #036EB7;
  }
}

.l-footer {
  padding: 0 20px 70px;
}
.l-footer__banner {
  padding: 70px 0 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 60px;
}
@media screen and (max-width: 768px) {
  .l-footer__banner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 14px;
    padding: 50px 0 0px;
  }
}
.l-footer__banner a {
  width: calc(33.33333% - 40px);
  display: block;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (max-width: 768px) {
  .l-footer__banner a {
    width: 100%;
  }
}
.l-footer__banner img {
  width: 100%;
  height: auto;
}
.l-footer__body {
  max-width: 1200px;
  margin: 0 auto;
  padding: 76px 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .l-footer__body {
    padding: 50px 0 48px;
  }
}
.l-footer__body::after {
  position: absolute;
  content: "";
  background-color: #888888;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 0;
  width: 100vw;
  height: 1px;
}
.l-footer__logo {
  width: 206px;
  display: block;
}
@media screen and (max-width: 768px) {
  .l-footer__logo {
    margin: 0 auto;
  }
}
.l-footer__logo img {
  width: 100%;
  height: auto;
}
.l-footer__logo span {
  font-size: 18px;
  letter-spacing: 0.02em;
  margin-top: 7px;
  display: block;
}
.l-footer__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 76px;
  margin-top: 36px;
}
@media screen and (max-width: 768px) {
  .l-footer__contents {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 29px;
  }
}
.l-footer__address, .l-footer__tel, .l-footer__fax {
  font-size: 16px;
  line-height: 1.875;
  display: block;
}
@media screen and (max-width: 768px) {
  .l-footer__address, .l-footer__tel, .l-footer__fax {
    text-align: center;
    line-height: 1.6;
  }
}
.l-footer__sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  margin-top: 31px;
}
@media screen and (max-width: 768px) {
  .l-footer__sns {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 27px;
  }
}
.l-footer__sns a {
  display: block;
  width: 33px;
}
.l-footer__sns img {
  width: 100%;
  height: auto;
}
.l-footer__buttons {
  margin-top: 56px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 14px;
}
@media screen and (max-width: 768px) {
  .l-footer__buttons {
    display: none;
  }
}
.l-footer__buttons a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 260px;
  height: 46px;
  border-radius: 50px;
  background-color: #036EB7;
  color: #fff;
}
.l-footer__buttons a:last-of-type {
  color: #036EB7;
  border: #036EB7 solid 1px;
  background-color: #fff;
}
.l-footer__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 768px) {
  .l-footer__nav {
    display: none;
  }
}
.l-footer__navitem {
  border-left: #888888 1px solid;
  padding-left: 21px;
}
.l-footer__navitem:nth-of-type(2) {
  margin-left: 42px;
}
.l-footer__navitem:nth-of-type(3) {
  margin-left: 143px;
}
.l-footer__navtitle {
  font-size: 16px;
  line-height: 1.875;
  color: #036EB7;
}
.l-footer__navlist {
  font-size: 16px;
  line-height: 1.875;
}
.l-footer__navlist2 {
  font-size: 16px;
  line-height: 1.875;
  color: #036EB7;
  margin-top: 60px;
}
.l-footer__copy {
  font-size: 14px;
  line-height: 2.1428571429;
  letter-spacing: 0.02em;
  text-align: center;
  display: block;
}

.l-page-mainheader {
  padding: 96px 0 183px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .l-page-mainheader {
    padding: 12px 20px 81px;
  }
}
.l-page-mainheader::before {
  position: absolute;
  content: "";
  background-image: url(../images/common/subheader.webp);
  background-size: cover;
  background-repeat: no-repeat;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  height: 8vw;
}
@media screen and (max-width: 768px) {
  .l-page-mainheader::before {
    height: 57px;
    background-image: url(../images/common/subheader-sp.webp);
  }
}
.l-page-subheader {
  min-height: 485px;
  padding-top: 13px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .l-page-subheader {
    background-color: #DDF1FA;
    min-height: unset;
    padding-bottom: 50px;
  }
}
.l-page-subheader::after {
  position: absolute;
  content: "";
  background-image: url(../images/common/page-bg.webp);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center bottom;
  left: 0;
  top: 0;
  width: 100%;
  height: 540px;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .l-page-subheader::after {
    background-image: unset;
  }
}
.l-page-subheader.-csr {
  z-index: 2;
}
.l-page-body {
  padding-top: 50px;
  padding-bottom: 120px;
}
@media screen and (max-width: 768px) {
  .l-page-body {
    padding-top: 23px;
    padding-bottom: 50px;
  }
}
.l-page-main {
  padding-bottom: 120px;
}
@media screen and (max-width: 768px) {
  .l-page-main {
    padding-bottom: 50px;
  }
}

.l-bg {
  margin: 0 calc(50% - 50vw);
  padding: 120px calc(50vw - 50%);
  width: 100vw;
  background-color: #F7F7F7;
}
@media screen and (max-width: 768px) {
  .l-bg {
    padding: 50px calc(50vw - 50%);
  }
}

.c-title {
  font-size: 24px;
  line-height: 1.4166666667;
  font-weight: 500;
  color: #036EB7;
  border-bottom: #036EB7 1px solid;
  padding-bottom: 7px;
}
@media screen and (max-width: 768px) {
  .c-title {
    font-size: 20px;
    line-height: 1.5;
  }
}

.c-title2 {
  font-size: 24px;
  line-height: 1.4166666667;
  font-weight: 500;
  color: #036EB7;
}
@media screen and (max-width: 768px) {
  .c-title2 {
    font-size: 20px;
    line-height: 1.5;
  }
}

.c-text {
  font-size: 18px;
  line-height: 1.8888888889;
}
@media screen and (max-width: 768px) {
  .c-text {
    font-size: 15px;
    line-height: 1.8;
  }
}
.c-text.-right {
  text-align: right;
}
.c-text.-mt {
  margin-top: 2em;
}

.c-burger {
  display: none;
}
@media screen and (max-width: 1110px) {
  .c-burger {
    position: fixed;
    z-index: 99999;
    top: 10px;
    right: 10px;
    display: block;
    width: 60px;
    height: 60px;
    border-radius: 50px;
    background-color: #fff;
    -webkit-box-shadow: 0.75px 0.75px 3.75px 0px rgba(0, 0, 0, .2);
            box-shadow: 0.75px 0.75px 3.75px 0px rgba(0, 0, 0, .2);
  }
  .c-burger__border {
    display: block;
    width: 18px;
    height: 1.5px;
    background-color: #000000;
    position: absolute;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    left: 50%;
  }
  .c-burger__border--top {
    top: 16px;
  }
  .c-burger__border--mid {
    top: 24px;
  }
  .c-burger__border--bottom {
    top: 31px;
  }
  .c-burger__text::after {
    position: absolute;
    content: "MENU";
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    bottom: 10px;
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.05em;
  }
  .c-burger.-active .c-burger__border {
    width: 25px;
  }
  .c-burger.-active .c-burger__border--top {
    rotate: 40deg;
    top: 31px;
    left: 47%;
  }
  .c-burger.-active .c-burger__border--mid {
    opacity: 0;
  }
  .c-burger.-active .c-burger__border--bottom {
    rotate: -40deg;
    top: 15px;
    left: 45%;
  }
  .c-burger.-active .c-burger__text::after {
    content: "CLOSE";
  }
}

.c-button {
  max-width: 300px;
  width: 100%;
  height: 60px;
  font-size: 18px;
  letter-spacing: 0.04em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 30px;
  background-color: #fff;
  color: #036EB7;
}
@media screen and (max-width: 768px) {
  .c-button {
    max-width: 320px;
    height: 50px;
    font-size: 16px;
    text-align: center;
  }
}
.c-button.-color {
  background-color: #036EB7;
  color: #fff;
}
.c-button.-outlink {
  height: 80px;
  border-radius: 50px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-button.-outlink {
    height: 60px;
  }
}
.c-button.-outlink::after {
  position: absolute;
  content: "";
  background-image: url("../images/common/outlink-w.webp");
  background-size: contain;
  background-repeat: no-repeat;
  right: 30px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 20px;
  height: 20px;
}
@media screen and (max-width: 768px) {
  .c-button.-outlink::after {
    right: 22px;
  }
}

.c-slider {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  overflow: hidden;
}
.c-slider__track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: calc(200% + 30px);
  gap: 30px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-animation: c-slider-scroll 20s linear infinite;
          animation: c-slider-scroll 20s linear infinite;
}
@media screen and (max-width: 768px) {
  .c-slider__track {
    width: calc(200% + 15px);
    gap: 15px;
  }
}
.c-slider__slides {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .c-slider__slides {
    gap: 15px;
  }
}
.c-slider__slide {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 600px;
  height: 400px;
  border-radius: 20px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .c-slider__slide {
    width: 300px;
    height: 200px;
  }
}
.c-slider__slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

@-webkit-keyframes c-slider-scroll {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@keyframes c-slider-scroll {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .c-slider__track {
    -webkit-animation: none;
            animation: none;
  }
}
.c-page-header__inner {
  max-width: 1480px;
  margin: 0 auto;
  padding: 0 20px;
}
.c-page-header__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  z-index: 3;
}
.c-page-header__title .-sm {
  font-size: 20px;
  line-height: 1.75;
  letter-spacing: 0.04em;
  padding-left: 2px;
}
@media screen and (max-width: 768px) {
  .c-page-header__title .-sm {
    font-size: 12px;
    line-height: 1.75;
  }
}
.c-page-header__title .-lg {
  font-size: 50px;
  line-height: 1.5;
  letter-spacing: 0.2em;
  font-weight: 500;
  text-transform: uppercase;
}
@media screen and (max-width: 768px) {
  .c-page-header__title .-lg {
    font-size: 22px;
    line-height: 1.2;
  }
}
.c-page__title {
  font-size: 50px;
  line-height: 1.75;
  font-weight: 500;
  text-align: center;
  color: #036EB7;
  padding-top: 90px;
}
@media screen and (max-width: 768px) {
  .c-page__title {
    font-size: 30px;
    line-height: 1.75;
    padding-top: 35px;
  }
}
.c-page__lead {
  font-size: 18px;
  line-height: 1.8888888889;
  margin: 23px auto 0;
  max-width: 880px;
}
@media screen and (max-width: 768px) {
  .c-page__lead {
    font-size: 15px;
    line-height: 1.8;
    margin: 14px auto 0;
  }
}
.c-page__lead.-center {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-page__lead.-center {
    text-align: left;
  }
}
.c-page__lead.-thanks {
  padding: 100px 0 0px;
}
@media screen and (max-width: 768px) {
  .c-page__lead.-thanks {
    padding: 80px 0 0px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
}
.c-page__lead.-thanks + .c-button {
  margin: 100px auto 100px;
}
@media screen and (max-width: 768px) {
  .c-page__lead.-thanks + .c-button {
    margin: 100px auto 100px;
  }
}
.c-page__lead.-contact {
  max-width: 910px;
}
.c-page__lead strong {
  display: block;
}
.c-page__lead span + span {
  display: block;
  margin-top: 32px;
  margin-top: 2rem;
}
.c-page__small {
  font-size: 12px;
  line-height: 1.2;
  max-width: 880px;
  display: block;
  margin: 50px auto 0;
}

.c-card {
  max-width: 1200px;
  margin: 56px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 60px;
}
@media screen and (max-width: 768px) {
  .c-card {
    margin: 26px auto 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 30px;
  }
}
.c-card__item {
  width: calc(33.33333% - 40px);
}
@media screen and (max-width: 768px) {
  .c-card__item {
    width: 100%;
  }
}
.c-card__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 360/240;
  border-radius: 10px 10px 0 0;
}
@media screen and (max-width: 768px) {
  .c-card__img img {
    aspect-ratio: 340/150;
  }
}
.c-card__body {
  height: 90px;
  border-radius: 0 0 10px 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #036EB7;
}
@media screen and (max-width: 768px) {
  .c-card__body {
    height: 80px;
  }
}
.c-card__body span {
  font-size: 18px;
  line-height: 1.75;
  letter-spacing: 0.04em;
  color: #fff;
}

.c-bread {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 20px;
  max-width: 1902px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .c-bread {
    gap: 0 10px;
  }
}
.c-bread span, .c-bread a {
  font-size: 16px;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .c-bread span, .c-bread a {
    font-size: 12px;
  }
}
.c-bread #text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.c-col2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 50px;
}
@media screen and (max-width: 768px) {
  .c-col2 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 12px;
  }
}
.c-col2.-noflex {
  display: block;
}
.c-col2.-noflex .c-button {
  margin-top: 40px;
}
.c-col2__title {
  font-size: 40px;
  line-height: 1.75;
  font-weight: 500;
  position: relative;
  padding-top: 23px;
}
@media screen and (max-width: 768px) {
  .c-col2__title {
    font-size: 26px;
    line-height: 1.7307692308;
    padding-top: 13px;
  }
}
.c-col2__title::after {
  position: absolute;
  content: "";
  background: -webkit-gradient(linear, left top, right top, from(rgb(3, 110, 183)), color-stop(50%, rgb(3, 110, 183)), color-stop(50%, rgb(86, 184, 230)), to(rgb(86, 184, 230)));
  background: linear-gradient(90deg, rgb(3, 110, 183) 0%, rgb(3, 110, 183) 50%, rgb(86, 184, 230) 50%, rgb(86, 184, 230) 100%);
  left: 0;
  top: 0;
  width: 100px;
  height: 4px;
}
@media screen and (max-width: 768px) {
  .c-col2__title::after {
    width: 60px;
    height: 4px;
  }
}
.c-col2__disc {
  font-size: 18px;
  line-height: 1.8888888889;
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .c-col2__disc {
    font-size: 15px;
    line-height: 1.8;
    margin-top: 5px;
  }
}
.c-col2__body {
  width: 55%;
}
@media screen and (max-width: 768px) {
  .c-col2__body {
    width: 100%;
  }
}
.c-col2__img {
  width: 42.5%;
}
@media screen and (max-width: 768px) {
  .c-col2__img {
    width: 100%;
  }
}
.c-col2__img img {
  width: 100%;
  height: auto;
}
.c-col2__img figcaption {
  margin-top: 10px;
  display: block;
  font-size: 14px;
}
.c-col2__img figcaption.-center {
  text-align: center;
}

.c-col3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
}
@media screen and (max-width: 768px) {
  .c-col3 {
    gap: 5px;
  }
}
.c-col3__item {
  width: calc(33.33333% - 20px);
}
@media screen and (max-width: 768px) {
  .c-col3__item {
    width: calc(33.33333% - 3.33333px);
  }
}
.c-col3__item img {
  width: 100%;
  height: auto;
  border-radius: 10px;
  aspect-ratio: 380/228;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .c-col3__item img {
    aspect-ratio: 1/1;
  }
}
.c-col3.-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.c-box1 {
  background-color: #FFFFFF;
  border-radius: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px 4%;
  padding: 47px 70px 70px;
}
@media screen and (max-width: 768px) {
  .c-box1 {
    border-radius: 10px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 23px 20px 30px;
    gap: unset;
  }
}
.c-box1__title {
  font-size: 36px;
  line-height: 1.75;
  font-weight: 500;
  width: 100%;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .c-box1__title {
    font-size: 24px;
    line-height: 1.4166666667;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.c-box1__title span {
  font-size: 24px;
}
@media screen and (max-width: 768px) {
  .c-box1__title span {
    display: block;
    font-size: 18px;
  }
}
.c-box1__subtitle {
  font-size: 24px;
  line-height: 1.4166666667;
  font-weight: 500;
  color: #036EB7;
}
@media screen and (max-width: 768px) {
  .c-box1__subtitle {
    font-size: 20px;
    line-height: 1.7;
    margin-top: 13px;
  }
}
.c-box1__disc {
  margin-top: 10px;
  font-size: 18px;
  line-height: 1.8888888889;
}
@media screen and (max-width: 768px) {
  .c-box1__disc {
    font-size: 15px;
    line-height: 1.8;
    margin-top: 5px;
  }
}
.c-box1__body {
  width: 47.8%;
}
@media screen and (max-width: 768px) {
  .c-box1__body {
    width: 100%;
  }
}
.c-box1__img {
  width: 47.4%;
}
@media screen and (max-width: 768px) {
  .c-box1__img {
    width: 100%;
    margin-top: 15px;
  }
}
.c-box1__img img {
  width: 100%;
  height: auto;
}

.c-box2 {
  background-color: #FFFFFF;
  border-radius: 20px;
  padding: 56px 70px 82px;
}
@media screen and (max-width: 768px) {
  .c-box2 {
    border-radius: 10px;
    padding: 26px 20px 32px;
  }
}
.c-box2__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 48px 60px;
  margin-top: 26px;
}
@media screen and (max-width: 768px) {
  .c-box2__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 18px;
    gap: 30px;
  }
}
.c-box2__item {
  width: calc(50% - 30px);
}
@media screen and (max-width: 768px) {
  .c-box2__item {
    width: 100%;
  }
}
.c-box2__title {
  font-size: 36px;
  line-height: 1.75;
  font-weight: 500;
  width: 100%;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-box2__title {
    font-size: 24px;
    line-height: 1.4166666667;
  }
}
.c-box2__subtitle {
  font-size: 24px;
  line-height: 1.4166666667;
  font-weight: 500;
  color: #036EB7;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .c-box2__subtitle {
    font-size: 20px;
    line-height: 1.7;
    margin-top: 13px;
  }
}
.c-box2__disc {
  margin-top: 6px;
  font-size: 18px;
  line-height: 1.8888888889;
}
@media screen and (max-width: 768px) {
  .c-box2__disc {
    font-size: 15px;
    line-height: 1.8;
  }
}
.c-box2__disc.-center {
  text-align: center;
}
.c-box2__img {
  width: 100%;
}
.c-box2__img img {
  width: 100%;
  height: auto;
  aspect-ratio: 5/3;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 15px 20px;
  margin-top: 25px;
}
@media screen and (max-width: 768px) {
  .c-links {
    margin-top: 20px;
    gap: 10px;
  }
}
.c-links__item {
  background-color: #DDF1FA;
  border-radius: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 285px;
  height: 80px;
  font-size: 18px;
  line-height: 1.4444444444;
  letter-spacing: 0.04em;
  padding: 0 23px;
  position: relative;
}
.c-links__item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .c-links__item {
    font-size: 16px;
    line-height: 1.375;
    width: 100%;
    height: 40px;
    padding: 0 14px;
  }
}
.c-links__item::after {
  position: absolute;
  content: "";
  background-image: url("../images/common//outlink.webp");
  background-size: contain;
  background-repeat: no-repeat;
  right: 14px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 20px;
  height: 20px;
}
@media screen and (max-width: 768px) {
  .c-links__item::after {
    width: 18px;
    height: 18px;
  }
}
.c-links__item.-noout::after {
  position: absolute;
  content: "";
  background-image: unset;
  display: inline-block;
  vertical-align: middle;
  color: #036EB7;
  line-height: 1;
  width: 0.8em;
  height: 0.8em;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
  right: 20px;
  top: 50%;
}

.c-count {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  counter-reset: number 0;
}
@media screen and (max-width: 768px) {
  .c-count {
    gap: 10px;
  }
}
.c-count__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  background-color: #DDF1FA;
}
@media screen and (max-width: 768px) {
  .c-count__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 20px 0 20px;
    gap: 7px;
  }
}
.c-count__item dt {
  font-size: 28px;
  line-height: 1.75;
  font-weight: 500;
  position: relative;
  padding-left: 109px;
  width: 39%;
}
@media screen and (max-width: 768px) {
  .c-count__item dt {
    width: 100%;
    font-size: 20px;
    padding-left: 63px;
  }
}
.c-count__item dt::after {
  position: absolute;
  counter-increment: number 1;
  content: counter(number);
  left: 40px;
  top: 0;
  width: 45px;
  height: 45px;
  border-radius: 50px;
  background-color: #036EB7;
  color: #fff;
  font-size: 28px;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .c-count__item dt::after {
    font-size: 20px;
    width: 32px;
    height: 32px;
    left: 21px;
  }
}
.c-count__item dd {
  font-size: 20px;
  line-height: 1.7;
  width: 59%;
  min-height: 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  .c-count__item dd {
    width: 100%;
    font-size: 16px;
    line-height: 1.375;
    min-height: unset;
    padding: 0 20px;
  }
}

.c-datalist {
  border-bottom: #000000 1px solid;
  border-right: #000000 1px solid;
}
.c-datalist__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-top: #000000 1px solid;
  border-left: #000000 1px solid;
}
.c-datalist dt {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background-color: #EEEEEF;
  width: 36%;
  font-size: 20px;
  line-height: 1.7;
  font-weight: 500;
  padding: 35px 41px 30px;
}
@media screen and (max-width: 768px) {
  .c-datalist dt {
    font-size: 15px;
    line-height: 1.4666666667;
    width: 40%;
    padding: 13px 4px 13px 11px;
    min-height: 60px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.c-datalist dd {
  background-color: #fff;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 65%;
  border-left: #000000 1px solid;
  font-size: 20px;
  line-height: 1.7;
  padding: 35px 41px 30px;
}
@media screen and (max-width: 768px) {
  .c-datalist dd {
    font-size: 15px;
    line-height: 1.4666666667;
    width: 60%;
    padding: 13px 9px 13px;
    min-height: 60px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.c-datalist2 {
  border-bottom: #707070 1px solid;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.c-datalist2 dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-top: #707070 1px solid;
  background-color: #DDF1FA;
  width: 19%;
  font-size: 28px;
  line-height: 1.2142857143;
  font-weight: 500;
  padding: 35px 41px 30px;
}
@media screen and (max-width: 768px) {
  .c-datalist2 dt {
    width: 100%;
    padding: 20px 0px 20px;
  }
}
.c-datalist2 dt span {
  font-size: 28px;
}
@media screen and (max-width: 768px) {
  .c-datalist2 dt span {
    font-size: 20px;
  }
}
.c-datalist2 dt .-sm {
  font-size: 20px;
  line-height: 1.7;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .c-datalist2 dt .-sm {
    font-size: 12px;
  }
}
.c-datalist2 dd {
  background-color: #fff;
  border-top: #707070 1px solid;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 80%;
  font-size: 18px;
  line-height: 1.8888888889;
  padding: 16px 0px 16px 40px;
}
@media screen and (max-width: 768px) {
  .c-datalist2 dd {
    font-size: 15px;
    line-height: 1.8;
    width: 100%;
    padding: 10px 0 10px 0;
    border-top: unset;
  }
}

.c-map iframe {
  width: 100%;
  height: 500px;
}
@media screen and (max-width: 768px) {
  .c-map iframe {
    height: 250px;
  }
}

.c-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 70px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .c-pagination {
    margin-top: 30px;
  }
}
.c-pagination .wp-pagenavi a, .c-pagination .wp-pagenavi span {
  width: 50px;
  height: 50px;
  border-radius: 5px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 10px;
  font-size: 18px;
  font-weight: 700;
  color: #A6A6A6;
}
@media screen and (max-width: 768px) {
  .c-pagination .wp-pagenavi a, .c-pagination .wp-pagenavi span {
    width: 30px;
    height: 30px;
    font-size: 14px;
    margin: 0 5px;
  }
}
.c-pagination .wp-pagenavi span {
  background-color: #036EB7;
  color: #fff;
}
.c-pagination .wp-pagenavi a:hover, .c-pagination .wp-pagenavi span.current {
  border: 1px solid #036EB7;
}

.c-form {
  border-top: 1px dashed;
}
.c-form__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
  padding: 20px 0;
  border-bottom: 1px dashed;
}
@media screen and (max-width: 768px) {
  .c-form__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px;
  }
}
.c-form__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-size: 18px;
  line-height: 1.5555555556;
  width: 360px;
}
@media screen and (max-width: 768px) {
  .c-form__title {
    font-size: 14px;
    width: 100%;
  }
}
.c-form__title.-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.c-form__title .-small {
  font-size: 14px;
  line-height: 2;
  display: block;
}
.c-form__rec {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 2px;
  background-color: #DE3373;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  width: 50px;
  height: 26px;
}
@media screen and (max-width: 768px) {
  .c-form__rec {
    font-size: 14px;
    width: 40px;
    height: 22px;
  }
}
.c-form__data {
  width: calc(100% - 390px);
}
@media screen and (max-width: 768px) {
  .c-form__data {
    width: 100%;
  }
}
.c-form__data .wpcf7-form-control-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
}
.c-form__data .wpcf7-not-valid-tip {
  font-size: 14px;
  position: absolute;
  bottom: -16px;
}
.c-form__data.-zip {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  max-width: 550px;
}
.c-form__data.-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 26px;
}
@media screen and (max-width: 768px) {
  .c-form__data.-flex {
    gap: 10px;
  }
}
.c-form__data.-flex > label, .c-form__data.-flex > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  font-size: 18px;
}
@media screen and (max-width: 768px) {
  .c-form__data.-flex > label, .c-form__data.-flex > div {
    font-size: 14px;
  }
}
.c-form__data.-flex > label .wpcf7-form-control-wrap, .c-form__data.-flex > div .wpcf7-form-control-wrap {
  max-width: 180px;
}
@media screen and (max-width: 768px) {
  .c-form__data.-flex > label .wpcf7-form-control-wrap, .c-form__data.-flex > div .wpcf7-form-control-wrap {
    max-width: 100px;
  }
}
.c-form__data > br {
  display: none !important;
}
.c-form__zipsearch {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #036EB7;
  border-radius: 2px;
  color: #fff;
  width: 160px;
  height: 40px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .c-form__zipsearch {
    font-size: 14px;
    width: 120px;
  }
}
.c-form__input {
  background-color: #F3F3F3;
  min-height: 60px;
  width: 100%;
  padding: 0 20px;
}
.c-form__input.-half {
  max-width: 410px;
}
.c-form__input.-birth {
  max-width: 180px;
}
.c-form__input.-textarea {
  min-height: 260px;
  padding: 20px 20px;
}
.c-form__input::-webkit-input-placeholder {
  color: #B4B4B5;
  font-size: 18px;
}
.c-form__input::-moz-placeholder {
  color: #B4B4B5;
  font-size: 18px;
}
.c-form__input::-ms-input-placeholder {
  color: #B4B4B5;
  font-size: 18px;
}
.c-form__input::placeholder {
  color: #B4B4B5;
  font-size: 18px;
}
@media screen and (max-width: 768px) {
  .c-form__input::-webkit-input-placeholder {
    font-size: 14px;
  }
  .c-form__input::-moz-placeholder {
    font-size: 14px;
  }
  .c-form__input::-ms-input-placeholder {
    font-size: 14px;
  }
  .c-form__input::placeholder {
    font-size: 14px;
  }
}
.c-form__check {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.c-form__check.-flex {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  max-width: 540px;
}
.c-form__check.-flex .wpcf7-list-item {
  width: 50%;
}
.c-form__check .wpcf7-list-item {
  font-size: 18px;
  line-height: 2.2222222222;
  margin: unset;
}
@media screen and (max-width: 768px) {
  .c-form__check .wpcf7-list-item {
    font-size: 14px;
  }
}
.c-form__check input[type=checkbox] {
  display: none;
}
.c-form__check .wpcf7-list-item-label {
  position: relative;
  padding-left: 40px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.c-form__check .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 26px;
  height: 26px;
  border: 1px solid #333;
  background-color: #fff;
}
.c-form__check input[type=checkbox]:checked + .wpcf7-list-item-label::before {
  background-color: #036EB7;
  border-color: #036EB7;
}
.c-form__check input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  content: "✔";
  position: absolute;
  left: 6px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 16px;
  color: #fff;
}
.c-form__course {
  font-size: 18px;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .c-form__course {
    font-size: 14px;
  }
}
.c-form__radio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 33px;
  padding: 20px 0;
}
.c-form__radio .wpcf7-list-item {
  font-size: 18px;
  line-height: 2.2222222222;
  margin: unset;
}
@media screen and (max-width: 768px) {
  .c-form__radio .wpcf7-list-item {
    font-size: 14px;
  }
}
.c-form__radio input[type=radio] {
  display: none;
}
.c-form__radio .wpcf7-list-item-label {
  position: relative;
  padding-left: 41px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.c-form__radio .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 26px;
  height: 26px;
  border: 1px solid #333;
  border-radius: 50%;
  background-color: #fff;
}
.c-form__radio input[type=radio]:checked + .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: #036EB7;
}
.c-form__acceptance {
  font-size: 18px;
  line-height: 1.4444444444;
  padding: 10px 0px;
  max-width: 770px;
  position: relative;
  cursor: pointer;
  display: inline-block;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .c-form__acceptance {
    font-size: 14px;
  }
}
.c-form__acceptance .wpcf7-form-control-wrap {
  display: block;
  margin-bottom: 5px;
}
@media screen and (max-width: 768px) {
  .c-form__acceptance .wpcf7-form-control-wrap {
    margin-bottom: 10px;
  }
}
.c-form__acceptance a {
  text-decoration: underline;
  color: #036EB7;
}
.c-form__acceptance input[type=checkbox] {
  display: none;
}
.c-form__acceptance .wpcf7-list-item {
  margin: 0 0 0 0;
}
.c-form__acceptance .wpcf7-list-item-label {
  position: relative;
  padding-left: 40px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.c-form__acceptance .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 26px;
  height: 26px;
  border: 1px solid #333;
  background-color: #fff;
}
.c-form__acceptance input[type=checkbox]:checked + .wpcf7-list-item-label::before {
  background-color: #036EB7;
  border-color: #036EB7;
}
.c-form__acceptance input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  content: "✔";
  position: absolute;
  left: 6px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 16px;
  color: #fff;
}
.c-form__submit {
  background-color: #036EB7;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 50px;
  max-width: 520px;
  height: 80px;
  width: 100%;
  font-size: 18px;
  letter-spacing: 0.04em;
  margin: 50px auto 0;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-form__submit {
    height: 60px;
    font-size: 14px;
  }
}
.c-form__submit input {
  display: block;
  width: 100%;
  height: 100%;
}
.c-form__submit .wpcf7-spinner {
  position: absolute;
  right: 0;
  top: 0;
}

div#wpcf7cpcnf table {
  width: 100%;
}
div#wpcf7cpcnf table th, div#wpcf7cpcnf table td {
  padding: 36px 0;
  border-bottom: 1px dashed;
}
div#wpcf7cpcnf table th:first-of-type, div#wpcf7cpcnf table td:first-of-type {
  border-top: 1px dashed;
}
div#wpcf7cpcnf table th {
  font-size: 18px;
  line-height: 1.5555555556;
  font-weight: 400;
  width: 410px;
}
@media screen and (max-width: 768px) {
  div#wpcf7cpcnf table th {
    font-size: 14px;
    width: 100%;
  }
}
div#wpcf7cpcnf table td {
  width: calc(100% - 410px);
  font-size: 18px;
  line-height: 1.5555555556;
}
@media screen and (max-width: 768px) {
  div#wpcf7cpcnf table td {
    font-size: 14px;
    width: 100%;
  }
}

div.wpcf7cp-btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 30px;
  max-width: 1070px;
  width: 100%;
  margin: 50px auto 0;
}

button.wpcf7cp-cfm-edit-btn, button.wpcf7cp-cfm-submit-btn {
  width: calc(50% - 15px);
  height: 80px;
  border-radius: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 18px;
  letter-spacing: 0.04em;
  text-align: center;
  margin-bottom: unset !important;
  margin-right: unset !important;
  border: #036EB7 1px solid;
}

button.wpcf7cp-cfm-edit-btn {
  color: #036EB7;
  background-color: #fff;
}

button.wpcf7cp-cfm-submit-btn {
  background-color: #036EB7;
  color: #fff;
}

body.wpcf7c-confirm .c-form__rec {
  display: none !important;
}

.p-top__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 9px;
}
@media screen and (max-width: 768px) {
  .p-top__title {
    gap: 0;
  }
}
.p-top__title .-sm {
  font-size: 18px;
  line-height: 1.75;
}
@media screen and (max-width: 768px) {
  .p-top__title .-sm {
    font-size: 14px;
    line-height: 1.75;
  }
}
.p-top__title .-lg {
  font-size: 40px;
  line-height: 1.75;
  font-weight: 500;
  letter-spacing: 0.4em;
}
@media screen and (max-width: 768px) {
  .p-top__title .-lg {
    font-size: 29px;
    line-height: 1.7333333333;
    font-weight: 400;
  }
}
.p-top__title.-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-top__title.-center .-lg {
  gap: 11px;
  letter-spacing: 0.04em;
}
.p-top__text {
  font-size: 18px;
  line-height: 1.8888888889;
}
@media screen and (max-width: 768px) {
  .p-top__text {
    font-size: 15px;
    line-height: 1.8;
  }
}
.p-top__text.-center {
  text-align: center;
}
.p-top-mv {
  position: relative;
}
.p-top-mv__img {
  width: 100%;
  height: auto;
}
.p-top-mv__leadwrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75vw;
  position: absolute;
  left: 2.6vw;
  top: 1.45vw;
}
@media screen and (max-width: 768px) {
  .p-top-mv__leadwrap {
    top: 12.5vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    gap: 2.5vw;
  }
}
.p-top-mv__leadlogo {
  width: 6.15vw;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .p-top-mv__leadlogo {
    width: 24.5vw;
  }
}
.p-top-mv__leadlogo img {
  width: 100%;
  height: auto;
}
.p-top-mv__lead {
  display: block;
  width: 1.85vw;
}
@media screen and (max-width: 768px) {
  .p-top-mv__lead {
    width: 57.5vw;
  }
}
.p-top-mv__lead img {
  width: 100%;
  height: auto;
}
.p-top-mv__achievements {
	justify-content: center; /* 追加：縦方向センター */
  padding-top: 0;          /* 変更：上詰め原因を消す */
  position: absolute;
  z-index: 3;
  right: 9vw;
  bottom: 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ea3341;
  color: #fff;
  border-radius: 50%;
  width: 14vw;
  height: 14vw;
  /* padding: 0.8vw 0 0; */
}
@media screen and (max-width: 768px) {
  .p-top-mv__achievements {
	  justify-content: center; /* 追加 */
    padding-top: 0;          /* 変更 */
    width: 38.5vw;
    height: 38.5vw;
    right: 10px;
    bottom: -27.5vw;
    /* padding: 2.5vw 0 0; */
    z-index: 10;
  }
}
.p-top-mv__achievements .-lg {
  font-size: 1.9vw;
  line-height: 1.1315789474;
  font-weight: 500;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 768px) {
  .p-top-mv__achievements .-lg {
    font-size: 5.25vw;
    margin-top: 0.75vw;
  }
}
.p-top-mv__achievements .-md {
  font-size: 1.8vw;
  line-height: 1.1944444444;
}
@media screen and (max-width: 768px) {
  .p-top-mv__achievements .-md {
    font-size: 5vw;
  }
}
.p-top-mv__achievements .-sm {
  font-size: 1vw;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-top-mv__achievements .-sm {
    font-size: 2.75vw;
    line-height: 1.2;
  }
}
.p-top-mv__achievements .-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.45vw;
  margin-top: 0.6vw;
}
@media screen and (max-width: 768px) {
  .p-top-mv__achievements .-list {
    gap: 1.5vw;
    margin-top: 1.25vw;
  }
}
.p-top-mv__achievements .-list li {
  background-color: #fff;
  color: #000000;
  border-radius: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1vw;
  width: 8vw;
  height: 1.3vw;
}
@media screen and (max-width: 768px) {
  .p-top-mv__achievements .-list li {
    font-size: 2.75vw;
    width: 22vw;
    height: 3.5vw;
  }
}
.p-top-mv__wave {
  margin-top: -10.65vw;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .p-top-mv__wave {
    margin-top: -8.75vw;
  }
}
.p-top-message {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  background-image: url(../images/top/message-bg.webp);
  background-position: center;
  background-size: 90vw;
  background-repeat: no-repeat;
  padding: 0 calc(50vw - 50%) 240px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-top-message {
    padding: 0 calc(50vw - 50%) 60px;
  }
}
.p-top-message::after {
  position: absolute;
  content: "";
  background-size: cover;
  background-repeat: no-repeat;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  height: 8vw;
  background-image: url(../images/top/message-bottom.webp);
  bottom: 0;
}
@media screen and (max-width: 768px) {
  .p-top-message::after {
    height: 21vw;
    background-image: unset;
  }
}
.p-top-message::before {
  position: absolute;
  content: "";
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  height: 100%;
  background-image: url(../images/top/message-bg2.webp);
  background-position: center;
  background-size: cover;
  z-index: -1;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.p-top-message__wave {
  margin: -3px calc(50% - 50vw) 0;
  width: 100vw;
  z-index: 4;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-top-message__wave {
    margin: -4px calc(50% - 50vw) 20vw;
  }
}
.p-top-message__text {
  margin-top: 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .p-top-message__text {
    margin-top: 6px;
  }
  .p-top-message__text.-center {
    text-align: left;
  }
}
.p-top-message__button {
  margin: 65px auto 0;
}
@media screen and (max-width: 768px) {
  .p-top-message__button {
    margin: 40px auto 0;
  }
}
.p-top-education {
  margin: 0 calc(50% - 50vw);
  padding: 120px calc(50vw - 50%) 70px;
  width: 100vw;
  background-color: #ABDBF3;
  background-image: url("../images/common/bubble-w.webp");
  background-repeat: no-repeat;
  background-size: 90vw;
  background-position: center bottom 36%;
}
@media screen and (max-width: 768px) {
  .p-top-education {
    background-image: unset;
    padding: 50px calc(50vw - 50%) 50px;
  }
}
.p-top-education__inner {
  max-width: 1198px;
  margin: 0 auto;
  padding: 116px 0 0px;
}
@media screen and (max-width: 768px) {
  .p-top-education__inner {
    padding: 55px 0 0;
  }
}
@media screen and (max-width: 768px) {
  .p-top-education .p-top__title {
    gap: 6px;
  }
}
@media screen and (max-width: 768px) {
  .p-top-education .p-top__title .-lg {
    line-height: 1.4;
  }
}
.p-top-education__text {
  margin-top: 12px;
}
.p-top-education__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 30px 26px;
  margin: 56px 0 0;
}
@media screen and (max-width: 768px) {
  .p-top-education__list {
    gap: 16px 22px;
    margin: 28px 0 0;
  }
}
.p-top-education__item {
  width: calc(25% - 19.5px);
}
@media screen and (max-width: 768px) {
  .p-top-education__item {
    width: calc(50% - 11px);
  }
}
.p-top-education__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 280/200;
  border-radius: 8px 8px 0 0;
}
@media screen and (max-width: 768px) {
  .p-top-education__img img {
    aspect-ratio: 168/120;
    border-radius: 5px 5px 0 0;
  }
}
.p-top-education__bg {
  min-height: 90px;
  border-radius: 0 0 8px 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  text-align: center;
  font-size: 20px;
  line-height: 1.4444444444;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-top-education__bg {
    min-height: 54px;
    font-size: 11px;
    line-height: 1.4444444444;
  }
}
.p-top-education__bg.-color1 {
  background-color: #5B9979;
}
.p-top-education__bg.-color2 {
  background-color: #183F92;
}
.p-top-education__bg.-color3 {
  background-color: #419180;
}
.p-top-education__bg.-color4 {
  background-color: #1878C8;
}
.p-top-education__bg.-color5 {
  background-color: #F19042;
}
.p-top-education__bg.-color6 {
  background-color: #FCD94E;
}
.p-top-education__bg.-color7 {
  background-color: #53B4E6;
}
.p-top-education__bg.-color8 {
  background-color: #8DBF2F;
}
.p-top-education__bg .-logo1 img, .p-top-education__bg .-logo2 img, .p-top-education__bg .-logo3 img, .p-top-education__bg .-logo4 img, .p-top-education__bg .-logo5 img, .p-top-education__bg .-logo6 img, .p-top-education__bg .-logo7 img, .p-top-education__bg .-logo8 img, .p-top-education__bg .-logo9 img, .p-top-education__bg .-logo10 img, .p-top-education__bg .-logo11 img {
  width: 100%;
}
.p-top-education__bg .-logo1 {
  width: 176px;
}
@media screen and (max-width: 768px) {
  .p-top-education__bg .-logo1 {
    width: 105px;
  }
}
.p-top-education__bg .-logo2 {
  width: 120px;
}
@media screen and (max-width: 768px) {
  .p-top-education__bg .-logo2 {
    width: 70px;
  }
}
.p-top-education__bg .-logo3 {
  width: 164px;
}
@media screen and (max-width: 768px) {
  .p-top-education__bg .-logo3 {
    width: 106px;
  }
}
.p-top-education__bg .-logo4 {
  width: 151px;
}
@media screen and (max-width: 768px) {
  .p-top-education__bg .-logo4 {
    width: 90px;
  }
}
.p-top-education__bg .-logo5 {
  width: 178px;
}
@media screen and (max-width: 768px) {
  .p-top-education__bg .-logo5 {
    width: 109px;
  }
}
.p-top-education__bg .-logo6 {
  width: 164px;
}
@media screen and (max-width: 768px) {
  .p-top-education__bg .-logo6 {
    width: 98px;
  }
}
.p-top-education__bg .-logo7 {
  width: 151px;
}
@media screen and (max-width: 768px) {
  .p-top-education__bg .-logo7 {
    width: 90px;
  }
}
.p-top-education__bg .-logo8 {
  width: 148px;
}
@media screen and (max-width: 768px) {
  .p-top-education__bg .-logo8 {
    width: 89px;
  }
}
.p-top-education__bg .-logo9 {
  width: 164px;
}
@media screen and (max-width: 768px) {
  .p-top-education__bg .-logo9 {
    width: 98px;
  }
}
.p-top-education__bg .-logo10 {
  width: 164px;
}
@media screen and (max-width: 768px) {
  .p-top-education__bg .-logo10 {
    width: 98px;
  }
}
.p-top-education__bg .-logo11 {
  width: 164px;
}
@media screen and (max-width: 768px) {
  .p-top-education__bg .-logo11 {
    width: 98px;
  }
}
.p-top-education__buttonwrap {
  margin: 70px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .p-top-education__buttonwrap {
    margin: 35px auto 0;
  }
}
.p-top-ge {
  margin: 0 calc(50% - 50vw);
  padding: 0 calc(50vw - 50%);
  width: 100vw;
  padding: 280px calc(50vw - 50%) 290px;
  background-image: url("../images/common/bubble-color.webp");
  background-repeat: no-repeat;
  background-size: 90vw;
  background-position: center bottom 24.5%;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-top-ge {
    background-image: unset;
    padding: 50px calc(50vw - 50%) 56px;
  }
}
.p-top-ge::before, .p-top-ge::after {
  position: absolute;
  content: "";
  background-size: cover;
  background-repeat: no-repeat;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
}
.p-top-ge::before {
  background-image: url(../images/top/ge-top.webp);
  top: 0;
  height: 8vw;
}
@media screen and (max-width: 768px) {
  .p-top-ge::before {
    background-image: unset;
  }
}
.p-top-ge::after {
  background-image: url(../images/top/ge-bottom.webp);
  bottom: 0;
  height: 10vw;
}
@media screen and (max-width: 768px) {
  .p-top-ge::after {
    background-image: unset;
  }
}
.p-top-ge__inner {
  max-width: 1198px;
  margin: 0 auto;
  padding: 112px 0 0;
}
@media screen and (max-width: 768px) {
  .p-top-ge__inner {
    padding: 46px 0px 0;
  }
}
@media screen and (max-width: 768px) {
  .p-top-ge .p-top__title {
    gap: 6px;
  }
}
@media screen and (max-width: 768px) {
  .p-top-ge .p-top__title .-lg {
    line-height: 1.4;
  }
}
.p-top-ge__text {
  margin-top: 14px;
}
.p-top-ge__list {
  max-width: 892px;
  margin: 56px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 26px;
}
@media screen and (max-width: 768px) {
  .p-top-ge__list {
    margin: 26px auto 0;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 16px 22px;
  }
}
.p-top-ge__item {
  width: calc(33.33333% - 17.33333px);
}
@media screen and (max-width: 768px) {
  .p-top-ge__item {
    width: calc(50% - 11px);
  }
}
.p-top-ge__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 280/200;
  border-radius: 8px 8px 0 0;
}
.p-top-ge__bg {
  height: 90px;
  border-radius: 0 0 8px 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 10px;
}
@media screen and (max-width: 768px) {
  .p-top-ge__bg {
    height: 54px;
  }
}
.p-top-ge__bg.-color1 {
  background-color: #313478;
}
.p-top-ge__bg.-color2 {
  background-color: #1D1C9E;
}
.p-top-ge__bg.-color3 {
  background-color: #8E1B12;
}
.p-top-ge__logo {
  width: 100%;
  background-color: #fff;
  border-radius: 0 0 8px 8px;
  aspect-ratio: 280/80;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-top-ge__logo img {
  max-width: 140px;
  width: 100%;
  height: auto;
  border-radius: 0 0 8px 8px;
}
.p-top-ge__button {
  margin: 70px auto 0;
}
@media screen and (max-width: 768px) {
  .p-top-ge__button {
    margin: 35px auto 0;
  }
}
.p-top-recruit {
  margin: 0 calc(50% - 50vw);
  padding: 61px calc(50vw - 50%) 230px;
  width: 100vw;
  background-color: #DDF1FA;
  background-image: url("../images/common/bubble-w.webp");
  background-repeat: no-repeat;
  background-size: 90vw;
  background-position: center bottom 63.5%;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-top-recruit {
    padding: 43px calc(50vw - 50%) 50px;
    background-image: unset;
  }
}
.p-top-recruit::after {
  position: absolute;
  content: "";
  background-image: url(../images/top/recruit-bottom.webp);
  background-size: cover;
  background-repeat: no-repeat;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  bottom: 0;
  height: 8vw;
}
@media screen and (max-width: 768px) {
  .p-top-recruit::after {
    background-image: unset;
  }
}
.p-top-recruit__inner {
  max-width: 1198px;
  margin: 0 auto;
}
.p-top-recruit__banner {
  background-image: url(../images/top/recruit-bg.webp);
  background-size: cover;
  aspect-ratio: 1200/450;
  border-radius: 20px;
  padding: 89px 82px;
  margin-top: 38px;
}
@media screen and (max-width: 768px) {
  .p-top-recruit__banner {
    border-radius: 10px;
    background-image: url(../images/top/recruit-bg-sp.webp);
    aspect-ratio: 360/280;
    margin-top: 20px;
    padding: 31px 15px;
  }
}
.p-top-recruit__lead {
  font-size: 32px;
  line-height: 1.75;
  letter-spacing: 0.004em;
}
@media screen and (max-width: 768px) {
  .p-top-recruit__lead {
    font-size: 18px;
    line-height: 1.3846153846;
    letter-spacing: 0.04em;
  }
}
.p-top-recruit__button {
  margin: 70px auto 0;
}
@media screen and (max-width: 768px) {
  .p-top-recruit__button {
    margin: 35px auto 0;
  }
}
.p-top-social {
  margin: 0 calc(50% - 50vw);
  padding: 71px calc(50vw - 50%) 120px;
  width: 100vw;
  background-color: #036EB7;
}
@media screen and (max-width: 768px) {
  .p-top-social {
    padding: 43px calc(50vw - 50%) 50px;
  }
}
.p-top-social .p-top__title, .p-top-social .p-top-social__text {
  color: #fff;
}
.p-top-social .p-top__title {
  gap: 14px;
}
@media screen and (max-width: 768px) {
  .p-top-social .p-top__title {
    gap: 7px;
  }
}
.p-top-social .p-top__title .-lg {
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-top-social .p-top__title .-lg {
    line-height: 1.4;
  }
}
.p-top-social .p-top-social__text {
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .p-top-social .p-top-social__text {
    margin-top: 12px;
  }
}
.p-top-social__inner {
  max-width: 1198px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 101px;
}
@media screen and (max-width: 768px) {
  .p-top-social__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 25px;
  }
}
.p-top-social__img {
  margin-right: calc(50% - 50vw);
  padding-top: 60px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-top-social__img {
    margin-right: unset;
    margin: 0 auto;
    padding-top: unset;
  }
}
.p-top-social__img img {
  width: 100%;
  height: auto;
  border-radius: 20px 0px 0px 20px;
}
@media screen and (max-width: 768px) {
  .p-top-social__img img {
    border-radius: 20px;
  }
}
.p-top-social__button {
  margin-top: 50px;
}
/*@media screen and (max-width: 768px) {
  .p-top-social__button {
    display: none;
  }
}*/
.p-top-news {
  margin: 0 calc(50% - 50vw);
  padding: 120px calc(50vw - 50%);
  width: 100vw;
  background-color: #DDF1FA;
  border-radius: 0 20px 20px 0;
}
@media screen and (max-width: 768px) {
  .p-top-news {
    padding: 50px calc(50vw - 50%);
  }
}
.p-top-news__bg {
  max-width: 1398px;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 0 20px 20px 0;
}
@media screen and (max-width: 768px) {
  .p-top-news__bg {
    margin-left: calc(50% - 50vw);
    padding-left: calc(50vw - 50%);
  }
}
.p-top-news__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .p-top-news__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-bottom: 50px;
  }
}
.p-top-news__head {
  margin-left: calc(50% - 50vw);
  padding: 98px 0 0 calc(50vw - 50%);
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .p-top-news__head {
    padding: 45px 0 0 calc(50vw - 50%);
  }
}
.p-top-news__button {
  margin-top: 40px;
  width: 190px;
}
@media screen and (max-width: 768px) {
  .p-top-news__button {
    margin: 30px auto 0;
    width: 100%;
    max-width: 320px;
  }
}
.p-top-news__list {
  padding: 160px 50px 110px 0px;
  max-width: 850px;
  margin-left: 20px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-top-news__list {
    padding: 18px 29px 0px 0px;
    margin-left: unset;
  }
}
.p-top-news__item {
  border-bottom: #c8c9ca 1px solid;
}
.p-top-news__item:first-of-type {
  border-top: #c8c9ca 1px solid;
}
.p-top-news__item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 31px;
  padding: 36px 0px 31px 7px;
}
@media screen and (max-width: 768px) {
  .p-top-news__item a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 14px 0px 15px 0px;
    gap: 6px;
  }
}
.p-top-news__item .-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 22px;
}
.p-top-news__time {
  font-size: 18px;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-top-news__time {
    font-size: 16px;
  }
}
.p-top-news__cate li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 16px;
  letter-spacing: 0.04em;
  border: #036eb7 1px solid;
  color: #036eb7;
  border-radius: 50px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 26px;
  min-width: 130px;
}
@media screen and (max-width: 768px) {
  .p-top-news__cate li {
    max-width: 116px;
  }
}
.p-top-news__disc {
  font-size: 18px;
  line-height: 1.7222222222;
}
@media screen and (max-width: 768px) {
  .p-top-news__disc {
    font-size: 16px;
    line-height: 1.5;
  }
}

.p-education__section1 {
  padding-top: 56px;
  padding-bottom: 120px;
}
@media screen and (max-width: 768px) {
  .p-education__section1 {
    padding-top: 28px;
    padding-bottom: 50px;
  }
}
.p-education__section3 {
  margin-top: 95px;
}
@media screen and (max-width: 768px) {
  .p-education__section3 {
    margin-top: 30px;
  }
}
.p-education__section4 {
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .p-education__section4 {
    margin-top: 30px;
  }
}
.p-education__links {
  padding: 120px 0 0;
}
@media screen and (max-width: 768px) {
  .p-education__links {
    padding: 54px 0 0;
  }
}

.p-ge-education {
  padding-top: 56px;
  padding-bottom: 120px;
}
@media screen and (max-width: 768px) {
  .p-ge-education {
    padding-top: 28px;
    padding-bottom: 50px;
  }
}
.p-ge-education__education {
  padding-top: 58px;
}
@media screen and (max-width: 768px) {
  .p-ge-education__education {
    padding-top: 27px;
  }
}
.p-ge-education__education .c-count {
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .p-ge-education__education .c-count {
    margin-top: 6px;
  }
}
.p-ge-education__course {
  margin-top: 65px;
}
@media screen and (max-width: 768px) {
  .p-ge-education__course {
    margin-top: 15px;
  }
}
@media screen and (max-width: 768px) {
  .p-ge-education__course .c-title2 {
    font-size: 24px;
    margin-top: 17px;
  }
}
.p-ge-education__course .c-datalist {
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .p-ge-education__course .c-datalist {
    margin-top: 2px;
  }
}
.p-ge-education__course .c-col3 {
  margin-top: 70px;
}
@media screen and (max-width: 768px) {
  .p-ge-education__course .c-col3 {
    margin-top: 18px;
  }
}
.p-ge-education__course .c-button {
  max-width: 520px;
  margin: 70px auto 0;
}
@media screen and (max-width: 768px) {
  .p-ge-education__course .c-button {
    margin: 20px auto 0;
  }
}
.p-ge-stay .c-box1 {
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .p-ge-stay .c-box1 {
    margin-top: 30px;
  }
}
.p-ge-stay .c-box1 .c-title {
  width: 100%;
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .p-ge-stay .c-box1 .c-title {
    margin-top: 22px;
  }
}
.p-ge-stay .c-box1 .c-text {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-ge-stay .c-box1 .c-text {
    margin-top: 10px;
    font-size: 16px;
    line-height: 1.75;
  }
}
.p-ge-stay .c-col3 {
  margin-top: 70px;
}
@media screen and (max-width: 768px) {
  .p-ge-stay .c-col3 {
    margin-top: 20px;
  }
}
@media screen and (max-width: 768px) {
  .p-ge-stay .c-col2 {
    gap: 38px;
  }
}
.p-ge-stay .c-button {
  max-width: 520px;
  margin: 70px auto 0;
}
@media screen and (max-width: 768px) {
  .p-ge-stay .c-button {
    margin: 20px auto 0;
  }
}
.p-ge-trip {
  padding-top: 120px;
  padding-bottom: 120px;
}
@media screen and (max-width: 768px) {
  .p-ge-trip {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}
.p-ge-trip .c-title2 {
  margin-top: 75px;
}
@media screen and (max-width: 768px) {
  .p-ge-trip .c-title2 {
    margin-top: 28px;
  }
}
.p-ge-trip .c-text {
  margin-top: 3px;
}
@media screen and (max-width: 768px) {
  .p-ge-trip .c-text {
    margin-top: 0px;
  }
}
.p-ge-trip .c-col3 {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .p-ge-trip .c-col3 {
    margin-top: 28px;
  }
}
.p-ge-trip__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 30px;
  margin: 70px auto 0;
}
@media screen and (max-width: 768px) {
  .p-ge-trip__button {
    margin: 20px auto 0;
    gap: 10px;
  }
}
.p-ge-trip__button .c-button {
  max-width: 520px;
}
.p-ge-abroad__course {
  margin-top: 37px;
}
@media screen and (max-width: 768px) {
  .p-ge-abroad__course {
    margin-top: 20px;
  }
}
.p-ge-abroad ul {
  margin-top: 22px;
}
@media screen and (max-width: 768px) {
  .p-ge-abroad ul {
    margin-top: 5px;
  }
}
.p-ge-abroad li {
  font-size: 18px;
  line-height: 1.8888888889;
}
@media screen and (max-width: 768px) {
  .p-ge-abroad li {
    font-size: 16px;
    line-height: 1.75;
  }
}
.p-ge-abroad .c-col3 {
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .p-ge-abroad .c-col3 {
    margin-top: 20px;
  }
}
.p-ge-abroad .c-button {
  margin: 70px auto 0;
  max-width: 520px;
}
@media screen and (max-width: 768px) {
  .p-ge-abroad .c-button {
    margin: 20px auto 0;
  }
}
.p-ge__links {
  padding: 110px 0 0;
}
@media screen and (max-width: 768px) {
  .p-ge__links {
    padding: 54px 0 0;
  }
}

.p-message-about {
  margin-top: -254px;
}
@media screen and (max-width: 768px) {
  .p-message-about {
    margin-top: unset;
  }
}
.p-message-about .c-col2__disc span {
  display: block;
}
.p-message-about .c-col2__disc span + span {
  margin-top: 33px;
}
.p-message-about .c-col2__body {
  width: 60%;
}
@media screen and (max-width: 768px) {
  .p-message-about .c-col2__body {
    width: 100%;
  }
}
.p-message-about .c-col2__img {
  width: 35%;
}
@media screen and (max-width: 768px) {
  .p-message-about .c-col2__img {
    width: 100%;
  }
}
.p-message-about .c-col2__img img {
  aspect-ratio: 420/480;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 20px;
}
.p-message-about__name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 15px;
  gap: 11px;
}
.p-message-about__name .-sm {
  font-size: 14px;
  font-weight: 500;
}
.p-message-about__name .-md {
  font-size: 18px;
  font-weight: 500;
}
.p-message-about__name .-lg {
  font-size: 24px;
  font-weight: 500;
}
.p-message-prof {
  padding-top: 100px;
}
.p-message-prof .c-datalist2 {
  margin-top: 20px;
}

.p-outline-access {
  padding-top: 100px;
}
.p-outline-access .c-map {
  margin-top: 20px;
}
.p-outline-access .c-col2 {
  margin-top: 100px;
}
.p-outline-access .c-col2 dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .p-outline-access .c-col2 dl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-outline-access .c-col2 dt, .p-outline-access .c-col2 dd {
  border-top: 1px solid;
}
.p-outline-access .c-col2 dt {
  width: 15%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 20px 0;
}
@media screen and (max-width: 768px) {
  .p-outline-access .c-col2 dt {
    width: 100%;
  }
}
.p-outline-access .c-col2 dd {
  width: 85%;
  padding: 20px 0;
}
@media screen and (max-width: 768px) {
  .p-outline-access .c-col2 dd {
    width: 100%;
    border-top: unset;
    padding: 0 0 20px;
  }
}
.p-outline-access .c-col2 dd ul {
  margin-left: 1em;
}
.p-outline-access .c-col2 dd ul li {
  list-style: disc;
  font-size: 18px;
  line-height: 1.8888888889;
}
@media screen and (max-width: 768px) {
  .p-outline-access .c-col2 dd ul li {
    font-size: 15px;
    line-height: 1.8;
  }
}

.p-history .c-datalist2 dd {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
}
.p-history .c-datalist2 .-col3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}
@media screen and (max-width: 768px) {
  .p-history .c-datalist2 .-col3 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
  }
}
.p-history .c-datalist2 .-col3 figure {
  width: calc(50% - 6.66667px);
}
@media screen and (max-width: 768px) {
  .p-history .c-datalist2 .-col3 figure {
    margin: unset;
  }
}
.p-history .c-datalist2 .-col3 figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .p-history .c-datalist2 figure {
    margin: 0 auto;
    max-width: calc(50% - 6.66667px);
  }
}
.p-history .c-datalist2 figure img {
  width: 100%;
  height: auto;
}

.p-symbol-head__img1 {
  margin: 0 auto;
  max-width: 150px;
}
@media screen and (max-width: 768px) {
  .p-symbol-head__img1 {
    max-width: 70px;
  }
}
.p-symbol-head__img1 img {
  width: 100%;
  height: auto;
}
.p-symbol-head__img2 {
  margin: 20px auto 0;
}
.p-symbol-head__img2 img {
  width: 100%;
  height: auto;
}
.p-symbol-head__title {
  text-align: center;
  font-size: 35px;
  font-weight: 700;
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .p-symbol-head__title {
    font-size: 20px;
  }
}
.p-symbol-head__lead {
  max-width: 1000px;
  margin: 20px auto 0;
}
.p-symbol-bio {
  margin-top: 100px;
}
.p-symbol-bio__inner {
  max-width: 1000px;
  margin: 0 auto;
}
.p-symbol-bio .c-box2__title span {
  display: block;
  font-size: 20px;
}
@media screen and (max-width: 768px) {
  .p-symbol-bio .c-box2__title span {
    font-size: 16px;
  }
}
.p-symbol-bio .c-text {
  margin-top: 32px;
  margin-top: 2rem;
}
.p-symbol .l-bg {
  margin-top: 100px;
}
.p-symbol .c-col2__disc strong {
  display: block;
  font-size: 20px;
  margin-bottom: 20px;
}

.p-alliances section + section {
  margin-top: 100px;
}
.p-alliances .c-card__img img {
  aspect-ratio: unset;
  margin: 0 auto;
  border: #ccc 1px solid;
}

.p-office .l-inner-page {
  position: relative;
  z-index: 10;
}
.p-office .l-inner-page > section {
  cursor: pointer;
}
.p-office .l-inner-page > section + section {
  margin-top: 50px;
}
.p-office .l-inner-page .c-title {
  position: relative;
}
.p-office .l-inner-page .c-title::after {
  position: absolute;
  content: "";
  display: inline-block;
  vertical-align: middle;
  color: #036EB7;
  line-height: 1;
  width: 1em;
  height: 1em;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transform: translateY(-25%) rotate(135deg);
          transform: translateY(-25%) rotate(135deg);
  right: 10px;
  top: 0;
}
.p-office .l-inner-page .c-title.active:after {
  -webkit-transform: translateY(35%) rotate(-45deg);
          transform: translateY(35%) rotate(-45deg);
}
.p-office__open {
  padding-top: 40px;
  display: none;
}
.p-office__open > section + section {
  margin-top: 50px;
}
.p-office__open .c-title2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .p-office__open .c-title2 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-office__open .c-title2 span {
  color: gray;
  font-weight: 400;
}
.p-office__open .c-title2 + .c-datalist {
  margin-top: 20px;
}
.p-office__open .c-datalist__item dd {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.p-office__open .c-button {
  height: 70px;
}

.p-csr .c-col2 {
  margin-top: 100px;
}
.p-csr .c-col2__body .c-button {
  margin-top: 40px;
}
.p-csr .c-col2__disc li {
  list-style: disc;
  margin-left: 1.5em;
}
.p-csr .l-bg {
  margin-top: -110px;
  position: relative;
  padding: 200px calc(50vw - 50%) 120px;
}
.p-csr .l-bg + section {
  margin-top: 100px;
}
.p-csr .l-bg:last-of-type {
  margin-top: unset;
  padding: 0px calc(50vw - 50%) 120px;
}
.p-csr .l-bg:last-of-type .c-title {
  margin-top: 20px;
}
.p-csr .l-bg:last-of-type .c-text {
  margin-top: 20px;
}
.p-csr .l-bg:last-of-type .c-box1 {
  margin-top: 50px;
}
.p-csr .l-bg:last-of-type .c-box1__img img {
  width: 100%;
  height: auto;
}
.p-csr .l-bg:last-of-type .c-box1__img figure + figure {
  margin-top: 2em;
}
.p-csr__list {
  -webkit-column-count: 3;
     -moz-column-count: 3;
          column-count: 3;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .p-csr__list {
    -webkit-column-count: 1;
       -moz-column-count: 1;
            column-count: 1;
    -webkit-column-gap: 15px;
       -moz-column-gap: 15px;
            column-gap: 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-csr__list .item {
    margin-bottom: 15px;
  }
}
.p-csr__list .item {
  display: inline-block;
  width: 100%;
  margin-bottom: 20px;
  background-color: #fff;
  padding: 20px;
  position: relative;
  z-index: 3;
}
.p-csr__list .item.topcopy {
  background-color: unset;
}
.p-csr__list .item.topcopy h4 {
  max-width: 200px;
  width: 100%;
  aspect-ratio: 1/1;
  font-size: 20px;
  background: #CC0000;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #FFF;
  margin: 0 auto;
  border-radius: 120px;
  -webkit-border-radius: 120px;
  -moz-border-radius: 120px;
  transform: rotate(-10deg);
  -moz-transform: rotate(-10deg);
  -webkit-transform: rotate(-10deg);
}
@media screen and (max-width: 768px) {
  .p-csr__list .item:nth-of-type(1) {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .p-csr__list .item:nth-of-type(2) {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .p-csr__list .item:nth-of-type(3) {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .p-csr__list .item:nth-of-type(4) {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .p-csr__list .item:nth-of-type(5) {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .p-csr__list .item:nth-of-type(6) {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
}
.p-csr__list .item h4 {
  font-size: 20px;
  line-height: 1.8888888889;
  font-weight: 500;
  text-align: center;
}
.p-csr__list .item p {
  margin-top: 20px;
  font-size: 18px;
  line-height: 1.8888888889;
}
@media screen and (max-width: 768px) {
  .p-csr__list .item p {
    font-size: 15px;
    line-height: 1.8;
  }
}
.p-csr__list .item figure {
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .p-csr__list .item figure {
    max-width: 360px;
    margin: 20px auto 0;
  }
}
.p-csr__list .item figure img {
  width: 100%;
  height: auto;
}
.p-csr__list .item .c-button {
  margin: 30px auto 0;
}
.p-csr__dataarea {
  margin-top: 50px;
}
.p-csr__dataarea .c-title2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.p-csr__dataarea .c-title2 span {
  font-size: 20px;
}
.p-csr__dataarea strong {
  background-color: #036EB7;
  width: 100%;
  color: #fff;
  margin-top: 20px;
  display: block;
  padding: 10px;
}
.p-csr__dataarea table {
  width: 100%;
  margin-top: 10px;
}
.p-csr__dataarea table th, .p-csr__dataarea table td {
  text-align: center;
  vertical-align: middle;
  padding: 10px;
}
@media screen and (max-width: 768px) {
  .p-csr__dataarea table th, .p-csr__dataarea table td {
    font-size: 12px;
    padding: 10px 5px;
  }
}
.p-csr__dataarea table .th1 {
  background-color: #DDF1FA;
}
.p-csr__dataarea table .th2 {
  background-color: #fff;
  font-weight: 400;
  border-bottom: 1px solid #000;
}
.p-csr__dataarea table td {
  border-bottom: 1px solid #000;
}
.p-csr__dataarea table td:last-of-type {
  background-color: #fff;
}
.p-csr__dataarea tbody {
  width: 100%;
}

.p-siteinfo section + section {
  margin-top: 50px;
}
.p-siteinfo .c-text {
  margin-top: 1em;
}
.p-siteinfo ul {
  margin-top: 1em;
}
.p-siteinfo li {
  list-style: disc;
  margin-left: 1.5em;
  font-size: 18px;
  line-height: 1.8888888889;
}
@media screen and (max-width: 768px) {
  .p-siteinfo li {
    font-size: 15px;
    line-height: 1.8;
  }
}
.p-siteinfo__imgbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  margin: 20px 0;
}
@media screen and (max-width: 768px) {
  .p-siteinfo__imgbox {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-siteinfo__imgbox figure {
  text-align: center;
}
.p-siteinfo__imgbox figcaption {
  text-align: center;
}

.p-sitemap .c-title {
  width: 100%;
  display: block;
  position: relative;
}
.p-sitemap .c-title::after {
  position: absolute;
  content: "";
  display: inline-block;
  vertical-align: middle;
  color: #036EB7;
  line-height: 1;
  width: 0.8em;
  height: 0.8em;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transform: translateY(15%) rotate(45deg);
          transform: translateY(15%) rotate(45deg);
  right: 20px;
  top: 0;
}
.p-sitemap__links + .p-sitemap__links {
  margin-top: 50px;
}

.p-privacy section section + section {
  margin-top: 40px;
}
.p-privacy .c-text + .c-text {
  margin-top: 2em;
}
.p-privacy .c-text strong {
  color: #036EB7;
}
.p-privacy .c-text + section {
  margin-top: 2em;
}
.p-privacy .c-title {
  margin-top: 50px;
  margin-bottom: 20px;
}
.p-privacy ul {
  margin-left: 1.5em;
}
.p-privacy ul > li {
  list-style: disc;
}
.p-privacy ol {
  margin-left: 1.5em;
}
.p-privacy ol > li {
  list-style: decimal;
}
.p-privacy li {
  font-size: 18px;
  line-height: 1.8888888889;
}
@media screen and (max-width: 768px) {
  .p-privacy li {
    font-size: 15px;
    line-height: 1.8;
  }
}
.p-privacy a {
  color: #036EB7;
  text-decoration: underline;
  word-wrap: break-word;
}
.p-privacy__bg {
  background-color: #F7F7F7;
  padding: 10px;
  margin-top: 2em;
}
.p-privacy__bottom {
  margin-top: 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px 60px;
}
.p-privacy__bottom .c-text + .c-text {
  margin-top: unset;
}

.p-stock {
  position: relative;
  z-index: 5;
}
.p-stock section + section {
  margin-top: 50px;
}
.p-stock .c-title, .p-stock .c-title2 {
  margin-bottom: 20px;
}
.p-stock .c-text strong {
  display: block;
}
.p-stock .c-text span {
  color: red;
  display: block;
}
.p-stock .c-text a {
  color: #036EB7;
}

.p-loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 9999;
  /* 初期状態では visibility: hidden と opacity: 0 で完全に隠す */
  display: none; /* 初期状態でDOMから除外 */
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
}

.p-loading.is-active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; /* 表示を有効化 */
  opacity: 1; /* フェードイン */
  visibility: visible;
}

.p-loading__container {
  position: relative;
  width: 300px;
  height: 300px;
}

.p-loading__text {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  font-size: 20px;
  line-height: 1.2;
  font-weight: 500;
  width: 100%;
  text-align: center;
  z-index: 2;
  opacity: 0;
  -webkit-transition: opacity 2.2s ease 0.8s;
  transition: opacity 2.2s ease 0.8s;
}
@media screen and (max-width: 768px) {
  .p-loading__text {
    font-size: 16px;
  }
}
.p-loading__text.active {
  opacity: 1;
}

.p-loading__logo {
  width: 200px;
  margin: 20px auto 0;
}
@media screen and (max-width: 768px) {
  .p-loading__logo {
    width: 100px;
  }
}
.p-loading__logo img {
  width: 100%;
  height: auto;
}

.p-loading__circle {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-animation: rotateExpandFade 8.2s linear forwards;
          animation: rotateExpandFade 8.2s linear forwards;
}

.p-loading__circle figure {
  position: absolute;
  width: 60px;
  height: auto;
  -webkit-animation: counterRotate 8.2s linear forwards;
          animation: counterRotate 8.2s linear forwards;
}
.p-loading__circle figure img {
  width: 100%;
  height: auto;
}

.p-loading__skip-btn {
  position: absolute;
  bottom: -180px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: none;
  color: #036EB7;
  padding: 8px 15px;
  cursor: pointer;
  z-index: 9999;
  font-size: 14px;
  font-weight: 700;
  opacity: 0.8;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media screen and (max-width: 768px) {
  .p-loading__skip-btn {
    bottom: -110px;
  }
}

.p-loading__skip-btn:hover {
  opacity: 1;
}

/* 初回以降の非表示用 */
.p-loading--hidden {
  display: none !important;
}

.p-loading__circle figure:nth-child(1) {
  top: 50%;
  left: calc(50% + 250px);
  margin: -30px 0 0 -30px;
}

@media screen and (max-width: 768px) {
  .p-loading__circle figure:nth-child(1) {
    width: 30px;
    top: 50%;
    left: calc(50% + 150px);
    margin: -15px 0 0 -15px;
  }
}
.p-loading__circle figure:nth-child(2) {
  top: calc(50% + 146.94631px);
  left: calc(50% + 202.25425px);
  margin: -30px 0 0 -30px;
}

@media screen and (max-width: 768px) {
  .p-loading__circle figure:nth-child(2) {
    width: 30px;
    top: calc(50% + 88.16779px);
    left: calc(50% + 121.35255px);
    margin: -15px 0 0 -15px;
  }
}
.p-loading__circle figure:nth-child(3) {
  top: calc(50% + 237.76413px);
  left: calc(50% + 77.25425px);
  margin: -30px 0 0 -30px;
}

@media screen and (max-width: 768px) {
  .p-loading__circle figure:nth-child(3) {
    width: 30px;
    top: calc(50% + 142.65848px);
    left: calc(50% + 46.35255px);
    margin: -15px 0 0 -15px;
  }
}
.p-loading__circle figure:nth-child(4) {
  top: calc(50% + 237.76413px);
  left: calc(50% + -77.25425px);
  margin: -30px 0 0 -30px;
}

@media screen and (max-width: 768px) {
  .p-loading__circle figure:nth-child(4) {
    width: 30px;
    top: calc(50% + 142.65848px);
    left: calc(50% + -46.35255px);
    margin: -15px 0 0 -15px;
  }
}
.p-loading__circle figure:nth-child(5) {
  top: calc(50% + 146.94631px);
  left: calc(50% + -202.25425px);
  margin: -30px 0 0 -30px;
}

@media screen and (max-width: 768px) {
  .p-loading__circle figure:nth-child(5) {
    width: 30px;
    top: calc(50% + 88.16779px);
    left: calc(50% + -121.35255px);
    margin: -15px 0 0 -15px;
  }
}
.p-loading__circle figure:nth-child(6) {
  top: 50%;
  left: calc(50% + -250px);
  margin: -30px 0 0 -30px;
}

@media screen and (max-width: 768px) {
  .p-loading__circle figure:nth-child(6) {
    width: 30px;
    top: 50%;
    left: calc(50% + -150px);
    margin: -15px 0 0 -15px;
  }
}
.p-loading__circle figure:nth-child(7) {
  top: calc(50% + -146.94631px);
  left: calc(50% + -202.25425px);
  margin: -30px 0 0 -30px;
}

@media screen and (max-width: 768px) {
  .p-loading__circle figure:nth-child(7) {
    width: 30px;
    top: calc(50% + -88.16779px);
    left: calc(50% + -121.35255px);
    margin: -15px 0 0 -15px;
  }
}
.p-loading__circle figure:nth-child(8) {
  top: calc(50% + -237.76413px);
  left: calc(50% + -77.25425px);
  margin: -30px 0 0 -30px;
}

@media screen and (max-width: 768px) {
  .p-loading__circle figure:nth-child(8) {
    width: 30px;
    top: calc(50% + -142.65848px);
    left: calc(50% + -46.35255px);
    margin: -15px 0 0 -15px;
  }
}
.p-loading__circle figure:nth-child(9) {
  top: calc(50% + -237.76413px);
  left: calc(50% + 77.25425px);
  margin: -30px 0 0 -30px;
}

@media screen and (max-width: 768px) {
  .p-loading__circle figure:nth-child(9) {
    width: 30px;
    top: calc(50% + -142.65848px);
    left: calc(50% + 46.35255px);
    margin: -15px 0 0 -15px;
  }
}
.p-loading__circle figure:nth-child(10) {
  top: calc(50% + -146.94631px);
  left: calc(50% + 202.25425px);
  margin: -30px 0 0 -30px;
}

@media screen and (max-width: 768px) {
  .p-loading__circle figure:nth-child(10) {
    width: 30px;
    top: calc(50% + -88.16779px);
    left: calc(50% + 121.35255px);
    margin: -15px 0 0 -15px;
  }
}
@-webkit-keyframes rotateExpandFade {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0deg) scale(0.8);
            transform: translate(-50%, -50%) rotate(0deg) scale(0.8);
    opacity: 1;
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg) scale(1.4);
            transform: translate(-50%, -50%) rotate(360deg) scale(1.4);
    opacity: 0;
  }
}
@keyframes rotateExpandFade {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0deg) scale(0.8);
            transform: translate(-50%, -50%) rotate(0deg) scale(0.8);
    opacity: 1;
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg) scale(1.4);
            transform: translate(-50%, -50%) rotate(360deg) scale(1.4);
    opacity: 0;
  }
}
@-webkit-keyframes counterRotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(-360deg);
            transform: rotate(-360deg);
  }
}
@keyframes counterRotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(-360deg);
            transform: rotate(-360deg);
  }
}
#content {
  opacity: 0;
  -webkit-transition: opacity 1.3s ease;
  transition: opacity 1.3s ease;
  visibility: hidden;
}

/* ローディング非表示後に #content に付与するクラス */
#content.active {
  opacity: 1;
  visibility: visible;
}

.p-news-archive {
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 60px;
}
@media screen and (max-width: 768px) {
  .p-news-archive {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-news-archive__body {
  width: calc(100% - 300px);
}
@media screen and (max-width: 768px) {
  .p-news-archive__body {
    width: 100%;
  }
}
.p-news-archive__list {
  border-top: 1px dashed;
  margin-top: 10px;
}
.p-news-archive__item a {
  border-bottom: 1px dashed;
  display: block;
  width: 100%;
  padding: 20px 0;
}
.p-news-archive__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px 23px;
}
@media screen and (max-width: 768px) {
  .p-news-archive__head {
    gap: 10px;
  }
}
.p-news-archive__head time {
  font-size: 18px;
  line-height: 1.75;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-news-archive__head time {
    font-size: 14px;
  }
}
.p-news-archive__head ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}
.p-news-archive__head ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #fff;
  border: #0768AB 1px solid;
  border-radius: 50px;
  font-size: 16px;
  letter-spacing: 0.04em;
  padding: 0 32px;
  height: 26px;
  color: #0768AB;
}
@media screen and (max-width: 768px) {
  .p-news-archive__head ul li {
    font-size: 12px;
    padding: 0 16px;
    height: 20px;
  }
}
.p-news-archive__disc {
  font-size: 18px;
  line-height: 1.5555555556;
}
@media screen and (max-width: 768px) {
  .p-news-archive__disc {
    font-size: 14px;
    margin-top: 10px;
    display: block;
  }
}
.p-news-nav {
  width: 240px;
  position: sticky;
  top: 100px;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .p-news-nav {
    width: 100%;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    margin-top: 40px;
  }
}
.p-news-nav__wrap + .p-news-nav__wrap {
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .p-news-nav__wrap + .p-news-nav__wrap {
    margin-top: 25px;
  }
}
.p-news-nav__title {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.9166666667;
  letter-spacing: -0.02em;
  border-bottom: 1px solid;
  color: #036EB7;
  padding: 7px 0;
}
@media screen and (max-width: 768px) {
  .p-news-nav__title {
    font-size: 18px;
  }
}
.p-news-nav__list {
  margin-top: 18px;
}
@media screen and (max-width: 768px) {
  .p-news-nav__list {
    margin-top: 10px;
  }
}
.p-news-nav__list li a {
  font-size: 18px;
  line-height: 3.3333333333;
  letter-spacing: -0.02em;
  border-bottom: 2px dashed #036EB7;
  display: block;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-news-nav__list li a {
    font-size: 16px;
  }
}
.p-news-single {
  margin-top: -395px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .p-news-single {
    margin-top: 0px;
  }
}
.p-news-single__box {
  background-color: #fff;
  border: #000000 0.5px solid;
  padding: 69px 20px 70px;
}
@media screen and (max-width: 768px) {
  .p-news-single__box {
    padding: 30px 20px 30px;
  }
}
.p-news-single__inner {
  max-width: 1000px;
  margin: 0 auto;
}
.p-news-single__title {
  font-size: 30px;
  line-height: 1.3333333333;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-news-single__title {
    font-size: 16px;
  }
}
.p-news-single__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px 23px;
  border-bottom: #000000 0.5px solid;
  padding-bottom: 29px;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .p-news-single__head {
    gap: 10px;
    padding-bottom: 20px;
  }
}
.p-news-single__head time {
  font-size: 18px;
  line-height: 1.75;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-news-single__head time {
    font-size: 14px;
  }
}
.p-news-single__head ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}
.p-news-single__head ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #fff;
  border: #0768AB 1px solid;
  border-radius: 50px;
  font-size: 16px;
  letter-spacing: 0.04em;
  padding: 0 32px;
  height: 26px;
  color: #0768AB;
}
@media screen and (max-width: 768px) {
  .p-news-single__head ul li {
    font-size: 12px;
    padding: 0 16px;
    height: 20px;
  }
}
.p-news-single__contents {
  padding-top: 22px;
}
.p-news-single__contents p, .p-news-single__contents a {
  font-size: 18px;
  line-height: 1.7777777778;
  /* margin-bottom: 1em; */
  display: block;
}
@media screen and (max-width: 768px) {
  .p-news-single__contents p, .p-news-single__contents a {
    font-size: 14px;
  }
}
.p-news-single__contents ul {
  margin-bottom: 1em;
  margin-left: 1.5em;
}
.p-news-single__contents li {
  font-size: 18px;
  line-height: 1.7777777778;
  list-style: disc;
}
@media screen and (max-width: 768px) {
  .p-news-single__contents li {
    font-size: 14px;
  }
}
.p-news-single__contents a {
  color: #036EB7;
  text-decoration: underline;
}
.p-news-single__contents figure {
  margin-bottom: 1em;
}
.p-news-single__contents img {
  width: 100%;
}
.p-news-single__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 50px;
  border: #036EB7 1px solid;
  margin: 50px auto 0;
  max-width: 260px;
  height: 46px;
  width: 100%;
  color: #036EB7;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .p-news-single__button {
    font-size: 14px;
    max-width: 200px;
  }
}

.p-contact {
  margin-top: -145px;
}
@media screen and (max-width: 768px) {
  .p-contact {
    margin-top: unset;
  }
}

.p-ob {
  margin-top: 90px;
}
@media screen and (max-width: 768px) {
  .p-ob {
    margin-top: 20px;
  }
}
.p-ob__lead {
  font-size: 18px;
  line-height: 1.8888888889;
}
@media screen and (max-width: 768px) {
  .p-ob__lead {
    font-size: 14px;
  }
}
.p-ob .c-form {
  margin-top: 26px;
}

.p-recruit {
  margin-top: -200px;
}
@media screen and (max-width: 768px) {
  .p-recruit {
    margin-top: 60px;
  }
}
.p-recruit h3 {
  font-size: 40px;
  line-height: 1.4;
  text-align: center;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .p-recruit h3 {
    font-size: 20px;
    text-align: left;
  }
}
.p-recruit__lead {
  margin-top: 100px;
}
@media screen and (max-width: 768px) {
  .p-recruit__lead {
    margin-top: 40px;
  }
}
.p-recruit__lead strong {
  color: #036EB7;
  font-size: 30px;
  line-height: 1.4;
  text-align: center;
  display: block;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .p-recruit__lead strong {
    font-size: 18px;
    text-align: left;
  }
}
.p-recruit__lead span {
  display: block;
  font-size: 18px;
  line-height: 1.8888888889;
  margin-top: 1em;
}
@media screen and (max-width: 768px) {
  .p-recruit__lead span {
    font-size: 14px;
    line-height: 1.75;
  }
}
.p-recruit__lead2 {
  margin-top: 100px;
}
@media screen and (max-width: 768px) {
  .p-recruit__lead2 {
    font-size: 14px;
    margin-top: 80px;
  }
}

.p-staff .c-col2 {
  margin-top: 100px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-staff .c-col2.-full {
  display: block;
}
.p-staff .c-col2.-full .c-col2__body {
  width: 100%;
}
.p-staff .c-col2__body strong {
  color: #036EB7;
  display: block;
  font-size: 18px;
  margin-bottom: 1em;
}
.p-staff .l-bg {
  margin-top: 100px;
}
.p-staff__section {
  margin-top: 100px;
  margin-bottom: 2em;
}
.p-staff__section .c-title {
  margin-bottom: 20px;
}
.p-staff__section .c-datalist__item:first-of-type dd, .p-staff__section .c-datalist__item:first-of-type dt {
  background-color: #EEEEEF;
}
.p-staff__section .c-datalist__item ol li {
  list-style: decimal;
  margin-left: 1em;
}
.p-staff__section dt {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  background-color: #fff;
}
.p-staff__section2 .c-title {
  text-align: center;
}
.p-staff__section2 .item h4 span {
  display: block;
  font-size: 30px;
  font-weight: 700;
}
.p-staff__list {
  -webkit-column-count: 3;
     -moz-column-count: 3;
          column-count: 3;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .p-staff__list {
    -webkit-column-count: 1;
       -moz-column-count: 1;
            column-count: 1;
    -webkit-column-gap: 15px;
       -moz-column-gap: 15px;
            column-gap: 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-staff__list .item {
    margin-bottom: 15px;
  }
}
.p-staff__list .item {
  display: inline-block;
  width: 100%;
  margin-bottom: 20px;
  background-color: #fff;
  padding: 20px;
}
.p-staff__list .item.topcopy {
  background-color: unset;
}
.p-staff__list .item.topcopy h4 {
  max-width: 200px;
  width: 100%;
  aspect-ratio: 1/1;
  font-size: 20px;
  background: #CC0000;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #FFF;
  margin: 0 auto;
  border-radius: 120px;
  -webkit-border-radius: 120px;
  -moz-border-radius: 120px;
  transform: rotate(-10deg);
  -moz-transform: rotate(-10deg);
  -webkit-transform: rotate(-10deg);
}
@media screen and (max-width: 768px) {
  .p-staff__list .item:nth-of-type(1) {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .p-staff__list .item:nth-of-type(2) {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .p-staff__list .item:nth-of-type(3) {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .p-staff__list .item:nth-of-type(4) {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .p-staff__list .item:nth-of-type(5) {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .p-staff__list .item:nth-of-type(6) {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
}
.p-staff__list .item h4 {
  font-size: 20px;
  line-height: 1.8888888889;
  font-weight: 500;
  text-align: center;
}
.p-staff__list .item p {
  margin-top: 20px;
  font-size: 18px;
  line-height: 1.8888888889;
}
@media screen and (max-width: 768px) {
  .p-staff__list .item p {
    font-size: 15px;
    line-height: 1.8;
  }
}
.p-staff__list .item figure {
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .p-staff__list .item figure {
    max-width: 360px;
    margin: 20px auto 0;
  }
}
.p-staff__list .item figure img {
  width: 100%;
  height: auto;
}

.p-environment .c-col2 {
  margin-top: 100px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-environment .c-col2.-full {
  display: block;
}
.p-environment .c-col2.-full .c-col2__body {
  width: 100%;
}
.p-environment__section {
  margin-top: 100px;
  margin-bottom: 2em;
}
.p-environment__section .c-title {
  margin-bottom: 20px;
}
.p-environment__section dt {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
.p-environment__section2 .c-title {
  text-align: center;
}
.p-environment__section2 .item h4 span {
  display: block;
  font-size: 30px;
  font-weight: 700;
}
.p-environment .l-bg {
  margin-top: 100px;
}

.p-interview__section + .p-interview__section {
  margin-top: 100px;
}
.p-interview__section .c-col2__title {
  font-size: 26px;
}
@media screen and (max-width: 768px) {
  .p-interview__section .c-col2__title {
    font-size: 17px;
  }
}
.p-interview__section figure {
  max-width: 500px;
  margin: 0 auto;
}
.p-interview__section figure img {
  width: 100%;
  height: auto;
}
.p-interview__section figure figcaption {
  font-size: 20px;
  text-align: center;
}
.p-interview__section figure figcaption span {
  font-size: 16px;
}
.p-interview__section section {
  margin-top: 50px;
}
.p-interview__bg {
  background-color: #DDF1FA;
  border-radius: 10px;
  padding: 40px 40px;
  margin-top: 60px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-interview__bg {
    padding: 40px 30px;
  }
}
.p-interview__bg section:first-of-type {
  margin-top: unset;
}
@media screen and (max-width: 768px) {
  .p-interview__bg section {
    margin-top: 20px;
  }
}
.p-interview__bgimg {
  position: absolute;
  right: 0;
  width: 200px;
}
@media screen and (max-width: 768px) {
  .p-interview__bgimg {
    width: 100px;
  }
}
.p-interview__bgimg img {
  width: 100%;
  height: auto;
}
.p-interview__bgimg.-img1 {
  top: -30px;
}
@media screen and (max-width: 768px) {
  .p-interview__bgimg.-img1 {
    top: -10px;
  }
}
.p-interview__bgimg.-img2 {
  top: -40px;
  right: -5px;
}
@media screen and (max-width: 768px) {
  .p-interview__bgimg.-img2 {
    top: -20px;
  }
}
.p-interview__bgimg.-img3 {
  top: -100px;
  right: -20px;
}
@media screen and (max-width: 768px) {
  .p-interview__bgimg.-img3 {
    top: -40px;
    right: -10px;
  }
}

.u-pt0 {
  padding-top: 0 !important;
}

.u-mr16 {
  margin-right: 16px !important;
}

.u-mt0 {
  margin-top: 0 !important;
}

.u-mt5 {
  margin-top: 5px !important;
}

.u-mt10 {
  margin-top: 10px !important;
}

.u-mt15 {
  margin-top: 15px !important;
}

.u-mt20 {
  margin-top: 20px !important;
}

.u-mt25 {
  margin-top: 25px !important;
}

.u-mt30 {
  margin-top: 30px !important;
}

.u-mt35 {
  margin-top: 35px !important;
}

.u-mt40 {
  margin-top: 40px !important;
}

.u-mt50 {
  margin-top: 50px !important;
}

.u-mb0 {
  margin-bottom: 0 !important;
}

.u-mb5 {
  margin-bottom: 5px !important;
}

.u-mb10 {
  margin-bottom: 10px !important;
}

.u-mb15 {
  margin-bottom: 15px !important;
}

.u-mb20 {
  margin-bottom: 20px !important;
}

.u-mb25 {
  margin-bottom: 25px !important;
}

.u-mb30 {
  margin-bottom: 30px !important;
}

.u-mb35 {
  margin-bottom: 35px !important;
}

.u-mb40 {
  margin-bottom: 40px !important;
}

.u-mr0 {
  margin-right: 0 !important;
}

@media screen and (max-width: 768px) {
  .u-smt0 {
    margin-top: 0 !important;
  }
  .u-smt5 {
    margin-top: 5px !important;
  }
  .u-smt10 {
    margin-top: 10px !important;
  }
  .u-smt15 {
    margin-top: 15px !important;
  }
  .u-smt20 {
    margin-top: 20px !important;
  }
  .u-smb0 {
    margin-bottom: 0 !important;
  }
  .u-smb5 {
    margin-bottom: 5px !important;
  }
  .u-smb10 {
    margin-bottom: 10px !important;
  }
  .u-smb15 {
    margin-bottom: 15px !important;
  }
  .u-smb20 {
    margin-bottom: 20px !important;
  }
  .u-sml0 {
    margin-left: 0 !important;
  }
}
.u-w03per {
  width: 3% !important;
}

.u-w05per {
  width: 5% !important;
}

.u-w10per {
  width: 10% !important;
}

.u-w13per {
  width: 13% !important;
}

.u-w15per {
  width: 15% !important;
}

.u-w20per {
  width: 20% !important;
}

.u-w23per {
  width: 23% !important;
}

.u-w25per {
  width: 25% !important;
}

.u-w30per {
  width: 30% !important;
}

.u-w33per {
  width: 33% !important;
}

.u-w35per {
  width: 35% !important;
}

.u-w40per {
  width: 40% !important;
}

.u-w43per {
  width: 43% !important;
}

.u-w45per {
  width: 45% !important;
}

.u-w50per {
  width: 50% !important;
}

.u-w53per {
  width: 53% !important;
}

.u-w55per {
  width: 55% !important;
}

.u-w60per {
  width: 60% !important;
}

.u-w63per {
  width: 63% !important;
}

.u-w65per {
  width: 65% !important;
}

.u-w70per {
  width: 70% !important;
}

.u-w73per {
  width: 73% !important;
}

.u-w75per {
  width: 75% !important;
}

.u-w80per {
  width: 80% !important;
}

.u-w83per {
  width: 83% !important;
}

.u-w85per {
  width: 85% !important;
}

.u-w90per {
  width: 90% !important;
}

.u-w93per {
  width: 93% !important;
}

.u-w95per {
  width: 95% !important;
}

.u-table-fixed {
  table-layout: fixed;
}

.u-text-center {
  text-align: center;
}

.u-text-left {
  text-align: left;
}

@media screen and (max-width: 768px) {
  .s-text-center {
    text-align: center;
  }
}

/* background
--------------------------------------------------------------*/
.u-bg-blue {
  background: #F4F8FF;
}

/* hidden
--------------------------------------------------------------*/
.u-header-only {
  display: none;
}
@media screen and (max-width: 1110px) {
  .u-header-only {
    display: block;
  }
}

.u-header-hidden {
  display: block;
}
@media screen and (max-width: 1110px) {
  .u-header-hidden {
    display: none;
  }
}

.u-xxl-only {
  display: none;
}
@media screen and (max-width: 1276px) {
  .u-xxl-only {
    display: block;
  }
}

.u-xxl-hidden {
  display: block;
}
@media screen and (max-width: 1276px) {
  .u-xxl-hidden {
    display: none;
  }
}

.u-md-only {
  display: none;
}
@media screen and (max-width: 768px) {
  .u-md-only {
    display: block;
  }
}
.u-md-only--flex {
  display: none;
}
@media screen and (max-width: 768px) {
  .u-md-only--flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.u-md-hidden {
  display: block;
}
@media screen and (max-width: 768px) {
  .u-md-hidden {
    display: none;
  }
}
.u-md-hidden--content {
  display: contents;
}
@media screen and (max-width: 768px) {
  .u-md-hidden--content {
    display: none;
  }
}
.u-md-hidden--flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 768px) {
  .u-md-hidden--flex {
    display: none;
  }
}