@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@500&display=swap");
@import url("https://netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css");
/*
font-family: 'Oswald', sans-serif !important;
*/
/* リセット
 ------------------------------------------*/
header, div, span, applet, object, iframe, input[type=file], h1, h2, h3, h4, h5, h6, p, select, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, sub, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0 auto;
  padding: 0;
  border: 0;
  outline: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  vertical-align: baseline;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Noto Sans JP", sans-serif !important;
  font-weight: 500;
  letter-spacing: 1px;
}

body {
  margin: 0;
}

a {
  color: #333333;
  text-decoration: none;
  outline: none;
  border: none;
}
a:hover {
  color: #333333;
  text-decoration: none;
}
a img {
  border: 0;
}

img {
  border: 0;
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

blockquote, dd, div, dl, dt, h1, h2, h3, h4, h5, h6, li, p, pre, span, td, th, ul {
  margin: 0;
  padding: 0;
}

abbr, acronym {
  border: 0;
}

address, caption, cite, code, dfn, em, th, strong, var {
  font-style: normal;
  font-weight: normal;
}

caption, th {
  text-align: left;
}

code, kbd, pre, samp, tt {
  font-family: monospace;
  line-height: 100%;
}

* + html code, kbd, pre, samp, tt {
  font-size: 108%;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

ul, li {
  margin: 0;
  padding: 0;
  list-style: none;
}

q:before, q:after {
  content: "";
}

button, fieldset, form, input, label, legend, textarea {
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

::-moz-placeholder {
  color: #C3C3C3;
}

::placeholder {
  color: #C3C3C3;
}

/* 旧Edge対応 */
::-ms-input-placeholder {
  color: #C3C3C3;
}

/* IE対応 */
:-ms-input-placeholder {
  color: #C3C3C3;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 100%;
  /*table-layout:fixed;*/
}
table td {
  vertical-align: middle;
}

.right {
  float: right;
}

.left {
  float: left;
}

.pc {
  display: block;
}
@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp {
    display: block;
  }
}

input[type=submit], input[type=reset], input[type=button] {
  cursor: pointer;
  -webkit-appearance: button;
  *overflow: visible;
}

button {
  cursor: pointer;
  -webkit-appearance: button;
  *overflow: visible;
}

img {
  max-width: 100%;
}

a {
  transition: all 0.3s ease-in-out;
}
a:hover {
  opacity: 0.7;
}

/* クリア
 ------------------------------------------*/
.clearfix {
  display: inline-block;
}
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

* html .clearfix {
  height: 1%;
}

.clearfix {
  display: block;
}

/* Scss Document */
/*========HEADER============*/
.mb50 {
  margin: 0 0 50px 0;
}
@media screen and (max-width: 768px) {
  .mb50 {
    margin: 0 0 25px 0;
  }
}

.br-sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .br-sp {
    display: inline;
  }
}

.pc {
  display: block;
}
@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp {
    display: block;
  }
}

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

.mb20 {
  display: block;
  margin-bottom: 20px;
}

.bold {
  font-weight: bold;
}

.large {
  font-size: 1.2em !important;
}

small {
  font-size: 0.7em !important;
}

.red {
  color: #db0000;
}

.yellow {
  color: #f9ed32;
}

.underline {
  text-decoration: underline;
}

.yellow-line {
  background: linear-gradient(transparent 75%, rgba(249, 255, 50, 0.5) 0%);
  font-weight: bold;
}

p, span {
  line-height: 1.7em;
  letter-spacing: 0.1em;
}

.openbtn {
  display: none;
}

@media screen and (max-width: 768px) {
  #g-nav {
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position: fixed;
    z-index: 999;
    /*ナビのスタート位置と形状*/
    top: 0;
    right: -120%;
    width: 100%;
    height: 100vh; /*ナビの高さ*/
    background: #DDE5D6;
    /*動き*/
    transition: all 0.6s;
  }
  /*アクティブクラスがついたら位置を0に*/
  #g-nav.panelactive {
    right: -20%;
  }
  /*ナビゲーションの縦スクロール*/
  #g-nav.panelactive #g-nav-list {
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999;
    width: 100%;
    height: 100vh; /*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
  /*ナビゲーション*/
  #g-nav ul {
    /*ナビゲーション天地中央揃え*/
    display: block !important;
    position: absolute;
    z-index: 999;
    top: 40%;
    left: 40%;
    transform: translate(-50%, -50%);
  }
  /*リストのレイアウト設定*/
  #g-nav li {
    list-style: none;
    text-align: center;
  }
  #g-nav li a {
    text-decoration: none;
    padding: 10px;
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.1em;
  }
  /*========= ボタンのためのCSS ===============*/
  .openbtn {
    display: block;
    position: fixed;
    z-index: 9999; /*ボタンを最前面に*/
    top: 0;
    right: 10px;
    cursor: pointer;
    width: 50px;
    height: 50px;
  }
  /*×に変化*/
  .openbtn span {
    display: inline-block;
    transition: all 0.4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
    background-color: #666;
    width: 45%;
  }
  .openbtn span:nth-of-type(1) {
    top: 15px;
  }
  .openbtn span:nth-of-type(2) {
    top: 23px;
  }
  .openbtn span:nth-of-type(3) {
    top: 31px;
  }
  .openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
  }
  .openbtn.active span:nth-of-type(2) {
    opacity: 0;
  }
  .openbtn.active span:nth-of-type(3) {
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
  }
}
header {
  position: fixed;
  width: 100%;
  background: #FFF;
  z-index: 999;
  top: 0;
  left: 0;
  border-bottom: 2px solid #009444;
}
@media screen and (max-width: 768px) {
  header {
    padding: 0 10px;
    box-sizing: border-box;
  }
}
header p.official {
  color: #333;
  font-size: 12px;
  text-align: right;
  max-width: 1024px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  header p.official {
    font-size: 8px;
    text-indent: 0;
    text-align: center;
  }
}
header #header {
  max-width: 1024px;
  margin: 10px auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  header #header {
    margin: 0;
    padding: 3px;
  }
}
header #header h1 img {
  width: 200px;
}
@media screen and (max-width: 768px) {
  header #header h1 img {
    width: 170px;
  }
}
header #header h1 span {
  display: block;
  font-size: 12px;
  margin: 0 0 5px 0;
}
@media screen and (max-width: 768px) {
  header #header h1 span {
    font-size: 10px;
  }
}
header #header .header-btn p {
  display: inline-block;
}
header #header .header-btn p a {
  display: inline-block;
  background: url("../img/common/pointer.svg") no-repeat 90% 50% #db0000;
  background-size: 17px;
  color: #FFF;
  padding: 15px 50px 15px 30px;
  font-size: 18px;
  letter-spacing: 2px;
  border-radius: 10px;
  box-shadow: 0 3px 0 #c14625;
  font-weight: bold;
  margin-left: 30px;
}
@media screen and (max-width: 768px) {
  header #header .header-btn p a {
    padding: 15px 50px 15px 30px;
    font-size: 13px;
    line-height: 1.2;
    margin: 5px 0 7px 0;
  }
}
header #header .header-btn p a small {
  font-size: 14px;
}
header #header .header-btn p a span.yellow {
  color: #f9ed32;
}
@media screen and (max-width: 768px) {
  header #header .header-btn p a span.yellow {
    display: inline;
  }
}
header #header .header-btn p.orientation {
  display: inline-block;
}
header #header .header-btn p.orientation a {
  background-color: #ed8d0f;
  box-shadow: 0 3px 0 #a06a13;
  margin-top: 0;
}
header #header ul {
  display: flex;
}
header #header ul li {
  position: relative;
  padding: 10px 15px 0;
}
@media screen and (max-width: 768px) {
  header #header ul li {
    border: none;
  }
}
header #header ul li::after {
  position: absolute;
  bottom: 5px;
  left: 50%;
  transform: translateX(-60%);
  content: "ABOUT";
  font-size: 10px;
  color: #009444;
}
@media screen and (max-width: 768px) {
  header #header ul li::after {
    content: "" !important;
  }
}
header #header ul li:last-child {
  padding: 0;
  border: none;
}
header #header ul li:last-child::after {
  content: "";
}
header #header ul li.li-reason::after {
  content: "REASON";
}
header #header ul li.li-course::after {
  content: "COURSE";
}
header #header ul li.li-faq::after {
  content: "FAQ";
}

nav#header-nav {
  background: #009444;
  margin: 80px 0 0 0;
  box-shadow: 0 0 20px #CCC;
}
@media screen and (max-width: 768px) {
  nav#header-nav {
    margin: 50px 0 0 0;
  }
}
nav#header-nav ul.tab-list {
  display: flex;
  justify-content: center;
}
nav#header-nav ul.tab-list li {
  border-right: 1px solid rgba(255, 255, 255, 0.5);
}
nav#header-nav ul.tab-list li:nth-child(1) {
  border-left: 1px solid rgba(255, 255, 255, 0.5);
}
@media screen and (max-width: 768px) {
  nav#header-nav ul.tab-list li:nth-child(1) {
    border-left: none;
  }
}
nav#header-nav ul.tab-list li a {
  padding: 30px;
  display: block;
  color: #FFF;
  letter-spacing: 2px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  nav#header-nav ul.tab-list li a {
    padding: 10px;
    font-size: 13px;
    text-align: center;
  }
}
nav#header-nav ul.tab-list li a.active {
  background: #FFF;
  color: #009444;
}

aside#banner {
  background: url("../img/pic/back2.jpg") no-repeat center bottom;
  background-size: cover;
  padding: 10vw 0 0 0;
}
@media screen and (max-width: 768px) {
  aside#banner {
    padding: 100px 0 0 0;
    background: url("../img/pic/back2.jpg") no-repeat center bottom;
    background-size: auto 500px;
  }
}
aside#banner .banner-inside {
  background: rgba(244, 244, 244, 0.95);
  text-align: center;
  padding: 45px 0;
}
@media screen and (max-width: 768px) {
  aside#banner .banner-inside {
    padding: 30px 15px;
  }
}
aside#banner .banner-inside img {
  border-radius: 10px;
}

footer #footer {
  background: #009444;
  padding: 75px 0;
}
@media screen and (max-width: 768px) {
  footer #footer {
    padding: 50px 0;
  }
}
footer #footer .footer-inner {
  max-width: 1024px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  footer #footer .footer-inner {
    display: block;
  }
}
footer #footer .footer-inner .footer-left {
  width: 40%;
  margin-right: 20px;
}
@media screen and (max-width: 768px) {
  footer #footer .footer-inner .footer-left {
    width: 100%;
  }
}
footer #footer .footer-inner .footer-left ul {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  footer #footer .footer-inner .footer-left ul {
    width: auto;
    margin: 0 15px;
  }
}
footer #footer .footer-inner .footer-left ul li a {
  color: #FFF;
  font-size: 14px;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  footer #footer .footer-inner .footer-left ul li a {
    font-size: 12px;
  }
}
footer #footer .footer-inner .footer-left ul li ul {
  width: auto;
  display: block;
}
@media screen and (max-width: 768px) {
  footer #footer .footer-inner .footer-left ul li ul {
    margin: 0;
  }
}
footer #footer .footer-inner .footer-left ul li ul li {
  margin: 0 0 10px 0;
}
@media screen and (max-width: 768px) {
  footer #footer .footer-inner .footer-left ul li ul li {
    margin: 0 0 5px 0;
  }
}
footer #footer .footer-inner .footer-left ul li ul li:before {
  content: ">";
  display: inline-block !important;
  transform: scale(0.7, 1);
  margin: 0 10px 0 0;
  color: #FFF;
  display: flex;
  justify-content: space-between;
}
footer #footer .footer-inner .about-company {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 60%;
}
@media screen and (max-width: 768px) {
  footer #footer .footer-inner .about-company {
    display: block;
    width: auto;
    margin: 0 15px;
    text-align: center;
  }
}
footer #footer .footer-inner .about-company .pic {
  width: 18%;
  line-height: 0;
}
@media screen and (max-width: 768px) {
  footer #footer .footer-inner .about-company .pic {
    margin: 50px auto 10px auto;
  }
}
footer #footer .footer-inner .about-company .text {
  width: 79%;
}
@media screen and (max-width: 768px) {
  footer #footer .footer-inner .about-company .text {
    width: auto;
  }
}
footer #footer .footer-inner .about-company .text h3 {
  font-size: 20px;
  color: #FFF;
  margin: 0 0 10px 0;
}
@media screen and (max-width: 768px) {
  footer #footer .footer-inner .about-company .text h3 {
    font-size: 15px;
  }
}
footer #footer .footer-inner .about-company .text address {
  font-size: 14px;
  color: #FFF;
}
@media screen and (max-width: 768px) {
  footer #footer .footer-inner .about-company .text address {
    font-size: 12px;
  }
}
footer #footer .footer-inner .about-company .text address a {
  color: #FFF;
}
footer #footer .footer-inner .about-company .text p {
  font-size: 12px;
  color: #fff;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  footer #footer .footer-inner .about-company .text p {
    font-size: 11px;
    margin-top: 10px;
  }
}
footer #copyright {
  padding: 25px 0;
  text-align: center;
  font-size: 11px;
  color: #FFF;
  background: #006838;
  font-family: "Roboto", sans-serif !important;
}
@media screen and (max-width: 768px) {
  footer #copyright {
    font-size: 10px;
    padding: 15px;
  }
}

#footer8 div div {
  background: #eee;
  padding: 30px;
  margin-bottom: 30px;
  border-radius: 10px;
}

.lock {
  overflow: hidden;
}

#modal-target {
  display: none;
  position: relative;
  width: 100%;
  height: 100%;
}

.modal-content {
  display: none;
}

.modal-overlay {
  z-index: 9998;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 120%;
  background-color: rgb(255, 255, 255);
}

.modal-wrap {
  z-index: 9999;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}

.modal-open {
  color: #00f;
  text-decoration: underline;
}
.modal-open:hover {
  cursor: pointer;
  color: #f00;
}

.modal-close {
  font-size: 200%;
}
.modal-close:hover {
  cursor: pointer;
  color: #f00;
}

.modal-content > div {
  max-width: 980px;
  margin: 5vh auto 20px auto !important;
  position: relative;
  padding: 50px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .modal-content > div {
    width: auto;
    margin: 5vh 15px;
    padding: 25px 15px 0 15px;
  }
}
.modal-content > div table {
  width: 100%;
}
.modal-content > div table th, .modal-content > div table td {
  border: 1px solid #CCC;
  padding: 10px;
}
@media screen and (max-width: 768px) {
  .modal-content > div table th, .modal-content > div table td {
    font-size: 13px;
  }
}
.modal-content > div table th {
  font-weight: bold;
  width: 33%;
}
.modal-content > div h4, .modal-content > div p.h4 {
  text-align: center;
  font-size: 24px;
  margin: 0 0 50px 0;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .modal-content > div h4, .modal-content > div p.h4 {
    font-size: 18px;
    margin: 0 0 25px 0;
  }
}
.modal-content > div p {
  margin: 0 0 15px 0;
  font-size: 14px;
  line-height: 1.7;
}
.modal-content > div p.right-text {
  text-align: right;
}
.modal-content > div p a {
  text-decoration: underline;
}
.modal-content > div h5, .modal-content > div p.h5 {
  font-weight: bold;
  margin: 0 0 7px 0;
}
@media screen and (max-width: 768px) {
  .modal-content > div h5, .modal-content > div p.h5 {
    font-size: 14px;
  }
}
.modal-content > div ul li {
  margin: 0 0 15px 0;
}
.modal-content > div ul li ul li {
  margin: 0 0 15px 0;
  font-size: 14px;
}

p.closemodal a {
  position: fixed;
  top: 30px;
  right: 40px;
  font-size: 50px;
  text-decoration: none !important;
}
@media screen and (max-width: 768px) {
  p.closemodal a {
    line-height: 1;
    top: 0;
    right: 0;
  }
}
p.closemodal a:hover {
  color: #333;
}

.acd-check {
  display: none;
}

.acd-label {
  margin-bottom: 1px;
  text-decoration: underline;
}

.acd-label:hover {
  opacity: 0.8;
  cursor: pointer;
}

.acd-content {
  height: 0;
  opacity: 0;
  padding: 0 10px;
  transition: 0.5s;
  visibility: hidden;
}

.acd-check:checked + .acd-label + .acd-content {
  height: 350px;
  opacity: 1;
  padding: 10px;
  visibility: visible;
}
@media screen and (max-width: 768px) {
  .acd-check:checked + .acd-label + .acd-content {
    height: 550px;
  }
}

.advisor-container {
  max-width: 1024px;
  padding: 10px;
}
.advisor-container .advisor {
  max-width: 600px;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
}
.advisor-container .advisor .advisor-img {
  width: 20%;
}
.advisor-container .advisor .advisor-img img {
  max-width: 100%;
}
.advisor-container .advisor .advisor-contents {
  width: 75%;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .advisor-container .advisor .advisor-contents {
    margin-top: 0;
  }
}
.advisor-container .advisor .advisor-contents p {
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0;
  margin-bottom: 5px;
}
@media screen and (max-width: 768px) {
  .advisor-container .advisor .advisor-contents p {
    font-size: 10px;
  }
}
.advisor-container .advisor .advisor-contents h5 {
  margin: 10px 0;
}
@media screen and (max-width: 768px) {
  .advisor-container .advisor .advisor-contents h5 {
    font-size: 12px;
  }
}

#kv {
  margin: 70px auto 0 auto;
  position: relative;
  padding-top: 440px;
}
@media screen and (max-width: 768px) {
  #kv {
    margin: 25px auto 0;
    padding-top: 220px;
  }
}
#kv #kv-title {
  padding: 200px 0 150px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-70%);
}
@media screen and (max-width: 768px) {
  #kv #kv-title {
    width: 70%;
    padding: 0 0 60px;
    transform: translateX(-60%);
  }
}
#kv #kv-title h3 {
  color: #009444;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  #kv #kv-title h3 {
    font-size: 12px;
  }
}
#kv #kv-title h2 {
  font-size: 40px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #kv #kv-title h2 {
    font-size: 20px;
  }
}
@media screen and (max-width: 768px) {
  #kv .kv-title-dojoi {
    padding: 0 0 45px !important;
  }
}
#kv #kv-board {
  max-width: 800px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: -1;
}
#kv #kv-board img {
  vertical-align: bottom;
}
#kv #kv-board img.kv-point {
  position: absolute;
  top: -50px;
  right: 0;
  width: 200px;
}
@media screen and (max-width: 768px) {
  #kv #kv-board img.kv-point {
    top: -20px;
    width: 100px;
  }
}
#kv #kv-back {
  width: 100%;
  position: absolute;
  top: 0;
  z-index: -2;
}

div.btn-container {
  width: 60%;
  text-align: center;
  margin: 0 auto 50px;
  display: flex;
  justify-content: space-around;
}
@media screen and (max-width: 768px) {
  div.btn-container {
    display: block;
    width: 100%;
    margin: 15px auto;
  }
}

p.application {
  display: inline-block;
  text-align: left;
}
p.application a {
  background: url("../img/common/pointer.svg") no-repeat 90% 50% #db0000;
  background-size: 17px;
  color: #FFF;
  padding: 15px 50px 15px 30px;
  font-size: 18px;
  letter-spacing: 2px;
  border-radius: 10px;
  box-shadow: 0 3px 0 #c14625;
  font-weight: bold;
  display: inline-block;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  p.application a {
    font-size: 16px;
    margin-bottom: 20px;
    padding: 15px 50px 15px 30px;
  }
}
p.application a small {
  font-size: 14px;
}
p.application a span.yellow {
  color: #f9ed32;
}

p.application02 {
  background-color: #ed8d0f;
  box-shadow: 0 3px 0 #a06a13;
}

p.document {
  margin: 30px auto;
}
p.document a {
  display: inline-block;
  background: url(../img/common/pointer.svg) no-repeat 90% 50% #009444;
  background-size: 17px;
  color: #FFF;
  padding: 15px 50px 15px 30px;
  font-size: 18px;
  letter-spacing: 2px;
  border-radius: 10px;
  box-shadow: 0 3px 0 #377547;
  font-weight: bold;
  margin: 20px auto;
}

p.orientation {
  display: inline-block;
  text-align: left;
}
p.orientation a {
  background: url(../img/common/pointer.svg) no-repeat 90% 50% #ed8d0f;
  background-size: 17px;
  color: #FFF;
  padding: 15px 50px 15px 30px;
  font-size: 18px;
  letter-spacing: 2px;
  border-radius: 10px;
  box-shadow: 0 3px 0 #c14625;
  font-weight: bold;
  display: inline-block;
  margin-top: 10px;
  margin-right: 50px;
}
@media screen and (max-width: 768px) {
  p.orientation a {
    font-size: 16px;
    margin-right: 0;
  }
}
p.orientation a small {
  font-size: 14px;
}

h2.title {
  text-align: center;
  font-weight: bold;
  font-size: 42px;
  letter-spacing: 5px;
}
@media screen and (max-width: 768px) {
  h2.title {
    font-size: 22px;
    letter-spacing: 3px;
  }
}
h2.title span {
  display: block;
  color: #009444;
  margin: 0 0 15px 0;
  font-size: 20px;
  font-family: "Roboto", sans-serif !important;
}
@media screen and (max-width: 768px) {
  h2.title span {
    font-size: 12px;
    margin: 0;
  }
}
h2.title em {
  background: #009444;
  color: #FFF;
  font-weight: bold;
  text-align: center;
  display: inline-block;
  margin: 0 10px 0 0;
  padding: 0 7px;
}

#news-picker {
  width: 100%;
  height: 50px;
  background-color: #eee;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  #news-picker {
    height: auto;
  }
}
#news-picker .box {
  display: inline-block;
  padding: 10px;
}
#news-picker .box dl {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  #news-picker .box dl {
    justify-content: center;
    left: 10px;
  }
}
#news-picker .box dl dt {
  color: #009944;
  font-weight: bold;
  margin-right: 30px;
}
@media screen and (max-width: 768px) {
  #news-picker .box dl dt {
    font-size: 12px;
    margin-right: 10px;
  }
}
@media screen and (max-width: 768px) {
  #news-picker .box dl dd {
    font-size: 14px;
  }
}

#concept {
  background: #fff url("../img/pic/back-line.svg") center 50%;
  background-size: cover;
  padding: 75px 0;
}
@media screen and (max-width: 768px) {
  #concept {
    padding: 15px;
  }
}
#concept .concept-container {
  max-width: 1024px;
  margin: 0 auto;
}
#concept .concept-container .concept-keyword {
  position: relative;
  text-align: center;
  margin-top: 80px;
  padding-bottom: 80px;
}
@media screen and (max-width: 768px) {
  #concept .concept-container .concept-keyword {
    margin-top: 50px;
    padding-bottom: 50px;
  }
}
#concept .concept-container .concept-keyword h3 {
  display: inline-block;
  font-size: 40px;
  font-weight: bold;
  color: #fff;
  background-color: #009444;
  padding: 30px 40px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #concept .concept-container .concept-keyword h3 {
    font-size: 20px;
    padding: 10px;
  }
}
#concept .concept-container .concept-keyword .doc01 {
  position: absolute;
  bottom: 0;
  left: 5%;
  width: 120px;
  height: 282px;
}
@media screen and (max-width: 768px) {
  #concept .concept-container .concept-keyword .doc01 {
    width: 45px;
    height: 110px;
  }
}
#concept .concept-container .concept-keyword .doc02 {
  position: absolute;
  bottom: 0;
  right: 5%;
  width: 80px;
  height: 270px;
}
@media screen and (max-width: 768px) {
  #concept .concept-container .concept-keyword .doc02 {
    width: 35px;
    height: 110px;
  }
}
#concept .concept-container .concept-item {
  position: relative;
  background-color: #eee;
  padding: 30px;
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  #concept .concept-container .concept-item {
    padding: 20px;
    margin-bottom: 20px;
  }
}
#concept .concept-container .concept-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  border-left: 50px solid #009444;
  border-bottom: 50px solid transparent;
}
@media screen and (max-width: 768px) {
  #concept .concept-container .concept-item::before {
    display: none;
  }
}
#concept .concept-container .concept-item::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  border-right: 50px solid #009444;
  border-top: 50px solid transparent;
}
@media screen and (max-width: 768px) {
  #concept .concept-container .concept-item::after {
    display: none;
  }
}
#concept .concept-container .concept-item ul li {
  position: relative;
  width: 50%;
  font-size: 20px;
  background-color: #fff;
  margin: 0 auto 10px;
  padding: 10px 10px 10px 60px;
}
@media screen and (max-width: 768px) {
  #concept .concept-container .concept-item ul li {
    width: 80%;
    font-size: 16px;
  }
}
#concept .concept-container .concept-item ul li::before {
  content: "01";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  padding: 10px;
  color: #fff;
  background-color: #db0000;
}
#concept .concept-container .concept-item ul .concept02::before {
  content: "02";
}
#concept .concept-container .concept-item ul .concept03::before {
  content: "03";
}

#reason {
  background: #f4eee4;
  padding: 75px 0;
}
@media screen and (max-width: 768px) {
  #reason {
    padding: 15px;
  }
}
#reason .reason-container {
  display: flex;
  justify-content: space-between;
  max-width: 1024px;
  margin: 80px auto;
}
@media screen and (max-width: 768px) {
  #reason .reason-container {
    display: block;
    margin: 40px auto;
  }
}
#reason .reason-container .reason-item {
  position: relative;
  width: 30%;
  background-color: #fff;
  padding: 30px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  #reason .reason-container .reason-item {
    width: 100%;
    margin-bottom: 30px;
  }
}
#reason .reason-container .reason-item::before {
  content: "01";
  width: 40px;
  height: 33px;
  padding-top: 7px;
  position: absolute;
  top: -20px;
  left: 0;
  right: 0;
  margin: auto;
  background: #009444;
  border-radius: 50%;
  color: #fff;
  font-weight: bold;
  text-align: center;
}
#reason .reason-container .reason-item .reason-img {
  width: 90%;
  margin: 20px auto;
}
#reason .reason-container .reason-item .reason-text h3 {
  color: #009444;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 20px;
}
#reason .reason-container .reason-item .reason-text p {
  font-size: 14px;
}
#reason .reason-container .reason-item02::before {
  content: "02";
}
#reason .reason-container .reason-item03::before {
  content: "03";
}

#course {
  background: url("../img/pic/back.jpg") center 50%;
  background-size: cover;
  padding: 75px 0;
  margin: 0;
}
@media screen and (max-width: 768px) {
  #course {
    padding: 15px 0;
  }
}
#course .course-container {
  max-width: 1024px;
  margin: 0 auto;
  text-align: center;
}
#course .course-container h3 {
  color: #fff;
  background-color: #009444;
  padding: 10px;
  max-width: 90%;
  margin: 80px auto 0;
  font-size: 24px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  #course .course-container h3 {
    margin: 40px auto 0;
    font-size: 18px;
    padding: 5px;
  }
}
#course .course-container h3.old-h3 {
  background-color: #555;
}
#course .course-container .open-container, #course .course-container .old-container {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  width: 90%;
  margin: 0 auto;
  background: rgba(230, 230, 230, 0.9);
  padding: 30px 30px 10px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  #course .course-container .open-container, #course .course-container .old-container {
    display: block;
    padding: 30px 0 10px;
  }
}
#course .course-container .open-container .open-item, #course .course-container .open-container .old-item, #course .course-container .old-container .open-item, #course .course-container .old-container .old-item {
  position: relative;
  width: 30%;
  box-sizing: border-box;
  background-color: #fff;
  box-shadow: 1px 1px 3px #aaa;
  padding: 20px 20px 60px;
  margin-bottom: 20px;
  text-align: left;
  transition: 0.2s;
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  #course .course-container .open-container .open-item, #course .course-container .open-container .old-item, #course .course-container .old-container .open-item, #course .course-container .old-container .old-item {
    width: 80%;
    margin: 0 auto 30px;
    box-sizing: border-box;
    padding: 10px 30px 50px;
  }
}
#course .course-container .open-container .open-item time, #course .course-container .open-container .old-item time, #course .course-container .old-container .open-item time, #course .course-container .old-container .old-item time {
  color: #aaa;
  display: block;
  text-align: right;
  font-size: 12px;
  font-family: "Roboto";
  margin-bottom: 10px;
}
#course .course-container .open-container .open-item span, #course .course-container .open-container .old-item span, #course .course-container .old-container .open-item span, #course .course-container .old-container .old-item span {
  display: block;
  text-align: center;
  font-size: 20px;
  color: #009444;
}
@media screen and (max-width: 768px) {
  #course .course-container .open-container .open-item span, #course .course-container .open-container .old-item span, #course .course-container .old-container .open-item span, #course .course-container .old-container .old-item span {
    font-size: 16px;
  }
}
#course .course-container .open-container .open-item h4, #course .course-container .open-container .old-item h4, #course .course-container .old-container .open-item h4, #course .course-container .old-container .old-item h4 {
  font-size: 24px;
  font-weight: bold;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #course .course-container .open-container .open-item h4, #course .course-container .open-container .old-item h4, #course .course-container .old-container .open-item h4, #course .course-container .old-container .old-item h4 {
    font-size: 20px;
  }
}
@media screen and (max-width: 768px) {
  #course .course-container .open-container .open-item h4 img, #course .course-container .open-container .old-item h4 img, #course .course-container .old-container .open-item h4 img, #course .course-container .old-container .old-item h4 img {
    height: auto;
  }
}
#course .course-container .open-container .open-item h5, #course .course-container .open-container .old-item h5, #course .course-container .old-container .open-item h5, #course .course-container .old-container .old-item h5 {
  font-size: 14px;
  margin-top: 10px;
  text-align: center;
}
#course .course-container .open-container .open-item p, #course .course-container .open-container .old-item p, #course .course-container .old-container .open-item p, #course .course-container .old-container .old-item p {
  text-align: center;
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: 14px;
  width: 100%;
  background: #009944;
  padding: 10px 0;
  color: #fff;
}
@media screen and (max-width: 768px) {
  #course .course-container .open-container .open-item p, #course .course-container .open-container .old-item p, #course .course-container .old-container .open-item p, #course .course-container .old-container .old-item p {
    font-size: 12px;
  }
}
#course .course-container .open-container .open-item a, #course .course-container .open-container .old-item a, #course .course-container .old-container .open-item a, #course .course-container .old-container .old-item a {
  display: block;
}
#course .course-container .open-container .open-item02::before, #course .course-container .old-container .open-item02::before {
  background-color: #009444;
}
#course .course-container .open-container .open-item02 span, #course .course-container .old-container .open-item02 span {
  color: #009444;
}
#course .course-container .open-container .open-item03::before, #course .course-container .old-container .open-item03::before {
  background-color: #594a42;
}
#course .course-container .open-container .old-item, #course .course-container .old-container .old-item {
  width: 30%;
  text-align: center;
  padding: 20px;
}
#course .course-container .open-container .old-item::before, #course .course-container .old-container .old-item::before {
  background-color: #555;
}
@media screen and (max-width: 768px) {
  #course .course-container .open-container .old-item, #course .course-container .old-container .old-item {
    width: 80%;
    padding: 10px;
  }
}
#course .course-container .open-container .old-item span, #course .course-container .old-container .old-item span {
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  #course .course-container .open-container .old-item span, #course .course-container .old-container .old-item span {
    font-size: 12px;
  }
}
#course .course-container .open-container .old-item h4, #course .course-container .old-container .old-item h4 {
  font-size: 18px;
  margin: 0;
}
@media screen and (max-width: 768px) {
  #course .course-container .open-container .old-item h4, #course .course-container .old-container .old-item h4 {
    font-size: 16px;
  }
}

#faq {
  background: #fff url("../img/pic/back-line.svg") center 50%;
  background-size: cover;
  padding: 75px 0;
}
@media screen and (max-width: 768px) {
  #faq {
    padding: 15px;
  }
}
#faq .faq-container {
  background-color: #eee;
  padding: 30px;
  width: 80%;
  margin: 80px auto;
}
@media screen and (max-width: 768px) {
  #faq .faq-container {
    margin: 40px auto;
  }
}
#faq .faq-container ul {
  width: 70%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #faq .faq-container ul {
    width: 100%;
  }
}
#faq .faq-container ul li {
  background-color: #fff;
  border-radius: 5px;
  margin-bottom: 15px;
}
#faq .faq-container ul li .que {
  display: none;
}
#faq .faq-container ul li .que-label {
  position: relative;
  display: block;
  padding: 10px;
  padding-left: 50px;
  margin-left: 10px;
}
#faq .faq-container ul li .que-label::before {
  position: absolute;
  left: 0;
  content: "Q";
  color: #fff;
  background-color: #333;
  width: 30px;
  height: 30px;
  text-align: center;
  border-radius: 50%;
}
#faq .faq-container ul li .que-label:after {
  content: "＋";
  display: block;
  height: 52px;
  padding: 10px 20px;
  position: absolute;
  right: 0;
  top: 0px;
}
@media screen and (max-width: 768px) {
  #faq .faq-container ul li .que-label:after {
    display: none;
  }
}
#faq .faq-container ul li .answer-content {
  position: relative;
  height: 0;
  opacity: 0;
  padding: 0 10px 0 50px;
  margin-left: 10px;
  transition: 0.2s;
  visibility: hidden;
}
#faq .faq-container ul li .answer-content::before {
  position: absolute;
  left: 0;
  content: "A";
  color: #fff;
  background-color: #db0000;
  width: 30px;
  height: 30px;
  text-align: center;
  border-radius: 50%;
}
#faq .faq-container ul li .que:checked + .que-label:after {
  content: "ー";
}
#faq .faq-container ul li .que:checked + .que-label + .answer-content {
  height: auto;
  opacity: 1;
  padding: 10px;
  padding-left: 50px;
  margin-left: 10px;
  visibility: visible;
}

#vision, #marche {
  background: #f4eee4;
  padding: 75px 0;
}
@media screen and (max-width: 768px) {
  #vision, #marche {
    padding: 15px;
  }
}
#vision .vision-container, #vision .marche-container, #marche .vision-container, #marche .marche-container {
  display: flex;
  max-width: 1024px;
  margin: 80px auto;
}
@media screen and (max-width: 768px) {
  #vision .vision-container, #vision .marche-container, #marche .vision-container, #marche .marche-container {
    display: block;
    margin: 40px auto;
  }
}
#vision .vision-container .vision-text, #vision .vision-container .marche-text, #vision .marche-container .vision-text, #vision .marche-container .marche-text, #marche .vision-container .vision-text, #marche .vision-container .marche-text, #marche .marche-container .vision-text, #marche .marche-container .marche-text {
  width: 60%;
}
@media screen and (max-width: 768px) {
  #vision .vision-container .vision-text, #vision .vision-container .marche-text, #vision .marche-container .vision-text, #vision .marche-container .marche-text, #marche .vision-container .vision-text, #marche .vision-container .marche-text, #marche .marche-container .vision-text, #marche .marche-container .marche-text {
    width: 100%;
  }
}
#vision .vision-container .vision-text h3, #vision .vision-container .marche-text h3, #vision .marche-container .vision-text h3, #vision .marche-container .marche-text h3, #marche .vision-container .vision-text h3, #marche .vision-container .marche-text h3, #marche .marche-container .vision-text h3, #marche .marche-container .marche-text h3 {
  font-size: 32px;
  color: #009444;
  margin-bottom: 80px;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  #vision .vision-container .vision-text h3, #vision .vision-container .marche-text h3, #vision .marche-container .vision-text h3, #vision .marche-container .marche-text h3, #marche .vision-container .vision-text h3, #marche .vision-container .marche-text h3, #marche .marche-container .vision-text h3, #marche .marche-container .marche-text h3 {
    font-size: 20px;
    margin-bottom: 40px;
  }
}
#vision .vision-container .vision-text p, #vision .vision-container .marche-text p, #vision .marche-container .vision-text p, #vision .marche-container .marche-text p, #marche .vision-container .vision-text p, #marche .vision-container .marche-text p, #marche .marche-container .vision-text p, #marche .marche-container .marche-text p {
  font-size: 16px;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  #vision .vision-container .vision-text p, #vision .vision-container .marche-text p, #vision .marche-container .vision-text p, #vision .marche-container .marche-text p, #marche .vision-container .vision-text p, #marche .vision-container .marche-text p, #marche .marche-container .vision-text p, #marche .marche-container .marche-text p {
    font-size: 12px;
  }
}
#vision .vision-container .vision-img, #vision .vision-container .marche-img, #vision .marche-container .vision-img, #vision .marche-container .marche-img, #marche .vision-container .vision-img, #marche .vision-container .marche-img, #marche .marche-container .vision-img, #marche .marche-container .marche-img {
  width: 50%;
  position: relative;
}
@media screen and (max-width: 768px) {
  #vision .vision-container .vision-img, #vision .vision-container .marche-img, #vision .marche-container .vision-img, #vision .marche-container .marche-img, #marche .vision-container .vision-img, #marche .vision-container .marche-img, #marche .marche-container .vision-img, #marche .marche-container .marche-img {
    display: none;
  }
}
#vision .vision-container .vision-img .vision-img01, #vision .vision-container .marche-img .vision-img01, #vision .marche-container .vision-img .vision-img01, #vision .marche-container .marche-img .vision-img01, #marche .vision-container .vision-img .vision-img01, #marche .vision-container .marche-img .vision-img01, #marche .marche-container .vision-img .vision-img01, #marche .marche-container .marche-img .vision-img01 {
  width: 80%;
  position: absolute;
  right: 0;
  top: 0;
}
#vision .vision-container .vision-img .vision-img02, #vision .vision-container .marche-img .vision-img02, #vision .marche-container .vision-img .vision-img02, #vision .marche-container .marche-img .vision-img02, #marche .vision-container .vision-img .vision-img02, #marche .vision-container .marche-img .vision-img02, #marche .marche-container .vision-img .vision-img02, #marche .marche-container .marche-img .vision-img02 {
  width: 60%;
  position: absolute;
  left: 0;
  top: 70%;
}

#marche .marche-container {
  flex-direction: row-reverse;
}
#marche .marche-container p.date {
  margin-top: 50px;
  background-color: #fff;
  border-radius: 10px;
  padding: 20px 20px;
}
#marche .marche-container .marche-img01 {
  width: 50%;
  position: absolute;
  left: 0;
  top: 0;
}
#marche .marche-container .marche-img02 {
  width: 40%;
  position: absolute;
  right: 30px;
  top: 100px;
}
#marche .marche-container .marche-img03 {
  width: 40%;
  position: absolute;
  left: -50px;
  top: 300px;
}
#marche .marche-container .marche-img04 {
  width: 50%;
  position: absolute;
  right: 60px;
  top: 300px;
}

#reason-about {
  background: #fff url("../img/pic/back-line.svg") center 50%;
  background-size: cover;
  padding: 75px 0;
}
@media screen and (max-width: 768px) {
  #reason-about {
    padding: 15px;
  }
}
#reason-about .reason-container {
  display: flex;
  justify-content: space-between;
  max-width: 1024px;
  margin: 80px auto;
}
@media screen and (max-width: 768px) {
  #reason-about .reason-container {
    display: block;
    margin: 40px auto;
  }
}
#reason-about .reason-container .reason-item {
  position: relative;
  width: 30%;
  background-color: #eee;
  padding: 30px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  #reason-about .reason-container .reason-item {
    width: 100%;
    margin-bottom: 30px;
  }
}
#reason-about .reason-container .reason-item::before {
  content: "01";
  width: 40px;
  height: 33px;
  padding-top: 7px;
  position: absolute;
  top: -20px;
  left: 0;
  right: 0;
  margin: auto;
  background: #009444;
  border-radius: 50%;
  color: #fff;
  font-weight: bold;
  text-align: center;
}
#reason-about .reason-container .reason-item .reason-img {
  width: 90%;
  margin: 20px auto;
}
#reason-about .reason-container .reason-item .reason-text h3 {
  color: #009444;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 20px;
}
#reason-about .reason-container .reason-item .reason-text p {
  font-size: 14px;
}
#reason-about .reason-container .reason-item02::before {
  content: "02";
}
#reason-about .reason-container .reason-item03::before {
  content: "03";
}

#movie {
  background: #DDE5D6;
  padding: 75px 0;
}
@media screen and (max-width: 768px) {
  #movie {
    padding: 15px;
  }
}
#movie .movie-container {
  margin-top: 30px;
}
#movie .movie-container .youtube {
  max-width: 900px;
  margin: 80px auto 50px auto;
  position: relative;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  #movie .movie-container .youtube {
    margin: 0 15px 25px 15px;
    display: block;
  }
}
#movie .movie-container .youtube img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 99;
}
@media screen and (max-width: 768px) {
  #movie .movie-container .youtube {
    flex-wrap: wrap;
  }
}
#movie .movie-container .youtube iframe {
  width: 45%;
  height: 250px;
}
@media screen and (max-width: 768px) {
  #movie .movie-container .youtube iframe {
    width: 100%;
    margin-bottom: 10px;
  }
}

#about {
  background: #f4eee4;
  padding: 5px 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  #about {
    padding: 15px;
  }
}
#about .container {
  max-width: 1024px;
  margin: 0 auto;
  padding-top: 80px;
}
@media screen and (max-width: 768px) {
  #about .container {
    padding-top: 30px;
  }
}
#about .container .news {
  margin: 0 auto 80px;
  background: #fff;
  border-radius: 10px;
  box-sizing: border-box;
  border: 3px solid #e85513;
}
@media screen and (max-width: 768px) {
  #about .container .news {
    margin-bottom: 50px;
  }
}
#about .container .news .news-box {
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding: 30px;
}
@media screen and (max-width: 768px) {
  #about .container .news .news-box {
    flex-wrap: wrap;
    position: relative;
    padding: 50px 10px 0;
  }
}
#about .container .news .news-box h2 {
  color: #e85513;
  font-weight: bold;
  position: relative;
}
@media screen and (max-width: 768px) {
  #about .container .news .news-box h2 {
    width: 100%;
    position: absolute;
    top: 0;
    text-align: center;
    border-radius: 0;
    background-color: #e85513;
    color: #fff;
    padding: 10px;
    box-sizing: border-box;
  }
}
#about .container .news .news-box h2::before {
  content: "";
  position: absolute;
  top: -14px;
  left: -17px;
  background-image: url(../img/icon/otoku-icon.svg);
  background-repeat: no-repeat;
  width: 20px;
  height: 15px;
}
@media screen and (max-width: 768px) {
  #about .container .news .news-box h2::before {
    display: none;
  }
}
#about .container .news .news-box p {
  color: #333;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #about .container .news .news-box p {
    font-size: 14px;
    margin: 10px 0 0;
  }
}
#about .container .news .news-box p span {
  color: #777;
  font-weight: bold;
  margin-right: 20px;
}
@media screen and (max-width: 768px) {
  #about .container .news .news-box p span {
    display: none;
  }
}
#about .container .news .news-box a {
  background-color: #e85513;
  color: #fff;
  padding: 10px 20px;
  border-radius: 5px;
  font-size: 14px;
  margin: 0;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  #about .container .news .news-box a {
    color: #e85513;
    background: none;
    font-weight: bold;
    text-decoration: underline;
  }
}
#about .container .recommend {
  margin: 0 auto 80px;
  background-color: #fff;
  padding: 30px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  border: 3px solid #009444;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  #about .container .recommend {
    width: 100%;
    padding: 10px;
    display: block;
    box-sizing: border-box;
    margin: 0 auto 40px;
  }
}
#about .container .recommend .recommend-left {
  width: 30%;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #about .container .recommend .recommend-left {
    width: 100%;
    margin-bottom: 10px;
  }
}
#about .container .recommend .recommend-left p {
  display: inline-block;
  background: url(../img/icon/feather.svg) no-repeat left 50%;
  background-size: 40px;
  padding: 0 0 0 50px;
}
#about .container .recommend .recommend-right {
  width: 70%;
}
@media screen and (max-width: 768px) {
  #about .container .recommend .recommend-right {
    width: 100%;
    font-size: 14px;
  }
}
#about .container .recommend .recommend-right ul li {
  background: url(../img/icon/check.svg) no-repeat left 50%;
  background-size: 20px;
  padding: 0 0 0 38px;
  margin-bottom: 10px;
}
#about .container .recommend01 {
  position: relative;
}
#about .container .recommend01::after {
  display: none;
  position: absolute;
  bottom: -60px;
  left: 45%;
  content: "";
  border-right: 50px solid transparent;
  border-left: 50px solid transparent;
  border-top: 50px solid #333;
}
@media screen and (max-width: 768px) {
  #about .container .recommend01::after {
    bottom: -35px;
    left: 41%;
    border-right: 30px solid transparent;
    border-left: 30px solid transparent;
    border-top: 30px solid #333;
  }
}
#about .container h2.h2-yt {
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  #about .container h2.h2-yt {
    margin-bottom: 10px;
  }
}
#about .container .flex {
  display: flex;
}
@media screen and (max-width: 768px) {
  #about .container .flex {
    display: block;
  }
}
#about .container .flex .youtube {
  position: relative;
  width: 48%;
  padding-top: 27%;
  border: 1px solid #ccc;
  margin: 0 auto 80px;
}
@media screen and (max-width: 768px) {
  #about .container .flex .youtube {
    width: 100%;
    padding-top: 56.25%;
    margin: 20px auto 50px;
  }
}
#about .container .flex .youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
#about .container .about-container {
  position: relative;
  margin: 0 auto 80px;
  background-color: #fff;
  padding: 30px;
  border-radius: 10px;
  border: 3px solid #009444;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  #about .container .about-container {
    margin: 0 auto 40px;
    padding: 20px;
    width: auto;
  }
}
#about .container .about-container .sp-h2 {
  width: 100%;
  background-color: #009444;
  color: #fff;
  font-weight: bold;
  font-size: 20px;
  padding: 10px 0;
  margin-bottom: 20px;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
}
#about .container .about-container .about-flex {
  display: flex;
}
#about .container .about-container .about-flex .img {
  width: 20%;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #about .container .about-container .about-flex .img {
    width: 0;
  }
}
#about .container .about-container .about-flex .img img {
  width: 80px;
  height: 270px;
}
@media screen and (max-width: 768px) {
  #about .container .about-container .about-flex .img img {
    display: none;
  }
}
#about .container .about-container .about-flex .text {
  width: 80%;
  display: flex;
  align-content: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  #about .container .about-container .about-flex .text {
    width: 100%;
  }
}
#about .container .about-container .about-flex .text .que {
  position: relative;
  font-size: 40px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #about .container .about-container .about-flex .text .que {
    font-size: 18px;
    font-weight: bold;
    padding-left: 40px;
  }
}
#about .container .about-container .about-flex .text .que h3, #about .container .about-container .about-flex .text .que h2 {
  color: #009444;
  font-weight: bold;
}
#about .container .about-container .about-flex .text .answer {
  position: relative;
}
#about .container .about-container .about-flex .text .answer p {
  width: 90%;
  margin-top: 30px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #about .container .about-container .about-flex .text .answer p {
    width: auto;
    font-size: 14px;
    margin-top: 10px;
    padding-top: 50px;
  }
}
#about .container .about-container .about-flex .text .answer p span {
  color: #009444;
}
#about .container .about-container div.btn-container {
  margin: 20px auto 0;
}
#about .container .dojoi-cpd {
  width: 80%;
  margin: 0 auto 80px;
  background: #fff url(../img/pic/back-line.svg) center 50%;
  padding: 30px;
  border-radius: 10px;
  box-sizing: border-box;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
}
@media screen and (max-width: 768px) {
  #about .container .dojoi-cpd {
    margin: 0 auto 40px;
    width: auto;
  }
}
#about .container .dojoi-cpd .img {
  width: 20%;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #about .container .dojoi-cpd .img {
    display: none;
  }
}
#about .container .dojoi-cpd .img img {
  width: 100px;
  height: 270px;
}
#about .container .dojoi-cpd .text {
  width: 80%;
}
@media screen and (max-width: 768px) {
  #about .container .dojoi-cpd .text {
    width: 100%;
  }
}
#about .container .dojoi-cpd .text h3 {
  color: #009444;
  font-weight: bold;
  font-size: 20px;
  margin-bottom: 60px;
  position: relative;
}
@media screen and (max-width: 768px) {
  #about .container .dojoi-cpd .text h3 {
    margin-bottom: 40px;
  }
}
#about .container .dojoi-cpd .text h3::after {
  position: absolute;
  bottom: -30px;
  left: 0;
  content: "";
  width: 50%;
  height: 2px;
  background-image: linear-gradient(to right, #ccc, #ccc 10px, transparent 2px, transparent 8px);
  background-size: 16px 2px;
  background-position: left bottom;
  background-repeat: repeat-x;
}
@media screen and (max-width: 768px) {
  #about .container .dojoi-cpd .text h3::after {
    width: 100%;
    bottom: -20px;
  }
}
#about .container .dojoi-cpd .text p {
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  #about .container .dojoi-cpd .text p {
    font-size: 14px;
  }
}

#recommend {
  background: #fff url(../img/pic/back-line.svg) center 50%;
  padding: 5px 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  #recommend {
    padding: 15px;
  }
}
#recommend .container {
  max-width: 1024px;
  margin: 0 auto;
  padding-top: 80px;
}
@media screen and (max-width: 768px) {
  #recommend .container {
    padding-top: 30px;
  }
}
#recommend .container .recommend-katei h2 {
  text-align: center;
  font-size: 36px;
  font-weight: bold;
  color: #009444;
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  #recommend .container .recommend-katei h2 {
    font-size: 20px;
    margin-bottom: 30px;
  }
}
#recommend .container .recommend-katei h2 span {
  color: #fff;
  font-weight: bold;
  background: #009444;
  padding-left: 10px;
}
@media screen and (max-width: 768px) {
  #recommend .container .recommend-katei h2 span {
    padding-left: 5px;
  }
}
#recommend .container .recommend-katei .box {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  #recommend .container .recommend-katei .box {
    flex-wrap: wrap;
  }
}
#recommend .container .recommend-katei .box .item {
  width: 30%;
  position: relative;
  margin: 0 0 80px;
  background-color: #fff;
  padding: 30px 20px 0;
  border-radius: 10px;
  border: 3px solid #009444;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  #recommend .container .recommend-katei .box .item {
    width: 100%;
    margin-bottom: 30px;
    padding: 20px 20px 0;
  }
}
#recommend .container .recommend-katei .box .item .num {
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #009444;
  color: #fff;
  padding: 18px 20px;
  border-radius: 50%;
  font-weight: bold;
  font-size: 24px;
}
@media screen and (max-width: 768px) {
  #recommend .container .recommend-katei .box .item .num {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  #recommend .container .recommend-katei .box .item .flex {
    display: flex;
    justify-content: space-between;
  }
}
#recommend .container .recommend-katei .box .item .flex .text {
  margin: 30px 0;
}
@media screen and (max-width: 768px) {
  #recommend .container .recommend-katei .box .item .flex .text {
    margin: 0;
  }
}
#recommend .container .recommend-katei .box .item .flex .text p {
  text-align: center;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #recommend .container .recommend-katei .box .item .flex .text p {
    text-align: left;
  }
}
#recommend .container .recommend-katei .box .item .flex .text p span {
  color: #009444;
  font-weight: bold;
  font-size: 20px;
}
#recommend .container .recommend-katei .box .item .flex .img {
  text-align: center;
}
@media screen and (max-width: 768px) {
  #recommend .container .recommend-katei .box .item .flex .img {
    width: 40%;
  }
}
#recommend .container .recommend-katei .box .item .flex .img img {
  width: 80%;
  vertical-align: bottom;
}
@media screen and (max-width: 768px) {
  #recommend .container .recommend-katei .box .item .flex .img img {
    width: 100%;
  }
}

#cta {
  background-color: #009444;
  padding: 50px 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  #cta {
    padding: 15px;
  }
}
#cta .container {
  max-width: 1024px;
  margin: 0 auto;
  padding-top: 80px;
  padding: 30px 20px 0;
  border-radius: 10px;
  box-sizing: border-box;
  text-align: left;
  background: #fff url(../img/bg-dot.png) center 50%;
}
@media screen and (max-width: 768px) {
  #cta .container {
    padding-top: 30px;
  }
}
#cta .container .flex {
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  #cta .container .flex {
    display: block;
    text-align: center;
  }
}
#cta .container .flex .img {
  width: 40%;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #cta .container .flex .img {
    margin: 0 auto 20px;
  }
}
#cta .container .flex .img img {
  max-width: 200px;
  vertical-align: bottom;
}
#cta .container .flex .text {
  width: 60%;
}
@media screen and (max-width: 768px) {
  #cta .container .flex .text {
    width: auto;
  }
}
#cta .container .flex .text h3 {
  font-size: 30px;
  font-weight: bold;
  color: #009444;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  #cta .container .flex .text h3 {
    font-size: 18px;
  }
}
#cta .container .flex .text p {
  font-weight: bold;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  #cta .container .flex .text p {
    font-size: 14px;
    display: inline-block;
    text-align: left;
  }
}
#cta .container .flex .text p.application {
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  #cta .container .flex .text p.application {
    margin-bottom: 0;
    display: block;
    text-align: center;
  }
}

#lp .link {
  position: relative;
  width: 100vw;
  background-color: #2b492b;
  text-align: center;
  padding: 20px;
  box-sizing: border-box;
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  #lp .link {
    padding: 10px;
    margin-bottom: 50px;
  }
}
#lp .link:after {
  position: absolute;
  bottom: -49px;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  background: url(../img/icon/down-arrow.svg) no-repeat;
  width: 120px;
  height: 50px;
}
@media screen and (max-width: 768px) {
  #lp .link:after {
    width: 80px;
  }
}
#lp .link p {
  color: #fff;
  font-size: 30px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #lp .link p {
    font-size: 24px;
  }
}
#lp .link01 {
  background: #0C363D;
}
#lp .link01::after {
  background: url(../img/icon/down-arrow-navy.svg) no-repeat;
}
#lp #you-know {
  background-color: #CBD2D3;
  padding-bottom: 80px;
  background: url(../img/bg001.svg);
  background-size: cover;
}
@media screen and (max-width: 768px) {
  #lp #you-know {
    padding-bottom: 30px;
  }
}
#lp #you-know .box {
  text-align: center;
}
#lp #you-know .box h3 {
  display: inline-block;
  font-size: 24px;
  color: #2b492b;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #lp #you-know .box h3 {
    font-size: 20px;
    line-height: 1.5;
  }
}
#lp #you-know .box h3 span {
  font-size: 48px;
}
@media screen and (max-width: 768px) {
  #lp #you-know .box h3 span {
    font-size: 28px;
    margin-bottom: 10px;
    display: inline-block;
  }
}
#lp #you-know .box .img {
  position: relative;
  width: 80%;
  margin: 80px auto 0;
  display: flex;
  justify-content: space-around;
}
@media screen and (max-width: 768px) {
  #lp #you-know .box .img {
    display: block;
    margin-top: 40px;
    width: 90%;
  }
}
#lp #you-know .box .img .item {
  width: 40%;
  padding: 30px;
  border-radius: 10px;
  background: #fff url(../img/pic/back-line.svg);
  background-size: cover;
}
@media screen and (max-width: 768px) {
  #lp #you-know .box .img .item {
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 30px;
  }
}
#lp #you-know .box .img .item p {
  margin-bottom: 30px;
  color: #fff;
  font-weight: bold;
  padding: 10px 0;
  background: #2b492b;
}
#lp #you-know .box .img .item p span {
  position: static;
  color: #e7c628;
  font-size: 24px;
  font-weight: bold;
}
#lp #you-know .box .img span {
  font-size: 12px;
  position: absolute;
  bottom: -2em;
  right: 0;
}
#lp #soil {
  background-color: #f4eee4;
  background: url(../img/pic/bg-soil02.jpg);
  background-size: cover;
}
#lp #soil .box-bg {
  background: rgba(255, 255, 255, 0.3);
  padding-bottom: 80px;
}
@media screen and (max-width: 768px) {
  #lp #soil .box-bg {
    padding-bottom: 30px;
  }
}
#lp #soil .box {
  color: #2b492b;
}
#lp #soil .box .flex {
  width: 80%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #f4eee4;
  padding: 30px;
  border-radius: 20px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  #lp #soil .box .flex {
    display: block;
    width: 90%;
  }
}
#lp #soil .box .flex .img {
  width: 38%;
  margin-right: 10%;
}
@media screen and (max-width: 768px) {
  #lp #soil .box .flex .img {
    width: 100%;
    box-sizing: border-box;
  }
}
#lp #soil .box .flex .img figure {
  font-size: 12px;
  margin: 0 0 20px;
  text-align: right;
}
@media screen and (max-width: 768px) {
  #lp #soil .box .flex .img figure {
    margin-bottom: 40px;
  }
}
#lp #soil .box .flex .img figure img {
  border-radius: 10px;
}
#lp #soil .box .flex .text {
  width: 48%;
}
@media screen and (max-width: 768px) {
  #lp #soil .box .flex .text {
    width: 100%;
    box-sizing: border-box;
    text-align: center;
  }
}
#lp #soil .box .flex .text h3 {
  position: relative;
  display: inline-block;
  font-size: 28px;
  font-weight: bold;
  background: linear-gradient(transparent 60%, #e7c628 60%);
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  #lp #soil .box .flex .text h3 {
    font-size: 24px;
    background: linear-gradient(transparent 70%, #e7c628 70%);
    margin-bottom: 50px;
  }
}
#lp #soil .box .flex .text h3::after {
  position: absolute;
  content: "";
  bottom: -40px;
  left: 0;
  width: 1.5em;
  height: 2px;
  background-color: #2b492b;
}
@media screen and (max-width: 768px) {
  #lp #soil .box .flex .text h3::after {
    display: none;
  }
}
#lp #soil .box .flex .text h3 span {
  font-size: 36px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #lp #soil .box .flex .text h3 span {
    font-size: 28px;
  }
}
#lp #soil .box .flex .text p {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  #lp #soil .box .flex .text p {
    font-size: 14px;
    text-align: left;
  }
}
#lp #blof {
  background-color: #d5e4d8;
  background: url(../img/pic/back.jpg) center 50%;
  background-size: 150%;
  background-position: top;
}
@media screen and (max-width: 768px) {
  #lp #blof {
    background-size: 250%;
    background-repeat: no-repeat;
  }
}
#lp #blof .box-bg {
  background: rgba(255, 255, 255, 0.5);
}
#lp #blof .link {
  background-color: #db0000;
}
#lp #blof .link:after {
  background: url(../img/icon/down-arrow-red.svg) no-repeat;
}
#lp #blof .box .flex {
  width: 80%;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
@media screen and (max-width: 768px) {
  #lp #blof .box .flex {
    display: block;
    position: relative;
    width: 90%;
  }
}
#lp #blof .box .flex .img {
  width: 38%;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #lp #blof .box .flex .img {
    display: none;
    position: absolute;
    top: -40px;
    right: 0;
  }
}
#lp #blof .box .flex .img img {
  width: 100px;
}
@media screen and (max-width: 768px) {
  #lp #blof .box .flex .img img {
    width: 30px;
  }
}
#lp #blof .box .flex .text {
  color: #2b492b;
  padding: 30px;
}
@media screen and (max-width: 768px) {
  #lp #blof .box .flex .text {
    width: 100%;
    box-sizing: border-box;
    padding: 0;
    text-align: center;
  }
}
#lp #blof .box .flex .text p {
  font-weight: bold;
  font-size: 20px;
}
@media screen and (max-width: 768px) {
  #lp #blof .box .flex .text p {
    text-align: center;
    font-size: 18px;
  }
}
#lp #blof .box .flex .text ul {
  display: inline-block;
  background-color: #d5e4d8;
  border-radius: 10px;
  padding: 20px 20px 10px;
  margin: 20px 0;
}
@media screen and (max-width: 768px) {
  #lp #blof .box .flex .text ul {
    padding: 10px 10px 5px;
    text-align: left;
  }
}
#lp #blof .box .flex .text ul li {
  background: url(../img/icon/check.svg) no-repeat left 50%;
  background-size: 20px;
  padding: 0 0 0 38px;
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 30px;
}
@media screen and (max-width: 768px) {
  #lp #blof .box .flex .text ul li {
    font-size: 18px;
    padding-left: 30px;
  }
}
#lp #blof .box .flex .text h3 {
  font-size: 34px;
  font-weight: bold;
  color: #fff;
  display: inline-block;
  background-color: #2b492b;
  padding: 10px 15px;
}
@media screen and (max-width: 768px) {
  #lp #blof .box .flex .text h3 {
    font-size: 20px;
  }
}
#lp #blof .box02-bg {
  position: relative;
  background: url(../img/bg-shape01.svg) no-repeat;
  background-size: 100%;
  text-align: center;
  padding: 50px 0 80px;
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  #lp #blof .box02-bg {
    background-position: top;
    background-size: cover;
    padding-bottom: 30px;
  }
}
#lp #blof .box02-bg .box02 {
  display: inline-block;
  text-align: left;
  color: #2b492b;
}
@media screen and (max-width: 768px) {
  #lp #blof .box02-bg .box02 {
    width: 90%;
  }
}
#lp #blof .box02-bg .box02 h4 {
  font-size: 20px;
  font-weight: bold;
  position: relative;
  display: inline-block;
  margin-bottom: 30px;
  padding-bottom: 10px;
  border-bottom: 2px solid #fff;
}
#lp #blof .box02-bg .box02 h4::after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 2px #2b492b;
  bottom: -2px;
  width: 2em;
}
#lp #blof .box02-bg .box02 p {
  margin-bottom: 20px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #lp #blof .box02-bg .box02 p {
    font-size: 14px;
  }
}
#lp #hourensou {
  background-color: #eee;
  padding: 0 0 80px;
  position: relative;
}
@media screen and (max-width: 768px) {
  #lp #hourensou {
    padding: 0;
  }
}
#lp #hourensou::after {
  position: absolute;
  bottom: -49px;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  background: url(../img/icon/down-arrow-eee.svg) no-repeat;
  width: 120px;
  height: 50px;
}
@media screen and (max-width: 768px) {
  #lp #hourensou::after {
    display: none;
  }
}
#lp #hourensou .box {
  text-align: center;
  color: #2b492b;
}
#lp #hourensou .box p {
  display: inline-block;
  text-align: left;
}
#lp #hourensou .box .p01 {
  background: #fff;
  padding: 30px;
  border-radius: 10px;
}
@media screen and (max-width: 768px) {
  #lp #hourensou .box .p01 {
    width: 90%;
    box-sizing: border-box;
    padding: 15px;
  }
}
#lp #hourensou .box .flex {
  width: 80%;
  margin: 80px auto 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row-reverse;
}
@media screen and (max-width: 768px) {
  #lp #hourensou .box .flex {
    display: block;
    width: auto;
    padding: 20px;
    margin-top: 30px;
  }
}
#lp #hourensou .box .flex .text {
  width: 48%;
  text-align: left;
}
@media screen and (max-width: 768px) {
  #lp #hourensou .box .flex .text {
    width: 100%;
    box-sizing: border-box;
    text-align: center;
  }
}
#lp #hourensou .box .flex .text span {
  font-size: 60px;
  font-weight: bold;
  display: block;
  position: relative;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  #lp #hourensou .box .flex .text span {
    display: none;
  }
}
#lp #hourensou .box .flex .text span::after {
  position: absolute;
  content: "";
  display: block;
  border-bottom: solid 2px #2b492b;
  bottom: -10px;
  width: 0.5em;
}
@media screen and (max-width: 768px) {
  #lp #hourensou .box .flex .text span::after {
    display: none;
  }
}
#lp #hourensou .box .flex .text h3 {
  display: inline-block;
  font-size: 30px;
  margin-bottom: 20px;
  background: linear-gradient(transparent 60%, #e7c628 60%);
}
@media screen and (max-width: 768px) {
  #lp #hourensou .box .flex .text h3 {
    font-size: 26px;
  }
}
#lp #hourensou .box .flex .text p {
  margin-bottom: 20px;
  display: block;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #lp #hourensou .box .flex .text p {
    font-size: 14px;
  }
}
#lp #hourensou .box .flex .img {
  width: 48%;
  background: #fff;
  padding: 30px;
  border-radius: 10px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  #lp #hourensou .box .flex .img {
    width: 100%;
    padding: 10px;
  }
}
#lp #hourensou .box .flex .img01 {
  background-color: transparent;
}
@media screen and (max-width: 768px) {
  #lp #hourensou .box .flex .img01 {
    padding: 0;
    margin-bottom: 20px;
  }
}
#lp #hourensou .box .flex .img01 span {
  font-size: 12px;
}
@media screen and (max-width: 768px) {
  #lp #hourensou .box .flex .img01 span {
    font-size: 10px;
  }
}
#lp #hourensou .box .flex .img01 img {
  border-radius: 20px;
}
#lp #hourensou .box .flex02 {
  flex-direction: row;
}
@media screen and (max-width: 768px) {
  #lp #hourensou .box .flex02 {
    margin-top: 0;
  }
}
#lp #super {
  text-align: center;
  color: #2b492b;
  background: url(../img/pic/back.jpg) center 50%;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  #lp #super {
    background-position: left;
  }
}
#lp #super .box01-bg {
  width: 100%;
  padding: 150px 0;
  background: rgba(255, 255, 255, 0.5);
}
@media screen and (max-width: 768px) {
  #lp #super .box01-bg {
    padding: 80px 0;
  }
}
#lp #super .box01-bg .box01 {
  display: inline-block;
  text-align: left;
}
#lp #super .box01-bg .box01 p {
  font-size: 24px;
  font-weight: bold;
}
#lp #super .box01-bg .box01 p span {
  display: inline-block;
  font-size: 50px;
  font-weight: bold;
  background: linear-gradient(transparent 60%, #e7c628 60%);
}
@media screen and (max-width: 768px) {
  #lp #super .box01-bg .box01 p span {
    font-size: 36px;
  }
}

#clo {
  background-color: #eee;
  padding: 0 0 80px;
  text-align: center;
  color: #2b492b;
}
@media screen and (max-width: 768px) {
  #clo {
    padding-bottom: 10px;
  }
}
#clo .box {
  display: inline-block;
  text-align: center;
}
#clo .box p {
  margin-bottom: 20px;
  text-align: center;
  font-size: 20px;
}
@media screen and (max-width: 768px) {
  #clo .box p {
    font-size: 16px;
  }
}
#clo .box .p01 {
  position: relative;
  display: inline-block;
  font-size: 30px;
  color: #2b492b;
  font-weight: bold;
  background: linear-gradient(transparent 60%, #e7c628 60%);
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  #clo .box .p01 {
    font-size: 20px;
  }
}
#clo .box .p01::before {
  position: absolute;
  top: -75px;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  width: 2px;
  height: 50px;
  border-radius: 10px;
  background-color: #2b492b;
}
#clo .box .flex {
  display: flex;
  width: 80%;
  margin: 80px auto;
  justify-content: space-around;
  align-items: center;
}
@media screen and (max-width: 768px) {
  #clo .box .flex {
    display: block;
    width: 90%;
    margin: 30px auto 50px;
  }
}
#clo .box .flex .img {
  width: 38%;
}
@media screen and (max-width: 768px) {
  #clo .box .flex .img {
    width: 100%;
    margin: 0 auto;
  }
}
#clo .box .flex .img img {
  border-radius: 20px;
}
#clo .box .flex .text {
  width: 48%;
  text-align: left;
}
@media screen and (max-width: 768px) {
  #clo .box .flex .text {
    width: 100%;
  }
}
#clo .box .flex .text span {
  color: #f87349;
  font-size: 15px;
  font-weight: bold;
}
#clo .box .flex .text h3 {
  font-size: 24px;
  font-weight: bold;
  margin: 0 0 30px;
}
@media screen and (max-width: 768px) {
  #clo .box .flex .text h3 {
    font-size: 18px;
    margin: 0 0 20px;
  }
}
@media screen and (max-width: 768px) {
  #clo .box .flex .text ul li {
    font-size: 14px;
  }
}
#clo .box .flex01 {
  flex-direction: row-reverse;
}
@media screen and (max-width: 768px) {
  #clo .box .flex02 {
    margin-bottom: 10px;
  }
}
#clo .youtube {
  position: relative;
  width: 60%;
  padding-top: 33.75%;
  border: 1px solid #ccc;
  margin: 100px auto 30px;
}
@media screen and (max-width: 768px) {
  #clo .youtube {
    width: 80%;
    padding-top: 45%;
  }
}
#clo .youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#nav {
  background-color: #009444;
}
#nav ul {
  max-width: 1024px;
  margin: 0 auto;
  display: flex;
}
#nav ul li {
  width: 100%;
  max-width: 256px;
  text-align: center;
  border-right: solid 1px #fff;
  display: flex;
  align-items: center;
}
#nav ul li:first-child {
  border-left: solid 1px #fff;
}
#nav ul li a {
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: 256px;
  font-size: 20px;
  padding: 15px;
  color: #fff;
}
@media screen and (max-width: 768px) {
  #nav ul li a {
    font-size: 12px;
    padding: 10px 5px;
  }
}
#nav ul li a:hover {
  background-color: #fff;
  color: #009444;
  font-weight: bold;
}

#feature {
  background: #f4eee4;
  padding: 75px 0 10px;
}
@media screen and (max-width: 768px) {
  #feature {
    padding: 30px 15px;
  }
}
#feature .feature-container {
  display: flex;
  justify-content: space-between;
  max-width: 1024px;
  margin: 80px auto;
}
@media screen and (max-width: 768px) {
  #feature .feature-container {
    display: block;
    margin: 40px auto;
  }
}
#feature .feature-container .feature-item {
  position: relative;
  width: 30%;
  background-color: #fff;
  padding: 30px;
  border-radius: 15px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  #feature .feature-container .feature-item {
    width: 100%;
    margin-bottom: 30px;
    padding: 20px;
  }
}
#feature .feature-container .feature-item::before {
  content: "01";
  width: 40px;
  height: 33px;
  padding-top: 7px;
  position: absolute;
  top: -20px;
  left: 0;
  right: 0;
  margin: auto;
  background: #009444;
  border-radius: 50%;
  color: #fff;
  font-weight: bold;
  text-align: center;
}
#feature .feature-container .feature-item .feature-img {
  width: 90%;
  margin: 20px auto;
}
@media screen and (max-width: 768px) {
  #feature .feature-container .feature-item .feature-img {
    width: 60%;
  }
}
#feature .feature-container .feature-item .feature-text h4, #feature .feature-container .feature-item .feature-text h3 {
  text-align: center;
  font-size: 20px;
  line-height: 1.8em;
  font-weight: bold;
}
#feature .feature-container .feature-item .feature-text h4 span, #feature .feature-container .feature-item .feature-text h3 span {
  background-color: #009444;
  color: #fff;
  padding: 5px;
}
#feature .feature-container .feature-item .feature-text p {
  font-size: 14px;
}
#feature .feature-container .feature-item02::before {
  content: "02";
}
#feature .feature-container .feature-item03::before {
  content: "03";
}
#feature .feature-blof {
  max-width: 1024px;
  margin: 80px auto;
  background-color: #fff;
  border-radius: 10px;
  padding: 30px 100px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  #feature .feature-blof {
    margin: 40px auto;
    padding: 20px;
  }
}
#feature .feature-blof h4 {
  display: inline-block;
  position: relative;
  background: linear-gradient(transparent 75%, rgba(0, 153, 68, 0.5) 0%);
  font-weight: bold;
  font-size: 20px;
  margin: 0 0 50px 50px;
}
#feature .feature-blof h4::before {
  position: absolute;
  left: -49px;
  content: "";
  background: url(../img/icon/teacher.svg) no-repeat left 50%;
  background-size: 40px;
  width: 40px;
  height: 40px;
}
#feature .feature-blof p {
  margin-bottom: 30px;
}

#curriculum {
  background: #fff url("../img/pic/back-line.svg") center 50%;
  padding: 75px 0;
}
@media screen and (max-width: 768px) {
  #curriculum {
    padding: 30px 15px;
  }
}
#curriculum h2 {
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  #curriculum h2 {
    margin-bottom: 50px;
  }
}
#curriculum .cur-container {
  max-width: 1024px;
  margin: 0 auto;
}
#curriculum .cur-container .box {
  text-align: center;
}
#curriculum .cur-container .box .p01 {
  display: inline-block;
  text-align: left;
  margin: 0 auto 80px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #curriculum .cur-container .box .p01 {
    margin: 0 auto 40px;
    text-align: left;
    font-size: 12px;
  }
}
#curriculum .cur-container .cur-container01 {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  #curriculum .cur-container .cur-container01 {
    display: block;
  }
}
#curriculum .cur-container .cur-container01 .cur-item {
  width: 28%;
  background-color: #eee;
  padding: 30px;
  border-radius: 10px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  #curriculum .cur-container .cur-container01 .cur-item {
    width: 100%;
    margin-bottom: 70px;
    padding: 20px;
  }
}
#curriculum .cur-container .cur-container01 .cur-item h3 {
  position: relative;
  font-size: 18px;
  font-weight: bold;
  margin: 0 0 20px 25px;
}
#curriculum .cur-container .cur-container01 .cur-item h3::before {
  position: absolute;
  left: -35px;
  content: "";
  background: url(../img/icon/about.svg) no-repeat left 50%;
  width: 25px;
  height: 30px;
}
#curriculum .cur-container .cur-container01 .cur-item .cur-img {
  width: 100%;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  #curriculum .cur-container .cur-container01 .cur-item .cur-img {
    width: 80%;
    margin: 0 auto;
  }
}
#curriculum .cur-container .cur-container01 .cur-item .cur-img img {
  border-radius: 10px;
}
#curriculum .cur-container .cur-container01 .cur-item .cur-text h4 {
  font-weight: bold;
  margin-bottom: 20px;
}
#curriculum .cur-container .cur-container01 .cur-item .cur-text p {
  width: 100%;
  margin: 0;
  text-align: left;
  font-size: 14px;
}
#curriculum .cur-container .cur-container01 .cur-item01, #curriculum .cur-container .cur-container01 .cur-item02 {
  position: relative;
}
#curriculum .cur-container .cur-container01 .cur-item01::after, #curriculum .cur-container .cur-container01 .cur-item02::after {
  position: absolute;
  top: 43%;
  right: -23%;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  content: "＋";
  color: #fff;
  font-size: 30px;
  background-color: #555;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #curriculum .cur-container .cur-container01 .cur-item01::after, #curriculum .cur-container .cur-container01 .cur-item02::after {
    top: 102%;
    left: 43%;
    content: "↓";
  }
}
#curriculum .cur-container .cur-container01 .cur-item03 {
  position: relative;
}
@media screen and (max-width: 768px) {
  #curriculum .cur-container .cur-container01 .cur-item03 {
    margin-bottom: 0 !important;
  }
}
#curriculum .cur-container .cur-container01-katei {
  position: relative;
  border-radius: 20px;
  padding: 100px 50px 80px;
  background-color: #eee;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  #curriculum .cur-container .cur-container01-katei {
    padding: 70px 0 30px;
  }
}
#curriculum .cur-container .cur-container01-katei span.cur-title {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  font-size: 24px;
  font-weight: bold;
  color: #fff;
  background-color: #009444;
  padding: 10px 0;
  width: 100%;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #curriculum .cur-container .cur-container01-katei span.cur-title {
    font-size: 18px;
    white-space: nowrap;
  }
}
#curriculum .cur-container .cur-container01-katei .cur-item {
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  #curriculum .cur-container .cur-container01-katei .cur-item {
    width: 80%;
    margin: 0 auto 70px;
  }
}
#curriculum .cur-container .cur-container01-katei .cur-times {
  position: absolute;
  top: -20px;
  left: 0;
  background-color: #fff;
  color: #009444;
  font-size: 16px;
  font-weight: bold;
  padding: 5px 20px;
  border-radius: 5px;
}
#curriculum .cur-container .cur-container01-katei .cur-bottom {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  font-weight: bold;
  background: #555;
  padding: 10px 20px;
  border-radius: 5px;
}
#curriculum .cur-container .cur-container02 {
  position: relative;
  background-color: #eee;
  padding: 80px 30px 30px;
  border-radius: 10px;
  text-align: center;
  margin: 80px auto 0;
}
@media screen and (max-width: 768px) {
  #curriculum .cur-container .cur-container02 {
    margin: 40px auto;
    padding-top: 50px;
  }
}
#curriculum .cur-container .cur-container02 .jissenn-cur li {
  display: inline;
}
#curriculum .cur-container .cur-container02 .img {
  position: absolute;
  left: 30px;
  bottom: 0;
  width: 240px;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  #curriculum .cur-container .cur-container02 .img {
    position: static;
    padding: 0;
    width: auto;
  }
}
#curriculum .cur-container .cur-container02 .img p {
  position: relative;
  width: 100%;
  font-size: 14px;
  text-align: left;
  margin: 0 auto 160px;
  background: #fff;
  padding: 20px;
  border-radius: 10px;
  box-sizing: border-box;
  border: 3px solid #009444;
}
@media screen and (max-width: 768px) {
  #curriculum .cur-container .cur-container02 .img p {
    width: 70%;
    margin: 20px 0 0 auto;
    padding: 15px;
  }
}
#curriculum .cur-container .cur-container02 .img p::before {
  position: absolute;
  left: 50%;
  top: -15px;
  transform: translateX(-50%);
  content: "POINT";
  font-weight: bold;
  color: #fff;
  background-color: #009444;
  padding: 2px 10px;
  border-radius: 50px;
  font-size: 16px;
}
#curriculum .cur-container .cur-container02 .img img {
  width: 150px;
  transform: scale(-1, 1);
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  #curriculum .cur-container .cur-container02 .img img {
    width: 100px;
  }
}
#curriculum .cur-container .cur-container02 h3 {
  position: relative;
  display: inline-block;
  font-size: 20px;
  font-weight: bold;
  margin: 0 0 20px 30px;
}
#curriculum .cur-container .cur-container02 h3::before {
  position: absolute;
  left: -40px;
  content: "";
  background: url(../img/icon/range.svg) no-repeat left 50%;
  width: 30px;
  height: 35px;
}
#curriculum .cur-container .cur-container02 table.pc {
  display: table;
}
@media screen and (max-width: 768px) {
  #curriculum .cur-container .cur-container02 table.pc {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  #curriculum .cur-container .cur-container02 table.sp {
    display: table;
  }
}
#curriculum .cur-container .cur-container02 table tr th {
  text-align: left;
  padding: 10px 20px;
  border: 1px solid #333;
  background: #DDE5D6;
}
@media screen and (max-width: 768px) {
  #curriculum .cur-container .cur-container02 table tr th {
    padding: 5px 0 5px 3px;
    width: 5em;
    text-align: center;
  }
}
#curriculum .cur-container .cur-container02 table tr td {
  text-align: left;
  padding: 10px 20px;
  border: 1px solid #333;
  background: #fff;
}
@media screen and (max-width: 768px) {
  #curriculum .cur-container .cur-container02 table tr td {
    padding: 0 5px 0;
    font-size: 14px;
  }
}
#curriculum .cur-container .cur-container02 p {
  width: 70%;
  margin: 0 auto;
  margin-left: 300px;
  text-align: left;
}
@media screen and (max-width: 768px) {
  #curriculum .cur-container .cur-container02 p {
    width: 100%;
    text-align: left;
    margin: 0 auto;
  }
}
#curriculum .cur-container .cur-container02 small {
  display: block;
  width: 70%;
  text-align: left;
  padding-left: 1em;
  text-indent: -1em;
}
@media screen and (max-width: 768px) {
  #curriculum .cur-container .cur-container02 small {
    width: 100%;
    text-align: left;
    margin: 0 auto;
  }
}
#curriculum .cur-container .cur-container02 .point {
  position: relative;
  width: 80%;
  font-size: 14px;
  text-align: center;
  margin: 50px auto 0;
  background: #fff;
  padding: 20px;
  border-radius: 10px;
  box-sizing: border-box;
  border: 3px solid #009444;
}
@media screen and (max-width: 768px) {
  #curriculum .cur-container .cur-container02 .point {
    width: 100%;
  }
}
#curriculum .cur-container .cur-container02 .point::before {
  position: absolute;
  left: 50%;
  top: -15px;
  transform: translateX(-50%);
  content: "POINT";
  font-weight: bold;
  color: #fff;
  background-color: #009444;
  padding: 2px 10px;
  border-radius: 50px;
  font-size: 16px;
}
#curriculum .cur-container .cur-container02 .point p {
  font-size: 16px;
  width: auto;
  margin: 0;
  display: inline-block;
  text-align: left;
}
@media screen and (max-width: 768px) {
  #curriculum .cur-container .cur-container02 .point p {
    font-size: 14px;
  }
}
#curriculum .cur-container .cur-container02 .point p span {
  display: block;
  font-size: 20px;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  #curriculum .cur-container .cur-container02 .point p span {
    font-size: 16px;
  }
}
#curriculum .cur-container .cur-img-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 20px auto;
}
#curriculum .cur-container .cur-img-box img {
  width: 48%;
}
#curriculum .cur-container h4.cur-title {
  font-size: 20px;
  font-weight: bold;
  margin-top: 60px;
}
#curriculum .cur-container .student {
  text-align: center;
}
#curriculum .cur-container .student h3 {
  position: relative;
  display: inline-block;
  font-size: 20px;
  font-weight: bold;
  margin: 0 0 20px 30px;
}
#curriculum .cur-container .student h3::before {
  position: absolute;
  left: -30px;
  content: "";
  background: url(../img/icon/range.svg) no-repeat left 50%;
  width: 30px;
  height: 35px;
}
#curriculum .cur-container .student .student-container {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  #curriculum .cur-container .student .student-container {
    display: block;
  }
}
#curriculum .cur-container .student .student-container .student-item {
  position: relative;
  display: flex;
  width: 30%;
  background-color: #eee;
  padding: 20px;
  border-radius: 10px;
  box-sizing: border-box;
  margin-bottom: 20px;
  align-items: center;
}
@media screen and (max-width: 768px) {
  #curriculum .cur-container .student .student-container .student-item {
    width: 100%;
  }
}
#curriculum .cur-container .student .student-container .student-item::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  border-right: 30px solid #009444;
  border-top: 30px solid transparent;
}
#curriculum .cur-container .student .student-container .student-item .img {
  width: 30%;
  margin-right: 10px;
}
#curriculum .cur-container .student .student-container .student-item .text {
  width: 70%;
}
#curriculum .cur-container .student .student-container .student-item .text p.h7 {
  text-align: left;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 5px;
}
#curriculum .cur-container .student .student-container .student-item .text p {
  text-align: left;
  width: 100%;
  margin: 0;
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  #curriculum .cur-container .student .student-container .student-item .text p {
    font-size: 14px;
  }
}

#price #katei-price .price-box {
  display: flex;
  justify-content: space-between;
  margin: 80px 0 50px;
}
@media screen and (max-width: 768px) {
  #price #katei-price .price-box {
    display: block;
    margin: 30px 0;
  }
}
#price #katei-price .price-box .price-item {
  width: 100%;
  position: relative;
  box-sizing: border-box;
  background-color: #fff;
  border: 3px solid #009444;
  border-radius: 10px;
  padding: 0 50px 50px;
}
@media screen and (max-width: 768px) {
  #price #katei-price .price-box .price-item {
    width: 100%;
    padding: 0 20px 20px;
    margin-bottom: 50px;
  }
}
#price #katei-price .price-box .price-item .otoku {
  width: 100%;
  text-align: center;
  position: absolute;
  top: -50px;
  left: 50%;
  transform: translateX(-50%);
  color: #db0000;
  font-size: 20px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #price #katei-price .price-box .price-item .otoku {
    font-size: 16px;
    top: -30px;
  }
}
#price #katei-price .price-box .price-item h4 {
  width: 100%;
  height: 3em;
  background-color: #009444;
  color: #fff;
  font-weight: bold;
  font-size: 24px;
  padding: 10px 0;
  margin-bottom: 20px;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  #price #katei-price .price-box .price-item h4 {
    font-size: 18px;
  }
}
#price #katei-price .price-box .price-item .price-num {
  margin: 130px auto 20px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #price #katei-price .price-box .price-item .price-num {
    margin: 90px auto 40px;
  }
}
#price #katei-price .price-box .price-item .price-num span {
  font-size: 16px;
  display: block;
}
#price #katei-price .price-box .price-item .price-num p.num {
  font-size: 14px;
  font-weight: normal;
  color: #000;
  display: inline-block;
  text-align: left;
  text-indent: 0;
  padding-left: 0;
}
#price #katei-price .price-box .price-item .price-num p.num small {
  display: block;
  font-size: 1em !important;
  font-weight: bold;
}
#price #katei-price .price-box .price-item .price-num p.num span {
  font-size: 60px;
  font-weight: bold;
  font-family: "Roboto", sans-serif !important;
  color: #009444;
  position: relative;
  z-index: 0;
  text-align: left;
  display: inline-block;
  letter-spacing: 0;
  line-height: 1;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  #price #katei-price .price-box .price-item .price-num p.num span {
    font-size: 50px;
    letter-spacing: 0;
  }
}
#price #katei-price .price-box .price-item .price-num p.num span::after {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(transparent 60%, #eff9f3 0);
  transition: all 0.5s;
}
#price #katei-price .price-box .price-item .price-num .price-3kyu {
  border-bottom: 2px dashed #009444;
  padding-bottom: 20px;
  margin-bottom: 20px;
}
#price #katei-price .price-box .price-item .price-num .price-3kyu s {
  font-weight: bold;
}
#price #katei-price .price-box .price-item .price-num .price-3kyu small.note {
  font-size: 11px !important;
  color: #db0000;
  display: block;
  text-align: left;
  font-weight: bold;
}
#price #katei-price .price-box .price-item .price-recommend {
  background-color: #eff9f3;
  padding: 15px;
  text-align: center;
}
#price #katei-price .price-box .price-item .price-recommend h5 {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
}
#price #katei-price .price-box .price-item .price-recommend h5 span {
  display: inline-block;
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  background-color: #009444;
}
#price #katei-price .price-box .price-item .price-recommend ul {
  display: inline-block;
  text-align: left;
}
#price #katei-price .price-box .price-item .price-recommend ul li {
  margin: 0 0 10px 0;
  position: relative;
  padding-left: 20px;
}
@media screen and (max-width: 768px) {
  #price #katei-price .price-box .price-item .price-recommend ul li {
    margin: 0 0 10px;
  }
}
#price #katei-price .price-box .price-item .price-recommend ul li::after {
  position: absolute;
  content: "";
  background-color: #009444;
  width: 10px;
  height: 10px;
  top: 7px;
  left: 0;
  border-radius: 3px;
}
#price #katei-price .price-box02 {
  position: relative;
  box-sizing: border-box;
  background-color: #fff;
  border: 3px solid #db0000;
  border-radius: 10px;
  padding: 0 50px 50px;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  #price #katei-price .price-box02 {
    padding: 0 20px 20px;
  }
}
#price #katei-price .price-box02 h4 {
  color: #db0000;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  margin: 20px auto;
}
#price #katei-price .price-box02 ul {
  background-color: #f9eff3;
  padding: 15px;
}
#price #katei-price .price-box02 ul li {
  margin: 0 0 10px 10%;
  position: relative;
  padding-left: 20px;
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  #price #katei-price .price-box02 ul li {
    margin: 0 0 10px;
  }
}
#price #katei-price .price-box02 ul li::after {
  position: absolute;
  content: "";
  background-color: #db0000;
  width: 10px;
  height: 10px;
  top: 7px;
  left: 0;
  border-radius: 3px;
}
#price #katei-price .dojoi-price-box {
  flex-wrap: wrap;
}
#price #katei-price .dojoi-price-box .price-item {
  margin-bottom: 50px;
}
#price #katei-price .dojoi-price-box .price-item .price-recommend ul {
  text-align: center;
}
#price #katei-price .dojoi-price-box .price-item .price-recommend ul li {
  margin: 0;
  display: inline-block;
  text-align: left;
}

#teacher {
  background: url("../img/pic/back-line.svg") center 50%;
  padding: 75px 0;
}
@media screen and (max-width: 768px) {
  #teacher {
    padding: 30px 0;
  }
}
#teacher .teacher-container {
  width: 70%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #teacher .teacher-container {
    width: 90%;
  }
}
#teacher .teacher-container .item {
  display: flex;
  border-bottom: 1px solid #333;
  padding: 30px 0;
  align-items: center;
}
@media screen and (max-width: 768px) {
  #teacher .teacher-container .item {
    display: block;
  }
}
#teacher .teacher-container .item .img {
  width: 20%;
  margin-right: 50px;
}
@media screen and (max-width: 768px) {
  #teacher .teacher-container .item .img {
    margin-right: 25px;
    float: left;
  }
}
#teacher .teacher-container .item .img img {
  border-radius: 10px;
}
#teacher .teacher-container .item .text {
  width: 80%;
}
@media screen and (max-width: 768px) {
  #teacher .teacher-container .item .text {
    width: 100%;
  }
}
#teacher .teacher-container .item .text span {
  display: inline-block;
  color: #009444;
  border: 1px solid #009444;
  padding: 0 5px;
  margin-left: -5px;
  margin-right: 10px;
}
@media screen and (max-width: 768px) {
  #teacher .teacher-container .item .text span {
    font-size: 12px;
  }
}
#teacher .teacher-container .item .text h3, #teacher .teacher-container .item .text p.h7 {
  font-size: 18px;
  font-weight: bold;
  margin: 0 0 10px 0;
}
#teacher .teacher-container .item .text p {
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #teacher .teacher-container .item .text p {
    font-size: 14px;
  }
}

#katei-voice {
  padding: 80px 0;
  background-color: #f4eee4;
}
@media screen and (max-width: 768px) {
  #katei-voice {
    padding: 10px 0;
  }
}
#katei-voice .container {
  width: 80%;
  max-width: 1024px;
  margin: 140px auto 80px;
  display: flex;
  padding: 30px;
  border-radius: 15px;
  background: url(../img/pic/back-line.svg) center 50%;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  #katei-voice .container {
    width: 80%;
    display: block;
    margin-bottom: 30px;
    margin-top: 50px;
  }
}
#katei-voice .container .item {
  position: relative;
}
#katei-voice .container .item .voice-num {
  position: absolute;
  top: -70px;
  left: 50%;
  transform: translateX(-50%);
  background: #009444;
  padding: 30px 15px 0;
  border-radius: 10px;
}
@media screen and (max-width: 768px) {
  #katei-voice .container .item .voice-num {
    padding: 20px 10px 0;
  }
}
#katei-voice .container .item .voice-num span {
  position: relative;
  font-size: 50px;
  font-weight: bold;
  color: #fff;
  font-family: "Roboto", sans-serif !important;
  letter-spacing: 0;
  line-height: initial;
}
@media screen and (max-width: 768px) {
  #katei-voice .container .item .voice-num span {
    font-size: 30px;
  }
}
#katei-voice .container .item .voice-num span::after {
  position: absolute;
  content: "VOICE";
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  font-family: "Roboto", sans-serif !important;
}
@media screen and (max-width: 768px) {
  #katei-voice .container .item .voice-num span::after {
    top: -10px;
    font-size: 11px;
  }
}
#katei-voice .container .item .flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 768px) {
  #katei-voice .container .item .flex {
    display: block;
  }
}
#katei-voice .container .item .flex .text {
  width: 58%;
}
@media screen and (max-width: 768px) {
  #katei-voice .container .item .flex .text {
    width: 100%;
  }
}
#katei-voice .container .item .flex .text .voice-text {
  position: relative;
  display: inline-block;
  margin: 1.5em 0;
  padding: 20px 10px;
  min-width: 120px;
  max-width: 100%;
  font-size: 16px;
  background: #FFF;
  border: solid 3px #333;
  box-sizing: border-box;
}
#katei-voice .container .item .flex .text .voice-text::before {
  content: "";
  position: absolute;
  bottom: -24px;
  left: 10%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-top: 12px solid #FFF;
  z-index: 2;
}
#katei-voice .container .item .flex .text .voice-text::after {
  content: "";
  position: absolute;
  bottom: -30px;
  left: 10%;
  margin-left: -17px;
  border: 14px solid transparent;
  border-top: 14px solid #333;
  z-index: 1;
}
#katei-voice .container .item .flex .text .voice-text p {
  font-size: 23px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #katei-voice .container .item .flex .text .voice-text p {
    font-size: 18px;
  }
}
#katei-voice .container .item .flex .text .voice-student {
  position: relative;
  border-bottom: #333 2px solid;
  margin: 60px 0 60px;
  display: inline-block;
  padding-right: 30px;
}
@media screen and (max-width: 768px) {
  #katei-voice .container .item .flex .text .voice-student {
    margin: 40px 0 50px;
  }
}
#katei-voice .container .item .flex .text .voice-student img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 80px;
}
#katei-voice .container .item .flex .text .voice-student span {
  display: block;
  margin-left: 100px;
  color: #009444;
  font-weight: bold;
  font-size: 14px;
}
#katei-voice .container .item .flex .text .voice-student p {
  display: block;
  margin-left: 100px;
  font-size: 18px;
  font-weight: bold;
}
#katei-voice .container .item .flex .text .voice-teacher {
  background-color: #eee;
  padding: 10px;
}
@media screen and (max-width: 768px) {
  #katei-voice .container .item .flex .text .voice-teacher {
    position: static;
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 30px;
  }
}
#katei-voice .container .item .flex .text .voice-teacher span {
  font-weight: bold;
}
#katei-voice .container .item .flex .text .voice-teacher p {
  margin-top: 10px;
  font-size: 14px;
}
#katei-voice .container .item .flex .img {
  width: 38%;
}
@media screen and (max-width: 768px) {
  #katei-voice .container .item .flex .img {
    width: 100%;
  }
}

#katei-movie {
  padding: 80px 0;
  background-color: #f4eee4;
}
@media screen and (max-width: 768px) {
  #katei-movie {
    padding: 10px 0;
  }
}
#katei-movie .movie-container {
  width: 80%;
  max-width: 1024px;
  margin: 0 auto 80px;
  display: flex;
  background: #f4eee4;
  padding: 30px;
  border-radius: 15px;
}
@media screen and (max-width: 768px) {
  #katei-movie .movie-container {
    width: 80%;
    display: block;
    margin-bottom: 30px;
  }
}
#katei-movie .movie-container .youtube-outline {
  width: 40%;
  padding-right: 20px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  #katei-movie .movie-container .youtube-outline {
    width: 100%;
    padding: 0;
  }
}
#katei-movie .movie-container .youtube-outline h3 {
  position: relative;
  font-size: 24px;
  margin: 0 0 60px 30px;
  position: relative;
  background: linear-gradient(transparent 75%, rgba(0, 153, 68, 0.5) 0%);
  display: inline-block;
}
@media screen and (max-width: 768px) {
  #katei-movie .movie-container .youtube-outline h3 {
    margin: 0 0 20px 40px;
    margin-bottom: 20px;
    font-size: 22px;
  }
}
#katei-movie .movie-container .youtube-outline h3::before {
  position: absolute;
  left: -40px;
  bottom: 0;
  content: "";
  background: url(../img/icon/teacher.svg) no-repeat left 50%;
  background-size: 30px;
  width: 30px;
  height: 30px;
}
#katei-movie .movie-container .youtube-outline h3::after {
  position: absolute;
  bottom: -30px;
  left: 0;
  content: "";
  width: 28%;
  height: 2px;
  background-image: linear-gradient(to right, #ccc, #ccc 10px, transparent 2px, transparent 8px); /* 幅2の線を作る */
  background-size: 16px 2px; /* グラデーションの幅・高さを指定 */
  background-position: left bottom; /* 背景の開始位置を指定 */
  background-repeat: repeat-x; /* 横向きにのみ繰り返す */
}
@media screen and (max-width: 768px) {
  #katei-movie .movie-container .youtube-outline h3::after {
    display: none;
  }
}
#katei-movie .movie-container .youtube-outline p {
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  #katei-movie .movie-container .youtube-outline p {
    font-size: 14px;
  }
}
#katei-movie .movie-container .youtube {
  position: relative;
  width: 60%;
  padding-top: 33.75%;
  border: 1px solid #ccc;
}
@media screen and (max-width: 768px) {
  #katei-movie .movie-container .youtube {
    width: 100%;
    padding-top: 56.25%;
    margin-top: 20px;
  }
}
#katei-movie .movie-container .youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

#price {
  background: #f4efe6;
  padding: 75px 0;
}
@media screen and (max-width: 768px) {
  #price {
    padding: 30px 15px;
  }
}
#price .price-container {
  width: 80%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #price .price-container {
    width: 100%;
  }
}
#price .price-container .box01 {
  position: relative;
  max-width: 800px;
  background-color: #fff;
  padding: 60px 30px 30px;
  border-radius: 15px;
  display: flex;
  margin: 50px auto 0;
}
@media screen and (max-width: 768px) {
  #price .price-container .box01 {
    display: block;
    margin-top: 30px;
  }
}
#price .price-container .box01 .katei-discount {
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 20px;
  font-weight: bold;
  color: #db0000;
}
@media screen and (max-width: 768px) {
  #price .price-container .box01 .katei-discount {
    width: 100%;
    font-size: 16px;
  }
}
#price .price-container .box01 .before {
  position: relative;
  font-size: 16px;
  margin: 0 100px 0 150px;
  padding-top: 20px;
}
@media screen and (max-width: 768px) {
  #price .price-container .box01 .before {
    margin: 0 0 20px 70px;
    padding-top: 0;
  }
}
#price .price-container .box01 .before::after {
  position: absolute;
  top: 20%;
  left: 120%;
  content: "";
  border-top: 30px solid transparent;
  border-bottom: 30px solid transparent;
  border-left: 30px solid #333;
}
@media screen and (max-width: 768px) {
  #price .price-container .box01 .before::after {
    top: 30%;
    left: -70px;
    border-right: 20px solid transparent;
    border-left: 20px solid transparent;
    border-top: 20px solid #333;
  }
}
#price .price-container .box01 .before span {
  color: #fff;
  background-color: #333;
  padding: 5px;
}
@media screen and (max-width: 768px) {
  #price .price-container .box01 .before span {
    padding: 3px 5px;
    font-size: 10px;
    display: inline;
  }
}
#price .price-container .box01 .before p {
  margin-top: 10px;
  font-size: 20px;
}
@media screen and (max-width: 768px) {
  #price .price-container .box01 .before p {
    text-align: left;
    margin-top: 0;
    font-size: 16px;
    display: inline;
    padding: 0;
  }
}
@media screen and (max-width: 768px) {
  #price .price-container .box01 .after p {
    font-size: 14px;
  }
}
#price .price-container .box01 .after span {
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  background-color: #009444;
  padding: 5px;
}
@media screen and (max-width: 768px) {
  #price .price-container .box01 .after span {
    font-size: 12px;
    padding: 3px 5px;
    font-weight: normal;
    display: inline;
  }
}
#price .price-container .box01 .after h3, #price .price-container .box01 .after p.h3 {
  margin-top: 10px;
  font-size: 36px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #price .price-container .box01 .after h3, #price .price-container .box01 .after p.h3 {
    font-size: 24px;
    margin-top: 0;
    display: inline;
  }
}
#price .price-container .box01-1, #price .price-container .box01-2 {
  display: block;
  margin-top: 30px;
  padding: 30px;
}
@media screen and (max-width: 768px) {
  #price .price-container .box01-1, #price .price-container .box01-2 {
    padding: 10px;
  }
}
@media screen and (max-width: 768px) {
  #price .price-container .box01-1 p, #price .price-container .box01-2 p {
    font-size: 14px;
  }
}
#price .price-container .box01-1 .after, #price .price-container .box01-2 .after {
  text-align: center;
}
#price .price-container .box01-1 .after span, #price .price-container .box01-2 .after span {
  margin-right: 30px;
}
#price .price-container .box01-2 .after h4 span {
  font-size: 12px;
  font-weight: normal;
  background-color: #333;
  margin-right: 10px;
}
#price .price-container .box01-dojoi {
  padding-top: 100px;
}
@media screen and (max-width: 768px) {
  #price .price-container .box01-dojoi {
    font-size: 14px;
    padding-top: 80px;
    text-align: center;
  }
}
#price .price-container .box01-dojoi .katei-discount {
  text-align: center;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  #price .price-container .box01-dojoi .katei-discount {
    font-size: 14px;
  }
}
#price .price-container .box01-dojoi .katei-discount p {
  color: #000;
  margin-left: 10px;
}
@media screen and (max-width: 768px) {
  #price .price-container .box01-dojoi .before::after {
    left: -25px;
  }
}
#price .price-container .box00 {
  background: #f6efe6;
}
@media screen and (max-width: 768px) {
  #price .price-container .box00 {
    padding: 15px;
  }
}
#price .price-container .box00 .cam01 {
  margin-bottom: 10px;
  text-indent: 0;
  padding-left: 0;
  text-align: center;
}
#price .price-container .box00 .cam02 {
  text-indent: 0;
  padding-left: 0;
}
#price .price-container .green-line {
  text-align: center;
  margin-top: 50px;
}
#price .price-container .green-line p {
  border-top: #009944 3px solid;
  border-bottom: #009944 3px solid;
  display: inline-block;
  font-size: 20px;
  padding: 10px;
  text-indent: 0;
}
#price .price-container p {
  text-align: center;
  text-indent: -1em;
  padding-left: 1em;
}
@media screen and (max-width: 768px) {
  #price .price-container p {
    text-align: left;
    font-size: 14px;
  }
}
#price .price-container .box02 {
  width: 300px;
  max-width: 80%;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  color: #fff;
  background-color: #333;
  padding: 20px;
  border-radius: 15px;
  margin: 50px auto;
}
@media screen and (max-width: 768px) {
  #price .price-container .box02 {
    font-size: 20px;
  }
}
#price .price-container .box03 {
  width: 70%;
  margin: 50px auto;
  background-color: #fff;
  padding: 30px;
  border-radius: 15px;
  max-width: 800px;
}
@media screen and (max-width: 768px) {
  #price .price-container .box03 {
    width: 100%;
    box-sizing: border-box;
  }
}
#price .price-container .box03 p {
  text-align: left;
  margin-bottom: 10px;
}
#price .price-container .attention, #price .price-container .group {
  width: 80%;
  margin: 0 auto 50px;
}
@media screen and (max-width: 768px) {
  #price .price-container .attention, #price .price-container .group {
    width: 100%;
    margin: 0 auto 30px;
  }
}
#price .price-container .attention h4, #price .price-container .group h4 {
  position: relative;
  display: inline-block;
  font-size: 20px;
  font-weight: bold;
  margin: 0 0 20px 40px;
}
#price .price-container .attention h4::before, #price .price-container .group h4::before {
  position: absolute;
  left: -40px;
  content: "";
  background: url(../img/icon/attention.svg) no-repeat left 50%;
  width: 30px;
  height: 35px;
}
#price .price-container .attention p, #price .price-container .group p {
  text-align: left;
}
#price .price-container .group h4::before {
  background: url(../img/icon/price.svg) no-repeat left 50%;
}
#price .price-container .group p a {
  color: blue;
  text-decoration: underline;
  font-weight: bold;
}

#curriculum .cur-container .cur-container01 .cur-item-jissenn {
  width: 45%;
}
@media screen and (max-width: 768px) {
  #curriculum .cur-container .cur-container01 .cur-item-jissenn {
    width: 100%;
  }
}
#curriculum .cur-container .cur-container01 .cur-item-jissenn::after {
  right: -18%;
}

#place {
  background: #fff url("../img/pic/back-line.svg") center 50%;
  background-size: cover;
  padding: 75px 0 0;
}
@media screen and (max-width: 768px) {
  #place {
    padding: 15px;
  }
}
#place p {
  width: 80%;
  max-width: 800px;
  margin: 80px auto;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #place p {
    width: 100%;
    font-size: 14px;
    margin: 40px auto 20px;
  }
}
#place p img {
  max-width: 500px;
}
@media screen and (max-width: 768px) {
  #place p img {
    max-width: 100%;
  }
}
#place .place-img {
  max-width: 1024px;
  margin: 80px auto;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  #place .place-img {
    margin: 40px auto;
  }
}
#place .place-img .img {
  width: 30%;
}
#place iframe {
  width: 100%;
  vertical-align: bottom;
}

#price .price-container .box01-jissenn {
  display: block;
  padding: 30px;
}
@media screen and (max-width: 768px) {
  #price .price-container .box01-jissenn {
    padding: 15px;
  }
}
#price .price-container .box01-jissenn .after-jissenn {
  text-align: center;
}
#price .price-container .box01-jissenn .after-jissenn span {
  display: inline-block;
  margin-right: 30px;
}
#price .price-container .box02-jissenn {
  display: block;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #price .price-container .box02-jissenn {
    padding: 15px;
  }
}
#price .price-container .box02-jissenn h3 {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  #price .price-container .box02-jissenn h3 {
    font-size: 18px;
  }
}
#price .price-container .box02-jissenn ul {
  margin: 0 auto 30px;
  width: 32em;
}
@media screen and (max-width: 768px) {
  #price .price-container .box02-jissenn ul {
    width: 14em;
    margin-bottom: 15px;
  }
}
#price .price-container .box02-jissenn ul li {
  text-align: left;
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  #price .price-container .box02-jissenn ul li {
    margin-bottom: 20px;
  }
}
#price .price-container .box02-jissenn ul li span {
  font-size: 18px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #price .price-container .box02-jissenn ul li span {
    display: block;
    line-height: 1em;
    font-size: 16px;
    color: #009444;
  }
}
#price .price-container .box02-jissenn p {
  font-size: 14px;
}
#price .price-container .box03 th {
  width: 3.2em;
}

#voice {
  background: #fff url("../img/pic/back-line.svg") center 50%;
  background-size: cover;
  padding: 75px 0;
}
@media screen and (max-width: 768px) {
  #voice {
    padding: 30px 0;
  }
}
#voice .voice-container {
  max-width: 1024px;
  width: 70%;
  margin: 80px auto;
  background: #DDE5D6;
  padding: 50px;
  border-radius: 30px;
}
@media screen and (max-width: 768px) {
  #voice .voice-container {
    width: 90%;
    margin: 40px auto;
    padding: 20px;
    box-sizing: border-box;
  }
}
#voice .voice-container .item {
  display: flex;
  justify-content: space-between;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  #voice .voice-container .item {
    display: block;
    margin-bottom: 20px;
  }
}
#voice .voice-container .item:nth-child(even) {
  flex-direction: row-reverse;
}
#voice .voice-container .item .img {
  width: 10%;
}
@media screen and (max-width: 768px) {
  #voice .voice-container .item .img {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  #voice .voice-container .item .img img {
    float: left;
    width: 20%;
  }
}
#voice .voice-container .item .text {
  width: 85%;
  background-color: #fff;
  padding: 10px;
  border-radius: 10px;
}
@media screen and (max-width: 768px) {
  #voice .voice-container .item .text {
    width: 90%;
    font-size: 12px;
  }
}

#doiken {
  background: #f4eee4;
  padding: 75px 0 0;
}
@media screen and (max-width: 768px) {
  #doiken {
    padding: 15px;
  }
}
#doiken .doiken-container {
  max-width: 1024px;
  width: 80%;
  margin: 0 auto;
  padding: 50px;
}
@media screen and (max-width: 768px) {
  #doiken .doiken-container {
    padding: 15px;
    width: 100%;
    box-sizing: border-box;
  }
}
#doiken .doiken-container .box {
  background-color: #fff;
  border-radius: 20px;
  padding: 30px;
  margin: 50px auto;
}
@media screen and (max-width: 768px) {
  #doiken .doiken-container .box {
    background-color: transparent;
    padding: 0;
  }
}
#doiken .doiken-container .box h3 {
  border-bottom: solid 2px #ccc;
  position: relative;
  margin-bottom: 30px;
  display: inline-block;
  font-size: 20px;
  font-weight: bold;
}
#doiken .doiken-container .box h3:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 2px #009444;
  bottom: -2px;
  width: 2em;
}
#doiken .doiken-container .box01 {
  position: relative;
}
@media screen and (max-width: 768px) {
  #doiken .doiken-container .box01 p {
    font-size: 14px;
  }
}
#doiken .doiken-container .box01 img {
  width: 150px;
  position: absolute;
  bottom: 0;
  right: 30px;
}
@media screen and (max-width: 768px) {
  #doiken .doiken-container .box01 img {
    display: none;
  }
}
#doiken .doiken-container .box02 .pc {
  display: revert;
}
@media screen and (max-width: 768px) {
  #doiken .doiken-container .box02 .pc {
    display: none;
  }
}
#doiken .doiken-container .box02 table {
  background-color: #fff;
  font-size: 14px;
}
#doiken .doiken-container .box02 table th {
  border: 1px solid #ddd;
  vertical-align: middle;
  padding: 10px;
  text-align: center;
}
#doiken .doiken-container .box02 table td {
  border: 1px solid #ddd;
  padding: 10px;
}
#doiken .doiken-container .box02 table thead tr {
  background-color: #009444;
  color: #fff;
  font-weight: bold;
}
#doiken .doiken-container .box02 table thead tr .col1 {
  width: 11em;
}
#doiken .doiken-container .box02 table thead tr .col2 {
  width: 8em;
}
#doiken .doiken-container .box03 ul {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  #doiken .doiken-container .box03 ul {
    display: block;
  }
}
#doiken .doiken-container .box03 ul li {
  width: 48%;
}
@media screen and (max-width: 768px) {
  #doiken .doiken-container .box03 ul li {
    width: auto;
    margin: 0 auto;
  }
}
#doiken .doiken-container .box03 ul li h4 {
  background: #009444;
  color: #fff;
  padding: 5px 5px 5px 20px;
}
#doiken .doiken-container .box03 ul li table {
  width: 100%;
  margin: 0;
  background-color: #fff;
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  #doiken .doiken-container .box03 ul li table {
    margin-bottom: 30px;
  }
}
#doiken .doiken-container .box03 ul li table tr {
  border: 1px solid #eee;
}
#doiken .doiken-container .box03 ul li table th {
  padding: 5px;
  width: 3em;
}
@media screen and (max-width: 768px) {
  #doiken .doiken-container .box03 ul li table th {
    width: 3em;
  }
}
#doiken .doiken-container .box04 ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
@media screen and (max-width: 768px) {
  #doiken .doiken-container .box04 ul {
    display: block;
  }
}
#doiken .doiken-container .box04 ul li {
  width: 48%;
}
@media screen and (max-width: 768px) {
  #doiken .doiken-container .box04 ul li {
    width: auto;
    margin: 0 auto;
  }
}
#doiken .doiken-container .box04 ul li p {
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  #doiken .doiken-container .box04 ul li p {
    margin-bottom: 10px;
  }
}
#doiken .doiken-container .box04 ul li table {
  background-color: #fff;
  font-size: 14px;
}
#doiken .doiken-container .box04 ul li table th {
  border: 1px solid #ddd;
  vertical-align: middle;
  padding: 10px 30px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #doiken .doiken-container .box04 ul li table th {
    padding: 10px;
  }
}
#doiken .doiken-container .box04 ul li table td {
  border: 1px solid #ddd;
  padding: 10px;
}
#doiken .doiken-container .box04 ul li table thead tr {
  background-color: #009444;
  color: #fff;
  font-weight: bold;
}
#doiken .doiken-container .box04 ul li table thead tr .col1 {
  width: 11em;
}
#doiken .doiken-container .box04 ul li table thead tr .col2 {
  width: 8em;
}

.curriculum-dojoi2205 .cur-sub {
  text-align: center;
  margin-bottom: 30px;
}
.curriculum-dojoi2205 .cur-sub p {
  display: inline-block;
  text-align: left;
}
.curriculum-dojoi2205 .cur-container .cur-container01 {
  display: block !important;
}
.curriculum-dojoi2205 .cur-container .cur-container01 p.cur-subtitle {
  font-size: 15px;
  width: 70%;
  margin: 50px auto;
}
@media screen and (max-width: 768px) {
  .curriculum-dojoi2205 .cur-container .cur-container01 p.cur-subtitle {
    width: 90%;
    margin: 20px auto 30px;
  }
}
.curriculum-dojoi2205 .cur-container .cur-container01 div.cur-comment {
  position: absolute;
  bottom: 50px;
  width: 70%;
  left: 50%;
  transform: translateX(-50%);
  display: inline-block;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .curriculum-dojoi2205 .cur-container .cur-container01 div.cur-comment {
    display: block;
    position: static;
    top: 0;
    left: 0;
    width: 90%;
    margin: 0 auto 50px;
    transform: none;
    font-size: 14px;
    text-align: left;
  }
}
.curriculum-dojoi2205 .cur-container .cur-container01 div.cur-comment p {
  display: inline-block;
  color: #db0000;
  font-weight: bold;
}
.curriculum-dojoi2205 .cur-container .cur-container01 .cur-box {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
}
@media screen and (max-width: 768px) {
  .curriculum-dojoi2205 .cur-container .cur-container01 .cur-box {
    display: block;
  }
}
.curriculum-dojoi2205 .cur-container .cur-container01 .cur-box .cur-img {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  padding: 20px;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .curriculum-dojoi2205 .cur-container .cur-container01 .cur-box .cur-img {
    width: 90%;
    margin: 0 auto 30px;
  }
}
.curriculum-dojoi2205 .cur-container .cur-container01 .cur-box .cur-text {
  margin-right: 30px;
}
@media screen and (max-width: 768px) {
  .curriculum-dojoi2205 .cur-container .cur-container01 .cur-box .cur-text {
    width: 90%;
    margin: 0 auto;
  }
}
.curriculum-dojoi2205 .cur-container .cur-container01 .cur-box .cur-text .cur-item {
  width: auto !important;
  margin-bottom: 10px !important;
  padding: 10px !important;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
}
.curriculum-dojoi2205 .cur-container .cur-container01 .cur-box .cur-text .cur-item h3 {
  margin: 0 0 0 25px !important;
  display: inline-block !important;
  font-size: 16px !important;
}
.curriculum-dojoi2205 .cur-container .cur-container01 .cur-box .cur-text .cur-item h3::before {
  display: none;
  font-size: 16px !important;
}
.curriculum-dojoi2205 .cur-container .cur-container01 .cur-box .cur-text .cur-item p {
  border-top: 2px dashed #eee;
  margin-top: 15px;
  padding-top: 15px;
  font-size: 14px;
}
.curriculum-dojoi2205 .cur-container .cur-container01 .cur-box .cur-text .cur-item span.cur-times {
  position: static !important;
  background-color: #009444 !important;
  color: #fff !important;
  padding: 9px 10px !important;
  border-radius: 50% !important;
}
@media screen and (max-width: 768px) {
  .curriculum-dojoi2205 .cur-container .cur-container01 .cur-box .cur-text .cur-item span.cur-times {
    font-size: 12px !important;
  }
}
.curriculum-dojoi2205 .cur-container .cur-container01 .cur-box .cur-text .cur-item04 {
  margin-top: 30px;
  padding: 10px;
  background-color: #fff;
  border-radius: 10px;
}
@media screen and (max-width: 768px) {
  .curriculum-dojoi2205 .cur-container .cur-container01 .cur-box .cur-text .cur-item04 {
    font-size: 14px;
  }
}
.curriculum-dojoi2205 .cur-container .cur-container01 .cur-box .cur-text .cur-item04 span {
  display: inline-block;
  color: #fff;
  background-color: #db0000;
  font-weight: bold;
  padding: 5px 10px;
}
.curriculum-dojoi2205 .cur-container .cur-container01 .cur-box .cur-text .cur-item04 h3 {
  margin: 10px 0;
}
.curriculum-dojoi2205 .cur-container .cur-container01 .cur-item h3 {
  height: 2em;
}
.curriculum-dojoi2205 .cur-container .cur-container01 .cur-item .cur-img {
  margin-bottom: 0;
}
.curriculum-dojoi2205 .cur-container .cur-container01 .cur-item01::after {
  display: none;
}
.curriculum-dojoi2205 .cur-container .cur-container01 .cur-item02::after {
  display: none;
}
.curriculum-dojoi2205 .cur-container .cur-container02 {
  text-align: center;
}
.curriculum-dojoi2205 .cur-container .cur-container02 p {
  margin: 15px auto !important;
}
@media screen and (max-width: 768px) {
  .curriculum-dojoi2205 .cur-container .cur-container02 p {
    font-size: 14px;
  }
}
.curriculum-dojoi2205 .cur-container .cur-container02 p.cur-green {
  color: #009444;
  padding: 5px 10px;
  display: inline-block;
  width: auto !important;
  border: 2px solid #009444;
}
.curriculum-dojoi2205 .cur-container .cur-container02 .tyokuzen-table {
  margin: 30px auto 0 !important;
}
.curriculum-dojoi2205 .cur-container .cur-container02 .tyokuzen-table td small {
  width: auto !important;
  display: inline !important;
  padding-left: 0 !important;
}
.curriculum-dojoi2205 .cur-container .cur-container02 .point-table th {
  font-weight: bold;
  text-align: center !important;
}
.curriculum-dojoi2205 .cur-container .cur-container02 .point-table td {
  text-align: center !important;
}
@media screen and (max-width: 768px) {
  .curriculum-dojoi2205 .cur-container .table-box {
    width: 100%;
    overflow-x: scroll;
  }
}
@media screen and (max-width: 768px) {
  .curriculum-dojoi2205 .cur-container .table-box table {
    width: 500px;
  }
}

.price-dojoi2205 #katei-price .price-box .price-item {
  width: 48% !important;
}
@media screen and (max-width: 768px) {
  .price-dojoi2205 #katei-price .price-box .price-item {
    width: 100% !important;
  }
}
.price-dojoi2205 .price-container .box01 {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .price-dojoi2205 .price-container .box01 {
    text-align: left;
  }
}
.price-dojoi2205 .price-container .box01 div {
  display: inline-block;
  text-align: left;
}
.price-dojoi2205 .price-container .box01 div h3 {
  text-align: left;
  display: inline-block;
  color: #fff;
  background-color: #009444;
  padding: 5px 10px;
  font-size: 20px;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .price-dojoi2205 .price-container .box01 div h3 {
    font-size: 16px;
  }
}
.price-dojoi2205 .price-container .box01 div ul li {
  line-height: 1.7em;
}
@media screen and (max-width: 768px) {
  .price-dojoi2205 .price-container .box01 div ul li {
    font-size: 14px;
    margin-bottom: 1em;
  }
}
.price-dojoi2205 .price-container .box01 div ul li span {
  font-weight: bold;
  color: #db0000;
  font-size: 1.4em;
}
.price-dojoi2205 .price-container .box01-2 {
  margin-bottom: 50px !important;
}
.price-dojoi2205 .price-container .box01-2 div h3 {
  background-color: #333;
}

#seminar {
  background: #DDE5D6;
  padding: 75px 0;
}
@media screen and (max-width: 768px) {
  #seminar {
    padding: 15px;
  }
}
#seminar article {
  position: relative;
  max-width: 1024px;
  margin: 0 auto;
  background: #fff url("../img/pic/back-line.svg") center 50%;
  background-size: cover;
  border: 3px solid #000;
  box-sizing: border-box;
  margin-top: 50px;
  padding: 30px 50px;
}
@media screen and (max-width: 768px) {
  #seminar article {
    margin-top: 15px;
    padding: 15px;
  }
}
#seminar article ul li {
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  #seminar article ul li {
    font-size: 13px;
  }
}
#seminar article ul li span.seminar-head {
  color: #fff;
  font-weight: bold;
  background: #009444;
  padding: 1px 4px 2px 3px;
  display: inline-block;
  margin-bottom: 5px;
}
#seminar article ul li h3 {
  font-size: 24px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #seminar article ul li h3 {
    font-size: 16px;
  }
}
#seminar article ul li h3 span {
  font-size: 18px;
  font-weight: normal;
}
@media screen and (max-width: 768px) {
  #seminar article ul li h3 span {
    font-size: 13px;
  }
}
#seminar article ul li small {
  display: inline-block;
  margin-top: 10px;
  font-size: small;
  background: #eee;
  padding: 3px 10px;
  border-radius: 10px;
}
#seminar article p.orientation {
  display: inline-block;
  text-align: left;
  position: absolute;
  right: 60px;
  bottom: 200px;
}
@media screen and (max-width: 768px) {
  #seminar article p.orientation {
    display: block;
    margin: 0 auto;
    position: static;
  }
}
#seminar article img {
  position: absolute;
  right: 50px;
  bottom: 0;
  width: 180px;
}
@media screen and (max-width: 768px) {
  #seminar article img {
    position: static;
    display: block;
    width: 120px;
    margin: 0 -15px -15px auto;
  }
}

#question {
  background: url("../img/pic/back-line.svg") center 50%;
  padding: 75px 0 0 0;
}
#question ul {
  max-width: 1024px;
  margin: 25px auto 0 auto;
  position: relative;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  #question ul {
    display: block;
  }
}
#question ul li {
  line-height: 0;
  width: 30%;
}
@media screen and (max-width: 768px) {
  #question ul li {
    width: 60%;
    margin: 0 auto;
  }
}
#question ul li img {
  line-height: 0;
}

#cando {
  background: url("../img/pic/back-line.svg") center 50%;
}
#cando h2 {
  background: #009444;
  max-width: 1024px;
  margin: 0 auto;
  text-align: center;
  font-size: 50px;
  font-weight: bold;
  color: #FFF;
  padding: 50px 0 25px 0;
  position: relative;
  top: -2px;
}
@media screen and (max-width: 768px) {
  #cando h2 {
    font-size: 26px;
  }
}
#cando h2:after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 50px 35px 0 35px;
  border-color: #009444 transparent transparent transparent;
  left: 50%;
  transform: translateX(-50%);
  bottom: -48px;
}
@media screen and (max-width: 768px) {
  #cando h2:after {
    border-width: 25px 15px 0 15px;
    bottom: -23px;
  }
}
#cando h2 span {
  position: relative;
  font-weight: bold;
  font-family: "Roboto", sans-serif !important;
  color: #f9ed32;
  letter-spacing: 5px;
}
#cando h2 span sup {
  position: absolute;
  font-size: 12px;
  color: #FFF;
  font-family: "Noto Sans JP", sans-serif !important;
  letter-spacing: 1px;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  #cando h2 span sup {
    font-size: 10px;
  }
}
#cando article {
  background: #f4eee4;
  padding: 25px 0 75px 20px;
  margin: -75px 0 0 0;
}
@media screen and (max-width: 768px) {
  #cando article {
    padding: 15px 15px 50px 15px;
  }
}
#cando article ul {
  max-width: 1024px;
  margin: 125px auto 0 auto;
}
@media screen and (max-width: 768px) {
  #cando article ul {
    margin: 95px auto 0 auto;
  }
}
#cando article ul li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #FFF;
  padding: 25px;
  box-sizing: border-box;
  margin: 50px 0 0 0;
}
@media screen and (max-width: 768px) {
  #cando article ul li {
    display: block;
    margin: 15px 0 0 0;
  }
}
#cando article ul li div {
  width: 48%;
}
@media screen and (max-width: 768px) {
  #cando article ul li div {
    width: auto;
  }
}
#cando article ul li div span {
  border: 2px solid #009444;
  color: #009444;
  font-family: "Roboto", sans-serif !important;
  padding: 10px 0 10px 10px;
}
@media screen and (max-width: 768px) {
  #cando article ul li div span {
    font-size: 14px;
    padding: 5px 0 5px 5px;
  }
}
#cando article ul li div span em {
  background: #009444;
  color: #FFF;
  font-family: "Roboto", sans-serif !important;
  padding: 10px;
  margin: 0 0 0 10px;
}
@media screen and (max-width: 768px) {
  #cando article ul li div span em {
    padding: 5px;
  }
}
#cando article ul li div h3 {
  margin: 25px 0 15px 0;
  font-size: 30px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #cando article ul li div h3 {
    font-size: 18px;
    margin: 25px 0 10px 0;
  }
}
@media screen and (max-width: 768px) {
  #cando article ul li div p {
    font-size: 13px;
  }
}
#cando article ul li div p small {
  font-size: 11px;
  display: block;
  margin: 15px 0 0 0;
  line-height: 1.5;
  text-indent: -1em;
  padding: 0 0 0 1em;
  color: #999;
}

#voice {
  background: url("../img/pic/back-line.svg") center 50%;
  padding: 75px 0;
}
@media screen and (max-width: 768px) {
  #voice {
    padding: 50px 0;
  }
}
#voice ul {
  max-width: 700px;
  margin: 25px auto 0 auto;
}
@media screen and (max-width: 768px) {
  #voice ul {
    margin: 25px 15px 0 15px;
  }
}
#voice ul li {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#voice ul li .pic {
  width: 25%;
}
#voice ul li .text {
  width: 70%;
}
#voice ul li .text p {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  #voice ul li .text p {
    font-size: 14px;
  }
}
#voice ul li .text p:nth-child(2) {
  text-align: right;
  margin: 20px 0 0 0;
}
@media screen and (max-width: 768px) {
  #voice ul li .text p:nth-child(2) {
    margin: 10px 0 0 0;
  }
}
#voice ul li .text p:nth-child(2) span {
  background: #f4eee4;
  padding: 5px;
  font-size: 14px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #voice ul li .text p:nth-child(2) span {
    font-size: 12px;
  }
}
#voice ul li:nth-child(2) {
  flex-direction: row-reverse;
  margin: 25px 0 0 0;
}

#sample {
  background: #DDE5D6;
  padding: 75px 0;
}
@media screen and (max-width: 768px) {
  #sample {
    padding: 30px 15px;
  }
}
#sample .sample-container {
  width: 80%;
  background: #fff url("../img/pic/back-line.svg") center 50%;
  background-size: cover;
  border: #594a42 3px solid;
  max-width: 1024px;
  margin: 25px auto 0 auto;
  padding: 50px;
  position: relative;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  #sample .sample-container {
    width: auto;
    padding: 15px;
    position: static;
  }
}
#sample .sample-container .sample-div {
  display: flex;
  flex-direction: row-reverse;
  width: 800px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #sample .sample-container .sample-div {
    display: block;
    max-width: 100%;
  }
}
#sample .sample-container .text {
  width: 60%;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  #sample .sample-container .text {
    width: 100%;
  }
}
#sample .sample-container .text .diagonal {
  position: relative;
  margin-bottom: 30px;
}
#sample .sample-container .text .diagonal::before, #sample .sample-container .text .diagonal::after {
  position: relative;
  display: inline-block;
  content: "";
  background: #009444;
  width: 2px;
  height: 1.5em;
  margin-top: -0.2em;
  vertical-align: middle;
}
#sample .sample-container .text .diagonal::before {
  transform: rotate(-25deg);
  margin-right: 0.5em;
}
#sample .sample-container .text .diagonal::after {
  transform: rotate(25deg);
  margin-left: 0.5em;
}
#sample .sample-container .text h3 {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 40px;
  border-left: 10px solid #009444;
  padding-left: 10px;
}
@media screen and (max-width: 768px) {
  #sample .sample-container .text h3 {
    font-size: 15px;
  }
}
#sample .sample-container .text h3 span {
  background: linear-gradient(transparent 75%, rgba(249, 255, 50, 0.5) 0%);
  font-weight: bold;
  color: #009444;
  font-size: 1.2em;
}
#sample .sample-container .text p {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  #sample .sample-container .text p {
    font-size: 13px;
  }
}
#sample .sample-container .text p span {
  color: #009444;
  font-size: 1.2em;
}
#sample .sample-container .pic {
  width: 40%;
  text-align: right;
}
@media screen and (max-width: 768px) {
  #sample .sample-container .pic {
    width: 80%;
    margin: 0 auto;
    text-align: center;
  }
}
#sample .sample-container .pic img {
  width: 180px;
}
#sample .sample-container .pic img.sample-movie {
  width: 300px;
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  #sample .sample-container .pic img.sample-movie {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 768px) {
  #sample .sample-container .pic img.sample-teacher {
    display: none;
  }
}
#sample .sample-container .btn-container {
  width: auto;
  position: absolute;
  bottom: 30px;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  #sample .sample-container .btn-container {
    display: block;
    position: static;
  }
}

#flow {
  padding: 75px 0;
}
@media screen and (max-width: 768px) {
  #flow {
    padding: 50px 0;
  }
}
#flow ul {
  max-width: 1024px;
  margin: 25px auto;
  position: relative;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  #flow ul {
    overflow-x: scroll;
    overflow-scrolling: touch;
    -webkit-overflow-scrolling: touch;
    margin: 25px 0 30px 15px;
    flex-wrap: nowrap;
  }
}
#flow ul li {
  width: 27%;
  text-align: center;
  position: relative;
  margin: 0 3% 50px 0;
  padding-right: 30px;
}
@media screen and (max-width: 768px) {
  #flow ul li {
    flex: 0 0 50%;
  }
}
#flow ul li:after {
  content: "";
  position: absolute;
  top: 130px;
  right: -15px;
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 0 15px 20px;
  border-color: transparent transparent transparent #009444;
}
@media screen and (max-width: 768px) {
  #flow ul li:after {
    right: 0;
    border-width: 10px 0 10px 15px;
    top: 90px;
  }
}
#flow ul li:nth-child(3n) {
  margin-right: 0;
}
#flow ul li:last-child:after {
  display: none;
}
#flow ul li span {
  font-family: "Roboto", sans-serif !important;
}
@media screen and (max-width: 768px) {
  #flow ul li span {
    font-size: 14px;
  }
}
#flow ul li span em {
  color: #009444;
  font-weight: bold;
  font-size: 125%;
}
#flow ul li h3 {
  color: #009444;
  font-weight: bold;
  font-size: 20px;
}
@media screen and (max-width: 768px) {
  #flow ul li h3 {
    font-size: 16px;
  }
}
#flow ul li p {
  text-align: left;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #flow ul li p {
    font-size: 13px;
  }
}
#flow ul li img {
  line-height: 0;
  margin: 15px 0;
}

#pankuzu-box .pankuzu-box {
  max-width: 1024px;
  margin: 40px auto 0;
}
@media screen and (max-width: 768px) {
  #pankuzu-box .pankuzu-box {
    margin: 25px auto 0;
  }
}
#pankuzu-box .pankuzu-box #pankuzu {
  margin: 0 auto;
  font-size: 12px;
  display: flex;
}
@media screen and (max-width: 768px) {
  #pankuzu-box .pankuzu-box #pankuzu {
    width: auto;
  }
}

#note {
  background: #f4eee4;
  padding: 75px 0;
}
#note .note-container {
  display: flex;
  justify-content: space-around;
  width: 90%;
  margin: 0 auto;
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  #note .note-container {
    display: block;
  }
}
#note .note-container .note {
  width: 30%;
}
@media screen and (max-width: 768px) {
  #note .note-container .note {
    width: 100%;
  }
}

#columns {
  background-color: #f4eee4;
  padding: 75px 10%;
}
@media screen and (max-width: 768px) {
  #columns {
    padding: 15px 10%;
  }
}
#columns .columns-container {
  max-width: 1024px;
  margin: 50px auto;
  display: flex;
  justify-content: space-around;
}
@media screen and (max-width: 768px) {
  #columns .columns-container {
    display: block;
    margin: 15px auto;
  }
}
#columns .columns-container .columns-item {
  width: 30%;
  background: #fff;
  padding: 10px;
}
@media screen and (max-width: 768px) {
  #columns .columns-container .columns-item {
    display: block;
    width: 80%;
    margin: 10px auto;
  }
}
#columns .columns-container .columns-item .columns-img {
  width: 100%;
  height: 150px;
}
#columns .columns-container .columns-item .columns-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#columns .columns-container .columns-item .columns-contents time {
  color: #999;
  font-size: 0.8em;
}
#columns .columns-container .columns-item .columns-contents h3 {
  font-size: 1.2em;
  font-weight: bold;
}
#columns .columns-container .columns-item .columns-contents .columns-cat span {
  color: #009444;
  font-size: 0.7em;
  padding: 2px;
  border-radius: 5px;
  margin-right: 5px;
}
#columns .btn_more {
  text-align: right;
}

#advisor .advisor-container {
  max-width: 1024px;
  margin: 50px auto 0;
  padding: 10px;
}
#advisor .advisor-container .advisor {
  max-width: 600px;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  border: 1px solid #ddd;
  padding: 20px;
}
#advisor .advisor-container .advisor .advisor-img {
  width: 20%;
}
#advisor .advisor-container .advisor .advisor-img img {
  max-width: 100%;
}
#advisor .advisor-container .advisor .advisor-contents {
  width: 75%;
}
#advisor .advisor-container .advisor .advisor-contents p {
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0;
  margin-bottom: 5px;
}
@media screen and (max-width: 768px) {
  #advisor .advisor-container .advisor .advisor-contents p {
    font-size: 10px;
  }
}
#advisor .advisor-container .advisor .advisor-contents h4 {
  margin: 10px 0;
}
@media screen and (max-width: 768px) {
  #advisor .advisor-container .advisor .advisor-contents h4 {
    font-size: 12px;
  }
}

#floating-banner.nofix {
  position: static;
  width: 736px;
  bottom: 20px;
  text-align: center;
  left: auto;
  transform: translateX(0);
  margin: 100px auto 50px;
}
@media screen and (max-width: 768px) {
  #floating-banner.nofix {
    width: 100%;
    margin: 0;
    border-bottom: 5px solid #FFF;
  }
}
#floating-banner.fixing {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: 0;
  width: 736px;
}
@media screen and (max-width: 768px) {
  #floating-banner.fixing {
    bottom: 0;
    width: 100%;
  }
}
#floating-banner input#banner-close {
  display: none;
}
#floating-banner input#banner-close:checked ~ label.banner-close-btn {
  display: none;
}
#floating-banner input#banner-close:checked ~ p {
  display: none;
}
#floating-banner label.banner-close-btn {
  position: absolute;
  right: 0;
  font-size: 30px;
  font-weight: bold;
  cursor: pointer;
}
#floating-banner p {
  line-height: 0;
}
#floating-banner p a:hover {
  opacity: 1;
}

#bread-list {
  margin: 50px 0;
  padding: 10px 0;
}
@media screen and (max-width: 768px) {
  #bread-list {
    margin: 60px 15px 25px 15px;
  }
}
#bread-list ul {
  max-width: 1024px;
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
}
#bread-list ul li {
  font-size: 13px;
}
@media screen and (max-width: 768px) {
  #bread-list ul li {
    font-size: 11px;
  }
}
#bread-list ul li a {
  color: #999;
}
#bread-list ul li a:after {
  content: ">";
  margin: 0 10px;
}

form {
  margin: 50px auto;
  max-width: 1024px;
}
@media screen and (max-width: 768px) {
  form {
    margin: 25px auto;
  }
}
form .cvc-container {
  position: absolute;
  right: 0;
  width: 300px;
  background: #f0f8ff;
  border-radius: 10px;
  padding: 10px;
  margin: 10px;
}
@media screen and (max-width: 768px) {
  form .cvc-container {
    position: static;
    width: 200px;
    float: right;
  }
}
form .cvc-container small {
  display: inline-block;
  font-size: 12px;
  line-height: 1.2;
}
form .cvc-container .cvc-img {
  display: flex;
  justify-content: space-around;
  margin-top: 10px;
}
form .cvc-container .cvc-img img {
  width: 40%;
}
form .submit_btn {
  text-align: center;
  margin: 25px 0 0 0;
}
form .submit_btn input[type=submit] {
  background: #db0000;
  border: none;
  color: #FFF;
  padding: 15px 75px;
  font-size: 18px;
  letter-spacing: 2px;
  border-radius: 50px;
  box-shadow: 0 3px 0 #c14625;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  form .submit_btn input[type=submit] {
    font-size: 16px;
  }
}
form .submit_btn p a:before {
  content: "<";
  display: inline-block;
  margin: 0 10px 0 0;
}
form .submit_btn button.send {
  background: #db0000;
  border: none;
  color: #FFF;
  padding: 15px 75px;
  font-size: 18px;
  letter-spacing: 2px;
  border-radius: 50px;
  box-shadow: 0 3px 0 #c14625;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  form .submit_btn button.send {
    font-size: 16px;
  }
}
form .form_back_btn p {
  text-align: center;
  margin: 25px 0 0 0;
}
form .form_back_btn p a:before {
  content: "<";
  margin: 0 10px 0 0;
  display: inline-block;
  transform: scale(0.7, 1);
}
form .card-content {
  display: none;
}
form table {
  width: 100%;
}
@media screen and (max-width: 768px) {
  form table tr {
    display: block;
  }
}
form table tr th {
  padding: 10px;
  width: 33%;
  border-bottom: 1px solid #EEE;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  form table tr th {
    width: auto;
    display: block;
    border: none;
    padding-bottom: 0;
    font-size: 13px;
  }
}
form table tr th label {
  background: url("../img/common/attention.svg") no-repeat left 50%;
  background-size: 20px;
  padding-left: 30px;
}
form table tr th small {
  font-size: 80%;
  color: #C00;
}
form table tr th .req {
  float: right;
  border: 1px solid #C00;
  font-size: 14px;
  color: #C00;
  padding: 5px 5px;
}
@media screen and (max-width: 768px) {
  form table tr th .req {
    font-size: 12px;
    padding: 3px;
  }
}
form table tr td {
  padding: 10px;
  border-bottom: 1px solid #EEE;
}
form table tr td small {
  font-size: 80%;
  display: inline-block;
  text-indent: -1em;
  padding: 0 0 10px 1em;
  margin: 0;
}
form table tr td a {
  text-decoration: underline;
  color: #009444;
}
form table tr td a.modal-open {
  color: #009444;
}
form table tr td p.right-text {
  float: right;
}
@media screen and (max-width: 768px) {
  form table tr td p.right-text {
    font-size: 11px;
    margin: 5px 0 0 0;
  }
}
@media screen and (max-width: 768px) {
  form table tr td {
    width: auto;
    display: block;
  }
}
form table tr td .must_contact {
  color: #C00;
}
form table tr td input[type=text], form table tr td input[type=email], form table tr td input[type=tel] {
  width: 100%;
  padding: 5px;
  box-sizing: border-box;
  border: 1px solid #CCC;
  -webkit-appearance: none;
}
form table tr td input[type=text].half, form table tr td input[type=email].half, form table tr td input[type=tel].half {
  width: 48%;
}
form table tr td input[type=text]#postal_code1, form table tr td input[type=email]#postal_code1, form table tr td input[type=tel]#postal_code1 {
  width: 15%;
  margin-right: 10px;
}
form table tr td input[type=text]#postal_code2, form table tr td input[type=email]#postal_code2, form table tr td input[type=tel]#postal_code2 {
  width: 20%;
  margin: 0 10px;
}
form table tr td select#is_age {
  padding: 5px;
  border: 1px solid #ccc;
}
form table tr td textarea {
  width: 100%;
  height: 200px;
  padding: 5px;
  box-sizing: border-box;
  border: 1px solid #CCC;
  -webkit-appearance: none;
}
@media screen and (max-width: 768px) {
  form table tr td textarea {
    height: 150px;
  }
}
form table tr td h3 {
  font-weight: bold;
  margin: 0 0 10px 0;
}
form table tr td h3 input[type=radio] {
  margin: 0 5px 0 0;
}
@media screen and (max-width: 768px) {
  form table tr td label {
    font-size: 13px;
  }
}
form table tr td input[type=checkbox] {
  margin: 0 5px 0 0;
  display: none;
}
form table tr td input[type=checkbox] + label:before {
  font-family: FontAwesome;
  display: inline-block;
}
form table tr td input[type=checkbox] + label:before {
  content: "\f096";
  font-size: 20px;
}
@media screen and (max-width: 768px) {
  form table tr td input[type=checkbox] + label:before {
    position: relative;
    top: 3px;
  }
}
form table tr td input[type=checkbox] + label:before {
  letter-spacing: 10px;
  color: #CCC;
}
form table tr td input[type=checkbox]:checked + label:before {
  content: "\f046";
  color: #C00;
}
form table tr td input[type=checkbox]:checked + label:before {
  letter-spacing: 7.5px;
}
form table tr td ul.list {
  display: flex;
  margin: 10px 0;
}
form table tr td ul.list li {
  margin: 0 10px 0 0;
}
form table tr td ul.list li input[type=radio] {
  margin: 0 5px 0 0;
  display: none;
}
form table tr td ul.list li input[type=radio]:checked + .radio-label:before {
  opacity: 1; /* 要素を表示する */
}
form table tr td ul.list li input[type=radio]:hover:after {
  border-color: #009444; /* ボックスの境界線を実線で指定する */
}
form table tr td ul.list li input[type=radio] + .radio-label {
  position: relative; /* ボックスの位置を指定する */
  padding: 0 0 0 25px; /* ボックス内側の余白を指定する */
  display: inline-block;
}
form table tr td ul.list li input[type=radio] + .radio-label:after, form table tr td ul.list li input[type=radio] + .radio-label:before {
  position: absolute; /* ボックスの位置を指定する */
  content: ""; /* ボックスのコンテンツ */
  display: block; /* ブロックレベル要素化する */
  top: 50%; /* 上部から配置の基準位置を決める */
}
form table tr td ul.list li input[type=radio] + .radio-label:after {
  left: 0; /* 左から配置の基準位置を決める */
  margin-top: -10px; /* チェック枠の位置 */
  width: 16px; /* ボックスの横幅を指定する */
  height: 16px; /* ボックスの高さを指定する */
  border: 2px solid #ccc; /* ボックスの境界線を実線で指定する */
  border-radius: 50%; /* ボックスの角丸を指定する */
}
form table tr td ul.list li input[type=radio] + .radio-label:before {
  left: 5px; /* 左から配置の基準位置を決める */
  margin-top: -5px; /* チェックマークの位置 */
  width: 10px; /* ボックスの横幅を指定する */
  height: 10px; /* ボックスの高さを指定する */
  background: #009444; /* ボックスの背景色を指定する */
  border-radius: 50%; /* ボックスの角丸を指定する */
  opacity: 0; /* 要素を透過指定する */
}
form table tr td ul.list2 {
  display: block;
  margin: 0 0 10px 0;
  padding: 0 0 10px 0;
}
form table tr td ul.list2 li:not(last-child) {
  margin: 0 0 5px 0;
}
form table tr td ul.list2 li:not(last-child) input[type=radio] {
  margin: 0 5px 0 0;
}
form table tr td label#is_course09,
form table tr td label#is_course011 {
  margin-bottom: 30px;
}
form table tr.tr-course label {
  display: block;
  margin-bottom: 10px;
}

.error,
#card-errors {
  color: #C00;
  font-weight: bold;
  font-size: 80%;
}

p.centre {
  text-align: center;
}

.thanks_box {
  text-align: center;
  margin: 100px 0;
}
.thanks_box .back_to_top {
  margin: 50px 0 0 0;
}
.thanks_box .back_to_top a:before {
  content: "<";
  margin: 0 10px 0 0;
  display: inline-block;
  transform: scale(0.7, 1);
}

#columns-list {
  margin-top: 150px;
}
@media screen and (max-width: 768px) {
  #columns-list {
    margin-top: 80px;
  }
}
#columns-list .columns-list-container {
  max-width: 1024px;
  margin: 50px auto;
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  #columns-list .columns-list-container {
    display: block;
  }
}
#columns-list .columns-list-container .columns-side {
  width: 20%;
}
@media screen and (max-width: 768px) {
  #columns-list .columns-list-container .columns-side {
    display: none;
  }
}
#columns-list .columns-list-container .columns-side h4 {
  border-left: #009444 solid 8px;
  padding-left: 5px;
  margin-bottom: 10px;
}
#columns-list .columns-list-container .columns-side ul {
  margin-bottom: 30px;
  padding-left: 1em;
}
#columns-list .columns-list-container .columns-side ul li {
  margin-bottom: 5px;
}
#columns-list .columns-list-container .columns-list-main {
  width: 70%;
}
@media screen and (max-width: 768px) {
  #columns-list .columns-list-container .columns-list-main {
    width: 90%;
    margin: 0 auto;
  }
}
#columns-list .columns-list-container .columns-list-main .columns-list-item {
  display: flex;
  border-bottom: 1px solid #099444;
  padding: 20px;
}
#columns-list .columns-list-container .columns-list-main .columns-list-item:first-child {
  border-top: 1px solid #009444;
}
@media screen and (max-width: 768px) {
  #columns-list .columns-list-container .columns-list-main .columns-list-item {
    display: block;
  }
}
#columns-list .columns-list-container .columns-list-main .columns-list-item .columns-list-img {
  width: 20%;
  height: 120px;
  margin-right: 20px;
}
@media screen and (max-width: 768px) {
  #columns-list .columns-list-container .columns-list-main .columns-list-item .columns-list-img {
    width: 100%;
  }
}
#columns-list .columns-list-container .columns-list-main .columns-list-item .columns-list-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#columns-list .columns-list-container .columns-list-main .columns-list-item .columns-list-contents {
  width: 80%;
}
@media screen and (max-width: 768px) {
  #columns-list .columns-list-container .columns-list-main .columns-list-item .columns-list-contents {
    width: 100%;
  }
}
#columns-list .columns-list-container .columns-list-main .columns-list-item .columns-list-contents time {
  color: #999;
  font-size: 0.8em;
}
#columns-list .columns-list-container .columns-list-main .columns-list-item .columns-list-contents h3 {
  font-size: 1.2em;
  margin-bottom: 5px;
}
#columns-list .columns-list-container .columns-list-main .columns-list-item .columns-list-contents h3 a {
  color: #009444;
  font-weight: bold;
}
#columns-list .columns-list-container .columns-list-main .columns-list-item .columns-list-contents p {
  margin-bottom: 5px;
}
#columns-list .columns-list-container .columns-list-main .columns-list-item .columns-list-contents .columns-list-cat span {
  color: #009444;
  font-size: 0.7em;
  margin-right: 5px;
}
#columns-list .columns-list-container .columns-list-main .columns-list-item .columns-list-contents .columns-list-cat span a {
  color: #009444;
}

.breadcrumb {
  max-width: 1200px;
  margin: 120px auto 0;
  padding: 0 20px;
}
.breadcrumb ul {
  display: flex;
  line-height: 1.5em;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .breadcrumb ul {
    overflow-x: auto;
    white-space: nowrap;
    overflow-scrolling: touch;
    -webkit-overflow-scrolling: touch;
  }
}
.breadcrumb li {
  margin-right: 2em;
  position: relative;
  font-size: 12px;
  font-weight: normal;
}
@media screen and (max-width: 768px) {
  .breadcrumb li {
    font-size: 10px;
  }
}
.breadcrumb li a {
  color: #555;
  font-size: 12px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .breadcrumb li a {
    font-size: 10px;
  }
}
.breadcrumb li:after {
  content: ">";
  display: block;
  width: 15px;
  height: 15px;
  position: absolute;
  top: 0;
  right: -25px;
}
.breadcrumb li:last-child:after {
  display: none;
}

#columns-single {
  padding: 30px 0;
}
#columns-single .columns-single-container {
  max-width: 1024px;
  margin: 0 auto;
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  #columns-single .columns-single-container {
    display: block;
  }
}
#columns-single .columns-single-container .columns-side {
  width: 20%;
}
@media screen and (max-width: 768px) {
  #columns-single .columns-single-container .columns-side {
    display: none;
  }
}
#columns-single .columns-single-container .columns-side h4 {
  border-left: #009444 solid 8px;
  padding-left: 5px;
  margin-bottom: 10px;
}
#columns-single .columns-single-container .columns-side ul {
  margin-bottom: 30px;
  padding-left: 1em;
}
#columns-single .columns-single-container .columns-side ul li {
  margin-bottom: 5px;
}
#columns-single .columns-single-container .columns-single-main {
  width: 70%;
}
@media screen and (max-width: 768px) {
  #columns-single .columns-single-container .columns-single-main {
    width: 90%;
    margin: 0 auto;
  }
}
#columns-single .columns-single-container .columns-single-main .columns-single-item {
  border: 1px solid #099444;
  padding: 10px 50px;
}
#columns-single .columns-single-container .columns-single-main .columns-single-item:first-child {
  border-top: 1px solid #009444;
}
#columns-single .columns-single-container .columns-single-main .columns-single-item .columns-single-img {
  width: 500px;
  height: 300px;
  margin: 20px auto;
}
@media screen and (max-width: 768px) {
  #columns-single .columns-single-container .columns-single-main .columns-single-item .columns-single-img {
    width: 100%;
    height: 100%;
  }
}
#columns-single .columns-single-container .columns-single-main .columns-single-item .columns-single-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#columns-single .columns-single-container .columns-single-main .columns-single-item .columns-single-contents h2 {
  font-size: 1.5em;
  font-weight: bold;
  margin: 1.5em 0;
}
#columns-single .columns-single-container .columns-single-main .columns-single-item .columns-single-contents p {
  margin: 1.5em 0;
}
#columns-single .columns-single-container .columns-single-main .columns-single-item .columns-single-contents blockquote {
  margin-left: 2em;
  font-size: 0.9em;
  background: #eee;
  padding: 20px;
}
#columns-single .columns-single-container .columns-single-main .columns-single-item .columns-single-contents blockquote p {
  margin: 0;
}
#columns-single .columns-single-container .columns-single-main .columns-single-item .columns-single-contents img {
  max-width: 100%;
  height: 100%;
}
#columns-single .columns-single-container .columns-single-main .columns-single-item time {
  color: #999;
  font-size: 0.8em;
}
#columns-single .columns-single-container .columns-single-main .columns-single-item h1 {
  font-size: 1.2em;
  margin-bottom: 5px;
}
#columns-single .columns-single-container .columns-single-main .columns-single-item h1 a {
  color: #009444;
  font-weight: bold;
}
#columns-single .columns-single-container .columns-single-main .columns-single-item .columns-single-cat span {
  color: #009444;
  font-size: 0.7em;
  padding: 2px;
  border-radius: 5px;
  margin-right: 5px;
}/*# sourceMappingURL=layout.css.map */