@charset "UTF-8";
/**
 * Minified by jsDelivr using clean-css v4.1.9.
 * Original file: /npm/modern-normalize@0.4.0/modern-normalize.css
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
/*! modern-normalize | MIT License | https://github.com/sindresorhus/modern-normalize */
html {
  box-sizing: border-box; }

*, ::after, ::before {
  box-sizing: inherit; }

:root {
  -moz-tab-size: 4;
  tab-size: 4; }

html {
  line-height: 1.15; }

body {
  margin: 0; }

body {
  font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol'; }

h1 {
  font-size: 2em;
  margin: .67em 0; }

hr {
  height: 0; }

abbr[title] {
  text-decoration: underline dotted; }

b, strong {
  font-weight: bolder; }

code, kbd, pre, samp {
  font-family: SFMono-Regular,Consolas,'Liberation Mono',Menlo,Courier,monospace;
  font-size: 1em; }

small {
  font-size: 80%; }

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

button, input, optgroup, select, textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0; }

button, select {
  text-transform: none; }

[type=button], [type=reset], [type=submit], button {
  -webkit-appearance: button; }

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: none;
  padding: 0; }

[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {
  outline: 1px dotted ButtonText; }

fieldset {
  padding: .35em .75em .625em; }

legend {
  padding: 0; }

progress {
  vertical-align: baseline; }

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto; }

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit; }

details {
  display: block; }

summary {
  display: list-item; }

/*# sourceMappingURL=/sm/b8427ae79f001842dec31421d2331d1bf01b09f0794a6b49d15ae566d4d6b5b7.map */
/*common*/
html {
  font-size: 62.5%; }
  @media screen and (max-width: 899px) {
    html {
      font-size: 55%; } }

body {
  font-family: "Noto Sans JP", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 1.75;
  color: #000; }

img {
  max-width: 100%; }

p {
  margin: 0 0 1em; }

a {
  transition: .7s ease; }
  a:hover {
    opacity: 0.6; }

.f_grn {
  color: #009944; }

.f_red {
  color: #f00; }

.center {
  text-align: center; }

.f_bold {
  font-weight: 700; }

.ib_wrap > span {
  display: inline-block; }

@media screen and (min-width: 768px) {
  .sp_only {
    display: none !important; } }

/*Header*/
header {
  position: relative; }
  header .logo {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    text-align: center;
    max-width: 30%;
    margin: auto; }
  header .kv img {
    width: 100%; }

#gNavi .navBtn {
  position: fixed;
  right: 0;
  top: 0;
  width: 2.5em;
  height: 2.5em;
  background: none;
  border: none;
  cursor: pointer;
  z-index: 1000; }
  #gNavi .navBtn span {
    position: absolute;
    left: 0;
    right: 0;
    width: 70%;
    height: 2px;
    background: #000;
    margin: auto;
    transition: .3s ease; }
    #gNavi .navBtn span:nth-child(1) {
      top: 25%; }
    #gNavi .navBtn span:nth-child(2) {
      top: 50%; }
    #gNavi .navBtn span:nth-child(3) {
      top: 75%; }
#gNavi nav {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  transition: .7s ease;
  background: #fffe;
  font-size: 2.5rem; }
  #gNavi nav ul {
    display: flex;
    flex-direction: column;
    text-align: center;
    list-style: none;
    margin: 3em 0 0 0;
    padding: 0; }
    #gNavi nav ul li {
      margin-bottom: 1.5em; }
    #gNavi nav ul a {
      color: inherit;
      text-decoration: inherit; }
    #gNavi nav ul span {
      display: inline-block; }
#gNavi.is-open .navBtn span:nth-child(1) {
  top: 50%;
  transform: rotate(45deg); }
#gNavi.is-open .navBtn span:nth-child(2) {
  transform: scale(0); }
#gNavi.is-open .navBtn span:nth-child(3) {
  top: 50%;
  transform: rotate(-45deg); }
#gNavi:not(.is-open) nav {
  opacity: 0;
  visibility: hidden;
  transform: translateY(-30px); }

/*Main*/
#main-content > div {
  padding: 1.5em 0; }

.inner {
  max-width: 1036px;
  margin: auto;
  padding: 0 1em; }

h1 {
  font-size: 3.6rem; }
  h1 b {
    font-size: 5.0rem; }
  @media screen and (max-width: 767px) {
    h1 {
      font-size: 3.2rem;
      line-height: 1.4em; } }

h2 {
  font-size: 3.6rem; }
  @media screen and (max-width: 767px) {
    h2 {
      font-size: 3.0rem; } }
  @media screen and (max-width: 400px) {
    h2 {
      font-size: 6vw;
      line-height: 1.4em; } }

h2.contHead {
  font-size: 3.6rem;
  text-align: center;
  padding: 1em 0; }

.cont_gr {
  background: #009944;
  color: #fff; }
  .cont_gr h2.contHead {
    background: linear-gradient(90deg, #fff, #fff 50%, transparent calc(50% + 250px)) top 0.5em left/100% 0.1em no-repeat, linear-gradient(90deg, transparent calc(50% - 250px), #fff 50%, #fff) bottom 0.5em left/100% 0.1em no-repeat; }
  @media screen and (max-width: 899px) {
    .cont_gr h2.contHead {
      background: linear-gradient(90deg, #fff, #fff 50%, transparent 75%) top 0.5em left/100% 0.1em no-repeat, linear-gradient(90deg, transparent 25%, #fff 50%, #fff) bottom 0.5em left/100% 0.1em no-repeat; } }

.cont_wh {
  background: #fff;
  color: #000; }
  .cont_wh h2.contHead {
    background: linear-gradient(90deg, #000, #000 50%, transparent calc(50% + 250px)) top 0.5em left/100% 0.1em no-repeat, linear-gradient(90deg, transparent calc(50% - 250px), #000 50%, #000) bottom 0.5em left/100% 0.1em no-repeat; }
  @media screen and (max-width: 899px) {
    .cont_wh h2.contHead {
      background: linear-gradient(90deg, #000, #000 50%, transparent 75%) top 0.5em left/100% 0.1em no-repeat, linear-gradient(90deg, transparent 25%, #000 50%, #000) bottom 0.5em left/100% 0.1em no-repeat; } }

.checkListWrap {
  text-align: center; }

.checkList {
  font-size: 2.4rem;
  list-style: none;
  display: inline-block;
  padding: 0;
  text-align: left; }
  .checkList li {
    display: block;
    padding-left: 1.8em;
    background: url("../img/check.png") left top 0.1em/1.5em 1.5em no-repeat;
    margin-bottom: 0.3em; }
  @media screen and (max-width: 767px) {
    .checkList {
      font-size: 2.0rem; } }

.checkPoint {
  font-size: 3.0rem;
  font-weight: 700;
  margin: 1.5em auto; }
  .checkPoint p {
    display: inline-block;
    padding: 1em 1.8em;
    background: url("../img/point.png") left center/auto 3em no-repeat; }
  @media screen and (max-width: 767px) {
    .checkPoint {
      font-size: 2.6rem; }
      .checkPoint p {
        display: inline-flex;
        flex-direction: column;
        align-items: center; } }
  @media screen and (max-width: 400px) {
    .checkPoint {
      font-size: 5.5vw; }
      .checkPoint p {
        padding-right: 1.3em; } }

.pointList {
  list-style: none;
  padding: 0;
  line-height: 1.25; }
  .pointList li {
    display: flex;
    justify-content: space-between;
    margin-bottom: 1em; }
    .pointList li:nth-child(1) h3::before {
      content: "1."; }
    .pointList li:nth-child(2) h3::before {
      content: "2."; }
    .pointList li:nth-child(3) h3::before {
      content: "3."; }
    .pointList li:nth-child(4) h3::before {
      content: "4."; }
    .pointList li:nth-child(5) h3::before {
      content: "5."; }
    .pointList li:nth-child(6) h3::before {
      content: "6."; }
  .pointList .ph {
    width: 28%; }
  .pointList .txt {
    width: calc(72% - 4rem); }
  .pointList h3 {
    font-size: 2.8rem;
    position: relative;
    margin: 0 0 0.2em; }
    .pointList h3::before {
      position: absolute;
      right: 100%; }
  @media screen and (max-width: 767px) {
    .pointList li {
      flex-direction: column;
      align-items: center; }
    .pointList .ph {
      width: 300px;
      max-width: 100%; }
    .pointList .txt {
      width: 600px;
      max-width: 100%; }
      .pointList .txt p {
        display: inline-block;
        text-align: left; }
    .pointList h3 {
      font-size: 2.4rem;
      display: flex; }
      .pointList h3::before {
        position: static;
        display: block;
        flex-shrink: 0; } }

.read {
  font-size: 2.4rem;
  font-weight: 700;
  margin: 2em auto 3em; }
  @media screen and (max-width: 767px) {
    .read {
      font-size: 2.0rem; } }

.contactBtn {
  text-align: center;
  margin-bottom: 3em; }
  .contactBtn a {
    display: inline-block;
    font-size: 3.216rem;
    color: #fff;
    background: #ff6000;
    position: relative;
    padding: 0em 0.7em 0.3em 3em;
    text-decoration: none; }
    .contactBtn a::before {
      content: "";
      position: absolute;
      left: -1em;
      top: -0.4em;
      bottom: 0;
      width: 4em;
      background: url("../img/letter.png") center center/contain no-repeat; }
    .contactBtn a b {
      font-size: 1.3em;
      font-weight: inherit; }
  @media screen and (max-width: 767px) {
    .contactBtn a {
      font-size: 2.5rem;
      line-height: 1.25;
      padding: 0.3em 0.7em 0.3em 3em; } }

.flowList {
  padding: 0;
  list-style: none; }
  .flowList h3 {
    font-size: 2.8rem;
    margin-bottom: 0.5em; }
  .flowList li {
    margin-bottom: 2em; }
  .flowList .ph {
    max-width: 500px;
    margin: 0 auto 0.5em; }

.faq {
  list-style: none;
  padding: 0;
  margin-bottom: 4em; }
  .faq .q {
    font-size: 2.4rem;
    border-bottom: 1px solid;
    font-weight: 700;
    margin-bottom: 1.2rem; }
    .faq .q::before {
      content: "Q:"; }
  .faq .a {
    margin-bottom: 2em; }

.voiceList, .staffList {
  list-style: none;
  padding: 0;
  line-height: 1.25; }
  .voiceList li, .staffList li {
    display: flex;
    margin-bottom: 1.5em; }
    .voiceList li .ph, .staffList li .ph {
      width: 25%;
      padding-right: 1em; }
    .voiceList li .txt, .staffList li .txt {
      width: 75%; }
    .voiceList li h3, .staffList li h3 {
      font-size: 2.8rem;
      margin: 0 0 0.5em;
      font-weight: 400; }
      .voiceList li h3 span, .staffList li h3 span {
        display: inline-block;
        margin-right: 0.5em; }
  @media screen and (max-width: 767px) {
    .voiceList li, .staffList li {
      flex-direction: column;
      align-items: center; }
      .voiceList li .ph, .staffList li .ph {
        width: 250px;
        max-width: 100%;
        padding: 0;
        text-align: center; }
      .voiceList li .txt, .staffList li .txt {
        width: 600px;
        max-width: 100%; } }

.nowPreparation {
  text-align: center;
  font-size: 3em; }
  @media screen and (max-width: 400px) {
    .nowPreparation {
      font-size: 8vw; } }

.c_06 a {
  color: inherit;
  text-decoration: inherit; }

.mapWrap {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 450px;
  max-height: 100vw;
  margin-bottom: 4em;
  overflow: hidden; }
  .mapWrap iframe {
    width: 100%;
    height: 100%; }

.accessList {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  list-style: none;
  margin: 0 auto 3em;
  padding: 0;
  max-width: 1000px; }
  .accessList li {
    width: 50%;
    margin-bottom: 1em; }
    @media screen and (max-width: 767px) {
      .accessList li {
        width: 100%; } }

/*Footer*/
footer {
  padding-top: 4em; }
  footer .head {
    font-size: 3.0rem;
    font-weight: 700;
    margin-bottom: 0.75em; }

.snsList {
  list-style: none;
  padding: 0;
  display: flex;
  justify-content: space-between;
  margin: 2em 0 4em; }
  .snsList li {
    width: 285px;
    max-width: 32%; }
  @media screen and (max-width: 767px) {
    .snsList {
      flex-direction: column;
      align-items: center; }
      .snsList li {
        max-width: 100%; } }

.copy {
  background: #000;
  color: #fff;
  padding: 0.5em 0; }

/*fadein*/
.fadeWrap header {
  transition: 1s ease; }
  .fadeWrap header:not(.inview) {
    opacity: 0; }
.fadeWrap main *, .fadeWrap footer {
  transition: 1s ease; }
  .fadeWrap main *:not(.inview), .fadeWrap footer:not(.inview) {
    opacity: 0;
    transform: translateY(20px); }

/* contact */
.inquiryForm dl {
  display: flex;
  justify-content: center;
  margin-top: 2em; }
  .inquiryForm dl dt {
    width: 17em;
    flex-shrink: 0;
    margin: 0;
    text-align: left; }
  .inquiryForm dl, .inquiryForm dl dt {
    padding-top: 0.5em; }
  .inquiryForm dl > dd {
    width: 100%;
    flex-shrink: 1;
    padding-left: 2em;
    margin: 0;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap; }
  .inquiryForm dl.required dt::after {
    content: "※";
    color: #f00; }
.inquiryForm input {
  width: calc(100% - 2em);
  padding: 0.5em; }
.inquiryForm .caut {
  color: #e61d25;
  margin: 0;
  width: 100%; }
.inquiryForm input, .inquiryForm textarea {
  width: 100%; }
.inquiryForm input[name="class"], .inquiryForm input[name="age"] {
  width: 5em; }
.inquiryForm input[name="post"],
.inquiryForm input[name="zip-btn"] {
  width: 11em;
  margin-right: 1em;
  max-width: calc(50% - 1em); }
.inquiryForm dd span {
  padding: 0.5em; }
.inquiryForm .dateWrap {
  display: flex;
  width: 100%;
  list-style: none;
  margin: 0;
  padding: 0; }
  .inquiryForm .dateWrap input[type="date"] {
    width: 10em; }
  .inquiryForm .dateWrap select {
    width: 4.5em;
    height: 100%;
    text-align: center;
    margin-right: 0.5em; }
  .inquiryForm .dateWrap span {
    margin-right: 1em; }
    .inquiryForm .dateWrap span:nth-child(3)::after {
      content: "時頃"; }

label.flexbox {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap; }
  label.flexbox input {
    width: 1.5em; }

.radioWrap {
  width: 100%; }
  .radioWrap input {
    width: auto;
    margin-right: 0.5em; }
  .radioWrap label {
    margin-right: 0.5em;
    padding: 0 0.5em; }

input.confirmErr {
  background: rgba(255, 0, 0, 0.2);
  color: #f00;
  border-color: #f00; }

dd.confirmErr::after {
  content: "内容が一致しません";
  color: #f00;
  font-size: 0.8em; }

[type=submit].confirmErr {
  pointer-events: none;
  cursor: no-drop;
  opacity: 0.4; }

.btnWrap,
.linkButton {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap; }

.btnWrap button,
.linkButton a {
  padding: 1em 1em;
  margin: 1em 1em 0;
  border: none;
  background: #000;
  color: #fff;
  line-height: 1;
  display: block;
  cursor: pointer;
  font-size: 1.4em;
  text-decoration: inherit;
  min-width: 10em;
  text-align: center; }

.btnWrap button[type="button"] {
  background: #ccc;
  color: #333; }

.btnWrap button:hover {
  opacity: 0.7; }

.inquiryForm.confirm dd {
  padding: 0.5em 0; }

.inquiryForm.confirm dd span {
  padding: 0; }

.inquiryForm.confirm dd span.inputBefore {
  padding-right: 0.5em; }

.inquiryForm.confirm dd span.inputAfter {
  padding-left: 0.5em; }

.inquiryForm.confirm input[name="zip-btn"] {
  display: none; }

@media screen and (max-width: 767px) {
  .inquiryForm dl {
    flex-direction: column;
    width: 95%;
    margin: 2em auto 0; }

  .inquiryForm dl > dd {
    padding-left: 0;
    margin-top: 0.5em; } }
