html,
body {
	font-size: 62.5%;
	height: 100%;
	margin: 0;
	padding: 0;
}
body {
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
	color: #232323;
}
h1,
h2 {
	font-size: 5rem;
	font-family: "Zen Old Mincho", serif;
	font-weight: 700;
}
p {
	font-size: 1.8rem;
	font-weight: 400;
}
a {
	color: #fff;
	font-size: 1.8rem;
	text-decoration: none;
}

img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

* {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}
.is-sp {
	display: none;
}

.container {
	max-width: 1148px;
	padding-left: 2.4rem;
	padding-right: 2.4rem;
	margin: 0 auto;
}
.container2 {
	max-width: 900px;
	margin: 0 auto;
}
.container3 {
	max-width: 1000px;
	margin: 0 auto;
}
@media screen and (max-width: 1439px) {
	h1,
	h2 {
		font-size: calc(50 / 1440 * 100vw);
	}
	p {
		font-size: calc(18 / 1440 * 100vw);
	}
	a {
		font-size: calc(18 / 1440 * 100vw);
	}
	.container {
		max-width: calc(1148 / 1440 * 100vw);
		padding-left: calc(24 / 1440 * 100vw);
		padding-right: calc(24 / 1440 * 100vw);
	}
	.container2 {
		max-width: calc(900 / 1440 * 100vw);
	}
	.container3 {
		max-width: calc(1000 / 1440 * 100vw);
	}
}
@media screen and (max-width: 767px) {
	h2 {
		font-size: calc(32 / 390 * 100vw);
	}
	p {
		font-size: calc(16 / 390 * 100vw);
	}
	a {
		font-size: calc(16 / 390 * 100vw);
	}
	.is-pc {
		display: none;
	}
	.is-sp {
		display: block;
	}
	.container {
		max-width: calc(390 / 390 * 100vw);
		padding-left: calc(15 / 390 * 100vw);
		padding-right: calc(15 / 390 * 100vw);
	}
	.container2,
	.container3 {
		max-width: calc(360 / 390 * 100vw);
	}
}

/* header */
header {
	background-image: url(../images/header-bg.png);
	background-size: cover;
	background-position: center;
	position: fixed;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 1000;
}
.header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 17rem;
	padding: 0 30.5rem 0 5rem;
}
.header__logo {
	width: 14.4rem;
}
.header__nav ul {
	display: flex;
	align-items: center;
	gap: 9.5rem;
}
.header__nav li {
	list-style: none;
}
.header__nav a {
	font-weight: 400;
}

.header__nav.pc__nav > ul {
	display: flex;
	align-items: center;
	gap: 5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.header__nav.pc__nav > ul > li {
	position: relative;
	height: 8rem;
	display: flex;
	align-items: center;
}
.header__nav.pc__nav ul ul {
	display: block !important;
	flex-direction: column !important;
}
.header__nav.pc__nav .dropdown {
	position: absolute;
	width: max-content;
	top: 100%;
	left: 50%;
	transform: translate(-50%, 0);
	background-color: #ceae5a;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s ease, transform 0.2s ease;
	z-index: 99;
}
.header__nav.pc__nav .has-sub > a {
	position: relative;
}
.header__nav.pc__nav .has-sub > a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -3px;
	height: 1px;
	background: #ceae5a;
	opacity: 0;
}
.header__nav.pc__nav .has-sub:hover > a::after {
	opacity: 1;
}
.header__nav.pc__nav > ul > li:hover .dropdown {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, 0);
}
.header__nav.pc__nav .dropdown li a {
	display: block;
	padding: 1.2rem 1.8rem;
	color: #232323;
	text-decoration: none;
}
.header__nav.pc__nav .dropdown li a:hover {
	background-color: #a18334;
	color: #fff;
}

.sp__only {
	display: none;
}
.sp__menu {
	display: none;
}

@media screen and (max-width: 1439px) {
	.header__inner {
		gap: calc(170 / 1440 * 100vw);
		padding: 0 calc(305 / 1440 * 100vw) 0 calc(50 / 1440 * 100vw);
	}
	.header__logo {
		width: calc(144 / 1440 * 100vw);
	}
	.header__nav ul {
		gap: calc(50 / 1440 * 100vw);
	}
	.header__nav.pc__nav > ul {
		gap: calc(50 / 1440 * 100vw);
		margin: 0;
		padding: 0;
	}
	.header__nav.pc__nav > ul > li {
		height: calc(80 / 1440 * 100vw);
	}
	.header__nav.pc__nav .dropdown {
		top: 100%;
		left: 50%;
		width: calc(240 / 1440 * 100vw);
	}
	.header__nav.pc__nav .dropdown li a {
		padding: calc(12 / 1440 * 100vw) calc(18 / 1440 * 100vw);
	}
}
@media (max-width: 768px) {
	header {
		background-color: #2e000b;
		background-image: none;
	}
	.header__inner {
		padding: 0 0 0 calc(5 / 390 * 100vw);
		justify-content: space-between;
		align-items: center;
	}
	.header__logo {
		width: calc(111 / 390 * 100vw);
	}
	.pc__nav {
		display: none;
	}
	.sp__only {
		display: block;
	}
	.hamburger {
		position: relative;
		width: calc(62 / 390 * 100vw);
		height: calc(62 / 390 * 100vw);
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		background-color: #ceae5a;
		cursor: pointer;
		z-index: 99999;
	}
	.hamburger span {
		position: absolute;
		width: calc(35 / 390 * 100vw);
		height: calc(2 / 390 * 100vw);
		background: #fff;
		transition: 0.3s;
	}
	.hamburger span:nth-child(1) {
		top: 28%;
		left: 50%;
		transform: translate(-50%, -50%);
	}
	.hamburger span:nth-child(2) {
		top: 48%;
		left: 50%;
		transform: translate(-50%, -50%);
	}
	.hamburger span:nth-child(3) {
		top: 68%;
		left: 50%;
		transform: translate(-50%, -50%);
	}
	.hamburger.hamburger.active {
		background-color: unset;
	}
	.hamburger.active span:nth-child(1) {
		top: 50%;
		transform: translate(-50%, -50%) rotate(45deg);
	}
	.hamburger.active span:nth-child(2) {
		opacity: 0;
	}
	.hamburger.active span:nth-child(3) {
		top: 50%;
		transform: translate(-50%, -50%) rotate(-45deg);
	}
	.sp__menu {
		display: block;
		position: fixed;
		top: 0;
		right: -100%;
		width: 100%;
		height: 100vh;
		background-image: url("../images/sp-menu-bg.png");
		background-repeat: no-repeat;
		background-position: center;
		color: #fff;
		transition: right 0.4s ease;
		z-index: 999;
	}
	.sp__menu.open {
		right: 0;
	}
	.sp__menu__inner {
		padding: calc(40 / 390 * 100vw) calc(65 / 390 * 100vw);
		height: 100%;
		overflow-y: auto;
	}
	.sp__menu__logo {
		width: calc(180 / 390 * 100vw);
		margin: 0 auto;
	}
	.sp__menu__list li {
		list-style: none;
		font-size: calc(18 / 390 * 100vw);
		border-bottom: 0.1rem solid rgba(255, 255, 255, 0.3);
		padding: calc(10 / 390 * 100vw) 0 calc(12 / 390 * 100vw);
	}
	.sp__menu__list li a {
		font-size: calc(18 / 390 * 100vw);
	}
	.has__child > span {
		position: relative;
		display: flex;
		justify-content: space-between;
		cursor: pointer;
	}
	.has__child > span::after {
		content: "";
		display: block;
		width: calc(10 / 390 * 100vw);
		height: calc(10 / 390 * 100vw);
		border-right: 0.2rem solid #fff;
		border-bottom: 0.2rem solid #fff;
		position: absolute;
		top: 50%;
		right: 1rem;
		transform: translate(0, -50%) rotate(45deg);
		transition: transform 0.7s ease;
	}
	.has__child.open > span::after {
		transform: translate(0, -50%) rotate(-135deg);
	}
	.child {
		max-height: 0;
		overflow: hidden;
		padding-left: calc(20 / 390 * 100vw);
		transition: max-height 0.7s ease;
	}
	.child.open {
		max-height: calc(200 / 390 * 100vw);
	}
	.child li {
		border: none;
		padding-top: calc(10 / 390 * 100vw);
		padding-bottom: 0;
	}
	.child li a {
		font-size: calc(16 / 390 * 100vw);
		padding: calc(10 / 390 * 100vw) 0;
	}
	.sp__menu__instagram {
		display: block;
		margin: calc(40 / 390 * 100vw) auto calc(20 / 390 * 100vw);
		text-align: center;
	}
	.sp__menu__instagram img {
		width: calc(30 / 390 * 100vw);
	}
	.sp__menu__policy {
		font-size: calc(12 / 390 * 100vw);
		display: block;
		width: fit-content;
		margin: 0 auto;
	}
}
header {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
	transition: opacity 0.45s ease, transform 0.45s ease;
}
header.top-hide {
	opacity: 0;
	transform: translateY(-3rem);
	pointer-events: none;
}
header.top-show {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

/* fixed-btn */
.fixed__btn {
	position: fixed;
	top: 8.1rem;
	right: 0;
	width: 9.1rem;
	display: flex;
	flex-direction: column;
	z-index: 999;
}
.contact__btn {
	z-index: 999;
}
.line__btn {
	transform: translateY(-3rem);
	z-index: 998;
}
@media screen and (max-width: 1439px) {
	.fixed__btn {
		top: calc(81 / 1440 * 100vw);
		width: calc(91 / 1440 * 100vw);
	}
	.line__btn {
		transform: translateY(calc(-30 / 1440 * 100vw));
	}
}
@media screen and (max-width: 767px) {
	.fixed__btn {
		flex-direction: row;
		align-items: end;
		top: auto;
		bottom: 0;
		width: 100%;
		z-index: 1000;
	}
	.line__btn {
		transform: translateY(0);
	}
}

.fixed__btn.is-hidden {
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s;
}
.fixed__btn {
	transition: opacity 0.3s;
}


/* top-fv */
.top__fv {
	position: relative;
	width: 100%;
	height: 75.4rem;
	overflow: hidden;
}
.fv__image {
	position: relative;
	width: 100%;
	height: 100%;
}
.fv__image::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(88, 55, 28, 0.4);
	pointer-events: none;
}
.fv__image img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: translate(-50%, -50%) scale(1);
	opacity: 0;
	animation: fadeZoom 18s infinite;
}
.fv__image img:nth-child(1) {
	animation-delay: 0s;
}
.fv__image img:nth-child(2) {
	animation-delay: 6s;
}
.fv__image img:nth-child(3) {
	animation-delay: 12s;
}
@keyframes fadeZoom {
	0% {
		opacity: 0;
		transform: translate(-50%, -50%) scale(1);
	}
	3% {
		opacity: 1;
	}
	33% {
		opacity: 1;
		transform: translate(-50%, -50%) scale(1.08);
	}
	38% {
		opacity: 0;
	}
	100% {
		opacity: 0;
		transform: translate(-50%, -50%) scale(1.12);
	}
}
.fv__overlay {
	position: absolute;
	top: 48%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 62.5rem;
	z-index: 10;
}
.scroll {
	position: absolute;
	transform: translateX(-50%);
	left: 50%;
	bottom: 2.5%;
}
.scroll span {
	font-size: 1.6rem;
	font-family: "Archivo", sans-serif;
	font-weight: 500;
	letter-spacing: 0.03em;
	color: #fff;
}
.scroll::before {
	animation: scroll 2s infinite;
	background-color: #fff;
	top: -6rem;
	content: "";
	height: 5rem;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	width: 1px;
}
@keyframes scroll {
	0% {
		transform: scale(1, 0);
		transform-origin: 0 0;
	}
	50% {
		transform: scale(1, 1);
		transform-origin: 0 0;
	}
	51% {
		transform: scale(1, 1);
		transform-origin: 0 100%;
	}
	100% {
		transform: scale(1, 0);
		transform-origin: 0 100%;
	}
}
@media screen and (max-width: 1439px) {
	.top__fv {
		height: calc(754 / 1440 * 100vw);
	}
	.fv__overlay {
		width: calc(625 / 1440 * 100vw);
	}
	.scroll span {
		font-size: calc(16 / 1440 * 100vw);
	}
	.scroll::before {
		top: calc(-60 / 1440 * 100vw);
		height: calc(50 / 1440 * 100vw);
		width: calc(1 / 1440 * 100vw);
	}
}
@media screen and (max-width: 767px) {
	.top__fv {
		height: calc(600 / 390 * 100vw);
	}
	.fv__overlay {
		top: 50%;
		width: calc(342 / 390 * 100vw);
	}
	.scroll {
		bottom: 3%;
	}
	.scroll span {
		font-size: calc(12 / 390 * 100vw);
	}
	.scroll::before {
		top: calc(-50 / 390 * 100vw);
		height: calc(40 / 390 * 100vw);
		width: calc(1 / 390 * 100vw);
	}
}

.line-bg {
	background-image: url(../images/top/line-bg.png);
	background-size: cover;
	background-position: center;
}
@media screen and (max-width: 767px) {
	.line-bg {
		background-image: url(../images/top/line-bg-sp.png);
		background-size: cover;
		background-position: center;
	}
}

/* top-about */
.top__about {
	background-image: url(../images/top/top1-bg.png);
	background-size: cover;
	background-position: center;
	color: #fff;
}
.top__about1 h1 {
	position: relative;
	padding-top: 17rem;
	text-align: center;
	font-size: 4.2rem;
}
.top__about1 h1::before {
	content: "";
	position: absolute;
	background-image: url(../images/top/top1-icon1.png);
	background-size: contain;
	background-repeat: no-repeat;
	width: 7.5rem;
	height: 6rem;
	top: 9rem;
	left: 50%;
	transform: translateX(-50%);
}
.top__about1 h1::after {
	content: "";
	position: absolute;
	background-image: url(../images/top/top1-icon2.png);
	background-size: contain;
	background-repeat: no-repeat;
	width: 79.4rem;
	height: 15.2rem;
	bottom: -4rem;
	left: 50%;
	transform: translateX(-50%);
}
.top__about1 h1 span {
	font-size: 5.5rem;
}
.top__about p {
	padding: 6rem 0 6.5rem;
	font-weight: 500;
}
.top__about2 h2 > span {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.top__about2__contents {
	display: flex;
	justify-content: space-between;
}
.top__about2__contents div {
	width: 34.6rem;
	position: relative;
}
.top__about2__contents h3 {
	font-size: 2.4rem;
	font-family: "Zen Old Mincho", serif;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	position: absolute;
	width: 100%;
	top: 8.5rem;
	left: 50%;
	transform: translateX(-50%);
}
.top__about2__contents h3 span {
	font-size: 2.8rem;
	color: #ffeb6b;
}
.top__about2 .btn__area {
	padding: 7rem 0 20.5rem;
}
.btn__area {
	width: fit-content;
	margin: 0 auto;
}
.btn {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 35rem;
	height: 7rem;
	background-color: #fff;
	color: #232323;
	font-size: 2rem;
	font-weight: 600;
	box-shadow: 3px 3px 0px 0px rgba(0, 0, 0, 0.2);
}
.btn::after {
	content: "";
	position: absolute;
	background-image: url(../images/btn-icon.png);
	background-size: contain;
	background-repeat: no-repeat;
	width: 3rem;
	height: 3rem;
	right: 2rem;
	top: 50%;
	transform: translateY(-50%);
}
.top__about .btn {
	padding: 0.8rem 3rem 1rem 1.2rem;
}
@media screen and (min-width: 1441px) {
	.top__about {
		background-image: url(../images/top/top1-bg.png);
		background-size: cover;
		background-position: bottom;
		color: #fff;
	}
}
@media screen and (max-width: 1439px) {
	.top__about1 h1 {
		padding-top: calc(170 / 1440 * 100vw);
		font-size: calc(42 / 1440 * 100vw);
	}
	.top__about1 h1::before {
		width: calc(75 / 1440 * 100vw);
		height: calc(60 / 1440 * 100vw);
		top: calc(90 / 1440 * 100vw);
	}
	.top__about1 h1::after {
		width: calc(794 / 1440 * 100vw);
		height: calc(152 / 1440 * 100vw);
		bottom: calc(-40 / 1440 * 100vw);
	}
	.top__about1 h1 span {
		font-size: calc(55 / 1440 * 100vw);
	}
	.top__about p {
		padding: calc(60 / 1440 * 100vw) 0 calc(65 / 1440 * 100vw);
	}
	.top__about2__contents div {
		width: calc(346 / 1440 * 100vw);
	}
	.top__about2__contents h3 {
		font-size: calc(24 / 1440 * 100vw);
		top: calc(85 / 1440 * 100vw);
	}
	.top__about2__contents h3 span {
		font-size: calc(28 / 1440 * 100vw);
	}
	.top__about2 .btn__area {
		padding: calc(70 / 1440 * 100vw) 0 calc(205 / 1440 * 100vw);
	}
	.btn {
		width: calc(350 / 1440 * 100vw);
		height: calc(70 / 1440 * 100vw);
		font-size: calc(20 / 1440 * 100vw);
	}
	.btn::after {
		width: calc(30 / 1440 * 100vw);
		height: calc(30 / 1440 * 100vw);
		right: calc(20 / 1440 * 100vw);
	}
	.top__about .btn {
		padding: calc(8 / 1440 * 100vw) calc(30 / 1440 * 100vw)
			calc(10 / 1440 * 100vw) calc(12 / 1440 * 100vw);
	}
}
@media screen and (max-width: 767px) {
	.top__about1 h1 {
		padding-top: calc(90 / 390 * 100vw);
		font-size: calc(32 / 390 * 100vw);
		line-height: 1.3;
	}
	.top__about1 h1 span {
		font-size: calc(38 / 390 * 100vw);
	}
	.top__about1 h1::before {
		width: calc(35 / 390 * 100vw);
		height: calc(28 / 390 * 100vw);
		top: calc(50 / 390 * 100vw);
	}
	.top__about1 h1::after {
		background-image: url(../images/top/top1-icon2-sp.png);
		width: calc(385 / 390 * 100vw);
		height: calc(106 / 390 * 100vw);
		bottom: calc(-10 / 390 * 100vw);
	}
	.top__about p {
		padding: calc(20 / 390 * 100vw) 0 calc(20 / 390 * 100vw);
		font-weight: 400;
	}
	.top__about {
		background-image: url(../images/top/top1-bg-sp.png);
		background-size: cover;
		background-position-y: bottom;
	}
	.top__about2__contents {
		flex-direction: column;
		gap: calc(20 / 390 * 100vw);
	}
	.top__about2__contents div {
		width: 100%;
	}
	.top__about2__contents h3 {
		font-size: calc(22 / 390 * 100vw);
		top: calc(95 / 390 * 100vw);
	}
	.top__about2__contents h3 span {
		font-size: calc(22 / 390 * 100vw);
	}
	.top__about2 .btn__area {
		padding: calc(50 / 390 * 100vw) 0 calc(123 / 390 * 100vw);
	}
	.btn {
		width: calc(280 / 390 * 100vw);
		height: calc(55 / 390 * 100vw);
		font-size: calc(18 / 390 * 100vw);
	}
	.btn::after {
		width: calc(20 / 390 * 100vw);
		height: calc(20 / 390 * 100vw);
		right: calc(10 / 390 * 100vw);
	}
	.top__about .btn {
		padding: calc(8 / 390 * 100vw) calc(30 / 390 * 100vw) calc(10 / 390 * 100vw)
			calc(12 / 390 * 100vw);
	}
}

/* top-courses */
.top__courses h2 {
	position: relative;
	text-align: center;
	padding: 20rem 0 7rem;
}
.top__courses h2::after {
	content: "";
	position: absolute;
	background-image: url(../images/top/top2-icon.png);
	background-size: contain;
	background-repeat: no-repeat;
	width: 5.5rem;
	height: 5.5rem;
	top: 14rem;
	left: 50%;
	transform: translateX(-50%);
}
.top__courses__contents {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 3rem;
	padding-bottom: 10rem;
}
.top__courses__contents > div {
	padding: 3rem;
	background-color: #232323;
	color: #fff;
	width: 53.5rem;
	height: 34rem;
	display: flex;
	gap: 3rem;
}
.top__courses__contents__image {
	width: 22rem;
}
.top__courses__contents__text {
	display: flex;
	flex-direction: column;
	width: 23rem;
}
.top__courses__contents__text h3 {
	font-size: 2.4rem;
	font-weight: 600;
}
.top__courses__contents__text p {
	padding-top: 1.5rem;
}
.top__courses__contents__text .btn__area {
	margin: auto 0 0;
}
.btn2 {
	background-color: inherit;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 500;
	border: 1px solid #fff;
	width: 17rem;
	height: 5rem;
	justify-content: left;
	padding: 0 0 0.3rem 5.5rem;
	box-shadow: none;
}
.btn2::after {
	background-image: url(../images/btn-icon2.png);
	width: 1.5rem;
	height: 1.5rem;
}
@media screen and (max-width: 1439px) {
	.top__courses h2 {
		padding: calc(200 / 1440 * 100vw) 0 calc(70 / 1440 * 100vw);
	}
	.top__courses h2::after {
		width: calc(55 / 1440 * 100vw);
		height: calc(55 / 1440 * 100vw);
		top: calc(140 / 1440 * 100vw);
	}
	.top__courses__contents {
		gap: calc(30 / 1440 * 100vw);
		padding-bottom: calc(100 / 1440 * 100vw);
	}
	.top__courses__contents > div {
		padding: calc(30 / 1440 * 100vw);
		width: calc(535 / 1440 * 100vw);
		height: calc(340 / 1440 * 100vw);
		gap: calc(30 / 1440 * 100vw);
	}
	.top__courses__contents__image {
		width: calc(220 / 1440 * 100vw);
	}
	.top__courses__contents__text {
		width: calc(230 / 1440 * 100vw);
	}
	.top__courses__contents__text h3 {
		font-size: calc(24 / 1440 * 100vw);
	}
	.top__courses__contents__text p {
		padding-top: calc(15 / 1440 * 100vw);
	}
	.btn2 {
		font-size: calc(18 / 1440 * 100vw);
		width: calc(170 / 1440 * 100vw);
		height: calc(50 / 1440 * 100vw);
		padding: 0 0 calc(3 / 1440 * 100vw) calc(55 / 1440 * 100vw);
	}
	.btn2::after {
		width: calc(15 / 1440 * 100vw);
		height: calc(15 / 1440 * 100vw);
	}
}
@media screen and (max-width: 767px) {
	.top__courses h2 {
		font-size: calc(30 / 390 * 100vw);
		padding: calc(85 / 390 * 100vw) 0 calc(20 / 390 * 100vw);
	}
	.top__courses h2 span {
		font-size: calc(26 / 390 * 100vw);
	}
	.top__courses h2::after {
		width: calc(34 / 390 * 100vw);
		height: calc(34 / 390 * 100vw);
		top: calc(170 / 1440 * 100vw);
	}
	.top__courses__contents {
		gap: calc(15 / 390 * 100vw);
		padding-bottom: calc(50 / 390 * 100vw);
	}
	.top__courses__contents > div {
		padding: calc(15 / 390 * 100vw);
		width: 100%;
		height: calc(200 / 390 * 100vw);
		gap: calc(19 / 390 * 100vw);
	}
	.top__courses__contents__image {
		width: calc(146 / 390 * 100vw);
	}
	.top__courses__contents__text {
		width: calc(165 / 390 * 100vw);
	}
	.top__courses__contents__text h3 {
		font-size: calc(20 / 390 * 100vw);
	}
	.top__courses__contents__text p {
		padding-top: calc(10 / 390 * 100vw);
	}
	.btn2 {
		font-size: calc(14 / 390 * 100vw);
		width: calc(113 / 390 * 100vw);
		height: calc(25 / 390 * 100vw);
		padding: 0 0 calc(3 / 390 * 100vw) calc(35 / 390 * 100vw);
	}
	.btn2::after {
		width: calc(10 / 390 * 100vw);
		height: calc(10 / 390 * 100vw);
	}
}

/* top-ees */
.top__ees {
	position: relative;
	width: 100%;
	height: 40.2rem;
	overflow: hidden;
}
/*.top__ees__video__bg {
	content: "";
	position: absolute;
	background-color: #a3a3a3;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	opacity: 0.3;
}*/
.top__ees__image {
	position: relative;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.top__ees__text {
	position: absolute;
	top: 50%;
	left: 73%;
	transform: translate(-50%, -50%);
	color: #fff;
	text-align: left;
	width: 42rem;
}
.top__ees__text p {
	padding: 2rem 0 3.5rem;
}
.top__ees__text .btn__area {
	margin: 0;
}
@media screen and (max-width: 1439px) {
	.top__ees {
		height: calc(402 / 1440 * 100vw);
	}
	.top__ees__text {
		width: calc(420 / 1440 * 100vw);
	}
	.top__ees__text p {
		padding: calc(20 / 1440 * 100vw) 0 calc(35 / 1440 * 100vw);
	}
}
@media screen and (max-width: 767px) {
	.top__ees {
		height: calc(416 / 390 * 100vw);
	}
	.top__ees__text {
		width: calc(330 / 390 * 100vw);
		top: 66.5%;
		right: auto;
		left: 50%;
	}
	.top__ees__text h2 {
		text-align: center;
	}
	.top__ees__text p {
		padding: calc(15 / 390 * 100vw) 0 calc(20 / 390 * 100vw);
	}
	.top__ees__text .btn__area {
		margin: 0 auto;
	}
}

/* top-news */
.top__news {
	padding-bottom: 9.5rem;
	background-color: #f5eedc;
}
.top__news h2 {
	position: relative;
	text-align: center;
	padding: 14rem 0 7rem;
}
.top__news h2::after {
	content: "";
	position: absolute;
	background-image: url(../images/top/top4-icon.png);
	background-size: contain;
	background-repeat: no-repeat;
	width: 5rem;
	height: 3.8rem;
	top: 9rem;
	left: 50%;
	transform: translateX(-50%);
}
.top__news ul {
	display: flex;
	gap: 3rem;
}
.news {
	position: relative;
	list-style: none;
	background-color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	width: 34.6rem;
	height: 12.5rem;
}
.news::before {
	content: "";
	position: absolute;
	background-image: url(../images/top/news-frame.png);
	background-size: contain;
	background-repeat: no-repeat;
	width: 33.7rem;
	height: 11.5rem;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.news h3 {
	font-size: 1.8rem;
	font-weight: 600;
	text-align: center;
	padding: 2rem 0 1rem;
}
.date {
	font-size: 1.4rem;
	font-weight: 400;
}
.news .btn__area {
	padding: 1rem 0 1.5rem;
}
.news .btn3 {
	width: 14rem;
	height: 2.5rem;
	font-size: 1.6rem;
	font-weight: 400;
	box-shadow: none;
	padding: 0.1rem 0 0.5rem;
}
.news .btn3::after {
	width: 1rem;
	height: 1rem;
}
.top__news > div > .btn__area {
	padding: 5rem 0 10rem;
}
.btn3 {
	background-color: #232323;
	color: #fff;
}
.btn3::after {
	background-image: url(../images/btn-icon3.png);
}
@media screen and (max-width: 1439px) {
	.top__news {
		padding-bottom: calc(95 / 1440 * 100vw);
	}
	.top__news h2 {
		padding: calc(140 / 1440 * 100vw) 0 calc(70 / 1440 * 100vw);
	}
	.top__news h2::after {
		width: calc(50 / 1440 * 100vw);
		height: calc(38 / 1440 * 100vw);
		top: calc(90 / 1440 * 100vw);
	}
	.top__news ul {
		gap: calc(30 / 1440 * 100vw);
	}
	.news {
		width: calc(346 / 1440 * 100vw);
		height: calc(125 / 1440 * 100vw);
	}
	.news::before {
		width: calc(337 / 1440 * 100vw);
		height: calc(115 / 1440 * 100vw);
	}
	.news h3 {
		font-size: calc(18 / 1440 * 100vw);
		padding: calc(20 / 1440 * 100vw) 0 calc(10 / 1440 * 100vw);
	}
	.date {
		font-size: calc(14 / 1440 * 100vw);
	}
	.news .btn__area {
		padding: calc(10 / 1440 * 100vw) 0 calc(15 / 1440 * 100vw);
	}
	.news .btn3 {
		width: calc(140 / 1440 * 100vw);
		height: calc(25 / 1440 * 100vw);
		font-size: calc(16 / 1440 * 100vw);
		padding: calc(1 / 1440 * 100vw) 0 calc(5 / 1440 * 100vw);
	}
	.news .btn3::after {
		width: calc(10 / 1440 * 100vw);
		height: calc(10 / 1440 * 100vw);
	}
	.top__news > div > .btn__area {
		padding: calc(50 / 1440 * 100vw) 0 calc(100 / 1440 * 100vw);
	}
}
@media screen and (max-width: 767px) {
	.top__news {
		padding-bottom: calc(50 / 390 * 100vw);
	}
	.top__news h2 {
		padding: calc(85 / 390 * 100vw) 0 calc(25 / 390 * 100vw);
	}
	.top__news h2::after {
		width: calc(37 / 390 * 100vw);
		height: calc(28 / 390 * 100vw);
		top: calc(55 / 390 * 100vw);
	}
	.top__news ul {
		flex-direction: column;
		gap: calc(20 / 390 * 100vw);
	}
	.news {
		width: 100%;
		height: calc(125 / 390 * 100vw);
	}
	.news::before {
		background-image: url(../images/top/news-frame-sp.png);
		width: calc(350 / 390 * 100vw);
		height: calc(115 / 390 * 100vw);
	}
	.news h3 {
		font-size: calc(18 / 390 * 100vw);
		padding: calc(20 / 390 * 100vw) 0 calc(6 / 390 * 100vw);
	}
	.date {
		font-size: calc(14 / 390 * 100vw);
	}
	.news .btn__area {
		padding: calc(10 / 390 * 100vw) 0 calc(18 / 390 * 100vw);
	}
	.news .btn3 {
		width: calc(140 / 390 * 100vw);
		height: calc(25 / 390 * 100vw);
		font-size: calc(16 / 390 * 100vw);
		padding: calc(1 / 390 * 100vw) 0 calc(5 / 390 * 100vw);
	}
	.news .btn3::after {
		width: calc(10 / 390 * 100vw);
		height: calc(10 / 390 * 100vw);
	}
	.top__news > div > .btn__area {
		padding: calc(25 / 390 * 100vw) 0 calc(50 / 390 * 100vw);
	}
}

/* top-cta */
.cta {
	background-image: url(../images/top/top5-bg.png);
	background-size: cover;
	background-position: center;
	color: #fff;
	height: 78.3rem;
}
.cta__text {
	padding: 8rem 0;
	width: 68rem;
	margin: 0 0 0 auto;
}
.cta h2 {
	font-size: 4rem;
	padding-bottom: 2rem;
	color: #ceae5a;
}
.cta__contents {
	padding: 5rem 0;
}
.cta .btn__area {
	margin: 0;
}
.cta .btn2 {
	width: 30rem;
	height: 6.5rem;
	padding: 0 0 0.3rem 3.5rem;
}
.cta .btn2::after {
	background-image: url(../images/_blank-icon.png);
	width: 2rem;
	height: 2rem;
}
@media screen and (max-width: 1439px) {
	.cta {
		height: calc(783 / 1440 * 100vw);
	}
	.cta__text {
		padding: calc(80 / 1440 * 100vw) 0;
		width: calc(680 / 1440 * 100vw);
		margin: 0 0 0 auto;
	}
	.cta h2 {
		font-size: calc(40 / 1440 * 100vw);
		padding-bottom: calc(20 / 1440 * 100vw);
	}
	.cta__contents {
		padding: calc(50 / 1440 * 100vw) 0;
	}
	.cta .btn__area {
		margin: 0;
	}
	.cta .btn2 {
		width: calc(300 / 1440 * 100vw);
		height: calc(65 / 1440 * 100vw);
		padding: 0 0 calc(3 / 1440 * 100vw) calc(35 / 1440 * 100vw);
	}
	.cta .btn2::after {
		width: calc(20 / 1440 * 100vw);
		height: calc(20 / 1440 * 100vw);
	}
}
@media screen and (max-width: 767px) {
	.cta {
		background-image: url(../images/top/top5-bg-sp.png);
		height: calc(1071 / 390 * 100vw);
	}
	.cta__text {
		padding: calc(50 / 390 * 100vw) 0;
		width: 100%;
	}
	.cta h2 {
		font-size: calc(30 / 390 * 100vw);
		padding-bottom: calc(25 / 390 * 100vw);
		text-align: center;
	}
	.cta__contents {
		padding: calc(25 / 390 * 100vw) 0 calc(35 / 390 * 100vw);
	}
	.cta .btn__area {
		margin: 0 auto;
	}
	.cta .btn2 {
		font-size: calc(16 / 390 * 100vw);
		width: calc(280 / 390 * 100vw);
		height: calc(55 / 390 * 100vw);
		padding: 0 0 calc(3 / 390 * 100vw) calc(65 / 390 * 100vw);
		margin-top: calc(10 / 390 * 100vw);
	}
	.cta .btn2::after {
		width: calc(20 / 390 * 100vw);
		height: calc(20 / 390 * 100vw);
	}
}

/* common-contact */
.common__contact {
	background-color: #ceae5a;
	padding: 10rem 0;
}
.common__contact__contents {
	position: relative;
	background-color: #fff;
	text-align: center;
	padding: 8rem 0;
}
.common__contact__contents::after {
	content: "";
	position: absolute;
	background-image: url(../images/contact-frame.png);
	background-size: contain;
	background-repeat: no-repeat;
	width: 102.1rem;
	height: 96.2rem;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 0;
}
.common__contact__contents > p {
	padding: 3rem 0 5rem;
	font-size: 1.6rem;
}
.common__contact__contents2 {
	background-color: #f5eedc;
}
.common__contact__contents2 h3 {
	font-size: 3.4rem;
	font-family: "Zen Old Mincho", serif;
	font-weight: 700;
	width: 80rem;
	padding: 5rem 0 3rem;
	margin: 0 auto;
	border-bottom: 1px solid #232323;
}
.common__contact__contents2 > p:first-of-type {
	padding: 3rem 0 0.8rem;
}
.common__contact__contents2 p {
	font-size: 3.2rem;
	font-family: "Adamina", serif;
	font-weight: 400;
}
.common__contact__contents2 span a {
	font-size: 4rem;
	color: #232323;
}
.common__contact__contents2 .note {
	font-size: 1.4rem;
	font-family: "Noto Sans JP", sans-serif;
	padding-bottom: 3.5rem;
}
.map__area {
	display: flex;
	gap: 3rem;
	padding: 4rem 11rem 5rem;
}
.map__area__image {
	width: 37rem;
}
.map__area p {
	text-align: left;
	font-size: 1.8rem;
	font-family: "Noto Sans JP", sans-serif;
}
.map__area a {
	color: #287fd2;
	text-decoration: underline;
	width: fit-content;
	margin: 0 auto;
}
.common__contact__contents .container2,
.common__contact__contents h2,
.common__contact__contents p {
	position: relative;
	z-index: 1;
}
@media screen and (max-width: 1439px) {
	.common__contact {
		padding: calc(100 / 1440 * 100vw) 0;
	}
	.common__contact__contents {
		padding: calc(80 / 1440 * 100vw) 0;
	}
	.common__contact__contents::after {
		width: calc(1021 / 1440 * 100vw);
		height: calc(962 / 1440 * 100vw);
	}
	.common__contact__contents > p {
		padding: calc(30 / 1440 * 100vw) 0 calc(50 / 1440 * 100vw);
		font-size: calc(16 / 1440 * 100vw);
	}
	.common__contact__contents2 h3 {
		width: calc(800 / 1440 * 100vw);
		padding: calc(50 / 1440 * 100vw) 0 calc(30 / 1440 * 100vw);
		font-size: calc(34 / 1440 * 100vw);
	}
	.common__contact__contents2 > p:first-of-type {
		padding: calc(30 / 1440 * 100vw) 0 calc(8 / 1440 * 100vw);
	}
	.common__contact__contents2 p {
		font-size: calc(32 / 1440 * 100vw);
	}
	.common__contact__contents2 span a {
		font-size: calc(40 / 1440 * 100vw);
	}
	.common__contact__contents2 .note {
		font-size: calc(14 / 1440 * 100vw);
		padding-bottom: calc(35 / 1440 * 100vw);
	}
	.map__area {
		gap: calc(30 / 1440 * 100vw);
		padding: calc(40 / 1440 * 100vw) calc(110 / 1440 * 100vw)
			calc(50 / 1440 * 100vw);
	}
	.map__area__image {
		width: calc(370 / 1440 * 100vw);
	}
	.map__area p {
		font-size: calc(18 / 1440 * 100vw);
	}
}
@media screen and (max-width: 767px) {
	.common__contact {
		padding: calc(16 / 390 * 100vw) 0;
	}
	.common__contact__contents {
		padding: calc(25 / 390 * 100vw) 0 calc(15 / 390 * 100vw);
	}
	.common__contact__contents::after {
		background-image: url(../images/contact-frame-sp.png);
		background-size: 100% 100%;
		width: unset;
		height: unset;
		inset: 0;
		transform: unset;
	}
	.common__contact__contents > p {
		width: calc(300 / 390 * 100vw);
		margin: 0 auto;
		padding: calc(20 / 390 * 100vw) 0;
		font-size: calc(16 / 390 * 100vw);
		font-weight: 500;
		text-align: justify;
	}
	.common__contact__contents .container2 {
		max-width: calc(330 / 390 * 100vw);
	}
	.common__contact__contents2 h3 {
		width: calc(280 / 390 * 100vw);
		padding: calc(20 / 390 * 100vw) 0 calc(15 / 390 * 100vw);
		font-size: calc(22 / 390 * 100vw);
		line-height: 1.15;
	}
	.common__contact__contents2 p {
		font-size: calc(18 / 390 * 100vw);
	}
	.common__contact__contents2 span a {
		font-size: calc(24 / 390 * 100vw);
	}
	.common__contact__contents2 > p:first-of-type {
		padding: calc(20 / 390 * 100vw) 0 calc(3 / 390 * 100vw);
	}
	.common__contact__contents2 .note {
		font-size: calc(11 / 390 * 100vw);
		padding-bottom: calc(20 / 390 * 100vw);
	}
	.map__area {
		flex-direction: column;
		gap: calc(5 / 390 * 100vw);
		padding: calc(30 / 390 * 100vw) calc(25 / 390 * 100vw)
			calc(26 / 390 * 100vw);
	}
	.map__area__image {
		width: 100%;
	}
	.common__contact__contents2 .map__area p {
		text-align: center;
		font-size: calc(16 / 390 * 100vw);
		padding-top: calc(10 / 390 * 100vw);
	}
	.common__contact__contents2 .map__area a {
		font-size: 1.4rem;
	}
}

/* common-banner */
.common__banner--cert1 {
	display: block;
	width: 38rem;
	margin: 0 auto;
	padding: 7rem 0 3.5rem;
}
.common__banner p {
	font-size: 3.2rem;
	font-family: "Zen Old Mincho", serif;
	font-weight: 700;
	text-align: center;
}
.common__banner .btn3 {
	padding: 0 2rem 0 0;
	margin: 5rem 0 7rem;
	box-shadow: none;
}
.common__banner .btn3::after {
	background-image: url(../images/_blank-icon.png);
	width: 2rem;
	height: 2rem;
}
.common__banner__other {
	display: flex;
}
.common__banner__other a {
	flex-grow: 1;
	text-align: center;
	border: 1px solid #d9d9d9;
}
@media screen and (max-width: 1439px) {
	.common__banner--cert1 {
		width: calc(380 / 1440 * 100vw);
		margin: 0 auto;
		padding: calc(70 / 1440 * 100vw) 0 calc(35 / 1440 * 100vw);
	}
	.common__banner p {
		font-size: calc(32 / 1440 * 100vw);
	}
	.common__banner .btn3 {
		padding: 0 calc(20 / 1440 * 100vw) 0 0;
		margin: calc(50 / 1440 * 100vw) 0 calc(70 / 1440 * 100vw);
	}
	.common__banner .btn3::after {
		width: calc(20 / 1440 * 100vw);
		height: calc(20 / 1440 * 100vw);
	}
}
@media screen and (max-width: 767px) {
	.common__banner--cert1 {
		width: calc(304 / 390 * 100vw);
		margin: 0 auto;
		padding: calc(30 / 390 * 100vw) 0 calc(8 / 390 * 100vw);
	}
	.common__banner p {
		font-size: calc(18 / 390 * 100vw);
	}
	.common__banner .btn3 {
		padding: 0;
		margin: calc(22 / 390 * 100vw) 0 calc(60 / 390 * 100vw);
		font-size: calc(16 / 390 * 100vw);
		font-weight: 500;
	}
	.common__banner .btn3::after {
		width: calc(20 / 390 * 100vw);
		height: calc(20 / 390 * 100vw);
	}
	.common__banner__other {
		display: flex;
		flex-wrap: wrap;
	}
	.common__banner__other > a:nth-child(-n + 4) {
		width: calc(50% - 0.8rem);
	}
	.common__banner__other > a:nth-child(n + 5) {
		width: 100%;
	}
}

/* footer */
footer {
	background-color: #232323;
	color: #fff;
	padding: 5rem 17rem 0 15rem;
}
.footer__flex {
	display: flex;
	gap: 42rem;
	position: relative;
	justify-content: space-between;
}
.footer__logo {
	display: block;
	width: 19.5rem;
	transform: translate(-1.5rem, -1.5rem);
}
.footer__logo.is-sp {
	display: none;
}
.footer__left p {
	font-size: 1.6rem;
	transform: translateY(-2.5rem);
	padding-bottom: 0.2rem;
}
.footer__left p a{
	font-size: 1.6rem;
}
.footer__right {
	display: flex;
	gap: 3rem;
}
.footer__right p {
	line-height: 1.2;
}
.footer__right a {
	font-size: 1.4rem;
}
.footer__sns {
	position: absolute;
	right: 0;
	bottom: 2rem;
	display: flex;
	gap: 2rem;
}
.footer__sns a {
	display: block;
	width: 3rem;
}
.footer__copy p {
	font-size: 1.2rem;
	text-align: center;
	padding: 3rem 0 2rem;
}
@media screen and (max-width: 1439px) {
	footer {
		padding: calc(50 / 1440 * 100vw) calc(170 / 1440 * 100vw) 0
			calc(150 / 1440 * 100vw);
	}
	.footer__flex {
		gap: calc(420 / 1440 * 100vw);
	}
	.footer__logo {
		width: calc(195 / 1440 * 100vw);
		transform: translate(calc(-15 / 1440 * 100vw), calc(-15 / 1440 * 100vw));
	}
	.footer__left p {
		font-size: calc(16 / 1440 * 100vw);
		transform: translateY(calc(-25 / 1440 * 100vw));
		padding-bottom: calc(2 / 1440 * 100vw);
	}
	.footer__left p a{
	font-size: calc(16 / 1440 * 100vw);
}
	.footer__right {
		gap: calc(30 / 1440 * 100vw);
	}
	.footer__right a {
		font-size: calc(14 / 1440 * 100vw);
	}
	.footer__sns {
		bottom: calc(20 / 1440 * 100vw);
		gap: calc(20 / 1440 * 100vw);
	}
	.footer__sns div {
		width: calc(30 / 1440 * 100vw);
	}
	.footer__copy p {
		font-size: calc(12 / 1440 * 100vw);
		padding: calc(30 / 1440 * 100vw) 0 calc(20 / 1440 * 100vw);
	}
}
@media screen and (max-width: 767px) {
	footer {
		padding: 0;
	}
	.footer__flex.is-pc {
		display: none;
	}
	.footer__logo.is-sp {
		display: block;
		width: calc(160 / 390 * 100vw);
		padding-top: calc(10 / 390 * 100vw);
		margin: 0 auto;
		transform: unset;
	}
	.footer__copy p {
		font-size: calc(12 / 390 * 100vw);
		padding: 0 0 calc(10 / 390 * 100vw);
	}
}

/* fv */
.fv {
	width: 100%;
	height: auto;
	padding-top: 8rem;
}
@media screen and (max-width: 1439px) {
	.fv {
		padding-top: calc(80 / 1440 * 100vw);
	}
}
@media screen and (max-width: 767px) {
	.fv {
		padding-top: calc(62 / 390 * 100vw);
	}
}

/* about */
.section1 {
	background-image: url(../images/1-bg.png);
	background-size: cover;
	background-position: center;
	color: #fff;
}
.section1 h1 {
	position: relative;
	text-align: center;
	padding: 14rem 0 3rem;
}
.section1 h1::after {
	content: "";
	position: absolute;
	background-image: url(../images/about/1-icon.png);
	background-size: contain;
	background-repeat: no-repeat;
	width: 4.9rem;
	height: 4.1rem;
	top: 7rem;
	left: 50%;
	transform: translateX(-50%);
}
.section1__flex {
	display: flex;
	justify-content: space-between;
	padding: 5.5rem 0 10rem;
}
.section1__flex div {
	width: 34rem;
}

.section2 {
	text-align: center;
}
.section2 h2 {
	font-size: 4.2rem;
	text-align: center;
	padding: 5.5rem 0 9.2rem;
}
.section2.about h2 {
	padding: 5.5rem 0 9.2rem;
	background-image: url(../images/about/2-title.png);
	background-size: cover;
	background-position: center;
}
.section2 h3 span {
	font-size: 4rem;
	color: #ceae5a;
}
.section2__contents {
	display: flex;
	flex-direction: column;
	gap: 3.5rem;
	padding: 5rem 0 9.7rem;
}
.section2__contents > div {
	position: relative;
}
.section2__contents > div::after {
	content: "";
	position: absolute;
	background-image: url(../images/about/about2-1.png);
	background-size: contain;
	background-repeat: no-repeat;
	width: 110.2rem;
	height: 46.9rem;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
}
.section2__contents > div:nth-child(2)::after {
	background-image: url(../images/about/about2-2.png);
}
.section2__contents > div:nth-child(3)::after {
	background-image: url(../images/about/about2-3.png);
}
.section2__contents > div:nth-child(4)::after {
	background-image: url(../images/about/about2-4.png);
}
.section2__contents > div:nth-child(5)::after {
	background-image: url(../images/about/about2-5.png);
}
.section2__contents h3 {
	font-size: 3.6rem;
	font-family: "Zen Old Mincho", serif;
	font-weight: 700;
	padding: 12rem 0 2rem;
}
.section2__contents__flex {
	display: flex;
	justify-content: end;
	gap: 3.1rem;
	padding: 3rem 0;
}
.section2__contents__box {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 16.6rem;
	height: 19.1rem;
	padding: 2.8rem 2rem 3.2rem 2rem;
	background-color: #f5eedc;
}
.section2__contents__box2 {
	padding: 2rem 2rem 3.2rem 2rem;
}
.section2__contents__box h4 {
	font-size: 2.4rem;
	font-weight: 500;
	padding-bottom: 1.6rem;
}
.section2__contents__box2 h4 {
	padding-bottom: 1rem;
	line-height: 1.4;
}
.section2__contents__box p {
	text-align: left;
}
.section2__contents
	> div:nth-child(3)
	.section2__contents__box2:nth-child(1)
	h4 {
	transform: translateY(2rem);
}
.section2__contents
	> div:nth-child(3)
	.section2__contents__box2:nth-child(1)
	p {
	transform: translateY(3.2rem);
}
@media screen and (max-width: 1439px) {
	.section1 h1 {
		padding: calc(140 / 1440 * 100vw) 0 calc(30 / 1440 * 100vw);
	}
	.section1 h1::after {
		width: calc(49 / 1440 * 100vw);
		height: calc(41 / 1440 * 100vw);
		top: calc(70 / 1440 * 100vw);
	}
	.section1__flex {
		padding: calc(55 / 1440 * 100vw) 0 calc(100 / 1440 * 100vw);
	}
	.section1__flex div {
		width: calc(340 / 1440 * 100vw);
	}
	.section2 h2 {
		font-size: calc(42 / 1440 * 100vw);
		padding: calc(55 / 1440 * 100vw) 0 calc(92 / 1440 * 100vw);
	}
	.section2 h3 span {
		font-size: calc(40 / 1440 * 100vw);
	}
	.section2__contents {
		gap: calc(35 / 1440 * 100vw);
		padding: calc(50 / 1440 * 100vw) 0 calc(97 / 1440 * 100vw);
	}
	.section2__contents > div::after {
		width: calc(1102 / 1440 * 100vw);
		height: calc(469 / 1440 * 100vw);
		top: 50%;
		left: 50%;
	}
	.section2__contents h3 {
		font-size: calc(36 / 1440 * 100vw);
		padding: calc(120 / 1440 * 100vw) 0 calc(20 / 1440 * 100vw);
	}
	.section2__contents__flex {
		gap: calc(31 / 1440 * 100vw);
		padding: calc(30 / 1440 * 100vw) 0;
	}
	.section2__contents__box {
		width: calc(166 / 1440 * 100vw);
		height: calc(191 / 1440 * 100vw);
		padding: calc(28 / 1440 * 100vw) calc(20 / 1440 * 100vw)
			calc(32 / 1440 * 100vw);
	}
	.section2__contents__box2 {
		padding: calc(20 / 1440 * 100vw) calc(20 / 1440 * 100vw)
			calc(32 / 1440 * 100vw);
	}
	.section2__contents__box h4 {
		font-size: calc(24 / 1440 * 100vw);
		padding-bottom: calc(16 / 1440 * 100vw);
	}
	.section2__contents__box2 h4 {
		padding-bottom: calc(10 / 1440 * 100vw);
	}
	.section2__contents
		> div:nth-child(3)
		.section2__contents__box2:nth-child(1)
		h4 {
		transform: translateY(calc(20 / 1440 * 100vw));
	}
	.section2__contents
		> div:nth-child(3)
		.section2__contents__box2:nth-child(1)
		p {
		transform: translateY(calc(32 / 1440 * 100vw));
	}
}

/* courses */
.section1.course h1 {
	position: relative;
	text-align: center;
	padding: 19rem 0 1.8rem;
}
.section1.course.elementary h1::after {
	background-image: url(../images/elementary/1-icon.png);
	background-size: contain;
	background-repeat: no-repeat;
	width: 7.2rem;
	height: 10.7rem;
}
.section1.course h3 {
	font-size: 2.8rem;
	font-family: "Zen Old Mincho", serif;
	font-weight: 700;
	text-align: center;
}
.section1.course p {
	padding: 2.6rem 0 9rem;
}
.section2.course {
	background-color: #ceae5a;
}
.section2.course h2 {
	position: relative;
	padding: 13rem 0 6rem;
	color: #fff;
}
.section2.course h2::after {
	content: "";
	position: absolute;
	background-image: url(../images/course2-icon.png);
	background-size: contain;
	background-repeat: no-repeat;
	width: 66.8rem;
	height: 11.7rem;
	top: 10rem;
	left: 50%;
	transform: translateX(-50%);
}
.course .section2__contents {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: center;
	gap: 3rem;
	padding-bottom: 10rem;
}
.course .section2__contents > div {
	position: relative;
	width: 34.6rem;
	height: 46.5rem;
	background-color: #f5eedc;
	padding: 2rem;
}
.course .section2__contents > div::before {
	content: "";
	position: absolute;
	background-image: url(../images/course2-frame.png);
	background-size: contain;
	background-repeat: no-repeat;
	width: 30.6rem;
	height: 1.2rem;
	top: 1.2rem;
	left: 50%;
	transform: translateX(-50%);
}
.course .section2__contents > div::after {
	content: "";
	position: absolute;
	background-image: url(../images/elementary/elementary-course2-1.png);
	background-size: contain;
	background-repeat: no-repeat;
	width: 34.6rem;
	height: 25.1rem;
	top: auto;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, 0);
	z-index: 1;
}
.course .section2__contents > div:nth-child(2)::after {
	background-image: url(../images/elementary/elementary-course2-2.png);
}
.course .section2__contents > div:nth-child(3)::after {
	background-image: url(../images/elementary/elementary-course2-3.png);
}
.course .section2__contents > div:nth-child(4)::after {
	background-image: url(../images/elementary/elementary-course2-4.png);
}
.course .section2__contents > div:nth-child(5)::after {
	background-image: url(../images/elementary/elementary-course2-5.png);
}
.course .section2__contents h3 {
	font-size: 2.8rem;
	font-family: "Zen Old Mincho", serif;
	font-weight: 900;
	line-height: 1.2;
	color: #ceae5a;
	padding: 2.5rem 0 2rem;
}
.course.elementary .section2__contents h3 span {
	font-size: 2.8rem;
	letter-spacing: -0.02em;
}
.course .section2__contents p {
	text-align: left;
}
.course.cta {
	background-image: url(../images/elementary/cta-bg.png);
}
.course.cta h2 {
	text-align: center;
	padding-bottom: 2.5rem;
}
.course .cta__text {
	width: 66.4rem;
}
.cta__box {
	padding: 2.5rem;
	border: 1px solid #fff;
	margin-top: 5rem;
}
.cta__box h3 {
	font-size: 3rem;
	font-family: "Zen Old Mincho", serif;
	font-weight: 700;
	color: #ceae5a;
	text-align: center;
}
.cta__box p {
	font-size: 1.6rem;
	padding-top: 1rem;
	text-align: center;
}
.cta__box span a{
	font-size: 3.2rem;
}
.cta__box p:nth-of-type(2) {
	padding: 2rem 0 1rem;
	font-family: "Adamina", serif;
	font-weight: 400;
}
.cta__box .note {
	font-size: 1.4rem;
	padding: 0 0 3rem;
}
.course.cta .btn__area {
	margin: 0 auto;
}
.course.cta .btn {
	padding: 2rem 0 2.2rem;
	box-shadow: none;
}
@media screen and (max-width: 1439px) {
	.section1.course h1 {
		padding: calc(190 / 1440 * 100vw) 0 calc(18 / 1440 * 100vw);
	}
	.section1.course.elementary h1::after {
		width: calc(72 / 1440 * 100vw);
		height: calc(107 / 1440 * 100vw);
	}
	.section1.course h3 {
		font-size: calc(28 / 1440 * 100vw);
	}
	.section1.course p {
		padding: calc(26 / 1440 * 100vw) 0 calc(90 / 1440 * 100vw);
	}
	.section2.course h2 {
		padding: calc(130 / 1440 * 100vw) 0 calc(60 / 1440 * 100vw);
	}
	.section2.course h2::after {
		width: calc(668 / 1440 * 100vw);
		height: calc(117 / 1440 * 100vw);
		top: calc(100 / 1440 * 100vw);
	}
	.course .section2__contents {
		gap: calc(30 / 1440 * 100vw);
		padding-bottom: calc(100 / 1440 * 100vw);
	}
	.course .section2__contents > div {
		width: calc(346 / 1440 * 100vw);
		height: calc(465 / 1440 * 100vw);
		padding: calc(20 / 1440 * 100vw);
	}
	.course .section2__contents > div::before {
		width: calc(306 / 1440 * 100vw);
		height: calc(12 / 1440 * 100vw);
		top: calc(12 / 1440 * 100vw);
	}
	.course .section2__contents > div::after {
		width: calc(346 / 1440 * 100vw);
		height: calc(251 / 1440 * 100vw);
	}
	.course .section2__contents h3 {
		font-size: calc(28 / 1440 * 100vw);
		padding: calc(25 / 1440 * 100vw) 0 calc(20 / 1440 * 100vw);
	}
	.course.elementary .section2__contents h3 span {
		font-size: calc(28 / 1440 * 100vw);
	}
	.course .cta__text {
		width: calc(664 / 1440 * 100vw);
	}
	.cta__box {
		padding: calc(25 / 1440 * 100vw);
		margin-top: calc(50 / 1440 * 100vw);
	}
	.cta__box h3 {
		font-size: calc(30 / 1440 * 100vw);
	}
	.cta__box p {
		font-size: calc(16 / 1440 * 100vw);
		padding-top: calc(10 / 1440 * 100vw);
	}
	.cta__box span a{
		font-size: calc(32 / 1440 * 100vw);
	}
	.cta__box p:nth-of-type(2) {
		padding: calc(20 / 1440 * 100vw) 0 calc(10 / 1440 * 100vw);
	}
	.cta__box .note {
		font-size: calc(14 / 1440 * 100vw);
		padding: 0 0 calc(30 / 1440 * 100vw);
	}
	.course.cta .btn {
		padding: calc(20 / 1440 * 100vw) 0 calc(22 / 1440 * 100vw);
	}
}
@media screen and (max-width: 767px) {
	.section1.course h1 {
		font-size: calc(28 / 390 * 100vw);
		padding: calc(100 / 390 * 100vw) 0 calc(5 / 390 * 100vw);
	}
	.section1.course.elementary h1::after {
		width: calc(37 / 390 * 100vw);
		height: calc(54 / 390 * 100vw);
		top: calc(40 / 390 * 100vw);
	}
	.section1.course h3 {
		font-size: calc(22 / 390 * 100vw);
		line-height: 1.2;
	}
	.section1.course p {
		padding: calc(20 / 390 * 100vw) 0 calc(50 / 390 * 100vw);
	}
	.section2.course h2 {
		font-size: calc(30 / 390 * 100vw);
		line-height: 1.35;
		padding: calc(55 / 390 * 100vw) 0 calc(20 / 390 * 100vw);
	}
	.section2.course h2::after {
		background-image: url(../images/course2-icon-sp.png);
		width: calc(385 / 390 * 100vw);
		height: calc(106 / 390 * 100vw);
		top: calc(40 / 390 * 100vw);
	}
	.course .section2__contents {
		flex-direction: column;
		gap: calc(20 / 390 * 100vw);
		padding-bottom: calc(36 / 390 * 100vw);
	}
	.course .section2__contents > div {
		width: 100%;
		height: calc(455 / 390 * 100vw);
		padding: calc(15 / 390 * 100vw);
	}
	.course .section2__contents > div::before {
		width: calc(331 / 390 * 100vw);
		height: calc(13 / 390 * 100vw);
		top: calc(10 / 390 * 100vw);
	}
	.course .section2__contents > div::after {
		background-image: url(../images/elementary/elementary-course2-1-sp.png);
		width: calc(360 / 390 * 100vw);
		height: calc(274 / 390 * 100vw);
	}
	.course .section2__contents > div:nth-child(2)::after {
		background-image: url(../images/elementary/elementary-course2-2-sp.png);
	}
	.course .section2__contents > div:nth-child(3)::after {
		background-image: url(../images/elementary/elementary-course2-3-sp.png);
	}
	.course .section2__contents > div:nth-child(4)::after {
		background-image: url(../images/elementary/elementary-course2-4-sp.png);
	}
	.course .section2__contents > div:nth-child(5)::after {
		background-image: url(../images/elementary/elementary-course2-5-sp.png);
	}
	.course .section2__contents h3 {
		font-size: calc(24 / 390 * 100vw);
		font-weight: 700;
		line-height: 1.2;
		padding: calc(20 / 390 * 100vw) 0 calc(12 / 390 * 100vw);
	}
	.course.cta h2 {
		font-size: calc(28 / 390 * 100vw);
		padding-bottom: calc(25 / 390 * 100vw);
	}
	.course.cta h2 span {
		letter-spacing: -0.1em;
	}
	.course.elementary .section2__contents h3 span {
		font-size: calc(24 / 390 * 100vw);
	}
	.course.cta {
		background-image: url(../images/elementary/cta-bg-sp.png);
		height: calc(879 / 390 * 100vw) !important;
	}
	.course .cta__text {
		width: 100%;
		padding: calc(50 / 390 * 100vw) 0;
	}
	.cta__box {
		padding: calc(25 / 390 * 100vw) calc(11 / 390 * 100vw)
			calc(30 / 390 * 100vw);
		margin-top: calc(220 / 390 * 100vw);
	}
	.cta__box h3 {
		font-size: calc(30 / 390 * 100vw);
	}
	.cta__box p {
		font-size: calc(16 / 390 * 100vw);
		padding-top: calc(10 / 390 * 100vw);
		text-align: left;
	}
	.cta__box p:nth-of-type(2) {
		text-align: center;
		padding: calc(15 / 390 * 100vw) 0 calc(10 / 390 * 100vw);
	}
	.cta__box span a {
		font-size: calc(32 / 390 * 100vw);
	}
	.cta__box .note {
		text-align: center;
		font-size: calc(12 / 390 * 100vw);
		padding: 0 0 calc(20 / 390 * 100vw);
	}
	.course.cta .btn {
		padding: calc(20 / 390 * 100vw) calc(30 / 390 * 100vw)
			calc(22 / 390 * 100vw) calc(20 / 390 * 100vw);
	}
}

.section1.course.juniorhigh h1::after {
	background-image: url(../images/juniorhigh/1-icon.png);
	background-size: contain;
	background-repeat: no-repeat;
	width: 6.5rem;
	height: 10.7rem;
}
.course.juniorhigh .section2__contents > div::after {
	background-image: url(../images/juniorhigh/juniorhigh-course2-1.png);
}
.course.juniorhigh .section2__contents > div:nth-child(2)::after {
	background-image: url(../images/juniorhigh/juniorhigh-course2-2.png);
}
.course.juniorhigh .section2__contents > div:nth-child(3)::after {
	background-image: url(../images/juniorhigh/juniorhigh-course2-3.png);
}
.course.juniorhigh .section2__contents > div:nth-child(4)::after {
	background-image: url(../images/juniorhigh/juniorhigh-course2-4.png);
}
.course.juniorhigh .section2__contents > div:nth-child(5)::after {
	background-image: url(../images/juniorhigh/juniorhigh-course2-5.png);
}
.course.juniorhigh.cta {
	background-image: url(../images/juniorhigh/cta-bg.png);
}
@media screen and (max-width: 1439px) {
	.section1.course.juniorhigh h1::after {
		width: calc(65 / 1440 * 100vw);
		height: calc(107 / 1440 * 100vw);
	}
}
@media screen and (max-width: 767px) {
	.section1.course.juniorhigh h1::after {
		width: calc(33 / 390 * 100vw);
		height: calc(55 / 390 * 100vw);
		top: calc(45 / 390 * 100vw);
	}
	.course.juniorhigh .section2__contents > div::after {
		background-image: url(../images/juniorhigh/juniorhigh-course2-1-sp.png);
		width: calc(360 / 390 * 100vw);
		height: calc(300 / 390 * 100vw);
	}
	.course.juniorhigh .section2__contents > div:nth-child(2)::after {
		background-image: url(../images/juniorhigh/juniorhigh-course2-2-sp.png);
	}
	.course.juniorhigh .section2__contents > div:nth-child(3)::after {
		background-image: url(../images/juniorhigh/juniorhigh-course2-3-sp.png);
	}
	.course.juniorhigh .section2__contents > div:nth-child(4)::after {
		background-image: url(../images/juniorhigh/juniorhigh-course2-4-sp.png);
	}
	.course.juniorhigh .section2__contents > div:nth-child(5)::after {
		background-image: url(../images/juniorhigh/juniorhigh-course2-5-sp.png);
	}
	.course.juniorhigh.cta {
		background-image: url(../images/juniorhigh/cta-bg-sp.png);
	}
	.course.juniorhigh.cta .cta__box {
		margin-top: calc(280 / 390 * 100vw);
	}
}

.section1.course.highschool h1::after {
	background-image: url(../images/highschool/1-icon.png);
	background-size: contain;
	background-repeat: no-repeat;
	width: 7rem;
	height: 10.7rem;
}
.section__highschool {
	position: relative;
	background-image: url(../images/highschool/section__highschool-bg.png);
	background-size: cover;
	background-position: center;
	z-index: 2;
}
.section__highschool h2 {
	font-size: 3.8rem;
	text-align: center;
	padding: 12rem 0 5rem;
}
.section__highschool__box {
	padding-bottom: 5rem;
}
.section__highschool__box {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}
.section__highschool__box > div {
	display: flex;
	gap: 1.4rem;
	padding: 1.5rem 2.2rem;
	background-color: rgba(255, 255, 255, 0.8);
	box-shadow: 2px 2px 3px 1px rgba(0, 0, 0, 0.15);
	width: 50rem;
}
.checkbox {
	width: 4.36rem;
}
.section__highschool__box p {
	font-size: 2.2rem;
	font-family: "Zen Old Mincho", serif;
	font-weight: 700;
}
.section__highschool > .container2 > p {
	text-align: center;
	font-size: 2.2rem;
	padding-bottom: 16rem;
}
.section2.course.highschool h2 {
	padding: 28rem 0 1rem;
}
.section2.course.highschool h2::after {
	top: 24.5rem;
}
.section2.course.highschool {
	position: relative;
	z-index: 1;
	margin-top: -22.2rem;
}
.highschool.course .section2__contents > div {
	position: relative;
	width: 100%;
	height: auto;
	background-color: #f5eedc;
	padding: 0;
}
.highschool.course .section2__contents > div::after {
	display: none;
}
.section2__content__flex {
	display: flex;
	align-items: end;
	gap: 4rem;
}
.highschool.course
	.section2__contents
	> div:nth-of-type(3)
	.section2__content__flex {
	gap: 2.6rem;
}
.section2__content__flex__image {
	width: 46.2rem;
}
.highschool.course
	.section2__contents
	> div:nth-of-type(3)
	.section2__content__flex__image {
	width: 47.7rem;
}
.section2__content__flex__text {
	width: 35rem;
}
.highschool.course .section2__contents h3 {
	padding: 3.4rem 0 1.5rem;
}
.highschool.course .section2__contents h3 span {
	font-size: 2.8rem;
	letter-spacing: -0.05em;
}
.highschool.course
	.section2__contents
	> div:nth-of-type(2)
	.section2__content__flex__text
	h3 {
	transform: translateY(-1rem);
}
.section2__content__boxes {
	padding: 2rem 0 3rem;
	display: flex;
	gap: 1.5rem;
}
.section2__content__boxes > div {
	background-color: #fff;
	color: #ceae5a;
	width: 10.6rem;
	height: 9.4rem;
	display: flex;
	justify-content: center;
	align-items: center;
}
.section2__content__boxes > div p {
	text-align: center !important;
	font-weight: 500;
}
.section2__content__boxes > div p span {
	letter-spacing: -0.1em;
}
.highschool.course .section2__contents > div::before {
	width: 33.1rem;
	height: 1.3rem;
	left: auto;
	right: 6.2rem;
	transform: unset;
}
.course.highschool.cta {
	background-image: url(../images/highschool/cta-bg.png);
}
@media screen and (min-width: 1441px) {
	.section__highschool {
		background-size: contain;
	}
	.section__highschool {
		position: relative;
		background-image: url(../images/highschool/section__highschool-bg.png),
			url(../images/highschool/section__highschool-bg1.png);
		background-size: contain, 100% 73rem;
		background-position: center, top center;
		z-index: 2;
	}
}
@media screen and (max-width: 1439px) {
	.section1.course.highschool h1::after {
		width: calc(70 / 1440 * 100vw);
		height: calc(107 / 1440 * 100vw);
	}
	.section2.course.highschool {
		margin-top: calc(-222 / 1440 * 100vw);
	}
	.section2.course.highschool h2 {
		padding: calc(280 / 1440 * 100vw) 0 calc(10 / 1440 * 100vw);
	}
	.section2.course.highschool h2::after {
		top: calc(245 / 1440 * 100vw);
	}
	.section2.course.highschool::before {
		height: calc(221 / 1440 * 100vw);
	}
	.section__highschool {
		background-position: bottom center;
	}
	.section__highschool h2 {
		font-size: calc(38 / 1440 * 100vw);
		padding: calc(120 / 1440 * 100vw) 0 calc(50 / 1440 * 100vw);
	}
	.section__highschool__box {
		padding-bottom: calc(50 / 1440 * 100vw);
		gap: calc(15 / 1440 * 100vw);
	}
	.section__highschool__box > div {
		gap: calc(14 / 1440 * 100vw);
		padding: calc(15 / 1440 * 100vw) calc(22 / 1440 * 100vw);
		width: calc(500 / 1440 * 100vw);
	}
	.checkbox {
		width: calc(43.6 / 1440 * 100vw);
	}
	.section__highschool__box p {
		font-size: calc(22 / 1440 * 100vw);
	}
	.section__highschool > .container2 > p {
		font-size: calc(22 / 1440 * 100vw);
		padding-bottom: calc(160 / 1440 * 100vw);
	}
	.section2__content__flex {
		gap: calc(40 / 1440 * 100vw);
	}
	.highschool.course
		.section2__contents
		> div:nth-of-type(3)
		.section2__content__flex {
		gap: calc(26 / 1440 * 100vw);
	}
	.section2__content__flex__image {
		width: calc(462 / 1440 * 100vw);
	}
	.highschool.course
		.section2__contents
		> div:nth-of-type(3)
		.section2__content__flex__image {
		width: calc(477 / 1440 * 100vw);
	}
	.section2__content__flex__text {
		width: calc(350 / 1440 * 100vw);
	}
	.highschool.course .section2__contents h3 {
		padding: calc(34 / 1440 * 100vw) 0 calc(15 / 1440 * 100vw);
	}
	.highschool.course .section2__contents h3 span {
		font-size: calc(28 / 1440 * 100vw);
	}
	.section2__content__boxes {
		padding: calc(20 / 1440 * 100vw) 0 calc(30 / 1440 * 100vw);
		gap: calc(15 / 1440 * 100vw);
	}
	.section2__content__boxes > div {
		width: calc(106 / 1440 * 100vw);
		height: calc(94 / 1440 * 100vw);
	}
	.highschool.course .section2__contents > div::before {
		width: calc(331 / 1440 * 100vw);
		height: calc(13 / 1440 * 100vw);
		right: calc(62 / 1440 * 100vw);
	}
}
@media screen and (max-width: 767px) {
	.section1.course.highschool h1::after {
		width: calc(36 / 390 * 100vw);
		height: calc(55 / 390 * 100vw);
		top: calc(45 / 390 * 100vw);
	}
	.section__highschool {
		background-image: url(../images/highschool/section__highschool-bg-sp.png);
	}
	.section__highschool h2 {
		font-size: calc(26 / 390 * 100vw);
		padding: calc(50 / 390 * 100vw) 0 calc(242 / 390 * 100vw);
	}
	.section__highschool__box {
		padding-bottom: calc(25 / 390 * 100vw);
		gap: calc(10 / 390 * 100vw);
	}
	.section__highschool__box > div {
		gap: calc(10 / 390 * 100vw);
		padding: calc(10 / 390 * 100vw) calc(15 / 390 * 100vw);
		width: 100%;
	}
	.checkbox {
		width: calc(30 / 390 * 100vw);
	}
	.section__highschool__box p {
		font-size: calc(16 / 390 * 100vw);
	}
	.section__highschool > .container2 > p {
		width: calc(360 / 390 * 100vw);
		font-size: calc(16 / 390 * 100vw);
		text-align: left;
		padding-bottom: calc(90 / 390 * 100vw);
	}
	.section2.course.highschool {
		margin-top: calc(-55 / 390 * 100vw);
	}
	.section2.course.highschool h2 {
		padding: calc(90 / 390 * 100vw) 0 calc(35 / 390 * 100vw);
	}
	.section2.course.highschool h2::after {
		top: calc(95 / 390 * 100vw);
	}
	.section2__content__flex {
		flex-direction: column-reverse;
		gap: 0;
	}
	.highschool.course .section2__contents > div::before {
		width: calc(331 / 390 * 100vw);
		height: calc(13 / 390 * 100vw);
		left: 50%;
		transform: translateX(-50%);
	}
	.section2__content__flex__text {
		width: 100%;
	}
	.highschool.course .section2__contents h3 {
		padding: calc(33 / 390 * 100vw) 0 calc(13 / 390 * 100vw);
	}
	.highschool.course .section2__contents h3 span {
		font-size: calc(24 / 390 * 100vw);
		letter-spacing: normal;
	}
	.highschool.course
		.section2__contents
		> div:nth-of-type(2)
		.section2__content__flex__text
		h3 {
		transform: translateY(0);
	}
	.highschool.course .section2__contents .section2__content__flex__text > p {
		padding: 0 calc(15 / 390 * 100vw);
	}
	.section2__content__boxes {
		padding: calc(18 / 390 * 100vw) 0 calc(0 / 390 * 100vw);
		gap: calc(15 / 390 * 100vw);
		justify-content: center;
	}
	.section2__content__boxes > div {
		width: calc(100 / 390 * 100vw);
		height: calc(92 / 390 * 100vw);
	}
	.section2__content__flex__image {
		width: 100% !important;
	}
	.course.highschool.cta {
		background-image: url(../images/highschool/cta-bg-sp.png);
		height: calc(899 / 390 * 100vw) !important;
	}
	.course.highschool.cta .cta__box {
		margin-top: calc(266 / 390 * 100vw);
	}
}

.section2.course.highschool.ees {
	margin-top: 0;
}
.section1.course.ees h1::after {
	background-image: url(../images/ees/1-icon.png);
	background-size: contain;
	background-repeat: no-repeat;
	width: 14.5rem;
	height: 10.7rem;
}
.section1.course.ees p {
	padding: 2.6rem 0 4.8rem;
}
.graph {
	padding-bottom: 10rem;
}
.section2.course.highschool.ees::before {
	display: none;
}
.section2.course.ees h2 {
	padding: 13rem 0 6rem;
}
.section2.course.highschool.ees h2::after {
	top: 10rem;
	background-image: url(../images/course2-icon2.png);
	background-size: contain;
	background-repeat: no-repeat;
	width: 78.6rem;
	height: 11.7rem;
}
.ees.course .section2__contents {
	padding: 0 0 3rem;
}
.ees .section2__content__flex {
	gap: 2.5rem;
}
.ees .section2__content__flex__text {
	width: 40rem;
}
.ees.course .section2__contents p {
	width: 37.5rem;
	margin: 0 auto;
}
.ees .section2__content__boxes {
	gap: 1.6rem;
	justify-content: center;
}
.ees.course .section2__contents > div::before {
	width: 37.1rem;
	height: 1.6rem;
	left: auto;
	right: 2.8rem;
	transform: unset;
}
.course.ees .section2__contents:nth-child(2) {
	gap: 2.8rem;
	padding-bottom: 10rem;
}
.course.ees .section2__contents:nth-child(2) > div {
	position: relative;
	width: 43.6rem;
	height: 46.5rem;
	padding: 2rem;
}
.course.ees .section2__contents:nth-child(2) > div::before {
	width: 39.5rem;
	height: 1.6rem;
	top: 1.2rem;
	left: 50%;
	transform: translateX(-50%);
}
.course.ees .section2__contents:nth-child(2) > div::after {
	background-image: url(../images/ees/ees-course2-2.png);
	background-size: contain;
	background-repeat: no-repeat;
	width: 43.6rem;
	height: 31.4rem;
	display: block;
}
.course.ees .section2__contents:nth-child(2) > div:nth-child(2):after {
	background-image: url(../images/ees/ees-course2-3.png);
	background-size: contain;
	background-repeat: no-repeat;
}
.course.ees .section2__contents:nth-child(2) > div:nth-of-type(1) h3 {
	transform: translateY(1.5rem);
}
.course.ees .section2__contents:nth-child(2) > div:nth-of-type(1) p {
	transform: translateY(3.5rem);
}
.course.ees .section2__contents:nth-child(2) p {
	width: 40rem;
	margin: 0 auto;
}
.section3__ees {
	background-color: #f5eedc;
	padding-bottom: 10rem;
}
.section3__ees h2 {
	font-size: 4.2rem;
	text-align: center;
	padding: 10rem 0 5rem;
}
.section3__ees__contents {
	display: flex;
	justify-content: space-between;
}
.section3__ees__contents > div {
	width: 34.8rem;
	height: 41.4rem;
	padding: 2.5rem 2.4rem 0;
	background-color: #ceae5a;
	color: #fff;
}
.section3__ees__contents > div h3 {
	font-size: 2.4rem;
	font-family: "Zen Old Mincho", serif;
	font-weight: 700;
	text-align: center;
}
.section3__ees__contents__image {
	padding: 2rem 0;
}
.section3__ees__contents2 {
	padding: 5rem;
	display: flex;
	justify-content: space-between;
	background-color: #fff;
}
.section3__ees__contents2 + .section3__ees__contents2 {
	margin-top: 3rem;
}
.section3__ees__contents2__image {
	width: 38.4rem;
}
.section3__ees__contents2__text {
	width: 56.6rem;
}
.section3__ees__contents2__text h3 {
	font-size: 3.8rem;
	font-family: "Zen Old Mincho", serif;
	font-weight: 700;
}
.section3__ees__contents2__text p:nth-of-type(1) {
	padding: 1.5rem 0 2.5rem;
	border-bottom: 1px solid #232323;
	font-weight: 500;
}
.section3__ees__contents2__text p:nth-of-type(2) {
	padding-top: 2rem;
}
.section4__ees h2 {
	font-size: 4.2rem;
	text-align: center;
	padding: 10rem 0 1rem;
}
.section4__ees p {
	text-align: center;
	padding-bottom: 5rem;
}
.section4__ees .btn2 {
	color: #232323;
	font-size: 1.8rem;
	font-weight: 500;
	border: 1px solid #232323;
	justify-content: center;
	width: 30rem;
	height: 6.5rem;
	padding: 0;
	box-shadow: none;
}
.section4__ees .btn2::after {
	background-image: url(../images/_blank-icon2.png);
	width: 2rem;
	height: 2rem;
}
.section4__ees__banner {
	display: block;
	width: 70rem;
	margin: 0 auto;
	padding: 7rem 0 10rem;
}
.section4__ees__banner.is-sp {
	display: none;
}
.course.ees.cta {
	background-image: url(../images/ees/cta-bg.png);
}
.section3__ees__contents.is-sp {
	display: none;
}
@media screen and (max-width: 1439px) {
	.section2.course.highschool.ees {
		margin-top: 0;
	}
	.section1.course.ees h1::after {
		width: calc(145 / 1440 * 100vw);
		height: calc(107 / 1440 * 100vw);
	}
	.section1.course.ees p {
		padding: calc(26 / 1440 * 100vw) 0 calc(48 / 1440 * 100vw);
	}
	.graph {
		padding-bottom: calc(100 / 1440 * 100vw);
	}
	.section2.course.ees h2 {
		padding: calc(130 / 1440 * 100vw) 0 calc(60 / 1440 * 100vw);
	}
	.section2.course.highschool.ees h2::after {
		top: calc(100 / 1440 * 100vw);
		width: calc(786 / 1440 * 100vw);
		height: calc(117 / 1440 * 100vw);
	}
	.ees.course .section2__contents {
		padding: 0 0 calc(30 / 1440 * 100vw);
	}
	.ees .section2__content__flex {
		gap: calc(25 / 1440 * 100vw);
	}
	.ees .section2__content__flex__text {
		width: calc(400 / 1440 * 100vw);
	}
	.ees.course .section2__contents p {
		width: calc(375 / 1440 * 100vw);
	}
	.ees .section2__content__boxes {
		gap: calc(16 / 1440 * 100vw);
	}
	.ees.course .section2__contents > div::before {
		width: calc(371 / 1440 * 100vw);
		height: calc(16 / 1440 * 100vw);
		right: calc(28 / 1440 * 100vw);
	}
	.course.ees .section2__contents:nth-child(2) {
		gap: calc(28 / 1440 * 100vw);
		padding-bottom: calc(100 / 1440 * 100vw);
	}
	.course.ees .section2__contents:nth-child(2) > div {
		width: calc(436 / 1440 * 100vw);
		height: calc(465 / 1440 * 100vw);
		padding: calc(20 / 1440 * 100vw);
	}
	.course.ees .section2__contents:nth-child(2) > div::before {
		width: calc(395 / 1440 * 100vw);
		height: calc(16 / 1440 * 100vw);
		top: calc(12 / 1440 * 100vw);
	}
	.course.ees .section2__contents:nth-child(2) > div::after {
		width: calc(436 / 1440 * 100vw);
		height: calc(314 / 1440 * 100vw);
	}
	.course.ees .section2__contents:nth-child(2) > div:nth-of-type(1) h3 {
		transform: translateY(calc(15 / 1440 * 100vw));
	}
	.course.ees .section2__contents:nth-child(2) > div:nth-of-type(1) p {
		transform: translateY(calc(35 / 1440 * 100vw));
	}
	.course.ees .section2__contents:nth-child(2) p {
		width: calc(400 / 1440 * 100vw);
		margin: 0 auto;
	}
	.section3__ees {
		padding-bottom: calc(100 / 1440 * 100vw);
	}
	.section3__ees h2 {
		font-size: calc(42 / 1440 * 100vw);
		padding: calc(100 / 1440 * 100vw) 0 calc(50 / 1440 * 100vw);
	}
	.section3__ees__contents > div {
		width: calc(348 / 1440 * 100vw);
		height: calc(414 / 1440 * 100vw);
		padding: calc(25 / 1440 * 100vw) calc(24 / 1440 * 100vw) 0;
	}
	.section3__ees__contents > div h3 {
		font-size: calc(24 / 1440 * 100vw);
	}
	.section3__ees__contents__image {
		padding: calc(20 / 1440 * 100vw) 0;
	}
	.section3__ees__contents2 {
		padding: calc(50 / 1440 * 100vw);
	}
	.section3__ees__contents2 + .section3__ees__contents2 {
		margin-top: calc(30 / 1440 * 100vw);
	}
	.section3__ees__contents2__image {
		width: calc(384 / 1440 * 100vw);
	}
	.section3__ees__contents2__text {
		width: calc(566 / 1440 * 100vw);
	}
	.section3__ees__contents2__text h3 {
		font-size: calc(38 / 1440 * 100vw);
	}
	.section3__ees__contents2__text p:nth-of-type(1) {
		padding: calc(15 / 1440 * 100vw) 0 calc(25 / 1440 * 100vw);
	}
	.section3__ees__contents2__text p:nth-of-type(2) {
		padding-top: calc(20 / 1440 * 100vw);
	}
	.section4__ees h2 {
		font-size: calc(42 / 1440 * 100vw);
		padding: calc(100 / 1440 * 100vw) 0 calc(10 / 1440 * 100vw);
	}
	.section4__ees p {
		padding-bottom: calc(50 / 1440 * 100vw);
	}
	.section4__ees .btn2 {
		width: calc(300 / 1440 * 100vw);
		height: calc(65 / 1440 * 100vw);
		font-size: calc(18 / 1440 * 100vw);
	}
	.section4__ees .btn2::after {
		width: calc(20 / 1440 * 100vw);
		height: calc(20 / 1440 * 100vw);
	}
	.section4__ees__banner {
		width: calc(700 / 1440 * 100vw);
		padding: calc(70 / 1440 * 100vw) 0 calc(100 / 1440 * 100vw);
	}
}
@media screen and (max-width: 767px) {
	.section2.course.highschool.ees {
		margin-top: 0;
	}
	.section1.course.ees h1::after {
		width: calc(81 / 390 * 100vw);
		height: calc(60 / 390 * 100vw);
		top: calc(35 / 390 * 100vw);
	}
	.section1.course.ees p {
		padding: calc(20 / 390 * 100vw) 0 calc(25 / 390 * 100vw);
	}
	.graph {
		padding-bottom: calc(30 / 390 * 100vw);
	}
	.section2.course.ees h2 {
		padding: calc(55 / 390 * 100vw) 0 calc(20 / 390 * 100vw);
	}
	.section2.course.highschool.ees h2::after {
		background-image: url(../images/course2-icon-sp.png);
		width: calc(385 / 390 * 100vw);
		height: calc(106 / 390 * 100vw);
		top: calc(40 / 390 * 100vw);
	}
	.ees .section2__content__flex__text {
		width: 100%;
	}
	.ees.course .section2__contents {
		padding: 0 0 calc(20 / 390 * 100vw);
	}
	.ees.course .section2__contents p {
		width: 100%;
	}
	.course.ees .section2__contents:nth-child(2) p{
		width: 100%;
		transform: unset;
	}
	.ees.course .section2__contents .section2__content__flex__text > p {
		letter-spacing: -0.01em;
	}
	.ees.course .section2__contents > div::before,
	.course.ees .section2__contents:nth-child(2) > div::before {
		width: calc(331 / 390 * 100vw);
		height: calc(13 / 390 * 100vw);
		top: calc(10 / 390 * 100vw);
		left: 50%;
		transform: translateX(-50%);
	}
	.ees .section2__content__flex {
		gap: 0;
	}
	.ees .section2__content__boxes {
		gap: calc(15 / 390 * 100vw);
	}
	.course.ees .section2__contents:nth-child(2) {
		gap: calc(20 / 390 * 100vw);
		padding-bottom: calc(20 / 390 * 100vw);
	}
	.course.ees .section2__contents:nth-child(2) > div {
		width: 100%;
		height: calc(396 / 390 * 100vw);
		padding: calc(15 / 390 * 100vw);
	}
	.ees.course .section2__contents:nth-child(2) h3 {
		padding: calc(20 / 390 * 100vw) 0 calc(13 / 390 * 100vw);
	}
	.course.ees .section2__contents:nth-child(2) > div::after {
		background-image: url(../images/ees/ees-course2-2-sp.png);
		width: calc(360 / 390 * 100vw);
		height: calc(246 / 390 * 100vw);
	}
	.course.ees .section2__contents:nth-child(2) > div:nth-child(2):after {
		background-image: url(../images/ees/ees-course2-3-sp.png);
	}
	.section3__ees h2 {
		font-size: calc(28 / 390 * 100vw);
		padding: calc(50 / 390 * 100vw) 0 calc(20 / 390 * 100vw);
	}
	.section3__ees__contents.is-pc {
		display: none;
	}
	.section3__ees__contents.is-sp {
		display: flex;
	}
	.section3__ees__contents {
		flex-direction: column;
		gap: calc(30 / 390 * 100vw);
	}
	.section3__ees__contents > div {
		width: 100%;
		height: auto;
		padding: calc(25 / 390 * 100vw) calc(15 / 390 * 100vw)
			calc(25 / 390 * 100vw);
	}
	.section3__ees__contents > div h3 {
		font-size: calc(22 / 390 * 100vw);
	}
	.section3__ees__contents p {
		padding: calc(15 / 390 * 100vw) 0 calc(20 / 390 * 100vw);
	}
	.section3__ees__contents__image {
		padding: 0;
	}
	.section3__ees__contents2 {
		flex-direction: column;
		padding: calc(30 / 390 * 100vw) calc(20 / 390 * 100vw);
	}
	.section3__ees__contents2 + .section3__ees__contents2 {
		margin-top: calc(20 / 390 * 100vw);
	}
	.section3__ees__contents2__text {
		display: flex;
		flex-direction: column;
		width: 100%;
	}
	.section3__ees__contents2__text h3 {
		font-size: calc(22 / 390 * 100vw);
		text-align: center;
		padding-bottom: calc(20 / 390 * 100vw);
	}
	.section3__ees__contents2__image {
		width: 100%;
	}
	.section3__ees__contents2__text p:nth-of-type(1) {
		padding: calc(20 / 390 * 100vw) 0 calc(15 / 390 * 100vw);
	}
	.section3__ees__contents2__text p:nth-of-type(2) {
		padding-top: calc(15 / 390 * 100vw);
	}
	.section3__ees {
		padding-bottom: calc(50 / 390 * 100vw);
	}
	.section4__ees h2 {
		font-size: calc(28 / 390 * 100vw);
		padding: calc(50 / 390 * 100vw) 0 calc(20 / 390 * 100vw);
	}
	.section4__ees p {
		text-align: left;
		padding-bottom: calc(30 / 390 * 100vw);
	}
	.section4__ees .btn2 {
		font-size: calc(16 / 390 * 100vw);
		width: calc(280 / 390 * 100vw);
		height: calc(55 / 390 * 100vw);
	}
	.section4__ees .btn::after {
		width: calc(20 / 390 * 100vw);
		height: calc(20 / 390 * 100vw);
		right: calc(10 / 390 * 100vw);
	}
	.section4__ees__banner.is-pc {
		display: none;
	}
	.section4__ees__banner.is-sp {
		display: block;
		width: 100%;
		padding: calc(50 / 390 * 100vw) 0 0;
	}
	.course.ees.cta {
		background-image: url(../images/ees/cta-bg-sp.png);
	}
	.course.ees.cta .cta__text {
		width: 100%;
		padding: calc(50 / 390 * 100vw) 0;
	}
	.course.ees.cta .cta__box {
		margin-top: calc(248 / 390 * 100vw);
	}
}

.section1.course.examscourse h1::after {
	background-image: url(../images/examscourse/1-icon.png);
	background-size: contain;
	background-repeat: no-repeat;
	width: 9rem;
	height: 10.7rem;
}
.course.examscourse .section2__contents > div::after {
	background-image: url(../images/examscourse/examscourse-course2-1.png);
}
.course.examscourse .section2__contents > div:nth-child(2)::after {
	background-image: url(../images/examscourse/examscourse-course2-2.png);
}
.course.examscourse .section2__contents > div:nth-child(3)::after {
	background-image: url(../images/examscourse/examscourse-course2-3.png);
}
.course.examscourse.cta {
	background-image: url(../images/examscourse/cta-bg.png);
}
@media screen and (max-width: 1439px) {
	.section1.course.examscourse h1::after {
		width: calc(90 / 1440 * 100vw);
		height: calc(107 / 1440 * 100vw);
	}
}
@media screen and (max-width: 767px) {
	.section1.course.examscourse h1::after {
		width: calc(44 / 390 * 100vw);
		height: calc(52 / 390 * 100vw);
		top: calc(40 / 390 * 100vw);
	}
	.course.examscourse .section2__contents > div {
		width: 100%;
		height: calc(506 / 390 * 100vw);
		padding: calc(15 / 390 * 100vw);
	}
	.course.examscourse .section2__contents > div::after {
		background-image: url(../images/examscourse/examscourse-course2-1-sp.png);
		width: calc(360 / 390 * 100vw);
		height: calc(330 / 390 * 100vw);
	}
	.course.examscourse .section2__contents > div:nth-child(2)::after {
		background-image: url(../images/examscourse/examscourse-course2-2-sp.png);
	}
	.course.examscourse .section2__contents > div:nth-child(3)::after {
		background-image: url(../images/examscourse/examscourse-course2-3-sp.png);
	}
	.course.examscourse.cta {
		background-image: url(../images/examscourse/cta-bg-sp.png);
	}
	.course.examscourse.cta .cta__box {
		margin-top: calc(331 / 390 * 100vw);
	}
}

.section1.course.contact h1::after {
	background-image: url(../images/contact/1-icon.png);
	background-size: contain;
	background-repeat: no-repeat;
	width: 11.1rem;
	height: 7.4rem;
}
.section1.course.contact p {
	padding: 2.6rem 0 25rem;
}
.section1.course.contact {
	position: relative;
}
.section1.course.contact::after {
	position: absolute;
	content: "";
	background-image: url(../images/contact/contact1-2.png);
	background-size: contain;
	background-repeat: no-repeat;
	width: 90rem;
	height: 43.2rem;
	bottom: -26rem;
	left: 50%;
	transform: translateX(-50%);
}
.contact__section2 {
	border-bottom: 1px solid #d9d9d9;
}
.contact__section2 h2 {
	padding: 31rem 0 2rem;
	font-size: 3.8rem;
	color: #ceae5a;
	text-align: center;
}
.contact__section2 p {
	font-weight: 500;
	padding-bottom: 7rem;
}
.contact__section2 span {
	font-size: 1.4rem;
	font-weight: 400;
}
.contact__section3 h2 {
	padding: 10rem 0 4.4rem;
	font-size: 4.2rem;
	text-align: center;
}
.contact__section3__flow {
	display: flex;
	justify-content: space-between;
	padding-bottom: 10rem;
}
.contact__section3__flow > div {
	position: relative;
	width: 21.3rem;
	height: 25rem;
	background-color: #f5eedc;
	padding: 1rem 1.5rem;
}
.contact__section3__flow > div::after {
	position: absolute;
	content: "";
	background-image: url(../images/contact/flow.png);
	background-size: contain;
	background-repeat: no-repeat;
	width: 2.3rem;
	height: 4rem;
	bottom: 7.8rem;
	right: -3.8rem;
}
.contact__section3__flow > div:last-of-type:after {
	display: none;
}
.contact__section3__flow .step {
	text-align: center;
	color: #ceae5a;
	font-family: "Zen Old Mincho", serif;
	font-weight: 700;
}
.contact__section3__flow h3 {
	font-size: 2rem;
	text-align: center;
	font-family: "Zen Old Mincho", serif;
	font-weight: 700;
	padding-bottom: 1rem;
	border-bottom: 1px solid #232323;
}
.contact__section3__flow p:last-of-type {
	font-size: 1.6rem;
	padding-top: 1.2rem;
}
.contact.common__contact {
	background-color: #f5eedc;
}
.contact .common__contact__contents {
	padding: 7rem 0;
}
.contact .common__contact__contents h2 {
	font-size: 4.2rem;
}
.contact .common__contact__contents::after {
	display: none;
}
.contact .common__contact__contents2 {
	background-color: #fff;
}
@media screen and (max-width: 1439px) {
	.section1.course.contact h1::after {
		width: calc(111 / 1440 * 100vw);
		height: calc(74 / 1440 * 100vw);
	}
	.section1.course.contact p {
		padding: calc(26 / 1440 * 100vw) 0 calc(250 / 1440 * 100vw);
	}
	.section1.course.contact::after {
		width: calc(900 / 1440 * 100vw);
		height: calc(432 / 1440 * 100vw);
		bottom: calc(-260 / 1440 * 100vw);
	}
	.contact__section2 h2 {
		padding: calc(310 / 1440 * 100vw) 0 calc(20 / 1440 * 100vw);
		font-size: calc(38 / 1440 * 100vw);
	}
	.contact__section2 p {
		padding-bottom: calc(70 / 1440 * 100vw);
	}
	.contact__section2 span {
		font-size: calc(14 / 1440 * 100vw);
	}
	.contact__section3 h2 {
		padding: calc(100 / 1440 * 100vw) 0 calc(44 / 1440 * 100vw);
		font-size: calc(42 / 1440 * 100vw);
	}
	.contact__section3__flow {
		padding-bottom: calc(100 / 1440 * 100vw);
	}
	.contact__section3__flow > div {
		width: calc(213 / 1440 * 100vw);
		height: calc(250 / 1440 * 100vw);
		padding: calc(10 / 1440 * 100vw) calc(15 / 1440 * 100vw);
	}
	.contact__section3__flow > div::after {
		width: calc(23 / 1440 * 100vw);
		height: calc(40 / 1440 * 100vw);
		bottom: calc(78 / 1440 * 100vw);
		right: calc(-38 / 1440 * 100vw);
	}
	.contact__section3__flow h3 {
		font-size: calc(20 / 1440 * 100vw);
		padding-bottom: calc(10 / 1440 * 100vw);
	}
	.contact__section3__flow p:last-of-type {
		font-size: calc(16 / 1440 * 100vw);
		padding-top: calc(12 / 1440 * 100vw);
	}
	.contact .common__contact__contents {
		padding: calc(70 / 1440 * 100vw) 0;
	}
	.contact .common__contact__contents h2 {
		font-size: calc(42 / 1440 * 100vw);
	}
}
@media screen and (max-width: 767px) {
	.section1.course h1 {
		padding: calc(100 / 390 * 100vw) 0 calc(20 / 390 * 100vw);
		line-height: 1.2;
	}
	.section1.course.contact h1::after {
		width: calc(61 / 390 * 100vw);
		height: calc(41 / 390 * 100vw);
		top: calc(50 / 390 * 100vw);
	}
	.section1.course.contact p {
		padding: calc(20 / 390 * 100vw) 0 calc(100 / 390 * 100vw);
	}
	.section1.course.contact::after {
		background-image: url(../images/contact/contact1-2-sp.png);
		width: calc(330 / 390 * 100vw);
		height: calc(277 / 390 * 100vw);
		bottom: calc(-225 / 390 * 100vw);
	}
	.contact__section2 h2 {
		padding: calc(260 / 390 * 100vw) 0 calc(15 / 390 * 100vw);
		font-size: calc(22 / 390 * 100vw);
	}
	.contact__section2 p {
		width: calc(330 / 390 * 100vw);
		margin: 0 auto;
	}
	.contact__section2 span {
		font-size: calc(12 / 390 * 100vw);
	}
	.contact__section3 h2 {
		padding: calc(40 / 390 * 100vw) 0 calc(22 / 390 * 100vw);
		font-size: calc(28 / 390 * 100vw);
	}
	.contact__section3__flow {
		flex-direction: column;
		gap: calc(30 / 390 * 100vw);
		padding-bottom: calc(50 / 390 * 100vw);
	}
	.contact__section3__flow > div {
		width: 100%;
		height: auto;
		padding: calc(10 / 390 * 100vw) calc(15 / 390 * 100vw)
			calc(15 / 390 * 100vw);
	}
	.contact__section3__flow > div::after {
		width: calc(23 / 390 * 100vw);
		height: calc(40 / 390 * 100vw);
		bottom: calc(-36 / 390 * 100vw);
		left: 50%;
		right: auto;
		transform: translateX(-50%) rotate(90deg);
	}
	.contact__section3__flow .step {
		font-size: calc(18 / 390 * 100vw);
	}
	.contact__section3__flow h3 {
		font-size: calc(18 / 390 * 100vw);
		padding-bottom: calc(10 / 390 * 100vw);
	}
	.contact__section3__flow p:last-of-type {
		font-size: calc(14 / 390 * 100vw);
		padding-top: calc(10 / 390 * 100vw);
	}
	.contact .common__contact__contents {
		padding: calc(50 / 390 * 100vw) calc(15 / 390 * 100vw);
	}
	.contact .common__contact__contents h2 {
		font-size: calc(26 / 390 * 100vw);
	}
}

.wpcf7.js {
	width: 74.5rem;
	margin: 0 auto;
}
.contact-form .form-row {
	display: flex;
	align-items: flex-start;
	gap: 4.5rem;
	padding: 1.5rem 0;
}
.contact-form .form-label {
	width: 25rem;
	font-size: 1.8rem;
	font-weight: 500;
	text-align: left;
}
.contact-form .req {
	background: #ceae5a;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 500;
	padding: 0 0.3rem;
	margin-left: 1.5rem;
}
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form select,
.contact-form textarea {
	width: 45rem;
	height: 4rem;
	padding: 0.8rem 1.2rem;
	border: 1px solid #d9d9d9;
	border-radius: 0.3rem;
	background: #fff;
	color: #232323;
	font-size: 1.6rem;
	font-weight: 500;
	box-sizing: border-box;
}
.contact-form select {
	width: 25rem;
}
.contact-form textarea {
	height: 10rem;
}
input[type="radio"] {
	width: 2rem;
	height: 2rem;
}
.contact-form .wpcf7-list-item label {
	font-size: 1.6rem;
	color: #3a3a3a;
}
span.wpcf7-form-control.wpcf7-radio {
	width: 45rem;
	display: flex;
	gap: 1.5rem 5rem;
	flex-wrap: wrap;
}
span.wpcf7-form-control.wpcf7-radio label {
	display: flex;
	align-items: center;
	gap: 1rem;
	font-weight: 500;
}
.contact-form .select .wpcf7-form-control-wrap {
	position: relative;
}
.contact-form .select .wpcf7-form-control-wrap::after {
	content: "";
	position: absolute;
	right: 1rem;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	width: 0;
	height: 0;
	border-left: 0.8rem solid transparent;
	border-right: 0.8rem solid transparent;
	border-top: 1rem solid #232323;
}
.address-fields {
	display: flex;
	flex-direction: column;
	gap: 1.6rem;
	width: 45rem;
}
.zip-row {
	display: flex;
	align-items: center;
	gap: 1rem;
}
.zip-mark {
	font-size: 1.6rem;
}
.zip-input {
	width: 15rem !important;
	height: 4rem !important;
	font-size: 1.6rem;
}
.auto-btn {
	height: 2rem;
	padding: 0 0.7rem;
	background: #232323;
	border: none;
	font-size: 1.4rem;
	color: #fff;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}
.addr-input {
	width: 45rem !important;
	height: 4rem !important;
	font-size: 1.6rem;
}
.submit-row {
	justify-content: center;
	padding-top: 4rem;
	margin-top: 3.5rem;
	width: fit-content;
	margin: 0 auto;
	position: relative;
}
.submit-row .btn3 {
	background: #ceae5a;
	color: #fff;
	font-size: 2rem;
}
.submit-row::after {
	content: "";
	position: absolute;
	background-image: url(../images/btn-icon.png);
	background-size: contain;
	background-repeat: no-repeat;
	width: 3rem;
	height: 3rem;
	right: 2rem;
	top: 50%;
	transform: translateY(-50%);
}
.back-row .btn {
	border: 1px solid #a3a3a3;
}
.back-row::after {
	background-image: url(../images/btn-icon3.png);
	left: 2rem;
	transform: translateY(-50%) rotate(180deg);
}
.wpcf7-spinner,
.wpcf7-response-output {
	display: none;
}
.form-row.submit-row {
	padding: 0;
	margin-top: 5rem;
}
.common__contact.contact.confirm {
	padding: 18rem 0 10rem;
}
.confirm .common__contact__contents > p {
	font-size: 2rem;
	font-weight: 500;
}
.confirm-value {
	width: 40rem;
	font-size: 1.8rem;
	font-weight: 500;
	text-align: left;
}
.confirm .form-row.submit-row {
	margin: 5rem 0 0;
	padding: 0;
	width: 100%;
	gap: unset;
	justify-content: space-between;
}
.confirm .form-row.submit-row > .submit-row {
	width: fit-content;
	margin: 0;
}
.contact-form .form-row.submit-row > .btn::after,
.confirm-page > .submit-row::after {
	display: none;
}
.thanks {
	padding: 18rem 0 7rem;
}
.thanks__text p {
	font-weight: 500;
	padding: 4.5rem 0 7rem;
}
.thanks__text h2 {
	font-size: 3.8rem;
	text-align: center;
}
.thanks__text a {
	color: #1a58b4;
}
.thanks .common__contact__contents > a {
	font-size: 2.4rem;
	font-weight: 600;
	color: #ceae5a;
	width: fit-content;
	margin: 0 auto;
	display: block;
}
@media screen and (max-width: 1439px) {
	.wpcf7.js {
		width: calc(745 / 1440 * 100vw);
	}
	.contact-form .form-row {
		gap: calc(45 / 1440 * 100vw);
		padding: calc(15 / 1440 * 100vw) 0;
	}
	.contact-form .form-label {
		width: calc(250 / 1440 * 100vw);
		font-size: calc(18 / 1440 * 100vw);
	}
	.contact-form .req {
		font-size: calc(14 / 1440 * 100vw);
		padding: 0 calc(3 / 1440 * 100vw);
		margin-left: calc(15 / 1440 * 100vw);
	}
	.contact-form input[type="text"],
	.contact-form input[type="email"],
	.contact-form input[type="tel"],
	.contact-form select,
	.contact-form textarea {
		width: calc(450 / 1440 * 100vw);
		height: calc(40 / 1440 * 100vw);
		padding: calc(8 / 1440 * 100vw) calc(12 / 1440 * 100vw);
		font-size: calc(16 / 1440 * 100vw);
	}
	.contact-form select {
		width: calc(250 / 1440 * 100vw);
	}
	.contact-form textarea {
		height: calc(100 / 1440 * 100vw);
	}
	input[type="radio"] {
		width: calc(20 / 1440 * 100vw);
		height: calc(20 / 1440 * 100vw);
	}
	.contact-form .wpcf7-list-item label {
		font-size: calc(16 / 1440 * 100vw);
	}
	span.wpcf7-form-control.wpcf7-radio {
		width: calc(450 / 1440 * 100vw);
		gap: calc(15 / 1440 * 100vw) calc(50 / 1440 * 100vw);
	}
	span.wpcf7-form-control.wpcf7-radio label {
		gap: calc(10 / 1440 * 100vw);
	}
	.contact-form .select .wpcf7-form-control-wrap::after {
		right: calc(10 / 1440 * 100vw);
		border-left: calc(8 / 1440 * 100vw) solid transparent;
		border-right: calc(8 / 1440 * 100vw) solid transparent;
		border-top: calc(10 / 1440 * 100vw) solid #232323;
	}
	.address-fields {
		gap: calc(16 / 1440 * 100vw);
		width: calc(450 / 1440 * 100vw);
	}
	.zip-row {
		gap: calc(10 / 1440 * 100vw);
	}
	.zip-mark {
		font-size: calc(16 / 1440 * 100vw);
	}
	.zip-input {
		width: calc(150 / 1440 * 100vw) !important;
		height: calc(40 / 1440 * 100vw) !important;
		font-size: calc(16 / 1440 * 100vw);
	}
	.auto-btn {
		height: calc(20 / 1440 * 100vw);
		padding: 0 calc(7 / 1440 * 100vw);
		font-size: calc(14 / 1440 * 100vw);
	}
	.addr-input {
		width: calc(450 / 1440 * 100vw) !important;
		height: calc(40 / 1440 * 100vw) !important;
		font-size: calc(16 / 1440 * 100vw);
	}
	.submit-row {
		padding-top: calc(40 / 1440 * 100vw);
		margin-top: calc(35 / 1440 * 100vw);
	}
	.submit-row::after {
		width: calc(30 / 1440 * 100vw);
		height: calc(30 / 1440 * 100vw);
		right: calc(20 / 1440 * 100vw);
	}
	.back-row::after {
		left: calc(20 / 1440 * 100vw);
	}
	.form-row.submit-row {
		margin-top: calc(50 / 1440 * 100vw);
	}
	.common__contact.contact.confirm {
		padding: calc(180 / 1440 * 100vw) 0 calc(100 / 1440 * 100vw);
	}
	.confirm-value {
		width: calc(400 / 1440 * 100vw);
		font-size: calc(18 / 1440 * 100vw);
	}
	.confirm .form-row.submit-row {
		margin: calc(50 / 1440 * 100vw) 0 0;
	}
	.thanks {
		padding: calc(180 / 1440 * 100vw) 0 calc(70 / 1440 * 100vw);
	}
	.thanks__text p {
		padding: calc(45 / 1440 * 100vw) 0 calc(70 / 1440 * 100vw);
	}
	.thanks__text h2 {
		font-size: calc(38 / 1440 * 100vw);
	}
	.thanks .common__contact__contents > a {
		font-size: calc(24 / 1440 * 100vw);
	}
}
@media screen and (max-width: 767px) {
	.wpcf7.js {
		width: 100%;
	}
	.contact-form .form-row {
		gap: calc(10 / 390 * 100vw);
		padding: calc(5 / 390 * 100vw) 0;
		flex-direction: column;
	}
	.contact-form .form-label {
		width: calc(250 / 390 * 100vw);
		font-size: calc(14 / 390 * 100vw);
	}
	.contact-form .req {
		font-size: calc(12 / 390 * 100vw);
		padding: 0 calc(3 / 390 * 100vw);
		margin-left: calc(10 / 390 * 100vw);
	}
	.contact-form .wpcf7-list-item label {
		font-size: calc(14 / 390 * 100vw);
	}
	.contact-form input[type="text"],
	.contact-form input[type="email"],
	.contact-form input[type="tel"],
	.contact-form select,
	.contact-form textarea {
		width: 100%;
		height: calc(30 / 390 * 100vw);
		padding: calc(5 / 390 * 100vw) calc(12 / 390 * 100vw);
		font-size: calc(14 / 390 * 100vw);
	}
	span.wpcf7-form-control.wpcf7-radio {
		width: 100%;
		gap: calc(5 / 390 * 100vw) calc(15 / 390 * 100vw);
	}
	input[type="radio"] {
		width: calc(15 / 390 * 100vw);
		height: calc(15 / 390 * 100vw);
	}
	span.wpcf7-form-control.wpcf7-radio label {
		gap: calc(8 / 390 * 100vw);
	}
	.contact-form select {
		width: calc(170 / 390 * 100vw);
	}
	.contact-form .select .wpcf7-form-control-wrap::after {
		right: calc(10 / 390 * 100vw);
		border-left: calc(8 / 390 * 100vw) solid transparent;
		border-right: calc(8 / 390 * 100vw) solid transparent;
		border-top: calc(10 / 390 * 100vw) solid #232323;
	}
	.address-fields {
		width: 100%;
		gap: calc(10 / 390 * 100vw);
	}
	.auto-btn {
		height: calc(18 / 390 * 100vw);
		padding: 0 calc(6 / 390 * 100vw);
		font-size: calc(12 / 390 * 100vw);
	}
	.addr-input {
		width: 100% !important;
		height: calc(30 / 390 * 100vw) !important;
		font-size: calc(14 / 390 * 100vw);
	}
	.zip-row {
		gap: calc(10 / 390 * 100vw);
	}
	.zip-input {
		width: calc(100 / 390 * 100vw) !important;
		height: calc(30 / 390 * 100vw) !important;
		font-size: calc(14 / 390 * 100vw);
	}
	.contact-form textarea {
		height: calc(90 / 390 * 100vw);
	}
	.submit-row .btn3 {
		font-size: calc(16 / 390 * 100vw);
	}
	.submit-row::after {
		width: calc(20 / 390 * 100vw);
		height: calc(20 / 390 * 100vw);
		right: calc(30 / 390 * 100vw);
	}
	.form-row.submit-row {
		margin-top: calc(50 / 390 * 100vw);
	}
	.common__contact.contact.confirm {
		padding: calc(80 / 390 * 100vw) 0 calc(30 / 390 * 100vw);
	}
	.confirm .common__contact__contents > p {
		width: 100%;
		text-align: center;
		font-size: calc(16 / 390 * 100vw);
	}
	.confirm-value {
		width: 100%;
		font-size: calc(14 / 390 * 100vw);
	}
	.confirm .form-row.submit-row {
		margin: calc(30 / 390 * 100vw) 0 0;
		align-items: center;
	}
	.back-row .btn {
		font-size: calc(16 / 390 * 100vw);
	}
	.thanks__text h2 {
		font-size: calc(26 / 390 * 100vw);
	}
	.thanks__text p {
		text-align: center;
		padding: calc(20 / 390 * 100vw) 0;
	}
	.thanks .common__contact__contents > a {
		font-size: calc(18 / 390 * 100vw);
	}
}
