
/*====================================================
////id common
====================================================*/
body {
	position: relative;
	width: 100%;
	max-width: 100vw;
	height: auto;
}
#contents {
	background: #edecf2;
	font-family: "Plus Jakarta Sans", "Noto Sans JP", "Yu Gothic", "游ゴシック Medium", "YuGothic", "游ゴシック体", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
    font-size: min(3.8vw, 1.6rem);
    font-weight: 400;
	line-height: 1.6;
}
.innerBox{
	max-width: 1000px;
	margin: 0 auto;
	padding: min(10vw, 80px) 0;
	position: relative;
	width: 90%;
	z-index: 2;
}

.header.miyajiHeader {
    z-index: 9999;
}

@media screen and (max-width: 1000px) {
    .header.miyajiHeader {
        overflow: hidden;
    }
}

.pb-0 {
  padding-bottom: 0;
}
.block {display: block;}
.inb {display: inline-block;}
.relative { position: relative; z-index: 1;}
.flexBox {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}
.flexCenter {
	align-items: center;
	justify-content: center;
}
.flexStart {
	justify-content: flex-start;
}
.flexEnd {
	justify-content: flex-end;
}
.flexWrap {
	flex-wrap: wrap;
}
.flexColumn {
	flex-direction: column;
}
.flex-1 {
	flex: 1;
}
.gridBox {
	display: grid;
}
#contents section {
  position: relative;
}
.bgBox {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	z-index: -1;
}
.bgBox img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.decoBox {
	margin: auto;
	position: absolute;
}

img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	display: inherit;
}

figure {
	position: relative;
}
figure img {
	position: relative;
}
figure.coverImg {
	overflow: hidden;
	padding-top: 55%;
	width: 100%;
}
figure.coverImg.h100 {
	padding-top: 0;
	height: 100%;
}
figure.coverImg img {
	-o-object-fit: cover;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	max-width: none;
	height: 100%;
	max-height: none;
}

a:hover {
    color: inherit;
}

.txt-left {
	text-align: left;
}
.txt-right {
	text-align: right;
}
.txt-center {
	text-align: center;
}

small, .small {
	font-size: .8em;
}
big, .big {
	font-size: 1.2em;
    line-height: 1;
}
.fw-light {
	font-weight: 300;
}
.fw-normal {
	font-weight: normal;
}
.fw-bold, b, strong {
	font-weight: 700;
}

.f-serif {
	font-family: 'Noto Serif JP', "游明朝 Medium", "YuMincho Medium", "游明朝体 Medium", "Hiragino Mincho ProN", "MS PMincho", serif;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: bold;
	line-height: 1.5;
}
p + p {
  margin-top: .8em;
}


/*====================================================
//class .sa
====================================================*/
.sa-item {
	opacity: 0;
}
.sa-item.show {
    animation: .8s .4s ease-in-out forwards sa-show;
}
.show.showed {
    transition: 1s;
}
@keyframes sa-show {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
        transform: none;
    }
}
.sa-lr {
	transform: translate(-40px, 0);
}
.sa-rl {
	transform: translate(40px, 0);
}
.sa-up {
	transform: translate(0, 40px);
}
.sa-down {
	transform: translate(0, -40px);
}
.sa.slideShow {
	opacity: 1;
	position: relative;
	z-index: 1;
}
.sa.slideShow:before {
	background: #d9eef4;
	content: '';
	position: absolute;
		top: 0;
		left: 0;
		right: auto;
	transition: .5s ease-in-out;
	width: 0;
	height: 100%;
	z-index: 10;
}
.sa.slideShow.show:before {
	-webkit-animation: anim-slide 1.4s ease-in-out forwards;
	        animation: anim-slide 1.4s ease-in-out forwards;
	-webkit-animation-delay: .4s;
	        animation-delay: .4s;
}
@-webkit-keyframes anim-slide {
	0%   {}
	45%  { width: 100%; left: 0; right: 0;}
	70% { width: 100%; left: auto; right: 0; }
	100% { width: 0; left: auto; right: 0; }
}
@keyframes anim-slide {
	0%   {}
	45%  { width: 100%; left: 0; right: 0;}
	70% { width: 100%; left: auto; right: 0; }
	100% { width: 0; left: auto; right: 0; }
}

.sa.slideShow img,
.sa.slideShow > .box-inner {
	opacity: 0;
}
.sa.slideShow.show img ,
.sa.slideShow.show > .box-inner {
	opacity: 1;
	transition-delay: 1.1s;
}
.delay-01 {
	transition-delay: .1s;
}
.delay-02 {
	transition-delay: .2s;
}
.delay-03 {
	transition-delay: .3s;
}
.delay-04 {
	transition-delay: .4s;
}

.headBox.jp_en {
	letter-spacing: .08em;
  margin-bottom: 40px;
}
.headBox.jp_en .en {
  /* color: #575454; */
  margin-bottom: 5px;
  padding: 5px;
  position: relative;
}
.red {
  color: #d5002d;
}
.d_red {
  color: #8e2138;
}
ul.attentionMark li {
	position: relative;
	padding-left: 1.2em;
	line-height: 1.4;
}
ul.attentionMark li + li {
	margin-top: .3em;
}
ul.attentionMark li:before {
	content: '\203B';
	display: block;
	position: absolute;
		left: 0;
		top: 0;
}
ul.dotMark li {
	position: relative;
	padding-left: 1.0em;
	line-height: 1.4;
}
ul.dotMark li + li {
	margin-top: .3em;
}
ul.dotMark li:before {
	background: currentColor;
	border-radius: 100%;
	content: '';
	display: block;
	margin: auto;
	position: absolute;
		left: .3em;
		top: .5em;
	width: .3em;
	height: .3em;
}
.linkBtn {
  background: #d70146;
  border: 1px solid #d70146;
  border-radius: 100px;
  color: #fff;
  display: flex;
	align-items: center;
	justify-content: center;
  font-size: 1.2em;
  font-weight: bold;
  line-height: 50px;
  margin: 0 auto;
  padding: 0 1% 0 0;
  position: relative;
  text-align: center;
  width: 100%;
    max-width: 600px;
  height: 2.5em;
}
.linkBtn:hover {
  background: #d70146;
  filter: brightness(1.2);
}
.linkBtn:after {
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  content: "";
  margin: auto;
  position: absolute;
    top: 0;
    right: 20%;
    bottom: 0;
  transform: rotate(-45deg);
  width: 10px;
  height: 10px;
}

.hidden {
	display: none;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 1000px) {
  body {
    padding-top: 60px;
  }
  .headBox.jp_en .jp {
    font-size: 2.7rem;
  }
  .headBox.jp_en .en {
    font-size: 1.6rem;
  }
}

@media screen and (max-width:769px) {
	.hidden-mob {
		display: none;
	}
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 1000px) {
  body {
    padding-top: 100px;
  }
}
@media print, screen and (min-width: 769px) {
  .headBox.jp_en .jp {
    font-size: 3.4rem;
  }
  .headBox.jp_en .en {
    font-size: 2.0rem;
  }
	.hidden-pc {
		display: none;
	}


}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:959px) {
	.display-tab {
		display: block;
	}
}

@media screen and (min-width:1080px) {
}

:root {
	--mainColor: #ec661d;
}
.bg-mainColor { background: var(--mainColor); }
.bg-mainColor_d { background: var(--mainColor_d); }
.mainColor { color: var(--mainColor); }
.mainColor_d { color: var(--mainColor_d); }


/*====================================================
////id |  mv
====================================================*/
#mv {
    overflow: hidden;
    position: relative;
}
.mv-logo {
    background: #000;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    display: flex;
        align-items: center;
        justify-content: center;
    position: absolute;
        top: 0;
        left: 0;
    width: 100%;
    height: min(30vh, 40vw);
    height: min(30svh, 40vw);
    max-height: 320px;
    z-index: 10;
}
.mv-logo h2 {
    display: flex;
        align-items: center;
        justify-content: center;
    margin: auto;
    position: absolute;
        top: min(2vw, 30px);
        left: 0;
        right: 0;
    width: 32%;
    height: 60%
}
.mv-logo img {
    max-width: 470px;
}
.mv-items {
    display: grid;
        grid-template-columns: 1fr 1fr;
    height: 100%;
}
.mv-item {
    position: relative;
}
.mv-item-img {
    height: 100%;
}
.mv-item-img .coverImg {
    height: 100%;
}
.mv-item-bg {
    background: var(--mainColor);
    margin: auto;
    position: absolute;
        top: 0;
        left: 0;
    width: 100%;
    height: 100%;
}
.mv-item-bg::before {
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
        left: 0;
    transition: .2s ease-in-out;
    width: 100%;
    height: 100%;
}
.guitar .mv-item-bg::before {
    background: var(--mainColor) url('../img/msg/202505/mv_title_gt.png') no-repeat center / cover;
}
.vocal .mv-item-bg::before {
    background: var(--mainColor) url('../img/msg/202505/mv_title_vo.png') no-repeat center / cover;
}
.mv-item-text a {
    font-weight: 700;
    line-height: 1.3;
    position: absolute;
        top: 0;
        left: 0;
    width: 100%;
    height: 100%;
}
.mv-item-text .lesson {
}
.mv-item-text .lesson .main {
    font-size: 2.2em;
}
.mv-item-text .name {
    color: #fff;
    font-size: 1.15em;
    margin-top: .5em;
}
.mv-text {
    background: #000;
    color: #fff;
    padding: min(6vw, 40px) 5vw;
    text-align: center;
}

.main_visual {
    position: relative;
    z-index: 5;
}
.mv-bg {
    background: #000;
    position: absolute;
        top: 0;
        left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.mv-bg .splide ,
.mv-bg .splide__track ,
.mv-bg .splide__list ,
.mv-bg li {
    height: 100%;
}
.mv-bg .coverImg {
    padding-top: 0;
    height: 100%;
}
.mv-bg .splide__pagination {
    display: none;
}
.mv-content {
    display: grid;
        grid-template-rows: 1fr auto;
    position: relative;
    width: 100%;
    height: 100%;
}
.mv-logo-c {
    display: flex;
        align-items: center;
        justify-content: center;
}
.mv-logo-c img {
    width: min(60vw, 400px);
}
.mv-message {
    background: #000;
    color: #fff;
    font-size: min(4.4vw, 2.4rem);
    font-weight: 500;
    letter-spacing: .04em;
    text-align: center;
    padding: 1.5em 3vw;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 640px) {
    .mv-logo h2 {
        width: 40%;
    }
    .main_visual {
        height: calc(100vh - 60px);
        height: calc(100svh - 60px);
    }
    .mv-items {
        height: min(calc(100vh - 60px), 140vw);
        height: min(calc(100svh - 60px), 140vw);
    }
    .mv-item-text {
        font-size: min(4vw, 2.8rem);
        line-height: 1.2;
        margin: auto;
        position: absolute;
        width: 100%;
        height: min(30vh, 40vw);
        height: min(30svh, 40vw);
    }
    .mv-item:nth-child(1) .mv-item-text {
        left: 0;
        bottom: 0;
        text-align: left;
    }
    .mv-item:nth-child(2) .mv-item-text {
        right: 0;
        bottom: 0;
        text-align: right;
    }
    .mv-item:nth-child(1) .mv-item-bg {
        clip-path: polygon(0 0, 100% 100%, 0 100%);
    }
    .mv-item:nth-child(1) .mv-item-bg::before {
        left: -10vw;
    }
    .mv-item:nth-child(2) .mv-item-bg {
        clip-path: polygon(100% 0, 100% 100%, 0 100%);
    }
    .mv-item:nth-child(2) .mv-item-bg::before {
        left: auto;
        right: -10vw;
    }
    .mv-item-text a {
        display: flex;
            align-items: flex-end;
        padding: 1em;
    }
    .mv-item:nth-child(2) .mv-item-text a {
        justify-content: flex-end;
    }
    .mv-item-text .name {
        font-size: 1em;
    }
    .mv-text {
        font-size: min(3.8vw, 2.2rem);
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 640.2px) {
    .main_visual {
        height: calc(100vh - 105px);
        height: calc(100svh - 105px);
    }
    .mv-items {
        height: min(calc(100vh - 144px), 90vw);
        height: min(calc(100svh - 144px), 90vw);
            min-height: 900px;
    }
    .mv-item-text {
        border-radius: 100%;
        font-size: min(2.4vw, 2.8rem);
        line-height: 1.2;
        margin: auto;
        overflow: hidden;
        position: absolute;
            bottom: min(3vw, 24px);
        text-align: center;
        width: 12em;
        height: 12em;
    }
    .mv-item:nth-child(1) .mv-item-text {
        left: min(3vw, 24px);
    }
    .mv-item:nth-child(2) .mv-item-text {
        right: min(3vw, 24px);
    }
    .mv-item-text a > div{
        display: grid;
            place-content: center;
            place-items: center;
        width: 100%;
        height: 100%;
    }    
    .mv-item-bg {
        border-radius: 100%;
    }
    .mv-text {
        font-size: min(2.4vw, 2.6rem);
    }
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}
@media screen and (min-width:1000px) {
    .main_visual {
        height: calc(100vh - 144px);
        height: calc(100svh - 144px);
    }
}

@media (hover: hover) {
    .mv-item-text a:hover {
        opacity: 1;
    }
    .mv-item-text:hover .mv-item-bg::before {
        filter: brightness(1.1);
        transform: scale(1.1);
    }
}

/*====================================================
////id |  about
====================================================*/
.about-head .text {
    text-shadow: 0 0 .03em #fff, 0 0 .03em #fff, 0 0 .03em #fff, 0 0 .03em #fff, 0 0 .03em #fff, 0 0 .03em #fff, 0 0 .03em #fff, 0 0 .03em #fff, 0 0 .03em #fff, 0 0 .03em #fff, 0 0 .03em #fff, 0 0 .03em #fff, 0 0 .03em #fff, 0 0 .03em #fff, 0 0 .03em #fff, 0 0 .03em #fff, 0 0 .03em #fff, 0 0 .03em #fff, 0 0 .03em #fff, 0 0 .03em #fff, 0 0 .03em #fff;
    position: relative;
}
.about-head .text::before {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 480 150"><path fill="%23fff799" d="M476.77,67.22c-.94-.72-1.95-1.38-2.72-2.26-1.75-2.01-3.97-3.06-6.49-3.68-6.87-1.7-13.7-3.49-20.76-4.45-9.02-1.23-18.04-2.5-27.12-3-22.6-1.24-45.17-.63-67.67,1.94-1.25.14-2.94,1.03-3.69-.38-.64-1.21.81-2.43,1.25-3.68.21-.61.69-1.18,1.19-1.61,3.12-2.66,4.16-6.5,5.57-9.53.22-.85.3-1.18.39-1.51.85-3.09.54-5.7-2.65-7.37-.86-.45-1.66-1.2-2.24-1.99-1.42-1.94-3.33-2.81-5.62-2.97-3.86-.28-7.71-.71-11.6-.75-6.49-.06-12.96.26-19.42.75.67-3.25,1.08-6.56,1.57-9.84.42-2.85.16-5.76-.3-8.63-.57-3.57-2.32-5.96-6.12-6.38-.67-.07-1.38-.12-1.98-.38-5.25-2.25-10.56-1.64-15.9-.46-7.74,1.7-15.49,3.39-23.23,5.08-12.53,2.69-25.06,5.33-37.32,9.13-6.28,1.95-12.67,3.52-18.93,5.53-7.22,2.32-14.34,4.94-21.51,7.42-14.03,4.86-27.87,10.21-41.51,16.08-12.86,5.54-25.64,11.28-38.41,17.05-24.3,10.99-48.57,22.04-72.13,34.58-8.95,4.76-17.8,9.68-26.17,15.44-2.64,1.82-5.14,3.83-8.16,5.06-1.97.8-3.1,2.44-3.96,4.4-1.73,3.9-1.52,7.53.76,11.14,2,3.18,4.83,5.69,7.01,8.67,3.02,4.13,6.86,6.74,11.48,8.71,2.59,1.11,4.47.81,6.47-.85,2.08-1.73,4.15-3.48,6.32-5.08,10.24-7.55,21.29-13.74,32.63-19.38,11.03-5.49,22.17-10.76,33.32-16.01,20.31-9.56,40.73-18.89,61.38-27.69,2.6-1.11,5.2-2.2,7.81-3.27-3.43,1.79-6.82,3.65-10.14,5.64-1.03.62-2.15.89-3.31,1.16-4.23.98-6.22,3.42-6.52,7.8-.14,2.05-.03,4.08.46,6.07,1.05,4.29,2.14,8.56,3.23,12.84.38,1.5,1.12,2.83,2.06,4.06,1.14,1.47,2.31,2.92,3.38,4.44,1.44,2.04,3.37,2.73,5.74,2.29,2.86-.53,5.46-1.67,7.85-3.35,1.52-1.06,3.1-2.04,4.74-2.9,5.38-2.81,10.81-5.56,16.22-8.32,4.06-2.07,8.11-4.15,12.2-6.17,1.44-.71,2.31-.14,2.25,1.51-.1,2.9.01,5.77.74,8.6.88,3.45,1.79,6.9,2.65,10.36.46,1.84,1.25,3.5,2.46,4.97.97,1.18,1.87,2.4,2.81,3.6,2.11,2.69,3.8,3.25,7.05,2.25.96-.3,1.87-.77,2.78-1.22,3.02-1.5,6.03-3.03,9.05-4.54,12.11-6.08,24.73-10.84,37.64-14.84,23.25-7.19,46.94-12.43,70.97-16.22,26.42-4.16,52.92-6.01,79.63-3.67,11.42,1,22.83,2.04,34.1,4.22,4.25.82,8.11-.03,11.48-2.6,5.21-3.98,8.8-9.29,11.52-15.21.41-.9.57-1.97.64-2.97.2-3.06-.68-5.69-3.21-7.62Z" /></svg>') no-repeat center / contain;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: -40%;
        left: -5%;
    width: 110%;
    height: 180%;
    z-index: -1;
}
.about-text {
    line-height: 1.8;
    margin-top: min(7vw, 40px);
}
.about-text strong {
    display: inline-block;
    font-size: 1.5em;
    line-height: 1.3;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    .about-head .text {
        display: block;
        font-size: 12vw;
        text-align: center;
        width: 100%;
    }
    .about-head .img {
        display: block;
        width: 67%;
    }
    .about-text {
        font-size: min(4vw, 1.6rem);
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    .about-inner {
        padding-top: min(3vw, 30px);
    }
    .about-head {
        display: grid;
            align-items: flex-end;
            grid-template-columns: 1fr auto;
            grid-gap: 15px;
        font-size: min(8vw, 9rem);
        line-height: 1.2;
        text-align: center;
    }
    .about-head .img {
        display: inline-block;
        padding-bottom: min(2vw, 30px);
    }
    .about-text {
        font-size: min(2vw, 1.8rem);
        text-align: center;
    }
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media (hover: hover) {}

/*====================================================
////id |  nav
====================================================*/
#nav {
    background: rgba(0, 0, 0, .6);
    backdrop-filter: blur(3px);
    margin-bottom: min(8vw, 40px);
    position: sticky;
        top: 60px;
    z-index: 30 !important;
}
.nav-inner {
    padding: min(2vw, 20px) 0;
}
.nav-items {
    display: flex;
        justify-content: center;
        gap: min(1.5vw, 26px);
}

.nav-item {
    background: #000;
    border: solid 1px #fff;
    border-radius: 3em;
    color: #fff !important;
    display: flex;
        align-items: center;
        justify-content: center;
    flex: 1;
    font-weight: 700;
    line-height: 1.1;
    padding: .2em .4em;
    text-align: center;
    max-width: 13em;
    height: 3.5em;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    .nav-items {
        flex-wrap: wrap;
    }
    .nav-item {
        font-size: min(2.8vw, 1.3rem);
        min-width: 30%;
        height: 2.5em;
    }


}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    .nav-5 .nav-items {
        gap: min(1vw, 20px);
    }
    .nav-5 .nav-item {
        font-size: min(1.6vw, 1.4rem);
    }
}

@media screen and (min-width:1000px) {
    #nav {
        top: 100px;
    }
}

@media (hover: hover) {
    .nav-item:hover {
        background: var(--mainColor);
        color: #fff;
        opacity: 1;
    }
}

#nav-wrapper .lesson-outer {
    position: relative;
    z-index: 5;
}
#nav-wrapper #application {
    position: relative;
    z-index: 2;
}

/*====================================================
////id |  見出し
====================================================*/
.band_head {
    background: var(--mainColor);
    background: #000;
}
.en_jp {
    display: grid;
        place-items: center;
    font-size: min(11vw, 6rem);
    line-height: 1.4;
    padding-top: .3em;
}
.en_jp .en {
    color: #fff;
    /* text-shadow: .05em .05em 0 rgb(255, 255, 255, .8); */
}
.en_jp .jp {
    font-size: min(4vw, 2rem);
    margin-bottom: -.4em;
	transform: translate(0, 1em);
}
.en_jp .jp-ribbon {
    background-color: #000;
    background-color: var(--mainColor);
    color: #fff;
    display: inline-block;
    padding: .2em 1em;
    transform: rotate(-4deg) translateX(1em);
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media (hover: hover) {}


/*====================================================
////id |  lesson
====================================================*/
.lesson-layout {
    overflow: hidden;
    position: relative;
    z-index: 5;
}
.lesson-layout:nth-child(2) {
    z-index: 4;
}
.lesson-detail-wrapper {
    position: relative;
}
.lesson-detail-inner {
    position: unset;
}
.lesson-img .coverImg img {
    object-position: top;
}
.lesson-headBox {
    position: relative;
        z-index: 10;
}
.lesson-head {
    display: grid;
        grid-gap: .5em;
    line-height: 1.2;
    margin-bottom: -.3em;
    padding: .6em 0 1.5em;
    position: relative;
    text-align: center;
    width: 11em;
}
.lesson-head::before {
    background: url('../img/msg/name_bg.svg') no-repeat top center / contain;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
        left: 0;
    width: 100%;
    height: 100%;
}
.lesson-head-item {
    display: inline-block;
    padding: 0 .5em;
    transform: rotate(-4deg) skewX(-10deg);
    width: 90%;
}
.lesson-title {
    color: #fff;
    display: flex;
        justify-content: center;
        gap: .3em;
}
.lesson-title .title-sub {
    font-size: .5em;
    text-align: left;
}
.lesson-teacher {
    margin: 0 0 0 auto;
}
.lesson-teacher .sub {
    font-size: .6em;
}

.lesson-layout:nth-child(even) .lesson-head::before {
    transform: scale(-1, 1);
}
.lesson-layout:nth-child(even) .lesson-head-item {
    transform: rotate(4deg) skewX(10deg);
}
.lesson-layout:nth-child(even) .lesson-title {
    margin: 0 0 0 auto;
}
.lesson-layout:nth-child(even) .lesson-teacher {
    margin: 0 auto 0 0;
}

.marker_head {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 318 57"><path fill="%23fff799" d="M5.52,56.87c78.81-16.34,161.06-25.81,241.16-13.54,18.25,2.8,36.3,6.78,53.99,12.05,6.99,2.08,12.75-11.33,14.38-16.07,1.35-3.92,6.26-19.48-.68-21.55C242.88-3.53,166.41-3.26,92.95,5.95c-26.25,3.29-52.32,7.82-78.22,13.19-7.66,1.59-12.25,14.72-13.69,21.22-.82,3.69-3.33,18.12,4.48,16.5h0Z" /></svg>') no-repeat bottom center / contain;
    display: inline-block;
    font-size: 1.5em;
    margin-bottom: .2em;
    text-align: center;
    width: 6em;
}
.lesson-message {
    margin-top: 2em;
}
.lesson-video-inner {
    padding-top: 2em;
}

/* .lesson-video-inner {
    padding-bottom: 0;
} */
.lesson-video-items {
    display: grid;
        grid-gap: min(6vw, 30px) min(3vw, 60px);
    margin: 1em auto 0;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 960px) {
    .lesson-detail-inner {
        padding: 0;
    }
    .lesson-headBox {
        position: absolute;
            top: min(60vw, 300px);
            right: 2vw;
    }
    .lesson-head {
        font-size: min(7.5vw, 4rem);

    }

    .lesson-img {
        width: min(90%, 700px);
    }
    .lesson-img .coverImg {
        padding-top: min(140%, 550px);
    }
    .lesson-text {
        margin-top: 2em;
    }


    .lesson-layout:nth-child(odd) .lesson-img {
        margin-left: -5vw;
    }
    .lesson-layout:nth-child(even) .lesson-headBox {
            left: 2vw;
    }
    .lesson-layout:nth-child(even) .lesson-img {
        margin: 0 -5vw 0 auto;
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 960px) {
    .lesson-detail-inner {
        display: grid;
            grid-template-columns: 1fr 1fr;
        padding: min(5vw, 60px) 0 0;
    }
    .lesson-headBox {
        display: flex;
        grid-column: 2;
        
    }
    .lesson-head {
        font-size: min(4vw, 4rem);
        transform: translateX(calc(min(12vw, 150px) * -1));
    }
    .lesson-img .coverImg {
        padding: 0;
        position: absolute;
            top: 0;
            left: 0;
        width: calc(50% - min(5vw, 60px));
        height: 100%;
    }

    .lesson-layout:nth-child(even) .lesson-headBox {
        grid-column: 1;
        justify-content: flex-end;
    }
    .lesson-layout:nth-child(even) .lesson-head {
        transform: translateX(calc(min(12vw, 150px) * 1));
    }
    .lesson-layout:nth-child(even) .lesson-img {
        grid-column: 2;
    }
    .lesson-layout:nth-child(even) .lesson-img .coverImg {
        left: auto;
        right: 0;
    }
    .lesson-layout:nth-child(even) .lesson-text {
        grid-column: 1;
    }

    .lesson-video-inner {
        padding-top: 2em;
    }
    .lesson-video-items {
        grid-template-columns: 1fr 1fr;
    }
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
    .lesson-video-items {
        grid-template-columns: 1fr 1fr;
    }
}

@media (hover: hover) {}

/*====================================================
////id |  application
====================================================*/
.app-bg {
    background: url('../img/msg/202505/information_bg.webp') no-repeat center / cover;
}
.app-headBox {
    background: #000;
    color: #fff;
}
.app-head {
    font-size: min(6vw, 3rem);
    padding: .4em 1em;
    text-align: center;
}
.app-items {
    background: rgba(255, 255, 255, .8);
    border: solid #000;
    border-width: 0 2px 2px;
    padding: min(5vw, 40px) min(5vw, 70px);
}
.app-item dt {
    border-bottom: solid 3px var(--mainColor);
    font-weight: 700;
    text-align: center;
}
.app-item dd .big {
    display: inline-block;
    line-height: 1;
}
.app-item dd .attentionMark {
    font-size: .8em;
    margin-top: .5em;
}
.app-item dd .tax {
    font-size: .6em;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    .app-item dt {
        display: inline-block;
        font-size: 1.1;
        padding: 1em .6em .3em;
    }
    .app-item dd {
        padding: .5em 0 1em .6em;
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    .app-item {
        display: grid;
        grid-template-columns: 9em 1fr;
    }
    .app-item dt {
        display: flex;
            align-items: center;
            justify-content: center;
        padding: 1em 0;
    }
    .app-item dd {
        padding: 1em;
        border-bottom: solid 1px #888;
    }
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media (hover: hover) {}

/*====================================================
////id |  inquiry
====================================================*/
.inquiry-bg {
    background: #000;
    color: #fff;
    position: relative;
}
.inquiry-bg::before {
    background: url('../img/msg/msg_logo.svg') no-repeat center / contain;
    content: '';
    display: block;
    filter: brightness(100);
    margin: auto;
    opacity: .15;
    position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
    width: 80%;
    height: 60%;
}
.inquiry-head-wrapper {
    display: grid;
}
.inquiry-head {
    font-size: min(6vw, 3rem);
    margin-bottom: .7em;
    text-align: center;
}
#campaign .inquiry-head {
    font-size: min(6.5vw, 5rem);
}
.inquiry-accent_text {
    display: flex;
        justify-content: center;
    /* filter: drop-shadow( .1em .1em 0 #fff); */
    font-size: min(5vw, 2em);
    margin-bottom: .3em;
}
.inquiry-accent_text .accent_text {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 372 120"><path fill="%23ec661d" d="M365.91,91.28h0s-81.56,28.72-81.56,28.72l1.45-23.55L0,114.9,11.31,19.72,372,0l-6.09,91.28h0Z" /><path fill="%23bd5217" d="M285.12,107.61l.69-11.16,80.11-5.17-80.79,16.33Z" /></svg>') no-repeat center / contain;
    color: #fff;
    font-weight: bold;
    line-height: 1.4;
    padding: .3em 1em .5em;
    position: relative;
}
.inquiry-accent_text .accent_text > div {
    transform: rotate(-4deg) skewX(-10deg);
}
/* .inquiry-accent_text::before,
.inquiry-accent_text::after {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 30 39"><path fill="%23ec661d" d="M30,39L0,3.12,4.19,0l25.81,39ZM.41,28.22l21.9,10.34L2.88,24.11.41,28.22Z" /></svg>') no-repeat center / contain;
    content: '';
    display: block;
    width: 1.5em;
    height: 100%;
} */
.inquiry-accent_text::after {
    transform: scale(-1, 1);
}
.inquiry-date {
    display: flex;
        justify-content: center;
}
.inquiry-date .squareMark {
    background-color: var(--mainColor);
    color: #fff;
    font-size: 1.2em;
    font-weight: bold;
    padding: .2em 1em;
}
ol{
	counter-reset:number; /* 名前を付けたカウンターをリセット */
	list-style:none; /* olが数字を付けることをキャンセル */
	margin:0;
	padding:0;
}
ol > li{
    line-height: 1.4;
    margin-top: .2em;
	padding-left: 1.8em;
	position: relative;
}
ol > li:before{
    background: var(--mainColor);
    border-radius: 100%;
	box-sizing: border-box;
    color: #fff;
	counter-increment: number;
	content: counter(number);
	display: flex;
		align-items: center;
        justify-content: center;
    font-size: .8em;
    font-weight: 700;
    line-height: 1;
    padding-bottom: .1em;
	position: absolute;
		top: .1em;
		left: 0;
    text-align: center;
	width: 1.8em;
	height: 1.8em;
	line-height: 1;
}
ol > li + li {
    margin-top: .5em;
}
.inquiry-text {
    margin: auto;
    max-width: 800px;
    text-align: center;
}
.inquiry-text p {
    font-size: 1.1em;
}
.inquiry-text p + p {
    margin-top: .5em;
}
.inquiry-text ol {
    display: inline-block;
    font-size: 1.4em;
    margin: .5em 0;
    text-align: left;
}
.inquiry-text .attentionMark {
    display: inline-block;
    font-size: .8em;
    text-align: left;
    max-width: 500px;
}
.inquiry-text .link a {
    background: #fff;
    border: solid 2px var(--mainColor);
    border-radius: 3em;
    color: var(--mainColor);
    display: block;
    font-size: min(6vw, 2.6rem);
    font-weight: 700;
    margin: min(7vw, 40px) auto 0;
    padding: .8em 1em;
    width: min(100%, 400px);
}
.inquiry-text .link.campaign-link a { 
    margin-top: 0;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media (hover: hover) {
    .inquiry-text .link a:hover {
        background: var(--mainColor);
        color: #fff;
        opacity: 1;
    }
}

/*====================================================
////id |  detail
====================================================*/
.detail-headBox {
    background: var(--mainColor);
    overflow: hidden;
    text-align: center;
}
.detail-head {
    font-size: min(8vw, 4rem);
    font-weight: 700;
    padding: .3em;
    text-shadow: .05em .05em .05em rgb(255, 255, 255, .9);
}
.detail-inner {
    display: grid;
        grid-gap: min(10vw, 5rem);
    margin-top: min(5vw, 20px);
    
}
.detail-item {
    background: #fff;
    border: solid 2px #000;
    padding: 3.5em min(5vw, 2em) 2em;
    position: relative;
}
.detail-item-head {
    background: #fff799;
    display: inline-block;
    font-size: min(5.5vw, 2.4rem);
    line-height: 1.4;
    min-width: 12em;
    padding: .5em 1em;
    position: absolute;
        top: -1.2em;
        left: .5em;
    text-align: center;
}
.detail-item-head::before {
    background: #000;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
        left: .4em;
    transform: rotate(-5deg);
    width: 100%;
    height: 100%;
    z-index: -1;
}
.detail-item-step {
    border-bottom: solid 1px #ccc;
    display: grid;
        grid-template-columns: auto 1fr;
}
.detail-item-step:last-child {
    border-bottom: none;
}
.detail-item-step-no {
    display: grid;
        place-items: center;
        place-content: center;
    font-size: min(6vw, 30px);
    font-weight: 700;
    line-height: 1.2;
    position: relative;
    text-align: center;
    width: min(15vw, 80px);
    height: 100%;
        min-height: min(15vw, 80px);
}
.detail-item-step:nth-child(1) .detail-item-step-no {
    background: #f6f6f6;
}
.detail-item-step:nth-child(2) .detail-item-step-no {
    background: #ececec;
}
.detail-item-step:nth-child(3) .detail-item-step-no {
    background: #e3e3e3;
}
.detail-item-step:nth-child(4) .detail-item-step-no {
    background: #dadada;
}
.detail-item-step-no::after {
    background: #fff;
    border: solid #ccc;
    border-width: 1px 0 0 1px;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
        right: -10px;
        bottom: 0;
    transform: rotate(-45deg);
    width: 16px;
    height: 16px;

}
.detail-item-step-no .text {
    font-size: .5em;
}
.detail-item-step-text {
    padding: .7em 0 1em min(4vw, 1.5em);
}

.detail-item-plans {
    display: grid;
        grid-gap: 1em;
}
.detail-item-plan dt {
    display: flex;
        align-items: center;
        gap: .5em;
    font-size: 1.3em;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: .5em;
}
.detail-item-plan .no {
    background: var(--mainColor);
    border: solid 2px var(--mainColor);
    border-radius: 100%;
    color: #fff;
    display: flex;
        align-items: center;
        justify-content: center;
    font-size: 1.2em;
    font-weight: 700;
    width: 2em;
    height: 2em;
}
.detail-item-plan a {
    color: #6c2702;
    display: inline-block;
    margin: .3em 0;
	-webkit-text-decoration: underline dotted 1px currentColor;
	text-decoration: underline dotted 1px currentColor;
	text-underline-position: under;
	text-underline-offset: 0.1em;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media (hover: hover) {}

/*====================================================
//// id video
====================================================*/
#video {
	position: relative;
}
#video::before {
	background: #9996ac;
	content: '';
	display: block;
	filter: brightness(.6);
	margin: auto;
	opacity: .2;
	position: absolute;
		top: 0;
		left: 0;
	width: 50%;
	height: 100%;
}
.yt {
	position: relative;
	height: 0;
	padding: 0px 0 56.3%;
	overflow: hidden;
}

.yt iframe {
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 960px) {
	#video::before {
		width: 100%;
	}
}


/*====================================================
//// id ls
====================================================*/
.ls-item-wrapper {
    display: grid;
        grid-gap: min(10vw, 60px) min(3vw, 50px);
}
.ls-item-head {
    position: relative;
    width: 80%;
}
.ls-item-title {
    background: var(--mainColor);
    background: #222222;
    color: #fff;
    display: flex;
        gap: 0.3em;
        align-items: center;
        justify-content: center;
    line-height: 1.1;
    margin: auto;
    padding: .2em 1em;
    position: absolute;
    transform: skewY(-5deg);
    transform-origin: bottom left;
    z-index: 10;
}
.ls-item-title::before,
.ls-item-title::after {
    clip-path: polygon(0 0, 100% 0, 100% 100%);
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 100%;
        left: 0;
    /* transform: skewX(10deg); */
    width: 1.2em;
}
.ls-item-title::before {
    background: #222;
    height: 1em;
}
.ls-item-title::after {
    background: #000;
    height: .5em;
}
.ls-item-head .title-sub {
    font-size: .45em;
}
.ls-item-text {
    margin-top: 1em;
    width: 90%;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    .ls-item-wrapper {
        margin: auto;
        max-width: 600px;
    }
    .ls-item-head {
        margin: auto;
    }
    .ls-item-title {
        font-size: min(7vw, 3rem);
    }
    .ls-item-text {
        width: 100%;
    }

    .ls-item:nth-child(1) .ls-item-title ,
    .ls-item:nth-child(3) .ls-item-title {
        left: -1.18em;
        top: 0;
    }
    .ls-item:nth-child(2) .ls-item-title ,
    .ls-item:nth-child(4) .ls-item-title {
        right: -1.18em;
        top: 0;
        transform: skewY(5deg);
        transform-origin: bottom right;
    }
    .ls-item:nth-child(2) .ls-item-title::before ,
    .ls-item:nth-child(2) .ls-item-title::after ,
    .ls-item:nth-child(4) .ls-item-title::before ,
    .ls-item:nth-child(4) .ls-item-title::after {
        left: auto;
        right: 0;
        transform: scale(-1, 1);
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    .ls-item-wrapper {
        grid-template-columns: 1fr 1fr;
    }
    .ls-item-title {
        font-size: min(3.8vw, 3.4rem);
    }
    .ls-item-img .coverImg {
        padding-top: 200px;
    }

    .ls-item:nth-child(1) .ls-item-title ,
    .ls-item:nth-child(2) .ls-item-title {
        left: -1.19em;
        top: 0;
    }
    .ls-item:nth-child(1) .ls-item-head ,
    .ls-item:nth-child(2) .ls-item-head {
        margin: 0 auto 0 5%;
    }
    .ls-item:nth-child(3) .ls-item-head ,
    .ls-item:nth-child(4) .ls-item-head {
        margin: 0 5% 0 auto;
    }
    .ls-item:nth-child(3) .ls-item-title ,
    .ls-item:nth-child(4) .ls-item-title {
        right: -1.19em;
        top: 0;
        transform: skewY(5deg);
        transform-origin: bottom right;
    }
    .ls-item:nth-child(3) .ls-item-title::before ,
    .ls-item:nth-child(3) .ls-item-title::after ,
    .ls-item:nth-child(4) .ls-item-title::before ,
    .ls-item:nth-child(4) .ls-item-title::after {
        left: auto;
        right: 0;
        transform: scale(-1, 1);
    }
    .ls-item:nth-child(1) .ls-item-text ,
    .ls-item:nth-child(2) .ls-item-text {
        margin: 1em 0 0 auto;
    }

}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media (hover: hover) {}

/*====================================================
//// id instructor
====================================================*/
.instructor-genre-wrapper {
    display: grid;
        grid-gap: min(10vw, 40px);
}
.instructor-genre-head-wrapper {
    margin-bottom: 1em;
    text-align: center;
}
.instructor-genre-en {
    background-size: 100% .7em;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 0;
    padding-bottom: .2em;
}

.instructor-item-wrapper {
    display: flex;
        flex-wrap: wrap;
        grid-gap: min(3vw, 40px);
        justify-content: center;
}
.instructor-item-img .coverImg {
    padding-top: 100%;
}
.instructor-item-text {
    text-align: center;
}
.instructor-item-text .name {
    font-weight: 700;
    margin: .3em 0 .2em;
}
.instructor-profile_link {
    background: #fff;
    border: solid 1px var(--mainColor);
    border-radius: 3em;
    color: var(--mainColor);
    display: inline-block;
    font-size: .9em;
    font-weight: 500;
    padding: 0 1em;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    .instructor-genre-en {
        font-size: min(9vw, 4rem);
    }
    .instructor-genre-head {
        font-size: min(4vw, 1.8rem);
    }
    .instructor-item-wrapper {
        margin: auto;
        max-width: 600px;
    }
    .instructor-item {
        width: calc(100% / 2 - (3vw / 2));
    }
    .instructor-item-text .name {
        font-size: min(5.2vw, 2rem);
    }
    
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    .instructor-genre-en {
        font-size: 5rem;
    }
    .instructor-genre-head {
        font-size: 1.8rem;
    }
    .instructor-item {
        width: calc(100% / 3 - (6vw / 3));
    }
    .instructor-item-text .name {
        font-size: 2.4rem;
    }
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media (hover: hover) {
    .instructor-profile_link:hover {
        background: var(--mainColor);
        color: #fff;
        opacity: 1;
    }
}

/*====================================================
//// id media
====================================================*/
.media-item-wrapper {
    display: grid;
        grid-gap: min(5vw, 40px) min(3vw, 30px);
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    .media-item-wrapper {
        grid-template-columns: 1fr 1fr;
    }
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media (hover: hover) {}

/*====================================================
//// id xxx
====================================================*/

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media (hover: hover) {}
