/* sp */
@media screen and (max-width: 768px) {
	body {
		font-family: "ヒラギノ明朝 ProN", "HiraMinProN", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif; 
		width: 100%; 
		margin: 0 auto;
	}
	button {
		font-family: "ヒラギノ明朝 ProN", "HiraMinProN", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
	}
	p,a {font-size: calc((100vw - 320px) / 280 + 14px); line-height: 20px; letter-spacing: 0.2em;}
	a {position:relative; top:0; color: #fff; text-decoration: none; transition: all .3s;}
	a:hover {top:-1px; box-shadow: 0 2px 3px rgba(0, 0, 0, 0);}
	li {list-style: none;}
	img {width: 100%;}
	h2, h3 {position: relative; margin: 150px 0 60px 0;}
	h2::before,h2::after,h3::after,.CourseTitle::after {position: absolute; content: '';}
	h2::before {top: auto; left: 2.5%; z-index: 2; min-width: 20%; max-width: 418px; height: 8px; background-image: url(../images/title-line.png);}
	h2::after {top: auto;left: 78%;min-width: 20%; max-width: 418px; height: 8px;background-image: url(../images/title-line.png);}
	h3 {font-size: 30px; position: relative; padding-bottom: 8px; letter-spacing: 0.2em;}
	h3::after {top: 100%; left: 0; min-width: 30%; width: 70%; height: 8px; background-image: url(../images/title-line.png);}

	.cnt-center {margin: 0 auto;}
	.txt-center {text-align: center;}
	.-title {
		width: fit-content;
		text-align: center;
		font-size: 20px;
		line-height: 30px;
		letter-spacing: .2em;
		font-weight: 300;
		margin: 0 auto;
		padding-bottom: 10px;
	} 
	.-title::after {
		display: block;
		content: "";
		border: 3px solid #830707;
		top: 10px;
		left: 10px;
		max-width: 100%;
		height: 0;
		margin-top: 10px;
	}

	.pc-only {
		display: none !important;
	}
	.sp-only{
		display: block !important;
	}

	/* 詳しくはこちら */
	.more {
		justify-content: center;
		/* margin-top: 4vw;
		margin-bottom: 121px;
		padding: 0 2vw; */
	}
	.more-txt {
		width: 245.61px;
		position:relative;
		background-color: #830707;
		font-weight: 600;
		color: #ffffff;
		outline: none;
		border-radius: 26px;
		display: flex;
		justify-content: center;
		align-items: center;
		cursor: pointer;
		height: 35px;
		margin: 0 auto;
		transition: all .3s;
		margin-bottom: 60px;
	}
	.moreview {justify-content: center;}
	.moreview-txt {
		width: 245.61px;
		position: relative;
		color: #480303;
		font-weight: 600;
		outline: none;
		border: 2px solid;
		border-radius: 26px;
		display: flex;
		justify-content: center;
		align-items: center;
		cursor: pointer;
		height: 35px;
		transition: all .3s;
		margin: 0 auto;
	}
	.sliderAuto, .sliderAuto__wrap {
		width: 420px;
	}

	.more-txt:hover {
		top:-3px;
		box-shadow: 2px 2px 4px rgba(0, 0, 0, 1);
	}
	.list h4 {
		padding-top: 90px;
		margin-bottom: 50px;
	}
	header, .head-local .nav, footer, .footer-local .nav
	{width: 100%;}
	/* header */
	header {
		width: 100%;
		max-width: 1440px;
		margin: 0 auto;
	}
	.header {
		position: fixed;
		width: 100%;
		height: 140px;
		z-index: 3;
		display: flex;
		justify-content: center;
		background-color: #f4efe1;
	}
	header.logo {
		padding: 5.5% 0;
	}
	.logo img {
		width: 72%;
		padding: 6% 0;
	}
	.logo {
		margin: 0;
		padding: 1.8%;
	}
	.head-local {
		background-color: #830707;
	}
	.head-local .nav {
		display: flex;
		max-width: 1128px;
		justify-content: space-between;
		margin: 0 auto;
		padding: 36px 1vw;
	}
	
	.txt-box p {
		text-align: center;
	}
	/*  */
	.list-guidance {
		margin-bottom: 0;
	}
	#headerEnd {
		padding: 80px 0;
	}
	@keyframes tonext {
		75% {left: 0;}
		95% {left: 100%;}
		98% {left: 100%;}
		99% {left: 0;}
	}
	@keyframes tostart {
		75% {left: 0;}
		95% {left: -300%;}
		98% {left: -300%;}
		99% {left: 0;}
	}
  
	@keyframes snap {
		96% {
			scroll-snap-align: center;
		}
		97% {
			scroll-snap-align: none;
		}
		99% {
			scroll-snap-align: none;
		}
		100% {
			scroll-snap-align: center;
		}
	}
  
  	body {
		margin: 0 auto;
  	}
  
  	* {
		box-sizing: border-box;
		scrollbar-color: transparent transparent; 
		scrollbar-width: 0px;
	}
  
	*::-webkit-scrollbar {
		width: 0;
	}
  
	*::-webkit-scrollbar-track {
		background: transparent;
	}
  
	*::-webkit-scrollbar-thumb {
		background: transparent;
		border: none;
	}
  
	/* * {
		-ms-overflow-style: none;
	} */
  
	ol, li {
		list-style: none;
		margin: 0;
		padding: 0;
	}
  
	.carousel {
		position: relative;
		padding-top: 99%;
		perspective: 100px;
	}
  
	.carousel__viewport {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		display: flex;
		overflow-x: scroll;
		counter-reset: item;
		scroll-behavior: smooth;
		scroll-snap-type: x mandatory;
		padding: 0 3.5vw;
	}
  
	.carousel__slide {
		position: relative;
		flex: 0 0 100%;
		max-width: 88%;
		counter-increment: item;
	}
  
	.carousel__slide:before {
		content: counter(item);
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate3d(-50%,-40%,70px);
		color: #fff;
		font-size: 2em;
	}
  
	.carousel__snapper {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		scroll-snap-align: center;
	}
  
	@media (hover: hover) {
		.carousel__snapper {
			animation-name: tonext, snap;
			animation-timing-function: ease;
			animation-duration: 4s;
			animation-iteration-count: infinite;
		}

		.carousel__slide:last-child .carousel__snapper {
			animation-name: tostart, snap;
		}
	}
  
	@media (prefers-reduced-motion: reduce) {
		.carousel__snapper {
		  animation-name: none;
		}
	}
  
	.carousel:hover .carousel__snapper,
	.carousel:focus-within .carousel__snapper {
		animation-name: none;
	}
  
	.carousel__navigation {
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		text-align: center;
	}
  
	.carousel__navigation-list,
	.carousel__navigation-item {
		display: inline-block;
	}
  
	.carousel__navigation-button {
		display: inline-block;
		width: 1.5rem;
		height: 1.5rem;
		background-color: #333;
		background-clip: content-box;
		border: 0.25rem solid transparent;
		border-radius: 50%;
		font-size: 0;
		transition: transform 0.1s;
	}
  
	.carousel::before,
	.carousel::after,
	.carousel__prev,
	.carousel__next {
		position: absolute;
		top: 0;
		margin-top: 37.5%;
		width: 4rem;
		height: 4rem;
		transform: translateY(-50%);
		border-radius: 50%;
		font-size: 0;
		outline: 0;
	}
  
	.carousel::before,
	.carousel__prev {
		left: -1rem;
	}
  
	.carousel::after,
	.carousel__next {
		right: -1rem;
	}

	.list {
		max-width: 768px;
		background-image: url(../images/schedule_bg_sp.png);
	}
	.list-schedule {
		max-width: 768px;
		height: 350px;
		overflow-x: scroll;
		padding: 0 4vw;
	}
	.list-schedule .-desc {
		width: 1236px;
	}
	.list-schedule img {
		width: auto;
		min-height: 280px;
	}
	.access {
		padding-bottom: 0;
	}
	.accessTxt p {
		margin: 0 auto;
	}
	.apm {
		display: flex;
		padding: 22px 4vw 22px 4vw;
		justify-content: space-around;
	}
	.addBox {
		margin-bottom: 30px;
	}
	.addBox p:first-child {
		font-weight: 600;
	}
	.address p {
		font-size: 13px;
	}

	.menu-trigger,
	.menu-trigger span {
	  display: inline-block;
	  transition: all .4s;
	  box-sizing: border-box;
	}
	.menu-trigger {
	  position: relative;
	  width: 50px;
	  height: 44px;
	  background: none;
	  border: none;
	  appearance: none;
	  cursor: pointer;
	}
	.menu-trigger span {
	  position: absolute;
	  left: 0;
	  width: 100%;
	  height: 4px;
	  background-color: #830707;
	  border-radius: 0;
	}
	.menu-trigger span:nth-of-type(1) {
	  top: 0;
	}
	.menu-trigger span:nth-of-type(2) {
	  top: 20px;
	}
	.menu-trigger span:nth-of-type(3) {
	  bottom: 0;
	}

	/* #menu11 span:nth-of-type(1) {animation: menu11-bar01 .5s forwards;}
	@keyframes menu11-bar01 {
		0% {transform: translateY(20px) rotate(-45deg);}
		100% {transform: translateY(0) rotate(0);}
	}
	#menu11 span:nth-of-type(2) {animation: menu11-bar02 .5s forwards;}
	@keyframes menu11-bar02 {
		0% {opacity: 0;}
		100% {opacity: 1;}
	}
	#menu11 span:nth-of-type(3) {animation: menu11-bar03 .5s forwards;}
	@keyframes menu11-bar03 {
		0% {transform: translateY(-20px) rotate(45deg);}
		100% {transform: translateY(0) rotate(0);}
	}
	#menu11::after {
		position: absolute;
		top: 50%;
		left: 50%;
		display: block;
		content: '';
		width: 30px;
		height: 30px;
		margin: -16px 0 0 -16px;
		border-radius: 50%;
		border: 1px solid rgba(255,255,255,.3);
		transition: all .1s;
		opacity: 0;
	}
	#menu11.active::after {animation: circle .5s;}
	@keyframes circle {
		0% {transform: scale(.1);opacity: 0;}
		50% {opacity: 1;}
		100% {transform: scale(3.5);opacity: 0;}
	}
	#menu11.active span:nth-of-type(1) {animation: active-menu11-bar01 .5s .5s forwards;}
	@keyframes active-menu11-bar01 {
		0% {transform: translateY(0) rotate(0);}
		100% {transform: translateY(20px) rotate(-45deg);}
	}
	#menu11.active span:nth-of-type(2) {animation: active-menu11-bar02 .5s .5s forwards;}
	@keyframes active-menu11-bar02 {
		0% {opacity: 1;}
		100% {opacity: 0;}
	}
	#menu11.active span:nth-of-type(3) {animation: active-menu11-bar03 .5s .5s forwards;}
	@keyframes active-menu11-bar03 {
		0% {transform: translateY(0) rotate(0);}
		100% {transform: translateY(-20px) rotate(45deg);}
	} */
	.banner {
		width: 100%;
		padding-top: 79%;
	}
	.banner img {
		padding-top: 79%;
		margin-top: -79%;
	}

	/* ------ slide image ------- */
	.hero-slide__img {
		animation-duration: 15s;
		animation-iteration-count: infinite;
		animation-name: slideAnime;
		animation-timing-function: ease;
		display: block;
		min-height: auto;
		object-fit: cover;
		opacity: 0;
		width: 100%;
	}
  
  	.hero-slide__item:nth-of-type(1) .hero-slide__img {
		animation-delay: 0s;
  	}
  
  	.hero-slide__item:nth-of-type(2) .hero-slide__img {
		animation-delay: 5s;
  	}
  
  	.hero-slide__item:nth-of-type(3) .hero-slide__img {
		animation-delay: 10s;
  	}
  
  	@keyframes slideAnime {
		0% {
		  opacity: 0;
		}

		16% {
		  opacity: 1;
		}

		33% {
		  opacity: 1;
		}

		49% {
		  opacity: 0;
		}

		100% {
		  opacity: 0;
		}
	}
  
	/* ------ hero erea ------- */
	.slider {
		height: 140px;
		padding-top: 140px;
	}
	.wrapper {
		padding-top: 140px;
		margin-top: -140px;
	}
  
  	/* ------ hero title ------- */
  	.hero__title {
		font-size: 50px;
		font-weight: bold;
		left: 0;
		position: absolute;
		right: 0;
		text-align: center;
		top: 45%;
		transform: translateY(-50%);
		width: 100%;
  	}
	.hero-slide {
		position: relative;
		margin: 0;
	}
  	.hero-slide__item {
		width: 100%;
		bottom: 0;
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
  	}

	/* notice */
	.notice h4 {
		font-size: 20px;
		margin: 0 auto;
		padding: 0;
		text-align: center;
	}
	.notice {
		display: block;
		width: 100%;
		max-height: 323px;
		margin-top: 80%;
		padding: 50px 0;
	}
	.noticeLink:nth-child(1) {
		padding-top: 30px;
	}
	.noticeLink {
		text-align: center;
		padding-top: 15px;
	}
	.noticeDate, .noticeTxt {
		margin: 0;
		line-height: 2.7vw;
		color: #000;
		text-decoration: underline;
	}

	/* advantage */
	.top-advantage h2 {
		width: 100%;
		max-width: 768px;
		font-size: 20px;
    	line-height: 20px;
    	padding: 60px 0 30px 0;
		margin: 0;
	}
	.top-advantage
	h2::before {
		top: 1.8em;
		left: 2.2em;
		width: 100%;
		max-width: 80%;
	}
	h2::after {
		top: 4.8em;
		left: 2.2em;
		width: 100%;
		max-width: 80%;
	}
	.advantageArea {
		width: 100%;
		background-image: url(../images/advantage_bg_sp.png);
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
		margin-top: 30px;
		padding-bottom: 40px;
	}
	.advantageArea .first {
		display: block;
		padding: 0 4vw;
	}
	.cnt-advantage {
		margin: 24px auto;
	}
	.cnt-advantage .txt-box {
		width: 100%;
		max-width: 768px;
	}
	.cnt-advantage .fs20{
		font-size: 20px;
	}
	.cnt-advantage .fs15 {
		font-size: 15px;
	}
	.advantage-rnk {
		display: flex;
		align-items: flex-start;
		justify-content: center;
	}
	.advantage-rnk img {
		width: 40%;
		height: auto;
		aspect-ratio: 1/1;
	}
	.arrow {
		width: 27px;
	    margin: 33px auto 0 auto;
	}
	.instructor-txt .-title {
		font-size: 20px;
		margin: 0 auto;
		padding-top: 40px;
	}
	.instructor-txt .-name {
		font-size: 25px;
		line-height: 42px;
		font-weight: 600;
		margin-top: 20px;
		text-align: center;
	}
	.instructor-txt .-name span {
		font-size: 20px;
	}
	.InstructorArea {
		display: block;
		min-width: 100%;
		padding-bottom: 44px;
	}
	.instructor .flex-box {
		margin: 0  auto;
	}
	.instructor .-img,
	.InstructorArea img {
		display: flex;
		width: auto;
		max-height: 320px;
		justify-content: center;
		margin: 0 auto;
	}
	.instructor-txt .-desc {
		font-size: 16px;
		line-height: 28px;
		letter-spacing: 0.2em;
		min-width: auto;
		margin-top: 25px;
		text-align: center;
		padding: 0 5vw;
	}
	.instructor {
		background-image: url(../images/instructor_bg_sp.png);
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
	}
	.instructor-txt .-title {
		font-weight: 600;
		max-height: none;
		padding-bottom: 0;
	}

	#section03 .-title {
		font-weight: 600;
		padding-top: 70px;
		margin-bottom: 20px;
	}
	.txt-box p {
		font-size: 18px;
		line-height: 24px;
		margin: 22px;
	}
	.CourseDescription {
		font-size: 13px !important;
		line-height: 13px;
		margin: 10px;
		padding: 0;
	}
	.cnt-Course {
		width: 379px;
		margin-right: 32px;
		border: 3px solid #000;
		position: relative;
		  top: 0;
		display: inline-block;
		color: #333;
		text-decoration: none;
		outline: none;
		transition: all .3s;
	}
	.cnt-Course .txt-box {
		position: relative;
	}
	.cnt-Course img {
		max-width: 300px;
		min-width: 294px;
		height: auto;
	}
	.cnt-Course:last-of-type, #instructor .cnt-Instructor:last-of-type {
		width: 100%;
		max-width: 300px;
		min-width: 246px;
		height: 350px;
		left: 10%;
	}
	.CourseTitle::after {
		content: "";
		position: absolute;
		width: 211px;
		height: 6px;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		background-image: url(../images/middle-line.png);
		background-repeat: no-repeat;
		margin: 10% 0;
		padding: 6px 0;
	}
	.CourseTitle {
		font-weight: 600;
	}

	.footer {
		height: 80%;
		background-image: url(../images/footer_bg_sp.jpg);
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
	}
	.footer .logo {
		display: flex;
		align-items: flex-start;
		justify-content: center;
		height: auto;
		padding: 0;
		left: 0;
	}
	.footer-local .nav {
		display: contents;
		height: auto;
		padding: 0;
		z-index: 2;
		background-color: rgba(0, 0, 0, 0);
	}
	.footer-local a {
		color: #320101;
		line-height: 20px;
	}
	footer .nav li {
		border-top: 1px solid #480303;
		padding-left: 50px;
		text-align: left;
	}
	footer .nav li:last-child {
		border-bottom: 1px solid #480303;
	}
	.footer-local a {
		line-height: 47px;
	}
	.copyright {
		background-color: #f4efe1;
	}
	.copyright p {
		color: #000;
		font-size: 2vw;
		text-align: center;
		line-height: 8px;
		margin: 0;
		padding: 8% 2vw 8% 2vw;
	}
}


/* pc */
@media screen and (min-width: 769px) {
	body {
		font-family:  "ヒラギノ明朝 ProN", "HiraMinProN", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif; 
		width: 100%; 
		margin: 0 auto;
	}
	p,a {font-size: calc((100vw - 320px) / 280 + 14px); line-height: 20px; letter-spacing: 0.2em;}
	a {position:relative; top:0; color: #fff; text-decoration: none; transition: all .3s;}
	a:hover {top:-1px; box-shadow: 0 2px 3px rgba(0, 0, 0, 0);}
	li {list-style: none;}
	img {width: 100%;}
	h2, h3 {position: relative; margin: 150px 0 60px 0;}
	h2::before,h2::after,h3::after,.CourseTitle::after {position: absolute; content: '';}
	h2::before {top: auto; left: 2.5%; z-index: 2; min-width: 27%; max-width: 418px; height: 8px; background-image: url(../images/title-line.png);}
	h2::after {top: auto;left: 70.8%;min-width: 27%; max-width: 418px; height: 8px;background-image: url(../images/title-line.png);}
	h3 {font-size: 30px; position: relative; padding-bottom: 8px; letter-spacing: 0.2em;}
	h3::after {top: 100%; left: 0; min-width: 30%; width: 70%; height: 8px; background-image: url(../images/title-line.png);}

	.cnt-center {margin: 0 auto;}
	.txt-center {text-align: center;}
	.-title {
		width: fit-content;
		font-size: 30px;
		line-height: 30px;
		font-weight: 300;
		border-bottom: 5px solid #830707;
		margin: 0 auto;
		padding-bottom: 10px;
	}

	.pc-only {
		display: block;
	}
	.sp-only{
		display: none !important;
	}

	/* 詳しくはこちら */
	.more {
		justify-content: center;
		margin-top: 4vw;
		margin-bottom: 121px;
		padding: 0 2vw;
	}
	.more-txt {
		position:relative;
		background-color: #830707;
		color: #ffffff;
		outline: none;
		border-radius: 26px;
		display: flex;
		justify-content: center;
		align-items: center;
		cursor: pointer;
		height: 52px;
		max-width: 419.99px;
		margin: 0 auto;
		top:0;
		transition: all .3s;
	}
	.more-txt:hover {
		top:-3px;
		box-shadow: 2px 2px 4px rgba(0, 0, 0, 1);
	}
	.list h4 {
		padding-top: 90px;
		margin-bottom: 50px;
	}

	.moreview {
		justify-content: center;
		margin-top: 30px;
		padding-bottom: 60px;
	}
	.moreview-txt {
		width: 80%;
		position: relative;
		color: #480303;
		outline: none;
		border: 2px solid;
		border-radius: 26px;
		display: flex;
		justify-content: center;
		align-items: center;
		cursor: pointer;
		height: 52px;
		transition: all .3s;
	}

	/* header */
	header {
		max-width: 100%;
		margin: 0 auto;
	}
	.header {
		display: flex;
		justify-content: center;
		background-color: #f4efe1;
	}
	.logo {
		margin: 0;
		padding: 1.8%;
	}
	.phone_number {
		font-size: 20px;
		float: right;
		margin-top: -90px;
		padding-right: 100px;
	}
	
	.head-local {
		background-color: #830707;
	}
	.head-local .nav {
		display: flex;
		max-width: 1128px;
		justify-content: space-between;
		margin: 0 auto;
		padding: 36px 1vw;
	}

	/* スライド */
	/*右から左へ----------------------------*/
	@keyframes infinity-scroll-left {
		from {transform: translateX(0);}
		to {transform: translateX(-100%);}
	}
	/*IE11対策----------------------------*/
	_:-ms-lang(x)::-ms-backdrop,
	.sliderAuto {
		display: -ms-grid;
		overflow: hidden;
	}
	/*----------------------------*/
	.sliderAuto {
		background-color: #f4efe1;
	    max-width: 100%;
	}
	.sliderAuto__wrap {
		max-width: 100%;
		display: flex;
		overflow: hidden;
		padding: 53px 0;
	}
	.sliderAuto__list {
		display: flex;
		list-style: none;
		margin: 0;
		padding: 0;
	}
	.sliderAuto__list--left{animation :infinity-scroll-left 60s infinite linear 0.5s both;}
	.sliderAuto__item {width: calc(100% / 3); margin-right: 53px;}
	.sliderAuto__item > img{width: auto; border-radius: 30px;}

	.slider {
		height: 332px;
	}

	.banner img {
		width: 100%;
	}

	/* お知らせ */
	.notice {
		max-width: 1140px;
		display: flex;
		margin: 0 auto;
		padding: 6vw 2vw;
	}
	.notice h4 {
		margin: 0;
		letter-spacing: 0.3vw;
	}
	.notice-txt {
		margin-right: 150px;
	}
	.notice-txt p {
		margin: 0;
	}
	.noticeLink {
		padding-top: 3vw;
	}
	.noticeLink:nth-child(1) {
		padding-top: 0;
	}
	.noticeTxt {
		font-size: 18px;
		letter-spacing: 0.1rem;
	}
	.noticeDate,
	.noticeTxt {
		line-height: 2.7vw;
		margin: 0 0 0 64px;
		color: #000;
		text-decoration: underline;
	}
	.noticeDate, 
	.noticeTxt {
		line-height: 2.7vh;
	}

	/* よこならび（強み、コース紹介） */
	.advantageArea {
		background-image: url(../images/advantage_bg.png);
		background-repeat: no-repeat;
		background-position: top;
		background-size: cover;
		max-width: 1440px;
		height: auto;
		padding-top: 0;
		margin: 0 auto;
		border: 1px solid #000;
	}
	.top-advantage h2 {
		max-width: 1237px;
		margin: 0 auto;
		padding: 6vw 0 4vw 0;
		line-height: 10px;
	}
	.advantage, 
	.Course {
		display: flex;
		justify-content: center;
		padding: 0 2vw;
	}
	.-m0 {
		margin-right: 0 !important;
	}
	.cnt-advantage {
		margin-right: 5%;
		max-width: 30%;
	}
	.cnt-advantage .txt-box {
		text-align: center;
	}
	.advantage-rnk {
		width: 70%;
		margin: 0 auto;
	}
	.advantage-rnk img {
		position: relative;
		top: 0;
		display: inline-block;
		border: 1px solid #830707;
		color: #830707;
		text-decoration: none;
		outline: none;
		border-radius: 50%;
		transition: all .3s;
		aspect-ratio: 1/1;
	}
	.advantage-rnk img:hover {
		top: -3px;
		box-shadow: 0 0 0 rgba(131, 7, 7, 1);
	}
	.advantageArea .second {
		margin-top: 3vw;
	}
	.cnt-Course {
		width: 379px;
		margin-right: 32px;
		border: 3px solid #000;
		position: relative;
		  top: 0;
		display: inline-block;
		color: #333;
		text-decoration: none;
		outline: none;
		transition: all .3s;
	}
	.cnt-Course:last-child {
		margin-right: 0;
	}
	.cnt-Course:hover {
		top: -5px;
		box-shadow: 0 2px 3px rgba(0, 0, 0, 0.3);
	}
	.cnt-Course img {
		margin: 0;
	}
	.CourseTitle {
		font-size: 23px;
		text-align: center;
		margin: 22px 0 0 0;
		position: relative;
		padding-bottom: 6px;
		letter-spacing: 0.2vw;
	}
	.CourseTitle::after {
		top: 50%;
		left: 12%;
		width: 80%;
		height: 6px;
		background-image: url(../images/middle-line.png);
		background-repeat: no-repeat;
		margin: 10% 0;
		padding: 6px 0;
	}
	.CourseDescription {
		font-size: 15px;
		text-align: center;
		line-height: 25px;
		padding: 5% 0 55px 0;
		margin-bottom: 0;
	}
	.txt-box .fs20 {line-height: 3vw; letter-spacing: 0.2em;}
	.txt-box .fs15 {font-size: 15px; line-height: 25px; letter-spacing: 0.1em; margin: 0;}

	/* 指導員 */
	.instructor {
		background-image: url(../images/instructor-bg.jpg);
		max-width: 1440px;
		margin: 0 auto;
	}
	.InstructorArea {
		max-width: 1141px;
		/* display: flex; */
		justify-content: center;
		margin: 0 auto;
		padding: 0 3vw;
	}
	.InstructorArea h4 {
		margin-top: 0;
	}
	.instructor-txt {
		margin-right: 50px;
	}
	.instructor-txt .-title {
		margin: 0;
		max-height: 40px;
		width: fit-content;
	}
	.instructor-txt .-name {
		margin-top: 40px;
		line-height: 25px;
		letter-spacing: 0.3em;
	}
	.instructor-txt .-desc {
		padding-top: 23px;
		line-height: 28px;
	} 
	.instructor .flex-box {
		width: 60%;
		margin-top: 9vw;
		margin-bottom: 9vw;
	}
	.instructor .-img,
	.InstructorArea img {
		width: auto;
		max-height: 320px;
		margin-right: auto;
		margin-left: auto;
	}
 
	/* .gallery {
		background-image: url(../images/instructor-bg.jpg)
	} */
	
	.gallery-cell {
		display: flex;
	width: 90%;
	height: auto;
	margin-right: 10px;
	counter-increment: gallery-cell;
		padding: 0 5vw;
	}
	
	/* cell number */
	.gallery-cell:before {
	display: block;
	text-align: center;
	line-height: 200px;
	font-size: 80px;
	color: white;
	}

	/* コース紹介 */
	#section03 h2 {
		max-width: 1237px;
		margin: 100px auto 60px auto;
		line-height: 10px;
	}
	th,td {
		border: solid 1px;
	}
	table {
		border-collapse:  collapse;
	}
	.list-guidance {
		margin-bottom: 80px; 
		padding: 0 2vw 107px 2vw;
	}
	.list-guidance table {
		width: 860px;
	}
	.list-firstRow {
		background-color: #000;
	}
	.list-table tr th,
	.list-table tr td {
		height: 55.99px;
	}
	.threeColumns {
		width: calc(100% / 3);
		color: #fff;
	}
	.UpperLeft {
		width: 100%;
		min-width: 118px;
	}
	.list {
		background-image: url(../images/schedule_bg.png);
		background-repeat: no-repeat;
		background-position: top;
		background-size: cover;
		border-right: 1px solid #000;
		border-left: 1px solid #000;
		max-width: 1440px;
		margin: 0 auto;
	}
	
	.list-schedule {
		max-width: 1236px;
		margin: 0 auto;
	}
	.list-schedule .-desc {
		line-height: 16px;
	}
	.colorGray {
		background-color: #cfcfcf;
	}

	/* マップ */
	iframe {
		width: 100%;
	}
	.access {
		max-width: 1240px;
		display: flex;
		justify-content: center;
		margin: 0 auto;
		padding: 0 2vw 100px 2vw;
	}
	.access h3 {margin-top: 0;}
	.accessTxt {margin-right: auto; max-width: 418px; width: 100%;}
	.accessTxt p {line-height: 28.79px; margin: 0;}
	.map {margin: 0; width: 100%; max-width: 712px;}
	.down {
		padding-top: 1px;
	}

	/* footer */
	footer {
		max-width: 100%;
	}
	.footer {
		background-image: url(../images/footer_bg.png);
		background-position: top;
		height: 342px
	}
	.footer-local .nav {
		display: flex;
	    max-width: 1128px;
	    justify-content: space-between;
	    margin: 0 auto;
	    padding: 60px 1vw 0 1vw;
	}
	.footer-local a {
		color: #320101;
		line-height: 20px;
	}
	.footer-logo {
		max-width: 336px;
		margin: 0 auto;
	}
	.footer p {
		padding: 34px 0 60px 0;
	    line-height: 20px;
	    margin: 0;
	    text-align: center;
	    letter-spacing: 0.3em;
	}
	.copyright {
		height: 58px;
		background-color: #480303;
	}
	.copyright p {
		display: flex;
		justify-content: center;
		margin: 0;
		color: #fff;
		font-size: 0.15vw;
		padding: 21px 0;
		line-height: 15px;
	}

	.KV {
		max-width: 1440px;
		height: auto;
		margin: 0 auto;
	}
	.KV img {
		width: 100%;
	}
}