@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Kaisei+Decol&display=swap');
@import url('https://fonts.googleapis.com/earlyaccess/hannari.css');

html {
  font-size: 62.5%;
}
@media screen and (max-width: 1100px) {
  html{
    font-size: calc(100vw / 110.0);
  }
}
@media screen and (max-width: 769px) {
  html{
    /*font-size: calc(100vw / 140.0);*/
    font-size: 2.1vw;
  }
}
body {
  font-size: 1.6rem;
  line-height: 1.6;
  font-family: "Hannari", "Noto Serif JP", serif;
  font-weight: 400;
  color: #3a3a3a;
  background: #fff;
}

.montserrat {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.kaisei-decol-regular {
  font-family: "Kaisei Decol", serif;
  font-weight: 400;
  font-style: normal;
}

.noto-serif {
}

@media screen and (min-width: 770px) {
  .vsp { display: none !important; }
}
@media screen and (max-width: 769px) {
  .vpc { display: none !important; }
}

a {
  color: #000;
  text-decoration: underline;
}
a:hover {
  text-decoration: none;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="date"],
textarea {
  -webkit-appearance: none;
  padding: 1.2rem;
  margin: 0;
  border: none;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  vertical-align: middle;
  border-width: 1px;
  border-color: #C4C4C4;
  border-style: solid;
  background-color: #FAFAFA;
  font-size: 1.6rem;
  border-radius: 0.3rem;
}
input[type="checkbox"],
input[type="radio"] {
  margin-right: 0.5rem;
  width: 1.3rem;
  height: 1.3rem;
}
@media screen and (max-width: 767px) {
}
select {
  -webkit-appearance: none;
  padding: 1.2rem;
  margin: 0;
  border: none;
  box-sizing: border-box;
  vertical-align: middle;
  border-width: 1px;
  border-color: #D9D9D9;
  border-style: solid;
  background-color: #fff;
  background: #fff url(../img/icon_select.png) calc(100% - 1.5rem) 50%/1.3rem auto no-repeat;
  font-size: 1.6rem;
  padding-right: 4.0rem;
  border-radius: 0.3rem;
}

textarea {
  width: 100%;
  height: 14.0rem;
}


@media screen and (min-width: 770px) {
  #body {
    position: relative;
    background: #fff;
    overflow: hidden;
  }
  header {
  }
  main {
    margin: 0 auto;
  }
  footer {
  }
}
@media screen and (max-width: 769px) {
  #body {
    width: 100%;
    overflow: hidden;
    background: #fff;
    padding: 0rem 0rem 0rem 0rem;
  }
  header {
  }
  main {
  }
  img {
    width: 100%;
    height: auto;
  }
  footer {
  }
}

@keyframes rotation {
  0%{ transform:rotate(0);}
  100%{ transform:rotate(360deg); }
}
.loading {
  width: 100vw;
  height: 100vh;
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
}
.loading .inner {
  position: absolute;
  top: 50%;
  left: 50%;
  max-width: 50.0rem;
  margin: 0 auto;
  transform: translate(-50%, -50%);
}
.loading .bg {
  width: 100%;
  animation: 10s linear infinite rotation;
  display: none;
}
.loading .logo {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  display: none;
}
.loading .text {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  text-align: center;
  display: none;
}

header {
  border: none;
  z-index: 100;
  width: 100%;
  z-index: 101;
  box-sizing: border-box;
  position: fixed;
  top: 0;
  left: 0;
}
@media screen and (min-width: 770px) {
  header {
  }
  main {
  }
}
@media screen and (max-width: 769px) {
  header {
  }
  main {
    padding: 0;
  }
}

header {
  transition: opacity 200ms 0s ease;
}
header.hidden {
  opacity: 0;
}
@media screen and (min-width: 770px) {
  header .inner {
    position: relative;
  }
  header .logo {
    position: absolute;
    top: 2.1rem;
    left: 6.2rem;
    width: 11.0rem;
    z-index: 10;
  }
  header .reserve {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 10;
  }
  header .reserve a {
    display: block;
    text-decoration: none;
    color: #3a3a3a;
    border-radius: 0 0 0 0.5rem;
    text-align: center;
    width: 13.0rem;
    height: 13.0rem;
    font-size: 1.8rem;
    padding-top: 2.0rem;
    font-weight: bold;
    line-height: 1.5;
    background: #b5ffda url(../img/icon_button_arrow_grn.png) 50% calc(100% - 2.5rem)/3.0rem auto no-repeat;
    transition: all 200ms 0s ease;
  }
  header .reserve a:hover {
    background-color: #53d896;
  }
  header .stores {
    position: absolute;
    top: 0;
    right: 135px;
    z-index: 10;
  }
  header .stores a {
    border-radius: 0 0 0.5rem 0.5rem;
    background: #a6d1fb url(../img/icon_button_arrow_bl.png) 50% calc(100% - 2.5rem)/3.0rem auto no-repeat;
  }
  header .stores a:hover {
    background-color: #64aff8;
  }
  header .menu {
    position: absolute;
    top: 16.0rem;
    right: 2.5rem;
    width: 7.0rem;
    cursor: pointer;
    user-select: none;
    transition: opacity 200ms 0s ease;
  }
  header .menu:hover {
    opacity: 0.7;
  }

  header .gnavi {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 9.5rem;
    padding-left: 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    background: rgba(255,255,255,0.9);
  }
  header .gnavi ul.link {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
  }
  header .gnavi ul.link>li {
    margin: 0 1.5rem;
    position: relative;
  }
  header .gnavi ul.link>li>a {
    display: block;
  }
  header .gnavi ul.link>li>a {
    text-decoration: none;
  }
  header .gnavi ul.link>li>a:hover {
    text-decoration: underline;
  }
  header .gnavi ul.link>li>.caption {
    display: block;
    cursor: pointer;
    user-select: none;
  }
  header .gnavi ul.link>li>.caption:hover {
    text-decoration: underline;
  }
  header .gnavi ul.sublink {
    position: absolute;
    background: rgba(255,255,255,0.8);
    padding: 0.5rem 1.0rem;
    margin: 0 -1.0rem;
    font-size: 1.5rem;
    display: none;
  }
  header .gnavi .open ul.sublink {
    display: block;
  }
  header .gnavi ul.sublink>li {
    margin-bottom: 0.5rem;
  }
  header .gnavi ul.sublink>li:last-child {
    margin-bottom: 0rem;
  }
  header .gnavi ul.sublink>li>a {
    text-decoration: none;
    white-space: nowrap;
  }
  header .gnavi ul.sublink>li>a:hover {
    text-decoration: underline;
  }

  header .gnavi ul.button {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
  }
  header .gnavi ul.button li {
    margin: 0 1.0rem 0 2.0rem;
  }
  header .gnavi ul.button li a {
    display: block;
  }
  header .gnavi ul.button a {
    text-decoration: none;
    background: #F4A787;
    color: #fff;
    padding: 0.7rem 3.5rem;
    transition: opacity 200ms 0s ease;
  }
  header .gnavi ul.button a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 769px) {
  header .inner {
    height: 9.0rem;
  }
  header .logo {
    position: absolute;
    top: 0.5rem;
    left: 0.5rem;
    height: 8.0rem;
  }
  header .logo img {
    width: auto;
    height: 100%;
  }
  header .reserve a {
    display: block;
    text-decoration: none;
    border-radius: 2.0rem 2.0rem 0 0;
    text-align: center;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.5;
    background: #53d896;
    position: fixed;
    bottom: 0;
    left: 1.0rem;
    text-align: center;
    padding: 2.0rem 4.0rem;
    width: calc(60% - 10.0rem);
  }
  header .stores a {
    background: #a6d1fb;
    position: fixed;
    bottom: 0;
    left: auto;
    right: 9rem;
    padding: 2.0rem 3.0rem;
  }
  header .reserve a br {
    display: none;
  }
  header .menu {
    position: absolute;
    top: 2.0rem;
    right: 2.0rem;
    height: 5.0rem;
  }
  header .menu img {
    width: auto;
    height: 100%;
  }
  header .gnavi {
    display: none;
  }
}


nav.gmenu {
  display: block;
  position: fixed;
  top: 0;
  left: -100%;
  width: 100%;
  z-index: 110;
  background: rgba(255,255,255,0.95);
  margin: 0rem 0rem 0rem 0rem;
  opacity: 0;
  height: calc(100vh);
  overflow-y: auto;
}
nav.gmenu .inner {
  padding: 4.0rem 3.0rem;
  position: relative;
  min-height: 100%;
}
nav.gmenu .logo {
  width: 8.0rem;
  margin: 5.0rem auto;
}
nav.gmenu .link {
  width: 100%;
  max-width: 23.0rem;
  margin: 0 auto;
}
nav.gmenu .link>li {
  border-bottom: solid 1px #ccc;
}
nav.gmenu .link>li:last-child {
  border-bottom: none;
}
nav.gmenu .link>li a,
nav.gmenu .link>li .label {
  cursor: pointer;
  user-select: none;
  display: block;
  text-align: center;
  text-decoration: none;
  padding: 0.5rem 3.0rem 0.8rem 3.0rem;
  transition: opacity 200ms 0s ease;
}
nav.gmenu .link>li a:hover {
  opacity: 0.6;
}

nav.gmenu .link>li .label {
  background: url(../img/icon_plus.png) 100% 50%/0.9rem auto no-repeat;
}
nav.gmenu .link>li.open .label {
  background: url(../img/icon_minus.png) 100% 50%/0.9rem auto no-repeat;
}
nav.gmenu .link>li .sublink {
  display: none;
}
nav.gmenu .link>li.open .sublink {
  display: block;
  padding-bottom: 1.0rem;
}
nav.gmenu .link>li .sublink a {
  font-size: 1.3rem;
  padding: 0.8rem 3.0rem;
  transition: opacity 200ms 0s ease;
}


nav.gmenu .button {
  display: block;
  width: fit-content;
  margin: 0 auto;
  margin-top: 3.0rem;
}
nav.gmenu .button a {
  text-decoration: none;
  background: #8de5b9;
  padding: 0.5rem 3.5rem 0.7rem 3.5rem;
  transition: opacity 200ms 0s ease;
}
nav.gmenu .button.stores a {
  background: #a6d1fb;
}
nav.gmenu .button a:hover {
  opacity: 0.7;
}
@media screen and (min-width: 770px) {
  nav.gmenu .close {
    position: absolute;
    top: 16.0rem;
    right: 2.5rem;
    width: 7.0rem;
    cursor: pointer;
    user-select: none;
    transition: opacity 200ms 0s ease;
  }
  nav.gmenu .close:hover {
    opacity: 0.7;
  }
  nav.gmenu .inner {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
  }
  nav.gmenu .inner .logo-wrap {
    width: 30.4rem;
    margin-right: 13.5rem;
    padding: 0 0 12.5rem 0;
  }
  nav.gmenu .inner .logo-wrap .logo {
    width: 16.0rem;
  }
  nav.gmenu .button {
    width: 100%;
    margin-top:3.8rem;
  }
  nav.gmenu .button a {
    display: block;
    width: 100%;
    text-align: center;
    font-size: 2.0rem;
    padding: 2.2rem 0;
  }
  nav.gmenu .inner .link {
    width: 54.0rem;
    max-width: unset;
    margin: 0;
    border-top: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
  }
  nav.gmenu .link>li a,
  nav.gmenu .link>li .label {
    text-align: left;
    padding: 2.1rem 2.0rem;
    font-size: 2.0rem;
  }
  nav.gmenu .link>li.open .sublink {
    display: flex;
    flex-wrap: wrap;
  }
  nav.gmenu .link>li.open .sublink li {
    width: 50%;
  }
  nav.gmenu .link>li .label {
    background: url(../img/icon_plus.png) calc(100% - 2.2rem) 50%/1.6rem auto no-repeat;
  }
  nav.gmenu .link>li.open .label {
    background: url(../img/icon_minus.png) calc(100% - 2.2rem) 50%/1.6rem auto no-repeat;
  }
}
@media screen and (max-width: 769px) {
  nav.gmenu .close {
    position: absolute;
    top: 2.0rem;
    right: 2.0rem;
    height: 5.0rem;
  }
  nav.gmenu .close img {
    width: auto;
    height: 100%;
  }
}


footer {
}
footer .inner {
  max-width: 110.0rem;
  margin: 0 auto;
  position: relative;
  display: flex;
  flex-wrap: wrap;
}
footer .logo {
  width: 13.0rem;
}
footer .classroom {
  width: 38.0rem;
  padding: 3.3rem 7.0rem;
}
footer .classroom li {
  margin-bottom: 1.5rem;
}
footer .classroom li a {
  color: #11A695;
}
footer .link-block {
  width: calc(100% - 13.0rem - 38.0rem);
}
footer .link-block .link-wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-top: 2.8rem;
  padding-bottom: 0.8rem;
  border-bottom: solid 1px #c4c4c4;
}
footer .link-block .link {
  width: 33.3%;
}
footer .link-block .link li {
  margin-bottom: 1.2rem;
}
footer .link-block .link li a {
  display: block;
  text-decoration: none;
  position: relative;
  font-size: 1.4rem;
  padding-left: 3.0rem;
}
footer .link-block .link li a:hover {
  text-decoration: underline;
}
footer .link-block .link li a::before {
  content: '';
  display: block;
  width: 0.7rem;
  height: 0.7rem;
  background: #C4C4C4;
  border-radius: 100%;
  position: absolute;
  top: 50%;
  left: 0.4rem;
}
footer .link-block .button {
  margin-top: 2.5rem;
  display: flex;
  justify-content: right;
  flex-wrap: wrap;
}
footer .link-block .button li {
  margin-left: 2.0rem;
}
footer .link-block .button li a {
  display: block;
  text-decoration: none;
  position: relative;
  font-size: 1.4rem;
  color: #000;
  width: 22.0rem;
  height: 4.0rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: url(../img/footer_button_bg.png) 50% 50%/100% auto no-repeat;
  transition: all 200ms 0s ease;
}
footer .link-block .button li a:hover {
  color: #fff;
  background: url(../img/footer_button_bg_on.png) 50% 50%/100% auto no-repeat;
}
footer .copyright {
  width: 100%;
  text-align: center;
  font-size: 1.0rem;
  padding: 3.0rem 0;
}
@media screen and (min-width: 770px) {
  footer .inner {
  }
}
@media screen and (max-width: 769px) {
  footer {
    padding-bottom: 6.0rem;
  }
  footer .logo {
    width: 40%;
    padding: 3.0rem;
  }
  footer .classroom {
    width: 60%;
    padding: 0;
    padding-top: 3.0rem;
  }
  footer .link-block {
    width: 100%;
    padding: 0 3.0rem;
  }
  footer .link-block .link {
    width: 100%;
  }
  footer .link-block .link li {
  }
  footer .link-block .button {
    justify-content: space-between;
  }
  footer .link-block .button li {
    width: calc(50% - 1.0rem);
    margin-left: 0rem;
  }
  footer .link-block .button li a {
    width: 100%;
    height: 100%;
    aspect-ratio: 220 / 40;
  }
}

@media screen and (min-width: 770px) {
  .pagetop {
    position: fixed;
    bottom: 3.0rem;
    right: 3.0rem;
  }
}
@media screen and (max-width: 769px) {
  .pagetop {
    display: block;
    position: fixed;
    bottom: 0.5rem;
    right: 1.5rem;
    width: 6.0rem;
  }
  .pagetop img {
  }
}

section {
  position: relative;
}
@media screen and (min-width: 770px) {
  section .container {
    padding: 5.0rem 2.0rem;
    max-width: 102.0rem;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    background: rgba(255,255,255,0.65);
  }
}
@media screen and (max-width: 769px) {
  section .container {
    padding: 3.0rem 2.0rem;
  }
}

section .page-button {
  text-align: center;
}
section .page-button a {
  display: inline-block;
  text-decoration: none;
  position: relative;
  font-size: 1.6rem;
  color: #000;
  width: 34.7rem;
  height: 6.7rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin: 0 auto;
  background: url(../img/page_button_bg.png) 50% 50%/100% auto no-repeat;
  transition: all 200ms 0s ease;
}
section .page-button a:hover {
  color: #fff;
  background: url(../img/page_button_bg_on.png) 50% 50%/100% auto no-repeat;
}
@media screen and (min-width: 770px) {
}
@media screen and (max-width: 769px) {
  section .page-button a {
    max-width: 60%;
    margin: 0 auto;
    font-size: 1.5rem;
  }
  section .page-button a:hover {
    color: #000;
    background: url(../img/page_button_bg.png) 50% 50%/100% auto no-repeat;
  }
}

h2.section-title {
  font-size: 3.0rem;
  text-align: center;
  margin-bottom: 3.0rem;
  font-family: "Kaisei Decol", serif;
  font-weight: 400;
  font-style: normal;
}
h2.section-title .sub {
  font-size: 2.4rem;
  display: block;
  font-weight: 400;
}
@media screen and (min-width: 770px) {
}
@media screen and (max-width: 769px) {
}


/* anchor */

#mailform {
  padding-top: 20.0rem;
  margin-top: -20.0rem;
}


section.home-mv {
  position: relative;
  overflow: hidden;
}
section.home-mv .image {
  width: 100%;
  height: 100%;
  position: relative;
}
section.home-mv .image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
section.home-mv .tama {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
@media screen and (min-width: 770px) {
}
@media screen and (max-width: 769px) {
}

@keyframes animation-home-lead-image {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-256.0rem);
  }
}

section.home-lead {
  position: relative;
}
section.home-lead .navi {
  max-width: 110.0rem;
  margin: 0 auto;
}
section.home-lead .navi {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
section.home-lead .navi li a {
  display: block;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.6rem;
  font-weight: bold;
  text-decoration: none;
  padding: 0 2.8rem;
  color: #000;
  transition: all 200ms 0s ease;
}
section.home-lead .navi li a:hover {
  color: #fff;
}
section.home-lead .text {
  text-align: center;
  font-size: 1.6rem;
  padding: 1.0rem 0;
  line-height: 2.5;
}
section.home-lead::after {
  content: '';
  display: block;
  width: calc(256.0rem * 2);
  height: 40.0rem;
  background: url(../img/home_lead_image.jpg) 50% 50%/auto 40.0rem repeat-x;
  animation: animation-home-lead-image 100s infinite linear;
}
@media screen and (min-width: 770px) {
  section.home-lead .container {
    padding-top: 8.5rem;
    padding-bottom: 2.7rem;
  }
  section.home-lead .navi {
    margin: 0 -2.0rem;
  }
  section.home-lead .navi li {
    margin-bottom: 3.5rem;
  }
  section.home-lead .navi li a {
    background: url(../img/home_lead_navi2_bg.png) 50% 50%/100% auto no-repeat;
    width: 24.5rem;
    height: 10.0rem;
    transition: all 200ms 0s ease;
  }
  section.home-lead .navi li a:hover {
    background: url(../img/home_lead_navi2_bg_on.png) 50% 50%/100% auto no-repeat;
  }
  /*
  section.home-lead .navi li a {
    background: url(../img/home_lead_navi1_bg.png) 50% 50%/100% auto no-repeat;
    width: 33.2rem;
    height: 9.9rem;
    transition: all 200ms 0s ease;
  }
  section.home-lead .navi li a:hover {
    background: url(../img/home_lead_navi1_bg_on.png) 50% 50%/100% auto no-repeat;
  }
  */
  /*
  section.home-lead .navi li a {
    background: url(../img/home_lead_navi2_bg.png) 50% 50%/100% auto no-repeat;
    width: 24.5rem;
    height: 10.0rem;
    transition: all 200ms 0s ease;
  }
  section.home-lead .navi li a:hover {
    background: url(../img/home_lead_navi2_bg_on.png) 50% 50%/100% auto no-repeat;
  }
  section.home-lead .navi li:nth-child(1) a,
  section.home-lead .navi li:nth-child(2) a,
  section.home-lead .navi li:nth-child(3) a {
    background: url(../img/home_lead_navi1_bg.png) 50% 50%/100% auto no-repeat;
    width: 33.2rem;
    height: 9.9rem;
  }
  section.home-lead .navi li:nth-child(1) a:hover,
  section.home-lead .navi li:nth-child(2) a:hover,
  section.home-lead .navi li:nth-child(3) a:hover {
    background: url(../img/home_lead_navi1_bg_on.png) 50% 50%/100% auto no-repeat;
  }
 */
}
@media screen and (max-width: 769px) {
  section.home-lead .container {
  }
  section.home-lead::after {
    height: 20.0rem;
    background: url(../img/home_lead_image.jpg) 50% 50%/auto 20.0rem repeat-x;
  }
  section.home-lead .text {
    font-size: 1.6rem;
    line-height: 1.8;
    text-align: left;
  }
  section.home-lead .navi li {
    width: calc(50% - 1.0rem);
    margin-bottom: 1.0rem;
  }
  section.home-lead .navi li a {
    font-size: 1.5rem;
    background: url(../img/home_lead_navi1_bg.png) 50% 50%/100% auto no-repeat;
    aspect-ratio: 332 / 99;
    width: 100%;
    height: 100%;
    padding: 0 1.0rem;
  }
  section.home-lead .navi li a:hover {
    color: #000;
  }
}

section.home-news {
}
section.home-news h2 {
  text-align: center;
  margin-bottom: 0.0rem;
  min-height: 16.0rem;
  line-height: 1.4;
  font-weight: 400;
  font-family: "Kaisei Decol", serif;
  font-weight: 400;
  font-style: normal;
}
section.home-news h2 .sub {
  display: block;
  font-size: 2.2rem;
  padding-top: 3.5rem;
}
section.home-news h2 .main {
  display: block;
  font-size: 2.4rem;
}
section.home-news .slider {
  max-width: 110.0rem;
  margin: 0 auto;
}
section.home-news .slider li {
  width: calc(100% / 3);
}
section.home-news .slider li a {
  display: block;
  text-decoration: none;
  padding: 0 1.0rem;
  transition: opacity 200ms 0s ease;
}
section.home-news .slider li a:hover {
  opacity: 0.7;
}
section.home-news .slider .slick-prev,
section.home-news .slider .slick-next {
  width: 3.0rem;
  height: 6.0rem;
}
section.home-news .slider .slick-prev::before,
section.home-news .slider .slick-next::before {
  content: none;
}
section.home-news .slider .slick-prev {
  background: url(../img/home_news_button_prev.png) 0 0/100% auto no-repeat;
  left: 0rem;
  z-index: 1;
}
section.home-news .slider .slick-next {
  background: url(../img/home_news_button_next.png) 0 0/100% auto no-repeat;
  right: 0rem;
  z-index: 1;
}

section.home-news .slider .image {
  margin-bottom: 1.0rem;
}
section.home-news .slider .image img {
  width: 100%;
  height: auto;
}
section.home-news .slider .category {
  width: fit-content;
  border: solid 1px #01377F;
  color: #01377F;
  font-size: 1.2rem;
  padding: 0.2rem 0.5rem;
  margin-bottom: 0.8rem;
}
section.home-news .slider .title {
  font-weight: bold;
  margin-bottom: 0.3rem;
}
section.home-news .slider .date {
  font-size: 1.2rem;
  color: #8A8A8A;
}
@media screen and (min-width: 770px) {
  section.home-news .container {
    padding-top: 8.5rem;
    padding-bottom: 9.3rem;
  }
  section.home-news .container {
  }
}
@media screen and (max-width: 769px) {
  section.home-news h2 {
    /* background: url(../img/home_news_bg_left.png) calc(0% - 2.0rem) 50%/12.0rem auto no-repeat,
                url(../img/home_news_bg_right.png) calc(100% + 2.0rem) 50%/12.0rem auto no-repeat; */
    margin-left: 0rem;
    margin-right: 0rem;
  }
}

section.home-lesson {
}
section.home-lesson h2 {
  text-align: left;
  margin-bottom: 5.5rem;
  font-weight: 400;
  font-family: "Kaisei Decol", serif;
  font-weight: 400;
  font-style: normal;
}
section.home-lesson h2 .sub {
  display: block;
  font-size: 2.2rem;
  margin-bottom: 1.0rem;
}
section.home-lesson h2 .main {
  display: block;
  font-size: 2.4rem;
}
section.home-lesson h2 .main em {
  font-size: 3.6rem;
}
section.home-lesson .text {
  line-height: 2.0;
}
section.home-lesson .text p {
  margin-bottom: 3.0rem;
}
section.home-lesson ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
section.home-lesson ul li {
  width: calc(50% - 1.0rem);
  margin-bottom: 2.0rem;
}
section.home-lesson ul li a {
  display: block;
  height: 100%;
  text-decoration: none;
  background: #fff;
  border-radius: 1.0rem;
  padding: 2.3rem 2.0rem;
  overflow: hidden;
  display: flex;
  justify-content: left;
  align-items: center;
  flex-wrap: wrap;
  box-shadow: 0 0 0.5rem 0 rgba(0,0,0,0.3);
  transition: opacity 200ms 0s ease;
}
section.home-lesson ul li a:hover {
  opacity: 0.6;
}
section.home-lesson .icon {
  margin-bottom: 2.0rem;
  width: 9.6rem;
  text-align: center;
}
section.home-lesson .name {
  width: calc(100% - 9.6rem);
  font-size: 2.0rem;
  color: #01377F;
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: 2.0rem;
}
section.home-lesson .desc {
  width: 100%;
}
@media screen and (min-width: 770px) {
  section.home-lesson {
    position: relative;
  }
  section.home-lesson .container {
    padding-top: 7.5rem;
    padding-bottom: 7.0rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  section.home-lesson .left {
    width: calc(100% - 66.5rem);
    padding-top: 0.0rem;
  }
  section.home-lesson .right {
    width: 66.5rem;
  }
  section.home-lesson .text {
    padding-right: 4.5rem;
  }
}
@media screen and (max-width: 769px) {
  section.home-lesson ul li {
    width: 100%;
  }
  section.home-lesson .text {
    margin-bottom: 3.0rem;
  }
  section.home-lesson .icon {
    width: 7.0rem;
    margin-right: 2.0rem;
  }
  section.home-lesson .name br {
    display: none;
  }
}


section.home-commitment {
}
section.home-commitment h2 {
  text-align: center;
  margin-bottom: 2.9rem;
  line-height: 1.7;
  font-weight: 400;
  font-family: "Kaisei Decol", serif;
  font-weight: 400;
  font-style: normal;
}
section.home-commitment h2 .sub {
  display: block;
  font-size: 2.2rem;
  padding-top: 3.5rem;
}
section.home-commitment h2 .main {
  display: block;
  font-size: 2.4rem;
}
section.home-commitment .block {
  position: relative;
}
section.home-commitment ul li {
  font-size: 1.8rem;
  font-weight: bold;
  padding: 3.7rem 2.0rem;
  padding-left: 7.5rem;
  border-bottom: solid 1px #BFBFBF;
  position: relative;
}
section.home-commitment ul li::before {
  content: '';
  display: block;
  width: 5.0rem;
  height: 5.0rem;
  position: absolute;
  top: 6.2rem;
  left: 0.8rem;
  transform: translate(0%, -50%);
}
section.home-commitment ul li:nth-child(1)::before {
  background: url(../img/home_commitment_num_01.png) 50% 50%/100% auto no-repeat;
}
section.home-commitment ul li:nth-child(2)::before {
  background: url(../img/home_commitment_num_02.png) 50% 50%/100% auto no-repeat;
}
section.home-commitment ul li:nth-child(3)::before {
  background: url(../img/home_commitment_num_03.png) 50% 50%/100% auto no-repeat;
}
section.home-commitment ul li:nth-child(4)::before {
  background: url(../img/home_commitment_num_04.png) 50% 50%/100% auto no-repeat;
}
section.home-commitment ul li:nth-child(5)::before {
  background: url(../img/home_commitment_num_05.png) 50% 50%/100% auto no-repeat;
}
section.home-commitment .youtube {
  max-width: 84.5rem;
  margin: 0 auto;
  margin-top: 9.0rem;
}
section.home-commitment .youtube iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}
@media screen and (min-width: 770px) {
  section.home-commitment .container {
    padding-top: 7.5rem;
    padding-bottom: 10.7rem;
  }
  section.home-commitment .block {
    min-height: 69.0rem;
  }
  section.home-commitment .image {
    position: absolute;
    top: -0.5rem;
    right: -2.5rem;
    width: 55.1rem;
  }
  section.home-commitment ul {
    max-width: 48.5rem;
  }
  section.home-commitment .page-button {
    max-width: 48.5rem;
    margin-top: 5.5rem;
  }
  section.home-commitment .page-button a {
    margin: 0 auto;
  }
}
@media screen and (max-width: 769px) {
  section.home-commitment h2 .main {
    font-size: 2.2rem;
  }
  section.home-commitment ul li {
    font-size: 1.9rem;
    padding-left: 6.0rem;
  }
  section.home-commitment ul li::before {
    width: 4.0rem;
    height: 4.0rem;
    top: 50%;
  }
  section.home-commitment .image {
    display: none;
  }
  section.home-commitment .page-button {
    margin-top: 2.0rem;
  }
}


section.home-classroom {
}
section.home-classroom .container {
  position: relative;
  z-index: 1;
}
section.home-classroom h2 {
  text-align: center;
  margin-bottom: 2.7rem;
  font-weight: 400;
  font-family: "Kaisei Decol", serif;
  font-weight: 400;
  font-style: normal;
}
section.home-classroom h2 .sub {
  display: block;
  font-size: 2.2rem;
}
section.home-classroom h2 .main {
  display: block;
  font-size: 2.4rem;
}
section.home-classroom .text {
  text-align: center;
  margin-bottom: 4.0rem;
  line-height: 1.7;
}
section.home-classroom ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 5.5rem;
}
section.home-classroom ul li {
}
section.home-classroom ul li a {
  display: block;
  text-decoration: none;
  background: #fff;
  border-radius: 0.5rem;
  text-align: center;
  padding: 3.5rem 1.0rem 1.0rem 1.0rem;
  box-shadow: 0 0 0.5rem 0 rgba(0,0,0,0.3);
  transition: opacity 200ms 0s ease;
}
section.home-classroom ul li a:hover {
  opacity: 0.7;
}
section.home-classroom ul .title {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
}
section.home-classroom ul .sub {
  margin-bottom: 2.8rem;
}
section.home-classroom ul .image {
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 770px) {
  section.home-classroom {
    position: relative;
  }
  section.home-classroom .container {
    padding-top: 8.0rem;
    padding-bottom: 7.0rem;
  }
  section.home-classroom ul li {
    width: calc(25% - 2.8rem);
  }
}
@media screen and (max-width: 769px) {
  section.home-classroom .container {
    padding-top: 14.0rem;
  }
  section.home-classroom .text {
    text-align: left;
  }
  section.home-classroom ul li {
    width: calc(50% - 1.0rem);
    margin-bottom: 2.0rem;
  }
}


section.bottom-recruit h2 {
  text-align: center;
  margin-bottom: 3.5rem;
  font-weight: 400;
  font-family: "Kaisei Decol", serif;
  font-weight: 400;
  font-style: normal;
}
section.bottom-recruit h2 .main {
  display: block;
  font-size: 3.2rem;
}
section.bottom-recruit .recruit .text {
  margin-bottom: 2.8rem;
  line-height: 1.9;
}
@media screen and (min-width: 770px) {
  section.bottom-recruit {
    position: relative;
    z-index: 1;
  }
  section.bottom-recruit .container {
    padding-top: 0rem;
    padding-bottom: 7.5rem;
  }
  section.bottom-recruit .recruit {
    width: 100%;
    height: auto;
    aspect-ratio: 1100 / 405;
    padding: 0 2.0rem;
    padding-top: 6.5rem;
    text-align: center;
  }
}
@media screen and (max-width: 769px) {
  section.bottom-recruit .recruit {
    width: 100%;
    padding: 3.0rem;
    text-align: center;
  }
  section.bottom-recruit h2 {
    margin-bottom: 2.0rem;
  }
  section.bottom-recruit h2 .main {
    font-size: 2.8rem;
  }
  section.bottom-recruit .recruit .text {
    line-height: 1.6;
    text-align: left;
  }
  section.bottom-recruit .recruit .button-green a {
  }
}

section.mv {
}
section.mv .image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  text-align: center;
}
section.mv h1 {
  text-align: center;
  background: #b5ffda;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.5rem;
  font-family: "Kaisei Decol", serif;
  font-weight: 400;
  font-style: normal;
}
section.mv h1 .sub {
  font-size: 2.0rem;
  margin: 0 2.0rem;
}
section.mv h1 .main {
  font-size: 3.2rem;
  margin: 0 2.0rem;
}
section.mv .breadcrumb {
  display: flex;
  justify-content: left;
  align-items: center;
  max-width: 110.0rem;
  margin: 0 auto;
  padding: 1.0rem 0.0rem;
}
section.mv .breadcrumb li {
  display: block;
  font-size: 1.2rem;
}
section.mv .breadcrumb li::after {
  content: ">";
  display: inline-block;
  margin: 0 0.3rem;
}
section.mv .breadcrumb li:last-child::after {
  content: none;
}
section.mv .breadcrumb a {
  text-decoration: none;
}
section.mv .breadcrumb a:hover {
  text-decoration: underline;
}
@media screen and (min-width: 770px) {
  section.mv {
    padding-top: 10.0rem;
  }
}
@media screen and (max-width: 769px) {
}

section.kiso-lead {
}
section.kiso-lead .text {
  line-height: 2.0;
}
section.kiso-lead .text p {
  margin-bottom: 3.0rem;
}
@media screen and (min-width: 770px) {
  section.kiso-lead .container {
    padding-top: 10.5rem;
    padding-bottom: 10.5rem;
  }
  section.kiso-lead .container .wrap {
    display: flex;
    justify-content: left;
  }
  section.kiso-lead .text {
    padding-top: 0.3rem;
    padding-left: 7.0rem;
  }
  section.kiso-lead .container .image {
    flex-shrink: 0;
  }
}
@media screen and (max-width: 769px) {
  section.kiso-lead .container .image {
    max-width: 50%;
    margin: 0 auto;
    margin-bottom: 2.0rem;
  }
}

section.kiso-course {
  position: relative;
}
section.kiso-course .section-title {
  text-align: left;
  margin-bottom: 3.0rem;
}
section.kiso-course .text {
  line-height: 2.0;
  margin-bottom: 5.5rem;
}
section.kiso-course .page-button {
  margin-bottom: 1.5rem;
}
section.kiso-course .step {
}
section.kiso-course .step li {
  border-radius: 0.5rem;
  box-shadow: 0 0 0.5rem 0 rgba(0,0,0,0.3);
  margin-bottom: 2.5rem;
  position: relative;
  padding: 3.0rem 5.0rem;
  padding-left: 20.0rem;
}
section.kiso-course .step li .label {
  position: absolute;
  top: 50%;
  left: 3.0rem;
  transform: translate(0%, -50%);
  border-radius: 1.0rem;
  display: block;
  width: 14.5rem;
  padding: 0.5rem;
  text-align: center;
  font-size: 2.0rem;
  font-weight: bold;
}
section.kiso-course .step li:nth-child(1) .label {
  background: #ffccb7;
  box-shadow: 0 0 0.3rem 0.3rem #ffccb7;
  color: #963D17;
}
section.kiso-course .step li:nth-child(2) .label {
  background: #c9d3dd;
  box-shadow: 0 0 0.3rem 0.3rem #c9d3dd;
  color: #7D93B0;
}
section.kiso-course .step li:nth-child(3) .label {
  background: #fee6b6;
  box-shadow: 0 0 0.3rem 0.3rem #fee6b6;
  color: #CB9200;
}
section.kiso-course .step li:nth-child(4) .label {
  background: #ffd8fb;
  box-shadow: 0 0 0.3rem 0.3rem #ffd8fb;
  color: #8E65A6;
}
section.kiso-course::after {
  content: '';
  display: block;
  width: 100%;
  height: 48.8rem;
  background: url(../img/kiso_course_image.jpg) 50% 50%/auto 48.8rem repeat-x;
}
@media screen and (min-width: 770px) {
  section.kiso-course .container {
    padding-top: 9.0rem;
    padding-bottom: 5.0rem;
  }
  section.kiso-course .wrap {
    display: flex;
    justify-content: space-between;
  }
  section.kiso-course .left {
    width: 34.7rem;
    flex-shrink: 0;
  }
  section.kiso-course .right {
    padding-top: 0.5rem;
    padding-left: 8.5rem;
  }
}
@media screen and (max-width: 769px) {
  section.kiso-course .left {
    margin-bottom: 5.0rem;
  }
  section.kiso-course::after {
    height: 20.0rem;
    background: url(../img/kiso_course_image.jpg) 50% 50%/auto 20.0rem repeat-x;
  }
}

section.kiso-qa {
}
section.kiso-qa .section-title {
  text-align: left;
  margin-bottom: 5.0rem;
}
section.kiso-qa .item {
  border-radius: 1.0rem;
  overflow: hidden;
  box-shadow: 0 0 0.5rem 0 rgba(0,0,0,0.3);
  margin-bottom: 2.0rem;
  position: relative;
  padding: 0rem;
  transition: all 200ms 0s ease;
}
section.kiso-qa .item .q {
  font-size: 1.6rem;
  padding: 2.0rem 6.5rem;
  background: url(../img/kiso_qa_q.png) 2.4rem 50%/1.1rem auto no-repeat,
              url(../img/kiso_qa_icon.png) calc(100% - 2.0rem) 50%/2.5rem auto no-repeat;
  background-color: #fff;
  cursor: pointer;
  user-select: none;
  position: relative;
  transition: all 200ms 0s ease;
}
section.kiso-qa .item .q:hover {
  background-color: #F29A76;
}
section.kiso-qa .item .q::before {
  content: "";
  display: block;
  width: calc(100% - 4.0rem);
  height: 1px;
  background: #c9c9c9;
  position: absolute;
  bottom: 0;
  left: 2.0rem;
  display: none;
}
section.kiso-qa .item.open .q:before {
  display: block;
}
section.kiso-qa .item .a {
  overflow: hidden;
}
section.kiso-qa .item .a p {
  background: url(../img/kiso_qa_a.png) 2.3rem 2.3rem/1.1rem auto no-repeat;
  padding: 2.0rem 3.0rem 2.0rem 6.5rem;
  line-height: 2.0;
}
section.kiso-qa .item .inner {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 200ms 0s ease;
}
section.kiso-qa .item.open .inner {
  grid-template-rows: 1fr;
}
@media screen and (min-width: 770px) {
  section.kiso-qa .container {
    padding-top: 20.5rem;
    padding-bottom: 10.0rem;
  }
}
@media screen and (max-width: 769px) {
}

section.kiso-voice {
}
section.kiso-voice .section-title {
  text-align: left;
  margin-bottom: 3.5rem;
}
section.kiso-voice .item {
}
section.kiso-voice .item .image {
  margin-bottom: 2.1rem;
}
section.kiso-voice .item h3 {
  background: url(../img/icon_onpu.png) 0% 50%/2.6rem auto no-repeat;
  padding: 0.5rem 3.5rem;
  font-size: 1.8rem;
  margin-bottom: 0.0rem;
}
section.kiso-voice .item .text {
  line-height: 2.0;
  margin-bottom: 2.0rem;
}
@media screen and (min-width: 770px) {
  section.kiso-voice .container {
    padding-top: 6.5rem;
    padding-bottom: 11.5rem;
  }
  section.kiso-voice .wrap {
    display: flex;
    justify-content: space-between;
    align-items: start;
    flex-wrap: wrap;
  }
  section.kiso-voice .wrap .item {
    width: 46.0rem;
    border-bottom: solid 1px #c9c9c9;
  }
  section.kiso-voice .wrap .item:nth-child(even) {
    padding-top: 10.0rem;
  }
}
@media screen and (max-width: 769px) {
}

section.lesson-luce {
}
section.lesson-luce .section-title {
  margin-bottom: 3.0rem;
}
section.lesson-luce .text {
  text-align: center;
  margin-bottom: 5.0rem;
}
section.lesson-luce ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 5.5rem;
}
section.lesson-luce ul li {
}
section.lesson-luce ul li a {
  display: block;
  text-decoration: none;
  overflow: hidden;
  border-radius: 1.0rem;
  box-shadow: 0 0 0.5rem 0 rgba(0,0,0,0.3);
  padding: 3.5rem 2.0rem;
  background: url(../img/lesson_luce_icon_arrow.png) 50% calc(100% - 3.0rem)/2.0rem auto no-repeat;
  transition: opacity 200ms 0s ease;
}
section.lesson-luce ul li a:hover {
  opacity: 0.5;
}
section.lesson-luce .label {
  display: block;
  text-align: center;
  font-size: 1.8rem;
  margin-bottom: 1.0rem;
  line-height: 1.4;
  height: 5.5rem;
}
section.lesson-luce .icon {
  display: block;
  text-align: center;
  padding-bottom: 5.5rem;
}
@media screen and (min-width: 770px) {
  section.lesson-luce .container {
    padding-top: 15.0rem;
    padding-bottom: 9.0rem;
  }
  section.lesson-luce ul li {
    width: calc(25% - 2.5rem);
  }
}
@media screen and (max-width: 769px) {
  section.lesson-luce .text {
    text-align: left;
  }
  section.lesson-luce ul li {
    width: calc(50% - 1.0rem);
    margin-bottom: 2.0rem;
  }
  section.lesson-luce .icon {
    max-width: 50%;
    margin: 0 auto;
  }
}

section.guide-lead {
}
section.guide-lead .section-title {
  margin-bottom: 1.3rem;
  text-align: left;
  font-weight: 400;
}
section.guide-lead .text {
  margin-bottom: 5.0rem;
  line-height: 1.8;
}
section.guide-lead .text p {
  margin-bottom: 2.8rem;
}
section.guide-lead .text .name {
  text-align: right;
  font-size: 1.8rem;
  font-weight: bold;
  position: relative;
}
section.guide-lead .text .name::before {
  content: "";
  display: block;
  width: 29.3rem;
  height: 12.6rem;
  background: url(../img/guide_lead_image.png) 50% 50%/100% auto no-repeat;
  position: absolute;
  bottom: -2.5rem;
  right: -11.5rem;
}
@media screen and (min-width: 770px) {
  section.guide-lead .container {
    padding-top: 12.0rem;
    padding-bottom: 12.0rem;
  }
  section.guide-lead .text {
    padding-left: 13.0rem;
  }
}
@media screen and (max-width: 769px) {
}

section.guide-music {
}
section.guide-music .section-title {
  margin-bottom: 3.7rem;
  text-align: left;
  font-weight: 400;
}
section.guide-music ul {
}
section.guide-music ul li {
  padding-bottom: 2.0rem;
  margin-bottom: 2.0rem;
  border-bottom: solid 1px #C4C4C4;
}
section.guide-music ul li .content h3 {
  font-size: 2.0rem;
  font-weight: bold;
  margin-bottom: 0.9rem;
}
section.guide-music ul li .content h3 a {
  text-decoration: underline;
}
section.guide-music ul li .content h3 a:hover {
  text-decoration: none;
}
section.guide-music .download {
  display: flex;
  justify-content: left;
  align-items: center;
  line-height: 1.3;
  margin-top: 1.8rem;
}
section.guide-music .download .button {
  margin-right: 3.0rem;
}
section.guide-music .download .button a {
  display: block;
  text-decoration: none;
  border-radius: 10.0rem;
  color: #fff;
  padding: 1.2rem 3.5rem 1.2rem 5.5rem;
  font-weight: bold;
  background: #01377F url(../img/icon_download.png) 2.0rem 50%/2.1rem auto no-repeat;
  transition: opacity 200ms 0s ease;
}
section.guide-music .download .button a:hover {
  opacity: 0.6;
}
@media screen and (min-width: 770px) {
  section.guide-music .container {
    padding-top: 2.5rem;
  }
  section.guide-music ul li {
    display: flex;
    justify-content: left;
    align-items: center;
  }
  section.guide-music ul li .image {
    width: 15.0rem;
    flex-shrink: 0;
    text-align: center;
  }
  section.guide-music ul li .content {
    padding-left: 5.3rem;
  }
}
@media screen and (max-width: 769px) {
  section.guide-music ul li .image {
    max-width: 30%;
    margin: 0 auto;
    margin-bottom: 2.0rem;
  }
  section.guide-music ul li .content {
  }
}

section.guide-sns {
}
section.guide-sns .section-title {
  margin-bottom: 3.7rem;
  text-align: left;
  font-weight: 400;
}
section.guide-sns .text {
  text-align: center;
  margin-bottom: 5.0rem;
}
section.guide-sns ul li a {
  display: block;
  text-decoration: none;
  transition: opacity 200ms 0s ease;
}
section.guide-sns ul li a:hover {
  opacity: 0.7;
}
section.guide-sns h3 {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 1.0rem;
}
section.guide-sns .wrap {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
section.guide-sns .icon {
  width: 4.0rem;
}
section.guide-sns .text {
  width: calc(100% - 4.0rem);
  text-align: left;
  padding: 0.3rem 0.5rem;
  line-height: 1.5;
  font-size: 1.5rem;
}
@media screen and (min-width: 770px) {
  section.guide-sns .container {
    padding-top: 6.3rem;
    padding-bottom: 4.0rem;
  }
  section.guide-sns ul {
    display: flex;
    justify-content: space-between;
  }
  section.guide-sns ul li {
    width: calc(33.3% - 4.5rem);
  }
}
@media screen and (max-width: 769px) {
  section.guide-sns ul li {
    width: 100%;
    margin-bottom: 2.0rem;
  }
}

section.guide-youtube {
}
section.guide-youtube .section-title {
  margin-bottom: 5.3rem;
  font-weight: 400;
  text-align: left;
}
section.guide-youtube ul {
}
section.guide-youtube ul li {
  padding-bottom: 3.7rem;
  margin-bottom: 2.4rem;
  border-bottom: solid 1px #C4C4C4;
}
section.guide-youtube .content h3 {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 1.0rem;
}
section.guide-youtube .content .text {
  line-height: 1.8;
}
section.guide-youtube .button {
  width: 100%;
  max-width: 43.0rem;
  height: 9.6rem;
}
section.guide-youtube .button a {
  width: 100%;
  height: 100%;
  font-size: 1.8rem;
  text-decoration: none;
  display: block;
  background: #FF1D25 url(../img/guide_youtube_icon.png) 2.5rem 50%/2.6rem auto no-repeat;
  color: #fff;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0rem 2.0rem 0rem 5.0rem;
}
@media screen and (min-width: 770px) {
  section.guide-youtube .container {
    padding-top: 4.0rem;
    padding-bottom: 0.0rem;
  }
  section.guide-youtube ul {
    padding-right: 8.0rem;
  }
  section.guide-youtube ul li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
  }
  section.guide-youtube .content {
    width: calc(100% - 43.0rem);
  }
}
@media screen and (max-width: 769px) {
  section.guide-youtube .button {
    margin-top: 2.0rem;
  }
}


section. {
}
section. .section-title {
  margin-bottom: 3.0rem;
}
@media screen and (min-width: 770px) {
  section. .container {
    padding-top: 3.0rem;
    padding-bottom: 3.0rem;
  }
}
@media screen and (max-width: 769px) {
}

section.otona-lead {
}
section.otona-lead .section-title {
  margin-bottom: 3.0rem;
}
section.otona-lead .text {
  line-height: 2.0;
}
section.otona-lead .text p {
  margin-bottom: 3.0rem;
}
@media screen and (min-width: 770px) {
  section.otona-lead .container {
    padding-top: 2.0rem;
    padding-bottom: 2.0rem;
  }
  section.otona-lead .wrap {
    display: flex;
    align-items: center;
  }
  section.otona-lead .wrap .image {
    flex-shrink: 0;
  }
}
@media screen and (max-width: 769px) {
  section.otona-lead .wrap .image {
    max-width: 50%;
    margin: 0 auto;
    margin-bottom: 2.0rem;
  }
}

section.otona-kikukara {
}
section.otona-kikukara .section-title {
  margin-bottom: 3.6rem;
  text-align: left;
  font-weight: 400;
}
section.otona-kikukara ul {
  margin-bottom: 1.5rem;
}
section.otona-kikukara ul li {
  overflow: hidden;
  border-radius: 1.0rem;
  box-shadow: 0 0 0.5rem 0 rgba(0,0,0,0.3);
  margin-bottom: 3.0rem;
  padding: 3.0rem 4.0rem 2.3rem 8.2rem;
  position: relative;
  line-height: 2.0;
}
section.otona-kikukara ul li::before {
  content: '';
  display: block;
  width: 5.0rem;
  height: 5.0rem;
  position: absolute;
  top: 6.0rem;
  left: 1.8rem;
  transform: translate(0%, -50%);
}
section.otona-kikukara ul li:nth-child(1)::before {
  background: url(../img/otona_kikukara_num_01.png) 50% 50%/100% auto no-repeat;
}
section.otona-kikukara ul li:nth-child(2)::before {
  background: url(../img/otona_kikukara_num_02.png) 50% 50%/100% auto no-repeat;
}
section.otona-kikukara ul li:nth-child(3)::before {
  background: url(../img/otona_kikukara_num_03.png) 50% 50%/100% auto no-repeat;
}
section.otona-kikukara ul li:nth-child(4)::before {
  background: url(../img/otona_kikukara_num_04.png) 50% 50%/100% auto no-repeat;
}
section.otona-kikukara ul li:nth-child(5)::before {
  background: url(../img/otona_kikukara_num_05.png) 50% 50%/100% auto no-repeat;
}
section.otona-kikukara ul li:nth-child(6)::before {
  background: url(../img/otona_kikukara_num_06.png) 50% 50%/100% auto no-repeat;
}
section.otona-kikukara ul li em {
  color: #FF001F;
}
@media screen and (min-width: 770px) {
  section.otona-kikukara .container {
    padding-top: 1.0rem;
    padding-bottom: 8.0rem;
  }
  section.otona-kikukara ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  section.otona-kikukara ul li {
    width: calc(50% - 2.0rem);
  }
  section.otona-kikukara .buttons {
    display: flex;
    justify-content: space-between;
    margin: 0 -3.5rem;
  }
}
@media screen and (max-width: 769px) {
  section.otona-kikukara .buttons .page-button {
    margin-bottom: 2.0rem;
  }
}

section.otona-voice {
}
section.otona-voice .section-title {
  margin-bottom: 4.0rem;
  font-weight: 400;
  text-align: left;
}
section.otona-voice h3 {
  background: url(../img/icon_onpu.png) 0% 50%/2.6rem auto no-repeat;
  padding: 0.5rem 3.5rem;
  font-size: 1.8rem;
  margin-bottom: 1.0rem;
}
section.otona-voice .content {
  margin-bottom: 7.0rem;
}
section.otona-voice .name {
}
section.otona-voice .text {
  line-height: 2.2;
}
@media screen and (min-width: 770px) {
  section.otona-voice .container {
    padding-top: 11.0rem;
    padding-bottom: 0.0rem;
  }
  section.otona-voice .wrap {
    display: flex;
    flex-direction: row-reverse;
  }
  section.otona-voice .wrap .image {
    flex-shrink: 0;
    margin-left: 5.0rem;
  }
}
@media screen and (max-width: 769px) {
  section.otona-voice .wrap .image {
    margin-bottom: 3.0rem;
  }
}


section.baby-lead {
  position: relative;
}
section.baby-lead .section-title {
  margin-bottom: 2.5rem;
  font-weight: 400;
  text-align: left;
}
section.baby-lead .text {
  line-height: 1.7;
}
section.baby-lead .text p {
  margin-bottom: 3.0rem;
}
section.baby-lead h3 {
  font-size: 2.4rem;
  font-weight: 400;
  margin-bottom: 2.5rem;
}
section.baby-lead::after {
  content: '';
  display: block;
  width: 100%;
  height: 48.8rem;
  background: url(../img/baby_lead_image_02.jpg) 50% 50%/auto 48.8rem repeat-x;
}
@media screen and (min-width: 770px) {
  section.baby-lead .container {
    padding-top: 4.0rem;
    padding-bottom: 7.5rem;
  }
  section.baby-lead .wrap {
    display: flex;
    margin-bottom: 4.3rem;
  }
  section.baby-lead .wrap .image {
    flex-shrink: 0;
    margin-right: 3.5rem;
  }
}
@media screen and (max-width: 769px) {
  section.baby-lead .wrap .image {
    max-width: 50%;
    margin: 0 auto;
    margin-bottom: 2.0rem;
  }
  section.baby-lead::after {
    height: 20.0rem;
    background: url(../img/baby_lead_image_02.jpg) 50% 50%/auto 20.0rem repeat-x;
  }
}

section.baby-original {
  position: relative;
}
section.baby-original .section-title {
  margin-bottom: 4.8rem;
  font-weight: 400;
  text-align: left;
}
section.baby-original .wrap .text {
  line-height: 1.7;
}
section.baby-original .wrap .text p {
  margin-bottom: 3.0rem;
}

section.baby-original .box {
  overflow: hidden;
  border-radius: 0.3rem;
  box-shadow: 0 0 0.5rem 0 rgba(0,0,0,0.3);
  padding: 2.5rem 3.0rem;
  margin-bottom: 10.0rem;
}
section.baby-original .box h3 {
  font-size: 2.0rem;
  text-align: center;
  font-weight: 400;
  margin-bottom: 0.9rem;
}
section.baby-original .box .text {
  font-size: 2.0rem;
  text-align: center;
  font-weight: bold;
  margin-bottom: 4.5rem;
}
section.baby-original .box h4 {
  font-size: 1.8rem;
  margin-bottom: 2.5rem;
}
section.baby-original .box .detail {
  line-height: 1.8;
  margin-bottom: 1.0rem;
}
section.baby-original .content {
}
section.baby-original .content h3 {
  font-size: 2.4rem;
  font-weight: 400;
  margin-bottom: 3.5rem;
}
section.baby-original .content .text {
  line-height: 2.0;
}
section.baby-original .content .text p {
  margin-bottom: 3.0rem;
}
section.baby-original::after {
  content: '';
  display: block;
  width: 100%;
  height: 50.0rem;
  background: url(../img/baby_original_image_02.jpg) 50% 50%/auto 50.0rem repeat-x;
}
@media screen and (min-width: 770px) {
  section.baby-original .container {
    padding-top: 24.0rem;
    padding-bottom: 6.7rem;
  }
  section.baby-original .wrap {
    display: flex;
    flex-direction: row-reverse;
    margin-bottom: 8.0rem;
  }
  section.baby-original .wrap .image {
    flex-shrink: 0;
    margin-left: 3.5rem;
  }
  section.baby-original .box {
    display: flex;
    flex-wrap: wrap;
  }
  section.baby-original .box h3 {
    width: 100%;
  }
  section.baby-original .box .text {
    width: 100%;
  }
  section.baby-original .box .left {
    width: 50%;
    padding: 0 5.0rem;
  }
  section.baby-original .box .right {
    width: 50%;
    padding: 0 5.0rem;
  }
}
@media screen and (max-width: 769px) {
  section.baby-original .wrap .image {
    max-width: 50%;
    margin: 0 auto;
    margin-bottom: 2.0rem;
  }
  section.baby-original::after {
    height: 20.0rem;
    background: url(../img/baby_original_image_02.jpg) 50% 50%/auto 20.0rem repeat-x;
  }
  section.baby-original .box .left {
    margin-bottom: 3.0rem;
  }
}


section.baby-qa {
}
section.baby-qa .section-title {
  text-align: left;
  font-weight: 400;
  margin-bottom: 3.7rem;
}
section.baby-qa .item {
  border-radius: 1.0rem;
  overflow: hidden;
  box-shadow: 0 0 0.5rem 0 rgba(0,0,0,0.3);
  margin-bottom: 2.0rem;
  position: relative;
  padding: 0rem;
  transition: all 200ms 0s ease;
}
section.baby-qa .item .q {
  font-size: 2.0rem;
  padding: 2.0rem 6.5rem;
  background: url(../img/kiso_qa_q.png) 2.4rem 50%/1.1rem auto no-repeat,
              url(../img/kiso_qa_icon.png) calc(100% - 2.0rem) 50%/2.5rem auto no-repeat;
  background-color: #fff;
  cursor: pointer;
  user-select: none;
  position: relative;
  transition: all 200ms 0s ease;
}
section.baby-qa .item .q:hover {
  background-color: #F29A76;
}
section.baby-qa .item .q::before {
  content: "";
  display: block;
  width: calc(100% - 4.0rem);
  height: 1px;
  background: #c9c9c9;
  position: absolute;
  bottom: 0;
  left: 2.0rem;
  display: none;
}
section.baby-qa .item.open .q:before {
  display: block;
}
section.baby-qa .item .a {
  overflow: hidden;
}
section.baby-qa .item .a p {
  background: url(../img/kiso_qa_a.png) 2.3rem 2.3rem/1.1rem auto no-repeat;
  padding: 2.0rem 3.0rem 2.0rem 6.5rem;
  line-height: 2.0;
}
section.baby-qa .item .inner {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 200ms 0s ease;
}
section.baby-qa .item.open .inner {
  grid-template-rows: 1fr;
}
@media screen and (min-width: 770px) {
  section.baby-qa .container {
    padding-top: 6.7rem;
    padding-bottom: 0.0rem;
  }
}
@media screen and (max-width: 769px) {
}


section.price-lead {
}
section.price-lead .section-title {
  margin-bottom: 1.2rem;
  font-weight: 400;
  text-align: left;
}
section.price-lead .text {
  line-height: 1.8;
}
@media screen and (min-width: 770px) {
  section.price-lead .container {
    padding-top: 6.2rem;
    padding-bottom: 7.0rem;
  }
}
@media screen and (max-width: 769px) {
}

section.price-list {
}
section.price-list .inner {
  max-width: 90%;
  margin: 0 auto;
}
section.price-list h2 {
  text-align: center;
  font-size: 2.5rem;
  font-weight: 400;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Kaisei Decol", serif;
  font-weight: 400;
  font-style: normal;
}
section.price-list table th {
  border: solid 1px #C4C4C4;
  background: #11A695;
  color: #fff;
  text-align: center;
  padding: 2.0rem;
  font-size: 1.8rem;
}
section.price-list table td {
  border: solid 1px #C4C4C4;
  text-align: center;
  vertical-align: middle;
  padding: 2.0rem;
  font-size: 1.8rem;
}
section.price-list .text {
  line-height: 1.8;
}
section.price-list table.table01 {
}
@media screen and (min-width: 770px) {
  section.price-list .container {
    padding-top: 3.0rem;
    padding-bottom: 3.0rem;
  }
  section.price-list h2 {
    min-height: 17.2rem;
    margin-left: -3.0rem;
    margin-right: -3.0rem;
  }
  section.price-list table {
    margin: 0 2.0rem;
  }
  section.price-list .text {
    margin: 2.5rem 2.0rem 5.0rem 2.0rem;
  }
  section.price-list table.table01 tbody th {
    width: 35.5rem;
  }
  section.price-list table.table01 tbody td {
    width: 35.5rem;
  }
  section.price-list table.table02 tbody th {
    width: 27.5rem;
  }
  section.price-list table.table02 tbody td {
    width: 25.0rem;
  }
  section.price-list table.table03 tbody th {
    width: 24.0rem;
  }
  section.price-list table.table03 tbody td {
    width: 18.0rem;
  }
}
@media screen and (max-width: 769px) {
  section.price-list h2 {
    margin-left: 0rem;
    margin-right: 0rem;
    margin-bottom: 1.0rem;
    font-size: 3.0rem;
  }
  section.price-list table {
    margin: 0;
    width: 100%;
  }
  section.price-list .text {
    margin: 2.5rem 0rem 5.0rem 0rem;
  }
}


@media screen and (min-width: 770px) {
}
@media screen and (max-width: 769px) {
}

@media screen and (min-width: 770px) {
}
@media screen and (max-width: 769px) {
}


section.classroom-lead {
}
section.classroom-lead .section-title {
  margin-bottom: 3.0rem;
  font-weight: 400;
  text-align: left;
}
section.classroom-lead .block {
}
section.classroom-lead .block h3 {
  text-align: center;
  font-size: 2.6rem;
  font-weight: 400;
  margin-bottom: 3.0rem;
  width: 100%;
  font-family: "Kaisei Decol", serif;
  font-weight: 400;
  font-style: normal;
}
section.classroom-lead .block .text {
  line-height: 1.7;
}
section.classroom-lead .block .course {
}
section.classroom-lead .block .course h4 {
  font-size: 2.0rem;
  font-weight: 400;
  margin-bottom: 1.5rem;
}
section.classroom-lead .block .course p {
  line-height: 1.7;
  margin-bottom: 1.5rem;
}
section.classroom-lead .block .image {
  margin-top: 5.0rem;
  margin-bottom: 4.5rem;
}
section.classroom-lead .block .map-wrap {
}
section.classroom-lead .block .map-wrap .map {
  width: 100%;
  height: 20.5rem;
}
section.classroom-lead .block .map-wrap .map iframe {
  width: 100%;
  height: 100%;
}
section.classroom-lead .block .map-wrap .address {
  line-height: 2.4;
}
@media screen and (min-width: 770px) {
  section.classroom-lead .container {
    padding-top: 4.0rem;
    padding-bottom: 1.0rem;
  }
  section.classroom-lead .block {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 17.0rem;
  }
  section.classroom-lead .block .text {
    width: calc(100% - 25.0rem);
    padding-top: 2.0rem;
    padding-right: 5.0rem;
  }
  section.classroom-lead .block .course {
    width: 25.0rem;
    border-left: solid 1px #11A695;
    padding-left: 3.5rem;
    padding-top: 0.0rem;
  }
  section.classroom-lead .block .image {
    width: 100%;
  }
  section.classroom-lead .block .map-wrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
  }
  section.classroom-lead .block .map-wrap .map {
    width: 63.6rem;
  }
  section.classroom-lead .block .map-wrap .address {
    width: calc(100% - 63.6rem);
    padding-left: 3.0rem;
    padding-top: 1.0rem;
  }
}
@media screen and (max-width: 769px) {
  section.classroom-lead .block {
    margin-bottom: 5.0rem;
  }
  section.classroom-lead .block .course {
    margin-top: 3.0rem;
  }
}

section.classroom-koushi {
}
section.classroom-koushi .section-title {
  margin-bottom: 5.0rem;
  font-weight: 400;
  text-align: left;
}
section.classroom-koushi .block.daihyo {
  border-bottom: solid 1px #11A695;
  padding-bottom: 5.5rem;
  margin-bottom: 8.5rem;
}
section.classroom-koushi .block.manager {
  margin-bottom: 4.5rem;
}
section.classroom-koushi .block h3 {
  font-size: 2.4rem;
  font-weight: 400;
  margin-bottom: 0.9rem;
}
section.classroom-koushi .block .wrap {
  margin-bottom: 3.5rem;
}
section.classroom-koushi .block .detail {
  font-size: 2.0rem;
  margin-bottom: 3.0rem;
}
section.classroom-koushi .block .text {
  line-height: 1.7;
}
section.classroom-koushi .block .text p {
  margin-bottom: 3.0rem;
}
section.classroom-koushi .slider {
  max-width: 110.0rem;
  margin: 0 auto;
}
section.classroom-koushi .slider li {
  margin: auto;
}
section.classroom-koushi .slider li a {
  display: block;
  text-decoration: none;
  transition: opacity 200ms 0s ease;
}
section.classroom-koushi .slider li a:hover {
  opacity: 0.7;
}
section.classroom-koushi .slider .slick-prev,
section.classroom-koushi .slider .slick-next {
  width: 3.0rem;
  height: 6.0rem;
}
section.classroom-koushi .slider .slick-prev::before,
section.classroom-koushi .slider .slick-next::before {
  content: none;
}
section.classroom-koushi .slider .slick-prev {
  background: url(../img/home_news_button_prev.png) 0 0/100% auto no-repeat;
  left: 0rem;
  z-index: 1;
}
section.classroom-koushi .slider .slick-next {
  background: url(../img/home_news_button_next.png) 0 0/100% auto no-repeat;
  right: 0rem;
  z-index: 1;
}

section.classroom-koushi .slider .inner {
  overflow: hidden;
  box-shadow: 0 0 0.5rem 0 rgba(0,0,0,0.3);
}
section.classroom-koushi .slider .content h3 {
  font-size: 2.4rem;
  font-weight: 400;
  margin-bottom: 0.9rem;
}
section.classroom-koushi .slider .wrap {
}
section.classroom-koushi .slider .detail {
  font-size: 2.0rem;
  margin-bottom: 3.0rem;
}
section.classroom-koushi .slider .text {
  line-height: 1.7;
}
section.classroom-koushi .slider .text p {
  margin-bottom: 3.0rem;
}

@media screen and (min-width: 770px) {
  section.classroom-koushi .container {
    padding-top: 2.0rem;
    padding-bottom: 3.0rem;
  }
  section.classroom-koushi .block.daihyo .wrap {
    display: flex;
  }
  section.classroom-koushi .block.daihyo .wrap .image {
    max-width: 34.0rem;
    flex-shrink: 0;
    padding-right: 5.5rem;
  }
  section.classroom-koushi .block.manager .wrap {
    display: flex;
    flex-direction: row-reverse;
  }
  section.classroom-koushi .block.manager .wrap .image {
    flex-shrink: 0;
    padding-right: 0rem;
    padding-left: 5.0rem;
  }
  section.classroom-koushi .wrap .content {
    padding-left: 1rem;
  }
  section.classroom-koushi .slider li {
    padding: 1.0rem 4.5rem;
  }
  section.classroom-koushi .slider .inner {
    padding: 4.0rem 5.0rem;
    overflow: hidden;
  }
  section.classroom-koushi .slider .image {
    float: right;
    margin-left: 2.0rem;
    margin-bottom: 2.0rem;
  }
  section.classroom-koushi .slider .slick-prev,
  section.classroom-koushi .slider .slick-next {
    top: 24.0rem;
  }
}
@media screen and (max-width: 769px) {
  section.classroom-koushi .block .wrap .image {
    max-width: 50%;
    margin: 0 auto;a
    margin-bottom: 3.0rem;
  }
  section.classroom-koushi .slider {
    margin: 0 -2.0rem;
  }
  section.classroom-koushi .slider li {
    padding: 1.0rem 2.0rem;
  }
  section.classroom-koushi .slider .inner {
    padding: 2.0rem;
  }
  section.classroom-koushi .slider .image {
    max-width: 50%;
    margin: 0 auto;
    margin-bottom: 2.0rem;
  }
  section.classroom-koushi .slider .slick-prev,
  section.classroom-koushi .slider .slick-next {
    top: 15.0rem;
  }
}


section.recruit-lead {
}
section.recruit-lead .section-title {
  margin-bottom: 3.0rem;
}
section.recruit-lead h2 {
  text-align: center;
  font-size: 2.4rem;
  font-weight: 400;
  margin-bottom: 2.0rem;
  font-family: "Kaisei Decol", serif;
  font-weight: 400;
  font-style: normal;
}
section.recruit-lead .text {
  text-align: center;
  line-height: 2.0;
  margin-bottom: 4.5rem;
}
section.recruit-lead .text p {
  margin-bottom: 3.0rem;
}
section.recruit-lead .youtube {
  max-width: 62.0rem;
  margin: 0 auto;
}
section.recruit-lead .youtube iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}
@media screen and (min-width: 770px) {
  section.recruit-lead .container {
    padding-top: 6.5rem;
    padding-bottom: 6.5rem;
  }
}
@media screen and (max-width: 769px) {
}

section.recruit-company {
}
section.recruit-company h3 {
  font-weight: 400;
  font-size: 3.6rem;
  margin-bottom: 2.5rem;
  font-family: "Kaisei Decol", serif;
  font-weight: 400;
  font-style: normal;
}
section.recruit-company .block {
  max-width: 106.0rem;
  margin: 0 auto;
  overflow: hidden;
  box-shadow: 0 0 0.5rem 0 rgba(0,0,0,0.3);
}
section.recruit-company .block .row {
  border-bottom: solid 1px #C4C4C4;
}
section.recruit-company .block .row .label {
  font-weight: bold;
}
section.recruit-company .block .icon {
  display: inline-block;
  width: 4.5rem;
  margin-right: 2.0rem;
}
section.recruit-company .block .row .desc {
  line-height: 1.7;
}
section.recruit-company .block .row .desc p {
  margin-bottom: 3.0rem;
}
section.recruit-company .block .row .desc p:last-child {
  margin-bottom: 0rem;
}
@media screen and (min-width: 770px) {
  section.recruit-company .container {
    padding-top: 11.4rem;
    padding-bottom: 4.5rem;
  }
  section.recruit-company .block {
    padding: 2.5rem 8.2rem;
    padding-right: 13.7rem;
  }
  section.recruit-company .block .row {
    display: flex;
    justify-content: space-between;
    padding: 2.0rem 0;
  }
  section.recruit-company .block .row .label {
    width: 12.5rem;
    border-right: solid 1px #C4C4C4;
  }
  section.recruit-company .block .row .desc {
    width: calc(100% - 12.5rem);
    padding-left: 5.7rem;
    line-height: 1.7;
  }
}
@media screen and (max-width: 769px) {
  section.recruit-company .block {
    padding: 2.0rem;
  }
  section.recruit-company .block .row {
    padding: 1.0rem;
  }
  section.recruit-company .block .row .label {
    margin-bottom: 0.5rem;
  }
  section.recruit-company .block .row .desc {
  }
}

section.recruit-bosyu {
}
section.recruit-bosyu h3 {
  font-weight: 400;
  font-size: 3.6rem;
  margin-bottom: 1.2rem;
}
section.recruit-bosyu .text {
  margin-bottom: 1.7rem;
}
section.recruit-bosyu .block {
  max-width: 106.0rem;
  margin: 0 auto;
  overflow: hidden;
  box-shadow: 0 0 0.5rem 0 rgba(0,0,0,0.3);
}
section.recruit-bosyu .block .row {
  border-bottom: solid 1px #C4C4C4;
}
section.recruit-bosyu .block .row .label {
  font-weight: bold;
}
section.recruit-bosyu .block .icon {
  display: inline-block;
  width: 4.5rem;
  margin-right: 2.0rem;
}
section.recruit-bosyu .block .row .desc {
  line-height: 1.7;
}
section.recruit-bosyu .block .row .desc p {
  margin-bottom: 3.0rem;
}
section.recruit-bosyu .block .row .desc p:last-child {
  margin-bottom: 0rem;
}
@media screen and (min-width: 770px) {
  section.recruit-bosyu .container {
    padding-top: 11.4rem;
    padding-bottom: 11.4rem;
  }
  section.recruit-bosyu .block {
    padding: 3.0rem 4.7rem;
  }
  section.recruit-bosyu .block .row {
    display: flex;
    justify-content: space-between;
    padding: 2.0rem 0;
  }
  section.recruit-bosyu .block .row .label {
    width: 18.5rem;
    flex-shrink: 0;
    border-right: solid 1px #C4C4C4;
  }
  section.recruit-bosyu .block .row .desc {
    width: calc(100% - 18.5rem);
    padding-left: 3.4rem;
  }
}
@media screen and (max-width: 769px) {
  section.recruit-bosyu .block {
    padding: 2.0rem;
  }
  section.recruit-bosyu .block .row {
    padding: 1.0rem;
  }
  section.recruit-bosyu .block .row .label {
    margin-bottom: 0.5rem;
  }
  section.recruit-bosyu .block .row .desc {
  }
}

section.recruit-form {
}
section.recruit-form h3 {
  font-weight: 400;
  font-size: 3.6rem;
  margin-bottom: 5.7rem;
  text-align: center;
}
@media screen and (min-width: 770px) {
  section.recruit-form .container {
    padding-top: 7.5rem;
    padding-bottom: 5.5rem;
  }
}
@media screen and (max-width: 769px) {
}

section.form-section .form-block {
  text-align: center;
  line-height: 3;
}
section.form-section .form-block .notice {
  text-align: center;
  margin-bottom: 4.8rem;
}
section.form-section .form-block .input-row {
  margin-bottom: 4.5rem;
  line-height: 1.8;
  display: flex;
  justify-content: flex-start;
}
section.form-section .form-block .input-row .label {
  margin-bottom: 0.5rem;
  width: 37.0rem;
  font-weight: 700;
  text-align: right;
  flex-shrink: 0;
  padding-top: 0.0rem;
  white-space: nowrap;
  position: relative;
  padding-right: 10.0rem;
  display: flex;
  align-items: center;
  align-self: center;
  flex-wrap: wrap;
}
section.form-section .form-block .input-row .label .value {
  display: block;
  width: 100%;
}
section.form-section .form-block .input-row .label .text {
  display: block;
  font-weight: normal;
  width: 100%;
  font-size: 1.4rem;
}
section.form-section .form-block .input-row .label .required {
  display: inline;
  background: #ffbbc9;
  color: #fff;
  padding: 0.6rem 1.6rem;
  border-radius: 1.0rem;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0%, -50%);
}
section.form-section .form-block .input-row .input {
  width: 100%;
  padding-right: 1.0rem;
  padding-left: 6.7rem;
  text-align: left;
}
section.form-section .form-block .input-row .input .unit {
  margin-left: 1.0rem;
}
section.form-section .form-block .input-row.age input {
  max-width: 10.0rem;
}
section.form-section .form-block .input-row.keireki textarea {
  height: 11.0rem;
}
section.form-section .form-block .input-row.point textarea {
  height: 22.0rem;
}
section.form-section .form-block .input-row .input label {
  margin-right: 1rem;
  vertical-align: middle;
}
section.form-section .form-block .input-row.select-inquiry .label {
  margin-bottom: 1rem;
}
section.form-section .form-block .input-row .input .wpcf7-list-item {
  display: block;
}
section.form-section .form-block .input-row.select-inquiry .input label {
  display: block;
}
section.form-section .form-block .input-row.confirm {
  text-align: center;
  display: flex;
  justify-content: center;
  margin-bottom: 10rem;
}

section.form-section .form-block .input-button {
  margin-top: 6.7rem;
  text-align: center;
}
section.form-section .form-block .input-button button,
section.form-section .form-block .input-button input[type=submit] {
  display: inline-block;
  text-decoration: none;
  position: relative;
  font-size: 1.6rem;
  color: #000;
  width: 34.7rem;
  height: 6.7rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin: 0 auto;
  background: url(../img/page_button_bg.png) 50% 50%/100% auto no-repeat;
  transition: all 200ms 0s ease;
}
section.form-section .form-block .input-button button:hover,
section.form-section .form-block .input-button input[type=submit]:hover {
  color: #fff;
  background: url(../img/page_button_bg_on.png) 50% 50%/100% auto no-repeat;
}

section.form-section .form-block .input-button .wpcf7-spinner {
  display: block;
  margin: 3rem auto;
}
section.form-section .wpcf7-response-output {
  display: none;
}
section.form-section .complete {
  text-align: center;
  margin: 10rem 0;
}
section.form-section .complete .block {
  line-height: 3;
  max-width: 60vw;
  margin: 0 auto;
}
@media screen and (min-width: 770px) {
}
@media screen and (max-width: 769px) {
  section.form-section .form-block {
    text-align: left;
    line-height: 2;
  }
  section.form-section .form-block .input-row .label {
    width: 100%;
    text-align: left;
    margin-bottom: 1.5rem;
  }
  section.form-section .form-block .input-row .input {
    padding: 0;
  }
  section.form-section .form-block .input-row {
    flex-wrap: wrap;
  }
  section.form-section .form-block .input-row.confirm {
    margin-bottom: 3rem;
  }
  section.form-section .complete {
    text-align: left;
    margin: 0 0 5rem;
  }
  section.form-section .complete .block {
    line-height: 2;
    max-width: 85vw;
    font-weight: 500;
  }
}


section.contact-lead {
}
section.contact-lead .text {
  text-align: center;
  line-height: 2.0;
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 6.0rem;
}
section.contact-lead .text p {
  margin-bottom: 3.0rem;
}
section.contact-lead .box {
  max-width: 68.0rem;
  margin: 0 auto;
  overflow: hidden;
  box-shadow: 0 0 0.5rem 0 rgba(0,0,0,0.3);
  padding: 4.3rem 2.0rem;
  margin-bottom: 3.5rem;
}
section.contact-lead .box .label {
  color: #11A695;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
}
section.contact-lead .block {
  max-width: 106.0rem;
  margin: 0 auto;
  margin-top: 14.3rem;
  overflow: hidden;
  box-shadow: 0 0 0.5rem 0 rgba(0,0,0,0.3);
  padding: 3.6rem 0rem;
  margin-bottom: 3.5rem;
}
section.contact-lead .block .tel {
  text-align: center;
  font-size: 3.2rem;
  display: block;
}
section.contact-lead .block .tel .number {
  font-size: 3.6rem;
  font-weight: bold;
}
section.contact-lead .block .desc {
  padding: 1.0rem 0rem;
  line-height: 1.7;
}
@media screen and (min-width: 770px) {
  section.contact-lead .container {
    padding-top: 8.0rem;
    padding-bottom: 8.0rem;
  }
  section.contact-lead .box {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  section.contact-lead .box .label {
    width: 50%;
  }
  section.contact-lead .box .desc {
    width: 50%;
  }
  section.contact-lead .block {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  section.contact-lead .block .tel {
    width: 40.0rem;
    padding-left: 3.2rem;
  }
  section.contact-lead .block .desc {
    width: calc(100% - 40.0rem);
    border-left: solid 1px #E1F4F9;
    padding-left: 5.5rem;
  }
}
@media screen and (max-width: 769px) {
  section.contact-lead .text {
    text-align: left;
  }
  section.contact-lead .box {
    padding: 2.0rem;
  }
  section.contact-lead .box .label {
    margin-bottom: 2.0rem;
  }
  section.contact-lead .block {
    margin-top: 0rem;
    padding: 2.0rem;
  }
  section.contact-lead .block .tel {
    margin-bottom: 1.0rem;
  }
}

section.contact-form {
}
section.contact-form h3 {
  font-weight: 400;
  font-size: 3.6rem;
  margin-bottom: 4.2rem;
  text-align: left;
}
@media screen and (min-width: 770px) {
  section.contact-form .container {
    padding-top: 10.5rem;
    padding-bottom: 5.5rem;
  }
}
@media screen and (max-width: 769px) {
}


@media screen and (min-width: 770px) {
  section .illust {
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    width: 100%;
    z-index: 0;
    max-width: 192.0rem;
    transform: translate(-50%, 0%);
  }
  section .illust img {
    display: block;
  }
  section .illust-sp {
    display: none;
  }
  section .home-illust01 img {
    max-width: 78.3rem;
    margin-top: -6.1rem;
    margin-left: -10.7rem;
  }
  /*
  section .home-illust02 img {
    max-width: 74.5rem;
    margin-left: auto;
    margin-top: -23.6rem;
    margin-right: -12.3rem;
  }
  */
  section .home-illust02 img {
    max-width: 40.1rem;
    margin-left: auto;
    margin-top: 29.5rem;
    margin-right: 0rem;
  }
  section .home-illust03 img {
    max-width: 125.3rem;
    margin-top: 31.0rem;
    margin-left: -49.8rem;
  }
  section .home-illust04 img {
    max-width: 95.7rem;
    margin-left: auto;
    margin-top: -47.1rem;
    margin-right: -28.7rem;
  }
  section .home-illust05 img {
    max-width: 62.7rem;
    margin-top: 64.0rem;
    margin-left: -9.3rem;
  }

  section .guide-illust01 img {
    max-width: 85.0rem;
    margin-top: 11.2rem;
    margin-left: -22.8rem;
  }
  section .guide-illust02 img {
    max-width: 58.0rem;
    margin-left: auto;
    margin-top: 55.2rem;
    margin-right: 1.7rem;
  }
  section .guide-illust03 img {
    max-width: 137.8rem;
    margin-top: 37.0rem;
    margin-left: -58.1rem;
  }

  section .kiso-illust01 img {
    max-width: 66.2rem;
    margin-left: auto;
    margin-top: 16.8rem;
    margin-right: -17.8rem;
  }
  section .kiso-illust02 img {
    max-width: 82.3rem;
    margin-top: 20.3rem;
    margin-left: -3.9rem;
  }
  section .kiso-illust03 img {
    max-width: 51.8rem;
    margin-left: auto;
    margin-top: -18.8rem;
    margin-right: 0.0rem;
  }
  section .kiso-illust04 img {
    max-width: 57.6rem;
    margin-top: 62.3rem;
    margin-left: 3.1rem;
  }

  section .otona-illust01 img {
    max-width: 84.8rem;
    margin-top: 53.9rem;
    margin-left: -24.5rem;
  }
  section .otona-illust02 img {
    max-width: 96.3rem;
    margin-left: auto;
    margin-top: -38.5rem;
    margin-right: -35.7rem;
  }
  section .otona-illust03 img {
    max-width: 60.0rem;
    margin-top: 81.8rem;
    margin-left: 12.3rem;
  }

  section .recruit-illust01 img {
    max-width: 77.9rem;
    margin-left: auto;
    margin-top: 29.7rem;
    margin-right: -30.6rem;
  }
  section .recruit-illust02 img {
    max-width: 64.7rem;
    margin-top: 148.6rem;
    margin-left: -23.7rem;
  }
  section .recruit-illust03 img {
    max-width: 136.4rem;
    margin-left: auto;
    margin-top: -9.4rem;
    margin-right: -60.8rem;
  }
  section .recruit-illust04 img {
    max-width: 50.7rem;
    margin-top: 185.4rem;
    margin-left: 14.1rem;
  }

  section .classroom-illust01 img {
    max-width: 76.9rem;
    margin-left: auto;
    margin-top: 45.7rem;
    margin-right: -18.6rem;
  }
  section .classroom-illust02 img {
    max-width: 74.5rem;
    margin-top: 314.5rem;
    margin-left: -20.8rem;
  }
  section .classroom-illust03 img {
    max-width: 71.7rem;
    margin-left: auto;
    margin-top: 105.4rem;
    margin-right: -29.1rem;
  }
  section .classroom-illust04 img {
    max-width: 38.0rem;
    margin-left: auto;
    margin-top: 284.9rem;
    margin-right: 30.4rem;
  }

  section .contact-illust01 img {
    max-width: 79.0rem;
    margin-top: 4.6rem;
    margin-left: -21.2rem;
  }
  section .contact-illust02 img {
    max-width: 70.8rem;
    margin-left: auto;
    margin-top: 66.1rem;
    margin-right: -22.9rem;
  }
  section .contact-illust03 img {
    max-width: 92.2rem;
    margin-top: 185.7rem;
    margin-left: -38.8rem;
  }

  section .baby-illust01 img {
    max-width: 77.6rem;
    margin-left: auto;
    margin-top: 4.3rem;
    margin-right: -24.8rem;
  }
  section .baby-illust02 img {
    max-width: 69.2rem;
    margin-top: 63.4rem;
    margin-left: -20.5rem;
  }
  section .baby-illust03 img {
    max-width: 89.5rem;
    margin-left: auto;
    margin-top: 92.0rem;
    margin-right: -31.6rem;
  }

  section .price-illust01 img {
    max-width: 131.4rem;
    margin-left: auto;
    margin-top: 116.6rem;
    margin-right: -43.2rem;
  }
  section .price-illust02 img {
    max-width: 55.6rem;
    margin-left: auto;
    margin-top: 363.9rem;
    margin-right: 12.3rem;
  }

  section .news-illust01 img {
    max-width: 78.9rem;
    margin-left: auto;
    margin-top: 79.7rem;
    margin-right: -13.3rem;
  }
  section .news-illust02 img {
    max-width: 68.7rem;
    margin-top: 188.4rem;
    margin-left: -19.2rem;
  }
  section .news-illust03 img {
    max-width: 51.2rem;
    margin-left: auto;
    margin-top: 67.5rem;
    margin-right: 9.8rem;
  }
}
@media screen and (max-width: 769px) {
  section .illust {
    display: none;
  }
  section .illust-sp {
    display: block;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 0;
  }
  section .illust-sp img {
    display: block;
  }
  section .home-illust05 {
    top: unset;
    bottom: 0;
  }
}

section.news-block {
}
section.news-block .section-title {
  text-align: left;
  margin-bottom: 3.8rem;
}
section.news-block .text {
  margin-bottom: 9.0rem;
}
section.news-block .sidebar .caption {
  font-size: 2.0rem;
  margin-bottom: 0.8rem;
}
section.news-block .sidebar ul {
  margin-left: 3.2rem;
  margin-bottom: 5.5rem;
}
section.news-block .sidebar li {
  list-style: disc;
  margin-bottom: 1.0rem;
}
section.news-block .sidebar li a {
  text-decoration: none;
  font-size: 1.6rem;
}
section.news-block .sidebar li a:hover {
  text-decoration: underline;
}
section.news-block .list-block {
}
@media screen and (min-width: 770px) {
  section.news-block .container {
    padding-top: 10.0rem;
    padding-bottom: 3.0rem;
  }
  section.news-block .news-wrap {
    display: flex;
    justify-content: space-between;
  }
  section.news-block .news-wrap .list-block {
    width: calc(100% - 32.0rem);
  }
  section.news-block .news-wrap .single-block {
    width: calc(100% - 32.0rem);
  }
  section.news-block .news-wrap .sidebar {
    width: 21.0rem;
    border-left: solid 1px #11A695;
    padding-left: 4.0rem;
    margin-top: 2.9rem;
  }
}
@media screen and (max-width: 769px) {
  section.news-block .news-wrap .sidebar {
    margin-top: 5.0rem;
  }
}

section.news-block .list-block {
}
section.news-block .list-block ul.list>li a {
  display: block;
  text-decoration: none;
  border-bottom: solid 1px #D9D9D9;
  padding-bottom: 2.2rem;
  margin-bottom: 2.0rem;
  transition: opacity 200ms 0s ease;
}
section.news-block .list-block ul.list>li a:hover {
  opacity: 0.7;
}
section.news-block .list-block ul.list .image {
  width: 22.0rem;
  height: 27.5rem;
  overflow: hidden;
  text-align: center;
}
section.news-block .list-block ul.list .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
section.news-block .list-block ul.list .title {
  font-size: 2.4rem;
  margin-bottom: 1.3rem;
}
section.news-block .list-block ul.list .body {
  font-size: 2.0rem;
  line-height: 2.0;
}
section.news-block .list-block ul.list .date {
  color: #646464;
  font-size: 1.4rem;
}
section.news-block .list-block ul.list .category {
}
section.news-block .list-block ul.list .category li {
  font-size: 1.2rem;
  color: #01377F;
  border: solid 1px #01377F;
  display: inline-block;
  padding: 0.4rem 1.7rem;
  margin-right: 1.0rem;
}
section.news-block .list-block ul.list .content {
  position: relative;
}

.pagination {
  text-align: center;
  margin-top: 2.1rem;
}
.pagination h2 {
  display: none;
}
.pagination .nav-links a,
.pagination .nav-links span {
  display: inline-block;
  text-decoration: none;
  min-width: 4.5rem;
  height: 4.5rem;
  line-height: 4.5rem;
  color: #000;
  font-size: 2.0rem;
}
.pagination .nav-links a:hover,
.pagination .nav-links .current {
  color: #F4A787;
}

@media screen and (min-width: 770px) {
  section.news-block .list-block ul.list>li a {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
  }
  section.news-block .list-block ul.list .image {
    margin-left: 2.0rem;
    flex-shrink: 0;
  }
  section.news-block .list-block ul.list .content {
    padding-top: 2.0rem;
  }
  section.news-block .list-block ul.list .category {
    position: absolute;
    bottom: 0;
    left: 0;
  }
  section.news-block .list-block ul.list .date {
    position: absolute;
    bottom: 0;
    right: 2.0rem;
  }
}
@media screen and (max-width: 769px) {
  section.news-block .list-block ul.list .image {
    margin: 0 auto;
    margin-bottom: 2.0rem;
  }
  section.news-block .list-block ul.list .category {
    margin: 2.0rem 0;
  }
  section.news-block .list-block ul.list .date {
    text-align: right;
  }
}




section.news-block .single-block {
}
section.news-block .single-block .date {
  color: #646464;
  font-size: 1.4rem;
  text-align: right;
  margin: 0.5rem;
}
section.news-block .single-block .category {
  text-align: right;
}
section.news-block .single-block .category li {
  display: inline-block;
}
section.news-block .single-block .category li a {
  font-size: 1.2rem;
  color: #01377F;
  border: solid 1px #01377F;
  display: inline-block;
  padding: 0.4rem 1.7rem;
  margin: 0.5rem;
  text-decoration: none;
  transition: opacity 200ms 0s ease;
}
section.news-block .single-block .category li a:hover {
  opacity: 0.7;
}
section.news-block .single-block .navi-single {
  margin-top: 5.0rem;
}
section.news-block .single-block .navi-single ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
section.news-block .single-block .navi-single ul a {
  text-decoration: none;
}
section.news-block .single-block .navi-single ul a:hover {
  text-decoration: underline;
}

section.news-block .single-block .wp-body {
  margin: 2.0rem 0;
}
section.news-block .single-block .wp-body p {
  line-height: 2.0;
  margin-bottom: 3.0rem;
}
section.news-block .single-block .wp-body p:last-child {
  margin-bottom: 0rem;
}
@media screen and (min-width: 770px) {
}
@media screen and (max-width: 769px) {
}

.illust-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 200%;
  z-index: -1;
  opacity: 0.4;
}
@media screen and (min-width: 768px) {
  .illust-bg {
    background: url(../img/home_mv_tama.png) 50% 50%/100% auto repeat;
  }
}
@media screen and (max-width: 767px) {
  .illust-bg {
    background: url(../img/sp_home_mv_tama.png) 50% 50%/100% auto repeat;
  }
}


/*
@media screen and (min-width: 770px) {
  #body::after {
    content: '';
    display: block;
    position: fixed;
    top: 0;
    left: calc(50% - 112.0rem);
    width: 60.0rem;
    height: 100vh;
    background: url(../img/illust_kami.png) 50% 50%/100% auto repeat-y;
    z-index: 0;
  }
  #body::before {
    content: '';
    display: block;
    position: fixed;
    top: 0;
    right: calc(50% - 112.0rem);
    width: 60.0rem;
    height: 100vh;
    background: url(../img/illust_kami.png) 50% 50%/100% auto repeat-y;
    z-index: 0;
  }
  #luxy {
    z-index: 1;
  }
}
@media screen and (max-width: 769px) {
}
*/


.hokehoke-lead {
}
.hokehoke-lead .wrap {
  margin-bottom: 9.7rem;
}
.hokehoke-lead .image {
  max-width: 33.0rem;
  margin: 0 auto;
}
.hokehoke-lead .content p {
  margin-bottom: 3.2rem;
  line-height: 2.0;
}
.hokehoke-lead .content p:last-child {
  margin-bottom: 0rem;
}
@media screen and (min-width: 768px) {
  .hokehoke-lead .container {
    padding-top: 9.6rem;
  }
  .hokehoke-lead .wrap {
    display: flex;
    justify-content: space-between;
  }
  .hokehoke-lead .image {
  }
  .hokehoke-lead .content {
    width: calc(100% - 33.0rem);
    padding-left: 7.0rem;
  }
  .hokehoke-lead .hokehoke-lead-illust img {
    max-width: 42.5rem;
    margin-left: auto;
    margin-top: 62.3rem;
    margin-right: -7.9rem;
  }
}
@media screen and (max-width: 767px) {
  .hokehoke-lead .image {
    margin-bottom: 2.0rem;
  }
}

.hokehoke-detail {
}
.hokehoke-detail h2 {
  font-size: 3.0rem;
  margin-bottom: 1.9rem;
  font-family: "Kaisei Decol", serif;
  font-weight: 400;
  font-style: normal;
}
.hokehoke-detail table {
  width: 100%;
}
.hokehoke-detail table tr {
}
.hokehoke-detail table th {
  background: #11A695;
  border: solid 1px #C4C4C4;
  color: #fff;
  font-weight: bold;
  font-size: 1.8rem;
  text-align: center;
  padding: 1.0rem;
  vertical-align: middle;
  white-space: nowrap;
}
.hokehoke-detail table td {
  font-size: 1.8rem;
  padding-right: 2.0rem;
}
.hokehoke-detail table td .inner {
  border-bottom: solid 1px #C4C4C4;
  border-right: solid 1px #C4C4C4;
  padding: 1.9rem;
  width: 100%;
  height: 100%;
}
.hokehoke-detail table tr:first-child td .inner {
  border-top: solid 1px #C4C4C4;
}
.hokehoke-detail table .active td {
  padding-right: 0;
}
.hokehoke-detail table .active td .inner {
  border-top: solid 0.5rem #11A695;
  border-bottom: solid 0.5rem #11A695;
  border-right: solid 0.5rem #11A695;
}
.hokehoke-detail table em {
  color: #11A695;
  font-size: 2.4rem;
}
.hokehoke-detail table .bold {
  font-weight: bold;
}
.hokehoke-detail table .kome {
  font-size: 1.6rem;
}
.hokehoke-detail table.table01 .active td .inner {
  padding: 1.5rem 2.0rem;
  background: url(../img/hokehoke_detail_illust_01.gif) 100% 100%/10.3rem auto no-repeat;
}
.hokehoke-detail table.table02 .active td .inner {
  padding: 3.5rem 2.0rem;
  background: url(../img/hokehoke_detail_illust_02.gif) 100% 100%/8.6rem auto no-repeat;
}
.hokehoke-detail .image {
  width: 100%;
  max-width: 192.0rem;
  margin: 0 auto;
}
.hokehoke-detail .image img {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .hokehoke-detail .container {
    padding-top: 3.8rem;
    padding-left: 0rem;
    padding-right: 0rem;
  }
  .hokehoke-detail .wrap {
    display: flex;
    justify-content: center;
  }
  .hokehoke-detail .wrap .block {
    width: calc(50% - 1.0rem);
    max-width: 47.0rem;
    margin: 0 2.0rem;
  }
  .hokehoke-detail .image {
    margin-top: -15.0rem;
    margin-bottom: -15.0rem;
  }
}
@media screen and (max-width: 767px) {
  .hokehoke-detail h2 {
    text-align: center;
  }
  .hokehoke-detail .block {
    margin-bottom: 4.0rem;
  }
}


.hokehoke-course {
}
.hokehoke-course h2 {
  font-size: 3.0rem;
  margin-bottom: 5.0rem;
  font-family: "Kaisei Decol", serif;
  font-weight: 400;
  font-style: normal;
}
.hokehoke-course h2 .sub {
  font-size: 1.6rem;
  font-weight: 400;
  margin-left: 5.2rem;
}
.hokehoke-course ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.hokehoke-course ul li {
  width: calc(25% - 1.2rem);
  overflow: hidden;
  border-radius: 1.0rem;
  box-shadow: 0 0 0.5rem 0 rgba(0,0,0,0.3);
  padding: 1.5rem 2.5rem;
  margin-bottom: 2.5rem;
}
.hokehoke-course .label {
  line-height: 1.8;
}
.hokehoke-course .name {
  font-size: 2.2rem;
  font-weight: bold;
  display: block;
}
.hokehoke-course .age {
  font-size: 1.6rem;
  display: block;
}
@media screen and (min-width: 768px) {
  .hokehoke-course .container {
    padding-top: 11.1rem;
  }
  .hokehoke-course ul li {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .hokehoke-course .icon {
    width: 5.1rem;
  }
  .hokehoke-course .label {
    width: calc(100% - 5.1rem);
    padding-left: 2.9rem;
  }
}
@media screen and (max-width: 767px) {
  .hokehoke-course h2 {
    text-align: center;
  }
  .hokehoke-course h2 .sub {
    display: block;
    text-align: left;
    margin-left: 0rem;
    margin-top: 1.0rem;
  }
  .hokehoke-course ul li {
    width: calc(50% - 1.2rem);
    text-align: center;
  }
  .hokehoke-course .icon {
    width: 5.1rem;
    margin: 0 auto;
  }
}


.hokehoke-naiyou {
}
.hokehoke-naiyou h2 {
  font-size: 3.0rem;
  margin-bottom: 2.0rem;
  font-family: "Kaisei Decol", serif;
  font-weight: 400;
  font-style: normal;
}
.hokehoke-naiyou .wrap {
  margin-bottom: 6.0rem;
}
.hokehoke-naiyou .image {
  width: 45.0rem;
}
.hokehoke-naiyou h3 {
  font-size: 2.2rem;
  margin-bottom: 2.3rem;
}
.hokehoke-naiyou h3 .sub {
  font-size: 1.8rem;
}
.hokehoke-naiyou ul {
  list-style: disc;
  margin-left: 2.1rem;
  margin-bottom: 5.6rem;
}
.hokehoke-naiyou ul:last-child {
  margin-bottom: 0rem;
}
.hokehoke-naiyou ul li {
  margin-bottom: 0.6rem;
}
@media screen and (min-width: 768px) {
  .hokehoke-naiyou .container {
    padding-top: 11.1rem;
  }
  .hokehoke-naiyou .wrap {
    display: flex;
    justify-content: space-between;
    flex-direction: row;
  }
  .hokehoke-naiyou .wrap:last-child {
    flex-direction: row-reverse;
  }
  .hokehoke-naiyou .content {
    width: calc(100% - 45.0rem);
    padding-top: 3.9rem;
  }
  .hokehoke-naiyou .wrap:last-child .content {
    padding-top: 5.0rem;
    padding-left: 9.0rem;
  }
  .hokehoke-naiyou .hokehoke-naiyou-illust-01 img {
    max-width: 43.4rem;
    margin-left: -1.7rem;
    margin-top: -0.7rem;
  }
  .hokehoke-naiyou .hokehoke-naiyou-illust-02 img {
    max-width: 30.7rem;
    margin-left: auto;
    margin-top: 74.3rem;
    margin-right: -9.7rem;
  }
}
@media screen and (max-width: 767px) {
  .hokehoke-naiyou h2 {
    text-align: center;
  }
  .hokehoke-naiyou .image {
    margin-top: 4.0rem;
  }
}

.hokehoke-annai {
}
.hokehoke-annai h2 {
  font-size: 3.0rem;
  margin-bottom: 3.8rem;
  font-family: "Kaisei Decol", serif;
  font-weight: 400;
  font-style: normal;
}
.hokehoke-annai h3 {
  font-size: 2.4rem;
  margin-bottom: 2.0rem;
  font-family: "Kaisei Decol", serif;
  font-weight: 400;
  font-style: normal;
}
.hokehoke-annai h3 .sub {
  font-size: 1.6rem;
  font-weight: 400;
  margin-left: 4.4rem;
}
.hokehoke-annai ul li.il {
  position: relative;
}
.hokehoke-annai ul li.il::before {
  content: "";
  display: block;
  width: 8.6rem;
  height: 14.3rem;
  position: absolute;
  bottom: 1.5rem;
  right: -8.6rem;
  /* background: url(../img/hokehoke_detail_illust_03.gif) 100% 100%/100% auto no-repeat; */
}

@media screen and (min-width: 768px) {
  .hokehoke-annai .container {
    padding-top: 7.5rem;
  }
  .hokehoke-annai .hokehoke-annai-illust img {
    max-width: 45.2rem;
    margin-left: -7.5rem;
    margin-top: 63.5rem;
  }
  .hokehoke-annai ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 5.0rem;
  }
  .hokehoke-annai ul li {
    width: calc(33.3% - 1.0rem);
    max-width: 31.5rem;
  }
  .hokehoke-annai ul::after {
    content: '';
    display: block;
    width: calc(33.3% - 1.0rem);
    max-width: 31.5rem;
  }
}
@media screen and (max-width: 767px) {
  .hokehoke-annai h2 {
    text-align: center;
  }
  .hokehoke-annai h3 {
    text-align: center;
  }
  .hokehoke-annai h3 .sub {
    display: block;
    margin-top: 1.0rem;
    margin-left: 0rem;
  }
  .hokehoke-annai ul {
    max-width: 90%;
    margin: 0 auto;
    margin-bottom: 4.0rem;
  }
  .hokehoke-annai ul li {
    margin-bottom: 2.0rem;
  }
}
/*　241104追記　*/
.hokehoke-course .time {
  width: 100%;
}
.hokehoke-course .time ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.hokehoke-course .time ul li {
  box-shadow: none;
  width: 48%;
  margin: 0;
  padding: 2px 0 0;
  font-size: 1.5rem;
  color: #818181;
}
.hokehoke-koushi .container {
  display: flex;
  /* justify-content: space-between; */
  justify-content: center;
  flex-wrap: wrap;
}
.hokehoke-koushi .container h2 {
  width: 100%;
  text-align: center;
  font-size: 3.0rem;
  margin-bottom: 5.0rem;
  font-family: "Kaisei Decol", serif;
  font-weight: 400;
  font-style: normal;
}
.hokehoke-koushi .container .wrap {
  width: 45%;
  display: block;
}
.hokehoke-koushi .container h3 {
  font-size: 2.2rem;
  margin-bottom: 2.3rem;
}
.hokehoke-koushi .container .wrap .image {
  margin-bottom: 2.3rem;
}
section .page-button.pdf a {
  padding-right: 5rem;
}
@media screen and (max-width: 767px) {
  section .page-button.pdf a {
    max-width: 70%;
    margin-bottom: 4rem;
  }
}
section.home-dame .container {
  background-image: url(../img/home_dame_bg.png);
  background-repeat: no-repeat;
  background-position: center top 5rem;
  background-size: contain;
  padding: 15rem;
  margin-top: 5rem;
}
section.home-dame .image {
  margin-top: -15rem;
  position: relative;
  z-index: 1;
}
section.home-dame h2 {
  text-align: center;
  margin-bottom: 3.5rem;
  font-weight: 400;
  font-family: "Kaisei Decol", serif;
  font-weight: 400;
  font-style: normal;
}
section.home-dame h2 .main {
  display: block;
  font-size: 3.2rem;
}
section.home-dame h2 .sub {
  display: block;
  font-size: 2.2rem;
}
section.home-dame p {
  text-align: center;
  margin-bottom: 2rem;
}
section.home-dame p.picktext {
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  section.home-dame .container {
    background-position: center;
    background-size: cover;
    padding: 3rem;
    margin-top: 5rem;
  }
  section.home-dame .image {
    margin-top: 0;
  }
}