@charset "UTF-8";
/* CSS Document */
.main_box{
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
}
.mv_box_wrap{
	position: relative;
	z-index: 1;
}
h1.ttl01{
	position: absolute;
	left: 10vw;
	top: 40%;
	font-size: 3.4rem;
}
h1.ttl01 span{
	display: block;
	font-size: 1.4rem;
	color: #35a3d1;
}
.under .main_mv{
	width: 48vw;
	overflow: hidden;
	margin: 6rem 12vw 0 auto;
	border-radius: 3rem 3rem 3rem 20rem;
}
.under .main_mv img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.under .main_mv::before, .under .main_mv::after{
	display: block;
	content: "";
	background-color: rgba(53, 163, 209, .4);
	position: absolute;
	width: 16vw;
	height: 47%;
	right: 1vw;
	top: 10rem;
	border-radius: 3rem 17rem 3rem 3rem;
}
.under .main_mv::after{
	background-color: rgba(255,255,255,.4);
	width: 20vw;
	height: 40%;
	right: auto;
	left: 0;
	top: auto;
	bottom: 0;
	border-radius: 0 13rem 3rem 0;
	z-index: -1;
}
h2.ttl02{
	font-size: 3rem;
	position: relative;
	z-index: 1;
	padding: 0 0 0 .5rem;
	margin-bottom: 2rem;
}
h2.ttl02::before{
	display: block;
	content: "";
	background-color: #ffa100;
	width: 30px;
	height: 25px;
	position: absolute;
	left: -1rem;
	bottom: 0;
	border-radius: .5rem 1.4rem .5rem .5rem;
	z-index: -1;
}
.ttl02_sub{
	font-size: 1.8rem;
	font-weight: 600;
	position: relative;
	z-index: 1;
	margin-bottom: 1rem;
	color: #264185;
}
h3.ttl03{
	font-size: 2.4rem;
	margin-bottom: 2rem;
	color: #25aae2;
}
h3.ttl03 span{
	position: relative;
	z-index: 1;
}
h3.ttl03 span::before{
	content: "";
	background-color: #d1e4ee;
	height: 1px;
	width: 110%;
	position: absolute;
	left: -5%;
	bottom: -.5rem;
	z-index: -1;
}
.img_box p{
	position: relative;
	overflow: hidden;
	z-index: 1;
}
.img_box img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
table{
	box-shadow: 0 0 6px 0 #abc5d0;
	margin-top: 3rem;
	border-radius: 3rem;
	overflow: hidden;
}
table tr{
	background-color: #fff;
	border-bottom: 1px solid #d1e4ee;
}
table tr:last-child{
	border-bottom: none;
}
table th, table td{
	padding: 2rem;
}
table th{
	background-color: #5baad4;
	color: #fff;
	font-weight: 400;
	width: 30%;
}
table td{
	width: 70%;
	background-color: #fff;
}
.article table td dl{
	border-bottom: 1px dashed #eee;
	padding-bottom: 1rem;
	margin-bottom: 1rem;
}
.article table td dl:last-child{
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}
table td dt{
	width: 200px;
}
table td dd{
	width: calc(100% - 200px);
}
table td .button{
	margin-top: 0;
	margin-left: 3rem;
}
.table02 thead th:first-child{
	width: 30%;
	border-left: none;
}
.table02 thead th:nth-child(2){
	width: 20%;
}
.table02 thead th{
	width: calc(50%/ 4);
	padding: 1.5rem 0;
	border-left: 1px solid #fff;
}
.table02 tbody th{
	width: 18%;
	background-color: #d1e4ee;
	color: #244185;
	font-weight: 500;
	border-left: none;
	border-bottom: 1px solid #fff;
}
.table02 tbody tr:nth-child(4) th{
	border-bottom: none;
}
.table02 td{
	width: auto;
	text-align: center;
	padding: 1rem 0;
	border-right: 1px dashed #d1e4ee;
	line-height: 1.7;
}
.table02 td.price{
	border-right: none;
	text-align: right;
	padding-right: 1.5rem;
}
.table02 span{
	display: block;
}
.table02 tbody .small{
	color: #35a3d1;
}
.l_footer{
	background-color: #e6f0f4;
}
/*about*/
.about .facilities{
	position: relative;
	background-color: #d1e4ee;
	border-radius: 20rem 0 20rem 0;
	box-shadow: 0 0 6px 0 #abc5d0;
	padding: 10rem 0;
	z-index: 2;
}
.about .facilities .img_box, .about .water .img_box {
	position: relative;
	width: 50%;
	z-index: 1;
	padding-bottom: 10rem;
}
.about .facilities .img_box::before {
	display: block;
	content: "";
	background-color: rgba(255, 255, 255, .5);
	border-radius: 3rem 3rem 15rem;
	width: 15vw;
	height: 40vh;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 2;
}
.about .facilities .img_box p{
	width: 25vw;
	height: 30vw;
	border-radius: 20rem 3rem 3rem;
}
.about .facilities .txt_box, .about .water .txt_box {
	width: 50%;
	padding-left: 5rem;
	position: relative;
	z-index: 2;
}
.about .water{
	position: relative;
	z-index: 1;
}
.about .water h3.ttl03{
	text-align: center;
}
.about .water .box01{
	background-color: #fff;
	padding: 5rem;
	width: 90%;
	max-width: 1000px;
	margin: 2rem auto;
}
.about .water .img_box {
	padding: 8rem 0 0;
}
.about .water .img_box p{
	width: 28vw;
	height: 20vw;
	border-radius: 20rem 3rem 3rem;
}
.about .water .img_box::before {
	display: block;
	content: "";
	background-color: rgba(53,163,209,.4);
	border-radius: 3rem 15rem 3rem 3rem;
	width: 13vw;
	height: 20vh;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 2;
}
.about .water .txt_box{
	padding: 0 5rem 0 0;
}
/*junior*/
.junior .class_intro{
	position: relative;
	z-index: 1;
	padding-bottom: 20rem;
}
.junior .class_intro::before{
	display: block;
	content: "";
	background-color: rgba(209,228,238,1);
	width: 18vw;
	height: 25vh;
	position: absolute;
	right: 10vw;
	bottom: 0;
	border-radius: 15rem 3rem 0 0;
	z-index: -1;
}
.junior .class_intro ul.scb_list {
	margin: 5rem auto;
}
.junior .class_intro ul.scb_list li{
	width: calc(90% / 4);
}
.junior .class_intro ul li a{
	display: block;
	margin: 0 auto;
}
.junior .class_intro ul.ban_list{
	margin: 5rem auto 0;
	width: 90%;
}
.junior .class_intro ul.ban_list li{
	width: calc(90% / 2);
}
.junior .class_intro ul.ban_list li img{
	display: block;
}
.junior .class_swim{
	background-color: #fff;
	border-radius: 0 20rem 20rem 0;
	position: relative;
	z-index: 2;
	margin-top: -10rem;
}
.junior .class_info{
	padding: 5rem 0;
	position: relative;
	z-index: 1;
}
.junior .reverse{
	margin-top: 5rem;
}
.junior .img_box {
	width: 45%;
	position: relative;
	z-index: 1;
}
.junior .img_box::before{
	display: block;
	content: "";
	background-color: rgba(255,224,0,.4);
	position: absolute;
	left: -15%;
	bottom: -15%;
	width: 10vw;
	height: 25vh;
	z-index: 2;
	border-radius: 3rem 3rem 3rem 10rem;
}
.junior .reverse .img_box::before{
	background-color: rgba(10,121,167,.4);
	left: auto;
	right: -10%;
	bottom: auto;
	top: -15%;
	border-radius: 3rem 10rem 3rem 3rem;
}
.junior .img_box p{
	width: 28vw;
	height: 20vw;
	border-radius: 3rem 20rem 3rem 3rem;
}
.junior .reverse .img_box p{
	border-radius: 3rem 3rem 3rem 20rem;
}
.junior .txt_box{
	width: 55%;
	padding-left: 5rem;
}
.junior .reverse .txt_box{
	padding-left: 0;
	padding-right: 5rem;
}
.junior .scroll_box{
	display: none;
}
.junior .table02 .price dl, .junior .class_gym .table02 tr:first-child .price dl:nth-child(1), .junior .class_gym .table02 tr:first-child .price dl:nth-child(2){
	display: flex;
	flex-flow: row-reverse;
	margin-left: 1rem;
}
.junior .table02 .price dl dt, .junior .class_gym .table02 tr:first-child .price dl:nth-child(1) dt, .junior .class_gym .table02 tr:first-child .price dl:nth-child(2) dt{
	width: 40%;
}
.junior .table02 .price dl dd, .junior .class_gym .table02 tr:first-child .price dl:nth-child(1) dd, .junior .class_gym .table02 tr:first-child .price dl:nth-child(2) dd{
	width: 60%;
}
.junior .table02 tr:first-child .price dl, .junior .table02 tr:first-child .price dl:nth-child(3){
	flex-flow: wrap-reverse;
}
.junior .table02 tr:first-child .price dl dt, .junior .table02 tr:first-child .price dl dd, .junior .table02 tr:first-child .price dl:nth-child(3) dt, .junior .table02 tr:first-child .price dl:nth-child(3) dd{
	width: 100%;
}
.junior .table02 .price span{
	display: inline-block;
	padding-left: 1rem;
	position: relative;
	z-index: 1;
}
.junior .table02 .price span::before{
	display: block;
	content: "";
	width: 15px;
	height: 1px;
	background-color: #aaa;
	position: absolute;
	left: -.3rem;
	top: 50%;
	transform: translateY(-50%) rotate(-65deg);
	z-index: 0;
}
.junior .class_gym{
	background-color: #e6f4ed;
	position: relative;
	z-index: 1;
	margin-top: -20rem;
	padding: 30rem 0 10rem;
}
.junior .class_gym h3.ttl03 {
    color: #43bdcd;
}
.junior .class_gym h3.ttl03 span::before {
   background-color: #fff;
}
.junior .class_gym .img_box p{
	border-radius: 20rem 3rem 3rem 3rem;
}
.junior .class_gym .img_box::before {
	left: -15%;
	bottom: -15%;
	width: 15vw;
	height: 20vh;
	border-radius: 3rem 10rem 3rem 3rem;
}
.junior .class_gym table{
	box-shadow: 0 0 6px 0 #abd0ca;
}
.junior .class_gym table tr {
	border-bottom: 1px solid #d1eee2;
}
.junior .class_gym table th{
	background-color: #5bc6d4;
}
.junior .class_gym .table02 th{
	width: 17%;
}
.junior .class_gym .table02 td{
	border-right: 1px dashed #d1eee2;
}
.junior .class_gym .table02 td.price{
	border-right: none;
}
.junior .class_gym .table02 tbody .small {
	color: #43bdcd;
}
.junior .class_ballet_karate{
	position: relative;
	padding: .5rem 0;
	z-index: 1;
	background: #E6F0F4 ;
	background: -webkit-linear-gradient(bottom, rgba(230, 240, 244, 1) 50%, rgba(230, 244, 237, 1) 50%);
	background: -o-linear-gradient(bottom, rgba(230, 240, 244, 1) 50%, rgba(230, 244, 237, 1) 50%);
	background: linear-gradient(to top, rgba(230, 240, 244, 1) 50%, rgba(230, 244, 237, 1) 50%);
}
.junior .class_ballet_karate .class_bg{
	box-shadow: 0 0 6px 0 #aaa;
	border-radius: 20rem;
	overflow: hidden;
}
.junior .class_ballet_karate table dt{
	width: 100px;
}
.junior .class_ballet_karate table dd{
	width: calc(100% - 100px);
}
.junior .class_ballet, .junior .class_karate{
	width: 50%;
	padding: 10rem 0;
}
.junior .class_ballet{
	background-color: #eeeeef;
}
.junior .class_karate{
	background-color: #f2f1e0;
}
.junior .class_ballet .main_box, .junior .class_karate .main_box{
	width: 80%;
}
.junior .class_ballet .img_box{
	width: 100%;
	max-width: 550px;
	margin: 3rem auto 0;
	padding-top: 5rem;
}
.junior .class_ballet .img_box p{
	border-radius: 3rem 3rem 20rem 3rem;
	margin: 0 0 0 auto;
}
.junior .class_ballet .img_box::before {
	bottom: auto;
	left: -3%;
	top: -3%;
	width: 10vw;
	height: 30vh;
	border-radius: 3rem 10rem 3rem 3rem;
	background-color: rgba(255,255,255,.4);
}
.junior .class_ballet table {
	box-shadow: 0 0 6px 0 #abb7d0;
}
.junior .class_ballet table th, .junior .class_karate table th{
	padding: 1rem 0;
}
.junior .class_ballet table td, .junior .class_karate table td{
	padding: 1rem 2rem;
}
.junior .class_ballet table th {
    background-color: #ab96ca;
}
.junior .class_ballet table tr {
    border-bottom: 1px solid #eae5f2;
}
.junior .class_ballet table tr:nth-child(4) dt{
	width: 200px;
}
.junior .class_ballet table tr:nth-child(4) dd{
	width: calc(100% - 200px);
}
.junior .class_ballet table tr:last-child{
	border-bottom: none;
}
.junior .class_karate .img_box{
	width: 100%;
	max-width: 550px;
	margin: 3rem auto 0;
	padding-bottom: 5rem;
}
.junior .class_karate .img_box p{
	border-radius: 20rem 3rem 3rem 3rem;
}
.junior .class_karate .img_box::before {
	bottom: 0;
	left: auto;
	right: -3%;
	width: 15vw;
	height: 20vh;
	border-radius: 3rem 3rem 10rem 3rem;
	background-color: rgba(255,255,255,.4);
}
.junior .class_karate table{
	box-shadow: 0 0 6px 0 #d0caab;
}
.junior .class_karate table tr {
    border-bottom: 1px solid #f3eae2;
}
.junior .class_karate table tr:last-child{
	border-bottom: none;
}
.junior .class_karate table th {
    background-color: #caaf96;
}
.junior .guid h3.ttl03 span::before{
	background-color: #fff;
}
.junior p.small.te_right, .fitness p.small.te_right, .culture p.small.te_right{
	line-height: 1.5;
	padding-top: 1rem;
}
/*fitness*/
.fitness .txt_box {
	width: 55%;
	padding-left: 5rem;
}
.fitness .img_box {
	width: 45%;
	position: relative;
	z-index: 1;
}
.fitness .class_intro .txt_box, .fitness .reverse .txt_box {
	padding-left: 0;
	padding-right: 5rem;
}
.fitness .members{
	position: relative;
	padding: 15rem 0;
}
.fitness .members::before {
	display: block;
	content: "";
	background-color: #fff;
	width: 90vw;
	height: 100%;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	border-radius: 0 15rem 15rem 0;
	z-index: -1;
}
.fitness .members .img_box p {
	width: 28vw;
	height: 20vw;
	border-radius: 20rem 3rem 3rem 3rem;
}
.fitness .members .img_box::after {
	display: block;
	content: "";
	background-color: rgba(10, 121, 167, .4);
	position: absolute;
	left: -15%;
	bottom: -15%;
	width: 10vw;
	height: 25vh;
	z-index: 2;
	border-radius: 3rem 3rem 3rem 10rem;
}
.fitness .table02{
	margin-top: 10rem;
}
.fitness .table02 thead th:nth-child(2), .fitness .table02 thead th:nth-child(2) {
	width: 25%;
}
.fitness .table02 thead th{
	width: calc(50% / 3);
}
.fitness .table02 td{
	padding: 1rem 2rem;
}
.fitness .table02 tr:nth-child(4) th{
	border-bottom: 1px solid #fff;
}
.fitness .table02 tr:last-child th{
	border-bottom: none;
}
.fitness .program .img_box p {
    width: 28vw;
    height: 20vw;
    border-radius: 3rem 3rem 3rem 20rem;
}
.fitness .program .img_box::after {
	display: block;
	content: "";
	background-color: rgba(255, 255, 255, .4);
	position: absolute;
	right: -15%;
	top: -15%;
	width: 13vw;
	height: 20vh;
	z-index: 2;
	border-radius: 3rem 10rem 3rem 3rem;
}
.fitness .program .flow_box{
	padding: 8rem 10rem;
	background-color: #d1e4ee;
	max-width: 1200px;
	margin: 5rem auto 0;
	border-radius: 3rem 20rem 3rem 20rem;
	box-shadow: 0 0 6px 0 #abc5d0;
}
.fitness .program .flow_box .ttl03 span::before{
	background-color: #fff;
}
.fitness .program .flow{
	margin-top: 5rem;
}
.fitness .program .flow li{
	margin-bottom: 3rem;
}
.fitness .program .flow li p{
	padding-left: 2rem;
	margin-left: 2rem;
	border-left: 1px solid #fff;
}
.fitness .program .flow li .flow_ttl{
	font-size: 2rem;
	font-weight: 600;
	position: relative;
	margin-bottom: 2rem;
	color: #264185;
	border-left: none;
	padding-left: 8rem;
	margin-left: 0;
	z-index: 1;
}
.fitness .program .flow li .flow_ttl::before {
    display: block;
    content: "01";
    font-family: "Shippori Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    font-size: 8rem;
    color: #f0f5f7;
    position: absolute;
    left: -2rem;
    top: 40%;
	transform: translateY(-50%);
    z-index: -1;
}
.fitness .program .flow li:nth-child(2) .flow_ttl::before{
	content: "02";
}
.fitness .program .flow li:nth-child(3) .flow_ttl::before{
	content: "03";
}
.fitness .program .flow li:nth-child(4) .flow_ttl::before{
	content: "04";
}
/*culture*/
.culture h3.ttl03{
	margin-bottom: 1rem;
}
.culture h3.ttl03 span::before{
	background-color: #fff;
}
.culture .txt_box{
	width: 55%;
	padding-right: 5rem;
}
.culture .img_box{
	width: 45%;
}
.culture .img_box p{
	width: 30vw;
	max-width: 540px;
	height: 20vw;
	border-radius: 20rem 3rem 3rem;
}
.culture .shodo .img_box p{
	height: 22vw;
	border-radius: 3rem 20rem 3rem 3rem;
}
.culture .piano{
	position: relative;
	z-index: 1;
	padding: 15rem 0;
}
.culture .piano::before{
	display: block;
	content: "";
	background-color: #fff;
	width: 90vw;
	height: 100%;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	border-radius: 15rem 0 0 15rem;
	z-index: -1;
}
.culture .piano .img_box{
    position: relative;
	z-index: 1;
}
.culture .piano .img_box::before{
	display: block;
	content: "";
	position: absolute;
	right: -5rem;
	top: -5rem;
	width: 10vw;
	height: 30vh;
	border-radius: 3rem 10rem 3rem 3rem;
	background-color: rgba(10, 121, 167, .4);
	z-index: 2;
}
.culture .shodo .txt_box{
	padding-right: 0;
	padding-left: 5rem;
}
.culture .shodo .img_box{
    position: relative;
	z-index: 1;
}
.culture .shodo .img_box::before{
	display: block;
	content: "";
	position: absolute;
	left: -5rem;
	bottom: -10rem;
	width: 15vw;
	height: 20vh;
	border-radius: 10rem 3rem 3rem 3rem;
	background-color: rgba(255, 255, 255, .4);
	z-index: 2;
}
.culture table{
	margin-top: 1rem;
}
.culture table th{
	width: 20%;
}
.culture table th, .culture table td{
	padding: 1.5rem 1rem;
}
.culture table td dt {
    width: 130px;
}
.culture table td dd {
    width: calc(100% - 150px);
}
.culture ul.list02 li{
	width: calc(97%/ 2);
}
/*sitemap*/
.sitemap .nacl_box, .sitemap .group_box{
	width: calc(95%/ 2);
}
.sitemap ul li{
	margin-bottom: 1rem;
	padding-bottom: 1rem;
}
.sitemap ul li a{
	display: block;
	position: relative;
	z-index: 1;
	padding-left: 1rem;
}
.sitemap ul li a::before{
	display: block;
	content: "";
	width: 12px;
	height: 12px;
	background-color: #0a79a7;
	border-radius: 50%;
	position: absolute;
	left: -1.5rem;
	top: 10px;
	transition: .3s;
}
.sitemap ul li a:hover::before {
    background-color: #ffe000;
}
.sitemap ul li span{
	padding-left: 1rem;
	font-size: 1.2rem;
	color: #0b7aa7;
}
.sitemap ul li a:hover{
	color: #35a3d1;
}
.sitemap ul li p a{
	color: #96979f;
	font-size: 1.4rem;
	padding-left: 1rem;
	line-height: 2;
}
.sitemap ul li p a::before{
	display: none;
}
/*calendar*/
.calendar .img_box{
	max-width: 1000px;
	margin: 2rem auto 0;
}
.calendar .img_box a{
	display: block;
	box-shadow: 0 0 6px #abc5d0;
}
.calendar p.te_center{
	font-size: 2rem;
	line-height: 1.7;
}
.calendar .small{
	color: #22232a;
	font-size: 1.4rem;
}
.calendar .calendar_f{
	padding-top: 10rem;
}
/*news_wrap*/
.news_wrap .entry-card-wrap{
	display: block;
	padding: 0 0 5rem;
	margin-bottom: 5rem;
	border-bottom: 1px dashed #fff;
}
.news_wrap .entry-card-wrap:hover{
	opacity: .6;
}
.news_wrap .entry-card-thumb, .news_wrap .post-date .fa-clock, .news_wrap .entry-card-snippet{
	display: none;
}
.news_wrap .entry-card-title{
	font-size: 2.4rem;
	line-height: 2;
	position: relative;
	transition: .3s;
	z-index: 1;
	padding-left: 1.5rem;
}
.news_wrap .entry-card-title::before{
	display: block;
	content: "";
	background-color: #ffa100;
	width: 30px;
	height: 25px;
	position: absolute;
	left: 0;
	bottom: 0;
	border-radius: .5rem 1.4rem .5rem .5rem;
	z-index: -1;
}
.news_wrap .entry-card-wrap:hover .entry-card-title{
	color: #0a79a7;
}
.news_wrap .entry-card-meta{
	display: flex;
	line-height: 1.4;
	color: #25aae2;
}
.news_wrap .entry-card-meta .entry-card-categorys .entry-category{
	display: block;
	width: 80px;
	text-align: center;
	font-weight: 400;
	padding: .3rem 1rem;
	background-color: #0a79a7;
	color: #fff;
	font-size: 1.2rem;
	margin-left: 2rem;
	border-radius: .5rem;
}
.news_wrap .entry-card-meta .entry-card-categorys .cat-label-3{
	background-color: #35a3d1;
}
.news_item{
	padding: 20rem 0 10rem;
}
.news_item .article-header{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.news_item .entry-title{
	position: relative;
	transition: .3s;
	z-index: 1;
	width: 100%;
	margin-bottom: .5rem;
}
.news_item .entry-title::before{
	display: block;
	content: "";
	background-color: #ffa100;
	width: 30px;
	height: 25px;
	position: absolute;
	left: -1rem;
	bottom: 0;
	border-radius: .5rem 1.4rem .5rem .5rem;
	z-index: -1;
}
.news_item .eye-catch-wrap, .news_item .fa-clock, .entry-categories-tags .tax-icon{
	display: none;
}
.news_item .date-tags{
	color: #25aae2;
	line-height: 2;
}
.news_item .entry-categories .cat-link{
	position: relative;
	display: block;
	text-align: center;
	width: 100%;
	max-width: 80px;
	padding: 0;
	background-color: #0a79a7;
	color: #fff;
	font-weight: 400;
	border-radius: .5rem;
	line-height: 1.8;
	font-size: 1.4rem;
	margin-left: 1rem;
}
.news_item .entry-categories .cat-link.cat-link-3{
	background-color: #35a3d1;
}
.news_item .entry-content{
	padding: 5rem;
	margin-top: 3rem;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
}
.news_item .entry-content p{
	margin-bottom: 3rem;
	line-height: 2.6;
}
.news_item .entry-content img{
	display: block;
	width: 90%;
	margin: 0 auto;
}
.news_item .entry-content a{
	color: #0b7aa7;
	transition: .3s;
	position: relative;
	z-index: 1;
	padding-left: 1.8rem;
}
.news_item .entry-content a:hover{
	color: #25aae2;
}
.news_item .entry-content a::before{
	display: block;
	content: "\f0da";
	font-size: 1.8rem;
	position: absolute;
	left: .5rem;
	top: 50%;
	transform: translateY(-50%);
}
.news_item .btn_w .button{
	display: block;
	width: 80%;
	max-width: 300px;
	margin: 5rem auto 0;
}
.wrap404{
	padding: 20rem 0 5rem;
	text-align: center;
}
.wrap404 img{
	display: block;
	width: 100%;
	max-width: 1000px;
	margin: 2rem auto;
}
@media screen and (max-width: 1499px){
	.about .facilities .img_box p{
		width: 32vw;
		height: 38vw;
	}
	.about .facilities .img_box::before{
		width: 18vw;
		height: 35vh;
	}
	.about .water .img_box p{
		width: 35vw;
		height: 30vh;
	}
	.about .water .img_box::before{
		width: 16vw;
		height: 16vh;
	}
	.junior .class_intro::before{
		right: 5vw;
	}
	.junior .img_box p, .fitness .members .img_box p, .fitness .program .img_box p, .culture .img_box p{
		width: 36vw;
		height: 26vw;
		margin: 0 auto;
	}
	.junior .img_box::before, .junior .class_gym .img_box::before, .fitness .members .img_box::after{
		left: -10%;
		height: 20vh;
	}
	.junior .class_gym .img_box::before, .culture .shodo .img_box::before{
		width: 18vw;
		height: 15vh;
	}
	.junior .class_ballet .img_box{
		margin-top: 8rem;
	}
	.junior .class_ballet .img_box::before{
		height: 22vh;
	}
	.junior .class_karate .img_box::before{
		height: 15vh;
	}
	.fitness .members::before, .culture .piano::before{
		width: 97vw;
	}
	.fitness .program .img_box::after{
		right: -10%;
	}
	.culture .piano .img_box::before{
		height: 22vh;
	}
}
@media screen and (max-width: 1199px){
	h1.ttl01{
		font-size: 3.2rem;
	}
	h1.ttl01 span{
		font-size: 1.2rem;
	}
	.ttl02_sub{
		font-size: 1.6rem;
	}
	h3.ttl03{
		position: relative;
		z-index: 1;
	}
	h3.ttl03::before{
		content: "";
		background-color: #d1e4ee;
		height: 1px;
		width: 105%;
		position: absolute;
		left: -2.5%;
		bottom: -.5rem;
		z-index: -1;
	}
	h3.ttl03 span::before{
		display: none;
	}
	table td dt {
		width: 150px;
	}
	table td dd {
		width: calc(100% - 150px);
	}
	.junior .class_intro::before{
		height: 31vh;
	}
	.junior .class_ballet .img_box {
		margin-top: 3.5rem;
	}
	.junior .class_ballet table tr:nth-child(4) dt{
		width: 140px;
	}
	.junior .class_ballet table tr:nth-child(4) dd {
		width: calc(100% - 140px);
	}
	.fitness .program .flow_box{
		padding: 5rem;
	}
}
@media screen and (max-width: 1024px) and (orientation: portrait) {
	.about .facilities .img_box p {
		width: 38vw;
		height: 44vw;
	}
	.about .facilities .img_box::before{
		height: 20vh;
	}
	.about .water .img_box p {
		width: 41vw;
		height: 23vh;
	}
	.junior .class_intro::before {
		height: 18vh;
	}
	.junior .img_box::before, .junior .class_gym .img_box::before, .fitness .members .img_box::after, .fitness .program .img_box::after, .culture .piano .img_box::before, .culture .shodo .img_box::before {
		height: 11vh;
	}
	.junior .class_ballet .img_box::before{
		height: 15vh;
	}
	.junior .class_karate .img_box::before{
		height: 8vh;
	}
	.culture .shodo .img_box p{
		height: 22vh;
	}
}
@media screen and (max-width: 999px){
	.under .main_mv{
		width: 55vw;
		margin: 8rem 8vw 0 auto;
		border-radius: 2rem 2rem 2rem 15rem;
	}
	.under .main_mv::before, .under .main_mv::after{
		height: 37%;
		border-radius: 2rem 8rem 2rem 2rem;
	}
	h1.ttl01{
		font-size: 2.6rem;
		left: 4vw;
	}
	h2.ttl02, .news_wrap .entry-card-title, .news_item .entry-title{
		font-size: 2.2rem;
	}
	h2.ttl02::before, .news_wrap .entry-card-title::before, .news_item .entry-title::before{
		width: 20px;
		height: 15px;
	}
	.ttl02_sub{
		font-size: 1.5rem;
		line-height: 2;
	}
	h3.ttl03, .about .water h3.ttl03{
		font-size: 1.8rem;
	}
	table{
		border-radius: 2rem;
		font-size: 1.3rem;
	}
	table th{
		padding: 1rem 0;
		width: 25%;
	}
	table td{
		padding: 1rem 0 1rem 1rem;
		width: 75%;
	}
	table td .button{
		padding: .3rem 0 .5rem;
		min-width: 150px;
		margin-left: 1rem;
	}
	.about .facilities{
		padding: 5rem 0;
	}
	.about .facilities .txt_box{
		padding-left: 2rem;
	}
	.about .water .box01{
		padding: 3rem;
	}
	.about .water .txt_box{
		padding: 0 2rem 0 0;
	}
	.junior .class_intro{
		padding-bottom: 15rem;
	}
	.junior .class_intro ul li a{
		min-width: 150px;
	}
	.junior .class_intro ul.ban_list li {
		width: calc(95% / 2);
	}
	.junior .class_intro::before{
		border-radius: 8rem 2rem 0 0;
		height: 22vh;
	}
	.junior .class_swim{
		border-radius: 0 12rem 12rem 0;
	}
	.junior .txt_box, .culture .shodo .txt_box{
		padding-left: 2rem;
	}
	.junior .reverse .txt_box, .fitness .class_intro .txt_box, .fitness .reverse .txt_box, .culture .txt_box{
		padding-right: 2rem;
	}
	.junior .img_box p, .fitness .members .img_box p, .fitness .program .img_box p, .culture .img_box p{
		width: 40vw;
		height: 30vw;
	}
	.junior .img_box p, .culture .shodo .img_box p{
		border-radius: 2rem 12rem 2rem 2rem
	}
	.junior .reverse .img_box p, .fitness .program .img_box p {
		border-radius: 2rem 2rem 2rem 12rem;
	}
	.junior .table02{
		font-size: 1.3rem;
	}
	.table02 thead th:first-child{
		width: 28%;
	}
	.table02 thead th:nth-child(2) {
		width: 14%;
	}
	.table02 thead th:nth-child(3) {
		width: 10%;
	}
	.table02 tbody th{
		width: 17%;
	}
	.table02 thead th{
		width: calc(48% / 3);
	}
	.junior .table02 .price dl, .junior .class_gym .table02 tr:first-child .price dl:nth-child(1), .junior .class_gym .table02 tr:first-child .price dl:nth-child(2){
		flex-flow: wrap-reverse;
	}
	.junior .table02 .price dl dt, .junior .class_gym .table02 tr:first-child .price dl:nth-child(1) dt, .junior .class_gym .table02 tr:first-child .price dl:nth-child(2) dt, .junior .table02 .price dl dd, .junior .class_gym .table02 tr:first-child .price dl:nth-child(1) dd, .junior .class_gym .table02 tr:first-child .price dl:nth-child(2) dd{
		width: 100%;
	}
	.junior .class_gym table.table02 th{
		width: calc(100%/ 6);
	}
	.junior .class_gym .img_box p, .junior .class_karate .img_box p, .fitness .members .img_box p, .culture .img_box p {
		border-radius: 12rem 2rem 2rem 2rem;
	}
	.junior .class_ballet_karate .class_bg{
		border-radius: 12rem;
	}
	.junior .class_ballet .img_box::before, .culture .shodo .img_box::before{
		left: -10%;
	}
	.junior .class_ballet .img_box p{
		border-radius: 2rem 2rem 12rem 2rem;
	}
	.junior .class_karate .img_box{
		margin-top: -1rem;
	}
	.junior .class_ballet table, .junior .class_karate table{
		font-size: 1.3rem;
	}
	.junior .class_ballet table td, .junior .class_karate table td{
		padding: 1rem;
	}
	.junior .class_ballet table tr:nth-child(4) dt{
		width: 120px;
	}
	.junior .class_ballet table tr:nth-child(4) dd {
		width: calc(100% - 120px);
	}
	.junior .class_karate .img_box::before, .culture .piano .img_box::before{
		right: -10%;
	}
	.fitness .members{
		padding: 5rem 0;
	}
	.fitness .members::before{
		border-radius: 0 12rem 12rem 0;
	}
	.fitness .table02{
		margin-top: 5rem;
	}
	.fitness .table02 thead th:nth-child(2){
		width: 50%;
	}
	.fitness .table02 thead th{
		width: calc(50%/ 2);
	}
	.fitness .program .flow_box{
		padding: 5rem 2rem 5rem 5rem;
		border-radius: 2rem 12rem 2rem 12rem
	}
	.fitness .program .flow li .flow_ttl{
		padding-left: 6rem;
	}
	.fitness .program .flow li .flow_ttl::before{
		font-size: 6rem;
	}
	.fitness .program .flow li p{
		margin-left: 1rem;
	}
	.culture ul.list02 li:last-child{
		width: 100%;
	}
	.culture .piano .img_box::before{
		border-radius: 2rem 5rem 2rem 2rem;
	}
	.culture .shodo .img_box::before{
		border-radius: 7rem 2rem 2rem 2rem;
	}
	.news_wrap .entry-card-title, .news_item .entry-title{
		line-height: 1.5;
		margin-bottom: 1rem;
	}
	.news_item .entry-content{
		padding: 3rem;
	}
}
@media screen and (max-width: 639px){
	.mv_box_wrap{
		padding-bottom: 13rem;
	}
	.under .main_mv{
		width: 80vw;
	}
	.under .main_mv::before{
		height: 25%;
		border-radius: 2rem 2rem 5rem 2rem;
	}
	.under .main_mv::after{
		height: 30%;
		border-radius: 0 5rem 2rem 0;
	}
	h1.ttl01{
		top: auto;
		bottom: 4rem;
		left: 5vw;
		transform: translateY(0);
	}
	table td dt {
		width: 110px;
	}
	table td dd {
		width: calc(100% - 110px);
	}
	table td .button{
		margin: .5rem 0 0 1rem;
		min-width: 140px;
	}
	table td dd .button{
		margin-left: 0;
	}
	ol.list03, .format ol{
		margin-right: 0;
	}
	.junior .scroll_box{
		display: block;
	}
	.junior .scroll_r{
		position: relative;
		z-index: 1;
		margin-top: 5rem;
		animation: arrowmove 1.5s ease-in-out infinite;
	}
	@keyframes arrowmove{
		0%{right: 1%;}
		50%{right: 3%;}
		100%{right: 1%;}
	}
	.scroll_r::before {
		content: "";
		position: absolute;
		bottom: 12px;
		right: -1px;
		width: 6px;
		height: 1px;
		background: #244185;
		transform: skewY(30deg);
	}
	.scroll_r::after {
		content: "";
		position: absolute;
		bottom: 10px;
		right: 0;
		width: 25px;
		height: 1px;
		background: #244185;
    }
	.scroll_r span {
		position: absolute;
		right: 0;
		bottom: 0;
		color: #244185;
		line-height: 1.5;
		font-size: 1.6rem;
		letter-spacing: 0.05em;
		width: 70px;
	}
	.table_wrap{
		width: 100%;
		margin-left: -2vw;
		overflow-x: auto;
		padding: .5rem;
		-webkit-overflow-scrolling: touch;
	}
	.junior .table02{
		border-spacing: 0;
		min-width: 800px;
		margin: 0 .5rem 0;
	}
	.junior .table02 th:first-child{
		position:-webkit-sticky;
		position: sticky;
		left: 0;
		z-index: 2;
	}
	.reverse{
		flex-flow: wrap;
	}
	.about .facilities{
		border-radius: 10rem 0 10rem 0;
	}
	.about .facilities .img_box, .about .facilities .txt_box, .about .water .img_box, .about .water .txt_box, .junior .img_box, .junior .txt_box, .fitness .img_box, .fitness .class_intro .txt_box, .fitness .reverse .txt_box, .fitness .txt_box, .culture .piano .img_box, .culture .piano .txt_box, .culture .shodo .txt_box, .culture .shodo .img_box, .sitemap .nacl_box, .sitemap .group_box{
		width: 100%;
		padding: 0;
	}
	.about .facilities .img_box, .junior .img_box, .fitness .class_intro .txt_box, .fitness .img_box, .culture .img_box{
		margin-bottom: 2rem;
	}
	.about .facilities .img_box::before{
		width: 23vw;
		border-radius: 2rem 2rem 5rem;
		bottom: -3rem;
	}
	.about .facilities .img_box p, .about .water .img_box p, .junior .img_box p, .culture .shodo .img_box p, .fitness .members .img_box p, .fitness .program .img_box p, .culture .img_box p{
		width: 80vw;
		height: 67vw;
	}
	.about .water .box01{
		width: 100%;
		padding: 2rem;
	}
	.about .water .img_box::before, .culture .piano .img_box::before{
		width: 25vw;
		border-radius: 2rem 8rem 2rem 2rem;
		top: -4rem;
	}
	.junior .class_intro::before{
		width: 20vw;
		right: 2vw;
		border-radius: 5rem 2rem 0 0;
	}
	.junior .class_intro ul.scb_list{
		margin: 2rem auto;
	}
	.junior .class_intro ul.scb_list li{
		width: calc(97% / 2);
		margin-bottom: 1rem;
	}
	.junior .class_intro ul.ban_list{
		width: 100%;
		margin-top: 0;
	}
	.junior .class_info{
		padding-bottom: 0;
	}
	.junior .class_swim{
		border-radius: 0 10rem 10rem 0;
	}
	.junior .img_box p, .culture .shodo .img_box p, .culture .shodo .img_box p{
		margin: 0 0 0 auto;
	}
	.junior .img_box::before, .junior .class_gym .img_box::before, .fitness .members .img_box::after, .fitness .program .img_box::after, .culture .piano .img_box::before, .culture .shodo .img_box::before{
		height: 20vh;
	}
	.junior .reverse .txt_box, .fitness .class_intro .txt_box, .fitness .reverse .txt_box, .culture .txt_box{
		padding: 0;
	}
	.junior .img_box::before, .fitness .members .img_box::after{
		left: 0;
		width: 23vw;
		border-radius: 2rem 2rem 2rem 8rem;
	}
	.junior .reverse .img_box p, .junior .class_karate .img_box p, .fitness .program .img_box p, .culture .img_box p{
		margin: 0;
	}
	.junior .reverse .img_box::before{
		right: 0;
		border-radius: 2rem 8rem 2rem 2rem;
	}
	.junior .class_gym{
		margin-top: -15rem;
		padding: 20rem 0 5rem;
	}
	.junior .class_gym .img_box::before, .junior .class_ballet .img_box::before{
		left: 0;
		width: 23vw;
		border-radius: 2rem 8rem 2rem 2rem;
	}
	.junior .class_ballet_karate .class_bg{
		border-radius: 10rem;
	}
	.junior .class_ballet, .junior .class_karate{
		width: 100%;
		padding: 5rem 0;
	}
	.junior .class_ballet .main_box, .junior .class_karate .main_box{
		width: 90%;
	}
	.junior .class_ballet .img_box::before{
		height: 20vh;
	}
	.junior .class_ballet_karate table dt{
		width: 50px;
	}
	.junior .class_ballet_karate table dd{
		width: calc(100% - 50px);
	}
	.junior .class_karate .img_box, .fitness .table02, .fitness .program .flow{
		margin-top: 2rem;
	}
	.junior .class_karate .img_box::before, .culture .piano .img_box::before, .fitness .program .img_box::after{
		right: 0;
	}
	.junior .class_karate .img_box::before{
		width: 30vw;
		height: 15vh;
		border-radius: 2rem 2rem 8rem 2rem;
	}
	.junior .guid table td .list02 dt, .junior .guid table td .list02 dd{
		width: 100%;
	}
	.junior .guid table td .list02 li:before{
		top: 4px;
	}
	.junior .class_intro ul.ban_list li, .fitness .class_intro .img_box{
		width: 80%;
		margin: 2rem auto 0;
	}
	.fitness .members::before{
		border-radius: 0 10rem 10rem 0;
	}
	.fitness .table02 td{
		padding: 1rem .5rem;
	}
	.fitness .table02  td dt{
		width: 50px;
	}
	.fitness .table02  td dd{
		width: calc(100% - 50px);
	}
	.fitness .table02 thead th:last-child{
		width: 22%;
	}
	.fitness .program .img_box::after{
		width: 25vw;
		border-radius: 2rem 8rem 2rem 2rem;
	}
	.fitness .program .flow_box{
		padding: 5rem 1.5rem;
		border-radius: 2rem 10rem 2rem 10rem;
	}
	.fitness .program .flow li .flow_ttl{
		font-size: 1.6rem;
		padding-left: 5rem;
		margin-bottom: 1rem;
	}
	.fitness .program .flow li .flow_ttl::before {
		font-size: 4rem;
		left: 0;
	}
	.fitness .program .flow li p {
		margin-left: 2rem;
	}
	.culture table th, .culture table td{
		padding: 1rem .5rem;
	}
	.culture .piano{
		padding: 5rem 0;
	}
	.culture .piano::before{
		border-radius: 10rem 0 0 10rem;
	}
	.culture .piano .main_box{
		width: 85%;
	}
	.culture .piano .img_box::before{
		right: -5%;
	}
	.culture .shodo .img_box::before{
		left: 0;
		width: 30vw;
		height: 15vh;
		bottom: -3rem;
	}
	.sitemap .class_intro ul{
		padding-left: 2rem;
	}
	.news_wrap .entry-card-title{
		font-size: 1.6rem;
		padding-left: 1rem;
	}
	.news_wrap .entry-card-wrap{
		padding-bottom: 2rem;
		margin-bottom: 2rem;
	}
	.news_item{
		padding: 13rem 0 10rem;
	}
	.news_item .entry-title{
		font-size: 1.6rem;
	}
	.news_wrap .entry-card-meta .entry-card-categorys .entry-category{
		margin-left: 1rem;
	}
	.news_item .entry-content{
		padding: 2rem 0;
	}
	.news_item .entry-content img{
		width: 100%;
	}
}
@media screen and (max-width: 480px){
	table td dt{
		color: #244185;
		font-weight: 600;
	}
	table td dt, table td dd{
		width: 100%;
	}
	.about table td span{
		display: inline-block;
	}
	.about .water .box01{
		padding: 1.5rem;
	}
	.junior .class_intro::before{
		border-radius: 5rem 2rem 0 0;
		height: 18vh;
	}
	.fitness .program .flow li .flow_ttl{
		padding-left: 5.5rem;
	}
	.culture .shodo .txt_box table span{
		display: inline-block;
	}
}
@media screen and (max-width: 375px){
	.junior .class_intro::before{
		height: 25vh;
	}
}











