@charset "UTF-8";
/* RESET */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, div {
  display: block;
  box-sizing: border-box;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

a {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  background: transparent;
  transition: color 0.4s ease-out;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

ul {
  list-style-type: none;
}

ol {
  list-style-type: decimal;
}

figure img, h2 img, h3 img, h4 img {
  width: 100%;
  height: auto;
}

.forPC {
  display: block;
}

.forSP {
  display: none;
}

img {
  image-rendering: -webkit-optimize-contrast;
  width: 100%;
}

html {
  font-size: 0.694444444444444444vw;
  overflow-x: hidden;
  overflow-y: auto;
  scroll-behavior: smooth;
}

@media screen and (max-width: 820px) {
  .forPC {
    display: none;
  }

  .forSP {
    display: block;
  }

  html {
    font-size: 2.6666666666vw;
    /* 1.3333333333vw */
    overflow-x: hidden;
  }
}
@media screen and (min-width: 1440px) {
  html {
    font-size: 10px;
  }
}
@media screen and (min-width: 821px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
body {
  font-family: 'Noto Sans JP', sans-serif;
  color: #000032;
  line-height: 1.7;
  overflow-x: hidden;
}

body.fixed {
  position: fixed;
  width: 100%;
  overflow: hidden;
}

header {
  width: 100%;
  height: auto;
  box-shadow: 0.5rem 0.5rem 0.5rem rgba(0, 98, 255, 0.2);
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 820px) {
  header {
    height: 5rem;
  }
}
header .headerCont {
  width: 100%;
  margin: auto;
  padding: 0 0 0;
  display: flex;
  flex-direction: column;
  row-gap: 0;
  position: relative;
}
@media screen and (max-width: 820px) {
  header .headerCont {
    width: 100%;
    padding: 1.6rem 1.5rem;
  }
}
@media screen and (max-width: 820px) {
  header .headerCont p.ticket {
    width: 10rem;
    height: 5rem;
    position: absolute;
    top: 0;
    right: 5rem;
  }
}
@media screen and (max-width: 820px) {
  header .headerCont p.ticket a {
    display: block;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: 2.6rem 0 0;
    background: url("../images/ico_ticket.webp") no-repeat top 1.2rem center #fde855;
    background-size: 1.8rem;
    text-align: center;
    font-size: 1rem;
    font-weight: 700;
    color: #000032;
  }
}
header .headerCont p.toForm {
  margin: 1.7rem auto auto;
  width: 19.4rem;
  height: 4rem;
  position: absolute;
  top: 1rem;
  right: 4rem;
}
@media screen and (max-width: 820px) {
  header .headerCont p.toForm {
    position: static;
    width: 19.4rem;
    height: 5.2rem;
    margin: 3.9em auto auto;
  }
}
header .headerCont p.toForm a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(to right, #008eff, #00d2d7);
  border-radius: 2.6rem;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  padding: 0 1.2rem 0 4rem;
  box-sizing: border-box;
  position: relative;
  z-index: 0;
  box-shadow: 0 0.5rem 0.5rem rgba(6, 86, 240, 0.2);
}
header .headerCont p.toForm a:hover {
  opacity: 1;
}
header .headerCont p.toForm a::before {
  content: '';
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(to right, #008eff, #00d2d7);
  border-radius: 2.6rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
  transition: all 0.4s ease;
}
header .headerCont p.toForm a:hover::before {
  opacity: 1;
}
header .headerCont p.toForm a span {
  width: 2.4rem;
  height: 2.4rem;
  background: #fff;
  border-radius: 50%;
  position: relative;
}
header .headerCont p.toForm a span::before {
  content: '';
  width: 0.5rem;
  height: 0.5rem;
  border-top: 1px solid #0656f0;
  border-right: 1px solid #0656f0;
  transform: rotate(45deg);
  position: absolute;
  top: 38%;
  left: 34%;
}
header .headerCont h1.logo {
  width: 27.36rem;
}
@media screen and (max-width: 820px) {
  header .headerCont h1.logo {
    width: 19.3rem;
  }
}
header .headerCont nav {
  width: 100%;
  display: flex;
  justify-content: center;
}
header .headerCont nav > ul.pc {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3.4rem;
  height: 4rem;
}
@media screen and (max-width: 1120px) {
  header .headerCont nav > ul.pc {
    gap: 3.4rem;
    height: 40px;
  }
}
header .headerCont nav > ul.pc > li.ticket {
  background: url("../images/ico_ticket.webp") no-repeat center left 1.3rem #fde855;
  background-size: 2rem;
  display: flex;
  align-items: center;
  padding-left: 4.3rem;
}
header .headerCont nav > ul.pc > li.ticket > a {
  padding: 0 1.2rem 0 0;
  border-bottom: 2px solid #fde855;
  position: relative;
  display: block;
  height: auto;
}
header .headerCont nav > ul.pc > li.ticket > a:hover {
  border-bottom: 2px solid #fde855;
  color: #000032;
  text-decoration: underline;
}
header .headerCont nav > ul.pc > li.ticket > a:hover::after {
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
}
header .headerCont nav > ul.pc > li {
  height: 100%;
}
header .headerCont nav > ul.pc > li > a {
  font-size: 140%;
  font-weight: 700;
  color: #000032;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 100%;
  box-sizing: border-box;
  border-bottom: 0.2rem solid #fff;
}
@media screen and (max-width: 1120px) {
  header .headerCont nav > ul.pc > li > a {
    font-size: 14px;
    border-bottom: 2px solid #fff;
  }
}
@media screen and (max-width: 820px) {
  header .headerCont nav > ul.pc > li > a {
    justify-content: flex-start;
    text-align: left;
  }
}
header .headerCont nav > ul.pc > li > a.current, header .headerCont nav > ul.pc > li > a:hover {
  color: #0656f0;
  border-bottom: 0.2rem solid #0656f0;
  opacity: 1;
  text-decoration: none;
}
@media screen and (max-width: 1120px) {
  header .headerCont nav > ul.pc > li > a.current, header .headerCont nav > ul.pc > li > a:hover {
    border-bottom: 2px solid #0656f0;
  }
}
header .headerCont nav > ul.pc > li .submenu {
  display: none;
  position: absolute;
  left: 0;
  width: 100%;
  height: 5.4rem;
  background: #0656f0;
  text-align: center;
}
@media screen and (max-width: 1120px) {
  header .headerCont nav > ul.pc > li .submenu {
    height: 54px;
  }
}
header .headerCont nav > ul.pc > li .submenu ul {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.8rem;
}
@media screen and (max-width: 1120px) {
  header .headerCont nav > ul.pc > li .submenu ul {
    gap: 28px;
  }
}
header .headerCont nav > ul.pc > li .submenu ul li a {
  font-size: 140%;
  font-weight: 700;
  color: #fff;
}
@media screen and (max-width: 1120px) {
  header .headerCont nav > ul.pc > li .submenu ul li a {
    font-size: 14px;
  }
}
header .headerCont nav > ul.pc > li.has-children {
  margin-right: 1.5rem;
}
@media screen and (max-width: 1120px) {
  header .headerCont nav > ul.pc > li.has-children {
    margin-right: 15px;
  }
}
header .headerCont nav > ul.pc > li.has-children > a {
  position: relative;
}
header .headerCont nav > ul.pc > li.has-children > a::after {
  content: '';
  width: 0.9rem;
  height: 0.9rem;
  background: url("../images/arrow_select.webp") no-repeat center right;
  background-size: 0.9rem;
  position: absolute;
  top: 50%;
  right: -1.5rem;
  transform: translateY(-50%);
}
@media screen and (max-width: 1120px) {
  header .headerCont nav > ul.pc > li.has-children > a::after {
    width: 9px;
    height: 9px;
    background: url("../images/arrow_select.webp") no-repeat center right;
    background-size: 9px;
    right: -15px;
  }
}
header .headerCont nav > ul.pc > li.has-children.open a::after {
  content: '';
  width: 0.9rem;
  height: 0.9rem;
  background: url("../images/arrow_above.webp") no-repeat center right;
  background-size: 0.9rem;
  position: absolute;
  top: 50%;
  right: -1.5rem;
  transform: translateY(-50%);
}
@media screen and (max-width: 1120px) {
  header .headerCont nav > ul.pc > li.has-children.open a::after {
    width: 9px;
    height: 9px;
    background: url("../images/arrow_above.webp") no-repeat center right;
    background-size: 9px;
    right: -15px;
  }
}
header .headerCont nav > ul.pc > li.has-children.open .submenu {
  display: block;
}

.variCont {
  width: 100%;
  height: 6rem;
  border-bottom: 1px solid #cddcfa;
}
@media screen and (max-width: 1120px) {
  .variCont {
    height: 100px;
  }
}
@media screen and (max-width: 820px) {
  .variCont {
    height: 0;
    border-bottom: none;
  }
}
.variCont .inner {
  width: 112.6rem;
  margin: auto;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1120px) {
  .variCont .inner {
    width: 100%;
    flex-wrap: wrap;
  }
}
.variCont .inner .fst {
  width: 62.4rem;
  height: 3rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-top: 1.5rem;
}
@media screen and (max-width: 1120px) {
  .variCont .inner .fst {
    width: 100%;
    height: 48px;
    display: block;
    overflow: hidden;
    padding: 0 20px;
    margin-top: 0;
  }
}
@media screen and (max-width: 820px) {
  .variCont .inner .fst {
    height: 100%;
  }
}
.variCont .inner .fst .control {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1120px) {
  .variCont .inner .fst .control {
    float: right;
    height: 100%;
    margin: auto;
    display: flex;
    align-items: center;
  }
}
@media screen and (max-width: 820px) {
  .variCont .inner .fst .control {
    display: none;
  }
}
.variCont .inner .fst h1.logo {
  width: 19rem;
  height: 1.56rem;
  margin: 0 8rem 0 0;
}
@media screen and (max-width: 1120px) {
  .variCont .inner .fst h1.logo {
    float: left;
    width: 190px;
    height: 100%;
    margin: 16px 0 0 19px;
    display: flex;
    align-items: center;
  }
}
@media screen and (max-width: 820px) {
  .variCont .inner .fst h1.logo {
    width: 19.3rem;
    height: 1.5876rem;
    margin: 1.7rem 0 0;
  }
}
.variCont .inner .fst h1.logo a {
  display: block;
  width: 100%;
  height: 100%;
  background: url("../images/logo.webp") no-repeat;
  background-size: 100%;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}
@media screen and (max-width: 820px) {
  .variCont .inner .fst h1.logo a {
    width: 19.3rem;
    background: url("../images/logo_sp.webp") no-repeat;
    background-size: 100%;
  }
}
.variCont .inner .fst p.accessibility {
  margin-right: 2rem;
}
@media screen and (max-width: 1120px) {
  .variCont .inner .fst p.accessibility {
    margin-right: 20px;
  }
}
.variCont .inner .fst p.accessibility a {
  font-size: 1.4rem;
  background: url("../images/bg_accessibility.webp") no-repeat center left;
  background-size: 2.4rem;
  padding-left: 2.6rem;
  color: #000032;
}
@media screen and (max-width: 1120px) {
  .variCont .inner .fst p.accessibility a {
    font-size: 14px;
    background: url("../images/bg_accessibility.webp") no-repeat center left;
    background-size: 24px;
    padding-left: 26px;
  }
}
.variCont .inner .fst p.print {
  margin-right: 2.5rem;
}
@media screen and (max-width: 1120px) {
  .variCont .inner .fst p.print {
    margin-right: 25px;
  }
}
.variCont .inner .fst p.print a {
  font-size: 1.4rem;
  background: url("../images/bg_print.webp") no-repeat center left;
  background-size: 2.4rem;
  padding-left: 2.6rem;
  color: #000032;
}
@media screen and (max-width: 1120px) {
  .variCont .inner .fst p.print a {
    font-size: 14px;
    background: url("../images/bg_print.webp") no-repeat center left;
    background-size: 24px;
    padding-left: 26px;
  }
}
.variCont .inner .fst select {
  font-size: 1.4rem;
  width: 10.8rem;
  height: 3rem;
  border: 1px solid #cddcfa;
  border-radius: 1rem;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: url("../images/arrow_select.webp") no-repeat center right 0.9rem;
  background-size: 0.9rem;
  padding-left: 1rem;
  cursor: pointer;
}
@media screen and (max-width: 1120px) {
  .variCont .inner .fst select {
    font-size: 14px;
    width: 108px;
    height: 30px;
    border-radius: 10px;
    background: url("../images/arrow_select.webp") no-repeat center right 9px;
    background-size: 9px;
    padding-left: 10px;
  }
}
.variCont .inner .scd {
  width: 47.6rem;
  height: 3.4rem;
  margin-top: 1.3rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
@media screen and (max-width: 1120px) {
  .variCont .inner .scd {
    width: 100%;
    height: 52px;
    margin-top: 0;
    justify-content: flex-end;
    padding-right: 20px;
  }
}
@media screen and (max-width: 820px) {
  .variCont .inner .scd {
    display: none;
  }
}
.variCont .inner .scd dl.bgcolor {
  display: flex;
  align-items: center;
  margin-right: 2.5rem;
}
@media screen and (max-width: 1120px) {
  .variCont .inner .scd dl.bgcolor {
    margin-right: 25px;
  }
}
.variCont .inner .scd dl.bgcolor dt {
  font-size: 1.4rem;
  margin-right: 0.7rem;
}
@media screen and (max-width: 1120px) {
  .variCont .inner .scd dl.bgcolor dt {
    font-size: 14px;
    margin-right: 7px;
  }
}
.variCont .inner .scd dl.bgcolor dd {
  margin-right: 0.5rem;
}
@media screen and (max-width: 1120px) {
  .variCont .inner .scd dl.bgcolor dd {
    margin-right: 5px;
  }
}
.variCont .inner .scd dl.bgcolor dd button {
  all: unset;
  border-width: 1px;
  border-style: solid;
  border-color: #cddcfa;
  border-radius: 1rem;
  box-sizing: border-box;
  width: 3.4rem;
  height: 3.4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  font-size: 1.4rem;
  font-weight: 700;
}
.variCont .inner .scd dl.bgcolor dd button:hover {
  text-decoration: underline;
  border-color: #0656f0;
}
@media screen and (max-width: 1120px) {
  .variCont .inner .scd dl.bgcolor dd button {
    border-radius: 10px;
    width: 34px;
    height: 34px;
    font-size: 14px;
  }
}
.variCont .inner .scd dl.bgcolor dd button.white {
  background: #fff;
}
.variCont .inner .scd dl.bgcolor dd button.blue {
  background: #0000ff;
  color: #fff;
}
.variCont .inner .scd dl.bgcolor dd button.yellow {
  background: #ffff00;
  color: #0000ff;
}
.variCont .inner .scd dl.bgcolor dd button.black {
  background: #000;
  color: #fff;
}
.variCont .inner .scd dl.bgcolor dd button.current {
  border-color: #0656f0;
}
.variCont .inner .scd dl.textsize {
  display: flex;
  align-items: center;
  margin: 0 2rem 0 0;
}
@media screen and (max-width: 1120px) {
  .variCont .inner .scd dl.textsize {
    margin: 0 20px 0 0;
  }
}
.variCont .inner .scd dl.textsize dt {
  font-size: 1.4rem;
  margin-right: 0.7rem;
}
@media screen and (max-width: 1120px) {
  .variCont .inner .scd dl.textsize dt {
    font-size: 14px;
    margin-right: 7px;
  }
}
.variCont .inner .scd dl.textsize dd {
  margin-right: 0.5rem;
}
@media screen and (max-width: 1120px) {
  .variCont .inner .scd dl.textsize dd {
    margin-right: 5px;
  }
}
.variCont .inner .scd dl.textsize dd button {
  all: unset;
  border-width: 1px;
  border-style: solid;
  border-color: #cddcfa;
  border-radius: 1rem;
  box-sizing: border-box;
  width: 4.4rem;
  height: 3.4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  font-size: 1.4rem;
  font-weight: 700;
  background: #fff;
}
.variCont .inner .scd dl.textsize dd button:hover {
  text-decoration: underline;
  border-color: #0656f0;
}
@media screen and (max-width: 1120px) {
  .variCont .inner .scd dl.textsize dd button {
    border-radius: 10px;
    width: 44px;
    height: 34px;
    font-size: 14px;
  }
}
.variCont .inner .scd dl.textsize dd button.current {
  border-color: #0656f0;
}
.variCont .inner .scd p.search {
  background: url("../images/bg_search.webp") no-repeat center left;
  background-size: 2.4rem;
  padding-left: 2.1rem;
  font-size: 1.4rem;
}
@media screen and (max-width: 1120px) {
  .variCont .inner .scd p.search {
    background: url("../images/bg_search.webp") no-repeat center left;
    background-size: 24px;
    padding-left: 21px;
    font-size: 14px;
  }
}
.variCont .inner .scd p.search:hover {
  text-decoration: underline;
}

/* UNIVERSAL */
.tab-menu, .tab-menu2 {
  display: flex;
}

.tab-menu li, .tab-menu2 li {
  list-style: none;
  margin: 0;
  cursor: pointer;
}

.tab-content, .tab-content2 {
  display: none;
}

.tab-content.active, .tab-content2.active {
  display: block;
}

span.marker {
  display: inline;
  background: linear-gradient(transparent 40%, #ffff00 40%);
}

p.btnBF {
  width: 32.6rem;
  height: 6rem;
  margin: 6rem auto auto;
}
@media screen and (max-width: 820px) {
  p.btnBF {
    margin: 4rem auto;
  }
}
p.btnBF a {
  display: flex;
  width: 100%;
  height: 100%;
  border: 1px solid #0656f0;
  border-radius: 1rem;
  justify-content: flex-start;
  align-items: center;
  font-size: 160%;
  font-weight: 700;
  color: #fff;
  background: url("../images/ico_bf_white.webp") no-repeat center left 2rem #0656f0;
  background-size: 4rem;
  padding-left: 8rem;
  position: relative;
  box-sizing: border-box;
  transition: all 0.4s ease;
}
p.btnBF a span {
  width: 2.4rem;
  height: 2.4rem;
  background: #e6eefd;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 1.3rem;
  transform: translateY(-50%);
  background: url(../images/ico_link.webp) no-repeat;
  background-size: 2.4rem;
}
p.btnBF a:hover {
  color: #0656f0;
  background: url("../images/ico_bf_blue.webp") no-repeat center left 2rem #fff;
  background-size: 4rem;
  padding-left: 8rem;
}

p.btn {
  width: 31.6rem;
  height: 5.2rem;
  background: #fff;
  border: 1px solid #0656f0;
  border-radius: 2.6rem;
  box-shadow: 0 0.5rem 0.5rem rgba(6, 86, 240, 0.2);
  font-size: 160%;
  font-weight: 700;
  line-height: 1;
  color: #0656f0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding-left: 4.2rem;
  box-sizing: border-box;
  margin: auto;
  position: relative;
  cursor: pointer;
  transition: all 0.4s ease;
}
@media screen and (max-width: 820px) {
  p.btn {
    width: 29.5rem;
    font-size: 160%;
    line-height: 1.2;
    text-align: center;
    padding-left: 8rem;
  }
}
p.btn:hover {
  background: #0656f0;
  color: #fff;
}
p.btn::before {
  content: '';
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  background: #e6eefd;
  position: absolute;
  top: 50%;
  right: 1.3rem;
  transform: translateY(-50%);
}
p.btn::after {
  content: '+';
  font-size: 2.1rem;
  font-weight: 400;
  line-height: 1;
  color: #0656f0;
  position: absolute;
  top: 28%;
  right: 1.85rem;
}

p.btn9 {
  width: 29rem;
  height: 5.2rem;
  margin: auto;
}
p.btn9 a {
  width: 100%;
  height: 100%;
  background: #fff;
  border: 1px solid #0656f0;
  border-radius: 2.6rem;
  box-shadow: 0 0.5rem 0.5rem rgba(6, 86, 240, 0.2);
  font-size: 160%;
  font-weight: 700;
  line-height: 1;
  color: #0656f0;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  margin: auto auto 6rem;
  position: relative;
  cursor: pointer;
  transition: all 0.4s ease;
  background: url(../images/ico_pdf.webp) no-repeat center right 1.5rem #fff;
  background-size: 2.4rem;
}
p.btn9 a:hover {
  color: #fff;
  background: url("../images/ico_pdf_w.webp") no-repeat center right 1.5rem #0656f0;
  background-size: 2.4rem;
  opacity: 1;
}

p.btn42 {
  width: 40rem;
  height: 5.2rem;
  margin: auto;
}
@media screen and (max-width: 820px) {
  p.btn42 {
    width: 29rem;
  }
}
p.btn42 a {
  width: 100%;
  height: 100%;
  background: #fff;
  border: 1px solid #0656f0;
  border-radius: 2.6rem;
  box-shadow: 0 0.5rem 0.5rem rgba(6, 86, 240, 0.2);
  font-size: 160%;
  font-weight: 700;
  line-height: 1;
  color: #0656f0;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  margin: auto auto 6rem;
  position: relative;
  cursor: pointer;
  transition: all 0.4s ease;
  background: url("../images/ico_ext.webp") no-repeat center right 1.5rem #fff;
  background-size: 1.4rem;
}
p.btn42 a:hover {
  color: #fff;
  background: url("../images/ico_ext.webp") no-repeat center right 1.5rem #0656f0;
  background-size: 1.4rem;
  opacity: 1;
}

p.btn3 {
  width: 30.7rem;
  height: 5.2rem;
  font-size: 160%;
}

p.btn3 a.xls {
  width: 100%;
  height: 100%;
  background: #fff;
  border: 1px solid #0656f0;
  border-radius: 2.6rem;
  box-shadow: 0 0.5rem 0.5rem rgba(6, 86, 240, 0.2);
  font-size: 100%;
  font-weight: 700;
  line-height: 1.2;
  color: #0656f0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding-left: 4.2rem;
  box-sizing: border-box;
  margin: auto auto 6rem;
  position: relative;
  cursor: pointer;
  transition: all 0.4s ease;
  text-align: center;
  background: url(../images/ico_xls.webp) no-repeat center right 1.9rem #fff;
  background-size: 1.39rem;
}
p.btn3 a.xls:hover {
  color: #fff;
  background: url("../images/ico_xls_hover.webp") no-repeat center right 1.9rem #0656f0;
  background-size: 1.39rem;
  opacity: 1;
  text-decoration: underline;
}

p.btn5 {
  width: 29rem;
  height: 5.2rem;
  margin: auto;
  font-size: 160%;
}
p.btn5.width26 {
  width: 26rem;
}
p.btn5.width26 a {
  padding-left: 0;
}
p.btn5.width40 {
  width: 40rem;
}
@media screen and (max-width: 820px) {
  p.btn5.width40 {
    width: 26rem;
  }
}
p.btn5.width40 a {
  padding-left: 2rem;
  padding-right: 2rem;
}
p.btn5 a {
  width: 100%;
  height: 100%;
  background: #fff;
  border: 1px solid #0656f0;
  border-radius: 2.6rem;
  box-shadow: 0 0.5rem 0.5rem rgba(6, 86, 240, 0.2);
  font-size: 100%;
  font-weight: 700;
  line-height: 1;
  color: #0656f0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-left: 2rem;
  box-sizing: border-box;
  margin: auto auto 6rem;
  position: relative;
  cursor: pointer;
  transition: all 0.4s ease;
  background: url(../images/ico_pdf.webp) no-repeat center right 1.5rem #fff;
  background-size: 2.4rem;
}
p.btn5 a:hover {
  color: #fff;
  background: url("../images/ico_pdf_w.webp") no-repeat center right 1.5rem #0656f0;
  background-size: 2.4rem;
  opacity: 1;
}
p.btn5.accessPage a span {
  background: url("../images/bg_span_ext.webp") no-repeat;
  background-size: 2.4rem;
}
p.btn5.nopdf a {
  background-image: none;
  background: #fff;
  justify-content: space-between;
  padding-right: 1.6rem;
}
p.btn5.nopdf a:hover {
  color: #fff;
  background: #0656f0;
  opacity: 1;
}
p.btn5.nopdf a span {
  width: 2.4rem;
  height: 2.4rem;
  background: #e6eefd;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 1.3rem;
  transform: translateY(-50%);
  background: url("../images/ico_link.webp") no-repeat;
  background-size: 2.4rem;
  /*
  &::before {
  	content: '';
  	width: 0.5rem;
  	height: 0.5rem;
  	border-top: 1px solid #0656f0;
  	border-right: 1px solid #0656f0;
  	transform: rotate(45deg);
  	position: absolute;
  	top: 38%;
  	left: 34%;
  }
  */
}
p.btn5.accessPage a span {
  background: url("../images/ico_ext_link.webp") no-repeat;
  background-size: 2.4rem;
}

p.btn11 {
  width: 17.6rem;
  height: 5.2rem;
  margin: auto 0 auto 1.9rem;
}
p.btn11 a {
  width: 100%;
  height: 100%;
  background: #fff;
  border: 1px solid #0656f0;
  border-radius: 2.6rem;
  box-shadow: 0 0.5rem 0.5rem rgba(6, 86, 240, 0.2);
  font-size: 160%;
  font-weight: 700;
  line-height: 1;
  color: #0656f0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-right: 1.3rem;
  box-sizing: border-box;
  margin: auto auto 6rem;
  position: relative;
  cursor: pointer;
  transition: all 0.4s ease;
  background: #fff;
  background-size: 2.4rem;
  position: relative;
}
p.btn11 a:hover {
  color: #fff;
  background: #0656f0;
  background-size: 2.4rem;
  opacity: 1;
}
p.btn11 a span {
  width: 2.4rem;
  height: 2.4rem;
  background: #e6eefd;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 1.3rem;
  transform: translateY(-50%);
  background: url("../images/ico_link.webp") no-repeat;
  background-size: 2.4rem;
  /*
  &::before {
  	content: '';
  	width: 0.5rem;
  	height: 0.5rem;
  	border-top: 1px solid #0656f0;
  	border-right: 1px solid #0656f0;
  	transform: rotate(45deg);
  	position: absolute;
  	top: 38%;
  	left: 34%;
  }
  */
}

p.btn31 {
  width: 19.6rem;
  height: 5.2rem;
  margin: auto;
  /* 20250916 */
  width: 29.2rem;
  height: 5.2rem;
}
p.btn31 a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  align-items: center;
  padding: 0.5rem 0 0.8rem 7rem;
  box-sizing: border-box;
  background: linear-gradient(to right, #008eff, #00d2d7);
  border-radius: 2.6rem;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  position: relative;
  z-index: 0;
  box-shadow: 0 0.5rem 0.5rem rgba(6, 86, 240, 0.2);
  		/*
  		width: 100%;
      	height: 100%;
      	border-radius: 2.6rem;
      	box-shadow: 0 0.5rem 0.5rem rgba(6, 86, 240, 0.2);
      	font-size: 1.6rem;
      	font-weight: 700;
      	line-height: 1;
      	color: #fff;
      	display: flex;
      	justify-content: flex-start;
      	flex-wrap: wrap;
      	align-items: center;
      	padding: 0.8rem 0 0.8rem 7rem;
      	box-sizing: border-box;
      	margin: auto;
      	position: relative;
      	transition: all 0.4s ease;
      	background: linear-gradient(to right, #008eff, #00d2d7);
  		*/
}
p.btn31 a:hover {
  opacity: 1;
}
p.btn31 a::before {
  content: '';
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(to right, #00d2d7, #008eff);
  border-radius: 2.6rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
  transition: all 0.4s ease;
}
p.btn31 a:hover::before {
  opacity: 1;
}
p.btn31 a::after {
  content: '';
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  background: url(../images/ico_ext.webp) no-repeat center center #fff;
  background-size: 1.1rem;
  position: absolute;
  top: 1.4rem;
  right: 1.1rem;
}
p.btn31 a span.small {
  font-size: 1.2rem;
  font-weight: 700;
  display: block;
  margin-top: -0.6rem;
  margin-left: -4rem;
}

p.btn6 {
  width: 24rem;
  height: 5.2rem;
  background: #fff;
  border: 1px solid #0656f0;
  border-radius: 2.6rem;
  box-shadow: 0 0.5rem 0.5rem rgba(6, 86, 240, 0.2);
  font-size: 160%;
  font-weight: 700;
  line-height: 1;
  color: #0656f0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-right: 1.3rem;
  box-sizing: border-box;
  margin: auto;
  position: relative;
  cursor: pointer;
  transition: all 0.4s ease;
}
p.btn6:hover {
  background: #0656f0;
  color: #fff;
}
p.btn6 span {
  width: 2.4rem;
  height: 2.4rem;
  background: #e6eefd;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 1.3rem;
  transform: translateY(-50%);
  background: url(../images/ico_plus.webp) no-repeat;
  background-size: 2.4rem;
}
p.btn6.width26 {
  width: 26rem;
}
p.btn6.width40 {
  width: 40rem;
  padding-left: 1.3rem;
}
@media screen and (max-width: 820px) {
  p.btn6.width40 {
    width: 26rem;
  }
}

p.btn21 {
  width: 28rem;
  height: 5.2rem;
  margin: auto;
}
p.btn21 a {
  width: 100%;
  height: 100%;
  background: #fff;
  border: 1px solid #0656f0;
  border-radius: 2.6rem;
  box-shadow: 0 0.5rem 0.5rem rgba(6, 86, 240, 0.2);
  font-size: 160%;
  font-weight: 700;
  line-height: 1;
  color: #0656f0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-left: 1.3rem;
  box-sizing: border-box;
  margin: auto auto 6rem;
  position: relative;
  cursor: pointer;
  transition: all 0.4s ease;
  background: #fff;
  background-size: 2.4rem;
  position: relative;
}
p.btn21 a:hover {
  color: #fff;
  background: #0656f0;
  background-size: 2.4rem;
  opacity: 1;
}
p.btn21 a span {
  width: 2.4rem;
  height: 2.4rem;
  background: #e6eefd;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 1.3rem;
  transform: translateY(-50%);
  background: url("../images/ico_link_l.webp") no-repeat;
  background-size: 2.4rem;
  /*
  &::before {
  	content: '';
  	width: 0.5rem;
  	height: 0.5rem;
  	border-top: 1px solid #0656f0;
  	border-right: 1px solid #0656f0;
  	transform: rotate(45deg);
  	position: absolute;
  	top: 38%;
  	left: 34%;
  }
  */
}

p.btn22 {
  width: 26.5rem;
  height: 6rem;
}
@media screen and (max-width: 1120px) {
  p.btn22 {
    width: 100%;
    padding: 0;
  }
}
@media screen and (max-width: 1120px) {
  p.btn22.reserve {
    width: 26.5rem;
  }
}
@media screen and (max-width: 820px) {
  p.btn22.reserve {
    width: 33.5rem;
  }
}
p.btn22 a {
  width: 100%;
  height: 100%;
  background: #e6eefd;
  border: 1px solid #cddcfa;
  border-radius: 1rem;
  font-size: 100%;
  font-weight: 700;
  line-height: 1;
  color: #0656f0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding-left: 1.9rem;
  box-sizing: border-box;
  margin: auto auto 6rem;
  position: relative;
  cursor: pointer;
  transition: all 0.4s ease;
}
p.btn22 a:hover, p.btn22 a.current {
  color: #fff;
  background: #0656f0;
  border-color: #0656f0;
}
p.btn22 a span {
  width: 2.4rem;
  height: 2.4rem;
  background: #e6eefd;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
  background: url(../images/ico_link_white.webp) no-repeat;
  background-size: 2.4rem;
}

.mv {
  width: 100%;
  height: auto;
  background: url("../images/bg_mv.webp") repeat-x center bottom #dbf1ff;
  background-size: cover;
  padding-bottom: 1.8rem;
  position: relative;
}
@media screen and (max-width: 820px) {
  .mv {
    height: 29rem;
  }
}
.mv figure {
  width: auto;
  height: 100%;
  margin: auto;
  display: flex;
  justify-content: center;
  text-align: center;
}
.mv figure img {
  width: auto;
  height: 100%;
}

ul.slider {
  padding: 2.8rem 0 0;
}
@media screen and (max-width: 820px) {
  ul.slider {
    padding: 2rem 0 0;
    z-index: 1;
  }
}
ul.slider li.slide {
  background: #ffffff;
  width: 67.8rem !important;
  height: 42.2rem !important;
  box-sizing: border-box;
  padding: 1rem;
  margin: 0 1.9rem;
  box-shadow: 0.5rem 0.5rem 0.5rem rgba(0, 98, 255, 0.1);
}
@media screen and (max-width: 820px) {
  ul.slider li.slide {
    width: 35.5rem !important;
    height: auto !important;
    padding: 1rem;
  }
}

.slick-prev {
  top: calc(100% + 0.8rem);
  left: calc(50% + 24rem);
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  background: url("../images/slick_prev.png") no-repeat !important;
  background-size: 100% !important;
  z-index: 2;
  transform: translate(0);
}
@media screen and (max-width: 820px) {
  .slick-prev {
    top: 25.6rem;
    left: 25.6rem;
  }
}
.slick-prev::before {
  display: none;
}
.slick-prev:hover, .slick-prev:active {
  opacity: 0.7;
}

.slick-next {
  top: calc(100% + 0.8rem);
  left: calc(50% + 27.4rem);
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  background: url("../images/slick_next.png") no-repeat !important;
  background-size: 100% !important;
  z-index: 2;
  transform: translate(0);
}
@media screen and (max-width: 820px) {
  .slick-next {
    top: 25.6rem;
    left: 29rem;
  }
}
.slick-next::before {
  display: none;
}
.slick-next:hover, .slick-next:active {
  opacity: 0.7;
}

.slick-dots {
  position: absolute;
  bottom: -2.6rem;
  list-style: none;
  display: flex;
  justify-content: center;
  gap: 0.25rem;
  width: 100%;
}
@media screen and (max-width: 820px) {
  .slick-dots {
    width: 20rem;
    left: 1.7rem;
    bottom: -2.3rem;
    justify-content: flex-start;
    gap: 1rem;
  }
}

.slick-dots > li {
  background: #ffffff;
  width: 1rem !important;
  height: 1rem !important;
  border: 0.1rem solid #0656f0;
  border-radius: 50%;
  box-sizing: border-box;
}
@media screen and (max-width: 820px) {
  .slick-dots > li {
    margin: 0 0;
  }
}
.slick-dots > li.slick-active {
  background: #0656f0;
}
.slick-dots > li button {
  border: 0;
  background: transparent;
  display: block;
  height: 100%;
  width: 100%;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 0;
  cursor: pointer;
}
.slick-dots > li button::before {
  display: none;
}

#toggle-btn {
  width: 2.4rem;
  height: 2.5rem;
  border: none;
  background-color: transparent;
  background-size: 2.4rem;
  background-repeat: no-repeat;
  cursor: pointer;
  position: absolute;
  top: 46.15rem;
  left: calc(50% + 31.5rem);
}
@media screen and (max-width: 820px) {
  #toggle-btn {
    top: 25.6rem;
    left: auto;
    right: 1.8rem;
  }
}

/* 再生アイコン */
#toggle-btn.play {
  background: url("../images/slick_play.webp") no-repeat;
  background-size: 2.4rem;
}

/* 停止アイコン */
#toggle-btn.pause {
  background: url("../images/slick_stop.webp") no-repeat;
  background-size: 2.4rem;
}

.intro {
  width: 100%;
  background: #fff;
  padding-top: 6rem;
}
@media screen and (max-width: 820px) {
  .intro {
    padding-top: 8vw;
  }
}
.intro p {
  font-size: 1.6rem;
  font-weight: 700;
  color: #333333;
  margin: auto;
  text-align: center;
}
@media screen and (max-width: 820px) {
  .intro p {
    width: 89.3vw;
    font-size: 4.2vw;
    line-height: 2;
    text-align: left;
    font-feature-settings: "palt";
  }
}
.intro figure {
  margin: 3rem auto -3.5rem;
  width: 72.7rem;
}
@media screen and (max-width: 820px) {
  .intro figure {
    width: 96vw;
    margin: 8vw auto -5.8vw;
  }
}

section .inner > h2 {
  font-size: 470%;
  font-weight: 700;
  line-height: 1;
  position: relative;
  margin-bottom: 6rem;
  margin-top: -5rem;
  padding-top: 5rem;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 820px) {
  section .inner > h2 {
    font-size: 340%;
    padding-left: 4rem;
    width: 33.5rem;
    margin: auto auto 4rem;
    box-sizing: border-box;
    margin-top: -5rem;
    padding-top: 5rem;
    line-height: 1.5;
  }
}
section .inner > h2::before {
  content: '';
  position: absolute;
  top: 2.4rem;
  left: -8rem;
  width: 12.8rem;
  height: 8rem;
  background: url("../images/bg_h2_after.webp") no-repeat;
  background-size: contain;
}
@media screen and (max-width: 820px) {
  section .inner > h2::before {
    top: 3.2rem;
    left: -1rem;
    width: 6rem;
  }
}
section .inner > h2 span {
  font-size: 51%;
  margin-top: 1rem;
}

section.kashikiri {
  width: 100%;
  background: #e6eefd;
  padding-top: 10rem;
  padding-bottom: 8rem;
}
@media screen and (max-width: 820px) {
  section.kashikiri {
    padding-top: 8.5rem;
    padding-bottom: 6rem;
  }
}
section.kashikiri .inner {
  width: 112rem;
  margin: auto;
  		/*
  		.flows {
  			width:100%;
  			background: linear-gradient(to right, #acd0fe, #bde6f9);
  			border-radius:2rem;
  			padding:3rem 4rem;
  			
  			
  			@media screen and (max-width: 820px) {
  				padding:3rem 2rem;
  				
  			}
  			
  			h3 {
  				font-size:330%;
  				font-weight:700;
  				line-height:1;
  				margin-bottom:3rem;
  				text-align: center;
  				
  				@media screen and (max-width: 820px) {
  					font-size:2.8rem;
  				}
  			}
  			
  			.flow {
  				width:100%;
  				background:rgba(255,255,255,0.8);
  				border-radius:2rem;
  				padding:3rem 4rem;
  				position:relative;
  				margin-bottom:5.3rem;
  				position:relative;
  				
  				display:flex;
  				justify-content: space-between;
  				
  				@media screen and (max-width: 820px) {
  					padding:3rem 2rem;
  					flex-wrap: wrap;
  				}
  				
  				&::after {
  					content:'';
  					width:100%;
  					height:1.5rem;
  					background:url("../images/tri_below.webp") no-repeat top center;
  					background-size:3rem;
  					position:absolute;
  					bottom:-3.6rem;
  					left:0;
  				}
  				
  				&:nth-of-type(3) {
  					margin-bottom:0;
  					
  					&::after {
  						display:none;	
  					}
  				}
  				
  				.leftCont {
  					width:60%;
  					
  					@media screen and (max-width: 820px) {
  						width:100%;
  					}
  				}
  				.rightCont {
  					width:40%;
  					//position:absolute;
  					//top:5rem;
  					//right:0;
  					//width:52rem;
  					display:flex;
  					flex-direction: column;
  					align-items: center;
  					row-gap:2rem;
  					justify-content: center;
  					float:right;
  					
  					@media screen and (max-width: 820px) {
  						position:static;
  						width:100%;
  					}
  					
  					p.normal {
  						font-size: 160%;
  						font-weight: 400;
  						line-height: 1;
  						
  						&.bold {
  							font-weight:700;
  						}
  						
  						@media screen and (max-width: 820px) {
  							text-align: center;
  							margin-top:2.3rem;
  							line-height: 2.7rem;
  						}
  					}
  					p.kaishi {
  						font-size: 160%;
  						font-weight: 700;
  						line-height: 1;
  						
  
  					}
  					p.btn4 {
  						width: 29.2rem;
  						height: 5.2rem;
  
  						a {
  							//pointer-events: none;
  							width: 100%;
  							height: 100%;
  							border-radius: 2.6rem;
  							box-shadow: 0 0.5rem 0.5rem rgba(6, 86, 240, 0.2);
  							font-size: 100%;
  							font-weight: 700;
  							line-height: 1;
  							color: #fff;
  							display: flex;
  							justify-content: flex-start;
  							flex-wrap:wrap;
  							align-items: center;
  							padding: 0.8rem 0 0.8rem 7rem;
  							box-sizing: border-box;
  							margin: auto;
  							position: relative;
  							transition: all 0.4s ease;
  							background:linear-gradient(to right, #008eff, #00d2d7);
  							z-index: 0;
  							
  							
  							&::before {
  								content:'';
  								width:100%;
  								height:100%;
  								border-radius:2.6rem;
  								background:linear-gradient(to right, #008eff, #00d2d7);
  								position:absolute;
  								top:0;
  								left:0;
  								z-index: -1;
      							opacity: 0;
      							transition: all 0.4s ease;
  							}
  							
  							
  							&::after {
  								content:'';
  								width:2.4rem;
  								height:2.4rem;
  								background:url("../images/bg_span_ext.webp") no-repeat center center;
  								background-size:2.4rem;
  								position:absolute;
  								top:50%;
  								right:1.2rem;
  								transform: translateY(-50%);
  								z-index: 1;
  							}
  							
  							
  							
  							&:hover {
  								opacity:1;
  								
  								&::before {
  									opacity:1;
  									background:linear-gradient(to right, #00d2d7, #008eff);
  									
  								}
  							}
  										
  											
  							
  							
  							
  							
  							
  							span {
  								font-size: 1.2rem;
  								font-weight: 700;
  								display:block;
  								margin-left:-4rem;
  							}
  						}
  					}
  					
  					p.toForm {
  						margin:auto auto auto;
  						width:25.5rem;
  						height:5.2rem;
  						position:static;
  						
  			
  						@media screen and (max-width: 820px) {
  							position:static;
  							width:25.5rem;
  							height:5.2rem;
  							margin:0 auto auto;
  						}
  									
  						a {
  							width:100%;
  							height:100%;
  							display:flex;
  							justify-content: space-between;
  							align-items: center;
  				            background: linear-gradient(to right, #008eff,#00d2d7 );
  							border-radius:2.6rem;
  							font-size:100%;
  							font-weight:700;
  							color:#fff;
  							padding:0 1.2rem 0 4rem;
  							box-sizing: border-box;										
  							position:relative;
  							z-index: 0;
  							box-shadow: 0 0.5rem 0.5rem rgba(6, 86, 240, 0.2);
  										
  							&:hover {
  								opacity:1;
  							}
  										
  							&::before {
  								content:'';
  								width:100%;
  								height:100%;
  								display:flex;
  								justify-content: space-between;
  								align-items: center;
  				                background: linear-gradient(to right, #00d2d7,#008eff );	
  								border-radius:2.6rem;
  								position:absolute;
  								top:0;
  								left:0;
  								z-index: -1;
  								opacity:0;
  								transition: all 0.4s ease;
  							}
  										
  							&:hover::before {
  								opacity:1;
  							}
  										
  							span {
  								width:2.4rem;
  								height:2.4rem;
  								background:#fff;
  								border-radius:50%;
  								position:relative;
  											
  								&::before {
  									content:'';
  									width: 0.5rem;
  									height: 0.5rem;
  									border-top: 1px solid #0656f0;
  									border-right: 1px solid #0656f0;
  									transform: rotate(45deg);
  									position: absolute;
  									top: 38%;
  									left: 34%;
  								}
  							}
  						}
  					}
  					
  				}
  				
  				h4 {
  					font-size:240%;
  					font-weight:700;
  					color:#0656f0;
  					line-height:1;
  					display:flex;
  					justify-content: flex-start;
  					align-items: center;
  					gap:1rem;
  					margin-bottom:2.4rem;
  					
  					@media screen and (max-width: 820px) {
  						line-height:3rem;
  						align-items:flex-start;
  					}
  					
  					span {
  						display:inline-block;
  						color:#fff;
  						padding:0.5rem 1.5rem;
  						background:#0656f0;
  						border-radius:1rem;
  						
  						@media screen and (max-width: 820px) {
  							font-size:2rem;
  							padding:0;
  							width:5rem;
  							height:3rem;
  							display:flex;
  							justify-content: center;
  							align-items: center;
  							margin-top:0.2rem;
  						}
  					}					
  				}
  				
  				p {
  					font-size:160%;
  				}
  				
  				ul.normal {
  					margin-top:2.4rem;
  					list-style-type:disc;
  					margin-left:2rem;
  					
  					li {
  						font-size:160%;
  						font-weight:700;
  						margin-bottom:0;
  					}
  				}
  				
  				ul.touroku {
  					width:100%;
  					display:flex;
  					justify-content: space-between;
  					margin-top:	3rem;
  					
  					@media screen and (max-width: 820px) {
  						flex-direction: column;
  						row-gap:2rem;
  					}
  					
  					li {
  						width:30.6rem;
  						border-radius:1rem;
  						overflow:hidden;
  						box-shadow:0.5rem 0.5rem 1rem rgba(0,98,255,0.1), -0.2rem 0 1rem rgba(0,98,255,0.1) ;
  						
  						dl {
  				
  							dt {
  								font-size:1.6rem;
  								font-weight:700;
  								color:#fff;
  								background:#0656f0;
  								padding:1rem 0;
  								display:flex;
  								justify-content: center;
  								align-items: center;
  								
  								@media screen and (max-width: 820px) {
  									padding:0.5rem 0;
  								}
  							}
  							dd {
  								height:13.8rem;
  								display:flex;
  								justify-content:center;
  								align-items: center;
  								flex-direction: column;
  								font-size:1.6rem;
  								font-weight:700;
  							
  								box-sizing: border-box;
  								text-align: center;
  								
  								> span {
  									font-size:1.3rem;
  									font-weight:400;
  									line-height:2.2rem;
  									margin-top:1.2rem;
  								}
  								
  								p.toForm {
  									margin:1.7rem auto auto;
  									width:25.5rem;
  									height:5.2rem;
  									
  									a {
  										width:100%;
  										height:100%;
  										display:flex;
  										justify-content: space-between;
  										align-items: center;
  										background: linear-gradient(to right, #008eff,#00d2d7 );
  										border-radius:2.6rem;
  										font-size:1.6rem;
  										font-weight:700;
  										color:#fff;
  										padding:0 1.2rem 0 4rem;
  										box-sizing: border-box;										
  										position:relative;
  										z-index: 0;
  										box-shadow: 0 0.5rem 0.5rem rgba(6, 86, 240, 0.2);
  										
  										&:hover {
  											opacity:1;
  										}
  										
  										&::before {
  											content:'';
  											width:100%;
  											height:100%;
  											display:flex;
  											justify-content: space-between;
  											align-items: center;
  										    background: linear-gradient(to right, #00d2d7,#008eff );	
  											border-radius:2.6rem;
  											position:absolute;
  											top:0;
  											left:0;
  											z-index: -1;
  											opacity:0;
  											transition: all 0.4s ease;
  										}
  										
  										&:hover::before {
  											opacity:1;
  										}
  										
  										span {
  											width:2.4rem;
  											height:2.4rem;
  											background:#fff;
  											border-radius:50%;
  											position:relative;
  											
  											&::before {
  												content:'';
  												width: 0.5rem;
  												height: 0.5rem;
  												border-top: 1px solid #0656f0;
  												border-right: 1px solid #0656f0;
  												transform: rotate(45deg);
  												position: absolute;
  												top: 38%;
  												left: 34%;
  											}
  										}
  									}
  								}
  
  								
  								&.dd02 {
  									@media screen and (max-width: 820px) {
  										height:8.3rem;
  										text-align: left;
  										align-items: flex-start;
  										padding-left:2rem;
  										font-feature-settings: "palt";
  									}
  								}
  								
  								&.dd03 {
  									@media screen and (max-width: 820px) {
  										text-align: left;
  										align-items: flex-start;
  										padding-left:2rem;
  										font-feature-settings: "palt";
  									}
  								}
  							}
  							
  							
  							
  							
  						}
  						
  						
  						&:first-of-type dl dd {
  							padding-top: 2.3rem;
  						}
  						
  					}
  				}
  				
  				ol.shinseigo {
  					margin-top: 2.4rem;
      				margin-left: 2rem;
  					
  					li {
  						font-size: 160%;
      					font-weight: 700;
      					margin-bottom: 0;
  					}
  				}
  				
  				p.btn3 {
  					width:30.7rem;
  					height:5.2rem;
  					position:absolute;
  					top:5.6rem;
  					right:3.9rem;
  					
  					+ p.btn3 {
  						top:12.8rem;
  						
  						@media screen and (max-width: 820px) {
  							position:static;
  							margin-top:0;
  						}
  					}
  					
  					@media screen and (max-width: 820px) {
  						position:static;
  						margin-top:2.5rem;
  						width:100%;
  					}
  					
  					a {
  						width:100%;
  						height:100%;
  						background:#fff;
  						border:1px solid #0656f0;
  						border-radius:2.6rem;
  						box-shadow:0 0.5rem 0.5rem rgba(6,86,240,0.2);
  						font-size:100%;
  						font-weight:700;
  						line-height:1.2;
  						color:#0656f0;
  						display:flex;
  						justify-content: flex-start;
  						align-items: center;
  						padding-left:4.2rem;
  						box-sizing: border-box;
  						margin:auto auto 6rem;
  						position:relative;
  						cursor: pointer;
  						transition:all 0.4s ease;
  						background:url("../images/ico_pdf.webp") no-repeat center right 1.5rem #fff;
  						background-size:2.4rem;
  						text-align: center;
  					
  						&:hover {
  							color:#fff;
  							background:url("../images/ico_pdf_w.webp") no-repeat center right 1.5rem #0656f0;
  							background-size:2.4rem;
  							opacity:1;
  							text-decoration:underline;
  						}
  						
  						@media screen and (max-width: 820px) {
  							padding-left:5rem;
  							text-align:center;
  							line-height:1.2;
  						}
  						
  						
  						&.xls {
  							background:url("../images/ico_xls.webp") no-repeat center right 1.9rem #fff;
  							background-size:1.39rem;
  						
  							
  							&:hover {
  								background:url("../images/ico_xls_hover.webp") no-repeat center right 1.9rem #0656f0;
  								background-size:1.39rem;
  								opacity:1;
  								
  							}
  						}
  					}
  					
  				}
  			}
  			
  		}
  		*/
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner {
    width: 100%;
  }
}
section.kashikiri .inner .contHead {
  width: 100%;
  background: #fff;
  border: 1px solid #cddcfa;
  border-radius: 1rem;
  padding: 3rem 4rem;
  margin-bottom: 10.6rem;
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner .contHead {
    width: 33.5rem;
    margin: auto;
    border-radius: 2.6vw;
    padding: 3rem 2rem;
    margin-bottom: 8.4rem;
  }
}
section.kashikiri .inner .contHead h2 {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  border-bottom: 1px solid #cddcfa;
  padding-bottom: 3rem;
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner .contHead h2 {
    font-size: 2rem;
    padding-bottom: 2rem;
    line-height: 1.2;
  }
}
section.kashikiri .inner .contHead p.lead {
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner .contHead p.lead {
    text-align: left;
  }
}
section.kashikiri .inner .contHead p.excuse {
  font-size: 1.6rem;
  font-weight: 400;
}
section.kashikiri .inner ul.uketuke {
  width: 100%;
  margin: auto auto 6rem;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner ul.uketuke {
    flex-direction: column;
    row-gap: 3rem;
    width: 33.5rem;
  }
}
section.kashikiri .inner ul.uketuke li.active {
  width: 54.4rem;
  border-radius: 2rem;
  background: #fff;
  overflow: hidden;
  padding-bottom: 3rem;
  box-shadow: 0.5rem 0.5rem 0.5rem rgba(0, 98, 255, 0.1);
  /*				
  				p.btn {
  					width:31.6rem;
  					height:5.2rem;
  					background:#fff;
  					border:1px solid #0656f0;
  					border-radius:2.6rem;
  					box-shadow:0 0.5rem 0.5rem rgba(6,86,240,0.2);
  					font-size:1.6rem;
  					font-weight:700;
  					line-height:1;
  					color:#0656f0;
  					display:flex;
  					justify-content: flex-start;
  					align-items: center;
  					padding-left:4.2rem;
  					box-sizing: border-box;
  					margin:auto;
  					position:relative;
  					cursor: pointer;
  					transition:all 0.4s ease;
  					
  					@media screen and (max-width: 820px) {
  						width:29.5rem;
  						font-size:1.6rem;
  						line-height:1;
  						text-align: center;
          				padding-left: 8rem;
  					}
  					
  					&:hover {
  						background:#0656f0;
  						color:#fff;
  					}
  					
  					&::before {
  						content:'';
  						width:2.4rem;
  						height:2.4rem;
  						border-radius:50%;
  						background:#e6eefd;
  						position:absolute;
  						top:50%;
  						right:1.3rem;
  						transform: translateY(-50%);
  						
  						
  					}
  					
  					&::after {
  						content:'+';
  						font-size:2.1rem;
  						font-weight:400;
  						line-height:1;
  						color:#0656f0;
  						position:absolute;
  						top:28%;
  						right:1.85rem;
  
  					}
  				}
  */
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner ul.uketuke li.active {
    width: 100%;
  }
}
section.kashikiri .inner ul.uketuke li.active p.status {
  font-size: 200%;
  font-weight: 700;
  color: #fff;
  background: #0656f0;
  padding: 1.8rem 0 1rem;
  display: flex;
  flex-direction: column;
  row-gap: 0.3rem;
  text-align: center;
  margin-bottom: 3rem;
}
section.kashikiri .inner ul.uketuke li.active p.status span {
  font-size: 1.2em;
  font-weight: 700;
  color: #0656f0;
  line-height: 1;
  background: #fff;
  padding: 0.4rem 0;
  display: block;
  border-radius: 0.4rem;
  width: 11.7rem;
  margin: auto;
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner ul.uketuke li.active p.status span {
    font-size: 1.8rem;
    width: 8.4rem;
    padding: 0.2rem 0;
  }
}
section.kashikiri .inner ul.uketuke li.active p.ttl {
  font-size: 440%;
  font-weight: 700;
  line-height: 1;
  display: flex;
  flex-direction: column;
  row-gap: 0.8rem;
  text-align: center;
  margin-bottom: 1.8rem;
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner ul.uketuke li.active p.ttl {
    font-size: 3.4rem;
    row-gap: 0.9rem;
  }
}
section.kashikiri .inner ul.uketuke li.active p.ttl span {
  font-size: 0.363em;
  font-weight: 700;
  line-height: 1;
  display: block;
  text-align: center;
}
section.kashikiri .inner ul.uketuke li.active p.taisyo {
  text-align: center;
  margin-bottom: 2.4rem;
}
section.kashikiri .inner ul.uketuke li.active p.taisyo span {
  font-size: 160%;
  background: rgba(0, 0, 50, 0.1);
  display: inline;
  padding: 0 1rem;
}
section.kashikiri .inner ul.uketuke li.active p.attention {
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 3rem;
  /*
  span.marker {
  	display:inline;
  	background: linear-gradient(transparent 40%, #ffff00 40%);
  }
  */
}
section.kashikiri .inner ul.uketuke li.passive {
  width: 54.4rem;
  border-radius: 2rem;
  background: #fff;
  overflow: hidden;
  padding-bottom: 3rem;
  box-shadow: 0.5rem 0.5rem 0.5rem rgba(0, 98, 255, 0.1);
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner ul.uketuke li.passive {
    width: 100%;
  }
}
section.kashikiri .inner ul.uketuke li.passive p.status {
  font-size: 200%;
  font-weight: 700;
  color: #fff;
  background: #008eff;
  padding: 1.8rem 0 1rem;
  display: flex;
  flex-direction: column;
  row-gap: 0.3rem;
  text-align: center;
  margin-bottom: 3rem;
}
section.kashikiri .inner ul.uketuke li.passive p.status span {
  font-size: 1.2em;
  font-weight: 700;
  color: #008EFF;
  line-height: 1;
  background: #fff;
  padding: 0.4rem 0;
  display: block;
  border-radius: 0.4rem;
  width: 11.7rem;
  margin: auto;
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner ul.uketuke li.passive p.status span {
    font-size: 1.8rem;
    width: 8.4rem;
    padding: 0.2rem 0;
  }
}
section.kashikiri .inner ul.uketuke li.passive p.ttl {
  font-size: 440%;
  font-weight: 700;
  line-height: 1;
  display: flex;
  flex-direction: column;
  row-gap: 0.8rem;
  text-align: center;
  margin-bottom: 1.8rem;
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner ul.uketuke li.passive p.ttl {
    font-size: 3.4rem;
    row-gap: 0.9rem;
  }
}
section.kashikiri .inner ul.uketuke li.passive p.ttl span {
  font-size: 0.363em;
  font-weight: 700;
  line-height: 1;
  display: block;
  text-align: center;
}
section.kashikiri .inner ul.uketuke li.passive p.taisyo {
  text-align: center;
  margin-bottom: 2.4rem;
}
section.kashikiri .inner ul.uketuke li.passive p.taisyo span {
  font-size: 160%;
  background: rgba(0, 0, 50, 0.1);
  display: inline;
  padding: 0 1rem;
}
section.kashikiri .inner ul.uketuke li.passive p.attention {
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 2;
  text-align: center;
  margin-bottom: 3rem;
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner ul.uketuke li.passive p.attention {
    width: 29.5rem;
    margin: auto auto 3rem;
    line-height: 2.2rem;
  }
}
section.kashikiri .inner p.btn2 {
  width: 44rem;
  height: 5.2rem;
  background: #fff;
  border: 1px solid #0656f0;
  border-radius: 2.6rem;
  box-shadow: 0 0.5rem 0.5rem rgba(6, 86, 240, 0.2);
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  color: #0656f0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding-left: 4.2rem;
  box-sizing: border-box;
  margin: auto auto 6rem;
  position: relative;
  cursor: pointer;
  transition: all 0.4s ease;
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner p.btn2 {
    width: 33.5rem;
    font-size: 1.6rem;
    line-height: 1.2;
    text-align: center;
    padding-left: 4rem;
  }
}
section.kashikiri .inner p.btn2:hover {
  background: #0656f0;
  color: #fff;
}
section.kashikiri .inner p.btn2::before {
  content: '';
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  background: #e6eefd;
  position: absolute;
  top: 50%;
  right: 1.3rem;
  transform: translateY(-50%);
}
section.kashikiri .inner p.btn2::after {
  content: '+';
  font-size: 2.1rem;
  font-weight: 400;
  line-height: 1;
  color: #0656f0;
  position: absolute;
  top: 28%;
  right: 1.85rem;
}
section.kashikiri .inner p.attention {
  font-size: 200%;
  font-weight: 700;
  text-align: center;
  margin-bottom: 3rem;
  /*
  span.marker {
  	display:inline;
  	background: linear-gradient(transparent 40%, #ffff00 40%);
  }
  */
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner p.attention {
    text-align: left;
    width: 33.5rem;
    margin: auto auto 3rem;
  }
}
section.kashikiri .inner .flows {
  width: 100%;
  background: linear-gradient(to right, #acd0fe, #bde6f9);
  border-radius: 2rem;
  padding: 3rem 4rem;
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner .flows {
    padding: 3rem 2rem;
  }
}
section.kashikiri .inner .flows h3 {
  font-size: 3.3rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 3rem;
  text-align: center;
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner .flows h3 {
    font-size: 2.8rem;
  }
}
section.kashikiri .inner .flows .flow {
  width: 100%;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 2rem;
  padding: 3rem 4rem;
  position: relative;
  margin-bottom: 5.3rem;
  position: relative;
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner .flows .flow {
    padding: 3rem 2rem;
  }
}
section.kashikiri .inner .flows .flow::after {
  content: '';
  width: 100%;
  height: 1.5rem;
  background: url("../images/tri_below.webp") no-repeat top center;
  background-size: 3rem;
  position: absolute;
  bottom: -3.6rem;
  left: 0;
}
section.kashikiri .inner .flows .flow:nth-of-type(4) {
  margin-bottom: 0;
}
section.kashikiri .inner .flows .flow:nth-of-type(4)::after {
  display: none;
}
section.kashikiri .inner .flows .flow .rightCont {
  position: absolute;
  top: 3.5rem;
  right: 0;
  width: 52rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 2rem;
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner .flows .flow .rightCont {
    position: static;
    width: 100%;
  }
}
section.kashikiri .inner .flows .flow .rightCont p.normal {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
}
section.kashikiri .inner .flows .flow .rightCont p.normal.bold {
  font-weight: 700;
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner .flows .flow .rightCont p.normal {
    text-align: center;
    margin-top: 2.3rem;
    line-height: 2.7rem;
  }
}
section.kashikiri .inner .flows .flow .rightCont p.kaishi {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
}
section.kashikiri .inner .flows .flow .rightCont p.kaishi span.marker {
  display: inline-block;
  background: linear-gradient(transparent 40%, #ffff00 40%);
}
section.kashikiri .inner .flows .flow .rightCont p.btn4 {
  width: 29.2rem;
  height: 5.2rem;
}
section.kashikiri .inner .flows .flow .rightCont p.btn4 a {
  pointer-events: none;
  width: 100%;
  height: 100%;
  border-radius: 2.6rem;
  box-shadow: 0 0.5rem 0.5rem rgba(6, 86, 240, 0.2);
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  align-items: center;
  padding: 0.8rem 0 0.8rem 7rem;
  box-sizing: border-box;
  margin: auto;
  position: relative;
  transition: all 0.4s ease;
  background: linear-gradient(to right, #008eff, #00d2d7);
}
section.kashikiri .inner .flows .flow .rightCont p.btn4 a::before {
  content: '';
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  background: url("../images/ico_ext.webp") no-repeat center center #fff;
  background-size: 1.1rem;
  position: absolute;
  top: 1.4rem;
  right: 1.1rem;
}
section.kashikiri .inner .flows .flow .rightCont p.btn4 a::after {
  content: '';
  width: 100%;
  height: 100%;
  border-radius: 2.6rem;
  background: rgba(0, 0, 0, 0.3);
  position: absolute;
  top: 0;
  left: 0;
}
section.kashikiri .inner .flows .flow .rightCont p.btn4 a span {
  font-size: 1.2rem;
  font-weight: 700;
  display: block;
  margin-left: -4rem;
}
section.kashikiri .inner .flows .flow .rightCont p.btn4 a.active {
  pointer-events: auto;
}
section.kashikiri .inner .flows .flow .rightCont p.btn4 a.active::after {
  display: none;
}
section.kashikiri .inner .flows .flow .rightCont p.toForm {
  margin: auto auto auto;
  width: 25.5rem;
  height: 5.2rem;
  position: static;
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner .flows .flow .rightCont p.toForm {
    position: static;
    width: 25.5rem;
    height: 5.2rem;
    margin: 0 auto auto;
  }
}
section.kashikiri .inner .flows .flow .rightCont p.toForm a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(to right, #00d2d7, #008eff);
  border-radius: 2.6rem;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  padding: 0 1.2rem 0 4rem;
  box-sizing: border-box;
  position: relative;
  z-index: 0;
  box-shadow: 0 0.5rem 0.5rem rgba(6, 86, 240, 0.2);
}
section.kashikiri .inner .flows .flow .rightCont p.toForm a:hover {
  opacity: 1;
}
section.kashikiri .inner .flows .flow .rightCont p.toForm a::before {
  content: '';
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(to right, #008eff, #00d2d7);
  border-radius: 2.6rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
  transition: all 0.4s ease;
}
section.kashikiri .inner .flows .flow .rightCont p.toForm a:hover::before {
  opacity: 1;
}
section.kashikiri .inner .flows .flow .rightCont p.toForm a span {
  width: 2.4rem;
  height: 2.4rem;
  background: #fff;
  border-radius: 50%;
  position: relative;
}
section.kashikiri .inner .flows .flow .rightCont p.toForm a span::before {
  content: '';
  width: 0.5rem;
  height: 0.5rem;
  border-top: 1px solid #0656f0;
  border-right: 1px solid #0656f0;
  transform: rotate(45deg);
  position: absolute;
  top: 38%;
  left: 34%;
}
section.kashikiri .inner .flows .flow .rightCont.rightCont99 {
  width: 37rem;
  top: 4.5rem;
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner .flows .flow .rightCont.rightCont99 {
    position: static;
    width: 100%;
  }
}
section.kashikiri .inner .flows .flow .rightCont.rightCont4 {
  top: 5.5rem;
}
section.kashikiri .inner .flows .flow h4 {
  font-size: 2.4rem;
  font-weight: 700;
  color: #0656f0;
  line-height: 1;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1rem;
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner .flows .flow h4 {
    line-height: 3rem;
    align-items: flex-start;
  }
}
section.kashikiri .inner .flows .flow h4 span {
  display: inline-block;
  color: #fff;
  padding: 0.5rem 1.5rem;
  background: #0656f0;
  border-radius: 1rem;
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner .flows .flow h4 span {
    font-size: 2rem;
    padding: 0;
    width: 5rem;
    height: 3rem;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 0.2rem;
  }
}
section.kashikiri .inner .flows .flow p {
  font-size: 1.6rem;
}
section.kashikiri .inner .flows .flow ul.normal {
  margin-top: 2.4rem;
  list-style-type: disc;
  margin-left: 2rem;
}
section.kashikiri .inner .flows .flow ul.normal li {
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 0;
}
section.kashikiri .inner .flows .flow ul.touroku {
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin-top: 3rem;
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner .flows .flow ul.touroku {
    flex-direction: column;
    row-gap: 2rem;
  }
}
section.kashikiri .inner .flows .flow ul.touroku li {
  width: 30.6rem;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0.5rem 0.5rem 1rem rgba(0, 98, 255, 0.1), -0.2rem 0 1rem rgba(0, 98, 255, 0.1);
}
section.kashikiri .inner .flows .flow ul.touroku li dl dt {
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  background: #0656f0;
  padding: 1rem 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner .flows .flow ul.touroku li dl dt {
    padding: 0.5rem 0;
  }
}
section.kashikiri .inner .flows .flow ul.touroku li dl dd {
  height: 13.8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  font-size: 1.6rem;
  font-weight: 700;
  box-sizing: border-box;
  text-align: center;
}
section.kashikiri .inner .flows .flow ul.touroku li dl dd > span {
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 2.2rem;
  margin-top: 1.2rem;
}
section.kashikiri .inner .flows .flow ul.touroku li dl dd p.toForm {
  margin: 1.7rem auto auto;
  width: 25.5rem;
  height: 5.2rem;
}
section.kashikiri .inner .flows .flow ul.touroku li dl dd p.toForm a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(to right, #008eff, #00d2d7);
  border-radius: 2.6rem;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  padding: 0 1.2rem 0 4rem;
  box-sizing: border-box;
  position: relative;
  z-index: 0;
  box-shadow: 0 0.5rem 0.5rem rgba(6, 86, 240, 0.2);
}
section.kashikiri .inner .flows .flow ul.touroku li dl dd p.toForm a:hover {
  opacity: 1;
}
section.kashikiri .inner .flows .flow ul.touroku li dl dd p.toForm a::before {
  content: '';
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(to right, #00d2d7, #008eff);
  border-radius: 2.6rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
  transition: all 0.4s ease;
}
section.kashikiri .inner .flows .flow ul.touroku li dl dd p.toForm a:hover::before {
  opacity: 1;
}
section.kashikiri .inner .flows .flow ul.touroku li dl dd p.toForm a span {
  width: 2.4rem;
  height: 2.4rem;
  background: #fff;
  border-radius: 50%;
  position: relative;
}
section.kashikiri .inner .flows .flow ul.touroku li dl dd p.toForm a span::before {
  content: '';
  width: 0.5rem;
  height: 0.5rem;
  border-top: 1px solid #0656f0;
  border-right: 1px solid #0656f0;
  transform: rotate(45deg);
  position: absolute;
  top: 38%;
  left: 34%;
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner .flows .flow ul.touroku li dl dd.dd02 {
    height: 8.3rem;
    text-align: left;
    align-items: flex-start;
    padding-left: 2rem;
    font-feature-settings: "palt";
  }
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner .flows .flow ul.touroku li dl dd.dd03 {
    text-align: left;
    align-items: flex-start;
    padding-left: 2rem;
    font-feature-settings: "palt";
  }
}
section.kashikiri .inner .flows .flow ul.touroku li:first-of-type dl dd {
  padding-top: 2.3rem;
}
section.kashikiri .inner .flows .flow ol.shinseigo {
  margin-top: 2.4rem;
  margin-left: 2rem;
}
section.kashikiri .inner .flows .flow ol.shinseigo li {
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 0;
}
section.kashikiri .inner .flows .flow p.btn3 {
  width: 30.7rem;
  height: 5.2rem;
  position: absolute;
  top: 5.6rem;
  right: 3.9rem;
}
section.kashikiri .inner .flows .flow p.btn3 + p.btn3 {
  top: 12.8rem;
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner .flows .flow p.btn3 + p.btn3 {
    position: static;
    margin-top: 2rem;
  }
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner .flows .flow p.btn3 {
    position: static;
    margin-top: 2.5rem;
    width: 100%;
  }
}
section.kashikiri .inner .flows .flow p.btn3 a {
  width: 100%;
  height: 100%;
  background: #fff;
  border: 1px solid #0656f0;
  border-radius: 2.6rem;
  box-shadow: 0 0.5rem 0.5rem rgba(6, 86, 240, 0.2);
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.2;
  color: #0656f0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding-left: 4.2rem;
  box-sizing: border-box;
  margin: auto auto 6rem;
  position: relative;
  cursor: pointer;
  transition: all 0.4s ease;
  background: url("../images/ico_pdf.webp") no-repeat center right 1.5rem #fff;
  background-size: 2.4rem;
  text-align: center;
}
section.kashikiri .inner .flows .flow p.btn3 a:hover {
  color: #fff;
  background: url("../images/ico_pdf_w.webp") no-repeat center right 1.5rem #0656f0;
  background-size: 2.4rem;
  opacity: 1;
  text-decoration: underline;
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner .flows .flow p.btn3 a {
    padding-left: 5rem;
    text-align: center;
    line-height: 1.2;
  }
}
section.kashikiri .inner .flows .flow p.btn3 a.xls {
  background: url("../images/ico_xls.webp") no-repeat center right 1.9rem #fff;
  background-size: 1.39rem;
}
section.kashikiri .inner .flows .flow p.btn3 a.xls:hover {
  background: url("../images/ico_xls_hover.webp") no-repeat center right 1.9rem #0656f0;
  background-size: 1.39rem;
  opacity: 1;
}
section.kashikiri .inner .info {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  border-top: 2px solid #cddcfa;
  padding-top: 4rem;
  padding-bottom: 6rem;
  border-top: 2px solid #cddcfa;
  margin-top: 8.4rem;
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner .info {
    width: 33.5rem;
    margin: auto;
    flex-direction: column;
    padding-top: 3rem;
    gap: 3rem;
    padding-bottom: 3rem;
  }
}
section.kashikiri .inner .info h3 {
  width: 32rem;
  font-size: 330%;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner .info h3 {
    width: 100%;
    font-size: 2.8em;
  }
}
section.kashikiri .inner .info h3 span {
  font-size: 1.3rem;
  font-weight: 400;
  display: block;
  margin-top: 1.4rem;
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner .info h3 span {
    margin-top: 2rem;
  }
}
section.kashikiri .inner .info .tableBox {
  width: 80rem;
  /*				
  				p.btn6 {
  					width: 24rem;
      				height: 5.2rem;
      				background: #fff;
      				border: 1px solid #0656f0;
      				border-radius: 2.6rem;
      				box-shadow: 0 0.5rem 0.5rem rgba(6, 86, 240, 0.2);
      				font-size: 1.6rem;
      				font-weight: 700;
      				line-height: 1;
      				color: #0656f0;
      				display: flex;
      				justify-content: flex-start;
      				align-items: center;
      				padding-left: 4.2rem;
      				box-sizing: border-box;
      				margin: auto;
      				position: relative;
      				cursor: pointer;
      				transition: all 0.4s ease;
  					
  					&:hover {
  						background:#0656f0;
  						color:#fff;
  					}
  					
  					&::before {
  						content:'';
  						width:2.4rem;
  						height:2.4rem;
  						border-radius:50%;
  						background:#e6eefd;
  						position:absolute;
  						top:50%;
  						right:1.3rem;
  						transform: translateY(-50%);
  					}
  					
  					&::after {
  						content:'+';
  						font-size:2.1rem;
  						font-weight:400;
  						line-height:1;
  						color:#0656f0;
  						position:absolute;
  						top:28%;
  						right:1.85rem;
  
  					}
  				}
  				
  */
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner .info .tableBox {
    width: 100%;
  }
}
section.kashikiri .inner .info .tableBox > h3 {
  font-size: 240%;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 2rem;
}
section.kashikiri .inner .info .tableBox p.attention {
  font-size: 130%;
}
section.kashikiri .inner .info .tableBox .dantai {
  width: 100%;
  background: #fff;
  margin: 3rem auto 6rem;
  padding: 3rem;
  border: 1px solid #cddcfa;
  border-radius: 1rem;
  /*					
  					p.btn5 {
  						width:29rem;
  						height:5.2rem;
  						margin:auto;
  						
  						a {
      						width: 100%;
      						height: 100%;
      						background: #fff;
      						border: 1px solid #0656f0;
      						border-radius: 2.6rem;
      						box-shadow: 0 0.5rem 0.5rem rgba(6, 86, 240, 0.2);
      						font-size: 1.6rem;
      						font-weight: 700;
      						line-height: 1;
      						color: #0656f0;
      						display: flex;
      						justify-content: flex-start;
      						align-items: center;
      						padding-left: 8rem;
      						box-sizing: border-box;
      						margin: auto auto 6rem;
      						position: relative;
      						cursor: pointer;
      						transition: all 0.4s ease;
      						background: url(../images/ico_pdf.webp) no-repeat center right 1.5rem;
      						background-size: 2.4rem;
  							
  							&:hover {
  								color:#fff;
  								background:url("../images/ico_pdf_w.webp") no-repeat center right 1.5rem #0656f0;
  								background-size:2.4rem;
  								opacity:1;
  							}
      					}
  						
  						&.nopdf {
  							
  							a {
  								background-image: none;
  								justify-content:space-between;
  								padding-right:1.3rem;
  							
  								&:hover {
  									color:#fff;
  									background:#0656f0;
  									opacity:1;
  								}
  								
  								span {
  									width: 2.4rem;
      								height: 2.4rem;
      								background: #e6eefd;
      								border-radius: 50%;
      								position: relative;
  					
  									&::before {
  										content: '';
  										width: 0.5rem;
  										height: 0.5rem;
  										border-top: 1px solid #0656f0;
  										border-right: 1px solid #0656f0;
  										transform: rotate(45deg);
  										position: absolute;
  										top: 38%;
  										left: 34%;
  									}
  								}
  								
  							}
  						}
  					}
  */
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner .info .tableBox .dantai {
    padding: 3rem 2rem;
  }
}
section.kashikiri .inner .info .tableBox .dantai h4 {
  font-size: 160%;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 2rem;
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner .info .tableBox .dantai h4 {
    margin-bottom: 1.5rem;
  }
}
section.kashikiri .inner .info .tableBox .dantai h5 {
  font-size: 160%;
  font-weight: 400;
  line-height: 1;
  margin-top: 3rem;
  margin-bottom: 3rem;
  font-feature-settings: "palt";
  letter-spacing: -0.05rem;
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner .info .tableBox .dantai h5 {
    font-size: 1.5rem;
    line-height: 2.6rem;
  }
}
section.kashikiri .inner .info .tableBox .dantai p.lead {
  font-size: 130%;
}
section.kashikiri .inner .info .tableBox .dantai p.btn5 {
  font-size: 160%;
}
section.kashikiri .inner .info .tableBox p.muryou {
  font-size: 160%;
  font-weight: 700;
  line-height: 1;
  color: #0656f0;
  background: #fff;
  margin: 3rem auto;
  border: 1px solid #cddcfa;
  border-radius: 1rem;
  padding: 1.5rem 0;
  width: 100%;
  text-align: center;
  box-sizing: border-box;
}
@media screen and (max-width: 820px) {
  section.kashikiri .inner .info .tableBox p.muryou {
    text-align: left;
    padding: 1.5rem 2rem;
    line-height: 2.7rem;
  }
}
section.kashikiri .inner .info p.kanarazu {
  font-size: 160%;
  font-weight: 700;
  text-align: center;
  margin-bottom: 2rem;
}

.contBox {
  width: 80rem;
  border-radius: 2rem;
  overflow: hidden;
  background: url("../images/bg_useinfo.webp") no-repeat top -3.8rem left 42rem #0656f0;
  background-size: 26.7rem;
  padding: 1rem 3.5rem;
}
@media screen and (max-width: 820px) {
  .contBox {
    width: 100%;
    padding: 1.8rem 2rem;
    background: url(../images/bg_useinfo.webp) no-repeat top 0 left 0 #0656f0;
    background-size: 100%;
  }
}
.contBox.accessPage {
  margin: auto;
  background: url(../images/bg_useinfo.webp) no-repeat top -1rem left 38rem #0656f0;
  background-size: contain;
}
@media screen and (max-width: 820px) {
  .contBox.accessPage {
    background: url(../images/bg_useinfo.webp) no-repeat top 0 left 0 #0656f0;
    background-size: 100%;
  }
}
.contBox dl {
  width: 100%;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  display: flex;
  justify-content: space-between;
  padding: 1.2rem 0 1.5rem;
}
@media screen and (max-width: 820px) {
  .contBox dl {
    flex-direction: column;
  }
}
.contBox dl:last-of-type {
  border-bottom: none;
}
.contBox dl dt {
  width: 10.8rem;
  font-size: 200%;
  font-weight: 700;
}
@media screen and (max-width: 820px) {
  .contBox dl dt {
    width: 100%;
  }
}
.contBox dl dd {
  width: calc(100% - 10.8rem);
  font-size: 200%;
  font-weight: 700;
}
@media screen and (max-width: 820px) {
  .contBox dl dd {
    width: 100%;
  }
}
.contBox dl dd p.attention {
  font-size: 65%;
  font-weight: 400;
  line-height: 2.2rem;
  margin-top: 1rem;
}

.rinen {
  width: 100%;
  background: url("../images/bg_rinen.webp") no-repeat center bottom;
  background-size: 106%;
  padding: 3.6rem 0;
}
@media screen and (max-width: 820px) {
  .rinen {
    background: url("../images/bg_rinen_sp.webp") no-repeat center top;
    background-size: 100%;
    padding: 4rem 0 3rem;
  }
}
.rinen .inner {
  width: 112rem;
  margin: auto;
  display: flex;
  justify-content: flex-start;
  gap: 5.4rem;
}
@media screen and (max-width: 820px) {
  .rinen .inner {
    width: 33.5rem;
    flex-direction: column;
    gap: 1rem;
  }
}
.rinen .inner .txts {
  width: 39.8rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4rem;
}
@media screen and (max-width: 820px) {
  .rinen .inner .txts {
    width: 100%;
    gap: 2.5rem;
  }
}
.rinen .inner .txts h2 {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 3.6rem;
  color: #fff;
  text-align: left;
  letter-spacing: -0.1rem;
}
.rinen .inner .txts p {
  font-size: 1.6rem;
  font-weight: 400;
  color: #fff;
  text-align: left;
  font-feature-settings: "palt";
}
.rinen .inner figure {
  margin-top: 1rem;
  width: 64.5rem;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 820px) {
  .rinen .inner figure {
    width: 33.5rem;
  }
}

section.use {
  width: 100%;
  background-image: url("../images/bg_use.webp"), linear-gradient(to bottom, #f3f6ff, #ffffff);
  background-size: 100%;
  background-position: bottom center;
  background-repeat: no-repeat;
  padding-top: 10rem;
  padding-bottom: 6rem;
}
@media screen and (max-width: 820px) {
  section.use {
    padding-top: 8rem;
    background-image: url("../images/bg_use_sp.webp"), linear-gradient(to bottom, #f3f6ff, #ffffff);
    background-size: 100%;
    padding-bottom: 6rem;
  }
}
section.use .inner {
  width: 112rem;
  margin: auto;
}
@media screen and (max-width: 820px) {
  section.use .inner {
    width: 100%;
  }
}
section.use .inner.school {
  margin-bottom: 8rem;
  padding-bottom: 5rem;
  border-bottom: 2px solid #cddcfa;
}
@media screen and (max-width: 820px) {
  section.use .inner.school {
    width: 33.5rem;
  }
}
section.use .inner p.btn10 {
  width: 29rem;
  height: 5.2rem;
  margin: auto 0 auto 57rem;
}
@media screen and (max-width: 820px) {
  section.use .inner p.btn10 {
    margin: auto;
  }
}
section.use .inner p.btn10 a {
  width: 100%;
  height: 100%;
  background: #fff;
  border: 1px solid #0656f0;
  border-radius: 2.6rem;
  box-shadow: 0 0.5rem 0.5rem rgba(6, 86, 240, 0.2);
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  color: #0656f0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-left: 11rem;
  padding-right: 1.3rem;
  box-sizing: border-box;
  margin: auto auto 6rem;
  position: relative;
  cursor: pointer;
  transition: all 0.4s ease;
  background: #fff;
  background-size: 2.4rem;
}
section.use .inner p.btn10 a:hover {
  color: #fff;
  background: #0656f0;
  background-size: 2.4rem;
  opacity: 1;
}
section.use .inner p.btn10 a span {
  width: 2.4rem;
  height: 2.4rem;
  background: #e6eefd;
  border-radius: 50%;
  position: relative;
}
section.use .inner p.btn10 a span::before {
  content: '';
  width: 0.5rem;
  height: 0.5rem;
  border-top: 1px solid #0656f0;
  border-right: 1px solid #0656f0;
  transform: rotate(45deg);
  position: absolute;
  top: 38%;
  left: 34%;
}
section.use .inner .info {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  border-top: 2px solid #cddcfa;
  padding-top: 4rem;
  padding-bottom: 6rem;
  /*
  			.contBox {
  				width:80rem;
  				border-radius:2rem;
  				overflow: hidden;
  				background:url("../images/bg_useinfo.webp") no-repeat top -3.8rem left 42rem #0656f0;
  				background-size:26.7rem;
  				padding:1rem 3.5rem;
  				
  				@media screen and (max-width: 820px) {
  					width:100%;
  					padding:1.8rem 2rem;
  					background: url(../images/bg_useinfo.webp) no-repeat top 0 left 0 #0656f0;
          			background-size: 100%;
  				}
  			
  				dl {
  					width:100%;
  					color:#fff;
  					border-bottom:1px solid rgba(255,255,255,0.3);
  					display:flex;
  					justify-content: space-between;
  					padding:1.2rem 0 1.5rem;
  					
  					@media screen and (max-width: 820px) {
  						flex-direction: column;
  					}
  				
  					&:last-of-type {
  						border-bottom:none
  					}
  				
  					dt {
  						width:10.8rem;
  						font-size:200%;
  						font-weight:700;
  						
  						@media screen and (max-width: 820px) {
  							width:100%;
  						}
  					}
  				
  					dd {
  						width:calc(100% - 10.8rem);
  						font-size:200%;
  						font-weight:700;
  						
  						@media screen and (max-width: 820px) {
  							width:100%;
  						}
  					
  						p.attention {
  							font-size:0.65em;
  							font-weight:400;
  							line-height:2.2rem;
  							margin-top:1rem;
  						}
  					}
  				}
  			}
  */
}
@media screen and (max-width: 820px) {
  section.use .inner .info {
    width: 33.5rem;
    margin: auto;
    flex-direction: column;
    padding-top: 3rem;
    gap: 3rem;
  }
}
section.use .inner .info .addCont {
  margin-top: 3rem;
  display: flex;
  justify-content: center;
  margin-left: 32rem;
  width: 80rem;
}
@media screen and (max-width: 820px) {
  section.use .inner .info .addCont {
    width: 100%;
    margin-left: auto;
    margin-top: 0;
  }
}
section.use .inner .info h3 {
  width: 32rem;
  font-size: 330%;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 820px) {
  section.use .inner .info h3 {
    width: 100%;
    font-size: 280%;
  }
}
section.use .inner .info h3 span {
  font-size: 0.39em;
  font-weight: 400;
  display: block;
  margin-top: 1.4rem;
}
@media screen and (max-width: 820px) {
  section.use .inner .info h3 span {
    margin-top: 2rem;
  }
}
section.use .inner .info .tableBox {
  width: 80rem;
  /*				
  				p.btn6 {
  					width: 24rem;
      				height: 5.2rem;
      				background: #fff;
      				border: 1px solid #0656f0;
      				border-radius: 2.6rem;
      				box-shadow: 0 0.5rem 0.5rem rgba(6, 86, 240, 0.2);
      				font-size: 1.6rem;
      				font-weight: 700;
      				line-height: 1;
      				color: #0656f0;
      				display: flex;
      				justify-content: flex-start;
      				align-items: center;
      				padding-left: 4.2rem;
      				box-sizing: border-box;
      				margin: auto;
      				position: relative;
      				cursor: pointer;
      				transition: all 0.4s ease;
  					
  					&:hover {
  						background:#0656f0;
  						color:#fff;
  					}
  					
  					&::before {
  						content:'';
  						width:2.4rem;
  						height:2.4rem;
  						border-radius:50%;
  						background:#e6eefd;
  						position:absolute;
  						top:50%;
  						right:1.3rem;
  						transform: translateY(-50%);
  					}
  					
  					&::after {
  						content:'+';
  						font-size:2.1rem;
  						font-weight:400;
  						line-height:1;
  						color:#0656f0;
  						position:absolute;
  						top:28%;
  						right:1.85rem;
  
  					}
  				}
  				
  */
}
@media screen and (max-width: 820px) {
  section.use .inner .info .tableBox {
    width: 100%;
  }
}
section.use .inner .info .tableBox > h3 {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 2rem;
}
section.use .inner .info .tableBox p.attention {
  font-size: 130%;
}
section.use .inner .info .tableBox .dantai {
  width: 100%;
  background: #fff;
  margin: 3rem auto 6rem;
  padding: 3rem;
  border: 1px solid #cddcfa;
  border-radius: 1rem;
  /*					
  					p.btn5 {
  						width:29rem;
  						height:5.2rem;
  						margin:auto;
  						
  						a {
      						width: 100%;
      						height: 100%;
      						background: #fff;
      						border: 1px solid #0656f0;
      						border-radius: 2.6rem;
      						box-shadow: 0 0.5rem 0.5rem rgba(6, 86, 240, 0.2);
      						font-size: 1.6rem;
      						font-weight: 700;
      						line-height: 1;
      						color: #0656f0;
      						display: flex;
      						justify-content: flex-start;
      						align-items: center;
      						padding-left: 8rem;
      						box-sizing: border-box;
      						margin: auto auto 6rem;
      						position: relative;
      						cursor: pointer;
      						transition: all 0.4s ease;
      						background: url(../images/ico_pdf.webp) no-repeat center right 1.5rem;
      						background-size: 2.4rem;
  							
  							&:hover {
  								color:#fff;
  								background:url("../images/ico_pdf_w.webp") no-repeat center right 1.5rem #0656f0;
  								background-size:2.4rem;
  								opacity:1;
  							}
      					}
  						
  						&.nopdf {
  							
  							a {
  								background-image: none;
  								justify-content:space-between;
  								padding-right:1.3rem;
  							
  								&:hover {
  									color:#fff;
  									background:#0656f0;
  									opacity:1;
  								}
  								
  								span {
  									width: 2.4rem;
      								height: 2.4rem;
      								background: #e6eefd;
      								border-radius: 50%;
      								position: relative;
  					
  									&::before {
  										content: '';
  										width: 0.5rem;
  										height: 0.5rem;
  										border-top: 1px solid #0656f0;
  										border-right: 1px solid #0656f0;
  										transform: rotate(45deg);
  										position: absolute;
  										top: 38%;
  										left: 34%;
  									}
  								}
  								
  							}
  						}
  					}
  */
}
@media screen and (max-width: 820px) {
  section.use .inner .info .tableBox .dantai {
    padding: 3rem 2rem;
  }
}
section.use .inner .info .tableBox .dantai h4 {
  font-size: 160%;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 2rem;
}
@media screen and (max-width: 820px) {
  section.use .inner .info .tableBox .dantai h4 {
    margin-bottom: 1.5rem;
  }
}
section.use .inner .info .tableBox .dantai h5 {
  font-size: 160%;
  font-weight: 400;
  line-height: 1.5;
  margin-top: 3rem;
  margin-bottom: 3rem;
  font-feature-settings: "palt";
  letter-spacing: -0.05rem;
}
@media screen and (max-width: 820px) {
  section.use .inner .info .tableBox .dantai h5 {
    font-size: 1.5rem;
    line-height: 2.6rem;
  }
}
section.use .inner .info .tableBox .dantai p.lead {
  font-size: 130%;
}
section.use .inner .info .tableBox .dantai p.btn5 {
  font-size: 160%;
}
section.use .inner .info .tableBox .dantai p.btn5 a {
  justify-content: center;
  padding-left: 2rem;
}
section.use .inner .info .tableBox p.muryou {
  font-size: 160%;
  font-weight: 700;
  line-height: 1;
  color: #0656f0;
  background: #fff;
  margin: 3rem auto;
  border: 1px solid #cddcfa;
  border-radius: 1rem;
  padding: 1.5rem 0;
  width: 100%;
  text-align: center;
  box-sizing: border-box;
}
@media screen and (max-width: 820px) {
  section.use .inner .info .tableBox p.muryou {
    text-align: left;
    padding: 1.5rem 2rem;
    line-height: 2.7rem;
  }
}

section.facility {
  width: 100%;
  background-image: url(../images/bg_facility.webp), linear-gradient(to bottom, #f3f6ff, #ffffff);
  background-size: 100%;
  background-position: bottom center;
  background-repeat: no-repeat;
  padding-top: 10rem;
  padding-bottom: 12rem;
}
@media screen and (max-width: 820px) {
  section.facility {
    padding-top: 8rem;
    background-image: url(../images/bg_facility_sp.webp), linear-gradient(to bottom, #f3f6ff, #ffffff);
    background-size: 100%;
  }
}
section.facility .inner {
  width: 112rem;
  margin: auto;
  position: relative;
}
@media screen and (max-width: 820px) {
  section.facility .inner {
    width: 100%;
  }
}
section.facility .inner .backBtn {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: 6rem;
}
section.facility .inner .btns {
  width: 80rem;
  margin: 6rem auto;
  display: flex;
  justify-content: center;
  gap: 4rem;
}
@media screen and (max-width: 820px) {
  section.facility .inner .btns {
    width: 29.5rem;
    margin: 3rem auto;
    flex-direction: column;
    gap: 2rem;
  }
}
section.facility .inner .btns p.btn5 {
  position: static;
  width: 38rem;
}
@media screen and (max-width: 820px) {
  section.facility .inner .btns p.btn5 {
    width: 29.5rem;
    margin-top: 0;
  }
}
section.facility .inner .btns p.btn5 a {
  padding: 0 3rem;
  text-align: center;
}
section.facility .inner p.btn5 {
  position: absolute;
  top: 6rem;
  right: 0;
  width: 20.9rem;
}
@media screen and (max-width: 820px) {
  section.facility .inner p.btn5 {
    position: static;
    margin-top: 3rem;
  }
}
section.facility .inner p.btn5 a {
  padding-left: 4rem;
}
section.facility .inner p.lead {
  font-size: 160%;
  font-weight: 400;
}
@media screen and (max-width: 820px) {
  section.facility .inner p.lead {
    width: 33.5rem;
    margin: auto;
  }
}
section.facility .inner ul.rinks {
  width: 100%;
  margin: 3rem auto auto;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 820px) {
  section.facility .inner ul.rinks {
    width: 33.5rem;
    flex-direction: column;
    row-gap: 3rem;
  }
}
section.facility .inner ul.rinks li {
  width: 54.4rem;
  height: 37rem;
}
@media screen and (max-width: 820px) {
  section.facility .inner ul.rinks li {
    width: 100%;
    height: auto;
  }
}
section.facility .inner ul.rinks li a figure {
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 1rem;
  position: relative;
}
@media screen and (max-width: 820px) {
  section.facility .inner ul.rinks li a figure {
    height: 22.7849rem;
  }
}
section.facility .inner ul.rinks li a figure img {
  transition: all 0.4s ease;
}
section.facility .inner ul.rinks li a figure figcaption {
  font-size: 235%;
  font-weight: 700;
  margin-top: 2rem;
  line-height: 1;
  position: absolute;
  bottom: 3rem;
  left: 2.7rem;
  color: #fff;
  background: url("../images/arrow_r.webp") no-repeat center right;
  background-size: 2.4rem;
  padding-right: 3.6rem;
  font-feature-settings: "palt";
}
@media screen and (max-width: 820px) {
  section.facility .inner ul.rinks li a figure figcaption {
    margin-top: 1.5rem;
    font-size: 160%;
    line-height: 1.5;
    bottom: 2rem;
    left: 1.7rem;
    width: 100%;
    box-sizing: border-box;
    padding-right: 0;
    background: url("../images/arrow_r_sp.webp") no-repeat center right 3rem;
    background-size: 2.4rem;
    min-height: 2.6rem;
  }
}
section.facility .inner ul.rinks li a:hover {
  opacity: 1;
}
section.facility .inner ul.rinks li a:hover figure {
  opacity: 1;
}
section.facility .inner ul.rinks li a:hover figure img {
  transform: scale(1.1);
  opacity: 1;
}
section.facility .inner ul.rinks li.construction a {
  pointer-events: none;
}
section.facility .inner ul.rinks li.construction a figure figcaption {
  background-image: none;
}

section.access {
  width: 100%;
  background: linear-gradient(to bottom, #f3f6fe, #ffffff);
  padding-top: 10rem;
  padding-bottom: 8rem;
}
@media screen and (max-width: 820px) {
  section.access {
    padding-top: 8rem;
    padding-bottom: 6rem;
  }
}
@media screen and (max-width: 820px) {
  section.access.accessPage {
    padding-bottom: 4rem;
  }
}
section.access .inner {
  width: 112rem;
  margin: auto;
  position: relative;
}
@media screen and (max-width: 820px) {
  section.access .inner {
    width: 33.5rem;
  }
}
section.access .inner p.btn5 {
  position: absolute;
  top: 6rem;
  right: 0;
  width: 20.5rem;
}
section.access .inner p.btn5.accessPage {
  width: 24rem;
  position: static;
  margin: -4rem 0 3rem 88rem;
}
@media screen and (max-width: 820px) {
  section.access .inner p.btn5.accessPage {
    position: static;
    margin: -4rem 0 3rem 9.5rem;
  }
}
@media screen and (max-width: 820px) {
  section.access .inner p.btn5 {
    position: static;
    margin-top: 3rem;
  }
}
section.access .inner p.btn5 a {
  padding-left: 4rem;
}
section.access .inner .gmap {
  width: 100%;
  height: 40rem;
  margin-bottom: 6rem;
  border-radius: 2rem;
  overflow: hidden;
}
@media screen and (max-width: 820px) {
  section.access .inner .gmap {
    height: 33.5rem;
  }
}
section.access .inner .gmap iframe {
  width: 100%;
  height: 100%;
}
section.access .inner .accessIntoro {
  width: 100%;
  margin: auto auto 6rem;
  position: relative;
}
section.access .inner .accessIntoro h3 {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 2rem;
  width: 26rem;
}
section.access .inner .accessIntoro p {
  font-size: 1.6rem;
  line-height: 1;
}
section.access .inner .accessIntoro p.toForm {
  margin: 2rem 0 auto;
  width: 25.4rem;
  height: 5.2rem;
}
@media screen and (max-width: 820px) {
  section.access .inner .accessIntoro p.toForm {
    width: 25.4rem;
    height: 5.2rem;
    margin: 2rem auto 1rem;
  }
}
section.access .inner .accessIntoro p.toForm a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(to right, #00d2d7, #008eff);
  border-radius: 2.6rem;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  padding: 0 1.2rem 0 4rem;
  box-sizing: border-box;
  position: relative;
  z-index: 0;
  box-shadow: 0 0.5rem 0.5rem rgba(6, 86, 240, 0.2);
}
section.access .inner .accessIntoro p.toForm a:hover {
  opacity: 1;
}
section.access .inner .accessIntoro p.toForm a::before {
  content: '';
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(to right, #008eff, #00d2d7);
  border-radius: 2.6rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
  transition: all 0.4s ease;
}
section.access .inner .accessIntoro p.toForm a:hover::before {
  opacity: 1;
}
section.access .inner .accessIntoro p.toForm a span {
  width: 2.4rem;
  height: 2.4rem;
  background: #fff;
  border-radius: 50%;
  position: relative;
}
section.access .inner .accessIntoro p.toForm a span::before {
  content: '';
  width: 0.5rem;
  height: 0.5rem;
  border-top: 1px solid #0656f0;
  border-right: 1px solid #0656f0;
  transform: rotate(45deg);
  position: absolute;
  top: 38%;
  left: 34%;
}
section.access .inner .accessIntoro p.tel {
  font-size: 3.3rem;
  font-weight: 700;
  color: #0656f0;
  margin-top: 2rem;
}
@media screen and (max-width: 820px) {
  section.access .inner .accessIntoro p.tel {
    font-size: 2.8rem;
  }
}
section.access .inner .accessIntoro p.tel a {
  font-size: 4.4rem;
  color: #0656f0;
}
@media screen and (max-width: 820px) {
  section.access .inner .accessIntoro p.tel a {
    font-size: 3.2rem;
  }
}
section.access .inner .accessIntoro .addInfo {
  width: 100%;
  border: 1px solid #cddcfa;
  border-radius: 1rem;
  padding: 3rem 4rem;
  margin: 3rem auto auto;
}
@media screen and (max-width: 820px) {
  section.access .inner .accessIntoro .addInfo {
    padding: 2.5rem 2rem;
  }
}
section.access .inner .accessIntoro .addInfo h4 {
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 2rem;
  font-feature-settings: "palt";
}
section.access .inner .accessIntoro .addInfo p.lead {
  font-size: 1.6rem;
  line-height: 1.7;
}
section.access .inner .accessIntoro .addInfo p.lead + p.lead {
  margin-top: 3rem;
}
section.access .inner .accessIntoro .addInfo p.lead span {
  font-weight: 700;
  color: #e80000;
}
section.access .inner .viaBox {
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin-bottom: 3rem;
}
@media screen and (max-width: 820px) {
  section.access .inner .viaBox {
    flex-direction: column;
    row-gap: 3rem;
  }
}
section.access .inner .viaBox .via {
  width: 54.4rem;
}
@media screen and (max-width: 820px) {
  section.access .inner .viaBox .via {
    width: 100%;
  }
}
section.access .inner .viaBox .via h4 {
  font-size: 200%;
  font-weight: 700;
  line-height: 1;
  color: #0656f0;
  padding-left: 3.8rem;
  margin-bottom: 1.5rem;
  height: 3.2rem;
  display: flex;
  align-items: center;
}
section.access .inner .viaBox .via h4.viaCar {
  background: url("../images/ico_car.webp") no-repeat center left;
  background-size: 3.2rem;
}
section.access .inner .viaBox .via h4.viaPub {
  background: url("../images/ico_pub.webp") no-repeat center left;
  background-size: 3.2rem;
}
section.access .inner .viaBox .via h4.viaBus {
  background: url("../images/ico_bus.webp") no-repeat center left;
  background-size: 3.2rem;
}
section.access .inner .viaBox .via p {
  font-size: 160%;
}
@media screen and (max-width: 820px) {
  section.access .inner .viaBox .via p {
    font-feature-settings: "palt";
  }
}
section.access .inner .viaBox .via h5 {
  font-size: 160%;
  font-weight: 700;
  margin-top: 1rem;
  font-feature-settings: "palt";
}
section.access .inner p.muryou {
  font-size: 160%;
  font-weight: 700;
  line-height: 1;
  color: #e80000;
  background: #fff;
  margin: 3rem auto 0;
  border: 1px solid #e80000;
  border-radius: 1rem;
  padding: 1.5rem 0;
  width: 92rem;
  text-align: center;
  box-sizing: border-box;
}
@media screen and (max-width: 820px) {
  section.access .inner p.muryou {
    width: 100%;
    padding: 1.5rem 2rem;
    text-align: left;
    font-size: 2rem;
    line-height: 3.4rem;
  }
}

section.salesinfo {
  width: 100%;
  background: #0656f0;
  padding: 2rem 0;
}
section.salesinfo .inner {
  width: 111.8rem;
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 820px) {
  section.salesinfo .inner {
    width: 33.5rem;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 1rem;
  }
}
section.salesinfo .inner h2 {
  font-size: 200%;
  font-weight: 700;
  color: #fff;
  width: 12.8rem;
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 820px) {
  section.salesinfo .inner h2 {
    width: 100%;
    align-items: flex-start;
    margin: auto auto auto;
    padding-left: 0;
  }
}
section.salesinfo .inner h2::before {
  display: none;
}
section.salesinfo .inner .infoBox {
  width: 99rem;
  background: #fff;
  border-radius: 1rem;
  border: 1px solid #cddcfa;
  padding: 1.5rem 1.8rem;
}
@media screen and (max-width: 820px) {
  section.salesinfo .inner .infoBox {
    padding: 1rem 1.8rem;
  }
}
section.salesinfo .inner .infoBox p {
  font-size: 160%;
}

section.importantinfo {
  width: 100%;
  background: #fff8fa;
  padding: 3.6rem 0 2.7rem;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 820px) {
  section.importantinfo {
    padding: 3rem 0 2.7rem;
  }
}
section.importantinfo .inner {
  width: 111.8rem;
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
}
@media screen and (max-width: 820px) {
  section.importantinfo .inner {
    width: 33.5rem;
    flex-wrap: wrap;
  }
}
section.importantinfo .inner h2 {
  font-size: 200%;
  font-weight: 700;
  color: #e80000;
  width: 18.6rem;
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
}
@media screen and (max-width: 820px) {
  section.importantinfo .inner h2 {
    width: 100%;
    padding-left: 0;
    padding-bottom: 1.7rem;
    border-bottom: 0.2rem solid #e80000;
    margin-bottom: 1.5rem;
  }
}
section.importantinfo .inner h2::before {
  display: none;
}
section.importantinfo .inner .infoBox {
  width: calc(100% - 18.6rem);
  padding-bottom: 3rem;
  position: relative;
}
@media screen and (max-width: 820px) {
  section.importantinfo .inner .infoBox {
    width: 100%;
  }
}
section.importantinfo .inner .infoBox.onepost {
  padding-bottom: 0;
}
section.importantinfo .inner .infoBox.onepost dl {
  margin-bottom: 0;
}
section.importantinfo .inner .infoBox dl {
  font-size: 160%;
  width: 100%;
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 820px) {
  section.importantinfo .inner .infoBox dl {
    margin-bottom: 1rem;
  }
}
section.importantinfo .inner .infoBox dl a {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 820px) {
  section.importantinfo .inner .infoBox dl a {
    flex-direction: column;
  }
}
section.importantinfo .inner .infoBox dl a dt {
  width: 14.8rem;
  color: #000032;
}
@media screen and (max-width: 820px) {
  section.importantinfo .inner .infoBox dl a dt {
    width: 100%;
  }
}
section.importantinfo .inner .infoBox dl a dd {
  width: calc(100% - 14.8rem);
  color: #e80000;
  position: relative;
}
@media screen and (max-width: 820px) {
  section.importantinfo .inner .infoBox dl a dd {
    width: 100%;
  }
}
section.importantinfo .inner .infoBox dl a dd.pdf {
  text-indent: 2.6rem;
}
section.importantinfo .inner .infoBox dl a dd.pdf::before {
  content: '';
  width: 2.4rem;
  height: 2.4rem;
  background: url(../images/ico_pdf.webp) no-repeat center left;
  background-size: 2.4rem;
  position: absolute;
  top: 0.1rem;
  left: 0;
}
section.importantinfo .inner .infoBox dl a dd.ext {
  text-indent: 2.6rem;
}
section.importantinfo .inner .infoBox dl a dd.ext::before {
  content: '';
  width: 2.4rem;
  height: 2.4rem;
  background: url(../images/ico_ext_blk.webp) no-repeat center left;
  background-size: 2.4rem;
  position: absolute;
  top: 0.1rem;
  left: 0;
}
section.importantinfo .inner .infoBox dl a:hover {
  opacity: 1;
}
section.importantinfo .inner .infoBox dl a:hover dt {
  text-decoration: underline;
}
section.importantinfo .inner .infoBox dl a:hover dd {
  text-decoration: underline;
}

.extend {
  display: none;
  margin-top: 10px;
}

.more {
  width: 100%;
  display: flex;
  justify-content: center;
}
.more span {
  cursor: pointer;
  background: url(../images/more_open.webp) no-repeat center right;
  background-size: 2.4rem;
  padding-right: 3rem;
  font-size: 160%;
}
.more span:hover {
  text-decoration: underline;
}
.more span.open {
  background: url(../images/more_close.webp) no-repeat center right;
  background-size: 2.4rem;
}

.more.open {
  position: absolute;
  bottom: 0;
  left: 0;
  margin: auto;
}
.more.open span {
  background: url(../images/more_close.webp) no-repeat center right;
  background-size: 2.4rem;
  padding-right: 3rem;
  font-size: 160%;
}

section.newsArea {
  width: 100%;
  background: linear-gradient(to bottom, #f3f6fe, #ffffff);
  padding-bottom: 8rem;
}
@media screen and (max-width: 820px) {
  section.newsArea {
    padding-bottom: 6rem;
  }
}
section.newsArea.newsPage {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media screen and (max-width: 820px) {
  section.newsArea.newsPage {
    padding-bottom: 4rem;
  }
}
section.newsArea.serchResult {
  background: none;
}
section.newsArea .inner {
  width: 112rem;
  margin: auto;
  padding-top: 9.2rem;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 820px) {
  section.newsArea .inner {
    width: 33.5rem;
    flex-wrap: wrap;
  }
}
section.newsArea .inner.newsPage {
  width: 80rem;
  padding-top: 5rem;
}
@media screen and (max-width: 820px) {
  section.newsArea .inner.newsPage {
    width: 89.3vw;
  }
}
section.newsArea .inner h2 {
  font-size: 470%;
  font-weight: 700;
  line-height: 1;
  position: relative;
  margin-bottom: 6rem;
  display: flex;
  align-items: center;
  margin-top: 0;
  padding-top: 0;
}
@media screen and (max-width: 820px) {
  section.newsArea .inner h2 {
    font-size: 3.8rem;
    padding-left: 4rem;
    width: 33.5rem;
    margin: auto auto 4rem;
    box-sizing: border-box;
    margin-top: -5rem;
    padding-top: 5rem;
  }
}
section.newsArea .inner h2::before {
  content: '';
  position: absolute;
  top: -3rem;
  left: -8rem;
  width: 12.8rem;
  height: 8rem;
  background: url(../images/bg_h2_after.webp) no-repeat;
  background-size: contain;
}
@media screen and (max-width: 820px) {
  section.newsArea .inner h2::before {
    top: 2.7rem;
    left: -1rem;
    width: 6rem;
  }
}
section.newsArea .inner .headLine {
  width: 32.2rem;
}
@media screen and (max-width: 820px) {
  section.newsArea .inner .headLine {
    width: 100%;
  }
}
section.newsArea .inner .newsList {
  width: calc(100% - 32.2rem);
}
@media screen and (max-width: 820px) {
  section.newsArea .inner .newsList {
    width: 100%;
  }
}
section.newsArea .inner .newsList.newsPage {
  width: 100%;
}
section.newsArea .inner .newsList dl {
  width: 100%;
  border-bottom: 1px solid #cddcfa;
  padding-bottom: 2.2rem;
  margin-bottom: 2.2rem;
}
section.newsArea .inner .newsList dl a dt {
  width: 100%;
  font-size: 160%;
  display: flex;
  justify-content: flex-start;
  gap: 2rem;
  align-items: center;
  color: #000032;
  margin-bottom: 1.4rem;
}
section.newsArea .inner .newsList dl a dt span {
  font-size: 0.75em;
  font-weight: 700;
  line-height: 1;
  color: #0656f0;
  width: 10rem;
  height: 2.4rem;
  border-radius: 1.2rem;
  border: 1px solid #cddcfa;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
section.newsArea .inner .newsList dl a dt.resultTtl {
  font-size: 200%;
  font-weight: 700;
  color: #0656f0;
}
@media screen and (max-width: 820px) {
  section.newsArea .inner .newsList dl a dt.resultTtl {
    margin-bottom: 0.5rem;
  }
}
section.newsArea .inner .newsList dl a dd {
  width: 100%;
  font-size: 160%;
  color: #000032;
  box-sizing: border-box;
}
section.newsArea .inner .newsList dl a dd.pdf {
  text-indent: 2.6rem;
  position: relative;
}
section.newsArea .inner .newsList dl a dd.pdf::before {
  content: '';
  width: 2.6rem;
  height: 2.6rem;
  background: url(../images/ico_pdf.webp) no-repeat center left;
  background-size: 2.4rem;
  position: absolute;
  top: 0;
  left: 0;
}
section.newsArea .inner .newsList dl a dd.ext {
  text-indent: 2.6rem;
  position: relative;
}
section.newsArea .inner .newsList dl a dd.ext::before {
  content: '';
  width: 2.6rem;
  height: 2.6rem;
  background: url(../images/ico_ext_blk.webp) no-repeat center left;
  background-size: 2.4rem;
  position: absolute;
  top: 0;
  left: 0;
}
section.newsArea .inner .newsList dl a:hover {
  opacity: 1;
}
section.newsArea .inner .newsList dl a:hover dt {
  text-decoration: underline;
}
section.newsArea .inner .newsList dl a:hover dd {
  text-decoration: underline;
}
@media screen and (max-width: 820px) {
  section.newsArea .inner .newsList p.btn11 {
    margin: 3rem auto auto;
  }
}
section.newsArea .bnrArea {
  margin: 8rem auto auto;
  width: 80rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1.8rem;
}
@media screen and (max-width: 820px) {
  section.newsArea .bnrArea {
    width: 33.5rem;
    gap: 0.7rem;
    margin: 6rem auto auto;
  }
}
section.newsArea .bnrArea figure {
  width: 100%;
  height: 16rem;
  overflow: hidden;
}
@media screen and (max-width: 820px) {
  section.newsArea .bnrArea figure {
    height: auto;
  }
}
section.newsArea .bnrArea figure a img {
  transition: all 0.4s ease;
}
section.newsArea .bnrArea figure a:hover img {
  transform: scale(1.1);
}
@media screen and (max-width: 820px) {
  section.newsArea .bnrArea figure a:hover img {
    transform: none;
  }
}

.precautions {
  width: 80rem;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
@media screen and (max-width: 820px) {
  .precautions {
    width: 33.5rem;
  }
}
.precautions .prec {
  width: 100%;
  background: #e6eefd;
  border: 1px solid #cddcfa;
  border-radius: 1rem;
  padding: 2.4rem 2.7rem;
  text-align: center;
}
@media screen and (max-width: 820px) {
  .precautions .prec {
    padding: 2.4rem 2rem;
  }
}
.precautions .prec p {
  font-size: 160%;
}
@media screen and (max-width: 820px) {
  .precautions .prec p {
    text-align: left;
  }
}
@media screen and (max-width: 820px) {
  .precautions .prec p.alignC {
    text-align: center;
  }
}
.precautions .prec p span.marker {
  font-weight: 700;
}
.precautions .prec p.btn6 {
  width: 40rem;
  margin-top: 1.8rem;
}
@media screen and (max-width: 820px) {
  .precautions .prec p.btn6 {
    width: 26rem;
  }
}

section.schoolInfo {
  width: 100%;
  padding-top: 10rem;
  padding-bottom: 8rem;
  background: url("../images/bg_schoolinfo.webp") no-repeat top right, linear-gradient(to bottom, #f3f6ff, #ffffff);
  background-size: 100%;
}
@media screen and (max-width: 820px) {
  section.schoolInfo {
    background: url("../images/bg_schoolinfo_sp.webp") no-repeat top right, linear-gradient(to bottom, #f3f6ff, #ffffff);
    background-size: 100%;
    padding-top: 14.6rem;
    padding-bottom: 6rem;
  }
}
section.schoolInfo .inner {
  width: 112rem;
  margin: auto;
}
@media screen and (max-width: 820px) {
  section.schoolInfo .inner {
    width: 33.5rem;
  }
}
section.schoolInfo .inner h2 {
  margin-bottom: 3.6rem;
}
section.schoolInfo .inner p.lead {
  font-size: 160%;
  line-height: 1.7;
}
section.schoolInfo .inner ul.infoBox {
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin: 12.5rem auto auto;
}
@media screen and (max-width: 820px) {
  section.schoolInfo .inner ul.infoBox {
    margin: 2.5rem auto auto;
    flex-direction: column;
    row-gap: 3rem;
  }
}
section.schoolInfo .inner ul.infoBox li {
  width: 54.4rem;
  box-shadow: 0.5rem 0.5rem 0.5rem rgba(0, 98, 255, 0.1);
  border-radius: 2rem;
  overflow: hidden;
  padding: 0 0 3rem;
  background: #fff;
}
@media screen and (max-width: 820px) {
  section.schoolInfo .inner ul.infoBox li {
    width: 100%;
  }
}
section.schoolInfo .inner ul.infoBox li a h3 {
  font-size: 240%;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  background: #0656f0;
  width: 100%;
  height: 6.4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.9rem;
}
@media screen and (max-width: 820px) {
  section.schoolInfo .inner ul.infoBox li a h3 {
    padding: 0 2rem;
    box-sizing: border-box;
  }
}
section.schoolInfo .inner ul.infoBox li a h3 span {
  width: 2.4rem;
  height: 2.4rem;
  background: #e6eefd;
  border-radius: 50%;
  position: relative;
}
section.schoolInfo .inner ul.infoBox li a h3 span::before {
  content: '';
  width: 0.5rem;
  height: 0.5rem;
  border-top: 1px solid #0656f0;
  border-right: 1px solid #0656f0;
  transform: rotate(45deg);
  position: absolute;
  top: 38%;
  left: 34%;
}
section.schoolInfo .inner ul.infoBox li a h4 {
  width: 46.4rem;
  margin: 2.4rem auto 0.7rem;
  font-size: 200%;
  font-weight: 700;
  color: #0656f0;
}
@media screen and (max-width: 820px) {
  section.schoolInfo .inner ul.infoBox li a h4 {
    width: 29.5rem;
    margin: 2.4rem auto 1.2rem;
  }
}
section.schoolInfo .inner ul.infoBox li a p {
  width: 46.4rem;
  margin: auto auto 1.7rem;
  font-size: 140%;
  line-height: 1.9;
  color: #000032;
}
@media screen and (max-width: 820px) {
  section.schoolInfo .inner ul.infoBox li a p {
    width: 29.5rem;
    margin: auto auto 1.7rem;
  }
}
section.schoolInfo .inner ul.infoBox li a figure {
  width: 46.4rem;
  height: 28.6rem;
  border-radius: 1rem;
  overflow: hidden;
  margin: auto;
}
@media screen and (max-width: 820px) {
  section.schoolInfo .inner ul.infoBox li a figure {
    width: 29.5rem;
    height: 18.183rem;
  }
}
section.schoolInfo .inner ul.infoBox li a figure img {
  transition: all 0.4s ease;
}
section.schoolInfo .inner ul.infoBox li a:hover {
  text-decoration: none;
}
section.schoolInfo .inner ul.infoBox li a:hover h3 {
  text-decoration: underline;
}
section.schoolInfo .inner ul.infoBox li a:hover h4 {
  text-decoration: none;
}
section.schoolInfo .inner ul.infoBox li a:hover p {
  text-decoration: none;
}
section.schoolInfo .inner ul.infoBox li a:hover figure img {
  transform: scale(1.1);
}

.tabCont {
  width: 80rem;
}
@media screen and (max-width: 820px) {
  .tabCont {
    width: 33.5rem;
  }
}
.tabCont ul.tab-menu, .tabCont ul.tab-menu2 {
  width: 100%;
  height: 4.2rem;
  border: 1px solid #cddcfa;
  background: #fff;
  border-radius: 2.1rem;
  margin-bottom: 4rem;
}
.tabCont ul.tab-menu li, .tabCont ul.tab-menu2 li {
  width: 40rem;
  height: 100%;
  background: #fff;
  border-radius: 2.1rem;
  font-size: 160%;
  font-weight: 700;
  color: #0656f0;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 820px) {
  .tabCont ul.tab-menu li, .tabCont ul.tab-menu2 li {
    font-size: 139%;
  }
}
.tabCont ul.tab-menu li.active, .tabCont ul.tab-menu2 li.active {
  background: #0656f0;
  color: #fff;
}
.tabCont ul.tab-menu li:hover, .tabCont ul.tab-menu2 li:hover {
  text-decoration: underline;
}
.tabCont .tab-content h4, .tabCont .tab-content2 h4 {
  font-size: 240%;
  font-weight: 700;
  margin-bottom: 2rem;
}
.tabCont .tab-content figure, .tabCont .tab-content2 figure {
  width: 100%;
}
.tabCont iframe {
  width: 100%;
}

.footBnrBox {
  width: 100%;
  border-top: 1px solid #cddcfa;
  padding: 2.8rem 0;
}
.footBnrBox ul {
  width: 112rem;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
}
@media screen and (max-width: 820px) {
  .footBnrBox ul {
    width: 33.5rem;
    gap: 1rem;
  }
}
.footBnrBox ul li {
  width: 26.8rem;
}
@media screen and (max-width: 820px) {
  .footBnrBox ul li {
    width: 16.25rem;
  }
}
.footBnrBox ul li a {
  width: 100%;
  height: 7rem;
  overflow: hidden;
  display: block;
}
@media screen and (max-width: 820px) {
  .footBnrBox ul li a {
    height: 4.2444rem;
  }
}
.footBnrBox ul li a img {
  transition: all 0.4s ease;
}
.footBnrBox ul li a:hover img {
  transform: scale(1.1);
}

.siteMap {
  width: 100%;
  background: #e6eefd;
  padding: 5.8rem 0;
  border-top: 1px solid #cddcfa;
}
@media screen and (max-width: 820px) {
  .siteMap {
    padding: 3.5rem 0 6rem;
  }
}
.siteMap .inner {
  width: 112rem;
  margin: auto;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 820px) {
  .siteMap .inner {
    flex-direction: column-reverse;
    width: 33.5rem;
    row-gap: 6rem;
  }
}
.siteMap .inner .corp {
  width: 40rem;
}
@media screen and (max-width: 820px) {
  .siteMap .inner .corp {
    width: 100%;
    text-align: center;
  }
}
.siteMap .inner .corp h2 {
  width: 26rem;
  height: 2.2418rem;
  margin-bottom: 1rem;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  background: url("../images/logo.webp") no-repeat;
  background-size: 100%;
}
@media screen and (max-width: 820px) {
  .siteMap .inner .corp h2 {
    margin: auto;
    margin-bottom: 1rem;
  }
}
.siteMap .inner .corp p {
  font-size: 160%;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 820px) {
  .siteMap .inner .corp p {
    margin-bottom: 3.7rem;
  }
}
.siteMap .inner .corp p.tel {
  font-size: 160%;
  font-weight: 700;
  line-height: 1;
  color: #0656f0;
  display: flex;
  align-items: center;
  margin-bottom: 2rem;
}
@media screen and (max-width: 820px) {
  .siteMap .inner .corp p.tel {
    margin: auto auto 3.5rem;
    justify-content: center;
  }
}
.siteMap .inner .corp p.tel span {
  font-size: 100%;
  margin-right: 0.5rem;
}
.siteMap .inner .corp p.tel a {
  font-size: 1.68em;
  color: #0656f0;
}
.siteMap .inner .corp p.toForm {
  width: 25.4rem;
  height: 5.2rem;
}
@media screen and (max-width: 820px) {
  .siteMap .inner .corp p.toForm {
    margin: auto auto auto;
  }
}
.siteMap .inner .corp p.toForm a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(to right, #008eff, #00d2d7);
  border-radius: 2.6rem;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  padding: 0 1.2rem 0 4rem;
  box-sizing: border-box;
  position: relative;
  z-index: 0;
  box-shadow: 0 0.5rem 0.5rem rgba(6, 86, 240, 0.2);
}
.siteMap .inner .corp p.toForm a:hover {
  opacity: 1;
}
.siteMap .inner .corp p.toForm a::before {
  content: '';
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(to right, #00d2d7, #008eff);
  border-radius: 2.6rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
  transition: all 0.4s ease;
}
.siteMap .inner .corp p.toForm a:hover::before {
  opacity: 1;
}
.siteMap .inner .corp p.toForm a span {
  width: 2.4rem;
  height: 2.4rem;
  background: #fff;
  border-radius: 50%;
  position: relative;
}
.siteMap .inner .corp p.toForm a span::before {
  content: '';
  width: 0.5rem;
  height: 0.5rem;
  border-top: 1px solid #0656f0;
  border-right: 1px solid #0656f0;
  transform: rotate(45deg);
  position: absolute;
  top: 38%;
  left: 34%;
}
.siteMap .inner .links {
  width: 72rem;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 820px) {
  .siteMap .inner .links {
    width: 100%;
    flex-direction: column;
  }
}
@media screen and (max-width: 820px) {
  .siteMap .inner .links div {
    padding-top: 1.5rem;
    border-bottom: 0.1rem solid #cddcfa;
  }
}
.siteMap .inner .links a {
  color: #000032;
}
@media screen and (max-width: 820px) {
  .siteMap .inner .links h3 {
    border-bottom: 0.1rem solid #cddcfa;
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
  }
}
@media screen and (max-width: 820px) {
  .siteMap .inner .links h3.noBdr {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 1.2rem;
  }
}
.siteMap .inner .links h3 + h3 {
  margin-top: 3rem;
}
@media screen and (max-width: 820px) {
  .siteMap .inner .links h3 + h3 {
    margin-top: 0;
  }
}
.siteMap .inner .links h3 a {
  font-size: 140%;
  font-weight: 700;
}
@media screen and (max-width: 820px) {
  .siteMap .inner .links h3 a {
    font-size: 160%;
  }
}
.siteMap .inner .links ul {
  margin-top: 1rem;
  display: flex;
  flex-direction: column;
  row-gap: 0.6rem;
}
@media screen and (max-width: 820px) {
  .siteMap .inner .links ul {
    margin-left: 2rem;
    width: calc(100% - 2rem);
    margin-bottom: 1.5rem;
  }
}
.siteMap .inner .links ul li a {
  font-size: 120%;
}
@media screen and (max-width: 820px) {
  .siteMap .inner .links ul li a {
    font-size: 140%;
  }
}

.back-top {
  position: fixed;
  bottom: 1rem;
  right: 2rem;
  width: 3.2rem;
  height: 3.2rem;
  background: url("../images/back-top.webp") no-repeat;
  background-size: 3.2rem;
  cursor: pointer;
}

.searchCont {
  display: none;
  background-color: rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 6rem;
  left: 0;
  width: 100%;
  height: calc(100vh - 6rem);
  z-index: 4;
}
@media screen and (max-width: 1120px) {
  .searchCont {
    top: 100px;
    height: calc(100vh - 100px);
  }
}
@media screen and (max-width: 820px) {
  .searchCont {
    display: block !important;
    position: static;
    height: auto;
  }
}
.searchCont .outer {
  width: 100%;
  height: calc(100% - 14.2rem);
}
.searchCont .inner {
  width: 100%;
  height: 14.2rem;
  padding: 3rem 0;
  background: #cddcfa;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
}
@media screen and (max-width: 820px) {
  .searchCont .inner {
    padding: 2rem 0;
  }
}
.searchCont .inner .searchBox {
  display: flex;
  flex-direction: column;
  row-gap: 1.5rem;
  align-items: flex-end;
}
.searchCont .inner .searchBox p.close {
  font-size: 140%;
  cursor: pointer;
  background: url("../images/seach_close.webp") no-repeat center left;
  background-size: 1.49rem;
  height: 1.49rem;
  padding-left: 2.2rem;
  display: flex;
  align-items: center;
}
.searchCont .inner .searchBox p.close:hover {
  text-decoration: underline;
}
.searchCont .inner .searchBox form {
  position: relative;
  width: 40rem;
  height: auto;
}
@media screen and (max-width: 820px) {
  .searchCont .inner .searchBox form {
    width: 33.5rem;
  }
}
.searchCont .inner .searchBox form input[type="search"]::-webkit-search-cancel-button {
  display: none;
}
.searchCont .inner .searchBox form input[type="search"] {
  -webkit-appearance: none;
  appearance: none;
}
.searchCont .inner .searchBox form input {
  all: unset;
  width: 100%;
  background: #fff;
  border-radius: 1rem;
  font-size: 160%;
  padding: 1rem 1.9rem;
  box-sizing: border-box;
}
.searchCont .inner .searchBox form input::placeholder {
  color: #000032;
}
@media screen and (max-width: 820px) {
  .searchCont .inner .searchBox form input {
    padding: 0.84rem 1.9rem;
  }
}
.searchCont .inner .searchBox form button.search-submit {
  all: unset;
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  background: url("../images/bg_search.webp") no-repeat;
  background-size: 2.4rem;
  cursor: pointer;
  position: absolute;
  right: 1rem;
  top: 1.2rem;
}

.search, .close {
  cursor: pointer;
}

.modal {
  display: none;
  /* 初期状態は非表示 */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  justify-content: center;
  align-items: center;
  z-index: 501;
  padding: 4rem 0;
}
@media screen and (max-width: 820px) {
  .modal {
    padding: 2rem 0;
    align-items: normal;
  }
}

.modal-content {
  background: #fff;
  box-sizing: border-box;
  width: 92rem;
  height: 100%;
  position: relative;
  border-radius: 2rem;
  overflow: hidden;
}
@media screen and (max-width: 820px) {
  .modal-content {
    width: 35.5rem;
    height: auto;
  }
}
.modal-content h2 {
  width: 100%;
  height: 8rem;
  padding-left: 6rem;
  font-size: 3.4rem;
  font-weight: 700;
  color: #fff;
  background: #0656f0;
  border-radius: 2rem 2rem 0 0;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  box-sizing: border-box;
}
@media screen and (max-width: 820px) {
  .modal-content h2 {
    font-size: 2.6rem;
    height: 6rem;
    padding-left: 2rem;
  }
}
.modal-content > h3 {
  font-size: 2.4rem;
  font-weight: 700;
  border-bottom: 2px solid #cddcfa;
  padding-bottom: 2rem;
  width: 80rem;
  margin: auto;
  margin-top: 3rem;
  margin-bottom: 0.8rem;
}
@media screen and (max-width: 820px) {
  .modal-content > h3 {
    width: 31.5rem;
    padding: 1.5rem 0;
    box-sizing: border-box;
    margin-bottom: 0;
  }
}
.modal-content .inner {
  background: #fff;
  padding: 2.2rem 6rem;
  height: calc(100vh - 18rem);
  overflow-y: scroll;
}
@media screen and (max-width: 820px) {
  .modal-content .inner {
    padding: 2rem 2rem 0;
    height: calc(100vh - 12rem);
  }
}
.modal-content .inner.modal3, .modal-content .inner.modal4 {
  height: calc(100vh - 21rem);
}
@media screen and (max-width: 820px) {
  .modal-content .inner.modal3, .modal-content .inner.modal4 {
    height: calc(100vh - 16rem);
  }
}
@media screen and (max-width: 820px) {
  .modal-content .inner.modal11, .modal-content .inner.modal12, .modal-content .inner.modal13 {
    height: calc(100vh - 16rem);
  }
}
.modal-content .inner h3 {
  font-size: 2.4rem;
  font-weight: 700;
  border-bottom: 2px solid #cddcfa;
  padding-bottom: 2rem;
  margin-top: 3rem;
  margin-bottom: 3rem;
}
@media screen and (max-width: 820px) {
  .modal-content .inner h3 {
    padding-bottom: 1rem;
    margin-bottom: 2rem;
  }
}
.modal-content .inner h3:first-of-type {
  margin-top: auto;
}
.modal-content .inner h4 {
  font-size: 2rem;
  font-weight: 700;
  color: #0656f0;
  margin-top: 5rem;
  margin-bottom: 1.5rem;
}
.modal-content .inner h4:first-of-type {
  margin-top: auto;
}
.modal-content .inner p {
  font-size: 1.6rem;
}
.modal-content .inner p + p {
  margin-top: 1.4rem;
  margin-bottom: 3rem;
}
.modal-content .inner p.attention {
  font-size: 1.3rem;
  margin-top: 0.5rem;
}
.modal-content .inner .flow {
  width: 100%;
  margin-bottom: 3rem;
}
.modal-content .inner .flow dl {
  width: 100%;
  padding-bottom: 1.5rem;
  position: relative;
}
@media screen and (max-width: 820px) {
  .modal-content .inner .flow dl {
    padding-bottom: 2rem;
  }
}
.modal-content .inner .flow dl::after {
  content: '';
  width: 1px;
  height: 100%;
  border-left: 1px dashed #0656f0;
  position: absolute;
  top: 3.6rem;
  left: 3rem;
}
.modal-content .inner .flow dl:last-of-type::after {
  display: none;
}
.modal-content .inner .flow dl dt {
  width: 100%;
  height: 3.6rem;
  font-size: 2rem;
  font-weight: 700;
  color: #0656f0;
  display: flex;
  justify-content: flex-start;
  gap: 1.8rem;
}
@media screen and (max-width: 820px) {
  .modal-content .inner .flow dl dt {
    height: auto;
  }
}
.modal-content .inner .flow dl dt p {
  font-size: 2rem;
  font-weight: 700;
}
@media screen and (max-width: 820px) {
  .modal-content .inner .flow dl dt p {
    width: 23rem;
  }
}
.modal-content .inner .flow dl dt span {
  font-size: 2.4rem;
  width: 6rem;
  height: 3.6rem;
  background: #e6eefd;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 1rem;
}
.modal-content .inner .flow dl dd {
  width: 100%;
  padding-left: 7.8rem;
  box-sizing: border-box;
  font-size: 1.6rem;
  font-feature-settings: "palt";
}
.modal-content .inner figure.modal3_001 {
  width: 100%;
  margin: 3rem auto auto;
}
@media screen and (max-width: 820px) {
  .modal-content .inner figure.modal3_001 img {
    width: 29.3rem;
  }
}
.modal-content .close-modal {
  position: absolute;
  top: 2.2rem;
  right: 2.2rem;
  cursor: pointer;
  width: 4rem;
  height: 4rem;
  background: url("../images/close_mod.webp") no-repeat top left;
  background-size: 4rem;
}
@media screen and (max-width: 820px) {
  .modal-content .close-modal {
    background: url("../images/close_mod.webp") no-repeat top left;
    background-size: 4rem;
    top: 1rem;
    right: 1rem;
    width: 4rem;
    height: 4rem;
  }
}

table {
  width: 100%;
  font-size: 160%;
  font-weight: 700;
  text-align: center;
  vertical-align: middle;
  border-top: 1px solid #cddcfa;
  border-right: 1px solid #cddcfa;
}
table + table {
  margin-top: 3rem;
}
table th, table td {
  padding: 1rem 0.7rem;
  line-height: 2rem;
  border-bottom: 1px solid #cddcfa;
  border-left: 1px solid #cddcfa;
  vertical-align: middle;
}
@media screen and (max-width: 820px) {
  table th, table td {
    padding: 1rem 0.9rem;
  }
}
table thead th {
  color: #fff;
  background: #0656f0;
}
table tbody th {
  background: #e6eefd;
}
table tbody td {
  background: #ffffff;
}
table.col4 thead th {
  width: 25%;
}
table.col3 thead th {
  width: calc(100% / 3 );
}
table.detailBoxTable td {
  line-height: 2.5rem;
}

.bg_ffffe6 {
  background: #ffffe6;
}

.bg_e6eefd {
  background: #e6eefd;
}

.bg_e5f9f5 {
  background: #e5f9f5;
}

.price {
  text-align: right;
}

.alignL {
  text-align: left;
}

.mt20 {
  margin-top: 2rem !important;
}

.mt30 {
  margin-top: 3rem !important;
}

.mb30 {
  margin-bottom: 3rem !important;
}

.regular {
  font-weight: 400;
}

.forSP table + table {
  margin-top: 0;
}

.eq3 table td {
  width: calc(100% / 3);
}

.boder_b {
  border-bottom: 1px solid #0656f0 !important;
}

.weight700 {
  font-weight: 700;
}

.size13 {
  font-size: 1.3rem;
}

span.small {
  font-size: 70%;
}

.mtmb2 {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.nowrap {
  white-space: nowrap;
}

@media screen and (max-width: 820px) {
  .border-bottom-blue {
    border-bottom: 1px solid #0656f0;
  }
}

/* コースのテーブル*/
.round {
  border-radius: 2rem;
  overflow: hidden;
  box-shadow: 0 0.5rem 0.5rem rgba(0, 98, 255, 0.1);
  border: 1px solid #0656f0;
  box-sizing: border-box;
}

.round table {
  border: none;
}
.round table thead th {
  border-left: none;
  padding: 1.9rem 3.9rem;
  vertical-align: middle;
  text-align: left;
  font-size: 150%;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 820px) {
  .round table thead th {
    font-size: 125%;
  }
}
.round table thead th p {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 820px) {
  .round table thead th p {
    flex-direction: column;
    row-gap: 1rem;
  }
}
.round table thead th p span {
  font-size: 66%;
  color: #0656f0;
  background: #fff;
  padding: 0.4rem 0.8rem;
  border-radius: 0.4rem;
  margin-left: 1.8rem;
}
@media screen and (max-width: 820px) {
  .round table thead th p span {
    font-size: 75%;
  }
}
.round table tbody th.no_border-left {
  border-left: none;
}
.round table tbody td.no_border-left {
  border-left: none;
}
.round table tbody td {
  padding: 1.25rem 2rem;
  line-height: normal;
  width: 25%;
}
.round table tbody td p.kaihi {
  color: #0656f0;
  font-size: 125%;
  text-align: left;
  margin-left: 1.25rem;
  line-height: 1.1;
}
@media screen and (max-width: 820px) {
  .round table tbody td p.kaihi {
    margin-left: 0;
  }
}
.round table tbody td p.kaihi span.pr {
  font-size: 200%;
}
@media screen and (max-width: 820px) {
  .round table tbody td p.kaihi span.pr {
    font-size: 160%;
  }
}
.round table tbody td p.kaihi span.tax {
  font-size: 75%;
}
@media screen and (max-width: 820px) {
  .round table tbody td p.kaihi span.tax {
    font-size: 60%;
  }
}
.round table tbody td.tags {
  width: 15rem;
}
.round table tbody td.tags div {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.9rem;
  padding: 1.25rem 0;
}
.round table tbody td.tags div span.tag {
  width: 100%;
  height: 2.8rem;
  font-size: 87.5%;
  font-weight: 400;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #0656f0;
  box-sizing: border-box;
  border-radius: 1.4rem;
  background: #e6eefd;
  border: 1px solid #cddcfa;
}
.round table tbody td.tags div span.tag strong {
  font-weight: 700;
}

footer {
  width: 100%;
  border-top: 1px solid #cddcfa;
  padding-top: 2.7rem;
}
footer > p {
  width: 112rem;
  margin: auto auto 3rem;
}
@media screen and (max-width: 820px) {
  footer > p {
    width: 100%;
    text-align: center;
  }
}
footer > p a {
  font-size: 140%;
  background: url("../images/ico_ext_b.webp") no-repeat top 50% right;
  background-size: 2.4rem;
  padding-right: 2.4rem;
  line-height: 1;
  color: #000032;
}
footer .rightsBox {
  width: 100%;
  background: #000032;
}
@media screen and (max-width: 820px) {
  footer .rightsBox {
    padding: 1.5rem 0 2rem;
  }
}
footer .rightsBox .inner {
  width: 112rem;
  height: 5.2rem;
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 820px) {
  footer .rightsBox .inner {
    width: 100%;
    height: auto;
    flex-direction: column;
  }
}
footer .rightsBox .inner ul {
  display: flex;
  justify-content: flex-start;
  gap: 3rem;
}
@media screen and (max-width: 820px) {
  footer .rightsBox .inner ul {
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 0.5rem;
    margin-bottom: 3rem;
  }
}
footer .rightsBox .inner ul li a {
  font-size: 140%;
  color: #fff;
}
footer .rightsBox .inner p {
  font-size: 100%;
  color: #fff;
}

@media screen and (max-width: 820px) {
  #menuButton {
    position: fixed;
    top: 4.9vw;
    right: 3.3vw;
    display: block;
    width: 8vw;
    height: 6vw;
    z-index: 5;
  }
  #menuButton span {
    display: block;
    background: #fff;
    width: 8vw;
    height: 0.8vw;
    position: absolute;
    left: 0;
    transition: all 0.3s ease;
  }
  #menuButton span:first-child {
    top: 0;
  }
  #menuButton span:nth-child(2) {
    top: 2.6vw;
  }
  #menuButton span:nth-child(3) {
    top: 5.2vw;
  }
  #menuButton.active span:first-child {
    transform: translateY(2.5vw) rotate(45deg);
    background: #e60000;
  }
  #menuButton.active span:nth-child(2) {
    opacity: 0;
  }
  #menuButton.active span:nth-child(3) {
    transform: translateY(-2.7vw) rotate(-45deg);
    background: #e60000;
  }

  /* スマホメニュー */
  nav ul.sp {
    width: 100%;
    height: auto;
    margin: auto auto auto;
    padding: 0 2rem;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 0 !important;
  }
  nav ul.sp > li {
    position: static;
    margin: auto;
    width: 100%;
    border-bottom: 0.1rem solid #cddcfa;
  }
  nav ul.sp > li > a {
    font-size: 160%;
    font-weight: 700;
    color: #000032;
    padding: 2rem 0;
    line-height: 1;
    display: block;
    width: 100%;
    height: 100%;
  }
  nav ul.sp > li > a.nolink {
    pointer-events: none;
  }
  nav ul.sp > li .submenu {
    margin-left: 2rem;
    width: calc(100% - 2rem);
    padding-bottom: 1.7rem;
  }
  nav ul.sp > li .submenu ul {
    display: flex;
    flex-direction: column;
    row-gap: 0.9rem;
  }
  nav ul.sp > li .submenu ul li a {
    font-size: 140%;
    font-weight: 400;
    color: #000032;
  }

  nav .menu-panel.active ul {
    display: flex;
    height: auto;
    z-index: 2;
  }
}
.prizeDetail {
  visibility: none;
  padding-bottom: 0;
  opacity: 0;
  transition: all .4s ease;
  height: 0;
}

.prizeDetail.active {
  visibility: visible;
  opacity: 1;
  height: auto;
  padding-bottom: 4rem;
}

.camp01 .howto .howtoBody p.toDetail, .camp01 .howto .howtoBody p.closeDetail {
  font-size: 1.9rem;
  width: 26.7rem;
  height: 4.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #231815;
  border-radius: 0.4rem;
  margin-bottom: 3rem;
  position: relative;
  cursor: pointer;
}
@media screen and (max-width: 820px) {
  .camp01 .howto .howtoBody p.toDetail, .camp01 .howto .howtoBody p.closeDetail {
    width: 100%;
    height: 8.3vw;
    border: 0.1rem solid #231815;
    border-radius: 0.8rem;
    z-index: 2;
    font-size: 3.42vw;
  }
}

.camp01 .howto .howtoBody p.toDetail.active {
  display: none;
}

.camp01 .howto .howtoBody p.closeDetail {
  margin-top: 3rem;
}

.camp01 .howto .howtoBody p.toDetail::before {
  content: '';
  width: 1.3rem;
  height: 1px;
  border-top: 1px solid #231815;
  transform: rotate(45deg);
  position: absolute;
  top: 52%;
  right: 2.5rem;
}
@media screen and (max-width: 820px) {
  .camp01 .howto .howtoBody p.toDetail::before {
    width: 2rem;
    right: 3rem;
  }
}

.camp01 .howto .howtoBody p.toDetail::after {
  content: '';
  width: 1.3rem;
  height: 1px;
  border-top: 1px solid #231815;
  transform: rotate(-45deg);
  position: absolute;
  top: 52%;
  right: 1.4rem;
}
@media screen and (max-width: 820px) {
  .camp01 .howto .howtoBody p.toDetail::after {
    width: 2rem;
  }
}

.camp01 .howto .howtoBody p.closeDetail::before {
  content: '';
  width: 1.3rem;
  height: 1px;
  border-top: 1px solid #231815;
  transform: rotate(-45deg);
  position: absolute;
  top: 52%;
  right: 2.3rem;
}
@media screen and (max-width: 820px) {
  .camp01 .howto .howtoBody p.closeDetail::before {
    width: 2rem;
    right: 2.7rem;
  }
}

.camp01 .howto .howtoBody p.closeDetail::after {
  content: '';
  width: 1.3rem;
  height: 1px;
  border-top: 1px solid #231815;
  transform: rotate(45deg);
  position: absolute;
  top: 52%;
  right: 1.4rem;
}
@media screen and (max-width: 820px) {
  .camp01 .howto .howtoBody p.closeDetail::after {
    width: 2rem;
  }
}

.camp01 .howto .howtoBody .prizeDetail p {
  margin-bottom: 1rem;
}
@media screen and (max-width: 820px) {
  .camp01 .howto .howtoBody .prizeDetail p {
    font-size: 3.42vw;
    line-height: 1.5;
  }
}

/* sp menu */
#menu-open {
  width: 5rem;
  height: 5rem;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 3;
}

a#menu-open span {
  display: block;
  width: 2rem;
  height: 0.1rem;
  background: #0656f0;
}

a#menu-open span:first-child {
  position: absolute;
  top: 1.7rem;
  right: 1.5rem;
  transition: all 0.4s ease;
}

a#menu-open span:nth-child(2) {
  position: absolute;
  top: 2.4rem;
  right: 1.5rem;
  transition: all 0.4s ease;
}

a#menu-open span:nth-child(3) {
  position: absolute;
  top: 3.1rem;
  right: 1.5rem;
  transition: all 0.4s ease;
}

#menu-open.open {
  position: fixed;
  z-index: -1;
  opacity: 0;
}

@media screen and (max-width: 820px) {
  #menu-panel {
    position: absolute;
    top: 4.9rem;
    right: 0;
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s ease;
    z-index: 20;
    background: #e6eefd;
    height: auto;
    padding-top: 3rem;
    padding-bottom: 6rem;
    box-shadow: inset 0 0.5rem 0.7rem -0.1rem rgba(0, 98, 255, 0.2);
  }
}
@media screen and (max-width: 820px) {
  #menu-panel select {
    appearance: none;
    -webkit-appearance: none;
    /* Safari / iOS */
    -moz-appearance: none;
    /* Firefox */
    background: none;
    border: none;
    padding: 0;
    font-size: 16px;
    width: 100%;
    width: 33.5rem;
    height: 4.4rem;
    margin: auto auto auto 2rem;
    font-size: 1.4rem;
    color: #000032;
    border-radius: 1rem;
    padding: 1rem 1.9rem;
    box-sizing: border-box;
    background: url("../images/arrow_select.webp") no-repeat center right 1.2rem #fff;
    background-size: 0.9rem;
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 820px) {
  #menu-panel dl.bgcolor {
    width: 33.5rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.9rem;
    margin: auto auto 2rem;
  }
}
@media screen and (max-width: 820px) {
  #menu-panel dl.bgcolor dt {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 820px) {
  #menu-panel dl.bgcolor dd button {
    all: unset;
    border-width: 1px;
    border-style: solid;
    border-color: #cddcfa;
    border-radius: 1rem;
    box-sizing: border-box;
    width: 4.4rem;
    height: 4.4rem;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    font-size: 1.4rem;
    font-weight: 700;
    border-radius: 1rem;
  }
}
#menu-panel dl.bgcolor dd button.white {
  background: #fff;
}
#menu-panel dl.bgcolor dd button.blue {
  background: #0000ff;
  color: #fff;
}
#menu-panel dl.bgcolor dd button.yellow {
  background: #ffff00;
  color: #0000ff;
}
#menu-panel dl.bgcolor dd button.black {
  background: #000;
  color: #fff;
}
#menu-panel dl.bgcolor dd button.current {
  border-color: #0656f0;
}
@media screen and (max-width: 820px) {
  #menu-panel dl.textsize {
    width: 33.5rem;
    display: flex;
    align-items: center;
    gap: 0.9rem;
    margin: 0 auto 2rem;
  }
}
@media screen and (max-width: 820px) {
  #menu-panel dl.textsize dt {
    font-size: 1.4rem;
    margin-right: 0.7rem;
  }
}
@media screen and (max-width: 820px) {
  #menu-panel dl.textsize dd {
    mmargin-right: 0.5rem;
  }
}
@media screen and (max-width: 1120px) {
  #menu-panel dl.textsize dd button {
    all: unset;
    border-width: 1px;
    border-style: solid;
    border-color: #cddcfa;
    border-radius: 1rem;
    box-sizing: border-box;
    width: 4.4rem;
    height: 4.4rem;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    font-size: 1.4rem;
    font-weight: 700;
    background: #fff;
    border-radius: 10px;
  }
}
#menu-panel dl.textsize dd button.current {
  border-color: #0656f0;
}
@media screen and (max-width: 820px) {
  #menu-panel p.accessibility {
    width: 33.5rem;
    margin: auto auto 2.8rem;
  }
}
@media screen and (max-width: 820px) {
  #menu-panel p.accessibility a {
    font-size: 1.4rem;
    background: url("../images/bg_accessibility.webp") no-repeat center left;
    background-size: 2.4rem;
    padding-left: 2.6rem;
    color: #000032;
  }
}

#menu-panel.open {
  opacity: 1;
  visibility: visible;
  z-index: 20;
}

#menu-panel > ul {
  margin: auto;
}

#menu-panel > ul > li {
  border-bottom: 2rem solid #fff;
  margin-bottom: 0;
}
#menu-panel > ul > li:last-of-type {
  border: none;
}
@media screen and (max-width: 820px) {
  #menu-panel > ul > li:last-of-type {
    border-bottom: 2rem solid #fff;
  }
}

#menu-panel > ul > li > a {
  font-size: 2.56rem;
  padding: 5.4rem 0.9rem;
  display: block;
  color: #fff;
}

#menu-panel > ul li ul.secondDeg {
  margin-top: 0;
  padding-bottom: 1rem;
}

#menu-panel > ul li ul.secondDeg li {
  border-bottom: none;
  margin-bottom: 2.1rem;
}

#menu-panel > ul li ul.secondDeg li a {
  font-size: 2.4rem;
  padding: 1rem 0;
  display: block;
  color: #fff;
}

#menu-panel > ul:nth-of-type(3) {
  width: 67rem;
  display: grid;
  /* width: fit-content; */
  column-gap: 2em;
  grid-template-columns: repeat(2, auto);
  margin-top: 3rem;
}

#menu-panel > ul:nth-of-type(3) li {
  border-bottom: none;
}

p.navRights {
  font-size: 1.8rem;
  color: #fff;
  text-align: center;
  margin-top: 26.2rem;
}

.btn-menu {
  position: absolute;
  right: 0;
  top: 0;
  padding: 0 0;
  border: none;
  height: 5.4vw;
  width: 5.4vw;
  opacity: 0 !important;
  z-index: 1;
}

.btn-menu.active {
  opacity: 1 !important;
  z-index: 30;
}

#menu-close {
  top: -5rem;
  right: 0;
  cursor: pointer;
  background: #e6eefd;
  width: 5rem;
  height: 5rem;
}

#menu-close span {
  width: 6vw;
  height: 0.1rem;
  background: #0656f0;
  transition: 0.4s;
}

#menu-close span:first-child {
  position: absolute;
  top: 2.5rem;
  right: 1.25rem;
  transition: all 0.4s ease;
  transform: rotate(45deg);
}

#menu-close span:nth-child(2) {
  display: none;
}

#menu-close span:nth-child(3) {
  position: absolute;
  top: 2.5rem;
  right: 1.25rem;
  transition: all 0.4s ease;
  transform: rotate(-45deg);
}

p.closeBtn {
  font-size: 3vw;
  color: #fff;
  position: absolute;
  bottom: 5.5vw;
  left: 50%;
  transform: translateX(-50%);
}

p.open-modal:hover {
  text-decoration: underline;
}

@media screen and (max-width: 820px) {
  .breadcrumbBox {
    width: auto;
    height: 4.3vw;
    padding: 0 4.8vw;
    margin: auto;
    margin-bottom: 14.4vw;
    white-space: nowrap;
  }
}

ul.breadcrumb {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  gap: 1.5rem;
  margin-bottom: 8.5rem;
}
@media screen and (max-width: 820px) {
  ul.breadcrumb {
    display: inline-flex;
    overflow-x: auto;
  }
}
ul.breadcrumb li {
  font-size: 130%;
  color: #fff;
}
@media screen and (max-width: 820px) {
  ul.breadcrumb li {
    white-space: nowrap;
  }
}
ul.breadcrumb li a {
  font-size: 100%;
  color: #fff;
  text-decoration: underline;
  position: relative;
  padding-right: 2rem;
}
ul.breadcrumb li a::after {
  content: '>';
  position: absolute;
  top: 0;
  right: 0;
}
ul.breadcrumb li a:hover {
  text-decoration: none;
}

.kv {
  width: 100%;
  height: 28rem;
  background: url("../images/bg_other_kv.webp") no-repeat center bottom;
  background-size: cover;
}
@media screen and (max-width: 820px) {
  .kv {
    height: 50.67vw;
    background: url("../images/bg_other_kv_sp.webp") no-repeat center bottom;
    background-size: 100%;
  }
}
.kv .inner {
  width: 112rem;
  height: 100%;
  margin: auto;
  padding-top: 0.5rem;
  background: url("../images/arc.png") no-repeat center right 4rem;
  background-size: 35.8rem;
}
@media screen and (max-width: 820px) {
  .kv .inner {
    width: 100%;
    background: none;
    padding: 2.4vw 0 0 0;
  }
}
.kv .inner h1 {
  font-size: 540%;
  font-weight: 700;
  line-height: 1;
  color: #fff;
}
@media screen and (max-width: 820px) {
  .kv .inner h1 {
    font-size: 300%;
    width: 90%;
    margin: auto;
  }
}
@media screen and (max-width: 820px) {
  .kv .inner h1.accessibility {
    line-height: 1.5;
    margin-top: -2rem;
  }
}
.kv .inner h1.faqH1, .kv .inner h1.facilityH1 {
  margin-top: -2rem;
}
.kv .inner h1.faqH1 span, .kv .inner h1.facilityH1 span {
  font-size: 44%;
  display: block;
  margin-bottom: 2rem;
}

.detailWrap {
  width: 100%;
  background: linear-gradient(to bottom, #f3f6fe, #ffffff);
}
.detailWrap .introBox {
  width: 80rem;
  margin: auto;
}
@media screen and (max-width: 820px) {
  .detailWrap .introBox {
    width: 89.3vw;
  }
}
.detailWrap .introBox figure {
  width: 38.5rem;
  margin: auto auto 4rem;
}
@media screen and (max-width: 820px) {
  .detailWrap .introBox figure {
    width: 89.3vw;
    margin: auto auto 3rem;
  }
}
.detailWrap .introBox p.lead {
  font-size: 160%;
  margin-bottom: 3rem;
}
.detailWrap .introBox p.btn9 {
  width: 21.8rem;
}
.detailWrap .detailBox {
  width: 80rem;
  margin: 6rem auto auto;
  padding-bottom: 6rem;
}
@media screen and (max-width: 820px) {
  .detailWrap .detailBox {
    width: 89.3vw;
    margin: 4rem auto auto;
    padding-bottom: 4rem;
  }
}
@media screen and (max-width: 820px) {
  .detailWrap .detailBox table tr {
    display: flex;
    flex-direction: column;
  }
}
.detailWrap .detailBox table th {
  width: 25%;
  background: #0656f0;
  color: #fff;
}
@media screen and (max-width: 820px) {
  .detailWrap .detailBox table th {
    width: 100%;
    box-sizing: border-box;
  }
}
.detailWrap .detailBox p.btn4 {
  width: 29.2rem;
  height: 5.2rem;
  margin: 6rem auto;
}
@media screen and (max-width: 820px) {
  .detailWrap .detailBox p.btn4 {
    margin: 4rem auto 6rem;
  }
}
.detailWrap .detailBox p.btn4 a {
  width: 100%;
  height: 100%;
  border-radius: 2.6rem;
  box-shadow: 0 0.5rem 0.5rem rgba(6, 86, 240, 0.2);
  font-size: 160%;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  align-items: center;
  padding: 0.8rem 0 0.8rem 11rem;
  box-sizing: border-box;
  margin: auto;
  position: relative;
  transition: all 0.4s ease;
  background: linear-gradient(to right, #008eff, #00d2d7);
  z-index: 0;
}
.detailWrap .detailBox p.btn4 a::before {
  content: '';
  width: 100%;
  height: 100%;
  border-radius: 2.6rem;
  background: linear-gradient(to right, #008eff, #00d2d7);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
  transition: all 0.4s ease;
}
.detailWrap .detailBox p.btn4 a::after {
  content: '';
  width: 2.4rem;
  height: 2.4rem;
  background: url(../images/bg_span_ext.webp) no-repeat center center;
  background-size: 2.4rem;
  position: absolute;
  top: 50%;
  right: 1.2rem;
  transform: translateY(-50%);
  z-index: 1;
}
.detailWrap .detailBox p.btn4 a:hover {
  opacity: 1;
}
.detailWrap .detailBox p.btn4 a:hover::before {
  opacity: 1;
  background: linear-gradient(to right, #00d2d7, #008eff);
}

.kv_classDetail {
  width: 100%;
}
.kv_classDetail .inner {
  width: 112rem;
  margin: auto;
  padding-top: 1.5rem;
}
@media screen and (max-width: 820px) {
  .kv_classDetail .inner {
    width: 100%;
  }
}
.kv_classDetail .inner .breadcrumbBox {
  margin-bottom: 2.8rem;
}
.kv_classDetail .inner ul.breadcrumb {
  margin-bottom: 3.8rem;
}
@media screen and (max-width: 820px) {
  .kv_classDetail .inner ul.breadcrumb {
    margin-bottom: 2.8rem;
  }
}
.kv_classDetail .inner ul.breadcrumb li {
  color: #000032;
}
.kv_classDetail .inner ul.breadcrumb li a {
  color: #000032;
}
.kv_classDetail .inner h1 {
  font-size: 330%;
  font-weight: 700;
  width: 80rem;
  margin: auto auto 6rem;
  display: flex;
  flex-direction: column;
  padding-bottom: 3rem;
  border-bottom: 2px solid #cddcfa;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 820px) {
  .kv_classDetail .inner h1 {
    width: 89.3vw;
    font-size: 280%;
    margin: auto auto 4rem;
  }
}
.kv_classDetail .inner h1.postTtl {
  margin-bottom: 4rem;
}
.kv_classDetail .inner h1 span {
  font-size: 0.48em;
  color: #fff;
  width: 8.8rem;
  height: 2.4rem;
  background: #0656f0;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 0.6rem;
  border-radius: 0.4rem;
}
@media screen and (max-width: 820px) {
  .kv_classDetail .inner h1 span {
    font-size: 0.57em;
    margin-bottom: 0.3rem;
  }
}
.kv_classDetail .inner h1 span.long {
  width: 20rem;
}

.leadBox {
  width: 112rem;
  margin: 0 auto 5.4rem;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 820px) {
  .leadBox {
    width: 88vw;
    flex-direction: column;
    margin: 0 auto 6.6rem;
  }
}
.leadBox .txts {
  width: 79rem;
}
@media screen and (max-width: 820px) {
  .leadBox .txts {
    width: 100%;
    margin-bottom: 2rem;
  }
}
.leadBox .txts p.hl {
  font-size: 200%;
  font-weight: 700;
  color: #0656f0;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 820px) {
  .leadBox .txts p.hl {
    margin-bottom: 0.8rem;
    font-feature-settings: "palt";
  }
}
.leadBox .txts p.lead {
  font-size: 160%;
  color: #000032;
}
.leadBox figure {
  width: 30rem;
}
@media screen and (max-width: 820px) {
  .leadBox figure {
    width: 100%;
  }
}

section.course {
  width: 100%;
  background: linear-gradient(to bottom, #f3f6fe, #ffffff);
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media screen and (max-width: 820px) {
  section.course {
    padding-top: 3.5rem;
    padding-bottom: 4rem;
  }
}
section.course .precautions {
  margin: -3rem auto 5rem;
}
section.course p.btn5 {
  width: 20.9rem;
}
section.course p.btn5 a {
  padding-left: 2rem;
}
section.course .inner {
  width: 112rem;
  margin: auto;
}
@media screen and (max-width: 820px) {
  section.course .inner {
    width: 88vw;
  }
}
section.course .inner p.lead {
  font-size: 160%;
}
section.course .inner h3 {
  font-size: 200%;
  font-weight: 700;
  margin: 6rem 0 2rem;
}
@media screen and (max-width: 820px) {
  section.course .inner h3 {
    margin: 3rem 0 2rem;
    font-feature-settings: "palt";
  }
}
section.course .bnrArea {
  width: 100%;
  margin: 6rem auto auto;
}
@media screen and (max-width: 820px) {
  section.course .bnrArea {
    margin: 4rem auto 2rem;
  }
}
section.course .bnrArea figure {
  width: 100%;
  height: 22.4rem;
  overflow: hidden;
  margin: auto auto 2rem;
}
@media screen and (max-width: 820px) {
  section.course .bnrArea figure {
    height: auto;
  }
}
section.course .bnrArea figure img {
  transition: all 0.4s ease;
}
section.course .bnrArea figure a:hover img {
  transform: scale(1.1);
}
section.course .bnrArea p {
  font-size: 130%;
}

.introPanel {
  width: 112rem;
  margin: auto;
  border-radius: 2rem;
  overflow: hidden;
  box-shadow: 0 0.5rem 0.5rem rgba(0, 98, 255, 0.1);
  border: 1px solid #0656f0;
  box-sizing: border-box;
  background: #fff;
}
@media screen and (max-width: 820px) {
  .introPanel {
    width: 89.3vw;
    margin-top: -2.6rem;
  }
}
.introPanel + .introPanel {
  margin-top: 6rem;
  margin-bottom: 6rem;
}
@media screen and (max-width: 820px) {
  .introPanel + .introPanel {
    margin-top: 4rem;
    margin-bottom: 6rem;
  }
}
.introPanel h2 {
  font-size: 240%;
  font-weight: 700;
  color: #fff;
  background: #008eff;
  width: 100%;
  padding: 1rem 4rem;
}
@media screen and (max-width: 820px) {
  .introPanel h2 {
    font-size: 197%;
    text-align: center;
    box-sizing: border-box;
    padding: 1.2rem 4rem;
  }
}
.introPanel.kids h2 {
  background: #0656f0;
}
.introPanel.vari h2 {
  background: #00b4ff;
}
.introPanel ul {
  padding: 1rem 4rem 2.8rem;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  column-gap: 2.7rem;
}
@media screen and (max-width: 820px) {
  .introPanel ul {
    padding: 1rem 2rem 3rem;
  }
}
.introPanel ul li {
  width: 50.5rem;
  border-bottom: 1px solid #cddcfa;
}
.introPanel ul li a {
  display: block;
  width: 100%;
  background: url("../images/arrow_r.webp") no-repeat top 2.1rem left;
  background-size: 2.4rem;
  font-size: 200%;
  font-weight: 700;
  line-height: 1.5;
  color: #000032;
  padding: 1.7rem 0 1.7rem 3.6rem;
  box-sizing: border-box;
}
@media screen and (max-width: 820px) {
  .introPanel ul li a {
    font-size: 160%;
    background: url("../images/arrow_r.webp") no-repeat top 1.9rem left;
    background-size: 2.4rem;
    padding: 2rem 0 2rem 3.6rem;
  }
}

section.calendar {
  width: 100%;
  background: linear-gradient(to bottom, #f3f6fe, #ffffff);
  padding-top: 8rem;
  padding-bottom: 6rem;
}
@media screen and (max-width: 820px) {
  section.calendar {
    padding-top: 6rem;
    padding-bottom: 4rem;
  }
}
section.calendar .inner {
  width: 112rem;
  margin: auto;
}
@media screen and (max-width: 820px) {
  section.calendar .inner {
    width: 88vw;
  }
}
section.calendar .inner p.date {
  font-size: 160%;
  display: flex;
  justify-content: flex-end;
  margin-bottom: 2rem;
}
section.calendar .inner p.attention {
  font-size: 130%;
}
section.calendar .inner figure {
  width: 100%;
  margin-bottom: 2rem;
}

section.admission {
  width: 100%;
  background: linear-gradient(to bottom, #f3f6fe, #ffffff);
  padding-top: 8rem;
  padding-bottom: 6rem;
}
@media screen and (max-width: 820px) {
  section.admission {
    padding-top: 6rem;
    padding-bottom: 4rem;
  }
}
section.admission .inner {
  width: 112rem;
  margin: auto;
}
@media screen and (max-width: 820px) {
  section.admission .inner {
    width: 88vw;
  }
}
@media screen and (max-width: 820px) {
  section.admission .inner p.btn5 {
    width: 55.2vw;
  }
  section.admission .inner p.btn5 a {
    padding-left: 4rem;
  }
}

section.salesInfo {
  width: 100%;
  padding-top: 8rem;
  padding-bottom: 6rem;
  background: linear-gradient(to bottom, #f3f6fe, #ffffff);
}
section.salesInfo .inner {
  width: 112rem;
  margin: auto;
}
@media screen and (max-width: 820px) {
  section.salesInfo .inner {
    width: 88vw;
  }
}

.extraction {
  width: 80rem;
  margin: auto auto 0;
  background: #fff;
  box-sizing: border-box;
  border-radius: 1rem;
  border: 1px solid #cddcfa;
  padding: 1.6rem 2rem;
  display: flex;
  justify-content: flex-start;
  gap: 2rem;
}
@media screen and (max-width: 820px) {
  .extraction {
    width: 89.3vw;
    flex-direction: column;
    row-gap: 1.2rem;
  }
}
.extraction h3 {
  font-size: 160%;
}
.extraction .checkboxBox {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
}
@media screen and (max-width: 820px) {
  .extraction .checkboxBox {
    flex-direction: column;
    row-gap: 1rem;
  }
}
.extraction .checkboxBox label {
  font-size: 160%;
  font-weight: 700;
  color: #0656f0;
  display: inline-flex;
  align-items: center;
  margin-right: 0;
  font-family: sans-serif;
  cursor: pointer;
}
.extraction .checkboxBox input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 1.8rem;
  height: 1.8rem;
  border: 1px solid #0656f0;
  border-radius: 0.36rem;
  background-color: #fff;
  cursor: pointer;
  position: relative;
  margin-right: 0.6rem;
}
@media screen and (max-width: 820px) {
  .extraction .checkboxBox input[type="checkbox"] {
    margin: 0 0.6rem 0 0;
  }
}
.extraction .checkboxBox input[type="checkbox"]:checked {
  background-color: #0656f0;
  position: relative;
}
.extraction .checkboxBox input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0.4rem;
  width: 0.5rem;
  height: 1rem;
  border: solid #fff;
  border-width: 0 0.3rem 0.3rem 0;
  transform: rotate(45deg);
}
@media screen and (max-width: 820px) {
  .extraction .checkboxBox input[type="checkbox"]:checked::after {
    top: 0;
    left: 0.4rem;
  }
}

.searchResult {
  width: 80rem;
  margin: 2.2rem auto -2rem;
  padding-bottom: 1.8rem;
  border-bottom: 1px solid #cddcfa;
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
}
@media screen and (max-width: 820px) {
  .searchResult {
    width: 89.3vw;
    margin: 2.5rem auto -3rem;
    flex-wrap: wrap;
    padding-bottom: 1rem;
  }
}
.searchResult p {
  font-size: 160%;
}
.searchResult p span {
  font-size: 150%;
  font-weight: 700;
  color: #0656f0;
}

.searchframe {
  width: 80rem;
  height: 4.8rem;
  margin: auto;
  position: relative;
}
@media screen and (max-width: 820px) {
  .searchframe {
    width: 89.3vw;
    height: 4.4rem;
    margin: -2rem auto auto;
  }
}
.searchframe label {
  width: 100%;
  height: 100%;
  display: flex;
}
.searchframe label input {
  all: unset;
  width: 100%;
  background: #fff;
  border: 1px solid #cddcfa;
  border-radius: 1rem;
  font-size: 160%;
  padding: 1rem 1.9rem;
  box-sizing: border-box;
}
@media screen and (max-width: 820px) {
  .searchframe label input {
    padding: 0.75rem 1.7rem;
  }
}
.searchframe label input::placeholder {
  color: #000032;
}
.searchframe label input[type="search"]::-webkit-search-cancel-button {
  display: none;
  -webkit-appearance: none;
}
.searchframe button {
  all: unset;
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  background: url(../images/bg_search.webp) no-repeat;
  background-size: 2.4rem;
  cursor: pointer;
  position: absolute;
  right: 1rem;
  top: 1.2rem;
}

.pagenavi {
  margin: 4rem auto auto;
  display: flex;
  justify-content: center;
  gap: 0.8rem;
}
@media screen and (max-width: 820px) {
  .pagenavi {
    gap: 0.5rem;
    margin: 2rem auto 0;
  }
}
.pagenavi.faqPage {
  margin: 6rem auto;
}
@media screen and (max-width: 820px) {
  .pagenavi.faqPage {
    margin: 4rem auto 6rem;
  }
}
.pagenavi a {
  border: 1px solid #cddcfa;
  width: 4rem;
  height: 4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #0656f0;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
  box-sizing: border-box;
  border-radius: 0.2rem;
  position: relative;
  border-radius: 1rem;
  background: #e6eefd;
}
.pagenavi a.first, .pagenavi a.last {
  padding-bottom: 0.5rem;
  font-size: 2rem;
}
@media screen and (max-width: 820px) {
  .pagenavi a.first, .pagenavi a.last {
    padding-bottom: 0.3rem;
  }
}
.pagenavi a.previouspostslink::before {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  left: 48%;
  width: 0.5rem;
  height: 0.5rem;
  border-top: 1px solid #0656f0;
  border-left: 1px solid #0656f0;
  transform: rotate(-45deg);
}
@media screen and (max-width: 820px) {
  .pagenavi a.previouspostslink::before {
    width: 0.4rem;
    height: 0.4rem;
  }
}
.pagenavi a.nextpostslink::before {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  right: 43%;
  width: 0.5rem;
  height: 0.5rem;
  border-top: 1px solid #0656f0;
  border-right: 1px solid #0656f0;
  transform: rotate(45deg);
}
@media screen and (max-width: 820px) {
  .pagenavi a.nextpostslink::before {
    width: 0.4rem;
    height: 0.4rem;
  }
}
.pagenavi a:hover {
  color: #fff;
  background: #0656f0;
  opacity: 1;
}
.pagenavi a:hover.previouspostslink::before {
  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
}
.pagenavi a:hover.nextpostslink::before {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
.pagenavi span.current {
  border: rgba(54, 14, 7, 0.2);
  width: 4rem;
  height: 4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #0656f0;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  box-sizing: border-box;
  border-radius: 1rem;
}
.pagenavi.gym {
  margin: 6.4rem auto 0;
}
.pagenavi.gym a {
  border: 1px solid #2652e1;
  color: #2652e1;
}
.pagenavi.gym a.previouspostslink::before {
  border-top: 1px solid #2652e1;
  border-left: 1px solid #2652e1;
}
.pagenavi.gym a.nextpostslink::before {
  border-top: 1px solid #2652e1;
  border-right: 1px solid #2652e1;
}
.pagenavi.gym a:hover {
  color: #fff;
  background: #2652e1;
  opacity: 1;
}
.pagenavi.gym a:hover.previouspostslink::before {
  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
}
.pagenavi.gym a:hover.nextpostslink::before {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
.pagenavi.gym span.current {
  border: 1px solid #2652e1;
  color: #fff;
  background: #2652e1;
}

.postArea {
  width: 80rem;
  margin: auto;
  padding-bottom: 6rem;
}
@media screen and (max-width: 820px) {
  .postArea {
    width: 89.3vw;
  }
}
.postArea p {
  font-size: 160%;
  color: #000032;
}
.postArea p a {
  text-decoration: underline;
  color: #000032;
}
.postArea p a:hover {
  text-decoration: none;
}
.postArea p strong {
  font-weight: 700;
  color: #0656f0;
}
.postArea figure {
  width: 100%;
  margin: 4rem auto 6rem;
}
@media screen and (max-width: 820px) {
  .postArea figure {
    margin: 4rem auto 4rem;
  }
}
.postArea h2 {
  font-size: 330%;
  font-weight: 700;
  margin-bottom: 3rem;
  padding-bottom: 2.3rem;
  border-bottom: 2px solid #cddcfa;
}
@media screen and (max-width: 820px) {
  .postArea h2 {
    font-size: 280%;
  }
}
.postArea h3 {
  font-size: 240%;
  font-weight: 700;
  margin-top: 2.4rem;
  color: #0656f0;
  margin-bottom: 1.5rem;
}
.postArea ul {
  margin-top: 3rem;
  margin-left: 2.1rem;
  list-style-type: disc;
  box-sizing: border-box;
}
.postArea ul li {
  font-size: 160%;
  font-weight: 700;
  color: #000032;
}
.postArea ol {
  margin-top: 3rem;
  margin-left: 1.8rem;
  list-style-type: decimal;
}
.postArea ol li {
  font-size: 160%;
  font-weight: 700;
}
.postArea .relatedPosts {
  margin: 6rem auto;
  border: 1px solid #cddcfa;
  border-radius: 1rem;
  padding: 2.5rem 2.8rem;
}
@media screen and (max-width: 820px) {
  .postArea .relatedPosts {
    margin: 4rem auto;
  }
}
.postArea .relatedPosts h3 {
  font-size: 200%;
  font-weight: 700;
  color: #000032;
  margin: 0 0 1.6rem 0;
}
@media screen and (max-width: 820px) {
  .postArea .relatedPosts h3 {
    margin: 0 0 0 0;
  }
}
.postArea .relatedPosts ul {
  list-style-type: none;
  margin: 0 0 0 0;
}
.postArea .relatedPosts ul li {
  padding: 1.9rem 0;
  border-bottom: 1px solid #cddcfa;
}
.postArea .relatedPosts ul li a {
  font-size: 100%;
  font-weight: 400;
  color: #000032;
  position: relative;
  display: block;
}
.postArea .relatedPosts ul li a.pdf {
  text-indent: 2.6rem;
}
.postArea .relatedPosts ul li a.pdf::before {
  content: '';
  width: 2.6rem;
  height: 2.6rem;
  background: url(../images/ico_pdf.webp) no-repeat center left;
  background-size: 2.4rem;
  position: absolute;
  top: 0;
  left: 0;
}
.postArea .relatedPosts ul li a.ext {
  text-indent: 2.6rem;
}
.postArea .relatedPosts ul li a.ext::before {
  content: '';
  width: 2.6rem;
  height: 2.6rem;
  background: url(../images/ico_ext_blk.webp) no-repeat center left;
  background-size: 2.4rem;
  position: absolute;
  top: 0;
  left: 0;
}
.postArea p.btn21 {
  margin: 6rem auto auto;
  width: 19.3rem;
}
.postArea p.btn21 a {
  font-size: 100%;
  text-decoration: none;
}
.postArea p.btn21 a:hover {
  text-decoration: underline;
}

p.postDate {
  width: 80rem;
  margin: 4rem auto 3rem;
  font-size: 160%;
  display: flex;
  justify-content: flex-start;
  gap: 2.2rem;
}
@media screen and (max-width: 820px) {
  p.postDate {
    width: 89.3vw;
    margin: 3rem auto 2rem;
  }
}
p.postDate span {
  font-size: 75%;
  font-weight: 700;
  color: #0656f0;
  background: #fff;
  width: auto;
  height: 2.4rem;
  border-radius: 1.2rem;
  padding: 0 2.8rem;
  border: 1px solid #cddcfa;
  display: flex;
  justify-content: center;
  align-items: center;
}

section.contact {
  width: 100%;
  padding-top: 8rem;
  padding-bottom: 6rem;
  background: linear-gradient(to bottom, #f3f6fe, #ffffff);
}
@media screen and (max-width: 820px) {
  section.contact {
    padding-top: 6rem;
    padding-bottom: 4rem;
  }
}
section.contact.faqTop {
  padding-top: 5rem;
}
@media screen and (max-width: 820px) {
  section.contact.faqTop {
    padding-top: 3rem;
  }
}
section.contact.faqTop p.btn21 {
  width: 28rem;
  margin-top: 6rem;
}
section.contact .inner {
  width: 112rem;
  margin: auto;
}
@media screen and (max-width: 820px) {
  section.contact .inner {
    width: 88vw;
  }
}
section.contact .inner h3 {
  font-size: 330%;
  font-weight: 700;
  padding-bottom: 2rem;
  border-bottom: 2px solid #cddcfa;
  margin-bottom: 3rem;
}
@media screen and (max-width: 820px) {
  section.contact .inner h3 {
    font-size: 280%;
    font-feature-settings: "palt";
  }
}
section.contact .inner h4 {
  font-size: 240%;
  font-weight: 700;
  margin-top: 6rem;
  margin-bottom: 2rem;
}
@media screen and (max-width: 820px) {
  section.contact .inner h4 {
    margin-top: 2.5rem;
    margin-bottom: 1.5rem;
  }
}
section.contact .inner h4.faqTop {
  margin-top: 0;
}
section.contact .inner p {
  font-size: 160%;
}
@media screen and (max-width: 820px) {
  section.contact .inner p {
    padding: 0 0;
    text-align: left;
    font-feature-settings: "palt";
  }
}
@media screen and (max-width: 820px) {
  section.contact .inner p.btn22 {
    padding: 0 0 0 0;
  }
}
section.contact .inner p.attentionS {
  font-size: 130%;
}
@media screen and (max-width: 820px) {
  section.contact .inner p.attentionS {
    font-size: 160%;
  }
}
@media screen and (max-width: 820px) {
  section.contact .inner p.pad20 {
    padding: 0 2rem;
  }
}
section.contact .inner p.toForm {
  width: 25.4rem;
  height: 5.2rem;
  margin: 3rem auto 2rem;
}
@media screen and (max-width: 820px) {
  section.contact .inner p.toForm {
    margin: 3rem auto 2rem;
  }
}
section.contact .inner p.toForm a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(to right, #008eff, #00d2d7);
  border-radius: 2.6rem;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  padding: 0 1.2rem 0 4rem;
  box-sizing: border-box;
  position: relative;
  z-index: 0;
  box-shadow: 0 0.5rem 0.5rem rgba(6, 86, 240, 0.2);
}
section.contact .inner p.toForm a:hover {
  opacity: 1;
}
section.contact .inner p.toForm a::before {
  content: '';
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(to right, #00d2d7, #008eff);
  border-radius: 2.6rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
  transition: all 0.4s ease;
}
section.contact .inner p.toForm a:hover::before {
  opacity: 1;
}
section.contact .inner p.toForm a::after {
  content: '';
  width: 2.4rem;
  height: 2.4rem;
  background: url(../images/bg_span_ext.webp) no-repeat center center;
  background-size: 2.4rem;
  position: absolute;
  top: 50%;
  right: 1.2rem;
  transform: translateY(-50%);
  z-index: 1;
}
section.contact .inner p.toForm a span {
  width: 2.4rem;
  height: 2.4rem;
  background: #fff;
  border-radius: 50%;
  position: relative;
}
section.contact .inner p.toForm a span::before {
  content: '';
  width: 0.5rem;
  height: 0.5rem;
  border-top: 1px solid #0656f0;
  border-right: 1px solid #0656f0;
  transform: rotate(45deg);
  position: absolute;
  top: 38%;
  left: 34%;
}
section.contact .inner .action {
  width: 80rem;
  margin: auto;
  box-shadow: 0.5rem 0.5rem 0.5rem rgba(0, 98, 255, 0.1);
  border-radius: 2rem;
  overflow: hidden;
  padding-bottom: 2.5rem;
  text-align: center;
  background: #fff;
}
@media screen and (max-width: 820px) {
  section.contact .inner .action {
    width: 89.3vw;
  }
}
section.contact .inner .action + .action {
  margin-top: 6rem;
}
@media screen and (max-width: 820px) {
  section.contact .inner .action + .action {
    margin-top: 4rem;
  }
}
section.contact .inner .action h3 {
  background: #0656f0;
  width: 100%;
  height: 6.4rem;
  font-size: 240%;
  padding-bottom: 0;
  border-bottom: none;
  margin-bottom: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 820px) {
  section.contact .inner .action h3 {
    height: 9.4rem;
  }
}
section.contact .inner .action h3 span {
  font-size: 100%;
  font-weight: 700;
  color: #fff;
  padding-left: 4.3rem;
}
@media screen and (max-width: 820px) {
  section.contact .inner .action h3 span {
    padding: 3rem 0 0 0;
  }
}
section.contact .inner .action h3 span.viaTel {
  background: url("../images/ico_tel_white.webp") no-repeat center left;
  background-size: 4rem;
}
@media screen and (max-width: 820px) {
  section.contact .inner .action h3 span.viaTel {
    background: url("../images/ico_tel_white.webp") no-repeat center top;
    background-size: 4rem;
  }
}
section.contact .inner .action h3 span.viaMail {
  background: url("../images/ico_mail_white.webp") no-repeat center left;
  background-size: 4rem;
}
@media screen and (max-width: 820px) {
  section.contact .inner .action h3 span.viaMail {
    background: url("../images/ico_mail_white.webp") no-repeat center top;
    background-size: 4rem;
  }
}
section.contact .inner .action p.tel {
  font-size: 440%;
  font-weight: 700;
  color: #0656f0;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 820px) {
  section.contact .inner .action p.tel {
    font-size: 340%;
  }
}
section.contact .inner .action p.tel a {
  color: #0656f0;
}
section.contact .inner .action p.tel span {
  font-size: 59%;
}

dl.qanda {
  width: 100%;
  border: 1px solid #cddcfa;
  border-radius: 1rem;
  background: #fff;
  padding: 3rem 3.8rem;
  line-height: 1.5;
  display: flex;
  flex-direction: column;
  row-gap: 1.8rem;
  box-sizing: border-box;
}
@media screen and (max-width: 820px) {
  dl.qanda {
    padding: 2.8rem 2rem;
  }
}
dl.qanda + dl.qanda {
  margin-top: 2rem;
}
dl.qanda dt {
  min-height: 3.2rem;
  font-size: 200%;
  font-weight: 700;
  color: #0656f0;
  padding-left: 5.4rem;
  background: url("../images/bg_q.webp") no-repeat top left;
  background-size: 3.2rem;
}
@media screen and (max-width: 820px) {
  dl.qanda dt {
    padding-left: 4.5rem;
  }
}
dl.qanda dd {
  min-height: 3.2rem;
  font-size: 160%;
  line-height: 1.68;
  padding-left: 5.4rem;
  background: url("../images/bg_a.webp") no-repeat top left;
  background-size: 3.2rem;
}
@media screen and (max-width: 820px) {
  dl.qanda dd {
    padding-left: 4.5rem;
    padding-top: 0.2rem;
  }
}
dl.qanda dd a {
  color: #000032;
  text-decoration: underline;
}
dl.qanda dd a:hover {
  text-decoration: none;
}

.qcat {
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 2rem;
}
@media screen and (max-width: 820px) {
  .qcat {
    flex-direction: column;
    row-gap: 1rem;
  }
}
.qcat.faqPage {
  margin-bottom: 6rem;
}
@media screen and (max-width: 820px) {
  .qcat.faqPage {
    margin-bottom: 3rem;
  }
}

p.addTxt {
  font-size: 1.6rem;
  font-weight: 700;
  margin: 2rem auto auto;
  margin-left: 32rem;
  width: 80rem;
  text-align: center;
}
p.addTxt span {
  display: inline;
  background: linear-gradient(transparent 40%, #ffff00 40%);
}
@media screen and (max-width: 820px) {
  p.addTxt {
    margin-left: 0;
    width: 100%;
    margin: 1rem auto auto;
  }
}

.ticketBox {
  width: 14rem;
  height: 14rem;
  border-radius: 50%;
  position: fixed;
  bottom: 7rem;
  right: 2rem;
  display: none;
  z-index: 2;
}
@media screen and (max-width: 820px) {
  .ticketBox {
    width: 12rem;
    height: 12rem;
    bottom: 5rem;
    right: 1.6rem;
  }
}
.ticketBox.vanish {
  opacity: 0;
  pointer-events: none;
}
.ticketBox.death {
  display: none !important;
}
.ticketBox a {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: url("../images/ico_ticket.webp") no-repeat top 3rem center #fde855;
  background-size: 4.2rem;
  padding-top: 5rem;
  box-sizing: border-box;
  border-radius: 50%;
  position: relative;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2rem;
  color: #000032;
  text-align: center;
}
@media screen and (max-width: 820px) {
  .ticketBox a {
    font-size: 1.4rem;
  }
}
.ticketBox a:hover {
  text-decoration: underline;
}
.ticketBox a span.ticket_close {
  width: 2.4rem;
  height: 2.4rem;
  position: absolute;
  top: 1.1rem;
  right: 0.6rem;
  background: url(../images/ticket_close.webp) no-repeat;
  background-size: 100%;
}
.ticketBox a span.ticket_close img {
  display: none;
}

section.accessibility {
  width: 100%;
  margin: auto;
  background: linear-gradient(to bottom, #f3f6fe, #ffffff);
  padding-bottom: 6rem;
}
@media screen and (max-width: 820px) {
  section.accessibility {
    padding-bottom: 4rem;
  }
}
section.accessibility .inner {
  width: 112rem;
  margin: auto;
  padding-top: 6rem;
}
@media screen and (max-width: 820px) {
  section.accessibility .inner {
    width: 33.5rem;
    padding-top: 4rem;
  }
}
section.accessibility .inner h2 {
  margin-top: 6rem;
  margin-bottom: 3rem;
  padding: 0;
  padding-bottom: 2.8rem;
  border-bottom: 0.2rem solid #cddcfa;
  font-size: 330%;
  font-weight: 700;
}
@media screen and (max-width: 820px) {
  section.accessibility .inner h2 {
    margin-top: 4rem;
    font-size: 280%;
  }
}
section.accessibility .inner h2::before {
  display: none;
}
section.accessibility .inner p {
  font-size: 160%;
  margin-bottom: 3rem;
}
section.accessibility .inner p.date {
  margin-bottom: 2.6rem;
  text-align: right;
}
section.accessibility .inner p.toha {
  border: 1px solid #cddcfa;
  border-radius: 1rem;
  background: #fff;
  padding: 2.8rem;
  margin: 3rem auto 6rem;
}
@media screen and (max-width: 820px) {
  section.accessibility .inner p.toha {
    margin: 3rem auto 4rem;
  }
}
section.accessibility .inner p a {
  text-decoration: underline;
  color: #000032;
}
section.accessibility .inner ul {
  list-style-type: disc;
  margin-left: 2rem;
}
section.accessibility .inner ul li {
  font-size: 160%;
  font-weight: 700;
}
section.accessibility .inner ul li span {
  font-weight: 400;
  display: block;
}

.btnDouble {
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 2rem;
}
@media screen and (max-width: 820px) {
  .btnDouble {
    flex-direction: column;
    row-gap: 1rem;
  }
}
.btnDouble p.btn5 {
  margin: 0;
}
.btnDouble p.btn5 a {
  text-align: center;
  line-height: 1.2;
}
@media screen and (max-width: 820px) {
  .btnDouble p.btn3 {
    width: 29rem;
  }
}
.btnDouble p.btn3 a {
  justify-content: center;
  padding-left: 0;
}

.calendarBox {
  margin: 3rem auto auto;
  margin-left: 32rem;
  width: 80rem;
}
@media screen and (max-width: 820px) {
  .calendarBox {
    margin: 1rem auto auto;
    width: 100%;
  }
}
.calendarBox h3 {
  font-size: 2.4rem !important;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 2rem;
}
.calendarBox p {
  margin-top: 2rem;
}
.calendarBox p.attention {
  font-size: 130%;
  margin-top: 3rem;
}
.calendarBox iframe {
  width: 80rem;
}
@media screen and (max-width: 820px) {
  .calendarBox iframe {
    width: 100%;
  }
}

@media screen and (max-width: 820px) {
  .ruleBox {
    padding-bottom: 3rem;
  }
}
.ruleBox .rule {
  margin-top: 4rem;
}
.ruleBox .rule:first-of-type {
  margin-top: 0;
}
.ruleBox .rule h4 {
  font-size: 2rem;
  font-weight: 700;
  color: #0656f0;
  margin-bottom: 1.5rem;
}
.ruleBox .rule ul {
  list-style-type: disc;
  margin-left: 2.5rem;
}
.ruleBox .rule ul li {
  font-size: 1.6rem;
  line-height: 1.68;
  font-feature-settings: "palt";
}
.ruleBox .rule ul li ol {
  list-style-type: decimal;
  margin: 2rem 0 2rem 2rem;
  padding: 0;
}
.ruleBox .rule ul li ol li {
  color: #333333;
}

.ulinner {
  margin: 2rem 0 2rem 0;
}
.ulinner ul {
  margin: 0 0 0 2rem;
}
.ulinner h5 {
  font-size: 1.6rem;
  font-weight: 700;
}

figure.goodsImg {
  width: 100%;
  margin: 3rem auto auto;
}

section.facilityIndex {
  padding-top: 6rem;
  padding-bottom: 6rem;
  background: #f3f6ff;
}
@media screen and (max-width: 820px) {
  section.facilityIndex {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
@media screen and (max-width: 820px) {
  section.facilityIndex .inner {
    width: 33.5rem;
    margin: auto;
  }
}
section.facilityIndex .inner p.pageLead {
  font-size: 160%;
  margin-bottom: 5rem;
}
@media screen and (max-width: 820px) {
  section.facilityIndex .inner p.pageLead {
    margin-bottom: 4rem;
  }
}
section.facilityIndex .inner h3 {
  font-size: 330%;
  font-weight: 700;
  padding-bottom: 2rem;
  border-bottom: 2px solid #cddcfa;
  margin-bottom: 3rem;
}
@media screen and (max-width: 820px) {
  section.facilityIndex .inner h3 {
    font-size: 280%;
  }
}

.shisetsuBox {
  width: 100%;
  margin: 6rem auto auto;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 820px) {
  .shisetsuBox {
    flex-direction: column;
    row-gap: 4rem;
  }
}
.shisetsuBox .shisetsu {
  width: 54.4rem;
}
@media screen and (max-width: 820px) {
  .shisetsuBox .shisetsu {
    width: 100%;
  }
}

.otherLinks {
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin: 6rem auto auto;
  border-top: 2px solid #cddcfa;
  padding-top: 6rem;
}
@media screen and (max-width: 820px) {
  .otherLinks {
    flex-direction: column-reverse;
    row-gap: 2rem;
    margin: 4rem auto auto;
    padding-top: 4rem;
  }
}
.otherLinks p.btnFM {
  width: 54.4rem;
  height: 10rem;
}
@media screen and (max-width: 820px) {
  .otherLinks p.btnFM {
    width: 33.5rem;
    height: 8rem;
  }
}
.otherLinks p.btnFM a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 200%;
  font-weight: 700;
  color: #0656f0;
  background: url("../images/ico_fm.webp") no-repeat center left 4rem #e6eefd;
  background-size: 5rem;
  border: 1px solid #cddcfa;
  border-radius: 1rem;
  padding-left: 13rem;
  box-sizing: border-box;
  position: relative;
  transition: all 0.4s ease;
}
@media screen and (max-width: 820px) {
  .otherLinks p.btnFM a {
    background: url("../images/ico_fm.webp") no-repeat center left 2rem #e6eefd;
    background-size: 4rem;
    padding-left: 8rem;
  }
}
.otherLinks p.btnFM a span {
  width: 2.4rem;
  height: 2.4rem;
  background: #e6eefd;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 1.3rem;
  transform: translateY(-50%);
  background: url(../images/ico_other_link.webp) no-repeat;
  background-size: 2.4rem;
}
.otherLinks p.btnFM a:hover {
  color: #fff;
  background: url("../images/ico_fm_white.webp") no-repeat center left 4rem #0656f0;
  background-size: 5rem;
}
.otherLinks p.btnPT {
  width: 54.4rem;
  height: 10rem;
}
@media screen and (max-width: 820px) {
  .otherLinks p.btnPT {
    width: 33.5rem;
    height: 8rem;
  }
}
.otherLinks p.btnPT a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 200%;
  font-weight: 700;
  color: #0656f0;
  background: url("../images/ico_pt.webp") no-repeat center left 4rem #e6eefd;
  background-size: 5rem;
  border: 1px solid #cddcfa;
  border-radius: 1rem;
  padding-left: 13rem;
  box-sizing: border-box;
  position: relative;
  transition: all 0.4s ease;
}
@media screen and (max-width: 820px) {
  .otherLinks p.btnPT a {
    background: url("../images/ico_pt.webp") no-repeat center left 2rem #e6eefd;
    background-size: 4rem;
    padding-left: 8rem;
  }
}
.otherLinks p.btnPT a span {
  width: 2.4rem;
  height: 2.4rem;
  background: #e6eefd;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 1.3rem;
  transform: translateY(-50%);
  background: url(../images/ico_other_link.webp) no-repeat;
  background-size: 2.4rem;
}
.otherLinks p.btnPT a:hover {
  color: #fff;
  background: url("../images/ico_pt_white.webp") no-repeat center left 4rem #0656f0;
  background-size: 5rem;
}

.facilityIndex .qcat p {
  font-size: 160%;
}

section.facilityOther {
  width: 100%;
  background-image: url(../images/bg_use.webp), linear-gradient(to bottom, #f3f6ff, #ffffff);
  background-size: 100%;
  background-position: bottom center;
  background-repeat: no-repeat;
  padding-bottom: 6rem;
}
@media screen and (max-width: 820px) {
  section.facilityOther {
    background-image: url(../images/bg_use_sp.webp), linear-gradient(to bottom, #f3f6ff, #ffffff);
    background-size: 100%;
    padding-bottom: 6rem;
  }
}

.facilitySlide {
  position: relative;
  width: 64rem;
  height: 54rem;
  margin: 6rem auto;
}
@media screen and (max-width: 820px) {
  .facilitySlide {
    width: 33.5rem;
    height: 31.5rem;
    margin: 4rem auto;
  }
}
.facilitySlide .slick-slider {
  position: static;
  margin-bottom: 0;
}
.facilitySlide .slick-slide {
  width: 64rem;
}
@media screen and (max-width: 820px) {
  .facilitySlide .slick-slide {
    width: 33.5rem;
  }
}
.facilitySlide .slick-prev {
  top: auto;
  bottom: 0;
  left: calc(50% + 21.5rem);
}
@media screen and (max-width: 820px) {
  .facilitySlide .slick-prev {
    left: calc(50% + 6.5rem);
  }
}
.facilitySlide .slick-next {
  top: auto;
  bottom: 0;
  left: calc(50% + 25rem);
}
@media screen and (max-width: 820px) {
  .facilitySlide .slick-next {
    left: calc(50% + 10rem);
  }
}
.facilitySlide .slick-dots {
  bottom: 0.5rem;
}
@media screen and (max-width: 820px) {
  .facilitySlide .slick-dots {
    left: 0;
  }
}

#toggle-btn-sl01, #toggle-btn-sl02 {
  width: 2.4rem;
  height: 2.5rem;
  border: none;
  background-color: transparent;
  background-size: 2.4rem;
  background-repeat: no-repeat;
  cursor: pointer;
  position: absolute;
  bottom: 0;
  right: 0;
}

#toggle-btn-sl01.play, #toggle-btn-sl02.play {
  background: url(../images/slick_play.webp) no-repeat;
  background-size: 2.4rem;
}

#toggle-btn-sl01.pause, #toggle-btn-sl02.pause {
  background: url(../images/slick_stop.webp) no-repeat;
  background-size: 2.4rem;
}

.thumbnail01, .thumbnail02 {
  margin: 1rem auto;
  text-align: center;
}
@media screen and (max-width: 820px) {
  .thumbnail01, .thumbnail02 {
    margin: 0.5rem auto;
  }
}
.thumbnail01 li, .thumbnail02 li {
  width: 10rem !important;
  margin: 0 0;
  cursor: pointer;
}
@media screen and (max-width: 820px) {
  .thumbnail01 li, .thumbnail02 li {
    width: 7rem !important;
  }
}

section.facilityIntro {
  width: 100%;
  background: #f2f5fb;
}
section.facilityIntro .inner {
  width: 112rem;
  margin: auto;
}
section.facilityIntro .inner ul.photos {
  margin: auto;
}

ul.photos {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 3rem;
  row-gap: 4rem;
}
@media screen and (max-width: 820px) {
  ul.photos {
    gap: 2rem;
    row-gap: 3rem;
  }
}
ul.photos li {
  width: 25.7rem;
}
@media screen and (max-width: 820px) {
  ul.photos li {
    width: 15.7rem;
  }
}
ul.photos li h4 {
  font-size: 200%;
  font-weight: 700;
  color: #0656f0;
  margin: 1rem 0 0.7rem;
}
@media screen and (max-width: 820px) {
  ul.photos li h4 {
    font-size: 160%;
    margin: 1rem 0 0.5rem;
  }
}
ul.photos li p {
  font-size: 140%;
  line-height: 1.7;
}

ul.floorList {
  width: 100%;
  border: 1px solid #cddcfa;
  border-radius: 1rem;
  padding: 2.6rem 2.9rem 1rem;
  box-sizing: border-box;
  background: #fff;
  margin: 6rem auto;
  column-count: 6;
}
@media screen and (max-width: 820px) {
  ul.floorList {
    margin: 3rem auto 4rem;
    column-count: initial;
    height: calc(100vh - 47rem);
    overflow-y: scroll;
    padding: 2rem 2rem 1rem;
  }
}
ul.floorList li {
  font-size: 160%;
  line-height: 1;
  color: #0656f0;
  flex: 0 0 calc(100% / 6);
  margin-bottom: 1.5rem;
}

.degree360 {
  width: 80rem;
  margin: auto;
}
@media screen and (max-width: 820px) {
  .degree360 {
    width: 33.5rem;
  }
}
.degree360 p.attention {
  margin-top: 2rem;
  font-size: 130%;
  line-height: 1.7;
}

iframe.ricoh-theta-iframe {
  width: 100% !important;
}

.spopita {
  width: 100%;
  margin: 6rem auto;
  padding: 3rem;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #cddcfa;
  border-radius: 1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 820px) {
  .spopita {
    margin: 4rem auto;
    padding: 3rem 2rem;
    flex-direction: column;
    row-gap: 2rem;
  }
}
.spopita figure {
  width: 17rem;
}
@media screen and (max-width: 820px) {
  .spopita figure {
    width: 15.548rem;
    margin: auto;
  }
}
.spopita p {
  width: 55rem;
  font-size: 130%;
  line-height: 1.7;
}
@media screen and (max-width: 820px) {
  .spopita p {
    width: 100%;
    margin: auto;
  }
}

.thumbWrap {
  width: 44rem;
  margin: auto;
}
@media screen and (max-width: 820px) {
  .thumbWrap {
    width: 100%;
  }
}

p.underConstruction {
  width: 100%;
  height: 30vh;
  padding-bottom: 5vh;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 400%;
  font-weight: 700;
}

section.admission .inner p.construct {
  font-size: 200%;
  text-align: center;
  margin-bottom: 2rem;
}

