@charset "UTF-8";
*,
*::before,
*::after {
  box-sizing: border-box; }

* {
  margin: 0;
  padding: 0; }

input,
textarea,
select,
button {
  font: inherit; }

h1, h2, h3, h4, h5, h6,
p {
  overflow-wrap: break-word; }

html,
body {
  font-size: 16px; }

body {
  text-autospace: ideograph-alpha ideograph-numeric ideograph-parenthesis;
  text-rendering: optimizeLegibility;
  font-family: "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", system-ui, sans-serif;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #000000;
  overflow-y: scroll; }

h1, h2, h3, h4, h5, h6 {
  font-weight: 500; }

p,
li,
dd {
  text-align: justify;
  text-justify: inter-ideograph; }

p {
  line-height: 1.6; }
  p:not(:last-of-type) {
    margin-bottom: 0.3em; }

em, strong,
dfn, cite,
b, u {
  text-decoration: none;
  font-style: normal;
  font-weight: 500; }

strong, b {
  font-weight: bold; }

em {
  color: #F44336; }

dfn {
  color: #0085CD; }

strong {
  letter-spacing: 1px;
  font-size: 110%;
  color: #E53935; }
  strong.underline {
    border-bottom: 1px solid #E53935; }

i,
address {
  font-style: normal; }

u {
  text-decoration: underline; }

code {
  text-align: left; }

ol,
ul {
  padding-left: 1em; }

li {
  text-align: justify;
  text-justify: inter-ideograph; }
  li:not(:last-of-type) {
    margin-bottom: 0.2em; }

dt {
  font-weight: 500; }

a,
button {
  outline: none;
  text-decoration: none;
  transition-property: color, background-color, border-color;
  transition-duration: 0.25s; }

a {
  color: #0085CD; }
  a:hover {
    color: #20A5ED; }

figcaption {
  text-align: center; }

img + figcaption {
  margin-top: 0.5em; }

hr {
  margin: 1em 0;
  border: none;
  border-bottom: 1px dashed #D0D0D0; }
  hr.border-style-solid {
    border-bottom-style: solid; }

table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0; }

.display-block,
.visible,
.visible-block {
  display: block !important; }

.visible.force-inline {
  display: inline !important; }
.visible.force-inline-block {
  display: inline-block !important; }

.display-inline,
.visible-inline {
  display: inline !important; }

.display-inline-block,
.visible-inline-block {
  display: inline-block !important; }

.display-flex {
  display: flex !important; }

.display-inline-flex {
  display: inline-flex !important; }

.hidden {
  display: none !important; }

.ready-hidden,
.ready-hidden.force-inline,
.ready-hidden.force-inline-block {
  display: none; }

.visible-xs,
.visible-xs-inline,
.visible-sm,
.visible-sm-inline,
.visible-sm-under,
.visible-sm-inline-under,
.visible-md,
.visible-md-inline,
.visible-md-under,
.visible-md-inline-under,
.visible-md-over,
.visible-lg,
.visible-lg-inline,
.visible-xl,
.visible-xl-inline {
  display: none; }

@media (max-width: 36em) {
  .visible-xs {
    display: block !important; }

  .visible-xs-inline {
    display: inline !important; }

  .hidden-xs {
    display: none !important; } }
@media (min-width: 36.0625em) and (max-width: 48em) {
  .visible-sm {
    display: block !important; }

  .visible-sm-inline {
    display: inline !important; }

  .hidden-sm {
    display: none !important; } }
@media (max-width: 48em) {
  .visible-sm-under {
    display: block !important; }

  .visible-sm-inline-under {
    display: inline !important; }

  .hidden-sm-under {
    display: none !important; } }
@media (min-width: 48.0625em) and (max-width: 64em) {
  .visible-md {
    display: block !important; }

  .visible-md-inline {
    display: inline !important; }

  .hidden-md {
    display: none !important; } }
@media (max-width: 64em) {
  .visible-md-under {
    display: block !important; }

  .visible-md-inline-under {
    display: inline !important; }

  .hidden-md-under {
    display: none !important; } }
@media (min-width: 48.0625em) {
  .visible-md-over {
    display: block !important; } }
@media (min-width: 64.0625em) and (max-width: 80em) {
  .visible-lg {
    display: block !important; }

  .visible-lg-inline {
    display: inline !important; }

  .hidden-lg {
    display: none !important; } }
@media (min-width: 80.0625em) {
  .visible-xl {
    display: block !important; }

  .visible-xl-inline {
    display: inline !important; }

  .hidden-xl {
    display: none !important; } }
.overflow-hidden {
  overflow: hidden !important; }

.overflow-x-hidden {
  overflow-x: hidden !important; }

.zindex-10 {
  z-index: 10; }

.zindex-20 {
  z-index: 20; }

.zindex-30 {
  z-index: 30; }

.zindex-front {
  z-index: 110; }

.rotate-5 {
  transform: rotate(5deg); }

.rotate-10 {
  transform: rotate(10deg); }

.rotate--5 {
  transform: rotate(-5deg); }

.rotate--10 {
  transform: rotate(-10deg); }

.rotate-90 {
  transform: rotate(90deg); }

.rotate--90 {
  transform: rotate(-90deg); }

.pos-absolute {
  position: absolute !important; }

.pos-relative {
  position: relative !important; }

.pos-static {
  position: static !important; }

.pos-left-top {
  left: 0;
  top: 0; }

.pos-left-bottom {
  left: 0;
  bottom: 0; }

.pos-right-top {
  right: 0;
  top: 0; }

.pos-right-bottom {
  right: 0;
  bottom: 0; }

.pos-center-top {
  left: 0;
  right: 0;
  top: 0; }

.pos-center-bottom {
  left: 0;
  right: 0;
  bottom: 0; }

.pull-left {
  float: left !important; }

.pull-right {
  float: right !important; }

.pull-clear {
  clear: both !important; }

.block-center {
  margin-left: auto;
  margin-right: auto; }

.pos-absolute-center {
  position: absolute !important;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto !important; }

.pos-flex-center {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center; }

.pos-vertical-center {
  display: flex;
  height: 100%;
  align-items: center; }

.rotate-90 {
  display: inline-block;
  transform: rotate(90deg); }

.width-100 {
  width: 100px !important; }

.width-150 {
  width: 150px !important; }

.width-200 {
  width: 200px !important; }

.width-250 {
  width: 250px !important; }

.width-300 {
  width: 300px !important; }

.width-350 {
  width: 350px !important; }

.width-360 {
  width: 360px !important; }

.width-400 {
  width: 400px !important; }

.width-500 {
  width: 500px !important; }

.width-600 {
  width: 600px !important; }

.width-700 {
  width: 700px !important; }

.width-800 {
  width: 800px !important; }

.width-900 {
  width: 900px !important; }

.width-1000 {
  width: 1000px !important; }

.width-1100 {
  width: 1100px !important; }

.width-1200 {
  width: 1200px !important; }

.max-width-200 {
  max-width: 200px !important; }

.max-width-250 {
  max-width: 250px !important; }

.max-width-300 {
  max-width: 300px !important; }

.max-width-320 {
  max-width: 320px !important; }

.max-width-350 {
  max-width: 350px !important; }

.max-width-360 {
  max-width: 360px !important; }

.max-width-380 {
  max-width: 380px !important; }

.max-width-400 {
  max-width: 400px !important; }

.max-width-440 {
  max-width: 440px !important; }

.max-width-460 {
  max-width: 460px !important; }

.max-width-500 {
  max-width: 500px !important; }

.max-width-600 {
  max-width: 600px !important; }

.max-width-700 {
  max-width: 700px !important; }

.max-width-800 {
  max-width: 800px !important; }

.max-width-900 {
  max-width: 900px !important; }

.max-width-1000 {
  max-width: 1000px !important; }

.max-width-1100 {
  max-width: 1100px !important; }

.min-width-100 {
  min-width: 100px !important; }

.min-width-200 {
  min-width: 200px !important; }

.min-width-250 {
  min-width: 250px !important; }

.min-width-300 {
  min-width: 300px !important; }

.height-80 {
  height: 80px !important; }

.height-100 {
  height: 100px !important; }

.height-120 {
  height: 120px !important; }

.height-150 {
  height: 150px !important; }

.height-200 {
  height: 200px !important; }

.height-300 {
  height: 300px !important; }

.height-400 {
  height: 400px !important; }

.height-500 {
  height: 500px !important; }

.height-550 {
  height: 550px !important; }

.height-600 {
  height: 600px !important; }

.height-700 {
  height: 700px !important; }

.height-800 {
  height: 800px !important; }

.max-height-50 {
  max-height: 50px !important; }

.max-height-60 {
  max-height: 60px !important; }

.max-height-80 {
  max-height: 80px !important; }

.max-height-100 {
  max-height: 100px !important; }

.max-height-200 {
  max-height: 200px !important; }

.max-height-250 {
  max-height: 250px !important; }

.max-height-300 {
  max-height: 300px !important; }

.max-height-380 {
  max-height: 380px !important; }

.max-height-400 {
  max-height: 400px !important; }

.min-height-100 {
  min-height: 100px !important; }

.min-height-200 {
  min-height: 200px !important; }

.min-height-300 {
  min-height: 300px !important; }

.margin-0 {
  margin: 0px !important; }

.margin-10 {
  margin: 10px !important; }

.margin-20 {
  margin: 20px !important; }

.margin-40 {
  margin: 40px !important; }

.margin-50 {
  margin: 50px !important; }

.margin-60 {
  margin: 60px !important; }

.margin-left-0 {
  margin-left: 0px !important; }

.margin-left-5 {
  margin-left: 5px !important; }

.margin-left-10 {
  margin-left: 10px !important; }

.margin-left-20 {
  margin-left: 20px !important; }

.margin-left-30 {
  margin-left: 30px !important; }

.margin-left-40 {
  margin-left: 40px !important; }

.margin-left-50 {
  margin-left: 50px !important; }

.margin-left-60 {
  margin-left: 60px !important; }

.margin-left-80 {
  margin-left: 80px !important; }

.margin-left-100 {
  margin-left: 100px !important; }

.margin-left-120 {
  margin-left: 120px !important; }

.margin-left-150 {
  margin-left: 150px !important; }

.margin-top-0 {
  margin-top: 0px !important; }

.margin-top-5 {
  margin-top: 5px !important; }

.margin-top-10 {
  margin-top: 10px !important; }

.margin-top-20 {
  margin-top: 20px !important; }

.margin-top-30 {
  margin-top: 30px !important; }

.margin-top-40 {
  margin-top: 40px !important; }

.margin-top-50 {
  margin-top: 50px !important; }

.margin-top-60 {
  margin-top: 60px !important; }

.margin-top-80 {
  margin-top: 80px !important; }

.margin-top-100 {
  margin-top: 100px !important; }

.margin-top-120 {
  margin-top: 120px !important; }

.margin-top-150 {
  margin-top: 150px !important; }

.margin-right-0 {
  margin-right: 0px !important; }

.margin-right-5 {
  margin-right: 5px !important; }

.margin-right-10 {
  margin-right: 10px !important; }

.margin-right-20 {
  margin-right: 20px !important; }

.margin-right-30 {
  margin-right: 30px !important; }

.margin-right-40 {
  margin-right: 40px !important; }

.margin-right-50 {
  margin-right: 50px !important; }

.margin-right-60 {
  margin-right: 60px !important; }

.margin-right-80 {
  margin-right: 80px !important; }

.margin-right-100 {
  margin-right: 100px !important; }

.margin-right-120 {
  margin-right: 120px !important; }

.margin-right-150 {
  margin-right: 150px !important; }

.margin-bottom--5 {
  margin-bottom: -5px !important; }

.margin-bottom-0 {
  margin-bottom: 0px !important; }

.margin-bottom-5 {
  margin-bottom: 5px !important; }

.margin-bottom-10 {
  margin-bottom: 10px !important; }

.margin-bottom-20 {
  margin-bottom: 20px !important; }

.margin-bottom-30 {
  margin-bottom: 30px !important; }

.margin-bottom-40 {
  margin-bottom: 40px !important; }

.margin-bottom-50 {
  margin-bottom: 50px !important; }

.margin-bottom-60 {
  margin-bottom: 60px !important; }

.margin-bottom-80 {
  margin-bottom: 80px !important; }

.padding-0 {
  padding: 0px !important; }

.padding-5 {
  padding: 5px !important; }

.padding-10 {
  padding: 10px !important; }

.padding-20 {
  padding: 20px !important; }

.padding-30 {
  padding: 30px !important; }

.padding-40 {
  padding: 40px !important; }

.padding-50 {
  padding: 50px !important; }

.padding-left-0 {
  padding-left: 0px !important; }

.padding-left-5 {
  padding-left: 5px !important; }

.padding-left-10 {
  padding-left: 10px !important; }

.padding-left-20 {
  padding-left: 20px !important; }

.padding-left-30 {
  padding-left: 30px !important; }

.padding-left-40 {
  padding-left: 40px !important; }

.padding-left-50 {
  padding-left: 50px !important; }

.padding-left-60 {
  padding-left: 60px !important; }

.padding-left-80 {
  padding-left: 80px !important; }

.padding-left-100 {
  padding-left: 100px !important; }

.padding-top-0 {
  padding-top: 0px !important; }

.padding-top-5 {
  padding-top: 5px !important; }

.padding-top-10 {
  padding-top: 10px !important; }

.padding-top-15 {
  padding-top: 15px !important; }

.padding-top-20 {
  padding-top: 20px !important; }

.padding-top-30 {
  padding-top: 30px !important; }

.padding-top-40 {
  padding-top: 40px !important; }

.padding-top-50 {
  padding-top: 50px !important; }

.padding-top-60 {
  padding-top: 60px !important; }

.padding-top-80 {
  padding-top: 80px !important; }

.padding-top-100 {
  padding-top: 100px !important; }

.padding-right-0 {
  padding-right: 0px !important; }

.padding-right-10 {
  padding-right: 10px !important; }

.padding-right-20 {
  padding-right: 20px !important; }

.padding-right-30 {
  padding-right: 30px !important; }

.padding-right-40 {
  padding-right: 40px !important; }

.padding-right-50 {
  padding-right: 50px !important; }

.padding-right-60 {
  padding-right: 60px !important; }

.padding-right-80 {
  padding-right: 80px !important; }

.padding-right-100 {
  padding-right: 100px !important; }

.padding-bottom-0 {
  padding-bottom: 0px !important; }

.padding-bottom-5 {
  padding-bottom: 5px !important; }

.padding-bottom-10 {
  padding-bottom: 10px !important; }

.padding-bottom-20 {
  padding-bottom: 20px !important; }

.padding-bottom-30 {
  padding-bottom: 30px !important; }

.padding-bottom-40 {
  padding-bottom: 40px !important; }

.padding-bottom-50 {
  padding-bottom: 50px !important; }

.padding-bottom-60 {
  padding-bottom: 60px !important; }

.padding-bottom-80 {
  padding-bottom: 80px !important; }

.padding-bottom-100 {
  padding-bottom: 100px !important; }

.max-width-100em {
  max-width: 10em !important; }

.max-width-150em {
  max-width: 15em !important; }

.max-width-200em {
  max-width: 20em !important; }

.min-width-100em {
  min-width: 10em !important; }

.min-width-150em {
  min-width: 15em !important; }

.min-width-200em {
  min-width: 20em !important; }

.min-width-250em {
  min-width: 25em !important; }

.min-width-300em {
  min-width: 30em !important; }

.min-height-20em {
  min-height: 2em !important; }

.min-height-30em {
  min-height: 3em !important; }

.min-height-40em {
  min-height: 4em !important; }

.min-height-50em {
  min-height: 5em !important; }

.margin-1em {
  margin: 0.1em !important; }

.margin-2em {
  margin: 0.2em !important; }

.margin-5em {
  margin: 0.5em !important; }

.margin-10em {
  margin: 1em !important; }

.margin-15em {
  margin: 1.5em !important; }

.margin-20em {
  margin: 2em !important; }

.margin-left-1em {
  margin-left: 0.1em !important; }

.margin-left-2em {
  margin-left: 0.2em !important; }

.margin-left-5em {
  margin-left: 0.5em !important; }

.margin-left-10em {
  margin-left: 1em !important; }

.margin-left-15em {
  margin-left: 1.5em !important; }

.margin-left-20em {
  margin-left: 2em !important; }

.margin-top-1em {
  margin-top: 0.1em !important; }

.margin-top-2em {
  margin-top: 0.2em !important; }

.margin-top-5em {
  margin-top: 0.5em !important; }

.margin-top-10em {
  margin-top: 1em !important; }

.margin-top-15em {
  margin-top: 1.5em !important; }

.margin-top-20em {
  margin-top: 2em !important; }

.margin-top-30em {
  margin-top: 3em !important; }

.margin-top-40em {
  margin-top: 4em !important; }

.margin-top-50em {
  margin-top: 5em !important; }

.margin-right-1em {
  margin-right: 0.1em !important; }

.margin-right-2em {
  margin-right: 0.2em !important; }

.margin-right-5em {
  margin-right: 0.5em !important; }

.margin-right-10em {
  margin-right: 1em !important; }

.margin-right-15em {
  margin-right: 1.5em !important; }

.margin-right-20em {
  margin-right: 2em !important; }

.margin-bottom-1em {
  margin-bottom: 0.1em !important; }

.margin-bottom-2em {
  margin-bottom: 0.2em !important; }

.margin-bottom-5em {
  margin-bottom: 0.5em !important; }

.margin-bottom-10em {
  margin-bottom: 1em !important; }

.margin-bottom-15em {
  margin-bottom: 1.5em !important; }

.margin-bottom-20em {
  margin-bottom: 2em !important; }

.margin-bottom-30em {
  margin-bottom: 3em !important; }

.margin-bottom-40em {
  margin-bottom: 4em !important; }

.margin-bottom-50em {
  margin-bottom: 5em !important; }

.padding-1em {
  padding: 0.1em !important; }

.padding-2em {
  padding: 0.2em !important; }

.padding-5em {
  padding: 0.5em !important; }

.padding-10em {
  padding: 1em !important; }

.padding-15em {
  padding: 1.5em !important; }

.padding-20em {
  padding: 2em !important; }

.padding-left-1em {
  padding-left: 0.1em !important; }

.padding-left-2em {
  padding-left: 0.2em !important; }

.padding-left-5em {
  padding-left: 0.5em !important; }

.padding-left-10em {
  padding-left: 1em !important; }

.padding-left-15em {
  padding-left: 1.5em !important; }

.padding-left-20em {
  padding-left: 2em !important; }

.padding-left-30em {
  padding-left: 3em !important; }

.padding-left-40em {
  padding-left: 4em !important; }

.padding-top-1em {
  padding-top: 0.1em !important; }

.padding-top-2em {
  padding-top: 0.2em !important; }

.padding-top-5em {
  padding-top: 0.5em !important; }

.padding-top-10em {
  padding-top: 1em !important; }

.padding-top-15em {
  padding-top: 1.5em !important; }

.padding-top-20em {
  padding-top: 2em !important; }

.padding-top-30em {
  padding-top: 3em !important; }

.padding-top-40em {
  padding-top: 4em !important; }

.padding-top-50em {
  padding-top: 5em !important; }

.padding-right-1em {
  padding-right: 0.1em !important; }

.padding-right-2em {
  padding-right: 0.2em !important; }

.padding-right-5em {
  padding-right: 0.5em !important; }

.padding-right-10em {
  padding-right: 1em !important; }

.padding-right-15em {
  padding-right: 1.5em !important; }

.padding-right-20em {
  padding-right: 2em !important; }

.padding-right-30em {
  padding-right: 3em !important; }

.padding-right-40em {
  padding-right: 4em !important; }

.padding-bottom-1em {
  padding-bottom: 0.1em !important; }

.padding-bottom-2em {
  padding-bottom: 0.2em !important; }

.padding-bottom-5em {
  padding-bottom: 0.5em !important; }

.padding-bottom-10em {
  padding-bottom: 1em !important; }

.padding-bottom-15em {
  padding-bottom: 1.5em !important; }

.padding-bottom-20em {
  padding-bottom: 2em !important; }

.padding-bottom-30em {
  padding-bottom: 3em !important; }

.padding-bottom-40em {
  padding-bottom: 4em !important; }

.padding-bottom-50em {
  padding-bottom: 5em !important; }

.width-full {
  width: 100% !important; }

.height-full {
  height: 100% !important; }

.height-auto {
  height: auto !important; }

.margin-0-10 {
  margin: 0 10px !important; }

.padding-0-10 {
  padding: 0 10px !important; }

.padding-10-15 {
  padding: 10px 15px !important; }

.padding-10-20 {
  padding: 10px 20px !important; }

@media (max-width: 36em) {
  .width-full-xs {
    width: 100% !important;
    min-width: 0 !important; }

  .margin-top-10em-xs {
    margin-top: 1em !important; }

  .margin-left-10em-xs {
    margin-left: 1em !important; }

  .margin-bottom-0-xs {
    margin-bottom: 0 !important; }

  .margin-bottom-10em-xs {
    margin-bottom: 1em !important; }

  .margin-bottom-20em-xs {
    margin-bottom: 2em !important; }

  .margin-bottom-30em-xs {
    margin-bottom: 3em !important; } }
.color-bg-red-0 {
  background-color: #FFF9FC !important; }

.color-bg-red-1 {
  background-color: #FFEBEE !important; }

.color-bg-red-2 {
  background-color: #FFCDD2 !important; }

.color-bg-red-3 {
  background-color: #EF9A9A !important; }

.color-bg-red-4 {
  background-color: #E57373 !important; }

.color-bg-red-5 {
  background-color: #EF5350 !important; }

.color-bg-red-6 {
  background-color: #F44336 !important; }

.color-red {
  color: #E53935 !important; }
  .color-red.underline {
    border-bottom: 1px solid #E53935; }

.color-border-red {
  border-color: #E53935 !important; }

.color-bg-red-7 {
  background-color: #E53935 !important; }

.color-bg-red-8 {
  background-color: #D32F2F !important; }

.color-bg-red-9 {
  background-color: #C62828 !important; }

.color-bg-pink-0 {
  background-color: #FCF2FA !important; }

.color-bg-pink-1 {
  background-color: #FCE4EC !important; }

.color-bg-pink-2 {
  background-color: #F8BBD0 !important; }

.color-bg-pink-3 {
  background-color: #F48FB1 !important; }

.color-bg-pink-4 {
  background-color: #F06292 !important; }

.color-bg-pink-5 {
  background-color: #EC407A !important; }

.color-bg-pink-6 {
  background-color: #E91E63 !important; }

.color-pink {
  color: #D81B60 !important; }
  .color-pink.underline {
    border-bottom: 1px solid #D81B60; }

.color-border-pink {
  border-color: #D81B60 !important; }

.color-bg-pink-7 {
  background-color: #D81B60 !important; }

.color-bg-pink-8 {
  background-color: #C2185B !important; }

.color-bg-pink-9 {
  background-color: #AD1457 !important; }

.color-bg-purple-0 {
  background-color: #F7E9F9 !important; }

.color-bg-purple-1 {
  background-color: #F3E5F5 !important; }

.color-bg-purple-2 {
  background-color: #E1BEE7 !important; }

.color-bg-purple-3 {
  background-color: #CE93D8 !important; }

.color-bg-purple-4 {
  background-color: #BA68C8 !important; }

.color-bg-purple-5 {
  background-color: #AB47BC !important; }

.color-bg-purple-6 {
  background-color: #9C27B0 !important; }

.color-purple {
  color: #8E24AA !important; }
  .color-purple.underline {
    border-bottom: 1px solid #8E24AA; }

.color-border-purple {
  border-color: #8E24AA !important; }

.color-bg-purple-7 {
  background-color: #8E24AA !important; }

.color-bg-purple-8 {
  background-color: #7B1FA2 !important; }

.color-bg-purple-9 {
  background-color: #6A1B9A !important; }

.color-bg-deep-purple-0 {
  background-color: #FBF5F6 !important; }

.color-bg-deep-purple-1 {
  background-color: #EDE7F6 !important; }

.color-bg-deep-purple-2 {
  background-color: #D1C4E9 !important; }

.color-bg-deep-purple-3 {
  background-color: #B39DDB !important; }

.color-bg-deep-purple-4 {
  background-color: #9575CD !important; }

.color-bg-deep-purple-5 {
  background-color: #7E57C2 !important; }

.color-bg-deep-purple-6 {
  background-color: #673AB7 !important; }

.color-deep-purple {
  color: #5E35B1 !important; }
  .color-deep-purple.underline {
    border-bottom: 1px solid #5E35B1; }

.color-border-deep-purple {
  border-color: #5E35B1 !important; }

.color-bg-deep-purple-7 {
  background-color: #5E35B1 !important; }

.color-bg-deep-purple-8 {
  background-color: #512DA8 !important; }

.color-bg-deep-purple-9 {
  background-color: #4527A0 !important; }

.color-bg-indigo-0 {
  background-color: #F6F8F6 !important; }

.color-bg-indigo-1 {
  background-color: #E8EAF6 !important; }

.color-bg-indigo-2 {
  background-color: #C5CAE9 !important; }

.color-bg-indigo-3 {
  background-color: #9FA8DA !important; }

.color-bg-indigo-4 {
  background-color: #7986CB !important; }

.color-bg-indigo-5 {
  background-color: #5C6BC0 !important; }

.color-bg-indigo-6 {
  background-color: #3F51B5 !important; }

.color-indigo {
  color: #3949AB !important; }
  .color-indigo.underline {
    border-bottom: 1px solid #3949AB; }

.color-border-indigo {
  border-color: #3949AB !important; }

.color-bg-indigo-7 {
  background-color: #3949AB !important; }

.color-bg-indigo-8 {
  background-color: #303F9F !important; }

.color-bg-indigo-9 {
  background-color: #283593 !important; }

.color-bg-blue-0 {
  background-color: #E6F5FF !important; }

.color-bg-blue-1 {
  background-color: #E3F2FD !important; }

.color-bg-blue-2 {
  background-color: #BBDEFB !important; }

.color-bg-blue-3 {
  background-color: #90CAF9 !important; }

.color-bg-blue-4 {
  background-color: #64B5F6 !important; }

.color-bg-blue-5 {
  background-color: #42A5F5 !important; }

.color-bg-blue-6 {
  background-color: #2196F3 !important; }

.color-blue {
  color: #1E88E5 !important; }
  .color-blue.underline {
    border-bottom: 1px solid #1E88E5; }

.color-border-blue {
  border-color: #1E88E5 !important; }

.color-bg-blue-7 {
  background-color: #1E88E5 !important; }

.color-bg-blue-8 {
  background-color: #1976D2 !important; }

.color-bg-blue-9 {
  background-color: #1565C0 !important; }

.color-bg-light-blue-0 {
  background-color: #F3FCFF !important; }

.color-bg-light-blue-1 {
  background-color: #E1F5FE !important; }

.color-bg-light-blue-2 {
  background-color: #B3E5FC !important; }

.color-bg-light-blue-3 {
  background-color: #81D4FA !important; }

.color-bg-light-blue-4 {
  background-color: #4FC3F7 !important; }

.color-bg-light-blue-5 {
  background-color: #29B6F6 !important; }

.color-bg-light-blue-6 {
  background-color: #03A9F4 !important; }

.color-light-blue {
  color: #039BE5 !important; }
  .color-light-blue.underline {
    border-bottom: 1px solid #039BE5; }

.color-border-light-blue {
  border-color: #039BE5 !important; }

.color-bg-light-blue-7 {
  background-color: #039BE5 !important; }

.color-bg-light-blue-8 {
  background-color: #0288D1 !important; }

.color-bg-light-blue-9 {
  background-color: #0277BD !important; }

.color-bg-cyan-0 {
  background-color: #E4FBFE !important; }

.color-bg-cyan-1 {
  background-color: #E0F7FA !important; }

.color-bg-cyan-2 {
  background-color: #B2EBF2 !important; }

.color-bg-cyan-3 {
  background-color: #80DEEA !important; }

.color-bg-cyan-4 {
  background-color: #4DD0E1 !important; }

.color-bg-cyan-5 {
  background-color: #26C6DA !important; }

.color-bg-cyan-6 {
  background-color: #00BCD4 !important; }

.color-cyan {
  color: #00ACC1 !important; }
  .color-cyan.underline {
    border-bottom: 1px solid #00ACC1; }

.color-border-cyan {
  border-color: #00ACC1 !important; }

.color-bg-cyan-7 {
  background-color: #00ACC1 !important; }

.color-bg-cyan-8 {
  background-color: #0097A7 !important; }

.color-bg-cyan-9 {
  background-color: #00838F !important; }

.color-bg-teal-0 {
  background-color: #ECFFFD !important; }

.color-bg-teal-1 {
  background-color: #E0F2F1 !important; }

.color-bg-teal-2 {
  background-color: #B2DFDB !important; }

.color-bg-teal-3 {
  background-color: #80CBC4 !important; }

.color-bg-teal-4 {
  background-color: #4DB6AC !important; }

.color-bg-teal-5 {
  background-color: #26A69A !important; }

.color-bg-teal-6 {
  background-color: #009688 !important; }

.color-teal {
  color: #00897B !important; }
  .color-teal.underline {
    border-bottom: 1px solid #00897B; }

.color-border-teal {
  border-color: #00897B !important; }

.color-bg-teal-7 {
  background-color: #00897B !important; }

.color-bg-teal-8 {
  background-color: #00796B !important; }

.color-bg-teal-9 {
  background-color: #00695C !important; }

.color-bg-green-0 {
  background-color: #EAF8EB !important; }

.color-bg-green-1 {
  background-color: #E8F5E9 !important; }

.color-bg-green-2 {
  background-color: #C8E6C9 !important; }

.color-bg-green-3 {
  background-color: #A5D6A7 !important; }

.color-bg-green-4 {
  background-color: #81C784 !important; }

.color-bg-green-5 {
  background-color: #66BB6A !important; }

.color-bg-green-6 {
  background-color: #4CAF50 !important; }

.color-green {
  color: #43A047 !important; }
  .color-green.underline {
    border-bottom: 1px solid #43A047; }

.color-border-green {
  border-color: #43A047 !important; }

.color-bg-green-7 {
  background-color: #43A047 !important; }

.color-bg-green-8 {
  background-color: #388E3C !important; }

.color-bg-green-9 {
  background-color: #2E7D32 !important; }

.color-bg-light-green-0 {
  background-color: #F5FCF3 !important; }

.color-bg-light-green-1 {
  background-color: #F1F8E9 !important; }

.color-bg-light-green-2 {
  background-color: #DCEDC8 !important; }

.color-bg-light-green-3 {
  background-color: #C5E1A5 !important; }

.color-bg-light-green-4 {
  background-color: #AED581 !important; }

.color-bg-light-green-5 {
  background-color: #9CCC65 !important; }

.color-bg-light-green-6 {
  background-color: #8BC34A !important; }

.color-light-green {
  color: #7CB342 !important; }
  .color-light-green.underline {
    border-bottom: 1px solid #7CB342; }

.color-border-light-green {
  border-color: #7CB342 !important; }

.color-bg-light-green-7 {
  background-color: #7CB342 !important; }

.color-bg-light-green-8 {
  background-color: #689F38 !important; }

.color-bg-light-green-9 {
  background-color: #558B2F !important; }

.color-bg-lime-0 {
  background-color: #FCFEEA !important; }

.color-bg-lime-1 {
  background-color: #F9FBE7 !important; }

.color-bg-lime-2 {
  background-color: #F0F4C3 !important; }

.color-bg-lime-3 {
  background-color: #E6EE9C !important; }

.color-bg-lime-4 {
  background-color: #DCE775 !important; }

.color-bg-lime-5 {
  background-color: #D4E157 !important; }

.color-bg-lime-6 {
  background-color: #CDDC39 !important; }

.color-lime {
  color: #C0CA33 !important; }
  .color-lime.underline {
    border-bottom: 1px solid #C0CA33; }

.color-border-lime {
  border-color: #C0CA33 !important; }

.color-bg-lime-7 {
  background-color: #C0CA33 !important; }

.color-bg-lime-8 {
  background-color: #AFB42B !important; }

.color-bg-lime-9 {
  background-color: #9E9D24 !important; }

.color-bg-yellow-0 {
  background-color: #FFFEF0 !important; }

.color-bg-yellow-1 {
  background-color: #FFFDE7 !important; }

.color-bg-yellow-2 {
  background-color: #FFF9C4 !important; }

.color-bg-yellow-3 {
  background-color: #FFF59D !important; }

.color-bg-yellow-4 {
  background-color: #FFF176 !important; }

.color-bg-yellow-5 {
  background-color: #FFEE58 !important; }

.color-bg-yellow-6 {
  background-color: #FFEB3B !important; }

.color-yellow {
  color: #FDD835 !important; }
  .color-yellow.underline {
    border-bottom: 1px solid #FDD835; }

.color-border-yellow {
  border-color: #FDD835 !important; }

.color-bg-yellow-7 {
  background-color: #FDD835 !important; }

.color-bg-yellow-8 {
  background-color: #FBC02D !important; }

.color-bg-yellow-9 {
  background-color: #F9A825 !important; }

.color-bg-amber-0 {
  background-color: #FFFAE4 !important; }

.color-bg-amber-1 {
  background-color: #FFF8E1 !important; }

.color-bg-amber-2 {
  background-color: #FFECB3 !important; }

.color-bg-amber-3 {
  background-color: #FFE082 !important; }

.color-bg-amber-4 {
  background-color: #FFD54F !important; }

.color-bg-amber-5 {
  background-color: #FFCA28 !important; }

.color-bg-amber-6 {
  background-color: #FFC107 !important; }

.color-amber {
  color: #FFB300 !important; }
  .color-amber.underline {
    border-bottom: 1px solid #FFB300; }

.color-border-amber {
  border-color: #FFB300 !important; }

.color-bg-amber-7 {
  background-color: #FFB300 !important; }

.color-bg-amber-8 {
  background-color: #FFA000 !important; }

.color-bg-amber-9 {
  background-color: #FF8F00 !important; }

.color-bg-orange-0 {
  background-color: #FFF6E3 !important; }

.color-bg-orange-1 {
  background-color: #FFF3E0 !important; }

.color-bg-orange-2 {
  background-color: #FFE0B2 !important; }

.color-bg-orange-3 {
  background-color: #FFCC80 !important; }

.color-bg-orange-4 {
  background-color: #FFB74D !important; }

.color-bg-orange-5 {
  background-color: #FFA726 !important; }

.color-bg-orange-6 {
  background-color: #FF9800 !important; }

.color-orange {
  color: #FB8C00 !important; }
  .color-orange.underline {
    border-bottom: 1px solid #FB8C00; }

.color-border-orange {
  border-color: #FB8C00 !important; }

.color-bg-orange-7 {
  background-color: #FB8C00 !important; }

.color-bg-orange-8 {
  background-color: #F57C00 !important; }

.color-bg-orange-9 {
  background-color: #EF6C00 !important; }

.color-bg-deep-orange-0 {
  background-color: #FCECEB !important; }

.color-bg-deep-orange-1 {
  background-color: #FBE9E7 !important; }

.color-bg-deep-orange-2 {
  background-color: #FFCCBC !important; }

.color-bg-deep-orange-3 {
  background-color: #FFAB91 !important; }

.color-bg-deep-orange-4 {
  background-color: #FF8A65 !important; }

.color-bg-deep-orange-5 {
  background-color: #FF7043 !important; }

.color-bg-deep-orange-6 {
  background-color: #FF5722 !important; }

.color-deep-orange {
  color: #F4511E !important; }
  .color-deep-orange.underline {
    border-bottom: 1px solid #F4511E; }

.color-border-deep-orange {
  border-color: #F4511E !important; }

.color-bg-deep-orange-7 {
  background-color: #F4511E !important; }

.color-bg-deep-orange-8 {
  background-color: #E64A19 !important; }

.color-bg-deep-orange-9 {
  background-color: #D84315 !important; }

.color-bg-brown-0 {
  background-color: #EFEFF3 !important; }

.color-bg-brown-1 {
  background-color: #EFEBE9 !important; }

.color-bg-brown-2 {
  background-color: #D7CCC8 !important; }

.color-bg-brown-3 {
  background-color: #BCAAA4 !important; }

.color-bg-brown-4 {
  background-color: #A1887F !important; }

.color-bg-brown-5 {
  background-color: #8D6E63 !important; }

.color-bg-brown-6 {
  background-color: #795548 !important; }

.color-brown {
  color: #6D4C41 !important; }
  .color-brown.underline {
    border-bottom: 1px solid #6D4C41; }

.color-border-brown {
  border-color: #6D4C41 !important; }

.color-bg-brown-7 {
  background-color: #6D4C41 !important; }

.color-bg-brown-8 {
  background-color: #5D4037 !important; }

.color-bg-brown-9 {
  background-color: #4E342E !important; }

.color-bg-gray-0 {
  background-color: #FDFDFD !important; }

.color-bg-gray-1 {
  background-color: #FAFAFA !important; }

.color-bg-gray-2 {
  background-color: #F5F5F5 !important; }

.color-bg-gray-3 {
  background-color: #EEEEEE !important; }

.color-bg-gray-4 {
  background-color: #E0E0E0 !important; }

.color-bg-gray-5 {
  background-color: #BDBDBD !important; }

.color-bg-gray-6 {
  background-color: #9E9E9E !important; }

.color-gray {
  color: #757575 !important; }
  .color-gray.underline {
    border-bottom: 1px solid #757575; }

.color-border-gray {
  border-color: #757575 !important; }

.color-bg-gray-7 {
  background-color: #757575 !important; }

.color-bg-gray-8 {
  background-color: #616161 !important; }

.color-bg-gray-9 {
  background-color: #424242 !important; }

.color-bg-blue-gray-0 {
  background-color: #F0EFF5 !important; }

.color-bg-blue-gray-1 {
  background-color: #ECEFF1 !important; }

.color-bg-blue-gray-2 {
  background-color: #CFD8DC !important; }

.color-bg-blue-gray-3 {
  background-color: #B0BEC5 !important; }

.color-bg-blue-gray-4 {
  background-color: #90A4AE !important; }

.color-bg-blue-gray-5 {
  background-color: #78909C !important; }

.color-bg-blue-gray-6 {
  background-color: #607D8B !important; }

.color-blue-gray {
  color: #546E7A !important; }
  .color-blue-gray.underline {
    border-bottom: 1px solid #546E7A; }

.color-border-blue-gray {
  border-color: #546E7A !important; }

.color-bg-blue-gray-7 {
  background-color: #546E7A !important; }

.color-bg-blue-gray-8 {
  background-color: #455A64 !important; }

.color-bg-blue-gray-9 {
  background-color: #37474F !important; }

.color-white {
  color: #FFFFFF !important; }
  .color-white.underline {
    border-bottom: 1px solid #FFFFFF; }

.color-black {
  color: #000000 !important; }
  .color-black.underline {
    border-bottom: 1px solid #000000; }

.color-text {
  color: #000000 !important; }
  .color-text.underline {
    border-bottom: 1px solid #000000; }

.color-main {
  color: #0085CD !important; }
  .color-main.underline {
    border-bottom: 1px solid #0085CD; }

.color-school {
  color: #095CA7 !important; }
  .color-school.underline {
    border-bottom: 1px solid #095CA7; }

.color-white-all * {
  color: #FFFFFF !important; }
.color-white-all em {
  color: #FFEB3B !important;
  background: none; }

.color-bg-white {
  background-color: #FFFFFF !important; }

.color-bg-black {
  background-color: #000000 !important; }

.color-bg-main {
  background-color: #0085CD !important; }

.color-bg-sub {
  background-color: #FFC4C8 !important; }

.background-none {
  background: none !important; }

.color-border-white {
  border-color: #FFFFFF !important; }

.color-border-black {
  border-color: #000000 !important; }

.color-border-main {
  border-color: #0085CD !important; }

.color-border-default {
  border-color: #D0D0D0 !important; }

.color-border-group-caption {
  border-color: #FFC4C8 !important; }

.border-width-1 {
  border: 1px solid transparent; }

.border-width-2 {
  border: 2px solid transparent; }

.border-width-3 {
  border: 3px solid transparent; }

.border-width-4 {
  border: 4px solid transparent; }

.borderless,
.border-none {
  border: none !important; }

.borderless-top {
  border-top: none !important; }

.borderless-bottom {
  border-bottom: none !important; }

.border-round-5 {
  border-radius: 5px; }

.border-round-10 {
  border-radius: 10px; }

.border-round-15 {
  border-radius: 15px; }

.text-center {
  text-align: center !important; }
  .text-center h1, .text-center h2, .text-center h3, .text-center h4,
  .text-center p {
    text-align: center; }

.text-justify,
.text-justify > p {
  text-align: justify !important;
  text-justify: inter-ideograph !important; }

.text-left,
.text-left > li {
  text-align: left !important; }

.text-right {
  text-align: right !important; }

@media (max-width: 36em) {
  .text-left-xs {
    text-align: left !important; }

  .text-justify-xs {
    text-align: justify !important; }

  .text-center-xs {
    text-align: center !important; }

  .text-right-xs {
    text-align: right !important; } }
.vertical-default {
  vertical-align: 0; }

.vertical-middle {
  vertical-align: middle; }

.vertical-bottom {
  vertical-align: bottom; }

.vertical-20 {
  vertical-align: 20%; }

.vertical-10 {
  vertical-align: 10%; }

.vertical--10 {
  vertical-align: -10%; }

.line-height-10 {
  line-height: 1 !important; }

.line-height-11 {
  line-height: 1.1 !important; }

.line-height-12 {
  line-height: 1.2 !important; }

.line-height-13 {
  line-height: 1.3 !important; }

.line-height-14 {
  line-height: 1.4 !important; }

.line-height-15 {
  line-height: 1.5 !important; }

.line-height-20 {
  line-height: 2 !important; }

.text-nowrap {
  white-space: nowrap; }

.font-normal {
  font-weight: 500 !important; }

.font-bold {
  font-weight: 600 !important; }

.font-size-60 {
  font-size: 0.6rem !important; }

.font-size-70 {
  font-size: 0.7rem !important; }

.font-size-80 {
  font-size: 0.8rem !important; }

.font-size-90 {
  font-size: 0.9rem !important; }

.font-size-100 {
  font-size: 1rem !important; }

.font-size-105 {
  font-size: 1.05rem !important; }

.font-size-110 {
  font-size: 1.1rem !important; }

.font-size-120 {
  font-size: 1.2rem !important; }

.font-size-130 {
  font-size: 1.3rem !important; }

.font-size-140 {
  font-size: 1.4rem !important; }

.font-size-150 {
  font-size: 1.5rem !important; }

.font-size-160 {
  font-size: 1.6rem !important; }

.font-size-180 {
  font-size: 1.8rem !important; }

.font-size-200 {
  font-size: 2rem !important; }

.font-size-250 {
  font-size: 2.5rem !important; }

.font-size-300 {
  font-size: 3rem !important; }

.font-default {
  font-family: "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", system-ui, sans-serif !important; }

.font-sub {
  font-family: "Oswald", sans-serif !important; }

.font-number {
  font-family: "Arial", "Helvetica", sans-serif !important; }

.font-mincho {
  font-family: "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif !important; }

@media (max-width: 36em) {
  .font-size-150-xs {
    font-size: 1.5rem !important; } }
img:not([src$='.svg']) {
  display: block;
  max-width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto; }
  @media (max-width: 36em) {
    img:not([src$='.svg']) {
      width: auto; } }

img[src$='.svg'] {
  width: auto; }

@media (max-width: 36em) {
  .anim-xs-disabled {
    transition: none !important;
    transform: none !important;
    animation: none !important;
    opacity: 1 !important; }

  .anim-delay-xs-disabled {
    animation-delay: 0 !important;
    transition-delay: 0 !important; } }
@keyframes anim-fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes anim-fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }
.bg-none,
.backgroundless {
  background: none !important; }

.text-comment:not(ul) {
  padding-left: 1.2em;
  text-indent: -1.2em; }
  .text-comment:not(ul)::before {
    content: '※';
    margin-right: 0.2em; }

ul.text-comment {
  list-style: none;
  padding-left: 0; }
  ul.text-comment > li {
    padding-left: 1.2em;
    text-indent: -1.2em; }
    ul.text-comment > li::before {
      content: '※';
      margin-right: 0.2em; }

.text-notes {
  font-size: 90%;
  color: #808080; }

.text-indent {
  margin-left: 1em;
  text-indent: -1em; }

.image-border {
  border: 1px solid #D0D0D0;
  box-sizing: content-box; }

.link-text, #page-content a:not(.btn):not(.card):not(.link-borderless) {
  margin-left: 0.2em;
  margin-right: 0.2em;
  border-bottom: 1px dashed #0085CD; }

.link-image {
  display: inline-block;
  vertical-align: bottom;
  border-bottom: none !important; }
  .link-image img {
    transition: filter 0.2s; }
  .link-image:hover img {
    filter: brightness(105%); }

.link-icon-pdf::before {
  content: "";
  font-family: "Line Awesome Free";
  font-weight: 900;
  font-size: 110%;
  vertical-align: middle; }

.link-icon-back::before {
  content: "";
  font-family: "Line Awesome Free";
  font-weight: 900;
  font-size: 110%;
  vertical-align: -0.05em; }

.link-icon-close::before {
  content: "";
  font-family: "Line Awesome Free";
  font-weight: 900;
  margin-right: 0.2em; }

.link-icon-tel::before {
  content: "";
  font-family: "Line Awesome Free";
  font-weight: 900;
  margin-right: 0.1em; }

.link-icon-mail::before {
  content: "";
  font-family: "Line Awesome Free";
  font-weight: 900;
  margin-right: 0.3em; }

label {
  display: inline-block; }

input,
textarea {
  background-color: #FFFFFF;
  border: 1px solid #A0A0A0;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: textfield; }
  input::placeholder,
  textarea::placeholder {
    color: #D9D9D9; }
  input:hover, input:focus,
  textarea:hover,
  textarea:focus {
    border-color: #4FC3F7;
    box-shadow: 0 0 0 1px #4FC3F7; }
  input:focus,
  textarea:focus {
    background-color: #F6FCFF; }

input[type='text'],
input[type='date'],
input[type='email'],
input[type='number'],
input[type='password'],
input[type='search'],
input[type='tel'],
input[type='time'],
input[type='url'] {
  padding: 0.4em 1em 0.3em 1.2em;
  border-radius: 2em; }

input[type='number']::-webkit-outer-spin-button, input[type='number']::-webkit-inner-spin-button {
  -webkit-appearance: none; }

select {
  padding: 0.4em 1em 0.3em 1.2em;
  color: #000000;
  background-color: #FFFFFF;
  border: 1px solid #A0A0A0;
  border-radius: 2em;
  cursor: pointer;
  outline: none; }
  select:hover, select:focus {
    border-color: #4FC3F7;
    box-shadow: 0 0 0 1px #4FC3F7; }

.label {
  display: inline-block;
  padding: 0.2em 0.6em 0.1em 0.6em;
  font-size: 90%;
  color: #FFFFFF;
  background-color: #909090; }

.list-bullet,
.list-icon {
  margin: 1em 0;
  list-style: none; }
  .list-bullet > li,
  .list-icon > li {
    position: relative;
    padding-left: 1.5em;
    line-height: 1.3; }
    .list-bullet > li::before,
    .list-icon > li::before {
      content: '・';
      position: absolute;
      left: 0;
      top: 0; }
    .list-bullet > li:not(:last-child),
    .list-icon > li:not(:last-child) {
      margin-bottom: 0.2em; }

.list-icon-check > li::before {
  content: "";
  font-family: "Line Awesome Free";
  font-weight: 900; }

.list-table {
  display: flex;
  flex-wrap: wrap;
  line-height: 1.3; }
  .list-table > dt,
  .list-table > dd {
    margin-bottom: 0.2em; }
  .list-table > dt {
    flex-basis: 10em; }
  .list-table > dd {
    flex-basis: calc(100% - 10em); }
    .list-table > dd p {
      line-height: 1.3; }
  @media (max-width: 36em) {
    .list-table:not(.fix-xs) {
      display: block; }
      .list-table:not(.fix-xs) > dt,
      .list-table:not(.fix-xs) > dd {
        flex-basis: auto; }
      .list-table:not(.fix-xs) > dd {
        margin-bottom: 0.5em; } }

.list-table-3 > dt {
  flex-basis: 3em; }
.list-table-3 > dd {
  flex-basis: calc(100% - 3em); }

.list-table-4 > dt {
  flex-basis: 4em; }
.list-table-4 > dd {
  flex-basis: calc(100% - 4em); }

.list-table-5 > dt {
  flex-basis: 5em; }
.list-table-5 > dd {
  flex-basis: calc(100% - 5em); }

.list-table-6 > dt {
  flex-basis: 6em; }
.list-table-6 > dd {
  flex-basis: calc(100% - 6em); }

.list-table-8 > dt {
  flex-basis: 8em; }
.list-table-8 > dd {
  flex-basis: calc(100% - 8em); }

.list-table-12 > dt {
  flex-basis: 12em; }
.list-table-12 > dd {
  flex-basis: calc(100% - 12em); }

.list-table-16 > dt {
  flex-basis: 16em; }
.list-table-16 > dd {
  flex-basis: calc(100% - 16em); }

.list-table-18 > dt {
  flex-basis: 18em; }
.list-table-18 > dd {
  flex-basis: calc(100% - 18em); }

.list-table-leader > dd {
  position: relative;
  padding-left: 2em; }
  .list-table-leader > dd::before {
    content: '…';
    position: absolute;
    left: 0.5em;
    top: 0; }

.list-table-bordered > dt,
.list-table-bordered > dd {
  padding-top: 0.3em;
  padding-bottom: 0.3em;
  border-bottom: 1px dashed #D0D0D0; }

.list-number {
  list-style: none;
  counter-reset: counterListNumber; }
  .list-number > li {
    position: relative;
    padding-left: 2em; }
    .list-number > li::before {
      content: counter(counterListNumber);
      counter-increment: counterListNumber;
      position: absolute;
      left: 0;
      top: 0.1em;
      width: 2em;
      font-size: 80%;
      text-align: center;
      color: #FFFFFF;
      background-color: #4DB6AC; }

.list-faq > dt,
.list-faq > dd {
  position: relative; }
  .list-faq > dt::before,
  .list-faq > dd::before {
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    position: absolute;
    left: 0;
    top: 0;
    width: 1.6em;
    height: 1.6em;
    text-align: center;
    font-size: 1rem;
    color: #FFFFFF;
    border-radius: 100%; }
.list-faq > dt {
  margin-bottom: 0.8em;
  padding-left: 2em;
  font-size: 1.1rem;
  color: #689F38; }
  .list-faq > dt::before {
    content: 'Q';
    background-color: #689F38; }
.list-faq > dd {
  margin-left: 1.5em;
  margin-bottom: 2em;
  padding-left: 2.2em; }
  .list-faq > dd::before {
    content: 'A';
    background-color: #F06292; }
@media (max-width: 36em) {
  .list-faq > dd {
    margin-left: 1em; } }

dl.list-label > dt {
  display: inline-block;
  margin-bottom: 0.5em;
  padding: 0.2em 1em 0.1em 1em;
  font-size: 90%;
  color: #FFFFFF;
  background-color: #4DB6AC; }
dl.list-label > dd {
  margin-left: 1em;
  margin-bottom: 1em; }
  dl.list-label > dd:last-child {
    margin-bottom: 0; }
  dl.list-label > dd p {
    margin-bottom: 0.5em; }
dl.list-label.list-label-indent > dd {
  padding-left: 1em; }

dl.list-bold > dt {
  padding-left: 1.2em;
  text-indent: -1.2em;
  font-weight: 600; }
  dl.list-bold > dt::before {
    content: '●';
    margin-right: 0.2em; }
dl.list-bold > dd {
  margin-left: 1em; }

.list-step {
  list-style: none;
  counter-reset: counterListStep; }
  .list-step > li {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    margin-bottom: 2em;
    padding: 1em;
    background-color: #F6F8FA; }
    .list-step > li::before {
      content: "STEP " counter(counterListStep);
      counter-increment: counterListStep;
      width: 5rem;
      margin-right: 1rem;
      padding: 0.2em 0.5em 0.1em 0.5em;
      text-align: center;
      font-size: 0.9rem;
      color: #FFFFFF;
      background-color: #0085CD; }
    .list-step > li:not(:last-child)::after {
      content: "";
      font-family: "Line Awesome Free";
      font-weight: 900;
      position: absolute;
      top: 100%;
      left: 50%;
      font-size: 1.8rem;
      color: #A0A0A0;
      transform: translateX(-50%);
      z-index: 1; }
    .list-step > li > h4 {
      flex-basis: calc(100% - 6rem);
      font-size: 1.1rem;
      font-weight: 600;
      color: #0085CD; }
    .list-step > li > div {
      flex-basis: 100%;
      margin: 0.5em 0 0 1em; }
  .list-step.list-step-border-frame > li {
    border: 2px solid #0085CD;
    background-color: #FFFFFF; }
  .list-step.list-step-title-label h4 .label {
    margin-right: 1em;
    font-size: 85%;
    border-radius: 2em; }

.btn {
  display: inline-block;
  padding: 0.6em 2em;
  line-height: 1.2;
  text-align: center;
  color: #FFFFFF;
  background-color: #24C1ED;
  border: none;
  border-radius: 3em;
  transition-property: background-color;
  cursor: pointer; }
  .btn:hover:not(:disabled) {
    color: #FFFFFF;
    background-color: #5BCFFA; }
  .btn:active:not(:disabled) {
    background-color: #6BDFFD; }
  .btn.disabled {
    background-color: #C0C0C0 !important; }

.btn-lg {
  font-size: 1.2rem; }

.btn-sm {
  font-size: 0.9rem; }

.btn-xs {
  font-size: 0.8rem; }

.btn-block {
  display: block; }

.btn-entry {
  background-color: #FF8F00; }
  .btn-entry:hover:not(:disabled) {
    background-color: #FF9F10; }
  .btn-entry:active:not(:disabled) {
    background-color: #EF7F00; }

.btn-color-orange {
  background-color: #F9A825; }
  .btn-color-orange:hover:not(:disabled) {
    background-color: #FBC02D; }
  .btn-color-orange:active:not(:disabled) {
    background-color: #FFA000; }

[class*='btn-icon-'] {
  display: inline-flex;
  align-items: center;
  justify-content: center; }
  [class*='btn-icon-']::after {
    padding-left: 0.5em; }
  [class*='btn-icon-']::before {
    padding-right: 0.5em; }
  [class*='btn-icon-'].btn-block {
    display: flex; }

.btn-icon-file-pdf {
  padding-left: 1.5em; }

.btn-icon-arrow,
.btn-icon-new-window {
  padding-right: 1.5em; }

.btn-icon-arrow::after {
  content: "";
  font-family: "Line Awesome Free";
  font-weight: 900; }

.btn-icon-new-window {
  padding-right: 1.5em; }
  .btn-icon-new-window::after {
    content: "";
    font-family: "Line Awesome Free";
    font-weight: 900; }

.btn-icon-file-pdf::before {
  content: "";
  font-family: "Line Awesome Free";
  font-weight: 900; }

.card {
  position: relative;
  padding: 1em 1.5em;
  background-color: #FFFFFF; }
  .card h3 {
    margin-bottom: 0.8em;
    line-height: 1.4;
    font-size: clamp(1rem, calc(0.25vw + 0.95rem), 1.2rem);
    text-align: center;
    font-weight: 600; }
  .card h4 {
    font-weight: 600; }
  .card .caption {
    margin-bottom: 0.8rem;
    padding-bottom: 0.5rem;
    text-align: center;
    font-size: 0.9rem;
    border-bottom: 1px solid #D0D0D0; }
  .card.card-padding-2em {
    padding: 2em 2.5em; }
  @media (max-width: 36em) {
    .card {
      padding: 1em; }
      .card.card-padding-2em {
        padding: 1.5em; } }

a.card {
  display: block;
  overflow: hidden;
  width: 100%;
  color: #000000;
  transition: color 0.25s;
  z-index: 1; }
  a.card h3 {
    position: relative;
    z-index: 2; }
  a.card:hover img {
    transform: scale(1.04); }
  a.card img {
    pointer-events: none;
    transition: transform 0.25s; }

.cards-image .card,
.card.card-image {
  overflow: hidden;
  padding: 0; }
  .cards-image .card .card-content,
  .card.card-image .card-content {
    padding: 1.5em; }
    @media (max-width: 36em) {
      .cards-image .card .card-content,
      .card.card-image .card-content {
        padding: 1em; } }
  .cards-image .card h3,
  .card.card-image h3 {
    margin: 0 0 1em 0;
    padding: 0; }

.cards-image.card-image-no-caption .card h3 {
  margin-bottom: 0; }
.cards-image.card-image-no-caption .card .card-content {
  padding: 1em; }

.cards-circle-image .card,
.card.card-circle-image {
  padding: 1em; }
  .cards-circle-image .card img,
  .card.card-circle-image img {
    border-radius: 100%;
    transition: transform 0.25s, box-shadow 0.25s; }
  .cards-circle-image .card h3,
  .card.card-circle-image h3 {
    margin-top: 1em; }

.cards-circle-image a:hover,
a.card-circle-image:hover {
  color: #20A5ED; }
  .cards-circle-image a:hover img:not(.icon),
  a.card-circle-image:hover img:not(.icon) {
    box-shadow: 0 0 0 3px #20A5ED; }

.cards-border .card,
.card-border {
  box-shadow: 0 0 0 1px #D0D0D0;
  transition: color 0.25s, box-shadow 0.25s; }

.cards-border a.card:hover,
a.card-border:hover {
  box-shadow: 0 0 0 2px #20A5ED; }

.cards-heading-fill .card h3,
.card.card-heading-fill h3 {
  width: calc(100% + 1em);
  margin-bottom: 1em;
  padding: 0.3em 0.5em 0.2em 0.5em;
  color: #FFFFFF;
  background-color: #0085CD;
  transform: translateX(-0.5em); }

.cards-heading-border .card h3,
.card.card-heading-border h3 {
  padding-bottom: 0.6em;
  border-bottom: 1px dashed #D0D0D0; }

.table-wrapper {
  overflow-x: auto; }
  @media (max-width: 48em) {
    .table-wrapper > table {
      min-width: 48em; } }

.table-default caption {
  margin-bottom: 0.5em;
  font-weight: 600; }
.table-default th,
.table-default td {
  padding: 0.6em 1em 0.5em 1em;
  line-height: 1.3; }
.table-default td {
  text-align: justify; }
.table-default thead tr {
  border-bottom: 2px solid #0085CD; }
.table-default thead th {
  font-size: 90%;
  color: #0085CD; }
.table-default tbody tr {
  border-bottom: 1px solid #D0D0D0; }

.table-cell-center td {
  text-align: center; }

.table-tbody-th-nowrap tbody th {
  white-space: nowrap; }

.table-tbody-td-align-left tbody td {
  text-align: left; }

.form-check label {
  margin-bottom: 0.2em;
  padding: 0.2em 0.5em;
  cursor: pointer;
  transition: color 0.2s, background-color 0.2s; }
  .form-check label:hover {
    color: #24C1ED;
    background-color: #F6FCFF; }
    .form-check label:hover input[type='checkbox'] + span::before,
    .form-check label:hover input[type='radio'] + span::before {
      border-color: #24C1ED; }
.form-check input[type='checkbox'],
.form-check input[type='radio'] {
  display: none; }
  .form-check input[type='checkbox'] + span,
  .form-check input[type='radio'] + span {
    display: inline-block;
    position: relative;
    padding-left: 1.6em;
    line-height: 1.4; }
    .form-check input[type='checkbox'] + span::before,
    .form-check input[type='radio'] + span::before {
      content: '';
      position: absolute;
      display: inline-block;
      left: 0;
      top: 50%;
      width: 1.15em;
      height: 1.15em;
      background-color: #FFFFFF;
      border: 1px solid #000000;
      transform: translateY(-50%);
      transition: border-color 0.2s; }
    .form-check input[type='checkbox'] + span::after,
    .form-check input[type='radio'] + span::after {
      position: absolute;
      left: 0;
      top: 50%;
      font-size: 1.2em;
      color: #FFFFFF;
      transform: translateY(-55%); }
  .form-check input[type='checkbox']:checked + span::before,
  .form-check input[type='radio']:checked + span::before {
    background-color: #24C1ED;
    border-color: #24C1ED; }
  .form-check input[type='checkbox']:checked + span::after,
  .form-check input[type='radio']:checked + span::after {
    content: "";
    font-family: "Line Awesome Free";
    font-weight: 900; }
.form-check input[type='radio'] + span::before {
  border-radius: 100%; }

.form-select {
  display: inline-block;
  position: relative; }
  .form-select::before {
    content: "";
    font-family: "Line Awesome Free";
    font-weight: 900;
    position: absolute;
    right: 0.8em;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none; }
  .form-select select {
    width: 100%;
    padding: 0.3em 2.5em 0.2em 1.2em;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none; }

.grid-left {
  display: flex; }
  .grid-left .fixed {
    padding-right: 1.5em; }
  .grid-left .variabled {
    flex: 1; }

.grid-cards .card {
  height: 100%;
  margin-left: auto;
  margin-right: auto; }

@media (min-width: 36.0625em) {
  .grid-split > [class^='col']:first-of-type {
    padding-right: 2em; }
  .grid-split > [class^='col']:last-of-type {
    padding-left: 2em; }
  .grid-split[class*='reverse'] > [class^='col']:first-of-type {
    padding-right: 0.5em;
    padding-left: 2em; }
  .grid-split[class*='reverse'] > [class^='col']:last-of-type {
    padding-left: 0.5em;
    padding-right: 2em; } }
@media (min-width: 36.0625em) and (max-width: 48em) {
  .grid-split[class*='_sm-1'] > [class^='col'] {
    padding-left: 0.5em;
    padding-right: 0.5em; } }
.grid-steps {
  counter-reset: counterGridSteps; }
  .grid-steps .col-step-icon {
    align-self: center; }
    .grid-steps .col-step-icon::after {
      content: "";
      font-family: "Line Awesome Free";
      font-weight: 900;
      font-size: 1.8em;
      color: #C0C0C0; }
  .grid-steps .card::before {
    content: counter(counterGridSteps);
    counter-increment: counterGridSteps;
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    left: 0.5em;
    top: 0.5em;
    width: 1.5em;
    height: 1.5em;
    font-family: "Arial", "Helvetica", sans-serif;
    font-style: italic;
    color: #FFFFFF;
    background-color: #0085CD;
    border-radius: 100%; }
  @media (max-width: 64em) {
    .grid-steps {
      flex-direction: column; }
      .grid-steps .col-step-icon::after {
        content: "";
        font-family: "Line Awesome Free";
        font-weight: 900; } }

[data-dialog] {
  display: none; }
  [data-dialog][data-open] {
    display: flex; }

.dialog {
  position: fixed;
  justify-content: center;
  align-items: center;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 2000; }
  .dialog .dialog-bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); }
  .dialog .dialog-content {
    position: relative;
    max-height: 95vh;
    margin: 0 1rem;
    padding: 1rem;
    background-color: #FFFFFF; }
    .dialog .dialog-content header {
      margin-bottom: 1rem; }
      .dialog .dialog-content header h3 {
        padding: 0.3em;
        text-align: center;
        color: #FFFFFF;
        background-color: #0085CD; }
    .dialog .dialog-content .dialog-body {
      padding: 0 1em;
      overflow-y: auto;
      max-height: calc(95vh - 11rem); }
    .dialog .dialog-content .dialog-btns {
      margin-top: 1rem;
      padding-top: 1rem;
      text-align: center;
      border-top: 1px solid #D0D0D0; }
    .dialog .dialog-content.dialog-md {
      max-width: 40em; }
    .dialog .dialog-content.dialog-sm {
      max-width: 20em; }

@keyframes scroll-hint-appear {
  0% {
    transform: translateX(40px);
    opacity: 0; }
  10% {
    opacity: 1; }
  50%,
  100% {
    transform: translateX(-40px);
    opacity: 0; } }
.scroll-hint.is-right-scrollable {
  background: linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)); }

.scroll-hint.is-right-scrollable.is-left-scrollable {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)), linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)); }

.scroll-hint.is-left-scrollable {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)); }

.scroll-hint-icon {
  position: absolute;
  top: calc(50% - 25px);
  left: calc(50% - 60px);
  box-sizing: border-box;
  width: 120px;
  height: 80px;
  border-radius: 5px;
  transition: opacity .3s;
  opacity: 0;
  background: rgba(0, 0, 0, 0.7);
  text-align: center;
  padding: 20px 10px 10px 10px; }

.scroll-hint-icon-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 100%;
  pointer-events: none; }

.scroll-hint-text {
  font-size: 10px;
  color: #FFF;
  margin-top: 5px; }

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
  opacity: .8; }

.scroll-hint-icon:before {
  display: inline-block;
  width: 40px;
  height: 40px;
  color: #FFF;
  vertical-align: middle;
  text-align: center;
  content: "";
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=); }

.scroll-hint-icon:after {
  content: "";
  width: 34px;
  height: 14px;
  display: block;
  position: absolute;
  top: 10px;
  left: 50%;
  margin-left: -20px;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
  opacity: 0;
  transition-delay: 2.4s; }

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
  opacity: 1; }

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
  animation: scroll-hint-appear 1.2s linear;
  animation-iteration-count: 2; }

.scroll-hint-icon-white {
  background-color: #FFF;
  box-shadow: 0 4px 5px rgba(0, 0, 0, 0.4); }

.scroll-hint-icon-white:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=); }

.scroll-hint-icon-white:after {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==); }

.scroll-hint-icon-white .scroll-hint-text {
  color: #000; }

html,
body {
  font-size: 16px; }

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  font-family: "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", system-ui, sans-serif;
  font-weight: 500;
  color: #000000;
  background-color: #FFFFFF;
  overflow-x: hidden;
  overflow-y: scroll; }
  @media (max-width: 36em) {
    body {
      padding-bottom: 50px; } }

.container,
.container-md,
.container-sm {
  max-width: 80em;
  margin-left: auto;
  margin-right: auto;
  padding-left: 2em;
  padding-right: 2em; }

.container {
  max-width: 80em; }

.container-md {
  max-width: 64em; }

.container-sm {
  max-width: 48em; }

@media (max-width: 36em) {
  .container,
  .container-md,
  .container-sm {
    padding-left: 1em;
    padding-right: 1em; } }
#page-header {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 60px;
  background-color: #FFFFFF;
  border-bottom: 1px solid #D0D0D0;
  z-index: 1000; }
  #page-header .header-container {
    display: flex;
    align-items: center;
    height: 100%;
    padding: 0 1em; }
  #page-header a {
    display: inline-block;
    vertical-align: bottom; }
  #page-header img {
    height: 100%; }
  #page-header .header-logo a {
    height: 2em; }
  #page-header .header-sns {
    display: flex;
    align-content: center;
    margin-left: auto; }
    #page-header .header-sns a {
      display: flex;
      justify-content: center;
      align-items: center;
      align-content: center;
      width: 2.4em;
      height: 2.4em;
      background-color: #FFFFFF;
      border-radius: 100%; }
      #page-header .header-sns a:not(:last-child) {
        margin-right: 0.3em; }
      #page-header .header-sns a img {
        width: 1.5em; }
  #page-header .header-menu {
    display: none; }
    #page-header .header-menu .menu-list {
      display: flex;
      align-content: center;
      list-style: none;
      margin: 0;
      padding: 0;
      padding-top: 0.4em; }
      #page-header .header-menu .menu-list > li {
        margin-bottom: 0 !important; }
      #page-header .header-menu .menu-list a {
        display: flex;
        flex-direction: column;
        align-items: center;
        min-width: 4em;
        padding: 0.5em;
        transition: filter 0.25s; }
        #page-header .header-menu .menu-list a:hover {
          color: #0085CD;
          filter: brightness(120%); }
        #page-header .header-menu .menu-list a img,
        #page-header .header-menu .menu-list a i {
          height: 1.6rem; }
        #page-header .header-menu .menu-list a p {
          margin-top: 0.1rem;
          text-align: center;
          font-size: 0.7rem;
          font-weight: 600; }
        #page-header .header-menu .menu-list a.line-2 {
          padding-bottom: 0; }
          #page-header .header-menu .menu-list a.line-2 p {
            padding-top: 0.2rem;
            line-height: 1;
            font-size: 0.6rem; }
      #page-header .header-menu .menu-list .icon-close-schools {
        display: none; }
        #page-header .header-menu .menu-list .icon-close-schools::before {
          content: "";
          font-family: "Line Awesome Free";
          font-weight: 900;
          font-size: 1.8rem; }
      #page-header .header-menu .menu-list .icon-menu::before {
        content: "";
        font-family: "Line Awesome Free";
        font-weight: 900;
        font-size: 1.8rem; }
  @media (min-width: 48.0625em) {
    #page-header {
      height: 80px;
      background-color: rgba(255, 255, 255, 0.8);
      backdrop-filter: blur(5px); }
      #page-header .header-logo a {
        height: 2.5em; }
      #page-header .header-sns {
        padding-right: 1.5em; }
      #page-header .header-menu {
        display: block; } }
  @media (min-width: 64.0625em) {
    #page-header .header-logo a {
      height: 2.8em; } }

[data-menu-status="main"] #page-header .header-menu .menu-list .icon-menu::before {
  content: "";
  font-family: "Line Awesome Free";
  font-weight: 900; }

[data-menu-status="schools"] #page-header .header-menu .menu-list .icon-schools {
  display: none; }
[data-menu-status="schools"] #page-header .header-menu .menu-list .icon-close-schools {
  display: inline; }

#page-footer {
  margin-top: auto;
  background-color: #FFFFFF; }
  #page-footer ul {
    margin: 0;
    padding: 0;
    list-style: none; }
  #page-footer .footer-container {
    padding: 0 2em; }
  #page-footer .list-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    font-size: 1rem; }
    #page-footer .list-links > li:not(:last-child) {
      margin-right: 1.5em; }
    #page-footer .list-links > li a {
      color: #000000; }
      #page-footer .list-links > li a::before {
        content: "";
        font-family: "Line Awesome Free";
        font-weight: 900;
        margin-right: 0.2em;
        vertical-align: 0.05em;
        font-size: 80%; }
      #page-footer .list-links > li a:hover {
        color: #20A5ED; }
  #page-footer .section-links {
    padding-top: 1em;
    padding-bottom: 1em; }
  #page-footer .section-school {
    padding-top: 1em;
    padding-bottom: 1em;
    background-color: #F0F0F0; }
    #page-footer .section-school h3 {
      margin-bottom: 0.2rem;
      text-align: center;
      font-size: 1.3rem;
      font-weight: 600; }
    #page-footer .section-school .school-address {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      font-size: 0.8rem; }
    #page-footer .section-school address {
      margin-right: 1em;
      line-height: 1.6; }
  #page-footer .section-copyrights {
    padding-top: 1.5em;
    padding-bottom: 2em;
    font-family: "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
    font-size: 0.7rem;
    font-weight: normal;
    color: #FFFFFF;
    background-color: #0085CD; }
    #page-footer .section-copyrights p {
      text-align: center; }
  @media (max-width: 48em) {
    #page-footer .footer-container {
      padding: 0 1.5em; }
    #page-footer .list-links {
      justify-content: flex-start;
      font-size: 0.9rem; }
      #page-footer .list-links > li {
        flex-basis: 50%;
        margin: 0.1em 0 !important; } }
  @media (min-width: 48.0625em) {
    #page-footer .section-copyrights {
      padding-bottom: 1.5em; } }

#footer-link {
  padding-top: 1em;
  padding-bottom: 0.2em;
  background-color: #F0F0F0; }
  #footer-link ul {
    margin-bottom: 2px;
    list-style: none;
    text-align: center; }
    #footer-link ul li {
      display: inline-block;
      padding: 0; }
      #footer-link ul li:not(:last-child)::after {
        content: '';
        border-right: 1px dotted #606060;
        margin: 5px 5px 10px 10px;
        font-size: 8px;
        vertical-align: middle; }
      #footer-link ul li a {
        color: #404040;
        font-size: 12px; }
        #footer-link ul li a:hover {
          color: #3BAFDA; }

#xs-nav {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 50px;
  z-index: 1000;
  background-color: #0085CD; }
  #xs-nav .nav-list {
    display: flex;
    width: 100%;
    height: 100%;
    padding: 0;
    list-style: none; }
    #xs-nav .nav-list > li {
      flex-basis: 20%;
      height: 100%; }
      #xs-nav .nav-list > li:first-child {
        border-right: 1px solid #FFFFFF; }
      #xs-nav .nav-list > li:last-child {
        border-left: 1px solid #FFFFFF; }
    #xs-nav .nav-list a {
      display: flex;
      justify-content: center;
      align-items: center;
      align-content: center;
      flex-direction: column;
      height: 100%;
      font-size: 0.6rem;
      font-weight: 600;
      color: #FFFFFF; }
      #xs-nav .nav-list a img {
        height: 2.8em;
        padding-top: 0.5em; }
      #xs-nav .nav-list a p {
        margin-top: 0.4em;
        text-align: center; }
      #xs-nav .nav-list a.line-2 p {
        line-height: 1; }
    #xs-nav .nav-list .nav-list-menu {
      z-index: 1001; }
      #xs-nav .nav-list .nav-list-menu .nav-list-menu-main {
        display: flex;
        justify-content: center;
        align-items: center;
        align-content: center;
        width: 80px;
        height: 80px;
        margin: auto;
        background-color: #0085CD;
        border: 2px solid #FFFFFF;
        border-radius: 100%;
        transform: translateY(-15px); }
      #xs-nav .nav-list .nav-list-menu a {
        width: 66px;
        height: 66px;
        background-color: #FFFFFF;
        border-radius: 100%;
        transform: translateY(3px);
        color: #0085CD; }
        #xs-nav .nav-list .nav-list-menu a::before {
          content: "";
          font-family: "Line Awesome Free";
          font-weight: 900;
          font-size: 38px;
          transform: translateY(-3px); }

@media (min-width: 48.0625em) {
  #xs-nav {
    display: none; } }
#back-to-top {
  position: fixed;
  bottom: 30px;
  right: 1em;
  z-index: 800;
  transform: translateY(80px);
  transition: transform 0.5s;
  pointer-events: none; }
  #back-to-top a {
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    width: 3em;
    height: 3em;
    color: #0085CD;
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 100%;
    transition: color 0.25s, transform 0.25s; }
    #back-to-top a::before {
      content: "";
      font-family: "Line Awesome Free";
      font-weight: 900;
      font-size: 2rem;
      transform: rotate(180deg) translateY(-2px); }
    #back-to-top a:hover {
      color: #20A5ED;
      transform: translateY(-3px); }
  @media (max-width: 48em) {
    #back-to-top {
      bottom: 70px;
      transform: translateY(120px); } }

[data-scroll-down] #back-to-top {
  transform: translateY(0);
  pointer-events: auto; }

#page-content {
  overflow-x: hidden; }
  #page-content::before {
    content: '';
    display: block;
    width: 100%;
    background-color: #FFFFFF; }
  @media (max-width: 48em) {
    #page-content::before {
      height: 60px; } }
  @media (min-width: 48.0625em) {
    #page-content::before {
      height: 80px; } }

.section-default,
.section-condensed {
  position: relative; }
  .section-default:last-child,
  .section-condensed:last-child {
    padding-bottom: 5em; }
  @media (max-width: 36em) {
    .section-default,
    .section-condensed {
      padding-top: 3em;
      padding-bottom: 2em; }
      .section-default:last-child,
      .section-condensed:last-child {
        padding-bottom: 3em; }
      .section-default .section-label,
      .section-condensed .section-label {
        transform: translateY(-3em); } }

.section-default {
  padding-top: 4em;
  padding-bottom: 3em; }
  .section-default .section-label {
    transform: translateY(-4em); }

.section-condensed {
  padding-top: 3em;
  padding-bottom: 2em; }
  .section-condensed .section-label {
    transform: translateY(-3em); }

.section-bordered-both,
.section-bordered-top {
  border-top: 1px solid #E9E9E9; }

.section-bordered-both,
.section-bordered-bottom {
  border-bottom: 1px solid #E9E9E9; }

.section-page-header {
  padding-top: 4em;
  padding-bottom: 3em; }
  .section-page-header + .section-default:not(.padding-top-default) {
    padding-top: 0; }

.nav-menu {
  display: none;
  position: fixed;
  left: 0;
  top: 60px;
  width: 100%;
  height: calc(100% - 60px - 50px);
  z-index: 900;
  background-color: #FFFFFF; }
  .nav-menu .menu-container {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    overflow-y: auto;
    padding: 1em; }
  .nav-menu .nav-menu-close {
    display: flex;
    justify-content: center;
    padding: 1em 0 0 0; }
    .nav-menu .nav-menu-close .btn-close {
      display: flex;
      justify-content: center;
      align-items: center;
      align-content: center;
      width: 3.8rem;
      height: 3.8rem;
      color: #000000;
      background-color: #FFFFFF;
      border: none !important;
      border-radius: 100%; }
      .nav-menu .nav-menu-close .btn-close::after {
        content: "";
        font-family: "Line Awesome Free";
        font-weight: 900;
        font-size: 1.8rem; }
      .nav-menu .nav-menu-close .btn-close:hover {
        color: #0085CD; }
  @media (min-width: 48.0625em) {
    .nav-menu {
      top: 80px;
      left: auto;
      right: 0;
      width: 28em;
      height: calc(100% - 80px);
      padding-top: 0.5em; } }

.nav-menu-main .menu-container {
  padding-top: 0; }
.nav-menu-main .main-list {
  margin: 0;
  padding: 0;
  list-style: none; }
  .nav-menu-main .main-list li {
    border-bottom: 1px solid #D0D0D0; }
    .nav-menu-main .main-list li > ul {
      margin-left: 2em; }
  .nav-menu-main .main-list a,
  .nav-menu-main .main-list label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.7em 0.5em;
    font-weight: 600;
    color: #000000;
    border: none !important;
    cursor: pointer; }
    .nav-menu-main .main-list a::after,
    .nav-menu-main .main-list label::after {
      content: "";
      font-family: "Line Awesome Free";
      font-weight: 900; }
    .nav-menu-main .main-list a.item-expand::after,
    .nav-menu-main .main-list label.item-expand::after {
      content: "";
      font-family: "Line Awesome Free";
      font-weight: 900; }
  .nav-menu-main .main-list input[type='checkbox'] {
    display: none; }
    .nav-menu-main .main-list input[type='checkbox']:checked + label::after {
      content: "";
      font-family: "Line Awesome Free";
      font-weight: 900; }
    .nav-menu-main .main-list input[type='checkbox']:checked + label + .expanded-list {
      display: block;
      animation: anim-fadeIn 0.25s; }
  .nav-menu-main .main-list .expanded-list {
    display: none; }
    .nav-menu-main .main-list .expanded-list > li:last-child {
      border-bottom: none; }
@media (min-width: 48.0625em) {
  .nav-menu-main {
    background-color: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(5px); } }

[data-menu-status="main"] .nav-menu-main {
  display: block;
  animation: anim-fadeIn 0.25s; }

.nav-menu-schools {
  background-color: #EEEEEE; }
  .nav-menu-schools h2 {
    margin-bottom: 0.5em;
    text-align: center;
    font-size: 1.3rem;
    font-weight: 600; }
  .nav-menu-schools .schools-list {
    list-style: none;
    margin: 0;
    padding: 0; }
    .nav-menu-schools .schools-list a {
      display: flex;
      align-items: center;
      padding: 0.5em 0.5em 0.5em 1.5em;
      background-color: #FFFFFF;
      transition: filter 0.25s; }
      .nav-menu-schools .schools-list a::after {
        content: "";
        font-family: "Line Awesome Free";
        font-weight: 900;
        margin-left: 1rem;
        font-size: 1.6rem;
        color: #000000; }
      .nav-menu-schools .schools-list a:hover {
        filter: brightness(110%); }
      .nav-menu-schools .schools-list a img {
        vertical-align: bottom; }
    .nav-menu-schools .schools-list .school-logo {
      flex-basis: 11em; }
      .nav-menu-schools .schools-list .school-logo.school-logo-1line {
        padding-right: 1em; }
    .nav-menu-schools .schools-list .school-photo {
      flex-basis: 8vh;
      margin-left: auto; }
  @media (min-width: 48.0625em) {
    .nav-menu-schools {
      background-color: rgba(238, 238, 238, 0.9);
      backdrop-filter: blur(5px); } }

[data-menu-status="schools"] .nav-menu-schools {
  display: block;
  animation: anim-fadeIn 0.25s; }

.icon-freedial {
  margin-right: 0.5em;
  height: 1.2em;
  vertical-align: -0.2em; }

.doc-top .section-group .list-group a, .doc-top .section-enroll .list-enroll a, .doc-top .section-target-customers .list-customers a {
  display: flex;
  align-items: center;
  margin: 0 !important;
  transition: transform 0.25s, box-shadow 0.25s; }
  .doc-top .section-group .list-group a::after, .doc-top .section-enroll .list-enroll a::after, .doc-top .section-target-customers .list-customers a::after {
    content: "";
    font-family: "Line Awesome Free";
    font-weight: 900;
    font-size: 1.4rem; }
  .doc-top .section-group .list-group a:hover, .doc-top .section-enroll .list-enroll a:hover, .doc-top .section-target-customers .list-customers a:hover {
    transform: translateY(-2px);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); }

.swiper-slide a {
  margin: 0 !important;
  border: none !important; }

.swiper-button-prev,
.swiper-button-next {
  transform: translateY(-40%); }

.swiper-pagination {
  position: relative; }

.swiper-horizontal > .swiper-pagination-bullets {
  bottom: auto;
  margin-top: 0.5rem; }

.doc-top ul {
  margin: 0;
  padding: 0;
  list-style: none; }
.doc-top #page-footer {
  border-top: none; }

.section-side-fill-bg {
  background: linear-gradient(90deg, #0085CD 0, #0085CD 140px, #FFFFFF 140px, #FFFFFF 100%); }

.section-bg-for-pc {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  background: url("../../images-new/top/background/background-03-pc.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  z-index: -1; }

.doc-top .section-video {
  background-color: #FFFFFF; }
  .doc-top .section-video .video-container {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 400px;
    background-color: #FFFFFF; }
    .doc-top .section-video .video-container iframe {
      position: absolute;
      visibility: hidden;
      left: 50%;
      top: -60px;
      right: 0;
      width: 720px;
      height: 520px;
      margin: auto;
      aspect-ratio: 16 / 12;
      transform: translateX(-50%);
      border: none;
      pointer-events: none; }
    .doc-top .section-video .video-container .alt-image {
      display: none; }
  .doc-top .section-video.visible .video-container iframe {
    visibility: visible; }
  .doc-top .section-video.blocked .video-container iframe {
    display: none; }
  .doc-top .section-video.blocked .video-container .alt-image {
    display: block; }
  @media (min-width: 36.0625em) {
    .doc-top .section-video .video-container {
      aspect-ratio: 16 / 8.8;
      height: auto; }
      .doc-top .section-video .video-container iframe {
        position: relative;
        left: auto;
        top: auto;
        right: auto;
        transform: translateY(-13%);
        width: 100%;
        height: auto; } }
  @media (max-width: 36em) {
    .doc-top .section-video {
      padding-bottom: 0.5em; } }

.doc-top .section-message {
  height: 180px; }
  .doc-top .section-message .message-container {
    position: fixed;
    z-index: -1;
    left: 0;
    top: 60px;
    width: 100%;
    height: calc(100% - 60px - 50px); }
  .doc-top .section-message .message-bg {
    position: absolute;
    left: 50%;
    transform: translateX(-50%); }
  @media (max-width: 36em) {
    .doc-top .section-message .message-bg img {
      max-width: 580px;
      transform: translateY(-100px); } }
  @media (max-width: 24em) {
    .doc-top .section-message .message-bg img {
      max-width: 480px;
      transform: translateX(0px); } }
  @media (min-width: 36.0625em) {
    .doc-top .section-message {
      display: none; } }

.doc-top .section-topics .topics-title {
  position: relative; }
  .doc-top .section-topics .topics-title .title-black,
  .doc-top .section-topics .topics-title .title-white {
    display: flex;
    justify-content: center;
    padding: 4em 1em 0 1em; }
  .doc-top .section-topics .topics-title .title-black {
    position: absolute;
    width: 100%;
    background-color: #FFFFFF;
    clip-path: polygon(0 0, 100% 0, 100% 65%, 0 95%); }
  .doc-top .section-topics .topics-title .title-white {
    position: relative;
    clip-path: polygon(0 95%, 100% 65%, 100% 101%, 0 101%); }
  .doc-top .section-topics .topics-title img {
    position: relative;
    max-height: 7em; }
.doc-top .section-topics .bg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-image: linear-gradient(90deg, #D8BF17, #FF7117);
  opacity: 0.8; }
.doc-top .section-topics .topics-container {
  position: relative;
  padding: 2em 1em 0.5em 1em; }
.doc-top .section-topics .banner-carousel {
  max-width: 78em;
  margin: 0 auto; }
.doc-top .section-topics .topic {
  display: block;
  position: relative;
  background-color: #FFFFFF;
  transition: filter 0.25s;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3); }
  .doc-top .section-topics .topic .topic-caption {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    inset: 0;
    color: #000000; }
    .doc-top .section-topics .topic .topic-caption h3 {
      text-align: center;
      line-height: 1.4;
      font-size: 1.1rem;
      font-weight: 600; }
    .doc-top .section-topics .topic .topic-caption p {
      text-align: center;
      font-family: "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
      font-size: 0.9rem;
      font-weight: 600; }
    .doc-top .section-topics .topic .topic-caption a {
      border-bottom: 1px solid #0085CD !important; }
.doc-top .section-topics a.topics:hover {
  filter: brightness(105%); }
.doc-top .section-topics .swiper {
  overflow-y: visible;
  padding-bottom: 1em; }
.doc-top .section-topics .swiper-topics-controls {
  display: flex;
  justify-content: flex-end;
  position: relative;
  padding-bottom: 0.5em; }
.doc-top .section-topics .btn-swiper-topics {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  width: 3em;
  height: 3em;
  margin-left: 0.5em;
  background-color: #FFFFFF;
  border-radius: 100%;
  transition: color 0.25s;
  cursor: pointer; }
  .doc-top .section-topics .btn-swiper-topics::after {
    font-size: 2rem; }
  .doc-top .section-topics .btn-swiper-topics:hover {
    color: #0085CD; }
.doc-top .section-topics .btn-swiper-topics-prev::after {
  content: "";
  font-family: "Line Awesome Free";
  font-weight: 900; }
.doc-top .section-topics .btn-swiper-topics-next::after {
  content: "";
  font-family: "Line Awesome Free";
  font-weight: 900; }
@media (min-width: 36.0625em) {
  .doc-top .section-topics .topics-title .title-black,
  .doc-top .section-topics .topics-title .title-white {
    padding-top: 3em; } }

.doc-top .section-info .info-title {
  position: relative; }
  .doc-top .section-info .info-title .title-black,
  .doc-top .section-info .info-title .title-white {
    display: flex;
    justify-content: center;
    padding: 4em 1em 0 1em; }
  .doc-top .section-info .info-title .title-black {
    position: absolute;
    width: 100%;
    background-color: #FFFFFF;
    clip-path: polygon(0 0, 100% 0, 100% 85%, 0 85%); }
  .doc-top .section-info .info-title .title-white {
    position: relative;
    clip-path: polygon(0 85%, 100% 85%, 100% 101%, 0 101%); }
  .doc-top .section-info .info-title img {
    position: relative;
    max-height: 6.5em; }
.doc-top .section-info .bg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #505050;
  opacity: 0.8; }
.doc-top .section-info .info-container {
  position: relative;
  padding: 2em 1em; }
.doc-top .section-info .info-caption {
  position: relative;
  font-family: "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
  font-size: 0.9rem;
  font-weight: normal;
  color: #FFFFFF; }
  .doc-top .section-info .info-caption p {
    line-height: 1.4;
    text-align: center; }
.doc-top .section-info .list-info {
  position: relative;
  max-width: 78em;
  margin: 2em auto 0 auto; }
  .doc-top .section-info .list-info > li {
    position: relative; }
    .doc-top .section-info .list-info > li:not(:last-child) {
      margin-bottom: 0.5em; }
    .doc-top .section-info .list-info > li.hide-date .post-data {
      padding-top: 1em; }
    .doc-top .section-info .list-info > li.hide-date .post-date {
      display: none; }
  .doc-top .section-info .list-info .info {
    display: flex;
    min-height: 7em;
    color: #FFFFFF;
    background-color: #FFFFFF;
    border: none !important;
    transition: filter 0.25s; }
    .doc-top .section-info .list-info .info:hover {
      filter: brightness(110%); }
    .doc-top .section-info .list-info .info .post-photo {
      flex-basis: 9em;
      position: relative; }
      .doc-top .section-info .list-info .info .post-photo img {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        object-fit: cover; }
      .doc-top .section-info .list-info .info .post-photo .info-label {
        position: absolute;
        left: 0;
        bottom: 0;
        padding: 0.3em 0.6em 0.2em 0.6em;
        font-size: 0.75rem;
        background-color: rgba(0, 0, 0, 0.7); }
    .doc-top .section-info .list-info .info .post-data {
      flex: 1;
      padding: 0.5em 1em; }
      .doc-top .section-info .list-info .info .post-data .post-date {
        margin-bottom: 0.4em;
        padding-bottom: 0.1em;
        font-family: "Oswald", sans-serif;
        font-weight: normal;
        border-bottom: 1px solid #FFFFFF; }
        .doc-top .section-info .list-info .info .post-data .post-date .date-year {
          font-size: 0.8rem; }
        .doc-top .section-info .list-info .info .post-data .post-date .date-day {
          margin-left: 0.3rem;
          text-transform: capitalize;
          font-size: 1.5rem; }
        .doc-top .section-info .list-info .info .post-data .post-date .date-dow {
          margin-left: 0.3rem;
          text-transform: uppercase;
          font-size: 0.9rem; }
          .doc-top .section-info .list-info .info .post-data .post-date .date-dow::before {
            content: '/';
            margin-right: 0.3rem; }
      .doc-top .section-info .list-info .info .post-data .post-title {
        line-height: 1.4;
        font-family: "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
        font-size: 1rem;
        font-weight: normal; }
    .doc-top .section-info .list-info .info.info-elementary .post-data {
      background: linear-gradient(90deg, #0021F5 0, #34CDFE 100%); }
    .doc-top .section-info .list-info .info.info-junior .post-data {
      background: linear-gradient(90deg, #3A75DB 0, #64FAFF 100%); }
    .doc-top .section-info .list-info .info.info-high .post-data {
      background: linear-gradient(90deg, #00296A 0, #7B7FFF 100%); }
    .doc-top .section-info .list-info .info.info-art .post-data {
      background: linear-gradient(90deg, #FF6600 0, #FFEE51 100%); }
    .doc-top .section-info .list-info .info.info-corr .post-data {
      background: linear-gradient(90deg, #321DF2 0, #A2A2E9 100%); }
  .doc-top .section-info .list-info .info-additional-text {
    display: none; }
    .doc-top .section-info .list-info .info-additional-text .additional-text {
      display: flex;
      justify-content: center;
      align-items: center;
      align-content: center;
      width: 100%;
      height: 100%; }
      .doc-top .section-info .list-info .info-additional-text .additional-text img {
        width: 100%;
        transform: scale(115%); }
@media (min-width: 36.0625em) {
  .doc-top .section-info .info-title .title-black,
  .doc-top .section-info .info-title .title-white {
    padding-top: 3em; }
  .doc-top .section-info .info-caption {
    font-size: 1.1rem; }
    .doc-top .section-info .info-caption p {
      line-height: 1.6; } }
@media (min-width: 48.0625em) {
  .doc-top .section-info .info-title img {
    max-height: 7.5em; }
  .doc-top .section-info .list-info {
    display: flex; }
    .doc-top .section-info .list-info .info {
      flex-direction: column;
      height: 100%; }
      .doc-top .section-info .list-info .info .post-data {
        min-height: 7.5em; }
        .doc-top .section-info .list-info .info .post-data .post-title {
          font-size: 0.9rem; } }
@media (min-width: 48.0625em) and (max-width: 64em) {
  .doc-top .section-info .list-info {
    flex-wrap: wrap; }
    .doc-top .section-info .list-info > li {
      flex-basis: calc(100% / 3);
      margin-bottom: 1em !important; }
      .doc-top .section-info .list-info > li:not(.info-additional-text) {
        z-index: 1; }
    .doc-top .section-info .list-info .info-additional-text {
      display: block; } }
@media (min-width: 64.0625em) {
  .doc-top .section-info .list-info > li {
    flex-basis: calc(100% / 5);
    margin-bottom: 0 !important; }
  .doc-top .section-info .list-info .info .post-photo {
    flex-basis: 8em; } }

.doc-top .section-life {
  padding-top: 5em;
  padding-bottom: 1em; }
  .doc-top .section-life .life-title {
    position: relative; }
    .doc-top .section-life .life-title .title-black,
    .doc-top .section-life .life-title .title-white {
      display: flex;
      padding: 0 1em; }
    .doc-top .section-life .life-title .title-black {
      position: absolute;
      width: 100%;
      clip-path: polygon(140px 0, 100% 0, 100% 101%, 140px 101%); }
    .doc-top .section-life .life-title .title-white {
      position: relative;
      clip-path: polygon(0 0, 140px 0, 140px 101%, 0 101%); }
    .doc-top .section-life .life-title img {
      max-height: 3.1em; }
  .doc-top .section-life .instagram-title .title-black,
  .doc-top .section-life .instagram-title .title-white {
    justify-content: center; }
  .doc-top .section-life .instagram-title img {
    max-height: 2.5em; }
  .doc-top .section-life .life-caption {
    position: relative;
    margin-top: 2em;
    margin-bottom: 3em;
    padding-left: calc(140px + 1em);
    padding-right: 2em;
    font-size: 0.9rem; }
  .doc-top .section-life .instagram-container {
    max-width: 78em;
    margin: 0 auto;
    padding: 0.5em 0.5em 1em 0.5em; }
  .doc-top .section-life .list-instagram {
    display: flex;
    flex-wrap: wrap; }
    .doc-top .section-life .list-instagram > li {
      flex-basis: calc(100% / 2);
      padding: 0.2em; }
    .doc-top .section-life .list-instagram a {
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      position: relative;
      overflow: hidden;
      height: 100%;
      aspect-ratio: 1 / 1;
      padding: 1.5rem 1rem;
      color: #FFFFFF;
      border: none !important;
      transition: filter 0.25s; }
      .doc-top .section-life .list-instagram a::after {
        content: "";
        font-family: "Line Awesome Free";
        font-weight: 900;
        position: absolute;
        display: flex;
        justify-content: center;
        align-items: center;
        align-content: center;
        right: 0;
        bottom: 0;
        width: 1.5em;
        height: 1.5em;
        color: #000000;
        background-color: #FFFFFF; }
      .doc-top .section-life .list-instagram a:hover {
        filter: brightness(110%); }
      .doc-top .section-life .list-instagram a img {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.25s; }
      .doc-top .section-life .list-instagram a .gradation {
        position: absolute;
        inset: 0;
        background: linear-gradient(0deg, #000000 0, transparent 60%);
        opacity: 0.7; }
      .doc-top .section-life .list-instagram a h3,
      .doc-top .section-life .list-instagram a .post-caption {
        position: relative; }
      .doc-top .section-life .list-instagram a h3 {
        margin-bottom: 0.5em;
        font-size: 0.6rem; }
      .doc-top .section-life .list-instagram a .post-caption {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        display: box;
        box-orient: vertical;
        line-cramp: 3;
        overflow: hidden;
        line-height: 1.4;
        font-size: 0.7rem; }
        .doc-top .section-life .list-instagram a .post-caption p {
          line-height: 1.4; }
  @media (min-width: 48.0625em) {
    .doc-top .section-life {
      position: relative;
      padding-top: 3em;
      background: linear-gradient(90deg, #0085CD 0, #0085CD 30%, #FFFFFF 30%, #FFFFFF 100%); }
      .doc-top .section-life .bg-wrapper {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%; }
        .doc-top .section-life .bg-wrapper .bg {
          width: 100%;
          max-width: 78em;
          height: 100%;
          margin: 0 auto;
          background: linear-gradient(90deg, #0085CD 0, #0085CD 140px, #FFFFFF 140px, #FFFFFF 100%); }
      .doc-top .section-life .life-title-wrapper {
        display: flex;
        align-items: flex-end;
        max-width: 78em;
        margin: 0 auto 3em auto; }
      .doc-top .section-life .life-title {
        flex-basis: 20em; }
        .doc-top .section-life .life-title img {
          max-height: 4em; }
      .doc-top .section-life .life-caption {
        flex: 1;
        margin: 0;
        padding: 0 2em 0 0;
        font-size: 1rem; }
      .doc-top .section-life .instagram-title img {
        max-height: 2.5em; } }
  @media (min-width: 48.0625em) and (max-width: 64em) {
    .doc-top .section-life .list-instagram > li {
      flex-basis: calc(100% / 3); } }
  @media (min-width: 64.0625em) {
    .doc-top .section-life .life-title {
      flex-basis: 22em; }
    .doc-top .section-life .list-instagram > li {
      flex-basis: calc(100% / 6); } }

.doc-top .section-about {
  position: relative;
  border-bottom: 1px solid #0085CD; }
  .doc-top .section-about .about-bg-for-pc {
    display: none; }
  .doc-top .section-about .about-container {
    display: flex;
    margin-left: 1em;
    padding: 2em 1em;
    background-color: #FFFFFF; }
    .doc-top .section-about .about-container .about-title {
      position: relative;
      flex-basis: 70px;
      padding-right: 1em; }
      .doc-top .section-about .about-container .about-title .title-pc {
        display: none; }
    .doc-top .section-about .about-container .about-contents {
      position: relative;
      flex: 1; }
    .doc-top .section-about .about-container .about-caption {
      position: relative;
      display: none;
      flex-basis: 70px;
      padding-left: 1em; }
  .doc-top .section-about .about-links {
    position: relative;
    margin-top: 4em;
    padding: 7em 1em; }
    .doc-top .section-about .about-links .bg-mobile-image {
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .doc-top .section-about .list-about {
    position: relative; }
    .doc-top .section-about .list-about > li:not(:last-child) {
      margin-bottom: 0.5em; }
    .doc-top .section-about .list-about a {
      display: flex;
      align-items: center;
      padding: 1em;
      text-align: left;
      font-family: "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
      font-weight: 600;
      font-size: 0.9rem;
      color: #000000;
      background: rgba(255, 255, 255, 0.9);
      border: none !important;
      transition: transform 0.25s, box-shadow 0.25s; }
      .doc-top .section-about .list-about a::after {
        content: "";
        font-family: "Line Awesome Free";
        font-weight: 900;
        margin-left: auto;
        font-size: 1.4rem; }
      .doc-top .section-about .list-about a:hover {
        transform: translateY(-2px);
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); }
      .doc-top .section-about .list-about a i {
        margin-left: 0.5em;
        font-size: 0.8rem; }
        .doc-top .section-about .list-about a i::before, .doc-top .section-about .list-about a i::after {
          content: '-'; }
        .doc-top .section-about .list-about a i::before {
          margin-right: 0.2em; }
        .doc-top .section-about .list-about a i::after {
          margin-left: 0.2em; }
  @media (min-width: 48.0625em) {
    .doc-top .section-about {
      border-bottom: none; }
      .doc-top .section-about .about-bg-for-pc {
        display: block;
        position: absolute;
        overflow: hidden;
        inset: 0;
        width: 100%;
        height: 100%;
        background-color: #FFFFFF; }
        .doc-top .section-about .about-bg-for-pc img {
          position: absolute;
          max-width: none;
          left: 50%;
          transform: translateX(-50%);
          opacity: 0.4; }
      .doc-top .section-about .about-container {
        max-width: 58em;
        margin: 0 auto;
        padding: 3em 1em;
        background: none; }
        .doc-top .section-about .about-container .about-title {
          flex-basis: 90px; }
          .doc-top .section-about .about-container .about-title .title-mobile {
            display: none; }
          .doc-top .section-about .about-container .about-title .title-pc {
            display: block; }
        .doc-top .section-about .about-container .about-caption {
          display: block; }
      .doc-top .section-about .about-links {
        margin-top: 0;
        padding: 0; }
        .doc-top .section-about .about-links .bg-mobile-image {
          display: none; }
      .doc-top .section-about .list-about a {
        background-color: #FFFFFF; } }
  @media (min-width: 48.0625em) and (max-width: 64em) {
    .doc-top .section-about .about-bg-for-pc img {
      width: 1200px;
      margin-top: 0; } }
  @media (min-width: 64.0625em) {
    .doc-top .section-about .about-bg-for-pc img {
      width: 1600px;
      margin-top: -70px; } }
  @media (min-width: 1600px) {
    .doc-top .section-about .about-bg-for-pc img {
      width: 100%;
      top: 50%;
      margin: 0;
      transform: translate(-50%, -50%); } }

.doc-top .section-facilities .facilities-title {
  position: relative; }
  .doc-top .section-facilities .facilities-title .title-black,
  .doc-top .section-facilities .facilities-title .title-white {
    display: flex;
    justify-content: flex-end;
    padding: 3em 1em 0 1em; }
  .doc-top .section-facilities .facilities-title .title-black {
    position: absolute;
    width: 100%;
    background-color: #FFFFFF;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 60%); }
  .doc-top .section-facilities .facilities-title .title-white {
    position: relative;
    clip-path: polygon(0 60%, 100% 100%, 100% 101%, 0 101%); }
  .doc-top .section-facilities .facilities-title img {
    position: relative;
    max-height: 5em; }
.doc-top .section-facilities .bg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-image: linear-gradient(to right, #558DE1, #67CBE8);
  opacity: 0.8; }
.doc-top .section-facilities .facilities-container {
  position: relative;
  padding: 0 1em 1em 1em; }
.doc-top .section-facilities .list-facilities {
  display: flex;
  justify-content: center;
  list-style: none;
  max-width: 78em;
  margin: 0 auto;
  padding-top: 1em; }
  .doc-top .section-facilities .list-facilities li {
    padding: 0 0.2em; }
  .doc-top .section-facilities .list-facilities a {
    display: block;
    position: relative;
    border-bottom: none !important;
    transition: filter 0.25s; }
    .doc-top .section-facilities .list-facilities a:hover {
      filter: brightness(110%); }
    .doc-top .section-facilities .list-facilities a .gradation {
      position: absolute;
      inset: 0;
      background: linear-gradient(to top, #000000 0, transparent 60%);
      opacity: 0.7; }
    .doc-top .section-facilities .list-facilities a h3 {
      position: absolute;
      left: 0;
      bottom: 0.5em;
      width: 100%;
      text-align: center;
      font-family: "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
      font-size: 0.9rem;
      color: #FFFFFF; }
@media (min-width: 48.0625em) {
  .doc-top .section-facilities .facilities-title .title-black,
  .doc-top .section-facilities .facilities-title .title-white {
    justify-content: center; }
  .doc-top .section-facilities .facilities-title img {
    max-height: 7em; }
  .doc-top .section-facilities .facilities-container {
    padding-top: 1em;
    padding-bottom: 2em; }
  .doc-top .section-facilities .list-facilities > li {
    flex-basis: calc(100% / 2); }
    .doc-top .section-facilities .list-facilities > li:first-child {
      padding-right: 0.5em; }
    .doc-top .section-facilities .list-facilities > li:last-child {
      padding-left: 0.5em; }
  .doc-top .section-facilities .list-facilities a {
    aspect-ratio: 16 / 9;
    overflow: hidden; }
    .doc-top .section-facilities .list-facilities a img {
      position: absolute;
      transform: translateY(-10%); }
    .doc-top .section-facilities .list-facilities a h3 {
      font-size: 1.1rem;
      bottom: 1em; } }

.doc-top .section-group {
  padding: 1.5em 0;
  background-color: rgba(255, 255, 255, 0.8); }
  .doc-top .section-group .list-group {
    list-style: none;
    margin: 0 auto; }
    .doc-top .section-group .list-group > li {
      margin: 0;
      padding: 0.5em; }
    .doc-top .section-group .list-group a {
      padding: 0.5em 1em 0.5em 1.5em;
      color: #000000;
      background-color: #F7F7F7;
      border: 1px solid #E0E0E0 !important;
      border-radius: 5px; }
      .doc-top .section-group .list-group a h3 {
        font-weight: 600; }
      .doc-top .section-group .list-group a .image {
        margin-left: auto;
        margin-right: 0.5em; }
        .doc-top .section-group .list-group a .image img {
          height: 5em;
          vertical-align: bottom; }
  @media (min-width: 48.0625em) {
    .doc-top .section-group .list-group {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      max-width: 58em; }
      .doc-top .section-group .list-group > li {
        flex-basis: calc(100% / 2); } }

.doc-top .section-enroll, .doc-top .section-enroll .list-enroll {
  background-image: url("../../images-new/top/enroll/enroll-bg-01.jpg");
  background-color: rgba(255, 255, 255, 0.6);
  background-blend-mode: lighten; }

.doc-top .section-enroll {
  padding: 2em 0; }
  .doc-top .section-enroll .enroll-title {
    text-align: center; }
  .doc-top .section-enroll .list-enroll {
    list-style: none;
    margin: 0 -0.5em; }
    .doc-top .section-enroll .list-enroll > li {
      margin: 0;
      padding: 0.5em; }
    .doc-top .section-enroll .list-enroll a {
      padding: 1em;
      font-family: "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
      font-size: 1.1rem;
      font-weight: 600;
      color: #000000;
      background-color: #FFFFFF;
      border: 1px solid #E0E0E0 !important; }
      .doc-top .section-enroll .list-enroll a::after {
        margin-left: auto; }
  @media (min-width: 48.0625em) {
    .doc-top .section-enroll .enroll-title {
      padding: 1em 0; }
      .doc-top .section-enroll .enroll-title .enroll-title-pc {
        display: block; }
        .doc-top .section-enroll .enroll-title .enroll-title-pc img {
          max-height: 3.5em; }
      .doc-top .section-enroll .enroll-title .enroll-title-mobile {
        display: none; }
    .doc-top .section-enroll .list-enroll {
      display: flex;
      flex-wrap: wrap;
      background: none; }
      .doc-top .section-enroll .list-enroll > li {
        flex-basis: calc(100% / 4); } }
  @media (min-width: 48.0625em) and (max-width: 64em) {
    .doc-top .section-enroll .list-enroll > li {
      flex-basis: calc(100% / 2); } }
  @media (max-width: 48em) {
    .doc-top .section-enroll {
      display: flex;
      background: #FFFFFF; }
      .doc-top .section-enroll .container {
        flex: 1;
        padding: 0; }
      .doc-top .section-enroll .enroll-title {
        flex-basis: 6em; }
        .doc-top .section-enroll .enroll-title .enroll-title-mobile {
          display: block;
          padding: 0 0.8em; }
        .doc-top .section-enroll .enroll-title .enroll-title-pc {
          display: none; }
      .doc-top .section-enroll .list-enroll {
        margin: 0;
        padding: 2em 0.5em; } }

.doc-top .section-about-school {
  position: relative;
  padding: 3em 0 2em 0; }
  .doc-top .section-about-school .about-school-title {
    position: relative;
    margin-bottom: 2em;
    padding: 0 1em;
    text-align: center; }
    .doc-top .section-about-school .about-school-title img {
      max-height: 3.5em; }
  .doc-top .section-about-school .bg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-image: linear-gradient(to bottom, #FFFFFF 0 5em, #BEEDF3 3em, #D9F2F9 100%);
    opacity: 0.9; }
  .doc-top .section-about-school .list-about-school {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin: 0 -0.4em; }
    .doc-top .section-about-school .list-about-school > li {
      padding: 0.5em 0.4em; }
    .doc-top .section-about-school .list-about-school a {
      display: block;
      background-color: #FFFFFF;
      border: none !important;
      transition: filter 0.25s; }
      .doc-top .section-about-school .list-about-school a:hover {
        filter: brightness(110%); }
  .doc-top .section-about-school .list-about-school-main a {
    display: flex;
    margin: 0;
    background-image: linear-gradient(to right, #00296A, #7B7FFF); }
    .doc-top .section-about-school .list-about-school-main a .photo {
      flex-basis: 12em; }
      .doc-top .section-about-school .list-about-school-main a .photo img {
        object-fit: cover;
        height: 100%; }
    .doc-top .section-about-school .list-about-school-main a .caption {
      display: flex;
      flex-direction: column;
      justify-content: center;
      flex: 1;
      padding: 1em 1.5em;
      color: #FFFFFF; }
      .doc-top .section-about-school .list-about-school-main a .caption h3 {
        margin-bottom: 0.3em;
        padding-bottom: 0.3em;
        font-size: 1.2rem;
        font-weight: 600;
        border-bottom: 1px solid #FFFFFF; }
      .doc-top .section-about-school .list-about-school-main a .caption p {
        font-family: "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
        font-weight: 500;
        font-size: 0.9rem; }
  .doc-top .section-about-school .list-about-school-sub a {
    position: relative;
    margin: 0; }
    .doc-top .section-about-school .list-about-school-sub a h3 {
      position: absolute;
      left: 0;
      bottom: 0;
      padding: 0.3em 0.5em 0.2em 0.5em;
      font-size: 0.9rem;
      font-weight: 600;
      color: #002281;
      background-color: rgba(255, 255, 255, 0.8); }
  @media (min-width: 48.0625em) {
    .doc-top .section-about-school .list-about-school-main > li {
      flex-basis: calc(100% / 2); }
    .doc-top .section-about-school .list-about-school-sub > li {
      flex-basis: calc(100% / 5); } }
  @media (min-width: 48.0625em) and (max-width: 64em) {
    .doc-top .section-about-school .list-about-school-main a .photo {
      flex-basis: 8em; }
    .doc-top .section-about-school .list-about-school-sub {
      margin: 0 -0.1em; }
      .doc-top .section-about-school .list-about-school-sub > li {
        padding-left: 0.1em;
        padding-right: 0.1em; } }
  @media (max-width: 48em) {
    .doc-top .section-about-school .about-school-title img {
      max-height: 6.5em; }
    .doc-top .section-about-school .list-about-school-main a .photo {
      flex-basis: 8em; }
      .doc-top .section-about-school .list-about-school-main a .photo img {
        max-height: 12em; }
    .doc-top .section-about-school .list-about-school-sub > li {
      flex-basis: calc(100% / 2); } }

.doc-top .section-target-customers {
  padding: 2.5em 0;
  background-color: rgba(255, 255, 255, 0.8); }
  .doc-top .section-target-customers .list-customers {
    list-style: none;
    margin: 0 auto; }
    .doc-top .section-target-customers .list-customers > li {
      margin: 0 -0.5em;
      padding: 0.5em 1em; }
    .doc-top .section-target-customers .list-customers a {
      padding: 2em 1em 2em 1.5em;
      font-size: 1.1rem;
      font-weight: 600;
      color: #000000;
      background: linear-gradient(to right, #FFBC00, #FFD35A);
      border: none !important;
      border-radius: 5px; }
      .doc-top .section-target-customers .list-customers a::after {
        margin-left: auto; }
  @media (min-width: 48.0625em) {
    .doc-top .section-target-customers .target-customers-container {
      padding: 1em;
      border: 3px solid #FFD665;
      background-color: #FFFFFF; }
    .doc-top .section-target-customers .list-customers {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      max-width: 58em; }
      .doc-top .section-target-customers .list-customers > li {
        flex-basis: calc(100% / 2); } }

@media (min-width: 48.0625em) and (max-width: 64em) {
  .doc-top-high #page-header .header-logo a {
    height: 2.3em; }
  .doc-top-high #page-header .header-sns {
    padding-right: 0.5em; }
  .doc-top-high #page-header .header-menu .menu-list a {
    padding-left: 0.2em;
    padding-right: 0.2em; } }

.doc-top-high .section-topics .topics-title .title-black {
  clip-path: polygon(0 0, 100% 0, 100% 55%, 0 100%); }
.doc-top-high .section-topics .topics-title .title-white {
  clip-path: polygon(0 100%, 100% 55%, 100% 101%, 0 101%); }
.doc-top-high .section-topics .topics-title img {
  max-height: 4em; }
.doc-top-high .section-topics .bg {
  background-image: linear-gradient(90deg, #9CBAFF, #FDE3FF); }
.doc-top-high .section-life {
  padding-top: 3em;
  background-image: linear-gradient(to right, #D4ECFF, #FFFFFF); }
  .doc-top-high .section-life .life-title {
    text-align: center; }
    .doc-top-high .section-life .life-title img {
      max-height: 4.5em; }
  .doc-top-high .section-life .instagram-title {
    margin-top: 2em; }
    .doc-top-high .section-life .instagram-title img {
      max-height: 2.5em; }
.doc-top-high .section-facilities .facilities-title .title-black,
.doc-top-high .section-facilities .facilities-title .title-white {
  justify-content: center; }
.doc-top-high .section-facilities .facilities-title img {
  max-height: 4em; }
.doc-top-high .section-facilities .bg {
  background-image: linear-gradient(to right, #FDE3FF, #9CBAFF); }
.doc-top-high .nav-menu-schools .school-high {
  display: none; }
