
/*====================================================
////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;
}
.coverImg {
	overflow: hidden;
	padding-top: 60%;
	width: 100%;
}
.coverImg.h100 {
	padding-top: 0;
	height: 100%;
}
.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;
}
.fw-light {
	font-weight: 300;
}
.fw-normal {
	font-weight: normal;
}
.fw-bold, b, strong {
	font-weight: 700;
}

.f-en {
	font-family: "Shrikhand", "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-weight: 400;
    line-height: 1.0;
}

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-scaleDown {
	transform: scale(1.1);
}
.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;
}


/*====================================================
//class eachTextAnime
====================================================*/
.eachTextAnime:not(.anime_unset) {
	opacity: 0;
}
.eachTextAnime.appeartext {
	opacity: 1;
}
.eachTextAnime:not(.anime_unset) span {
	opacity: 0;
}
.eachTextAnime.appeartext:not(.anime_unset) span {
	-webkit-animation:text_anime_on 1s ease-out forwards;
	        animation:text_anime_on 1s ease-out forwards;
	/* animation-delay: .4s; */
}
@-webkit-keyframes text_anime_on {
	0% {opacity:0;}
	100% {opacity:1;}
}
@keyframes text_anime_on {
	0% {opacity:0;}
	100% {opacity:1;}
}


.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: var(--mainColor);
  border: 1px solid var(--mainColor);
  border-radius: 100px;
  color: #fff;
  display: flex;
	align-items: center;
	justify-content: center;
    gap: 1em;
  font-size: 1.2em;
  font-weight: bold;
  line-height: 1.4;
  margin: 0 auto;
  padding: .5em .5em .5em 1.5em;
  position: relative;
  text-align: center;
  width: min(100%, 400px);
    max-width: none;
  min-height: 2.5em;
}
.linkBtn:hover {
  background: #d70146;
  filter: brightness(1.2);
}
.linkBtn:after {
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  content: "";
  transform: rotate(-45deg);
  width: 10px;
  height: 10px;
}
.markerline {
	background: linear-gradient(transparent 50%, rgba(255, 244, 139, .8) 50%, rgba(255, 244, 139, .8) 100%);
}

.hidden {
	display: none;
}

dl.accordion > dt ,
dl.menu-accordion > dt,
.accordion > .accordion-ttl {
	cursor: pointer;
	position: relative;
}
dl.accordion > dd ,
dl.menu-accordion > dd,
.accordion > .accordion-cnt {
	overflow: hidden;
	transition: .3s ease-in-out;
}
dl.accordion > dd > .accordion-inner,
.accordion > .accordion-cnt > .accordion-inner {
	opacity: 0;
	transition: .4s ease-in-out;
}
dl.accordion.open > dd > .accordion-inner,
.accordion.open > .accordion-cnt > .accordion-inner {
	opacity: 1;
}

/* ////////// 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: #e73139;
	--mainColor_d: #a8131a;
    --navy: #00103c;
}
.bg-mainColor { background: var(--mainColor); }
.mainColor { color: var(--mainColor); }


/*====================================================
//// id mv
====================================================*/
#mv {
    background: var(--navy) url('../img/mv-bg.webp') no-repeat center top / cover;
}
.mv-inner {
    display: flex;
        align-items: center;
        justify-content: center;
}
.mv-logo {
    margin: auto;
    position: relative;
    width: min(70vw, 680px);
}
.mv-logo .text {
    font-size: min(4vw, 3.4rem);
    line-height: 1;
    padding-left: .3em;
    position: absolute;
        bottom: 16%;
        left: 0;
    text-align: center;
    width: 100%;
}
.mv-add_logo {
    margin-top: min(2vw, 20px);
}
.mv-add_logo .anniversary_logo {
    margin: auto;
    width: min(45vw, 350px);

}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    .mv-inner {
        min-height: min(130vw, calc(100svh - 105px));
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    .mv-inner {
        min-height: calc(100svh - 105px);
    }
}

@media print, screen and (min-width: 1000px) {
    .mv-inner {
        min-height: calc(100svh - 144px);
    }
}

@media (hover: hover) {}


/*====================================================
//// id about
====================================================*/
#about {
    background: #000 url('../img/about-bg.webp') no-repeat center / cover;
    overflow: hidden;
    text-align: center;
}
.about-introduction {
    color: #fff;
    font-size: min(4.5vw, 2rem);
}
.about-detail.show {
    animation: .4s 1s ease-in-out forwards sa-show;
}

.about-detail {
    position: relative;
}
.about-detail-inner {
    background: #fff;
    display: inline-block;
    font-weight: 700;
    margin-top: min(8vw, 50px);
    padding: 2em min(3vw, 40px);
    position: relative;
    transform: rotate(-3deg);
}
.about-detail-inner::before ,
.about-detail-inner::after {
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
        left: 0;
    width: 100%;
    height: 100%;
}
.about-detail-inner::before {
    background: var(--mainColor);
    opacity: .6;
    transform: rotate(2deg);
    z-index: -2;
}
.about-detail-inner::after {
    background: #fff;
    z-index: -1;
}
.about-detail-text {
    font-size: min(4.5vw, 2.3rem);
}
.about-detail-title {
    color: var(--mainColor);
    font-size: min(6vw, 7rem);
    font-weight: 900;
    line-height: 1.1;
    text-shadow: 0 0 1px, 0 0 1px, 0 0 1px, 0 0 1px, 0 0 1px;
    transform: skewX(-15deg);
}
.about-detail-date {
    font-size: min(5vw, 3rem);
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    .about-detail-title {
        font-size: min(12vw, 5rem);
    }
    .about-detail-date {
        font-size: min(6vw, 3rem);
    }
}

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

@media (hover: hover) {}


/*====================================================
////id |  nav
====================================================*/
#nav-wrapper {
    background: var(--navy);
}
#nav {
    background: rgba(0, 0, 0, .6);
    backdrop-filter: blur(3px);
    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 information
====================================================*/
#information {
    /* background: #5e5e5e; */
}
.information-inner {
    display: grid;
        grid-gap: min(5vw, 20px) min(5vw, 60px);
}
.information-head {
    color: #fff;
    font-size: 1.3em;
}
.information-item-wrapper {
    background: rgba(255, 255, 255, .9);
    display: grid;
        grid-gap: .5em;
    padding: 1em 1.5em;
}
.information-item {
    font-size: .9em;
}
.info-date {
    color: #333;
    font-size: .8em;
}
.info-link {
    -webkit-text-decoration: underline dotted 1px;
	text-decoration: underline dotted 1px;
	text-underline-position: under;
	text-underline-offset: 0.1em;

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

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    .information-inner {
        grid-template-columns: auto 1fr;
    }
}
@media screen and (min-width: 960px) {
    .information-item {
        display: grid;
            align-items: baseline;
            grid-template-columns: 6em 1fr;
    }
}

@media (hover: hover) {
    .info-link:hover {
        color: var(--mainColor_d);
        opacity: 1;
    }
}


/*====================================================
//// id head
====================================================*/
.en_jp {
    display: grid;
    margin-bottom: min(8vw, 30px);
    text-align: center;
}
.en_jp .en {
    font-size: min(7vw, 6rem);
}
.en_jp .jp:not(.show) {
    transform: translateY(1em);
}
.en_jp .jp.show {
    animation-delay: .4s;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    .en_jp .en {
        font-size: min(10vw, 5rem);
    }
}

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

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

/*====================================================
//// id theme_song
====================================================*/
.theme_song-bg {
    background: url('../img/theme_song-bg.webp') no-repeat center bottom / cover;
}
.theme_song-wrapper {
    background: rgba(255, 255, 255, .8);
    padding: min(8vw, 50px) min(4vw, 70px);
}
.theme_song-intro {
    display: grid;
        grid-gap: min(5vw, 20px) min(5vw, 40px);
}
.theme_song-intro-main {
    background: #fff;
    display: grid;
        grid-gap: min(4vw, 20px);
    padding: min(8vw, 40px) min(5vw, 40px);
    text-align: center;
}
.theme_song-title .artist p {
    color: #333;
    font-size: .8em;
    margin-bottom: .5em;
}
.theme_song-credit p {
    color: #333;
    display: inline-block;
    font-size: min(3.2vw, 1.1rem);
    text-align: left;
}
.theme_song-play_link .linkBtn {
    max-width: 300px;
}

.theme_song-media-head-wrapper {
    text-align: center;
}
.theme_song-media-head {
    font-size: min(4.3vw, 2.3rem);
    display: inline-block;
    margin: 1.5em 0 1em;
    padding: 0 1.7em;
    position: relative;
}
.theme_song-media-head::before,
.theme_song-media-head::after {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 23 30"><path fill="%23e73139" d="M3.22,0l19.78,30L0,2.4,3.22,0ZM.32,21.71l16.79,7.95L2.21,18.54l-1.89,3.16Z" /></svg>') no-repeat center bottom / contain;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        bottom: 0;
    transition: .2s ease-in-out;
    width: 1.5em;
    height: 100%;
}
.theme_song-media-head::before {
    left: 0;
}
.theme_song-media-head::after {
    right: 0;
    transform: scale(-1, 1);
}

.theme_song-media-text {
    margin-top: 2em;
    text-align: center;
}
.theme_song-media-text > div{
    display: inline-block;
    position: relative;
}
.theme_song-media-text-balloon {
    background: #ff9900;
    color: #fff;
    font-weight: 700;
    padding: .2em 1em;
    position: absolute;
        bottom: calc(100% + .5em);
        left: -2.5em;
    transform: rotate(-10deg);
}
.theme_song-media-text-balloon::before {
    background: #ff9900;
    clip-path: polygon(0 0, 100% 0, 100% 100%);
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: calc(100% - 1px);
        left: 20%;
    width: .6em;
    height: .6em;
}
.theme_song-media-text p {
    font-size: min(4vw, 1.8rem);
}
.theme_song-video {
    margin: auto;
    width: min(100%, 700px);
}
.theme_song-artist {
    margin-top: min(8vw, 50px);
}
.theme_song-artist-head {
    color: #fff;
    font-size: min(6vw, 4.5rem);
    margin-bottom: .5em;
    text-align: center;
    text-shadow: 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor);
}
.libre-logo {
    margin: auto;
    width: min(45vw, 260px);
}
.libre-profile {
    font-size: min(3.6vw, 1.4rem);
    margin-top: 1em;
}
.artist-img {
    padding-top: 100%;
}
.libre-message {
    display: grid;
        grid-gap: min(5vw, 20px) min(4vw, 40px);
    margin-top: min(6vw, 40px);
}
.libre-message-head {
    font-size: 1.4em;
    margin-top: -.3em;
}
.libre-message-item {
    background: #fff;
    border-radius: 1em;
    font-size: min(3.4vw, 1.3rem);
    margin-top: .8em;
    padding: .8em 1em;
}
.libre-message-item .name {
    font-size: .8em;
    margin-top: .3em;
    text-align: right;
}
.theme_song-artist-hr {
    border: none;
    border-top: solid 1px #888;
    margin: min(6vw, 30px) 0;
}

.theme_song-profile-item-wrapper {
    display: grid;
        grid-gap: min(5vw, 30px);
}
.theme_song-profile-item {
    height: 200px;
    overflow: hidden;
    position: relative;
    transition: .3s ease-in-out;
}
.profile-img {
    margin: 0 1em .5em 0;
    float: left;
    width: min(30%, 150px);
}
.profile-text {
}
.profile-name {
    font-weight: 700;
    font-size: 1.1em;
    line-height: 1.4;
    margin-bottom: .3em;
}
.theme_song-profile-item p {
    font-size: min(3.6vw, 1.4rem);
}
.theme_song-profile-item .moreBtn {
    background: #fff;
    border: solid 1px #888;
    border-radius: 3px;
    font-size: .8em;
    margin: auto;
    padding: .2em;
    position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    .theme_song-title {
        display: grid;
            grid-gap: min(3vw, 20px);
            place-items: center;
    }
    .theme_song-title .title img {
        width: min(50vw, 250px);
    }
    .theme_song-title .artist img {
        width: min(40vw, 200px);
    }

    .libre-img {
        margin: auto;
        width: min(100%, 400px);
    }
    .libre-img .artist-img {
        padding-top: 60%;
    }
    .libre-message-head {
        text-align: center;
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    .theme_song-title {
        display: flex;
            align-items: flex-end;
            justify-content: center;
            gap: min(4vw, 30px);
    }
    .theme_song-title .title img {
        width: 250px;
    }
    .theme_song-title .artist img {
        width: 200px;
    }
    .theme_song-media-text-balloon {
        bottom: 100%;
        left: 1em;
    }

    .libre-message {
        grid-template-columns: min(30%, 250px) 1fr;
    }
}
@media print, screen and (min-width: 960px) {
    .theme_song-profile-item-wrapper {
        grid-template-columns: 1fr 1fr;
    }
    .theme_song-profile-item {
        height: auto !important;
    }
    .theme_song-profile-item .moreBtn {
        display: none;
    }
}

@media (hover: hover) {}


/*====================================================
////id |  .yt
====================================================*/

.yt {
	position: relative;
	height: 0;
	padding: 0px 0 56.3%;
	overflow: hidden;
}
.yt iframe {
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 100%;
}

/*====================================================
//// id gallery
====================================================*/
.gallery-bg {
    /* background: url('../img/gallery-bg.webp') no-repeat center right / cover; */
}
.gallery-head {
    color: #fff;
}
.gallery-inner {
    width: 100%;
    max-width: none;
}
.gallery-slider .coverImg {
    padding-top: 70%;
}
.gallery-slider .splide__pagination {
    display: none;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

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

@media (hover: hover) {}

/*====================================================
//// id course
====================================================*/
.course-bg {
    background: url('../img/course-bg.webp') no-repeat center / cover;
}
.course-wrapper {
    background: rgba(255, 255, 255, .8);
    padding: min(8vw, 50px) min(4vw, 70px);
}
.course-head .en {
    color: #001f76;
}
.course-text {
    font-size: min(4.2vw, 1.8rem);
    text-align: center;
}
.course-item-wrapper {
    display: flex;
        flex-wrap: wrap;
        gap: min(5vw, 30px);
        justify-content: center;
    margin: min(6vw, 40px) auto 0;
}
.course-item {
    position: relative;
}
.course-item-title .en {
    color: rgba(255, 255, 255, .9);
    font-size: min(4.5vw, 3.5rem);
    position: absolute;
        top: .5em;
        left: -.5em;
    text-shadow: 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor), 0 0 .04em var(--mainColor);
    transform: rotate(-10deg);
    transform-origin: left bottom;
}
.course-item-title .jp {
    font-weight: 700;
    margin-top: .3em;
    text-align: center;
}
.course-link {
    margin-top: min(7vw, 40px);
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    .course-item {
        width: calc(100% / 2 - (min(5vw, 30px) / 2));
    }
}

@media screen and (max-width: 600px) {
    .course-item-wrapper {
        width: min(90%, 350px);
    }
    .course-item {
        width: 100%;
    }
    .course-item-title .en {
        font-size: min(8vw, 3.5rem);
        top: .8em;
        left: -.5em;
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    .course-item {
        width: calc(100% / 2 - (min(5vw, 30px) / 2));
    }
}

@media screen and (min-width: 960px) {
    .course-item {
        width: calc(100% / 3 - (min(5vw, 30px) * 2 / 3));
    }
    .course-item .coverImg {
        padding-top: 70%;
    }
    .course-item-title .en {
        font-size: min(3vw, 3.5rem);
    }
}

@media (hover: hover) {}

/*====================================================
//// id faq
====================================================*/
#faq {
    background: var(--navy);
}
.faq-head {
    color: #fff;
}
.faq-head .en > span:nth-child(2) {
    font-size: .8em;
}
.faq-item-wrapper {
    display: grid;
        grid-gap: min(2vw, 10px);
}
.faq-item {
    background: rgba(255, 255, 255, .9);
}

.faq-item {
    overflow: hidden;
    line-height: 1.6;
    position: relative;
}
.faq-item:has(dl.open)::before {
    opacity: 0;
}
.faq-item dl {
    background: #fff;
    border: solid 1px var(--d_gray);
}
.faq-item dt {
    align-items: stretch;
    border-radius: 10px;
    font-weight: 700;
    grid-gap: .3em;
    grid-template-columns: 1em 1fr;
    padding: 18px 30px 18px 20px;
    position: relative;
    transition: .2s ease-in-out;
}
.faq-item dt .text {
    display: inline-block;
}
.faq-item dt .icon {
    position: relative;
    width: 18px;
    height: auto;
}
.faq-item dt .icon::before,
.faq-item dt .icon::after {
    border-top: solid 3px var(--mainColor);
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
    transition: .2s ease-in-out;
    width: 100%;
    height: 0;
}
.faq-item dt .icon::after {
    transform: rotate(90deg);
}
.faq-item .open dt .icon::before {
    transform: rotate(180deg);
}
.faq-item .open dt .icon::after {
    opacity: 0;
    transform: rotate(180deg);
}

.faq-item dd {
    margin-top: -.3em;
}
.faq-item .alphabet {
    color: var(--mainColor);
    font-weight: 700;
    line-height: 1.0;
    text-align: center;
    width: 1.5em;
}
.faq-item .accordion-inner {
    grid-gap: .3em;
    padding: 0 20px 18px 40px;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    .faq-item dt {
        padding: 15px 15px 18px 10px;
    }
    .faq-item .alphabet {
        font-size: 1.35em;
    }
    .faq-item dt .text {
        font-size: 1.05em;
        margin-top: -.03em;
    }
    .faq-item .accordion-inner {
        padding: 0 10px 18px;
    }
    .faq-item dt .icon {
        margin-left: 5px;
        width: 12px;
    }
}

@media screen and (max-width:500px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    .faq-item .alphabet {
        font-size: 1.4em;
    }
    .faq-item dt .text {
        font-size: 1.125em;
        margin-top: -.1em;
    }
}

@media screen and (min-width: 960px) {
    .faq-inner {
        display: grid;
            grid-gap: min(5vw, 60px);
            grid-template-columns: auto 1fr;
    }
}

@media (hover: hover) {
    .faq-item:hover::before {
        opacity: 1;
    }
}

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

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

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

@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) {}
