@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;700&display=swap');
/* CSS Document */
body {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-style: normal;
	font-weight: 400;
}
*{
}
a{
	transition: all 0.3s ease;
}
.br-sp,
.br480{
	display:none;
}
:where(.c-entry__content>:not(.alignleft):not(.alignright):not(.alignfull)){
	max-width: none;
}
.c-container{
	padding-right: .75rem;
	padding-left: .75rem;
}
.home .c-container{
	padding: 0;
}
.home .c-container .c-container{
	padding: 0 1rem;
}
.l-contents__inner{
	margin-top:0;
}
.l-contents__inner:first-child{
	padding-top: 0;
}
.btn01{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1rem;
	width: 100%;
	max-width: 25rem;
	font-size: 1.5rem;
	font-weight: 700;
	text-align: center;
	color: #000;
	text-decoration: none;
	background-color: #fff;
	border: solid 1px #0693e3;
	border-radius: 10rem;
	margin: 0 auto;
	padding: .5rem;
}
.btn01:hover{
	background-color: #ffe3ca;
}
.arrow {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 2px;
  margin: 4.3px 0;
  border-radius: 9999px;
  background-color: #000000;
}

.arrow::before,
.arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 0;
  width: 8px;
  height: 2px;
  border-radius: 9999px;
  background-color: #000000;
  transform-origin: calc(100% - 1px) 50%;
}

.arrow::before {
  transform: rotate(45deg);
}

.arrow::after {
  transform: rotate(-45deg);
}
.fc-red{
	color: #c1272d;
}
.ta-right{
	text-align: right;
}
@media (max-width: 768px) {
	.br-pc,
	.sp-none{
		display:none;
	}
	.br-sp{
		display:block;
	}
	.btn01{
		max-width: 20rem;
		font-size: 1rem;
		padding: .75rem .5rem;
	}
}
@media (max-width: 480px) {
	.br480{
		display: block;
	}
}
/* =======================================
	header
======================================= */
.home .l-header .c-container{
	padding: 0 1rem;
}
.c-site-branding__title .custom-logo{
	width: 200px;
}
.header-contact{
	display: flex;
	gap: 2rem;
}
.sns{
	display: flex;
	align-items: center;
	gap: 1rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.sns li{
	width: 2.5rem;
}
.btn-phone{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: .5rem;
	font-size: 1.75rem;
	font-weight: 700;
	text-decoration: none;
	color: #000;
	pointer-events: none;
}
.btn-phone img{
	width: 2rem;
}
.btn-phone-sp{
	display: none;
}
.c-drawer a{
	font-size: 1rem;
}
#menu-item-167,
#menu-item-168{
	display: inline-block;
	vertical-align: middle;
}
#menu-item-167{
	margin-right: 1rem;
}
#menu-item-167 a,
#menu-item-168 a{
	width: 3rem;
	height: 3rem;
	font-size: 0;
}
#menu-item-167 a{
	background: url(img/icon-instagram03.svg) center center / contain no-repeat;
}
#menu-item-168 a{
	background: url(img/icon-line.svg) center center / contain no-repeat;
}
@media (max-width: 1024px) {
	.header-contact{
		display: none;
	}
	.btn-phone-sp{
		position: fixed;
		top: .5rem;
		right: 3rem;
		z-index: 1000;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 3rem;
		height: 3rem;
		border: solid 1px #000;
		border-radius: 50%;
		padding: .5rem;
	}
}
@media (max-width: 768px) {
	.btn-phone{
		pointer-events: auto;
		font-size: 1.5rem;
	}
}
/* =======================================
	index
======================================= */
.p-header-content--sm{
	padding: 0;
}
.p-section-front-page-content{
	padding-top: 0;
	padding-bottom: 0;
}
.mainview{
	position: relative;
	background-color: #aedef3;
	overflow: hidden;
}
.bg-mainview{
	position: absolute;
	top: 5rem;
	right: 0;
	display: block;
	width: 80%;
	z-index: 1;
}
.bg-mainview.sp{
	display: none;
}
.main-text{
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 1.25rem;
	flex-direction: column;
	max-width: 1024px;
	margin: 0 auto;
	padding: 2rem 1rem;
	z-index: 10;
}
.mainview h1{
	position: absolute;
	top: 2rem;
	right: 1rem;
	font-size: 2.25rem;
	writing-mode: vertical-rl;
	z-index: 10;
}
.mainview h1 span{
	display: inline-block;
	color: #fff;
	background-color: #000;
	padding: .875rem .25rem;
}
.mainview h1 span:last-child{
	margin: 5rem .5rem 0 0;
}
.main-inner{
	display: flex;
	align-items: flex-start;
	gap: 1.25rem;
	flex-direction: column;
}
.main-text-sp{
	display: none;
}
.main-inner p{
	display: inline-block;
	font-size: 2.5rem;
	font-weight: 700;
	font-style: italic;
	background-color: #fff;
	border-radius: 10px;
	padding: .25rem 1rem;
}
.main02{
	margin-left: 8rem;
}
.main03{
	margin-left: 2rem;
}
@media (max-width: 1400px) {
	.bg-mainview{
		top: inherit;
		bottom: 0;
		left: 20%;
		right: inherit;
		width: auto;
	}
}
@media (max-width: 1200px) {
	.bg-mainview{
		left: 5%;
		width: 95%;
		min-width: 1100px;
	}
}
@media (max-width: 768px) {
	.bg-mainview.pc{
		display: none;
	}
	.bg-mainview.sp{
		left: 5%;
		display: block;
		width: 95%;
		min-width: initial;
	}
	.main-text-sp{
		display: block;
		width: 100%;
	}
	.main-boy,
	.main-inner{
		display: none;
	}
	.main-text{
		padding-top: 1rem;
	}
	.mainview h1{
		font-size: 1.875rem;
	}
}
@media (max-width: 480px) {
	.mainview h1{
		font-size: 1.5rem;
	}
	.mainview h1 span:last-child{
		margin-top: 3rem;
	}
}
/*頑張る力が、未来をつくる。
仲間との縁が、勇気になる*/
.index-feature{
	position: relatvie;
	max-width: 1200px;
	text-align: center;
	margin: 0 auto;
	padding: 3rem 1rem;
}
.index-feature h2{
	font-size: 2.5rem;
	color :#0081cc;
	margin-bottom: 2rem;
}
.index-feature p{
	font-size: 1.125rem;
	margin-bottom: 2rem;
}
.ind-fea-boy img{
	position: absolute;
}
.ind-fea-boy01{
	top: 10rem;
	left: 0;
}
.ind-fea-boy02{
	top: 3rem;
	right: 0;
}
@media (max-width: 1024px) {
	.ind-fea-boy01{
		width: 200px;
	}
	.ind-fea-boy02{
		width: 190px;
	}
}
@media (max-width: 960px) {
	.ind-fea-boy01{
		top: 12rem;
	}
	.ind-fea-boy02{
		top: 1rem;
	}
	.index-feature h2{
		font-size: 2rem;
	}
	.index-feature p{
		font-size: 1rem;
	}
}
@media (max-width: 768px) {
	.index-feature h2{
		font-size: 1.375rem;
		margin-bottom: 1rem;
	}
	.ind-fea-boy{
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 2rem;
		margin-bottom: 1rem;
	}
	.ind-fea-boy img{
		position: inherit;
		width: calc(50% - 1rem);
	}
	.ind-fea-boy01{
		top: inherit;
		left: inherit;
		max-width: 200px;
	}
	.ind-fea-boy02{
		top: inherit;
		right: inherit;
		max-width: 190px;
	}
}
/* index-class */
.wrap-index-class{
	position: relative;
}
.wrap-index-class:before{
	content: "";
	position: absolute;
	top: 0;
	left: 20%;
	right: 0;
	bottom: 0;
	background-color: #aedef3;
	border-radius: 200px 0 0 200px;
	z-index: -1;
}
.index-class{
	position: relative;
	max-width: 1200px;
	margin: 0 auto 6rem;
	padding: 0 0 6rem;
}
.index-class:nth-of-type(2n-1){
	padding-left: 10rem;
}
.index-class:nth-of-type(2n){
	padding-right: 10rem;
}
.index-class::before{
	position: absolute;
	font-size: 8rem;
	font-weight: 700;
	line-height: 1.2;
	writing-mode: sideways-lr;
}
.index-class:nth-of-type(2n-1)::before{
	top: 0;
	left: 0;
	color: #f7e9dc;
}
.index-class:nth-of-type(2n)::before{
	bottom: 0;
	right: 0;
	color: #fff;
}
.index-class:nth-of-type(1)::before{
	content: "parkour";
}
.index-class:nth-of-type(2)::before{
	content: "gymnastics";
}
.index-class:nth-of-type(3)::before{
	content: "acrobatics";
}
.index-class-inner{
	display: flex;
	align-items: center;
	gap: 3rem;
	margin-bottom: 2rem;
}
.index-class:nth-of-type(2n) .index-class-inner{
	flex-direction: row-reverse;
}
.index-class-text{
	flex: 1;
}
.index-class h2{
	font-size: 3rem;
	color: #f15a24;
}
.index-class h2 + p{
	font-size: 1.75rem;
	font-weight: 700;
	margin-bottom: 1.5rem;
}
.index-class img{
	width: 50%;
}
.index-class-toha{
	background-color: #fff8f0;
	border-radius: 20px;
	margin-top: 2rem;
	padding: 2rem;
}
.index-class h3{
	font-size: 1.5rem;
	color: #f15a24;
	margin-bottom: .5rem;
}
.index-class .btn01{
	position: absolute;
	bottom: 2rem;
	left: 0;
	right: 0;
	margin-inline: auto;
}
@media (max-width: 1200px) {
	.index-class::before{
		font-size: 6rem;
	}
	.index-class:nth-of-type(2n-1){
		padding-left: 8rem;
	}
	.index-class:nth-of-type(2n){
		padding-right: 8rem;
	}
	.index-class-inner{
		gap: 2rem;
	}
}
@media (max-width: 1024px) {
	.index-class h2 + p{
		font-size: 1.5rem;
		margin-bottom: 1rem;
	}
	.index-class-toha{
		padding: 1rem 1.5rem;
	}
}
@media (max-width: 960px) {
	.wrap-index-class:before{
		left: 10%;
		border-radius: 75px 0 0 75px;
	}
	.index-class{
		margin-bottom: 4rem;
	}
	.index-class:nth-of-type(2n)::before{
		bottom: inherit;
		top: 0;
	}
	.index-class-inner{
		flex-direction: column-reverse;
		gap: 1rem;
	}
	.index-class:nth-of-type(2n) .index-class-inner{
		flex-direction: column-reverse;
	}
	.index-class img{
		width: 100%;
	}
	.index-class:nth-of-type(2n-1) .index-class-text{
		padding-right: 1rem;
	}
	.index-class:nth-of-type(2n) .index-class-text{
		padding-left: 1rem;
	}
}
@media (max-width: 768px) {
	.index-class:nth-of-type(2n-1){
		padding-left: 5rem;
	}
	.index-class:nth-of-type(2n){
		padding-right: 5rem;
	}
	.index-class::before{
		font-size: 4rem;
	}
	.index-class h2{
		font-size: 2rem;
	}
	.index-class h2 + p{
		font-size: 1.25rem;
	}
	.index-class h3{
		font-size: 1.25rem;
	}
	.btn01{
		width: calc(100% - 2rem);
	}
}
@media (max-width: 640px) {
	.index-class{
		margin-bottom: 2rem;
	}
}
/*インストラクター紹介*/
.wrap-index-ins{
	max-width: 1024px;
	margin: 0 auto;
	padding: 5rem 1rem 3rem;
}
.index-ins{
	display: flex;
	align-items: flex-end;
	gap: 5rem;
}
.index-ins img{
	width: 40%;
	max-width: 400px;
}
.index-ins-text{
	flex: 1;
}
.wrap-index-ins h2{
	position: relative;
	font-size: 2.5rem;
	color: #fff;
	margin-bottom: 2rem;
	padding: 2rem 1rem 2rem 0;
}
.wrap-index-ins h2::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: calc(100% + 50vw);
	height: 100%;
	background-color: #0081cc;
	border-radius: 0 100px 0 0;
	z-index: -1;
	transform: translateX(-50vw); /* ←画面左まで伸ばす */
}
.wrap-index-ins h2 span{
	display: block;
	font-size: 1.75rem;
}
.name{
	font-size: 3rem;
	font-weight: 700;
}
.name span{
	display: inline-block;
	vertical-align: baseline;
	font-size: 1.5rem;
	margin-left: 1rem;
}
.career{
	font-size: 1.25rem;
	font-weight: 700;
	margin-bottom: 1.5rem;
}
.ins-movie{
	display: flex;
	align-items: center;
	gap: 2rem;
	padding-top: 3rem;
}
.ins-movie video,
.ins-movie img{
	width: calc(50% - 1rem);
}
@media (max-width: 960px) {
	.index-ins{
		gap: 2rem;
	}
	.wrap-index-ins h2{
		font-size: 2rem;
		margin-bottom: 1rem;
	}
	.wrap-index-ins h2::before{
		border-radius: 0 80px 0 0;
	}
	.wrap-index-ins h2 span{
		font-size: 1.5rem;
	}
	.name{
		font-size: 2.5rem;
	}
	.name span{
		font-size: 1.25rem;
	}
	.career{
		font-size: 1.125rem;
		margin-bottom: 1rem;
	}
}
@media (max-width: 768px) {
	.wrap-index-ins{
		padding-bottom: 1rem;
	}
	.wrap-index-ins h2{
		font-size: 1.75rem;
		padding: 1.5rem 1rem 1.5rem 0;
	}
	.wrap-index-ins h2::before{
		border-radius: 0 60px 0 0;
	}
	.wrap-index-ins h2 span{
		font-size: 1.25rem;
	}
	.name{
		font-size: 2rem;
	}
	.name span,
	.career{
		font-size: 1rem;
	}
}
@media (max-width: 640px) {
	.index-ins{
		position: relative;
		flex-direction: column;
		align-items: center;
		gap: 1rem;
		padding-top: 9rem;
	}
	.index-ins img{
		width: 100%;
	}
	.wrap-index-ins h2{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
	}
	.ins-movie{
		flex-direction: column;
		padding-top: 2rem;
	}
	.ins-movie video,
	.ins-movie img{
		width: 100%;
	}
}
/*big-menu*/
.big-menu{
	display: flex;
	justify-content: center;
	gap: 2rem;
	list-style: none;
	background-color: #fff5f0;
	padding: 4rem 1rem;
}
.big-menu li{
	width: 23.5%;
	max-width: 18rem;
}
.big-menu a{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	font-size: 2rem;
	font-weight: 700;
	text-decoration: none;
	text-align: center;
	color: #fff;
	background-color: #0081cc;
	border-radius: 20px;
	padding: 2rem;
}
.big-menu a:hover{
	background-color: #0396ec;
}
.big-menu li:nth-of-type(2n) a{
	background-color: #f15a24;
}
.big-menu li:nth-of-type(2n) a:hover{
	background-color: #ff7b4c;
}
@media (max-width: 1200px) {
	.big-menu{
		gap: 2%;
	}
	.big-menu a{
		font-size: 1.5rem;
		padding: 1rem;
	}
}
@media (max-width: 960px) {
	.big-menu a{
		font-size: 1.25rem;
	}
}
@media (max-width: 768px) {
	.big-menu{
		flex-wrap: wrap;
		padding: 2rem 1rem 1rem;
	}
	.big-menu li{
		width: 49%;
		margin-bottom: 1rem;
	}
}
/*index-news*/
.index-news .smb-recent-posts{
	margin-bottom: 2rem;
}
.c-entry-summary__body{
	display: flex;
	flex-direction: column;
}
.c-entry-summary__header{
	order: 2;
}
.c-entry-summary__content{
	order: 3;
}
.c-entry-summary__meta{
	order: 1;
	justify-content: flex-start;
	margin-top: 0;
}
.entry-category{
	display: inline-block;
	font-size: .75rem;
	color: #fff;
	background-color: #f15a24;
	padding: 0px 6px;
}
@media (max-width: 768px) {
	.index-news{
		padding-top: 2rem;
	}
}
/*スタジオ案内　index*/
.index-studio{
	padding: 3rem 1rem;
}
.index-studio h2{
	font-size: 3rem;
	text-align: center;
	margin-bottom: 2rem;
}
.studio{
	position: relative;
	display: flex;
	align-items: center;
	gap: 3rem;
	max-width: 960px;
	margin: 0 auto;
}
.index-studio .studio{
	max-width: 1200px;
	padding-right: 9rem;
}
.index-studio .studio::before{
	content: "STUDIO";
	position: absolute;
	top: 0;
	right: 0;
	font-size: 8rem;
	font-weight: 700;
	line-height: 1;
	writing-mode: vertical-rl;
	color: #e6e6e6;
}
.studio img{
	width: 48%;
}
.studio-text{
	flex: 1;
}
.studio p{
	font-size: 1.5rem;
	font-weight: 700;
	border-bottom: solid 1px #ccc;
	padding: 1rem;
}
.studio dl{
	display: flex;
	gap: 1rem;
	border-bottom: solid 1px #ccc;
	padding: 1rem;
}
.studio dt{
	width: 6rem;
}
.studio dd{
	flex: 1;
	font-weight: 700;
}
.studio .btn01{
	margin-top: 2rem;
}
@media (max-width: 1200px) {
	.studio{
		gap: 2rem;
	}
	.index-studio .studio{
		padding-right: 7rem;
	}
	.index-studio .studio::before{
		font-size: 7rem;
	}
}
@media (max-width: 1024px) {
	.index-studio .studio{
		padding-right: 5rem;
	}
	.index-studio .studio::before{
		right: -1rem;
		font-size: 6rem;
	}
	.studio p{
		font-size: 1.25rem;
		padding: .75rem .5rem;
	}
	.studio dl{
		padding: .75rem .5rem;
	}
	.studio dt{
		width: 5rem;
	}
}
@media (max-width: 960px) {
	.studio{
		flex-direction: column;
		gap: .25rem;
	}
	.index-studio .studio{
		padding-right: 0;
	}
	.index-studio .studio::before{
		content: none;
	}
	.studio img{
		width: 100%;
	}
	.studio-text{
		width: 100%;
	}
}
@media (max-width: 768px) {
	.index-studio h2{
		font-size: 2rem;
		margin-bottom: 1rem;
	}
}
/* =======================================
	footer
======================================= */
.l-footer{
	border-top: none;
}
.l-footer--default .l-footer-widget-area{
	padding-bottom: 0;
}
.l-footer .c-container{
	max-width: none;
}
.l-footer .c-row__col--lg-1-1{
	padding: 0;
}
.l-footer .c-row>.c-row__col:last-child{
	margin-bottom: 0;
}
.cta{
	position: relative;
	width: calc(100% - 2rem);
	max-width: 1024px;
	background-color: #f15a24;
	border-radius: 30px;
	margin: 0 auto;
	padding: 2.5rem;
}
.home .cta{
	width: calc(100% - 3rem);
}
.cta::before{
	content: "";
	position: absolute;
	top: 10px;
	left: 10px;
	display: block;
	width: calc(100% - 20px);
	height: calc(100% - 20px);
	border: solid 5px #fff;
	border-radius: 20px;
}
.cta-top{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1rem;
}
.cta01{
	font-size: 3rem;
	font-weight: 700;
	color: #fff;
}
.cta02{
	font-size: 1.5rem;
	font-weight: 700;
}
.cta-btn{
	position: relative;
	display: flex;
	justify-content: center;
	gap: 4%;
}
.cta-btn a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 48%;
	max-width: 23rem;
	font-weight: 700;
	text-decoration: none;
	border-radius: 20rem;
	padding: 1rem;
}
.btn-cta-dm{
	gap: 1rem;
	font-size: 2rem;
	color: #4f0191;
	background-color: #fff;
}
.btn-cta-dm:hover{
	background-color: #0081cc;
}
.btn-cta-dm img{
	width: 2rem;
}
.btn-cta-line{
	font-size: 1.75rem;
	color: #22b573;
	background-color: #fff;
}
.btn-cta-line:hover{
	background-color: #f7e9dc;
}
.wrap-footer{
	background-color: #0081cc;
	padding: 3rem 2rem;
}
.home .wrap-footer{
	padding: 3rem;
}
.footer{
	display: flex;
	justify-content: space-between;
	gap: 2rem;
	max-width: 1200px;
	margin: 0 auto;
	padding-bottom: 2rem;
}
.footer-logo{
	display: block;
	margin-bottom: .5rem;
}
.footer01{
	font-size: 1.5rem;
	font-weight: 700;
	color: #fff;
	margin-bottom: .5rem;
}
address{
	font-size: 1.25rem;
	font-style: normal;
	color: #fff;
}
.footer-nav{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	flex-wrap: wrap;
	gap: 2rem;
	list-style: none;
	margin: 0 0 2rem;
	padding: 0;
}
.footer-nav a{
	font-size: 1.125rem;
	font-weight: 700;
	text-decoration: none;
	color: #fff;
}
.footer-contact{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 2rem;
}
.footer-contact .sns li{
	width: 3.5rem;
}
.footer-contact .btn-phone{
	width: 16rem;
	background-color: #fff;
	border-radius: 20rem;
	padding: 1rem;
}
.l-footer--default .c-copyright{
	position: relative;
}
@media (min-width: 1024px) {
	.l-footer .c-row__col--lg-1-1{
		max-width: none;
	}

}
@media (max-width: 1200px) {
	.footer-nav a{
		font-size: 1rem;
	}
}
@media (max-width: 960px) {
	.cta-top img{
		width: 8rem;
	}
	.cta01{
		font-size: 2.5rem;
	}
	.cta02{
		font-size: 1.25rem;
	}
	.footer{
		flex-direction: column;
		align-items: center;
	}
	.footer-contact{
		justify-content: center;
	}
}
@media (max-width: 768px) {
	.wrap-footer{
		padding: 3rem 1rem;
	}
	.home .wrap-footer{
		padding: 3rem 2rem;
	}
	.cta{
		padding: 1.5rem;
	}
	.cta::before{
		border-width: 3px;
	}
	.cta01{
		font-size: 2rem;
	}
	.cta02{
		text-align: center;
	}
	.btn-cta-dm{
		gap: .5rem;
		font-size: 1.5rem;
	}
	.btn-cta-dm img{
		width: 1.5rem;
	}
	.btn-cta-line{
		font-size: 1.5rem;
	}
	.footer01{
		font-size: 1.25rem;
		text-align: center;
	}
	address{
		font-size: 1rem;
	}
	.footer-right{
		width: 100%;
	}
	.footer-nav{
		flex-direction: column;
		gap: 0;
		border-top: solid 1px #fff;
	}
	.footer-nav li{
		width: 100%;
		border-bottom: solid 1px #fff;
	}
	.footer-nav a{
		display: block;
		padding: .5rem;
	}
	.footer-contact{
		flex-direction: column;
	}
	.btn-phone:hover{
		background-color: #f7e9dc;
	}
}
@media (max-width: 640px) {
	.cta-top{
		flex-direction: column;
		gap: 0;
	}
	.cta-top img{
		width: 5rem;
	}
	.cta01{
		font-size: 1.25rem;
		text-align: center;
	}
	.cta02{
		font-size: 1rem;
	}
	.cta-btn{
		align-items: center;
		flex-direction: column;
		gap: 1rem;
	}
	.cta-btn a{
		width: 100%;
	}
}
/* =======================================
	page 共通
======================================= */
.c-entry__title{
	font-size: 3rem;
	text-align: center;
	color: #fff;
	background-color: #f15a24;
	padding: 4rem 1rem;
}
@media (max-width: 768px) {
	.c-entry__title{
		font-size: 2rem;
		padding: 2rem 1rem;
	}
}
/* =======================================
	初めての方へ
======================================= */
.first-img{
	position: relative;
	margin-bottom: 2rem;
}
.first-img01{
	display: block;
	margin: 0 auto;
}
.first-boy{
	position: absolute;
	top: 0;
	right: 50%;
	margin-right: 13.5rem;
}
.norikoe{
	display: flex;
	justify-content: center;
	align-items: center;
}
.norikoe-text{
	flex: 1;
}
.norikoe h3{
	font-size: 1.5rem;
	color: #f15a24;
	margin-bottom: 1rem;
}
.norikoe ol{
	max-width: 30rem;
	list-style: none;
	counter-reset: listnum; /* カウンターをリセット */
	margin: 1rem 0 0;
	padding: 0;
}
.norikoe li{
	position: relative;
	font-size: 1.5rem;
	font-weight: 700;
	border-bottom: solid 1px #4d4d4d;
	padding: .75rem .75rem .75rem 4rem;
}
.norikoe li::before{
	counter-increment: listnum; /* counter-resetと同じ文字列 */
	content: counter(listnum); /* カウントした数に応じて番号を表示 */
	position: absolute;
	top: 0;
	left: 1rem;
	font-size: 2.25rem;
	color: #f15a24;
}
.norikoe img{
	width: 50%;
}
.feature{
	display: flex;
	align-items: center;
	gap: 3rem;
	margin-bottom: 2rem;
}
.feature:nth-of-type(2n){
	flex-direction: row-reverse;
}
.feature img{
	width: 49%;
	max-width: 500px;
}
.feature-text{
	flex: 1;
}
.feature h3{
	font-size: 2rem;
	color: #f15a24;
	margin-bottom: 2rem;
}
.ins{
	max-width: 960px;
	margin: 0 auto;
	padding: 3rem 1rem;
}
.ins .index-ins{
	align-items: center;
}
.ins h2{
	font-size: 2rem;
	color: #736357;
	margin-bottom: 2rem;
}
.page-studio{
	background-color: #7dccf3;
	padding: 5rem 1rem;
}
.page-studio h2{
	font-size: 3rem;
	text-align: center;
	margin-bottom: 2rem;
}
.page-studio .studio p,
.page-studio .studio dl{
	border-color: #666;
}
.studio-img{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	max-width: 960px;
	margin: 2rem auto;
}
.studio-img img{
	width: 32%;
	margin-bottom: 1rem;
}
@media (max-width: 1200px) {
	.feature{
		gap: 2rem;
	}
	.feature h3{
		font-size: 1.75rem;
	}
}
@media (max-width: 960px) {
	.first-img{
		margin-bottom: 1rem;
	}
	.first-boy{
		right: inherit;
		left: 0;
		width: 240px;
		margin-right: 0;
	}
	.norikoe{
		flex-direction: column;
	}
	.norikoe h3{
		width: 100%;
		text-align: center;
	}
	.norikoe ol{
		margin: 1rem auto;
	}
	.norikoe img{
		width: 100%;
	}
	.feature h3{
		font-size: 1.5rem;
	}
}
@media (max-width: 768px) {
	.first .smb-section__title{
		font-size: 1.25rem;
	}
	.first .smb-section__title strong{
		display: block;
	}
	.first-boy{
		top: -2rem;
		width: 200px;
	}
	.feature,
	.feature:nth-of-type(2n){
		flex-direction: column;
		gap: 1rem;
	}
	.feature img{
		width: 100%;
	}
	.feature h3{
		margin-bottom: .5rem;
	}
	.ins h2{
		font-size: 1.5rem;
		margin-bottom: .5rem;
	}
	.page-studio{
		padding: 3rem 1rem;
	}
	.page-studio h2{
		font-size: 2rem;
	}
	.studio-img img{
		width: 49%;
	}
}
@media (max-width: 640px) {
	.first-boy{
		left: -3rem;
	}
	.norikoe li{
		font-size: 1.25rem;
		padding-left: 3rem;
	}
	.norikoe li::before{
		font-size: 2rem;
	}
}
@media (max-width: 480px) {
	.first-img{
		padding-top: 2rem;
	}
	.first-boy{
		width: 180px;
	}
	.norikoe li{
		font-size: 1rem;
		padding-left: 2.5rem;
	}
	.norikoe li::before{
		left: .5rem;
		font-size: 1.75rem;
	}
}
/* =======================================
	クラス・料金
======================================= */
.class{
	display: flex;
	align-items: flex-start;
	gap: 3rem;
	max-width: 1200px;
	margin: 0 auto 6rem;
	padding-right: 1rem;
}
.class:nth-of-type(2n){
	flex-direction: row-reverse;
	padding: 0 0 0 1rem;
}
.class-img{
	width: 50%;
}
.class-img img{
	width: 100%;
}
.class-text{
	flex: 1;
}
.class h2{
	font-size: 3rem;
	color: #f15a24;
	margin-bottom: .5rem;
}
.class p{
	margin-bottom: 1.5rem;
}
.class ul{
	list-style: none;
	background-color: #fff8f0;
	margin: 0 0 2rem;
	padding: 1.5rem 1rem 1.5rem 1.5rem;
}
.class li{
	position: relative;
	font-size: 1.25rem;
	font-weight: 700;
	margin-bottom: .5rem;
	padding-left: 1.5rem;
}
.class li:last-child{
	margin-bottom: 0;
}
.class li::before{
	content:"・";
	position: absolute;
	top: 0;
	left: 0;
}
.wrap-price h2{
	font-size: 3rem;
	text-align: center;
	color: #fff;
	margin-bottom: .5rem;
}
.price{
	max-width: 960px;
	background-color: #fff;
	border-radius: 20px;
	margin: 0 auto 2rem;
	padding: 2rem;
}
.price table{
	width: 100%;
	border-collapse: collapse;
}
.price01-pc{
	max-width: 640px;
	margin: 0 auto;
}
.price01-pc tr:nth-of-type(2n) th,
.price01-pc tr:nth-of-type(2n) td{
	border-top: solid 1px #ccc;
}
.price01-pc th{
	font-size: 1.5rem;
	text-align: left;
}
.price01-pc th.ta-right{
	text-align: right;
}
.price01-pc th p{
	font-size: 1.25rem;
}
.price01-pc td{
	font-size: 2rem;
	text-align: right;
}
.price02-pc th{
	font-size: 1.5rem;
	background-color: #aedef3;
	border-top: solid 5px #fff;
	border-bottom: solid 5px #fff;
}
.price02-pc th p{
	font-size: 1rem;
}
.price02-pc td{
	font-size: 1.25rem;
	border-bottom: solid 1px #999;
	padding: 1rem;
}
.price02-pc tr:first-child td{
	border-top: solid 1px #999;
}
.price02-pc td:last-child{
	border-left: solid 1px #999;
}
.price02-pc td .fc-red{
	font-size: 1.25rem;
}
.price02-sp{
	display: none;
}
.price02-sp th{
	background-color: #aedef3;
	padding: .5rem;
}
.price02-sp td{
	padding: .5rem .5rem 1rem;
}
.kumiawase{
	display: flex;
	justify-content: space-between;
	font-size: 1.25rem;
	padding: 1rem 0;
}
.price-note{
	margin-bottom: 1rem;
}
.price dl{
	display: flex;
	justify-content: center;
	gap: 1rem;
	font-size: 1.75rem;
	font-weight: 700;
}
/*無料体験の流れ*/
.free-flow h2{
	font-size: 3rem;
}
.free-flow .smb-section__contents-wrapper>*+*{
	margin-top: 0;
}
.flow{
	max-width: 960px;
	list-style: none;
	counter-reset: listnum; /* カウンターをリセット */
	margin: 0 auto;
	padding: 3rem 1rem;
}
.flow li{
	position: relative;
	border: solid 8px #f15a24;
	border-radius: 20px;
	margin-bottom: 8rem;
	padding: 3rem 2rem 3rem 8rem;
}
.flow li:last-child{
	margin-bottom: 0;
}
.flow li::before{
	counter-increment: listnum; /* counter-resetと同じ文字列 */
	content: counter(listnum); /* カウントした数に応じて番号を表示 */
	position: absolute;
	top: 1rem;
	left: 3rem;
	font-size: 5rem;
	font-weight: 700;
	color: #0071bc;
	margin: auto 0;
}
.flow li::after{
	content: "";
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	display: block;
	width: 40px;
	height: 80px;
	background: url(img/icon-arrow.svg) center center / contain no-repeat;
	margin: 2rem auto 0;
}
.flow li:last-child::after{
	content: none;
}
.flow-title{
	font-size: 2.5rem;
}
.flow p{
	font-size: 1.25rem;
}
.flow-note{
	max-width: 960px;
	margin: 0 auto 2rem;
	padding: 0 1rem;
}
@media (max-width: 1200px) {
	.class{
		gap: 2rem;
	}
	.class h2{
		font-size: 2.5rem;
	}
	.class li{
		font-size: 1rem;
	}
}
@media (max-width: 1024px) {
	.flow li{
		padding: 2rem 1rem 2rem 5.5rem;
	}
	.flow li::before{
		left: 2rem;
		font-size: 4rem;
	}
	.flow-title{
		font-size: 2rem;
	}
}
@media (max-width: 960px) {
	.class,
	.class:nth-of-type(2n){
		flex-direction: column;
		gap: 0;
		margin-bottom: 2rem;
		padding: 0;
	}
	.class-img{
		width: 100%;
	}
	.class-text{
		padding: 0 1rem;
	}
	.price02-pc th{
		font-size: 1.5rem;
	}
	.price02-pc th p{
		font-size: 1rem;
	}
	.price02-pc td{
		font-size: 1.25rem;
		padding: 1rem .5rem;
	}
	.price02-pc td .fc-red{
		font-size: 1rem;
	}
	.kumiawase{
		font-size: 1rem;
	}
}
@media (max-width: 768px) {
	.class h2{
		font-size: 2rem;
	}
	.wrap-price h2{
		font-size: 2rem;
	}
	.price01-pc th,
	.price01-pc td{
		font-size: 1.5rem;
	}
	.price01-pc th p{
		font-size: 1rem;
	}
	.price02-pc{
		display: none;
	}
	.price02-sp{
		display: table;
	}
	.kumiawase{
		flex-direction: column;
	}
	.price dl{
		flex-wrap: wrap;
		font-size: 1.5rem;
	}
	.free-flow h2{
		font-size: 2rem;
	}
	.flow li{
		border-width: 4px;
		margin-bottom: 4rem;
		padding: 1rem 0.5rem 1rem 3.5rem
	}
	.flow li::before{
		top: 0;
		left: 1rem;
		font-size: 3rem;
	}
	.flow li::after{
		width: 20px;
		height: 40px;
		margin-top: 1rem;
	}
	.flow-title{
		font-size: 1.25rem;
	}
	.flow p{
		font-size: 1rem;
	}
}
@media (max-width: 640px) {
	.price{
		padding: 1rem;
	}
	.price01-pc{
		max-width: 400px;
	}
	.price01-pc th,
	.price01-pc td{
		font-size: 1rem;
	}
	.price01-pc th p{
		font-size: .875rem;
	}
	.price dl{
		font-size: 1.25rem;
	}
}
@media (max-width: 480px) {
	.price02-sp td{
		padding: .5rem 0;
	}
	.price02-sp td:last-child{
		font-size: .875rem;
		text-align: right;
	}
	.price dl{
		align-items: center;
		flex-direction: column;
		gap: 0;
	}
}
/* =======================================
	記事一覧
======================================= */
.p-archive{
	max-width: 960px;
	padding: 0 1rem;
}
.c-subcategory-menu__list{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	max-width: 960px;
	list-style: none;
	margin: 0 auto 2rem;
	padding: 0 1rem;
}
.c-subcategory-menu__list li{
	width: 23.5%;
	max-width: 12rem;
}
.c-subcategory-menu__list a{
	display: block;
	color: #000;
	text-align: center;
	text-decoration: none;
	border: solid 1px #ccc;
	border-radius: 10rem;
	padding: .75rem .5rem;
}
.c-subcategory-menu__list a:hover{
	background-color: #f7e9dc;
}
.c-entry-summary__figure{
	background-image: url(img/favicon.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 50%;
	border-radius: 1rem;
}
.c-entry-summary__figure .c-entry-summary__term{
	display: none;
}
.p-archive .c-entry-summary__body{
	display: flex;
	flex-direction: column;
}
@media (max-width: 640px) {
	.c-subcategory-menu__list{
		max-width: 27rem;
		margin-bottom: 0;
	}
	.c-subcategory-menu__list li{
		width: 49%;
		margin-bottom: 1rem;
	}
}
@media (max-width: 480px) {
	.c-subcategory-menu__list{

	}
}
/* =======================================
	記事詳細
======================================= */
.c-meta{
	display: none;
}
.single .c-entry__body{
	max-width: 960px;
	margin: 0 auto;
	padding: 0 1rem;
}
.single-meta{
	display: flex;
	justify-content: flex-end;
	gap: 1rem;
}