/*===================================
mv
===================================*/
#mv {
    position: relative;
    /*background: url(../img/mv.jpg) center center no-repeat;
background-size: cover;*/
    width: 100%;
    height: 100vh;
}
#mv::after {
    position: absolute;
    content: '';
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    /*background-color: rgba(0, 0, 0, .7);*/
    background-color: #17326d;
    z-index: 1;
}
#mv .mv_title {
    position: absolute;
    transform: translate(-50%, -50%);
    left: 50%;
    top: 50%;
    width: 100%;
    z-index: 2;
}
#mv .mv_title .title {
    color: transparent;
    font-size: 20vw;
    line-height: 1;
    -webkit-text-stroke: 1px #FFF;
    text-stroke: 1px #FFF;
    padding: 0 4%;
}
#mv .mv_title .sub_title {
    background-image: url("../img/home/text_clip.jpg");
    background-size: contain;
    -webkit-background-clip: text;
    color: transparent;
    font-size: 95vw;
    line-height: .8;
    padding: 0 4%;
}
/*#mv .mv_title .title span {
color: #ccc;
display: block;
font-size: .2em;
letter-spacing: .5em;
}*/
@media screen and (min-width: 768px) {
    #mv .mv_title .title {
        font-size: 13vw;
    }
}
@media screen and (min-width: 960px) {}
@media screen and (min-width: 1200px) {
    #mv .mv_title {
        display: flex;
    }
    #mv .mv_title .sub_title {
        font-size: 40vw;
    }
}
/* top_news */
#top_news {
    position: absolute;
    right: 0;
    bottom: 0;
    background: #fff;
    box-shadow: -10px 10px #ea5513;
    display: flex;
    align-items: center;
    width: 90vw;
    overflow: hidden;
    z-index: 99;
}
#top_news .top_news_head {
    display: flex;
    align-items: center;
    border-right: 1px solid #ccc;
    padding: 4%;
}
#top_news .top_news_head span {
    color: #17326d;
    font-size: 10vw;
}
#top_news ._post {
    width: 100%;
}
#top_news ._post .post_link {
    padding: 4%;
    max-width: 80%;
}
#top_news ._post .post_link h3 {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
#top_news .top_news_contents {
    width: 100%;
}
#top_news ._post_list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    transition: transform 0.5s ease-in-out;
}
@media screen and (min-width: 768px) {
    #top_news ._post_list {
        margin-left: 50px;
    }
    #top_news .top_news_head span {
        font-size: 6vw;
        line-height: 1;
    }
    #top_news .post_link {
        font-size: 1.2vw;
    }
}
@media screen and (min-width: 960px) {}
@media screen and (min-width: 1200px) {
    #top_news {
        width: 60vw;
        box-shadow: -30px 30px #ea5513;
    }
    #top_news ._post .post_link {
        padding: 10px;
    }
}
/* aboutus */
#aboutus {
    position: relative;
}
#aboutus::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 0 0 100vw;
    border-color: transparent transparent transparent #eaeaea;
}
#aboutus ._container {
    padding: 4%;
}
#aboutus ._container .heading01 {
    color: #fff;
}
#aboutus ._container ._box {}
#aboutus ._container ._box .img {
    display: flex;
    gap: 10px;
}
#aboutus ._container ._box .img img {
    width: calc((100% - 20px) / 3);
    height: auto;
    object-fit: cover;
}
#aboutus ._container ._box .img img:nth-child(2) {
    margin-top: 20px;
    margin-bottom: -20px;
}
#aboutus ._container ._box .img img:nth-child(3) {
    margin-top: 40px;
    margin-bottom: -40px;
}
#aboutus ._container ._box ._text {
    margin-top: 50px;
}
#aboutus ._container ._box ._text .heading02 {
    color: #ea5513;
    font-size: 8vw;
}
/*#aboutus ._container ._box ._text p {
    color: #fff;
}*/
@media screen and (min-width: 768px) {}
@media screen and (min-width: 960px) {
    #aboutus::before {
        border-width: 50px 0 0 100vw;
    }
    #aboutus ._container ._box .img img:nth-child(2) {
        margin-top: 50px;
        margin-bottom: -50px;
    }
    #aboutus ._container ._box .img img:nth-child(3) {
        margin-top: 100px;
        margin-bottom: -100px;
    }
    #aboutus ._container ._box ._text p {
        font-size: 2.5vw;
    }
    #aboutus ._container ._box .btns {
        justify-content: flex-start;
    }
}
@media screen and (min-width: 1200px) {
    #aboutus ._container ._box {
        display: flex;
        gap: 4%;
    }
    #aboutus ._container ._box > * {
        width: calc((100% - 4%) / 2);
    }
    #aboutus ._container ._box ._text .heading02 {
        font-size: 7vw;
        line-height: 1;
    }
    #aboutus ._container ._box ._text p {
        font-size: 1.5vw;
    }
}
#aboutus ._container ._box .accordion_box {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
#aboutus ._container ._box .accordion_container {
    overflow: hidden;
    width: 100%;
    margin-top: 2em;
}
#aboutus ._container ._box .accordion_container .accordion-item {
    background: #fff;
}
#aboutus ._container ._box .accordion_container .accordion-item:not(:first-child) {
    border-top: 1px solid;
}
#aboutus ._container ._box .accordion_container .accordion-link {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    padding: 4%;
    color: inherit;
    transition: .5s all;
}
/*#aboutus ._container ._box .accordion_container .accordion-link:hover {
    background: #eaeaea;
}*/
#aboutus ._container ._box .accordion_container .accordion-link h3 {
    color: #18326d;
    display: block;
    font-weight: 600;
    width: 100%;
}
#aboutus ._container ._box .accordion_container .accordion-link:hover h3 {}
#aboutus ._container ._box .accordion_container .accordion-link h3 span {
    color: #ea5512;
    line-height: 1;
    /*-webkit-text-stroke: 1px #ea5512;*/
    font-size: 2em;
    display: block;
    margin-bottom: .5em;
}
#aboutus ._container ._box .accordion_container .accordion-link svg {
    transition: .5s all;
    fill: #ea5512;
    width: 60px;
    margin-top: auto;
}
#aboutus ._container ._box .accordion_container .accordion-link ul {
    display: flex;
    align-items: flex-start;
    gap: 2px;
}
#aboutus ._container ._box .accordion_container .accordion-link li {
    background: #2b3530;
    border: 1px solid;
    border-radius: 100vh;
    color: #fff;
    font-size: .5em;
    padding: .2em 1em;
}
#aboutus ._container ._box .accordion_container .accordion-link div {
    display: flex;
    flex-direction: column;
}
#aboutus ._container ._box .accordion_container .answer {
    max-height: 0;
    overflow: hidden;
    position: relative;
    transition: .5s all;
}
#aboutus ._container ._box .accordion_container .answer p {
    line-height: 1.5;
}
#aboutus ._container ._box .accordion_container .answer ._list {
    border: 1px solid;
    border-radius: 5px;
    padding: .5em;
    margin: 1em 0;
}
#aboutus ._container ._box .accordion_container .answer ._list ._item {
    margin-left: 1em;
    font-weight: bold;
}
#aboutus ._container ._box .accordion_container .accordion-item.active .answer {
    max-height: 100%;
    padding: 4%;
}
#aboutus ._container ._box .accordion_container .accordion-item.active {
    background: #eaeaea;
}
#aboutus ._container ._box .accordion_container .accordion-item.active h3 {
    /*color: #fff;*/
}
#aboutus ._container ._box .accordion_container .accordion-item.active .accordion-link svg {
    transform: rotate(180deg);
    transition: .5s all;
}
@media screen and (min-width: 768px) {
    #aboutus ._container ._box ._text .heading02 {
        font-size: 5vw;
    }
    #aboutus ._container ._box ._text p {
        font-size: 3vw;
    }
    #aboutus ._container ._box .accordion_container .accordion-link h3 {
        font-size: 4vw;
    }
    #aboutus ._container ._box .accordion_container .answer p {
        font-size: clamp(14px, 3vw, 16px);
    }
}
@media screen and (min-width: 960px) {
    #aboutus ._container ._box ._text {
        /*column-count: 2;*/
    }
    #aboutus ._container ._box .accordion_container .accordion {
        display: flex;
        flex-direction: row;
        gap: 10px;
    }
    #aboutus ._container ._box .accordion_container .accordion-item {
        width: calc(100%/3);
    }
    #aboutus ._container ._box .accordion_container .accordion-item:not(:first-child) {
        border-top: none;
    }
    #aboutus ._container ._box .accordion_container .accordion-link h3 {
        font-size: 2vw;
    }
}
@media screen and (min-width: 1200px) {
    #aboutus ._container {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
    }
    #aboutus ._container .heading01 {
        width: 100%;
    }
    #aboutus ._container ._box {
        position: relative;
        /*width: calc(100% / 2);*/
    }
    #aboutus ._container ._box + ._box {
        margin-top: 2em;
    }
    #aboutus ._container ._box::after {
        background: url("../img/philosophy_bg.jpg") center center no-repeat;
        background-size: cover;
        width: 50%;
        position: absolute;
        content: '';
        left: -15%;
        top: 90%;
        bottom: -90%;
        z-index: -1;
    }
    #aboutus ._container ._box ._text .heading02 {
        font-size: 2.5vw;
    }
    #aboutus ._container ._box .accordion_container {
        margin-left: auto;
        /*padding: 4%;*/
    }
    #aboutus ._container ._box .accordion_container .accordion-link {
        padding: 8%;
    }
    #aboutus ._container ._box .accordion_container .accordion-link h3 {
        font-size: clamp(18px, 1vw, 24px);
    }
    #aboutus ._container ._box .accordion_container .accordion-link li {
        font-size: 1vw;
    }
    #aboutus ._container ._box .accordion_container .answer p {
        font-size: 1vw;
    }
}
/* westling class */
#wrestling_class {
    position: relative;
    color: #17326d;
}
#wrestling_class ._container {
    padding: 4%;
}
#wrestling_class ._container ._box.top_section {
    display: flex;
    flex-direction: column-reverse;
}
#wrestling_class ._container ._box ._text {
    margin-top: 10px;
}
#wrestling_class ._container ._box ._text .heading02 {
    color: #ea5513;
    font-size: 8vw;
}
#wrestling_class ._container ._box ._text ._list {
    background: #fff;
    padding: 1em;
}
#wrestling_class ._container ._box ._text ._list + ._list {
    margin-top: .5em;
}
#wrestling_class ._container ._box ._text ._list ._item {
    font-size: 3.5vw;
    margin-left: .5em;
}
#wrestling_class ._container ._box ._text ._list ._item .en_01 {
    font-size: 6vw;
}
#wrestling_class ._container ._box ._text ._list ._item .class_name {
    display: block;
    font-size: .7em;
}
#wrestling_class ._container ._box ._text ._list ul + ul {
    margin-top: 1em;
}
#wrestling_class ._container ._box ._text ._list ul li:first-child {
    font-weight: bold;
}
#wrestling_class ._container ._box ._text ._list ._item .btns {
    margin-top: .1em;
}
#wrestling_class ._container ._box ._text ._list ._item .btn.line {
    color: #fff;
    background-color: #00B900;
    border-color: #00B900;
}
#wrestling_class ._container ._box ._text ._list ._item .btn.line:hover {
    background-color: #009300;
    border-color: #008600;
}
#wrestling_class ._container ._box ._text ._list ._item:first-child {
    font-weight: bold;
    font-size: 5vw;
    margin-left: 0;
}
#wrestling_class ._container ._box ._text p {
    font-size: 4vw;
    margin-top: 1.5em;
}
@media screen and (min-width: 768px) {
    #wrestling_class ._container ._box ._text ._list ._item {
        font-size: 2.5vw;
    }
    #wrestling_class ._container ._box ._text ._list ._item .en_01 {
        font-size: 3vw;
    }
    #wrestling_class ._container ._box ._text ._list ._item:first-child {
        font-size: 4vw;
    }
    #wrestling_class ._container ._box ._text p {
        font-size: 2vw;
    }
}
@media screen and (min-width: 960px) {
    #wrestling_class ._container ._box ._text ._box_child {
        display: flex;
        gap: 5px;
    }
    #wrestling_class ._container ._box ._text ._list + ._list {
        margin-top: 0;
    }
    #wrestling_class ._container ._box ._text ._list {
        display: flex;
        flex-direction: column;
        width: calc((100% - 10px) / 3);
    }
    #wrestling_class ._container ._box ._text ._list ._item {
        font-size: 2vw;
    }
    #wrestling_class ._container ._box ._text ._list ._item .en_01 {
        font-size: 2.5vw;
    }
    #wrestling_class ._container ._box ._text ._list ._item:first-child {
        font-size: 3vw;
    }
    #wrestling_class ._container ._box ._text ._list ._item .btns {
        margin-top: auto;
    }
    #wrestling_class ._container ._box ._text p {
        font-size: 1.5vw;
    }
}
@media screen and (min-width: 1200px) {
    #wrestling_class ._container ._box {
        display: flex;
        gap: 4%;
    }
    #wrestling_class ._container ._box.top_section {
        flex-direction: row;
    }
    #wrestling_class ._container ._box ._img {
        width: 40%;
    }
    #wrestling_class ._container ._box ._img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    #wrestling_class ._container ._box ._text {
        width: 60%;
        margin-top: 0;
    }
    #wrestling_class ._container ._box ._text .heading02 {
        font-size: 4vw;
    }
    #wrestling_class ._container ._box ._text ._list ._item:first-child {
        font-size: 2vw;
    }
    #wrestling_class ._container ._box ._text ._list ._item {
        font-size: 1vw;
    }
    #wrestling_class ._container ._box ._text ._list ._item .en_01 {
        font-size: 1.5vw;
    }
    #wrestling_class ._container ._box ._text p {
        font-size: 1vw;
    }
}
/* information */
#information {
    position: relative;
    color: #17326d;
    background: #ccc;
}
#information::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 0 0 100vw;
    border-color: transparent transparent transparent #17326d;
}
#information ._container {
    padding: 4%;
}
#information ._container ._box {}
#information ._container ._box ._box_child {
    background: #fff;
    padding: 4%;
}
#information ._container ._box_child + ._box_child {
    margin-top: 30px;
}
#information ._container ._box ._box_child .btns {}
#information ._container ._box ._box_child .btns .btn:hover {
    background: #fff;
}
#information ._container ._box .post_list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
#information ._container ._box .post_list .post .post_link {
    max-width: 80%;
    text-overflow: ellipsis;
    text-decoration: underline;
    overflow: hidden;
    padding: 4%;
    white-space: nowrap;
}
#information ._container ._box .post_list .post + .post {
    border-top: 1px solid #ccc;
}
#information ._container ._box .post_list .post .post_link h3 {
    text-overflow: ellipsis;
    overflow: hidden;
    max-width: 80%;
}
#information ._container ._box .post_list .post .post_link time {
    text-align: right;
}
#information ._container {}
@media screen and (min-width: 768px) {}
@media screen and (min-width: 960px) {
    #information::before {
        border-width: 50px 0 0 100vw;
    }
    #information ._container ._box {
        display: flex;
        gap: 4%;
    }
    #information ._container ._box ._box_child {
        width: calc((100% - 4%) / 2);
    }
    #information ._container ._box ._box_child + ._box_child {
        margin-top: 0;
    }
}
@media screen and (min-width: 1200px) {}
/* instructor */
#instructor {
    position: relative;
}
#instructor::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 0 0 100vw;
    border-color: transparent transparent transparent #eaeaea;
}
#instructor ._container {}
#instructor ._container .heading01 {
    color: #fff;
    padding: 4%;
}
#instructor ._container .l-inner {
    padding: 0 3rem;
}
#instructor ._container .pc {
    display: none !important;
}
[class*=swiper]:focus {
    outline: none;
}
#instructor ._container swiper-slide {
    background: #0e2350;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
#instructor ._container swiper-slide ._text {
    padding: 8% 4%;
}
#instructor ._container swiper-slide ._text .heading02 {
    color: #fff;
    line-height: 1.5;
}
#instructor ._container swiper-slide ._text .heading02 span {
    color: #ea5513;
    display: block;
    font-size: .5em;
}
#instructor ._container swiper-container {
    width: 100%;
    height: 100%;
    overflow: hidden;
}
#instructor ._container .slide-media, .thumb-media {
    position: relative;
    overflow: hidden;
}
#instructor ._container .slide-media img, .thumb-media img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
}
#instructor ._container .swiper-button-prev, #instructor ._container .swiper-button-next {
    display: grid;
    place-content: center;
    width: 64px;
    height: 64px;
    cursor: pointer;
    transition: .8s cubic-bezier(.2, 1, .2, 1);
}
#instructor ._container .swiper-button-prev::before, #instructor ._container .swiper-button-next::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    border-radius: 50%;
    box-shadow: .8rem .8rem 1.2rem rgba(0, 0, 0, .05), -.8rem -.8rem 1.2rem #0e2350;
}
#instructor ._container .swiper-button-prev::after, #instructor ._container .swiper-button-next::after {
    width: 1.2rem;
    height: 1.2rem;
    content: "";
    border: solid #ddd;
    border-width: 3px 3px 0 0;
}
#instructor ._container .swiper-button-prev::after {
    margin-left: 0.4rem;
    transform: rotate(-135deg);
}
#instructor ._container .swiper-button-next::after {
    margin-right: 0.4rem;
    transform: rotate(45deg);
}
#instructor ._container .swiper-button-disabled {
    pointer-events: none;
    opacity: 0;
}
#instructor ._container .swiper-wrapper {
    height: 450px;
}
#instructor ._container .card02 {
    overflow: hidden;
}
#instructor ._container .card02 .swiper {
    overflow: visible;
}
#instructor ._container .card02 .swiper-controller {
    display: flex;
    gap: 35px;
    align-items: center;
    justify-content: flex-end;
    margin-top: 20px;
}
#instructor ._container .card02 .swiper-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 0;
    justify-content: flex-start;
    margin: 0 auto 0 0;
    text-align: center;
    width: min(100%, 35vw);
    height: 30px;
}
#instructor ._container .card02 .swiper-pagination-bullet {
    width: 20px;
    height: 3px;
    cursor: pointer;
    transition: .8s cubic-bezier(.2, 1, .2, 1);
    vertical-align: top;
    background-color: #ddd;
    border-radius: 2px;
}
#instructor ._container .card02 .swiper-pagination-bullet-active {
    width: 30px;
    background-color: #ea5512;
}
#instructor ._container .card02 .swiper-button-prev, #instructor ._container .card02 .swiper-button-next {
    position: relative;
    flex-shrink: 0;
    margin: 0;
}
#instructor ._container .card02 .swiper-button-disabled {
    pointer-events: none;
    opacity: 0.5;
}
#instructor ._container .card02 .swiper-button-disabled::before {
    box-shadow: inset .8rem .8rem 1.2rem rgba(0, 0, 0, .05), inset -.8rem -.8rem 1.2rem #0e2350;
}
#instructor ._container .card02 .swiper-slide {
    width: max-content;
}
#instructor ._container .card02 .slide {
    overflow: hidden;
    width: 36px;
    border-radius: 4px;
    box-shadow: .8rem .8rem 1.2rem rgba(0, 0, 0, .05), -.8rem -.8rem 1.2rem #0e2350;
}
#instructor ._container .card02 .slide-media {
    padding-top: 62.5%;
    height: 100%;
}
#instructor ._container .card02 .slide-media img {
    height: calc(100% + 16px);
    transform: translateY(-16px);
}
#instructor ._container .card02 .slide-content {
    padding: 3.2rem;
}
#instructor ._container .pc-tab {
    display: none !important;
}
#instructor ._container .card02 .slide {
    width: 24rem;
}
@media screen and (min-width: 768px) {
    #instructor ._container .sp {
        display: none !important;
    }
    #instructor ._container .l-inner {
        padding: 0 15rem;
    }
    #instructor ._container .swiper-wrapper {
        height: 650px;
    }
}
@media screen and (min-width: 960px) {
    #instructor::before {
        border-width: 50px 0 0 100vw;
    }
    #instructor ._container swiper-slide ._text .heading02 {
        font-size: 2vw;
    }
    #instructor ._container swiper-slide img {
        height: 500px;
        object-position: top;
    }
    #instructor ._container .l-inner {
        position: relative;
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 10rem;
    }
    #instructor ._container .tab-sp {
        display: none !important;
    }
    #instructor ._container .swiper-button-prev::before, .swiper-button-next::before {
        transition: .8s cubic-bezier(.2, 1, .2, 1);
    }
    #instructor ._container .swiper-button-prev:hover::before, .swiper-button-next:hover::before {
        transform: scale(1.2);
    }
    #instructor ._container .card02 .slide {
        transition: .8s cubic-bezier(.2, 1, .2, 1);
    }
    #instructor ._container .card02 .slide img {
        transition: .8s cubic-bezier(.2, 1, .2, 1);
    }
    #instructor ._container .card02 .slide:hover {
        transform: translateY(-16px);
        box-shadow: 1rem 1rem 1.5rem rgba(0, 0, 0, .08), -1rem -1rem 1.5rem #fff;
    }
    #instructor ._container .card02 .slide:hover img {
        transform: translateY(0);
    }
}
@media screen and (min-width: 1200px) {}
/* gallery */
#gallery {
    position: relative;
    color: #17326d;
}
#gallery::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 0 0 100vw;
    border-color: transparent transparent transparent #17326d;
}
#gallery ._container {
    padding: 4%;
}
#gallery ._container ._box {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}
#gallery ._container ._box .img {
    width: calc((100% - 5px) / 2);
}
#gallery ._container ._box .img img {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
}
@media screen and (min-width: 768px) {}
@media screen and (min-width: 960px) {
    #gallery::before {
        border-width: 50px 0 0 100vw;
    }
    #gallery ._container ._box .img {
        width: calc((100% - 15px) / 4);
    }
}
@media screen and (min-width: 1200px) {}
/* loop */
@media screen and (min-width: 768px) {}
@media screen and (min-width: 960px) {}
@media screen and (min-width: 1200px) {}
/* reserve */
#reserve {
    position: relative;
}
#reserve::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 0 0 100vw;
    border-color: transparent transparent transparent #eaeaea;
}
#reserve ._container {}
#reserve ._container .btns .reserve-btn {
    background: #ea5513;
    border-radius: 0 20px;
    padding: 4%;
    width: 80vw;
}
#reserve ._container .btns .reserve-btn .under_line {
    color: #fff;
    font-size: 15vw;
    font-family: 'Bebas Neue', sans-serif;
    font-weight: 500;
    line-height: 1;
}
#reserve ._container .btns .reserve-btn .sub_title {
    color: #17326d;
    display: block;
}
@media screen and (min-width: 768px) {
    #reserve ._container .btns .reserve-btn {
        width: 70vw;
    }
    #reserve ._container .btns .reserve-btn .under_line {
        font-size: 10vw;
    }
}
@media screen and (min-width: 960px) {
    #reserve ._container .btns .reserve-btn {
        width: 50vw;
        text-align: center;
    }
    #reserve ._container .btns .reserve-btn .under_line {
        font-size: 6vw;
        text-align: center;
    }
}
@media screen and (min-width: 1200px) {}
/*===================================
subpage
===================================*/
.subpage_mv {
    position: relative;
    background: url("../img/wp_bg.jpg") center center no-repeat;
    background-size: cover;
    width: 100vw;
    height: 50vh;
    margin-left: auto;
}
.subpage_mv::after {
    position: absolute;
    content: '';
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, .7);
    z-index: 1;
}
.subpage_mv_title {
    position: absolute;
    transform: translate(-50%, -50%);
    left: 50%;
    top: 50%;
    width: 100%;
    z-index: 2;
}
.subpage_mv_title .title {
    color: #fff;
    font-size: 15vw;
    font-family: 'Bebas Neue', sans-serif;
    font-weight: 500;
    line-height: 1.12;
    padding: 4%;
}
.subpage_mv_title .title span {
    color: #ea5513;
    display: block;
    font-size: .3em;
}
.subpage_contents .demo p {
    text-align: center;
    color: #fff;
}
@media screen and (min-width: 768px) {
    .subpage_mv_title .title {
        font-size: 10vw;
    }
}
@media screen and (min-width: 960px) {
    .subpage_mv_title .title {
        font-size: 6vw;
    }
}
@media screen and (min-width: 1200px) {}
/*===================================
about
===================================*/
#about {}
#about .heading01, #about_02 .heading01, #about_04 .heading01 {
    color: #fff;
    line-height: 1;
}
#about ._box, #about_01 ._box, #about_02 ._box, #about_03 ._box, #about_04 ._box {
    display: flex;
    flex-direction: column-reverse;
    gap: 30px;
}
#about ._box ._text p, #about_02 ._box ._text p, #about_04 ._box ._text p {
    color: #fff;
}
#about ._box .img, #about_02 ._box .img {
    box-shadow: 30px -30px #ea5513;
    margin-top: 30px;
}
#about_01 ._box .img, #about_03 ._box .img {
    box-shadow: -30px -30px #ccc;
    margin-top: 30px;
}
#about_04 ._box ._link ._list li a {
    position: relative;
    color: #fff;
    font-size: 10vw;
    display: flex;
    text-decoration: underline;
    gap: 10px;
}
#about_04 ._box ._link ._list li a::after {
    position: absolute;
}
#about_04 ._box ._link ._list li a svg {
    width: 30px;
    fill: #fff;
}
@media screen and (min-width: 768px) {
    #about ._box {
        gap: 60px;
    }
    #about ._box .img {
        box-shadow: -40px 40px #ea5513;
    }
}
@media screen and (min-width: 960px) {
    #about ._box, #about_02 ._box, #about_04 ._box {
        flex-direction: row;
        align-items: center;
        gap: 4%;
    }
    #about_01 ._box, #about_03 ._box {
        flex-direction: row-reverse;
        align-items: center;
        gap: 4%;
    }
    #about ._box > *, #about_01 ._box > *, #about_02 ._box > *, #about_03 ._box > *, #about_04 ._box > * {
        width: calc((100% - 4%) / 2);
    }
    #about ._box .img, #about_02 ._box .img {
        box-shadow: 40px 40px #ea5513;
    }
    #about_01 ._box .img, #about_03 ._box .img {
        box-shadow: -40px 40px #ccc;
    }
    #about ._box .img img, #about_01 ._box .img img, #about_02 ._box .img img, #about_03 ._box .img img {
        height: 100%;
        object-fit: cover;
        object-fit: right top;
    }
    #about_04 ._box ._link ._list li a {
        font-size: 5vw;
    }
}
@media screen and (min-width: 1200px) {
    #about_04 ._box ._link ._list li a {
        font-size: 2.5vw;
    }
}
/*===================================
shop
===================================*/
#shop.subpage_mv::after {
    background-color: rgba(0, 0, 0, 0);
}
#shop.subpage_mv video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    object-fit: cover;
    width: 100%;
    height: 100%;
}
#shop_announce {
    color: #fff;
}
#shop_announce ._box {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}
#shop_announce ._box ._text h3 {
    border-bottom: 1px solid #ea5513;
    font-size: 5vw;
}
#shop_announce ._box ._text p {
    margin-top: 1em;
}
@media screen and (min-width: 768px) {
    #shop_announce ._box ._text h3 {
        font-size: 4vw;
    }
}
@media screen and (min-width: 960px) {
    #shop.subpage_mv {
        height: 70vh;
        width: 100vw;
    }
    #shop_announce ._box {
        display: flex;
        flex-direction: row;
        align-items: center;
    }
    #shop_announce ._img {
        display: flex;
        flex-direction: column;
        width: 40%;
    }
    #shop_announce ._img img {
        width: 500px;
    }
    #shop_announce ._box ._text {
        display: flex;
        flex-direction: column;
    }
    #shop_announce ._box ._text h3 {
        font-size: 2vw;
    }
}
@media screen and (min-width: 1200px) {}
/*===================================
faq
===================================*/
#faq .heading01 {
    color: #fff;
}
#faq .accordion-area .accordion_content {
    background: #0e2350;
}
#faq .accordion-area .accordion_content + .accordion_content {
    margin: 10px 0;
}
#faq .accordion-area ._text {}
#faq .accordion-area ._text ._title {
    position: relative;
    color: #fff;
    cursor: pointer;
    font-size: 3.5vw;
    padding: 4% 4% 4% 50px;
    transition: all .5s ease;
}
#faq .accordion-area ._text ._title::before, ._title::after {
    position: absolute;
    content: '';
    width: 15px;
    height: 2px;
    background-color: #ea5513;
    transition: .3s all;
}
#faq .accordion-area ._text ._title::before {
    top: 48%;
    left: 15px;
    transform: rotate(0deg);
}
#faq .accordion-area ._text ._title::after {
    top: 48%;
    left: 15px;
    transform: rotate(90deg);
}
#faq .accordion-area ._text ._title.close::before {
    transform: rotate(45deg);
}
#faq .accordion-area ._text ._title.close::after {
    transform: rotate(-45deg);
}
#faq .accordion-area ._text ._detail {
    display: none;
    background: #f3f3f3;
    padding: 4%;
}
#faq .accordion-area ._text ._detail p {
    font-size: 3vw;
}
#faq .accordion-area ._text ._detail p a {
    display: inline-block;
    color: #1155cc;
    text-decoration: underline;
}
@media screen and (min-width: 768px) {}
@media screen and (min-width: 960px) {
    #faq .accordion-area ._text ._title {
        font-size: 1.5vw;
    }
    #faq .accordion-area ._text ._detail p {
        font-size: 1vw;
    }
}
@media screen and (min-width: 1200px) {}
/*===================================
instructor
===================================*/
#instructor ._inner .heading01 {
    color: #fff;
}
#instructor ._inner ._box {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.card {
    position: relative;
    cursor: pointer;
    width: 100%;
    margin-top: 10px;
}
.card .face {
    transition: 0.5s;
}
.card .face.face1 {
    position: relative;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    transform: translateY(100px);
    z-index: 10;
}
.card:active .face.face1, .card:hover .face.face1 {
    transform: translateY(0);
}
.card:active .face.face1 .content, .card:hover .face.face1 .content {
    opacity: 1;
}
.card .face.face1 .content img {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
}
.card .face.face1 .content .heading02 {
    color: #17326d;
    padding: 6px;
    text-align: center;
    font-size: 1.5em;
}
.card .face.face1 .content .heading02 span {
    color: #ea5513;
    display: block;
    font-size: .5em;
    letter-spacing: .02em;
}
.card .face.face2 .content ._detail ._list li {
    font-size: 12px;
}
.card .face.face2 .content {
    width: 100%;
    transition: 0.5s;
}
.card .face.face2 {
    position: relative;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 4%;
    box-shadow: 0 20px 50px rgba(9, 0, 0, 0, 8);
    transform: translateY(-270px);
    z-index: 1;
}
.card:active .face.face2, .card:hover .face.face2 {
    transform: translateY(0);
}
@media screen and (min-width: 768px) {
    .card {
        width: calc((100% - 10px) / 2)
    }
}
@media screen and (min-width: 960px) {}
@media screen and (min-width: 1200px) {
    .card {
        width: calc((100% - 20px) / 3)
    }
}
/*===================================
gallery
===================================*/
#media_gallery .heading01 {
    color: #fff;
}
#media_gallery ._youtube ._box ._list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
#media_gallery ._youtube ._box ._list ._list_item {
    margin-top: 0;
    width: calc(50% - 10px);
}
#media_gallery ._youtube ._box ._list ._list_item iframe {
    aspect-ratio: 1 / 1;
    width: 100%;
    height: auto;
    object-fit: cover;
}
#media_gallery ._photo .gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
#media_gallery ._photo ._box .gallery .gallery-item {
    width: calc((100% - 10px) / 2);
}
#media_gallery ._box .lightbox {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.9);
    z-index: 99 !important;
}
#media_gallery ._photo ._box .lightbox-image {
    display: block;
    margin: 10% auto;
    max-width: 80%;
    max-height: 80%;
    object-fit: contain;
}
#media_gallery ._photo ._box .button-container {
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}
#media_gallery ._photo ._box .button {
    display: inline-block;
    padding: 5px 10px;
    background-color: #ea5513;
    border-radius: 5px;
    color: #fff;
    cursor: pointer;
    width: calc((100% - 10px) / 3);
}
@media screen and (min-width: 768px) {
    #media_gallery ._youtube ._box ._list ._list_item {
        width: calc((100% - 20px) / 3);
    }
    #media_gallery ._photo ._box .gallery .gallery-item {
        width: calc((100% - 20px) / 3);
    }
    #media_gallery ._photo ._box .button {
        width: calc((100% - 20px) / 5);
        max-width: 100px;
    }
}
@media screen and (min-width: 960px) {
    #media_gallery ._youtube ._box ._list ._list_item iframe {
        aspect-ratio: 16 / 9;
        width: 100%;
        height: auto;
        object-fit: cover;
    }
}
@media screen and (min-width: 1200px) {}
/*===================================
movie
===================================*/
#movie .heading01 {
    color: #fff;
}
#movie ._youtube {
    padding: 4%;
}
#movie ._youtube ._box ._list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
#movie ._youtube ._box ._list ._list_item {
    margin-top: 0;
    width: calc(50% - 10px);
}
#movie ._youtube ._box ._list ._list_item iframe {
    aspect-ratio: 1 / 1;
    width: 100%;
    height: auto;
    object-fit: cover;
}
@media screen and (min-width: 768px) {
    #movie ._youtube ._box ._list ._list_item {
        width: calc((100% - 20px) / 3);
    }
}
@media screen and (min-width: 960px) {
    #movie ._youtube ._box ._list ._list_item {
        width: calc(25% - 8px);
    }
    #movie ._youtube ._box ._list ._list_item iframe {
        aspect-ratio: 16 / 9;
        width: 100%;
        height: auto;
        object-fit: cover;
    }
}
@media screen and (min-width: 1200px) {}
/*===================================
terms
===================================*/
#terms {
    color: #fff;
}
#terms ._inner ._box .heading02 {
    color: #ea5513;
}
#terms ._inner ._box .heading02 + * {
    margin-top: 1em;
}
#terms ._inner ._box ._right {
    text-align: right;
    font-weight: 600;
}
@media screen and (min-width: 768px) {}
@media screen and (min-width: 960px) {}
@media screen and (min-width: 1200px) {}
/*===================================
privacy
===================================*/
#privacy {
    color: #fff;
}
#privacy ._inner ._box h3 {
    color: #ea5513;
}
#privacy ._inner ._box h3 + * {
    margin-top: 15px;
}
#privacy ._inner ._box ul, #privacy ._inner ._box p {
    margin-top: 1.5em;
}
#privacy ._inner ._box ul li {
    margin-top: 1em;
}
@media screen and (min-width: 768px) {}
@media screen and (min-width: 960px) {}
@media screen and (min-width: 1200px) {}
/*===================================
links
===================================*/
#links ._inner .heading01 {
    color: #fff;
}
#links ._inner ._box {}
#links ._inner ._box ._box_child {
    background: #fff;
}
#links ._inner ._box ._box_child ._text {
    padding: 4%;
}
#links ._inner ._box ._box_child ._text .heading02 {
    border-left: 5px solid #17326d;
    color: #17326d;
    padding-left: 10px;
}
#links ._inner ._box ._box_child ._text .heading02 + * {
    margin: 30px 0;
}
#links ._inner ._box ._box_child ._text time {
    margin: 30px 0;
}
#links ._inner ._box ._box_child ._text ._list {
    margin-top: 30px;
}
#links ._inner ._box ._box_child ._text ._list ._list_item {}
#links ._inner ._box ._box_child ._text ._list ._list_item span {
    display: block;
    font-size: 21px;
}
#links ._inner ._box ._box_child ._map iframe {
    display: block;
    height: 100%;
}
@media screen and (min-width: 768px) {
    #links ._inner ._box ._box_child {
        display: flex;
    }
    #links ._inner ._box ._box_child > * {
        width: 50%;
    }
}
@media screen and (min-width: 960px) {}
@media screen and (min-width: 1200px) {
    #links ._inner ._box {
        display: flex;
        flex-wrap: wrap;
        gap: 4%;
    }
    #links ._inner ._box ._box_child {
        flex-direction: column;
        width: min((100% - 4%) / 2);
        margin-top: 20px;
    }
    #links ._inner ._box ._box_child > * {
        width: 100%;
    }
    #links ._inner ._box ._box_child ._map {
        margin-top: auto;
    }
    #links ._inner ._box ._box_child ._map iframe {
        height: 300px;
    }
}
/*===================================
schedule
===================================*/
#schedule {
    color: #fff;
}
#schedule ._inner ._box {}
#schedule ._inner ._box ._box_child {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
#schedule ._inner ._box ._box_child .class {
    display: flex;
    flex-direction: column;
    gap: 30px;
    background: #fff;
    color: #222;
    padding: 4%;
}
#schedule ._inner ._box ._box_child .class .class_title {
    border-left: 5px solid;
    color: #17326d;
    padding-left: .7em;
}
#schedule ._inner ._box ._box_child .class .class_title span {
color: #ea5513;
display: block;
font-size: .5em;
letter-spacing: .02em;
}
@media screen and (min-width: 768px) {
    #schedule ._inner ._box ._box_child {
    gap: 20px;
}
    #schedule ._inner ._box ._box_child .class {
        width: calc((100% - 20px)/ 2)
    }
}
@media screen and (min-width: 960px) {}
@media screen and (min-width: 1200px) {
}
/*===================================
form
===================================*/
#contact_form {
    color: #fff;
}
#contact_form form {
    background: #fff;
    color: #222;
    width: min(100%, 800px);
    margin: 30px auto 0;
    padding: 4%;
}
#contact_form .form_body {
    margin-top: 30px;
}
#contact_form .form_body .form_item {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
#contact_form .form_body .form_item + .form_item {
    margin-top: 1.5em;
}
#contact_form .form_body .form_item .form_label {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.05em;
    width: 100%;
}
#contact_form .form_body .form_item .form_label .required {
    background: #b90000;
    border-radius: 5px;
    color: #fff;
    padding: 3px 10px;
    width: 50px;
    display: inline-block;
    text-align: center;
    font-size: 14px;
}
#contact_form .form_body .form_item .form_label.is-msg {
    margin-top: 8px;
    margin-bottom: auto;
}
#contact_form .form_body.form_item .phone_nunber {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 3px;
}
#contact_form .form_body .form_item .phone_nunber .input_item {
    width: 100%;
}
#contact_form .form_body .input_item {
    color: #222;
    font-size: 16px;
    border: 1px solid #ccc;
    padding: 5px 1em;
    width: 100%;
    background: #ececec;
}
#contact_form .form_body .form_item_textarea {
    font-size: 16px;
    border: 1px solid #ddd;
    padding-left: 1em;
    padding-right: 1em;
    width: 100%;
    height: 200px;
}
#contact_form .form_body .submit_btn, #contact_form .form_body .back_btn {
    border: 1px solid;
    border-radius: 100vh;
    color: #fff;
    display: flex;
    justify-content: center;
    font-weight: 600;
    font-size: 16px;
    letter-spacing: 0.05em;
    transition: .3s all;
}
#contact_form .form_body .submit_btn {
    background: #ea5513;
    border: 1px solid #ea5513;
}
#contact_form .form_body .back_btn {
    background: #222;
}
#contact_form .form_body .submit_btn:hover, #contact_form .form_body .back_btn:hover {
    background: #18326d;
    border: 1px solid #ea5513;
    color: #ea5513;
}
#contact_form .form_body .g-recaptcha > div {
    margin: 30px auto 10px;
}
#contact_form #warning {
    text-align: center;
    font-size: 10px;
    font-weight: 600;
}
#contact_form .form_body .form_btn {
    margin-top: 24px;
    padding-top: 8px;
    padding-bottom: 8px;
    width: 160px;
    font-size: 16px;
}
@media (min-width: 768px) {}
@media (min-width: 960px) {}
/*===================================
confirm
===================================*/
#confirm {
    color: #fff;
}
#confirm .confirm_footer {
    margin-top: 30px;
}
#confirm .confirm_footer .btns > * {
    width: calc((100% - 10px) / 2);
}
#confirm p {
    font-size: 3.5vw;
    text-align: center;
}
.confirm-body {
    width: min(100%, 800px);
    margin: 50px auto;
}
@media (min-width: 768px) {
    #confirm .confirm_footer .btns {
        width: min(100%, 600px);
        margin: 0 auto;
    }
    #confirm p {
        font-size: 16px;
    }
}
/*===================================
thanks
===================================*/
#thanks .heading02 {
    color: #fff;
    text-align: center;
}
#thanks p {
    color: #fff;
    font-size: 4.5vw;
    text-align: center;
    margin-top: 30px;
}
#thanks .btn {
    margin-top: 30px;
}
@media (min-width: 768px) {
    #thanks p {
        font-size: 16px;
    }
}
/*===================================
404
===================================*/
#error p {
    text-align: center;
    color: #fff;
}
#error .btn {
    margin-top: 30px;
}