@charset "UTF-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
*, *::before, *::after {
  box-sizing: border-box; }

html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none; }

body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
  margin: 0; }

ul[role='list'], ol[role='list'] {
  list-style: none; }

body {
  min-height: 100vh;
  line-height: 1.5; }

h1, h2, h3, h4, button, input, label {
  line-height: 1.1; }

h1, h2, h3, h4 {
  text-wrap: balance; }

a:not([class]) {
  text-decoration-skip-ink: auto;
  color: currentColor; }

img, picture {
  max-width: 100%;
  display: block; }

input, button, textarea, select {
  font: inherit; }

textarea:not([rows]) {
  min-height: 10em; }

:target {
  scroll-margin-block: 5ex; }

body {
  margin: 0;
  padding: 0;
  font-size: 17px;
  font-family: 'Noto Sans Japanese', sans-serif; }
  @media screen and (max-width: 650px) {
    body {
      font-size: 15px; } }

.header {
  width: 100%;
  margin: 0 auto;
  background-color: #000; }

.header_box {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  background: #000; }
  .header_box img {
    margin: 0 auto; }

.logo_box {
  background-color: #000; }

.logo {
  padding: 30px 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1100px;
  margin: 0 auto; }
  @media screen and (max-width: 650px) {
    .logo {
      width: 90%; } }

.logo_img {
  max-width: 200px;
  width: 100%;
  padding-top: 8px; }
  @media screen and (max-width: 650px) {
    .logo_img {
      width: 50%; } }

.tel_img {
  width: 15%; }
  @media screen and (max-width: 650px) {
    .tel_img {
      width: 40%; } }
  .tel_img a:hover {
    opacity: 0.8; }

main {
  height: 100%;
  background: #0575E6;
  /* fallback for old browsers */
  background: -webkit-linear-gradient(134deg, #001B40, #1D5B8D);
  /* Chrome 10-25, Safari 5.1-6 */
  background: linear-gradient(134deg, #001B40, #1D5B8D);
  /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
  background-attachment: fixed !important;
  padding-top: 30px;
  padding-bottom: 1px; }
  @media screen and (max-width: 650px) {
    main {
      padding-top: 0px; } }
  main .wrapper {
    max-width: 810px;
    width: 100%;
    margin: 0 auto 0;
    background-color: #fff;
    z-index: 1;
    filter: drop-shadow(0 0 1rem rgba(0, 0, 0, 0.5));
    margin-bottom: 50px; }
  main .container {
    max-width: 810px;
    width: 100%;
    margin: 0 auto 0;
    padding: 50px 45px 50px;
    z-index: 1; }
    @media screen and (max-width: 650px) {
      main .container {
        margin: 0px auto 0;
        width: 98%;
        padding: 50px 10px 50px; } }
  main .container2 {
    max-width: 810px;
    width: 100%;
    margin: 0 auto 0;
    background-color: #fff;
    border-right: solid 1px #eee;
    border-left: solid 1px #eee;
    padding: 100px 45px 50px; }
    @media screen and (max-width: 650px) {
      main .container2 {
        margin: 100px auto 0;
        width: 98%;
        padding: 50px 10px 50px; } }
  main h1 {
    font-size: 32px;
    text-align: center;
    line-height: 1.4em;
    margin-top: 50px; }
    @media screen and (max-width: 650px) {
      main h1 {
        font-size: 25px; }
        main h1 br {
          display: none; } }
  @media screen and (max-width: 650px) {
    main h2 br {
      display: none; } }
  main .k {
    font-size: 36px; }
    @media screen and (max-width: 650px) {
      main .k {
        font-size: 30px; } }
  main .decoration {
    position: relative;
    padding-bottom: 0.5rem;
    border-bottom: 3px solid #333;
    background-color: white;
    font-weight: bold;
    text-align: center; }
  main .decoration::before {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) skew(-25deg);
    height: 20px;
    width: 10px;
    border-right: 3px solid #333;
    background-color: white;
    content: ""; }
  main .decoration2 {
    background-color: #002364;
    font-weight: bold;
    text-align: center;
    color: #fff;
    padding: 0.5em 0; }
  main .underline {
    padding-bottom: 5px;
    font-weight: bold;
    position: relative;
    border-bottom: 3px solid #bfbfbf;
    /*右：薄ピンク*/ }
  main .underline::before {
    content: '';
    position: absolute;
    bottom: -3px;
    left: 0;
    width: 30%;
    height: 3px;
    background: #5a5a5a;
    /*左：ピンク*/ }
  main h2 {
    font-size: 24px;
    text-align: center;
    line-height: 1.4em;
    color: #a91212;
    margin-bottom: 40px; }
    @media screen and (max-width: 650px) {
      main h2 {
        font-size: 20px; } }
  main p {
    margin-bottom: 1.5em; }
  main p:first-child {
    margin-top: 20px; }

.mt50 {
  margin-top: 50px; }

.mb50 {
  margin-bottom: 50px; }

.under {
  text-decoration: underline; }

.marker {
  /* マーカーを引く 
  rgba(255, 153, 0,0.5) の部分はマーカーの色を指定しています。
　実装される際は、お好きな色、透明度をお入れ下さい。 */
  background: linear-gradient(transparent 50%, #fbd760 50%);
  /* マーカーを引く */
  /* インライン属性を指定する */
  display: inline;
  /* 背景の繰り返しを停止 */
  background-repeat: no-repeat;
  /* マーカーの横方向を0にして縮める */
  background-size: 0% 100%;
  /* マーカーが引かれる速度を指定 */
  transition: background-size 1.5s; }

/* マーカーが引かれる際に付与するクラス */
.marker.on {
  /* 横方向を100%にして、マーカーを引く */
  background-size: 100% 100%; }

.red {
  color: #a91212; }

.bold {
  font-weight: bold; }

.center_img {
  text-align: center;
  width: 80%;
  margin: 0 auto 1em; }
  @media screen and (max-width: 650px) {
    .center_img {
      width: 100%; } }

.right {
  text-align: right; }

.left {
  text-align: left; }

.center {
  text-align: center; }

.big {
  font-size: 150%; }

.teacher_box {
  border: 5px #1f3864 double;
  padding: 5%;
  margin-top: 40px; }
  .teacher_box h1 {
    font-size: 25px;
    text-align: left;
    margin-bottom: 20px;
    margin-top: 0; }
  .teacher_box .teacher_img {
    float: left;
    margin-right: 2em; }
    @media screen and (max-width: 650px) {
      .teacher_box .teacher_img {
        float: none;
        margin: 1em 0;
        text-align: center; }
        .teacher_box .teacher_img img {
          display: inline; } }

.checkbox {
  margin-top: 40px; }
  .checkbox ul {
    border: solid 2px #000;
    padding: 5%;
    background-color: #eee; }
  .checkbox li {
    list-style: url("../images/check.png");
    list-style-position: inherit;
    font-weight: bold;
    font-size: 22px;
    margin-left: 1em; }
    @media screen and (max-width: 650px) {
      .checkbox li {
        list-style: url("../images/check_sp.png");
        list-style-position: inherit;
        font-weight: bold;
        font-size: 18px;
        margin-left: 1em; } }

.voice_box {
  background-color: #eee;
  margin-top: 40px; }

.voice_box *, .voice_box *:before, .voice_box *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.voice_box {
  position: relative; }

.voice_img {
  padding: 5% 5% 0 5%; }

.voice_box label {
  position: absolute;
  z-index: 1;
  bottom: 0;
  width: 100%;
  height: 120px;
  /* グラデーションの高さ */
  cursor: pointer;
  text-align: center;
  /* 以下グラデーションは背景を自身のサイトに合わせて設定してください */
  background: linear-gradient(to bottom, rgba(250, 252, 252, 0) 0%, rgba(250, 252, 252, 0.95) 90%); }

.voice_box input:checked + label {
  background: inherit;
  /* 開いた時にグラデーションを消す */ }

.voice_box label:after {
  line-height: 2.5rem;
  position: absolute;
  z-index: 2;
  bottom: 20px;
  left: 50%;
  width: 16rem;
  font-family: FontAwesome;
  content: '↓ 続きをよむ';
  transform: translate(-50%, 0);
  letter-spacing: 0.05em;
  color: #ffffff;
  border-radius: 20px;
  background-color: #1b2538; }

.voice_box input {
  display: none; }

.voice_box .voice_text {
  overflow: hidden;
  height: 300px;
  /* 開く前に見えている部分の高さ */
  transition: all 0.5s;
  padding: 5%; }

.voice_box input:checked + label {
  /* display: none ; 閉じるボタンを消す場合解放 */ }

.voice_box input:checked + label:after {
  font-family: FontAwesome;
  content: '↑ 閉じる'; }

.voice_box input:checked ~ .voice_text {
  height: auto;
  padding-bottom: 120px;
  /* 閉じるボタンのbottomからの位置 */
  transition: all 0.5s; }

.voice_text2 {
  padding: 5%; }

.black_box {
  background-color: #000;
  padding: 10px 0;
  width: 810px;
  margin-left: -46px; }
  @media screen and (max-width: 650px) {
    .black_box {
      width: 109%;
      margin: 0 -5%; } }
  .black_box h1 {
    color: #fff; }
  .black_box h2 {
    color: #ffc107; }

.session {
  background-color: #eee;
  padding: 5%;
  margin-top: 40px; }
  .session h1 {
    text-align: left;
    color: #a91212;
    margin-bottom: 20px;
    margin-top: 20px; }
  .session h2 {
    text-align: left;
    color: #000; }
    @media screen and (max-width: 650px) {
      .session h2 br {
        display: none; } }
  .session ul {
    list-style: none; }
    @media screen and (max-width: 650px) {
      .session ul {
        padding-left: 1em; } }
  .session .ml6 {
    margin-left: 6em; }
    @media screen and (max-width: 650px) {
      .session .ml6 {
        margin-left: 0em; } }

.nobox {
  margin-top: 40px; }
  .nobox ul {
    margin-right: 2em; }
    @media screen and (max-width: 650px) {
      .nobox ul {
        margin-right: 1em;
        padding-left: 1em; } }
  .nobox li {
    list-style: url("../images/batu.png");
    list-style-position: inherit;
    margin-left: 1em;
    margin-bottom: 1em; }
  .nobox p {
    margin-left: 3.5em; }
    @media screen and (max-width: 650px) {
      .nobox p {
        margin-left: 2em; } }

.yesbox {
  margin-top: 40px; }
  .yesbox ul {
    border: solid 2px #A91212;
    padding: 5%; }
  .yesbox li {
    list-style: url("../images/maru.png");
    list-style-position: inherit;
    margin-left: 1em;
    margin-bottom: 1em; }
    @media screen and (max-width: 650px) {
      .yesbox li {
        margin-bottom: 0.5em; }
        .yesbox li br {
          display: none; } }

.tokuten_box h2 {
  font-size: 24px;
  text-align: left;
  line-height: 1.4em;
  color: #a91212;
  margin-top: 80px;
  margin-bottom: 20px; }
  @media screen and (max-width: 650px) {
    .tokuten_box h2 {
      font-size: 20px; } }
.tokuten_box h3 {
  font-size: 24px;
  color: #a91212;
  margin-bottom: 20px; }
  @media screen and (max-width: 650px) {
    .tokuten_box h3 br {
      display: none; } }

.tokuten {
  border: solid 3px #000;
  padding: 3px 10px;
  color: #000; }

.order {
  text-align: center; }
  .order h1 {
    color: #fbd760;
    padding-bottom: 20px; }
  .order h2 {
    color: #fbd760; }

.order_inner {
  background-image: url("../images/back.png");
  background-color: #000000;
  padding: 5%;
  color: #fff; }

.order_box {
  background-color: #fff;
  border-radius: 20px;
  padding: 5%;
  color: #000;
  text-align: center;
  width: 80%;
  margin: 40px auto 0; }
  @media screen and (max-width: 650px) {
    .order_box {
      width: 90%; } }
  .order_box h2 {
    color: #000;
    text-align: center;
    margin-bottom: 20px; }
  .order_box h3 {
    color: #000;
    text-align: center;
    font-size: 25px;
    line-height: 1.2em; }

.order_btn {
  padding: 20px;
  font-size: 25px;
  font-weight: bold;
  text-align: center;
  max-width: 500px;
  width: 100%;
  margin: 0 auto; }
  @media screen and (max-width: 650px) {
    .order_btn {
      padding: 20px 2px; } }
  .order_btn a:hover {
    opacity: 0.8; }
    @media screen and (max-width: 650px) {
      .order_btn a:hover {
        width: 100%; } }

/*アニメーション*/
.animation {
  margin: 0 auto;
  animation: fuwafuwa 2s ease 0s infinite alternate;
  transform-origin: center;
  cursor: pointer; }

@keyframes fuwafuwa {
  0% {
    transform: scale(0.9, 0.9); }
  33% {
    transform: scale(0.9, 0.9); }
  80% {
    transform: scale(0.9, 0.9); }
  100% {
    transform: scale(1, 1); } }
footer {
  background-color: #000;
  padding: 20px 0;
  color: #fff;
  text-align: center; }
  @media screen and (max-width: 650px) {
    footer {
      padding: 20px 0 50px; } }
  footer p {
    font-size: 10px; }
  footer .privacy_box {
    padding-top: 0; }
    footer .privacy_box ul {
      list-style: none;
      margin: 0;
      padding: 0; }
      footer .privacy_box ul a {
        text-decoration: none; }
    @media screen and (max-width: 650px) {
      footer .privacy_box {
        width: 100%;
        padding: 20px 0;
        text-align: left;
        text-align: center; }
        footer .privacy_box li {
          margin-bottom: 0.5em; } }

.footer {
  width: 100%;
  margin: 0 auto;
  background-color: #000; }

.footer_box {
  padding: 30px 5%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1100px;
  margin: 0 auto; }
  @media screen and (max-width: 650px) {
    .footer_box {
      padding: 30px 5% 15px; } }
  .footer_box img {
    margin: 0 auto; }
  .footer_box .logo_img {
    max-width: 200px;
    width: 100%;
    padding-top: 8px; }
    @media screen and (max-width: 650px) {
      .footer_box .logo_img {
        width: 50%; } }
  .footer_box .tel_img {
    max-width: 200px;
    width: 100%;
    padding-top: 8px; }
    @media screen and (max-width: 650px) {
      .footer_box .tel_img {
        width: 40%;
        padding-top: 0; } }
    .footer_box .tel_img img {
      width: 80%; }
      @media screen and (max-width: 650px) {
        .footer_box .tel_img img {
          width: 100%; } }
    .footer_box .tel_img a:hover {
      opacity: 0.8; }
  .footer_box .privacy_box {
    padding-top: 00px; }
    @media screen and (max-width: 650px) {
      .footer_box .privacy_box {
        display: none; } }

.footer_teacher {
  float: left;
  margin-right: 1em; }
  @media screen and (max-width: 650px) {
    .footer_teacher {
      float: none;
      text-align: center;
      margin: 2em 0 1em; }
      .footer_teacher img {
        display: inline; } }

.footer_order_pc {
  position: fixed;
  width: 300px;
  bottom: 0px;
  opacity: 1;
  z-index: 99;
  right: 0;
  display: block;
  font-size: 20px; }
  @media screen and (max-width: 650px) {
    .footer_order_pc {
      display: none; } }
  .footer_order_pc a:hover {
    opacity: 0.9; }

.footer_order_sp {
  position: fixed;
  width: 100%;
  bottom: 0px;
  opacity: 1;
  z-index: 99;
  right: 0;
  display: none;
  font-size: 20px; }
  @media screen and (max-width: 650px) {
    .footer_order_sp {
      display: block; } }
  .footer_order_sp a:hover {
    opacity: 0.9; }

/*フッターまでスクロールしたら消す*/
.is-hidden {
  visibility: hidden;
  opacity: 0; }

.privacy {
  background-color: #fff; }
  .privacy h1 {
    margin-bottom: 2em; }
  .privacy dt {
    font-weight: bold;
    border-bottom: 1px #8a8a8a solid;
    margin-bottom: 5px; }
  .privacy dd {
    margin: 0.5em 0 2em 1em; }

.inpuiry {
  background-color: #fff; }
  .inpuiry h1 {
    margin-bottom: 2em; }
  .inpuiry dl {
    display: flex;
    flex-wrap: wrap; }
  .inpuiry dt {
    font-weight: bold;
    border-bottom: 1px #8a8a8a solid;
    margin-bottom: 5px;
    width: 100%;
    margin-top: 20px; }
  .inpuiry dd {
    margin: 0.5em 0 0em 1em;
    width: 46%; }
    @media screen and (max-width: 650px) {
      .inpuiry dd {
        width: 90%; } }
  .inpuiry input[type='text'], .inpuiry input[type='email'], .inpuiry input[type='tel'] {
    width: 100%;
    padding: 10px; }
  .inpuiry input[type='submit'] {
    width: 80%;
    padding: 8px;
    margin: 10px 10%; }
  .inpuiry .width94 {
    width: 94%; }
    @media screen and (max-width: 650px) {
      .inpuiry .width94 {
        width: 90%; } }

.checkbox2 {
  margin-top: 20px;
  border-bottom: 1px solid #000; }
  .checkbox2 ul {
    padding-left: 0.5em; }
  .checkbox2 li {
    list-style: url("../images/check_sp.png");
    list-style-position: inherit;
    font-weight: bold;
    font-size: 20px;
    margin-left: 1em; }
    @media screen and (max-width: 650px) {
      .checkbox2 li {
        list-style: url("../images/check_sp.png");
        list-style-position: inherit;
        font-weight: bold;
        font-size: 18px;
        margin-left: 1em; } }

.checkbox3 {
  margin-top: 40px; }
  .checkbox3 ul {
    padding-left: 0.5em; }
  .checkbox3 li {
    list-style: url("../images/check_sp.png");
    list-style-position: inherit;
    font-weight: bold;
    font-size: 20px;
    margin-left: 1em; }
    @media screen and (max-width: 650px) {
      .checkbox3 li {
        list-style: url("../images/check_sp.png");
        list-style-position: inherit;
        font-weight: bold;
        font-size: 18px;
        margin-left: 1em; } }

.point_box {
  display: flex;
  flex-wrap: wrap; }
  .point_box dt {
    width: 13%;
    font-weight: bold; }
    @media screen and (max-width: 650px) {
      .point_box dt {
        width: 24%; } }
  .point_box dd {
    width: 87%;
    margin-bottom: 10px; }
    @media screen and (max-width: 650px) {
      .point_box dd {
        width: 76%; } }

.checkbox4 {
  margin-top: 50px;
  border: solid 1px #878787;
  background-color: #fefff3;
  padding: 15px;
  margin-bottom: 10px; }

.checkbox4 ul {
  padding-left: 0.5em; }

.checkbox4 li {
  list-style: url("../images/check_sp.png");
  list-style-position: inherit;
  margin-left: 1em;
  margin-bottom: 1em; }

@media screen and (max-width: 650px) {
  .checkbox4 li {
    list-style: url("../images/check_sp.png");
    list-style-position: inherit;
    font-weight: bold;
    font-size: 18px;
    margin-left: 1em; } }
.tokuten_box .tokuten_big {
  font-size: 24px; }

main .container_blue {
  max-width: 810px;
  width: 100%;
  margin: 0 auto 0;
  padding: 50px 45px 50px;
  z-index: 1;
  background-color: #002364;
  color: #fff; }
  main .container_blue h3 {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 1.5em;
    text-align: left;
    color: #fff; }
  main .container_blue br {
    display: block; }
    @media screen and (max-width: 650px) {
      main .container_blue br {
        display: none; } }

@media screen and (max-width: 650px) {
  main .container {
    margin: 0px auto 0;
    width: 98%;
    padding: 50px 10px 50px; } }
.yellow {
  color: #F7C723; }

.order_box2 {
  width: 80%;
  margin: 0 auto; }
  @media screen and (max-width: 650px) {
    .order_box2 {
      eidth: 90%; } }

.point_box {
  display: flex;
  flex-wrap: wrap; }

.point_box dt {
  width: 13%;
  font-weight: bold; }

@media screen and (max-width: 650px) {
  .point_box dt {
    width: 24%; } }
.point_box dd {
  width: 87%;
  margin-bottom: 10px; }

@media screen and (max-width: 650px) {
  .point_box dd {
    width: 76%; } }
.voice_box2 {
  background: fff; }
  .voice_box2 dl {
    display: flex;
    flex-wrap: wrap;
    margin-top: 100px; }
  .voice_box2 dt {
    width: 20%; }
    @media screen and (max-width: 650px) {
      .voice_box2 dt {
        width: 100%; }
        .voice_box2 dt img {
          max-width: 250px;
          margin: 0 auto 20px; } }
  .voice_box2 dd {
    width: 78%;
    margin-left: 2%;
    margin-bottom: 50px; }
    @media screen and (max-width: 650px) {
      .voice_box2 dd {
        width: 100%;
        margin-left: 0; } }
  .voice_box2 h1 {
    font-size: 24px;
    text-align: left;
    color: #001B40;
    margin-top: 0; }
  .voice_box2 p {
    padding: 0;
    margin: 0; }
  .voice_box2 .star {
    font-size: 20px;
    font-weight: bold;
    color: #ECEB3B;
    text-shadow: 0px 0 1px #4b4b4b; }
  .voice_box2 .day {
    font-size: 15px;
    color: #999;
    margin-bottom: 1em; }

.tokuten_qa {
  width: 90%;
  margin: 0 auto; }
  .tokuten_qa dl {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 1em; }
  .tokuten_qa dt {
    width: 4%; }
    @media screen and (max-width: 650px) {
      .tokuten_qa dt {
        width: 8%; } }
  .tokuten_qa dd {
    width: 96%;
    margin-bottom: 10px; }
    @media screen and (max-width: 650px) {
      .tokuten_qa dd {
        width: 92%; } }

.video {
  top: 0;
  width: 100%;
  height: 100%;
  background: #000;
  /*背景を黒で表示*/ }

.f_left {
  float: left; }

.f_right {
  float: right; }

.mr01 {
  margin-left: 1em; }

.ml01 {
  margin-right: 1em; }

.black {
  color: #000; }

.gray {
  color: #848484; }

.mt1 {
  margin-top: 1em; }

.mb1 {
  margin-bottom: 1em; }

.mt100 {
  margin-top: 100px; }

.ml05 {
  margin-left: -0.5em; }

.big_y {
  font-size: 200%; }

.small {
  font-size: 60%; }

.br {
  display: none; }
  @media screen and (max-width: 650px) {
    .br {
      display: block; } }

.pc {
  display: block; }
  @media screen and (max-width: 650px) {
    .pc {
      display: none; } }

.sp {
  display: none; }
  @media screen and (max-width: 650px) {
    .sp {
      display: block; } }
