@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@400;500&display=swap");
@media (max-width: 900px) {
  .pc {
    display: none !important;
  }
}
.tab {
  display: none;
}

@media (max-width: 1024px) {
  .tab {
    display: block;
  }
}
.tab-ver {
  display: none;
}

@media (max-width: 768px) {
  .above-tab {
    display: none !important;
  }

  .tab-ver {
    display: none;
  }
}
.sp {
  display: none;
}

.above-sp {
  display: block;
}

@media (max-width: 599px) {
  .above-sp {
    display: none !important;
  }

  .sp {
    display: block !important;
  }
}
.txt-black {
  color: #3e3e3e;
}

.txt-white {
  color: #fff;
}

.txt-pink-lite {
  color: #ffc4d5;
}

.txt-pink-med {
  color: #ff7b9f;
}

.txt-pink-dark {
  color: #d85482;
}

.txt-blue-med {
  color: #29b4ca;
}

.txt-blue-dark {
  color: #0d98ad;
}

.txt-yellow-lite {
  color: #fffad1;
}

.txt-yellow-med {
  color: #fff395;
}

.txt-yellow-dark {
  color: #ffea40;
}

.txt-red {
  color: #ff0000;
}

.block {
  display: block;
}

.btn {
  display: block;
  height: 75px;
  padding: 4px;
  position: relative;
  text-align: center;
  color: #fff;
}
.btn__inner {
  border: 1px solid rgba(255, 255, 255, 0.8);
}
.btn--hover-down {
  position: relative;
  top: 0;
}
.btn--hover-down:hover {
  top: 5px;
}
.btn--blue-med {
  background-color: #29b4ca;
}
.btn--pink {
  background-color: #ff7b9f;
}
.btn--blueGrad {
  background: linear-gradient(#53D9EF, #29b4ca);
  transition: top 0.3s ease-in-out;
}
.btn--blueGrad:hover {
  background: #1FA1B5;
  top: 5px;
}
.btn--pinkGrad {
  -webkit-box-shadow: -1px 2px 19px -1px rgba(0, 0, 0, 0.1);
  box-shadow: -1px 2px 19px -1px rgba(0, 0, 0, 0.1);
  background: linear-gradient(#FF9BB6, #FF6A93);
  top: 0;
  transition: top 0.3s ease-in-out;
}
.btn--pinkGrad:hover {
  background: #FF648E;
  top: 5px;
}
.btn--arrow span.arrow-placer {
  position: relative;
}
.btn--arrow span.arrow-placer::after {
  transition: all 0.3s ease-in-out;
  content: url(../img/arrow-white.png);
  position: absolute;
  top: -25%;
  right: -40px;
}
.btn--arrow:hover span.arrow-placer::after {
  right: -50px;
}
.btn__inner {
  display: inline-block;
  width: 100%;
  height: 100%;
  border: 1px solid rgba(255, 255, 255, 0.6);
}
.btn--insta {
  width: 75px;
  transition: all 0.3s ease-in-out;
}
.btn--insta span {
  display: block;
  background-image: url(../img/icon-insta.png);
  background-repeat: no-repeat;
  background-position: center;
}
.btn--insta:hover {
  background-color: #14ADC6;
}
.btn--shiryo {
  width: 319px;
  font-size: 1.375rem;
  font-weight: bold;
  font-family: "Noto Sans JP", sans-serif;
}
.btn--shiryo > span {
  transition: all 0.3s ease-in-out;
  padding: 15px 0;
  text-align: center;
}
.btn--shiryo > span::before {
  content: url(../img/icon-mail.png);
  position: relative;
  right: 14px;
  top: 4px;
}
@media (max-width: 900px) {
  .btn--shiryo > span::before {
    right: 0;
  }
}
.btn--shiryo > span::after {
  transition: all 0.3s ease-in-out;
  content: url(../img/arrow-white-short.png);
  position: absolute;
  top: 16%;
  right: 5%;
  opacity: 0;
}
.btn--shiryo > span span {
  transition: all 0.3s ease-in-out;
}
.btn--shiryo:hover {
  background-color: #FF648E;
}
.btn--shiryo:hover > span span {
  margin-right: 25px;
}
.btn--shiryo:hover > span::after {
  opacity: 1;
}
.btn--shiryo-body {
  max-width: 600px;
  width: 95%;
  margin: 0 auto 30px;
  position: relative;
  font-size: 1.75rem;
  font-weight: 700;
}
.btn--shiryo-body .btn__inner {
  font: 700 1.75rem "Noto Sans JP", sans-serif;
  padding-top: 11px;
}
.btn--kengaku-body .btn__inner {
  font: 700 1.75rem "Noto Sans JP", sans-serif;
  padding-top: 11px;
}
.btn--kengaku-body:nth-last-child(2) {
  max-width: 663px;
  margin: 0 auto 25px;
}
.btn--kengaku-body:nth-last-child(1) {
  max-width: 663px;
  margin: 0 auto 25px;
}
@media (max-width: 768px) {
  .btn--shiryo-body .btn__inner {
    font-size: 1.25rem;
  }
  .btn--kengaku-body .btn__inner {
    font-size: 1.25rem;
    padding-top: 17px;
  }
}
@media (max-width: 599px) {
  .btn--shiryo-body .btn__inner {
    font-size: 1.125rem;
    padding-top: 18px;
  }
  .btn--shiryo-body .btn__inner .arrow-placer::after {
    content: none;
  }
  .btn__inner.btn__inner--sp-line-break {
    padding-top: 3px;
  }
  .btn__inner.btn__inner--sp-line-break span.arrow-placer::after {
    top: 10px;
    right: -70px;
  }
}

.highlight {
  position: relative;
  display: inline-block;
  z-index: 1;
}
.highlight::after {
  display: block;
  position: relative;
  height: 18px;
  content: "";
  width: 105%;
  top: -19px;
  z-index: -1;
  padding: 0 25px;
  left: -2.5%;
}
.highlight--large::after {
  height: 19px;
  top: -19px;
}
.highlight--med-large::after {
  height: 15px;
  top: -6px;
  width: 100%;
  left: 0%;
}
.highlight--med::after {
  height: 12px;
  top: -12px;
  width: 100%;
  left: 0%;
}
.highlight--small::after {
  height: 10px;
  top: -5px;
  width: 100%;
  left: 0%;
}
.highlight--yellow-lite::after {
  background-color: #fffad1;
}
.highlight--yellow-med::after {
  background-color: #fff395;
}
.highlight--pink-liter::after {
  background-color: #fff7f9;
}

.underline {
  position: relative;
  display: inline-block;
}
.underline::after {
  display: block;
  background-color: #ff7b9f;
  height: 2px;
  width: 100%;
  content: "";
}
.underline--pink-liter::after {
  background-color: #fff7f9;
  height: 4px;
}
.underline--pink-dotted::after {
  background: repeat-x url(../img/bg-dotted-line-pink.png);
}
.underline--blue-dotted::after {
  background: repeat-x url(../img/bg-dotted-line-blue.png);
}

.numbered {
  position: relative;
}
.numbered::before {
  display: inline-block;
  position: absolute;
  left: 0;
  top: -5px;
  background: no-repeat top 5px left url(../img/shape-triangle-yellow-lite.png);
}
.numbered--pink::before {
  padding: 0px 0 0 10px;
}
.numbered--pink.numbered--one::before {
  content: url(../img/pic-one-pink.png);
}
.numbered--pink.numbered--two::before {
  content: url(../img/pic-two-pink.png);
}
.numbered--pink.numbered--three::before {
  content: url(../img/pic-three-pink.png);
}
.numbered--pink.numbered--four::before {
  content: url(../img/pic-four-pink.png);
}
.numbered--pink.numbered--five::before {
  content: url(../img/pic-five-pink.png);
}
.numbered--blue::before {
  padding: 10px 0 0 25px;
}
.numbered--blue.numbered--one::before {
  content: url(../img/pic-one-blue.png);
}
.numbered--blue.numbered--two::before {
  content: url(../img/pic-two-blue.png);
}
.numbered--blue.numbered--three::before {
  content: url(../img/pic-three-blue.png);
}
.numbered--blue.numbered--four::before {
  content: url(../img/pic-four-blue.png);
}
.numbered--blue.numbered--five::before {
  content: url(../img/pic-five-blue.png);
}
@media (max-width: 599px) {
  .numbered::before {
    padding: 0 0 0 0px;
  }
}

/*! HTML5 Boilerplate v8.0.0 | MIT License | https://html5boilerplate.com/ */
/* main.css 2.1.0 | MIT License | https://github.com/h5bp/main.css#readme */
/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */
/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */
html {
  color: #3e3e3e;
  font-size: 1em;
  line-height: 1.4;
  font-family: "Noto Sans JP", sans-serif;
  width: 100vw;
  overflow: auto;
  line-height: 1.6;
  word-break: break-word;
  letter-spacing: 0.1px;
  max-width: 100%;
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Vendor-prefixed and regular ::selection selectors cannot be combined:
 * https://stackoverflow.com/a/16982510/7133471
 *
 * Customize the background color to match your design.
 */
::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */
fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */
textarea {
  resize: vertical;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */
/* ==========================================================================
   Helper classes
   ========================================================================== */
/*
 * Hide visually and from screen readers
 */
.hidden,
[hidden] {
  display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */
.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  /* 1 */
}

/*
 * Extends the .sr-only class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */
.sr-only.focusable:active,
.sr-only.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: inherit;
  width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */
.invisible {
  visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */
.clearfix::before,
.clearfix::after {
  content: " ";
  display: table;
}

.clearfix::after {
  clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */
@media only screen and (min-width: 35em) {
  /* Style adjustments for viewports that meet the condition */
}
@media print, (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 1.25dppx), (min-resolution: 120dpi) {
  /* Style adjustments for high resolution devices */
}
/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */
@media print {
  *,
*::before,
*::after {
    background: #fff !important;
    color: #000 !important;
    /* Black prints faster */
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
a:visited {
    text-decoration: underline;
  }

  a[href]::after {
    content: " (" attr(href) ")";
  }

  abbr[title]::after {
    content: " (" attr(title) ")";
  }

  /*
   * Don't show links that are fragment identifiers,
   * or use the `javascript:` pseudo protocol
   */
  a[href^="#"]::after,
a[href^="javascript:"]::after {
    content: "";
  }

  pre {
    white-space: pre-wrap !important;
  }

  pre,
blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  /*
   * Printing Tables:
   * https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables
   */
  thead {
    display: table-header-group;
  }

  tr,
img {
    page-break-inside: avoid;
  }

  p,
h2,
h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
h3 {
    page-break-after: avoid;
  }
}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  -webkit-text-size-adjust: 100%;
  /* 2 */
  box-sizing: border-box;
}

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

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
  max-width: 100%;
  height: auto;
  min-width: 0;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

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

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

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

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

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

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

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

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

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

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

body {
  overflow: hidden;
}

main {
  margin-top: 95px;
}

.ogaki-hdr {
  height: 75px;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0;
  position: fixed;
  z-index: 100;
  background-color: #fff;
}
.ogaki-hdr__logo {
  max-width: 270px;
  margin-left: 3vw;
  width: 54%;
}
.ogaki-hdr__links {
  display: flex;
  justify-content: flex-end;
  max-width: 394px;
  width: 38%;
}
.ogaki-hdr .btn {
  display: inline-block;
}
@media (max-width: 900px) {
  .ogaki-hdr .btn {
    width: 50%;
  }
}

.fv {
  width: 95vw;
  display: block;
  margin: 0 auto 55px;
  background: center/cover url(../img/bg-fv.jpg) no-repeat;
  height: 580px;
  position: relative;
}
.fv__text-bubble {
  text-align: center;
  max-width: 604px;
  margin: 0 auto;
  min-height: 304px;
}
.fv__text-bubble img:nth-child(1) {
  position: absolute;
  left: 50%;
  transform: translatex(-50%);
  top: -1px;
}
.fv__text-bubble img:nth-child(2) {
  position: relative;
  top: -15px;
  width: 70%;
  max-width: 395px;
}
.fv__character {
  margin: 0 auto;
  display: block;
  position: relative;
  max-width: 650px;
}
.fv__character img {
  position: absolute;
}
.fv__character img:nth-child(1) {
  top: 62px;
}
.fv__character img:nth-child(2) {
  top: 26px;
  left: 100px;
}
.fv__character img:nth-child(3) {
  top: 97px;
  left: 160px;
}
.fv__btm {
  text-align: center;
  min-height: 62px;
  width: 100%;
  background: url(../img/bg-pink-diagonal.png);
  font: 1.5rem "Noto Serif JP", serif;
  padding: 12px 0;
  position: absolute;
  bottom: -47px;
}
.fv__under-txt {
  margin: 0 auto 17px;
  padding-top: 20px;
  text-align: center;
  font: 2.125rem "Noto Serif JP", serif;
  position: relative;
}
.fv__under-txt::after {
  content: url(../img/arrow-down.png);
  position: absolute;
  display: block;
  left: 50%;
  transform: translatex(-50%);
}
@media (max-width: 1024px) {
  .fv {
    background-image: url(../img/bg-fv--sp.jpg);
  }
}
@media (max-width: 599px) {
  .fv {
    height: 509px;
  }
  .fv__text-bubble {
    min-height: auto;
  }
  .fv__character {
    text-align: center;
    width: 50vw;
    margin: 0 auto;
    transform: translatex(-45vw);
    bottom: 20px;
    position: absolute;
    left: 50vw;
  }
  .fv__character img {
    position: relative;
    max-width: 80vw;
  }
  .fv__character img:nth-child(1) {
    bottom: 10px;
    top: auto;
    position: absolute;
    left: -5%;
  }
  .fv__character img:nth-child(2) {
    top: -110px;
    max-width: 330px;
    left: 55px;
    width: 70vw;
  }
  .fv__character img:nth-child(3) {
    top: -90px;
    max-width: 330px;
    left: 55px;
    width: 70vw;
  }
  .fv__under-txt {
    font-size: 1.75rem;
  }
}

.data-shinro {
  background: #fff7f9;
  padding: 65px 0;
}

.data {
  max-width: 95vw;
  margin: 0 auto 145px;
}
.data__graphs {
  display: flex;
  justify-content: space-around;
  flex-flow: row;
  width: 95vw;
  max-width: 940px;
  margin: 0 auto 5vh;
  text-align: center;
}
.data__graphs img {
  flex: 0 1 45%;
  width: 45%;
}
.data__explain {
  font-size: 0.875rem;
  text-align: center;
}
@media (max-width: 599px) {
  .data__graphs {
    flex-flow: row wrap;
  }
  .data__graphs img {
    flex: 1 0 100%;
  }
}

.shinro {
  position: relative;
  padding-bottom: 95px;
}
.shinrobg {
  background-image: url(../img/bg-dots.png);
  height: 412px;
  position: absolute;
  top: 17%;
  width: 100%;
}

.merits {
  max-width: 905px;
  width: 95vw;
  margin: 0 auto 40px;
  background-color: #fff;
  padding: 2vw 5vw 1px;
  position: relative;
  -webkit-box-shadow: -1px 2px 19px -1px rgba(199, 20, 69, 0.16);
  box-shadow: -1px 2px 19px -1px rgba(199, 20, 69, 0.16);
}
@media (min-width: 1225px) {
  .merits {
    padding: 2vw 40px 1px;
  }
}
.merits__bubble {
  position: absolute;
  top: calc(-20px - 9vh);
  left: 50%;
  transform: translateX(-50%);
  max-width: 570px;
  width: 95vw;
}
.merits__lead {
  text-align: center;
}
.merits__lead h2 {
  font: 500 2.125rem "Noto Serif JP", serif;
  margin: 40px 0 0;
}
.merits__lead p {
  font: 500 1.5rem "Noto Serif JP", serif;
  letter-spacing: 0.5px;
  margin: 0px 0 60px;
}
.merits__reason {
  margin-bottom: 65px;
}
.merits__reason h3 {
  line-height: 1.2;
  font-size: 1.25rem;
}
.merits__reason h3::before {
  background-color: #ff7b9f;
  border-radius: 10px;
  color: #fff;
  position: relative;
  display: inline-block;
  font-size: 1.25rem;
  padding: 3px 12px 6px;
  margin-right: 21px;
}
.merits__reason--first h3::before {
  content: "メリット１";
}
.merits__reason--second h3 span {
  margin-left: 144px;
}
.merits__reason--second h3::before {
  content: "メリット２";
}
.merits__reason p {
  font-size: 0.875rem;
  line-height: 1.6;
}
@media (max-width: 599px) {
  .merits__reason--second h3 span {
    margin-left: 0;
  }
  .merits__reason h3::before {
    display: block;
    max-width: 125px;
    margin-bottom: 8px;
  }
}
@media (max-width: 768px) {
  .merits__lead h2 {
    margin-top: 40px;
  }
}
@media (max-width: 599px) {
  .merits {
    padding: 2vh 2vw 1px;
  }
  .merits__lead h2 {
    font-size: 1.625rem;
  }
  .merits__lead p {
    font-size: 1.375rem;
  }
}

.chance {
  background-color: #fff;
  position: relative;
  text-align: center;
  padding-bottom: 135px;
}
.chance-diagonal::before {
  content: "";
  display: block;
  width: 110%;
  height: 270px;
  background-color: #fff;
  transform: skew(0deg, -7deg);
  z-index: 0;
  position: absolute;
  top: -87px;
  left: -10%;
}
.chance-diagonal::after {
  content: url(../img/arrow-dots-down.png);
  position: absolute;
  top: -160px;
  left: 50%;
  transform: translatex(-50%);
}
.chance__chance-txt {
  position: relative;
  z-index: 2;
  max-width: 95vw;
  margin: 0 auto;
}
.chance__chance-txt h3 {
  position: relative;
  z-index: 5;
  font: 500 2.125rem "Noto Serif JP", serif;
  border: 1px solid #ff7b9f;
  display: inline-block;
  padding: 7px 35px 10px;
  margin: 0 auto 50px;
  transform: skew(-23deg, 0deg);
  -webkit-box-shadow: 9px 7px 0px 0px rgba(255, 214, 225, 0.85);
  box-shadow: 9px 7px 0px 0px rgba(255, 214, 225, 0.85);
}
.chance__chance-txt h3 .straighten {
  display: block;
}
.chance__chance-txt h3 .txt-pink-med {
  font-size: 2.375rem;
}
.chance__chance-txt h3::before {
  content: url(../img/txt-chance.png);
  position: absolute;
  left: -148px;
  top: -100px;
}
.chance__chance-txt h3::after {
  content: url(../img/blue-lines.png);
  position: absolute;
  left: -70px;
  top: 50px;
}
.chance__chance-txt--straighten, .chance__chance-txt--straighten *, .chance__chance-txt--straighten::after, .chance__chance-txt--straighten::before {
  transform: skew(23deg, 0deg);
}
.chance__chance-txt p {
  display: inline-block;
  font-size: 1.25rem;
  line-height: 1.6;
  position: relative;
  margin: 0;
}
.chance__chance-txt p .highlight {
  font-weight: 700;
}
.chance__chance-txt p::after {
  content: url(../img/ph-chance.png);
  position: absolute;
  bottom: 0;
  z-index: 5;
  right: -135px;
}
@media (max-width: 900px) {
  .chance__chance-txt p::after {
    display: none;
  }
}
@media (max-width: 1024px) {
  .chance p::after {
    display: none;
  }
}
@media (max-width: 768px) {
  .chance__chance-txt h3 {
    max-width: 85vw;
  }
  .chance__chance-txt h3::before {
    left: -11vw;
  }
  .chance__chance-txt h3 .txt-pink-med {
    display: block;
    transform: none;
  }
}
@media (max-width: 599px) {
  .chance {
    padding-bottom: 5vh;
  }
  .chance__chance-txt h3 {
    font-size: 1.375rem;
    padding: 7px 20px 10px;
    max-width: 95%;
  }
  .chance__chance-txt h3 .txt-pink-med {
    font-size: 1.5rem;
  }
  .chance__chance-txt h3::before {
    position: absolute;
    left: -20vw;
    top: -95px;
    transform: skew(23deg, 0deg) scale(0.6);
  }
  .chance__chance-txt h3::after {
    left: -40px;
    top: 15px;
  }
  .chance__chance-txt p {
    font-size: 1.0625rem;
  }
  .chance__chance-txt p::after {
    display: none;
  }
  .chance__chance-txt p .highlight {
    margin-bottom: -10px;
  }
}
@media screen and (max-width: 350px) {
  .chance__chance-txt h3 {
    font-size: 1.125rem;
  }
}

.brd-section {
  width: 100%;
  min-height: 148px;
  text-align: center;
  font-size: 2.125rem;
}
.brd-section h4 {
  font-weight: 500;
  line-height: 1.3;
}
.brd-section h4 span {
  font-weight: 700;
}
.brd-section--pink {
  border-top: 2px solid #ff7b9f;
  background: url(../img/bg-pink-diagonal.png);
}
@media (min-width: 1225px) {
  .brd-section--pink {
    padding-top: 10px;
  }
}
.brd-section__before {
  margin: 0;
  padding: 5px 0;
}
.brd-section--blue {
  border-top: 2px solid #29b4ca;
  background: url(../img/bg-blue-diagonal.png);
}
.brd-section__before--blue {
  margin: 20px 0 0 0;
}
.brd-section--first-border {
  margin-bottom: 60px;
}
.brd-section--character {
  position: relative;
}
.brd-section--character::before {
  content: url(../img/character-brd.png);
  position: absolute;
  top: -25px;
  right: -110px;
}
@media (max-width: 1024px) {
  .brd-section__before--extra-tab-padding {
    padding-bottom: 20px;
  }
  .brd-section--character::before {
    transform: scale(0.8);
    right: -8vw;
    top: 0;
  }
  .brd-section--first-border h4 {
    margin: 3vw 0;
  }
}
@media (max-width: 768px) {
  .brd-section--character::before {
    display: none;
  }
}
@media (max-width: 599px) {
  .brd-section {
    font-size: 1.375rem;
    padding: 0 15px 1px;
    min-height: auto;
  }
  .brd-section h4 {
    margin: 10px 0;
  }
}

.about-medical {
  text-align: center;
  margin: 0 auto;
}
.about-medical__head-txt {
  font-size: 0.875rem;
}
.about-medical__head-txt--big {
  font-size: 1.25rem;
}
.about-medical__lead {
  position: relative;
  background-color: #fff7f9;
  width: 95vw;
  max-width: 1090px;
  margin: 90px auto 45px;
  padding: 10px 0;
}
.about-medical__lead::before {
  content: url(../img/txt-about_medical-lead.png);
  position: absolute;
  top: -42px;
  left: 50%;
  transform: translatex(-50%);
}
.about-medical__lead::after {
  content: url(../img/ph-about_medical.png);
  position: absolute;
  bottom: 0;
  right: 0;
}
.about-medical__lead-txt {
  font: 2.125rem "Noto Serif JP", serif;
  z-index: 2;
  position: relative;
}
.about-medical__lead-txt--bold {
  font-weight: 700;
}
.about-medical__graph {
  position: relative;
  margin-bottom: 130px;
}
.about-medical__graph::after {
  content: url(../img/arrow-dots-down.png);
  position: absolute;
  left: calc(50vw + 15px);
  bottom: -120px;
  z-index: 1;
}
@media (max-width: 900px) {
  .about-medical__lead-txt {
    font-size: 1.5rem;
  }
}
@media (max-width: 599px) {
  .about-medical {
    max-width: 95vw;
  }
  .about-medical__lead {
    margin: 90px auto 40px;
  }
  .about-medical__lead::before {
    transform: translatex(-50%) scale(0.75);
  }
  .about-medical__lead::after {
    display: none;
  }
  .about-medical__lead-txt--bold {
    display: block;
  }
  .about-medical__graph {
    width: 100%;
    overflow-x: scroll;
    height: 330px;
    margin-bottom: 80px;
  }
  .about-medical__graph img {
    width: auto;
    height: 100%;
    max-width: initial;
    margin: 0;
    padding: 0;
  }
  .about-medical__graph::after {
    display: none;
  }
}

.about-recommend {
  -webkit-box-shadow: -1px 2px 19px -1px rgba(199, 20, 69, 0.16);
  box-shadow: -1px 2px 19px -1px rgba(199, 20, 69, 0.16);
  width: 95vw;
  max-width: 1090px;
  margin: -30px auto 70px;
  padding: 55px 0 44px 276px;
  position: relative;
  background: no-repeat left url(../img/bg-recommend.jpg);
  text-align: left;
  background-color: #fff;
}
.about-recommend-container {
  position: relative;
}
.about-recommend__bg {
  background: url(../img/bg-dots.png);
  position: absolute;
  height: 305px;
  width: 100%;
  z-index: 0;
  top: 16%;
}
.about-recommend__lead-txt {
  background-color: #ffc4d5;
  display: inline-block;
  font: 2.125rem "Noto Serif JP", serif;
  margin: 0 0 20px 7px;
  padding: 8px 65px 12px 35px;
  clip-path: polygon(0 0, 100% 0, 93% 100%, 0% 100%);
  position: relative;
  z-index: 2;
}
.about-recommend__main-txt {
  font-size: 0.875rem;
  letter-spacing: 0em;
  line-height: 1.8;
  margin-left: 80px;
  max-width: 536px;
  position: relative;
  z-index: 2;
}
.about-recommend::before {
  content: url(../img/ph-recommend-round.png);
  position: absolute;
  top: -65px;
  right: 10px;
}
.about-recommend::after {
  content: url(../img/pic-tooth_and_brush.png);
  position: absolute;
  right: 40px;
  bottom: -65px;
}
@media (max-width: 1024px) {
  .about-recommend::before {
    display: none;
  }
}
@media (max-width: 900px) {
  .about-recommend {
    padding-left: 20%;
    background-position-x: -70px;
  }
}
@media (max-width: 599px) {
  .about-recommend {
    padding: 0;
    background-position: right;
    background-size: cover;
  }
  .about-recommend__txt-bg {
    padding: 0 0 50px 0;
    height: 100%;
    width: 100%;
    display: block;
    background: rgba(255, 255, 255, 0.7);
  }
  .about-recommend__lead-txt {
    font-size: 1.25rem;
    margin: 0 0 20px 0px;
    padding: 8px 44px 12px 15px;
  }
  .about-recommend__main-txt {
    margin-left: 5px;
  }
  .about-recommend::after {
    transform: scale(0.8);
  }
}

@media (max-width: 599px) {
  .about-recommend-container::before {
    content: url(../img/arrow-dots-down.png);
    position: relative;
    top: -65px;
  }
}
.senpai-voice {
  background: url(../img/bg-grid-pink.png);
  margin-top: 10px;
  padding: 55px 0;
}
.senpai-voice .senpai-single {
  max-width: 1090px;
  width: 95vw;
  margin: 0 auto 70px;
  display: flex;
  justify-content: space-between;
  flex-flow: row;
}
.senpai-voice .senpai-single__bio {
  display: flex;
  justify-content: flex-start;
  flex-flow: column;
  flex: 0 1 213px;
  text-align: center;
  font-size: 1.25rem;
}
.senpai-voice .senpai-single__bio span {
  display: block;
}
.senpai-voice .senpai-single__bio img {
  margin-bottom: 17px;
  max-width: 40vw;
}
.senpai-voice .senpai-single__bio .prefecture {
  border-bottom: 1px solid #ff7b9f;
  width: 90%;
  margin: 0 auto 11px;
  padding-bottom: 11px;
}
.senpai-voice .senpai-single__bio .year {
  font-weight: bold;
  margin-bottom: 4px;
}
.senpai-voice .senpai-single__bio .job {
  font-size: 1.125rem;
}
.senpai-voice .senpai-single__bio--right {
  order: 2;
}
.senpai-voice .senpai-single__answers {
  -webkit-box-shadow: -1px 2px 19px -1px rgba(199, 20, 69, 0.16);
  box-shadow: -1px 2px 19px -1px rgba(199, 20, 69, 0.16);
  flex: 0 1 75%;
  max-width: 812px;
  background-color: #fff;
  padding: 50px 6%;
  position: relative;
  letter-spacing: 0.1px;
}
.senpai-voice .senpai-single__answers h4 {
  font-size: 1.25rem;
  font-weight: 400;
  margin: 0 0 10px 0;
  position: relative;
}
.senpai-voice .senpai-single__answers h4::before {
  content: "";
  background-color: #ffc4d5;
  position: absolute;
  left: -25px;
  top: 9px;
  width: 16px;
  height: 16px;
}
.senpai-voice .senpai-single__answers p {
  font-size: 0.875rem;
  line-height: 1.8;
}
.senpai-voice .senpai-single__answers::before {
  content: url(../img/shape-triangle-white.png);
  position: absolute;
}
.senpai-voice .senpai-single__answers--right::before {
  left: -54px;
}
.senpai-voice .senpai-single__answers--left::before {
  transform: scale(-1, 1);
  right: -54px;
}
.senpai-voice .senpai-single:last-child {
  margin-bottom: 0;
}
@media (max-width: 1024px) {
  .senpai-voice .senpai-single__answers {
    flex: 0 1 70%;
  }
}
@media (max-width: 768px) {
  .senpai-voice .senpai-single__answers::before {
    display: none;
  }
}
@media (max-width: 599px) {
  .senpai-voice .senpai-single {
    flex-flow: row wrap;
  }
  .senpai-voice .senpai-single__bio {
    flex: 1 0 100%;
    flex-flow: row;
    max-height: 215px;
    align-items: center;
    justify-content: center;
    gap: 3vw;
  }
  .senpai-voice .senpai-single__bio img {
    max-width: 4０vw;
  }
  .senpai-voice .senpai-single__answers {
    padding: 20px 4%;
    order: 2;
    flex: 1;
  }
  .senpai-voice .senpai-single__answers::before {
    display: none;
  }
  .senpai-voice .senpai-single__answers h4 {
    font-size: 1.125rem;
    padding-left: 10px;
  }
  .senpai-voice .senpai-single__answers h4::before {
    top: 10px;
    left: -7px;
    width: 12px;
    height: 12px;
  }
  .senpai-voice .senpai-single__answers p {
    margin: 5px auto 25px;
  }
}

.shiryo-request {
  background-color: #fff7f9;
  position: relative;
  padding: 75px 0;
}
.shiryo-request__bg {
  background: url(../img/bg-dots.png);
  height: 412px;
  position: absolute;
  top: 24%;
  width: 100%;
}
.shiryo-request--2 {
  position: relative;
  padding: 0;
  background-color: transparent;
  z-index: 10;
}
@media (max-width: 768px) {
  .shiryo-request--2 .shiryo-contents__lead::before {
    right: -70px;
  }
}

.shiryo-contents {
  -webkit-box-shadow: -1px 2px 19px -1px rgba(199, 20, 69, 0.16);
  box-shadow: -1px 2px 19px -1px rgba(199, 20, 69, 0.16);
  background-color: #fff;
  border: 1px solid #ff7b9f;
  max-width: 1090px;
  width: 95vw;
  margin: 0 auto;
  padding: 0 20px 15px;
  position: relative;
}
.shiryo-contents--center {
  display: flex;
  justify-content: center;
  flex-flow: row wrap;
  align-items: center;
  margin: 0 auto 32px;
  gap: 25px;
}
.shiryo-contents__lead {
  flex: 1 0 100%;
  font: 2.125rem "Noto Serif JP", serif;
  text-align: center;
  position: relative;
  display: inline-block;
  left: 50%;
  transform: translateX(-50%);
}
.shiryo-contents__lead::before {
  content: url(../img/pic-book.png);
  position: absolute;
  right: -70px;
  top: -55px;
}
.shiryo-contents__txt {
  flex: 1;
}
.shiryo-contents__txt h5 {
  font-size: 1.25rem;
  font-weight: 400;
  margin-bottom: 0;
  line-height: 0.8;
}
.shiryo-contents__txt p {
  line-height: 1.6;
  position: relative;
  padding-left: 12px;
}
.shiryo-contents__txt p::before {
  background-color: #ffc4d5;
  content: "";
  height: 11px;
  width: 11px;
  position: absolute;
  left: -7px;
  top: 9px;
}
@media (max-width: 1024px) {
  .shiryo-contents__lead {
    font-size: 1.5rem;
    margin-top: 40px;
  }
}
@media (max-width: 900px) {
  .shiryo-contents--center {
    justify-content: center;
  }
  .shiryo-contents img {
    flex: 1 0 100%;
    max-width: 608px;
  }
  .shiryo-contents__txt {
    flex: 0 1 70%;
  }
}
@media (max-width: 768px) {
  .shiryo-contents__lead::before {
    right: -30px;
    top: -70px;
  }
}
@media (max-width: 599px) {
  .shiryo-contents__txt {
    flex: 1 0 100%;
  }
  .shiryo-contents__txt h5 {
    text-align: center;
  }
  .shiryo-contents__lead {
    max-width: 75%;
  }
  .shiryo-contents__lead::before {
    right: -18vw;
  }
}

.shiryo-under {
  text-align: center;
  margin-top: 60px;
  position: relative;
}
.shiryo-under .highlight {
  font: 500 2.125rem "Noto Serif JP", serif;
}
.shiryo-under::after {
  content: url(../img/arrow-down.png);
  position: absolute;
  display: block;
  left: 50%;
  transform: translatex(-50%);
  top: 100px;
}
@media (max-width: 768px) {
  .shiryo-under {
    margin-top: 60px;
  }
  .shiryo-under::after {
    top: 70px;
  }
}
@media (max-width: 599px) {
  .shiryo-under .highlight {
    font-size: 1.75rem;
  }
  .shiryo-under::after {
    top: auto;
    bottom: -80px;
  }
}

.job-description {
  background: no-repeat center top url(../img/bg-job-description-hdr.png);
  padding: 20px 0;
  margin: 45px 0 0;
}
.job-description__header {
  font: 500 2.125rem "Noto Serif JP", serif;
  text-align: center;
  margin-top: 80px;
}
.job-description__header span {
  display: block;
  font: 400 1.25rem "Noto Sans JP", sans-serif;
}
@media (max-width: 599px) {
  .job-description__header {
    font-size: 1.625rem;
  }
}

.job-description-single {
  display: flex;
  justify-content: space-between;
  flex-flow: row;
  align-items: flex-start;
  margin: 55px auto 75px;
  max-width: 1090px;
  width: 95vw;
  gap: 15px;
}
.job-description-single img {
  flex: 0 1 510px;
  min-width: 0;
}
.job-description-single:nth-child(odd) img {
  order: 1;
}
.job-description-single__txt {
  flex: 0 1 536px;
}
.job-description-single__txt h5 {
  font-size: 1.5rem;
  margin: 0 0 65px 0;
  padding-top: 17px;
  padding-left: 110px;
  line-height: 1.4;
}
.job-description-single__txt h5.single-line {
  padding-top: 35px;
  margin: 0 0 60px;
}
.job-description-single__txt p {
  font-size: 0.875rem;
  line-height: 1.6;
}
@media (max-width: 599px) {
  .job-description-single {
    margin: 55px auto 45px;
    flex-flow: row wrap;
    gap: 0;
  }
  .job-description-single img {
    flex: 1 0 100%;
    order: 1;
  }
  .job-description-single__txt h5 {
    padding-left: 90px;
    margin: 0 0 20px;
  }
  .job-description-single__txt h5.single-line {
    padding-top: 15px;
    margin: 0 0 30px;
  }
}

.job-description-addendum {
  width: 1090px;
  max-width: 95vw;
  margin: 135px auto 120px;
  padding: 20px 60px 20px 85px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-flow: row;
  border-top: 2px solid #ffc4d5;
  border-bottom: 2px solid #ffc4d5;
  gap: 20px;
}
.job-description-addendum__txt {
  position: relative;
}
.job-description-addendum__txt::before {
  content: url(../img/block-fuan.png);
  position: absolute;
  top: -93px;
  left: -65px;
}
.job-description-addendum__txt p {
  font-size: 0.875rem;
  line-height: 1.6;
}
@media (max-width: 1024px) {
  .job-description-addendum__txt::before {
    top: -80px;
    left: 0;
    transform: scale(0.7);
  }
}
@media (max-width: 900px) {
  .job-description-addendum {
    flex-flow: row wrap;
    justify-content: center;
  }
}
@media (max-width: 599px) {
  .job-description-addendum {
    padding: 20px 0;
    margin: 10vh auto 1vh;
  }
}

.trust {
  min-height: 553px;
  width: 100%;
  background: no-repeat right top url(../img/bg-trust.png), #fff7f9;
  line-height: 1.8;
  margin-bottom: 115px;
}
@media (min-width: 1500px) {
  .trust {
    background-size: 45%;
  }
}
.trust__txt {
  display: block;
  width: 1090px;
  margin: 0 auto 0 5vw;
  padding-top: 45px;
}
@media (min-width: 1225px) {
  .trust__txt {
    margin: 0 auto;
  }
}
@media (min-width: 1500px) {
  .trust__txt {
    margin-left: 25%;
  }
}
.trust h5 {
  font: 500 1.625rem "Noto Serif JP", serif;
  line-height: 1.6;
  margin-top: 0;
}
.trust p {
  font-size: 0.875rem;
}
@media (max-width: 1024px) {
  .trust {
    min-height: auto;
    background: no-repeat right -200px top url(../img/bg-trust.png), #fff7f9;
  }
  .trust__txt {
    font-size: 1rem;
    background-color: rgba(255, 255, 255, 0.6);
    padding: 45px 0 0 5vw;
    margin: 0;
  }
  .trust h5 {
    font-size: 1.25rem;
  }
}
@media (max-width: 599px) {
  .trust {
    background: no-repeat right -79vw top url(../img/bg-trust.png), #fff7f9;
    margin-bottom: 0;
  }
  .trust__txt {
    padding: 5vh 0;
  }
  .trust__txt p,
.trust__txt h5 {
    max-width: 95vw;
    margin: 0 3vw;
  }
  .trust__txt p br,
.trust__txt h5 br {
    display: none;
  }
  .trust__txt h5 {
    margin-bottom: 25px;
  }
}

.difference {
  display: flex;
  justify-content: center;
  flex-flow: row;
  gap: 45px;
  margin: 80px auto 50px;
}
.difference__single {
  flex: 0 1 321px;
  max-width: 78%;
}
.difference__single h4 {
  background: no-repeat center url(../img/bg-difference.png);
  padding: 75px 0;
  font: 500 1.625rem "Noto Serif JP", serif;
  text-align: center;
}
.difference__single h4 span {
  font-size: 2.125rem;
}
.difference__single:nth-child(3) h4 {
  position: relative;
}
.difference__single:nth-child(3) h4::after {
  content: url(../img/block-osusume.png);
  position: absolute;
  bottom: -18px;
  left: 50%;
  transform: translatex(-50%);
}
.difference__single p {
  font-size: 0.875rem;
  line-height: 1.6;
  letter-spacing: 0;
  margin-bottom: 0;
}
@media (max-width: 1024px) {
  .difference {
    flex-flow: row wrap;
  }
}
@media (max-width: 599px) {
  .difference {
    margin: 10px auto 50px;
    gap: 0;
  }
  .difference__single h4 {
    background-size: contain;
    padding: 60px 0;
    margin-bottom: 5px;
  }
}

.entering {
  position: relative;
  background: #fff7f9;
  padding-top: 160px;
  padding-bottom: 150px;
  margin: 0;
  z-index: 10;
}
.entering__header {
  text-align: center;
  font: 500 2.125rem "Noto Serif JP", serif;
  letter-spacing: 0;
  position: relative;
  z-index: 1;
  max-width: 1090px;
  width: 95vw;
  margin: 0 auto 80px;
}
.entering__header span:nth-child(1) {
  display: block;
  font: 400 1.25rem "Noto Sans JP", sans-serif;
  margin-bottom: 5px;
}
.entering__header::before {
  position: absolute;
  top: -80px;
  content: "";
  width: 100%;
  height: 158px;
  display: block;
  background: url(../img/bg-nyugaku.png) center/cover no-repeat;
}
.entering__header::after {
  position: absolute;
  content: url(../img/ph-nyugaku-hdr.png);
  right: 25px;
  bottom: -90px;
  z-index: 10;
}
@media (max-width: 900px) {
  .entering__header::after {
    display: none;
  }
}
@media (max-width: 599px) {
  .entering__header {
    font-size: 1.875rem;
  }
  .entering__header::before {
    top: -72px;
    width: 100%;
    height: 100px;
  }
  .entering__header .txt-pink-med {
    display: block;
  }
}
.entering .schedule-box {
  display: flex;
  justify-content: space-between;
  max-width: 1090px;
  width: 95vw;
  margin: 0 auto 35px;
  background-color: #fff;
  padding: 45px 0 30px 10px;
  position: relative;
  z-index: 10;
}
.entering .schedule-box__row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 40px;
}
.entering .schedule-box__row--extra-margin {
  margin-top: 100px;
}
.entering .schedule-box__txt {
  width: 67%;
}
.entering .schedule-box__txt .month {
  font-size: 2.125rem;
  font-weight: 700;
  margin: 0;
  width: 12%;
  min-width: 80px;
  text-align: right;
  line-height: 1.2;
}
.entering .schedule-box__txt .month span {
  font-size: 1.5rem;
  position: relative;
}
.entering .schedule-box__txt .month span::after {
  content: "";
  width: 20px;
  height: 2px;
  display: block;
  background-color: #ff7b9f;
  position: absolute;
  right: -23px;
  top: 18px;
}
.entering .schedule-box__txt .event {
  font: 500 1.75rem "Noto Sans JP", sans-serif;
  width: 25%;
  margin-top: 0;
  margin-left: 7%;
  min-width: 197px;
}
.entering .schedule-box__txt .description {
  font-size: 0.875rem;
  line-height: 1.6;
  letter-spacing: 0;
  width: 50%;
  max-width: 352px;
  margin: 0;
}
.entering .schedule-box__txt .description img {
  display: none;
}
.entering .schedule-box::before, .entering .schedule-box::after {
  left: 11%;
}
.entering .schedule-box::before {
  position: absolute;
  content: "";
  width: 2px;
  height: 91%;
  top: 39px;
  background: #ff7b9f;
}
.entering .schedule-box::after {
  position: absolute;
  top: 97%;
  content: "";
  width: 2px;
  height: 45px;
  background: url(../img/shape-entering-pink-dotted.png) center/cover no-repeat;
}
.entering .schedule-box:last-of-type::before {
  max-height: 518px;
}
.entering .schedule-box:last-of-type::after {
  content: none;
}
.entering .schedule-box__img {
  width: 27%;
  margin-top: 15px;
}
.entering .schedule-box__img img + img {
  margin-top: 25px;
}
.entering .schedule-box:last-of-type {
  padding: 45px 0 10px 10px;
}
.entering .schedule-box:last-of-type .schedule-box__img img + img {
  margin-top: 105px;
}
.entering .schedule-box--pink:last-of-type {
  position: relative;
  z-index: 10;
}
.entering .schedule-box--pink:last-of-type::after {
  content: "";
  position: absolute;
  top: auto;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 114px;
  background: #fffad1;
  z-index: -1;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .entering .schedule-box__img.flex-fix {
    display: flex;
    flex-flow: column;
    justify-content: space-around;
  }
  .entering .schedule-box__img.flex-fix img:last-child {
    margin-top: calc(100px - 10%) !important;
  }
}
@media screen and (max-width: 950px) {
  .entering .schedule-box .description p {
    margin-top: 0;
    margin-bottom: 0;
  }
  .entering .schedule-box__row {
    margin-top: 15px;
  }
}
@media (max-width: 1024px) {
  .entering .schedule-box::before, .entering .schedule-box::after {
    left: 11vw;
  }
  .entering .schedule-box--blue::before, .entering .schedule-box--blue::after {
    left: 11vw;
  }
  .entering .schedule-box--blue:last-of-type::before {
    max-height: 471px;
  }
  .entering .schedule-box:last-of-type .schedule-box__img img + img {
    margin-top: 145px;
  }
}
@media (max-width: 768px) {
  .entering .schedule-box {
    flex-flow: column wrap;
  }
  .entering .schedule-box__txt {
    width: 100%;
  }
  .entering .schedule-box__img {
    display: flex;
    width: 80%;
    align-items: flex-end;
    margin-top: 30px;
    margin-left: auto;
  }
  .entering .schedule-box__img img {
    display: none;
  }
  .entering .schedule-box::before, .entering .schedule-box::after {
    left: 15.5vw;
    width: 3px;
  }
  .entering .schedule-box::before {
    height: 93%;
  }
  .entering .schedule-box--blue::before, .entering .schedule-box--blue::after {
    left: 16%;
  }
  .entering .schedule-box--blue::before {
    width: 3px;
    max-height: 727px;
    left: 16%;
  }
  .entering .schedule-box--blue::after {
    left: 16%;
    width: 3px;
    height: 60px;
  }
  .entering .schedule-box--blue:nth-of-type(2)::before {
    max-height: 495px;
  }
  .entering .schedule-box--blue:last-of-type::before {
    max-height: 432px;
  }
  .entering .schedule-box:last-of-type {
    padding: 45px 0 30px 10px;
  }
  .entering .schedule-box:last-of-type::before {
    max-height: 64%;
  }
  .entering .schedule-box:last-of-type .schedule-box__row:last-of-type {
    padding: 25px 0px;
    background: #fffad1;
  }
  .entering .schedule-box--pink:last-of-type::after {
    content: none;
  }
  .entering .schedule-box .description img {
    display: block;
  }
}
@media (max-width: 599px) {
  .entering .schedule-box {
    padding: 45px 3% 30px 0;
  }
  .entering .schedule-box .sp {
    display: none;
  }
  .entering .schedule-box .before-tab {
    left: -7px;
  }
  .entering .schedule-box::before, .entering .schedule-box::after {
    left: 26%;
  }
  .entering .schedule-box__row {
    flex-flow: column wrap;
    margin-bottom: auto;
  }
  .entering .schedule-box .month span::after {
    width: 4vw;
    right: -4vw;
  }
  .entering .schedule-box .event,
.entering .schedule-box .description {
    margin-left: 32%;
  }
  .entering .schedule-box .event {
    width: 100%;
    margin-top: -38px;
    margin-bottom: 0;
    font-size: 1.75rem;
  }
  .entering .schedule-box .description {
    flex: 0 1 auto;
    width: 65%;
    margin-top: 10px;
  }
  .entering .schedule-box .description p {
    margin-bottom: 10px;
  }
  .entering .schedule-box--blue::before, .entering .schedule-box--blue::after {
    left: 26%;
  }
  .entering .schedule-box--blue::before {
    width: 3px;
    height: 93%;
    max-height: none;
  }
  .entering .schedule-box--blue:nth-of-type(2)::before {
    max-height: 427px;
  }
  .entering .schedule-box--blue:last-of-type::before {
    max-height: 754px;
  }
  .entering .schedule-box--blue::after {
    width: 3px;
    height: 60px;
  }
  .entering .schedule-box__img {
    display: none;
  }
  .entering .schedule-box:last-of-type {
    padding: 45px 3% 30px 0;
  }
  .entering .schedule-box:last-of-type::before {
    max-height: 79%;
  }
  .entering .schedule-box:last-of-type .schedule-box__row:last-of-type {
    padding: 20px 3% 25px 0;
  }
}
@media (max-width: 599px) {
  .entering {
    padding-bottom: 5vh;
  }
}

.before-tab {
  position: absolute;
  top: -12px;
  left: -25px;
  color: #fff;
  font-size: 2.125rem;
  font-weight: 700;
  line-height: 1.5;
  padding: 0px 25px 0px 55px;
  clip-path: polygon(14% 0, 100% 1%, 100% 100%, 0 100%);
}
.before-tab span:first-child {
  font-size: 1.5rem;
}
.before-tab--blue {
  background-color: #8ed5e0;
}
.before-tab--pink {
  background-color: #F8A7BF;
}

.blue-bg {
  background-color: #EFFDFC;
}

.diag {
  position: relative;
  width: 100%;
}
.diag::after {
  content: "";
  position: absolute;
  transform: skew(0, -7deg);
  width: 100vw;
  top: -130px;
}
.diag--pink::after {
  height: 500px;
  background-color: #fff7f9;
}
.diag--blue::after {
  top: -130px;
  height: 900px;
  background-color: #EFFDFC;
}

.soudan {
  max-width: 1090px;
  width: 95vw;
  margin: 0 auto 50px;
  text-align: center;
  position: relative;
}
.soudan__lead {
  background-color: #29b4ca;
  display: inline-block;
  font: 600 2.125rem "Noto Serif JP", serif;
  padding: 10px 20px;
  transform: skew(-25deg, 0);
  margin: 0;
  position: relative;
  top: 25px;
}
.soudan__lead .straighten {
  display: block;
  transform: skew(25deg, 0);
}
.soudan__lead-img {
  display: block;
  margin-bottom: 28px;
  width: 100%;
}
.soudan__prompt {
  text-align: left;
  position: relative;
  font-size: 1.25rem;
  margin: 30px 0 30px 26px;
}
.soudan__prompt::before {
  content: "";
  background-color: #3e3e3e;
  width: 16px;
  height: 16px;
  display: block;
  position: absolute;
  top: 10px;
  left: -24px;
}
.soudan__multi-images {
  padding-bottom: 28px;
}
.soudan__multi-images img {
  max-width: 444px;
  width: 49%;
}
.soudan__contents {
  -webkit-box-shadow: -1px 2px 19px -1px rgba(0, 0, 0, 0.1);
  box-shadow: -1px 2px 19px -1px rgba(0, 0, 0, 0.1);
  background-color: #fff;
  border: 1px solid #29b4ca;
  padding: 55px 0;
}
.soudan__contents .inner {
  max-width: 900px;
  margin: 0 auto;
}
.soudan .testimonial-block {
  display: flex;
  justify-content: space-between;
  flex-flow: row wrap;
  max-width: 900px;
  margin: 0 auto;
}
.soudan .testimonial-block__single {
  border: 1px solid #29b4ca;
  border-radius: 10px;
  flex: 0 1 284px;
  padding: 12px;
  text-align: left;
  position: relative;
  margin-bottom: 32px;
}
.soudan .testimonial-block__single p {
  font-size: 0.875rem;
}
.soudan .testimonial-block__single--blue-bg {
  background-color: #EFFDFC;
}
.soudan .testimonial-block__single--btm {
  padding: 16px 16px 24px;
}
.soudan .testimonial-block__single--btm h4,
.soudan .testimonial-block__single--btm p {
  margin: 0;
}
.soudan .testimonial-block__single--btm .blue-brd {
  background-color: #29b4ca;
  height: 2px;
  margin: 16px 0;
  width: 100%;
}
.soudan .testimonial-tab {
  color: #fff;
  display: inline-block;
  font-size: 1.25rem;
  font-weight: 400;
  padding: 0px 19px;
  border-radius: 0 10px 10px 0;
  margin: 0 0 5px;
  position: absolute;
  top: -12px;
  left: -1px;
}
.soudan .testimonial-tab--bluetab {
  background-color: #4dcde2;
}
.soudan .testimonial-tab--pinktab {
  background-color: #F8A7BF;
}
@media (max-width: 900px) {
  .soudan__contents {
    padding: 55px 15px;
  }
  .soudan .testimonial-block {
    justify-content: center;
    gap: 0 10px;
    width: 95%;
  }
  .soudan .testimonial-block__single {
    flex: 1 0 45%;
    min-width: 300px;
  }
  .soudan .testimonial-block__single--wide {
    max-width: 95%;
    margin: 0 auto;
  }
  .soudan__multi-images img {
    margin: 10px auto;
  }
}
@media (max-width: 599px) {
  .soudan__contents {
    padding: 55px 5px;
  }
  .soudan__lead {
    font-size: 1.25rem;
  }
  .soudan__prompt {
    font-size: 1.0625rem;
    margin-bottom: 40px;
  }
  .soudan__prompt::before {
    width: 12px;
    height: 12px;
    left: -20px;
    top: 9px;
  }
  .soudan__multi-images img {
    width: 100%;
  }
  .soudan .testimonial-block {
    width: 100%;
  }
  .soudan .testimonial-block__single {
    flex: 0 1 100%;
    min-width: auto;
  }
}

.trust-blue {
  height: 510px;
  width: 100%;
  background: no-repeat -9% center/contain url(../img/bg-trust-blue.png), #EFFDFC;
}
@media (min-width: 1225px) {
  .trust-blue {
    background: no-repeat -9% center/contain url(../img/bg-trust-blue.png), #EFFDFC;
  }
}
@media (min-width: 1500px) {
  .trust-blue {
    background: no-repeat left top/47% url(../img/bg-trust-blue.png), #EFFDFC;
  }
}
@media screen and (max-width: 1130px) {
  .trust-blue__txt-bg {
    width: 100%;
    height: 100%;
    text-align: center;
    background: rgba(255, 255, 255, 0.8);
  }
}
@media (max-width: 1024px) {
  .trust-blue {
    background: no-repeat -15vw top/contain url(../img/bg-trust-blue.png), #EFFDFC;
  }
}
@media (max-width: 768px) {
  .trust-blue {
    background: no-repeat 72% top/130% url(../img/bg-trust-blue.png), #EFFDFC;
    height: auto;
  }
  .trust-blue__txt {
    margin: 0 5vw;
  }
  .trust-blue__txt h5 {
    font-size: 1.25rem;
  }
}
@media (max-width: 599px) {
  .trust-blue {
    background: no-repeat left center/cover url(../img/bg-trust-blue.png), #EFFDFC;
  }
}

.trust__txt--right {
  max-width: 600px;
  display: inline-block;
  position: relative;
  margin-left: 50vw;
  text-align: left;
}
@media (min-width: 1225px) {
  .trust__txt--right {
    margin-left: auto;
    right: -50vw;
  }
}
.trust__txt--right h5 {
  font: 500 1.625rem "Noto Serif JP", serif;
  line-height: 1.6;
}
@media (max-width: 1024px) {
  .trust__txt--right {
    text-align: left;
    margin-left: 25vw;
  }
}
@media (max-width: 599px) {
  .trust__txt--right {
    margin-left: 5vw;
  }
}

.fv--middle {
  position: relative;
  margin: 155px auto 200px;
  background: center/cover url(../img/bg-fv--middle.jpg) no-repeat;
  width: 100vw;
  z-index: auto;
}
.fv--middle .fv__text-bubble img:nth-child(1) {
  width: 100vw;
  max-width: 694px;
}
.fv--middle .fv__text-bubble img:nth-child(2) {
  top: 10px;
  width: 50vw;
  max-width: 483px;
}
.fv--middle__txt {
  text-align: center;
  padding: 10px;
  position: relative;
  max-width: 95vw;
  margin: 70px auto 0;
}
.fv--middle__txt h3 {
  position: relative;
  z-index: 20;
  font: 1.9375rem "Noto Serif JP", serif;
  line-height: 1.5;
  margin-bottom: 10px;
}
.fv--middle__txt p {
  position: relative;
  z-index: 20;
  font-size: 1.25rem;
  line-height: 1.8;
  margin-top: 0;
}
.fv--middle__txt::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%) skew(-15deg);
  bottom: 0;
  background: #EFFDFC;
  width: 80%;
  max-width: 650px;
  height: 230px;
  -webkit-box-shadow: 4px 11px 23px -8px rgba(13, 152, 173, 0.26);
  box-shadow: 4px 11px 23px -8px rgba(13, 152, 173, 0.26);
}
.fv--middle .fv__character img {
  top: 146px;
  right: -80px;
  z-index: 1;
}
.fv--middle .fv__text-bubble img:nth-child(2) {
  top: 10px;
  width: 65vw;
  max-width: 483px;
}

.fv--middle::after {
  position: absolute;
  content: "";
  display: block;
  top: 380px;
  left: -50vw;
  width: 150vw;
  height: 300px;
  background: url(../img/bg-dots-blue.png);
  z-index: -1;
}

@media (max-width: 1024px) {
  .fv--middle .fv__text-bubble {
    width: 65%;
  }
}
@media (max-width: 768px) {
  .fv--middle {
    background: left/cover url(../img/bg-fv--middle.jpg) no-repeat;
    margin: 115px auto 100px;
  }
  .fv--middle__txt {
    margin-top: 200px;
  }
  .fv--middle .fv__text-bubble {
    min-height: 182px;
    min-width: 486px;
  }
  .fv--middle .fv__text-bubble img {
    width: 76%;
  }
  .fv--middle .fv__character img {
    top: 274px;
  }
  .fv--middle .fv__character img {
    right: -60px;
  }
}
@media (max-width: 768px) {
  .fv--middle .fv__text-bubble {
    min-height: 180px;
    min-width: 290px;
  }
}
@media (max-width: 599px) {
  .fv--middle .fv__text-bubble {
    min-height: 140px;
  }
  .fv--middle .fv__character {
    display: none;
  }
  .fv--middle__txt {
    margin-top: 140px;
  }
  .fv--middle__txt h3 {
    font-size: 1.375rem;
    margin-top: 0;
  }
  .fv--middle__txt p {
    font-size: 0.875rem;
  }
  .fv--middle__txt::after {
    height: 100%;
    width: 100%;
    left: 0;
    transform: none;
  }
  .fv--middle::after {
    height: 100px;
  }
}
@media (max-width: 599px) {
  .brd-section--blue {
    height: 144px;
    margin-top: 160px;
  }
  .brd-section--blue .brd-section__before--blue {
    font-size: 1.75rem;
    margin-top: 10px;
  }
}
.job-description--blue {
  margin: 0 auto;
  padding: 0;
  background: none;
}
.job-description--blue .job-description-single {
  margin: 65px auto 0;
}
.job-description--blue .job-description-single__txt {
  flex: 0 1 620px;
}
.job-description--blue .job-description-single__txt h5 {
  margin: 0 0 30px 0;
}
.job-description--blue .job-description-single__txt .ttl-sub {
  margin-top: 20px;
  margin-bottom: 10px;
  line-height: 1.8;
  font-size: 1.25rem;
  display: inline-block;
}
.job-description--blue .job-description-single__txt .ttl-sub::before {
  content: "";
  width: 8px;
  height: 30px;
  margin-right: 10px;
  display: inline-block;
  vertical-align: text-top;
  background: url(../img/point-blakets-l.png) center/cover no-repeat;
}
.job-description--blue .job-description-single__txt .ttl-sub::after {
  content: "";
  width: 8px;
  height: 30px;
  margin-left: 10px;
  display: inline-block;
  vertical-align: text-top;
  background: url(../img/point-blakets-r.png) center/cover no-repeat;
}
.job-description--blue .job-description-single__txt dl {
  margin-left: 30px;
}
.job-description--blue .job-description-single__txt dt {
  margin-bottom: 15px;
  font-size: 1.25rem;
}
.job-description--blue .job-description-single__txt dt::before {
  content: "";
  width: 45px;
  height: 2px;
  margin-right: 10px;
  background: #29b4ca;
  display: inline-block;
  vertical-align: middle;
}
.job-description--blue .job-description-single__txt dd {
  margin-left: 57px;
  font-size: 0.875rem;
  line-height: 1.6;
}
.job-description--blue .job-description-single__txt dd:not(:last-of-type) {
  margin-bottom: 30px;
}
.job-description--blue .job-description-single__txt--drop-vert {
  align-self: flex-end;
}
.job-description--blue .job-description-single--reduce-margin {
  margin: 35px auto 70px;
}
.job-description--blue .job-description-single__img {
  width: 36%;
}
.job-description--blue .job-description-single__img img {
  display: inline-block;
}
.job-description--blue .job-description-single__img img + img {
  margin-top: 30px;
}
.job-description--blue .job-description-trio {
  display: flex;
  justify-content: space-between;
  max-width: 1090px;
  width: 95vw;
  margin: 55px auto 0;
}
.job-description--blue .job-description-trio-item {
  width: 31%;
}
.job-description--blue .job-description-trio-item .job-description-single__txt {
  flex: 0 1 360px;
}
.job-description--blue .job-description-trio-item:first-of-type .numbered, .job-description--blue .job-description-trio-item:last-of-type .numbered {
  margin-bottom: 60px;
}
.job-description--blue .job-description-trio .job-description-single__txt h5 {
  padding-top: 115px;
  padding-left: 0;
}
.job-description--blue .job-description-trio .numbered::before {
  width: 100%;
}
.job-description--blue .job-description-trio .ttl-sub {
  margin-top: 0;
  margin-bottom: 0;
}
.job-description--blue .job-description-trio .ttl-sub ~ p {
  margin: 20px 0;
  line-height: 1.8;
}

@media (max-width: 1024px) {
  .job-description--blue .job-description-single {
    flex: 0 1 590px;
  }
  .job-description--blue .job-description-single h5 {
    padding-top: 0;
  }
  .job-description--blue .job-description-single dl {
    margin-left: 0;
  }
  .job-description--blue .job-description-single dt::before {
    width: 35px;
  }
  .job-description--blue .job-description-single dd {
    margin-left: 48px;
  }
  .job-description--blue .job-description-trio {
    flex-flow: row wrap;
  }
  .job-description--blue .job-description-trio .numbered br {
    display: none;
  }
  .job-description--blue .job-description-trio-item:first-of-type .numbered {
    margin-bottom: 20px;
  }
  .job-description--blue .job-description-trio-item:nth-of-type(2) .numbered {
    margin-bottom: 20px;
  }
  .job-description--blue .job-description-trio-item:last-of-type .numbered {
    margin-bottom: 50px;
  }
  .job-description--blue .job-description-trio .ttl-sub {
    font-size: 1.125rem;
  }
  .job-description--blue .job-description-trio .ttl-sub::before {
    margin-right: 3px;
  }
  .job-description--blue .job-description-trio .ttl-sub::after {
    margin-left: 3px;
  }
}
@media (max-width: 768px) {
  .job-description--blue .none {
    display: none;
  }
  .job-description--blue .job-description-single__txt {
    flex: 0 1 60%;
  }
  .job-description--blue .job-description-single__txt p .none {
    display: none;
  }
  .job-description--blue .job-description-single__img img + img {
    margin-top: 200px;
  }
}
@media (max-width: 599px) {
  .job-description--blue .sp-none {
    display: none;
  }
  .job-description--blue .job-description-single {
    flex-flow: column wrap;
  }
  .job-description--blue .job-description-single__txt {
    margin-bottom: 40px;
  }
  .job-description--blue .job-description-single__txt .ttl-sub {
    font-size: 1.1875rem;
  }
  .job-description--blue .job-description-single__txt .ttl-sub::before {
    margin-right: 5px;
  }
  .job-description--blue .job-description-single__txt .ttl-sub::after {
    margin-left: 5px;
  }
}
@media (max-width: 599px) and (max-width: 599px) {
  .job-description--blue .job-description-single__txt {
    margin-bottom: 0;
  }
  .job-description--blue .job-description-single__txt:nth-of-type(n+3) {
    margin-bottom: 40px;
  }
}
@media (max-width: 599px) {
  .job-description--blue .job-description-single__img {
    width: 100%;
    margin-bottom: 25px;
  }
  .job-description--blue .job-description-single__img img {
    width: 100%;
  }
  .job-description--blue .job-description-single__img img + img {
    margin-top: 10px;
  }
}
@media (max-width: 599px) {
  .job-description--blue .job-description-single:nth-child(2) {
    margin-bottom: 20px;
  }
}
@media (max-width: 599px) {
  .job-description--blue .job-description-trio {
    flex-flow: column wrap;
    margin-top: 10px;
  }
  .job-description--blue .job-description-trio .job-description-single__txt h5 {
    padding-top: 15px;
    padding-left: 90px;
  }
  .job-description--blue .job-description-trio-item {
    width: 100%;
    margin-bottom: 10px;
  }
  .job-description--blue .job-description-trio-item:last-of-type .numbered {
    margin-bottom: 50px;
  }
}
.entering-blue {
  background: #EFFDFC;
}
.entering-blue .entering__header::before {
  background: no-repeat center/cover url(../img/bg-flow-blue.png);
}
.entering-blue .entering__header::after {
  content: url(../img/entering-blue-student.png);
}
.entering-blue .schedule-box:last-of-type {
  padding: 45px 0 30px 10px;
}
.entering-blue .schedule-box:last-of-type .schedule-box__img img + img {
  margin-top: 25px;
}
.entering-blue .schedule-box::before {
  background: #29b4ca;
}
.entering-blue .schedule-box::after {
  background: url(../img/shape-entering-blue-dotted.png) center/cover no-repeat;
}
.entering-blue .schedule-box__txt .month span::after {
  background-color: #29b4ca;
}
.entering-blue .schedule-box:nth-of-type(2)::before {
  max-height: 404px;
}
.entering-blue .schedule-box:last-of-type::before {
  max-height: 78%;
}
@media (max-width: 1024px) {
  .entering-blue .schedule-box:nth-of-type(2)::before {
    max-height: 366px;
  }
  .entering-blue .schedule-box__txt .description {
    margin-left: 20px;
  }
}
@media (max-width: 768px) {
  .entering-blue .schedule-box::before {
    height: 94%;
    max-height: none;
  }
  .entering-blue .schedule-box:nth-of-type(2)::before {
    max-height: 93%;
  }
  .entering-blue .schedule-box:last-of-type::before {
    max-height: 894px;
  }
  .entering-blue .schedule-box:last-of-type .schedule-box__row:last-of-type {
    padding-top: 0;
    background: none;
  }
  .entering-blue .schedule-box:last-of-type:last-of-type .schedule-box__img img + img {
    margin-top: 0;
  }
}
@media (max-width: 599px) {
  .entering-blue .schedule-box__txt .description {
    margin-left: 32%;
    width: 65%;
  }
  .entering-blue .schedule-box:nth-of-type(2)::before {
    max-height: 758px;
  }
  .entering-blue .schedule-box:last-of-type::before {
    max-height: 474px;
  }
  .entering-blue .schedule-box:last-of-type {
    padding: 45px 0 30px 0;
  }
  .entering-blue .schedule-box:last-of-type::before {
    max-height: none;
    height: 75%;
  }
  .entering-blue .schedule-box:last-of-type .schedule-box__row:last-of-type {
    padding: 0;
    background: none;
  }
}
@media (max-width: 599px) {
  .entering-blue {
    padding-bottom: 40px;
    padding-top: 120px;
  }
}

.kengaku-request {
  position: relative;
  padding: 75px 0;
}
.kengaku-request__bg {
  background: url(../img/bg-dots-blue.png);
  height: 480px;
  position: absolute;
  top: 24%;
  width: 100%;
}

.kengaku-contents {
  -webkit-box-shadow: -1px 2px 19px -1px rgba(0, 0, 0, 0.1);
  box-shadow: -1px 2px 19px -1px rgba(0, 0, 0, 0.1);
  background-color: #fff;
  border: 1px solid #29b4ca;
  max-width: 1090px;
  width: 95vw;
  margin: 0 auto;
  padding: 45px 20px 15px;
  position: relative;
}
.kengaku-contents--center {
  display: flex;
  justify-content: center;
  gap: 25px;
  align-items: center;
  flex-flow: row;
  margin: 42px auto 32px;
}
.kengaku-contents__lead {
  flex: 1 0 100%;
  font: 500 2.125rem "Noto Serif JP", serif;
  text-align: center;
}
.kengaku-contents::before {
  content: url(../img/pic-book-blue.png);
  position: absolute;
  right: 25px;
  top: -20px;
}
.kengaku-contents__txt {
  flex: 0 1 452px;
  margin-left: 20px;
  font-size: 0.875rem;
  line-height: 1.3;
}
.kengaku-contents__txt--larger {
  font-size: 1.25rem;
}
.kengaku-contents__txt--larger span.line-fix {
  display: block;
  margin-bottom: 8px;
}
.kengaku-contents__txt--blue-block {
  position: relative;
  margin-left: 20px;
  line-height: 0.8;
}
.kengaku-contents__txt--blue-block::before {
  background-color: #29b4ca;
  content: "";
  width: 11px;
  height: 11px;
  position: absolute;
  left: -18px;
  top: 1px;
}
.kengaku-contents__txt--blue-block:nth-child(2) {
  margin-bottom: 30px;
}
@media (max-width: 1024px) {
  .kengaku-contents__lead {
    font-size: 1.625rem;
  }
}
@media screen and (max-width: 690px) {
  .kengaku-contents--center {
    flex-flow: row wrap;
  }
}
@media (max-width: 599px) {
  .kengaku-contents {
    padding: 45px 5px 15px;
  }
  .kengaku-contents__txt--blue-block {
    line-height: 1.2;
  }
  .kengaku-contents__txt--blue-block::before {
    top: 4px;
  }
}

.ogaki-ftr {
  background-color: #f8f8f8;
  height: 136px;
}
.ogaki-ftr__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1360px;
  margin: 0 auto;
  height: 100%;
  width: 95vw;
}
.ogaki-ftr__info {
  font-size: 0.875rem;
  line-height: 0.4;
}
@media (max-width: 768px) {
  .ogaki-ftr__inner {
    flex-flow: row wrap;
  }
  .ogaki-ftr__img {
    flex: 1 0 100%;
    text-align: center;
  }
}
@media (max-width: 599px) {
  .ogaki-ftr {
    height: auto;
    padding: 10px 0;
  }
  .ogaki-ftr__info {
    line-height: 1.6;
    margin-bottom: 15px;
  }
  .ogaki-ftr__info p {
    margin: 5px 0;
  }
}

/*# sourceMappingURL=style.css.map */
