@charset "utf-8";

/* ======================================================================================
    common
====================================================================================== */
.cid-none {
	display: none;
}
.text-link,
.font-red {
	color: #e75f5f;
}
.font-wht {
	color: #fff;
}
.font-blue {
	color: #8cabb8;
}
.font-orange {
	color: #dc5626;
}
.font-size-l {
	font-size: 116%;
}
.txt-bld {
	font-weight: bold;
}
.post--link::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
}
/* リマーケティングタグ余白削除 */
iframe[name='google_conversion_frame'] {
	position: absolute;
	top: 0;
}

/* =====================================================================================
    COMMON
===================================================================================== */

/* layout
**************************************** */
.container {
	position: relative;
	overflow: hidden;
}

/* --- inner --- */
.inner {
	width: 90%;
	max-width: 1064px;
	margin-inline: auto;
}
.inner-sm {
	max-width: 800px;
}
.inner-lg {
	max-width: calc(100% - 40px);
}
.section_pdg {
	padding-block: 96px;
}
.section_pdg-sm {
	padding-block: 40px;
}
.main-column {
	float: left;
	width: 720px;
}
.side-column {
	float: right;
	width: 240px;
}
@media screen and (max-width: 767px) {
	.inner {
		width: 88%;
	}
	.inner .inner {
		width: 100%;
	}
	.section_pdg {
		padding-block: 48px;
	}
	.section_pdg-sm {
		padding-block: 20px;
	}
	.main-column,
	.side-column {
		float: none;
		width: 100%;
	}
	.main-column {
		margin-bottom: 40px;
	}
}

/* ttl
**************************************** */
.page_ttl {
	position: relative;
	z-index: 10;
	overflow: hidden;
	height: 400px;
	padding-top: 130px;
	color: #fff;
	text-align: center;
	background-image: var(--bg);
	background-color: #abb7b3;
	background-attachment: fixed;
	background-repeat: repeat-x;
	background-position: top center;
	background-size: auto;
}
.page_ttl-en {
	display: block;
	font-size: 3.5rem;
	font-weight: normal;
	line-height: 1;
	letter-spacing: 0;
	text-transform: capitalize;
	vertical-align: middle;
}
.page_ttl-en-sub {
	display: block;
	width: fit-content;
	margin-top: 2.5rem;
	margin-inline: auto;
	padding: 0.3em 3em;
	font-size: 0.9375rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1;
	text-transform: capitalize;
	border-radius: 0.1875rem;
	background-color: #deceba;
}
.page_ttl-jp {
	display: block;
	margin-top: 1.5rem;
	font-size: 1.125rem;
	line-height: 1.5;
	letter-spacing: 0.16em;
}
.page_ttl--bg {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: -1;
	background-size: cover;
	background-position: center;
}
.mini-ttl {
	position: relative;
	margin: 2em 0 1em;
	padding-left: 16px;
	line-height: 1;
}
.mini-ttl::before {
	position: absolute;
	content: '';
	display: inline-block;
	width: 6px;
	height: 15px;
	background: #deceba;
	border-radius: 3px;
	left: 0;
	top: 0;
}
.catch-copy {
	font-size: 160%;
	font-weight: normal;
	color: #e75f5f;
	line-height: 1.6;
}

@media screen and (max-width: 767px) {
	.page_ttl {
		height: auto;
		padding-top: 64px;
	}
	.page_ttl--bg {
		position: absolute;
		inset: 0;
		background-position: top 64px center;
		background-size: auto 100%;
		background-image: var(--bg-sp);
	}
	.page_ttl-en {
		font-size: 2.5rem;
	}
	.page_ttl-jp {
		margin-top: 1rem;
		font-size: 1rem;
	}
	.catch-copy {
		font-size: 138%;
		margin-bottom: 16px;
	}
}

/* btn
**************************************** */
*:not(.flex) > .btn:not(:last-child) {
	margin-bottom: 8px;
}
.flex > .btn a {
	min-width: 100%;
}

/* bg
**************************************** */
.bg-wh {
	background: #fff;
}
.bg-bl-p01 {
	background: url(../images/common/bg_blue_pattern01.webp);
}
.bg-bl-p02 {
	background: url(../images/common/bg_blue_pattern02.webp);
}
.bg-iv-p01 {
	background: url(../images/common/bg_ivory_pattern.webp);
}
.bg-be-p1 {
	background: url(../images/common/bg_beige_pattern01.webp);
}

/* parts
**************************************** */
/* white-box */
.white-box {
	background: #fff;
	padding: 48px;
	border-radius: 3px;
	box-shadow: 0 0 1px rgba(0, 0, 0, 0.2);
	margin: auto;
}

/* table */
.style-table th,
.style-table td {
	padding: 8px 40px;
	background: #fff;
	border: 1px solid #eee;
	vertical-align: middle;
}
.style-table th {
	background: #b6d2db url(../images/common/bg_blue_pattern01.webp);
	border: none;
}
.style-table p {
	font-size: 94%;
	padding: 4px 12px;
	background: #fff;
	border: 1px solid #eee;
	text-align: center;
	line-height: 1.6em;
	background-color: #f6f6f6;
}

/* dl */
.style-dl {
	line-height: 1.6;
	background: rgba(255, 255, 255, 0.75);
	padding: 48px;
	border-radius: 3px;
}
.style-dl dt {
	color: #99bac5;
	float: left;
	clear: left;
	font-size: 93%;
	line-height: 1.6;
	padding: 14px 0;
	font-weight: bold;
}
.style-dl dd {
	line-height: 1.6;
	padding: 12px 0 12px 160px;
	border-bottom: 1px dotted #e0d1be;
}
@media screen and (max-width: 767px) {
	/* white-box */
	.white-box {
		padding: 16px;
	}

	/* table */
	.style-table th,
	.style-table td {
		line-height: 1.5;
		padding: 8px 4px;
	}
	.style-table td:nth-child(even) {
		padding: 8px;
	}

	/* dl */
	.style-dl {
		padding: 24px;
	}
	.style-dl dt {
		padding-bottom: 0;
		float: none;
	}
	.style-dl dd {
		padding-left: 0;
		padding-top: 4px;
	}
}

/* kazari
**************************************** */
.kazari-wrap {
	position: relative;
	overflow: hidden;
}
.kazari {
	display: inline-block;
	width: 50px;
	height: 50px;
	position: absolute;
	background: center no-repeat;
	z-index: 0;
	pointer-events: none;
}
.jq1,
.jq2 {
	animation: wobbling_x 1.8s ease-in-out infinite alternate, wobbling_y 2.1s ease-in-out infinite alternate;
}
.jq2 {
	animation-delay: -0.9s;
}
@keyframes wobbling_x {
	0% {
		transform: translateX(8px);
	}

	100% {
		transform: translateX(0);
	}
}
@keyframes wobbling_y {
	0% {
		translate: 0 0;
	}

	100% {
		translate: 0 8px;
	}
}

/* home_eventの飾り */
/*left*/
.kazari-a {
	background-image: url(../images/kazari_a.webp);
	width: 214px;
	height: 164px;
	top: 3%;
	left: 68px;
}
.kazari-b {
	background-image: url(../images/kazari_b.webp);
	width: 157px;
	height: 102px;
	top: 44%;
	left: -56px;
}
.kazari-c {
	background-image: url(../images/kazari_c.webp);
	width: 171px;
	height: 177px;
	bottom: 40px;
	left: 16px;
}
.kazari.kazari-c.campaign-2 {
	left: 87%;
	top: 70%;
	transform: scaleX(-1);
	filter: FlipH;
}

/*right*/
.kazari-d {
	background-image: url(../images/kazari_d.webp);
	width: 130px;
	height: 102px;
	right: 180px;
	top: 150px;
}
.kazari.kazari-d.campaign {
	top: 410px;
}
.kazari.kazari-e.campaign {
	top: 480px;
}
.kazari.kazari-e.campaign-2 {
	top: 70%;
	left: 0px;
	transform: scaleX(-1);
	filter: FlipH;
}
.kazari-e {
	background-image: url(../images/kazari_e.webp);
	width: 142px;
	height: 198px;
	right: 40px;
	top: 64px;
}
.kazari-f {
	background-image: url(../images/kazari_f.webp);
	width: 237px;
	height: 222px;
	right: -72px;
	bottom: 60px;
}
.kazari.kazari-f.campaign-2 {
	left: 0px;
	transform: scaleX(-1);
	filter: FlipH;
	top: 30%;
}

/*ten*/
.ten-a {
	background-image: url(../images/ten_a.webp);
	width: 81px;
	height: 141px;
	top: 28%;
	left: 60px;
}
.ten-b {
	background-image: url(../images/ten_b.webp);
	width: 48px;
	height: 58px;
	bottom: 10px;
	left: 35px;
}
.kazari.ten-b.campaign-2 {
	transform: scaleX(-1);
	filter: FlipH;
	top: 75%;
	left: 96%;
}
.ten-c {
	background-image: url(../images/ten_c.webp);
	width: 261px;
	height: 521px;
	right: 20px;
	top: -20px;
	z-index: -1;
}
.kazari.ten-c.campaign {
	top: 330px;
}
.kazari.kazari-b.campaign {
	right: 0;
	top: 53%;
	left: 90%;
	transform: rotate(-30deg);
}
.kazari.kazari-d.campaign-2 {
	top: 60%;
	transform: rotate(-45deg);
	left: 110px;
}
.kazari.ten-a.campaign {
	top: 62%;
	transform: rotate(25deg);
	zoom: 1.5;
	z-index: -1;
}

/*onpu*/
.onpu-a {
	background-image: url(../images/onp_a.webp);
	width: 30px;
	height: 37px;
	top: 58px;
	left: 300px;
}
.kazari.onpu-a.jq2.campaign {
	top: 589px !important;
	left: 100px !important;
}
.onpu-b {
	background-image: url(../images/onp_b.webp);
	width: 24px;
	height: 30px;
	top: 220px;
	left: 27px;
}
.onpu-c {
	background-image: url(../images/onp_c.webp);
	width: 19px;
	height: 27px;
	left: 100px;
	bottom: 220px;
}
.onpu-d {
	background-image: url(../images/onp_d.webp);
	width: 27px;
	height: 32px;
	right: 320px;
	top: 180px;
}
.onpu-e {
	background-image: url(../images/onp_e.webp);
	width: 24px;
	height: 30px;
	right: 232px;
	top: 92px;
}
.onpu-f {
	background-image: url(../images/onp_f.webp);
	width: 30px;
	height: 37px;
	right: 90px;
	top: 268px;
}
.onpu-g {
	background-image: url(../images/onp_g.webp);
	width: 19px;
	height: 27px;
	right: 22px;
	bottom: 268px;
}
.onpu-h {
	background-image: url(../images/onp_h.webp);
	width: 27px;
	height: 32px;
	right: 22px;
	bottom: 268px;
}
.onpu-i {
	background-image: url(../images/onp_i.webp);
	width: 27px;
	height: 32px;
	right: 22px;
	bottom: 268px;
}
.onpu-j {
	background-image: url(../images/onp_j.webp);
	width: 19px;
	height: 25px;
	right: 22px;
	bottom: 268px;
}
.onpu-k {
	background-image: url(../images/onp_k.webp);
	width: 19px;
	height: 25px;
	right: 22px;
	bottom: 268px;
}
.onpu-l {
	background-image: url(../images/onp_l.webp);
	width: 18px;
	height: 25px;
	right: 22px;
	bottom: 268px;
}

/* border-double */
.border-wrap {
	position: relative;
}
.border-top,
.border-bottom {
	position: absolute;
	z-index: 0;
	background: url(../images/common/border_double_yoko.webp) repeat-x;
	height: 8px;
	left: 18px;
	right: 18px;
	pointer-events: none;
}
.border-left,
.border-right {
	position: absolute;
	z-index: 0;
	background: url(../images/common/border_double_tate.webp) repeat-y;
	width: 8px;
	top: 18px;
	bottom: 18px;
	pointer-events: none;
}
.border-top {
	top: 18px;
}
.border-bottom {
	bottom: 18px;
}
.border-left {
	left: 18px;
}
.border-right {
	right: 18px;
}
@media screen and (max-width: 767px) {
	.kazari {
		background-size: contain;
	}
	.kazari-a {
		width: 107px;
		top: 22%;
		height: 82px;
		left: -20px;
	}
	.kazari-b {
		width: 78px;
		height: 50px;
		left: -16px;
	}
	.kazari-c {
		width: 85px;
		height: 88px;
		bottom: 16px;
		left: -16px;
	}
	.kazari-d {
		width: 65px;
		height: 51px;
		right: 0;
	}
	.kazari-e {
		width: 71px;
		height: 99px;
		right: -16px;
		top: 0px;
	}
	.kazari-f {
		width: 118px;
		height: 111px;
		right: -40px;
	}
	.ten-a {
		width: 40px;
		height: 70px;
		top: 0;
		left: 32px;
	}
	.ten-b {
		width: 24px;
		height: 29px;
		bottom: 0;
		left: -7px;
	}
	.ten-c {
		width: 130px;
		height: 260px;
		right: -35px;
	}
	.onpu-a {
		width: 15px;
		height: 18px;
	}
	.onpu-b {
		width: 12px;
		height: 15px;
	}
	.onpu-c {
		width: 9px;
		height: 13px;
	}
	.onpu-d {
		width: 13px;
		height: 16px;
	}
	.onpu-e {
		width: 12px;
		height: 15px;
	}
	.onpu-f {
		width: 15px;
		height: 18px;
	}
	.onpu-g {
		width: 9px;
		height: 13px;
	}
	.kazari.campaign {
		display: none;
	}
	.kazari-b.campaign-2 {
		width: 78px;
		height: 50px;
		left: 73%;
		top: 45%;
	}
	.kazari.kazari-d.campaign-2 {
		top: 57%;
		transform: rotate(-45deg);
		left: 10px;
	}
	.kazari.kazari-f.campaign-2 {
		top: 25%;
		width: 80px;
		left: -18px;
	}
	.kazari.kazari-c.campaign-2 {
		display: none;
	}

	/* border-double */
	.border-wrap {
		position: relative;
	}
	.border-top,
	.border-bottom {
		position: absolute;
		z-index: 0;
		height: 8px;
		left: 6px;
		right: 6px;
	}
	.border-left,
	.border-right {
		position: absolute;
		z-index: 0;
		background: url(../images/common/border_double_tate.webp) repeat-y;
		width: 8px;
		top: 6px;
		bottom: 6px;
	}
	.border-top {
		top: 6px;
	}
	.border-bottom {
		bottom: 6px;
	}
	.border-left {
		left: 6px;
	}
	.border-right {
		right: 6px;
	}
	.border-wrap.white-box {
		padding: 32px;
	}
}

/* cta_area
**************************************** */
.cta_area {
	position: relative;
	z-index: 1;
	width: 100vw;
	height: 580px;
	margin-left: calc(50% - 50vw);
	background-image: url(../images/common/cta-bg.webp);
	background-position: bottom;
	background-size: cover;
}
.cta_area::before,
.cta_area::after {
	content: '';
	position: absolute;
	width: 100%;
	height: 4px;
	background-image: url(../images/common/border_yoko-wh.webp);
}
.cta_area::before {
	top: 14px;
}
.cta_area::after {
	bottom: 14px;
}
.cta_area .inner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
}
.cta_area .inner::before {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	width: min(35.7%, 380px);
	aspect-ratio: 380/519;
	background-image: url(../images/common/cta-img.webp);
	background-position: center;
	background-size: cover;
}
.cta_area--txt {
	margin-left: -2vw;
}
.cta_area--list {
	gap: 24px;
}
.cta_area--cont {
	width: min(67.48%, 718px);
}
.cta_area--btn {
	position: relative;
	display: inline-block;
	width: 100%;
	padding: 0.3em 1em;
	color: #fff;
	font-size: 3rem;
	line-height: 1;
	background-color: #cd2e2c;
	border-radius: 100px;
	transition: 0.4s ease-out;
	border: none;
	cursor: pointer;
}
.cta_area--btn::after {
	content: '';
	position: absolute;
	top: calc(50% - 11px / 2);
	right: 30px;
	display: block;
	width: 7px;
	height: 11px;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	background: #fff;
}
.cta_area--btn em {
	font-style: normal;
}
.cta_area--btn i {
	font-size: 3.5rem;
	font-style: normal;
}
.cta_area--btn span {
	color: #ffe591;
}
.cta_area--btn:hover {
	background-color: #f08786;
}
.win .cta_area--btn {
	padding: 0.1em 1em 0.5em;
}
.lps_sec .cta_area {
	margin-bottom: 96px;
}
.lps_sec .cta_area:not(:first-child) {
	margin-top: 96px;
}
.lps_sec .cta_area:last-child {
	margin-bottom: -96px;
}

/* online-contact-btn */
.online-contact-btn a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 340px;
	height: 52px;
	font-size: 1.25rem;
	background: #8cabb8;
	color: #fff;
	border-radius: 100px;
	line-height: 0;
	vertical-align: middle;
	text-align: center;
	letter-spacing: 0.1em;
}
.online-contact-btn a:hover {
	opacity: 0.8;
}
@media screen and (max-width: 767px) {
	.online-contact-btn {
		margin: auto;
	}

	/* cta_area */
	.cta_area {
		height: auto;
		background-image: url(../images/common/cta-bg_sp.webp);
		background-position: top;
		background-repeat: no-repeat;
		background-size: 100%;
		aspect-ratio: 828/680;
	}
	.cta_area::before,
	.cta_area::after {
		display: none;
	}
	.cta_area .inner {
		display: block;
		width: 88%;
		height: auto;
	}
	.cta_area .inner::before {
		display: none;
	}
	.cta_area--cont {
		width: auto;
	}
	.cta_area--txt {
		width: 74.4%;
		padding-top: 13vw;
		margin-bottom: 5vw;
	}
	.cta_area--btn {
		padding: 0.5em 1em;
		font-size: 1.5rem;
		border-radius: 6px;
	}
	.cta_area--btn::after {
		top: calc(50% - 8px / 2);
		right: 8px;
		width: 5px;
		height: 8px;
	}
	.cta_area--btn i {
		font-size: 1.875rem;
	}
	.cta_area--list {
		margin-top: 13vw;
	}
	.lps_sec .cta_area:not(:first-child) {
		margin-top: 48px;
	}
	.lps_sec .cta_area:last-child {
		margin-bottom: -48px;
	}
}

/* =====================================================================================
    search_box
===================================================================================== */
/* studio_area_ttl
**************************************** */
.archive-post.category .studio_area_ttl {
	padding-top: 64px;
}
.studio_area_ttl--inner {
	padding: 54px;
	border-radius: 8px;
	background: url(../images/common/bg_beige_pattern01.webp);
}
.studio_area_ttl + .breadcrumbs {
	display: none;
}
.studio_area_ttl--txt {
	font-size: 3rem;
	letter-spacing: 0.02em;
}
.studio_area_ttl--main {
	display: block;
	line-height: 1.3;
	color: #d44040;
}
@media screen and (max-width: 767px) {
	.archive-post.category .studio_area_ttl {
		padding-top: 24px;
	}
	.studio_area_ttl--inner {
		padding: 24px 16px;
	}
	.studio_area_ttl--txt {
		font-size: 1.6rem;
	}
}

/* search-sub-ttl
**************************************** */
.search-sub-ttl {
	font-size: 120%;
	line-height: 1;
	padding-bottom: 16px;
	margin-bottom: 16px;
	border-bottom: 1px solid #deceba;
}
.search-sub-ttl::before {
	content: '';
	background: url(../images/common/search_sub_ttl.webp) center no-repeat;
	display: inline-block;
	width: 16px;
	height: 16px;
	margin-right: 8px;
}
@media screen and (max-width: 767px) {
	.search-sub-ttl {
		font-size: 108%;
		padding-bottom: 8px;
		margin-bottom: 8px;
	}
}

/* slash-ttl
**************************************** */
/* slash-ttl */
.slash-ttl {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	font-size: 1.5rem;
	line-height: 1.5;
	letter-spacing: 0.16em;
}
.slash-ttl::before,
.slash-ttl::after {
	content: '';
	display: block;
	width: 24px;
	height: 24px;
	background: url(../images/common/slash-ttl-deco.svg) center no-repeat;
}
.slash-ttl::after {
	transform: scale(-1, 1);
}
@media screen and (max-width: 767px) {
	/* slash-ttl */
	.slash-ttl {
		font-size: 1.2rem;
	}
}

/* search-area
**************************************** */
.select2-hidden-accessible:nth-of-type(2) {
	margin-left: 50%;
}
.search-area .area_name {
	font-size: 160%;
	font-weight: bold;
	line-height: 1.6;
}
.search-box {
	display: table;
	width: 100%;
	background: #fff;
	border-radius: 3px;
	margin-bottom: 32px;
	border-top: 3px solid #b5dbe8;
	box-shadow: 0 0 1px rgba(0, 0, 0, 0.2);
}
.search-box-cell {
	display: table-cell;
	vertical-align: top;
	padding: 40px;
}
.area-choice {
	background: #f2ece4;
}
.lesson-choice {
	width: 292px;
}
.lesson-choice .search-box-item label {
	width: 100%;
	height: 24px;
	display: inline-block;
	vertical-align: top;
	border-radius: 3px;
	padding-top: 0;
	overflow: hidden;
}
.search-box-item {
	position: relative;
	display: block;
	vertical-align: top;
}
.search-box-item input.all_check_input {
	display: none;
}
.search-box-item-child {
	padding-left: 1em;
}
.search-box-item input[type='checkbox'] {
	display: none;
}
.search-box-item label {
	position: relative;
	display: inline-block;
	border-radius: 3px;
	font-size: 94%;
	padding: 2px 2px 2px 30px;
	cursor: pointer;
}
.child .search-box-item label.openner.open,
.search-box-item label:hover {
	background: #b5dbe8 !important;
}
.search-box-item label .lever:before {
	content: '';
	position: absolute;
	width: 16px;
	height: 16px;
	border: 2px solid #b5dbe8;
	left: 6px;
	top: 6px;
}
.child .search-box-item label.openner.open:before,
.search-box-item label:hover .lever:before {
	border-color: #fff;
}
.search-box-item input[type='checkbox']:checked + label .lever {
	color: #e75f5f;
	font-weight: bold;
}
.search-box-item input[type='checkbox']:checked + label .lever::after {
	content: '';
	width: 10px;
	height: 18px;
	border-right: 2px solid #e75f5f;
	border-bottom: 2px solid #e75f5f;
	display: block;
	position: absolute;
	z-index: 10;
	transform: rotate(45deg);
	top: 1px;
	left: 10px;
}
.search-box-item input[type='checkbox']:checked + label .lever2 {
	color: #333;
	font-weight: bold;
}
@media screen and (max-width: 767px) {
	.search-area .area_name {
		font-size: 134%;
		font-weight: bold;
		line-height: 1.4;
	}
	.search-area .tokyo h3 img {
		height: 30px;
	}
	.search-box,
	.search-box-cell {
		display: block;
		width: 100%;
	}
	.search-box-cell {
		padding: 14px;
	}
	.lesson-choice {
		width: 100%;
	}
	.lesson-choice .search-box-ttl img {
		width: 148px;
	}
	.area-choice .search-box-ttl img {
		width: 201px;
	}

	/* search-box-item */
	.lesson-choice .search-box-item {
		display: inline-block;
		width: 48.5%;
	}
	.search-box-item label {
		padding: 0 0 0 16px;
		letter-spacing: 0;
	}
	.search-box-item.tiny label {
		letter-spacing: -0.1em;
	}
	.search-box-item label:hover {
		background: transparent !important;
	}
	.search-box-item label:hover .lever:before {
		border-color: #b5dbe8;
	}
	.search-box-item label .lever:before {
		top: 5px;
		width: 12px;
		height: 12px;
		left: 0;
	}
	.search-box-item input[type='checkbox']:checked + label .lever::after {
		width: 6px;
		height: 14px;
		left: 4px;
	}
	.search-box-item-child {
		padding-left: 0;
	}
}

/* 親
**************************************** */
.openner {
	display: block;
}

/* 子
**************************************** */
.child {
	background: rgba(255, 255, 255, 0.7);
	padding: 16px;
	border-radius: 3px;
}
.child .search-box-item label {
	width: 100%;
	padding: 4px 8px 4px 32px;
}
.child > .search-box-item > label .lever2:before {
	content: '';
	display: block;
	position: absolute;
	left: 13px;
	top: 13px;
	z-index: 10;
	border-style: solid;
	border-width: 6.9px 4px 0 4px;
	border-color: #b5dbe8 transparent transparent transparent;
}
.child .search-box-item label.openner.open .lever2:before,
.child > .search-box-item > label:hover .lever2:before {
	background: #b5dbe8;
	border-color: #fff transparent transparent transparent;
}
.child > .search-box-item > input[type='checkbox']:checked + label .lever2:after {
	content: none;
}
.search-box-item label.btn-all_check {
	position: absolute;
	width: fit-content;
	right: 16px;
	top: 4px;
	border: 2px solid #b7dce9;
	background: #ffffff;
	color: #333;
	font-weight: bold;
	padding: 4px 16px;
	box-sizing: border-box;
	display: inline-block;
	line-height: 1em;
	border-radius: 50px;
	font-size: 90%;
	z-index: 1;
	cursor: pointer;
	opacity: 0;
}
.search-box-item label.btn-all_check {
	transition: 0.4s ease-out;
}
.search-box-item label.btn-all_check.open {
	opacity: 1;
}
.search-box-item label.btn-all_check:hover {
	background: #b7dce9;
}
input.all_check_input:checked + .btn-all_check {
	border: 2px solid #e86666;
	background: #fff;
	color: #e86666;
	opacity: 1;
}
input.all_check_input:checked + .btn-all_check:hover {
	background: #e86666 !important;
	color: #fff;
}
@media screen and (max-width: 767px) {
	.child {
		padding: 8px;
	}
	.child .search-box-item label {
		padding-right: 0;
	}
	.search-box-item label.btn-all_check {
		position: relative;
		inset: auto;
		margin: 8px 0 0;
		width: 100%;
		padding: 6px 16px;
		text-align: center;
		display: none;
	}
}

/* 孫
**************************************** */
.grandson {
	margin: 8px 24px 24px;
	position: relative;
	padding: 8px 0;
	border-top: 2px dotted #b5dbe8;
	border-bottom: 2px dotted #b5dbe8;
}
.grandson .search-box-item {
	display: inline-block;
	line-height: 1.4;
	float: left;
	width: 25%;
}
.grandson .search-box-item label {
	width: 148px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.grandson .search-box-item label .lever:before {
	top: 6px;
}

@media screen and (max-width: 767px) {
	.grandson {
		margin: 8px;
	}
	.grandson .search-box-item {
		width: 50%;
	}
	.grandson .search-box-item label {
		width: 132px;
	}
}

/* search_btn
**************************************** */
.search_btn {
	position: relative;
	border: none;
	padding: 0;
	cursor: pointer;
	transition: all 0.2s ease-out;
	flex-shrink: 0;
	background: #e75f5f;
	border-radius: 100px;
	padding: 10px;
	width: fit-content;
	height: 72px;
	color: #fff;
	font-size: 12px;
	min-width: min(360px, 100%);
	letter-spacing: 0.1em;
}
.search_btn::after {
	content: '';
	width: 10px;
	height: 10px;
	border-right: 1px solid;
	border-top: 1px solid;
	color: #fff;
	display: block;
	position: absolute;
	right: 30px;
	top: calc(50% - 10px / 2);
	transform: rotate(45deg);
}
.search_btn span:first-child {
	display: block;
	font-size: 1.375rem;
}
.search_btn:hover {
	opacity: 0.8;
}
.search_btn-sm {
	position: relative;
	border: none;
	padding: 0;
	cursor: pointer;
	margin-left: 16px;
	border: none;
	width: 100px;
	background-color: #4ca5c3;
	border-radius: 50px;
	color: #fff;
	font-size: 1.1rem;
	padding: 0.5em 1em;
	letter-spacing: 0.5em;
	text-indent: 0.5em;
}
@media screen and (max-width: 767px) {
	.search_btn-sm {
		width: 100%;
		margin-left: 0;
		margin-top: 8px;
		padding: 0.7em 1em;
	}
}

/* =====================================================================================
    search_box-studio-list
===================================================================================== */

/* search_box-studio-list
**************************************** */
.search-btnarea li {
	display: inline-block;
	vertical-align: top;
	margin: 0 3px 3px 0;
}
.search-check {
	display: inline-block;
	line-height: 1;
	padding: 8px 16px;
	background: #b5dbe8;
	border-radius: 3px;
	font-size: 94%;
	font-weight: bold;
}
.search-check:hover,
.search-check.checked {
	color: #000;
	background: #deceba;
}
@media screen and (max-width: 767px) {
	.search-btnarea li {
		line-height: 1;
	}
	.search-check {
		padding: 6px 10px;
		width: 100%;
		overflow-x: hidden;
		white-space: nowrap;
	}
}

/* =====================================================================================
    HEADER
===================================================================================== */
.header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 16px;
	height: 130px;
	background: linear-gradient(rgba(49, 49, 62, 0.2), transparent);
	z-index: 1000000001;
}
.home .header,
.page-lp-piano .header {
	opacity: 0;
	transition: all 0.4s ease-out;
}
.home .header.fixed,
.page-lp-piano .header.fixed {
	opacity: 1;
}
.header-box {
	background: #fff;
	border-radius: 3px;
	padding: 16px 0;
	border: 1px solid rgba(0, 0, 0, 0.1);
}
.header-box .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0.5rem;
	width: 96%;
	max-width: 1410px;
}
.header--logo {
	position: relative;
	z-index: 9991;
	display: inline-block;
	flex-shrink: 0;
	vertical-align: top;
	width: clamp(136px, 13.177vw, 180px);
}
.header--logo a {
	display: inline-block;
}
@media screen and (max-width: 767px) {
	.header {
		height: 64px;
		padding: 8px;
		background: #fff;
	}
	.header-box {
		background: none;
		border-radius: 0;
		padding: 0;
		border: none;
	}
	.header-box,
	.header-box .inner {
		height: 100%;
	}
	.header-btn {
		position: relative;
		z-index: 9991;
		display: flex;
		align-items: center;
		gap: 0.5rem;
		padding-right: 60px;
	}
	.home .header,
	.page-lp-piano .header {
		opacity: 1;
		background: transparent;
	}
	.home .header .header--logo,
	.home .header .header-btn,
	.page-lp-piano .header--logo,
	.page-lp-piano .header-btn {
		opacity: 0;
		transition: all 0.2s ease-out;
	}
	.home .header .gnav-btn span,
	.page-lp-piano .gnav-btn span {
		background: #fff;
		transition: all 0.2s ease-out;
	}
	.home .header.fixed,
	.page-lp-piano .header.fixed {
		background: #fff;
	}
	.home .header.fixed .header--logo,
	.home .header.fixed .header-btn,
	.page-lp-piano .header.fixed .header--logo,
	.page-lp-piano .header.fixed .header-btn {
		opacity: 1;
	}
	.home .header.fixed .gnav-btn span,
	.page-lp-piano .header.fixed .gnav-btn span {
		background: #000;
	}
}

/* gnav
**************************************** */
.gnav {
	flex: 1;
	display: flex;
	justify-content: space-around;
	align-items: center;
	gap: 0.5rem;
}
.gnav--menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.5rem;
}
.gnav-item {
	vertical-align: top;
}
.gnav-item span {
	display: block;
	color: #deceba;
	font-size: 13px;
	font-weight: bold;
	line-height: 1;
	text-align: center;
	letter-spacing: 0.1em;
}
.gnav-item a {
	position: relative;
	display: block;
	z-index: 10;
	color: #333;
	font-size: 1rem;
	padding-inline: 0.7em;
	-webkit-font-smoothing: subpixel-antialiased;
}
.gnav-item.header-lesson a::before,
.gnav-item .openner::before {
	content: '';
	position: absolute;
	display: block;
	top: 0.7em;
	width: 7px;
	height: 7px;
	right: 0;
	transform-origin: center center;
	transform: rotate(-45deg);
	border-bottom: 1px solid #acbbc2;
	border-left: 1px solid #acbbc2;
}
@media screen and (min-width: 768px) {
	.gnav-item a::after {
		content: '';
		display: block;
		width: 40px;
		height: 40px;
		background: #b5dbe8;
		border-radius: 50%;
		top: 0;
		position: absolute;
		z-index: -1;
		left: 50%;
		margin-left: -34px;
		filter: blur(20px);
		opacity: 0;
		transition: all 0.2s ease-out;
	}
	.gnav-item:hover a::after {
		opacity: 1;
	}
}

/* レッスンコースの子メニュー */
.header-lesson {
	position: relative;
}
.gnav-child-area {
	position: absolute;
	width: 480px;
	top: 0;
	left: 50%;
	padding-top: 72px;
	translate: -50% 0;
}
.bg-blue {
	background-color: #aed2df;
}
.gnav-child {
	border-radius: 3px;
	padding: 24px;
}
.gnav-child::before {
	content: '';
	display: inline-block;
	border: 8px solid transparent;
	border-bottom-color: #aed2df;
	position: absolute;
	right: 50%;
	top: 56px;
	margin-right: -8px;
}
.gnav-item--instructors .gnav-child {
	margin-top: 0;
	padding: 0;
}
.gnav-child > ul {
	flex: 1;
}
.gnav-child-item a {
	margin: 0;
	padding: 0 0 0 32px;
	border-radius: 3px;
	font-size: 0.9375rem;
}
.gnav-child-item a:hover {
	background: #fff;
	color: #000;
}
.gnav-child-item a::before {
	width: 5px;
	height: 5px;
	right: auto;
	left: 12px;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
	border-color: #fff;
	top: 24px;
}
.gnav-child-item a::after {
	display: none;
}
.gnav-child-item a:hover::before {
	border-color: #e75f5f;
}
.gnav-child-item-child {
	padding-left: 24px;
}

/* gnav-area-tabs */
.gnav-area-tabs {
	margin-top: 50px;
	background-color: #fff;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
	margin: 0 auto;
}
.gnav-area-tabs .tab_item {
	width: calc(100% / 2);
	height: 40px;
	border-bottom: 2px ​solid #aed2df;
	background-color: #d9d9d9;
	line-height: 40px;
	font-size: 16px;
	text-align: center;
	color: #080808;
	display: block;
	float: left;
	text-align: center;
	font-weight: bold;
	transition: all 0.2s ease;
}
.gnav-area-tabs .tab_item:hover {
	opacity: 0.75;
}
.gnav-area-tabs input[name='tab_item'] {
	display: none;
}
.gnav-area-tabs .gnav-area-item {
	display: none;
	padding: 20px 0;
	clear: both;
	overflow: hidden;
}
#inst-kanto:checked ~ #inst-kanto,
#inst-kansai:checked ~ #inst-kansai {
	display: block;
}
.gnav-area-tabs input:checked + .tab_item {
	background: #aed2df;
}

/* 右メニュー */
.sub-links {
	flex-shrink: 0;
}
.sub-links-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.5rem;
	margin-bottom: 8px;
	font-size: 0.8125rem;
	line-height: 1;
}
.sub-links-list a {
	display: flex;
	align-items: center;
	gap: 0.3rem;
}
.sub-links-list a img {
	flex-shrink: 0;
}
.header-trial a {
	display: inline-block;
	background: #b6d2db url(../images/common/bg_blue_pattern01.webp);
	width: 100%;
	padding: 0.6em;
	text-align: center;
	border-radius: 3px;
	color: #fff;
	font-size: 1.18rem;
	letter-spacing: 0.22em;
	line-height: 1;
}
.header-trial a:hover {
	background: #e75f5f;
}
.header #header-search {
	display: none;
}
@media screen and (min-width: 768px) {
	.gnav-child-area {
		opacity: 0;
		pointer-events: none;
	}
	.header-lesson:hover .gnav-child-area {
		opacity: 1;
		pointer-events: auto;
	}
}
@media screen and (max-width: 767px) {
	.gnav {
		display: none;
		position: fixed;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		margin: 0;
		padding: 90px 12% 48px;
		background: #eee;
		overflow-y: scroll;
		z-index: 9990;
	}
	.gnav--menu {
		margin-bottom: 16px;
		padding-bottom: 16px;
		border-bottom: 1px dotted #fff;
		flex-direction: column;
	}
	.gnav-btn,
	.gnav-btn span {
		display: inline-block;
		transition: all 0.4s;
		box-sizing: border-box;
	}
	.gnav-btn {
		position: fixed;
		width: 40px;
		height: 19px;
		top: 15px;
		right: 6%;
		z-index: 9999;
	}
	.gnav-btn span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 1px;
		background-color: #000;
	}
	.gnav-btn span:nth-of-type(1) {
		top: 0;
	}
	.gnav-btn span:nth-of-type(2) {
		top: 8px;
	}
	.gnav-btn span:nth-of-type(3) {
		bottom: 2px;
	}
	.gnav-btn:after {
		content: 'MENU';
		position: absolute;
		color: #000;
		bottom: 0;
		top: 18px;
		margin-top: 2px;
		font-size: 80%;
		letter-spacing: 0.3em;
		white-space: nowrap;
		width: 100%;
	}
	.home .gnav-btn:after,
	.page-lp-piano .gnav-btn:after {
		color: #fff;
	}
	.fixed .gnav-btn:after {
		color: #000;
	}
	.home .gnav-btn.open:after,
	.page-lp-piano .gnav-btn.open:after {
		color: #000;
	}
	.gnav-btn.open span:nth-of-type(1) {
		-webkit-transform: translateY(7px) rotate(-30deg);
		transform: translateY(7px) rotate(-30deg);
		background: #000 !important;
	}
	.gnav-btn.open span:nth-of-type(2) {
		opacity: 0;
	}
	.gnav-btn.open span:nth-of-type(3) {
		-webkit-transform: translateY(-8px) rotate(30deg);
		transform: translateY(-8px) rotate(30deg);
		background: #000 !important;
	}
	.header-lesson-parent > a {
		pointer-events: none;
	}
	.gnav-item {
		display: block;
	}
	.gnav-item a {
		font-size: 1.307rem;
	}
	.gnav-item span {
		text-align: left;
	}
	.gnav-item a,
	.gnav-item .openner {
		padding: 4px 0;
	}
	.gnav-item a::before {
		content: none;
	}
	.gnav-item .openner::before {
		top: 0;
		margin-top: 18px;
	}
	.gnav-item a.op_none::before,
	.gnav-item .openner._none::before {
		content: none;
	}
	.sub-links {
		text-align: center;
	}
	.sub-links-list {
		display: none;
	}
	.header-trial a {
		width: 100%;
		height: 48px;
		padding-top: 14px;
	}
	.gnav-child-area {
		display: none;
		position: relative;
		left: 0;
		padding: 0;
		width: 100%;
		translate: none;
	}
	.gnav-child {
		display: block;
		margin-top: 16px;
		background: #fff;
		padding: 8px 8px 8px 32px;
		margin-bottom: 8px;
	}
	.gnav-child::before {
		display: none;
	}
	.gnav-child-item a {
		padding: 1px 0;
		font-size: 0.923rem;
	}
	.gnav-child-item a::before {
		border-color: #000;
		left: -18px;
	}
	.gnav-area-tabs .gnav-area-item {
		padding: 15px 30px;
	}
	.gnav-area-tabs {
		box-shadow: none;
		margin-bottom: 20px;
	}
}

/* left-bnr
*************************************************** */
.left-bnr {
	display: none;
	position: fixed;
	z-index: 99999;
	right: 24px;
	top: 130px;
}
.left-bnr::before {
	content: '';
	height: 130px;
	width: 1px;
	border-left: 1px dashed #cdcdcb;
	position: fixed;
	right: 96px;
	top: 0;
}
.left-bnr:hover {
	opacity: 0.75;
}
.left-bnr.show {
	display: block !important;
}
.left-bnr-online {
	right: 5px;
	top: 499px;
}
.bnr-btn {
	position: fixed;
	display: grid;
	place-items: center;
	width: 35px;
	height: 35px;
	background: #eacea7;
	border-radius: 50%;
	top: 130px;
	right: 6px;
	z-index: 100000;
	transition: 0.4s all ease;
}
.bnr-btn:before {
	content: '';
	display: block;
	height: 25px;
	width: 9px;
	background-size: contain;
	background-repeat: no-repeat;
	background: url(../images/close_btn.webp);
}
.bnr-btn.show:before {
	content: '';
	width: 20px;
	height: 20px;
	background: url(../images/open_btn.webp);
	line-height: 1em;
}
.bnr-btn.show {
	transition: 0.4s all ease;
	background: #e9e9e7;
}

/* breadcrumbs
*************************************************** */
.breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	margin-inline: auto;
	padding-block: 0.5em;
	font-size: 0.75rem;
}
.page-lp-piano .breadcrumbs {
	display: none;
}
.breadcrumbs p {
	color: transparent;
}
.breadcrumbs .post-lessons-archive {
	display: none;
}
.breadcrumbs .post {
	position: relative;
	padding: 0;
	width: auto;
	height: 100%;
	margin: 0;
	float: left;
}
.breadcrumbs span {
	position: relative;
	padding-right: 10px;
}
.breadcrumbs a {
	position: relative;
}
.breadcrumbs a:hover {
	opacity: 0.5;
}
.breadcrumbs li:not(:last-child) a::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 2px;
	right: -4px;
	display: block;
	width: 5px;
	height: 5px;
	margin: auto;
	transform-origin: center center;
	transform: rotate(45deg);
	border-top: 1px solid #f6f6f6;
	border-right: 1px solid #f6f6f6;
}
.breadcrumbs-pc {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 8px;
}
.breadcrumbs-pc a {
	color: #fff;
}
.breadcrumbs-sp {
	display: none;
}
@media screen and (max-width: 767px) {
	.breadcrumbs-pc {
		display: none;
	}
	.breadcrumbs-sp {
		display: flex;
	}
	.breadcrumbs li {
		float: left;
	}
	.breadcrumbs .post {
		padding-bottom: 0;
	}
	.breadcrumbs a {
		color: #7d8f98;
	}
	.breadcrumbs li:not(:last-child) a::after {
		border-top: 1px solid #7d8f98;
		border-right: 1px solid #7d8f98;
	}
}

/* =====================================================================================
    FOOTER
===================================================================================== */
/* pagetop
*************************************************** */
.pagetop {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 100;
	font-size: 86%;
	letter-spacing: 0;
	display: block;
	width: 40px;
	height: 56px;
	line-height: 96px;
	text-align: center;
	color: #000;
}
.pagetop::before {
	content: '';
	position: absolute;
	display: block;
	top: 24px;
	width: 24px;
	height: 24px;
	right: 8px;
	transform-origin: center center;
	transform: rotate(-45deg);
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	transition: all 0.2s ease-out;
}
.pagetop:hover::before {
	border-color: #c5ccd6;
}

/* blog
*************************************************** */
.topics-blog {
	padding-bottom: 0;
}
.foot-blog li p {
	font-size: 90%;
}
.foot-blog-ttl {
	font-size: 110%;
	margin-bottom: 14px;
}
.topics-news {
	width: 480px;
	float: right;
}
.post-dt {
	color: #99bac5;
	float: none;
	clear: left;
	font-size: 87%;
	line-height: 1.6;
	padding: 14px 0;
	font-weight: bold;
}
.post-dd {
	line-height: 1.6;
	padding: 0px 0 14px 0;
	border-bottom: 1px dotted #e0d1be;
}
@media screen and (max-width: 767px) {
	.post-dt {
		float: none;
		padding-top: 12px;
		padding-bottom: 0;
	}
	.post-dd {
		padding-left: 0;
		margin-bottom: 0;
		padding-top: 0;
	}
	.topics-blog {
		margin-bottom: 40px;
	}
	.foot-blog-ttl {
		font-size: 110%;
		margin-bottom: 0;
	}
}

/* sns-share
*************************************************** */
.sns-share {
	text-align: center;
	margin-block: 40px;
}
.sns-share li {
	display: inline-block;
	line-height: 1;
	vertical-align: top;
}

/* studio_area
*************************************************** */
.studio_area {
	background-color: #484860;
	background-image: url(../images/common/studio_area-bg01.webp), url(../images/common/studio_area-bg02.webp);
	background-repeat: no-repeat;
	background-position: left 10% top 20%, right 10% bottom 20%;
	background-size: min(32.7vw, 348px), min(34.21vw, 364px);
}
.studio_area .inner {
	display: grid;
	grid-template-columns: 206px 1fr;
	gap: 1rem;
}
.studio_area--ttl {
	line-height: 2;
}
.studio_area--ttl .font-en2 {
	display: block;
	font-size: 2rem;
	line-height: 1;
}
.studio_area--ttl .font-jp {
	font-size: 0.8125rem;
	letter-spacing: 0.16em;
}
.studio_list {
	font-size: 0.8125rem;
}
.studio_list a {
	display: block;
	text-decoration: underline;
}
.studio_list > .cat-item {
	display: grid;
	grid-template-columns: 6rem 1fr;
	gap: 1rem;
}
.studio_list > .cat-item:not(:last-child) {
	margin-bottom: 1rem;
}
.studio_list > .cat-item > a {
	font-weight: bold;
	text-decoration: none;
	pointer-events: none;
}
.studio_list .children {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0 1rem;
}
.studio_list .children > .cat-item {
	position: relative;
	padding-left: 16px;
}
.studio_list .children > .cat-item::before {
	content: '';
	position: absolute;
	top: calc(50% - 6px / 2);
	left: 0;
	display: inline-block;
	width: 6px;
	height: 6px;
	border-right: 1px solid;
	border-top: 1px solid;
	transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
	.studio_area .inner,
	.studio_list > .cat-item {
		grid-template-columns: 1fr;
	}
	.studio_list .children {
		grid-template-columns: repeat(2, 1fr);
	}
	.studio_list .children > .cat-item {
		padding-left: 12px;
		letter-spacing: 0.03em;
	}
	.studio_list .children > .cat-item::before {
		top: calc(50% - 4px / 2);
		width: 4px;
		height: 4px;
	}
}

/* footer-nav
*************************************************** */
.footer-nav {
	font-size: 87%;
	background: #fff;
	padding: 56px 0;
	letter-spacing: 0;
}
.footer-nav a {
	color: #c5b49d;
}
.footer-nav a:hover {
	color: #000;
}
.footer-main-list {
	display: inline-block;
	min-width: 170px;
	vertical-align: top;
}
.footer-sub-list {
	max-width: 580px;
}
.footer-sub-list li {
	display: inline-block;
	width: 190px;
	float: left;
}

/* footer-main
*************************************************** */
.footer-main {
	background: #31313e;
	padding: 64px 0;
}
.footer-inner {
	display: table;
	margin: auto;
}
.footer-logo,
.footer-tel-area {
	display: table-cell;
	vertical-align: middle;
}
.footer-logo {
	padding-right: 48px;
}
.copyright-area {
	color: #fff;
	line-height: 1.4;
}
.pbl {
	opacity: 0.7;
	line-height: 16px;
}
.footer-tel-tel a {
	display: flex !important;
	gap: 1rem;
	align-items: center;
	color: #fff;
	font-size: 2.25rem;
	line-height: 1;
}
.footer-tel-tel a img {
	flex-shrink: 0;
	width: 32px;
	height: auto;
}
@media screen and (max-width: 767px) {
	.footer-nav,
	.footer-main {
		padding: 48px 0;
		font-size: 93%;
	}
	.footer-inner,
	.footer-logo,
	.footer-tel-area {
		display: block;
	}
	.footer-inner {
		width: 88%;
		margin: 0 auto;
		text-align: center;
	}
	.footer-sub-list {
		margin-left: 1.5em !important;
		margin-bottom: 8px;
	}
	.footer-sub-list li {
		width: 140px;
	}
	.footer-main-list {
		min-width: 132px;
	}
	.footer-logo {
		padding: 0;
		margin-bottom: 32px;
	}
	.footer-logo img {
		width: 140px;
	}
	.footer-tel-tel {
		margin-top: 32px;
	}
	.footer-tel-tel img {
		width: 217px;
	}
	.copyright-area {
		margin-top: 32px;
	}
	.copyright {
		margin-bottom: 4px;
	}
	.footer-tel-area {
		font-size: 1.23rem;
	}
	.footer-tel-tel a {
		justify-content: center;
	}
}

/* =====================================================================================
    PAGE (INDEX/TOPPAGE)
===================================================================================== */

/* .main_visual */
.main_visual {
	position: relative;
	height: 100vh;
	height: 100svh;
	text-align: center;
}
.top-logo {
	position: absolute;
	left: 50%;
	top: 50%;
	margin-top: -184px;
	margin-left: -144px;
	z-index: 10;
}
.hero-nav {
	position: absolute;
	width: 100%;
	top: 0;
	z-index: 1000000002;
}
.hero-nav-list {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	padding: 40px 0 64px;
	line-height: 1;
	background: linear-gradient(rgba(49, 49, 62, 0.2), transparent);
	z-index: 10;
}
.hero-nav-list li {
	display: inline-block;
	vertical-align: middle;
	margin: 0 4px;
}
.hero-nav-list a {
	display: block;
	padding: 4px 12px;
	color: #fff;
	font-size: 1.125rem;
}
.hero-nav-list a:hover {
	background: #31313e;
}

/* main-visual slider */
.mainvisual-slider {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	margin: 0;
}
.mainvisual-slider .bx-wrapper,
.mainvisual-slider .bx-viewport,
#mainvisual-slider {
	height: 100%;
}
.mainvisual-slide {
	display: block;
	background-position: center center;
	background-size: cover;
	background-attachment: fixed;
	width: 100% !important;
	height: 100% !important;
}
.main_visual div {
	background-size: cover !important;
	background-position: center !important;
	background-attachment: fixed !important;
}

/* home_news */
.home_news {
	position: absolute;
	left: 24px;
	bottom: 24px;
	text-align: left;
	z-index: 10;
	width: 460px;
}
.home_news--ttl {
	margin-bottom: 12px;
	font-size: 18px;
	line-height: 1;
	font-weight: bold;
}
.posts-home_news {
	background: #fff;
	padding: 0 40px;
	width: 460px;
}
.posts-home_news .post {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.8125rem;
	padding: 0;
	height: 28px;
	line-height: 28px;
}
.posts-home_news .post--date {
	flex-shrink: 0;
	letter-spacing: 0;
}
.posts-home_news .post--ttl {
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.news-slider {
	display: block;
	height: 28px;
}
.news-slider .slick-arrow {
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 1;
	display: grid;
	place-items: center;
	width: 32px;
	cursor: pointer;
}
.news-slider .slick-arrow::before {
	content: '';
	width: 8px;
	height: 8px;
	display: block;
	transform: rotate(45deg);
}
.news-slider .slick-prev {
	left: 0;
}
.news-slider .slick-prev::before {
	border-bottom: 1px solid;
	border-left: 1px solid;
}
.news-slider .slick-next {
	right: 0;
}
.news-slider .slick-next::before {
	border-top: 1px solid;
	border-right: 1px solid;
}
@media screen and (max-width: 1200px) {
	.mainvisual-slide,
	.main_visual div {
		background-attachment: unset !important;
	}
}
@media screen and (max-width: 767px) {
	.main_visual {
		height: 100vh;
		height: 100svh;
	}
	.main_visual div {
		background-attachment: scroll !important;
	}
	.top-logo {
		width: 200px;
		height: 195px;
		margin-top: -124px;
		margin-left: -97px;
	}
	.top-online {
		width: 311px;
		height: 145px;
		margin-top: 79px;
		margin-left: -132px;
	}
	.home_news {
		width: 88%;
	}
	.posts-home_news,
	.posts-home_news .post {
		width: 100%;
	}
}

/* .home_search */
.home_search {
	padding: 32px 0;
}
.select2-container:nth-of-type(1) {
	margin-right: 16px;
	order: -2;
}
.studio-search-form-keyword::after {
	content: '×';
	z-index: 10000;
	order: -1;
	font-size: 2rem;
	margin-right: 16px;
}
.studio-search-form-keyword .select2-container {
	position: relative;
	z-index: 1000000000;
	height: 56px;
	border: none;
	display: flex;
	flex: 1;
}
.studio-search-form-keyword .selection {
	position: relative;
	z-index: 1052;
	width: 100%;
}
.select2-results__option {
	padding: 0.2em 1em !important;
}
.select2-container--default .select2-results > .select2-results__options {
	max-height: 300px !important;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
	font-size: 16px;
}
.studio-search-form-keyword .select2-container--default .select2-search--dropdown .select2-search__field {
	height: 2rem;
	padding: 0.5em;
	border: 1px solid #ccc;
}
.studio-search-form-keyword .select2-container--default .select2-selection--single {
	border: none;
	height: 100%;
	border-radius: 50px !important;
	overflow: hidden;
}
.studio-search-form-keyword .select2-container--default .select2-selection--single .select2-selection__rendered {
	height: 100%;
	display: grid;
	align-items: center;
	padding-left: 2em;
}
.studio-search-form-keyword .select2-container--default .select2-selection--single .select2-selection__arrow {
	right: 11px;
	height: 100%;
}
.select2-container--default .select2-dropdown--below {
	width: 480px;
	margin-top: -28px;
	border: none;
	box-shadow: 0 20px 20px -10px rgb(0 0 0 / 10%);
}
.select2-container--default .select2-search--dropdown {
	padding-top: 30px;
}
@media screen and (max-width: 767px) {
	.studio-search-form-keyword .select2-container {
		width: auto !important;
		height: 50px;
	}
	.studio-search-form-keyword::after {
		margin-right: 8px;
	}
	.select2-container:nth-of-type(1) {
		margin-right: 8px;
	}
	.select2-container--default .select2-search--dropdown {
		padding-top: 28px;
	}
	.select2-search--dropdown .select2-search__field {
		height: 40px;
	}
	.select2-results__option {
		padding: 0.5em 1em !important;
	}
}
.button-txt {
	font-size: 125%;
	color: #fff;
	margin-left: 0;
}
@media screen and (max-width: 767px) {
	.home_search {
		padding: 24px 0;
	}
	.searchtext {
		width: 100%;
		padding: 0 60px 0 24px;
	}
}

/* home_event */
.event-posts {
	max-width: 930px;
	margin: 40px auto 40px;
}
.event-posts .post {
	position: relative;
	margin-bottom: 7px;
	padding-bottom: 12px;
	width: 200px;
	margin: 0 21px;
	float: left;
}
.event-posts .post:first-child {
	margin-left: 0;
}
.event-posts .post:last-child {
	margin-right: 0;
}
.event-posts .post .linkArea {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 100%;
	background: url(../images/common/bg_ivory_pattern02.webp) fixed;
	opacity: 0;
	z-index: 10;
}
.event-posts .post .linkArea:hover {
	opacity: 0.4;
}
.post-category {
	position: relative;
	z-index: 10;
}
.event-area .img-area {
	position: relative;
	overflow: hidden;
	width: 200px;
	height: 120px;
	border: 5px solid #dad5ce;
	margin: 0 auto;
}
.event-area .post-eyecatch {
	width: 200px;
	height: 120px;
}
.post-eyecatch.no-image {
	background: #c5beb3;
	text-align: center;
	line-height: 1.5;
	font-size: 68%;
	color: #fff;
	padding-top: 42px;
}
.post-time {
	font-size: 84%;
	margin-top: 20px;
	margin-bottom: 10px;
	line-height: 1;
}
.post-textarea {
	padding: 0;
	margin: 0 auto;
	width: 198px;
}
.post-textarea .post-info {
	font-size: 86%;
	margin-bottom: 12px;
	line-height: 1;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.post-textarea .post-content {
	font-weight: normal;
	font-size: 93.9%;
	line-height: 1.5;
	letter-spacing: 0.02em;
	margin-top: 10px;
}
.topics-area {
	margin-top: 73px;
	margin: 0 auto;
	height: 100% !important;
}
.topics-slider {
	width: 100%;
	margin: 0 auto;
}
.topics-list-item {
	position: relative;
	display: inline-block;
	margin-right: 20px;
	width: 290px;
	vertical-align: top;
	margin-bottom: 10px;
}
.topics-list-item:last-child {
	margin-right: 0;
}
.topics-list-item .post-time {
	margin-top: 20px;
	font-size: 84%;
	line-height: 1.5;
}
.topics-list-item .post-title {
	text-align: center;
	margin-top: 10px;
	font-size: 94%;
	line-height: 1.5;
}
.topics-area .slick-arrow {
	position: absolute;
	top: 85px;
	width: 32px;
	height: 32px;
	cursor: pointer;
	background-repeat: no-repeat;
	z-index: 10;
}
.topics-area .slick-prev {
	background: url(../images/bx-prev.webp);
	left: -45px;
}
.topics-area .slick-next {
	background: url(../images/bx-next.webp);
	right: -45px;
}
.topics-area .slick-dots {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 12px;
	margin-top: 42px;
	margin-bottom: 50px;
}
.topics-area .slick-dots li {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: none;
	border: 2px solid #b5dbe8;
	text-align: center;
}
.topics-area .slick-dots li.slick-active {
	border-radius: 50%;
	background: #b5dbe8;
	border: 2px solid #b5dbe8;
	text-align: center;
	cursor: pointer;
}
.topics-area .slick-dots li:hover,
.topics-area .slick-dots li.active,
.topics-area .slick-dots li:focus {
	background: #b5dbe8;
}
.video-area-img {
	width: 100%;
	height: 100%;
}
.moreBtn {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 1rem;
}
.moreBtn a {
	display: inline-block;
	padding: 1em;
	color: #fff;
	border-radius: 4px;
	line-height: 1;
	background-color: #a3c5d0;
}
.video-area.under {
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	text-align: center;
}
.campaign-thumbnail.under {
	display: none;
}
.video-thumbnail.list:before,
.video-thumbnail.list:after {
	content: none;
}
@media screen and (max-width: 767px) {
	.home_event h2 {
		position: relative;
		z-index: 10;
	}
	.event-area {
		margin-bottom: 80px;
	}
	.home_event .post {
		width: 100%;
		margin: 0;
		padding: 10px 0;
		z-index: 10;
	}
	.event-area .img-area {
		width: 140px;
		height: 90px;
		margin-left: 0;
		margin-right: 15px;
		float: left;
	}
	.event-area .post-eyecatch {
		position: absolute;
		width: 100%;
		height: 120px;
		padding-top: 30px;
	}
	.post-textarea {
		padding: 8px 0;
		font-size: 107.6%;
		width: 100%;
	}
	.post-textarea .post-content {
		margin-top: 0;
	}
	.post-time {
		margin-top: 10px;
		margin-bottom: 5px;
	}
	.no-campaign .event-posts .post {
		width: 100%;
		padding-left: 0;
		margin: 0 0 16px;
	}
	.event-posts {
		margin: 0 auto;
	}
	.topics-slider {
		width: 100%;
		margin: 0 auto;
		text-align: center;
	}
	.video-area.under {
		padding: 15px 0;
	}
	.movie-thumbnail iframe {
		max-width: 100%;
		height: 200px;
	}
	.video-thumbnail.under {
		background-size: 120%;
		padding: 75px 115px;
	}
	.video-thumbnail:after {
		left: -15%;
	}
	.video-thumbnail:before {
		left: -20%;
	}
	.moreBtn {
		flex-direction: column;
		margin-top: 16px;
	}
	.moreBtn a {
		width: fit-content;
		min-width: min(100%, 190px);
		padding: 1.5em;
		text-align: center;
	}
	.top_moreBtn02 a {
		margin: 0 auto;
	}
}

/* #top-onlinebnr */
.online_bnr {
	padding: 96px 0 0;
	text-align: center;
	position: relative;
	max-width: 840px;
	margin: 0 auto;
}
.online_bnr a {
	position: absolute;
	display: block;
	width: 100%;
	height: calc(100% - 96px);
}
.online_bnr a:hover {
	background: rgba(255, 255, 255, 0.4);
}
@media screen and (max-width: 767px) {
	.online_bnr {
		padding: 0 0 48px;
		width: calc(100% - 6%);
		margin: 0 auto;
	}
	.online_bnr a {
		height: 100%;
	}
}

/* home_course
*************************************************** */
.home_course {
	margin-inline: 40px;
}
.home_course .slick-arrow {
	position: absolute;
	top: 50%;
	margin-top: -50px;
	outline: 0;
	width: 80px;
	height: 80px;
	text-indent: -9999px;
	z-index: 9999;
	background-position: center;
	background-repeat: no-repeat;
	cursor: pointer;
}
.home_course .slick-prev {
	left: 65px;
	background-image: url(../images/common/prev.svg);
}
.home_course .slick-next {
	right: 65px;
	background-image: url(../images/common/next.svg);
}
.course_list {
	display: flex !important;
	justify-content: center;
	text-align: center;
	width: 1208px;
	margin: auto;
	padding-bottom: 30px;
}
.course_list li {
	position: relative;
	margin: 0 -18px;
}
.course_list li a {
	display: inline-block;
	border-radius: 60px;
}
.course_list li a:hover {
	opacity: 0.5;
}
.course_list li:nth-child(odd) {
	margin-top: 136px;
}
.course_list li::before {
	content: '';
	display: block;
	position: absolute;
	background: center no-repeat;
}
.course_list._pt2 li:nth-child(1)::before {
	background-image: url(../images/icon01.webp);
	width: 75px;
	height: 55px;
	top: 152px;
	right: -35px;
}
.course_list._pt2 li:nth-child(2)::before {
	background-image: url(../images/icon02.webp);
	width: 100px;
	height: 47px;
	top: 11px;
	left: -26px;
}
.course_list._pt2 li:nth-child(3)::before {
	background-image: url(../images/icon03.webp);
	width: 100px;
	height: 45px;
	top: 165px;
	left: 79px;
}
.course_list._pt2 li:nth-child(4)::before {
	background-image: url(../images/icon04.webp);
	width: 128px;
	height: 43px;
	top: 6px;
	right: -25px;
}
.course_list._pt2 li:nth-child(5)::before {
	background-image: url(../images/icon05.webp);
	width: 75px;
	height: 55px;
	top: 162px;
	left: 73px;
}
.course_list._pt2 li:nth-child(6)::before {
	background-image: url(../images/icon06.webp);
	width: 100px;
	left: 65px;
	height: 69px;
	top: -7px;
}
.course_list._pt2 li:nth-child(7)::before {
	background-image: url(../images/icon07.webp);
	width: 75px;
	height: 55px;
	top: 159px;
	left: 102px;
}
.course_list._pt2 li:nth-child(8)::before {
	background-image: url(../images/icon08.webp);
	width: 75px;
	height: 55px;
	top: -5px;
	right: -17px;
}
.course_list._pt2 li:nth-child(9)::before {
	background-image: url(../images/icon09.webp);
	width: 100px;
	height: 55px;
	top: 159px;
	left: 62px;
}
.course_list._pt2 li:nth-child(10)::before {
	background-image: url(../images/icon10.webp);
	width: 75px;
	height: 55px;
	top: 7px;
	right: -24px;
}
.course_list._pt2 li:nth-child(11)::before {
	background-image: url(../images/icon11.webp);
	width: 109px;
	height: 55px;
	top: 149px;
	right: -39px;
}
.course_list._pt2 li:nth-child(12)::before {
	background-image: url(../images/icon12.webp);
	width: 101px;
	height: 55px;
	top: 8px;
	right: -37px;
}
.course_list._pt3 li:nth-child(1)::before {
	background-image: url(../images/icon13.webp);
	width: 80px;
	height: 55px;
	top: 157px;
	right: -39px;
}
.course_list._pt3 li:nth-child(2)::before {
	background-image: url(../images/icon14.webp);
	width: 103px;
	height: 55px;
	top: -3px;
	right: 33px;
}
.course_list._pt3 li:nth-child(3)::before {
	background-image: url(../images/icon15.webp);
	width: 110px;
	height: 73px;
	top: 164px;
	left: 18px;
}
.course_list._pt3 li:nth-child(4)::before {
	background-image: url(../images/icon16.webp);
	width: 156px;
	height: 59px;
	top: -7px;
	right: -21px;
}
.course_list._pt3 li:nth-child(5)::before {
	background-image: url(../images/icon17.webp);
	width: 237px;
	height: 55px;
	top: 167px;
	left: -32px;
}
.course_list._pt3 li:nth-child(6)::before {
	background-image: url(../images/icon18.webp);
	width: 156px;
	height: 56px;
	top: 6px;
	right: -57px;
}
.course_list._pt3 li:nth-child(7)::before {
	background-image: url(../images/icon19.webp);
	width: 78px;
	height: 55px;
	top: 163px;
	left: 84px;
}
.course_list._pt3 li:nth-child(8)::before {
	background-image: url(../images/icon20.webp);
	width: 75px;
	height: 55px;
	top: 3px;
	right: -1px;
}
.course_list._pt3 li:nth-child(9)::before {
	background-image: url(../images/icon21.webp);
	width: 124px;
	height: 79px;
	top: 150px;
	left: 65px;
}
.course_list._pt3 li:nth-child(10)::before {
	background-image: url(../images/icon22.webp);
	width: 112px;
	height: 60px;
	top: 6px;
	right: -38px;
}
.course_list._pt3 li:nth-child(11)::before {
	background-image: url(../images/icon23.webp);
	width: 107px;
	height: 280px;
	left: 49px;
}
.course_list._pt3 li:nth-child(12)::before {
	background-image: url(../images/icon24.webp);
	width: 88px;
	height: 55px;
	top: 4px;
	left: 69px;
}
.course_list._pt2 li {
	padding: 40px 0 0 0;
}
.course_list._pt3 li {
	padding: 40px 0 0 0;
}

@media (max-width: 1400px) and (min-width: 767px) {
	.course_list {
		width: 936px;
	}
	.course_list li img {
		max-width: 110px;
		height: auto;
	}
	.course_list li:nth-child(odd) {
		margin-top: 120px;
	}
}
@media screen and (max-width: 767px) {
	.home_course .slick-arrow {
		transform: translateY(-30%);
		margin-top: -16px;
		width: 26px;
		height: 52px;
		background-size: cover;
	}
	.home_course .slick-prev {
		left: 11px;
		background-image: url(../images/common/prev-sp.webp);
	}
	.home_course .slick-next {
		right: 11px;
		background-image: url(../images/common/next-sp.webp);
	}
	.course-slidersp {
		width: 100vw;
		margin-left: calc(50% - 50vw);
	}
	.course_list {
		width: 100%;
		display: grid !important;
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
		padding-inline: 32px;
	}
	.home .course_list {
		grid-template-columns: repeat(3, 1fr);
	}
	.course_list {
		display: block;
		padding-bottom: 0;
	}
	.course_list li {
		display: inline-block;
		vertical-align: top;
	}
	.course_list li,
	.course_list li:nth-child(odd) {
		margin: 0 !important;
	}
	.course_list li img {
		width: 114px;
		height: auto;
	}
	.course_list li::before {
		display: none;
	}
	.course_list._pt3_sp li img {
		width: 90px;
	}
	.course_list._pt2_sp li img {
		width: 90px;
	}
	.course_list._pt4_sp li img {
		width: 90px;
	}
	.course_list._pt5_sp li img {
		width: 90px;
	}
}

/* group_bnr
*************************************************** */
.group_bnr {
	padding: 140px 0 0;
	text-align: center;
	position: relative;
	max-width: 1020px;
	margin: 0 auto;
}
.group_bnr a {
	position: absolute;
	display: block;
	width: 100%;
	height: calc(100% - 140px);
}
.group_bnr a:hover {
	background: rgba(255, 255, 255, 0.4);
}
@media screen and (max-width: 767px) {
	.group_bnr {
		padding: 0;
		width: 100%;
		margin: 0 auto;
	}
	.group_bnr a {
		height: 100%;
	}
	.home_course {
		margin: 0 3%;
	}
	.home_course h2 img {
		width: 228px;
	}
}

/* home_feature
*************************************************** */
.home_feature .flow_item {
	align-items: flex-start;
	gap: 48px;
}
.home_feature .flow_item .img {
	width: 473px;
}
.home_feature .flow_item .img img {
	z-index: 0;
}
.home_feature .flow_item .img::after {
	left: 50%;
	bottom: 0;
	z-index: -1;
	translate: -50% 0;
}
.home_feature .flow_item.feature-01 .img::after {
	background-image: url(../images/feature_bg_a.webp);
	width: 664px;
	aspect-ratio: 664/201;
	left: 40%;
}
.home_feature .flow_item.feature-02 .img::after {
	background-image: url(../images/feature_bg_b.webp);
	width: 643px;
	aspect-ratio: 643/173;
	left: 60%;
}
.home_feature .flow_item.feature-03 .img::after {
	background-image: url(../images/feature_bg_c.webp);
	width: 526px;
	aspect-ratio: 526/223;
	left: 40%;
}
.home_feature .flow_item.feature-04 .img::after {
	background-image: url(../images/feature_bg_d.webp);
	width: 641px;
	aspect-ratio: 641/320;
	left: 60%;
}
.home_feature .feature-01 .kazari {
	background-image: url(../images/kazari_feature_a.webp);
	width: 279px;
	height: 213px;
	right: -64px;
	top: -130px;
}
.home_feature .feature-02 .kazari {
	background-image: url(../images/kazari_feature_b.webp);
	width: 269px;
	height: 219px;
	bottom: -30px;
	left: -123px;
}
.home_feature .feature-03 .kazari {
	background-image: url(../images/kazari_feature_c.webp);
	width: 179px;
	height: 118px;
	bottom: -20px;
	right: -20px;
}
.home_feature .feature-04 .kazari {
	background-image: url(../images/kazari_feature_d.webp);
	width: 172px;
	height: 200px;
	bottom: 20px;
	left: -73px;
}

@media screen and (max-width: 767px) {
	.home_feature {
		overflow-x: hidden;
	}
	.home_feature .flow_item {
		gap: 24px;
		flex-direction: column !important;
	}
	.home_feature .flow_item .img {
		width: 100%;
	}
	.home_feature .flow_item .img::before {
		background-size: contain;
		width: 118px;
		height: 33px;
		top: -32px;
		left: 0;
		margin: 0;
	}
	.home_feature .feature-02 .img::before,
	.home_feature .feature-04 .img::before {
		left: auto;
		right: 0;
	}
	.feature-contents .img::after {
		display: none;
	}
	.home_feature .feature-01 .kazari {
		width: 139px;
		height: 106px;
		right: -16px;
		top: -48px;
	}
	.home_feature .feature-02 .kazari {
		width: 134px;
		height: 109px;
		left: -24px;
		bottom: auto;
		top: -24px;
	}
	.home_feature .feature-03 .kazari {
		width: 89px;
		height: 59px;
		bottom: auto;
		top: -24px;
	}
	.home_feature .feature-04 .kazari {
		width: 86px;
		height: 100px;
		bottom: auto;
		top: -20px;
		left: -24px;
	}
}

/* video
*************************************************** */
.movie-ttl {
	font-size: 2.5rem;
	line-height: 1;
}
.video-area {
	position: relative;
	overflow: hidden;
	padding: 42px;
}
.topics-area.video-area {
	position: relative;
	overflow: hidden;
	padding: 70px 0px 70px;
}
.video-area .video-thumbnail {
	width: 100%;
	padding: 75px 145px;
	position: relative;
}
.video-thumbnail {
	width: 100%;
	position: relative;
}
.video-thumbnail img {
	max-width: 100%;
}
.blog-list-thumb {
	padding: 0 0 30px;
	text-align: center;
}
.campaign-thumbnail {
	width: 100%;
	position: relative;
	padding: 75px 145px;
	background-position: top 30% center;
	background-size: cover;
	margin: 0 auto;
}
.thumb-link {
	position: absolute;
	width: 100%;
	height: 100%;
	margin: auto;
	top: 0;
	left: 0;
	z-index: 9999;
}
.video-thumbnail::before {
	content: '';
	width: 48px;
	height: 48px;
	top: 36%;
	position: absolute;
	border-radius: 50%;
	background: rgba(51, 51, 51, 0.76);
	border: 1px solid #fff;
	top: 0;
	left: -5px;
	right: 0;
	bottom: 0;
	margin: auto;
}
.video-thumbnail::after {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 0 10px 17px;
	border-color: transparent transparent transparent #fff;
	bottom: 41.9%;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}
.topics-area.video-area iframe {
	width: 100% !important;
	height: 100%;
}
.video {
	width: 100%;
	vertical-align: bottom;
}
@media screen and (max-width: 767px) {
	.video-area {
		padding: 22px;
	}
	.thumb-link {
		position: absolute;
		width: 100%;
		height: 100%;
		margin: auto;
		top: 0;
		left: 0;
	}
	.topics-area.video-area {
		position: relative;
		overflow: hidden;
		padding: 0px 0px 0px;
	}
	.topics-area .slide-dots {
		margin-top: 10px;
		margin-bottom: 40px !important;
	}
	.topics-list-item .post-time {
		margin-top: 10px;
		font-size: 100%;
	}
	.topics-list-item .post-title {
		text-align: center;
		margin-top: 10px;
		font-size: 110%;
	}
	.event-posts .post {
		position: relative;
		margin-bottom: 0;
		padding-bottom: 0;
		width: 100%;
		margin: 0 auto;
	}
	.topics-area .slick-arrow {
		top: calc(150px / 2 - 32px / 2);
		z-index: 998;
	}
	.topics-area .slick-prev {
		left: 0;
	}
	.topics-area .slick-next {
		right: 0;
	}
	.campaign-thumbnail {
		display: block;
		width: 100%;
		height: 100%;
		background-size: 100% !important;
	}
	.video-thumbnail {
		display: block;
		background-position: top center !important;
		background-size: 100% !important;
	}
	.campaign-area.fee.inner-mini {
		margin: 0px auto 40px;
		position: relative;
		left: 0;
		width: 100%;
	}
}

/* home_voice
*************************************************** */
.home_voice {
	position: relative;
	background: url(../images/voice_bg.webp) center no-repeat;
	background-size: cover;
}
.voice-list li {
	position: absolute;
	background: center no-repeat;
	background-size: contain;
	line-height: 1.55;
}
.voice-list .voice-01 {
	background-image: url(../images/voice_01.webp);
	width: 163px;
	height: 131px;
	font-size: 93%;
	padding: 26px;
	text-align: center;
	bottom: 56px;
	right: 50%;
	margin-right: 448px;
}
.voice-list .voice-02 {
	background-image: url(../images/voice_02.webp);
	width: 232px;
	height: 142px;
	padding: 22px;
	top: 64px;
	right: 50%;
	margin-right: 280px;
}
.voice-list .voice-03 {
	background-image: url(../images/voice_03.webp);
	width: 142px;
	height: 139px;
	padding: 30px 26px;
	font-size: 114%;
	bottom: 56px;
	right: 50%;
	margin-right: 180px;
	text-align: center;
}
.voice-list .voice-04 {
	background-image: url(../images/voice_04.webp);
	width: 232px;
	height: 142px;
	padding: 22px;
	bottom: 56px;
	left: 50%;
	margin-left: 190px;
}
.voice-list .voice-05 {
	background-image: url(../images/voice_01.webp);
	width: 163px;
	height: 131px;
	font-size: 116%;
	padding: 28px;
	text-align: center;
	top: 56px;
	left: 50%;
	margin-left: 298px;
}
.voice-list .voice-06 {
	background-image: url(../images/voice_05.webp);
	width: 172px;
	height: 121px;
	font-size: 93%;
	padding: 16px;
	top: 180px;
	left: 50%;
	margin-left: 456px;
}
.voice-list .voice-07 {
	background-image: url(../images/voice_02.webp);
	width: 232px;
	height: 142px;
	padding: 22px;
	top: 140px;
	left: 50%;
	margin-left: -120px;
}

/* voice-imglist */
.voice-imglist li a {
	display: block;
	border-radius: 3px;
	overflow: hidden;
	border: 1px solid #8e7867;
	aspect-ratio: 1;
}
.voice-imglist li img {
	object-position: center;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

@media (max-width: 1270px) and (min-width: 768px) {
	.voice-list .voice-01 {
		margin-right: 330px;
		bottom: 72px;
	}
	.voice-list .voice-02 {
		margin-right: 200px;
	}
	.voice-list .voice-03 {
		margin-right: 140px;
	}
	.voice-list .voice-04 {
		margin-left: 200px;
		bottom: 40px;
	}
	.voice-list .voice-05 {
		margin-left: 136px;
	}
	.voice-list .voice-06 {
		margin-left: 320px;
		top: 100px;
	}
	.voice-list .voice-07 {
		top: 200px;
		margin-left: -90px;
	}
}
@media screen and (max-width: 767px) {
	.home_voice .inner {
		width: 96%;
	}
	.voice-list {
		text-align: center;
	}
	.voice-list li,
	.voice-list .voice-01,
	.voice-list .voice-02,
	.voice-list .voice-03,
	.voice-list .voice-04,
	.voice-list .voice-05,
	.voice-list .voice-06,
	.voice-list .voice-07 {
		position: relative;
		display: inline-block;
		margin: 0 4px 8px;
		top: auto;
		right: auto;
		left: auto;
		bottom: auto;
	}
	.voice-list .voice-01 {
		padding: 20px 14px;
		width: 130px;
		height: 106px;
	}
	.voice-list .voice-02 {
		width: 188px;
		height: 116px;
		padding: 16px;
	}
	.voice-list .voice-03 {
		width: 118px;
		padding: 24px 20px;
		height: 116px;
		float: right;
		clear: right;
	}
	.voice-list .voice-04 {
		width: 192px;
		height: 120px;
		padding: 16px;
	}
	.voice-list .voice-05 {
		width: 132px;
		height: 104px;
		padding: 18px;
	}
	.voice-list .voice-06 {
		width: 150px;
		height: 106px;
		padding: 14px 10px;
	}
	.voice-list .voice-07 {
		width: 188px;
		height: 116px;
		padding: 16px;
	}
}

/* home_teacher
*************************************************** */
.home_teacher {
	position: relative;
	overflow: hidden;
	background: #fff;
}
.home_teacher::before {
	content: '';
	display: block;
	position: absolute;
	z-index: 0;
	left: 40px;
	top: 40px;
	right: 40px;
	bottom: 52px;
	background: url(../images/common/bg_ivory_pattern02.webp);
}
.home_teacher .border-double-left,
.home_teacher .border-double-right,
.home_teacher .border-double-bottom {
	bottom: 29px;
}
.home_teacher .teacher-ttl,
.home_teacher .teacher-ttl {
	position: relative;
	z-index: 2;
}
.home_teacher .bx-wrapper {
	width: 100vw;
	margin-left: calc(50% - 50vw);
}
/* .instructors-slider {
	width: 100vw;
	margin-left: calc(50% - 50vw);
} */
.instructors-slider .slick-track {
	position: relative;
	/* background: url(../images/voice_ten.webp) left center repeat-x; */
	z-index: 10;
}
.teacher-list-item {
	margin-inline: 16px;
	padding: 40px 0;
}
.teacher-list-item:nth-child(odd) {
	padding-top: 80px;
}
.teacher-list-img {
	position: relative;
	width: 200px;
	height: 200px;
	border-radius: 100px;
	background-color: #cfd9dd;
}
.teacher-list-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
}
/* .home_teacher .kazari {
	z-index: 999;
} */
.home_teacher .onpu-a {
	top: 200px;
	left: 5%;
}
.home_teacher .onpu-b {
	top: 440px;
	left: 15%;
}
.home_teacher .onpu-c {
	top: 200px;
	left: 30%;
}
.home_teacher .onpu-d {
	top: 440px;
	right: 40%;
}
.home_teacher .onpu-e {
	top: 200px;
	right: 25%;
}
.home_teacher .onpu-f {
	top: 440px;
	right: 15%;
}
.home_teacher .onpu-g {
	top: 200px;
	right: 5%;
}
@media screen and (max-width: 767px) {
	.home_teacher::before {
		left: 16px;
		top: 16px;
		right: 16px;
		bottom: 24px;
	}
	.teacher-list {
		background-size: 720px auto;
	}
}

/* =====================================================================================
    PAGE (LESSON-DETAIL)
===================================================================================== */
/* kazari
*************************************************** */

.lps_sec .kazari-lessons-a {
	width: 263px;
	height: 393px;
	top: 64px;
	left: -64px;
}
.lps_sec .kazari-lessons-b {
	width: 243px;
	height: 432px;
	top: 560px;
	right: -80px;
}
.lps_sec .kazari-lessons-c {
	width: 222px;
	height: 384px;
	bottom: 120px;
	left: -56px;
}

/* piano */
.lps_sec .kazari-lessons-a.piano {
	background-image: url(../images/lessons/kazari_piano01.webp);
}
.lps_sec .kazari-lessons-b.piano {
	background-image: url(../images/lessons/kazari_piano02.webp);
}
.lps_sec .kazari-lessons-c.piano {
	background-image: url(../images/lessons/kazari_piano03.webp);
}

/*strings*/
.lps_sec .kazari-lessons-a.strings {
	background-image: url(../images/lessons/kazari_strings01.webp);
}
.lps_sec .kazari-lessons-b.strings {
	background-image: url(../images/lessons/kazari_strings02.webp);
}
.lps_sec .kazari-lessons-c.strings {
	background-image: url(../images/lessons/kazari_strings03.webp);
}

/*guitar*/
.lps_sec .kazari-lessons-a.guitar {
	background-image: url(../images/lessons/kazari_guitar01.webp);
}
.lps_sec .kazari-lessons-b.guitar {
	background-image: url(../images/lessons/kazari_guitar02.webp);
}
.lps_sec .kazari-lessons-c.guitar {
	background-image: url(../images/lessons/kazari_guitar03.webp);
}

/*brass*/
.lps_sec .kazari-lessons-a.brass {
	background-image: url(../images/lessons/kazari_brass01.webp);
}
.lps_sec .kazari-lessons-b.brass {
	background-image: url(../images/lessons/kazari_brass02.webp);
}
.lps_sec .kazari-lessons-c.brass {
	/* background-image: url(../images/lessons/kazari_brass03.webp); */
}

/*woodwind*/
.lps_sec .kazari-lessons-a.woodwind {
	background-image: url(../images/lessons/kazari_woodwind01.webp);
}
.lps_sec .kazari-lessons-b.woodwind {
	background-image: url(../images/lessons/kazari_woodwind02.webp);
}
.lps_sec .kazari-lessons-c.woodwind {
	/* background-image: url(../images/lessons/kazari_woodwind03.webp); */
}

/*drum*/
.lps_sec .kazari-lessons-a.drum {
	background-image: url(../images/lessons/kazari_drum01.webp);
}
.lps_sec .kazari-lessons-b.drum {
	background-image: url(../images/lessons/kazari_drum02.webp);
}
.lps_sec .kazari-lessons-c.drum {
	background-image: url(../images/lessons/kazari_drum03.webp);
}

/*dtm*/
.lps_sec .kazari-lessons-a.dtm {
	background-image: url(../images/lessons/kazari_dtm01.webp);
}
.lps_sec .kazari-lessons-b.dtm {
	background-image: url(../images/lessons/kazari_dtm02.webp);
}

/*reunion*/
.lps_sec .kazari-lessons-a.reunion {
	background-image: url(../images/lessons/kazari_solfege01.webp);
}
.lps_sec .kazari-lessons-b.reunion {
	background-image: url(../images/lessons/kazari_solfege02.webp);
}
.lps_sec .kazari-lessons-c.reunion {
	background-image: url(../images/lessons/kazari_solfege03.webp);
}

/*japanese*/
.lps_sec .kazari-lessons-a.japanese {
	background-image: url(../images/lessons/kazari_japanese01.webp);
}
.lps_sec .kazari-lessons-b.japanese {
	background-image: url(../images/lessons/kazari_japanese02.webp);
}
.lps_sec .kazari-lessons-c.japanese {
	background-image: url(../images/lessons/kazari_japanese03.webp);
}
@media screen and (max-width: 767px) {
	.lps_sec .kazari-lessons-a {
		width: 131px;
		height: 196px;
		top: 460px;
		left: -56px;
		z-index: 0;
	}
	.lps_sec .kazari-lessons-b {
		width: 121px;
		height: 216px;
		right: -40px;
		z-index: 0;
	}
	.lps_sec .kazari-lessons-c {
		width: 111px;
		height: 192px;
		left: -32px;
		z-index: 0;
	}
}

/* lesson-header
*************************************************** */
.lesson-header {
	position: fixed;
	right: -56px;
	top: 128px;
	background: #b6d2db url(../images/common/bg_blue_pattern01.webp);
	border-radius: 5px;
	padding: 16px 0;
	text-align: center;
	z-index: 100;
	opacity: 0;
	transition: all 0.4s ease-out;
}
.lesson-header.fixed {
	opacity: 1;
	right: 16px;
}
.lesson-header::before,
.lesson-header::after {
	content: '';
	position: absolute;
	display: block;
	width: 70%;
	left: 15%;
	height: 1px;
	border-top: 1px dashed #fff;
	top: 8px;
}
.lesson-header::after {
	top: auto;
	bottom: 8px;
}
.lesson-header .mainmenu-item {
	display: block;
	width: 56px;
	padding: 10px 0;
}
.lesson-header .mainmenu-item:hover {
	background: #b5dbe8;
}
.lesson-header .submenu-parents {
	position: relative;
}
.lesson-header .submenu-wrap {
	position: absolute;
	top: 0px;
	right: 56px;
}
.lesson-header .submenu {
	display: inline-block;
	margin-right: 16px;
	width: 232px;
	font-size: 94%;
	background: #b5dbe8;
	padding: 16px;
	border-radius: 3px;
	display: none;
}
.lesson-header .submenu-parents:hover .submenu {
	display: block;
}
.lesson-header .submenu a {
	background: #fff;
	display: block;
	margin-bottom: 4px;
	border-radius: 3px;
	line-height: 1;
	padding: 8px;
	color: #999;
	font-weight: bold;
}
.lesson-header .submenu a:hover {
	color: #e75f5f;
}
.lesson-header .submenu li:last-child a {
	margin: 0;
}
.lesson-header .submenu::before {
	content: '';
	display: inline-block;
	border: 8px solid transparent;
	border-left-color: #b5dbe8;
	position: absolute;
	right: 8px;
	top: 24px;
	margin-right: -8px;
}

/* lessons
**************************************** */
.lesson-studio {
	background: url(../images/common/bg_blue_pattern03.webp);
}
#inst-kanto-b:checked ~ #inst-kanto-b,
#inst-kansai-b:checked ~ #inst-kansai-b {
	display: block;
}
.teacher-area input:checked + .tab_item-b {
	background: #aed2df;
	color: #333;
}
.bg-studio {
	background: url(../images/lessons/bg_studio.webp) center fixed repeat-y;
}

/* =====================================================================================
    PAGE (CLASS)
===================================================================================== */

.parent-ttl {
	font-size: 160%;
	font-weight: normal;
	margin-bottom: 24px;
	line-height: 1;
	text-align: center;
}

/* category-map
 **************************************** */
.category-map .menu-list {
	margin-bottom: 24px;
}
.category-map .menu-item {
	display: inline-block;
}
.category-map .menu-item a {
	display: inline-block;
	padding: 0 8px;
	border-right: 1px solid #ccc;
	line-height: 1;
	color: #8aacb7;
	font-weight: bold;
}
.category-map .menu-item a:hover {
	color: #e75f5f;
}
.category-map .child {
	background: transparent;
	padding: 0;
}
.category-map .child-item {
	background: #f6f6f6;
	padding: 24px;
	border-radius: 5px;
	margin-bottom: 24px;
}
.category-map .grandson {
	display: block !important;
	padding: 0 24px 24px;
	border-top: 2px dotted #fff;
	margin: 0;
}
@media screen and (max-width: 767px) {
	.category-map .child-item {
		padding: 8px;
	}
	.category-map .grandson {
		padding: 0 8px 16px;
	}
	.category-map .menu-item a {
		width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		max-width: 132px;
		padding: 0 4px;
		font-size: 93%;
	}
}

/* =====================================================================================
    ARCHIVE (common)
===================================================================================== */

/* wp-pagenavi
 **************************************** */
.wp-pagenavi {
	text-align: center;
	padding: 60px 0 0;
}
.wp-pagenavi .pages {
	display: none;
}
.wp-pagenavi a,
.wp-pagenavi .current {
	padding: 8px 16px;
	display: inline-block;
	background: #c5ccd6;
	margin: 0 2px;
	text-decoration: none;
	font-weight: 300;
	font-size: 107%;
	border: 2px solid #c5ccd6;
	border-radius: 3px;
	line-height: 1.2;
	max-width: 280px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.wp-pagenavi a:hover {
	background: #c5b49d;
	color: #fff;
	border-color: #c5b49d;
}
.wp-pagenavi .extend {
	color: #c5ccd6;
	margin: 0 8px;
}
.wp-pagenavi .current {
	background: transparent;
}
@media screen and (max-width: 767px) {
	#mainContent .container-mini .wp-pagenavi a {
		display: block;
		margin: 2px;
		line-height: 1.2;
		padding: 8px 15px;
	}
	.wp-pagenavi {
		padding-top: 32px;
	}
	.wp-pagenavi a,
	.wp-pagenavi .current {
		margin: 4px;
	}
}

/* =====================================================================================
    ARCHIVE (instructors)
===================================================================================== */

/* teacher_instrument
 **************************************** */
.teacher_instrument .white-box {
	max-width: 1024px;
	margin-bottom: 24px;
}
.teacher_instrument--ttlimg {
	max-width: calc(100% + 96px);
	margin: -48px -48px 16px;
	border-radius: 3px 3px 0 0;
}
.teacher_instrument--item:not(:last-child) {
	margin-bottom: 24px;
}
.teacher_instrument--list {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 40px;
}
.teacher_instrument--list li {
	display: inline-block;
	margin: 0 8px;
}
.teacher_instrument--list li img {
	width: 200px;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 50%;
}
@media screen and (max-width: 767px) {
	.teacher_instrument .btn {
		padding-bottom: 16px;
	}
	.teacher_instrument--ttlimg {
		margin: -16px -16px 8px;
		max-width: calc(100% + 32px);
	}
	.teacher_instrument--list {
		padding: 0 16px;
		margin-bottom: 16px;
		flex-wrap: wrap;
	}
	.teacher_instrument--list li {
		margin: 4px;
	}
	.teacher_instrument--list li img {
		width: 100px;
	}
}

/* inst-area-switcher
 **************************************** */
.inst-area-switcher {
	margin-bottom: 24px;
}
.inst-area-switcher li {
	width: 240px;
	text-align: center;
}
.inst-area-switcher li:not(:last-child) {
	margin-right: 20px;
}
.inst-area-switcher li a {
	border: 1px solid #c5ccd6;
	display: block;
	font-size: 140%;
	padding: 8px;
	background: #fff;
	color: #878787;
	cursor: pointer;
}
.inst-area-switcher li a:hover {
	color: #333;
}
.inst-area-switcher li a.current {
	background: #aed2df;
	color: #333;
}

/* instructors
**************************************** */
#lesson-teacher .white-box .text-area {
	width: 488px;
	float: right;
}
.teacher-area {
	text-align: center;
}
.teacher-area .tab_item-b {
	border: 1px solid #c5ccd6;
	display: block;
	font-size: 140%;
	padding: 8px;
	background: #fff;
	color: #878787;
	cursor: pointer;
	width: 240px;
	text-align: center;
	margin: 0 10px 40px;
	display: inline-block;
}
.teacher-area .tab_item-b:hover {
	opacity: 0.75;
}
.teacher-area input[name='tab_item-b'] {
	display: none;
}
.teacher-area_mtm .teacher-list-yoko--wrap {
	display: none;
}
.teacher-list-yoko {
	text-align: center;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 28px;
}
.teacher-list-yoko li {
	position: relative;
	display: inline-block;
	padding: 20px 0;
	overflow: hidden;
	vertical-align: top;
}
.teacher-list-yoko .link-area {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 10;
	background: url(../images/common/bg_ivory_pattern02.webp);
	opacity: 0;
}
.teacher-list-yoko .link-area:hover {
	opacity: 0.3;
}
.teacher-list-yoko .img-area {
	aspect-ratio: 1;
	border-radius: 50%;
	overflow: hidden;
	margin-inline: auto;
	margin-bottom: 24px;
	background: #deceba center no-repeat;
}
.teacher-list-yoko .img-area img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.teacher-list-yoko .name {
	font-size: 133%;
	margin-bottom: 16px;
	line-height: 1;
	font-weight: normal;
}
.teacher-list-yoko .name small {
	display: block;
	font-size: 67%;
	color: #b5dbe8;
	margin-top: 10px;
	font-weight: bold;
	text-transform: uppercase;
}
.teacher-list-yoko .category {
	margin-bottom: 16px;
	line-height: 1;
}
.teacher-list-yoko .category a {
	position: relative;
	background: #8aacb7;
	color: #fff;
	font-size: 87%;
	display: inline-block;
	padding: 4px 10px;
	margin: 0 2px 4px;
	font-weight: bold;
	border-radius: 3px;
	z-index: 11;
}
.teacher-list-yoko .category a:hover {
	background: #deceba;
}
.teacher-list-yoko .detail {
	font-size: 87%;
	line-height: 1.6;
	letter-spacing: 0.01em;
	text-align: justify;
	text-justify: inter-ideograph;
}
@media screen and (max-width: 767px) {
	#lesson-teacher .white-box .text-area {
		float: none;
		width: 100%;
	}
	.teacher-area .tab_item-b {
		width: 46%;
		margin: 0 0 20px;
	}
	.teacher-list-yoko {
		display: block;
	}
	.teacher-list-yoko li {
		display: grid;
		grid-template-columns: 100px 1fr;
		align-items: center;
		gap: 16px;
		text-align: left;
	}
	.teacher-list-yoko .img-area {
		margin-bottom: 0;
		height: 100%;
	}
	.teacher-list-yoko .category {
		margin-bottom: 4px;
	}
	.teacher-list-yoko .category a {
		max-width: 180px;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}
	.teacher-area input#inst-kanto-b + .tab_item-b {
		margin-right: 4%;
	}
}

/* =====================================================================================
    ARCHIVE (experiences)
===================================================================================== */
.voice--main {
	position: relative;
	height: 440px;
}
.voice--main::before {
	position: absolute;
	left: 50%;
	content: '';
	display: block;
	background: url(../images/voice/pickup.webp);
	width: 229px;
	height: 78px;
	top: 50px;
	margin-left: 50px;
}
.voice-page-list {
	position: relative;
}
.voice-page-list::before {
	content: '';
	position: absolute;
	width: 294px;
	height: 228px;
	display: inline-block;
	left: -84px;
	top: -210px;
	background: url(../images/common/ijin_magnus.webp);
	background-size: contain;
}
.voice-page-list li {
	display: block;
	overflow: hidden;
	background: #fff;
	margin-bottom: 32px;
	padding: 56px;
	vertical-align: top;
	border-radius: 3px;
	box-shadow: 4px 4px 0 #b5dbe8;
}
.voice-page-list .img-area {
	overflow: hidden;
	float: right;
	margin-left: 32px;
	text-align: center;
	font-size: 86%;
	max-width: 220px;
}
.voice-page-list .img-area a {
	display: inline-block;
	border: 1px solid #aaa;
}

@media (max-width: 1270px) and (min-width: 768px) {
	.voice--main::before {
		top: 70px;
		margin-left: -130px;
	}
}
@media screen and (max-width: 767px) {
	.voice--main {
		height: auto;
	}
	.voice--main::before {
		width: 114px;
		height: 39px;
		background-size: contain;
		top: 22px;
	}
	.voice-page-list li {
		padding: 32px;
		margin-bottom: 16px;
	}
	.voice-page-list .img-area {
		margin: 0 0 8px 8px;
		width: 70px;
	}
	.voice-page-list .img-area small {
		display: none;
	}
	.voice-page-list::before {
		width: 147px;
		height: 114px;
		position: relative;
		top: 0;
		left: -24px;
		margin: -64px 0 -10px;
	}
}

/* =====================================================================================
    SINGLE common
===================================================================================== */

/* pagenav
 **************************************** */
#pageNav {
	text-align: center;
}
#pageNav li {
	display: inline-block;
	vertical-align: top;
	color: #eee;
}
#pageNav a {
	display: inline-block;
	line-height: 1.2;
	background: #c5ccd6;
	padding: 8px 32px;
	margin-bottom: 4px;
}
#pageNav a:hover {
	background: #eee;
	color: #fff;
}
@media screen and (max-width: 767px) {
	#pageNav li {
		display: block;
	}
	#pageNav a {
		display: block;
	}
}

/* =====================================================================================
    SINGLE studio
===================================================================================== */

.studio--info .studio-ttl {
	font-size: 1.875rem;
	font-weight: normal;
	line-height: 1.6;
	margin-bottom: 32px;
	color: #e75f5f;
}
.studio--info .category {
	overflow: hidden;
}
.studio--info .category a {
	position: relative;
	float: left;
	background: #8aacb7;
	color: #fff;
	font-size: 87%;
	display: inline-block;
	padding: 4px 10px;
	margin: 0 2px 4px;
	font-weight: bold;
	border-radius: 3px;
	z-index: 11;
}
.studio--info .category a:hover {
	background: #deceba;
}
@media screen and (max-width: 767px) {
	.studio--info {
		margin-top: 32px;
		padding-top: 24px;
	}
	.studio--info .studio-ttl {
		margin-bottom: 16px;
		font-size: 160%;
	}
	.studio--info .category a {
		display: inline-block;
		width: 104px;
		padding: 4px;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		text-align: center;
	}
}

/* table
 *************************************************** */
.single-post table iframe {
	width: 100%;
	aspect-ratio: 2/1;
}
.single-post .table1 {
	width: 100%;
}
.single-post .table1 th,
.single-post .table1 td {
	padding: 1em;
	border: 1px solid #eee;
}
.single-post .table1 th {
	width: 300px;
	vertical-align: middle;
	background-color: #f6f6f6;
}
.single-post .table1 td {
	background-color: #fff;
}
@media screen and (max-width: 767px) {
	.single-post .table-sp-block th {
		padding: 0.5em 1em;
		text-align: left;
		border-bottom: none;
	}
	.single-post .table-sp-block tr:not(:first-child) th {
		border-top: none;
	}
	.single-post .table-sp-block td {
		padding: 1em 2em;
	}
}

/* studio_intro--img
 *************************************************** */
.studio_intro--img {
	position: relative;
	width: 531px;
	margin: auto;
}
.studio_intro--img::before,
.instructors--info .img-area::before {
	content: '';
	position: absolute;
	inset: 0;
	border: 64px solid #fff;
	background: #deceba url(../images/common/footer_logo.webp) center no-repeat;
}
.studio_intro--img > img {
	position: absolute;
	z-index: 1;
	max-width: 80%;
	max-height: 80%;
	width: auto;
	height: auto;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}
.studio_intro--img .slide-studio {
	height: 100%;
	background: #fff;
}
.studio_intro--img .slick-list {
	background: #fff;
}
.studio_intro--img .slide-item {
	display: grid;
	place-content: center;
}
.studio_intro--img .slide-item p {
	padding: 1em;
}
.studio_intro--img .slide-studio img {
	width: 100%;
	object-fit: cover;
	aspect-ratio: 1;
}
.studio_intro--img .slick-arrow {
	position: absolute;
	top: 0;
	height: 100%;
	width: 62px;
	display: grid !important;
	place-content: center;
	cursor: pointer;
}
.studio_intro--img .slick-arrow::before {
	content: '';
	display: block;
	width: 12px;
	height: 12px;
	transform: rotate(45deg);
}
.studio_intro--img .slick-prev {
	left: -62px;
}
.studio_intro--img .slick-prev::before {
	border-left: 2px solid;
	border-bottom: 2px solid;
}
.studio_intro--img .slick-next {
	right: -62px;
}
.studio_intro--img .slick-next::before {
	border-right: 2px solid;
	border-top: 2px solid;
}
.studio_intro--img .slick-dots {
	position: absolute;
	top: 0;
	right: -140px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex-wrap: wrap;
}
.studio_intro--img .slick-dots li {
	position: relative;
	width: 55px;
	height: 55px;
	background: #8aacb7;
	cursor: pointer;
}
.studio_intro--img .slick-dots li span {
	position: absolute;
	inset: 0;
	transition: 0.4s ease-out;
}
.studio_intro--img .slick-dots li span:hover {
	opacity: 0.5;
}
@media screen and (max-width: 767px) {
	.studio_intro--img {
		float: none;
		width: 100%;
		height: auto;
		min-height: 240px;
		margin: 0 auto 16px;
	}
	.studio_intro--img .slick-arrow {
		display: none !important;
	}
	.studio_intro--img .slick-dots {
		position: relative;
		right: auto;
		flex-direction: row;
		margin-top: 16px;
	}
	.studio_intro--img .slick-dots li {
		width: calc(20% - 8px);
		aspect-ratio: 1;
	}
}

/* instrument_table
 *************************************************** */
.instrument_table {
	display: flex;
	flex-wrap: wrap;
	border-top: 2px solid #eee;
}
.instrument_table li {
	width: calc(25% + 2px);
	margin: 0 -1px;
	font-size: 0.875rem;
	text-align: center;
	border-bottom: 2px solid #eee;
	border-inline: 2px solid #eee;
}
.instrument_table .ttl,
.instrument_table .cell {
	padding: 0.3em !important;
	margin: 0 -1px;
}
.instrument_table .ttl {
	font-weight: bold;
	vertical-align: middle;
	background-color: #f6f6f6;
	border-bottom: 2px solid #eee;
}
.instrument_table .cell {
	background-color: #fff;
}

@media screen and (max-width: 767px) {
	.instrument_table li {
		width: calc(50% + 2px);
		line-height: 1.3;
		font-size: 0.75rem;
	}
}

/* instructor_info
 *************************************************** */
.instructor_info {
	display: grid;
	grid-template-columns: 1fr 200px;
	gap: 45px;
	padding: 64px;
}
.instructor_info--txt {
	text-align: justify;
}
.instructor_info--txt .heading-3 {
	color: #555;
	font-size: 1.4375rem;
}
.instructor_info--txt .heading-3 span {
	margin-left: 1em;
	font-size: 0.875rem;
	letter-spacing: 0.12em;
}
.instructor_info--balloon::before {
	content: '';
}
.instructor_info--balloon-ttl {
	position: relative;
	padding-left: 1.2em;
	font-size: 0.9rem;
	line-height: 1;
}
.instructor_info--balloon-ttl::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	display: block;
	width: 4px;
	border-radius: 4px;
	background-color: #dcccb6;
}
.instructor_info--balloon {
	padding: 1.5em 2em;
	background-color: #f6f6f6;
	border-radius: 0.5em;
}
.instructor_info--img img {
	object-fit: cover;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	border-radius: 50%;
}
.instructor_info .btn-more a {
	min-width: auto;
	width: 100%;
}
.instructor_info .btn-more.pc-none {
	display: none;
}
.instructor_info .btn-more.sp-none {
	display: block;
}
@media screen and (max-width: 767px) {
	.instructor_info {
		display: flex;
		flex-direction: column-reverse;
		flex-wrap: wrap;
		gap: 0;
	}
	.instructor_info .btn-more.sp-none {
		display: none;
	}
	.instructor_info .btn-more.pc-none {
		display: block;
		margin-top: 20px;
		text-align: center;
	}
	.instructor_info .btn-more.pc-none a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}
	.instructor_info--img {
		width: 70%;
		margin-inline: auto;
	}
	.instructor_info--balloon {
		margin-bottom: 16px;
	}
}

/* =====================================================================================
    SINGLE event
===================================================================================== */
.event--info .section_ttl {
	font-size: 1.875rem;
	font-weight: normal;
	line-height: 1.6;
	margin-bottom: 32px;
	color: #e75f5f;
}
.event--info .img-area {
	display: inline-block;
	width: auto;
	height: auto;
	text-align: center;
	font-size: 86%;
}
.event--info .img-area a {
	border: 1px solid #000;
	display: inline-block;
}
.event--info .img-area img {
	position: relative;
	max-width: 100%;
	max-height: 100%;
	left: auto;
	right: auto;
	top: auto;
	bottom: auto;
}
@media screen and (max-width: 767px) {
	.event--info .img-area {
		width: 100%;
		text-align: center;
	}
}

/* =====================================================================================
    SINGLE campaign
===================================================================================== */
.campaign-detail {
	position: relative;
}
.campaign-detail .onpu-a {
	left: -24px;
}
.campaign-detail .onpu-d {
	right: -24px;
}
.campaign-detail .onpu-f {
	top: -24px;
}
.campaign-detail .white-box {
	position: relative;
}
.campaign-detail .white-box p {
	line-height: 2.3em;
	text-align: center;
	margin-bottom: 2.3em;
}

/* =====================================================================================
    SINGLE instructors
===================================================================================== */
/* instructors--info
 *************************************************** */
.instructors--info {
	position: relative;
}
.instructors--info .teacher-name {
	font-size: 187%;
	font-weight: normal;
	margin: 72px 0 32px;
	line-height: 1.2;
}
.instructors--info .img-area {
	position: relative;
	width: 400px;
	overflow: hidden;
	display: block;
	height: 560px;
	background: top center no-repeat;
	background-size: cover;
	float: right;
	margin-left: 56px;
}
.instructors--info .img-area img {
	position: relative;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.instructors--info .text-area {
	width: 560px;
}
.instructors--info .wysiwyg {
	font-size: 108%;
	margin-bottom: 40px;
}
.instructors--info .box {
	background: #fff;
	line-height: 1.6;
	padding: 1em 1.5em;
	margin-right: 4px;
	border-radius: 3px;
}
.instructors--info .box .post-cat {
	display: inline-block;
	padding-right: 1em;
}
.instructors--info .box .post-cat:not(:last-child)::after {
	content: ', ';
}
.instructors--info .instrument {
	font-size: 160px;
	position: absolute;
	z-index: -1;
	color: rgba(181, 219, 232, 0.34);
	top: 10px;
	left: 10px;
	line-height: 1;
}
.teacher-name small {
	display: block;
	font-size: 67%;
	color: #b5dbe8;
	margin-top: 10px;
	font-weight: bold;
	text-transform: uppercase;
}
.studio-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 54px 32px;
}
.studio-list-item {
	position: relative;
	background: #fff;
	border-radius: 3px;
	vertical-align: top;
	border: 1px solid #eee;
	transition: all 0.2s ease-out;
	display: flex;
	flex-direction: column;
}
.studio-list-item:hover {
	opacity: 0.3;
}
.studio-list-item .img-area {
	text-align: center;
	background: #d4c8bc url(../images/common/footer_logo.webp) center no-repeat;
	width: 100%;
	aspect-ratio: 1;
}
.studio-list-item .img-area img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.studio-list-item .text-area {
	padding: 24px;
	font-size: 0.8125rem;
	line-height: 1.7;
	display: flex;
	flex-direction: column;
	flex: 1;
}
.studio-list-item .studio-ttl {
	font-size: 1rem;
	line-height: 1.4;
	margin-bottom: 0.5em;
	border-bottom: 2px solid #eee;
	padding-bottom: 1em;
}
.studio-list-item .area {
	margin-bottom: 1em;
	border-bottom: 2px solid #eee;
	padding-bottom: 0.5em;
	font-weight: bold;
}
.studio-list-item .walk {
	font-size: 1.0625rem;
}
.studio-list-item .btn-more a {
	width: 100%;
	min-width: auto;
}
@media screen and (max-width: 767px) {
	.instructors--info .text-area {
		width: 100%;
	}
	.instructors--info .img-area {
		width: 100%;
		height: 360px;
		float: none;
		margin: 0 0 24px;
	}
	.instructors--info .instrument {
		position: relative;
		font-size: 100%;
		top: 0;
		left: 0;
		color: #aaa;
		margin-bottom: 16px;
		float: right;
	}
	.instructors--info .teacher-name {
		margin: 0 0 24px;
	}
	.studio_intro--img.no-image,
	.instructors--info .img-area.no-image {
		border: 10px solid #fff;
		background: #deceba url(../images/common/footer_logo_sp.webp) center no-repeat;
		background-size: 160px auto;
	}
	.instructors--info .category {
		display: block;
	}
	.studio-list {
		display: block;
	}
	.studio-list-item {
		width: 100%;
		margin: 0 0 40px;
	}
	.studio-list-item .category {
		top: -18px;
		font-size: 93%;
		max-width: 100%;
		height: 18px;
		overflow: hidden;
	}
	.studio-list-item .text-area {
		padding: 16px;
	}
}

/* =====================================================================================
    SINGLE blog
===================================================================================== */

/* 記事
 *************************************************** */
.blog-ttl {
	position: relative;
	border-bottom: solid 3px #b5dbe8;
	font-size: 1.75rem;
	font-weight: normal;
	padding-bottom: 8px;
	margin-bottom: 24px;
}
.blog-ttl:after {
	position: absolute;
	content: ' ';
	display: block;
	border-bottom: solid 3px #ffc778;
	bottom: -3px;
	width: 30%;
}
.textarea {
	word-wrap: break-word;
}
.eyecatch-area {
	margin-bottom: 24px;
}
.eyecatch-area img {
	max-width: 100%;
	height: auto;
}

/* side-section */
.side-section {
	margin-bottom: 40px;
	font-size: 94%;
}
.side-section a {
	position: relative;
	display: block;
	line-height: 1.6;
	padding: 3px 0px;
	padding-left: 16px;
}
.side-section a::before {
	display: inline-block;
	font: normal normal normal 14px/1 FontAwesome;
	font-size: inherit;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	position: absolute;
	content: '\f105';
	left: 0;
	top: 8px;
}
.side-section a .count {
	display: inline-block;
	margin-left: 8px;
	padding: 3px 5px;
	line-height: 1;
	text-align: center;
	background: #a4c6d2;
	border-radius: 10px;
	color: #fff;
	font-size: 80%;
}
.side-ttl {
	font-size: 135%;
	color: #99bac5;
	border-bottom: 1px dotted #aaa;
	margin-bottom: 8px;
	padding-bottom: 16px;
	overflow: hidden;
	line-height: 1;
}
.side-ttl small {
	display: block;
	font-size: 60%;
	color: #666;
	float: right;
	padding-top: 8px;
}
#wp-calendar {
	width: 100%;
	text-align: center;
}
#wp-calendar caption {
	background: #b5dbe8;
}
#wp-calendar thead {
	background: #fff;
}
.side-section #wp-calendar a {
	padding: 0;
	color: #e75f5f;
}
#wp-calendar a::before {
	display: none;
}

/* ブログカード */
.blog-card {
	position: relative;
	display: grid;
	grid-template-columns: 40% 1fr;
	align-items: center;
	background-color: #fff;
	border-radius: 4px;
	overflow: hidden;
	box-shadow: 0 5px 10px -3px rgb(0 0 0 / 20%);
}
.blog-card:not(:first-child) {
	margin-top: 2em;
}
.blog-card:not(:last-child) {
	margin-bottom: 2em;
}
.blog-card-thumbnail img {
	width: 100%;
	margin: 0 !important;
}
.blog-card-content {
	padding: 1em;
	line-height: 1.5;
	background-color: #fff;
}
.blog-card-title {
	margin-bottom: 0.5em;
}
.blog-card-title a {
	color: #040404 !important;
	font-size: 1.0625rem;
	font-weight: bold;
	text-decoration: none;
}
.blog-card-tax {
	display: flex;
	justify-content: flex-end;
	gap: 8px;
}
.blog-card-tax a {
	position: relative;
	z-index: 1;
	display: block;
	width: fit-content;
	padding: 0.5em;
	color: #040404 !important;
	text-decoration: none;
	font-size: 0.75rem;
	line-height: 1;
	background-color: #cae4ea;
}

@media screen and (max-width: 767px) {
	.blog-card {
		display: block;
	}
	.blog-ttl {
		font-size: 139%;
		line-height: 1.6;
	}
	.blog-card-title a {
		font-size: 1.23rem;
	}
	.blog-card-tax a {
		font-size: 0.846rem;
	}
}

/* =====================================================================================
    PAGE contact
===================================================================================== */

/* contact
*************************************************** */
.contact--txt {
	margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
	.contact--txt.txt-ctr {
		text-align: left;
	}
}

/* =====================================================================================
    ショートコード
===================================================================================== */
.sc_link,
.supervise_link {
	text-align: center;
	display: table;
	margin-left: auto !important;
	margin-right: auto !important;
}
.sc_link a,
.supervise_link a {
	position: relative;
	display: table-cell;
	min-width: 240px;
	min-height: 48px;
	background: #a3c5d0 url(../images/common/bg_blue_pattern02.webp);
	border-radius: 24px;
	line-height: 1.6;
	vertical-align: middle;
	text-align: center;
	color: #333;
	text-decoration: none;
	padding: 10px 50px 8px 32px;
}
.sc_link a::after,
.supervise_link a::after {
	content: '';
	position: absolute;
	display: block;
	top: 50%;
	transform: translate(0%, -50%);
	width: 7px;
	height: 7px;
	right: 32px;
	transform-origin: center center;
	-webkit-transform-origin: top left;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	border-bottom: 1px solid #fff;
	border-right: 1px solid #fff;
}
.sc_link a:hover,
.supervise_link a:hover {
	background: #b5dbe8;
	color: #000;
}

/*監修者情報*/
.supervise_link {
	margin-top: 2em;
}
.supervise_wrap {
	margin-top: 35px;
	background: #fff;
	border-radius: 3px;
	box-shadow: 0 0 1px rgb(0 0 0 / 20%);
	padding: 35px;
}
.supervise_area {
	display: flex;
	flex-wrap: wrap;
}
.supervise_area_img {
	width: 180px;
	margin-right: 30px;
}
.supervise_area_img figure img {
	width: 180px;
	height: 180px;
	border-radius: 100%;
	object-fit: cover;
}
.supervise_sns {
	margin-top: 20px;
	display: flex;
	gap: 1rem;
	justify-content: center;
}
.supervise_sns li {
	max-width: 30px;
}
.supervise_sns li img {
	width: 100%;
}
.supervise_sns a:hover {
	opacity: 0.8;
}
.supervise_area_cont {
	width: calc(100% - 215px);
}
.supervise_area_cont h3 {
	font-size: 110%;
}
.supervise_area_cont--txt {
	font-size: 0.875rem;
}
.supervise_comment_area {
	margin-top: 1.5em;
}
.supervise_sns--twitter a,
.supervise_sns--instagram a {
	text-decoration: underline;
	color: #d00a23;
}
@media screen and (max-width: 767px) {
	.supervise_wrap {
		padding: 16px;
	}
	.supervise_area {
		margin-bottom: 16px;
	}
	.supervise_area_img {
		width: 100%;
		margin-right: 0;
	}
	.supervise_area_img figure {
		text-align: center;
	}
	.supervise_area_img figure img {
		width: 160px;
		height: 160px;
	}
	.supervise_area_cont {
		width: 100%;
		margin-top: 1em;
	}
}

/* =====================================================================================
    formy
===================================================================================== */
.footer--cta {
	position: relative;
}
.form-tab li a {
	display: block;
	background: #85b7c8;
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;
	padding: 10px 20px;
	font-weight: bold;
}
.form-tab li.current a {
	background: rgba(181, 219, 232, 0.8);
}
.form-tab li a:hover {
	color: #333;
}
@media screen and (max-width: 767px) {
	.form-tab li {
		width: 100%;
	}
	.form-tab li a {
		padding: 8px;
		text-align: center;
		line-height: 1.6;
		font-size: 90%;
	}
}
#formyForm {
	background: rgba(181, 219, 232, 0.8);
	padding: 80px 140px;
	position: relative;
}
#formyForm::before {
	content: '';
	position: absolute;
	left: 8px;
	right: 8px;
	top: 8px;
	bottom: 8px;
	border-radius: 3px;
	border: 1px dashed #fff;
	pointer-events: none;
}
#formyForm table {
	width: 100%;
}
#formyForm th,
#formyForm td {
	padding: 16px 0;
	vertical-align: middle;
	border-bottom: 1px solid rgba(255, 255, 255, 0.25);
}
#formyForm th {
	font-weight: normal;
	white-space: nowrap;
	text-align: left;
	width: 36%;
}
#formyForm table th:nth-child(1) {
	font-size: 90%;
}
#formyForm table input[type='text'],
#formyForm table input[type='password'],
#formyForm table input[type='date'],
#formyForm table input[type='hidden'],
#formyForm table input[type='tel'],
#formyForm table input[type='email'],
#formyForm table textarea {
	width: 100%;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	vertical-align: bottom;
}
#formyForm table input[type='text'],
#formyForm table input[type='password'],
#formyForm table input[type='date'],
#formyForm table input[type='hidden'],
#formyForm table input[type='tel'],
#formyForm table input[type='email'],
#formyForm select,
#formyForm textarea {
	margin: 0;
	padding: 5px 15px;
	border: 1px solid #fff;
	font: inherit;
	font-size: 100%;
}
#formyForm select {
	height: 42px;
	width: 100%;
}
#formyForm ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
#formyForm td li {
	display: inline-block;
	vertical-align: middle;
	margin-right: 24px;
}
#formyForm input:hover {
	opacity: 0.7;
}
#formyForm textarea:hover {
	opacity: 0.7;
}
/*formy ラジオボタン*/
#formyForm ul li input[type='radio'] {
	display: none !important;
}
#formyForm ul li label {
	height: 40px;
	line-height: 40px;
	display: inline-block;
	vertical-align: top;
	position: relative;
	border-radius: 64px;
	padding: 0px 8px 0px 40px;
	margin-top: 4px;
	margin-bottom: 4px;
	cursor: pointer;
	width: 200px;
	background: #fff;
}
#formyForm ul li input[name='element_287_58d86f3714292'] + label,
#formyForm ul li input[name='element_293_58d870c444115'] + label {
	width: 320px;
	margin: 4px 0;
}
#formyForm ul li label:hover {
	opacity: 0.7;
}
#formyForm ul li label:before {
	content: '';
	position: absolute;
	width: 16px;
	height: 16px;
	border: 2px solid #788b93;
	left: 16px;
	top: 12px;
	border-radius: 10px;
}
#formyForm ul li input[type='radio']:checked + label {
	color: #e75f5f;
	font-weight: bold;
}
#formyForm ul li input[type='radio']:checked + label::before {
	border-color: #e75f5f;
}
#formyForm ul li input[type='radio']:checked + label::after {
	content: '';
	width: 10px;
	height: 18px;
	border-right: 2px solid #e75f5f;
	border-bottom: 2px solid #e75f5f;
	display: block;
	position: absolute;
	z-index: 10;
	transform: rotate(45deg);
	top: 4px;
	left: 20px;
}
/*ここまで*/
#formyForm .parsley-validated {
	background-color: #eee;
}
#formyForm .parsley-error {
	background-color: #fee;
}
#formyForm .parsley-success {
	background-color: #fff;
}
.confirm-message {
	text-align: center;
	margin-top: 16px;
	font-size: 93%;
}
.help_text {
	font-size: 85%;
	color: #666;
}
.hidden_help {
	display: none;
}
.formy_privacy div {
	overflow-y: scroll;
	height: 140px;
	background: #fff;
	border: solid 1px #fff;
	border-radius: 3px;
	font-size: 85%;
	padding: 8px;
}
.requiredIcon {
	background: #e75f5f !important;
	color: #fff !important;
	text-align: center;
	margin: 0 16px 0 0 !important;
	font-size: 70% !important;
	width: 32px;
	height: 32px;
	line-height: 32px;
	-moz-border-radius: 16px !important;
	-webkit-border-radius: 16px !important;
	border-radius: 16px !important;
	float: right;
	padding: 0 !important;
	position: static !important;
	right: auto !important;
}
#formy_btn {
	padding: 64px 0 0;
	text-align: center;
}
#formy_btn input {
	border: none;
	cursor: pointer;
	text-indent: -9999px;
}
.formy_confirm {
	width: 360px;
	height: 72px;
	background: url(../images/formy/formy_confilm.webp) no-repeat;
}
.formy_submit_disabled {
	width: 360px;
	height: 72px;
	background: url(../images/formy/formy_disabled.webp) no-repeat;
}
#formy_btn .formy_submit_disabled:hover {
	opacity: 1;
	cursor: default;
}
.autoConfirmBack {
	width: 160px;
	height: 72px;
	background: url(../images/formy/formy_reset.webp) no-repeat;
}
.formy_send {
	width: 360px;
	height: 72px;
	background: url(../images/formy/formy_submit.webp) no-repeat;
}
#total_required,
.form-group_num {
	background: rgba(240, 50, 50, 0.8);
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	color: #fff;
	position: fixed;
	top: 123px;
	left: 16px;
	display: none;
	padding: 16px 24px;
	line-height: 1;
	z-index: 300;
}
#telSp {
	margin: 0px auto;
	width: 800px;
	border-bottom: 1px solid #dddddd;
	padding-bottom: 30px;
	color: #09c;
	text-align: center;
}
.contactBtn a {
	display: inline-block;
	margin: 0 auto;
	padding: 15px 80px;
	text-decoration: none;
	border: 2px solid #28a7e1;
}
.privacy-link {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 180px;
	font-size: 88%;
}
.form-select {
	margin-bottom: 24px;
}
.form-select li:not(:last-child) {
	margin-right: 20px;
}
.form-select li {
	width: 240px;
	text-align: center;
}
.form-select li a {
	border: 1px solid #c5ccd6;
	display: block;
	font-weight: bold;
	padding: 8px;
	cursor: pointer;
	background: #aed2df;
	color: #333;
	transition: all 0.4s;
	border-radius: 4px;
	box-shadow: 5px 0 5px #cdcdcd;
}
.form-select li a:hover {
	background: #e75f5f;
	color: #fff;
}
@media screen and (max-width: 767px) {
	#formyForm {
		padding: 40px 17px;
	}
	.form-select {
		margin-bottom: 0;
	}
	.form-select li:not(:last-child) {
		margin-right: 15px;
		margin-bottom: 15px;
	}
	.form-select li {
		width: 100%;
	}
	#total_required,
	.form-group_num {
		top: 80px;
	}
	#formyForm td li {
		margin-right: 0;
	}
	#formyForm ul li label {
		width: 132px;
		margin: 8px 0 0;
	}
	#formyForm ul li input[name='element_287_58d86f3714292'] + label,
	#formyForm ul li input[name='element_293_58d870c444115'] + label {
		max-width: 100%;
		min-width: 100%;
		width: 260px;
		display: block;
	}
	#formyForm ul li input[name='element_387_5ea636c0cd9fc'] + label {
		max-width: 100%;
		min-width: 100%;
		width: 200px;
		display: block;
	}
	.attention-text::after {
		display: none;
	}
	.contact-tel img {
		width: 232px;
	}
	.formy-wrap {
		margin: 0;
		padding: 16px 0 40px;
	}
	#formyForm th,
	#formyForm td {
		display: block;
		width: 100%;
		padding: 8px 0;
	}
	#formyForm th {
		font-weight: bold;
		padding-bottom: 0;
		border-bottom: 0;
		margin-bottom: 16px;
	}
	#formyForm td {
		padding-top: 0;
	}
	#formy_btn input {
		max-width: 100%;
		background-size: contain;
	}
	.formy_confirm {
		width: 100%;
		height: 72px;
		background: url(../images/formy/formy_confilm_smp.webp) no-repeat;
		background-size: contain;
	}
	.formy_submit_disabled {
		width: 100%;
		height: 72px;
		background: url(../images/formy/formy_disabled_sp.webp) no-repeat;
		background-size: contain;
	}
	#formy_btn .formy_submit_disabled:hover {
		opacity: 1;
		cursor: default;
	}
	.requiredIcon {
		margin: 0 0 3px !important;
		width: 28px !important;
		height: 28px !important;
		line-height: 28px !important;
	}
	.autoConfirmBack {
		width: 100%;
		height: 72px;
		background: url(../images/formy/formy_reset_sp.webp) no-repeat;
		background-size: contain;
		margin-bottom: 8px;
	}
	.formy_send {
		width: 100%;
		height: 72px;
		background: url(../images/formy/formy_submit_sp.webp) no-repeat;
		background-size: contain;
	}
	#formyForm input:hover {
		opacity: 1;
	}
	.privacy-link {
		padding: 0 16px;
		bottom: 132px;
	}
}

/* =====================================================================================
    PAGE lp-piano 以下全部
===================================================================================== */

/* --- whitebox --- */
.whitebox {
	position: relative;
	padding-left: 40px;
	padding-right: 40px;
	padding-bottom: 80px;
	background-color: #fff;
}
.whitebox::before,
.whitebox::after {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	width: 100%;
}
.whitebox::before {
	top: -74px;
	height: 74px;
	background: url(../images/lp-piano/whitebox-bg.webp) top center no-repeat;
}
.whitebox::after {
	bottom: 0;
	height: 2px;
	background: url(../images/lp-piano/whitebox-line.webp) top center no-repeat;
}
@media screen and (max-width: 767px) {
	.whitebox {
		padding-bottom: 40px;
		padding-left: 16px;
		padding-right: 16px;
		text-align: left;
	}
	.whitebox::before {
		top: -10vw;
		height: 10vw;
		background-size: cover;
		background-image: url(../images/lp-piano/whitebox-bg_sp.webp);
	}
	.whitebox::after {
		background-size: 220%;
	}
}

/* lp-hero
 **************************************** */
.lp-hero {
	overflow: hidden;
	padding-top: 15%;
	padding-bottom: 15%;
	background: url(../images/lp-piano/hero-img.webp) center;
	background-size: cover;
}
.lp-hero::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	display: block;
	width: 100%;
	height: 128px;
	background: url(../images/lp-piano/hero-bg.webp) top center no-repeat;
}
.lp-h1 span {
	display: block;
}
.lp-section_ttl {
	padding-top: 56px;
	background: url(../images/lp-piano/section_ttl-img.webp) top center no-repeat;
}
@media screen and (max-width: 767px) {
	.lp-hero {
		padding-top: 30%;
		padding-bottom: 30%;
		padding-left: 20px;
		padding-right: 20px;
		background: url(../images/lp-piano/hero-img_sp.webp) center;
		background-size: cover;
	}
	.lp-h1 span img {
		width: 100px;
	}
	.lp-hero::after {
		height: 50px;
		background-position: top left 48%;
		background-size: cover;
	}
	.lp-section_ttl {
		padding-top: 56px;
		background-image: url(../images/lp-piano/section_ttl-img_sp.webp);
		background-size: 32px;
	}
	.lp-section-about .lp-section_ttl img,
	.lp-section-charm .lp-section_ttl img,
	.lp-section-companison .lp-section_ttl img,
	.lp-section-questionnaire .lp-section_ttl img {
		width: auto;
		height: 25vw;
	}
	.lp-section-fee .lp-section_ttl img {
		width: auto;
		height: 16vw;
	}
	.questionnaire_box01 h3 img,
	.questionnaire_box02 h3 img {
		width: auto;
		height: 14vw;
	}
	.questionnaire_box03 h3 img {
		width: auto;
		height: 22vw;
	}
	.lp-section-lesson .lp-section_ttl img {
		width: auto;
		height: 28vw;
	}
	.lp-section-questionnaire .lp-section_ttl,
	.lp-section-lesson .lp-section_ttl {
		padding-left: 32px;
		padding-right: 32px;
	}
}

/* lp-section-about
**************************************** */
.lp-section-about {
	position: relative;
	overflow: hidden;
	padding-top: 110px;
	margin-top: -110px;
}
.lp-section-about::before {
	content: '';
	position: absolute;
	top: 0;
	right: calc(50% - 830px);
	display: block;
	width: 411px;
	height: 339px;
	background-image: url(../images/lp-piano/section01-line.webp);
	pointer-events: none;
}
.lp-section-about .kazari-f {
	top: 287px;
	bottom: auto;
	right: calc(50% - 830px);
}
.lp-section-about .onpu01 {
	top: 70px;
	left: auto;
	right: calc(50% - 340px);
}
.lp-section-about .onpu02 {
	top: 120px;
	left: auto;
	right: calc(50% - 740px);
}
.lp-section-about .onpu03 {
	top: 110px;
	left: auto;
	right: calc(50% - 530px);
}
.lp-section-about .onpu04 {
	top: 320px;
	left: auto;
	right: calc(50% - 580px);
}
.lp-section-about .point_contents .img-area {
	margin-right: 64px;
}
@media screen and (max-width: 767px) {
	.lp-section-about .point_contents .img-area {
		margin-right: 0;
		margin-bottom: 24px;
	}
}

/* lp-section-recommend
**************************************** */
.lp-section-recommend {
	position: relative;
	padding-bottom: 0;
	overflow: hidden;
	background: url(../images/lp-piano/section02-bg.webp) center no-repeat;
	background-size: cover;
}
.lp-section-recommend .lp-section_ttl {
	margin-bottom: 130px;
}
.lp-section-recommend .inner {
	position: relative;
}
.recommend_img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}
.recommend_img img {
	position: absolute;
}
.recommend_img .left_img1 {
	bottom: 50px;
	left: 14%;
}
.recommend_img .left_img2 {
	bottom: 340px;
	left: 26%;
}
.recommend_img .left_img3 {
	bottom: 240px;
	left: 0;
}
.recommend_img .right_img1 {
	bottom: 310px;
	right: 20%;
}
.recommend_img .right_img2 {
	bottom: 190px;
	right: 7%;
}
.recommend_img .right_img3 {
	bottom: 40px;
	right: 10%;
}
.lp-section-recommend .onpu01 {
	left: 10%;
	bottom: 200px;
}
.lp-section-recommend .onpu02 {
	left: 18%;
	bottom: 450px;
	transform: scale(-1, 1) rotate(-5deg);
}
.lp-section-recommend .onpu03 {
	right: 10%;
	bottom: 420px;
	transform: scale(-1, 1);
}
.lp-section-recommend .onpu04 {
	right: 30%;
	bottom: 230px;
}
@media screen and (max-width: 767px) {
	.lp-section-recommend {
		padding-bottom: 8px;
	}
	.lp-section-recommend::after {
		background-size: 100%;
		height: 3%;
	}
	.recommend_origin {
		width: 160px;
	}
	.recommend_img img {
		width: 140px;
	}
	.recommend_img .left_img1 {
		bottom: 50px;
		left: -10px;
		width: 100px;
	}
	.recommend_img .left_img2 {
		bottom: 250px;
		left: 40px;
		width: 120px;
	}
	.recommend_img .left_img3 {
		bottom: 140px;
		left: -35px;
		width: 160px;
	}
	.recommend_img .right_img1 {
		bottom: 260px;
		right: 0;
		width: 140px;
	}
	.recommend_img .right_img2 {
		bottom: 160px;
		right: -10px;
		width: 110px;
	}
	.recommend_img .right_img3 {
		bottom: 40px;
		right: -30px;
		width: 140px;
	}
	.lp-section-recommend .kazari {
		display: none;
	}
}

/* lp-section-charm
**************************************** */
.lp-section-charm {
	position: relative;
	overflow: hidden;
}
.point-contents {
	position: relative;
	margin-bottom: 40px;
}
.point-contents:last-child {
	margin-bottom: 0;
}
.point-list {
	position: relative;
	padding-top: 40px;
}
.whitebox + .point-list::before {
	content: '';
	position: absolute;
	top: 0;
	left: 42%;
	display: block;
	width: 242px;
	height: 197px;
	background-image: url(../images/lp-piano/ten_point_c.webp);
}
.point-contents .text-area {
	position: relative;
}
.point-contents .img-area::before,
.point-contents .img-area::after {
	content: '';
	display: block;
	position: absolute;
	background: center no-repeat;
}
.point-contents .img-area::before {
	z-index: 1;
}
.point-bg {
	position: absolute;
	z-index: -1;
}
.point-01 .point-bg {
	top: 210px;
	right: -80px;
	transform: rotate(-90deg);
}
.point-02 .point-bg {
	top: -10px;
	left: -10px;
}
.point-03 .point-bg {
	top: 10px;
	right: -50px;
}
.point-05 {
	margin-top: 40px;
}
.point-05 .point-bg {
	bottom: 0;
	right: 330px;
	transform: rotate(-175deg);
}
.point-06 .point-bg {
	bottom: 80px;
	left: 395px;
}
.point-01 .img-area::before {
	top: 30px;
	right: 486px;
	width: 165px;
	height: 60px;
	background-image: url(../images/lp-piano/point01.webp);
}
.point-02 .img-area::before {
	top: -30px;
	right: 0;
	width: 177px;
	height: 53px;
	background-image: url(../images/lp-piano/point02.webp);
}
.point-03 .img-area::before {
	top: 10px;
	right: 540px;
	width: 174px;
	height: 74px;
	background-image: url(../images/lp-piano/point03.webp);
}
.point-04 .img-area::before {
	top: -20px;
	right: -20px;
	width: 174px;
	height: 60px;
	background-image: url(../images/lp-piano/point04.webp);
}
.point-05 .img-area::before {
	top: 70px;
	left: 380px;
	width: 172px;
	height: 59px;
	background-image: url(../images/lp-piano/point05.webp);
}
.point-06 .img-area::before {
	top: -20px;
	right: 20px;
	width: 171px;
	height: 53px;
	background-image: url(../images/lp-piano/point06.webp);
}
.point-01 .img-area::after,
.point-03 .img-area::after,
.point-05 .img-area::after {
	bottom: -110px;
	left: 38%;
	width: 202px;
	height: 239px;
	background-image: url(../images/lp-piano/ten_point_a.webp);
}
.point-02 .img-area::after,
.point-04 .img-area::after,
.point-06 .img-area::after {
	bottom: -100px;
	left: 40%;
	width: 242px;
	height: 197px;
	background-image: url(../images/lp-piano/ten_point_c.webp);
}
.point-contents.flex-reverse .point-img {
	margin: 0 80px 40px 0;
}
.point-contents .point-img {
	margin: 0 0 40px 80px;
}
.lp-section-charm .trial-btn {
	position: relative;
	z-index: 0;
	border: 1px solid #e87d7e;
	box-shadow: 20px 20px 0 #e87d7e;
}
.lp-section-charm .trial-btn:hover {
	border: 1px solid #000;
	box-shadow: -20px -20px 0 #000;
	background: #e87d7e;
}

/* --- kazari --- */
.lp-section-charm .kazari-piano01 {
	top: 60px;
	left: calc(50% - 800px);
	width: 243px;
	height: 367px;
	background-image: url(../images/lp-piano/kazari-piano01.webp);
}
.lp-section-charm .kazari-piano01 .onpu01 {
	top: auto;
	bottom: 80px;
	left: 180px;
}
.lp-section-charm .kazari-piano01 .onpu02 {
	top: 30px;
	left: 250px;
}
.lp-section-charm .kazari-piano01 .onpu03 {
	left: 110px;
	bottom: -20px;
}
.lp-section-charm .kazari-piano02 {
	top: 25%;
	right: calc(50% - 800px);
	width: 238px;
	height: 432px;
	background-image: url(../images/lp-piano/kazari-piano02.webp);
}
.lp-section-charm .kazari-piano02 .onpu01 {
	top: 10px;
	left: 70px;
}
.lp-section-charm .kazari-piano02 .onpu02 {
	top: 160px;
	left: 140px;
}
.lp-section-charm .kazari-piano03 {
	top: 50%;
	left: calc(50% - 800px);
	width: 231px;
	height: 384px;
	background-image: url(../images/lp-piano/kazari-piano03.webp);
}
.lp-section-charm .kazari-piano03 .onpu01 {
	top: 180px;
	left: 190px;
}
.lp-section-charm .kazari-piano03 .onpu02 {
	top: 130px;
	left: 80px;
}
.lp-section-charm .kazari-piano04 {
	top: 75%;
	right: calc(50% - 800px);
	width: 238px;
	height: 432px;
	background-image: url(../images/lp-piano/kazari-piano04.webp);
}
.lp-section-charm .kazari-piano04 .onpu01 {
	top: 10px;
	left: 70px;
}
.lp-section-charm .kazari-piano04 .onpu02 {
	top: 150px;
	left: 140px;
}
@media screen and (max-width: 767px) {
	.whitebox + .point-list::before,
	.point-contents .img-area::after,
	.point-contents .point-bg {
		display: none;
	}
	.point-contents {
		flex-direction: column-reverse;
	}
	.point-contents .point-img,
	.point-contents.flex-reverse .point-img {
		margin: 0 0 32px 0;
	}
	.point-contents .img-area::before {
		background-size: cover;
	}
	.point-01 .text-area h3 img,
	.point-02 .text-area h3 img,
	.point-04 .text-area h3 img {
		height: 16vw;
		width: auto;
	}
	.point-03 .text-area h3 img,
	.point-05 .text-area h3 img,
	.point-06 .text-area h3 img {
		height: 24vw;
		width: auto;
	}
	.point-list {
		margin-bottom: 80px;
	}
	.point-01 .img-area::before {
		top: -20px;
		left: 0;
		right: auto;
		width: 89px;
		height: 29px;
	}
	.point-02 .img-area::before {
		top: -20px;
		right: 0;
		width: 96px;
		height: 29px;
	}
	.point-03 .img-area::before {
		top: -20px;
		right: 0;
		width: 96px;
		height: 39px;
	}
	.point-04 .img-area::before {
		top: -20px;
		left: 0;
		right: auto;
		width: 89px;
		height: 31px;
	}
	.point-05 .img-area::before {
		top: -20px;
		left: 0;
		width: 92px;
		height: 31px;
	}
	.point-06 .img-area::before {
		top: -20px;
		right: 0;
		width: 98px;
		height: 31px;
	}
	.lp-section-charm .trial-btn {
		box-shadow: 12px 12px 0 #e87d7e;
	}
}

/* lp-section-fee
**************************************** */
.lp-section-fee {
	background-image: url(../images/lp-piano/section04-bg.webp);
}
.table_box--wrap {
	position: relative;
	padding: 48px 80px 80px 80px;
}
.table_box--wrap.ribbon {
	padding-top: 80px;
}
.table_box--wrap.ribbon::before {
	content: '';
	position: absolute;
	top: -12px;
	left: calc(50% - 554px / 2);
	display: block;
	width: 554px;
	height: 91px;
	background-image: url(../images/lp-piano/section04-ribbon.webp);
}
.judge::before {
	content: '';
	display: block;
	width: 100%;
	height: 41px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 8px;
	background-position: center;
	background-repeat: no-repeat;
}
.double_circle::before {
	background-image: url(../images/lp-piano/double_circle.webp);
}
.circle::before {
	background-image: url(../images/lp-piano/circle.webp);
}
.triangle::before {
	background-image: url(../images/lp-piano/triangle.webp);
}
.cross::before {
	background-image: url(../images/lp-piano/cross.webp);
}
.table_box-compare th,
.table_box-compare td {
	padding: 16px;
}
.table_box-compare th {
	height: 102px;
}
.table_box-compare td {
	font-size: 93%;
	line-height: 1.3;
}
.table_box-compare .table_box-th {
	background-color: #b5dbe8;
}
.table_box-compare .table_box-th.tsubaki {
	color: #fff;
	background-color: #ef4b4d;
}
.table_box-compare .table_box-td.tsubaki {
	background-color: #fff2f2;
}
@media screen and (max-width: 767px) {
	.table_box--wrap {
		padding: 24px;
	}
	.scroll_table--wrap .table_box table,
	.scroll_table--wrap .table_box thead,
	.scroll_table--wrap .table_box tbody,
	.scroll_table--wrap .table_box tr {
		width: auto;
	}
	.table_box--wrap.ribbon {
		padding-top: 20%;
	}
	.table_box--wrap.ribbon::before {
		top: -10px;
		left: 20px;
		right: 10px;
		width: 90%;
		height: 8%;
		padding-top: 21%;
		background: url(../images/lp-piano/section04-ribbon_sp.webp) center no-repeat;
		background-size: contain;
	}
	.table_box-td img {
		width: 70%;
	}

	/* --- table_box-compare --- */
	.table_box-compare th,
	.table_box-compare td {
		width: 130px;
		height: auto;
		padding: 8px 16px;
	}
	.table_box-compare td {
		font-size: 82%;
	}

	/* --- scroll_table--wrap --- */
	.scroll_table--wrap {
		width: 100%;
		overflow-x: auto;
		margin-bottom: 64px;
		padding-top: 20px;
		padding-left: 0;
		-webkit-transform: translateZ(0);
	}
	.scroll_table--wrap::-webkit-scrollbar {
		height: 10px;
		/* スクロールバーの幅。横スクロールの場合はheightに変更する*/
	}
	.scroll_table--wrap::-webkit-scrollbar-thumb {
		background-color: #999;
		/*スクロールバーの色*/
		border-radius: 5px;
		/* Rもつけれる*/
	}
	.scroll_table--wrap::-webkit-scrollbar-track-piece {
		background-color: #dcdcdc;
		/* スクロールバーの背景色*/
	}
	.judge::before {
		height: 24px;
		margin-bottom: 4px;
		background-size: auto 100%;
	}
	.scroll--cap {
		display: flex;
		align-items: center;
	}
	.scroll--cap em {
		color: #ef4c4c;
		font-style: normal;
	}
	.scroll--cap span {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 32px;
		height: 32px;
		margin-right: 8px;
		border: 1px solid #ef4c4c;
		border-radius: 50%;
		animation: scroll 1.5s cubic-bezier(0.72, 0.24, 0.37, 0.9) forwards infinite alternate-reverse;
	}
	@keyframes scroll {
		0% {
			-webkit-transform: translateX(-10%);
			transform: translateX(-10%);
		}
		100% {
			-webkit-transform: translateX(10%);
			transform: translateX(10%);
		}
	}
}

/* lp-section-questionnaire
**************************************** */
.lp-section-questionnaire {
	position: relative;
	overflow: hidden;
	padding-bottom: 160px;
}
.lp-section-questionnaire::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	border: 30px solid #fff;
	pointer-events: none;
}
.lp-section-questionnaire .lp-section_ttl {
	margin-bottom: 130px;
}
.section-line {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}
.section-line .border-top,
.section-line .border-bottom {
	left: 14px;
	right: 14px;
}
.section-line .border-left,
.section-line .border-right {
	top: 14px;
	bottom: 14px;
}
.section-line .border-top {
	top: 14px;
}
.section-line .border-bottom {
	bottom: 14px;
}
.section-line .border-left {
	left: 14px;
}
.section-line .border-right {
	right: 14px;
}
.lp-section-questionnaire .onpu01 {
	top: 270px;
	left: auto;
	right: calc(50% - 360px);
}
.lp-section-questionnaire .onpu02 {
	top: 230px;
	left: calc(50% - 390px);
}
.lp-section-questionnaire .onpu03 {
	top: 130px;
	right: calc(50% - 240px);
	transform: scale(-1, 1);
}

/* --- questionnaire_box --- */
.questionnaire_box + .questionnaire_box {
	margin-top: 180px;
}
.questionnaire_box strong {
	color: #ef4b4d;
}
.questionnaire_box h3 {
	padding-top: 40px;
	background: url(../images/lp-piano/ribbon.webp) top center no-repeat;
	transform: translateY(-30px);
}
.questionnaire_box h3 span {
	display: block;
}
.questionnaire_answer li {
	padding: 18px 64px;
}
.questionnaire_answer li:nth-child(2n + 1) {
	background-color: #e5f5fa;
}
.questionnaire_answer .txt {
	font-size: 120%;
}
.questionnaire_answer .num {
	font-size: 146%;
}
.questionnaire_answer_other,
.questionnaire_answer_other--ttl {
	border: 1px solid #deceba;
}
.questionnaire_answer_other {
	padding: 0 34px 24px 34px;
	font-size: 106%;
}
.questionnaire_answer_other--ttl {
	display: inline-block;
	min-width: 312px;
	padding: 8px 20px;
	text-align: center;
	line-height: 0;
	border: 1px solid #deceba;
	transform: translateY(-1.2em);
}
.questionnaire_answer_other li {
	position: relative;
	width: 33.33%;
	padding-left: 16px;
	margin-bottom: 16px;
}
.questionnaire_answer_other li::before {
	content: '◆';
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	color: #deceba;
	font-size: 70%;
	line-height: 1;
	transform: translateY(-50%);
}
.questionnaire_box01 {
	padding-left: 100px;
	padding-right: 100px;
}
.questionnaire_box02-img {
	position: absolute;
	left: 20px;
	bottom: 0;
}
.questionnaire_box03 .questionnaire_answer .txt {
	font-size: 100%;
}
.questionnaire_box03 .questionnaire_answer li {
	padding: 4px 24px;
}

/* --- result_box --- */
.result_box--child {
	position: relative;
	width: 50%;
	padding: 24px;
	font-size: 90%;
}
.result_box--child .chart {
	position: relative;
	width: 30%;
	height: 100%;
}
.chartjs-render-monitor {
	position: absolute;
	left: 0;
	top: 0;
}
.result_box--child .legend {
	flex: 1;
	margin-left: 32px;
}

/* --- onpu_list --- */
.onpu_list li {
	padding-top: 24px;
	padding-bottom: 24px;
	padding-left: 24px;
	padding-right: 24px;
	line-height: 1.5;
}
.onpu_list li span {
	display: inline-block;
	padding-left: 32px;
	background-position: left center;
	background-repeat: no-repeat;
}
.onpu_list li:nth-child(2n + 1) span {
	background-image: url(../images/onp_k.webp);
}
.onpu_list li:nth-child(2n) span {
	background-image: url(../images/onp_j.webp);
}
@media screen and (max-width: 767px) {
	.lp-section-questionnaire {
		padding-bottom: 80px;
	}
	.lp-section-questionnaire::before {
		border: 15px solid #fff;
	}
	.lp-section-questionnaire .lp-section_ttl {
		margin-bottom: 80px;
	}
	.section-line .border-top,
	.section-line .border-bottom {
		left: 6px;
		right: 6px;
	}
	.section-line .border-left,
	.section-line .border-right {
		top: 6px;
		bottom: 6px;
	}
	.section-line .border-top {
		top: 6px;
	}
	.section-line .border-bottom {
		bottom: 6px;
	}
	.section-line .border-left {
		left: 6px;
	}
	.section-line .border-right {
		right: 6px;
	}

	/* --- result_box --- */
	.result_box--child {
		width: 100%;
		padding: 0;
		display: block;
	}
	.result_box--child:not(:last-child) {
		margin-bottom: 32px;
	}
	.result_box--child .chart {
		width: 100%;
		height: auto;
		margin-bottom: 16px;
	}
	.result_box--child .legend {
		margin-left: 0;
	}
	.result_box--child .legend h4 {
		text-align: center;
	}
	.chartjs-render-monitor {
		position: relative;
	}

	/* --- questionnaire_box --- */
	.questionnaire_box + .questionnaire_box {
		margin-top: 90px;
	}
	.questionnaire_box h3 {
		margin-bottom: 0;
		padding-top: 56px;
		background-size: 50%;
		background-position: top 16px center;
	}
	.questionnaire_box h3 span {
		margin-bottom: 16px;
	}
	.questionnaire_box h3 span img {
		width: auto;
		height: 28px;
	}
	.questionnaire_answer .txt,
	.questionnaire_answer .num {
		font-size: 100%;
	}
	.questionnaire_answer li {
		padding: 8px 16px;
	}
	.questionnaire_box01 {
		padding-left: 16px;
		padding-right: 16px;
	}
	.questionnaire_answer_other--ttl {
		min-width: auto;
	}
	.questionnaire_answer_other--ttl img {
		width: auto;
		height: 15px;
	}
	.questionnaire_answer_other {
		padding: 0 16px 8px 16px;
	}
	.questionnaire_answer_other li {
		width: 100%;
		margin-bottom: 8px;
	}
	.questionnaire_answer + .questionnaire_answer {
		margin-top: 16px;
	}
	.questionnaire_box-rgt {
		padding-right: 0;
	}
	.questionnaire_box02-img {
		display: none;
	}
	.onpu_list li span {
		background-size: 14px;
	}
}
/* lp-section-banner
**************************************** */
.lp-section-banner {
	background-image: url(../images/lp-piano/section04-bg.webp);
}
/* lp-section-lesson
**************************************** */
.lp-section-lesson {
	overflow: hidden;
	background: url(../images/lp-piano/section06-bg.webp) center no-repeat;
	background-size: cover;
}
.enquete {
	position: relative;
	padding: 58px 48px 32px 48px;
	border-radius: 3px;
}
.enquete::before {
	content: '';
	position: absolute;
	top: 10px;
	bottom: 10px;
	left: 10px;
	right: 10px;
	display: block;
	border: 2px dotted #deceba;
	border-radius: 3px;
	pointer-events: none;
}
.enquete--child {
	width: calc(20% - 8px);
	margin-bottom: 32px;
}
.enquete--child h3 {
	margin-bottom: 8px;
	color: #555;
	font-size: 85%;
}
.enquete--child a {
	position: relative;
	display: inline-block;
	border: 1px solid #6f6f6f;
}
.enquete--child a::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	background-color: rgba(181, 219, 232, 0.8);
	transition: 0.2s ease-out;
}
.enquete--child a:hover::before {
	opacity: 1;
}
.banner a {
	position: relative;
	display: inline-block;
	border: 1px solid #fff;
}
.banner a::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background-color: rgba(181, 219, 232, 0);
	pointer-events: none;
	transition: 0.2s ease-out;
}
@media (hover: hover) {
	.banner a:hover::before {
		background-color: rgba(181, 219, 232, 0.5);
	}
}
@media screen and (max-width: 767px) {
	.enquete {
		width: calc(100% + 14%);
		margin-left: -7%;
		padding: 24px 24px 0 24px;
	}
	.enquete::before {
		top: 8px;
		bottom: 8px;
		left: 8px;
		right: 8px;
	}
	.enquete--child {
		width: calc(50% - 4px);
	}
	.enquete--child:nth-child(n + 9) {
		display: none;
	}
}

/* lp-section-companison
**************************************** */
.lp-section-companison {
	background-image: url(../images/lp-piano/section04-bg.webp);
}

/* lp-section-message
**************************************** */
.lp-section-message {
	overflow: hidden;
	padding-top: 160px;
}
.message_box {
	position: relative;
	transition: 0.2s ease-out;
}
.message_box .onpu01 {
	top: 30%;
	left: calc(50% - 400px);
	transform: rotate(-25deg);
}
.message_box .onpu02 {
	top: 77%;
	left: auto;
	right: calc(50% - 360px);
}
.message_box .onpu03 {
	top: 80%;
	left: calc(50% - 340px);
	transform: scale(-1, 1);
}
.message_box .onpu04 {
	top: 30%;
	right: calc(50% - 390px);
}
.message_box .onpu05 {
	top: 0;
	left: auto;
	right: calc(50% - 320px);
	transform: rotate(15deg);
}
.message_box .onpu06 {
	top: 0;
	left: calc(50% - 290px);
	transform: scale(-1, 1);
}
@media screen and (max-width: 767px) {
	.lp-section-message {
		padding-top: 80px;
	}
}
