/* design */

body {
 background-size: auto auto;
 background-color: rgba(255, 255, 255, 1);
 background-image: repeating-linear-gradient(90deg, transparent, transparent 3px, rgba(243, 255, 230, 1) 3px, rgba(243, 255, 230, 1) 5px );
}

.wrapper {
 max-width: 1920px;
 margin: 0 auto;
 z-index: 0;
 position: relative;
}

.side_note {
 width: 85%;
 max-width: 820px;
 margin: 0 auto;
 padding: 0.5rem 1rem;
 border: 2px #000 dashed;
}

.fp_heading {
 text-align: center;
 font-size: min(6vw,3rem);
 line-height: 1.2;
 font-weight: bold;
 margin: 8% auto 5%;
 letter-spacing: normal;
 padding: 0.25em 0.5em;
 color: #494949;
 background: transparent;
 border-left: solid 10px #09925e;
 display: table;
}

/* フロントページ */

.academy {
 text-align: center;
}

.academy_container {
 width: 90%;
 max-width: 1024px;
 margin: 0 auto;
}

.academy_scroll {
 background: url(/wp-content/themes/onepixel-child/images/academy.png) center top / cover no-repeat;
 height: 230px;
 position: relative;
}

.ac {
 position: absolute;
 top: 25%;
 left: 50%;
 transform: translate(-50%, -50%);
 -webkit-transform: translate(-50%, -50%);
 -ms-transform: translate(-50%, -50%);
 color: #555;
}

.blinking{
 -webkit-animation:blink 1.5s ease-in-out infinite alternate;
 -moz-animation:blink 1.5s ease-in-out infinite alternate;
 animation:blink 1.5s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
 0% {
 opacity:0;
}
 50% {
 opacity:0.5;
}
 100% {
 opacity:1;
}
}
@-moz-keyframes blink{
 0% {
 opacity:0;
}
 50% {
 opacity:0.5;
}
 100% {
 opacity:1;
}
}
@keyframes blink{
 0% {
 opacity:0;
}
 50% {
 opacity:0.5;
}
 100% {
 opacity:1;
}
}

.license {
 display: flex;
}

.license_container {
 width: 50%;
 padding: 5%;
}

@media screen and (max-width:820px) {
.license_container {
 padding: 3%;
}}

.license_disc {
 background: rgba(255,255,255,0.8);
 padding: 3%;
 margin: 100px 0 30px;
 font-size: 0.9rem;
 text-align: center;
}

@media screen and (max-width:820px) {
.license_disc {
 margin: 60px 0 0;
}}


.license_type {
 text-align: center;
 padding: 0.3rem 0.5rem;
 margin: 0 0 0.3rem;
 font-weight: bold;
 font-size: min(5vw,1.5rem);
}

.license_system {
 padding: 3% 0 0;
}

.ls_container {
 display: flex;
 width: 90%;
 max-width: 1100px;
 margin: 0 auto 2rem;
 align-items: center;
}

@media screen and (max-width:820px) {
.ls_container {
 display: initial;
}}

.ls_left {
 width: 40%;
 padding: 3%;
 box-sizing: border-box;
}

@media screen and (max-width:820px) {
.ls_left {
 width: 95%;
 margin: 0 auto;
}}

.ls_right {
 width: 60%;
 box-sizing: border-box;
}

@media screen and (max-width:820px) {
.ls_right {
 width: 95%;
 margin: 0 auto;
 padding: 3%;
}}

.ls {
 background: #09925e;
 color: #fff;
 padding: 0 0.3rem;
 margin-right: 5px;
}

.scene {
 padding: 5%;
 background: #333 url(/wp-content/themes/onepixel-child/images/scene.jpg) center center / cover no-repeat;
}

.scene_wrapper {
 width: 100%;
 max-width: 820px;
 margin: 0 auto;
}

@media screen and (max-width:820px) {
.scene_wrapper {
 width: 90%;
}}

.scene_disc {
 position: absolute;
 top: -5rem;
 font-size: min(6vw,2rem);
 font-weight: bold;
 color: #fff;
 z-index: 1;
 line-height: 1;
 text-align: center;
 background: #f00;
 width: 100%;
 padding: 0.8rem 1rem;
 box-sizing: border-box;
}

@media screen and (max-width:820px) {
.scene_disc {
 top: -4.5rem;
}}

.scene_disc:before {
 content: "";
 position: absolute;
 top: 100%;
 left: 50%;
 margin-left: -10px;
 border: 10px solid transparent;
 border-top: 15px solid #ff0000;
}

.scene_container {
 display: flex;
 width: 96%;
 max-width: 1100px;
 margin: 2rem auto 0;
 align-items: stretch;
}

@media screen and (max-width:820px) {
.scene_container  {
 display: block;
}}

.scene_left {
 width: 15%;
 padding: 1%;
 box-sizing: border-box;
 background: #09925e;
 position: relative;
}

@media screen and (max-width:820px) {
.scene_left {
 width: 100%;
 margin: 1rem auto 0;
}}

.sl_container {
 color: #fff;
 font-size: min(4vw,1.5rem);
 font-weight: bold;
 position: absolute;
 writing-mode: vertical-rl;
 -ms-writing-mode: tb-rl;
 left: 50%;
 top: 50%;
 transform: translate(-50%, -50%);
}

@media screen and (max-width:820px) {
.sl_container {
 position: initial;
 writing-mode: initial;
 transform: initial;
 padding: 0.3rem;
 text-align: center;
}}

.scene_right {
 width: 85%;
 margin: 0 0 0 1%;
}

@media screen and (max-width:820px) {
.scene_right {
 width: 100%;
 margin: 0.5rem auto 0;
}}

table.scene_table {
 width: 100%;
}

.scene_table thead {
 background: #09925e;
 color: #fff;
}

.scene_table th, .scene_table td {
 font-size: min(3.8vw,1rem);
 padding: 0.5rem 0.8rem;
 border: 1px solid #bbb;
 vertical-align: middle;
}

@media screen and (max-width:820px) {
.scene_table th, .scene_table td {
 padding: 0.2rem;
}
}

.scene_table th {
 width: 30%;
}

.scene_table td {
 width: 70%;
}

.flow_container {
 display: flex;
 width: 90%;
 max-width: 1100px;
 margin: 0 auto;
 align-items: stretch;
}

@media screen and (max-width:820px) {
.flow_container {
 display: initial;
}}

.flow_left {
 width: 70%;
 padding: 1%;
 box-sizing: border-box;
}

@media screen and (max-width:820px) {
.flow_left {
 width: 90%;
 margin: 0 auto;
}}

.flow_right {
 background: url(/wp-content/themes/onepixel-child/images/flow.jpg) center bottom / cover no-repeat;
 width: 30%;
 margin: 1%;
}

@media screen and (max-width:820px) {
.flow_right {
 width: 100%;
 margin: 1rem auto 0;
}}

.fl_contents {
 border: #09925e 2px solid;
 border-radius: 3px;
 padding: 0.3rem 0.5rem;
 font-size: 0.9rem;
}

.fl_down {
 font-size: 1.5rem;
 text-align: center;
 color: #09925e;
 line-height: 0;
}

.fr_container {
 color: #fff;
 font-size: min(4vw,1.5rem);
 font-weight: bold;
 text-shadow: 2px 2px 3px #000;
 writing-mode: vertical-rl;
 margin: 0 auto;
 padding-top: 2rem;
}

@media screen and (max-width:820px) {
.fr_container {
 writing-mode: initial;
 padding: 15% 3%;
 text-align: center;
}}

.class_course {
 text-align: center;
 color: #fff;
 font-size: min(6vw,3rem);
 font-weight: bold;
 line-height: 1.5;
 padding: 5%;
 margin: 0 0 5%;
 text-shadow: 2px 2px 6px #000;
}

@media screen and (max-width:820px) {
.class_course {
 padding: 10% 0;
}}

.course_wrapper {
 display: flex;
 width: 98%;
 max-width: 1100px;
 margin: 0.5rem auto 1rem;
 align-items: start;
}

.course_container {
 width: 50%;
 padding: 0.5%;
}

table.course_table {
 width: 100%;
}

.course_table th, .course_table td {
 text-align: center !important;
 width: 50%;
 font-size: min(3.8vw,1.3rem);
 padding: 0.2rem;
 border: 1px solid #bbb;
 vertical-align: middle;
}

.course_table th {
 background: rgba(153,153,153,0.1);
}

.supple {
 background: initial !important;
 font-weight: normal;
 color: #f00;
}

.schedule_wrapper {
 display: flex;
 width: 98%;
 max-width: 1100px;
 margin: 0.5rem auto 2rem;
 align-items: start;
}

@media screen and (max-width:820px) {
.schedule_wrapper {
 display: initial;
}}

.schedule_container {
 width: 50%;
 padding: 0.5%;
}

@media screen and (max-width:820px) {
.schedule_container {
 width: 96%;
 margin: 0 auto;
}}

table.schedule_table {
 width: 100%;
}

.schedule_table th, .schedule_table td {
 text-align: center !important;
 font-size: min(3.8vw,1.3rem);
 padding: 0.2rem;
 font-weight: normal;
 width: 20%;
 border: 1px solid #bbb;
 vertical-align: middle;
}

.cost_wrapper {
 display: flex;
 width: 98%;
 max-width: 1100px;
 margin: 0.5rem auto 1rem;
 align-items: start;
}

@media screen and (max-width:820px) {
.cost_wrapper {
 display: initial;
}}

.cost_container {
 width: 50%;
 padding: 0.5%;
}

@media screen and (max-width:820px) {
.cost_container {
 width: 96%;
 margin: 0 auto;
}}

table.cost_table {
 width: 100%;
}

.cost_table th, .cost_table td {
 text-align: center !important;
 font-size: min(3.8vw,1.2rem);
 padding: 0.2rem;
 font-weight: normal;
 width: 18%;
 border: 1px solid #bbb;
 vertical-align: middle;
}

.cost_table th {
 background: initial;
}

/* サイドバー */

.sidebar-title:before {
 font-family: 'onepixel';
 content: "\e900";
 font-size: 2rem;
 vertical-align: middle;
 font-weight: normal;
 padding-right: 0.5rem;
 line-height: 0;
}

/* スワイパー */

.swiper-button-prev {
 color: #09925e !important;
}

.swiper-button-next {
 color: #09925e !important;
}

.swiper-pagination-bullet.swiper-pagination-bullet-active {
 background: #09925e !important;
}

/* コンテナのサイズ調整 */
.swiper-container-video {
 width: 100%;
 padding-top: 56.25%;
 margin-top: 5rem;
 overflow-x: clip;
 position: relative;
}

.swiper-container-video iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
	
/* ページネイションをinlineで中央に */
.swiper-pagination.swiper-pagination-bullets.swiper-pagination-horizontal {
 display: inline-block;
 width: auto;
 left: 50%;
 transform: translateX(-50%);
}