@charset "UTF-8";

/*=====================================
テキスト・カラー指定
=====================================*/
:root {
    --wht: #fff;
    --blk: #232323;
    --dgry: #5b5b5b;
    --gry: #8c9196;
    --pgry: #f2f5f7;
    --lgry: #cdd1d3;
	--red: #d32d2d;
    --clr0: #4b1e78;
    --clr1: #cc3636;
    --clr2: #be53c1;
    --clr3: #4586ed;
	--clr4: #52bf86;
	--clr5: #bcb453;
	--clr6: #f78157;
	--clr7: #3D4070;
	--clr8: #4a88da;
	--clr9: #FFFAF0;
    --trp: rgba(255,255,255,0);
    --c: center;
    --r: right;
	--l: left;
	--t4xl: clamp(24px, 6.54vw, 28px);
    --t3xl: clamp(24px, 6.54vw, 28px);
    --t2xl: clamp(21px, 5.4vw, 26px);
    --txl: clamp(19px, 4.8vw, 24px);
    --tl: clamp(17px, 4.5vw, 21px);
    --tm: clamp(15px, 4.1vw, 18px);
    --nm: clamp(13px, 3.2vw, 15px);
    --ts: clamp(9px, 2.82vw, 11px);
    --t2s: clamp(7px, 2.3vw, 9px);
}
@media (min-width: 835px) {
	:root {
		--wht: #fff;
		--t4xl: clamp(56px, 4.06vw, 61px);
		--t3xl: clamp(44px, 3.27vw, 49px);
		--t2xl: clamp(36px, 2.6vw, 39px);
		--txl: clamp(29px, 2.07vw, 31px);
		--tl: clamp(21px, 1.667vw, 25px);
		--tm: clamp(17px, 1.333vw, 20px);
		--nm: clamp(16px, 1.06vw, 17px);
		--ts: clamp(10px, .95vw, 13px);
		--t2s: clamp(8px, .73vw, 10px);
	}
}
a {
	color: var(--clr0)
}
a:not([class]) {
    text-decoration: underline;
}
a[class]:not(.anchor) {
    text-decoration: none;
}
@media (hover: hover) {
	a, a * {
    	transition: .3s	
	}
	a:hover {
		color: var(--clr8);
		text-decoration: none
	}
	a::before, a::after {
		transition: .3s
	}
}
html, body {
	color: var(--blk);
	font-family: "Roboto", "Noto Sans JP", serif;
	font-size: var(--nm);
	line-height: 1.8;
	letter-spacing: .05em
}
body {
	overflow-x: hidden;
	width: 100%;
	height: 100%
}
.bg-wht {
	background-color: var(--wht)!important
}
.bg-gry {
	background-color: var(--pgry)!important
}
.bg-trp {
	background-color: var(--trp)!important
}
.bg-acc {
	background-color: var(--clr9)!important
}
.pd00 {
	padding: 0!important
}
.pdt00 {
	padding-top: 0!important
}
.pdb00 {
	padding-bottom: 0!important
}
.mg00 {
	margin: 0!important
}
.mgt00 {
	margin-top: 0!important
}
.mgb00 {
	margin-bottom: 0!important
}
@media (min-width: 750px) {
	.spno {
		display: block!important;
	}
	.pcno {
		display: none!important;
	}
	.al_center-pc {
		text-align: center
	}
	.pdb02 {
		padding-bottom: min(2%,16px)!important
	}
	.pd02 {
		padding: min(2%,16px)!important
	}
	.pd02-05 {
		padding: min(2%,16px) min(5%,40px)!important
	}
	.pd03-02 {
		padding: min(3%,24px) min(2%,16px)!important
	}
	.pd05 {
		padding: min(5%,40px)!important
	}
	.pd05-00 {
		padding: min(5%,40px) 0!important
	}
	.pd07 {
		padding: min(7%,56px)!important
	}
	.pd07-00 {
		padding: min(7%,56px) 0!important
	}
	.pd10 {
		padding: min(10%,80px)!important
	}
	.pd10-00 {
		padding: min(10%,80px) 0!important
	}
	.mgt01 {
		margin-top: min(1%,8px)!important
	}
	.mgt02 {
		margin-top: min(2%,16px)!important
	}
	.mgt03 {
		margin-top: min(3%,24px)!important
	}
	.mgt04 {
		margin-top: min(4%,32px)!important
	}
	.mgt05 {
		margin-top: min(5%,40px)!important
	}
	.mgt07 {
		margin-top: min(7%,56px)!important
	}
	.mgt10 {
		margin-top: min(10%,80px)!important
	}
	.mgt15 {
		margin-top: min(15%,100px)!important
	}
	.mgt17 {
		margin-top: min(17%,100px)!important
	}
	.mgb02 {
		margin-bottom: min(2%,16px)!important
	}
	.mgb03 {
		margin-bottom: min(3%,21px)!important
	}
	.mgb05 {
		margin-bottom: min(5%,35px)!important
	}
	.mgb07 {
		margin-bottom: min(7%,49px)!important
	}
	.mgb10 {
		margin-bottom: min(10%,70px)!important
	}
	.mgb15 {
		margin-bottom: min(15%,100px)!important
	}
	.jc-cen {
		justify-content: center
	}
}
@media (max-width: 749px) {
	.spno {
		display: none!important;
	}
	.pcno {
		display: block!important;
	}
	.pd02 {
		padding: 3%!important
	}
	.pd02 {
		padding: 3%!important
	}
	.pd02-05 {
		padding: 3% 6%!important
	}
	.pd03-02 {
		padding: 5% 4%!important
	}
	.pd05 {
		padding: 6%!important
	}
	.pd05-00 {
		padding: 6% 0!important
	}
	.pd07 {
		padding: 10%!important
	}
	.pd07-00 {
		padding: 10% 0!important
	}
	.pd10 {
		padding: 12.5%!important
	}
	.pd10-00 {
		padding: 12.5% 0!important
	}
	.mgt01 {
		margin-top: 1.5%!important
	}
	.mgt02 {
		margin-top: 3%!important
	}
	.mgt03 {
		margin-top: 4%!important
	}
	.mgt04 {
		margin-top: 8%!important
	}
	.mgt05 {
		margin-top: 8%!important
	}
	.mgt07 {
		margin-top: 10%!important
	}
	.mgt10 {
		margin-top: 15%!important
	}
	.mgt15 {
		margin-top: 15%!important
	}
	.mgt17 {
		margin-top: 15%!important
	}
	.mgb02 {
		margin-bottom: 3%!important
	}
	.mgb03 {
		margin-bottom: 5%!important
	}
	.mgb05 {
		margin-bottom: 8%!important
	}
	.mgb07 {
		margin-bottom: 10%!important
	}
	.mgb10 {
		margin-bottom: 10%!important
	}
	.mgb15 {
		margin-bottom: 15%!important
	}
}
.txt-red {
    color: var(--red)!important
}
.txt-gry {
    color: var(--gry)!important
}
.txt-wht {
    color: var(--wht)!important
}
.txt-clr1 {
    color: var(--clr1)!important
}
.txt-c {
    text-align: var(--c)!important
}
.txt-r {
    text-align: var(--r)!important
}
.txt-l {
    text-align: var(--l)!important
}
.fs-es {
	font-size: var(--t2s)!important
}
.fs-s {
	font-size: var(--ts)!important
}
.fs-l {
	font-size: var(--tm)!important
}
.fs-el {
	font-size: var(--tl)!important
}
.fs-exl {
	font-size: var(--txl)!important
}
.ofh {
    overflow: hidden
}
a.txt-noancher {
    color: var(--blk) !important;
	text-decoration: none !important;
}
.rounded-img {
  border-radius: 8px;
}
.hover-fade {
	transition: opacity 0.5s ease;
}
a:hover .hover-fade {
	opacity: 0.6;
}
img.border{
  border: 1px solid var(--lgry);
}



/*=====================================
ヘッダー / メインメニュー
=====================================*/
header {
    flex-shrink: 0;
    position: fixed;
    z-index: 9999;
	top: 0;
    left: 50%;
	width: 100%;
	transform: translateX(-50%);
}
.header__inner {
    background: var(--wht);
}
.header__logo {
	display: flex;
	gap: 2vw;
	margin: 0;
    padding: 0;
}
.header__logo a {
    display: flex;
    align-items: center;
    justify-content: center;
	flex-direction: column-reverse;
	font-weight: 400;
	text-decoration: none
}
.header__logo [class^="hdr-logo"] {
	flex-shrink: 0;
}
.header__logo .hdr-logo-ymf {
	display: block;
	aspect-ratio: 138/50;
}
.header__logo .hdr-logo-ymf-grade {
	aspect-ratio: 340/50;
}
.global-navigation__list {
	list-style: none
}
.global-navigation__list li a {
	color: var(--blk);
	font-weight: 700;
	text-decoration: none
}
.hdr-search .hdr-search__input {
	border: 1px solid var(--lgry);
	transition: .3s
}
.hdr-search .hdr-search__input:focus {
	outline: none
}
.hdr-search .hdr-search__btn {
	margin-left: 6px;
	background: var(--clr0);
	border-radius: 4px;
	color: var(--wht);
	font-size: var(--nm);
	font-weight: 700;
	cursor: pointer
}
@media (min-width: 1080px) {
	.header__inner {
		transition: .4s
	}
	.header__top {
		display: flex;
		align-items: center;
		justify-content: space-between;
		height: 90px;
		width: min(94%,1254px);
		margin: 0 auto;
		transition: .3s
	}
	.-is .header__top {
		height: 64px;
	}
	.header__logo [class^="hdr-logo"] {
		flex-shrink: 0;
		height: 50px;
		transition: .3s
	}
	.-is .header__logo [class^="hdr-logo"] {
		height: 40px;
	}
	.humberger {
		display: none
	}
	.header__nav {
		flex-grow: 1;
		display: flex;
		align-items: center;
		border-top: 1px solid var(--lgry);
		border-bottom: 1px solid var(--lgry);
	}
	.header__nav .header__menu {
		width: min(94%,1254px);
		margin: 0 auto;
	}
	.global-navigation {
		display: flex;
		align-items: center;
		gap: 2.8%
	}
	.global-navigation__list {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		border-right: 1px solid var(--lgry);
	}
	.global-navigation__list > li {
		display: flex;
		align-items: stretch;
		justify-content: center;
		padding: 0;
		width: calc(100% / 6);
		height: 48px;
		background-image: -webkit-linear-gradient(to right, var(--clr0) 0%, var(--clr0) 100%);
		background-image: linear-gradient(to right, var(--clr0) 0%, var(--clr0) 100%);
		background-repeat: no-repeat;
		background-position: bottom center;
    	background-size: 0 3px;
		border-left: 1px solid var(--lgry);
		font-size: clamp(12px, 1.1vw, 15px);
		list-style: none;
		transition: .3s
	}
	.global-navigation__link {
		width: 100%;
	}
	.global-navigation__list li a {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
	}
	.global-navigation__list li:hover a,
	.global-navigation__list li a:hover {
		color: var(--blk)
	}
	.global-navigation__list li:hover {
    	background-size: 100% 4px;
	}
	.global-navigation__list li.global-navigation__submenu div.accordion {
		position: absolute;
		top: 130px;
		left: 0;
		box-sizing: border-box;
		width: 100%;
		padding: 20px 2%;
		background: var(--pgry);
		-webkit-transition: all .2s ease;
		transition: all .2s ease;
		opacity: 0;
		visibility: hidden;
		box-shadow: 0px 3px 6px 2px rgba(80, 80, 80, .2);
	}
	.-is .global-navigation__list li.global-navigation__submenu div.accordion {
		top: 102px;
	}
	.global-navigation__list li.global-navigation__submenu:hover div.accordion {
		top: 140px;
		visibility: visible;
		opacity: 1;
	}
	.-is .global-navigation__list li.global-navigation__submenu:hover div.accordion {
		top: 112px;
	}
	div.accordion .accordion__inner {
		display: flex;
		align-items: flex-start;
		width: min(100%,1200px);
		margin: 0 auto;
		padding: 30px 5%
	}
	div.accordion .accordion__inner h2 {
		flex-basis: 25%;
		padding-right: min(10vw,50px);
	}
	div.accordion .accordion__inner h2 a {
		justify-content: flex-start;
		padding-left: 22px;
		background: url("../imgs/ic-arrow-ppl.svg") no-repeat left center / 16px;
		color: var(--blk);
		line-height: 1.5;
		font-size: var(--tl)
	}
	div.accordion .accordion__inner h2 a:hover {
		color: #794baf
	}
	div.accordion .accordion__inner .accordion__txt {
		flex-basis: 75%;
		padding-left: min(10vw,50px);
		border-left: 1px solid var(--lgry)
	}
	.accordion__list {
		gap: 10px min(10vw,60px);
		list-style: none
	}
	.accordion__list li {
		display: flex;
		align-items: flex-start;
		justify-content: flex-start;
		flex-wrap: wrap;
		gap: 20px;
	}
	.accordion__list li.accordion__list__item {
		padding-top: 4px;
		padding-bottom: 4px;
		gap: 4px;
	}
	.accordion__list li.accordion__list__item > a {
		display: inline-block;
		padding-left: 18px;
		min-width: 120px;
		background: url("../imgs/ic-arrow-ppl.svg") no-repeat left center / 12px;
	}
	.accordion__list li a:hover {
		color: #794baf
	}
	.accordion__list__sub {
		display: flex;
		gap: 6px
	}
	.accordion__list__sub li a {
		position: relative;
		min-width: 120px;
		background: var(--wht);
		border: 1px solid var(--lgry);
		border-radius: 3px;
		font-weight: 400;
		text-align: center;
	}
	.accordion__list__sub li a:hover {
		border: 1px solid #794baf
	}
	.accordion__list__sub li a::before {
		position: absolute;
		top: calc(50% - 5px);
		left: 10px;
		content: "";
		display: inline-block;
		margin-right: 8px;
		width: 5px;
		height: 10px;
		background: var(--lgry);
		clip-path: polygon(0 0, 0 100%, 100% 50%);
	}
	.accordion__list__sub li a:hover::before {
		background: #794baf;
	}
	.hdr-search.sp {
		display: none
	}
	.hdr-search form .hdr-search__input {
		padding: 0px 5px 0px 24px;
		width: 200px;
		background: var(--wht) url("../imgs/ic-search.svg") no-repeat left 8px center / 12px;
	}
	.hdr-search form .hdr-search__btn {
		padding: 1px 10px;
	}
	main {
		margin-top: 140px;
	}
}
@media (max-width: 1079px) {
/*global navi*/
	header {
		top: 0;
		width: 100%
	}
	.header__inner {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 5vw;
		height: 60px;
		padding: 8px 0 8px 12px;
	}
	.header__logo [class^="hdr-logo"] {
		flex-shrink: 0;
		height: 28px;
	}
	.tagline {
		display: none
	}
	.humberger {
		display: block;
		height: 60px;
		margin-top: auto;
		margin-left: auto;
		margin-bottom: auto;
		position: relative;
		z-index: 10;
		width: 60px;
		border: none;
		background-color: var(--clr0);
	}
	.humberger.-active .humberger__line {
		background-color: transparent;
	}
	.humberger.-active .humberger__line::before {
		top: 0;
		transform: rotate(45deg);
	}
	.humberger.-active .humberger__line::after {
		top: 0;
		transform: rotate(-45deg);
	}
	.humberger__line {
		display: block;
		height: 2px;
		position: absolute;
		top: 29px;
		left: 50%;
		transform: translateX(-50%);
		width: 18px;
		background-color: var(--wht);
		transition: 0.4s;
	}
	.humberger__line:before,
	.humberger__line:after {
		content: "";
		display: block;
		height: 100%;
		position: absolute;
		width: 100%;
		background-color: var(--wht);
		transition: inherit;
	}
	.humberger__line:before {
		top: -7px;
	}
	.humberger__line:after {
		top: 7px;
	}
	.humberger__text {
		position: absolute;
		bottom: 8px;
		left: 50%;
		transform: translateX(-50%);
		width: 100%;
	}
	.header__nav-area {
		position: fixed;
		top: 60px;
		right: -100%;
		z-index: 9;
		height: 100vh;
		width: 100vw;
		visibility: hidden;
		padding: 0;
		background-color: var(--pgry);
		transition: 0.4s;
	}
	.header__nav-area.-active {
		right: 0;
		visibility: visible;
		overflow-y: auto
	}
	.global-navigation {
		padding: 0 0 60px;
	}
	.global-navigation__list > li {
		padding: min(4%, 16px) min(5%, 30px)
	}
	.global-navigation__list > li:not(:last-child) {
		border-bottom: 1px solid var(--lgry);
	}
	.global-navigation__list a {
		text-decoration: none
	}
	.global-navigation__list li.global-navigation__menu a {
		display: block;
		background: url("../imgs/ic-arrow-ppl.svg") no-repeat right 4px center / 12px;
	}
	.global-navigation__link {
	  display: flex;
		align-items: center;
		justify-content: space-between;
		color: #1f1f1f;
		font-weight: 900;
		transition: color 0.4s;
		font-size: 15px;
	}
	.global-navigation__link.-accordion {
		position: relative;
		background: none;
		border: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		width: 100%;
		padding: 0;
	}
	.global-navigation__link a {
		pointer-events: none;
		color: #1f1f1f
	}
	.global-navigation__link[aria-expanded=true],
	.global-navigation__link[aria-expanded=true] a {
		color: var(--clr0);
	}
	.global-navigation__link.-accordion span {
		position: relative;
		display: inline-block;
		width: 24px;
		height: 24px;
		background-color: var(--clr0);
		border: 1px solid var(--clr0);
		transition: transform .4s;
		transform: translateX(2px);
		border-radius: 50%;
	}
	.global-navigation__link.-accordion span::after {
		content: '';
		display: block;
		height: 12px;
		position: absolute;
		top: 50%;
		left: 50%;
		width: 1px;
		background-color: #fff;
		transition: transform .4s;
		transform: translate(-50%, -50%);
	}
	.global-navigation__link.-accordion span::before {
		content: '';
		display: block;
		height: 1px;
		position: absolute;
		top: 50%;
		left: 50%;
		width: 12px;
		background-color: #fff;
		transform: translate(-50%, -50%);
		opacity: 1;
		transition: transform .4s;  
	}
	.global-navigation__link.-active span {
		background-color: #fff;
		border: 1px solid var(--clr0);
		border-radius: 50%;
	}
	.global-navigation__link.-active span::after {
		background-color: var(--clr0);
		transform: translate(-50%, -50%) rotate(-90deg);
	}
	.global-navigation__link.-active span::before {
		opacity: 0
	}
	.accordion {
		height: 0;
		overflow: hidden;
		visibility: hidden;
		transition: .3s;
	}
	.accordion.-active {
		height: auto;
		padding-top: min(3%, 12px);
		visibility: visible;
	}
	.accordion__inner h2 {
		display: none
	}
	.accordion__list {
		margin-left: min(2%, 8px);
		list-style: none
	}
	.accordion__list li {
		padding: min(3%, 12px) 0;
		font-size: 15px;
	}
	.accordion__list li:not(:last-child) {
		border-bottom: 1px solid #e8e8e8
	}
	.accordion__list li.accordion__list__item > a {
		display: block;
		padding-left: 20px;
		background: url("../imgs/ic-arrow-ppl.svg") no-repeat left center / 12px
	}
	.accordion__list__sub {
		margin-left: 2%;
		list-style: none
	}
	.accordion__list .accordion__list__sub li {
		padding-left: 2%;
	}
	.accordion__list .accordion__list__sub li a::before {
		content: "";
		display: inline-block;
		margin-right: 8px;
		width: 5px;
		height: 10px;
		background: var(--gry);
		clip-path: polygon(0 0, 0 100%, 100% 50%);
	}
	.accordion > h2 {
		display: none
	}
	.accordion__txt p {
		font-size: var(--ts)
	}
	.header__cv {
		padding: 3% 0
	}
	.header__cv-btn a {
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 1em;
		width: 90%;
		margin: 3% auto;
		color: var(--wht);
		line-height: 1.5;
		font-weight: 700;
		text-align: center;
		text-decoration: none;
		white-space: nowrap;
	}
	.hdr-search.pc {
		display: none
	}
	.hdr-search form {
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 10px 0;
		width: min(100%, 500px);
		margin: 0 auto;
	}
	.hdr-search form .hdr-search__input {
		padding: 5px 5px 5px 30px;
		width: 76%;
		background: var(--wht) url("../imgs/ic-search.svg") no-repeat left 8px center / 16px;
	}
	.hdr-search form .hdr-search__btn {
		padding: 5px 10px;
		width: 20%;
		text-align: center
	}
	main {
		margin-top: 60px;
	}
}


/*=====================================
フッター
=====================================*/
footer {
	position: relative;
	margin-top: 5%;
	background: var(--pgry);
	color: var(--dgry);
}
footer .pagetop {
	position: absolute;
	right: 5%;
	display: block;
	aspect-ratio: 1/1;
	background: var(--wht) url("../imgs/ic-arrow-gry.svg") no-repeat center 50% / .9rem;
	border: 2px solid var(--lgry);
	border-radius: 50%;
	font-size: 0;
	transform: rotate(-90deg)
}
.footer__bnr {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	margin-left: auto;
	margin-right: auto;
	list-style: none
}
.footer__bnr a img {
	display: block;
	width: 100%
}
.footer__menu {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px min(5vw,40px);
}
.footer__menu li {
	list-style: none
}
.footer__menu li a {
	display: flex;
	color: var(--dgry);
	font-size: var(--ts);
	text-decoration: underline!important
}
.footer__menu li a:after {
	content: "";
	aspect-ratio: 1/1;
	display: inline-block;
	width: .7rem;
	margin-left: .4rem;
	background-image: url("../imgs/ic-arrow-gry.svg");
	background-position: left  center;
	background-repeat: no-repeat;
	background-size: 100%
}
.footer__menu li a.exlink:after {
	background-image: url("../imgs/ic-exlink.svg");
}
.copyright {
	font-size: var(--t2s);
	text-align: center
}
@media (min-width: 835px) {
	footer {
		padding: 5% 5%
	}
	footer .pagetop {
		top: -2.4rem;
		width: 4.8rem;
	}
	.footer__bnr {
		width: min(90%, 896px);
		gap: 1.4rem 2%;
	}
	.footer__bnr li {
		flex-basis: 32%
	}
	.footer__menu,
	.copyright {
		margin-top: 3%;
	}
	.footer__menu li a:hover {
		color: var(--clr2);
		text-decoration: none
	}
}
@media (min-width: 750px) and (max-width: 834px) {
	footer {
		padding: 7% 5% 5%
	}
	footer .pagetop {
		top: -2rem;
		width: 4rem;
	}
	.footer__bnr {
		gap: 1.4rem 2%;
	}
	.footer__bnr li {
		flex-basis: 32%
	}
	.footer__menu,
	.copyright {
		margin-top: 4%;
	}
}
@media (max-width: 749px) {
	footer {
		padding: 10% 5%
	}
	footer .pagetop {
		top: -1.8rem;
		width: 3.6rem;
	}
	.footer__bnr {
		flex-direction: column;
		gap: .8rem;
		width: 76%;
	}
	.footer__menu,
	.copyright {
		margin-top: 6%;
	}
}

/*=====================================
基本レイアウト
=====================================*/
[class^="inner-"] {
    clear: both;
    margin-left: auto;
    margin-right: auto;
}
@media (min-width: 835px) {
	.inner-l {
		width: min(91.8%, 1254px)
	}
	.inner-m {
		width: min(76.1%, 1040px)
	}
	.inner-l > .inner-m {
		width: min(82.9%, 1040px)
	}
	.inner-s {
		width: min(60%, 900px)
	}
}
@media (max-width: 834px) {
	.inner-l, .inner-m, .inner-s {
    	width: min(100%,88vw);
	}
}
.cmnBtn {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-shrink: 0;
	padding: .9em .6em .9em 1.2em;
	border-radius: .3em;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none
}
.cmnBtn {
	background: var(--clr0);
	color: var(--wht);
	text-align: left;
	transition: .3s
}
.cmnBtn.gry {
	justify-content: center;
	background: var(--lgry);
	pointer-events: none
}
.cmnBtn.gry:hover {
	background: var(--lgry);
}
.cmnBtn span {
	flex-grow: 1;
	text-align: center
}
.cmnBtn::after {
	content: "";
	display: inline-block;
	aspect-ratio: 1/1;
	margin-left: .5rem;
	width: 1rem;
	background: url("../imgs/ic-arrow-wht.svg") no-repeat center 50% / 100%;
}
.cmnBtn.gry::after {
	display: none
}
.cmnBtn.max {
	padding: 1.2em 1em 1.2em 1em;
}
.cmnBtn.max span {
	flex-grow: 1;
	padding-left: 1.2em;
	text-align: center
}
.cmnBtn.print:hover {
	background: var(--clr0);
	color: var(--wht);
}
.cmnBtn.print:hover::after {
	transform: translateX(.2em)
}
.anchor,
.pntBtn {
	display: flex;
	width: fit-content;
	color: var(--clr0);
	text-decoration: underline
}
.anchor.btn-c,
.pntBtn.btn-c {
	margin-left: auto;
	margin-right: auto;
}
.anchor::before,
.pntBtn::before {
	content: "";
	flex-shrink: 0;
	display: inline-block;
	aspect-ratio: 1/1;
	margin-right: .4rem;
}
.anchor::before {
	width: .9rem;
	background: url("../imgs/ic-arrow-ppl.svg") no-repeat center 50% / 100%;
}
.pntBtn::before {
	width: 1.2rem;
	height: 1.2rem;
	margin-top: .2rem;
	border-radius: 50%;
	background: var(--clr0) url("../imgs/ic-arrow-wht.svg") no-repeat center 50% / 50%;
	
}
@media (min-width: 835px) {
	.cmnBtn:hover {
		background: var(--clr7);
		color: var(--wht);
	}
	.cmnBtn:hover::after {
		transform: translateX(.2em)
	}
	.anchor:hover {
		color: var(--clr8);
	}
}
@media (min-width: 1025px) {
	.cmnBtn {
		width: fit-content;
		min-width: 280px;
		max-width: 506px;
		font-size: clamp(16px, 1.3vw, 18px);
	}
	.cmnBtn.max {
		width: min(39%,506px);
	}
	.btnArea {
		margin-top: min(4%, 39px);
		margin-bottom: min(4%, 39px);
	}
	.btnArea,
	.btnArea.txt-c,
	.btnArea.txt-r {
		display: flex;
		align-items: center;
		gap: 2em
	}
	.btnArea.txt-c {
		justify-content: center;
	}
	.btnArea.txt-r {
		justify-content: flex-end;
	}
}
@media (min-width: 750px) and (max-width: 1024px) {
	.cmnBtn {
		margin: 3% auto;
		width: min(100%,46vw);
		font-size: var(--nm);
	}
	.anchor {
		display: inline-block;
		margin-left: .5rem;
		margin-right: .5rem;
	}
	.btnArea {
		margin-top: min(4%, 39px);
		margin-bottom: min(4%, 39px);
	}
}
@media (max-width: 749px) {
	.cmnBtn {
		margin: 3% auto;
		width: min(100%,64.8vw);
		font-size: var(--nm);
	}
	.anchor {
		display: inline-block;
		margin-left: .5rem;
		margin-right: .5rem;
	}
	.anchor::before {
		transform: translateY(.1em)
	}
	.btnArea {
		margin-top: 6%;
		margin-bottom: 6%;
	}
}
.top-ttl {
	margin-bottom: 1em;
	color: var(--blk);
	font-size: var(--t2xl);
	line-height: 1.5;
}
.top-ttl {
	text-align: center
}
.top-ttl::before {
	content: "";
	display: block;
	width: 3rem;
	height: 4px;
	margin: 0 auto 1rem;
	background-color: var(--clr0);
	border-radius: 2px;
}
.top-ttl a {
	color: var(--blk);
	text-decoration: none
}
.top-ttl.wht,
.top-ttl.wht a {
	color: var(--wht)
}
.topline {
	border-top: 1px solid var(--lgry)
}
figure {
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
}
figure img {
	display: block;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}
@media (min-width: 750px) {
	.top-ttl.left {
		text-align: left
	}
	.top-ttl.left::before {
		margin: 0 0 1rem;
	}
	figure {
		padding-left: 3%;
		padding-right: 3%;
	}
	.topline {
		margin-top: min(8%,64px);
		padding-top: min(8%,64px)
	}
}
@media (max-width: 749px) {
	.topline {
		margin-top: 10%;
		padding-top: 10%
	}
}
.pgbnr-ttl {
	width: 100%;
	background: url("../imgs/pgbnr-bg.webp") no-repeat center/ cover;
	color: var(--wht);
	font-size: var(--t3xl);
	line-height: 1.4
}
.pgbnr-ttl a {
	display: flex;
	margin-left: auto;
	margin-right: auto;
	width: min(90%,1200px);
	color: var(--wht);
	text-decoration: none
}
@media (min-width: 835px) {
	.pgbnr {
		margin-top: 140px
	}
	.pgbnr-ttl,
	.pgbnr-ttl a {
		height: 130px;
	}
	.pgbnr-ttl small.en {
		font-size: var(--tl)
	}
	.pgbnr-ttl a {
		align-items: center;
		justify-content: flex-start;
		gap: 30px;
	}
	.topicpath {
		display: flex;
		align-items: center;
		margin-left: auto;
		margin-right: auto;
		padding: 2% 0 3%;
		width: min(90%,1200px);
	}
	.topicpath li {
		display: flex;
		align-items: center;
		font-size: var(--ts);
		line-height: 1.4;
		white-space: nowrap
	}
	.topicpath li + li::before {
		content: "";
		display: inline-block;
		margin: auto 15px;
		width: .5rem;
		height: .5rem;
		border-top: 1px solid var(--gry);
		border-right: 1px solid var(--gry);
		transform: rotate(45deg);
		vertical-align: middle
	}
	.topicpath a {
		color: var(--gry);
		text-decoration: underline;
	}
	.topicpath a:hover {
		color: var(--clr2);
		text-decoration: none;
	}
}
@media (max-width: 834px) {
	.pgbnr {
		margin: 60px 0 7%
	}
	.pgbnr-ttl,
	.pgbnr-ttl a {
		min-height: 100px;
	}
	.pgbnr-ttl a {
		padding: 3% 1%;
		align-items: flex-start;
		justify-content: center;
		flex-direction: column
	}
	.pgbnr-ttl small.en {
		font-size: var(--nm)
	}
	.topicpath {
		display: none
	}
}
.contents {
	display: flex;
	align-items: stretch;
}
aside .side__nav {
	list-style: none
}
aside .side__nav li {
	font-size: var(--nm);
}
aside .side__nav li a {
	display: flex;
	align-items: center;
	padding: .9rem 1rem;
	color: var(--clr0);
	text-decoration: none;
	transition: .3s
}
@media (min-width: 835px) {
	.contents {
		justify-content: space-between;
		gap: 9.167%;
		margin: 0 auto min(7%,100px);
		width: min(90%, 1200px);
	}
	.contents main {
		flex-grow: 1
	}
	aside {
		width: min(25%,300px);
		flex-shrink: 0;
	}
	.aside__inner {
		position: -webkit-sticky;
        position: sticky;
        top: 180px;
        padding-bottom: 100px;
	}
	aside #select__menu {
		display: none
	}
	aside h2 {
		padding: .8rem;
		background: var(--clr0);
		color: var(--wht);
		font-size: var(--tm);
		font-weight: 700;
		line-height: 1.5;
		text-align: center
	}
	aside h2 a {
		color: var(--wht)!important;
		text-decoration: none!important
	}
	aside .side__nav {
		border-left: 1px solid var(--lgry);
		border-right: 1px solid var(--lgry);
	}
	aside .side__nav li {
		border-bottom: 1px solid var(--lgry);
	}
	aside .side__nav li a::before {
		content: "";
		aspect-ratio: 1/1;
		display: inline-block;
		width: .9rem;
		margin-right: .4rem;
		background: url("../imgs/ic-arrow-ppl.svg") no-repeat center 50% / 100%
	}
	aside .side__nav li.selected a {
		font-weight: 700
	}
	aside .side__nav li a:hover,
	aside .side__nav li.selected a {
		background: var(--pgry);
	}
	aside .side__nav li a:hover::before {
		margin-left: .3rem;
		margin-right: .1rem;
	}
}
@media (max-width: 834px) {
	.contents {
		flex-direction: column-reverse
	}
	aside {
		flex-shrink: 0;
		width: 100%;
		padding: 0 6% 8%;
	}
	aside h2 {
		display: none
	}
	#select__menu,
	.side__nav li a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 1rem;
		width: 100%;
		background-color: var(--wht);
		border: solid 1px var(--lgry);
		transition: all .5s
	}
	.side__nav {
		display: none
	}
	aside .side__nav li.selected {
		display: none!important
	}
	#select__menu.dn {
		display: none
	}
	#select__menu::after {
		content: "";
		display: inline-block;
		flex-shrink: 0;
		width: 1rem;
		height: 1rem;
		background: url("../imgs/ic-arrow-gry.svg") no-repeat center 50% / 100%;
		transform: rotate(90deg);
		transition: all .5s
	}
	#select__menu.is__opened::after {
		background: url("../imgs/ic-arrow-wht.svg") no-repeat center 50% / 100%;
		transform: rotate(-90deg)
	}
	#select__menu.is__opened {
		background: var(--clr0);
		border: 1px solid var(--clr0);
		color: var(--wht);
	}
	aside .side__nav li {
		margin: .2em 0;
	}
	aside .side__nav li a::after {
		content: "";
		display: inline-block;
		flex-shrink: 0;
		width: 1rem;
		height: 1rem;
		background: url("../imgs/ic-arrow-gry.svg") no-repeat center 50% / 100%;
	}
}
.contents > main {
	margin-top: 0;
}


/*アコーディオン*/
.accordion__wrap {
    margin-left: auto;
    margin-right: auto;
    padding: 0;
}
.accordion__wrap.max {
	background-color: var(--wht);
	border: 2px solid var(--lgry);
	border-radius: .8rem;
}
.accordion__label {
	position: relative;
    display: flex;
    align-items: center;
	font-weight: 700;
	line-height: 1.4;
	cursor: pointer
}
.accordion__label .txt {
	transition: .3s;
}
.accordion__label:hover .txt {
    color: var(--clr0);
}
.accordion__wrap.max .accordion__label {
	padding: 1rem .8rem;
	font-size: var(--tl);
}
.accordion__label span.txt {
	flex-grow: 1;
	text-align: center
}
.accordion__label span.plus {
    position: relative;
    display: inline-block;
	flex-shrink: 0;
    width: 1.4rem;
    height: 1.4rem;
	background-color: var(--gry);
    border: 1px solid var(--gry);
    transition: transform .4s;
    border-radius: 50%;
}
.accordion__wrap.max .accordion__label span.plus {
    width: 2.4rem;
    height: 2.4rem;
}
.accordion__label span.plus::after {
    content: '';
    display: block;
    width: 2px;
    height: .7rem;
    position: absolute;
    top: 50%;
    left: 50%;
    background-color: #fff;
    transition: transform .4s;
    transform: translate(-50%, -50%);
}
.accordion__label span.plus::before {
    content: '';
    display: block;
    width: .7rem;
    height: 2px;
    position: absolute;
    top: 50%;
    left: 50%;
    background-color: #fff;
    transform: translate(-50%, -50%);
    transition: transform .4s;  
    opacity: 1;
}
.accordion__wrap.max .accordion__label span.plus::after {
    width: 3px;
    height: 1rem;
}
.accordion__wrap.max .accordion__label span.plus::before {
    width: 1rem;
    height: 3px;
}
.-open .accordion__label span.plus {
    background-color: var(--wht);
    border: 1px solid var(--gry);
}
.accordion__wrap.max .-open .accordion__label span.plus {
    border: 2px solid var(--gry);
}
.-open .accordion__label .plus::after {
    background-color: var(--gry);
    transform: translate(-50%, -50%) rotate(-90deg);
}
@media (max-width: 834px) {
	.accordion__label span.plus {
		margin-right: 8px;
	}
	.accordion__cont {
		padding: 2% 4% 0
	}
	.accordion__wrap.max .accordion__cont {
		padding: 2% 4% 6%
	}
}
@media (min-width: 835px) {
	.accordion__label span.plus {
		margin-left: 8px;
		margin-right: 8px;
	}
	.accordion__cont {
		padding: 2% 2% 0
	}
	.accordion__wrap.max .accordion__cont {
		padding: 2% 4% 4%;
		border-radius: 0 0 .8rem .8rem;
	}
}
.accordion__cont > *:last-child {
	margin-bottom: 0;
	padding-bottom: 0
}
/*フォーム*/
form select {
	margin: 1rem 5%;
    padding: .2rem .5rem;
	width: 90%;
    border: solid 1px #c7cfd1;
    font-size: var(--nm);
    outline: none;
	transition: all .3s
}
form select {
    -webkit-appearance: none;
    appearance: none;
    padding: .2rem 60px .2rem .8rem;
    background-image:
        linear-gradient(45deg, rgba(255,255,255,0) 50%, #8a8c8e 50%),
        linear-gradient(135deg, #8a8c8e 50%, rgba(255,255,255,0) 50%),
        linear-gradient(to right, #dae1e5, #dae1e5);
    background-position:
        calc(100% - 1.2em) calc(50% + 1px),
        calc(100% - .85em) calc(50% + 1px),
        calc(100% - 2.4em) 0;
    background-size:
        .4em .4em,
        .4em .4em,
        1px 100%;
    background-repeat: no-repeat;
    border-radius: 4px
}
form select::-ms-expand {
    display: none;
}
form .side-keyword {
	display: flex;
    align-items: center;
    justify-content: space-between;
	padding: 1rem 5%;
}
form .side-keyword input[type=text] {
	display: inline-block;
    width: 83%;
	max-height: 36px;
    padding: .5em;
    background-color: var(--wht);
    border: 1px solid #c7cfd1;
    font-size: var(--nm);
    line-height: 1.4;
    transition: .3s;
}
form .side-keyword input[type=submit] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .5em;
    width: 14%;
	background-color: var(--clr1);
	background-image: url("../imgs/ic-search-wht.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 50% auto;
    border: 1px solid var(--clr1);
	border-radius: .2rem;
	aspect-ratio: 1/1;
	font-size: 0;
    color: var(--wht);
    text-align: center;
    transition: .3s;
}
form .side-keyword input[type=submit]:hover {
	background-color: var(--clr2);
    border: 1px solid var(--clr2)
}
form .side-keyword input[type=text]:focus,
form textarea:focus {
	background-color: var(--pgry);
    border: 1px solid var(--clr1);
	outline: none
}

/* modal */
.modal-block {
    display: none;
    position: fixed;
    justify-content: center;
    align-items: center;
    z-index: 99999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    overflow: auto;
    background-color: rgba(0, 0, 0, .8);
}
.popBox img {
    opacity: 1;
    cursor: zoom-in;
    transition: .3s
}
.popBox:hover img {
    opacity: .8
}
.img-section {
    width: 100%;
    height: 100%;
    position: relative;
    margin: 0 auto;
	padding: 0 3%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column
}
.img-section span {
    position: absolute;
    top: 5%;
    right: 3%;
    display: block;
    width: 2.625rem;
    height: 2.625rem;
    cursor: pointer;
}
.img-section span::after,
.img-section span::before {
    content: "";
    display: block;
    background: #fff;
    width: 2.625rem;
    height: 2px;
}
.img-section span::after {
    transform: rotate(45deg) translate(15px, 15px)
}
.img-section span::before {
    transform: rotate(-45deg) translate(-16px, 16px)
}
.img-section img {
    display: block;
    width: auto;
    height: auto;
    max-width: 60vw;
    max-height: 80vmin;
    margin-left: auto;
    margin-right: auto;
    object-fit: contain;
}
.caption {
    font-size: var(--nm);
    color: #fff;
    margin-top: 1%;
    text-align: center;
}

/*=====================================
トップページ
=====================================*/
@keyframes fadeinAnm {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@-webkit-keyframes fadeinAnm {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
.mv {
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
    width: 100%;
}
.mv__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: min(94%,1254px);
	margin: 0 auto
}
.mv__logo {
	aspect-ratio: 572/260;
	overflow: hidden;
	padding: 0;
	opacity: 0;
    -webkit-animation: fadeinAnm 1s ease-out .8s 1 forwards;
    animation: fadeinAnm 1s ease-out .8s 1 forwards
}
.mv__logo img {
	width: 100%;
}
.mv__txt {
	flex-basis: 48.8%;
	flex-shrink: 1;
	background: -webkit-linear-gradient(90deg, rgba(255,255,255,.9), rgba(255,255,255,.7), rgba(255,255,255,.9));
	background: linear-gradient(90deg, rgba(255,255,255,.9), rgba(255,255,255,.7), rgba(255,255,255,.9));
	border: 1px solid var(--wht);
	border-radius: 1rem;
	opacity: 0;
    -webkit-animation: fadeinAnm 1s ease-out 1.8s 1 forwards;
    animation: fadeinAnm 1s ease-out 1.8s 1 forwards
}
.mv__txt .cmnBtn {
	margin: 1em auto 0
}

@media (min-width: 921px) {
	.mv {
		aspect-ratio: 15/4;
		background: url("../imgs/mv-pc.webp") no-repeat center / 100%;
	}
	.mv__logo {
		flex-basis: 45.6%
	}
	.mv__txt {
		padding: 3rem 2rem;
	}
}
@media (min-width: 750px) and (max-width: 920px) {
	.mv {
		aspect-ratio: 3/2;
		background: url("../imgs/mv-sp.webp") no-repeat center top / cover;
	}
	.mv__inner {
		flex-direction: column;
		gap: 1.4rem;
		padding: 2% 4%;
	}
	.mv__logo {
		width: 64.8%;
		margin-right: .5rem;
	}
	.mv__txt {
		padding: 2rem 2rem;
	}
}
@media (max-width: 749px) {
	.mv {
		aspect-ratio: 78/80;
		background: url("../imgs/mv-sp.webp") no-repeat center / 100%;
	}
	.mv__inner {
		flex-direction: column;
		gap: .6rem;
		padding: 4%;
	}
	.mv__logo {
		width: 96%;
		margin-right: .5rem;
	}
	.mv__txt {
		padding: 5% 5%;
	}
}

.top-bnr__item {
	display: flex;
	align-items: center;
	gap: .8rem;
	background-color: var(--wht);
	border-radius: .8rem;
	color: var(--blk);
	overflow: hidden
}
.about .top-bnr__item,
.grade .top-bnr__item {
	box-shadow: 0 0 10px -1px rgba(80, 80, 80, .3);
}
.person .top-bnr__item,
.instrument .top-bnr__item {
	gap: 1.2rem;
	border: 2px solid var(--lgry)
}
.about .top-bnr__item .icon,
.person .top-bnr__item .icon {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1/1;
	border-radius: 50%;
	background-color: var(--pgry)
}
.about .top-bnr__item .icon img {
	width: 70%;
}
.person .top-bnr__item .icon img {
	width: 100%;
}
.top-bnr__item .txt .ttl  {
	display: block;
	color: var(--blk);
	font-size: var(--tl);
	font-weight: 700
}
.top-bnr__item .txt p  {
	color: var(--blk)
}
.top-bnr__item .txt .ttl::before {
	content: "";
	aspect-ratio: 1/1;
	display: inline-block;
	width: .9rem;
	margin-right: .4rem;
	margin-bottom: .1rem;
	background: url("../imgs/ic-arrow-ppl.svg") no-repeat center 50% / 100%
}
.instrument .top-bnr__item .ph {
	aspect-ratio: 9/5;
	overflow: hidden;
}
.instrument .top-bnr__item .ph img {
	object-fit: contain
}
.grade .top-bnr__item {
	flex-direction: column;
	align-items: flex-start;
	padding: .6rem;
}
.grade .top-bnr__item .ttl {
	display: flex;
	align-items: stretch;
	width: 100%;
	border-radius: .4rem;
	color: var(--wht);
	line-height: 1.5;
	font-size: var(--tl);
	font-weight: 700
}
.grade .top-bnr__item .ttl span {
	padding: .4rem 0 .3rem
}
.grade .top-bnr__item.grade02 .ttl {
	background-color: #cc6666
}
.grade .top-bnr__item.grade03-05 .ttl {
	background-color: #cc66cc
}
.grade .top-bnr__item.grade06-10 .ttl {
	background-color: #6699ff
}
.grade .top-bnr__item.grade11-13 .ttl {
	background-color: #66cc99
}
.grade .top-bnr__item.grade-yms .ttl {
	background-color: #cccc66
}
.grade .top-bnr__item .ttl::before {
	content: "";
	display: inline-block;
	flex-shrink: 0;
	width: 2.4rem;
	margin-right: .9rem;
	background: url("../imgs/ic-arrow-wht.svg") no-repeat left 54% top 50% / .9rem;
	border-top-left-radius: .4rem;
	border-bottom-left-radius: .4rem;
	transition: .3s
}
.grade .top-bnr__item.grade02 .ttl::before {
	background-color: var(--clr1)
}
.grade .top-bnr__item.grade03-05 .ttl::before {
	background-color: var(--clr2)
}
.grade .top-bnr__item.grade06-10 .ttl::before {
	background-color: var(--clr3)
}
.grade .top-bnr__item.grade11-13 .ttl::before {
	background-color: var(--clr4)
}
.grade .top-bnr__item.grade-yms .ttl::before {
	background-color: var(--clr5)
}
.grade .top-bnr__item strong {
	display: block;
	padding: 0 1rem;
	font-size: var(--tm);
	font-weight: 700
}
.grade .top-bnr__item strong::after {
	content: "";
	display: block;
	margin-top: .5em;
	width: 2rem;
	height: 3px;
	border-radius: 2px;
}
.grade .top-bnr__item.grade02 strong::after {
	background-color: var(--clr1)
}
.grade .top-bnr__item.grade03-05 strong::after {
	background-color: var(--clr2)
}
.grade .top-bnr__item.grade06-10 strong::after {
	background-color: var(--clr3)
}
.grade .top-bnr__item.grade11-13 strong::after {
	background-color: var(--clr4)
}
.grade .top-bnr__item.grade-yms strong::after {
	background-color: var(--clr5)
}
.grade .top-bnr__item p {
	padding: 0 1rem .6rem;
}
.other-link {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 2rem;
	list-style: none;
}
@media (min-width: 750px) {
	.top-bnr {
		display: flex;
		justify-content: space-between;
		gap: 2rem 2%;
		flex-wrap: wrap
	}
	.about .top-bnr__item,
	.person .top-bnr__item {
		flex-basis: 32%
	}
	.instrument .top-bnr__item,
	.grade .top-bnr__item {
		flex-basis: 49%
	}
	.person .top-bnr__item:hover,
	.instrument .top-bnr__item:hover {
		border-color: #dedfe0
	}
	.about .top-bnr__item:hover,
	.grade .top-bnr__item:hover {
		box-shadow: 0 0 8px -1px rgba(80, 80, 80, .2);
	}
	.top-bnr__item.full {
		flex-basis: 100%
	}
	.about .top-bnr__item {
		flex-direction: column;
		padding: 1.6rem 2rem 1.4rem;
	}
	.about .top-bnr__item .icon {
		display: flex;
		align-content: center;
		justify-content: center;
		width: 40%;
	}
	.instrument .top-bnr__item .ph {
		display: flex;
		align-content: center;
		justify-content: center;
		width: 35.6%;
	}
	.about .top-bnr__item:hover .icon,
	.person .top-bnr__item:hover .icon {
		transform: scale(1.1)
	}
	.about .top-bnr__item:hover .txt p,
	.person .top-bnr__item:hover .txt p,
	.grade .top-bnr__item:hover {
		color: var(--blk)
	}
	.about .top-bnr__item .txt .ttl {
		text-align: center
	}
	.about .top-bnr__item:hover .txt .ttl,
	.person .top-bnr__item:hover .txt .ttl,
	.instrument .top-bnr__item:hover .txt .ttl {
		color: var(--clr0)
	}
	.person .top-bnr__item {
		padding: 1rem;
	}
	.grade .top-bnr__item.grade02:hover .ttl {
		background-color: var(--clr1)
	}
	.grade .top-bnr__item.grade03-05:hover .ttl {
		background-color: var(--clr2)
	}
	.grade .top-bnr__item.grade06-10:hover .ttl {
		background-color: var(--clr3)
	}
	.grade .top-bnr__item.grade11-13:hover .ttl {
		background-color: var(--clr4)
	}
	.grade .top-bnr__item.grade-yms:hover .ttl {
		background-color: var(--clr5)
	}
	.grade .top-bnr__item:hover .ttl::before {
		background: url("../imgs/ic-arrow-wht.svg") no-repeat left 64% top 50% / .9rem;
	}
	.grade .top-bnr__item.grade02:hover .ttl::before {
		background-color: #cc6666
	}
	.grade .top-bnr__item.grade03-05:hover .ttl::before {
		background-color: #cc66cc
	}
	.grade .top-bnr__item.grade06-10:hover .ttl::before {
		background-color: #6699ff
	}
	.grade .top-bnr__item.grade11-13:hover .ttl::before {
		background-color: #66cc99
	}
	.grade .top-bnr__item.grade-yms:hover .ttl::before {
		background-color: #cccc66
	}
	.grade .top-bnr__item .ttl span small {
		vertical-align: middle
	}
}
@media (max-width: 749px) {
	.top-bnr .top-bnr__item + .top-bnr__item {
		margin-top: 4%;
	}
	.about .top-bnr__item,
	.person .top-bnr__item {
		padding: 4% 4%;
	}
	.instrument .top-bnr__item .ph {
		display: flex;
		align-content: center;
		justify-content: center;
		width: 42%;
	}
	.grade .top-bnr__item .ttl span small {
		display: block
	}
}
.info-list {
	list-style: none;
	border-top: 1px solid var(--lgry)
}
.info-list li {
	padding: 1.2rem 0;
	border-bottom: 1px solid var(--lgry)
}
.info-list__item {
	display: block;
	color: var(--blk);
	text-decoration: none
}
a:hover.info-list__item {
	color: var(--clr0) ;
}
.info-list__item date {
	display: block;
	color: var(--gry)
}
@media (min-width: 750px) {
	.top-info {
		display: flex
	}
	.top-info__ttl {
		flex-basis: 27.4%;
		flex-shrink: 0
	}
	.top-info__cont {
		flex-grow: 1
	}
	.top-info__cont .anchor {
		display: none
	}
	.info-list__item {
		padding: 0 2.8rem 0 1.5rem;
	background: url("../imgs/ic-arrow-ppl.svg") no-repeat right 1.5rem center / .9rem;
	}
	.info-list__item:hover {
		background: url("../imgs/ic-arrow-ppl.svg") no-repeat right 1.2rem center / .9rem;
	}
}
@media (max-width: 749px) {
	.top-info__ttl {
		margin-bottom: 5%
	}
	.top-info__ttl .anchor {
		display: none
	}
	.top-info__cont .anchor {
		width: fit-content;
		margin: 8% auto 0;
	}
	.info-list__item {
		padding: 0 2.2rem 0 .8rem;
	background: url("../imgs/ic-arrow-ppl.svg") no-repeat right .6rem center / .9rem;
	}
}
.cv {
	list-style: none
}
.cv-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--clr0);
	background-position: left 1.2rem center , right 1.2rem center;
	background-repeat: no-repeat;
	background-size: 2.8rem , .9rem;
	border-radius: .8rem;
	color: var(--wht);
	font-weight: 700;
	text-align: center;
}
.cv-btn.faq {
	background-image: url("../imgs/ic-faq.svg") , url("../imgs/ic-arrow-wht.svg")
}
.cv-btn.contact {
	background-image: url("../imgs/ic-contact.svg") , url("../imgs/ic-arrow-wht.svg")
}
.cv-btn img {
	display: block;
	aspect-ratio: 1/1;
	width: 32px;
	margin-bottom: 5px
}
@media (min-width: 835px) {
	.cv {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 2%;
	}
	.cv li {
		flex-basis: 49%
	}
	.cv-btn {
		min-height: 4.8rem;
		font-size: var(--tl)
	}
	.cv-btn:hover {
		background-color: var(--clr7);
		background-position: left 1.2rem center , right .9rem center;
		color: var(--wht)
	}
}
@media (max-width: 834px) {
	.cv {
		width: 76%
	}
	.cv li + li {
		margin-top: 4%
	}
	.cv-btn {
		min-height: 4.2rem;
		font-size: var(--tm);
	}
}



/*=====================================
中面
=====================================*/
.info-list.page {
	border-top: 0;
}
@media (min-width: 835px) {
	.info-list.page {
		width: 96%;
		margin-left: auto;
		margin-right: auto;
	}
	.info-list.page .info-list__item {
		display: flex;

	}
	.info-list.page .info-list__item  date {
		flex-basis: 160px;
		flex-shrink: 0
	}
}
@media (max-width: 834px) {
	.info-list.page li:first-child {
		padding-top: 0
	}
}
.accordion__wrap.faq {
	border-bottom: 1px solid var(--lgry);
}
.faq .accordion__label {
	position: relative;
	width: 96%;
	margin-left: auto;
	margin-right: auto;
	justify-content: space-between;
	padding: 1.2rem 0 1.2rem 2rem!important;
	font-weight: 400
}
.faq .accordion__label::before,
.faq .accordion__cont::before {
	position: absolute;
	font-weight: 700;
	line-height: 1
}
.faq .accordion__cont {
	position: relative;
}
.faq .accordion__label::before {
	content: "Q";
	left: 0;
	color: var(--clr0);
}
.faq .accordion__cont::before {
	content: "A";
	color: var(--clr6);
}
@media (min-width: 835px) {
	.faq .accordion__label::before {
		top: .8rem;
		font-size: var(--txl);
	}
	.faq .accordion__cont {
		padding: 0 4rem 2% 3.2rem
	}
	.faq .accordion__cont::before {
		top: .1rem;
		left: 2rem;
		font-size: var(--txl);
	}
	.faq .accordion__label span.plus {
		margin-left: 1.4rem;
	}
}
@media (max-width: 834px) {
	.faq .accordion__label::before {
		top: 1.2rem;
		font-size: var(--t2xl);
	}
	.faq .accordion__cont {
		padding: 0 0 1.2rem 2rem!important
	}
	.faq .accordion__cont::before {
		top: .4rem;
		left: 2%;
		font-size: var(--t2xl);
	}
}
.grade.page li {
	padding-left: 0!important
}
.grade.page li:before {
	display: none!important
}
.grade.page .top-bnr__item {
	display: block;
	background-color: var(--trp);
	border-radius: 0;
	box-shadow: 0 0 0 0 rgba(80, 80, 80, .3);
}
@media (min-width: 835px) {
	.grade.page {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap
	}
	.grade.page .top-bnr__item {
		flex-basis: 49%
	}
}
.tab__list {
	display: flex;
	gap: 2px;
	margin-left: 0!important;
	margin-bottom: 0!important
}
.tab__list li {
	flex-basis: calc((100% - 4px)/ 3);
	padding: 0!important;
}
.tab__list li a {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: .6rem .5rem .5rem;
	border-top-left-radius: .4em;
	border-top-right-radius: .4em;
	color: var(--blk)
}
.tab__list li.tab__piano:not(.selected) a {
	background-color: var(--pgry);
}
.tab__list li.tab__electone:not(.selected) a {
	background-color: var(--pgry);
}
.tab__list li.tab__teacher:not(.selected) a {
	background-color: var(--pgry);
}
.tab__list li.selected a {
	font-weight: 700;
}
.tab__list li.tab__piano a,
.tab__list li.tab__piano:not(.selected) a:hover {
	background-color: #f7c0c0;
	border-top: 2px solid #f7c0c0;
	border-left: 2px solid #f7c0c0;
	border-right: 2px solid #f7c0c0;
}
.tab__list li.tab__electone a,
.tab__list li.tab__electone:not(.selected) a:hover {
	background-color: #a2caec;
	border-top: 2px solid #a2caec;
	border-left: 2px solid #a2caec;
	border-right: 2px solid #a2caec;
}
.tab__list li.tab__teacher a,
.tab__list li.tab__teacher:not(.selected) a:hover {
	background-color: #c1de7c;
	border-top: 2px solid #c1de7c;
	border-left: 2px solid #c1de7c;
	border-right: 2px solid #c1de7c;
}
.tab__list li::before {
	display: none!important
}
.tab__list li a {
	text-decoration: none
}
.tab__inner {
	padding: 2rem 2% 0;
}
.tab__inner.piano {
	border: 5px solid #f7c0c0
}
.tab__inner.electone {
	border: 5px solid #a2caec
}
.tab__inner.teacher {
	border: 5px solid #c1de7c
}
.schedule__list {
	display: flex;
	flex-wrap: wrap;
	width: 96%;
	margin: 0 auto
}
@media (min-width: 835px) {
	.schedule__list dt {
		flex-basis: 23%;
		padding: 1%;
	}
	.schedule__list dd {
		flex-basis: 77%;
		padding: 1%;
	}
}
@media (max-width: 834px) {
	.schedule__list dt {
		flex-basis: 34%;
		padding: 1% 0;
	}
	.schedule__list dd {
		flex-basis: 66%;
		padding: 1% 0;
	}
}