* {
  margin: 0;
  padding: 0;
  line-height: calc(0.25rem + 1em + 0.25rem);
}
*,
::before,
::after {
  box-sizing: border-box;
}
*:where(:not(fieldset, progress, meter)) {
  border-width: 0;
  border-style: solid;
  background-origin: border-box;
  background-repeat: no-repeat;
}
html {
  block-size: 100%;
  -webkit-text-size-adjust: none;
}
@media (prefers-reduced-motion: no-preference) {
  html:focus-within {
    scroll-behavior: smooth;
  }
}
body {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeSpeed;
  min-block-size: 100%;
}
:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block;
}
:where(img, svg, video) {
  block-size: auto;
  max-inline-size: 100%;
}
:where(svg) {
  stroke: none;
  fill: currentColor;
}
:where(svg):where(:not([fill])) {
  stroke: currentColor;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
:where(svg):where(:not([width])) {
  inline-size: 5rem;
}
:where(input, button, textarea, select),
:where(input[type="file"])::-webkit-file-upload-button {
  color: inherit;
  font: inherit;
  font-size: inherit;
  letter-spacing: inherit;
  word-spacing: inherit;
}
:where(textarea) {
  resize: vertical;
}
@supports (resize: block) {
  :where(textarea) {
    resize: block;
  }
}
:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
}
h1 {
  font-size: 2em;
}
:where(ul, ol) {
  list-style-position: inside;
}
:where(ul, ol)[role="list"] {
  list-style: none;
}
a:not([class]) {
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
}
:where(
    a[href],
    area,
    button,
    input,
    label[for],
    select,
    summary,
    textarea,
    [tabindex]:not([tabindex*="-"])
  ) {
  cursor: pointer;
  touch-action: manipulation;
}
:where(input[type="file"]) {
  cursor: auto;
}
:where(input[type="file"])::-webkit-file-upload-button,
:where(input[type="file"])::file-selector-button {
  cursor: pointer;
}
@media (prefers-reduced-motion: no-preference) {
  :focus-visible {
    transition: outline-offset 145ms cubic-bezier(0.25, 0, 0.4, 1);
  }
  :where(:not(:active)):focus-visible {
    transition-duration: 0.25s;
  }
}
:where(:not(:active)):focus-visible {
  outline-offset: 5px;
}
:where(
    button,
    button[type],
    input[type="button"],
    input[type="submit"],
    input[type="reset"]
  ),
:where(input[type="file"])::-webkit-file-upload-button,
:where(input[type="file"])::file-selector-button {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  text-align: center;
}
:where(
    button,
    button[type],
    input[type="button"],
    input[type="submit"],
    input[type="reset"]
  )[disabled] {
  cursor: not-allowed;
}
li {
  list-style: none;
}
a {
  text-decoration: none;
  color: #000;
}
a:focus {
  outline: none;
}
html {
  scroll-behavior: smooth;
}
.sp-active {
  display: inline-block !important;
}
@media (min-width: 1000px) {
  .sp-active {
    display: none !important;
  }
}
.sp-active-with-flex {
  display: flex !important;
}
@media (min-width: 1000px) {
  .sp-active-with-flex {
    display: none !important;
  }
}
.sp-active-with-grid {
  display: grid !important;
}
@media (min-width: 1000px) {
  .sp-active-with-grid {
    display: none !important;
  }
}
.sp-active-with-inlineGrid {
  display: inline-grid !important;
}
@media (min-width: 1000px) {
  .sp-active-with-inlineGrid {
    display: none !important;
  }
}
.sp-active-with-block {
  display: block !important;
}
@media (min-width: 1000px) {
  .sp-active-with-block {
    display: none !important;
  }
}
.pc-active {
  display: none !important;
}
@media (min-width: 1000px) {
  .pc-active {
    display: inline-block !important;
  }
}
.pc-active-with-flex {
  display: none !important;
}
@media (min-width: 1000px) {
  .pc-active-with-flex {
    display: flex !important;
  }
}
.pc-active-with-grid {
  display: none !important;
}
@media (min-width: 1000px) {
  .pc-active-with-grid {
    display: grid !important;
  }
}
.pc-active-with-inlineGrid {
  display: none !important;
}
@media (min-width: 1000px) {
  .pc-active-with-inlineGrid {
    display: inline-grid !important;
  }
}
.pc-active-with-block {
  display: none !important;
}
@media (min-width: 1000px) {
  .pc-active-with-block {
    display: block !important;
  }
}
body {
  padding-top: min(21.3333333333vw, 90px);
}
.c-header {
  width: min(100vw, 100%);
  height: min(21.3333333333vw, 90px);
  transition-duration: 600ms;
  background: #fff;
  position: fixed;
  z-index: 200;
  top: 0;
  box-shadow: 0;
  border-radius: 0 0 min(5.3333333333vw, 20px) min(5.3333333333vw, 20px);
}
.c-header.small-height-active {
  height: min(16vw, 90px);
}
@media (min-width: 1000px) {
  .c-header {
    padding: 0 50px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.05);
  }
}
.c-header .c-header-container {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  max-width: 1400px;
  padding: 0 0 0 min(4.2666666667vw, 30px);
}
.c-header .c-header-container .c-header__logo {
  display: inline-block;
}
.c-header .c-header-container .c-header__logo a:hover {
  opacity: 0.8;
}
.c-header .c-header-container .c-header__logo a img {
  width: min(39.3333333333vw, 175px);
  height: auto;
}
.c-header .c-header-container a.c-header__searchSchool {
  margin-left: auto;
  margin-right: min(2.6666666667vw, 10px);
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: min(1.7866666667vw, 6.7px);
  column-gap: min(1.7866666667vw, 6.7px);
  font-size: min(3.2vw, 12px);
  font-family: "M PLUS Rounded 1c";
  font-weight: 500;
  border-radius: min(5.3333333333vw, 20px);
  border: solid min(0.2666666667vw, 1px) #cf000e;
  color: #cf000e;
  width: min(31.2vw, 117px);
  height: min(10.6666666667vw, 40px);
  box-shadow: min(0.6666666667vw, 2.5px) min(0.6666666667vw, 2.5px) 0 0 #cf000e;
}
@media (min-width: 1000px) {
  .c-header .c-header-container a.c-header__searchSchool {
    display: none;
  }
}
.c-header .c-header-container .c-header__nav {
  width: min(16vw, 60px);
  height: min(16vw, 60px);
  position: relative;
}
@media (min-width: 1000px) {
  .c-header .c-header-container .c-header__nav {
    height: unset;
    width: unset;
    margin-left: auto;
    order: 1;
    margin-right: 30px;
  }
}
.c-header .c-header-container .c-header__nav > ul {
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 40px;
  column-gap: 40px;
}
.c-header .c-header-container .c-header__nav > ul li > a {
  position: relative;
  display: block;
  text-decoration: none;
  color: #333;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 1px;
  font-family: "M PLUS Rounded 1c";
}
@media (min-width: 1000px) {
  .c-header .c-header-container .c-header__nav > ul li > a::before {
    position: absolute;
    bottom: -10px;
    left: 50%;
    content: "";
    width: 120%;
    height: 1.5px;
    background: #cf000e;
    transform: translateX(-50%) scale(0, 1);
    transform-origin: left top;
    transition: transform 0.3s;
    z-index: 201;
  }
  .c-header .c-header-container .c-header__nav > ul li > a:hover {
    color: #cf000e;
    transition: 0.5s;
  }
  .c-header .c-header-container .c-header__nav > ul li > a:hover::before {
    transform: translateX(-50%) scale(1, 1);
  }
}
.c-header .c-header-container .c-header__nav > ul li.c-header__accord {
  position: relative;
}
.c-header
  .c-header-container
  .c-header__nav
  > ul
  li.c-header__accord
  p.c-header__accord-accordion {
  position: relative;
  display: block;
  text-decoration: none;
  color: #333;
  font-size: 15px;
  font-weight: bold;
  letter-spacing: 1px;
  font-family: "M PLUS Rounded 1c";
}
@media (min-width: 1000px) {
  .c-header
    .c-header-container
    .c-header__nav
    > ul
    li.c-header__accord
    p.c-header__accord-accordion::before {
    position: absolute;
    bottom: -10px;
    left: 50%;
    content: "";
    width: 120%;
    height: 1.5px;
    background: #cf000e;
    transform: translateX(-50%) scale(0, 1);
    transform-origin: left top;
    transition: transform 0.3s;
    z-index: 201;
  }
  .c-header
    .c-header-container
    .c-header__nav
    > ul
    li.c-header__accord
    p.c-header__accord-accordion:hover {
    color: #cf000e;
    transition: 0.5s;
    font-size: 14px;
  }
  .c-header
    .c-header-container
    .c-header__nav
    > ul
    li.c-header__accord
    p.c-header__accord-accordion:hover::before {
    transform: translateX(-50%) scale(1, 1);
  }
}
@media (min-width: 1000px) {
  .c-header
    .c-header-container
    .c-header__nav
    > ul
    li.c-header__accord
    p.c-header__accord-accordion:hover {
    cursor: pointer;
  }
  .c-header
    .c-header-container
    .c-header__nav
    > ul
    li.c-header__accord
    p.c-header__accord-accordion:hover
    + .c-header__accord-list {
    visibility: visible;
    opacity: 1;
    z-index: 200;
  }
}
.c-header
  .c-header-container
  .c-header__nav
  > ul
  li.c-header__accord
  .c-header__accord-list {
  display: none;
}
@media (min-width: 1000px) {
  .c-header
    .c-header-container
    .c-header__nav
    > ul
    li.c-header__accord
    .c-header__accord-list {
    position: absolute;
    background-color: #fff;
    border-radius: 0 0 30px 30px;
    top: 17px;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
    width: 216px;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0s, opacity 0.5s linear;
    padding: 30px 30px 30px;
    transition: all 0.2s;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }
  .c-header
    .c-header-container
    .c-header__nav
    > ul
    li.c-header__accord
    .c-header__accord-list:hover {
    visibility: visible;
    opacity: 1;
    z-index: 200;
  }
  .c-header
    .c-header-container
    .c-header__nav
    > ul
    li.c-header__accord
    .c-header__accord-list
    p {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    margin: auto;
    width: 100%;
    position: relative;
    color: #cf1c23;
    border-bottom: solid 0.5px #3f3e40;
  }
  .c-header
    .c-header-container
    .c-header__nav
    > ul
    li.c-header__accord
    .c-header__accord-list
    p:hover::before {
    position: absolute;
    content: "";
    bottom: max(-0.2666666667vw, -1px);
    left: 0;
    width: min(18.6666666667vw, 70px);
    height: min(0.4vw, 1.5px);
    background-color: #cd000f;
    z-index: 210;
  }
  .c-header
    .c-header-container
    .c-header__nav
    > ul
    li.c-header__accord
    .c-header__accord-list
    p
    > a {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-weight: 600;
    font-family: "Hiragino Sans", "Noto Sans JP", "Yu Gothic", "游ゴシック体",
      "Hiragino Kaku Gothic ProN", "Helvetica Neue", "Helvetica", "Arial",
      "Meiryo", sans-serif;
    font-size: min(4vw, 15px);
    padding: min(4vw, 15px) 0;
    line-height: 1;
    letter-spacing: 1px;
    position: relative;
    transition: 0.2s ease-in-out;
  }
  .c-header
    .c-header-container
    .c-header__nav
    > ul
    li.c-header__accord
    .c-header__accord-list
    p
    > a::after {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    content: "";
    background-image: url(../img/black-arrow-right.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: min(4.2666666667vw, 16px);
    height: min(4.2666666667vw, 16px);
  }
  .c-header
    .c-header-container
    .c-header__nav
    > ul
    li.c-header__accord
    .c-header__accord-list
    p
    > a:hover {
    color: #cd000f;
  }
  .c-header
    .c-header-container
    .c-header__nav
    > ul
    li.c-header__accord
    .c-header__accord-list
    p
    > a:hover::after {
    background-image: url(../img/red-arrow-right.svg);
    filter: brightness(102%);
    opacity: 0.8;
  }
}
.c-header .c-header-container .c-header__nav .c-header__hamburger-menu {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.c-header
  .c-header-container
  .c-header__nav
  .c-header__hamburger-menu
  #menu-toggle {
  display: none;
}
.c-header
  .c-header-container
  .c-header__nav
  .c-header__hamburger-menu
  .c-header__menu-icon {
  cursor: pointer;
  display: block;
  width: 25.6px;
  height: 20px;
  position: relative;
  transition: all 0.4s ease-in-out;
}
.c-header
  .c-header-container
  .c-header__nav
  .c-header__hamburger-menu
  .c-header__menu-icon.open
  span:nth-child(1) {
  transform: rotate(45deg);
  transform-origin: top left;
}
.c-header
  .c-header-container
  .c-header__nav
  .c-header__hamburger-menu
  .c-header__menu-icon.open
  span:nth-child(2) {
  opacity: 0;
}
.c-header
  .c-header-container
  .c-header__nav
  .c-header__hamburger-menu
  .c-header__menu-icon.open
  span:nth-child(3) {
  transform: rotate(-45deg);
  transform-origin: bottom left;
}
.c-header
  .c-header-container
  .c-header__nav
  .c-header__hamburger-menu
  .c-header__menu-icon
  span {
  background-color: #cf000e;
  height: 2px;
  width: 100%;
  border-radius: 1px;
  display: block;
  position: absolute;
  left: 0;
  transition: all 0.6s ease-in-out;
}
.c-header
  .c-header-container
  .c-header__nav
  .c-header__hamburger-menu
  .c-header__menu-icon
  span:nth-child(1) {
  top: 0;
}
.c-header
  .c-header-container
  .c-header__nav
  .c-header__hamburger-menu
  .c-header__menu-icon
  span:nth-child(2) {
  top: 8.5px;
}
.c-header
  .c-header-container
  .c-header__nav
  .c-header__hamburger-menu
  .c-header__menu-icon
  span:nth-child(3) {
  top: 17px;
}
.c-header .c-header-container .c-header__nav .c-header__spmenu {
  width: min(97.8666666667vw, 800px);
  visibility: hidden;
  opacity: 0;
  position: fixed;
  background-color: #fff;
  border-radius: min(8vw, 30px) 0 0 min(2.6666666667vw, 10px);
  padding: min(5.3333333333vw, 20px) 0 min(8vw, 30px);
  margin-top: min(24vw, 100px);
  top: max(-0.8vw, -3px);
  right: 0;
  z-index: -1;
  transition: all 0.2s;
  transform: translateX(min(97.8666666667vw, 800px));
}
.c-header .c-header-container .c-header__nav .c-header__spmenu.open {
  transform: translateX(0);
  visibility: visible;
  opacity: 1;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.c-header .c-header-container .c-header__nav .c-header__spmenu > ul {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}
.c-header .c-header-container .c-header__nav .c-header__spmenu > ul li {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  margin: auto;
  width: min(min(81.3333333333vw, 380px));
  position: relative;
  border-top: solid 0.5px #3f3e40;
}
.c-header
  .c-header-container
  .c-header__nav
  .c-header__spmenu
  > ul
  li:first-of-type {
  border-top: unset;
}
.c-header
  .c-header-container
  .c-header__nav
  .c-header__spmenu
  > ul
  li:last-of-type {
  border-bottom: solid 0.5px #3f3e40;
}
.c-header
  .c-header-container
  .c-header__nav
  .c-header__spmenu
  > ul
  li:hover::before {
  position: absolute;
  content: "";
  bottom: max(-0.2666666667vw, -1px);
  left: 0;
  width: min(18.6666666667vw, 70px);
  height: min(0.4vw, 1.5px);
  background-color: #cd000f;
  z-index: 210;
}
.c-header
  .c-header-container
  .c-header__nav
  .c-header__spmenu
  > ul
  li:hover
  > a {
  color: #cf1c23;
}
.c-header
  .c-header-container
  .c-header__nav
  .c-header__spmenu
  > ul
  li.new-open-school
  > a {
  padding: min(2.8vw, 10.5px) 0;
}
.c-header .c-header-container .c-header__nav .c-header__spmenu > ul li > a {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-weight: 600;
  font-family: "Hiragino Sans", "Noto Sans JP", "Yu Gothic", "游ゴシック体",
    "Hiragino Kaku Gothic ProN", "Helvetica Neue", "Helvetica", "Arial",
    "Meiryo", sans-serif;
  font-size: min(4vw, 15px);
  padding: min(4vw, 15px) 0;
  line-height: 1;
  letter-spacing: 1px;
  position: relative;
  transition: 0.2s ease-in-out;
}
.c-header
  .c-header-container
  .c-header__nav
  .c-header__spmenu
  > ul
  li
  > a:hover::after {
  filter: brightness(102%);
  opacity: 0.8;
}
.c-header
  .c-header-container
  .c-header__nav
  .c-header__spmenu
  > ul
  li
  > a::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  content: "";
  background-image: url(../img/red-arrow-right.svg);
  background-repeat: no-repeat;
  background-position: center;
  width: min(2.9333333333vw, 11px);
  height: min(2.9333333333vw, 11px);
}
.c-header
  .c-header-container
  .c-header__nav
  .c-header__spmenu
  > ul
  li
  > a
  > span {
  display: flex;
  margin-right: min(1.0666666667vw, 4px);
  justify-content: center;
  align-items: center;
  width: min(22.4vw, 84px);
  height: min(6.9333333333vw, 26px);
  border: solid min(0.2666666667vw, 1px) #3f3e40;
  border-radius: min(3.4666666667vw, 13px);
}
.c-header
  .c-header-container
  .c-header__nav
  .c-header__spmenu
  .c-header__spmenu-btn {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: min(8vw, 30px) auto 0;
}
.c-header
  .c-header-container
  .c-header__nav
  .c-header__spmenu
  .c-header__spmenu-btn
  .c-cta__image {
  margin: 0 auto;
  width: min(30.4vw, 114px);
  height: min(20.2666666667vw, 76px);
}
.c-header
  .c-header-container
  .c-header__nav
  .c-header__spmenu
  .c-header__spmenu-btn
  .c-cta__btn {
  width: min(78.6666666667vw, 295px);
  margin: 0 auto 0;
  display: flex;
  justify-content: center;
  position: relative;
}
.c-header
  .c-header-container
  .c-header__nav
  .c-header__spmenu
  .c-header__spmenu-btn
  .c-cta__btn::before {
  content: "";
  position: absolute;
  top: 60%;
  left: 51%;
  border-radius: min(7.2vw, 27px);
  transform: translate(-50%, -50%);
  width: min(78.6666666667vw, 295px);
  height: min(12.68vw, 47.55px);
  background-image: url(../img/cta-btn-background.svg);
  background-position: center;
  background-repeat: no-repeat;
  transition: all 0.3s ease-in-out;
}
.c-header
  .c-header-container
  .c-header__nav
  .c-header__spmenu
  .c-header__spmenu-btn
  .c-cta__btn:hover::before {
  background-image: url(../img/cta-red-btn-background.svg);
}
.c-header
  .c-header-container
  .c-header__nav
  .c-header__spmenu
  .c-header__spmenu-btn
  .c-cta__btn:hover
  a:hover {
  background-color: #fff;
  color: #cf000e;
}
.c-header
  .c-header-container
  .c-header__nav
  .c-header__spmenu
  .c-header__spmenu-btn
  .c-cta__btn:hover
  a:hover::after {
  background-color: #cf000e;
  background-image: url(../img/white-right-arrow.svg);
}
.c-header
  .c-header-container
  .c-header__nav
  .c-header__spmenu
  .c-header__spmenu-btn
  .c-cta__btn
  a {
  width: min(78.6666666667vw, 295px);
  height: min(12.68vw, 47.55px);
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "M PLUS Rounded 1c";
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.075em;
  font-size: min(4.2666666667vw, 16px);
  color: #fff;
  background-color: #cf000e;
  border-radius: min(7.2vw, 27px);
  position: relative;
  z-index: 1;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}
.c-header
  .c-header-container
  .c-header__nav
  .c-header__spmenu
  .c-header__spmenu-btn
  .c-cta__btn
  a::after {
  z-index: 2;
  content: "";
  position: absolute;
  top: 50%;
  right: min(5.3333333333vw, 21px);
  transform: translateY(-50%);
  width: min(3.7333333333vw, 14px);
  height: min(3.7333333333vw, 14px);
  background-color: #fff;
  border-radius: 50%;
  background-image: url(../img/red-right-arrow.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: min(2.6666666667vw, 10px) min(2.6666666667vw, 10px);
}
.c-footer {
  width: 100%;
  padding: min(9.0666666667vw, 34.5px) 0 min(23.7333333333vw, 89px);
  background-color: #cf000e;
  margin-bottom: min(17.0666666667vw, 64px);
}
@media (min-width: 1000px) {
  .c-footer {
    padding-bottom: 44.5px;
  }
}
.c-footer .c-footer-container {
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.c-footer .c-footer-container .c-footer__logo {
  width: min(40.5333333333vw, 179px);
  height: auto;
}
.c-footer .c-footer-container .c-footer__line {
  margin-top: min(4.6666666667vw, 17.5px);
}
.c-footer .c-footer-container .c-footer__line > img {
  width: min(8vw, 30px);
  height: auto;
  background-color: #fff;
  padding: min(0.2666666667vw, 1px);
  border-radius: min(2.4vw, 9px);
}
.c-footer .c-footer-container .c-footer__links {
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: min(4.8vw, 24px);
  column-gap: min(4.8vw, 24px);
  margin-top: min(3.7333333333vw, 14px);
}
.c-footer .c-footer-container .c-footer__links.lines {
  margin-top: min(5.4666666667vw, 30.5px);
}
.c-footer .c-footer-container .c-footer__links > a {
  color: #fff;
  font-family: "Hiragino Sans", "Noto Sans JP", "Yu Gothic", "游ゴシック体",
    "Hiragino Kaku Gothic ProN", "Helvetica Neue", "Helvetica", "Arial",
    "Meiryo", sans-serif;
  line-height: 1;
  font-size: min(2.9333333333vw, 14px);
}
.c-footer .c-footer-container .c-footer__links > a:not(:last-of-type) {
  position: relative;
}
.c-footer .c-footer-container .c-footer__links > a:not(:last-of-type)::after {
  content: "｜";
  position: absolute;
  top: 50%;
  right: max(-5.3333333333vw, -20px);
  transform: translateY(-50%);
  font-size: min(2.9333333333vw, 14px);
}
.c-footer .c-footer-container .c-copyright {
  margin-top: min(3.2vw, 27px);
  color: #fff;
  font-family: "Hiragino Sans", "Noto Sans JP", "Yu Gothic", "游ゴシック体",
    "Hiragino Kaku Gothic ProN", "Helvetica Neue", "Helvetica", "Arial",
    "Meiryo", sans-serif;
  line-height: 1;
  font-size: min(2.6666666667vw, 10px);
}
.c-float {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: 100;
  background-color: #fff;
  height: min(17.0666666667vw, 64px);
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (min-width: 1000px) {
  .c-float {
    width: 71px;
    height: 483px;
    left: unset;
    bottom: unset;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 10px;
    border-top-right-radius: unset;
    border-bottom-right-radius: unset;
    transition: all 0.6s ease;
  }
  .c-float:hover {
    width: 86px;
  }
}
.c-float .c-float-btn {
  background-color: #ffea00;
  width: min(97.3333333333vw, 980px);
  height: min(14.4vw, 54px);
  margin: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-radius: min(2.1333333333vw, 9px);
  font-family: "M PLUS Rounded 1c";
  font-weight: 500;
}
@media (min-width: 1000px) {
  .c-float .c-float-btn {
    transition: all 0.6s ease;
    border-top-right-radius: unset;
    border-bottom-right-radius: unset;
    margin: unset;
    margin-left: auto;
    align-items: flex-end;
    width: 64px;
    height: 469px;
  }
  .c-float .c-float-btn:hover {
    width: 79px;
    padding-right: 15px;
  }
}
.c-float .c-float-btn:hover {
  filter: brightness(102%);
  opacity: 0.8;
}
.c-float .c-float-btn-upper {
  font-family: "M PLUS Rounded 1c";
  font-weight: 500;
  letter-spacing: 0.1em;
  font-size: min(3.7333333333vw, 14px);
  color: #3f3e40;
  position: relative;
}
.c-float .c-float-btn-upper::before,
.c-float .c-float-btn-upper::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: min(2.6666666667vw, 10px);
  height: min(4.8vw, 18px);
  background-image: url(../img/black-backslash.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.c-float .c-float-btn-upper::before {
  left: max(-2.6666666667vw, -10px);
}
.c-float .c-float-btn-upper::after {
  right: max(-2.1333333333vw, -6px);
  transform: translateY(-50%) scaleX(-1);
}
@media (min-width: 1000px) {
  .c-float .c-float-btn-upper {
    display: none;
  }
}
.c-float .c-float-btn-lower {
  font-family: "M PLUS Rounded 1c";
  font-weight: 500;
  letter-spacing: 0.1em;
  font-size: min(4.8vw, 18px);
  color: #cf000e;
  position: relative;
  display: flex;
  align-items: center;
}
@media (min-width: 1000px) {
  .c-float .c-float-btn-lower {
    font-size: 24px;
    writing-mode: vertical-lr;
    color: #333;
    margin: auto;
  }
  .c-float .c-float-btn-lower::before {
    content: "";
    background-image: url(../img/black-right-arrow-in-yellow-circle.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 101;
    position: absolute;
    bottom: -32px;
    left: 50%;
    transform: translateX(-50%);
    width: 28px;
    height: 28px;
  }
}
.c-float .c-float-btn-lower img {
  width: min(6.4vw, 28px);
  height: min(6.4vw, 28px);
  margin-right: min(1.0666666667vw, 4px);
}
@media (min-width: 1000px) {
  .c-float .c-float-btn-lower img {
    margin-right: unset;
    margin-bottom: 4px;
  }
}
.c-float .c-float-btn-lower span {
  font-family: "M PLUS Rounded 1c";
  font-weight: 800;
  color: #cf000e;
  font-size: min(4.9333333333vw, 18.5px);
  letter-spacing: 0.1em;
}
@media (min-width: 1000px) {
  .c-float .c-float-btn-lower span {
    font-family: "M PLUS Rounded 1c";
    font-size: 24px;
  }
}
.c-pagetop {
  position: fixed;
  z-index: 101;
  bottom: min(22.4vw, 84px);
  right: min(1.0666666667vw, 14px);
  border-radius: 50%;
}
@media (min-width: 1000px) {
  .c-pagetop {
    bottom: 30px;
  }
}
.c-pagetop img {
  width: min(7.8666666667vw, 36px);
  height: auto;
}
body.error404 .content-area {
  margin: min(18.6666666667vw, 140px) auto;
  width: min(89.3333333333vw, 1400px);
  text-align: center;
}
body.error404 .content-area p {
  margin: min(5.3333333333vw, 30px) auto 0;
}
body.error404 .content-area p a {
  color: #333;
  text-decoration: underline;
}
/*# sourceMappingURL=style.css.map */
