@charset "UTF-8";

@font-face {
	font-family: 'MontreuxGS';
	src: url('../fonts/MontreuxGS-DmBd.otf') format('opentype');
	font-weight: 700;
	font-style: normal;
}

@font-face {
	font-family: 'MontreuxGS';
	src: url('../fonts/MontreuxGS-UltTh.otf') format('opentype');
	font-weight: 100;
	font-style: normal;
}

@font-face {
	font-family: 'EmojiOneColor';
	src: url('../fonts/EmojiOneColor.otf') format('opentype');
	font-weight: normal;
	font-style: normal;
}

@keyframes slowVerticalBounce {

	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-4px);
	}
}

@keyframes slowBounce {

	0%,
	100% {
		transform: scale(1);
	}

	40% {
		transform: scale(0.95);
	}

	60% {
		transform: scale(0.97);
	}
}

:root {
	--scale: 1;
}

@media screen and (min-width: 700px) {
	:root {
		--scale: 1;
	}
}

body {
	font-family: "kozuka-gothic-pr6n", sans-serif;
	font-weight: 300;
	font-size: calc(12px * var(--scale));
	line-height: 1.4;
	color: #000;
	background: #fff;
	letter-spacing: 0;
}

img {
	width: 100%;
	display: block;
}

h2,
h3 {
	line-height: 1.2;
}

.flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

.flex.reverse {
	flex-direction: row-reverse;
}

a {
	transition: all .6s;
}

a:hover {
	opacity: .8;
}

.fade-up {
	opacity: 0;
	transform: translateY(50px);
	transition: opacity 0.7s ease, transform 0.7s ease;
}

.fade-up.show {
	opacity: 1;
	transform: translateY(0);
}

.montre {
	font-family: 'MontreuxGS', sans-serif;
	font-weight: 700;
}

.emoji {
	font-family: 'EmojiOneColor', sans-serif;
}

.inner {
	max-width: 100%;
	width: calc(100% - calc(40px * var(--scale)));
	margin: 0 auto;
}

.lp-cont {
	background: #fff;
	max-width: 375px;
	margin: 0 auto;
	overflow: hidden;
	padding-top: 99px;
	position: relative;
	z-index: 1;
}

header.pc {
	background: #fff;
	z-index: 2;
	position: fixed;
	width: 100%;
}

.header-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 0;
	width: calc(100% - 120px);
}

.header-logo {
	width: 300px;
}

.header-btn {
	width: calc(150px * var(--scale));
}

.header-btn a {
	transition: all .4s;
	box-shadow: 1px 1px 1px rgba(59, 59, 59, .5);
	border-radius: 10px;
	display: block;
}

.header-btn a:hover {
	box-shadow: none;
	transform: translateX(1px)translateY(2px);
}

section {
	padding: calc(40px * var(--scale)) 0;
}

.fv {
	padding: 0;
}

.fixed-cont {
	position: fixed;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	bottom: 0px;
	padding: 10px 0;
	width: 100%;
	z-index: 10;
	opacity: 0;
	visibility: hidden;
	transition: all .4s;
	background-image: url(../img/fixed_bg.webp);
	background-position: center top;
	background-size: cover;
	max-width: 375px;
}

.fixed-cont .inner {
	max-width: 375px;
	margin: 0 auto;
}

.fixed-cont .cta-cont {
	width: 48%;
	box-shadow: 1px 1px 0 rgba(59, 59, 59, 1);
	border-radius: 9px;
	transition: all .4s;
}

.fixed-cont .cta-cont:hover {
	box-shadow: none;
	transform: translateX(1px)translateY(2px);
	opacity: 1 !important;
}

.fixed-cont .cta-con a:hover {
	opacity: 1 !important;
}

.fixed-cont.active {
	opacity: 1;
	visibility: visible;
}

.fixed-cont.hide {
	opacity: 0;
	visibility: hidden;
}

.cta-conts {
	padding: 10px 0;
	width: 100%;
	transition: all .4s;
	background-image: url(../img/cta_bg.webp);
	background-position: center top;
	background-size: cover;
}

.cta-conts .inner {
	max-width: 375px;
	margin: 0 auto;
}

.cta-conts .cta-cont {
	width: 48%;
	box-shadow: 1px 1px 0 rgba(59, 59, 59, 1);
	border-radius: 9px;
	transition: all .4s;
	animation: slowBounce 2s cubic-bezier(.68, -0.55, .27, 1.55) infinite;
}

.cta-conts .cta-cont:hover {
	box-shadow: none;
	transform: translateX(1px)translateY(2px);
	opacity: 1 !important;
}

.cta-cont a:hover {}

.schedule-box {
	margin-bottom: calc(10px * var(--scale));
}

.schedule-box-top {
	padding:
		calc(25px * var(--scale)) calc(10px * var(--scale)) calc(15px * var(--scale));
	position: relative;
	background: #e54041;
}

.schedule-box-top .bg {
	position: absolute;
	width: 100%;
	top: 10px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	width: 80%;
}

.schedule-box-top-title {
    text-align: center;
    margin-bottom: calc(15px * var(--scale));
    position: relative;
    z-index: 1;
}

/* 直書きテキスト 'SCHEDULE' (h2タグ) のスタイルを定義 */
.schedule-box-top-title h2 {
    font-size: calc(30px * var(--scale));
    color: #fff;
    margin: 0 auto calc(10px * var(--scale));
    font-weight: 700;
    line-height: 1.2;
}

.schedule-box-top-title p {
    font-size: calc(18px * var(--scale));
    color: #fff;
    padding-bottom: calc(2.5px * var(--scale));
    position: relative;
}

.schedule-box-top-title p::before {
	content: "";
	height: 1px;
	width: calc(20px * var(--scale));
	border-radius: 5px;
	background: #fff;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	bottom: 0;
	position: absolute;
}

.schedule-days {
	position: relative;
	z-index: 1;
}

.schedule-days ul {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0px calc(10px * var(--scale));
	justify-items: center;
}

.schedule-days ul li {
	padding-block: calc(5px * var(--scale));
	border-radius: 5px;
	background: #fff;
	box-shadow: 2px 2px 0px #f8ef61;
	width: calc(150px * var(--scale));
}

.schedule-day-tag {
	width: calc(45px * var(--scale));
	margin: 0 auto calc(5px * var(--scale));
	border-radius: 100px;
	background: #1B4D2E;
	text-align: center;
}

.schedule-days ul li:nth-child(3) .schedule-day-tag {
	background: #FF0000;
}

.schedule-day-tag p {
	color: #fff;
	font-size: calc(12px * var(--scale));
	display: block;
	line-height: 1.4;
}

.schedule-day-num {
	text-align: center;
}

.schedule-day-num p.days {
	font-size: calc(18px * var(--scale));
	line-height: 1;
	padding-bottom: calc(2.5px * var(--scale));
}

.schedule-day-num p.time {
	font-size: calc(10px * var(--scale));
	line-height: 1;
}

.schedule-box-bottom {
	position: relative;
	z-index: 1;
}

.caution-txt p {
	font-size: calc(12px * var(--scale));
	text-indent: -1em;
	padding-left: 1em;
}

.arrow-img {
	width: calc(90px * var(--scale));
	margin: calc(30px * var(--scale)) auto;
}

.reserve-cont {
	margin-bottom: calc(70px * var(--scale));
	position: relative;
}

.online-reserve-btn {
	position: absolute;
	left: calc(20px * var(--scale));
	width: 195px;
	bottom: calc(25px * var(--scale));
}

.online-reserve-btn a {
	border-radius: 5px;
	box-shadow: 2px 2px 3px rgba(115, 115, 115, .25);
	display: block;
	transition: all .4s;
	animation: slowVerticalBounce 1s ease-in-out infinite;
}

.online-reserve-btn a:hover {
	transform: translateX(2px)translateY(3px);
}

.program {
	background: #e54041;
	padding-block: 0;
}

.program .inner {
	position: relative;
	top: calc(-35px * var(--scale));
}

.cmn-title {
	margin-block: 0 calc(30px * var(--scale));
	padding-inline: calc(10px * var(--scale));
}

.program-list li {
	background: #fff;
	border-radius: 10px;
	padding: calc(20px * var(--scale)) calc(10px * var(--scale)) calc(10px * var(--scale));
	margin-bottom: calc(20px * var(--scale));
}

.program-list li:last-child {
	margin-bottom: 0;
}

.program-box-num {
	text-align: center;
	margin-bottom: calc(5px * var(--scale));
}

.program-box-num span {
	font-size: calc(10px * var(--scale));
	color: #e54041;
}

.program-box-num p {
	font-size: calc(20px * var(--scale));
	color: #e54041;
	line-height: 1;
}

.program-list li:nth-child(even) .program-box-num p,
.program-list li:nth-child(even) .program-box-num span {
	color: #E9546B;
}

.program-box-title {
	text-align: center;
	margin-bottom: calc(20px * var(--scale));
}

.program-box-title h3 {
	display: inline-block;
	font-weight: 700;
	font-size: calc(18px * var(--scale));
	line-height: 1.5;
	background: linear-gradient(transparent 60%, #E8F5E9 40%);
}

.program-list li:nth-child(even) .program-box-title h3 {
	background: linear-gradient(transparent 60%, #FCECE8 40%);
}

.program-box-img {
	margin-bottom: calc(10px * var(--scale));
}

.program-box-txt p {
	font-size: calc(10px * var(--scale));
	font-weight: 500;
	line-height: 1.8;
	text-indent: -1em;
	padding-left: 1em;
}

.program-box-txt h4 {
	font-size: calc(14px * var(--scale));
	font-weight: 500;
	padding-bottom: calc(5px * var(--scale));
}

.visitor-cont {
	background-image: url(../img/visitor_bg.webp);
	background-size: cover;
	background-position: center;
	padding: calc(20px * var(--scale)) 30px;
}

.visitor-cont-title {
	margin-bottom: calc(20px * var(--scale));
}

.visitor-cont-flex-cont {
	width: 47%;
}

.visitor-cont-flex-cont-img {
	width: calc(100% - calc(15px * var(--scale)));
	margin: 0 auto calc(10px * var(--scale));
}

.visitor-cont-flex-cont:nth-child(1) .visitor-cont-flex-cont-img {
	margin-bottom: calc(8px * var(--scale));
}

.visitor-cont-flex-cont:nth-child(2) .visitor-cont-flex-cont-img {
	width: calc(100% + 10%);
	margin-left: -10%;
}

.visitor-cont-flex-cont-txt {
	border-radius: 5px;
	background: #fff;
	border: 1px solid #8FD19E;
	text-align: center;
	padding: calc(10px * var(--scale)) 0;
}

.visitor-cont-flex-cont:nth-child(1) .visitor-cont-flex-cont-txt {
	padding: calc(21px * var(--scale)) 0;
}

.visitor-cont-flex-cont-txt p {
	font-size: calc(11px * var(--scale));
	font-weight: 500;
}

.visitor-cont-flex-cont-txt p small {
	letter-spacing: -.01rem;
	font-size: calc(10px * var(--scale));
}

.visitor-cont-flex-cont-txt p span {
	color: #E9546B;
	font-weight: 700;
}

.visitor-cont-flex-cont-txt p span span {
	font-size: calc(16px * var(--scale));
}

.opencampus-cont {
	padding-top: 0;
}

.opencampus-box-top {
	padding:
		calc(25px * var(--scale)) calc(10px * var(--scale)) calc(15px * var(--scale));
	position: relative;
	background-image: url(../img/opencampus_bg.webp);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.opencampus-box-top-title {
	text-align: center;
	margin-bottom: calc(25px * var(--scale));
}

.opencampus-box-top-title h2 {
	font-size: calc(26px * var(--scale));
	line-height: 1;
	padding-bottom: calc(2.5px * var(--scale));
	color: #fff;
}

.opencampus-box-top-title p {
	font-size: calc(18px * var(--scale));
	color: #fff;
	padding-bottom: calc(2.5px * var(--scale));
	position: relative;
}

.opencampus-box-top-title p::before {
	content: "";
	height: 1px;
	width: calc(20px * var(--scale));
	border-radius: 5px;
	background: #fff;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	bottom: 0;
	position: absolute;
}

.opencampus-box-top .schedule-days {
	margin-bottom: calc(20px * var(--scale));
}

.opencampus-btn a {
	display: block;
	max-width: calc(200px * var(--scale));
	border-radius: 10px;
	box-shadow: 2px 2px 3px rgba(115, 115, 115, .25);
	display: block;
	transition: all .4s;
	margin: 0 auto;
	animation: slowVerticalBounce 1s ease-in-out infinite;
}

.opencampus-btn a:hover {
	transform: translateX(2px)translateY(3px);
	box-shadow: none;
}

.feature {
	padding: calc(30px * var(--scale)) 0;
	background-image: url(../img/feature_bg.webp);
	background-position: center top;
	background-size: 100%;
}

.feature .cmn-title {
	margin-block: 0 calc(20px * var(--scale));
}

.swiper-wrapper {
	align-items: stretch !important;
}

.swiper-slide {
	background: #fff;
	height: auto;
	border-radius: 10px;
	padding: calc(20px * var(--scale)) calc(10px * var(--scale));
}

.feature-box-title {
	text-align: center;
	margin-bottom: calc(15px * var(--scale));
}

.feature-box-title h3 {
	font-size: calc(16px * var(--scale));
	color: #E9546B;
	font-weight: 700;
}

.feature-box-img {
	margin-bottom: calc(20px * var(--scale));
}

.feature-box-txt h4 {
	text-align: center;
	padding-bottom: calc(15px * var(--scale));
	font-size: calc(14px * var(--scale));
	font-weight: 500;
}

.feature-box-txt p {
	font-size: calc(12px * var(--scale));
	font-weight: 500;
	text-indent: -1em;
	padding-left: 1em;
}

.swiper-pagination {
	position: relative;
}

.swiper-pagination {
	position: relative;
	margin-top: calc(10px * var(--scale));
}

.swiper-pagination-bullet {
	width: calc(10px * var(--scale));
	height: calc(10px * var(--scale));
	margin: calc(5px * var(--scale)) !important;
	display: inline-block;
	border-radius: 100%;
	background: #CACACA;
	opacity: 1;
}

.swiper-pagination-bullet-active {
	background: #fff;
}

.voice .cmn-title {
	margin-bottom: calc(60px * var(--scale));
}

.voice-list li {
	margin-bottom: calc(55px * var(--scale));
}

.voice-list li:last-child {
	margin-bottom: 0;
}

.voice-list-cont-img {
	margin-bottom: calc(12px * var(--scale));
	position: relative;
}

.voice-list-cont-img p {
	width: calc(60px * var(--scale));
	height: calc(60px * var(--scale));
	border-radius: 50%;
	background: #9dcd5a;
	position: absolute;
	left: 0;
	top: calc(-30px * var(--scale));
	text-align: center;
	font-size: calc(32px * var(--scale));
	line-height: calc(60px * var(--scale));
	color: #fff;
}

.voice-list-cont-txt-th {
	margin-bottom: calc(7.5px * var(--scale));
	background: #e54041;
	padding: calc(6.5px * var(--scale)) calc(10px * var(--scale)) calc(1.5px * var(--scale));
}

.voice-list-cont-txt-th p {
	font-weight: 700;
	color: #fff;
	font-size: calc(15px * var(--scale));
}

.voice-list-cont-txt-td {
	margin-bottom: calc(7.5px * var(--scale));
	padding-inline: calc(10px * var(--scale));
}

.voice-list-cont-txt-td p {
	font-size: calc(13px * var(--scale));
	font-weight: 500;
	line-height: 1.5;
}

.voice-list-cont-txt-td p img {
	display: inline-block;
	width: calc(18px * var(--scale));
	position: relative;
	top: calc(-3px * var(--scale));
	left: -2px;
}

.voice-list-cont-txt-td p span {
	font-weight: 700;
	background: linear-gradient(transparent 60%, #F7EB40 40%);
}

.voice-list-cont-txt:last-child .voice-list-cont-txt-td {
	margin-bottom: 0;
}

.sns-cont {
	padding: 0;
}

.sns-cont-top {
	padding: calc(25px * var(--scale)) 0;
	background-image: url(../img/sns_bg.webp);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}

.sns-cont-top h2 {
	max-width: calc(200px * var(--scale));
	margin: 0 auto calc(10px * var(--scale));
	display: block;
}

.sns-cont-top p {
	text-align: center;
	font-weight: 500;
	font-size: calc(14px * var(--scale));
}

.sns-cont-bottom {
	margin-block: calc(30px * var(--scale));
}

.sns-cont-bottom ul {
	max-width: calc(220px * var(--scale));
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}

.sns-cont-bottom ul li {
	height: calc(75px * var(--scale));
}

.sns-cont-bottom ul li img {
	width: auto;
	height: 100%;
}

.point {
	background: #FFF8D5;
	position: relative;
}

.point-bg {
	position: absolute;
	width: 100%;
	left: 0;
	top: 0;
}

.point-title {
	width: calc(100% - calc(20px * var(--scale)));
	margin: 0 auto calc(25px * var(--scale));
	position: relative;
	z-index: 1;
}

.point-txt {
	text-align: center;
	margin-bottom: calc(20px * var(--scale));
}

.point-txt p {
	font-size: calc(16px * var(--scale));
	font-weight: 500;
}

.point-txt p span {
	font-size: calc(18px * var(--scale));
	font-weight: 700;
	color: #1B4D2E;
}

.point-list li {
	margin-bottom: calc(15px * var(--scale));
}

.point-list li:last-child {
	margin-bottom: 0;
}

.point-list-box {
	border-radius: 5px;
	background: #fff;
	border: 1px solid #8FD19E;
}

.point-list-box-title {
	background: #8FD19E;
	padding: calc(7.5px * var(--scale)) calc(10px * var(--scale)) calc(3.5px * var(--scale));
}

.point-list-box-title h3 {
	font-size: calc(17px * var(--scale));
	font-weight: 500;
}

.point-list-box-txt {
	padding: calc(15px * var(--scale)) calc(10px * var(--scale));
}

.point-list-box-txt ul {
	margin-left: 1em;
}

.point-list-box-txt li {
	font-size: calc(12px * var(--scale));
	font-weight: 500;
	margin-bottom: 0;
	list-style: disc;
	margin-bottom: calc(5px * var(--scale));
}

.point-list-box-txt li:last-child {
	margin-bottom: 0;
}

.point-list ol {
	margin-bottom: calc(20px * var(--scale));
}

.document-btn a {
	display: block;
	border-radius: 5px;
	box-shadow: 0px 4px 2px -2px rgba(115, 115, 115, .25);
	transition: all .4s;
}

.document-btn a:hover {
	opacity: 1;
	transform: translateY(4px);
	box-shadow: none;
}

.preparation {
	background-image: url(../img/preparation_bg.webp);
	background-position: center top;
	background-size: cover;
	padding-block: 0;
	margin-top: calc(80px * var(--scale));
}

.preparation .inner {
	position: relative;
	top: calc(-40px * var(--scale));
}

.preparation-bg {
	position: relative;
	margin-top: calc(-35px * var(--scale));
	background: #fff;
	padding: calc(65px * var(--scale)) calc(10px * var(--scale)) calc(10px * var(--scale));
}

.preparation .cmn-title {
	margin-bottom: 0;
	position: relative;
	z-index: 1;
}

.preparation-img {
	margin-bottom: calc(15px * var(--scale));
}

.preparation-list ul li {
	margin-bottom: calc(12.5px * var(--scale));
	padding-bottom: calc(12.5px * var(--scale));
	border-bottom: 1px dashed #000;
}

.preparation-list ul li:last-child {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.preparation-title {
	display: flex;
	align-items: baseline;
	margin-bottom: calc(5px * var(--scale));
	justify-content: space-between;
}

.preparation-title img {
	width: calc(20px * var(--scale));
	position: relative;
	top: calc(2.5px * var(--scale));
}

.preparation-title h3 {
	width: calc(100% - calc(27.5px * var(--scale)));
	font-weight: 500;
	font-size: calc(18px * var(--scale));
	line-height: 1.5;
}

.preparation-txt p {
	font-weight: 500;
	font-size: calc(14px * var(--scale));
	line-height: 2;
}

.access .cmn-title {
	margin-block: 0 calc(40px * var(--scale));
}

.access-txt {
	margin-block: calc(20px * var(--scale));
	padding: calc(10px * var(--scale));
}

.access-txt p {
	font-size: calc(16px * var(--scale));
	font-weight: 500;
	line-height: 1.8;
}

.access-txt p:nth-child(1) {
	margin-bottom: calc(12.5px * var(--scale));
}

.access-txt p span {
	display: block;
	font-weight: 700;
}

.footer-btns {
	width: calc(100% - calc(60px * var(--scale)));
	margin: 0 auto;
}

.footer-btn:nth-child(1) {
	margin-bottom: calc(10px * var(--scale));
}

.footer-btn a {
	display: block;
	box-shadow: 1px 1px 2px rgba(115, 115, 115, .25);
	transition: all .4s;
	border-radius: 5px;
	animation: slowBounce 2s cubic-bezier(.68, -0.55, .27, 1.55) infinite;
}

.footer-btn a:hover {
	box-shadow: none;
	transform: translateX(1px)translateY(2px);
}

.footer-sns {
	padding: calc(40px * var(--scale)) 0;
}

.footer-sns ul {
	max-width: calc(150px * var(--scale));
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}

.footer-sns ul li {
	width: calc(40px * var(--scale));
}

.footer-txt {
	padding: calc(25px * var(--scale));
	text-align: center;
	background: #F3F6FA;
}

.footer-txt-name p {
	font-size: calc(20px * var(--scale));
	font-weight: 500;
	padding-bottom: calc(10px * var(--scale));
}

.footer-txt-txt {
	padding-bottom: calc(10px * var(--scale));
}

.footer-txt-txt p {
	font-size: calc(13px * var(--scale));
	font-weight: 500;
	line-height: 2;
}

.footer-txt p.copy {
	font-size: calc(12px * var(--scale));
	font-weight: 500;
}

.sp {
	display: none;
}

.schedule-cont {
	padding-top: 0;
}

.fixed-menu {
	position: fixed;
	width: 100%;
	z-index: 1;
	top: 0;
	left: 0;
	display: flex;
	justify-content: space-between;
	height: 100%;
}

.fixed-left {
	width: calc((100% - 375px) / 2);
	/* 変更前: background: #e54041; */
    
    /* ↓↓↓ ここをWebPファイルの指定に変更します ↓↓↓ */
	background-image: url(../img/fixed_left_bg.webp); /* 1. WebP画像へのパス */
	background-color: #e54041; /* 2. 画像が読み込めない場合の代替色 (元々の色) */
	background-size: cover; /* 3. 要素いっぱいに表示 */
	background-repeat: no-repeat; /* 4. 画像を繰り返さない */
	background-position: center center; /* 5. 画像を中央に配置 */
    /* ↑↑↑ 変更終わり ↑↑↑ */

	padding-top: 99px;
}

.fixed-left-inner {
	padding: 2.25vw 4vw 1.5vw;
	height: 100%;
	display: flex;
	justify-content: space-between;
	flex-direction: column;
}

.fixed-left-logo {
	max-width: 20vw;
	width: 100%;
	margin: 0 auto 2.75vw;
}

.fixed-left-flex {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}

.fixed-left-flex-left {
	width: 10vw;
}

.fixed-left-flex-left h2 {
	text-align: center;
	font-size: 1.9vw;
	color: #fff;
	padding-bottom: 1.25vw;
}

.fixed-left-flex-left ul li a {
	color: #fff;
	font-weight: 500;
	font-size: 1.25vw;
	margin-bottom: .5vw;
	display: block;
}

.fixed-left-flex-right {
	width: 14.5vw;
}

.fixed-left-flex-right .cta-cont:nth-child(1) {
	margin-bottom: 1.25vw;
}

.fixed-left-flex-right .cta-cont a {
	box-shadow: 1px 1px 2px rgba(115, 115, 115, .25);
	transition: all .4s;
	border-radius: 5px;
	animation: slowVerticalBounce 1s ease-in-out infinite;
	display: block;
}

.fixed-right {
	width: calc((100% - 375px) / 2);
	background-image: url(../img/fixed_right.webp);
	background-size: 100%;
	background-position: right;
	background-repeat: repeat;
	padding-top: 99px;
}

section.visitor {
	padding-top: 0;
}

@media screen and (max-width: 1200px) {
	.fixed-left-inner {
		padding: 2.25vw 15px 1.5vw;
	}
}

@media screen and (max-width: 1000px) {
	.fixed-left-inner {
		padding: 2.25vw 15px 1.5vw;
	}

	.fixed-right {
		display: none;
	}

	.fixed-left {
		width: calc(100% - 375px);
	}

	.lp-cont {
		margin-right: 0;
	}

	.fixed-left-logo {
		max-width: 30vw;
		margin: 0 auto 3.5vw;
	}

	.fixed-left-flex-left {
		width: 17.5vw;
	}

	.fixed-left-flex-left h2 {
		font-size: 3vw;
		padding-bottom: 1.5vw;
	}

	.fixed-left-flex-left ul li a {
		font-size: 2vw;
		margin-bottom: .75vw;
	}

	.fixed-left-flex-right {
		width: 24.5vw;
	}

	.fixed-left-flex-right .cta-cont:nth-child(1) {
		margin-bottom: 1.5vw;
	}

	.visitor-cont-flex-cont:nth-child(1) .visitor-cont-flex-cont-img {
		max-width: 80%;
	}
}

@media screen and (max-width: 700px) {
	.sp {
		display: block;
	}

	.pc {
		display: none;
	}

	.header-logo {
		width: 130px;
	}

	.schedule-cont {
		padding-top: 40px;
	}

	.schedule-day-num p.time {
		font-size: 12px;
	}

	.schedule-day-num p.days {
		font-size: 20px;
	}

	.program-box-title h3 {
		font-size: 20px;
	}

	.program-box-txt p {
		font-size: 12px;
	}

	.feature-box-txt h4 {
		font-size: 16px;
	}

	.feature-box-txt p {
		font-size: 14px;
	}

	.voice-list-cont-txt-th p {
		font-size: 16px;
	}

	.voice-list-cont-txt-th p {
		font-size: 16px;
	}

	.point-list-box-title h3 {
		font-size: 18px;
	}

	.point-list-box-txt li {
		font-size: 14px;
	}

	.preparation-title h3 {
		font-size: 20px;
	}

	.opencampus-box-top-title h2 {
		font-size: 27px;
	}

	.lp-cont {
		margin-right: auto;
		padding-top: 0;
	}

	.header-inner {
		width: calc(100% - 40px);
	}

	.lp-cont,
	.fixed-cont {
		max-width: 100%;
	}

	.online-reserve-btn {
		width: 55vw;
		bottom: 5vw;
	}
}

@media screen and (max-width: 499px) {
	.visitor-cont-flex-cont:nth-child(1) .visitor-cont-flex-cont-img {
		max-width: 100%;
	}
}
