#form table th@charset "utf-8";
/* CSS Document */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap");
@import url("https://fonts.googleapis.com/css?family=Roboto+Condensed:400,700");
@import url("https://fonts.googleapis.com/earlyaccess/notosansjp.css");
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  word-break: break-all;
}
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
ul,
ol {
  list-style: none;
}
html,
body {
  margin: 0 auto;
  padding: 0;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",
    "メイリオ", "ＭＳ Ｐゴシック", sans-serif !important;
  font-size: 24px;
  -webkit-text-size-adjust: 100%;
  text-align: left;
  color: #000;
  min-width: 750px;
}
@media print, screen and (min-width: 1000px) {
  html,
  body {
    font-size: 18px;
    min-width: 1120px;
    font-size: 18px;
  }
}
img {
  border-style: none;
  vertical-align: bottom;
  padding: 0;
  line-height: 0em;
  max-width: 100%;
  height: auto;
}
figure {
  margin: 0 auto;
  text-align: center;
}
p {
  line-height: 1.5em;
  margin: 0 0 1em;
  padding: 0;
  text-align: left;
  background: url(../images/alpha.png);
}
p:last-child {
  margin: 0;
}
a {
  color: inherit;
  text-decoration: none;
}
a:hover {
}
.opa {
  transition: all 0.3s ease;
}
.opa:hover {
  opacity: 0.7;
}
.left {
  text-align: left;
}
.right {
  text-align: right;
}
.center {
  text-align: center;
}
.clear {
  clear: both;
}
.clearfix:after {
  margin: 0;
  padding: 0;
  visibility: hidden;
  content: ".";
  display: block;
  line-height: 0;
  clear: both;
}
#wrapper {
  width: 750px;
  margin: 0 auto;
  box-shadow: rgba(0, 0, 0, 0.2) 0 0 10px 5px;
}
@media print, screen and (min-width: 1000px) {
  #wrapper {
    width: 100%;
    box-shadow: none;
    margin: 100px auto 0;
  }
}
/*ヘッダー*/
#fixed_h {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 750px;
  margin: auto;
  pointer-events: none;
  z-index: 101;
}
#menu_btn {
  width: 40px;
  height: 40px;
  cursor: pointer;
  position: absolute;
  right: 30px;
  top: 30px;
  background: rgba(255, 255, 255, 0.8);
  pointer-events: all;
  z-index: 105;
  transition: 0.3s;
}
/*#menu_btn.shadow{ box-shadow:rgba(0, 0, 0, 0.05) 0 0 5px 2px;}*/
#menu_btn span {
  display: inline-block;
  height: 3px;
  width: 32px;
  background: #ffb500;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: 0.3s;
}
#menu_btn:before {
  content: "";
  display: inline-block;
  height: 3px;
  width: 32px;
  background: #ffb500;
  position: absolute;
  left: 0;
  right: 0;
  top: 10px;
  margin: auto;
  transition: 0.3s;
}
#menu_btn:after {
  content: "";
  display: inline-block;
  height: 3px;
  width: 32px;
  background: #ffb500;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 10px;
  margin: auto;
  transition: 0.3s;
}
#menu_btn.active {
  border-color: #fff;
  box-shadow: none !important;
}
#menu_btn.active span {
  opacity: 0;
}
#menu_btn.active:before {
  transform: rotate(-45deg);
  transform-origin: right top;
  top: 20%;
  right: 50%;
}
#menu_btn.active:after {
  transform: rotate(45deg);
  transform-origin: right bottom;
  bottom: 20%;
  right: 50%;
}
@media print, screen and (min-width: 1000px) {
  #fixed_h {
    width: 100%;
  }
}
#fixed_h02 {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 750px;
  margin: auto;
  z-index: 101;
  background: #fff;
}
#fixed_h02.shadow {
  box-shadow: rgba(0, 0, 0, 0.1) 0 0 5px 2px;
}
#fixed_h02 #logo {
  padding: 20px 30px;
}
#fixed_h02 #logo img {
  height: 60px;
}
#fixed_h02 #menu_btn {
  right: 0;
  top: 0;
  width: 100px;
  height: 100px;
  background: #ffb500;
}
#fixed_h02 #menu_btn span {
  background: #fff;
}
#fixed_h02 #menu_btn:before {
  background: #fff;
  top: 40px;
}
#fixed_h02 #menu_btn:after {
  background: #fff;
  bottom: 40px;
}
#fixed_h02 #menu_btn.active:before {
  background: #fff;
  top: 37%;
  right: 10%;
}
#fixed_h02 #menu_btn.active:after {
  background: #fff;
  bottom: 37%;
  right: 10%;
}
@media print, screen and (min-width: 1000px) {
  #fixed_h02 {
    width: 100%;
  }
}
#menu {
  display: none;
  align-items: center;
  justify-content: center;
  background: #fff;
  width: 100%;
  max-width: 750px;
  height: 100%;
  margin: auto;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: 99;
}
#menu ul {
  width: 560px;
  margin: 0 auto;
}
#menu ul li a {
  display: block;
  padding: 2em 1.5em;
  font-size: 24px;
  line-height: 1em;
  font-weight: 600;
  pointer-events: all;
  transition: 0.3s;
}
#menu ul li a:hover {
  color: #ffb500;
}
#menu ul li:not(:last-child) {
  border-bottom: 5px solid #ffb500;
}
@media print, screen and (min-width: 1000px) {
  #menu {
    max-width: 100%;
  }
  #menu ul {
    width: 750px;
  }
}
header {
  background: linear-gradient(
    0deg,
    rgb(255 181 0) 50%,
    rgb(255 181 0) 50%,
    rgb(255 255 255) 50%,
    rgb(255 255 255) 100%
  );
}
#header {
  background: url("../images/mv_bg.jpg") center center no-repeat;
  background-size: 100% auto;
  padding: 20px 20px 20px;
  margin: 0 auto;
}
#header p {
  text-align: center;
  color: #595959;
  line-height: 1em;
  margin-bottom: 20px;
}
#header h1 {
  text-align: center;
  margin-bottom: 450px;
}
#header ul.mv_txt01 {
  display: table;
  border-collapse: separate;
  border-spacing: 15px 0;
  margin: 0 auto 20px;
  position: relative;
  left: -10px;
}
#header ul.mv_txt01 li {
  display: table-cell;
  vertical-align: bottom;
}
/*#header ul.mv_txt01 li a{ display: block; border: 2px solid #fff; background: #fe7200; padding: 10px 10px 15px; text-align: center; font-size: 24px; font-weight: bold; color: #fff; line-height: 1.25em; border-radius: 8px;}*/
#header ul.mv_txt02 {
  display: flex;
  margin: 0 5px;
}
#header ul.mv_txt02 li {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(20% - 10px);
  margin: 0 5px;
  padding-bottom: 0.25em;
  background: #00b0ef;
  color: #fff;
  text-align: center;
  font-size: 27px;
  line-height: 1.25em;
  letter-spacing: -0.05em;
  font-weight: bold;
  height: 130px;
  border-radius: 50%;
}
#header_in {
  text-align: center;
}
@media print, screen and (min-width: 1000px) {
  #header {
    background: url("../images/mv_bg_pc.jpg") center top no-repeat;
    background-size: cover;
    padding: 30px 0 60px;
    margin: 0 auto;
    text-align: center;
  }
  #header_in {
    width: 1100px;
    margin: 0 auto;
  }
  #header h1 {
    margin-bottom: 60px;
  }
  #header ul.mv_txt01 {
    border-spacing: 20px 0;
    margin: 0 0 20px auto;
    left: auto;
    right: -20px;
  }
  #header ul.mv_txt02 {
    width: 710px;
    margin: 0 auto;
  }
  #header ul.mv_txt02 li {
    width: calc(20% - 10px);
    margin: 0 5px;
    height: 130px;
  }
}
/*フッター*/
#f_nav {
  width: 560px;
  margin: 0 auto;
  padding: 50px 0 100px;
}
#f_nav ul li {
  border-bottom: 4px solid #e8e8e8;
}
#f_nav ul li a {
  display: block;
  padding: 2em 3em;
  font-size: 24px;
  line-height: 1em;
  font-weight: 600;
  pointer-events: all;
  transition: 0.3s;
}
#f_nav ul li a:hover {
  color: #ffb500;
}
#comp {
  background: #f7f7f7;
  color: #333;
  padding: 50px 0;
}
#comp h2 {
  font-size: 42px;
  margin-bottom: 50px;
  text-align: center;
}
#comp table {
  font-size: 24px;
  line-height: 1.5em;
  width: 650px;
  margin: 0 auto;
}
#comp table th {
  display: block;
  width: 100%;
  font-weight: 700;
  margin-bottom: 5px;
}
#comp table td {
  display: block;
  width: 100%;
  margin-bottom: 50px;
}
#comp table tr:last-child td {
  padding-bottom: 0;
}
#comp table small {
  font-size: 20px;
}
#comp02 {
  background: #f7f7f7;
  color: #333;
  padding: 50px;
}
#comp02 p {
  font-size: 24px;
}
#access {
  background: #f7f7f7;
  padding: 50px;
  font-size: 24px;
}
#access p {
  margin: 0 auto;
}
#access dl {
  display: table;
  table-layout: fixed;
  width: 100%;
}
#access dl dt {
  display: table-cell;
  vertical-align: middle;
  font-weight: bold;
  width: 2.5em;
}
#access dl dd {
  display: table-cell;
  vertical-align: middle;
}
#g_map iframe {
  width: 100%;
  height: 235px;
  vertical-align: bottom;
}
p.copyright {
  font-size: 22px;
  line-height: 1.5em;
  font-weight: 100;
  color: #333;
  text-align: center;
  padding: 10px;
}
@media print, screen and (min-width: 1000px) {
  #f_nav {
    width: 100%;
    min-width: 1000px;
    padding: 50px 0;
    text-align: center;
    letter-spacing: -1em;
  }
  #f_nav ul li {
    display: inline-block;
    letter-spacing: 0;
    vertical-align: middle;
    border: none;
    border-right: 3px solid #e8e8e8;
  }
  #f_nav ul li:last-child {
    border-right: none;
  }
  #f_nav ul li a {
    padding: 0.25em 1.75em;
    font-size: 18px;
  }
  #f_nav ul li:first-child a {
    padding-left: 0;
  }
  #f_nav ul li:last-child a {
    padding-right: 0;
  }
  #comp {
    padding: 50px 0 25px;
  }
  #comp h2 {
    font-size: 28px;
  }
  #comp .pc_comp_table {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    margin: 0 auto;
  }
  #comp table {
    font-size: 18px;
    width: auto;
    margin: 0 80px;
  }
  #comp table small {
    font-size: 18px;
  }
  #comp02 {
    padding: 30px 0;
  }
  #comp02 p {
    width: 900px;
    margin: 0 auto;
    font-size: 18px;
    line-height: 1.75em;
  }
  #g_map iframe {
    height: 450px;
  }
  p.copyright {
    font-size: 14px;
  }
}
/*固定フッター*/
#fixed_ban {
  opacity: 0;
  pointer-events: none;
  transition: 0.3s;
}
#fixed_ban.active {
  opacity: 1;
  pointer-events: all;
}
#fixed_ban {
  position: fixed;
  width: 750px;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  background: rgba(221, 221, 221, 0.8);
  padding: 16px 4px;
  z-index: 50;
}
#fixed_ban ul {
  display: table;
  width: 100%;
  border-collapse: separate;
  border-spacing: 2px 0;
  text-align: center;
}
#fixed_ban ul li {
  display: table-cell;
  vertical-align: middle;
}
@media print, screen and (min-width: 1000px) {
  #fixed_ban {
    width: 100%;
    padding: 16px 0;
  }
  #fixed_ban ul {
    width: 1120px;
    margin: 0 auto;
    border-spacing: 2px 0;
  }
}
/*メイン*/
#content {
  /*overflow:hidden;*/
}
section {
  width: 100%;
  background: #fff;
  margin: 0 auto;
  padding: 50px 0;
}
.maincontent {
  padding: 0;
  margin: 0 auto;
  width: 650px;
}
@media print, screen and (min-width: 1000px) {
  .maincontent {
    width: 1100px;
  }
  .maincontent_in {
    width: 900px;
    margin: 0 auto;
  }
}
/*youtube*/
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25% !important;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
.youtube video {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
@media print, screen and (min-width: 1000px) {
  .movie_width {
    width: 650px;
    margin: 0 auto;
  }
}
/*title*/
h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.25em;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
}
h2.tit_h2 {
  font-size: 42px;
  padding-left: 30px;
  border-left: 10px solid #fe7200;
  margin-bottom: 50px;
}
h2.tit_h2.blue {
  color: #000;
  border-color: #28bcf2;
}
h3.tit_h3 {
  text-align: center;
  font-size: 34px;
  margin-bottom: 30px;
  color: #fe7200;
}
@media print, screen and (min-width: 1000px) {
  h2.tit_h2 {
    font-size: 28px;
    margin-bottom: 30px;
  }
  h3.tit_h3 {
    font-size: 28px;
    margin-bottom: 30px;
  }
}
/*btn*/
figure.btn {
  margin-top: 50px;
}
figure.btn a {
  display: block;
  width: 100%;
  margin: 0 auto;
  background: #fff;
  color: #00b0ef;
  font-size: 28px;
  font-weight: 600;
  line-height: 1em;
  letter-spacing: 0.05em;
  padding: 30px 15px;
  text-align: center;
  border-radius: 2em;
  transition: 0.3s;
}
figure.btn a span.lsf {
  display: inline-block;
  margin: 0 0 0 30px;
}
figure.btn a:hover {
  background: #00b0ef;
  color: #fff;
  box-shadow: rgba(0, 0, 0, 0.1) 0 0 10px 5px;
}
@media print, screen and (min-width: 1000px) {
  figure.btn a {
    display: inline-block;
    width: auto;
    padding: 20px 60px;
    font-size: 22px;
  }
}

/* 250122(修正) */
/*トップページ*/
#recruitment {
  background: #fffbe7;
  text-align: center;
}
#recruitment > * {
  box-sizing: border-box;
}
#recruitment h2 {
  position: relative;
  display: inline-block;
  border-left: none;
  margin-top: 40px;
}
#recruitment h2:after {
  content: "";
  display: block;
  background-image: url(../images/flag.png);
  background-size: cover;
  width: 99px;
  height: 105px;
  position: absolute;
  bottom: -5px;
  left: -20px;
}
@media screen and (max-width: 768px) {
  #recruitment h2::after {
    bottom: 5px;
    left: -35px;
  }
}
#recruitment .lead {
  text-align: center;
}
#recruitment .lead .ib {
  display: inline-block;
}
#recruitment .recruitment_box_wrap {
  margin-top: 40px;
}
#recruitment .recruitment_box {
  position: relative;
  background-color: #fff;
  border: 3px solid #fe7200;
  border-radius: 12px;
  overflow: hidden;
  z-index: 1;
}
#recruitment .recruitment_box + .recruitment_box {
  margin-top: 20px;
}
#recruitment .recruitment_box:hover {
  opacity: 0.9;
}
#recruitment .recruitment_box.online {
  border: 2px solid #28bcf2;
  box-shadow: 0px 10px 5px 0px rgba(0, 0, 0, 0.08);
}
#recruitment .recruitment_box a {
  display: block;
  height: 100%;
}

#recruitment .recruitment_box_title {
  position: relative;
  background-color: #fe7200;
  font-size: 32px;
  color: #fff;
  padding: 20px 0;
  border-radius: 6px 6px 0px 0px;
}
#recruitment .recruitment_box_title:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -10px;
  background-color: #fe7200;
  width: 30px;
  height: 12px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  margin: auto;
}
#recruitment .recruitment_box_main {
  background-image: url(../images/recruitment-bg01.jpg?d=250311);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top right;
  padding: 30px 28px 20px;
  height: calc(100% - 80px);
  display: flex;
  flex-wrap: wrap;
}
#recruitment .online .recruitment_box_main {
  background-image: url(../images/recruitment-bg02.jpg);
}
#recruitment .recruitment_box_main .recruitment_box_inner {
  text-align: left;
  width: 100%;
}
#recruitment .recruitment_box_main .info {
  font-size: 19px;
  font-weight: 600;
}
#recruitment .recruitment_box_main .info .em {
  color: #fe7200;
}
#recruitment .recruitment_box_main dl {
  background-color: rgba(254, 114, 0, 0.2);
  padding: 15px;
  margin: 20px 0;
  letter-spacing: 0.2px;
  font-feature-settings: "palt";
  width: 60%;
}
#recruitment .recruitment_box_main dt {
  position: relative;
  font-size: 18px;
  font-weight: 600;
  padding-left: 18px;
  margin-bottom: 10px;
}
#recruitment .recruitment_box_main dt:after {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  background-color: #fe7200;
  border-radius: 50px;
  position: absolute;
  top: 4px;
  bottom: 0;
  left: 0;
  margin: auto;
}
#recruitment .recruitment_box_main dd {
  font-size: 15px;
  margin-top: 3px;
}
#recruitment .recruitment_box_main dd .em {
  font-weight: 600;
}
#recruitment .recruitment_box_main dd.ind {
  padding-left: 0.5em;
  text-indent: -0.5em;
}
#recruitment .recruitment_box_main .btn_wrap {
  width: 100%;
  align-self: flex-end;
}
#recruitment .recruitment_box_main .btn {
  position: relative;
  width: 100%;
  background-color: #fe7200;
  color: #fff;
  font-weight: 600;
  font-size: 22px;
  text-align: center;
  border-radius: 50px;
  padding: 12px 0;
}
#recruitment .recruitment_box_main .btn:after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 5%;
  content: "";
  width: 10px;
  height: 10px;
  margin: auto;
  border: 0px;
  border-top: solid 5px #ffffff;
  border-right: solid 5px #ffffff;
  transform: rotate(45deg);
  z-index: 1;
}
#recruitment .online .recruitment_box_main dl {
  background-color: #e9f8fe;
}
#recruitment .online .recruitment_box_title:after,
#recruitment .online .recruitment_box_main .btn,
#recruitment .online .recruitment_box_title,
#recruitment .online .recruitment_box_main dt:after {
  background-color: #28bcf2;
}
#recruitment .online .recruitment_box_main .info .em {
  color: #28bcf2;
  font-size: 1.2em;
}

#recruitment figure.btn a {
  color: #fff;
  background: #ffb500;
}
#recruitment figure.btn a:hover {
  background: #fff;
  color: #ffb500;
}
@media print, screen and (min-width: 1000px) {
  #recruitment .recruitment_box_wrap {
    display: flex;
    justify-content: center;
  }
  #recruitment .recruitment_box + .recruitment_box {
    margin-top: 0;
  }
}
/* 250122250122（修正ここまで） */

/*voice01*/
#voice01 {
  background: url("../images/bg01.jpg") center top no-repeat;
  background-size: cover;
}
#voice01 p.lead {
  text-align: center;
  margin-bottom: 40px;
}
#voice01 ul {
  display: table;
  table-layout: fixed;
  width: calc(100% + 20px);
  margin-left: -10px;
  border-collapse: separate;
  border-spacing: 10px 0;
}
#voice01 ul li {
  display: table-cell;
  vertical-align: top;
  background: #fff;
  box-shadow: rgba(0, 0, 0, 0.04) 10px 10px 13px 10px;
}
#voice01 ul li dl dd {
  padding: 20px 0;
}
#voice01 ul li p {
  padding-left: 1em;
  line-height: 1.25em;
  margin: 0;
  position: relative;
}
#voice01 ul li p:before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
#voice01 .textbox {
  background-color: rgba(255, 255, 255, 0.6);
  margin: 2rem auto;
  padding: 1rem;
}
@media print, screen and (min-width: 1000px) {
  #voice01 p.lead {
    font-size: 22px;
  }
  #voice01 ul {
    width: 670px;
    margin: 0 auto;
  }
  #voice01 ul li dl dd {
    padding: 20px;
  }
  #voice01 ul li p {
    font-size: 18px;
  }
  #voice01 .textbox {
    max-width: 670px;
    font-size: 16px;
  }
}
/*voice02*/
#voice02 {
  background: url("../images/bg01.jpg") center top no-repeat; /*background-size: cover;*/
}
#voice02 h3 {
  margin-bottom: 50px;
  font-size: 42px;
  line-height: 1em;
  padding: 15px 0 15px 30px;
  text-align: left;
  border-left: 10px solid #fff;
}
#voice02 #voice02_box {
  /*overflow: hidden; overflow-x: scroll; -webkit-overflow-scrolling: touch;*/
  width: 100%;
  height: 575px;
}
#voice02 ul {
  letter-spacing: -1em;
  width: 1640px; /*width: 760px;*/
}
#voice02 ul li {
  display: inline-block;
  vertical-align: top;
  letter-spacing: 0;
  width: 350px;
  margin-right: 60px;
  background: #fff;
  box-shadow: rgba(0, 0, 0, 0.04) 10px 10px 13px 10px;
}
/*#voice02 ul li:last-child{ margin-right: 0;}*/
#voice02 ul li dl dd {
  padding: 20px 0;
}
#voice02 ul li p {
  padding-left: 1em;
  line-height: 1.25em;
  margin: 0;
  font-size: 28px;
}
#voice02 ul li p.sign {
  font-size: 24px;
  margin-top: 1em;
  font-weight: 600;
}
@media print, screen and (min-width: 1000px) {
  #voice02 h3 {
    font-size: 28px;
  }
  #voice02 #voice02_box {
    width: 760px;
    height: 480px;
    margin: 0 auto;
  }
  #voice02 ul li p {
    font-size: 18px;
  }
  #voice02 ul li p.sign {
    font-size: 18px;
  }
}
/*teacher*/
#teacher {
  background: url("../images/bg01.jpg") center top no-repeat;
  background-size: cover;
  padding-bottom: 20px;
}
#teacher h3 {
  margin-bottom: 50px;
  font-size: 42px;
  line-height: 1em;
  padding: 15px 0 15px 30px;
  text-align: left;
  border-left: 10px solid #fff;
}
#teacher p.lead {
  font-size: 28px;
  margin: 30px;
}
#teacher ul {
  width: calc(100% + 10px);
  margin-left: -5px;
  letter-spacing: -1em;
}
#teacher ul li {
  display: inline-block;
  vertical-align: top;
  letter-spacing: 0;
  width: calc((100% - 10px * 2) / 3);
}
#teacher ul li h4 {
  font-size: 24px;
  letter-spacing: 0;
  font-weight: 400;
  margin-top: 10px;
}
#teacher ul li h4 strong {
  font-size: 28px;
  font-weight: 400;
  display: block;
}
#teacher ul li h4 span {
  font-size: 22px;
  display: block;
}
#teacher ul li p {
  font-size: 22px;
  line-height: 1.25em;
  margin: 0.25em 0 0;
}
@media print, screen and (min-width: 1000px) {
  #teacher {
    padding-bottom: 75px;
  }
  #teacher h3 {
    font-size: 28px;
  }
  #teacher p.lead {
    font-size: 18px;
    text-align: center;
    margin: 0 auto 50px;
  }
  #teacher ul li {
    width: calc(20% - 10px);
    margin: 0 5px;
  }
  #teacher ul li h4 {
    font-size: 18px;
  }
  #teacher ul li h4 strong {
    font-size: 18px;
  }
  #teacher ul li h4 span {
    font-size: 18px;
    margin-bottom: 0.5em;
  }
  #teacher ul li p {
    font-size: 16px;
    letter-spacing: -0.05em;
    margin: 0;
  }
}
/*column*/
#column {
  background: url("../images/bg01.jpg") center top no-repeat;
  background-size: cover;
}
#column h3 {
  font-size: 42px;
  margin-bottom: 50px;
  text-align: center;
}
#column ul {
  letter-spacing: -1em;
  width: calc(100% + 20px);
  margin-left: -10px;
}
#column ul li {
  display: inline-block;
  vertical-align: top;
  letter-spacing: 0;
  width: calc(50% - 20px);
  margin: 10px;
}
#column ul li dl {
  background: #fff;
  padding: 10px;
  border-radius: 8px;
  box-shadow: rgba(0, 0, 0, 0.2) 0 0 5px 0;
}
#column ul li dl dt img {
  border-radius: 8px;
}
#column ul li dl dd {
  padding: 20px 10px;
}
#column ul li dl dd p.date {
  font-size: 24px;
  color: #00b0ef;
  margin-bottom: 10px;
  min-height: 1em;
}
#column ul li dl dd p {
  font-size: 28px;
  margin: 0;
  min-height: 6em;
}
#column figure.btn a {
  background: #00b0ef;
  color: #fff;
}
#column figure.btn a:hover {
  background: #fff;
  color: #00b0ef;
  box-shadow: rgba(0, 0, 0, 0.1) 0 0 10px 5px;
}
@media print, screen and (min-width: 1000px) {
  #column h3 {
    font-size: 28px;
  }
  #column ul {
    width: 670px;
    margin: 0 auto;
  }
  #column ul li dl dd p.date {
    font-size: 18px;
  }
  #column ul li dl dd p {
    font-size: 18px;
  }
}
/*news*/
#news {
  padding-bottom: 75px;
}
#news h3 {
  font-size: 28px;
  font-weight: 400;
  border-bottom: 1px solid #000;
  margin-bottom: 50px;
}
#news table {
  table-layout: fixed;
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 28px;
  line-height: 1.25em;
}
#news table th {
  vertical-align: top;
  width: 180px;
  color: #00b0ef;
  font-weight: 400;
  padding-bottom: 50px;
}
#news table td {
  vertical-align: top;
  color: #333;
  font-weight: 400;
  padding-bottom: 50px;
}
#news p.txt_link {
  text-align: right;
  color: #00b0ef;
  font-size: 24px;
  font-weight: 600;
}
#news p.txt_link a {
  text-decoration: underline;
}
#news p.txt_link a:hover {
  text-decoration: none;
}
@media print, screen and (min-width: 1000px) {
  #news {
    padding-bottom: 50px;
  }
  #news h3 {
    font-size: 18px;
    padding: 0 1em 0.5em;
    margin-bottom: 30px;
  }
  #news table {
    font-size: 18px;
    width: calc(100% - 120px);
    margin: 0 auto;
  }
  #news p.txt_link {
    font-size: 16px;
  }
}
/*sec01*/
#sec01 {
  padding-bottom: 75px;
  background: url("../images/sec01_bg.jpg") center center no-repeat;
  background-size: cover;
}
#sec01 h2 {
  border-color: #ffb500;
}
#sec01 dl {
  width: calc(100% + 100px);
  margin-left: -50px;
  margin-bottom: 75px;
}
#sec01 dl dt {
  text-align: right;
  width: 590px;
  margin: 0 0 0 auto;
}
#sec01 dl dd {
  width: 600px;
  background: rgba(0, 0, 0, 0.45);
  color: #fff;
  padding: 45px;
  margin-top: -330px;
  position: relative;
  z-index: 5;
}
#sec01 dl dd p {
  font-size: 24px;
  line-height: 1.5em;
}
#sec01 figure.btn a {
  color: #ffb500;
}
#sec01 figure.btn a:hover {
  background: #ffb500;
  color: #fff;
}
@media print, screen and (min-width: 1000px) {
  #sec01 {
    padding-bottom: 50px;
    background: url("../images/sec01_bg_pc.jpg") center center no-repeat;
    background-size: cover;
  }
  #sec01 dl {
    width: 100%;
    margin-bottom: 60px;
  }
  #sec01 dl dd {
    padding: 45px;
    margin-top: -350px;
  }
  #sec01 dl dd p {
    font-size: 18px;
    line-height: 1.75em;
  }
}
/*follow*/
#follow h2 {
  background: #fe7200;
  color: #fff;
  padding: 30px;
  font-size: 52px;
  line-height: 1em;
  letter-spacing: 0.2em;
  text-align: center;
}
@media print, screen and (min-width: 1000px) {
  #follow h2 {
    padding: 20px;
    font-size: 36px;
  }
}
/*sec02*/
#sec02 {
  background: #fffbe7;
  padding-bottom: 75px;
}
#sec02 h2 {
  letter-spacing: 0.05em;
}
#sec02 .sec02_zu {
  margin-bottom: 30px;
}
#sec02 .sec02_zu p {
  font-size: 28px;
  font-weight: 600;
  margin-bottom: 20px;
}
#sec02 p.txt {
  text-align: center;
  font-size: 28px;
  margin-bottom: 20px;
}
#sec02 .skill {
  margin: 20px auto 50px;
}
#sec02 .skill ul {
  display: table;
  table-layout: fixed;
  width: calc(100% + 20px);
  margin-left: -10px;
  border-collapse: separate;
  border-spacing: 10px 0;
}
#sec02 .skill ul li {
  display: table-cell;
  background: #000;
  color: #fff;
  padding: 20px 0;
  border-radius: 8px;
}
#sec02 .skill ul li:nth-child(1) {
  background: #fe7200;
}
#sec02 .skill ul li:nth-child(2) {
  background: #ffb500;
}
#sec02 .skill ul li:nth-child(3) {
  background: #00b0ef;
}
#sec02 .skill ul li figure {
  margin-bottom: 15px;
}
#sec02 .skill ul li h3 {
  font-size: 28px;
  font-weight: 600;
  line-height: 1.25em;
  text-align: center;
}
#sec02 .skill ul li h3 span {
  font-size: 24px;
  font-weight: 400;
  display: block;
}
#sec02 .skill ul li h3 small {
  font-size: 22px;
  letter-spacing: 0;
}
#sec02 figure.btn a {
  color: #fff;
  background: #ffb500;
}
#sec02 figure.btn a:hover {
  background: #fff;
  color: #ffb500;
}
@media print, screen and (min-width: 1000px) {
  #sec02 {
    padding-bottom: 50px;
  }
  #sec02 .sec02_zu {
    width: 900px;
    margin: 0 auto 30px;
  }
  #sec02 .sec02_zu p {
    font-size: 18px;
    margin-bottom: 10px;
  }
  #sec02 p.txt {
    font-size: 18px;
  }
  #sec02 .skill {
    width: 900px;
    margin: 40px auto;
  }
  #sec02 .skill ul {
    width: calc(100% + 60px);
    margin-left: -30px;
    border-spacing: 30px 0;
  }
}
/*sec03*/
#sec03 dl {
  display: flex;
  align-items: center;
  width: calc(100% + 100px);
  margin: 75px 0 75px -50px;
}
#sec03 dl dt {
  padding: 50px 30px;
  width: 375px;
  position: relative;
  z-index: 5;
}
#sec03 dl dt h3 {
  font-size: 32px;
  letter-spacing: 0;
  color: #fe7200;
  font-weight: bold;
  margin-bottom: 40px;
  padding-left: 1em;
  position: relative;
}
#sec03 dl dt h3 span {
  position: absolute;
  left: 0;
  top: 0;
}
#sec03 dl dt p {
  font-size: 28px;
}
#sec03 dl dd {
  width: 375px;
}
#sec03 dl:nth-child(2n + 1) {
  flex-direction: row-reverse;
}
#sec03 dl:nth-child(2n + 1) dt {
  padding: 0 30px;
}
#sec03 figure.btn a {
  color: #00b0ef;
  background: #fff;
  border: 4px solid #47cefe;
}
#sec03 figure.btn a:hover {
  background: #47cefe;
  color: #fff;
}
@media print, screen and (min-width: 1000px) {
  #sec03 dl {
    width: 900px;
    margin: 0 auto 100px;
    align-items: flex-start;
  }
  #sec03 dl dt {
    padding: 50px 0;
    width: 50%;
  }
  #sec03 dl dt h3 {
    font-size: 18px;
    margin-bottom: 30px;
  }
  #sec03 dl dt p {
    font-size: 18px;
  }
  #sec03 dl dd {
    width: 50%;
  }
  #sec03 dl:nth-child(2n + 1) dt {
    padding: 50px 0;
  }
  #sec03 dl:nth-child(2n) dd {
    text-align: right;
  }
}
/*sec04*/
#sec04 figure.btn a {
  color: #00b0ef;
  background: #fff;
  border: 4px solid #47cefe;
}
#sec04 figure.btn a:hover {
  background: #47cefe;
  color: #fff;
}
#sec04 h3 {
  font-size: 32px;
  font-weight: bold;
  text-align: center;
  line-height: 1em;
  padding: 15px;
  margin: 60px auto 30px;
  border-radius: 2em;
}
#sec04 .lesson h3 {
  background: #c4e7ff;
  color: #2eabff;
}
#sec04 .course h3 {
  background: #fff3da;
  color: #fe7200;
}
@media print, screen and (min-width: 1000px) {
  #sec04 h3 {
    font-size: 28px;
    width: 525px;
  }
}
#sec04 dl {
  padding: 40px 30px;
  margin: 10px 30px;
}
#sec04 dl dt {
  color: #fff;
  font-size: 28px;
  line-height: 1.25em;
  font-weight: 600;
  margin-bottom: 10px;
  text-align: center;
  position: relative;
}
#sec04 dl dt span {
  display: inline-block;
  font-size: 24px;
  line-height: 1.25em;
}
#sec04 dl dt span.lsf {
  display: inline-block;
  vertical-align: middle;
  font-size: 28px;
  line-height: 1.25em;
  position: absolute;
  right: 0;
  top: calc(50% - 0.5em);
}
#sec04 dl dd {
  font-size: 24px;
}
#sec04 .lesson dl {
  background: #2eabff;
}
#sec04 .lesson dl dd p {
  text-align: center;
}
#sec04 .course dl {
  background: #ffb500;
}
@media print, screen and (min-width: 1000px) {
  #sec04 .lesson {
    text-align: center;
  }
  #sec04 .lesson dl {
    padding: 30px;
    margin: 0;
    width: 100%;
  }
  #sec04 .lesson dl dd {
    font-size: 22px;
  }
  #sec04 .lesson_in {
    display: flex;
    width: calc(100% + 40px);
    margin: 30px 0 30px -20px;
  }
  #sec04 .lesson_in a {
    width: calc(50% - 40px);
    margin: 0 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #2eabff;
  }
  #sec04 .course {
    text-align: center;
  }
  #sec04 .course dl {
    padding: 30px;
    margin: 0;
    width: 100%;
  }
  #sec04 .course dl dd {
    font-size: 18px;
  }
  #sec04 .course_in {
    display: flex;
    width: calc(100% + 40px);
    margin: 30px 0 30px -20px;
  }
  #sec04 .course_in a {
    width: calc(50% - 40px);
    margin: 0 20px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    background: #ffb500;
  }
}
#sec04 p.notice {
  padding-left: 1.25em;
  margin: 15px 30px 0;
  position: relative;
  font-size: 24px;
  font-weight: initial;
}
#sec04 p.notice:before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}
#sec04 p.notice a {
  text-decoration: underline;
  font-weight: 400;
  transition: 0.3s ease;
}
#sec04 p.notice a:hover {
  color: #ffb500;
}
@media print, screen and (min-width: 1000px) {
  #sec04 p.notice {
    font-size: 18px;
    display: inline-block;
    margin: 0 auto;
  }
}
/*sec05*/
#sec05 p.lead {
  font-size: 28px;
  margin: 30px;
}
#sec05 ul {
  margin: 75px auto;
}
#sec05 ul li {
  margin: 50px auto;
}
#sec05 ul li h3 {
  font-size: 28px;
  font-weight: 600;
  margin-bottom: 10px;
}
#sec05 figure.btn a {
  color: #fe7200;
  background: #fff;
  border: 4px solid #fe7200;
}
#sec05 figure.btn a:hover {
  background: #fe7200;
  color: #fff;
}
#sec05 p.lead a {
  text-decoration: underline;
  transition: 0.3s ease;
}
#sec05 p.lead a:hover {
  color: #ffb500;
}
@media print, screen and (min-width: 1000px) {
  #sec05 p.lead {
    font-size: 18px;
  }
  #sec05 ul {
    display: table;
    table-layout: fixed;
    width: calc(100% + 80px);
    margin-left: -40px;
    border-collapse: separate;
    border-spacing: 40px 0;
  }
  #sec05 ul li {
    display: table-cell;
    vertical-align: top;
    margin: 0;
  }
  #sec05 ul li h3 {
    font-size: 22px;
  }
}
/*下層ページ*/
#header02 {
  background: url("../images/page/header02_bg.png") center top no-repeat;
  background-size: cover;
  padding: 30px 50px;
}
#header02 h2 {
  font-size: 36px;
  text-align: center;
}
h3.main_tit_h3 {
  background: url("../images/page/page_tit_bg.png") center center no-repeat;
  background-size: cover;
  padding: 40px 50px;
  color: #fff;
  font-size: 42px;
  letter-spacing: 0.05em;
}
@media print, screen and (min-width: 1000px) {
  #header02 {
    background-size: auto;
  }
  #header02 h2 {
    font-size: 28px;
    text-align: center;
  }
  h3.main_tit_h3 {
    padding: 30px;
    color: #fff;
    font-size: 32px;
    text-align: center;
    background: url("../images/page/page_tit_bg_pc.png") center center no-repeat;
    background-size: cover;
  }
}
/*特徴*/
#feature h2.tit_h2 {
  font-size: 36px;
  letter-spacing: 0.05em;
}
#feature h4 {
  color: #00b0ef;
  font-size: 28px;
  margin-bottom: 1em;
}
#feature p {
  font-size: 28px;
}
#feature figure.zu01 img {
  width: 675px;
  margin-left: -12.5px;
}
@media print, screen and (min-width: 1000px) {
  #feature h2.tit_h2 {
    font-size: 28px;
  }
  #feature p {
    font-size: 18px;
  }
  #feature h4 {
    font-size: 18px;
  }
}
/*
#feature_teacher ul{ width: calc(100% + 12px); margin-left: -6px; display: table; table-layout: fixed; border-collapse: separate; border-spacing: 6px 0;}
#feature_teacher ul li{ display: table-cell; vertical-align: middle; position: relative;}
#feature_teacher ul li span{ position: absolute; right: 10px; bottom: 5px; font-size: 13px; font-weight: 600;}
#feature_teacher figure.btn a{ color: #fff; background: #ffb500;}
#feature_teacher figure.btn a:hover{ background: #fff; color: #ffb500;}
@media print, screen and (min-width:1000px){
#feature_teacher ul li span{ font-size: 18px;}
}
*/
#feature_teacher ul {
  width: calc(100% + 10px);
  margin-left: -5px;
  letter-spacing: -1em;
}
#feature_teacher ul li {
  display: inline-block;
  vertical-align: top;
  letter-spacing: 0;
  width: calc(33.3333% - 10px);
  margin: 30px 5px;
}
#feature_teacher ul li:nth-child(5) {
  width: calc(66.6666% - 10px);
}
#feature_teacher ul li:nth-child(5) figure {
  width: 50%;
  margin: 0 auto 0 0;
  position: relative;
}
#feature_teacher ul li:nth-child(5) figure span {
  position: absolute;
  right: 10px;
  bottom: 5px;
  font-size: 22px;
  font-weight: 600;
}
#feature_teacher ul li h4 {
  font-size: 24px;
  letter-spacing: 0;
  font-weight: 400;
  margin: 10px auto 0;
  color: #000;
}
#feature_teacher ul li h4 strong {
  font-size: 28px;
  font-weight: 400;
  display: block;
}
#feature_teacher ul li h4 span {
  font-size: 22px;
  display: block;
}
#feature_teacher ul li p {
  font-size: 22px;
  line-height: 1.25em;
  margin: 0.25em 0 0;
}
@media print, screen and (min-width: 1000px) {
  #feature_teacher ul li {
    width: calc(20% - 10px);
    margin: 0 5px;
  }
  #feature_teacher ul li:nth-child(5) {
    width: calc(20% - 10px);
  }
  #feature_teacher ul li:nth-child(5) figure {
    width: 100%;
  }
  #feature_teacher ul li:nth-child(5) figure span {
    font-size: 18px;
  }
  #feature_teacher ul li h4 {
    font-size: 18px;
  }
  #feature_teacher ul li h4 strong {
    font-size: 18px;
  }
  #feature_teacher ul li h4 span {
    font-size: 18px;
    margin-bottom: 0.5em;
  }
  #feature_teacher ul li p {
    font-size: 16px;
    letter-spacing: -0.05em;
    margin: 0;
  }
}

@media print, screen and (min-width: 1000px) {
  #feature_like {
    background: none;
  }
  #feature_like h2 {
    margin-bottom: 75px;
  }

  #feature_like .maincontent p {
    line-height: 1.75em;
  }
}
#feature_answer .answer_list {
  position: relative;
  width: calc(100% + 100px);
  margin-left: -50px;
}
#feature_answer .answer_list ul {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 30px;
  width: 650px;
  margin: auto;
}
#feature_answer .answer_list ul li {
  display: table;
  table-layout: fixed;
  width: 100%;
  font-size: 28px;
  margin-top: 20px;
}
#feature_answer .answer_list ul li span {
  display: table-cell;
  width: 60px;
  text-align: center;
  padding: 10px;
  font-weight: bold;
  background: #ffb500;
  color: #fff;
}
#feature_answer .answer_list ul li strong {
  display: table-cell;
  vertical-align: middle;
  padding: 10px;
  background: #fff0cc;
}
#feature_aim table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}
#feature_aim table th {
  vertical-align: top;
  font-size: 42px;
  font-weight: 800;
  width: 90px;
  padding: 20px 0;
  border-bottom: 2px solid #000;
}
#feature_aim table td {
  vertical-align: top;
  font-size: 26px;
  line-height: 1.25em;
  color: #545454;
  padding: 20px 0;
  border-bottom: 2px solid #000;
}
#feature_aim table tr:last-child th {
  border-bottom: none;
  padding-bottom: 0;
}
#feature_aim table tr:last-child td {
  border-bottom: none;
  padding-bottom: 0;
}
#feature_aim table tr:nth-child(1) th {
  color: #2e708b;
}
#feature_aim table tr:nth-child(2) th {
  color: #2f718c;
}
#feature_aim table tr:nth-child(3) th {
  color: #40d8ff;
}
#feature_aim table tr:nth-child(4) th {
  color: #ffb500;
}
#feature_aim table tr:nth-child(5) th {
  color: #ff7800;
}
@media print, screen and (min-width: 1000px) {
  #feature_aim table {
    display: none;
  }
}
#feature_important ul li {
  padding-left: 1em;
  font-size: 28px;
  position: relative;
}
#feature_important ul li:before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
#feature_important ul li a {
  text-decoration: underline;
}
#feature_important ul li a:hover {
  text-decoration: none;
}
#feature_important figure.btn a {
  color: #fff;
  background: #28bcf2;
}
#feature_important figure.btn a:hover {
  background: #fff;
  color: #28bcf2;
}
@media print, screen and (min-width: 1000px) {
  #feature_important ul li {
    font-size: 18px;
  }
}
/*カリキュラム*/
#curriculum_lead {
  background: #fffbe7;
}
#curriculum_lead ul {
  margin: 0 auto 30px;
}
#curriculum_lead ul {
  display: table;
  table-layout: fixed;
  width: calc(100% + 20px);
  margin-left: -10px;
  border-collapse: separate;
  border-spacing: 10px 0;
}
#curriculum_lead ul li {
  display: table-cell;
  background: #000;
  color: #fff;
  padding: 20px 0;
  border-radius: 8px;
}
#curriculum_lead ul li:nth-child(1) {
  background: #fe7200;
}
#curriculum_lead ul li:nth-child(2) {
  background: #ffb500;
}
#curriculum_lead ul li:nth-child(3) {
  background: #00b0ef;
}
#curriculum_lead ul li figure {
  margin-bottom: 15px;
}
#curriculum_lead ul li h3 {
  font-size: 28px;
  font-weight: 600;
  line-height: 1.25em;
  text-align: center;
}
#curriculum_lead ul li h3 span {
  font-size: 24px;
  font-weight: 400;
  display: block;
}
#curriculum_lead ul li h3 small {
  font-size: 22px;
  letter-spacing: 0;
}
#curriculum_lead p {
  text-align: center;
  font-size: 28px;
}
@media print, screen and (min-width: 1000px) {
  #curriculum_lead ul {
    width: calc(100% + 120px);
    margin-left: -60px;
    border-spacing: 60px 0;
  }
  #curriculum_lead p {
    font-size: 18px;
  }
}
/*メソッド*/
#curriculum_method {
  background: #fffbe7;
  padding: 0 0 100px;
}
#curriculum_method .maincontent {
  padding: 60px 30px;
  background: #fff;
}
#curriculum_method .maincontent .method:not(:last-child) {
  margin-bottom: 100px;
}
#curriculum_method h2 {
  display: table;
  table-layout: fixed;
  width: 100%;
  margin-left: -30px;
  margin-bottom: 50px;
  font-size: 36px;
  color: #fe7200;
}
#curriculum_method h2:first-child {
  margin-top: 0;
}
#curriculum_method h2 span {
  display: table-cell;
  vertical-align: middle;
  width: 120px;
  text-align: center;
}
#curriculum_method h2 strong {
  display: table-cell;
  vertical-align: middle;
}
#curriculum_method p {
  font-size: 28px;
}
#curriculum_method .method01 ul {
  letter-spacing: -1em;
  width: calc(100% + 10px);
  margin-left: -5px;
  margin-top: 45px;
}
#curriculum_method .method01 ul li {
  display: inline-block;
  vertical-align: middle;
  letter-spacing: 0;
  width: calc(50% - 10px);
  margin: 5px;
  background: #00b0ef;
  padding: 5px 10px;
  border-radius: 8px;
  color: #fff;
}
#curriculum_method .method01 ul li:nth-child(n + 5) {
  background: #ffba00;
}
#curriculum_method .method01 ul li span {
  display: table-cell;
  vertical-align: middle;
  width: 60px;
  text-align: left;
}
#curriculum_method .method01 ul li strong {
  display: table-cell;
  vertical-align: middle;
  font-size: 26px;
}
#curriculum_method .method01 ul li:nth-child(3) strong {
  font-size: 23px;
  line-height: 1em;
}
#curriculum_method .method02 figure img {
  width: 690px;
  max-width: 690px;
  margin-left: -50px;
}
#curriculum_method .method03 h2 {
  color: #ffb500;
}
#curriculum_method .method03 figure {
  margin: 50px auto;
}
#curriculum_method .method04 h2 {
  color: #00b0ef;
  margin-left: 0;
}
#curriculum_method .method04 h2 strong {
  padding-left: 20px;
}
#curriculum_method .method04 ul {
  letter-spacing: -1em;
  width: calc(100% + 20px);
  margin-left: -10px;
  margin-top: 30px;
}
#curriculum_method .method04 ul li {
  display: inline-block;
  vertical-align: middle;
  letter-spacing: 0;
  width: calc(33.3333% - 20px);
  margin: 10px;
}
#curriculum_method .method04 ul li p {
  text-align: center;
  font-size: 26px;
  line-height: 44px;
  font-weight: bold;
  margin-bottom: 10px;
}
#curriculum_method .method04 ul li figure {
  margin: 0 auto;
}
#curriculum_method .method04 ul li:nth-child(3) p {
  font-size: 22px;
  line-height: 44px;
}
#curriculum_method .method04 ul li:nth-child(4) p {
  font-size: 22px;
  line-height: 22px;
}
#curriculum_method .method04 ul li:nth-child(5) p {
  font-size: 22px;
  line-height: 22px;
}
@media print, screen and (min-width: 1000px) {
  #curriculum_method .maincontent {
    padding: 40px 100px;
  }
  #curriculum_method .maincontent .method:not(:last-child) {
    margin-bottom: 80px;
  }
  #curriculum_method h2 {
    margin-left: -20px;
    font-size: 22px;
    margin-bottom: 30px;
  }
  #curriculum_method h2 span {
    width: 100px;
  }
  #curriculum_method p {
    font-size: 18px;
  }
  #curriculum_method .method01 ul {
    width: 600px;
    margin: 40px auto 0;
  }
  #curriculum_method .method04 h2 strong {
    padding-left: 15px;
  }
  #curriculum_method .method04 ul {
    width: 600px;
    margin: 0 auto;
  }
  #curriculum_method .method04 ul li p {
    font-size: 20px;
  }
}
/*プログラム*/
#curriculum_program .program_list ul {
  display: flex;
  width: calc(100% + 10px);
  margin-left: -5px;
  margin-bottom: 50px;
}
#curriculum_program .program_list ul li {
  width: calc(25% - 10px);
  margin: 0 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background: #ffb500;
  color: #fff;
  padding: 10px 0;
  border-radius: 8px;
}
#curriculum_program .program_list ul li:nth-child(2n) {
  background: #40d8ff;
}
#curriculum_program .program_list ul li p {
  line-height: 1em;
  font-weight: bold;
  text-align: center;
  font-size: 26px;
  margin-top: 10px;
}
#curriculum_program .program_list ul li:nth-child(1) p {
  font-size: 28px;
}
#curriculum_program .program_list ul li:nth-child(3) p {
  font-size: 24px;
}
#curriculum_program .maincontent .program:not(:last-child) {
  margin-bottom: 100px;
}
#curriculum_program h2.tit_h2 span {
  display: block;
  font-size: 28px;
  line-height: 1.25em;
  margin-top: 0.25em;
  letter-spacing: 0.05em;
  padding-left: 1em;
  position: relative;
}
#curriculum_program h2.tit_h2 span:before {
  content: "－";
  position: absolute;
  left: 0;
  top: 0;
}
#curriculum_program .program01 h2.tit_h2 {
  border-color: #28bcf2;
}
#curriculum_program .program02 h2.tit_h2 {
  border-color: #ffb500;
}
#curriculum_program .program03 h2.tit_h2 {
  border-color: #28bcf2;
}
#curriculum_program .program04 h2.tit_h2 {
  border-color: #ffb500;
}
#curriculum_program p {
  font-size: 28px;
}
#curriculum_program figure {
  margin: 30px auto;
}
#curriculum_program ul li {
  display: table;
  table-layout: fixed;
  width: 100%;
  padding: 15px;
}
#curriculum_program ul li:nth-child(2n) {
  background: #e3f6fd;
}
#curriculum_program ul li span {
  display: table-cell;
  vertical-align: middle;
  width: 72px;
}
#curriculum_program ul li strong {
  display: table-cell;
  vertical-align: middle;
  font-size: 28px;
  line-height: 1.25em;
  padding-left: 15px;
}
#curriculum_program .program02 ul li:nth-child(2n) {
  background: #fff5de;
}
#curriculum_program .program04 ul li:nth-child(2n) {
  background: #fff5de;
}
#curriculum_program .program04 table {
  width: 80%;
  border: 0 #000000 solid;
  border-collapse: collapse;
  vertical-align: middle;
  margin-left: auto;
  margin-right: auto;
}
#curriculum_program .program04 table tr:nth-child(1) td:nth-child(1) {
  border: 0 #000000 solid;
  padding: 10px 10px;
  text-align: left;
  color: #ffffff;
  background-color: #00718e;
}
#curriculum_program .program04 table tr:nth-child(1) td:nth-child(2) {
  border: 0 #000000 solid;
  padding: 10px 10px;
  text-align: left;
  background-color: #cce3e8;
}
#curriculum_program .program04 table tr:nth-child(2) td:nth-child(1) {
  border: 0 #000000 solid;
  padding: 10px 10px;
  text-align: left;
  color: #ffffff;
  background-color: #009dc7;
}
#curriculum_program .program04 table tr:nth-child(2) td:nth-child(2) {
  border: 0 #000000 solid;
  padding: 10px 10px;
  text-align: left;
  background-color: #ccebf4;
}
#curriculum_program .program04 table tr:nth-child(3) td:nth-child(1) {
  border: 0 #000000 solid;
  padding: 10px 10px;
  text-align: left;
  color: #ffffff;
  background-color: #1dceff;
}
#curriculum_program .program04 table tr:nth-child(3) td:nth-child(2) {
  border: 0 #000000 solid;
  padding: 10px 10px;
  text-align: left;
  background-color: #d2f5ff;
}
#curriculum_program .program04 table tr:nth-child(4) td:nth-child(1) {
  border: 0 #000000 solid;
  padding: 10px 10px;
  text-align: left;
  color: #ffffff;
  background-color: #ffc000;
}
#curriculum_program .program04 table tr:nth-child(4) td:nth-child(2) {
  border: 0 #000000 solid;
  padding: 10px 10px;
  text-align: left;
  background-color: #fff2cc;
}
#curriculum_program .program04 table tr:nth-child(5) td:nth-child(1) {
  border: 0 #000000 solid;
  padding: 10px 10px;
  text-align: left;
  color: #ffffff;
  background-color: #ed7d31;
}
#curriculum_program .program04 table tr:nth-child(5) td:nth-child(2) {
  border: 0 #000000 solid;
  padding: 10px 10px;
  text-align: left;
  background-color: #fbe5d6;
}
#curriculum_program .program05 table {
  width: 80%;
  border: 3px solid #dbdbdb;
  border-collapse: collapse;
  background: #ededed;
  margin-left: auto;
  margin-right: auto;
  padding: 10px 10px;
}
#curriculum_program p.etc {
  margin: 10px 30px;
  font-size: 28px;
  text-align: right;
}
#curriculum_program .program05 figure.btn {
  margin-top: 50px;
}
#curriculum_program .program05 figure.btn a {
  display: block;
  width: 100%;
  margin: 0 auto;
  background: #fe7200;
  color: #fff;
  font-size: 28px;
  font-weight: 600;
  line-height: 1em;
  letter-spacing: 0.05em;
  padding: 30px 15px;
  text-align: center;
  border-radius: 2em;
  transition: 0.3s;
}
#curriculum_program .program05 figure.btn a span.lsf {
  display: inline-block;
  margin: 0 0 0 30px;
}
#curriculum_program .program05 figure.btn a:hover {
  background: #ef9a53;
  color: #fff;
  box-shadow: rgba(0, 0, 0, 0.1) 0 0 10px 5px;
}
@media print, screen and (min-width: 1000px) {
  #curriculum_program .program_list ul {
    width: 650px;
    margin: 0 auto 50px;
  }
  #curriculum_program h2.tit_h2 span {
    font-size: 24px;
  }
  #curriculum_program p {
    font-size: 18px;
  }
  #curriculum_program figure {
    margin: 50px auto 30px;
  }
  #curriculum_program ul {
    width: 650px;
    margin: 0 auto;
  }
  #curriculum_program p.etc {
    width: 600px;
    margin: 10px auto;
  }
  #curriculum_program .program04 table {
    width: 80%;
    border: 0 #000000 solid;
    border-collapse: collapse;
    vertical-align: middle;
    margin-left: auto;
    margin-right: auto;
  }
  #curriculum_program .program04 table tr:nth-child(1) td:nth-child(1) {
    border: 0 #000000 solid;
    padding: 10px 10px;
    text-align: left;
    color: #ffffff;
    background-color: #00718e;
  }
  #curriculum_program .program04 table tr:nth-child(1) td:nth-child(2) {
    border: 0 #000000 solid;
    padding: 10px 10px;
    text-align: left;
    background-color: #cce3e8;
  }
  #curriculum_program .program04 table tr:nth-child(2) td:nth-child(1) {
    border: 0 #000000 solid;
    padding: 10px 10px;
    text-align: left;
    color: #ffffff;
    background-color: #009dc7;
  }
  #curriculum_program .program04 table tr:nth-child(2) td:nth-child(2) {
    border: 0 #000000 solid;
    padding: 10px 10px;
    text-align: left;
    background-color: #ccebf4;
  }
  #curriculum_program .program04 table tr:nth-child(3) td:nth-child(1) {
    border: 0 #000000 solid;
    padding: 10px 10px;
    text-align: left;
    color: #ffffff;
    background-color: #1dceff;
  }
  #curriculum_program .program04 table tr:nth-child(3) td:nth-child(2) {
    border: 0 #000000 solid;
    padding: 10px 10px;
    text-align: left;
    background-color: #d2f5ff;
  }
  #curriculum_program .program04 table tr:nth-child(4) td:nth-child(1) {
    border: 0 #000000 solid;
    padding: 10px 10px;
    text-align: left;
    color: #ffffff;
    background-color: #ffc000;
  }
  #curriculum_program .program04 table tr:nth-child(4) td:nth-child(2) {
    border: 0 #000000 solid;
    padding: 10px 10px;
    text-align: left;
    background-color: #fff2cc;
  }
  #curriculum_program .program04 table tr:nth-child(5) td:nth-child(1) {
    border: 0 #000000 solid;
    padding: 10px 10px;
    text-align: left;
    color: #ffffff;
    background-color: #ed7d31;
  }
  #curriculum_program .program04 table tr:nth-child(5) td:nth-child(2) {
    border: 0 #000000 solid;
    padding: 10px 10px;
    text-align: left;
    background-color: #fbe5d6;
  }
  #curriculum_program .program05 table {
    width: 80%;
    border: 3px solid #dbdbdb;
    border-collapse: collapse;
    background: #ededed;
    margin-left: auto;
    margin-right: auto;
    padding: 10px 10px;
  }
}
/*クラス*/
#class_date .class_date_box:not(:last-child) {
  margin: 0 auto 100px;
}
#class_date .class_date_tit {
  border: 4px solid #000;
  font-size: 32px;
  font-weight: bold;
  line-height: 1em;
  padding: 30px 60px;
  border-radius: 8px;
  position: relative;
  cursor: pointer;
  margin-bottom: 40px;
  transition: 0.3s;
}
#class_date .class_date_tit span.lsf {
  position: absolute;
  right: 30px;
  top: calc(50% - 0.33em);
  color: #ffb500;
  font-weight: bold;
  transition: 0.3s;
}
#class_date .class_date_tit.active {
  border-color: #ffb500;
}
#class_date .class_date_tit.active span.lsf {
  transform: rotateX(180deg);
}
#class_date .class_date_table {
  width: 100%;
  padding: 0; /*overflow: hidden; overflow-x: scroll;*/
}
#class_date .class_date_table table {
  table-layout: fixed;
  width: auto;
  border-collapse: collapse;
  border-spacing: 0;
  border: 2px solid #000;
}
#class_date .class_date_table table thead th {
  background: #ffb500;
  color: #fff;
  border: 2px solid #000;
  font-size: 32px;
  line-height: 1em;
  text-align: center;
  padding: 0.5em;
}
#class_date .class_date_table table thead th:first-child {
  width: 350px;
}
#class_date .class_date_table table tbody th.tit {
  background: #494949;
  color: #fff;
  width: 350px;
  vertical-align: middle;
  text-align: center;
  font-size: 28px;
  font-weight: normal;
  line-height: 1.25em;
  padding: 30px;
}
#class_date .class_date_table table tbody th.tit strong {
  display: block;
  font-size: 32px;
  line-height: 1.25em;
}
#class_date .class_date_table table tbody th {
  vertical-align: middle;
  background: #e7e7e7;
  border: 2px solid #000;
  text-align: center;
  padding: 0.25em;
}
#class_date .class_date_table table tbody td {
  vertical-align: middle;
  border: 2px solid #000;
  font-size: 32px;
  line-height: 1.5em;
  padding: 0.5em;
}
#class_date .class_date_table table tbody td.none {
  background: #e7e7e7;
}
#class_date .class_date_table table tbody td dl {
  display: table;
  table-layout: fixed;
  width: 100%;
}
#class_date .class_date_table table tbody td dl dt {
  display: table-cell;
  vertical-align: middle;
  width: 100px;
}
#class_date .class_date_table table tbody td dl dd {
  display: table-cell;
  vertical-align: middle;
  padding-left: 0.5em;
}
#class_date .class_date_table table tbody td dl dt strong {
  display: block;
  color: #fff;
  text-align: center;
  padding: 0.25em 0;
  font-size: 28px;
  line-height: 1em;
  margin: 10px auto;
  border-radius: 2em;
}
#class_date .class_date_table table tbody td dl dt strong.bg01 {
  background: #179697;
}
#class_date .class_date_table table tbody td dl dt strong.bg02 {
  background: #28bcf2;
}
#class_date .class_date_table table tbody td dl dt strong.bg03 {
  background: #ff8400;
}
#class_date .class_date01 .class_date_table {
  height: 525px;
}
#class_date .class_date01 .class_date_table table {
  width: 1440px;
}
#class_date .class_date02 .class_date_table {
  height: 745px;
}
#class_date .class_date02 .class_date_table table {
  width: 1620px;
}
#class_date .class_date03 .class_date_table {
  height: 625px;
}
#class_date .class_date03 .class_date_table table {
  width: 1620px;
}
@media print, screen and (min-width: 1000px) {
  #class_date .class_date_tit {
    font-size: 24px;
    width: 650px;
    margin: 0 auto 40px;
  }
  #class_date .class_date_table table thead th {
    font-size: 22px;
  }
  #class_date .class_date_table table thead th:first-child {
    width: 280px;
  }
  #class_date .class_date_table table tbody th.tit {
    font-size: 18px;
    width: 280px;
  }
  #class_date .class_date_table table tbody th.tit strong {
    font-size: 18px;
  }
  #class_date .class_date_table table tbody td {
    font-size: 18px;
  }
  #class_date .class_date_table table tbody td dl {
    display: table;
    table-layout: fixed;
    width: 100%;
  }
  #class_date .class_date_table table tbody td dl dt strong {
    font-size: 18px;
  }
  #class_date .class_date_table table tbody td dl dt {
    width: 90px;
    padding-right: 30px;
  }
  #class_date .class_date01 .class_date_table {
    height: 330px;
  }
  #class_date .class_date01 .class_date_table table {
    width: 100%;
  }
  #class_date .class_date02 .class_date_table {
    height: 525px;
  }
  #class_date .class_date02 .class_date_table table {
    width: 100%;
  }
  #class_date .class_date03 .class_date_table {
    height: 350px;
  }
  #class_date .class_date03 .class_date_table table {
    width: 100%;
  }
}
/*オンライン*/
#class_movie {
  padding: 0;
}
#class_movie .maincontent {
  background: #fff7cd;
  padding: 30px;
}
#class_movie p {
  font-size: 28px;
}
#class_movie figure.img {
  margin: 20px auto;
}
#class_movie figure.btn a {
  color: #fff;
  background: #ffb500;
}
#class_movie figure.btn a:hover {
  background: #fff;
  color: #ffb500;
}
@media print, screen and (min-width: 1000px) {
  #class_movie p {
    font-size: 18px;
    text-align: center;
  }
}
/*ご受講料*/
#class_price p.lead {
  font-size: 28px;
  font-weight: bold;
  margin: 50px auto;
}
#class_price .class_price {
  margin-bottom: 100px;
}
#class_price .class_price h3 {
  margin-bottom: 20px;
  padding: 0.5em 1em;
  border-radius: 2em;
  background: #fff3da;
  color: #ffae00;
  font-size: 32px;
  line-height: 1em;
}
#class_price .class_price01 h3 {
  background: #c4e7ff;
  color: #2eabff;
}
#class_price .class_price_table {
  width: 100%;
  padding: 0; /*overflow: hidden; overflow-x: scroll;*/
}
#class_price .class_price_table table {
  width: auto;
  border-collapse: collapse;
  border-spacing: 0;
  border-radius: 20px 20px 0 0;
  overflow: hidden;
}
#class_price .class_price_table table thead th {
  background: #ffae00;
  color: #fff;
  font-size: 28px;
  line-height: 1.25em;
  text-align: center;
  vertical-align: middle;
  padding: 0.5em;
  border: 2px solid #fff;
}
#class_price .class_price_table table thead td {
  background: #ffc66b;
  color: #fff;
  font-size: 28px;
  line-height: 1.25em;
  text-align: center;
  vertical-align: middle;
  padding: 0.5em;
  border: 2px solid #fff;
}
#class_price .class_price_table table thead td:last-child {
  width: 180px;
}
#class_price .class_price_table table thead th span {
  display: block;
  font-size: 24px;
  line-height: 1.25em;
}
#class_price .class_price_table table tbody th {
  background: #fff3da;
  border: 2px solid #fff;
  font-size: 28px;
  color: #ffae00;
  line-height: 1.25em;
  padding: 0.5em;
  text-align: center;
  vertical-align: middle;
}
#class_price .class_price_table table tbody th span {
  display: block;
  font-size: 24px;
  line-height: 1.25em;
}
#class_price .class_price_table table tbody td {
  background: #fff;
  border: 2px solid #fff3da;
  font-size: 28px;
  line-height: 1.25em;
  padding: 0.5em;
  text-align: center;
  vertical-align: middle;
}
#class_price .class_price_table table tbody td:nth-child(2n + 1) {
  background: #fff3da;
  border-color: #fff;
}
#class_price .class_price_table table tbody td:last-child {
  background: #fff3da;
  border-color: #fff;
}
#class_price .class_price_table table tbody td strong {
  display: inline-block;
  font-size: 36px;
}
#class_price .class_price_table table tbody td span.circle {
  display: inline-block;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #ffae00;
}
#class_price .class_price01 .class_price_table {
  height: 520px;
}
#class_price .class_price01 .class_price_table table {
  width: 1380px;
}
#class_price .class_price01 .class_price_table table tbody th {
  width: 450px;
}
#class_price .class_price01 .class_price_table table thead th {
  background: #2eabff;
}
#class_price .class_price01 .class_price_table table thead td {
  background: #72c6ff;
}
#class_price .class_price01 .class_price_table table tbody td {
  border-color: #c4e7ff;
}
#class_price .class_price01 .class_price_table table tbody th {
  background: #c4e7ff;
  border-color: #fff;
  color: #2eabff;
}
#class_price
  .class_price01
  .class_price_table
  table
  tbody
  td:nth-child(2n + 1) {
  background: #c4e7ff;
  border-color: #fff;
}
#class_price .class_price01 .class_price_table table tbody td:last-child {
  background: #c4e7ff;
  border-color: #fff;
}
#class_price .class_price01 .class_price_table table tbody td span.circle {
  background: #2eabff;
}
#class_price .class_price02 .class_price_table {
  height: 685px;
}
#class_price .class_price02 .class_price_table table {
  width: 1380px;
}
#class_price .class_price02 .class_price_table table tbody th {
  width: 450px;
}
#class_price .class_price03 .class_price_table {
  height: 320px;
}
#class_price .class_price03 .class_price_table table {
  width: 1380px;
}
#class_price .class_price03 .class_price_table table tbody th {
  width: 450px;
}
#class_price .class_price03 .class_price_table table tbody td.check {
  background: #ffdfac;
}
@media print, screen and (min-width: 1000px) {
  #class_price p.lead {
    font-size: 18px;
    width: 900px;
    margin: 50px auto;
  }
  #class_price .class_price h3 {
    width: 460px;
    font-size: 24px;
    margin: 0 auto 20px;
    text-align: center;
  }
  #class_price .class_price_table table thead th {
    font-size: 22px;
  }
  #class_price .class_price_table table thead td {
    font-size: 22px;
  }
  #class_price .class_price_table table thead td:last-child {
    width: 160px;
  }
  #class_price .class_price_table table thead th span {
    font-size: 18px;
  }
  #class_price .class_price_table table tbody th {
    font-size: 22px;
  }
  #class_price .class_price_table table tbody th span {
    font-size: 18px;
  }
  #class_price .class_price_table table tbody td {
    font-size: 22px;
  }
  #class_price .class_price_table table tbody td strong {
    font-size: 28px;
  }
  #class_price .class_price_table table tbody td span.circle {
    width: 32px;
    height: 32px;
  }
  #class_price .class_price01 .class_price_table {
    height: 380px;
  }
  #class_price .class_price01 .class_price_table table {
    width: 100%;
  }
  #class_price .class_price01 .class_price_table table tbody th {
    width: 360px;
  }
  #class_price .class_price02 .class_price_table {
    height: 505px;
  }
  #class_price .class_price02 .class_price_table table {
    width: 100%;
  }
  #class_price .class_price02 .class_price_table table tbody th {
    width: 360px;
  }
  #class_price .class_price03 .class_price_table {
    height: 215px;
  }
  #class_price .class_price03 .class_price_table table {
    width: 100%;
  }
  #class_price .class_price03 .class_price_table table tbody th {
    width: 360px;
  }
}
/*注意事項*/
#class_att .class_att_tit {
  border: 4px solid #eee;
  background: #f7f7f7;
  font-size: 36px;
  font-weight: bold;
  line-height: 1em;
  padding: 30px 60px;
  border-radius: 8px;
  position: relative;
  cursor: pointer;
  transition: 0.3s;
}
#class_att .class_att_tit span.lsf {
  position: absolute;
  right: 30px;
  top: calc(50% - 0.33em);
  font-weight: bold;
  transition: 0.3s;
}
#class_att .class_att_tit.active span.lsf {
  transform: rotateX(180deg);
}
#class_att .class_att_box {
  margin-top: 20px;
  border: 1px solid #7d7d7d;
  padding: 60px 30px;
  color: #333;
}
#class_att .class_att_box h4 {
  font-size: 36px;
  line-height: 1.25em;
  margin-bottom: 30px;
}
#class_att .class_att_box dl dt {
  font-size: 28px;
  line-height: 1.5em;
  font-weight: bold;
  margin: 30px auto 10px;
}
#class_att .class_att_box dl dd {
  font-size: 28px;
  line-height: 1.5em;
  font-weight: bold;
}
#class_att .class_att_box dl dd p {
  line-height: 1.5em;
  margin: 0 auto;
}
#class_att .class_att_box dl dd small {
  display: block;
  font-size: 24px;
  line-height: 1.25em;
  font-weight: normal;
}
#class_att .class_att_box dl dd ul li {
  padding-left: 1em;
  position: relative;
}
#class_att .class_att_box dl dd ul li:before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
@media print, screen and (min-width: 1000px) {
  #class_att .class_att_tit {
    width: 650px;
    margin: 0 auto;
    font-size: 24px;
    text-align: center;
  }
  #class_att .class_att_box h4 {
    font-size: 18px;
  }
  #class_att .class_att_box dl dt {
    font-size: 18px;
  }
  #class_att .class_att_box dl dd {
    font-size: 18px;
  }
  #class_att .class_att_box dl dd small {
    font-size: 18px;
  }
  #class_att .class_att_box dl dd p {
    font-weight: normal;
  }
  #class_att .class_att_box dl dd ul {
    font-weight: normal;
  }
}
/* 250513（KIDSページ修正）*/
.maincontent figure.btn.type02 a {
  background-color: #ff8400;
  &:hover {
    background: #fff;
    color: #ff8400;
  }
}
.maincontent figure.btn.type03 a {
  background-color: #ffb500;
  &:hover {
    background: #fff;
    color: #ffb500;
  }
}
.cta_block {
  text-align: center;
  background-color: #ffe991;
  padding: 40px 0;
  .message {
    font-size: 28px;
    span {
      font-size: 24px;
    }
  }
  .cta_btn {
    margin-top: 20px;
    div + div {
      margin-top: 15px;
    }
    img {
      width: 70%;
    }
  }
}
.course_content {
  .sp {
    display: block;
  }
  .ib {
    display: inline-block;
  }
  .class_date_title {
    text-align: center;
    margin-bottom: 40px;
  }
  h3.main_tit_h3 {
    margin-bottom: 15px;
  }
  h3.main_tit_h3 + .read {
    text-align: center;
    font-size: 24px;
    line-height: 1.8;
  }
  .inner_tit {
    font-size: 28px;
    color: #494949;
    padding-left: 10px;
    border-left: 6px solid #ffb500;
    margin-bottom: 15px;
  }
  .scroll_table {
    overflow-x: scroll;
    table {
      width: 1200px;
    }
  }
  table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    &.list_type {
      th,
      td {
        padding: 15px;
      }
      td {
        text-align: left;
      }
    }
    th,
    td {
      padding: 10px;
      border: 1px solid #e4e4e4;
    }
    th {
      white-space: nowrap;
      background-color: #ff8400;
      color: #fff;
      text-align: center;
      vertical-align: middle;
      padding: 10px;
    }
    td {
      text-align: center;
      &.long-cell {
        height: 70px;
      }
    }
  }
  .note {
    font-size: 20px;
    padding-top: 10px;
  }
}
.course_content_innerbox,
.course_content_flexbox {
  margin-bottom: 20px;
}
.course_content_flexbox {
  > div + div {
    margin-top: 30px;
  }
}
@media print, screen and (min-width: 1000px) {
  .sp {
    display: none;
  }
  .cta_block {
    margin-top: 50px;
    .message {
      font-size: 36px;
      span {
        font-size: 24px;
      }
    }
    .cta_btn {
      display: flex;
      justify-content: center;
      margin-top: 40px;
      div + div {
        margin: 0 0 0 44px;
      }
      img {
        width: auto;
      }
    }
  }
  .course_content {
    h3.main_tit_h3 {
      margin-bottom: 40px;
    }
    h3.main_tit_h3 + .read {
      text-align: center;
      font-size: 20px;
      padding-bottom: 20px;
    }
    .inner_tit {
      font-size: 20px;
      margin-bottom: 20px;
    }
    .scroll_table {
      overflow-x: hidden;
      table {
        width: 100%;
      }
    }
    .note {
      font-size: 16px;
      padding-top: 10px;
    }
    .class_date_title {
      width: 370px;
    }
    .class_date_title.min {
      width: 190px;
    }
  }
  .course_content_innerbox {
    width: 720px;
    margin: 0 auto 50px;
  }
  .course_content_flexbox {
    display: flex;
    justify-content: space-between;
    margin-bottom: 100px;
    > div {
      width: calc((100% - 4%) / 2);
    }
    > div + div {
      margin-top: 0;
    }
  }
}
#class_nav_content {
  background: #fffbe7;
  padding: 30px 0;
  .class_nav {
    background-color: #fff;
    border: 2px solid #ff8400;
    border-radius: 12px;
    overflow: hidden;
    & + .class_nav {
      margin-top: 20px;
    }
    figure.btn {
      margin-top: 20px;
    }
    figure.btn a {
      padding: 30px 15px;
    }
    &:nth-of-type(2) {
      border: 2px solid #ffb500;
      .nav_title {
        background-color: #ffb500;
      }
    }
    &:nth-of-type(3) {
      border: 2px solid #00b0ef;
      .nav_title {
        background-color: #00b0ef;
      }
    }
  }
  .nav_title {
    min-height: 90px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    text-align: center;
    background-color: #ff8400;
    color: #fff;
    h4 {
      font-size: 28px;
      line-height: 1.2;
      span {
        font-size: 22px;
      }
    }
  }
  .nav_detail {
    text-align: center;
    padding: 20px;
    dt {
      font-weight: 600;
    }
  }
  @media print, screen and (min-width: 1000px) {
    padding: 75px 0;
    .class_nav_inner {
      display: flex;
      justify-content: space-between;
    }
    .class_nav {
      width: calc((100% - 7%) / 3);
      & + .class_nav {
        margin-top: 0;
      }
      figure.btn a {
        font-size: 20px;
        padding: 20px 15px;
      }
    }
    .nav_title {
      min-height: 106px;
      h4 {
        font-size: 30px;
        span {
          font-size: 24px;
        }
      }
    }
    .nav_detail {
      padding: 20px 15px 30px;
    }
  }
}
#infant_course,
#guardian_course {
  h3.main_tit_h3 {
    color: #ff8400;
  }
  h3.main_tit_h3::before {
    background-color: #ff8400;
  }
}
#examination_course,
#e-learning {
  h3.main_tit_h3 {
    color: #ffb500;
  }
  h3.main_tit_h3::before {
    background-color: #ffb500;
  }
  .course_content {
    table {
      tr {
        th {
          background-color: #ffb500;
        }
      }
    }
  }
}
#elementary_course {
  h3.main_tit_h3 {
    color: #00b0ef;
  }
  h3.main_tit_h3::before {
    background-color: #00b0ef;
  }
  .course_content {
    table {
      tr {
        th {
          background-color: #00b0ef;
          &.type02 {
            background-color: #ddf6ff;
            color: #333;
          }
        }
      }
    }
    .inner_tit {
      border-color: #00b0ef;
    }
  }
}
/*受講者の声*/
#voice .voice_box dl {
  display: table;
  table-layout: fixed;
  width: 100%;
  padding-bottom: 30px;
  margin-bottom: 30px;
  border-bottom: 3px solid #000;
}
#voice .voice_box dl dt {
  display: table-cell;
  vertical-align: top;
  width: 210px;
}
#voice .voice_box dl dt img {
  border: 1px solid #000;
}
#voice .voice_box dl dd {
  display: table-cell;
  vertical-align: top;
  padding-left: 20px;
}
#voice .voice_box dl dd h3 {
  font-size: 32px;
  padding-left: 10px;
  border-left: 10px solid #ffb500;
  margin-bottom: 30px;
}
#voice .voice_box dl dd p {
  font-size: 24px;
}
#voice .voice_box h4 {
  font-size: 28px;
  margin-bottom: 20px;
}
#voice .voice_box p {
  font-size: 28px;
  line-height: 1.5em;
}
#voice .voice_box .movie_box {
  width: calc(100% + 50px);
  margin-left: -25px;
  margin-top: 50px;
  padding: 30px 25px;
  border: 1px solid #000;
  border-radius: 20px;
}
#voice .voice_box .movie_box h5 {
  background: #fff3da;
  color: #ff8400;
  text-align: center;
  font-size: 28px;
  line-height: 1em;
  padding: 15px;
  width: 480px;
  margin: -55px auto 30px;
  border-radius: 2em;
}
#voice .voice_box.voice05 dl dd {
  padding-left: 0;
}
#voice #voice_other h3 {
  text-align: center;
  background: #ffb500;
  color: #fff;
  font-size: 38px;
  padding: 20px;
  border-radius: 8px;
  position: relative;
  margin-bottom: 60px;
}
#voice #voice_other h3:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 35px 20px 0 20px;
  border-color: #ffb700 transparent transparent transparent;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -34px;
  margin: auto;
}
@media print, screen and (min-width: 1000px) {
  #voice .voice_box dl {
    padding: 0;
    margin: 0 auto 30px 230px;
    width: calc(100% - 230px);
    border-bottom: 3px solid #000;
    position: relative;
  }
  #voice .voice_box dl dt {
    width: 210px;
    position: absolute;
    left: -230px;
    top: 0;
  }
  #voice .voice_box dl dt p {
    margin: 1em auto 0;
    font-size: 18px;
  }
  #voice .voice_box dl dd {
    display: block;
    padding: 0;
  }
  #voice .voice_box dl dd h3 {
    font-size: 24px;
    margin-bottom: 10px;
  }
  #voice .voice_box dl dd h3 span {
    display: block;
    margin: 0.5em auto 0;
    font-size: 18px;
  }
  #voice .voice_box dl dd p {
    margin: 1em auto 0;
    font-size: 18px;
  }
  #voice .voice_box h4 {
    font-size: 18px;
    margin: 0 auto 20px 230px;
  }
  #voice .voice_box p {
    font-size: 18px;
    margin: 0 auto 20px 230px;
  }
  #voice .voice_box .movie_box {
    width: 700px;
    margin: 75px auto 0;
  }
  #voice .voice_box .movie_box h5 {
    font-size: 24px;
  }
  #voice .voice_box.voice05 dl {
    margin-left: 0;
    width: 100%;
  }
  #voice .voice_box.voice05 h4 {
    margin-left: 0;
  }
  #voice .voice_box.voice05 p {
    margin-left: 0;
  }
  #voice #voice_other .maincontent {
    width: 730px;
    margin: 0 auto;
  }
  #voice #voice_other h3 {
    font-size: 24px;
  }
}

/* 250122（修正） */
/*授業風景*/
#movie .movie_box {
  background: #fff;
}
#movie .movie_box h3 {
  background: #fff3da;
  color: #ff8400;
  text-align: center;
  font-size: 28px;
  line-height: 1em;
  padding: 15px;
  width: 480px;
  margin: 0 auto 20px;
  border-radius: 2em;
}
#movie .movie_box h3 .date {
  font-size: 22px;
  padding-top: 5px;
  display: inline-block;
}
#movie .movie_box:nth-child(2n) {
  background: #fff3da;
}
#movie .movie_box:nth-child(2n) h3 {
  background: #fff;
}
#movie .movie_detail {
  padding: 10px 0 30px;
}
#movie .movie_detail .note {
  text-align: right;
  color: #666;
  font-size: 20px;
  padding-bottom: 1em;
}
#movie .link_information {
  display: flex;
  align-items: stretch;
}
#movie .link_information .icon {
  width: 80px;
  background: #ffae00;
  display: flex;
  align-items: center;
}
#movie .link_information .information_box {
  width: calc(100% - 80px);
  background: #fff3da;
  padding: 12px;
}
#movie .link_information .information_box a {
  color: #00b0ef;
  text-decoration: underline;
}
@media print, screen and (min-width: 1000px) {
  #movie .movie_box .maincontent {
    width: 750px;
  }
  #movie .movie_box h3 {
    font-size: 24px;
  }
  #movie .movie_box h3 .date {
    font-size: 18px;
    display: inline;
    padding-top: 0;
  }
  #movie .movie_detail .note {
    font-size: 14px;
  }
}
/* 250122（修正）ここまで */

/*幼児コース*/
#toddler #toddler_lead {
  background: url("../images/toddler/bg01.png") center top no-repeat #fff3d6;
}
#toddler #toddler_lead h3 {
  font-size: 36px;
  margin-bottom: 50px;
  color: #fff;
}
#toddler h2.tit_h2 {
  font-size: 36px;
}
#toddler h4 {
  text-align: center;
  font-size: 28px;
  margin: 30px auto;
}
#toddler p {
  font-size: 28px;
}
@media print, screen and (min-width: 1000px) {
  #toddler #toddler_lead {
    background: url("../images/toddler/bg01_pc.png") center top no-repeat
      #fff3d6;
  }
  #toddler #toddler_lead .maincontent {
    width: 900px;
  }
  #toddler #toddler_lead h3 {
    font-size: 24px;
  }
  #toddler h2.tit_h2 {
    font-size: 28px;
  }
  #toddler h4 {
    font-size: 22px;
  }
  #toddler p {
    font-size: 18px;
  }
  #toddler p.size22 {
    font-size: 22px;
  }
}
#toddler .toddler_list01 {
  margin-bottom: 50px;
}
#toddler .toddler_list01 ul {
  letter-spacing: -1em;
  width: calc(100% + 40px);
  margin-left: -20px;
}
#toddler .toddler_list01 ul li {
  display: inline-block;
  vertical-align: top;
  letter-spacing: 0;
  width: calc(50% - 40px);
  margin: 20px;
  text-align: center;
}
#toddler .toddler_list01 ul li p {
  text-align: center;
  margin-top: 1em;
  line-height: 1.25em;
}
@media print, screen and (min-width: 1000px) {
  #toddler .toddler_list01 ul {
    width: 100%;
    margin: 0 auto;
  }
  #toddler .toddler_list01 ul li {
    width: 25%;
    margin: 0 auto;
  }
  #toddler .toddler_list01 ul li p {
    font-size: 22px;
  }
  #toddler .toddler_list01 ul li:first-child p {
    line-height: 2.5em;
  }
}
#toddler .toddler_list_txt {
  background: #fff3d6;
  padding: 20px 30px;
  margin: 0 0 1em;
}
#toddler .toddler_list_txt ul li {
  margin: 20px auto;
  padding-left: 30px;
  font-size: 26px;
  position: relative;
}
#toddler .toddler_list_txt ul li:before {
  content: "";
  width: 26px;
  height: 26px;
  background: #ffb500;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 8px;
}
@media print, screen and (min-width: 1000px) {
  #toddler .toddler_list_txt {
    text-align: center;
    margin: 40px auto;
  }
  #toddler .toddler_list_txt ul {
    display: inline-block;
    text-align: left;
  }
  #toddler .toddler_list_txt ul li {
    font-size: 18px;
    padding-left: 20px;
  }
  #toddler .toddler_list_txt ul li:before {
    width: 16px;
    height: 16px;
    top: 8px;
  }
}
/*ボタン*/
#toddler figure.toddler_btn01 {
  margin: 30px 80px;
}
#toddler figure.toddler_btn01 a {
  display: block;
  width: 100%;
  margin: 0 auto;
  background: #fff;
  color: #000;
  border: 2px solid #000;
  font-size: 28px;
  font-weight: 600;
  line-height: 1.25em;
  letter-spacing: 0.05em;
  padding: 30px;
  text-align: center;
  border-radius: 2em;
  transition: 0.3s;
  position: relative;
}
#toddler figure.toddler_btn01 a span.lsf {
  position: absolute;
  right: 30px;
  top: calc(50% - 0.5em);
}
#toddler figure.toddler_btn01 a:hover {
  background: #000;
  color: #fff;
  box-shadow: rgba(0, 0, 0, 0.1) 0 0 10px 5px;
}
#toddler figure.toddler_btn02 {
  margin: 30px 40px;
}
#toddler figure.toddler_btn02 a {
  display: block;
  width: 100%;
  margin: 0 auto;
  background: #ffb500;
  color: #fff;
  font-size: 28px;
  font-weight: 600;
  line-height: 1.25em;
  letter-spacing: 0.05em;
  padding: 15px 30px;
  text-align: left;
  border-radius: 2em;
  transition: 0.3s;
  position: relative;
}
#toddler figure.toddler_btn02 a span.lsf {
  position: absolute;
  right: 30px;
  top: calc(50% - 0.5em);
}
#toddler figure.toddler_btn02 a:hover {
  background: #fff;
  color: #ffb500;
  box-shadow: rgba(0, 0, 0, 0.1) 0 0 10px 5px;
}
#toddler figure.toddler_btn03 {
  margin: 30px auto;
}
#toddler figure.toddler_btn03 a {
  display: block;
  background: url("../images/page/page_tit_bg.png") center center no-repeat;
  background-size: cover;
  color: #fff;
  padding: 20px 20px 20px 50px;
  color: #fff;
  font-size: 28px;
  line-height: 1.25em;
  text-align: left;
  position: relative;
  border-radius: 8px;
  transition: 0.3s;
}
#toddler figure.toddler_btn03 a span.lsf {
  position: absolute;
  left: 20px;
  top: calc(50% - 0.5em);
}
#toddler figure.toddler_btn03 a:hover {
  opacity: 0.7;
}
#toddler #toddler_class03 h2.tit_h2 small {
  display: block;
  font-size: 28px;
}
#toddler #toddler_class03 figure.toddler_btn03 a {
  padding: 20px 20px 20px 180px;
}
#toddler #toddler_class03 figure.toddler_btn03 a span.lsf {
  position: absolute;
  left: 150px;
  top: calc(50% - 0.5em);
}
#toddler #toddler_class03 figure.toddler_btn03 a span.ico {
  position: absolute;
  left: 30px;
  top: calc(50% - 45px);
}
@media print, screen and (min-width: 1000px) {
  #toddler figure.toddler_btn01 a {
    font-size: 22px;
    width: 400px;
  }
  #toddler figure.toddler_btn02 a {
    font-size: 22px;
    width: 460px;
  }
  #toddler #toddler_class03 h2.tit_h2 small {
    display: inline-block;
    font-size: 28px;
  }
  #toddler figure.toddler_btn03 a {
    font-size: 22px;
    text-align: center;
  }
  #toddler figure.toddler_btn03 a span.lsf {
    position: static;
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
  }
  #toddler #toddler_class03 figure.toddler_btn03 a {
    padding: 10px;
  }
  #toddler #toddler_class03 figure.toddler_btn03 a span.lsf {
    position: static;
  }
  #toddler #toddler_class03 figure.toddler_btn03 a span.ico {
    position: static;
    display: inline-block;
    vertical-align: middle;
    margin-right: 30px;
  }
  #toddler #toddler_class03 figure.toddler_btn03 a span.ico img {
    height: 60px;
  }
}
@media print, screen and (min-width: 1000px) {
  #column figure img {
    width: 100%;
    height: 197px;
    object-fit: cover;
  }
  .smp {
    display: none !important;
  }
}
@media screen and (max-width: 999px) {
  #column figure img {
    width: 100%;
    height: 197px;
    object-fit: cover;
  }
  .pc {
    display: none !important;
  }
}
.movie__box {
  display: flex;
  justify-content: space-between;
}
.movie__box figure {
  width: 48%;
}
/*20210618*/
div#bnr_camp {
  position: relative;
  z-index: 10;
}
div#bnr_camp a {
  position: absolute;
  top: -67px;
  right: -20px;
}
@media screen and (max-width: 999px) {
  div#bnr_camp a {
    position: absolute;
    top: -60px;
    right: -33px;
  }
  #bnr_camp img {
    width: 90%;
    image-rendering: -webkit-optimize-contrast;
  }
}
div#bnr_camp a {
  top: -23px;
}
#header ul.mv_txt01 {
  padding-top: 40px;
  padding-bottom: 20px;
}
@media screen and (max-width: 999px) {
  div#bnr_camp a {
    top: 17px;
  }
  #header ul.mv_txt01 {
    padding-top: 74px;
    padding-bottom: 0;
    left: 0;
  }
}
sup {
  vertical-align: super;
  font-size: smaller;
}
/*20211001*/
#toddler figure.btn_pdf a {
  background: #33c0f2;
  padding: 30px;
  text-align: center;
}
#toddler figure.btn_pdf a:hover {
  color: #33c0f2;
}
#toddler figure.toddler_btn01 {
  margin: 30px 40px;
}
#curriculum_program .program05 figure.btn_pdf a {
  background: #33c0f2;
}
#curriculum_program .program05 figure.btn_pdf a:hover {
  background: #70d3f6;
}
@media print, screen and (min-width: 1000px) {
  #toddler figure.toddler_btn01 a {
    width: 460px;
  }
  #f_nav {
    width: 100%;
    min-width: 1000px;
    max-width: 1200px;
    padding: 50px 0;
    text-align: left;
    letter-spacing: -1em;
  }
  #f_nav ul {
    margin-bottom: 20px;
  }
  #f_nav ul li:first-child a {
    padding: 0.25em 1.75em;
  }
  #class_date .class_date_table table tbody td dl dt {
    width: 80px;
    padding-right: 0px;
  }
}
#class_date .class_date01 .class_date_table {
  height: 575px;
}
@media print, screen and (min-width: 1000px) {
  #class_date .class_date01 .class_date_table {
    height: 340px;
  }
}
#class_date .class_date02 .class_date_table {
  height: 650px;
}
@media print, screen and (min-width: 1000px) {
  #class_date .class_date02 .class_date_table {
    height: 440px;
  }
}
/*20211118*/
footer td a {
  text-decoration: underline;
  transition: 0.3s ease;
}
footer td a:hover {
  color: #ffb500;
}
/*20211122*/
#class_mantolesson p.lead {
  font-size: 28px;
  font-weight: bold;
  margin: 50px auto 0;
}
#class_mantolesson ul.lead {
  font-size: 28px;
  font-weight: bold;
  margin: 0 auto 50px;
}
#class_mantolesson ul.lead li {
  margin-left: 1.5rem;
  text-indent: -1.5rem;
}
#class_movie h3 {
  margin-bottom: 30px;
  color: #ffae00;
  font-size: 32px;
  line-height: 1.5em;
}
@media print, screen and (min-width: 1000px) {
  #class_mantolesson p.lead {
    font-size: 18px;
    width: 900px;
  }
  #class_mantolesson ul.lead {
    font-size: 18px;
    width: 900px;
  }
  #class_movie h3 {
    font-size: 24px;
    margin: 0 auto 30px;
    text-align: center;
  }
  #class_mantolesson {
    padding: 0;
  }
  #class_date {
    padding: 50px 0 100px;
  }
}
/*20211203*/
#class_price figure.btn a {
  color: #fff;
  background: #ffb500;
}
#class_price figure.btn a:hover {
  background: #fff;
  color: #ffb500;
}
/*20220328*/
#sec04 .lesson_in a {
  margin: 0;
  display: block;
}
#class_date figure.btn {
  margin: 1rem auto 0 0;
  text-align: left;
}
#class_date figure.btn a {
  color: #fff;
  background: #2eabff;
}
#class_movie .maincontent .flex figure.btn {
  margin-top: 25px;
}
@media print, screen and (min-width: 1000px) {
  #sec04 .lesson_in {
    margin: 30px 0 0 -20px;
    flex-wrap: wrap;
  }
  #sec04 .lesson_in a {
    margin: 0 20px 20px;
  }
  #class_movie .maincontent .flex {
    display: flex;
    justify-content: center;
  }
  #class_movie .maincontent .flex figure.btn {
    margin: 25px 0 0 2rem;
  }
  #class_movie .maincontent .flex figure.btn:first-child {
    margin: 25px 0 0 0;
  }
}
/*20220513*/
.sp {
  display: block;
}
#sec04 .course dl {
  display: flex;
  flex-flow: column;
  height: 100%;
}
#sec04 dl dd {
  margin-bottom: 20px;
}
#sec04 .course dl .btn {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #fe7200;
  background: #fff;
  padding: 15px 30px;
  margin: auto 0 0;
  border-radius: 60px;
  transition: 0.3s;
}
#sec04 .course_in a:hover dl .btn {
  color: #fff;
  background: #fe7200;
}
#sec01 .maincontent figure.btn a {
  position: relative;
  color: #fff;
  background: #28bcf2;
}
#sec01 .maincontent figure.btn a:hover {
  background: #fff;
  color: #28bcf2;
}
.maincontent figure.btn a {
  color: #fff;
  background: #28bcf2;
}
.maincontent figure.btn a:hover {
  background: #fff;
  color: #28bcf2;
}
.maincontent figure.btn .balloon {
  position: relative;
  margin: 0 auto 20px;
  font-size: 26px;
  font-weight: bold;
  line-height: 1.2;
  color: #fe7200;
}
.maincontent figure.btn .balloon::before,
.maincontent figure.btn .balloon::after {
  content: "";
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 40px;
  height: 4px;
  background-color: #fe7200;
}
.maincontent figure.btn .balloon::before {
  left: 2%;
  -webkit-transform: rotate(60deg);
  transform: rotate(65deg);
}
.maincontent figure.btn .balloon::after {
  right: 2%;
  -webkit-transform: rotate(-60deg);
  transform: rotate(-65deg);
}
#curriculum_program .program_list ul {
  justify-content: center;
}
.curriculum dl {
  position: relative;
  border-top: 1px solid #ffc000;
  background: #fffaeb;
  display: flex;
  flex-flow: column;
}
.curriculum dl dt {
  position: absolute;
  left: 2%;
  top: 50%;
  transform: translate(0, -50%);
  background-image: url(../images/curriculum_bg.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 16%;
  height: auto;
  padding: 30px 0 15px;
  font-size: 1rem;
  color: #ffc000;
  display: flex;
  align-items: center;
  justify-content: center;
}
.curriculum dl dt span {
  font-size: 1.4rem;
  font-weight: bold;
}
.curriculum dl dd {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 5px 5px 5px 20%;
  line-height: 1.4;
  font-size: 1rem;
}
.curriculum dl dd:nth-of-type(2n) {
  background: #fff1c5;
  border-top: #fff solid 1px;
}
#curriculum_shogaku.curriculum dl {
  background: #f7fdff;
  border-top: #00b0f0 1px solid;
}
#curriculum_shogaku.curriculum dl dt {
  background-image: url(../images/curriculum_bg02.png);
  color: #00b0f0;
}
#curriculum_shogaku.curriculum dl dd:nth-of-type(2n) {
  background: #ddf6ff;
}
#class_price .maincontent {
  padding-top: 100px;
  margin-top: -100px;
}
#sec04 .maincontent {
  padding-top: 100px;
  margin-top: -100px;
}
#class_price .class_price01.toddler .class_price_table {
  height: 430px;
}
#class_price .class_price01.elementary .class_price_table {
  height: 340px;
}
#class_price .class_price02.elementary .class_price_table {
  height: 400px;
}
#class_price .class_price03.elementary .class_price_table {
  height: 270px;
}
.class_date_title {
  margin-bottom: 20px;
  padding: 0.5em;
  border-radius: 2em;
  border: 2px solid #000;
  font-size: 32px;
  line-height: 1em;
}
@media print, screen and (min-width: 1000px) {
  .sp {
    display: none;
  }
  #header {
    margin: 100px auto 0;
  }
  #gnav {
    box-sizing: border-box;
  }
  #gnav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    margin: auto;
    z-index: 101;
    background: #fff;
    box-shadow: rgb(0 0 0 / 10%) 0 0 5px;
    padding: 20px 30px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    min-height: 100px;
  }
  #gnav #logo {
    width: 18%;
  }
  #gnav #gnav_menu {
    width: calc(100% - 18%);
  }
  #gnav #gnav_menu ul {
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
  #gnav #gnav_menu ul li {
    margin-left: 25px;
    font-size: clamp(13px, 0.78vw, 15px);
    line-height: 1.2;
    text-align: center;
    display: flex;
    height: 100%;
  }
  #gnav #gnav_menu ul li a {
    display: flex;
    height: 100%;
    transition: 0.3s;
    height: 100%;
    font-weight: 500;
  }
  #gnav #gnav_menu ul li a:hover {
    color: #ffb500;
  }
  .maincontent figure.btn .balloon {
    width: 45%;
  }
  .curriculum {
    display: flex;
    flex-flow: column;
    flex-wrap: wrap;
    height: 860px;
    align-content: space-between;
  }
  .curriculum dl {
    width: 49%;
  }
  .curriculum dl:nth-of-type(6n) {
    border-bottom: 1px solid #ffc000;
  }
  #curriculum_shogaku.curriculum dl:nth-of-type(6n) {
    border-bottom: 1px solid #00b0f0;
  }
  .curriculum dl dd {
    font-size: 14px;
    min-height: 70px;
    padding: 0 5px 0 20%;
  }
  .curriculum dl dt {
    padding: 20px 0 5px;
    font-size: 14px;
  }
  .curriculum dl dt span {
    font-size: 20px;
  }
  #class_price .class_price01.toddler .class_price_table {
    height: 300px;
  }
  #class_price .class_price01.elementary .class_price_table {
    height: 240px;
  }
  #class_price .class_price02.elementary .class_price_table {
    height: 290px;
  }
  #class_price .class_price03.elementary .class_price_table {
    height: 175px;
  }
  .class_date_title {
    width: 460px;
    font-size: 24px;
    margin: 0 auto 30px;
    text-align: center;
  }
  #f_nav ul li a {
    padding: 0.25em 1.5em;
  }
}
#header02 {
  padding: 50px 0;
}
#header02 h2 {
  font-size: 40px;
}
#header02 h2 span {
  font-size: 26px;
}
h3.main_tit_h3 {
  position: relative;
  font-size: 36px;
  background: none;
  color: #00b0ef;
  text-align: center;
}
h3.main_tit_h3::before {
  position: absolute;
  content: "";
  width: 120px;
  height: 10px;
  background: #00b0ef;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
}
#toddler #toddler_lead {
  background: url("../images/toddler/bg01.png?d=220518") center top no-repeat
    #fffbe7;
}
#toddler #toddler_lead h3 {
  color: #fe7200;
}
@media print, screen and (min-width: 1000px) {
  #header02 {
    padding: 50px;
    background: url("../images/page/header02_bg.png?d=220518") center top
      no-repeat;
  }
  #header02 h2 {
    font-size: 36px;
  }
  h3.main_tit_h3 {
    padding: 60px 0 30px;
    font-size: 32px;
  }
  h3.main_tit_h3::before {
    width: 80px;
    height: 5px;
  }
  #toddler #toddler_lead {
    background: url("../images/toddler/bg01_pc.png?d=220518") center top
      no-repeat #fffbe7;
  }
  #toddler #toddler_lead h3 {
    font-size: 28px;
  }
}
/*20220801*/
#header ul.mv_btn {
  border-spacing: 20px 0;
  left: auto;
  right: -20px;
  width: 95%;
  margin: 0 auto 10px auto;
  display: flex;
  justify-content: flex-end;
  padding-top: 40px;
  padding-bottom: 10px;
  gap: 1rem;
}
#header ul.mv_btn li a {
  background: #fe7200;
  display: flex;
  padding: 20px 10px;
  color: #fff;
  font-weight: bold;
  font-size: 1rem;
  height: 100%;
  text-align: center;
  align-items: center;
  justify-content: center;
  border: 2px solid #fff;
  border-radius: 10px;
  box-shadow: -5px 10px 5px 0px rgb(0 0 0 / 30%);
  box-sizing: border-box;
}
#header ul.mv_btn li small {
  font-size: 85%;
}
@media print, screen and (min-width: 1000px) {
  #header ul.mv_btn {
    width: 850px;
    margin: 0 0px 10px auto;
  }
  #header ul.mv_btn li a {
    font-size: 1.4rem;
    padding: 20px 35px;
  }
}
/*20220808*/
#column ul {
  display: flex;
  flex-wrap: wrap;
}
#column ul li dl {
  height: 100%;
  display: flex;
  flex-flow: column;
}
#column ul li dl a {
  height: 100%;
  display: flex;
  flex-flow: column;
}
#column h3 {
  margin-bottom: 50px;
  font-size: 42px;
  line-height: 1em;
  padding: 15px 0 15px 30px;
  text-align: left;
  border-left: 10px solid #fe7200;
}
#column h4 {
  font-size: 42px;
  margin-bottom: 50px;
  text-align: center;
}
#column {
  background: url(../images/column_bg_sp.png) no-repeat center center;
}
#column .excerpt {
  font-size: 16px;
  color: #595959;
}
#class_price .class_price01 .class_price_table {
  height: 425px;
}
#class_price .class_price01.toddler .class_price_table {
  height: 345px;
}
#class_price .class_price03.toddler .class_price_table {
  height: 280px;
}
@media print, screen and (min-width: 1000px) {
  #column ul {
    width: 75%;
    margin: 0 auto;
  }
  #column h3 {
    font-size: 28px;
  }
  #column h4 {
    font-size: 28px;
  }
  #column {
    background: url(../images/column_bg.png) no-repeat center center;
  }
  #class_price .class_price01.toddler .class_price_table {
    height: 240px;
  }
  #class_price .class_price01.toddler .class_price_table {
    height: 240px;
  }
  #class_price .class_price01 .class_price_table {
    height: 300px;
  }
}
.exam .curriculum dl dt {
  position: absolute;
  left: 9%;
  top: 40%;
}
.exam #curriculum_shogaku.curriculum dl dt p {
  position: absolute;
  width: 130px;
  text-align: center;
  font-weight: bold;
  bottom: -35px;
  left: 50%;
  transform: translate(-50%, 0);
}
.exam .curriculum dl dd {
  padding: 0 30px 0 35%;
}
@media print, screen and (max-width: 999px) {
  .exam .curriculum dl dd {
    padding: 20px 20px 20px 30%;
    min-height: 108px;
  }
  .exam .curriculum dl dt {
    top: 35%;
    left: 6%;
  }
  .exam #curriculum_shogaku.curriculum dl dt p {
    bottom: auto;
    top: 95px;
    margin-top: 0;
  }
}
/*20220905*/
#toddler figure.toddler_btn02 {
  margin: 0 40px 30px;
}
#toddler #toddler_class04 figure.toddler_btn03 a {
  padding: 20px 20px 20px 180px;
}
#toddler #toddler_class04 figure.toddler_btn03 a span.lsf {
  position: absolute;
  left: 150px;
  top: calc(50% - 0.5em);
}
#toddler #toddler_class04 figure.toddler_btn03 a span.ico {
  position: absolute;
  left: 30px;
  top: calc(50% - 45px);
}
@media print, screen and (min-width: 1000px) {
  #toddler #toddler_class04 figure.toddler_btn03 a {
    padding: 10px;
  }
  #toddler #toddler_class04 figure.toddler_btn03 a span.lsf {
    position: static;
  }
  #toddler #toddler_class04 figure.toddler_btn03 a span.ico {
    position: static;
    display: inline-block;
    vertical-align: middle;
    margin-right: 30px;
  }
  #toddler #toddler_class04 figure.toddler_btn03 a span.ico img {
    height: 60px;
  }
}
#toddler .toddler_list_txt h4 {
  background: #ffb500;
  padding: 10px 40px;
  border-radius: 999px;
  width: 60%;
  color: #fff;
  margin: 30px auto;
  text-align: center;
}
/*20221209*/
.mv_bnr {
  margin: 0 auto 20px auto;
  text-align: right;
  width: 95%;
}
@media print, screen and (min-width: 1000px) {
  .mv_bnr {
    margin: 0 0 20px auto;
  }
  #header ul.mv_btn li a {
    padding: 20px;
  }
}
.mv_bnr a img {
  filter: drop-shadow(-5px 10px 2px #0005);
}
#header ul.mv_btn li a {
  letter-spacing: -0.5px;
}
#header ul.mv_btn li {
  min-width: 25%;
}
.mv-blue-btn {
  margin: 0.8rem auto;
  text-align: center;
  width: 95%;
}
.mv-blue-btn a {
  color: #fff;
  background: #00b0ef;
  border: 4px solid #fff;
  display: inline-block;
  width: 100%;
  padding: 8px 30px;
  font-size: 20px;
  border-radius: 9999px;
  box-shadow: -5px 10px 5px 0px rgb(0 0 0 / 30%);
  font-weight: 500;
}
.mv-blue-btn a span.lsf {
  margin-left: 1rem;
}
#header ul.mv_btn {
  padding-top: 0;
}
@media print, screen and (min-width: 1000px) {
  .mv-blue-btn {
    max-width: 700px;
    margin: 1rem auto;
  }
}
#sec03 dl dd video + video {
  margin-top: 10px;
}
#sec03 dl.presentation {
  flex-flow: wrap;
  gap: 2rem;
}
#sec03 dl.presentation dd,
#sec03 dl.presentation dt {
  width: 100%;
}
#sec03 dl.presentation dt {
  order: 1;
}
#sec03 dl.presentation dd {
  order: 2;
  padding: 0 30px;
}
.presentation-video {
  position: relative;
}
.presentation-video video {
  max-width: 100%;
}
.presentation-circle {
  position: absolute;
  top: -30px;
  left: -20px;
  background: #ffb500;
  border-radius: 100%;
  width: 150px;
  height: 150px;
}
.presentation-circle-inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 22px;
  color: #fff;
  text-align: center;
  word-break: keep-all;
  font-weight: bold;
  line-height: 1.25;
}
.presentation-circle-inner span {
  font-size: 28px;
}
.presentation-rank {
  display: flex;
  margin-bottom: 10px;
  gap: 10px;
  align-items: center;
  font-weight: 600;
  font-size: 25px;
}
@media print, screen and (min-width: 1000px) {
  .textimgage-flex {
    display: flex;
    gap: 1rem;
    margin-top: 40px;
    flex-wrap: wrap;
  }
  .textimgage-flex-item {
    width: calc((100% - 1rem * 2) / 3);
  }
  #sec03 dl.textimage {
    display: block;
  }
  #sec03 dl.textimage dd,
  #sec03 dl.textimage dt {
    width: 100%;
  }
  #sec03 dl.textimage dt {
    padding: 0 0 50px;
  }
  #sec03 dl.presentation {
    justify-content: space-between;
    gap: 1rem 3rem;
  }
  #sec03 dl.presentation dt {
    order: 2;
  }
  #sec03 dl.presentation dd:nth-child(1) {
    order: 1;
  }
  #sec03 dl.presentation dd:nth-child(n + 2) {
    order: 3;
    margin-right: 1rem;
  }
  #sec03 dl.presentation dd {
    width: calc(50% - 3rem);
    padding: 0;
  }
  #sec03 dl.presentation dt {
    width: 50%;
  }
  .presentation-video video {
    width: 100%;
    margin-left: 0;
  }
  .presentation-rank {
    font-size: 15px;
  }
}
/* 230915 */
@media print, screen and (min-width: 1000px) {
  #parent_and_child h3.main_tit_h3 strong {
    color: #fff;
    padding: 0 1em 0.1em;
    font-size: 20px;
    border-radius: 2em;
  }
  #parent_and_child h3.main_tit_h3 strong.bg02 {
    background: #28bcf2;
  }
  #parent_and_child h3.main_tit_h3 span {
    font-size: 20px;
  }
  .parent_and_child__firstView p {
    text-align: center;
  }
  .parent_and_child__firstView figure {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .parent_and_child__course_detail h3 {
    font-size: 25px;
    background: #fff7cd;
    padding: 20px;
    text-align: center;
    margin-bottom: 30px;
  }
  .parent_and_child__course_detail h3 span {
    color: #fe7200;
  }
  .parent_and_child__course_detail ul {
    display: flex;
    justify-content: space-between;
    gap: 30px;
  }
  .parent_and_child__course_detail_01 .parent_and_child__course_detail__txt {
    background: #00b0ef;
    color: #fff;
    font-size: 22px;
    padding: 20px;
    min-height: 217px;
  }
  .parent_and_child__course_detail_01 .parent_and_child__course_detail__txt p {
    text-indent: -1em;
    padding-left: 1em;
    margin: 0;
  }
  .parent_and_child__course_detail_02 .parent_and_child__course_detail__txt {
    background: #ffb500;
    color: #fff;
    font-size: 22px;
    padding: 20px;
    min-height: 217px;
  }
  .parent_and_child__course_detail_02 .parent_and_child__course_detail__txt p {
    text-indent: -1em;
    padding-left: 1em;
    margin: 0;
  }
  .parent_and_child__course_price h3 {
    font-size: 18px;
    background: #fff7cd;
    padding: 20px;
    text-align: center;
    margin-bottom: 30px;
  }
  .parent_and_child__course_price h3 span {
    color: #fe7200;
    font-size: 25px;
  }
  .parent_and_child__course_price__btn_list {
    display: flex;
    justify-content: center;
    gap: 20px;
  }
  .parent_and_child__course_price .maincontent_in.exam {
    width: 900px;
    margin: 0 auto;
  }
  #parent_and_child #toddler figure.toddler_btn01 {
    margin: 20px 20px;
  }
  #parent_and_child #toddler figure.toddler_btn01 a {
    padding: 20px 30px;
    box-sizing: border-box;
    width: 400px;
  }
  #parent_and_child #toddler figure.toddler_btn02 {
    margin: 20px 20px;
  }
  #parent_and_child #toddler figure.toddler_btn02 a {
    padding: 20px 30px;
    box-sizing: border-box;
    width: 400px;
  }
  #parent_and_child #toddler figure.toddler_btn02.btn03 a {
    width: 460px;
  }
}
@media print, screen and (max-width: 999px) {
  #parent_and_child h3.main_tit_h3 strong {
    color: #fff;
    padding: 0 1em 0.1em;
    font-size: 20px;
    border-radius: 2em;
  }
  #parent_and_child h3.main_tit_h3 strong.bg02 {
    background: #28bcf2;
  }
  #parent_and_child h3.main_tit_h3 span {
    font-size: 20px;
  }
  .parent_and_child__firstView p {
    text-align: left;
  }
  .parent_and_child__firstView figure {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .parent_and_child__course_detail h3 {
    font-size: 25px;
    background: #fff7cd;
    padding: 20px;
    text-align: center;
    margin-bottom: 30px;
  }
  .parent_and_child__course_detail h3 span {
    color: #fe7200;
  }
  .parent_and_child__course_detail ul {
    display: flex;
    justify-content: space-between;
    gap: 30px;
  }
  .parent_and_child__course_detail ul li img {
    width: 100%;
    height: auto;
    min-height: 205px;
  }
  .parent_and_child__course_detail_01 .parent_and_child__course_detail__txt {
    background: #00b0ef;
    color: #fff;
    font-size: 22px;
    padding: 20px;
    min-height: 217px;
  }
  .parent_and_child__course_detail_01 .parent_and_child__course_detail__txt p {
    text-indent: -1em;
    padding-left: 1em;
    margin: 0;
  }
  .parent_and_child__course_detail_02 .parent_and_child__course_detail__txt {
    background: #ffb500;
    color: #fff;
    font-size: 22px;
    padding: 20px;
    min-height: 217px;
  }
  .parent_and_child__course_detail_02 .parent_and_child__course_detail__txt p {
    text-indent: -1em;
    padding-left: 1em;
    margin: 0;
  }
  .parent_and_child__course_price h3 {
    font-size: 18px;
    background: #fff7cd;
    padding: 20px;
    text-align: center;
    margin-bottom: 30px;
  }
  .parent_and_child__course_price h3 span {
    color: #fe7200;
    font-size: 25px;
  }
  .parent_and_child__course_price__btn_list {
    display: flex;
    justify-content: center;
    gap: 40px;
    flex-direction: column;
  }
  .parent_and_child__course_price .maincontent_in.exam {
    width: 100%;
    margin: 0 auto;
  }
  #parent_and_child #toddler figure.toddler_btn01 {
    margin: 0px 20px;
  }
  #parent_and_child #toddler figure.toddler_btn01 a {
    padding: 20px 30px;
    box-sizing: border-box;
    width: 100%;
  }
  #parent_and_child #toddler figure.toddler_btn02 {
    margin: 0px 20px;
  }
  #parent_and_child #toddler figure.toddler_btn02 a {
    padding: 20px 30px;
    box-sizing: border-box;
    width: 100%;
  }
  #parent_and_child #toddler figure.toddler_btn02.btn03 {
    margin: 40px 20px 30px;
  }
  #parent_and_child #toddler figure.toddler_btn02.btn03 a {
    width: 100%;
    padding: 20px 30px;
  }
}
/* top */
/* price */
@media print, screen and (min-width: 1000px) {
  #class_price .class_price02 .class_price_table {
    height: 600px;
  }
}
@media print, screen and (max-width: 999px) {
  #class_price .class_price02 .class_price_table {
    height: 760px;
  }
}
#header p.diagonal_line {
  font-size: 14px;
  color: #595959;
  font-weight: 600;
  display: inline-block;
  position: relative;
  padding: 0 18px;
  margin-bottom: 10px;
}
#header p.diagonal_line::before,
#header p.diagonal_line::after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 14px;
  height: 1px;
  background-color: #595959;
  top: 50%;
}
#header p.diagonal_line::before {
  left: 0;
  transform: rotate(63deg);
}
#header p.diagonal_line::after {
  right: 0;
  transform: rotate(-63deg);
}
.results_list ul {
  display: flex;
  flex-wrap: wrap;
  gap: 60px;
}
.results_list ul li + li {
  border-top: 1px solid #000000;
  padding-top: 60px;
}
.results_list_item_top {
  margin-bottom: 30px;
}
.results_list_item_top_flex {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
.results_list_item_top_img {
  border: 1px solid #dfdfdf;
  width: 100%;
}
.results_list_item_top_img img {
  max-width: 100%;
  width: 100%;
}
.results_list_item_top_textbox {
  width: 100%;
}
.results_list_item_top_date {
  font-size: 22px;
  color: rgb(0, 176, 239);
  font-weight: 500;
  margin-bottom: 10px;
}
.results_list_item_top_title {
  font-size: 26px;
  color: rgb(1, 1, 1);
  font-weight: 500;
}
.results_list_item_bottom {
  width: 100%;
}
.results_list_item_bottom img {
  max-width: 100%;
  width: 100%;
}
.results_list_item p.txt_link a {
  font-size: 22px;
  font-weight: 500;
  text-decoration: underline;
  transition: 0.3s ease;
}
.results_list_item p.txt_link a:hover {
  color: #ffb500;
}
@media print, screen and (min-width: 1000px) {
  .results_list {
    margin-bottom: 60px;
  }
  .results_list ul li {
    width: 100%;
  }
  .results_list_item_top_textbox {
    margin-top: 30px;
  }
  .results_list_item_top_img {
    width: 33.5%;
  }
  .results_list_item_top_textbox {
    width: calc(100% - 33.5% - 30px);
  }
  .results_list_item_top_date {
    font-size: 14px;
  }
  .results_list_item_top_title {
    font-size: 18px;
  }
  .results_list_item p.txt_link a {
    font-size: 15px;
  }
}
#sec05 ul {
  display: flex;
  table-layout: unset;
  width: 100%;
  margin-left: 0px;
  border-collapse: unset;
  border-spacing: 0 0;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 40px;
}
.parent_and_child__link__text strong {
  color: #fff;
  padding: 0 30px 0.1em;
  font-size: 18px;
  border-radius: 3px;
  background: #28bcf2;
  margin-bottom: 20px;
}
.parent_and_child__link__btn {
  background: #00b0ef;
  border-radius: 9999px;
  width: auto;
  margin: 0 auto 0 0;
  padding: 4px 40px;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
}
.parent_and_child__link {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}
.parent_and_child__link a {
  box-shadow: -5px 10px 5px 0px rgb(0 0 0 / 30%);
  font-weight: 500;
  border-radius: 10px;
  margin-left: 0px;
  background-color: #fff;
  border: 3px solid #28bcf2;
  overflow: hidden;
  padding: 20px 30px;
  position: relative;
  z-index: 1;
  display: block;
}
.parent_and_child__link__flex {
  display: flex;
  gap: 40px;
  border-radius: 10px;
  width: 100%;
  align-items: center;
}
.parent_and_child__link_tag {
  color: #fff;
  padding: 0 30px 0.1em;
  font-size: 15px;
  border-radius: 3px;
  background: #28bcf2;
  margin-bottom: 15px;
  z-index: 1;
  position: relative;
  display: inline-block;
}
.parent_and_child__link__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.parent_and_child__link__diagonal {
  padding: 0 20px;
  display: inline-block;
  text-align: left;
  width: auto;
  color: #fe7200;
  font-weight: bold;
  line-height: 1.429;
  font-size: 20px;
  position: relative;
  filter: drop-shadow(0px 0px 2px rgba(255, 255, 255, 1))
    drop-shadow(0px 0px 2px rgba(255, 255, 255, 1))
    drop-shadow(0px 0px 2px rgba(255, 255, 255, 1))
    drop-shadow(0px 0px 2px rgba(255, 255, 255, 1));
}
.parent_and_child__link__diagonal:before,
.parent_and_child__link__diagonal:after {
  content: "";
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 16px;
  height: 2px;
  background-color: #fe7200;
}
.parent_and_child__link__diagonal:after {
  right: 0;
  -webkit-transform: rotate(-60deg);
  transform: rotate(-60deg);
}
.parent_and_child__link__diagonal:before {
  left: 0;
  -webkit-transform: rotate(60deg);
  transform: rotate(60deg);
}
.parent_and_child__link__text p {
  font-weight: bold;
  font-size: 1.25rem;
}
.parent_and_child__link__img {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: -1;
  height: calc(100% + 4px);
  text-align: right;
  opacity: 0.3;
  width: 100%;
}
.parent_and_child__link__img img {
  min-height: 100%;
  max-width: none;
  min-width: 100%;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  max-height: 100%;
}
@media print, screen and (min-width: 1000px) {
  .parent_and_child__link {
    margin-left: auto;
    justify-content: flex-end;
  }
  .parent_and_child__link__flex {
    width: 700px;
  }
  .parent_and_child__link__text strong {
    font-size: 22px;
  }
  .parent_and_child__link__img {
    opacity: 1;
  }
  #header .parent_and_child__link__text p {
    font-size: 28px;
  }
  .parent_and_child__link_tag {
    font-size: 22px;
  }
  .mv-bnr-flex {
    gap: 35px;
  }
  .mv-bnr-flex .parent_and_child__link {
    width: calc((100% - 35px) / 2);
  }
}
#header .parent_and_child__link__text p {
  font-weight: bold;
  line-height: 1.429;
  text-shadow: 0px 0px 5px rgba(255, 255, 255, 1),
    0px 0px 5px rgba(255, 255, 255, 1), 0px 0px 5px rgba(255, 255, 255, 1),
    0px 0px 5px rgba(255, 255, 255, 1), 0px 0px 5px rgba(255, 255, 255, 1);
  font-size: 25px;
  text-align: left;
}
#teacher ul {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
@media print, screen and (min-width: 1000px) {
  #teacher ul li {
    width: calc((100% - 10px * 4) / 5);
    margin: 0;
  }
}
.mv-bnr-flex {
  display: flex;
  gap: 20px;
  width: 100%;
  margin: 0 auto;
}
.mv-bnr-flex .parent_and_child__link {
  width: calc((100% - 20px) / 2);
}
.parent_and_child__link.orange a {
  border: 3px solid #fe7200;
}
.orange .parent_and_child__link_tag {
  background: #fe7200;
}
.orange .parent_and_child__link__btn {
  background: #fe7200;
}
#sec01 dl dt img {
  width: 100%;
  height: auto;
}
.bg-orange {
  background: url(../images/sec01_bg_pc.jpg) center center no-repeat;
  background-size: cover;
}
.bg-blue {
  background: url(../images/bg01.jpg) center top no-repeat;
  background-size: cover;
}
.bg-orange h2.tit_h2 {
  border-left: 10px solid #ffb500;
}
.bg-blue h2.tit_h2 {
  border-left: 10px solid #fff;
  color: #000;
}
.intensive .bg-blue h2.tit_h2::before {
  background: #fff;
}
.intensive #header .sub_title {
  font-weight: bold;
  font-size: 40px;
  color: rgb(254, 114, 0);
  text-shadow: 0px 0px 29.75px rgba(255, 252, 237, 1),
    0px 0px 29.75px rgba(255, 252, 237, 1),
    0px 0px 29.75px rgba(255, 252, 237, 1);
}
.intensive #header h1 {
  font-weight: bold;
  font-size: 75px;
  color: rgb(254, 114, 0);
  margin: 0;
  text-shadow: 0px 0px 29.75px rgba(255, 252, 237, 1),
    0px 0px 29.75px rgba(255, 252, 237, 1),
    0px 0px 29.75px rgba(255, 252, 237, 1);
}
.intensive * {
  box-sizing: border-box;
}
.intensive #header {
  background: url("../images/intensive_lp_mv_sp.png") center center no-repeat;
}
.intensive #header_in {
  padding: 450px 0 60px;
}
.intensive #sec01 dl dd {
  min-height: 420px;
}
.intensive #sec01 dl dd h3 {
  font-size: 35px;
  margin-bottom: 30px;
}
.intensive .message {
  text-align: center;
  margin: 0 auto 60px;
}
.intensive .message .sub_title {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 15px;
}
.intensive .message h2 {
  font-size: 45px;
  font-weight: bold;
  margin-bottom: 30px;
}
.intensive .message p {
  text-align: center;
  line-height: 1.75;
}
.intensive .overview-list {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.intensive .overview-list li {
  width: 100%;
}
.intensive .overview-item {
  background: #fff;
  padding: 40px;
  width: 100%;
}
.intensive .overview-day {
  font-weight: 800;
  font-size: 24px;
  margin-bottom: 20px;
  text-align: center;
}
.intensive .overview-day span {
  font-size: 40px;
}
.intensive .overview-conts {
  background: #fffced;
}
.intensive .overview-conts dt {
  background: #ffb500;
  color: #fff;
  text-align: center;
  font-size: 24px;
  padding: 10px;
}
.intensive .overview-conts .overview-conts-flex {
  display: flex;
  align-items: center;
  padding: 20px 30px;
  gap: 15px;
}
.intensive .overview-conts .overview-conts-flex + .overview-conts-flex {
  border-top: 1px dashed #bdbbb0;
}
.intensive .overview-conts .overview-conts-icon {
  font-size: 30px;
  width: 60px;
  height: 60px;
  border-radius: 100%;
  border: 1px solid;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  line-height: 1;
  padding-bottom: 4px;
}
.intensive .overview-conts .overview-conts-time {
  font-size: 24px;
  color: #666666;
}
.intensive .overview-conts .overview-conts-title {
  font-size: 35px;
  font-weight: bold;
}
.intensive .overview-list li:nth-child(2) .overview-conts dt {
  background: #fe7200;
}
.intensive .cv {
  text-align: center;
}
.intensive .cv h2 {
  font-size: clamp(28px, 2.083vw, 40px);
  text-align: center;
  font-weight: bold;
  margin-bottom: 15px;
}
.intensive .cv .btn a {
  margin: 0 auto;
  text-align: center;
  display: inline-block;
  background: #fe7200;
  color: #fff;
  border: 3px solid #fe7200;
  font-size: clamp(20px, 1.5vw, 30px);
  padding: 10px;
  line-height: 1.5;
  width: 100%;
  border-radius: 9999px;
  max-width: 600px;
  transition: 0.3s;
  font-weight: bold;
}
.intensive .cv .btn a:hover {
  background: #fff;
  color: #fe7200;
}
.intensive .curriculum-list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 60px 40px;
  max-width: 1000px;
  margin: 60px auto 0;
}
.intensive .curriculum-list > li {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 0;
}
.intensive .curriculum-item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 30px;
  position: relative;
  background: #fffced;
  padding: 60px 40px 40px;
}
.intensive .curriculum-item-day {
  position: absolute;
  top: -34px;
  left: 50%;
  text-align: center;
  background: #ffb500;
  border-radius: 9999px;
  color: #fff;
  font-weight: bold;
  transform: translateX(-50%);
  font-size: 24px;
  padding: 5px 12px;
  width: 100%;
  max-width: 360px;
  font-feature-settings: "palt";
}
.intensive .curriculum-item-day span {
  font-size: 40px;
}
.intensive .curriculum-item-title {
  text-align: center;
  font-size: clamp(28px, 2.083vw, 40px);
  font-weight: bold;
}
.intensive .curriculum-item-conts {
  background: #fff;
  padding: 30px;
}
.intensive .curriculum-item-conts ul li {
  text-indent: -24px;
  padding-left: 24px;
}
.intensive .curriculum-item-conts ul li:before {
  content: "";
  width: 10px;
  height: 10px;
  background: #ffb500;
  display: inline-block;
  vertical-align: middle;
  border-radius: 100%;
  margin-right: 15px;
}
.intensive .curriculum-list > li:nth-child(2) .curriculum-item-day {
  background: #fe7200;
}
.intensive
  .curriculum-list
  > li:nth-child(2)
  .curriculum-item-conts
  ul
  li:before {
  background: #fe7200;
}
.intensive .feature * {
  box-sizing: border-box;
}
.intensive ul.feature-list {
  display: flex;
  gap: 30px;
  flex-wrap: wrap;
}
.intensive ul.feature-list li {
  width: 100%;
}
.intensive .feature-item {
  background: #fff;
  padding: 40px;
  height: 100%;
}
.intensive .feature-item-title {
  font-weight: bold;
  text-align: center;
  font-size: 30px;
  line-height: 1.406;
  margin-bottom: 20px;
}
.intensive .feature-item-title span {
  color: #fe7200;
}
.intensive .feature-item p {
  color: rgb(51, 51, 51);
  line-height: 1.75;
  font-feature-settings: "palt";
}
.intensive .about-flex {
  display: flex;
  gap: 50px;
  flex-wrap: wrap;
}
.intensive .about-flex-text {
  width: 100%;
}
.intensive .about-flex-img {
  width: 100%;
  text-align: center;
}
.intensive .about-flex-text p {
  color: rgb(51, 51, 51);
  line-height: 1.75;
}
.intensive .overview-item-price {
  text-align: center;
}
.intensive .overview-item-price-text {
  font-size: 30px;
  font-weight: bold;
}
.intensive .overview-item-price p {
  text-align: center;
}
@media print, screen and (min-width: 1000px) {
  .intensive #header_in {
    padding: 260px 0 0px;
  }
  .intensive #header_in .mv_title {
    text-align: center;
    display: inline-block;
    margin: 0 100px;
  }
  .intensive .overview-list li {
    width: calc((100% - 40px) / 2);
  }
  .intensive .curriculum-list {
    grid-template-columns: repeat(2, 1fr);
  }
  .intensive ul.feature-list li {
    width: calc((100% - 30px * 2) / 3);
  }
  .intensive .about-flex-text {
    width: calc(100% - 46% - 50px);
  }
  .intensive .about-flex-img {
    width: 46%;
  }
}
#form .tel dt,
#form .tel dd {
  font-weight: 500;
  line-height: 1;
}
#form .tel dt {
  font-family: "Roboto Condensed", sans-serif;
}
#form .tel dd span {
  display: block;
  margin-top: 5px;
  font-size: 12px;
  font-weight: 500;
}
@media all and (min-width: 960px) {
  #form .tel {
    display: table;
    margin: 0;
  }
  #form .tel dt,
  #form .tel dd {
    display: table-cell;
    vertical-align: middle;
  }
  #form .tel dt {
    font-size: 60px;
  }
  #form .tel a {
    text-decoration: none;
  }
  #form .tel dd {
    padding-left: 15px;
    font-size: 20px;
  }
}
@media screen and (max-width: 959px) {
  #form .tel {
    display: table;
    margin: 0;
  }
  #form .tel dt,
  #form .tel dd {
    display: table-cell;
    vertical-align: middle;
  }
  #form .tel dt {
    font-size: 50px;
  }
  #form .tel dd {
    padding-left: 15px;
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  #form .tel {
    display: block;
  }
  #form .tel dt,
  #form .tel dd {
    display: block;
  }
  #form .tel dt {
    margin-bottom: 10px;
    font-size: 40px;
  }
  #form .tel dd {
    padding-left: 0px;
    font-size: 18px;
  }
}
#form form {
  width: 100%;
}
@media all and (min-width: 960px) {
  #form th {
    /*padding-top: 30px;*/
    width: 300px;
  }
}
#form th span {
  display: block;
  float: right;
  margin-top: 3px;
  background: #c00;
  color: #fff;
  padding: 2px 10px;
  font-size: 15px;
  text-align: center;
  line-height: 18px;
  text-indent: 0;
  -webkit-border-radius: 5px;
  border-radius: 5px;
}
#form h3 {
  margin-bottom: 15px;
}
#form td .info {
  display: block;
  font-size: 12px;
}
#form td table {
  width: auto;
  border: none;
}
#form td table th,
#form td table td {
  width: auto;
  padding: 0 0 10px;
  border: none;
  background: none;
  vertical-align: middle;
}
#form td table th {
  padding-right: 10px;
}
/*#form td#address {
  padding-bottom: 10px;
}*/
#form td#day input {
  width: 250px !important;
  margin-right: 10px;
}
#form td#day .custom {
  display: inline-block;
  vertical-align: bottom;
}
#form td input[type="text"],
#form td input[type="tel"],
#form td input[type="email"],
#form td textarea {
  -webkit-appearance: none;
  width: 100% !important;
  padding: 10px;
  border: solid 1px #ededed;
  background: #f8f8f8;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 100% !important;
}
@media screen and (max-width: 959px) {
  #form td input[type="text"],
  #form td input[type="tel"],
  #form td input[type="email"],
  #form td textarea {
    font-size: 16px;
  }
}
#form td #zip input {
  width: 150px !important;
  margin: 0 5px;
}
@media screen and (max-width: 959px) {
  #form td #zip input {
    width: 120px !important;
  }
}
#form td #zip input[type="button"] {
  width: auto;
  padding: 0 15px;
  border: solid 1px #ededed;
  background: #eee;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 100% !important;
  line-height: 45px;
}
@media screen and (max-width: 767px) {
  #form td #zip input[type="button"] {
    display: block;
    width: 100% !important;
    margin: 10px 0 0;
    line-height: 35px;
  }
}
#form td .custom {
  overflow: hidden;
  position: relative;
  width: 250px;
  border: 1px solid #ededed;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  background: #f8f8f8;
  z-index: 10;
}
#form td .custom i {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 10px;
}
#form td select {
  box-sizing: border-box;
  /*display: block;*/
  display: inline-block;
  position: relative;
  /*width: 130%;*/
  height: 44px;
  padding: 11px 0 10px 15px;
  font-weight: 400;
  cursor: pointer;
  background: none;
  z-index: 15;
  vertical-align: middle;
  line-height: 24px;
  border: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
#form td input[type="radio"],
#form td input[type="checkbox"] {
  display: none;
}
#form td .radio,
#form td .checkbox {
  box-sizing: border-box;
  -webkit-transition: background-color 0.2s linear;
  transition: background-color 0.2s linear;
  position: relative;
  display: block;
  padding: 15px 15px 15px 45px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  border: 1px solid #ededed;
  background-color: #f8f8f8;
  vertical-align: middle;
  cursor: pointer;
  font-size: 16px;
}
#form td .radio:hover:after,
#form td .checkbox:hover:after {
  border-color: #c00;
}
#form td .radio:before,
#form td .radio:after,
#form td .checkbox:before,
#form td .checkbox:after {
  display: block;
  position: absolute;
  top: 50%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  content: "";
}
#form td .radio:before,
#form td .checkbox:before {
  opacity: 0;
}
#form td .radio:after,
#form td .checkbox:after {
  -webkit-transition: border-color 0.2s linear;
  transition: border-color 0.2s linear;
  left: 15px;
  margin-top: -10px;
  width: 20px;
  height: 20px;
  border: 2px solid #bbb;
  -webkit-border-radius: 5px;
  border-radius: 5px;
}
#form td input[type="checkbox"].req:checked + label:after,
#form td input[type="radio"]:checked + label:after {
  border-color: #c00;
}
#form td input[type="checkbox"].req:checked + label:before,
#form td input[type="radio"]:checked + label:before {
  opacity: 1;
}
#form td .radio:before {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  left: 21px;
  margin-top: -4px;
  width: 8px;
  height: 8px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  border-radius: 50%;
  background-color: #c00;
}
#form td .radio:after {
  -webkit-border-radius: 100%;
  border-radius: 100%;
}
#form td .checkbox:before {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  position: absolute;
  top: 50%;
  left: 21px;
  display: block;
  margin-top: -7px;
  width: 7px;
  height: 11px;
  border-right: 3px solid #c00;
  border-bottom: 3px solid #c00;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media all and (min-width: 960px) {
  #form td ol {
    margin-bottom: -10px;
    zoom: 1;
  }
  #form td ol:before,
  #form td ol:after {
    content: "";
    display: table;
    height: 0;
    visibility: hidden;
  }
  #form td ol:after {
    clear: both;
  }
}
#form td li {
  float: left;
  width: 50%;
  padding: 0 10px 10px 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media screen and (max-width: 959px) {
  #form td li {
    width: 100%;
    margin: 5px 0px;
    box-sizing: border-box;
    font-size: 12px;
    padding: 0;
    float: none;
  }
  #form td li:last-child {
    padding-bottom: 0;
  }
}
#form td li input {
  margin-right: 5px;
  padding: 0;
  border: none;
  background: none;
}
#form #submit {
  padding-top: 50px;
  text-align: center;
}
#form #submit input {
  margin: 0 auto;
  text-align: center;
  display: inline-block;
  background: #fe7200;
  color: #fff;
  border: 3px solid #fe7200;
  font-size: clamp(20px, 1.5vw, 30px);
  padding: 10px;
  line-height: 1.5;
  width: 100%;
  border-radius: 9999px;
  max-width: 600px;
  transition: 0.3s;
  font-weight: bold;
  cursor: pointer;
}
#form #submit input:hover {
  background: #fff;
  color: #fe7200;
}
#form .mfp_buttons {
  padding: 0;
  zoom: 1;
}
#form .mfp_buttons:before,
#form .mfp_buttons:after {
  content: "";
  display: table;
  height: 0;
  visibility: hidden;
}
#form .mfp_buttons:after {
  clear: both;
}
#form .mfp_buttons button {
  width: 45%;
}
@media screen and (max-width: 767px) {
  #form .mfp_buttons button {
    width: 100%;
    margin-top: 30px;
  }
}
#form .mfp_buttons #mfp_button_send {
  float: right;
}
#form .mfp_buttons #mfp_button_cancel {
  float: left;
}
#form .privacy p,
#form .privacy dt,
#form .privacy dd,
#form .privacy li {
  font-size: 14px;
}
#form .section.privacy {
  margin-top: 40px;
}
#form .section.privacy h3 {
  font-size: 24px;
}
#form .privacy .inner {
  padding-right: 10px;
  color: #333;
}
#form .privacy .scroll {
  height: 300px;
  overflow-y: scroll;
  overflow-x: hidden;
}
#form .privacy h4 {
  margin-top: 30px;
  font-weight: 500;
}
#form .privacy h4:first-child {
  margin-top: 0;
}
#form .privacy dt {
  margin-top: 15px;
}
#form .privacy dt:first-of-type {
  margin-top: 0;
}
#form table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #e4e4e4;
  border-top: none;
  border-left: none;
}
#form table th,
table td {
  padding: 20px;
  border: none;
  border: 1px solid #e4e4e4;
  border-right: none;
  border-bottom: none;
  /*vertical-align: top;*/
  vertical-align: middle;
  font-weight: 400;
  text-align: left;
}
#form table td {
  background: #fff;
}
#form table th {
  background: #fffced;
}
#form table td ul:last-child,
#form table td dl:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  #form table th,
  #form table td {
    padding: 10px;
  }
  #form table:not(.table-wide) th,
  #form table:not(.table-wide) td {
    display: block;
    padding: 20px;
    width: 100%;
    min-height: 50px;
  }
  #form td .radio,
  #form td .checkbox {
    font-size: 20px;
  }
}
#entryForm_ttl {
  margin-top: -100px;
  padding-top: 100px;
}
.mt10 {
  margin-top: 10px;
}
.intensive h2.tit_h2 {
  font-size: 40px;
  text-align: center;
  border-left: none;
  padding-left: 0;
  position: relative;
  padding-bottom: 25px;
  margin-bottom: 50px;
}
.intensive h2.tit_h2::before {
  content: "";
  position: absolute;
  display: block;
  width: 35px;
  height: 10px;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  background: #ffb500;
}
.thanksTxt {
  text-align: center;
}
.thanksTxt span {
  font-size: 30px;
  margin-bottom: 20px;
  font-weight: bold;
  display: block;
}
.thanksTxt p {
  text-align: center;
}
.thanksTxt .btn a {
  margin: 0 auto;
  text-align: center;
  display: inline-block;
  background: #fe7200;
  color: #fff;
  border: 3px solid #fe7200;
  font-size: clamp(20px, 1.5vw, 30px);
  padding: 10px;
  line-height: 1.5;
  width: 100%;
  border-radius: 9999px;
  max-width: 600px;
  transition: 0.3s;
  font-weight: bold;
}
.thanksTxt .btn a:hover {
  background: #fff;
  color: #fe7200;
}
.intensive #header {
  background-size: 100%;
}
@media print, screen and (min-width: 2000px) {
  .intensive #header {
    background-size: contain;
  }
}
@media print, screen and (min-width: 1000px) {
  .intensive #header {
    background: url("../images/intensive_lp_mv_bg_pc.jpg") center top no-repeat;
  }
  .thanksTxt span {
    font-size: 20px;
  }
}
.mv-blue-btn,
.mv-blue-btn * {
  box-sizing: border-box;
}
.maincontent,
.maincontent * {
  box-sizing: border-box;
}
#comp,
#comp * {
  box-sizing: border-box;
}
#sec03 dl {
  width: 100%;
  margin: 75px auto;
}
#fixed_ban,
#fixed_ban * {
  box-sizing: border-box;
}

@media print, screen and (min-width: 1000px) {
  .curriculum_calendar {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(6, 1fr);
    grid-auto-flow: column;
    gap: 0 15px;
  }
  .curriculum_calendar * {
    font-size: 15px;
  }
}
.curriculum_calendar_monthly {
  display: flex;
  border-bottom: 1px solid #ddd;
  gap: 2px;
  flex-wrap: wrap;
}
.curriculum_calendar_monthly:nth-child(1) {
  border-top: 1px solid #ddd;
}
@media print, screen and (min-width: 1000px) {
  .curriculum_calendar_monthly:nth-child(7) {
    border-top: 1px solid #ddd;
  }
}

.curriculum_calendar_monthly_img {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px;
  width: calc(12% - 4px);
}
.curriculum_calendar_monthly_theme {
  display: flex;
  align-items: center;
  padding: 10px;
  width: 20%;
}
.curriculum_calendar_monthly_contents {
  width: 68%;
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
}
@media print, screen and (min-width: 1000px) {
  .curriculum_calendar_monthly_theme {
    width: 23%;
  }
  .curriculum_calendar_monthly_contents {
    width: 65%;
  }
}

.curriculum_calendar_monthly_content {
  display: flex;
  gap: 2px;
  width: 100%;
}
.curriculum_calendar_monthly_content_detail {
  padding: 10px;
  width: 72%;
  display: flex;
  align-items: center;
}
.curriculum_calendar_monthly_content_time {
  display: flex;
  align-items: center;
  padding: 10px;
  width: calc(28% - 2px);
}

.curriculum_calendar_monthly_img,
.curriculum_calendar_monthly_theme,
.curriculum_calendar_monthly_content_detail,
.curriculum_calendar_monthly_content_time {
  background: #f7fdff;
}

.curriculum_calendar_monthly_content:nth-child(2)
  .curriculum_calendar_monthly_content_time,
.curriculum_calendar_monthly_content:nth-child(2)
  .curriculum_calendar_monthly_content_detail {
  background: #ddf6ff;
}

.curriculum_calendar_monthly:nth-child(3) .curriculum_calendar_monthly_img,
.curriculum_calendar_monthly:nth-child(3) .curriculum_calendar_monthly_theme,
.curriculum_calendar_monthly:nth-child(3)
  .curriculum_calendar_monthly_content_detail,
.curriculum_calendar_monthly:nth-child(3)
  .curriculum_calendar_monthly_content_time,
.curriculum_calendar_monthly:nth-child(4) .curriculum_calendar_monthly_img,
.curriculum_calendar_monthly:nth-child(4) .curriculum_calendar_monthly_theme,
.curriculum_calendar_monthly:nth-child(4)
  .curriculum_calendar_monthly_content_detail,
.curriculum_calendar_monthly:nth-child(4)
  .curriculum_calendar_monthly_content_time,
.curriculum_calendar_monthly:nth-child(5) .curriculum_calendar_monthly_img,
.curriculum_calendar_monthly:nth-child(5) .curriculum_calendar_monthly_theme,
.curriculum_calendar_monthly:nth-child(5)
  .curriculum_calendar_monthly_content_detail,
.curriculum_calendar_monthly:nth-child(5)
  .curriculum_calendar_monthly_content_time {
  background: #fff7f9;
}

.curriculum_calendar_monthly:nth-child(3)
  .curriculum_calendar_monthly_content:nth-child(2)
  .curriculum_calendar_monthly_content_time,
.curriculum_calendar_monthly:nth-child(3)
  .curriculum_calendar_monthly_content:nth-child(2)
  .curriculum_calendar_monthly_content_detail,
.curriculum_calendar_monthly:nth-child(4)
  .curriculum_calendar_monthly_content:nth-child(2)
  .curriculum_calendar_monthly_content_time,
.curriculum_calendar_monthly:nth-child(4)
  .curriculum_calendar_monthly_content:nth-child(2)
  .curriculum_calendar_monthly_content_detail,
.curriculum_calendar_monthly:nth-child(5)
  .curriculum_calendar_monthly_content:nth-child(2)
  .curriculum_calendar_monthly_content_time,
.curriculum_calendar_monthly:nth-child(5)
  .curriculum_calendar_monthly_content:nth-child(2)
  .curriculum_calendar_monthly_content_detail {
  background: #ffe7ed;
}

.curriculum_calendar_monthly:nth-child(6) .curriculum_calendar_monthly_img,
.curriculum_calendar_monthly:nth-child(6) .curriculum_calendar_monthly_theme,
.curriculum_calendar_monthly:nth-child(6)
  .curriculum_calendar_monthly_content_detail,
.curriculum_calendar_monthly:nth-child(6)
  .curriculum_calendar_monthly_content_time,
.curriculum_calendar_monthly:nth-child(7) .curriculum_calendar_monthly_img,
.curriculum_calendar_monthly:nth-child(7) .curriculum_calendar_monthly_theme,
.curriculum_calendar_monthly:nth-child(7)
  .curriculum_calendar_monthly_content_detail,
.curriculum_calendar_monthly:nth-child(7)
  .curriculum_calendar_monthly_content_time,
.curriculum_calendar_monthly:nth-child(8) .curriculum_calendar_monthly_img,
.curriculum_calendar_monthly:nth-child(8) .curriculum_calendar_monthly_theme,
.curriculum_calendar_monthly:nth-child(8)
  .curriculum_calendar_monthly_content_detail,
.curriculum_calendar_monthly:nth-child(8)
  .curriculum_calendar_monthly_content_time {
  background: #f2f9e7;
}
.curriculum_calendar_monthly:nth-child(6)
  .curriculum_calendar_monthly_content:nth-child(2)
  .curriculum_calendar_monthly_content_time,
.curriculum_calendar_monthly:nth-child(6)
  .curriculum_calendar_monthly_content:nth-child(2)
  .curriculum_calendar_monthly_content_detail,
.curriculum_calendar_monthly:nth-child(7)
  .curriculum_calendar_monthly_content:nth-child(2)
  .curriculum_calendar_monthly_content_time,
.curriculum_calendar_monthly:nth-child(7)
  .curriculum_calendar_monthly_content:nth-child(2)
  .curriculum_calendar_monthly_content_detail,
.curriculum_calendar_monthly:nth-child(8)
  .curriculum_calendar_monthly_content:nth-child(2)
  .curriculum_calendar_monthly_content_time,
.curriculum_calendar_monthly:nth-child(8)
  .curriculum_calendar_monthly_content:nth-child(2)
  .curriculum_calendar_monthly_content_detail {
  background: #e5f3d1;
}
.curriculum_calendar_monthly:nth-child(9) .curriculum_calendar_monthly_img,
.curriculum_calendar_monthly:nth-child(9) .curriculum_calendar_monthly_theme,
.curriculum_calendar_monthly:nth-child(9)
  .curriculum_calendar_monthly_content_detail,
.curriculum_calendar_monthly:nth-child(9)
  .curriculum_calendar_monthly_content_time,
.curriculum_calendar_monthly:nth-child(10) .curriculum_calendar_monthly_img,
.curriculum_calendar_monthly:nth-child(10) .curriculum_calendar_monthly_theme,
.curriculum_calendar_monthly:nth-child(10)
  .curriculum_calendar_monthly_content_detail,
.curriculum_calendar_monthly:nth-child(10)
  .curriculum_calendar_monthly_content_time,
.curriculum_calendar_monthly:nth-child(11) .curriculum_calendar_monthly_img,
.curriculum_calendar_monthly:nth-child(11) .curriculum_calendar_monthly_theme,
.curriculum_calendar_monthly:nth-child(11)
  .curriculum_calendar_monthly_content_detail,
.curriculum_calendar_monthly:nth-child(11)
  .curriculum_calendar_monthly_content_time {
  background: #fffaeb;
}
.curriculum_calendar_monthly:nth-child(9)
  .curriculum_calendar_monthly_content:nth-child(2)
  .curriculum_calendar_monthly_content_time,
.curriculum_calendar_monthly:nth-child(9)
  .curriculum_calendar_monthly_content:nth-child(2)
  .curriculum_calendar_monthly_content_detail,
.curriculum_calendar_monthly:nth-child(10)
  .curriculum_calendar_monthly_content:nth-child(2)
  .curriculum_calendar_monthly_content_time,
.curriculum_calendar_monthly:nth-child(10)
  .curriculum_calendar_monthly_content:nth-child(2)
  .curriculum_calendar_monthly_content_detail,
.curriculum_calendar_monthly:nth-child(11)
  .curriculum_calendar_monthly_content:nth-child(2)
  .curriculum_calendar_monthly_content_time,
.curriculum_calendar_monthly:nth-child(11)
  .curriculum_calendar_monthly_content:nth-child(2)
  .curriculum_calendar_monthly_content_detail {
  background: #fff2cd;
}

/* 250311（KIDSページ修正） */
#recruitment .recruitment_box_main dt.detail_remarks {
  margin-top: 5px;
}

#recruitment .recruitment_box_main {
  height: calc(100% - 77px);
}
#recruitment .recruitment_box_main dd.ind {
  padding-left: 0;
  text-indent: 0;
  font-size: 18px;
}
/* 250513（KIDSページ修正） */
#recruitment .online .recruitment_box_main {
  background: #fff;
}
#recruitment .recruitment_box_main {
  background: #fff;
}
#recruitment .recruitment_box_main .info {
  text-align: center;
}
#recruitment .recruitment_box_main .info.group {
  margin-bottom: 45px;
}
#recruitment .online .recruitment_box_main .detail {
  width: 100%;
}
#recruitment .recruitment_box_main dl {
  width: 100%;
}
@media screen and (max-width: 767px) {
  #recruitment .recruitment_box_main .info.group {
    margin-bottom: initial;
  }
}
@media print, screen and (min-width: 1000px) {
  #class_price .class_price02 .class_price_table {
    height: 300px;
  }
}

#class_date .class_date_table.group_class table {
  margin-bottom: 20px;
}

#class_date .class_date_table.group_class table tbody th.tit {
  background: #ffb500;
}
#class_date .class_date_table.group_class table tbody td strong {
  background: #28bcf2;
  display: inline-block;
  color: #fff;
  text-align: center;
  padding: 0.25em 0;
  line-height: 1em;
  margin-right: 10px;
  border-radius: 2em;
  width: 80px;
}
#class_date .class_date_table.group_class table tbody td {
  padding-left: 2em;
}
#class_date .class_date_table.group_class table tbody td p {
  margin: 0 0 0.5em;
}
#class_date .class_date01 .class_date_table.group_class {
  position: static !important;
  overflow: visible !important;
  height: unset;
}
#class_date
  .class_date01
  .class_date_table.group_class
  div#flex__1_mcontentwrapper {
  height: auto !important;
}
#class_date
  .class_date01
  .class_date_table.group_class
  div#flex__1_mcontentwrapper
  div#flex__1_scrollwrapper {
  position: static;
}
#class_price .class_price02 .class_price_table.nonscroll {
  position: static !important;
  overflow: visible !important;
  height: unset;
}
#class_price
  .class_price02
  .class_price_table.nonscroll
  div#flex__4_mcontentwrapper {
  height: auto !important;
}
#class_price
  .class_price02
  .class_price_table.nonscroll
  div#flex__4_mcontentwrapper
  div#flex__4_contentwrapper {
  position: static;
}
#class_price
  .class_price02
  .class_price_table.nonscroll
  div#flex__5_mcontentwrapper {
  height: auto !important;
}
#class_price
  .class_price02
  .class_price_table.nonscroll
  div#flex__5_mcontentwrapper
  div#flex__5_contentwrapper {
  position: static;
}

@media screen and (max-width: 767px) {
  #class_date .class_date01 .class_date_table.group_class {
    position: relative !important;
    overflow: hidden !important;
    height: 575px;
  }
  #class_date
    .class_date01
    .class_date_table.group_class
    div#flex__1_mcontentwrapper
    div#flex__1_scrollwrapper {
    position: relative;
  }
  #class_price .class_price02 .class_price_table.nonscroll {
    position: relative !important;
    overflow: hidden !important;
    height: 490px;
  }
  #class_price
    .class_price02
    .class_price_table.nonscroll
    div#flex__4_mcontentwrapper
    div#flex__4_contentwrapper {
    position: relative;
  }
  #class_price
    .class_price02
    .class_price_table.nonscroll
    div#flex__5_mcontentwrapper
    div#flex__5_contentwrapper {
    position: relative;
  }
  #class_price
    .class_price02
    .class_price_table.nonscroll
    div#flex__5_hscrollerbase {
    top: 450px !important;
  }
  #class_date .class_date02 .class_date_table.class_date_table_height {
    height: 590px;
  }
  #class_date
    .class_date02
    .class_date_table.class_date_table_height
    div#flex__2_hscrollerbase {
    top: 550px !important;
  }
}

/* 250619（トップページ修正） */
#recruitment .recruitment_box_wrap {
  display: flex;
  gap: 20px;
}
#recruitment .recruitment_box.online {
  min-height: 560px;
}
#recruitment .recruitment_box {
  width: calc(100% / 3 - 20px);
}
#recruitment .recruitment_box_title {
  font-size: 28px;
  padding: 10px 0;
}
#recruitment .recruitment_box_main .recruitment_box_inner {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
#recruitment .online .recruitment_box_main {
  flex-direction: column;
  display: flex;
  padding: 30px 20px;
}
#recruitment .recruitment_box_main {
  height: auto;
}
#recruitment .recruitment_box_main .desc {
  font-size: 16px;
  line-height: 1.75;
  min-height: 140px;
}
#recruitment .recruitment_box_main .btn_group {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 10px;
}
#recruitment .recruitment_box_main .btn {
  font-size: 18px;
}

/* 夏 */
#recruitment .recruitment_box.online.summer .btn {
  margin-top: 60px;
}
/* マンツーマン */
#recruitment .recruitment_box.online.mantoman .recruitment_box_title::after {
  background-color: #fe7200;
}

/* グループ */
#recruitment .recruitment_box.online.group .recruitment_box_title::after {
  background-color: #ffb500;
}

@media screen and (max-width: 767px) {
  #recruitment .recruitment_box_wrap {
    flex-direction: column;
  }
  #recruitment .recruitment_box.online {
    min-height: unset;
    width: 80%;
    margin: 0 auto;
  }
  #recruitment .recruitment_box.online.mantoman {
    min-height: unset;
  }
  #recruitment .recruitment_box.online.group {
    min-height: unset;
  }
  #recruitment .recruitment_box_main .desc {
    min-height: unset;
    font-size: 18px;
  }
  #recruitment .online .recruitment_box_main {
    gap: 20px;
  }
  #recruitment .recruitment_box_main .recruitment_box_inner {
    gap: 20px;
  }
  #recruitment .recruitment_box.online.summer .btn {
    margin-top: 0;
  }
}
