body{ font-family: 'Inter', 'Noto Sans JP', sans-serif;}
background: #fff;
color:#101010;}
.is-pc{display:block;}
.is-sp{display:none;}
.is-tab{display:none;}
.is-tab-invisible{display:block;}
header{	position: fixed;
    background: #FFf;
    z-index: 999;
    box-shadow: 1px 1px 5px #ddd;
        width: 100%;
        top:0;}
header .header-inner{
	display: flex;
}

p{font-size:16px; line-height:1.8;}

a{text-decoration:none;color:#101010;}
a:hover{opacity:0.8;}

h2{text-align:center;}
.h2-jp{
    display: block;
    font-size: 34px;
}

.h2-en{
    display: block;
    font-size: 14px;
    color: #307F3D;
}

.h2-sub::after{
    content: "";
    position: absolute;
    top: 60px;
    left: 49%;
    width: 30px;
    height: 4px;
    background: #307F3D;
}

section{
	margin-bottom: 100px;
}
img{width:100%;display:block;}
video{width:100%;}



hr{border: 2px solid #307F3D;}

li{list-style-type: none;}

header .header-logo{
    margin: 15px auto 15px 20px;
    width: 230px;
}

header .header-nav{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-right: 50px;
}

header .header-nav a{
    padding: 10px 20px;
    color:#101010;
    font-weight: bold;
    font-size: 15px;
}
header .header-nav a.is-active{
    color: #307F3D;
    background: #DEEFE1;
    border-radius: 20px;
}

header .header-nav a.contact{
    color: #fff;
    border-radius: 20px;
    background: #307F3D;
}

.mv{
	position: relative;
	margin-bottom: 100px;
}
.mv .mv_bg{
	width: 100%;
	margin-top: 67px;
    height: 100vh;
    object-fit: cover;
}


.mv .mv_inner{
	position: absolute;
    top: 52%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.mv .mv_inner img{
	margin:0 auto;
	object-fit: contain;
	}

.mv .mv_inner .mv_fade{
		opacity: 0;
	transition: all 3.0s;
}

.mv .mv_inner .logo{
	min-width: 35%;
	max-width: 30%;
}

.mv .mv_inner .statement{
	margin-top: 40px;
	width: 90%;
}

.mv-fadein{
	opacity: 1 !important;
    transform: translate(0, 0) !important;
}

.mv .mv_inner .open{
	margin-top: 34px;
	width: 90%;
}


.cta{
    display: block;
    position: fixed;
    bottom: 60px;
    right: 0;
    background: #307F3D;
    color: #fff;
    padding: 30px 80px 30px 30px;
    font-weight: bold;
    border-top-left-radius: 40px;
    border-bottom-left-radius: 40px;
    z-index: 99;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    border-left: 1px solid #fff;
}

.cta::after{
    content: "";
  display: inline-block;
  width: 30px;
  height: 30px;
    background: url(../img/cv_arrow.png) no-repeat;
  background-size: contain;
  position: absolute;
  right: 20px;
  top: 50%;
      transform: translate(0, -50%);
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transition:0.3s all;
}
.cta:hover{opacity:1;}
.cta:hover::after{width: 37px;height: 37px;right: 15px;
  transition:0.3s all;}

.content-inner{
    max-width: 1040px;
    margin: 0 auto;
}

.news-contents{
    margin-top: 60px;
    display: flex;
    gap: 60px 2%;
    justify-content: left;
    flex-wrap: wrap;
}
.news-contents .news-list{width:32%;}

.news-contents .news-list a .news-title{
    font-size: 16px;
    font-weight: bold;
    color: #101010;
    margin-top: 20px;
}
.news-contents .news-list a{transition:0.5s all;}

.news-contents .news-list a img{transition:0.5s all;}
.news-contents .news-list a:hover img{transform: scale(1.2);transition:0.5s all;}
.news-contents .news-list a:hover .news-arrow{transform: scale(1.3);transition:0.5s all;}
.news-contents .news-list a .news-thumbnail{position:relative;overflow:hidden;}
.news-contents .news-list a .news-arrow{
    position: absolute;
    bottom: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
}

.news-tag{
    display: flex;
    gap: 10px;
    margin-top: 15px;
}

.news-tag li{
    font-size: 14px;
    color: #307F3D;
    padding: 3px 25px;
    border: 1px solid #307F3D;
    border-radius: 30px;
    font-weight: bold;
}

.news-date{
    font-size: 14px;
    color: #A3A3A3;
    margin-top: 15px;
    font-weight: bold;
}

.link-btn-green{
    padding: 30px 40px;
    width: 328px;
    font-weight: bold;
    display: block;
    margin: 60px auto 0;
    background: #DEEFE1;
    border-radius: 50px;
    position: relative;
}

.link-btn-green::after{
    content: "";
  display: inline-block;
  width: 40px;
  height: 40px;
    background: url(../img/link_arrow.png) no-repeat;
  background-size: contain;
  position: absolute;
  right: 20px;
  top: 50%;
      transform: translate(0, -50%);
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transition:0.3s all;
}
.link-btn-green:hover::after{width:46px;height:46px;transition:0.3s all;right: 17px;}
.link-btn-white{
    padding: 30px 40px;
    width: 328px;
    font-weight: bold;
    display: block;
    margin: 60px auto 0;
    background: #fff;
    border-radius: 50px;
    position: relative;
    transition:0.5s all;
}

.link-btn-white::after{
    content: "";
  display: inline-block;
  width: 40px;
  height: 40px;
    background: url(../img/link_arrow.png) no-repeat;
  background-size: contain;
  position: absolute;
  right: 20px;
  top: 50%;
      transform: translate(0, -50%);
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transition:0.3s all;
}
.link-btn-white:hover::after{width:46px;height:46px;transition:0.3s all;right: 17px;}
.mail-link-btn{
    padding: 50px 60px;
    width: 506px;
    text-align: left;
    border-radius: 80px;
}
.mail-link-btn::after{
    background: url(../img/mail_btn.png) no-repeat;
      width: 60px;
  height: 60px;
      background-size: 60px;
}
.mail-link-btn:hover::after{width: 60px;height: 60px;right:20px;}

.about-bg{
    position: relative;
}

.about-content{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: 100%;
}

.about{display:flex;align-items: center;}

.about img{width:240px;object-fit: contain;}

.about .about-text{margin-left:120px;color:#fff;}

.about .about-text h2{margin-bottom:55px;}


.about .about-text p{font-weight:700;line-height:1.8;}
.about .about-text p:nth-child(2){margin-bottom:55px;}
.about .about-text p:nth-child(3){margin-bottom:25px;}


.course-content{
    margin-top: 60px;
    display: flex;
    gap: 30px;
    justify-content: space-between;
}

.course-content .course-list{position:relative;width:33%}

.course-content .course-list a,.course-content .course-list a .course-bg img{transition:0.3s all;}
.course-content .course-list a:hover .course-bg img{transform: scale(1.2);transition:0.5s all;}

.course-content .course-list .counrse-no{
    position: absolute;
    width: 32px;
    top: 0;
    left: 0;
}

.course-content .course-list .course-bg{
    position: relative;
    border-radius: 50%;
    overflow: hidden;
}

.course-content .course-list .course-bg .course-detail{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    text-align: center;
    color: #fff;
    width: 100%;
}

.course-detail h3{
    font-size: 26px;
    font-weight: bold;
    position: relative;
}

.course-detail h3::after{
    content: "";
    position: absolute;
    top: 40px;
    left: 50%;
    width: 2px;
    height: 30px;
    background: #fff;
}

.course-detail p{margin-top:35px;font-weight:bold;}

.link-disable{
    background: #EAEAEA!important;
    pointer-events: none;
    color: #101010;
    text-align: center;
}

.link-disable::after{
    background: none!important;
}

#facility{
    background: #EDEBDB;
    padding: 100px 0;
    border-top-left-radius: 80px;
    border-bottom-right-radius: 80px;
}


.sketchfab-embed-wrapper{margin:60px 0 100px;}

.column-wrapper{
	display:flex;
	margin-bottom:90px;}

.column-wrapper:nth-of-type(odd) {
flex-direction: row-reverse;
}

.column-wrapper .column-1{
	width:40%;
	margin-right:50px;
}
.column-wrapper:nth-of-type(odd) .column-1{margin-left:50px;margin-right:0px;}


.column-wrapper .column-2{
	width:60%;
	margin-right:20px;
}

.column-wrapper .column-2 .room-img{
    box-shadow: 20px 20px #307F3D;
}

#gallery{
    position: relative;
    margin-bottom: 160px;
}

#gallery ul{
    display:flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 60px;
    gap: 30px 1%;
}
#gallery ul li{position:relative;width: 32%;z-index:2;overflow:hidden;}
#gallery ul li a img{transition: all 0.5s;}
#gallery ul li .gallery-btn{
    position:absolute;
    width:30px;
    bottom:10px;
    right:10px;}
#gallery ul li a:hover img{transform: scale(1.2);transition:0.5s all;}
#gallery ul li a:hover .gallery-btn{transform: scale(1.3);transition:0.5s all;}
.gallery-bg{
    position: absolute;
    bottom: -93px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 1;
    width: 100%;
    overflow: hidden;
    background:url(../img/gallery_text.svg) center center no-repeat;
    height: 100px;
}
#membership{
    background: #307F3D;
    padding: 100px 0;
    border-top-left-radius: 80px;
    border-bottom-right-radius: 80px;
    text-align: center;
}
#membership h2 span{color:#fff;}
#membership .membership-text{margin-top:60px;font-weight:bold;color:#fff}

.membership-content{
    display: flex;
    gap: 30px;
    margin-top: 55px;
}

.membership-content .membership-list{
    width: 31%;
    background: #fff;
    border-top-left-radius: 40px;
    border-bottom-right-radius: 40px;
    padding-bottom: 30px;
}

.membership-content .membership-list h4{
    font-size: 22px;
    font-weight: bold;
    padding: 30px 0 25px;
    color: #307F3D;
    background-image : linear-gradient(to right, #307F3D 2px, transparent 2px);
 background-size: 6px 2px;
 background-repeat: repeat-x;
 background-position: left bottom;
}

.membership-content .membership-list img{
    width: 50%;
    margin: 30px auto;
}

.membership-content .membership-list p{
    margin: 30px 0 00px;
    font-weight: bold;
}


.membership-rule-link{
    display: inline-block;
    color: #fff;
    margin-top: 60px;
    font-weight: bold;
    position: relative;
}

.membership-rule-link::after{
    position: absolute;
  content: "";
  display: inline-block;
  width: 12px;
  height: 16px;
  background: url(../img/rule_link.svg) no-repeat;
  background-size: contain;
  margin-left: 30px;
  top: 50%;
      transform: translate(0, -50%);
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
}
.mail-link-btn+p{
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    margin-top: 30px;
}

.membership-additional{
    background: #20642B;
    padding: 60px 0;
    margin-top: 60px;
    border-top-left-radius: 40px;
    border-bottom-right-radius: 40px;
    color: #fff;
    font-weight: bold;
}

.membership-additional h4{
    font-size: 22px;
    margin-bottom: 20px;
}



.company-box{
	margin-top:60px;
	display: flex;
	align-items: center;
}

.company-box .column-1{
	width: 50%;
}
.company-box .column-1 img{
    margin: 0 auto;
}

.company-box .column-2{
	width: 50%;
	margin-left: 50px;
}

.company-box .column-2 h4{margin-bottom: 10px;}

.associate-box ul{
	display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 60px;
}

.associate-box ul li{width:27%;margin:20px;}

#access .access-box{display:flex;margin-top:60px;align-items: center;}

#access .access-box .access-1{
	width:50%;
}
#access .access-box .access-1 p{
	font-size: 18px;
}

#access .access-box .access-1 p:nth-child(2){
    margin-top: 20px;
}

#access .access-box .access-1 a{color:#101010;text-decoration:underline ;}
#access .access-box .access-2{width:50%;}



.sec-heading{
    padding-top: 70px;
    background: #307F3D;
    padding-bottom: 30px;
    border-bottom-right-radius: 80px;
}

.trd-heading{
    padding-top: 70px;
    padding-bottom: 15px;
    background: #307F3D;
}
.sub-nav{
    margin-top: 15px;
}

.sub-nav .sub-nav-itm{
    color: #fff;
    font-size: 14px;
    border-bottom: 1px solid #fff;
}

.sub-nav .sub-nav-itm.current{
    pointer-events: none;
    border-bottom: none;
}
.sub-nav .sub-nav-itm:nth-child(n+2){margin-left:25px;}
.sub-nav .sub-nav-itm + .sub-nav-itm{position:relative;}
.sub-nav .sub-nav-itm + .sub-nav-itm::before{
    content: '/';
    position: absolute;
    top: 0;
    left: -15px;
    z-index: 1;
}

.page-h1{
    margin-top: 70px;
    font-size: 34px;
    text-align: center;
    color: #fff;
    font-weight: bold;
}

.news-paging{
    margin-top: 100px;
    border-top: 1px solid #D8D8D8;
    padding: 30px 0;
}

.news-paging .news-paging-list{
        display: flex;
    justify-content: center;
    gap: 10px;
}

.news-paging .news-paging-list .news-paging-itm{
    border-radius: 30px;
    background: #DEEFE1;
    color: #307F3D;
    width: 60px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.news-paging .news-paging-list .news-paging-itm.current{
    background: #307F3D;
    color: #DEEFE1;
    pointer-events: none;
}
.news-paging .news-paging-list .news-paging-itm.current:hover{
    opacity: 1;
}

.news-paging .news-prv-nxt{
    display: flex;
    justify-content: center;
}

.news-paging .news-prv-nxt img{width:60px;}
.news-paging .news-prv-nxt p{color:#307F3D;}
.news-paging .news-prv-nxt .prv-btn{
    display: flex;
    width: 50%;
    justify-content: right;
    align-items: center;
    padding-right: 60px;
    border-right: 1px solid #D8D8D8;
}
.news-paging .news-prv-nxt .prv-btn a,.news-paging .news-prv-nxt .nxt-btn a{
    display: flex;
    align-items: center;
}
.news-paging .news-prv-nxt .prv-btn p{padding-right:20px;}
.news-paging .news-prv-nxt .nxt-btn{
    display: flex;
    width: 50%;
    justify-content: left;
    align-items: center;
    padding-left: 60px;
}
.news-paging .news-prv-nxt .nxt-btn p{padding-left:20px;}

.news-ud{
    margin-top: 100px;
}

.news-detail-block{
    max-width: 684px;
    margin: 60px auto 0;
}
.news-main{
    margin-top: 100px;
}
.news-heading-block{margin-bottom:30px;}
.news-heading-block h1{font-size:34px;}
.news-main-img{
    max-width: 684px;
    margin: 0 auto;
}

.news-detail-area h2{
    font-size: 26px;
    text-align: left;
    border-bottom: 2px solid #307F3D;
    margin-bottom: 60px;
}

.news-detail-area p{
    margin-bottom: 60px;
}

.news-detail-area .link-btn,#course_list .content-inner .skycode-box .link-btn{
    display: inline-block;
    color: #307F3D;
    text-decoration: underline;
    position: relative;
    padding-left: 15px;
    margin-bottom: 60px;
}

.news-detail-area .link-btn::before,#course_list .content-inner .skycode-box .link-btn::before{
      content: "";
      display: inline-block;
      width: 7px;
      height: 11px;
      background: url(../img/news/news_link_arrow.svg) no-repeat;
      background-size: contain;
      position: absolute;
      left: 0;
      top: 51%;
      transform: translate(0, -50%);
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);

}
.news-detail-area p a{
    display: inline;
    color: #307F3D;
    text-decoration: underline;
}

.news-detail-area h3{
    font-size: 22px;
    margin-bottom: 30px;
}

.news-detail-area img{
    margin-bottom: 60px;
}

.news-detail-area ul{margin-bottom:60px;}
.news-detail-area ul li{position:relative;padding-left:15px;text-indent:-8px;}
.news-detail-area ul li:nth-child(n+2){
    margin-top: 15px;
}
.news-detail-area ul li::before{
    content: "";
      display: inline-block;
      width: 10px;
      height: 10px;
      background: #307F3D;
      border-radius: 10px;
      position: relative;
      left: -5px;
      top: 3px;
      transform: translate(0, -50%);
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
}

#facility_detail{
    margin-top: 100px;
}


#facility_detail .column-wrapper{
flex-direction: row;
}
#facility_detail .column-wrapper:nth-child(n+2){margin-top:100px;}

#facility_detail .column-wrapper:nth-of-type(odd) .column-1{margin-left:0px;margin-right:50px;}

#facility_detail .column-wrapper .column-1 p:nth-child(n+3),#facility .column-wrapper .column-1 p:nth-child(n+3){margin-top:25px;padding-top:0;}
#facility_detail .column-wrapper{margin-bottom:75px;}
#facility_detail h3,#equipment h3{text-align:center;font-size:26px;}
#facility_detail .table-box,#equipment .table-box,.prem .table-box{
    margin: 30px 0;
    overflow: auto;
}

.table-box .price-table{
    min-width:840px;
}

.table-box .price-table tbody{
    font-size: 16px;
}

.table-box .price-table tbody td,.table-box .price-table tbody th{
    padding: 20px 0;
}
.table-box .price-table tbody tr:nth-child(2) td{
    padding: 15px;
}

.table-box .price-table tbody tr:nth-child(1){
    background: #307F3D;
    color: #fff;
}

.table-box .price-table tbody tr:nth-child(2){
    background: #DEEFE1;
    font-size: 14px;
    text-align: center;
}

.table-box .price-table tbody tr:nth-child(3),.table-box .price-table tbody tr:nth-child(4){
    background: #EAEAEA;
    text-align: center;
}

.table-box .price-table tbody .col-type01{
    min-width: 205px;
}

.table-box .price-table tbody .col-type02{
    min-width: 275px;
}

.attention{font-size:14px;}
.attention a{color:#307F3D;text-decoration:underline;}

#equipment{
    background: #EDEBDB;
    padding: 100px 0 200px;
    border-top-left-radius: 80px;
    border-bottom-right-radius: 80px;
}

#equipment .equipment-text{
    text-align:center;
    margin-top:60px;
    margin-bottom:20px;
}
#equipment .equip-sub-txt{text-align:center;}

#equipment h3{
    margin-top:40px;
}

#equipment .table-box .equip-table-01,#equipment .table-box .equip-table-02{
    min-width: 680px;
    margin: 0 auto;
}

#equipment .table-box .equip-table-01 tr:nth-child(1),#equipment .table-box .equip-table-02 tr:nth-child(1){
    background: #307F3D;
    color: #fff;
}

#equipment .table-box .equip-table-01 tr:nth-child(n+2),#equipment .table-box .equip-table-02 tr:nth-child(n+2){
    background: #fff;
    text-align: center;
}

#equipment .table-box .equip-table-01 th,#equipment .table-box .equip-table-02 th{
    padding: 5px;
}

#equipment .table-box .equip-table-01 td,#equipment .table-box .equip-table-02 td{
    padding: 5px;
}

#equipment .table-box .equip-table-01 .col-type01,#equipment .table-box .equip-table-01 .col-type02{
    min-width: 340px;
}

#equipment .table-box .equip-table-02 .col-type01{
    min-width: 267px;
}
#equipment .table-box .equip-table-02 .col-type02{
    min-width: 205px;
}
#equipment .table-box .equip-table-02 .col-type03{
    min-width: 205px;
}

.equip-attention{
    margin: 30px auto;
    max-width: 680px;
}

.prem{margin-top:-200px;}
.prem-attention{color:#fff;text-align:left;}
.prem .table-box{margin-top:100px;}
.prem .table-box .prem-table{
    min-width: 1040px;
}
.prem .table-box .prem-table .col-type01{
    min-width: 150px;
}
.prem .table-box .prem-table .col-type01{
    min-width: 150px;
}
.prem .table-box .prem-table .col-type02{
    min-width: 220px;
}
.prem .table-box .prem-table th,.prem .table-box .prem-table td{
    padding: 20px 0;
    color: #fff;
}
.prem .table-box .prem-table tr{
    background: #20642B;
}

.prem .table-box .prem-table tr .gl{
    background: #9F9548;
}
.prem .table-box .prem-table tr .sl{
    background: #7B887D;
}
.prem .table-box .prem-table tr .bz{
    background: #535109;
}
.prem .table-box .prem-table tr .nr{
    background: #101010;
}

#course_list .content-inner .course-txt-box{
    margin-top: 100px;
}
#course_list .content-inner .course-txt-box p:nth-child(n+2){margin-top:25px;}

#course_list .content-inner .skycode-box{
        display: flex;
    justify-content: center;
    align-items: center;
    background: #EAEAEA;
    padding: 40px 60px;
    margin-top: 100px;
    margin-bottom: 100px;
    gap: 30px;
}
#course_list .content-inner .skycode-box .link-btn{
    margin-top: 50px;margin-bottom: 0;
}
#course_list .content-inner .course-flex-box{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 30px;
    margin-top: 60px;
}
#course_list .content-inner .course-flex-box div{
    width: 48%;
}
#course_list .content-inner .course-flex-box h3{
        font-size: 26px;
    margin-bottom: 25px;
}

#course_list .content-inner .link-btn-green:last-of-type{margin-top:110px;}

#course_list .content-inner .course-flex-box .btn-left{
    margin: 60px auto 0 0;
}

#course_detail .course-heading{
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 1040px;
    margin: 0 auto;
}

#course_detail .course-heading .col-1{
    padding-right: 30px;
    width: 43%;
}

#course_detail .course-heading .col-1 img{
    width: 83px;
}

#course_detail .course-heading .col-1 h1{
    font-size: 44px;
}

#course_detail .course-heading .col-1 p{
    margin-top: 50px;
}

#course_detail .course-heading .col-2 {
    width: 57%;
}

#course_detail .course-sub-hd,#course_list .course-sub-hd{
    margin-top: 90px;
    border-bottom: 2px solid #307F3D;
    padding-bottom: 10px;
}

#course_detail .course-detail-box{
    margin-top: 50px;
}
#course_detail .course-detail-box h3{
    color: #307F3D;
    font-size: 26px;
}
#course_detail .course-detail-box p{
    margin-top: 25px;
}

#course_detail .course-detail-box.flex{
    display: flex;
    align-items: flex-start;
}

#course_detail .course-detail-box.flex .col-1{
    width: 50%;
    margin-right: 30px;
}

#course_detail .course-attention{
    text-align: center;
    margin-top: 60px;
    padding: 50px 60px;
    background: #EAEAEA;
}

#course_detail .course-attention h3{
    font-size: 26px;
}

#course_detail .course-attention ul{
    font-size: 14px;
    margin-top: 25px;
    text-align: left;
    line-height: 1.8;
}

#course_detail .course-attention ul li a{
    color: #307F3D;
    text-decoration: underline;
}

#course_detail .course-prise-box{
    margin-top: 60px;
    text-align: center;
    position: relative;
}
#course_detail .course-prise-box p:first-child{
    font-size: 34px;
    font-weight: bold;
    display: inline-block;
}

#course_detail .course-prise-box p:first-child span{
    font-size: 16px;
}

#course_detail .course-prise-box p:nth-child(2){
    position: absolute;
    top: 20px;
    right: 15%;
    display: inline-block;
}

#course_detail .course-btn{
    background: #DEEFE1;
    font-size: 20px;
}

#course_detail .course-btn::after{
    background: url(../img/course/course_btn_icon.png) no-repeat;background-size: 60px;}
#course_detail .course-btn:hover::after{background-size: 70px;    width: 70px;height: 70px;
  transition:0.3s all;}

#course_detail .course-time-box{
        margin-top: 60px;
    display: flex;
    background: #DEEFE1;
    padding: 30px;
    justify-content: center;
        align-items: center;
}

#course_detail .course-time-box h4{
        color: #307F3D;
    font-size: 22px;
    padding: 0 50px 0 30px;
}

#course_detail .course-time-box p{
    font-size: 18px;
    padding-right: 30px;
    width: 60%;
    font-weight: bold;
}

footer{
    padding: 60px 0 20px;
	color: white;
	background: #307F3D;
	text-align: center;
    border-top-left-radius: 80px;
}
footer a{display:inline-block;}
footer img{
    width: 330px;
    margin: 0 auto;
}
footer .footer-nav{
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 60px 0 100px;
    font-size: 15px;
    font-weight: bold;
    color: #fff;
    gap: 30px;
}

footer .footer-nav a{color:#fff;}

footer p{font-size: 12px;}

.fadein{opacity: 0;
    transform: translate(0,0);
    transition: all 1.5s;}
.fadein-bottom{
      transform: translate(0,30px);}
.scrollin{
    opacity: 1 !important;
    transform: translate(0, 0) !important;
  }


/*---------------------------------------------960ver--------------------------------------*/
@media screen and (max-width: 1040px){
    .content-inner{
        width: 95%;
    }
    #course_detail .course-heading{width:95%;}
        #course_detail .course-prise-box p:nth-child(2){
        position: static;
        display: block;
        font-size: 12px;
    }
}
/*---------------------------------------------960ver--------------------------------------*/
@media screen and (max-width: 961px){
    header .header-nav{gap:10px;margin-right:20px;}
    header .header-nav a{
    font-size: 13px;
}
    .is-tab{display:block;}
    .is-tab-invisible{display:none;}
    .about .about-text{margin-left:0;}
    p{font-size:14px;}
    #course_detail .course-heading{
        display: block;
        width: 100%;
    }
    #course_detail .course-heading .col-1{
        width: 95%;
    margin: 40px auto 60px ;
    padding-right: 0;
    }

    #course_detail .course-heading .col-1 h1{
        font-size: 34px;
    }
    #course_detail .course-heading .col-1 img{
        width: 74px;
    }
    #course_detail .course-heading .col-1 p{
        margin-top: 35px;
    }

    #course_detail .course-heading .col-2 {
        width: 100%;
    }

}
/*---------------------------------------------SPver--------------------------------------*/
@media screen and (max-width: 769px){
	.is-pc{display:none;}
	.is-sp{display:block;}
	section{margin-bottom:75px;}
	h2{font-size:1.8em;line-height:1.5;}
	p{font-size:14px; line-height:1.5;}
    header{box-shadow:none;}
    header .header-menu{
        position: fixed;
        width: 54px;
        top: 10px;
        right: 10px;
        z-index: 998;
    }

    header .header-inner{
        display:  block;
        position: fixed;
        z-index: 999;
        background: #307F3D;
        width: 100%;
        height: 100vh;
        display: block;
    }
    header .header-logo{
    margin: 22px auto auto 22px;
    width: 171px;
    }
    header .header-close{
        position: absolute;
        top: 10px;
        right: 10px;
        width: 54px;
    }
    header .header-nav{
        display: block;
        margin: 100px auto;
    }

    header .header-nav a{
        display: block;
        color: #fff;
        text-align: center;
        font-size: 1.5rem;
        padding: 0;
    }
    header .header-nav a:nth-child(n+2){
        margin-top: 50px;
    }
    header .header-nav a.is-active{
        color: #fff;
        background: none;
        border-radius: 0;
    }

    header .header-nav a.contact{
        color: #307F3D;
        margin: 50px auto 0;
        width: 80%;
        background: #fff;
        border-radius: 40px;
        padding: 20px;
    }

    header .sp-menu{
        pointer-events: none;
        opacity: 0;
        transition: opacity .3s linear;
    }

    header .sp-menu-open{
        pointer-events: auto;
        opacity: 1;
    }
    .content-inner{width:90%;}
    .sec-heading{padding-top: 10px;}
    .trd-heading{padding-top:15px;}
    .sub-nav{margin-top: 0;}
        .cta{display: block;
    position: fixed;
    bottom: 0;
    width: 100%;
    text-align: center;
    color: white;
    text-decoration: none;
    padding: 15px;
    z-index: 99;
    font-weight: bold;
    border-radius: 0;
    border-bottom: none;
    border-left: none;
        }
    .cta::after{
      right: 28%;
    }
    .fixed-head{
        width: 100%;
    }
    .fixed-green{
        background:#307F3D ;
    }
    .fixed-white{
        background:#fff ;
    }
    .fixed-head .header-logo-sub{
        width: 192px;
        padding: 22px 0 22px 22px;
    }
	.mv{margin-bottom:75px;}
	.mv .mv_bg{margin-top:0;}
	.mv .mv_inner{
	width: 90%;
	top: 54%;
		}
	.mv .mv_inner .logo{min-width:60%;}
	.mv .mv_inner .statement{width:95%;}
	.mv .mv_inner .open{width:100%;}



    .h2-jp{
        font-size: 1.8rem;
    }

    .h2-en{
        font-size: 0.8rem;
    }
    .h2-sub::after{
    top: 50px;
    left: 46%;
    height: 3px;
    }
    .link-btn-green{
    padding: 25px 40px;
    width: 100%;
    font-size: 0.85rem;
    margin: 40px auto 0;
    }


    .link-btn-white{
        padding: 25px 40px;
        width: 100%;
        font-size: 0.85rem;
        margin: 40px auto 0;
    }

    .mail-link-btn{
        padding: 35px 40px;
        width: 100%;
        font-size: 0.85rem;
    }
    .mail-link-btn::after{
        background: url(../img/mail_btn.png) no-repeat;
          width: 60px;
      height: 60px;
          background-size: 60px;
    }

    .news-contents{
        display: block;
        margin-top: 40px;
    }
    .news-contents .news-list{width:100%;}
    .news-contents .news-list:nth-child(n+2){margin-top:30px;}

    .news-contents .news-list a .news-title{
        font-size: 0.9rem;
    }

    .news-tag{
        display: flex;
        gap: 10px;
        margin-top: 15px;
    }

    .news-tag li{
        font-size: 0.8rem;
        padding: 3px 20px;
    }

    .news-date{
        font-size: 0.8rem;
    }
    .course-content{
        margin: 40px auto 0;
        display: block;
        width: 80%;
    }

    .course-content .course-list{width:100%;}
    .course-content .course-list:nth-child(n+2){margin-top:40px;}

    .course-content .course-list .counrse-no{
        width: 25px;
    }


    .course-detail h3{
        font-size: 1.5rem;
    }

    .course-detail h3::after{
        top: 95%;
        width: 1px;
    }

    .course-detail p{margin-top:12%;font-size:0.8em;}


    #facility{
    padding: 75px 0;
    border-top-left-radius: 60px;
    border-bottom-right-radius: 60px;
    }

    .sketchfab-embed-wrapper{margin:40px auto;}

	.column-wrapper {
    flex-direction: column-reverse;
    margin-bottom: 30px;
	}
	.column-wrapper:nth-of-type(odd) {
		 flex-direction: column-reverse;
		}
	.column-wrapper .column-1{
	  width: 100%;
	}
	.column-wrapper .column-1{
		margin-left: 0;
		margin-right: 0;
	}
	.column-wrapper:nth-of-type(odd) .column-1{margin-left:0px;margin-right:0px;}
	.column-wrapper .column-2 {
		width: 100%;
		}
	.column-wrapper .column-2 .room-img{
		width: 95%;
		box-shadow: 15px 15px #307F3D
	}

    #facility_detail .column-wrapper {
    flex-direction: column-reverse;
    }

	.column-wrapper .column-1 p{
		padding-top: 30px;
    }
    .sp-class-h2{width:95%;}
    .thumbs_list li{width: 25%;
    height: 30px;}

    #gallery{margin-bottom:130px;}
    #gallery ul li{width:47%;}

    #gallery ul{
        margin-top: 40px;
        gap: 20px;
    }

    .gallery-bg{
        bottom: -18vw;
        overflow: hidden;
        background:url(../img/gallery_text_sp.svg) center center no-repeat;
            background-size: 150vw;
    }

    #membership{
        padding: 75px 0;
        border-top-left-radius: 60px;
        border-bottom-right-radius: 60px;
    }
    #membership .membership-text{margin-top:40px;text-align:left;font-size:0.85rem;}

    .membership-content{
        display: block;
        margin-top: 35px;
    }

    .membership-content .membership-list{
        width: 100%;
    }
    .membership-content .membership-list:nth-child(n+2){margin-top:20px;}

    .membership-content .membership-list h4{
        font-size: 1.5rem;
        font-weight: bold;
        padding: 20px 0 15px;
    }

    .membership-content .membership-list img{
        margin: 20px auto;
    }

    .membership-content .membership-list p{
        margin: 0;
        padding-bottom: 20px;
        font-size: 0.85rem;
    }


    .membership-rule-link{
        font-size: 0.85rem;
        margin-top: 40px;
    }

    .membership-rule-link::after{margin-left: 15px;}
    .mail-link-btn+p{font-size: 0.8rem;}

    .membership-additional{
        padding: 40px 0;
        margin-top: 40px;
    }

    .membership-additional h4{
        font-size: 1.2rem;
    }

    .company-box{margin-top:40px;}

    .associate-box ul{margin-top: 40px;}

    .associate-box ul li{width:27%;margin:20px;}

    #access .access-box{margin-top:40px;}

    #access .access-box .access-1 a{color:#101010;text-decoration:underline ;}
    #access .access-box .access-2{width:50%;}
    .company-box .column-2{margin-left: 10px;}

    .associate-box ul li{width:43%;margin:10px;}

    #access .access-box{flex-direction: column;}
    #access .access-box .access-1{width:100%;}
    #access .access-box .access-2{width:100%;margin-top:40px;}
    #access .access-box .access-2 iframe{height:300px;}
    #access .access-box .access-1 p{font-size:0.85em;margin-top:0px;}


    footer p{font-size: 0.6em;}
    footer{
    padding: 60px 0 20px;
    border-top-left-radius: 60px;
    }
    footer img{
        width: 60%;
    }
    footer .footer-nav{
        margin: 60px 0 100px;
        font-size: 0.8rem;
        font-weight: bold;
        color: #fff;
        gap: 30px;
    }

    footer p{font-size: 0.7em;}

    footer.footer-top{margin-bottom:40px;}
	.modaal-gallery-prev{left:10px;}
	.modaal-gallery-next{right:10px;}
	.modaal-gallery-control{bottom:30%;}
    .news-ud{margin-top: 80px;}



    .news-detail-block{
        width: 100%;
        margin: 40px auto 0;
    }
    .news-main{
        margin-top: 80px;
    }
    .news-heading-block h1{font-size:1.7rem;}
    .news-main-img{width: 100%;}

    .news-detail-area h2{
        font-size: 1.4rem;
        text-align: left;
    }


    .news-detail-area .link-btn{
        font-size: 0.85rem;
        padding-left: 15px;
    }

    .news-detail-area .link-btn::before{
          content: "";
          display: inline-block;
          width: 7px;
          height: 11px;
          background: url(../img/news/news_link_arrow.svg) no-repeat;
          background-size: contain;
          position: absolute;
          left: 0;
          top: 51%;
          transform: translate(0, -50%);
        -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
    }
    .news-detail-area h3{font-size: 1.2rem;}

    .news-detail-area ul li{padding-left:15px;font-size:1rem;text-indent:-8px;}
    .news-detail-area ul li:nth-child(n+2){
        margin-top: 15px;
    }
    .news-detail-area ul li{position:relative;padding-left:15px;}

    .news-detail-area ul li::before{
        content: "";
          display: inline-block;
          width: 10px;
          height: 10px;
          background: #307F3D;
          border-radius: 10px;
          position: relative;
          left: -5px;
          top: 3px;
          transform: translate(0, -50%);
        -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
    }

    .news-paging .news-prv-nxt{
        display: flex;
        justify-content: center;
    }

    .news-paging .news-prv-nxt img{width:50px;}
    .news-paging .news-prv-nxt p{font-size:0.85rem;}
    .news-paging .news-prv-nxt .prv-btn{
        padding-right: 30px;
        border-right: 1px solid #D8D8D8;
    }
    .news-paging .news-prv-nxt .prv-btn p{padding-right:20px;}
    .news-paging .news-prv-nxt .nxt-btn{
        padding-left: 30px;
    }
    .news-paging .news-prv-nxt .nxt-btn p{padding-left:10px;}

    #facility_detail{margin-top:80px;}
    #facility_detail .column-wrapper:nth-child(n+2){margin-top:80px;}
    #facility_detail .column-wrapper{margin-bottom:30px;}
    #facility_detail h3,#equipment h3{font-size:1.3em;}
    .table-box .price-table{
        min-width:840px;
    }

    .table-box .price-table tbody{
        font-size: 14px;
    }

    .table-box .price-table tbody td,.table-box .price-table tbody th{
        padding: 15px 0;
    }
    .table-box .price-table tbody tr:nth-child(2) td{
        padding: 8px;
    }


    .table-box .price-table tbody tr:nth-child(2){
        background: #DEEFE1;
        font-size: 12px;
    }


    .table-box .price-table tbody .col-type01{
        min-width: 170px;
    }

    .table-box .price-table tbody .col-type02{
        min-width: 210px;
    }

    .attention{font-size:0.77em;}

    #equipment{
        background: #EDEBDB;
        padding: 75px 0 150px;
        border-top-left-radius: 60px;
        border-bottom-right-radius: 60px;
    }

    #equipment .equipment-text{
        text-align:left;
        margin-top:30px;
        margin-bottom:10px;
    }

    #equipment h3{
        margin-top:30px;
    }

    #equipment .table-box .equip-table-01,#equipment .table-box .equip-table-02{
        min-width: 100%;
    font-size: 14px;
    }


    #equipment .table-box .equip-table-01 .col-type01,#equipment .table-box .equip-table-01 .col-type02{
        min-width: auto;
    }

    #equipment .table-box .equip-table-02 .col-type01{
        min-width: auto;
    }
    #equipment .table-box .equip-table-02 .col-type02{
        min-width: auto;
    }
    #equipment .table-box .equip-table-02 .col-type03{
        min-width: auto;
    }



    .prem{margin-top:-150px;}
    .prem .table-box{margin-top:80px;}
    .prem-attention{color:#fff;text-align:left;}
    .prem .table-box .prem-table{
        min-width: 820px;
         font-size: 14px;
    }
    .prem .table-box .prem-table .col-type01{
        min-width: 130px;
    }
    .prem .table-box .prem-table .col-type02{
        min-width: 170px;
    }
    .prem .table-box .prem-table th,.prem .table-box .prem-table td{
        padding: 15px 0;
    }

    #course_list .content-inner .course-txt-box{
        margin-top: 80px;
    }
    #course_list .content-inner .course-txt-box p:nth-child(n+2){margin-top:25px;}

    #course_list .content-inner .skycode-box{
        display: block;
        padding: 40px 20px;
        margin-bottom: 60px;
        text-align: center;
    }
    #course_list .content-inner .skycode-box p{margin-top:30px;text-align:left;}
    #course_list .content-inner .skycode-box .link-btn{
        margin-top: 30px;margin-bottom: 0;display: inline-block;
    }
    #course_list .content-inner .course-flex-box{
        flex-direction: column-reverse;
        gap: 15px;
        margin-top: 60px;
    }
    #course_list .content-inner .course-flex-box div{
        width: 100%;
    }
    #course_list .content-inner .course-flex-box h3{
            font-size: 1.3em;
        margin-bottom: 15px;
        text-align: center;
    }

    #course_list .content-inner .link-btn-green:last-of-type{margin-top:80px;}

    #course_list .content-inner .course-flex-box .btn-left{
        margin: 30px auto 0 0;
    }
    #course_detail .course-sub-hd,#course_list .course-sub-hd{
        margin-top: 70px;}

    #course_detail .course-detail-box{
        margin-top: 35px;
    }
    #course_detail .course-detail-box h3{
        color: #307F3D;
        font-size: 1.4em;
    }
    #course_detail .course-detail-box p{
        margin-top: 15px;
    }

    #course_detail .course-detail-box.flex{
        display: block;
    }

    #course_detail .course-detail-box.flex .col-1{
        width: 100%;
        margin-right: 0;
    }
    #course_detail .course-detail-box.flex .col-2{margin-top:50px;}

    #course_detail .course-attention{
        margin-top: 40px;
        padding: 35px 20px;
    }

    #course_detail .course-attention h3{
        font-size: 1.4em;
    }

    #course_detail .course-attention ul{
        font-size: 12px;
        line-height: 1.5;
    }

    #course_detail .course-prise-box{
        margin-top: 35px;
    }
    #course_detail .course-prise-box p:first-child{
        font-size: 1.9em;
    }

    #course_detail .course-prise-box p:first-child span{
        font-size: 0.5em;
    }


    #course_detail .course-btn{
        background: #DEEFE1;
        font-size: 1.1em;
    }
    #course_detail .course-time-box{
        margin-top: 40px;
    display: block;
    background: #DEEFE1;
    padding: 20px;
    text-align: center;
}

#course_detail .course-time-box h4{
        color: #307F3D;
    font-size: 18px;
    padding: 0;
    margin-bottom: 10px;
}

#course_detail .course-time-box p{
    font-size: 16px;
    padding-right: 0;
    width: auto;
}


}