/*!
Theme Name: sun-smile-iwade
Theme URI: http://underscores.me/
Author: Sun Smile Iwade
Author URI: https://sun-smile-iwade.com/
Description: Simple responsive theme
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: sun-smile-iwade
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* ----------
 * 追加
 * ---------- */
:root {
	--text-color: #473014;
	--orange: #ff6440;
	--blue: #24a7bc;
	--yellow: #ffa233;
	--bg-beige: #fcf3ea;
	--bg-orange: #fce8de;
	--dot-yellow: radial-gradient(circle, #ffa233 2.75px, transparent 2.75px) 0 0 / 16px 32px, radial-gradient(circle, #ffa233 2.75px, transparent 2.75px) 8px 16px / 16px 32px;
	--dot-white: radial-gradient(circle, #fff 2.75px, transparent 2.75px) 0 0 / 16px 32px, radial-gradient(circle, #fff 2.75px, transparent 2.75px) 8px 16px / 16px 32px;
	--dot-blue: radial-gradient(circle, #24a7bc 2.75px, transparent 2.75px) 0 0 / 16px 32px, radial-gradient(circle, #24a7bc 2.75px, transparent 2.75px) 8px 16px / 16px 32px;
}
/* ----------
 * layout
 * ---------- */
#wrapper {
	position: relative;
	overflow: hidden;
}
.page {
	margin: 0;
}
section {
	position: relative;
	width: 100%;
	margin: 60px auto;
	padding: 0 5.3333vw;
	box-sizing: border-box;
}
section.pd {
	margin: 0 auto;
	padding: 60px 5.3333vw;
}
section.full,
section.pd.full {
	padding-left: 0;
	padding-right: 0;
}
.inner,
.breadcrumbs {
	max-width: 1300px;
	margin: 0 auto;
}
.inner.narrow {
	max-width: 1000px;
}
.fc {
	display: flex;
	justify-content: center;
	align-items: center;
}
.abs_full {
	position: relative;
}
.abs_full::before {
	position: absolute;
	inset: 0;
	content: "";
}
/* ----------
 * common
 * ---------- */
body {
	color: var(--text-color);
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: clamp(.875rem, calc((100vw - 375px) * (2 / 1065) + .875rem), 1rem);
	font-weight: 500;
}
ul, ol {
	margin: 0 0 1.5em;
	padding: 0;
	letter-spacing: .1em;
	text-indent: .1em;
}
ul.none,
ul.disc,
.single .site-main ul,
.single .site-main ol {
	list-style: none;
}
ol.decimal,
.single .site-main ol {
	counter-reset: number 0;
}
ul.disc li,
.single .site-main ul li {
	position: relative;
	padding-left: 1em;
	margin-bottom: .5em;
}
.single .site-main ol li {
	position: relative;
	padding-left: 1.5em;
	margin-bottom: .5em;
}
ul.disc li::before,
.single .site-main ul li::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "・";
}
ol.decimal li::before,
.single .site-main ol li::before {
	counter-increment: number 1;
	position: absolute;
	top: 0;
	left: 0;
	content: counter(number) ".";  
}
figure {
	margin: 0;
}
img {
	display: block;
}
time {
	display: block;
	font-size: clamp(.8125rem, calc((100vw - 375px) * (1 / 1065) + .8125rem), .875rem);
	letter-spacing: .2em;
}
table, tbody {
	border-collapse: collapse;
}
a.none {
	text-decoration: none;
}
a:hover, a:focus, a:active {
	outline: none;
}
a.op {
	transition: opacity .3s ease;
}
a.op:hover {
	opacity: .6;
}
.tel a,
dl.footer a {
	color: var(--text-color);
	text-decoration: none;
}
.tel.em a {
	font-weight: 900;
	letter-spacing: .1em;
	text-indent: .1em;
}
.tel.em a span {
	display: inline-block;
	position: relative;
	padding-left: 1.3em;
}
.tel.em a span::before {
	pointer-events: none;
	position: absolute;
	top: 54%;
	left: 0;
	width: 1em;
	height: 1em;
	background: url("images/common/icon-tel.svg") center / contain no-repeat;
	content: "";
	transform: translateY(-50%);
}
.pc, .pc2, .pc3 {
	display: none !important;
}
p {
	text-align: justify;
	letter-spacing: .1em;
	text-indent: .1em;
	line-height: 2;
}
p.caution {
	position: relative;
	padding-left: 1.25em;
}
p.caution::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "※";
}
.ct {
	text-align: center;
}
.r {
	text-align: right;
}
.l {
	text-align: left;
}
::selection {
	background: rgba(255, 162, 51, .8);
	color: #fff;
}
/* heading */
h1, h2, h3, h4, h5, h6 {
	margin-top: 0;
	letter-spacing: .1em;
	text-indent: .1em;
	line-height: 1.3;
}
.top_title,
.deco_title {
	font-size: clamp(1.5rem, calc((100vw - 375px) * (24 / 1065) + 1.5rem), 3rem);
}
.top_title {
	margin: 0 0 1em;
}
.title_em {
	margin: 0;
	color: var(--orange);
	font-size: clamp(1rem, calc((100vw - 375px) * (8 / 1065) + 1rem), 1.5rem);
}
.title_em strong,
.inquiry_box h3 span {
	display: inline-block;
	position: relative;
	padding: 0 1em;
}
.title_em strong::before,
.title_em strong::after,
.inquiry_box h3 span::before,
.inquiry_box h3 span::after {
	pointer-events: none;
	position: absolute;
	top: 50%;
	width: .75em;
	aspect-ratio: 18 / 29;
	content: "";
	transform: translateY(-50%);
}
.title_em strong::before,
.inquiry_box h3 span::before {
	left: 0;
	background: url("images/common/slash-l.svg") left center / contain no-repeat;
}
.title_em strong::after,
.inquiry_box h3 span::after {
	right: 0;
	background: url("images/common/slash-r.svg") right center / contain no-repeat;
}
.deco_title {
	position: relative;
	margin: 0 0 1.5em;
	padding-top: 2em;
	text-align: center;
	z-index: 1;
}
.deco_title span {
	display: inline-block;
	padding: 0 .25em;
	background: #fff;
}
.deco_title::before {
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 50%;
	width: 4em;
	aspect-ratio: 193 / 90;
	background: url("images/common/logo-title.svg") right center / contain no-repeat;
	content: "";
	transform: translateX(-50%);
}
.deco_title.wh::before {
	background: url("images/common/logo-title-wh.svg") right center / contain no-repeat;
}
.deco_title.wh {
	color: #fff;
}
/* button */
.btn_link a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 270px;
	height: 54px;
	margin: 30px auto 0;
	border: 2px solid var(--blue);
	border-radius: 27px;
	box-sizing: border-box;
	background: #fff;
	color: var(--blue);
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-indent: .1em;
	text-decoration: none;
	transition: all .3s ease;
}
.btn_link.r a {
	margin-right: 0;
}
.btn_link a::after {
	pointer-events: none;
	position: absolute;
	top: 50%;
	right: 20px;
	width: 20px;
	height: 20px;
	background: url("images/common/arrow-link-bl.svg") center / contain no-repeat;
	content: "";
	transition: all .3s ease;
	transform: translateY(-50%);
}
.btn_link a:hover {
	background: var(--blue);
	color: #fff;
}
.btn_link a:hover::after {
	background: url("images/common/arrow-link-wh.svg") center / contain no-repeat;
	transform: translate(10px, -50%);
}
/* animation */
#wrapper {
	opacity: 0;
	transition: all 1s cubic-bezier(.215, .61, .355, 1);
}
#wrapper.is-active {
	opacity: 1;
}
.fd,
.dfd {
	opacity: 0;
	filter: blur(5px);
	transition: all .3s ease;
	transform: scale(.85);
	transform-origin: center center;
}
.fd-up,
.top_title,
.title_em,
.deco_title,
.btn_link,
.widget-title,
.widget li,
.widget img,
.dfd-up,
.class_list li {
	opacity: 0;
	transition: all .6s cubic-bezier(.175, .885, .32, 1.275) .2s;
	transform: translateY(30px);
}
.fd.is-active,
.dfd.is-active,
.fd-up.is-active,
.top_title.is-active,
.title_em.is-active,
.deco_title.is-active,
.btn_link.is-active,
.widget-title.is-active,
.widget li.is-active,
.widget img.is-active,
.dfd-up.is-active,
.class_list li.is-active {
	opacity: 1;
	filter: none;
	transform: scale(1.0) translate(0, 0);
}
.dfd, .dfd-up {
	transition-delay: .5s;
}
.page_header .deco span {
	opacity: 0;
	transition: opacity .4s ease, transform .5s ease;
}
.page_header .deco.is-active span {
	opacity: 1;
	transform: rotate(360deg);
}
.page_header .deco.is-active span:nth-child(1) {
	transition-delay: .2s;
}
.page_header .deco.is-active span:nth-child(2) {
	transition-delay: .4s;
}
.page_header .deco.is-active span:nth-child(3) {
	transition-delay: .6s;
}
.main_visual h3 {
	opacity: 0;
	clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0 100%);
	transition: all 1.5s cubic-bezier(.215, .61, .355, 1) .5s;
}
.main_visual h3.is-active {
	opacity: 1;
	clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0 100%);
}
/* ----------
 * header
 * ---------- */
.site-header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 60px;
	padding: 0 5.3333vw;
	border-top: 3px solid #ffb399;
	box-sizing: border-box;
	transition: all .5s ease;
	z-index: 100;
}
.home .site-header {
	background: var(--bg-beige);
}
.site-header.is-scroll,
.home .site-header.is-scroll {
	background: #fff;
}
/* logo */
.site-branding, .site-title, .site-title a {
	display: flex;
	align-items: center;
	height: 100%;
	margin: 0;
}
.home .site-header .site-title {
	transition: all .5s ease;
	opacity: 0;
}
.home .site-header.is-scroll .site-title {
	opacity: 1;
}
.site-title a {
	width: 220px;
}
/* fixed menu */
.fixed_menu * {
	border: none;
	-webkit-appearance: none;
	appearance: none;
	outline: none;
}
.fixed_menu .fixed_bg {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100svh;
	background: rgba(252, 243, 234, .7);
	backdrop-filter: blur(20px);
	z-index: 999;
}
.fixed_menu .fixed_button {
	cursor: pointer;
	display: block;
	position: fixed;
	top: 15px;
	right: 25px;
	width: 26px;
	padding: 0;
	background: none;
	z-index: 1001;
}
.fixed_menu .fixed_button.active {
	top: 15px;
	right: 20px;
}
.fixed_menu .fixed_button .fixed_bar {
	display: block;
	height: 2px;
	margin: 6px 0;
	background: var(--orange);
	transition: all .2s ease;
	transform-origin: center;
}
.fixed_menu .fixed_button.active .fixed_bar {
	width: 25px;
}
.fixed_menu .fixed_button.active .fixed_bar1 {
	transform: translateY(5.5px) rotate(45deg);
}
.fixed_menu .fixed_button.active .fixed_bar2 {
	opacity: 0;
}
.fixed_menu .fixed_button.active .fixed_bar3 {
	transform: translateY(-11px) rotate(-45deg);
}
.fixed_menu .fixed_nav_wrapper {
	position: fixed;
	top: 0;
	right: 0;
	width: 100%;
	max-width: 420px;
	height: 100svh;
	padding: 50px 20px 30px;
	box-sizing: border-box;
	overflow-y: scroll;
	opacity: 0;
	transition: opacity .8s cubic-bezier(.52, .08, .18, 1);
	transform: translateX(420px);
	z-index: 1000;
}
.fixed_menu .fixed_nav_wrapper.open {
	opacity: 1;
	transform: translateX(0);
}
.fixed_logo {
	display: flex;
	align-items: center;
	width: 220px;
	margin: 0 auto;
}
/* global menu */
.global_menu {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	padding: 20px 0 10px;
}
.global_menu li {
	width: 47%;
	margin-top: 30px;
	text-align: center;
}
.global_menu li a {
	display: block;
	padding: 1em 0;
	border: 2px solid var(--blue);
	border-radius: 5px;
	box-sizing: border-box;
	background: #fff;
	color: var(--blue);
	font-size: 1rem;
	letter-spacing: .1em;
	text-indent: .1em;
	text-decoration: none;
}
.header_info {
	display: flex;
	flex-direction: column;
	padding: 1.5em 1em;
	border: 2px solid var(--blue);
	border-radius: 5px;
	background: #fff;
	color: var(--text-color);
}
.header_info .desc {
	margin: 0 0 1em;
	padding-bottom: 1em;
	border-bottom: 2px solid var(--blue);
	font-size: .875rem;
	text-align: center;
}
.header_info .tel a {
	display: flex;
	justify-content: center;
	font-size: 1.5rem;
}
.btn_sp a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 54px;
	margin: 1em auto 0;
	border-radius: 27px;
	box-sizing: border-box;
	background: var(--orange);
	color: #fff;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-indent: .1em;
	text-decoration: none;
}
/* ----------
 * footer
 * ---------- */
/* cta */
.cta {
	background: #fff;
	overflow: hidden;
	z-index: 0;
}
.cta::before,
.cta::after,
.cta_box::before {
	pointer-events: none;
	position: absolute;
	content: "";
	z-index: -1;
}
.cta::before {
	top: -10vw;
	right: -7vw;
	width: 50vw;
	aspect-ratio: 795 / 772;
	background: url("images/common/bg-cta1.webp") center / contain no-repeat;
	z-index: -3;
}
.cta::after {
	bottom: -15vw;
	left: -20vw;
	width: 60vw;
	aspect-ratio: 813 / 825;
	background: url("images/common/bg-cta2.webp") center / contain no-repeat;
	z-index: -2;
}
.cta_box {
	position: relative;
	margin-bottom: 80px;
	padding: 40px 5vw;
	border: 5px solid var(--blue);
	border-radius: 24px;
	box-sizing: border-box;
	background: #fff;
	box-shadow: 0 0 1em rgba(28, 120, 165, .5);
}
.cta_box::before {
	bottom: -27vw;
	left: 22vw;
	width: 50vw;
	aspect-ratio: 643 / 409;
	background: url("images/common/bg-cta3.webp") center / contain no-repeat;
	z-index: -1;
}
.cta_box p {
	font-size: 1rem;
}
.cta .btn_link a,
.inquiry_box .btn_link a {
	width: 100%;
	height: 60px;
	border: 2px solid var(--orange);
	border-radius: 30px;
	background: var(--orange);
	color: #fff;
}
.cta .btn_link a::after {
	background: url("images/common/arrow-link-wh.svg") center / contain no-repeat;
}
.cta .btn_link a:hover,
.inquiry_box .btn_link a:hover {
	border: 2px solid var(--blue);
	background: var(--blue);
	box-shadow: 0 0 1em rgba(28, 120, 165, .5);
}
.tel_cta * {
	margin-bottom: 0;
	text-align: center;
}
.tel_cta .tel a {
	font-size: 2.125rem;
}
.cta_box figure img,
.inquiry_box figure img {
	width: 70%;
	margin: 3em auto 0;
}
/* supporter */
.supporter {
	display: none;
	padding: 0 0 60px;
	background: #fff;
}
.home .supporter {
	display: block;
}
.supporter .inner {
	padding: 0 5.3333vw;
}
.supporter h2 {
	margin: 0;
	font-size: clamp(1.5rem, calc((100vw - 375px) * (24 / 1065) + 1.5rem), 3rem);
	text-align: right;
}
.supporter h2 span {
	display: inline-block;
	position: relative;
	padding-top: 1.5em;
}
.supporter h2 span::before {
	pointer-events: none;
	position: absolute;
	top: 0;
	width: 100%;
	aspect-ratio: 98 / 33;
	background: url("images/top/deco-supporter.svg") center / contain no-repeat;
	content: "";
}
.supporter_list {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}
.supporter_list li {
	width: 47%;
	margin-top: 20px;
}
.supporter_list li a {
	display: block;
	box-shadow: rgba(0, 0, 0, .1) 0 4px 12px;
}
/* footer content */
.site-footer {
	background: var(--bg-orange);
}
.site-footer .inner {
	padding: 50px 5.3333vw;
}
.footer_info p {
	margin: 0;
	font-size: clamp(.75rem, calc((100vw - 375px) * (2 / 1065) + .75rem), .875rem);
	text-align: center;
}
.footer_logo a {
	display: flex;
	justify-content: center;
	width: 50%;
	margin: 0 auto;
}
dl.footer {
	display: flex;
	flex-flow: row wrap;
	margin: 1.5em 0;
}
dl.footer dt, dl.footer dd {
	margin: 0;
	padding: .5em 0;
	font-size: clamp(.8125rem, calc((100vw - 375px) * (2 / 1065) + .8125rem), .9375rem);
	letter-spacing: .1em;
}
dl.footer dt {
	position: relative;
	width: 5em;
}
dl.footer dt.hour {
	width: 6em;
}
dl.footer dd {
	width: calc(100% - 5em);
}
dl.footer dd.hour {
	width: calc(100% - 6em);
}
dl.footer dt::before {
	position: absolute;
	top: .5em;
	left: 2.2em;
	content: "：";
}
dl.footer dt.hour::before {
	left: 4em;
}
.footer_content figure {
	width: 320px;
	margin: 0 auto;
	border-radius: 1rem;
	overflow: hidden;
}
.footer_menu {
	display: none;
	flex-flow: row wrap;
	margin: 0;
}
.footer_menu.disc li {
	width: 50%;
	margin-top: 10px;
	padding-left: 1.5em;
}
.footer_menu.disc li::before {
	color: var(--orange);
}
.footer_menu li a {
	color: var(--text-color);
	text-decoration: none;
}
.sns_box {
	margin-top: 2.5em;
	padding: 1em 1.5em;
	border-radius: .5rem;
	box-sizing: border-box;
	background: #fff;
}
.sns_box p {
	margin: 0;
	font-size: .8125rem;
	line-height: 1.5;
}
.instagram {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.instagram p {
	text-align: center;
}
.instagram .icon a {
	display: block;
	width: 40px;
	height: 40px;
	margin-left: 20px;
	background: url("images/common/icon-instagram.webp") center / contain no-repeat;
	transition: background .3s ease;
}
.instagram .icon a:hover {
	background: url("images/common/icon-instagram-hover.webp") center / contain no-repeat;
}
.copyright {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 60px;
	background: #ffb399;
}
.copyright, .copyright a {
	color: #fff;
	font-size: .8125rem;
	letter-spacing: .2em;
	text-indent: .2em;
}
/* page top */
#pageTop {
	position: fixed;
	bottom: 10px;
	right: 10px;
	z-index: 99;
}
#pageTop a {
	display: block;
	width: 60px;
	height: 60px;
	background: url("images/common/pagetop.svg") center / contain no-repeat;
	transition: all .3s ease;
}
#pageTop a:hover {
	opacity: .6;
}
/* ----------
 * top
 * ---------- */
.wrap_dot {
	position: relative;
	box-sizing: border-box;
}
.wrap_dot::before,
.wrap_dot::after {
	pointer-events: none;
	position: absolute;
	content: "";
	overflow: hidden;
}
.wrap_dot::before {
	inset: 15px -15px -15px;
}
.wrap_dot::after {
	inset: 0;
}
.wrap_dot * {
	position: relative;
	z-index: 1;
}
/* main visual */
.main_visual {
	width: 100%;
	height: calc(100svh - 60px);
	margin: 60px 0 0;
	padding: 0;
	background: var(--bg-beige);
}
.main_visual::after {
	pointer-events: none;
	position: absolute;
	bottom: 0;
	right: 8vw;
	width: 27vw;
	aspect-ratio: 547 / 626;
	background: url("images/common/deco2.webp") right bottom / contain no-repeat;
	content: "";
	z-index: 1;
}
.mv_gallery {
	width: 88%;
	height: 65%;
	margin: 0 0 0 auto;
	border-radius: 1.7em 0 0 0;
	box-sizing: border-box;
	overflow: hidden;
}
.mv_gallery li,
.mv_gallery .slick-list,
.mv_gallery .slick-track {
	height: 100%;
}
.mv_gallery li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.mv_logo {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 60%;
	padding: 40px;
	border-radius: 0 1.7em 0 0;
	box-sizing: border-box;
	background: var(--bg-beige);
	z-index: 1;
}
.mv_logo img {
	margin: 0 auto;
}
.mv_logo .desc {
	margin: 0 0 1em;
	text-align: center;
}
.main_visual h3 {
	position: absolute;
	top: 8%;
	left: 5%;
	width: 90%;
	z-index: 1;
}
/* top about */
.top_about,
.top_news {
	background: var(--bg-beige);
}
.top_about .wrap_dot,
.top_news .wrap_dot,
.top_event .wrap_dot,
.top_report .wrap_dot {
	width: 95%;
	padding: 40px 5.3333vw;
}
.top_about .wrap_dot::before,
.top_event .wrap_dot::before {
	border-radius: 0 24px 24px 0;
	background: var(--dot-yellow);
}
.top_about .wrap_dot::after,
.top_event .wrap_dot::after {
	border-radius: 0 24px 24px 0;
	background: #fff;
}
.top_about .wrap_dot .deco {
	position: absolute;
	inset: 0;
}
.top_about .wrap_dot span {
	pointer-events: none;
	position: absolute;
}
.top_about .wrap_dot span:nth-child(1) {
	left: 3vw;
	top: -60px;
	width: 13vw;
	aspect-ratio: 227 / 400;
	background: url("images/common/deco1.webp") left bottom / contain no-repeat;
}
.top_about .wrap_dot span:nth-child(2) {
	right: 1vw;
	bottom: -60px;
	width: 13vw;
	aspect-ratio: 253 / 158;
	background: url("images/common/deco4.webp") right bottom / contain no-repeat;
}
.top_about figure {
	width: 80%;
	margin: 3em auto 0;
}
/* top news */
.top_news.pd {
	padding-top: 0;
}
.top_news .wrap_dot,
.top_report .wrap_dot {
	margin: 0 0 0 auto;
}
.top_news .wrap_dot::before,
.top_report .wrap_dot::before {
	border-radius: 24px 0 0 24px;
	background: var(--dot-yellow);
}
.top_news .wrap_dot::after,
.top_report .wrap_dot::after {
	border-radius: 24px 0 0 24px;
	background: var(--bg-orange);
}
.top_news .inner {
	position: relative;
	padding-bottom: 60px;
}
.top_news .inner::before,
.top_news .inner::after {
	pointer-events: none;
	position: absolute;
	content: "";
}
.top_news .inner::before {
	top: 0;
	right: 0;
	width: 11%;
	aspect-ratio: 84 / 100;
	background: url("images/top/illust-butterfly.webp") center / contain no-repeat;
}
.top_news .inner::after {
	bottom: -40px;
	left: 0;
	width: 15%;
	aspect-ratio: 315 / 560;
	background: url("images/top/illust-plant.webp") center / contain no-repeat;
}
.news_list li {
	margin-top: 20px;
}
.news_list li a {
	display: block;
	padding: 1em;
	border-radius: 5px;
	box-sizing: border-box;
	background: #fff;
	color: var(--text-color);
	text-decoration: none;
}
.news_list li a h3 {
	margin: .35em 0 0;
	font-size: 1em;
	font-weight: 500;
	transition: color .3s ease;
}
.news_list li a:hover h3 {
	color: var(--blue);
}
/* top class */
.top_class.pd {
	padding-bottom: 0;
	background: url("images/top/bg-class.webp") center top / 100% auto repeat-y;
}
.top_class .wrap {
	position: relative;
	padding: 40px 0;
	border-radius: 24px;
	box-sizing: border-box;
	background: var(--yellow);
}
.top_class .wrap::before,
.top_class .wrap::after,
.price_box::after {
	pointer-events: none;
	position: absolute;
	width: 27vw;
	aspect-ratio: 547 /626;
	content: "";
}
.top_class .wrap::before {
	top: -80px;
	left: -5vw;
	background: url("images/common/deco3.webp") left top / contain no-repeat;
}
.top_class .wrap::after,
.price_box::after {
	bottom: -50px;
	right: -5vw;
	background: url("images/common/deco2.webp") right bottom / contain no-repeat;
}
.class_box {
	padding: 0 2vw;
}
.class_box.lesson {
	margin-bottom: 54px;
}
.class_box.schedule {
	margin-bottom: 24px;
}
.class_box figure {
	position: relative;
	z-index: 1;
}
.class_box figure img {
	width: 100vw;
}
.class_box .text {
	margin-top: -100px;
	padding: 130px 5.3333vw 40px;
	border-radius: 24px;
	box-sizing: border-box;
	background: #fff;
}
.class_box.lesson .text {
	transform: translateX(7vw);
}
.class_box.schedule .text {
	transform: translateX(-7vw);
}
.class_box .wrap_dot::before {
	border-radius: 24px;
	background: var(--dot-white);
}
.class_box h3 {
	font-size: clamp(1.25rem, 5.333vw, 2.25rem);
	text-align: center;
}
/* top guide */
.flow_list li {
	position: relative;
	margin-top: 40px;
	padding: 40px 50px;
	border-radius: 1.5em;
	box-sizing: border-box;
	background: var(--bg-orange);
}
.flow_list li::before {
	pointer-events: none;
	position: absolute;
	top: -30px;
	left: 50%;
	width: 40px;
	aspect-ratio: 2 / 1;
	background: url("images/common/arrow-down.webp") center / contain no-repeat;
	content: "";
	transform: translateX(-50%);
}
.flow_list li:first-child::before {
	display: none;
}
.flow_list li h3 {
	padding: 0 10px;
}
.flow_list li p {
	margin-bottom: 0;
	text-align: center;
}
/* top event / top report */
.top_event .wrap_dot::after {
	border-top: 2px solid var(--orange);
	border-right: 2px solid var(--orange);
	border-bottom: 2px solid var(--orange);
}
.top_report .wrap_dot::after {
	background: var(--bg-beige);
}
.blog_list li {
	margin-top: 35px;
}
.blog_list li a {
	color: var(--text-color);
	text-decoration: none;
	transition: all .3s ease;
}
.blog_list li a .img,
.blog_list li a .img figure {
	position: relative;
	border-radius: 1.5em;
	box-sizing: border-box;
	overflow: hidden;
}
.blog_list li a .img figure {
	aspect-ratio: 3 / 2;
	border-radius: 1.6em;
}
.blog_list li a .img figure img {
	position: absolute;
	inset: 0;
	object-fit: cover;
	transition: transform .3s ease;
}
.blog_list li a:hover .img figure img {
	transform: scale(1.05);
}
.blog_list li a time {
	position: absolute;
	bottom: -1px;
	right: -1px;
	padding: .5em 1.25em;
	border-radius: 1em 0 0 0;
	text-indent: .2em;
}
.top_event .blog_list li a time {
	background: #fff;
}
.top_report .blog_list li a time {
	background: var(--bg-beige);
}
.blog_list li a h3 {
	margin: 1.25em 0 0;
	font-size: 1em;
	font-weight: 500;
	transition: color .3s ease;
}
.blog_list li a:hover h3  {
	color: var(--blue);
}
/* ----------
 * page
 * ---------- */
/* page header */
.page_header {
	position: relative;
	margin-top: 60px;
	height: 60vh;
}
.page_header .inner {
	display: flex;
	align-items: center;
	height: 100%;
}
.page_header .deco span {
	display: block;
	position: absolute;
	aspect-ratio: 1 / 1;
}
.page_header .deco span:nth-child(1) {
	top: 10%;
	left: 10%;
	width: 15%;
	background: url("images/common/deco-page-header-bl.webp") center / contain no-repeat;
}
.page_header .deco span:nth-child(2) {
	bottom: 0;
	left: 50%;
	width: 20%;
	background: url("images/common/deco-page-header-yl.webp") center / contain no-repeat;
}
.page_header .deco span:nth-child(3) {
	bottom: 25%;
	right: -5%;
	width: 25%;
	background: url("images/common/deco-page-header-or.webp") center / contain no-repeat;
}
.page_title {
	position: relative;
	margin: 0;
	font-size: clamp(2.5rem, calc((100vw - 375px) * (20 / 1065) + 2.5rem), 3.75rem);
}
/* breadcrumbs */
.page_header,
.breadcrumbs {
	padding: 0 5.3333vw;
}
.single .breadcrumbs {
	margin-top: 70px;
}
.aioseo-breadcrumbs span {
	font-size: .8125rem;
	letter-spacing: .1em;
}
.aioseo-breadcrumb a,
.aioseo-breadcrumb-separator {
	color: var(--text-color);
	text-decoration: none;
	opacity: .7;
}
/* ----------
 * lesson
 * ---------- */
body.lesson,
body.category,
body.single {
	background: var(--bg-beige);
}
.class_menu {
	display: flex;
	justify-content: space-around;
	margin: 60px 5.3333vw 0;
	border-bottom: 1px solid var(--text-color);
}
.class_menu li {
	width: 45%;
}
.class_menu li a {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 1em;
	border-top: 1px solid var(--text-color);
	border-left: 1px solid var(--text-color);
	border-right: 1px solid var(--text-color);
	border-radius: .5em .5em 0 0;
	box-sizing: border-box;
	color: var(--text-color);
	letter-spacing: .1em;
	text-indent: .1em;
	text-decoration: none;
	transition: all .3s ease;
}
.class_menu li.active a,
.class_menu li.active a:hover {
	background: var(--text-color);
	color: #fff;
}
.class_menu li a:hover {
	background: rgba(71, 48, 20, .7);
	color: #fff;
}
/* lesson content */
.lesson_adult.sports::before,
.lesson_adult.sports::after,
.price_box::before {
	pointer-events: none;
	position: absolute;
	width: 13vw;
	content: "";
}
.lesson_adult.sports::before,
.price_box::before {
	left: 3vw;
	top: 10px;
	aspect-ratio: 227 / 400;
	background: url("images/common/deco1.webp") left top / contain no-repeat;
}
.lesson_adult.sports::after {
	right: 2vw;
	bottom: -80px;
	aspect-ratio: 253 / 158;
	background: url("images/common/deco4.webp") right bottom / contain no-repeat;
}
.lesson_kids.practice::before,
.lesson_kids.practice::after {
	pointer-events: none;
	position: absolute;
	content: "";
}
.lesson_kids.practice::before {
	top: -60px;
	right: -4vw;
	width: 27vw;
	aspect-ratio: 547 / 626;
	background: url("images/common/deco2.webp") right top / contain no-repeat;
}
.lesson_kids.practice::after {
	bottom: -60px;
	left: -3vw;
	width: 13vw;
	aspect-ratio: 253 / 158;
	background: url("images/common/deco4.webp") left bottom / contain no-repeat;
}
.lesson_content h2 {
	font-size: 2em;
	text-align: center;
}
.lesson_content h2 span {
	display: inline-block;
	position: relative;
	padding: 0 2.2em;
	font-size: clamp(1rem, calc((100vw - 375px) * (5 / 1065) + 1rem), 1.3125rem);
}
.lesson_content h2 span::before,
.lesson_content h2 span::after {
	position: absolute;
	top: 50%;
	width: 2em;
	height: .1em;
	background: var(--text-color);
	content: "";
	transform: translateY(-50%);
}
.lesson_content h2 span::before {
	left: 0;
}
.lesson_content h2 span::after {
	right: 0;
}
.class_list li {
	margin-top: 30px;
	padding: 0 0 1.2em;
	border: 2px solid var(--yellow);
	border-radius: 1em;
	box-sizing: border-box;
	background: #fff;
	overflow: hidden;
}
.practice .class_list li {
	border: 2px solid var(--blue);
}
.class_list li h3 {
	padding: .75em 0;
	background: var(--yellow);
	color: #fff;
	font-size: 1.3125em;
	text-align: center;
}
.practice .class_list li h3 {
	background: var(--blue);
}
.class_list li .detail {
	padding: 0 1.5em;
}
.class_list li figure {
	border-radius: 1em;
	overflow: hidden;
}
.class_list li .detail p {
	margin-bottom: 1em;
	line-height: 1.5;
}
.link_box {
	display: flex;
	justify-content: space-between;
}
.link_schedule {
	text-align: right;
}
.link_box .link_schedule:nth-child(1) {
	text-align: left;
}
.link_schedule a {
	position: relative;
	padding-right: 2.15em;
	color: var(--orange);
	font-size: clamp(.75rem, calc((100vw - 375px) * (2 / 1065) + .75rem), .875rem);
	text-decoration: none;
	transition: all .3s ease;
}
.link_schedule a::after {
	pointer-events: none;
	position: absolute;
	top: 50%;
	right: 0;
	width: 1.4285em;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background: url("images/common/arrow-link-wh.svg") center / auto 50% no-repeat, var(--orange);
	content: "";
	transition: background .3s ease;
	transform: translateY(-50%);
}
.link_schedule a:hover {
	color: var(--blue);
}
.link_schedule a:hover::after {
	background: url("images/common/arrow-link-wh.svg") center / auto 50% no-repeat, var(--blue);
}
/* ----------
 * schedule
 * ---------- */
body.schedule {
	background: var(--bg-orange);
}
/* schedule detail */
.schedule_detail .desc * {
	text-align: center;
}
.schedule_detail .date span {
	display: inline-block;
	position: relative;
	padding: 0 .5em .2em 2em;
	border-bottom: 1px solid var(--yellow);
}
.schedule_detail .date span::before {
	pointer-events: none;
	position: absolute;
	top: 50%;
	left: 0;
	width: 1.25em;
	aspect-ratio: 1 / 1;
	background: url("images/schedule/icon-pen.svg") left center / contain no-repeat;
	content: "";
	transform: translateY(-50%);
}
.week_menu {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-around;
	margin: 0;
}
.week_menu li {
	width: 30%;
}
.week_menu li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	margin-top: 20px;
	padding: .75em 0;
	border: 2px solid var(--text-color);
	border-radius: .5em;
	box-sizing: border-box;
	background: var(--text-color);
	color: #fff;
	font-size: .8125rem;
	letter-spacing: .3em;
	text-indent: .3em;
	text-decoration: none;
	transition: all .3s ease;
}
.week_menu li a:hover {
	background: #fff;
	color: var(--text-color);
}
.week_box {
	padding: 40px 0;
	border-bottom: 1px solid var(--text-color);
}
p.week {
	position: relative;
	margin: 0 0 2em;
	font-size: clamp(1.25rem, calc((100vw - 375px) * (20 / 1065) + 1.25rem), 2.5rem);
	font-weight: 700;
	line-height: 1;
}
p.week::before,
p.week::after {
	pointer-events: none;
	position: absolute;
}
p.week::before {
	bottom: 100%;
	left: -.5em;
	width: 1.225em;
	aspect-ratio: 49 / 46;
	background: url("images/schedule/deco-week.webp") center / contain no-repeat;
	content: "";
}
p.week::after {
	top: 15%;
	left: 0;
	font-size: 3em;
	letter-spacing: .1em;
	opacity: .1;
}
.mon p.week::after { content: "Monday"; }
.tue p.week::after { content: "Tuesday"; }
.wed p.week::after { content: "Wednesday"; }
.thu p.week::after { content: "Thursday"; }
.fri p.week::after { content: "Friday"; }
.sat p.week::after { content: "Saturday"; }
.schedule_item {
	position: relative;
	margin: 0;
}
.schedule_item li {
	margin-top: 30px;
	padding: 1.5em;
	border-radius: 1em;
	box-sizing: border-box;
	background: #fff;
	overflow: hidden;
}
.schedule_item li h3 {
	margin: 0 0 .5em;
	padding-bottom: .5em;
	border-bottom: 1px solid var(--text-color);
	font-size: clamp(1rem, calc((100vw - 375px) * (5 / 1065) + 1rem), 1.3125rem);
	text-align: center;
	white-space: nowrap;
}
.schedule_item li dl {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	margin: 0;
}
.schedule_item li dt,
.schedule_item li dd {
	margin: .5em 0;
	font-weight: 700;
	letter-spacing: .1em;
	text-indent: .1em;
}
.schedule_item li dt {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 6em;
	padding: .2em 0;
	border-radius: .5em;
	box-sizing: border-box;
	background: var(--blue);
	color: #fff;
}
.schedule_item li dd {
	width: calc(100% - 7.5em);
}
.schedule_item li dd.date,
.schedule_item li dd.note {
	width: 100%;
	box-sizing: border-box;
}
.schedule_item li dd.date {
	padding-left: 4em;
	line-height: 2;
}
/* ----------
 * guide
 * ---------- */
/* guide price */
.price_box {
	position: relative;
	margin-top: -4em;
	padding: 50px 4.5vw 30px;
	border: 5px solid #ffb399;
	border-radius: 24px;
	box-sizing: border-box;
}
.price_box::before {
	left: -7vw;
	top: -90px;
}
table.price {
	width: 100%;
	border: 1px solid var(--text-color);
	box-sizing: border-box;
}
table.price tr {
	display: flex;
	border-top: 1px solid var(--text-color);
}
table.price tr > * {
	width: 25%;
	border-right: 1px solid var(--text-color);
	box-sizing: border-box;
}
table.price th,
table.price td {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 1em 0;
	letter-spacing: .1em;
	text-indent: .1em;
}
table.price tr.row1 th:last-child,
table.price tr td:last-child {
	border-right: none;
}
table.price th {
	font-size: clamp(.75rem, calc((100vw - 375px) * (7 / 1065) + .75rem), 1.3125rem);
	font-weight: 500;
}
table.price tr.row1 th {
	border-right: 1px solid #fff;
	background: var(--text-color);
	color: #fff;
}
table.price td {
	font-size: clamp(.9375rem, calc((100vw - 375px) * (10 / 1065) + .9375rem), 1.4375rem);
	font-weight: 900;
}
.price_box p {
	font-weight: 700;
}
.price_box .flat {
	padding: 1em;
	border-radius: .5em;
	box-sizing: border-box;
	background: var(--blue);
	color: #fff;
	line-height: 1.5;
	text-align: center;
}
.price_box figure {
	width: 50%;
	margin: 0 0 0 auto;
}
.price_box figure img {
	margin: 0 0 0 auto;
}
.note_box {
	padding: 2em 4vw;
	border-radius: 1em;
	box-sizing: border-box;
	background: var(--bg-beige);
}
.note_box h3 {
	margin: 0 0 2em;
	font-size: clamp(1rem, calc((100vw - 375px) * (8 / 1065) + 1rem), 1.5rem);
	text-align: center;
}
.price_note {
	margin: 0;
}
.price_note li {
	position: relative;
	padding-left: 1.5em;
	font-size: clamp(.8125em, calc((100vw - 375px) * (3 / 1065) + .8125rem), 1rem);
	font-weight: 700;
	line-height: 2;
}
.price_note li::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 1em;
	aspect-ratio: 1 / 1;
	content: "☆";
}
.price_note li.caution::before {
	content: "※";
}
/* guide supporter */
.guide_supprter.pd,
.inquiry_form.pd {
	padding-top: 0;
	background: url("images/common/bg-rainbow.webp") center bottom / 100% 30% no-repeat;
}
.supporter_box {
	padding: 2em 5vw;
	border-radius: 1em;
	box-sizing: border-box;
	background: rgba(255, 252, 241, .88);
}
.supporter_box p {
	font-weight: 700;
}
.supporter_box figure {
	width: 100%;
	asoect-ratio: 1 / 1;
	border-radius: 1em;
	box-sizing: border-box;
	overflow: hidden;
}
.supporter_box figure img {
	width: 100vw;
}
/* ----------
 * recruit
 * ---------- */
/* recruit staff */
.recruit_staff::before,
.recruit_staff::after {
	position: absolute;
	inset: 0;
	background: #fff6ed;
	content: "";
	transform: translateY(140px);
	z-index: -2;
}
.recruit_staff::after {
	background: var(--dot-white);
	z-index: -1;
}
.recruit_staff figure {
	position: relative;
}
.recruit_staff figure img {
	border-radius: 1.5em;
	box-sizing: border-box;
	overflow: hidden;
}
.recruit_staff .text {
	margin-top: 3em;
}
.recruit_staff * {
	text-align: center;
}
/* recruit info */
.recruit_info {
	background: #fff6ed;
}
table.info {
	margin: 0;
	border-top: 1px dotted var(--text-color);
}
table.info tr {
	display: flex;
	border-bottom: 1px dotted var(--text-color);
}
table.info th, table.info td {
	padding: 1.5em 0;
	font-weight: 500;
	letter-spacing: .1em;
	text-align: justify;
	line-height: 1.8;
}
table.info th {
	width: 6em;
}
table.info td {
	width: calc(100% - 6em);
}
/* ----------
 * about
 * ---------- */
/* about prof */
.about_item {
	margin-top: 40px;
}
.about_item .text {
	background: radial-gradient(#fce8de, transparent 80%) center / 100% 100% no-repeat;
}
.about_item figure {
	margin: 0 0 0 auto;
}
.about_item.item01 figure {
	width: 80%;
}
.about_item.item03 figure {
	width: 50%;
}
.about_item h3 {
	font-size: clamp(1.25rem, calc((100vw - 375px) * (12 / 1065) + 1.25rem), 2rem);
}
/* about info */
.about_info table.info th {
	width: 10em;
}
.about_info table.info td {
	width: calc(100% - 10em);
}
/* ----------
 * inquiry
 * ---------- */
/* inquiry info */
.inquiry_box {
	position: relative;
	margin-top: -4em;
	padding: 40px 5vw;
	border: 5px solid var(--blue);
	border-radius: 24px;
	box-sizing: border-box;
	background: #fff;
	box-shadow: 0 0 1em rgba(28, 120, 165, .5);
}
.inquiry_box .deco,
.recruit_staff figure .deco {
	pointer-events: none;
	position: absolute;
	inset: 0;
}
.inquiry_box .deco span,
.recruit_staff figure .deco span {
	display: inline-block;
	position: absolute;
}
.inquiry_box .deco span:nth-of-type(1),
.recruit_staff figure .deco span:nth-of-type(1) {
	top: -115px;
	left: -5.5vw;
	width: 6.64vw;
	aspect-ratio: 255 / 394;
	background: url("images/inquiry/deco1.webp") left top / contain no-repeat;
}
.inquiry_box .deco span:nth-of-type(2),
.recruit_staff figure .deco span:nth-of-type(2) {
	top: 12.86vw;
	right: -10.7vw;
	width: 10.7vw;
	aspect-ratio: 411 / 324;
	background: url("images/inquiry/deco2.webp") left top / contain no-repeat;
}
.inquiry_box .deco span:nth-of-type(3) {
	bottom: -7vw;
	left: 50%;
	width: 10vw;
	aspect-ratio: 386 / 241;
	background: url("images/inquiry/deco3.webp") center bottom / contain no-repeat;
	transform: translateX(-50%);
}
.inquiry_box .deco span:nth-of-type(4),
.recruit_staff figure .deco span:nth-of-type(4) {
	bottom: 10vw;
	left: -7vw;
	width: 6.35vw;
	aspect-ratio: 244 / 314;
	background: url("images/inquiry/deco4.webp") center bottom / contain no-repeat;
}
.inquiry_box h3 {
	margin: 0 0 1.5em;
	color: var(--orange);
	font-size: clamp(1em, calc((100vw - 375px) * (24 / 1065) + 1rem), 2.5rem);
	text-align: center;
}
.inquiry_box .btn_link a::after {
	display: none;
}
/* inquiry form */
.form_box {
	padding: 50px 4vw;
	border-radius: 1.5em;
	box-sizing: border-box;
	background: var(--bg-beige);
}
table.contact_form, table.contact_form tbody {
	display: block;
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}
table.contact_form tr {
	display: flex;
	flex-direction: column;
}
table.contact_form th, table.contact_form td {
	padding: 1.5em .5em;
	border-bottom: 1px solid var(--text-color);
	box-sizing: border-box;
	font-size: 1em;
}
table.contact_form th {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	color: var(--text-color);
	text-align: left;
}
table.contact_form th .req {
	display: inline-block;
	padding: .5em .3em .4em;
	background: var(--blue);
	color: #fff;
	letter-spacing: .3em;
	text-indent: .3em;
	line-height: 1;
}
table.contact_form td {
	width: 100%;
}
.contact_form input[type="text"],
.contact_form input[type="email"],
.contact_form textarea {
	display: block;
	width: 100%;
	padding: 5px;
	border-radius: 0;
}
.contact_form input[type="text"]:focus,
.contact_form input[type="email"]:focus,
.contact_form textarea:focus,
.contact_form input[type="text"]:focus-visible,
.contact_form input[type="email"]:focus-visible
.contact_form textarea:focus-visible {
	outline-color: var(--sub-color);
}
.btn_form {
	display: flex;
	flex-direction: column;
	position: relative;
	width: 300px;
	margin: 15px auto 0;
}
.inquiry_form .btn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 60px;
	margin: 1em auto 0;
	padding: 0;
	border: 2px solid var(--orange);
	border-radius: 30px;
	box-sizing: border-box;
	background: var(--orange);
	color: #fff;
	font-size: 1.25rem;
	letter-spacing: .1em;
	text-indent: .1em;
	transition: all .3s ease;
}
.inquiry_form .btn:hover {
	border: 2px solid var(--blue);
	background: #fff;
	color: var(--blue);
}
input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="range"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], textarea {
	border: 1px solid var(--text-color);
}
/* ----------
 * category
 * ---------- */
.post {
	margin: 0;
}
.content_post {
	margin: 0 auto;
	padding: 60px 5.3333vw;
}
.article_list.news {
	border-top: 1px solid rgba(36, 167, 188, .6);
}
.article_list.event article,
.article_list.report article {
	margin-top: 3em;
}
.article_list.event article:first-of-type,
.article_list.report article:first-of-type {
	margin-top: 0;
}
.article_list article a {
	display: block;
	text-decoration: none;
	transition: all .3s ease;
}
.article_list.news article a {
	padding: 2em 0;
	border-bottom: 1px solid rgba(36, 167, 188, .6);
}
.article_list.event article a,
.article_list.report article a {
	border-radius: 1.5em;
	box-sizing: border-box;
	background: #fff;
	box-shadow: rgba(36, 167, 188, .2) 0 .15em .3em 0, rgba(36, 167, 188, .3) 0 .15em 1.5em 0;
}
.article_list.event article a:hover,
.article_list.report article a:hover {
	box-shadow: none;
}
.article_list article a figure {
	position: relative;
	height: 0;
	margin: 0;
	padding-top: 66.6666%;
	border-radius: 1.5em 1.5em 0 0;
	overflow: hidden;
}
.article_list article a figure img,
.post-thumbnail img {
	position: absolute;
	inset: 0;
}
.article_list.event article a .text,
.article_list.report article a .text {
	padding: 10px 20px;
}
.article_list article a .date {
	color: var(--text-color);
}
.article_list.event article a .date,
.article_list.report article a .date {
	text-align: right;
}
.article_list article a h2 {
	margin-top: .5em;
	color: var(--text-color);
	font-size: 1em;
	line-height: 1.5;
	transition: all .3s ease;
}
.article_list.news article a:hover *,
.article_list.news article a:hover .more,
.article_list.news article a:hover .more::after {
	color: #fff;
}
.article_list article a .more {
	position: relative;
	padding-right: 24px;
	color: var(--blue);
	font-size: .75rem;
	letter-spacing: .1em;
	text-align: right;
	line-height: 1;
	transition: all .3s ease;
}
.article_list.event article a .more,
.article_list.report article a .more {
	padding-right: 5px;
}
.article_list article a .more::after {
	position: absolute;
	right: 10px;
	top: 50%;
	width: 12px;
	height: 12px;
	content: ">";
	transition: all .3s ease;
	transform: translateY(-50%);
}
.article_list.event article a .more::after,
.article_list.report article a .more::after {
	right: -10px;
}
.article_list article a:hover .more::after {
	right: 0;
}
.article_list.event article a:hover .more::after,
.article_list.report article a:hover .more::after {
	right: -15px;
}
/* pagenation */
.category .pagination {
	width: 100%;
	margin-top: 70px;
}
.category .nav-links {
	display: flex;
	justify-content: center;
}
.category .page-numbers {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 30px;
	height: 30px;
	margin: 0 10px;
	color: var(--orange);
	font-weight: 500;
	line-height: 1;
	transition: all .3s ease;
}
.category .page-numbers.current, .category a.page-numbers:hover {
	border-radius: 50%;
	box-sizing: border-box;
	background: var(--bg-orange);
	color: #fff;
}
.category a.page-numbers {
	text-decoration: none;
}
.category .page-numbers:hover, .category a.page-numbers:hover {
	background: var(--bg-orange);
}
/* ----------
 * sidebar
 * ---------- */
section.widget {
	margin: 0 auto 4em;
	padding: 0;
}
section.widget:first-of-type {
	margin-top: clamp(65px, 18.5vw, 110px);
}
section.widget:last-of-type {
	margin-bottom: 0;
}
.widget-title {
	position: relative;
	margin-bottom: 1em;
	padding: .25em 0 .25em .8em;
	border-left: 5px solid var(--orange);
	color: var(--text-color);
	font-size: clamp(1.5rem, 5.7vw, 1.125rem);
	line-height: 1;
}
.widget ul {
	list-style: none;
	margin: 0;
}
.widget li:last-child {
	margin-bottom: 0;
}
.widget li {
	margin-bottom: 1.5em;
	font-size: clamp(.8rem, 2.9vw, .875rem);
	line-height: 1.5;
}
.widget li a {
	color: var(--text-color);
	text-decoration: none;
	transition: all .3s ease;
}
.widget li a:hover {
	color: var(--blue);
	text-decoration: underline;
}
/* ----------
 * post
 * ---------- */
.post-thumbnail {
	position: relative;
	height: 0;
	margin: 0 0 1.5em;
	padding-top: 56.25%;
	border-radius: 1.5em;
	overflow: hidden;
}
.single .site-main .entry-header {
	margin-bottom: 1.8em;
}
.single .site-main time {
	color: var(--text-color);
	text-align: right;
}
.single .entry-title {
	font-size: clamp(1.125rem, 4.75vw, 1.75rem);
}
/* post content */
.single .site-main h2 {
	color: var(--text-color);
	padding: 0 0 0 .75em;
	border-left: .25em solid var(--orange);
}
.single .site-main h3 {
	padding-left: .6em;
	color: var(--text-color);
	border-left: .2em solid var(--yellow);
}
.single .site-main h4 {
	color: var(--text-color);
	font-size: 1em;
}
.single .site-main p,
.single .site-main ul li,
.single .site-main ol li {
	color: var(--text-color);
}
/* pagenation */
.single .post-navigation {
	margin-top: 50px;
}
.single .nav-links {
	justify-content: space-between;
	align-items: center;
}
.single .nav-links > * {
	width: 48.5%;
}
.single .nav-links a {
	display: flex;
	align-items: center;
	color: var(--blue);
	font-size: 93.3333%;
	text-decoration: none;
}
.single .nav-next a {
	justify-content: flex-end;
}
.single a .nav-title {
	transition: all .3s ease;
}
.single a:hover .nav-title {
	text-decoration: underline;
}
.single .nav-previous a .nav-subtitle,
.single .nav-next a .nav-subtitle {
	display: inline-block;
}
.single .nav-previous a .nav-subtitle {
	margin-right: .5em;
}
.single .nav-next a .nav-subtitle {
	margin-left: .5em;
}
/* ----------
 * responsive
 * ---------- */
@media (min-width: 768px) {
	/* ----------
	 * layout
	 * ---------- */
	section {
		margin: 70px auto;
	}
	section.pd {
		padding: 70px 5.3333vw;
	}
	.fb_768 {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	/* ----------
	 * common
	 * ---------- */
	.sp {
		display: none !important;
	}
	.pc {
		display: block !important;
	}
	/* button */
	.btn_link a {
		width: 300px;
		height: 60px;
		border-radius: 30px;
		font-size: 1.25rem;
	}
	.btn_link a::after {
		width: 25px;
		height: 25px;
	}
	/* ----------
	 * footer
	 * ---------- */
	/* cta */
	.cta_box {
		padding: 60px 7vw;
	}
	.cta .btn_link a,
	.inquiry_box .btn_link a {
		width: 480px;
		height: 80px;
		margin-right: auto;
		border-radius: 40px;
	}
	.tel_cta .tel a {
		font-size: 3.25rem;
	}
	/* supporter */
	.supporter h2 {
		width: 50%;
		margin: 0 0 .5em auto;
		text-align: center;
	}
	.supporter_list {
		justify-content: flex-start;
	}
	.supporter_list li {
		width: 30%;
		margin-right: 3.3333%;
	}
	/* footer content */
	.sns_box {
		width: 500px;
		margin: 0 0 0 auto;
	}
	.instagram .icon a {
		width: 60px;
		height: 60px;
	}
	/* ----------
	 * top
	 * ---------- */
	.wrap_dot::before {
		inset: 20px -20px -20px;
	}
	/* main visual */
	.main_visual h3 {
		top: 10%;
		width: 70%;
	}
	/* top about */
	.top_about .wrap_dot span:nth-child(1) {
		top: -150px;
	}
	.top_about figure {
		width: 40%;
		margin: 3em 10% 0 50%;
	}
	/* top news */
	.news_list li a {
		display: flex;
		align-items: center;
		padding: 1em 1.5em;
	}
	.news_list li a time {
		width: 9em;
	}
	.news_list li a h3 {
		display: flex;
		align-items: center;
		width: calc(100% - 9em);
		height: 2.5em;
		margin: 0;
		padding-left: 1.5em;
		border-left: 1px solid var(--orange);
	}
	/* top class */
	.top_class .wrap {
		padding: 70px 0;
	}
	.class_box {
		padding: 0 5vw;
	}
	.class_box.lesson {
		margin-bottom: 94px;
	}
	.class_box .text {
		margin-top: -200px;
		padding: 250px 5.333vw 60px;
	}
	.class_box .text,
	.class_box .wrap_dot::before {
		border-radius: 32px;
	}
	/* top guide */
	.flow_list .img {
		display: flex;
		justify-content: space-around;
		align-items: center;
	}
	/* top event / top report */
	.top_event .wrap_dot,
	.top_report .wrap_dot {
		padding: 60px 5.3333vw;
	}
	/* ----------
	 * lesson
	 * ---------- */
	/* lesson content */
	.class_list,
	.schedule_item {
		display: flex;
		flex-flow: row wrap;
		justify-content: space-between;
	}
	.class_list li,
	.schedule_item li {
		width: 48%;
	}
	.class_list li,
	.class_list li .detail {
		display: flex;
		flex-direction: column;
	}
	.class_list li .detail {
		flex-grow: 1;
	}
	.class_list li .detail p {
		flex-grow: 1;
	}
	.link_box,
	.link_schedule {
		margin-top: auto;
	}
	/* ----------
	 * schedule
	 * ---------- */
	/* schedule detail */
	.week_box {
		padding: 60px 0;
	}
	p.week {
		margin: 0 0 1.5em;
	}
	.schedule_item li dd.date {
		font-size: 90%;
	}
	/* ----------
	 * guide
	 * ---------- */
	/* guide price */
	.price_box {
		margin-top: -5em;
		padding: 80px 5vw 60px;
		border-radius: 40px;
	}
	.price_box .text {
		width: 61.5%;
	}
	.price_box figure {
		align-self: end;
		width: 38.5%;
	}
	.flat {
		font-size: 1.25em;
	}
	/* ----------
	 * about
	 * ---------- */
	/* about prof */
	.about_item {
		margin-top: 60px;
	}
	.about_item.item02 {
		width: 90%;
		margin: 50px 0 0 auto;
	}
	.about_item.item03 .text {
		width: 90%;
	}
	.about_item figure {
		margin-top: -20px;
	}
	.about_item.item01 figure {
		width: 50%;
	}
	.about_item.item03 figure {
		width: 30%;
	}
	/* ----------
	 * inquiry
	 * ---------- */
	/* inquiry form */
	.form_box {
		padding: 70px 7vw;
	}
	table.contact_form tr {
		flex-direction: row;
	}
	table.contact_form th {
		width: 27%;
	}
	table.contact_form td {
		width: 73%;
	}
	.btn_form {
		margin-top: 40px;
	}
	/* ----------
	 * category
	 * ---------- */
	/* pagenation */
	.category .pagination {
		margin-top: 70px;
	}
	/* ----------
	 * sidebar
	 * ---------- */
	.content_post .widget-area {
		padding: 0 2vw;
	}
}
@media (min-width: 992px) {
	/* ----------
	 * layout
	 * ---------- */
	section {
		margin: 90px auto;
	}
	section.pd {
		padding: 90px 5.3333vw;
	}
	.fb_992 {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	/* ----------
	 * common
	 * ---------- */
	.sp2 {
		display: none !important;
	}
	.pc2 {
		display: block !important;
	}
	/* ----------
	 * footer
	 * ---------- */
	/* cta */
	.cta::after {
		bottom: -30vw;
	}
	.cta_box {
		border-radius: 40px;
	}
	.cta_box::before {
		bottom: -24vw;
		left: 14vw;
	}
	.cta .content figure {
		width: calc(100% - 540px);
	}
	.cta .content figure img {
		width: 100%;
		margin: 0;
	}
	.cta .content .text {
		order: 1;
		width: 540px;
	}
	/* supporter */
	.supporter_list {
		justify-content: space-between;
	}
	.supporter_list li {
		width: 18.4615%;
		margin: 1em 0 0;
	}
	/* footer content */
	.site-footer .inner {
		padding: 60px 10vw;
	}
	.footer_content {
		margin-bottom: 2em;
	}
	.footer_info {
		width: 51%;
	}
	.footer_content figure {
		width: 44%;
		aspect-ratio: 1 / 1;
		margin: 0;
	}
	.footer_content figure img {
		width: 100vw;
	}
	/* ----------
	 * top
	 * ---------- */
	/* main visual */
	.main_visual::after {
		bottom: -36px;
		right: 4vw;
		width: 14vw;
	}
	.mv_gallery {
		width: 70%;
		height: calc(100% - 120px);
		border-radius: 2.5em 0 0 2.5em;
	}
	.mv_logo {
		top: -40px;
		bottom: auto;
		width: 35%;
		padding: 0 7vw 35px;
		border-radius: 0 0 2.5em 0;
		z-index: 100;
	}
	.main_visual h3 {
		top: auto;
		bottom: 0;
	}
	/* top about */
	.top_about {
		display: flex;
		align-items: center;
	}
	.top_about .wrap_dot {
		width: 60%;
	}
	.top_about .wrap_dot::before,
	.top_about .wrap_dot::after,
	.top_event .wrap_dot::before,
	.top_event .wrap_dot::after {
		border-radius: 0 40px 40px 0;
	}
	.top_about .wrap_dot span:nth-child(1) {
		width: 7vw;
	}
	.top_about .wrap_dot span:nth-child(2) {
		right: -12vw;
		width: 7.5vw;
	}
	.top_about figure {
		width: 40%;
		margin: 0 auto;
		padding: 0 4%;
	}
	/* top news */
	.top_news .inner::before {
		width: 7%;
	}
	.top_news .inner::after {
		width: 9%;
	}
	.top_news .wrap_dot::before,
	.top_news .wrap_dot::after,
	.top_report .wrap_dot::before,
	.top_report .wrap_dot::after {
		border-radius: 40px 0 0 40px;
	}
	/* top class */
	.top_class .wrap {
		border-radius: 40px;
	}
	.top_class .wrap::before,
	.top_class .wrap::after,
	.price_box::after {
		width: 14vw;
	}
	.top_class .wrap::after {
		bottom: -100px;
	}
	/* top event / top report */
	.top_event .wrap_dot,
	.top_report .wrap_dot {
		padding: 70px 5.3333vw;
	}
	.blog_list {
		display: flex;
		justify-content: space-between;
	}
	.blog_list li {
		width: 31%;
		max-width: 420px;
		margin-top: 0;
	}
	/* ----------
	 * page
	 * ---------- */
	/* page header */
	.page_header .deco span:nth-child(1) {
		top: 4%;
		left: 50%;
		width: 10%;
	}
	.page_header .deco span:nth-child(2) {
		left: 55%;
		width: 12%;
	}
	.page_header .deco span:nth-child(3) {
		bottom: 27%;
		right: 3%;
		width: 15%;
	}
	/* ----------
	 * lesson
	 * ---------- */
	.class_menu {
		margin: 90px 5.3333vw 0;
		padding: 0 16.15%;
		box-sizing: border-box;
	}
	/* lesson content */
	.lesson_adult.sports::before,
	.lesson_adult.sports::after,
	.price_box::before {
		width: 7vw;
	}
	.lesson_adult.sports::before,
	.price_box::before {
		left: -6vw;
	}
	.lesson_adult.sports::after {
		bottom: 400px;
	}
	.lesson_adult.practice::before,
	.lesson_adult.practice::after {
		pointer-events: none;
		position: absolute;
		width: 14vw;
		aspect-ratio: 547 / 626;
		content: "";
	}
	.lesson_adult.practice::before {
		right: -1vw;
		top: 0;
		background: url("images/common/deco2.webp") right top / contain no-repeat;
	}
	.lesson_adult.practice::after {
		left: -2vw;
		bottom: 0;
		background: url("images/common/deco3.webp") left bottom / contain no-repeat;
	}
	.lesson_kids.practice::before {
		top: -170px;
		right: 0;
		width: 14vw;
	}
	.lesson_kids.practice::after {
		bottom: -60px;
		left: 10vw;
		width: 7vw;
	}
	.class_list {
		justify-content: center;
	}
	.class_list li {
		width: 30%;
		margin-left: 1.6666%;
		margin-right: 1.6666%;
	}
	/* ----------
	 * schedule
	 * ---------- */
	/* schedule detail */
	.week_menu {
		flex-wrap: nowrap;
	}
	.week_menu li {
		width: 15.5%;
		margin: 0;
	}
	.week_box {
		padding: 80px 0;
	}
	.schedule_item {
		position: relative;
	}
	.schedule_item::before,
	.schedule_item::after {
		pointer-events: none;
		position: absolute;
		content: "";
	}
	.schedule_item::before {
		width: 14vw;
		aspect-ratio: 547 / 626;
		background: url("images/common/deco2.webp") right center / contain no-repeat;
	}
	.mon .schedule_item::before,
	.tue .schedule_item::before,
	.thu .schedule_item::before {
		top: 50%;
		transform: translateY(-50%);
	}
	.fri .schedule_item::before,
	.sat .schedule_item::before {
		bottom: 200px;
	}
	.mon .schedule_item::before {
		right: -2vw;
	}
	.wed .schedule_item::before,
	.thu .schedule_item::before,
	.fri .schedule_item::before {
		right: -10vw;
	}
	.sat .schedule_item::before {
		right: 0;
	}
	.tue .schedule_item::before {
		display: none;
	}
	.tue .schedule_item::after {
		top: 100px;
		left: -9vw;
		width: 7vw;
		aspect-ratio: 253 / 158;
		background: url("images/common/deco4.webp") left top / contain no-repeat;
	}
	.thu .schedule_item::after {
		bottom: -50px;
		left: -12vw;
		width: 14vw;
		aspect-ratio: 547 / 626;
		background: url("images/common/deco3.webp") left bottom / contain no-repeat;
	}
	.fri .schedule_item::after {
		bottom: 400px;
		left: -9vw;
		width: 7vw;
		aspect-ratio: 227 / 400;
		background: url("images/common/deco1.webp") left bottom / contain no-repeat;
	}
	.schedule_item li dd.date {
		font-size: 100%;
	}
	/* ----------
	 * guide
	 * ---------- */
	/* guide price */
	.price_box {
		border-radius: 40px;
	}
	.price_box::after {
		bottom: -120px;
	}
	/* guide supporter */
	.supporter_box {
		padding: 50px;
	}
	.supporter_box .text {
		order: 1;
		width: 53.75%;
	}
	.supporter_box figure {
		width: 41.6666%;
		border-radius: 1em 0 0 1em;
	}
	.supporter_box .text p:last-of-type {
		margin-bottom: 0;
	}
	/* ----------
	 * recruit
	 * ---------- */
	/* recruit staff */
	.recruit_staff::before,
	.recruit_staff::after {
		transform: translateY(340px);
	}
	/* ----------
	 * inquiry
	 * ---------- */
	/* inquiry info */
	.inquiry_box {
		margin-top: -6em;
		padding: 60px 7vw;
		border-radius: 40px;
	}
	.inquiry_box .text p {
		text-align: center;
	}
	.inquiry_box .info {
		display: flex;
		flex-direction: column;
		align-items: flex-end;
	}
	.inquiry_box .tel_cta {
		display: flex;
		align-items: center;
		margin-top: 1em;
	}
	.inquiry_box .tel_cta p {
		margin-right: 2em;
	}
	.inquiry_box figure {
		position: absolute;
		bottom: -50px;
		left: -50px;
		width: 40vw;
	}
	/* ----------
	 * category
	 * ---------- */
	.content_post {
		padding: 90px 5.3333vw;
	}
	.article_list.event,
	.article_list.report {
		display: flex;
		flex-flow: row wrap;
		justify-content: space-between;
	}
	.article_list.event article,
	.article_list.report article {
		width: 46.8%;
	}
	.article_list.event article:nth-of-type(2),
	.article_list.report article:nth-of-type(2) {
		margin-top: 0;
	}
	.article_list.event article a,
	.article_list.report article a {
		height: 100%;
	}
	/* pagenation */
	.category .pagination {
		margin-top: 100px;
	}
}
@media (min-width: 1200px) {
	:root {
		--dot-yellow: radial-gradient(circle, #ffa233 3.5px, transparent 3.5px) 0 0 / 20px 40px, radial-gradient(circle, #ffa233 3.5px, transparent 3.5px) 10px 20px / 20px 40px;
		--dot-white: radial-gradient(circle, #fff 3.5px, transparent 3.5px) 0 0 / 20px 40px, radial-gradient(circle, #fff 3.5px, transparent 3.5px) 10px 20px / 20px 40px;
		--dot-blue: radial-gradient(circle, #24a7bc 3.5px, transparent 3.5px) 0 0 / 20px 40px, radial-gradient(circle, #24a7bc 3.5px, transparent 3.5px) 10px 20px / 20px 40px;
	}
	/* ----------
	 * layout
	 * ---------- */
	section {
		margin: 120px auto;
		padding: 0 3vw;
	}
	section.pd {
		padding: 120px 3vw;
	}
	.fb_1200 {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	/* ----------
	 * common
	 * ---------- */
	.sp3 {
		display: none !important;
	}
	.pc3 {
		display: block !important;
	}
	/* button */
	.btn_link a {
		margin-top: 50px;
	}
	/* ----------
	 * header
	 * ---------- */
	.site-header {
		display: flex;
		justify-content: space-between;
		height: 100px;
		padding: 0 50px;
		background: #fff;
		border-top: 5px solid #ffb399;
		transition: all .3s ease;
	}
	.site-header.is-scroll {
		height: 80px;
	}
	.site-branding {
		width: 20%;
	}
	.site-title a {
		width: 100%;
	}
	.site-header nav {
		display: flex;
		justify-content: space-between;
		width: 77%;
	}
	.fixed_menu .fixed_nav_wrapper {
		display: flex;
		justify-content: space-between;
		align-items: center;
		position: static;
		width: 100%;
		max-width: initial;
		padding: 0;
		background: none;
		overflow-y: visible;
		opacity: 1;
		transform: translateX(0);
	}
	.fixed_menu .fixed_bg,
	.fixed_menu .fixed_nav_wrapper {
		height: 100%;
	}
	/* global menu */
	.fixed_menu {
		width: 100%;
		height: 100%;
	}
	.global_menu {
		flex-flow: row nowrap;
		align-items: center;
		width: 100%;
		margin: 0;
		padding: 0;
		box-sizing: border-box;
	}
	.global_menu li {
		width: auto;
		margin: 0;
	}
	.global_menu li a {
		display: block;
		position: relative;
		padding: 0;
		border: none;
		background: none;
		color: var(--orange);
		font-size: clamp(.875rem, calc((100vw - 1200px) * (2 / 720) + .875rem), 1rem);
		line-height: 1;
		transition: all .3s ease;
	}
	.global_menu li.inquiry a {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 10.9vw;
		height: 48px;
		border: 2px solid var(--orange);
		border-radius: 24px;
		color: #fff;
		background: var(--orange);
	}
	.global_menu li a::after {
		position: absolute;
		top: -1.5em;
		left: 0;
		width: 1.5em;
		aspect-ratio: 49 / 46;
		background: url("images/schedule/deco-week.webp") center / contain no-repeat;
		content: "";
		opacity: 0;
		transition: opacity .2s ease, transform .2s cubic-bezier(.175, .885, .32, 1.275);
	}
	.global_menu li.inquiry a::after {
		display: none;
	}
	.global_menu li a:hover {
		color: var(--yellow);
	}
	.global_menu li.inquiry a:hover {
		background: #fff;
		color: var(--orange);
	}
	.global_menu li a:hover::after {
		opacity: 1;
		transform: translateY(-5px);
	}
	/* ----------
	 * footer
	 * ---------- */
	/* cta*/
	.cta_box {
		margin-bottom: 160px;
		padding: 80px 7vw;
		border-radius: 60px;
	}
	/* footer content */
	.site-footer .inner {
		padding: 80px 3vw;
	}
	.footer_content {
		width: 56.15%;
		margin: 0;
	}
	.footer_link {
		width: 36%;
	}
	dl.footer {
		margin: 2em 0 0;
	}
	.footer_menu {
		display: flex;
	}
	.sns_box {
		width: 100%;
		margin: 2.5em 0 0;
	}
	/* ----------
	 * top
	 * ---------- */
	.wrap_dot::before {
		inset: 30px -30px -30px;
	}
	/* main visual */
	.main_visual {
		height: calc(100svh - 100px);
		margin: 100px 0 0;
	}
	.mv_gallery {
		height: calc(100% - 80px);
		border-radius: 3.75em 0 0 3.75em;
	}
	.mv_logo {
		width: 30%;
		padding: 0;
		border-radius: 0;
	}
	.mv_logo img {
		width: 14.5vw;
	}
	.main_visual h3 {
		bottom: 20%;
	}
	/* top about */
	.top_about .wrap_dot,
	.top_news .wrap_dot {
		padding: 60px 5.3333vw;
	}
	.top_about .wrap_dot::before,
	.top_about .wrap_dot::after,
	.top_event .wrap_dot::before,
	.top_event .wrap_dot::after {
		border-radius: 0 60px 60px 0;
	}
	/* top news */
	.top_news .inner {
		padding: 0;
	}
	.top_news .inner::before {
		top: -20px;
		right: -7%;
	}
	.top_news .wrap_dot::before,
	.top_news .wrap_dot::after,
	.top_report .wrap_dot::before,
	.top_report .wrap_dot::after {
		border-radius: 60px 0 0 60px;
	}
	.top_news .inner::after {
		left: 5%;
		bottom: -60px;
	}
	.top_news h2 {
		width: 30.5%;
	}
	.top_news .content {
		width: 71.5%;
	}
	/* top class */
	.top_class .wrap {
		padding: 100px;
		border-radius: 60px;
	}
	.class_box {
		position: relative;
		padding: 100px 0 0;
	}
	.class_box.lesson {
		margin-bottom: 130px;
	}
	.class_box.lesson .wrap_dot::before {
		inset: 30px -30px -30px 30px;
	}
	.class_box.schedule .wrap_dot::before {
		inset: 30px 30px -30px -30px;
	}
	.class_box figure {
		position: absolute;
		top: 0;
		width: 54%;
	}
	.class_box.schedule figure {
		right: 0;
	}
	.class_box .text {
		display: flex;
		flex-direction: column;
		width: 91%;
		margin: 0;
		padding: 80px 60px;
	}
	.class_box.lesson .text,
	.class_box.schedule .text {
		transform: none;
	}
	.class_box.lesson .text {
		margin-left: auto;
	}
	.class_box h3,
	.class_box .btn_link {
		width: 46%;
	}
	.class_box.lesson .text h3,
	.class_box.lesson .text .btn_link {
		margin-left: auto;
	}
	.class_box .text p {
		order: 1;
		margin: 4em 0 0;
	}
	/* top guide */
	.flow_list {
		display: flex;
		justify-content: space-between;
	}
	.flow_list li {
		width: 28.4615%;
		margin: 0;
		padding: 40px;
		border-radius: 2em;
	}
	.flow_list li::before {
		top: 50%;
		left: -60px;
		width: 35px;
		aspect-ratio: 1 / 2;
		background: url("images/common/arrow-left.webp") center / contain no-repeat;
		transform: translate(0, -50%);
	}
	.flow_list li .img {
		display: block;
	}
	.flow_list li .img img {
		margin: 0 auto;
	}
	/* top event / top report */
	.top_event .wrap_dot,
	.top_report .wrap_dot {
		width: 85%;
		padding: 100px 90px;
	}
	.blog_list {
		margin: 0;
	}
	/* ----------
	 * page
	 * ---------- */
	/* page header */
	.page_header,
	.breadcrumbs {
		padding: 0 3vw;
	}
	.page_header {
		margin-top: 100px;
	}
	.single .breadcrumbs {
		margin-top: 110px;
	}
	/* ----------
	 * lesson
	 * ---------- */
	.class_menu {
		margin: 120px 3vw 0;
	}
	.class_menu li a {
		font-size: 1.125em;
	}
	/* lesson content */
	.class_list li {
		margin-top: 50px;
	}
	/* ----------
	 * schedule
	 * ---------- */
	/* schedule detail */
	.week_menu li a {
		padding: .65em 0;
		font-size: 1.25em;
	}
	.week_box {
		padding: 100px 0;
	}
	.schedule_item {
		justify-content: flex-start;
	}
	.schedule_item li {
		width: 30%;
		margin-left: 1.6666%;
		margin-right: 1.6666%;
		padding: 2em 1.5em;
	}
	/* ----------
	 * guide
	 * ---------- */
	/* guide price */
	.price_box {
		margin-top: -6em;
		padding: 105px 75px 95px;
		border-radius: 60px;
	}
	.price_box p {
		padding-left: 3em;
		font-size: 1.125rem;
	}
	.note_box {
		padding: 60px 10vw;
		border-radius: 1.5em;
	}
	/* guide supporter */
	.guide_supprter.pd,
	.inquiry_form.pd {
		background: url("images/common/bg-rainbow.webp") center bottom / 100% auto no-repeat;
	}
	.supporter_box {
		border-radius: 1.5em;
	}
	/* ----------
	 * about
	 * ---------- */
	/* about prof */
	.about_item {
		margin-top: 100px;
	}
	.about_item.item01 .text {
		width: 50%;
	} 
	.about_item.item01 figure {
		width: 40%;
		margin: 0;
	}
	.about_item.item02,
	.about_item.item03 .text {
		width: 80%;
	}
	.about_item.item03 figure {
		width: 25%;
	}
	/* ----------
	 * inquiry
	 * ---------- */
	/* inquiry info */
	.inquiry_info .inner {
		padding-bottom: 120px;
	}
	.inquiry_box {
		margin-top: -6em;
		padding: 80px 95px;
		border-radius: 60px;
	}
	.inquiry_box figure {
		bottom: -120px;
		width: 417px;
	}
	.inquiry_box figure img {
		width: 100%;
		margin: 0;
	}
	/* inquiry form */
	.form_box {
		padding: 100px 7vw;
	}
	/* ----------
	 * category
	 * ---------- */
	.content_post {
		display: flex;
		justify-content: space-between;
		padding: 120px 3vw;
	}
	.content_post .site-main {
		width: 72.3076%;
	}
	.content_post .widget-area {
		width: 25%;
		padding: 0 25px 0 0;
		box-sizing: border-box;
	}
	.article_list.news article a {
		padding: 2em 1em;
	}
	.article_list.news article a:hover {
		border-radius: 1em;
		background: var(--blue);
		overflow: hidden;
	}
	.article_list.news article a .text {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.article_list.news article a .date {
		width: 11%;
	}
	.article_list.news article a h2 {
		width: 75%;
		margin: .5em 0;
	}
	.article_list.news article a .more {
		width: 12%;
	}
	/* pagenation */
	.category .pagination {
		margin-top: 120px;
	}
	/* ----------
	 * sidebar
	 * ---------- */
	section.widget:first-of-type {
		margin-top: 0;
	}
}
@media (min-width: 1350px) {
	/* ----------
	 * layout
	 * ---------- */
	section {
		margin: 120px auto;
		padding: 0;
	}
	section.pd {
		padding: 120px 0;
	}
	/* ----------
	 * header
	 * ---------- */
	.site-header nav {
		width: 72%;
	}
	/* ----------
	 * footer
	 * ---------- */
	/* cta */
	.cta .content figure,
	.cta .content .text {
		width: 50%;
	}
	/* footer content */
	.site-footer .inner {
		padding: 80px 0;
	}
	.footer_link {
		width: 30%;
	}
	/* ----------
	 * top
	 * ---------- */
	/* main visual */
	.main_visual h3 {
		bottom: 20%;
		width: 55%;
	}
	/* top news */
	.news_list li a {
		padding: 1em 70px;
		border-radius: 10px;
	}
	.news_list li a time {
		width: 10em;
	}
	.news_list li a h3 {
		width: calc(100% - 10em);
	}
	/* ----------
	 * page
	 * ---------- */
	/* page header */
	.page_header,
	.breadcrumbs {
		padding: 0;
	}
	/* ----------
	 * guide
	 * ---------- */
	/* guide price */
	.price_box .flat {
		font-size: 1.5rem;
	}
	.price_box  p {
		padding-left: 5em;
	}
	/* guide supporter */
	.supporter_box h2 {
		margin: 0 0 1.5em;
	}
	.supporter_box p {
		padding-left: 3em;
	}
	/* ----------
	 * category
	 * ---------- */
	.content_post .widget-area {
		width: 21.1538%;
		padding: 0;
	}
}
@media (min-width: 1920px) {
	/* ----------
	 * common
	 * ---------- */
	/* button */
	.btn_link a {
		margin-top: 70px;
	}
	/* ----------
	 * top
	 * ---------- */
	/* top about*/
	.top_about .wrap_dot {
		padding: 100px 5.3333vw;
	}
	/* top class */
	.top_class .wrap::before,
	.price_box::before {
		left: -10vw;
	}
	.top_class .wrap::after {
		right: -10vw;
	}
	.lesson_kids.practice::before {
		right: -10vw;
	}
	.lesson_kids.practice::after {
		left: 0;
	}
	/* ----------
	 * guide
	 * ---------- */
	/* price guide */
	.price_box::after {
		bottom: -200px;
		right: -10vw;
	}
}