@charset "utf-8";
/* ----------
* SP優先→PCの記述
---------- */
:root {	
	--light-green01: #8fc31f;
	--light-green02: #a8cc07;
	--blue: #2767b2;
	--black: #040b1b;
	--gray: #595858;
	--white: #ffffff;
	
	--width: 760;
	--m-width: 760;
}

@media screen and (min-width: 761px), print {
	:root {
		--width: 1400;
		--m-width: 1600;
	}
}

/* ---------- FONTS ---------- */
/* weight: Use a value from 300-500,700-900 */
.noto-sans-jp-L {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
}
.noto-sans-jp-R {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.noto-sans-jp-M {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}
.noto-sans-jp-B {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
.noto-sans-jp-SB {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 800;
  font-style: normal;
}
.noto-sans-jp-EB {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
}

/* weight: Use a value from 400 to 700 */
.noto-serif-jp-R {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.noto-serif-jp-M {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}
.noto-serif-jp-SB {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}
.noto-serif-jp-B {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}


/* ---------- COMMON ---------- */
html { 
	font-size: 62.5%; 
	scroll-behavior: smooth; 
	font-feature-settings: normal;
}
body { 
	font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;/* Regular */
  font-style: normal;
	font-size: 1.6rem;
	line-height: 1.5;
}
body.clip {
	overflow: clip;
}

img {
	  width: 100%;
    height: auto;
    vertical-align: top;
    object-fit: contain;
}

a:has(img) { transition: opacity ease .3s; }
a:has(img):hover { opacity: 0.5; }

a[target="_blank"]::after {
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: calc((38 / 760) * 100vw);
	height: calc((26 / 760) * 100vw);
	background: url("../img/icon_window.svg") left top no-repeat;
	background-size: 100% auto;
	margin-left: 4px;
}
a[target="_blank"]:hover::after,
a[target="_blank"]:focus-within::after {
	background-position: 0 calc((26 / 760) * -100vw);
}
a[target="_blank"].icon-blank--wh::after {
	background-position: 0 calc((52 / 760) * -100vw);
}
a[target="_blank"].icon-blank--wh:hover::after,
a[target="_blank"].icon-blank--wh:focus-within::after {
	background-position: 0 calc((26 / 760) * -100vw);
}
/* link none */
a[href=""][target="_blank"]::after { display: none; }
/* _blank none */
a[target="_blank"].noblank::after { display: none; }
/* PC */
@media screen and (min-width: 761px), print {
	a[target="_blank"]::after {
		width: calc((19 / 1600) * 100vw);
		height: calc((13 / 1600) * 100vw);
	}
	a[target="_blank"]:hover::after,
	a[target="_blank"]:focus-within::after {
		background-position: 0 calc((13 / 1600) * -100vw);
	}
	a[target="_blank"].icon-blank--wh::after {
		background-position: 0 calc((26 / 1600) * -100vw);
	}
	a[target="_blank"].icon-blank--wh:hover::after,
	a[target="_blank"].icon-blank--wh:focus-within::after {
		background-position: 0 calc((13 / 1600) * -100vw);
	}
}

.txt--right { text-align: right; }
.txt--center { text-align: center; }

.nowrap { white-space: nowrap; }

.notes {
	font-size: calc((20 / 760) * 100vw);
	font-weight: 400;
	padding: calc((20 / 760) * 100vw) 0;
}
/* PC */
@media screen and (min-width: 761px), print {
	.notes {
		font-size: min(calc((18 / 1400) * 100vw), 1.8rem);
		padding: min(calc((24 / 1400) * 100vw), 24px) 0;
	}
}

.fc-wh { color: #fff; }

.coming-soon {
	background-color: rgba(255, 255, 255, 0.75);
	padding: calc((24 / 760) * 100vw);
	margin-top: calc((80 / 760) * 100vw);
	max-width: 90%;
	margin-left: auto;
	margin-right: auto;
	border-top: 6px double #4c4948;
	border-bottom: 6px double #4c4948;
}
.coming-soon p {
	color: #4c4948;
	font-size: calc((24 / 760) * 100vw);
	font-weight: 600;
	line-height: 1.5;
}
.coming-soon .coming-soon__txt {
	font-size: calc((26 / 760) * 100vw);
	margin-bottom: 8px;
}
/* PC */
@media screen and (min-width: 761px), print {
	.coming-soon {
		padding: min(calc((24 / 1400) * 100vw), 24px);
		margin-top: min(calc((80 / 1400) * 100vw), 80px);
		max-width: 1000px;
	}
	.coming-soon p {
		font-size: min(calc((24 / 1400) * 100vw), 2rem);
	}
	.coming-soon .coming-soon__txt {
		font-size: min(calc((30 / 1400) * 100vw), 3rem);
	}
}

body * { box-sizing: border-box; }

/* PC */
@media screen and (min-width: 761px), print {
	.pd48 {
		padding-left: min(calc((48 / 1400) * 100vw), 48px);
		padding-right: min(calc((48 / 1400) * 100vw), 48px);
	}
}

.fs12 { font-size: 1.2rem; }

.mgb10 { margin-bottom: 10px; }


/* ---------- HEADER ---------- */
header#header {
	width: 100%;
	padding: calc((30 / 760) * 100vw);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
	transition: background ease .3s;
}
header#header.sticky {
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.35), transparent);
	backdrop-filter: blur(1.5px);
}
header#header > .inner {
	padding-left: 0; 
	padding-right: 0;
}
a.logo {
	display: block;
	width: calc((253 / 760) * 100vw); 
	height: calc((46 / 760) * 100vw); 
	max-width: 253px; 
	max-height: 46px; 
}
/* PC */
@media screen and (min-width: 761px), print {
	header#header {
		padding: 27.5px 27.5px 0;
	}
	header#header > .inner {     
		display: flex;
    align-items: center; 
		max-width: 1600px;
	}
	
	a.logo {
		width: min(calc((300 / 1600) * 100vw), 300px);
		height: auto;
		max-width: 300px; 
		max-height: 54px; 
		margin-right: auto;
	}
	
	.sp-only { display: none; }
}

/* PHONE */
@media screen and (max-width: 760px) {
	.pc-only { display: none; }
	
	/* grobal navigation */
	nav#gnav {
		background: linear-gradient(to right, #eeefef 0%, #c8c8c9 100%);
		padding: calc((216 / 760) * 100vw) 0 calc((60 / 760) * 100vw) calc((60 / 760) * 100vw);
		position: fixed;
		top: 0;
		right: -100%;
		width: 80%;
		height: 100vh;
		transition: right ease .3s;
		z-index: 10;
		overflow-y: auto;
	}
	nav#gnav::-webkit-scrollbar { width: 6px; height: 6px; }
	nav#gnav::-webkit-scrollbar-track { background-color: #ccc; height: 6px; }
	nav#gnav::-webkit-scrollbar-thumb { background: #000; width: 6px; height: 6px; border-radius: 3px; }
	nav#gnav.is-active {
		right: 0; 
	}
	ul.gnav__list {}
	ul.gnav__list > li {
		font-size: calc((30 / 760) * 100vw);
		font-weight: 600;
		line-height: 1.3;
		padding-right: calc((16 / 760) * 100vw);
	}
	ul.gnav__list > li > a::before,
	ul.gnav__list > li.has-nav > button::before {
		content: '';
		display: inline-block;
		width: calc((35 / 760) * 100vw);
		height: calc((35 / 760) * 100vw);
		background: url("../img/icon_arrow.svg") left 10% no-repeat;
		background-size: contain;
		vertical-align: middle;
		margin-right: 20px;
	}
	ul.gnav__list > li > a.is-active::before,
	ul.gnav__list > li.has-nav > button.is-active::before {
		background-image: url("../img/icon_arrow_active.svg");
	}
	ul.gnav__list > li.has-nav {
		padding-right: 0;
	}
	ul.gnav__list > li:last-child {
		margin-bottom: 0; 
	}
	ul.gnav__list > li > a,
	ul.gnav__list > li > .gnav__list__label { 
		color: #4d4d4d; 
		display: block;
		padding: calc((20 / 760) * 100vw) 0;
	}
	ul.gnav__list > li > a.is-active,
	ul.gnav__list > li > button.is-active { color: #8fc31f; }
	ul.gnav__list > li.last {}
	/* link none */
	ul.gnav__list > li > a[href=""] {
		color: #4d4d4d; 
		opacity: 0.5;
		pointer-events: none;
		text-decoration: line-through;
	}
	
	ul.gnav__list > li > a[target="_blank"].icon-blank--wh::after {
		background-position: 0 0;
	}
	
	ul.gnav__sub-list {
		margin-left: calc((55 / 760) * 100vw);
	}
	ul.gnav__sub-list > li {
		font-size: calc((25 / 760) * 100vw);
		line-height: 1.3;
		margin-bottom: 1px;
	}
	ul.gnav__sub-list > li:last-child {
		margin-bottom: 0; 
	}
	ul.gnav__sub-list > li > a {
		display: block;
		background-color: var(--gray);
		color: #fff;
		padding: calc((18 / 760) * 100vw) calc((32 / 760) * 100vw);
	}
	ul.gnav__sub-list > li > a.is-active {
		background-color: #8fc31f;
	}
	/* link none */
	ul.gnav__sub-list > li > a[href=""] {
		pointer-events: none;
		opacity: 0.5;
		text-decoration: line-through;
	}
}
/* PC */
@media screen and (min-width: 761px), print {
	/* grobal navigation */
	nav#gnav {}
	ul.gnav__list {
		display: flex;
		column-gap: calc((40 / 1600) * 100vw);
	}
	ul.gnav__list > li {
		font-size: min(calc((17 / 1600) * 100vw), 1.7rem);
		font-weight: 500;
		letter-spacing: calc(17px * 110 / 1000); 
		line-height: 1.7;
	}
	ul.gnav__list > li > a,
	ul.gnav__list > li > button { 
		color: #fff; 
		display: block;
		position: relative;
		transition: color ease .3s;
	}
	ul.gnav__list > li > a::before,
	ul.gnav__list > li > button::before {
		content: '';
		display: block;
		width: 0%;
		height: 2px;
		background-color: #8fc31f;
		position: absolute;
		left: 0;
		bottom: -2px; 
		transition: width ease .3s;
	}
	ul.gnav__list > li > a.is-active::before,
	ul.gnav__list > li > button.is-active::before,
	ul.gnav__list > li > a:hover::before,
	ul.gnav__list > li > button:hover::before,
	ul.gnav__list > li > a:focus-within::before,
	ul.gnav__list > li > button:focus-within::before,
	ul.gnav__list > li:hover > button::before { width: 100%; }
	
	/* link none */
	ul.gnav__list > li > a[href=""] {
		opacity: 0.5;
		pointer-events: none;
		text-decoration: line-through;
	}
	ul.gnav__list > li > a[href=""]::before {
		display: none;
	}
	ul.gnav__list > li > a[href=""]:focus-within {
		color: #fff;
	}
	
	ul.gnav__list > li > a.is-active,
	ul.gnav__list > li > button.is-active,
	ul.gnav__list > li > a:hover,
	ul.gnav__list > li.has-nav:hover > button,
	ul.gnav__list > li > a:focus-within,
	ul.gnav__list > li.has-nav:focus-within > button { color: #8fc31f; }
	ul.gnav__list > li.last {
		border-left: 1px solid #fff;
		border-right: 1px solid #fff;
		padding-left: calc((16 / 1600) * 100vw);
		padding-right: calc((16 / 1600) * 100vw);
	}
	
	ul.gnav__list > li.has-nav {		
		position: relative;
	}
	
	ul.gnav__sub-list {
		position: absolute;
    left: 0;
    width: calc((300 / 1600) * 100vw);
		max-width: 300px;
    top: auto;
		padding-top: calc((10 / 1600) * 100vw);
		
		opacity: 0;
		visibility: hidden;
		transform: translateX(-20px);
		transition: opacity ease .35s, transform ease .35s;
	}
	/* show */
	ul.gnav__list > li.has-nav:hover > ul.gnav__sub-list,
	ul.gnav__list > li.has-nav:focus-within > ul.gnav__sub-list {
		opacity: 1;
		visibility: visible;
		transform: translateX(0px);
	}
	ul.gnav__sub-list > li {
		font-size: min(calc((17 / 1600) * 100vw), 1.7rem);
		line-height: 1.7;
		border-bottom: 1px solid #fff;
		border-left: 1px solid #fff;
		border-right: 1px solid #fff;
	}
	ul.gnav__sub-list > li:first-child {
		border-top: 1px solid #fff;
	}
	ul.gnav__sub-list > li > a {
		display: block;
		background-color: var(--gray);
		color: #fff;
		padding: min(calc((8 / 1600) * 100vw), 8px) min(calc((14 / 1600) * 100vw), 14px);
		transition: background ease .3s;
	}
	ul.gnav__sub-list > li > a.is-active,
	ul.gnav__sub-list > li > a:hover,
	ul.gnav__sub-list > li > a:focus-within {
		background-color: #8fc31f;
	}
	/* link none */
	ul.gnav__sub-list > li > a[href=""] {
		pointer-events: none;
		color: rgba(255,  255,  255, 0.35);
		text-decoration: line-through;
	}
	ul.gnav__sub-list > li > a[href=""]:focus-within {
		background-color: var(--gray);
	}
}

/* PHONE */
@media screen and (max-width: 760px) {
	/* menu button */
	button.menu-btn {
		display: flex;
		justify-content: space-between;
		flex-direction: column;
		width: calc((38 / 760) * 100vw);
		height: calc((32 / 760) * 100vw);
		max-width: 38px;
		max-height: 32px;
		position: absolute;
		top: calc((37 / 760) * 100vw);
		right: calc((43 / 760) * 100vw);
		z-index: 15;
	}
	button.menu-btn > span {
		display: block;
		width: calc((38 / 760) * 100vw);;
		height: 2.5px;
		background-color: var(--white); 
		transition: transform ease .3s, top ease .3s, left ease .3s;
		position: absolute;
	}
	button.menu-btn > span:first-child {
		top: 0;
		left:0;
	}
	button.menu-btn > span:nth-child(2) {
		top: calc(50% - 1.25px);
		left: 0;
	}
	button.menu-btn > span:last-child {
		top: calc(100% - 2.5px);
		left: 0;
	}
	/* is-active */
	button.menu-btn.is-active > span {
		background-color: #4d4d4d;
	}
	button.menu-btn.is-active  > span:first-child {
		top: 50%;
		left: 50%;
		transform-origin: top left;
    transform: rotate(45deg) translate(-50%, -50%);
	}
	button.menu-btn.is-active  > span:nth-child(2) {
		left: 100%;
		opacity: 0;
	}
	button.menu-btn.is-active  > span:last-child {
		top: 50%;
		left: 50%;
		transform-origin: top left;
    transform: rotate(-45deg) translate(-50%, -50%);
	}

	.gnav__overlay {
		display: none;
		position: fixed;
		top: 0; 
		left: 0; 
		width: 100%;
		height: 100vh;
		background-color: rgba(0, 0, 0, 0.5);
		z-index: 9;
	}
	.gnav__overlay.is-active {
		display: block;
	}
}

/* PC */
@media screen and (min-width: 761px), print {
	button.menu-btn,
	.gnav__overlay {
		display: none;
	}
}

/* ---------- CONTAINER ---------- */
.main {}
.inner {
	padding-inline: calc((48 / 760) * 100vw);
}
/* PC */
@media screen and (min-width: 761px), print {
	.inner {
		max-width: 1400px;
		margin: auto;
		padding-right: 0;
		padding-left: 0;
	}
}
@media (max-width: 1400px) and (min-width: 761px) {
	.inner {
		padding-right: calc((48 / 1400) * 100vw);
		padding-left: calc((48 / 1400) * 100vw);
	}
}

/* ---------- MV ---------- */
.mv { 
	background: url("../img/mv_bg.jpg") center bottom no-repeat; 
	background-size: cover; 
	position: relative; 
	overflow: clip;
}
.mv > .inner { padding-top: calc((120 / 760) * 100vw); }
.mv__ttl {
	position: relative;
	z-index: 2;
	
	animation: mvShow ease 1s forwards;
}
.mv__ttl > h1 { 
	color: var(--white); 
	font-weight: 800; 
	line-height: 1.5;
}
.mv__ttl > h1 > img { 
	width: calc((486 / 760) * 100vw); 
	height: calc((90 / 760) * 100vw); 
	max-width: 486px; 
	max-height: 90px; 
	margin-bottom: calc((10 / 760) * 100vw); 
}
.mv__ttl > h1 > span.line01 { 
	font-size: calc((24 / 760) * 100vw); 
	letter-spacing: calc(24px * 80 / 1000); 
	transform: scaleX(0.97); 
	transform-origin: left; 
}
.mv__ttl > h1 > span.line02 { 
	font-size: calc((46 / 760) * 100vw); 
	letter-spacing: calc(46px * 60 / 1000); 
	display: inline-block;
}
.mv__ttl > h1 > span.line03 { 
	display: inline-block; 
	background: linear-gradient(to right, #000000, transparent);
	font-size: calc((26 / 760) * 100vw); 
	font-weight: 900;
	letter-spacing: calc(24px * 60 / 1000); 
	padding: calc((12 / 760) * 100vw) calc((16 / 760) * 100vw); 
	transform: scaleX(0.95); 
	transform-origin: left; 
}
@keyframes mvShow {
	from { opacity: 0; }
	to { opacity: 1; }
}
@keyframes mvShow_slide {
	from { opacity: 0; transform: translateX(-10px); }
	to { opacity: 1; transform: translateX(0px); }
}
@keyframes mvShow_slide_reverse {
	from { opacity: 0; transform: translateX(10px); }
	to { opacity: 1; transform: translateX(0px); }
}

.mv__box { 
	position: relative;
	top: calc((40 / 760) * -100vw);
	min-height: calc((830 / 760) * 100vw);
}

ul.mv-courses {}
ul.mv-courses li.mv-course {
	position: absolute;
}
ul.mv-courses li.mv-course.course01 {
	top: 0;
	right: 0;
}
ul.mv-courses li.mv-course.course01 .mv-course__txt {
	width: calc((290 / 760) * 100vw);
	height: auto;
	position: absolute;
	left: calc((-207 / 760) * 100vw);
	top: calc((95 / 760) * 100vw);
	z-index: 1;
	
	opacity: 0;
	animation: mvShow_slide ease 1s forwards;
	animation-delay: 1.5s;
}
ul.mv-courses li.mv-course.course01 .mv-course__img { 
	width: calc((404 / 760) * 100vw);
	height: auto;
	
	opacity: 0;
	animation: mvShow ease 1s forwards;
	animation-delay: 1s;
}

ul.mv-courses li.mv-course.course02 {
	left: 0;
	bottom: 0;
}
ul.mv-courses li.mv-course.course02 .mv-course__txt {
	width: calc((290 / 760) * 100vw);
	height: auto;
	position: absolute;
	left: calc((24 / 760) * -100vw);
	bottom: 0;
	z-index: 1;
	
	opacity: 0;
	animation: mvShow_slide ease 1s forwards;
	animation-delay: 1.5s;
}
ul.mv-courses li.mv-course.course02 .mv-course__img {
	width: calc((376 / 760) * 100vw); 
	height: auto;
	margin-bottom: calc((86 / 760) * 100vw);
	margin-left: calc((24 / 760) * -100vw);
	
	opacity: 0;
	animation: mvShow ease 1s forwards;
	animation-delay: 1s;
}

ul.mv-courses li.mv-course.course03 {
	right: calc((48 / 760) * -100vw);
  bottom: 0;
}
ul.mv-courses li.mv-course.course03 .mv-course__txt {
	width: calc((290 / 760) * 100vw);
	height: auto;
	position: absolute;
	top: calc((36.5 / 760) * -100vw);
	left: 0;
	z-index: 1;
	
	opacity: 0;
	animation: mvShow_slide ease 1s forwards;
	animation-delay: 1.5s;
}
ul.mv-courses li.mv-course.course03 .mv-course__img {
	width: calc((450 / 760) * 100vw); 
	height: auto;
	transform: translateX(calc((56 / 760) * 100vw));
	
	opacity: 0;
	animation: mvShow ease 1s forwards;
	animation-delay: 1s;
}

.mv__subttl {
	background: linear-gradient(to right, transparent, #000000, #000000, transparent);
	color: #fff;
	font-size: calc((24 / 760) * 100vw);
	letter-spacing: calc(24px * 90 / 1000);
	line-height: 1.5;
	text-align: center;
	transform: scaleX(0.97);
	white-space: nowrap;
	margin-left: calc((48 / 760) * -100vw);
	margin-right: calc((48 / 760) * -100vw);
	padding: calc((24 / 760) * 100vw);
	position: absolute;
	top: calc((220 / 760) * 100vw);	
	
	opacity: 0;
	animation: mvShow ease 1s forwards;
	animation-delay: 1.5s;
}
.mv__subttl::before,
.mv__subttl::after {
	content: '';
	display: block;
	width: 100%;
	height: 3px;
	background: linear-gradient(to right, transparent 3%, #00b9ef 20%, #00b9ef 77%, transparent 97%);
	position: absolute;
}
.mv__subttl::before {
	top: 0;
	left: 0;
}
.mv__subttl::after {
	bottom: 0; 
	left: 0;
}
.mv__subttl > span {
	color: #00b9ef;
}

.mv__lead {
	color: #fff;
	text-align: center; 
	background: linear-gradient(to bottom, transparent, #060c22, #060c22, #060c22, #060c22);
	padding-bottom: calc((56 / 760) * 100vw);
	margin-top: calc((40 / 760) * 100vw);
	width: 100%; 
}
.mv__txt {
	font-size: calc((22 / 760) * 100vw);
	letter-spacing: calc(22px * 20 / 1000); 
	line-height: 1.7;
	padding-bottom: calc((32 / 760) * 100vw);
	
	opacity: 0;
	animation: mvShow ease 1s forwards;
	animation-delay: 1.5s;
}
.mv__message {
	width: calc((573 / 760) * 100vw);
	height: auto;
	margin: 0 auto;
	
	opacity: 0;
	animation: mvShow ease 1s forwards;
	animation-delay: 1.5s;
}

/* PC */
@media screen and (min-width: 761px), print {
	/* ---------- MV ---------- */
	.mv { 
		background: url("../img/mv_bg_pc.png") center bottom no-repeat; 
		background-size: cover; 
		position: relative; 
	}
	.mv > .inner { 
		max-width: 1400px;
		padding-top: min(calc((170 / 1400) * 100vw), 170px); 
	}
	
	.mv__ttl > h1 > img { 
		width: calc((550 / 1400) * 100vw); 
		height: auto; 
		max-width: 550px; 
		max-height: 102px; 
		margin-bottom: min(calc((20 / 1400) * 100vw), 20px); 
	}
	
	.mv__ttl > h1 > span.line01 { 
		font-size: min(calc((26 / 1400) * 100vw), 2.6rem); 
		letter-spacing: calc(26px * 80 / 1000); 
	}
	.mv__ttl > h1 > span.line02 { 
		font-size: min(calc((52 / 1400) * 100vw), 5.2rem); 
		letter-spacing: calc(52px * 100 / 1000); 
	}
	.mv__ttl > h1 > span.line03 { 
		font-size: min(calc((36 / 1400) * 100vw), 3.6rem);
		letter-spacing: calc(25px * 140 / 1000);
		padding: min(calc((12 / 1400) * 100vw), 8px) min(calc((24 / 1400) * 100vw), 24px);
	}
	
	.mv__box { 
		height: min(calc((958 / 1200) * 100vw), 958px);
		max-height: 958px;
		max-width: 1200px;
		min-height: auto;
		margin: calc((78 / 1400) * -100vw) auto 0;
		top: 0;
	}
	
	ul.mv-courses li.mv-course.course01 {
		top: 0;
		right: 0;
	}
	ul.mv-courses li.mv-course.course01 .mv-course__txt {
		width: calc((290 / 1200) * 100vw);
		height: auto;
		max-width: 290px;
		top: auto;
		bottom: min(calc((47 / 1200) * 100vw), 47px);
		left: min(calc((120 / 1200) * -100vw), -120px);
	}
	ul.mv-courses li.mv-course.course01 .mv-course__img { 
		width: calc((532 / 1200) * 100vw);
		height: auto;
		max-width: 532px;
	}

	ul.mv-courses li.mv-course.course02 {
		bottom: 0;
		left: min(calc((45 / 1200) * 100vw), 45px);
	}
	ul.mv-courses li.mv-course.course02 .mv-course__txt {
		width: calc((371 / 1200) * 100vw);
		height: auto;
		max-width: 371px;
		position: absolute;
		top: min(calc((80 / 1200) * 100vw), 80px);
		bottom: 0;
		left: 0;
	}
	ul.mv-courses li.mv-course.course02 .mv-course__img {
		width: calc((512 / 1200) * 100vw);
		height: auto;
		max-width: 512px; 
		margin-bottom: 0;
		margin-left: min(calc((124 / 1200) * 100vw), 124px);
	}

	ul.mv-courses li.mv-course.course03 {
		bottom: min(calc((64 / 1200) * 100vw), 64px);
		right: min(calc((56 / 1200) * -100vw), -56px);
	}
	ul.mv-courses li.mv-course.course03 .mv-course__txt {
		width: calc((314 / 1200) * 100vw);
		height: auto;
		max-width: 314px;
		position: absolute;
		top: auto;
		right: 0;
		bottom: min(calc((28 / 1200) * -100vw), -28px);
		left: auto;
	}
	ul.mv-courses li.mv-course.course03 .mv-course__img {
		width: calc((601 / 1200) * 100vw);
		height: auto;
		max-width: 601px; 
		transform: none;
	}
	
	.mv__subttl {
		font-size: min(calc((33 / 1200) * 100vw), 3.3rem);
		letter-spacing: calc(33px * 70 / 1000); 
		line-height: 1.5;
		padding: min(calc((24 / 1200) * 100vw), 24px) min(calc((96 / 1200) * 100vw), 96px);
		max-width: 1190px;
		top: min(calc((289 / 1200) * 100vw), 289px);
		right: 0;
		left: 0;
		margin: auto;
	}
	
	.mv__lead {
		padding-bottom: min(calc((100 / 1200) * 100vw), 100px);
		position: inherit;
	}
	.mv__txt {
		font-size: min(calc((23 / 1200) * 100vw), 2.3rem);
		letter-spacing: calc(23px * 60 / 1000); 
		line-height: 1.9;
		padding-bottom: min(calc((40 / 1200) * 100vw), 40px);
	}
	.mv__message {
		max-width: 1160px;
	}
}


/* learning-flow */
.learning-flow {
	background: url("../img/bg.jpg") top left repeat-y;
	background-size: 100% auto;
	padding-top: calc((40 / 760) * 100vw);
	padding-bottom: calc((56 / 760) * 100vw);
}
/* PHONE */
@media screen and (max-width: 760px) {
	.learning-flow > .inner {
		padding-left: 0;
		padding-right: 0; 
	}
}
/* PC */
@media screen and (min-width: 761px), print {
	.learning-flow {
		background: url("../img/bg_pc.jpg") top left repeat-y;
		background-size: 100% auto;
		padding-top: min(calc((72 / 1400) * 100vw), 72px);
		padding-bottom: min(calc((108 / 1400) * 100vw), 108px);
	}
}
.ttl-shine {
	color: #fff;
	font-size: calc((27 / 760) * 100vw);
	vertical-align: middle;
	margin-bottom: calc((32 / 760) * 100vw);
	position: relative;
	z-index: 1;
}
.ttl-shine > span {
	display: flex;
	align-items: center;
	max-width: 1400px;
	margin-left: auto;
	margin-right: auto;
}
.ttl-shine.skew > span > span {
	transform: skewX(-13deg);
}
.ttl-shine::after {
	content: '';
	display: block;
	background: linear-gradient(to right, #000 50%, transparent);
	width: 100%;
	height: 60%;
	position: absolute;
	top: 50%;
	left: 0;
	z-index: -1;
	transform: translateY(-50%);
}
.ttl-shine i.icon-shine {
	display: inline-block;
	width: calc((145 / 760) * 100vw);
	height: calc((145 / 760) * 100vw);
	vertical-align: middle;
	position: relative;
	mix-blend-mode: screen;
}
.ttl-shine i.icon-shine::after {
	content: '';
	display: block;
	background: radial-gradient(ellipse at center, #ffffff 0%, #0d5381 35%, #000000 65%);
	border-radius: 50%;
	width: 60%;
	height: 60%;
	mix-blend-mode: screen;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
/* PC */
@media screen and (min-width: 761px), print {
	.ttl-shine {
		font-size: min(calc((40 / 1400) * 100vw), 4rem);
		margin-bottom: min(calc((48 / 1400) * 100vw), 4.8rem);
	}
	.ttl-shine i.icon-shine {
		width: min(calc((145 / 1400) * 100vw), 145px);
		height: min(calc((145 / 1400) * 100vw), 145px);
	}
}

ol.learning-flow__list { overflow: hidden; }
ol.learning-flow__list li.learning-flow__item {
	display: flex;
  flex-direction: row;
}
ol.learning-flow__list li.learning-flow__item:not(:last-child) {
	margin-bottom: min(calc((16 / 760) * 100vw), 10px);
}

.learning-flow__year {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.learning-flow__year-label {
	flex-grow: 1;
	color: #3e3a39;
	font-size: calc((27 / 760) * 100vw);
	font-weight: 500;
	line-height: 1;
	writing-mode: vertical-rl;
	text-orientation: upright;
	padding: calc((10 / 760) * 100vw);
	text-align: center;
	position: relative;
	z-index: 1;
}
.learning-flow__year-label::after {
	content: '';
	display: block;
	background-color: #c5cacf;
	clip-path: polygon(0 0, 100% 45px, 100% 100%, 0 calc(100% - 45px));
	width: 100%;
	height: calc(100% + 45px);
	position: absolute;
	top: -22.5px;
	left: 0;
	z-index: -1;
}
.learning-flow__year-label.first::after {
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 45px));
	transform: skewY(0);
	height: calc(100% + 22.5px);
	top: 0;
}
.learning-flow__year-label.last::after {
	clip-path: polygon(0 0, 100% 45px, 100% 100%, 0% 100%);
	transform: skewY(0);
	height: calc(100% + 22.5px);
}
/* PC */
@media screen and (min-width: 761px), print {
	.learning-flow__year-label {
		font-size: min(calc((29 / 1600) * 100vw), 2.9rem);
	}
}

div.learning-flow__content { 
	width: 100%;
	padding: 0 calc((30 / 760) * 100vw) 0 calc((16 / 760) * 100vw); 
}
.learning-flow__footer { 
	padding-top: 8px;
}
/* PC */
@media screen and (min-width: 761px), print {
	div.learning-flow__content { 
		max-width: 1300px;
		padding-left: min(calc((40 / 1300) * 100vw), 40px); 
		padding-right: 0;
	}
	.learning-flow__footer { 
		margin: 0 calc((48 / 1300) * 100vw); 
	}
}

ul.course-types {} 
ul.course-types li {}
ul.course-types li:not(:last-child) {
	margin-bottom: calc((16 / 760) * 100vw);
}
.course-type {
	border-radius: 10px;
	background-color: gray;
	padding: calc((34 / 760) * 100vw) calc((21 / 760) * 100vw);
}
.course-type p.course-type__ttl {
	color: #fff;
	font-size: calc((36 / 760) * 100vw);
	line-height: 1;
	letter-spacing: calc(36px * 80 / 1000); 
	text-align: center;
	margin-bottom: calc((16 / 760) * 100vw);
}
.course-type p.course-type__label {
	background: linear-gradient(to right, transparent, #ffffff,transparent);
	font-size: calc((28 / 760) * 100vw);
	line-height: 1.2;
	letter-spacing: calc(28px * 120 / 1000); 
	text-align: center;
	-webkit-text-stroke: 3px #fff;
	text-stroke: 3px black;
	paint-order: stroke;
	transform: scaleX(0.97);
	padding: calc((12 / 760) * 100vw) 0 calc((14 / 760) * 100vw);
	margin-bottom: calc((16 / 760) * 100vw);
}
.course-type img {
	display: none;
	visibility: hidden;
}/* pc only */

/* PC */
@media screen and (min-width: 761px), print {
	ul.course-types { 
		display: flex;
		column-gap: 2.6%;
		flex-direction: row;
		margin: 0 min(calc((48 / 1300) * 100vw), 48px);
	}
	ul.course-types li {
		width: 31.6%;
		display: flex;
		flex-direction: row;
	}
	ul.course-types li:not(:last-child) {
		margin-bottom: 0;
	}
	.course-type {
		padding: min(calc((32 / 1300) * 100vw), 32px) min(calc((20 / 1300) * 100vw), 20px);
		display: flex;
		flex-wrap: wrap;
	}
	.course-type > * {
		flex-grow: 1;
	}
	.course-type p.course-type__ttl {
		font-size: min(calc((28 / 1300) * 100vw), 2.8rem);
		letter-spacing: calc(28px * 20 / 1000); 
		margin-bottom: min(calc((24 / 1300) * 100vw), 24px);
	}
	.course-type p.course-type__label {
		font-size: min(calc((22 / 1300) * 100vw), 2.2rem);
		letter-spacing: calc(22px * 120 / 1000);
		letter-spacing: 0;
		padding: min(calc((16 / 1300) * 100vw), 16px) 0;
		margin-bottom: 0;
	}
	.course-type p.course-type__label > span {
		display: block;
		transform: scaleX(0.97);
	}
	.course-type img {
		display: block;
		visibility: visible;
		margin-bottom: 10px;
	}
	
	.learning-flow__footer { margin: 0 min(calc((48 / 1300) * 100vw), 48px); }
}

a.btn-arrow {
	display: block;
	background: linear-gradient(to right, gray, #000000);
	border-radius: calc((55 / 760) * 100vw);
	color: #fff;
	font-size: calc((28 / 760) * 100vw);
	line-height: 1;
	letter-spacing: calc(28px * 230 / 1000);
	text-align: center;
	padding: calc((12 / 760) * 100vw) calc((48 / 760) * 100vw) calc((12 / 760) * 100vw) calc((24 / 760) * 100vw);
	position: relative;
	max-width: calc((510 / 760) * 100vw);
	margin: auto;
}
a.btn-arrow::after {
	content: '';
	display: block;
	width: calc((35 / 760) * 100vw);
	height: calc((35 / 760) * 100vw);
	background: url('../img/icon_arrow_wh.svg') center center no-repeat;
	background-size: contain;
	position: absolute;
	right: calc((27 / 760) * 100vw);
	top: 50%; 
	transform: translateY(-50%);
	transition: right ease .35s;
}
@media (hover:hover) {
	a.btn-arrow:hover::after {
		right: calc((20 / 760) * 100vw);
	}
}
/* PC */
@media screen and (min-width: 761px), print {
	a.btn-arrow {
		border-radius: 28px;
		font-size: min(calc((28 / 1400) * 100vw), 2.8rem);
		box-shadow: 2.5px 2.5px 0 #000;
		padding: min(calc((10 / 1400) * 100vw), 10px) min(calc((54 / 1400) * 100vw), 54px) min(calc((10 / 1400) * 100vw), 10px) min(calc((27 / 1400) * 100vw), 27px);
	}
	a.btn-arrow::after {
		width: min(calc((35 / 1400) * 100vw), 35px);
		height: min(calc((35 / 1400) * 100vw), 35px);
		right: min(calc((27 / 1400) * 100vw), 27px);
	}
	a.btn-arrow:hover::after {
		right: min(calc((20 / 1400) * 100vw), 20px);
	}
}

/* color change */
.course-type.intelligent {
	background-color: #2767b2;
}
.course-type.intelligent p.course-type__label {
	color: #225c96;
}
.course-type.intelligent a.btn-arrow {
	background: linear-gradient(to right, #2767b2, #000000 130%);
}
.course-type.human-info {
	background-color: #f6a607;
}
.course-type.human-info p.course-type__label {
	color: #cc6b02;
}
.course-type.human-info a.btn-arrow {
	background: linear-gradient(to right, #f6a607, #000000 130%);
}
.course-type.digital-twin {
	background-color: #3eac4a;
}
.course-type.digital-twin p.course-type__label {
	color: #328438;
}
.course-type.digital-twin a.btn-arrow {
	background: linear-gradient(to right, #3eac4a, #000000 130%);
}

.placement-results {}
.placement-results__ttl {
	font-size: calc((18 / 760) * 100vw);
	font-weight: 600;
	letter-spacing: calc(18px * 70 / 1000); 
	line-height: 1.7;
	display: flex; 
	align-items: center;
	gap: 10px;
	margin-bottom: calc((20 / 760) * 100vw);
}
.placement-results__ttl > span {
	flex-shrink: 0;
}
.placement-results__ttl::after {
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	background-color: #000;
}
.placement-results__label {
	font-size: calc((18 / 760) * 100vw);
	font-weight: 600;
	letter-spacing: calc(18px * 70 / 1000); 
	line-height: 1.7;
	margin-bottom: calc((8 / 760) * 100vw);
}
.placement-results__inner {
	border-bottom: 1px solid #000;
	padding-bottom: calc((26 / 760) * 100vw);
	margin-bottom: calc((8 / 760) * 100vw);
}
/* PC */
@media screen and (min-width: 761px), print {
	.placement-results {
		margin-left: min(calc((48 / 1400) * 100vw), 48px);
		margin-right: min(calc((48 / 1400) * 100vw), 48px);
	}
	.placement-results__ttl {
		font-size: min(calc((24 / 1400) * 100vw), 2.4rem);
		margin-bottom: min(calc((30 / 1400) * 100vw), 30px);
	}
	.placement-results__label {
		font-size: min(calc((18 / 1400) * 100vw), 1.8rem);
	}
	.placement-results__inner {
		padding-bottom: min(calc((26 / 1400) * 100vw), 26px);
		margin-bottom: min(calc((8 / 1400) * 100vw), 8px);
	}
}

ul.company-list {
	font-size: calc((18 / 760) * 100vw);
	letter-spacing: calc(18px * 50 / 1000); 
	line-height: 1.3;
	column-count: 2; 
	column-gap: min(calc((40 / 760) * 100vw), 40px);
	width: fit-content; 
}
ul.company-list li {
	margin-bottom: calc((8 / 760) * 100vw);
}
/* PC */
@media screen and (min-width: 761px), print {
	ul.company-list {
		font-size: min(calc((18 / 1400) * 100vw), 1.8rem);
		column-count: 4; 
		column-gap: min(calc((40 / 1400) * 100vw), 40px);
		width: fit-content; 
	}
	ul.company-list li {
		margin-bottom: min(calc((10 / 1400) * 100vw), 10px);
	}
}




/* course */
.course-box {
	padding-bottom: calc((74 / 760) * 100vw);
	overflow-x: clip;
}
#course01 { background: linear-gradient(to right, #5eafe2, #5eafe2, transparent);  }
#course02 { background: linear-gradient(to right, transparent 30%, #f6ac19); }
#course03 { background: linear-gradient(to right, #a8cc07, #a8cc07, transparent); }
/* IE9 - IE11 fallback */
@media all and (-ms-high-contrast: none) {
	#course01 { background: #5eafe2; }
}
.course_header {
	padding-top: calc((48 / 760) * 100vw);
	padding-bottom: calc((32 / 760) * 100vw);
	position: relative;
}
.course_header .course__ttl {
	position: relative;
  z-index: 1;
}
.course_header .course__ttl > .line01 {
	display: block;
	color: #1a64ae;
	font-size: calc((35 / 760) * 100vw);
	letter-spacing: calc(35px * 160 / 1000);
	line-height: 1.2;
	-webkit-text-stroke: min(calc((4 / 760) * 100vw), 4px) #fff;
	text-stroke: min(calc((4 / 760) * 100vw), 4px) black;
	paint-order: stroke;
	margin-bottom: 10px;
}
.course_header .course__ttl > .line02 {
	display: block;
	color: #fff;
	font-size: calc((44 / 760) * 100vw);
	letter-spacing: calc(44px * 140 / 1000);
	line-height: 1;
	padding: calc((24 / 760) * 100vw) calc((56 / 760) * 100vw);
	margin-left: calc((48 / 760) * -100vw);
	position: relative;
	z-index: 1;
}
.course_header .course__ttl > .line02::after {
	background: linear-gradient(to right, #1a64ae, #1a64ae, transparent 90%);
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
}
#course02 .course_header .course__ttl > .line02::after {
	background: linear-gradient(to right, #f18700, #f18700, transparent);
}
#course03 .course_header .course__ttl > .line02::after {
	background: linear-gradient(to right, #3eac4a, #3eac4a, transparent);
}
/* IE9 - IE11 fallback */
@media all and (-ms-high-contrast: none) {
	.course_header .course__ttl > .line02 {
		background-color: #1a64ae;
	}
}
.course_header .course__img {
	aspect-ratio: 375 / 223;
	width: calc((375 / 760) * 100vw);
	height: auto;
	max-width: 375px;
	max-height: 223px;
	position: absolute;
	top: 0;
	right: calc(50% - 50vw);	
	z-index: -1;
	margin-right: calc((48 / 760) * -100vw);
}

#course02 .course_header .course__img { background: linear-gradient(to right, transparent 30%, #f6ac19); }
.course-box p {
	font-size: calc((22 / 760) * 100vw);
	font-weight: 500;
	letter-spacing: calc(22px * 50 / 1000); 
	line-height: 1.6;
}
/* PC */
@media screen and (min-width: 761px), print {
	.course_header .course__ttl > .line01 {
		font-size: min(calc((39 / 1400) * 100vw), 3.9rem);
		letter-spacing: calc(39px * 190 / 1000);
	}
	.course_header .course__ttl > .line02 {
		background: none;
		font-size: min(calc((60 / 1400) * 100vw), 6rem);
		letter-spacing: calc(60px * 150 / 1000);
		padding: min(calc((24 / 1400) * 100vw), 24px) min(calc((56 / 1400) * 100vw), 56px);
    margin-left: calc((48 / 1400) * -100vw);
	}
	.course_header .course__ttl > .line02::after {
		left: calc(50% - 50vw);
	}

	.course-box p {
		font-size: min(calc((25 / 1400) * 100vw), 2.5rem);
		letter-spacing: calc(25px * 50 / 1000); 
	}
	.course_header .course__img {
		aspect-ratio: 1000 / 595;
		width: 52%;
		height: auto;
		max-width: 1000px;
		max-height: 595px;
	}
}

.course-lerning {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 4%;
}
.course-lerning::after {
	content: '';
	display: block;
	border-style: none;
  width: calc((368 / 760) * 100vw); 
  height: calc((57 / 760) * 100vw); 
  background: linear-gradient(to top, #ffffff, transparent);
  clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
	margin: 8px auto 15px;
}
.course-lerning > .course-lerning__item {
	background: linear-gradient(to right, #1a64ae, #5eafe2);
	border: 1.5px solid #fff;
	padding: calc((20 / 760) * 100vw) calc((24 / 760) * 100vw) calc((32 / 760) * 100vw);
	width: 48%;
}
.course-lerning .course-lerning__ttl {
	position: relative;
	color: #fff;
	font-size: calc((30 / 760) * 100vw);
	letter-spacing: calc(30px * 140 / 1000); 
	line-height: 1.8;
	text-align: center;
	margin-bottom: calc((28 / 760) * 100vw);
}
.course-lerning .course-lerning__txt {
	color: #fff;
	font-size: calc((19 / 760) * 100vw);
	letter-spacing: calc(19px * 59 / 1000); 
	line-height: 1.5;
	text-align: center;
}
/* PC */
@media screen and (min-width: 761px), print {
	.course-lerning::after {
		width: calc((568 / 1400) * 100vw); 
		height: calc((93 / 1400) * 100vw); 
		margin: 24px auto 32px;
	}
	.course-lerning > .course-lerning__item {
		padding: min(calc((32 / 1400) * 100vw), 32px);
	}
	.course-lerning .course-lerning__ttl {
		font-size: min(calc((40 / 1400) * 100vw), 4rem);
		letter-spacing: min(calc(40px * 170 / 1000), 40px); 
		margin-bottom: min(calc((32 / 1400) * 100vw), 32px);
	}
	.course-lerning .course-lerning__txt {
		font-size: min(calc((25 / 1400) * 100vw), 2.5rem);
		letter-spacing: 0; 
	}
}

/* color change */
#course02 .course_header .course__ttl > .line01 { color: #f18700; }
#course02 .course-lerning > .course-lerning__item { background: linear-gradient(to right, #f18700, #f9c255); }

#course03 .course_header .course__ttl > .line01 { color: #3eac4a; }
#course03 .course-lerning > .course-lerning__item { background: linear-gradient(to right, #3eac4a, #a2cd45); }

/* research */
.research {
	background: linear-gradient(45deg, #1a64ae, #232e84);
	border: 1.5px solid #fff;
	border-radius: 17px;
	padding: calc((24 / 760) * 100vw) calc((56 / 760) * 100vw) calc((48 / 760) * 100vw);
}
/* research - color change */
#course02 .research { background: linear-gradient(45deg, #f4a036, #f08437); }
#course03 .research { background: linear-gradient(45deg, #57b76f, #3e983a); }
/* PC */
@media screen and (min-width: 761px), print {
	.research {
		padding: calc((40 / 1400) * 100vw) calc((60 / 1400) * 100vw) calc((80 / 1400) * 100vw);
	}
}

/* IE9 - IE11 fallback */
@media all and (-ms-high-contrast: none) {
	.research { background-color: #1a64ae; }
	#course02 .research { background-color: #f4a036; }
	#course03 .research { background-color: #57b76f; }
}
.research .ttl--brm-br > span { 
	display: inline-block; 
	padding-left: calc((72 / 760) * 100vw); 
	padding-right: calc((72 / 760) * 100vw); 
}

ol.research__lists {}
ol.research__lists > li {
	margin-bottom: calc((13 / 760) * 100vw);
}
ol.research__lists > li:last-child { margin-bottom: 0; }
/* PC */
@media screen and (min-width: 761px), print {
	ol.research__lists {
		display: flex;
    flex-direction: row;
    column-gap: 4%;
	}
	ol.research__lists li {
		width: 30.6%;
		margin-bottom: 0; 
		/*display: flex;
		flex-direction: row;*/
	}
}

button.btn-research {
  background-color: rgba(0, 0, 0, 0.5);
	border: 1px solid #fff;
	color: #fff;
	width: 100%;
	padding: calc((21 / 760) * 100vw) calc((65 / 760) * 100vw) calc((21 / 760) * 100vw) calc((18 / 760) * 100vw);
	position: relative;
	overflow: hidden;
	z-index: 1;
}
button.btn-research::before {
	content: '';
	display: block;
	background: url(../img/icon_arrow_wh02.svg) center center no-repeat;
	background-size: contain;
	width: calc((44 / 760) * 100vw);
	height: calc((44 / 760) * 100vw);
	position: absolute;
	z-index: 1;
}
button.btn-research::after {
	content: '';
	display: block;
	background-color: rgba(0, 0, 0, 0.5);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
button.btn-research .btn-research__label {
	font-size: calc((20 / 760) * 100vw);
	letter-spacing: calc(20px * 140 / 1000);
	line-height: 1;
	white-space: nowrap;
}
button.btn-research .btn-research__ttl {
	font-size: calc((27 / 760) * 100vw);
	letter-spacing: calc(27px * 140 / 1000);
	line-height: 1.2;
	transform: scaleX(0.97);
}
button.btn-research .btn-research__bg {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: -1;
	transform: translate(-50%, -50%);
	transition: transform ease .3s;
}
@media (hover:hover) {
	button.btn-research:hover .btn-research__bg,
	button.btn-research:focus-within .btn-research__bg {
		transform: translate(-50%, -50%) scale(110%);
	}
}
p.research__course-name { 
	background-color: rgba(0, 0, 0, 0.8);
	border: 1px solid #fff;
	color: #fff;
	font-size: min(calc((17 / 1400) * 100vw), 1.7rem);
	font-weight: 600;
	text-align: center;
	padding: 6px;
	margin-top: -1px;
}

/* PHONE */
@media (max-width: 760px) {
	button.btn-research {
		display: flex;
		flex-wrap: wrap;
		flex-direction: row;
		align-items: center;
	}
	button.btn-research::before {
		top: 50%;
		right: calc((21 / 760) * 100vw);
		transform: translateY(-50%);
	}
	button.btn-research .btn-research__label {
		border-right: 1px solid #fff;
		width: 15%;
		padding-right: 10px;
	}
	button.btn-research .btn-research__ttl {
		width: 85%;
		padding-left: calc((15 / 760) * 100vw);
	}
}
/* PC */
@media screen and (min-width: 761px), print {
	button.btn-research {
		aspect-ratio: 1 / 1;
		padding: min(calc((24 / 1400) * 100vw), 24px) min(calc((24 / 1400) * 100vw), 24px) min(calc((100 / 1400) * 100vw), 100px); 
	}
	button.btn-research .btn-research__label {
		display: inline-block;
		border-bottom: 2px solid #fff;
		font-size: min(calc((24 / 1400) * 100vw), 2.4rem);
		padding-bottom: 4px;
		margin-bottom: min(calc((64 / 1400) * 100vw), 64px);
		position: absolute;
    top: min(calc((24 / 1400) * 100vw), 24px);
    left: min(calc((24 / 1400) * 100vw), 24px);
	}
	button.btn-research .btn-research__ttl {
		font-size: min(calc((28 / 1400) * 100vw), 2.8rem);
    letter-spacing: calc(28px * 70 / 1000);
		line-height: 1.4;
		text-align: center;
		text-shadow: 2.5px 2.5px 0px rgba(0, 0, 0, 0.5);
		width: 100%;
		padding-left: min(calc((24 / 1400) * 100vw), 24px);
		padding-right: min(calc((24 / 1400) * 100vw), 24px);
		position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	}
	button.btn-research::before {
		width: min(calc((40 / 1400) * 100vw), 40px);
    height: min(calc((40 / 1400) * 100vw), 40px);
		left: 50%;
		bottom: min(calc((32 / 1400) * 100vw), 32px);
		right: auto;
		transform: translateX(-50%);
	}
}


.popup {
	width: 90%;
	height: calc(100vh - 77px - 58px);
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);	
	z-index: 15;

	opacity: 0;
	visibility: hidden;
}
.popup.is-open {
	opacity: 1;
	visibility: visible;
	animation: popupOpen 0.5s forwards;
}
@keyframes popupOpen {
	from { opacity: 0; margin-top: 10px; }
	to { opacity: 1; margin-top: 0; }
}

.popup__in {
	clear: both;
	background-color: #1a64ae;
	padding: calc((32 / 760) * 100vw) calc((24 / 760) * 100vw) calc((58 / 760) * 100vw);
	height: 90%;
	position: relative;
}
.popup .popup__in::before {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-top: calc((18 / 760) * 100vw) solid #666;
	border-right: calc((18 / 760) * 100vw) solid #666;
	border-bottom: calc((18 / 760) * 100vw) solid #1a64ae;
	border-left: calc((18 / 760) * 100vw) solid #1a64ae;
	position: absolute;
	top: 0;
	right: 0;
}
.popup .popup__in::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-top: calc((18 / 760) * 100vw) solid #1a64ae;
	border-right: calc((18 / 760) * 100vw) solid #1a64ae;
	border-bottom: calc((18 / 760) * 100vw) solid #666;
	border-left: calc((18 / 760) * 100vw) solid #666;
	position: absolute;
	left: 0;
	bottom: 0;
}
.popup__in > div {
	height: 100%;
	padding: calc((16 / 760) * 100vw);
	overflow-y: auto;
	z-index: 1;
	position: relative;
}
.popup__in > div::-webkit-scrollbar { 
	width: 6px; 
	height: 6px; 
}
.popup__in > div::-webkit-scrollbar-track { 
	background-color: transparent; 
	height: 6px; 
}
.popup__in > div::-webkit-scrollbar-thumb { 
	background: rgba(255, 255, 255, 0.5); 
	border-radius: 3px; 
	width: 6px; 
	height: 6px; 
}

/* popup - color change */
.popup.orange .popup__in {
	background-color: #f4a036;
}
.popup.orange .popup__in::before {
	border-bottom-color: #f4a036;
	border-left-color: #f4a036;
}
.popup.orange .popup__in::after {
	border-top-color: #f4a036;
	border-right-color: #f4a036;
}
.popup.l-green .popup__in {
	background-color: #57b76f;
}
.popup.l-green .popup__in::before {
	border-bottom-color: #57b76f;
	border-left-color: #57b76f;
}
.popup.l-green .popup__in::after {
	border-top-color: #57b76f;
	border-right-color: #57b76f;
}

/* PC */
@media screen and (min-width: 761px), print {
	.popup {
		max-width: 1200px;
	}
	.popup.is-open {
		display: flex;
    align-items: flex-start;
    flex-direction: row-reverse;
    column-gap: min(calc((16 / 1400) * 100vw), 16px);
	}
	.popup__in {
		padding: min(calc((32 / 1400) * 100vw), 32px) min(calc((56 / 1400) * 100vw), 56px) min(calc((48 / 1400) * 100vw), 48px);
		margin-top: min(calc((56 / 1400) * 100vw), 56px);
	}
	.popup .popup__in::before {
		border-top: min(calc((18 / 1400) * 100vw), 18px) solid #666;
		border-right: min(calc((18 / 1400) * 100vw), 18px) solid #666;
		border-bottom: min(calc((18 / 1400) * 100vw), 18px) solid #1a64ae;
		border-left: min(calc((18 / 1400) * 100vw), 18px) solid #1a64ae;
	}
	.popup .popup__in::after {
		border-top: min(calc((18 / 1400) * 100vw), 18px) solid #1a64ae;
		border-right: min(calc((18 / 1400) * 100vw), 18px) solid #1a64ae;
		border-bottom: min(calc((18 / 1400) * 100vw), 18px) solid #666;
		border-left: min(calc((18 / 1400) * 100vw), 18px) solid #666;
	}
}

.popup__overlay {
	background-color: #666;
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0; 
	left: 0; 
	z-index: 14;
	opacity: 0;
	visibility: hidden;
	transition: all ease .3s;
}
.popup__overlay.is-open {
	opacity: 1;
	visibility: visible;
	transition: all ease .3s;
}

.popup button.btn-close {
	float: right;
	margin-bottom: calc((16 / 760) * 100vw);
}
.popup button.btn-close > span:first-child {
	display: block;
	background-color: #fff;
	border-radius: 50%;
	width: calc((48 / 760) * 100vw);
	height: calc((48 / 760) * 100vw);
	padding: calc((16 / 760) * 100vw);
	position: relative;
}
.popup button.btn-close > span:first-child::before,
.popup button.btn-close > span:first-child::after {
	content: '';
	display: block;
	width: calc((24 / 760) * 100vw);
	height: 1px;
	background-color: #4d4d4d;
	position: absolute;
	top: 50%;
	left: 50%;
}
.popup button.btn-close > span:first-child::before {
	transform: translate(-50%, -50%) rotate(45deg);
}
.popup button.btn-close > span:first-child::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}
.popup button.btn-close > span:nth-child(2) {
	color: #fff;
	font-size: calc((18 / 760) * 100vw);
	font-weight: 800;
	letter-spacing: calc(18px * 30 / 1000); 
	line-height: 1.8;
}
@media (hover:hover) {
	.popup button.btn-close { 
		transition: transform ease .3s;
	}
	.popup button.btn-close:hover,
	.popup button.btn-close:focus-within {
		transform: scale(90%);
	}
}
/* PC */
@media screen and (min-width: 761px), print {
	.popup button.btn-close {
		margin-bottom: min(calc((16 / 1400) * 100vw), 16px);
	}
	.popup button.btn-close > span:first-child {
		width: min(calc((48 / 1400) * 100vw), 48px);
		height: min(calc((48 / 1400) * 100vw), 48px);
		padding: min(calc((16 / 1400) * 100vw), 16px);
	}
	.popup button.btn-close > span:first-child::before,
	.popup button.btn-close > span:first-child::after {
		width: min(calc((24 / 1400) * 100vw), 24px);
	}
	.popup button.btn-close > span:nth-child(2) {
		font-size: min(calc((18 / 1400) * 100vw), 1.8rem);
		letter-spacing: calc(18px * 30 / 1000); 
	}
}

.popup .popup__number {
	display: block;
	width: calc((100 / 760) * 100vw);
	height: auto;
	margin-bottom: calc((32 / 760) * 100vw);
}
.popup .popup__ttl {
	color: #fff;
	font-size: calc((39 / 760) * 100vw);
	letter-spacing: calc(39px * 90 / 1000); 
	line-height: 1.2;
	margin-bottom: calc((40 / 760) * 100vw);
}
.popup .popup__ttl .popup__subttl {
	display: block;
	font-size: calc((26 / 760) * 100vw);
	letter-spacing: calc(26px * 50 / 1000); 
	line-height: 1.7;
	margin-top: calc((24 / 760) * 100vw);
}
.popup .popup__contents {
	background-color: #fff;
	border-radius: calc((12 / 760) * 100vw);
	padding: calc((40 / 760) * 100vw) calc((32 / 760) * 100vw);
}
.popup .popup__contents p {
	color: #231815;
	font-size: calc((19 / 760) * 100vw); 
	line-height: 1.7;
}
.popup .popup__contents figure {
	aspect-ratio: 500 / 375;
	/*background-color: #eee;*/
	margin-top: calc((32 / 760) * 100vw);
}
.popup button.btn-back {
	display: block;
	background-color: #4d4d4d;
	color: #fff;
	font-size: calc((22 / 760) * 100vw);
	letter-spacing: calc(22px * 220 / 1000); 
	line-height: 1;
	text-align: center;
	max-width: 425px;
	padding: calc((24 / 760) * 100vw) calc((48 / 760) * 100vw);
	margin: calc((32 / 760) * 100vw) auto 0;
	transition: background ease .3s, color ease .3s;
}
@media (hover:hover) {
	.popup button.btn-back:hover,
	.popup button.btn-back:focus-within {
		background: #fff;
		color: #4d4d4d;
	}
}
/* PC */
@media screen and (min-width: 761px), print {
	.popup .popup__number {
		width: min(calc((100 / 1400) * 100vw), 100px);
		margin-bottom: min(calc((46 / 1400) * 100vw), 46px);
	}
	.popup .popup__ttl {
		font-size: min(calc((39 / 1400) * 100vw), 3.9rem);
		letter-spacing: calc(39px * 90 / 1000); 
		margin-bottom: min(calc((24 / 1400) * 100vw), 24px);
	}
	.popup .popup__ttl .popup__subttl {
		font-size: min(calc((26 / 1400) * 100vw), 2.6rem);
		letter-spacing: calc(26px * 50 / 1000); 
		margin-top: min(calc((14 / 1400) * 100vw), 14px);
	}
	.popup .popup__contents {
		display: flex;
    flex-direction: row;
    column-gap: min(calc((50 / 1400) * 100vw), 50px);
	} 
	.popup .popup__contents p {
		font-size: min(calc((19 / 1400) * 100vw), 1.9rem); 
	}
	.popup .popup__contents figure {
		flex-shrink: 0;
		width: 50%;
		max-width: 500px;
		margin-top: 0;
	}
	.popup button.btn-back {
		font-size: min(calc((22 / 1400) * 100vw), 2.2rem);
		letter-spacing: calc(22px * 220 / 1000); 
		padding: min(calc((20 / 1400) * 100vw), 20px) min(calc((40 / 1400) * 100vw), 40px);
		margin: min(calc((32 / 1400) * 100vw), 32px) auto 0;
		min-width: min(calc((640 / 1400) * 100vw), 640px);
	}
}

.ttl--brm-br {
	color: #fff;
	font-size: calc((30 / 760) * 100vw);
	font-weight: 500;
	letter-spacing: calc(30px * 220 / 1000); 
	line-height: 1.7;
	text-align: center;
	margin-bottom: calc((28 / 760) * 100vw);
}
.ttl--brm-br > span {
	display: block;
	background: linear-gradient(to right, transparent, #fff, transparent) left bottom / 100% 3.5px no-repeat;
	padding-bottom: 4px;
}
/* IE9 - IE11 fallback */
@media all and (-ms-high-contrast: none) {
	.ttl--brm-br > span {
		background: none;
		border-bottom: 3.5px solid #fff;
	}
}
/* PC */
@media screen and (min-width: 761px), print {
	.ttl--brm-br {
		font-size: min(calc((40 / 1400) * 100vw), 4rem);
		letter-spacing: calc(40px * 170 / 1000); 
	}
}

.industry {}
.industry__ttl {
	display: flex;
	align-items: center;
	gap: calc((12 / 760) * 100vw);
	color: #fff;
	font-size: calc((20 / 760) * 100vw);
	letter-spacing: calc(20px * 80 / 1000); 
	line-height: 1.6;
	margin: calc((30 / 760) * 100vw) 0 calc((20 / 760) * 100vw);
}
.industry__ttl::after {
	content: '';
	display: block;
	background-color: #fff;
	width: 100%;
	height: 1px;
}
.industry__ttl > span {
	white-space: nowrap;
}
ul.industry__lists {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 4%;
	color: #fff;
	font-size: calc((21 / 760) * 100vw);
	letter-spacing: calc(21px * 120 / 1000); 
	line-height: 1.5;
}
ul.industry__lists li {
	width: 48%;
	flex-grow: 1;
}
/* PC */
@media screen and (min-width: 761px), print {
	.industry {
		border-bottom: 1px solid #fff;
		padding-bottom: min(calc((32 / 1400) * 100vw), 32px);
	}
	.industry__ttl {
		font-size: min(calc((28 / 1400) * 100vw), 2.8rem);
		letter-spacing: calc(28px * 80 / 1000); 
		line-height: 1.5;
		margin: min(calc((40 / 1400) * 100vw), 40px) 0 min(calc((32 / 1400) * 100vw), 32px);
	}
	ul.industry__lists {
		font-size: min(calc((24 / 1400) * 100vw), 2.4rem);
		letter-spacing: calc(24px * 80 / 1000); 
		line-height: 1.5;
	}
	ul.industry__lists li {
		width: 30%;
	}
}


/* ---------- Specials ---------- */
#specials {
	background: linear-gradient(to bottom, #251e1c, #b2b2b3, #251e1c);
	position: relative;
}
#specials::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background: url("../img/bg_bk.jpg") top left repeat-y;
	background-size: contain;
	mix-blend-mode: screen;
	position: absolute;
	top: 0;
	left: 0; 
}
#specials > .inner {
	position: relative;
	z-index: 1; 
}
.specials {
	padding-top: calc((40 / 760) * 100vw);
  padding-bottom: calc((56 / 760) * 100vw);
}
.special-content {
	margin-bottom: calc((108 / 760) * 100vw);
}
.special-content:last-child {
	margin-bottom: 0; 
}
.special {
	border: 1px solid #fff;
	margin-bottom: calc((36 / 760) * 100vw);
}
.special__ttl {
	color: #fff;
	font-size: calc((41 / 760) * 100vw);
	line-height: 1.3;
	text-align: center;
	text-shadow: 1px 1px 0px #000;
	margin-bottom: calc((24 / 760) * 100vw);
}
.special__ttl > span {
	transform: scaleX(0.97);
}
.special__img {
	position: relative;
}
/*.special__img .img-on-logo {
	width: calc((240 / 760) * 100vw);
	height: calc((84 / 760) * 100vw);
	position: absolute;
	top: calc((10 / 760) * 100vw);
	left: calc((10 / 760) * 100vw);
}*/
.special__img figure {
	aspect-ratio: 3/2;
}
.special__txt {
	background: rgba(0, 0, 0, 0.5);
	padding: calc((24 / 760) * 100vw) calc((32 / 760) * 100vw);
}
.special__txt p {
	color: #fff;
	font-size: calc((22 / 760) * 100vw);
	font-weight: 300;
}
.special__txt .label-ttl {
	color: #fff;
	font-size: calc((25 / 760) * 100vw);
	font-weight: 500;
	line-height: 1.4;
	text-align: center;
	margin-bottom: calc((16 / 760) * 100vw);
}
.special__txt .label-ttl > .marker {
	color: #ffff00;
}
.special__txt .label-ttl + p {
	margin-top: calc((24 / 760) * 100vw);
}
/* PHONE */
@media screen and (max-width: 760px) {
	.has-logo {
		display: flex;
		flex-direction: row;
		column-gap: 4%;
	}
	.has-logo img.img-pc-logo {
		display: block;
		width: calc((200 / 760) * 100vw);
		height: auto;
	}
	.has-logo .label-ttl {
		text-align: left;
		width: calc(100% - ((200 / 760) * 100vw));
	}
}
/* PC */
@media screen and (min-width: 761px), print {
	.special__txt .label-ttl {
		margin-bottom: 0;
	}
}

/* pickup voice */
.pickup-voices {}
.pickup-voice {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	background-color: rgba(51, 51, 51, 0.7);
	border: 1px solid #fff;
}
.pickup-voice__label {
	order: 1;
	
	background: linear-gradient(to right, transparent, #000, transparent);
	color: #fff;
	font-size: calc((26 / 760) * 100vw);
	font-weight: 500;
	line-height: 1;
	letter-spacing: calc(26px * 200 / 1000); 
	text-align: center;
	padding: calc((16 / 760) * 100vw) calc((48 / 760) * 100vw);
}
.pickup-voice__txt {
	order: 3;
	
	color: #fff;
	padding: calc((24 / 760) * 100vw) calc((36 / 760) * 100vw);
}
.pickup-voice__txt p {
	font-size: calc((21 / 760) * 100vw);
	letter-spacing: calc(21px * 50 / 1000);
	line-height: 1.7;
}
.pickup-voice__txt .pickup-voice__name {
	font-size: calc((33 / 760) * 100vw);
	font-weight: 600;
	letter-spacing: calc(33px * 40 / 1000); 
	line-height: 1; 
	margin-bottom: calc((32 / 760) * 100vw);
}
.pickup-voice__txt .pickup-voice__name small {
	font-size: calc((20 / 760) * 100vw);
	font-weight: 400;
	letter-spacing: calc(20px * 90 / 1000); 
}
.pickup-voice__img {
	order: 2;
	
	padding: calc((24 / 760) * 100vw) calc((36 / 760) * 100vw);
}
/* PC */
@media screen and (min-width: 761px), print {
	#specials::before {
		background-image: url("../img/bg_bk_pc.jpg");
	}
	
	.special {
		display: flex;
    flex-direction: row;
    align-items: center;
    border: 0;
		margin-bottom: min(calc((72 / 1400) * 100vw), 72px);
	}
	/* 2の倍数だけ反対 */
	.special:nth-child(odd) {
		flex-direction: row-reverse;
	}
	.special:nth-child(odd) .special__txt { margin-right: auto; }
	.special:nth-child(odd) .special__txt .img-pc-logo { margin-left: 0; }
	
	.special__ttl {
		font-size: min(calc((45 / 1400) * 100vw), 4.5rem);
		text-align: left;
	}
	.special__txt {
		flex-grow: 1;
		background: none;
		padding: 0;
	}
	.special__txt > div {
		padding-top: min(calc((32 / 1400) * 100vw), 32px);
		padding-right: min(calc((24 / 1400) * 100vw), 24px);
		padding-bottom: min(calc((48 / 1400) * 100vw), 48px);
		padding-left: min(calc((72 / 1400) * 100vw), 72px);
	}
	.special__txt > div.has-logo {
		padding: 0; 
	}
	.special__txt p {
		font-size: min(calc((25 / 1400) * 100vw), 2.5rem);
		line-height: 1.7;
	}
	.special__txt .label-ttl {
		background: linear-gradient(to right, transparent, #000);
		font-size: min(calc((28 / 1400) * 100vw), 2.8rem);
		letter-spacing: calc(28px * 120 / 1000); 
		line-height: 1.6;
		text-align: left;
		padding: min(calc((32 / 1400) * 100vw), 32px) min(calc((48 / 1400) * 100vw), 48px);
	}
	.special:nth-child(odd) .special__txt .label-ttl {
		background: linear-gradient(to right, #000, transparent);
	}
	
	.special-content {
		margin-bottom: min(calc((142 / 1400) * 100vw), 142px);
	}
	
	.special__img {
		flex-shrink: 0; 
		width: calc((640 / 1400) * 100vw);
		height: auto;
		max-width: 640px;
	}
	
	.img-pc-logo {
		width: calc((240 / 1400) * 100vw);
		height: calc((84 / 1400) * 100vw);
		max-width: 240px;
		max-height: 84px;
		margin-top: min(calc((24 / 1400) * 100vw), 24px);
		margin-right: min(calc((24 / 1400) * 100vw), 24px);
		margin-bottom: min(calc((24 / 1400) * 100vw), 24px);
		margin-left: min(calc((48 / 1400) * 100vw), 48px);
	}
	
	.pickup-voices {
		border: 0;
	}
	.pickup-voice {
		display: block;
		padding-top:min(calc((88 / 1400) * 100vw), 88px);
		padding-right: min(calc((24 / 1400) * 100vw), 24px);
		padding-bottom: min(calc((32 / 1400) * 100vw), 32px);
		padding-left: min(calc((72 / 1400) * 100vw), 72px);
		position: relative;
	}
	.pickup-voice__label {
		display: inline-block;
		font-size: min(calc((26 / 1400) * 100vw), 2.6rem);
		text-align: left;
		padding: min(calc((16 / 1400) * 100vw), 16px) min(calc((48 / 1400) * 100vw), 48px);
		position: absolute;
		top: 0;
		left: 0;
	}
	.pickup-voice__txt {
		padding: 0;
	}
	.pickup-voice__txt p {
		font-size: min(calc((19 / 1400) * 100vw), 1.9rem);
		letter-spacing: calc(19px * 50 / 1000);
		line-height: 1.6;
	}
	.pickup-voice__txt .pickup-voice__name {
		font-size: min(calc((32 / 1400) * 100vw), 3.2rem);
    letter-spacing: calc(32px * 90 / 1000);
    margin-bottom: min(calc((24 / 1400) * 100vw), 24px);
	}
	.pickup-voice__txt .pickup-voice__name small {
		font-size: min(calc((21 / 1400) * 100vw), 2.1rem);
    letter-spacing: calc(21px * 90 / 1000);
	}
	.pickup-voice__img {
		float: right;
		width: calc((550 / 1400) * 100vw);
		height: auto;
    max-width: 550px;
    padding: 0;
		position: relative;
		margin-top: -15%;
		margin-left: min(calc((72 / 1400) * 100vw), 72px);
	}
}


/* コンテンツ多：pickup voice */
.pickup-voices_L {}
.pickup-voices_L .pickup-voice {
	display: block;
	color: #fff;
	border: 0;
	padding: min(calc((32 / 760) * 100vw), 64px) min(calc((40 / 760) * 100vw), 48px);
}
.pickup-voice__txt .pickup-voice__ttl {
	font-size: min(calc((32 / 760) * 100vw), 3.2rem);
  letter-spacing: calc(32px * 90 / 1000);
	line-height: 1.5;
	margin-bottom: 24px;
}
.pickup-voices_L .pickup-voice__txt {
	padding: 0;
}
.pickup-voices_L .pickup-voice__txt p {}
.pickup-voices_L .pickup-voice__txt .pickup-voice__name {}
.pickup-voices_L .pickup-voice__txt .pickup-voice__name small {}
.pickup-voices_L .pickup-voice__img {
	float: none;
	padding: 0;
	margin: 0 0 0 auto;
}
.pickup-voices_L .pickup-voice__main {
	border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  padding: min(calc((48 / 760) * 100vw), 48px) 0;
	margin-top: min(calc((64 / 760) * 100vw), 48px);
	margin-bottom: min(calc((48 / 760) * 100vw), 40px);
}
.pickup-voice__foot {}
/* PC */
@media screen and (min-width: 761px), print {
	.pickup-voices_L .pickup-voice {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
	.pickup-voices_L .pickup-voice__txt {
		grid-area: 1 / 1;
	}
	.pickup-voices_L .pickup-voice__img {
		grid-area: 1 / 2;
	}
	.pickup-voices_L .pickup-voice__main {
		grid-area: 2 / 1 / 2 / 4;
		padding-left: min(calc((48 / 1400) * 100vw), 48px);
		padding-right: min(calc((48 / 1400) * 100vw), 48px);
	}
	.pickup-voice__foot {
		grid-area: 3 / 1 / 3 / 4;
	}
}

.imgboxs {}
.imgboxs .imgbox { margin-bottom: min(calc((32 / 760) * 100vw), 64px); }
.imgboxs .imgbox:last-child { margin-bottom: 0; }
.imgboxs .imgbox > .imgbox__img {
	display: flex;
  align-items: center;
	flex-direction: row;
	column-gap: calc((24 / 760) * 100vw);
	margin-bottom: 10px;
}
.imgboxs .imgbox > .imgbox__img > img {
	order: 2;
	aspect-ratio: 4 / 3;
	width: 60%;
}
.imgboxs .imgbox > .imgbox__img > figcaption {
	order: 1;
  margin-right: auto;
}
.imgboxs .imgbox > .imgbox__txts {}
@media screen and (max-width: 560px) {
	.imgboxs .imgbox > .imgbox__img {
		flex-direction: column;
	}
	.imgboxs .imgbox > .imgbox__img > img {
		width: 100%;
		margin: 10px 0;
	}
}
/* PC */
@media screen and (min-width: 761px), print {
	.imgboxs .imgbox {
		display: flex;
		flex-wrap: wrap;
		flex-direction: row;
		column-gap: min(calc((56 / 1400) * 100vw), 56px);
	}
	.imgboxs .imgbox > .imgbox__img {
		display: block;
	}
	.imgboxs .imgbox > .imgbox__img > img {
		width: 100%;
		max-width: 308px;
  	max-height: 231px;
	}
	.imgboxs .imgbox > .imgbox__txts {
	  width: calc(100% - 308px - 56px);
	}
}


/* ---------- FOOTER ---------- */
.footer {
	background: linear-gradient(to right, #00b9ef, #a8cc07); 
	padding-top: calc((56 / 760) * 100vw);
}
/* PC */
@media screen and (min-width: 761px), print {
	.footer {
		padding-top: min(calc((64 / 1400) * 100vw), 64px);
	}
}

ul.fnav {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	row-gap: calc((40 / 760) * 100vw);
	column-gap: 10%;
	margin-bottom: calc((48 / 760) * 100vw);
}
ul.fnav > li {
	border-left: 1px solid #fff;
	border-right: 1px solid #fff;
	font-size: calc((30 / 760) * 100vw);
	letter-spacing: calc(30px * 100 / 1000); 
	line-height: 1.7;
	text-align: center;
	width: 45%;
}
ul.fnav > li:first-child { width: 100%; }
ul.fnav > li:last-child { letter-spacing: calc(30px * 50 / 1000);  }
ul.fnav > li > a {
	display: flex;
	justify-content: center;
  align-items: center;
	color: #fff;
	width: 100%;
  height: 100%;
	padding: calc((16 / 760) * 100vw);
}
/* PC */
@media screen and (min-width: 761px), print {
	ul.fnav {
		row-gap: min(calc((48 / 1400) * 100vw), 48px);
		margin: 0 auto min(calc((70 / 1400) * 100vw), 70px);
		max-width: 50%;
	}
	ul.fnav > li {
		font-size: min(calc((32 / 1400) * 100vw), 3.2rem);
		letter-spacing: calc(32px * 100 / 1000); 
	}
	ul.fnav > li > a { padding: 0; }
}

.footer__btm {
	background-color: #fff;
}
.footer__btm > .inner {
	padding: calc((44 / 760) * 100vw) calc((56 / 760) * 100vw) calc((20 / 760) * 100vw);
}
/* PC */
@media screen and (min-width: 761px), print {
	.footer__btm > .inner {
		padding: calc((56 / 1400) * 100vw) calc((100 / 1400) * 100vw) calc((64 / 1400) * 100vw);
	}
}

a.flogo {
	display: block;
	width: min(calc((320 / 760) * 100vw), 392px);
	height: auto;
	margin: auto auto calc((24 / 760) * 100vw);
}
/* PC */
@media screen and (min-width: 761px), print {
	a.flogo {
		width: calc((392 / 1400) * 100vw);
		max-width: 392px;
		height: auto;
		margin-bottom: min(calc((40 / 1400) * 100vw), 40px);
	}
}

p.copyright {
	color: #000;
	font-size: calc((19 / 760) * 100vw);
	line-height: 1.7;
	text-align: center;
}
/* PC */
@media screen and (min-width: 761px), print {
	p.copyright {
		font-size: min(calc((21 / 1400) * 100vw), 2.1rem);
	}
}

/* animation */
.fadein { opacity: 0; }
.fadein.is-active { animation: fadeIn 0.35s forwards; }
@keyframes fadeIn { 
	from { opacity: 0; }
  to { opacity: 1; } 
}


.flexbox {
	display: flex;
  flex-wrap: wrap;
	column-gap: 13%;
	flex-direction: row;
}
.flexbox.col2 .flexbox__item {
	width: 43.5%;
}

.flexbox--align-top { align-items: flex-start; }
.flexbox--align-btm { align-items: flex-end; }
.flexbox--align-center { align-items: center; }

.mgb24 { margin-bottom: min(calc((24 / 760) * 100vw), 24px); }
.mgb30 { margin-bottom: min(calc((30 / 760) * 100vw), 30px); }
.mgb48 { margin-bottom: min(calc((48 / 760) * 100vw), 48px); }
.mgb56 { margin-bottom: min(calc((56 / 760) * 100vw), 56px); }

.fs28 { font-size: min(calc((28 / 760) * 100vw), 2.8rem); }
.fs--txt { font-size: min(calc((21 / 760) * 100vw), 1.7rem); }
.fs--txt02 { font-size: min(calc((26 / 760) * 100vw), 2.2rem); }

.wrap-txt {}
.wrap-txt > span { display: inline-block; }

.bold { font-weight: 600; }

.uppercase { text-transform: uppercase; }
.lowercase { text-transform: lowercase; }