body {
	color: #1C1C1C;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
}

.u-desktop {
	display: block;
}

.u-mobile {
	display: none;
}

/* リキッドレイアウト対応 */

/* ===== コピペここから ===== */

/* ここ、スマホファーストで固定 16px。
   rem が要らんなら「vw／px 直書き」で済むから
   わざわざ可変フォントサイズにしない。
*/

html {
	font-size: 16px;
}

/* —— 626px のインナー制限 —— */

.inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 626px;
	padding-left: 11px;
	padding-right: 11px;
}

/* ===== コピペここまで ===== */

*,
*::before,
*::after {
	box-sizing: border-box;
}

/* Remove default padding */

ul,
ol {
	padding: 0;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
	margin: 0;
}

/* Set core root defaults */

html {
	scroll-behavior: smooth;
}

/* Set core body defaults */

body {
	line-height: 1.5;
	min-height: 100vh;
	text-rendering: optimizeLegibility;
}

/* Remove list styles on ul, ol elements with a class attribute */

ul,
ol {
	list-style: none;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
	-webkit-text-decoration-skip: ink;
	text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img {
	display: block;
	max-width: 100%;
	width: 100%;
}

/* Natural flow and rhythm in articles by default */

article > * + * {
	margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
	font: inherit;
}

/* Blur images when they have no alt attribute */

img:not([alt]) {
	filter: blur(10px);
}

/* フォームリセット */

input,
button,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	font: inherit;
	outline: none;
}

textarea {
	resize: vertical;
}

input[type=checkbox],
input[type=radio] {
	display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
	cursor: pointer;
}

select::-ms-expand {
	display: none;
}

/* ホバー */

a {
	-webkit-text-decoration: none;
	color: inherit;
	text-decoration: none;
	transition: opacity 0.3s;
}

.access {
	background: transparent url(../../images/yfd-guide/access-bg.png) no-repeat center center/cover;
	margin-top: -40px;
	padding: 90px 0 65px;
}

.access h2 {
	margin: 0 auto;
	width: min(52%, 400px);
}

.access__wrapper {
	margin: 40px auto 0;
	position: relative;
	width: min(92%, 750px);
}

.access__img1 {
	margin-left: -1%;
}

.access__img2 {
	bottom: 22%;
	height: 35%;
	left: 22%;
	position: absolute;
	width: 29%;
}

.access__img3 {
	height: 21%;
	left: 36%;
	position: absolute;
	top: 23%;
	width: 34%;
}

.access__img4 {
	bottom: -8%;
	height: 43%;
	position: absolute;
	right: 8%;
	width: 20%;
}

.access__img5 {
	height: 24%;
	position: absolute;
	right: -1%;
	top: -21%;
	width: 22%;
}

.access__img6 {
	height: 22%;
	position: absolute;
	right: 13%;
	top: 21%;
	width: 17%;
}

.access__img7 {
	height: 19%;
	position: absolute;
	right: -1%;
	top: 3%;
	width: 48%;
}

.access__img8 {
	bottom: 36%;
	height: 23%;
	position: absolute;
	right: -1%;
	width: 45%;
}

.access__img9 {
	height: 38%;
	left: -2%;
	position: absolute;
	top: -1%;
	width: 37%;
}

/* リンクホバー */

/* ── ここに “跳ねさせたい” リンクを列挙 ── */

.pc-left ul li a:hover,
.pc-right ul li a:hover,
.tap ul li a:hover,
.night__btns li a:hover .night__btn-link,
.oc a:hover,
.links ul li a:hover {
	animation: hover-bounce 0.5s ease;
}

/* ふわっと拡大 */

/* ホバー → 画像を拡大 */

.cta ul li a:hover img,
.course__btn ul li a:hover img,
.night ul li a:hover img,
.bottom__icons a:hover img {
	animation: hover-zoom 0.4s ease forwards;
}

/* ── 上下にふわふわ ── */

/* ── 拡大縮小 ── */

.u-pulse {
	animation: pulse-scale 1.6s ease-in-out infinite;
	transform-origin: center;
}

/* ── ぽよぽよ拡大縮小する ── */

.poyopoyo {
	animation: poyopoyo 2s ease-out infinite;
	opacity: 1;
}

/* ── ぴょこぴょこ上下する ── */

/* どこでも使える “ゆるバウンス” クラス  */

.u-bounce {
	animation: pyoco 2.4s ease-in-out infinite;
	transform-origin: center;
}

/* === pj 専用ぴょこ 2025-07-07 === */

.u-pj-bounce {
	animation: pyoco 2.4s ease-in-out infinite;
	animation-play-state: paused; /* 初期停止 */
	transform-origin: center;
}

.u-pj-bounce.aos-animate {
	animation-play-state: running;
}

/* project画像を交互に遅延 */

.project1-img.u-pj-bounce.aos-animate {
	animation-delay: 0s;
}

.project2-img.u-pj-bounce.aos-animate {
	animation-delay: 1.2s;
}

.course {
	background: transparent url(../../images/yfd-guide/course-bg.png) no-repeat top 100px center/contain;
	margin-top: -3.75rem;
	padding: 9.875rem 0 0;
}

.course h2 {
	margin: 0 auto;
	width: 42%;
}

.course__btn {
	margin: 1.25rem auto 0;
	position: relative;
	width: min(93.5%, 800px);
	z-index: 0;
}

.course__btn-img {
	height: 14em;
	position: absolute;
	right: -7%;
	top: -38%;
	width: 13.5em;
	z-index: -1;
}

.course__btn-head {
	align-items: end;
	display: flex;
	font-size: 1rem;
	justify-content: center;
	margin: 0 auto;
	position: relative;
	text-align: center;
	width: -moz-fit-content;
	width: fit-content;
}

.course__btn-head::before,
.course__btn-head::after {
	background-color: #1C1C1C;
	content: "";
	display: block;
	height: 1.25rem;
	width: 0.125rem;
}

.course__btn-head::before {
	margin-right: 1.3125rem;
	transform: rotate(-30deg);
}

.course__btn-head::after {
	margin-left: 1.3125rem;
	transform: rotate(30deg);
}

.course__btn ul {
	grid-gap: 0 2%;
	display: grid;
	gap: 0 2%;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 0.625rem;
}

.course__btn ul li {
	border: 2px solid #1C1C1C;
	border-radius: 0.625rem;
	font-family: "nitalago-ruika";
	font-weight: 100;
	text-align: center;
}

.course__btn-t {
	background: #fff;
	border-radius: 0.625rem 0.625rem 0 0;
	font-size: 1.5625rem;
	padding: 0.5rem 0;
}

.course__btn-m {
	aspect-ratio: 554/288;
	height: auto;
	overflow: hidden;
	transition: all 0.3s;
	width: 100%;
}

.course__btn-m img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.course__btn-b {
	background: #fff;
	border-radius: 0 0 0.625rem 0.625rem;
	font-size: 1.125rem;
	line-height: 1.22222;
	padding: 0.625rem 0 0.3125rem;
	position: relative;
}

.course__btn-b span {
	-webkit-clip-path: polygon(100% 0, 0 0, 52% 100%);
	background: #1C1C1C;
	bottom: -1.1em;
	clip-path: polygon(100% 0, 0 0, 52% 100%);
	content: "";
	height: 32%;
	left: 50%;
	position: absolute;
	position: absolute;
	transform: translateX(-50%);
	width: 27%;
}

.creative {
	margin-top: 2.8125rem;
}

.creative__head,
.business__head {
	position: relative;
}

.creative__head::before,
.business__head::before {
	background: #fff;
	content: "";
	height: 78%;
	left: 50%;
	position: absolute;
	top: 56%;
	transform: translate(-50%, -50%);
	width: 100%;
	z-index: -1;
}

.creative__head-img,
.business__head-img {
	height: auto;
	left: 50%;
	overflow: hidden;
	position: absolute;
	top: 56.5%;
	transform: translate(-50%, -50%);
	width: 100%;
	z-index: -1;
}

/* =====================================
   creative__head-img ― 斜め下からヌルり
   ===================================== */

/* 初期値：ちょい大・斜め下・透明 */

[data-aos=course-img] img {
	opacity: 0;
	transform: translate(-6%, 8%) scale(1.25); /* ← 好みで調整 */
	transition: opacity 0.6s ease-out, transform 1.8s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ビューポート IN → .aos-animate が付いた瞬間に定位置へ */

[data-aos=course-img].aos-animate img {
	opacity: 1;
	transform: translate(0, 0) scale(1);
}

.creative-m {
	background: transparent url(../../images/yfd-guide/creative-top-bg.png) no-repeat top center/cover;
}

.course__main-m {
	padding: 2.3125rem 6.25rem 12.5rem;
}

.course__main-m1 {
	font-family: "nitalago-ruika";
	font-size: 1.875rem;
	font-weight: 100;
	line-height: 1.36666;
}

.course__main-m2 {
	font-size: 1rem;
	line-height: 1.5625;
	margin-top: 0.9375rem;
}

.course__main-m3 {
	font-size: 1rem;
	line-height: 1.5625;
	margin-top: 0.8125rem;
}

.course__main-m3 > div {
	border: 2px solid #1C1C1C;
	border-radius: 1.1875rem;
	padding: 0.3125rem 0;
	text-align: center;
	width: 10.3125rem;
}

.course__main-m3 p {
	letter-spacing: 1px;
	margin-top: 0.4375rem;
}

.creative-b {
	background: transparent url(../../images/yfd-guide/creative-bottom-bg.png) no-repeat top center/cover;
	margin-top: -6.25rem;
	padding: 4.6875rem 0 7.1875rem;
	position: relative;
}

.course__main-b-inner {
	padding: 0 1.25rem;
}

.course__main-b-item {
	position: relative;
}

.creative-b__item2 {
	margin-top: 1.5625rem;
}

.creative-b__item3 {
	margin-top: 7.1875rem;
}

.creative-b__item4 {
	margin-top: 4.0625rem;
}

.course__main-b-img {
	position: absolute;
}

.creative-b__item1 .course__main-b-img {
	bottom: 8%;
	left: -4%;
	width: 73%;
}

.creative-b__item2 .course__main-b-img {
	right: -2%;
	top: -8%;
	width: 72%;
}

.creative-b__item3 .course__main-b-img {
	bottom: -15%;
	left: -3%;
	width: 71%;
}

.creative-b__item4 .course__main-b-img {
	bottom: -17%;
	right: -1%;
	width: 71%;
}

.course__main-b-text {
	background: #fff;
	border: 2px solid #1C1C1C;
	border-radius: 0.625rem;
	padding: 0.625rem 1.125rem 0.8125rem;
	position: relative;
}

.course__main-b-text > div {
	font-family: "nitalago-ruika";
	font-weight: 100;
	text-align: center;
}

.creative .course__main-b-text > div {
	font-size: 1.5625rem;
}

.business .course__main-b-text > div {
	font-size: 1.375rem;
}

.course__main-b-text > div span {
	display: block;
	font-size: 1rem;
	line-height: 1;
}

.course__main-b-text p {
	font-size: 0.875rem;
	letter-spacing: 0.5px;
	line-height: 1.57142;
	margin-top: 0.3125rem;
}

.course__main-b-item:nth-of-type(odd) .course__main-b-text {
	margin-left: auto;
}

.course__main-b-item:nth-of-type(even) .course__main-b-text {
	margin-right: auto;
}

.course__item1 .course__main-b-text {
	width: 53%;
}

.course__item2 .course__main-b-text {
	width: 46%;
}

.course__item3 .course__main-b-text {
	width: 47%;
}

.course__item4 .course__main-b-text {
	width: 45%;
}

.course__main-b-text::before,
.course__main-b-text::after {
	border-style: solid;
	content: "";
	position: absolute;
}

.creative-b__item1 .course__main-b-text::before,
.creative-b__item3 .course__main-b-text::before,
.business-b__item1 .course__main-b-text::before,
.business-b__item3 .course__main-b-text::before {
	border-color: transparent #000000 transparent transparent;
	border-width: 10.5px 15px 10.5px 0;
	left: 0;
	top: 29%;
	translate: -100% -50%;
}

.creative-b__item1 .course__main-b-text::after,
.creative-b__item3 .course__main-b-text::after,
.business-b__item1 .course__main-b-text::after,
.business-b__item3 .course__main-b-text::after {
	border-color: transparent #ffffff transparent transparent;
	border-width: 8.1px 11.5px 8.1px 0;
	left: 0;
	top: 29%;
	translate: -100% -50%;
}

.creative-b__item2 .course__main-b-text::before,
.creative-b__item4 .course__main-b-text::before,
.business-b__item2 .course__main-b-text::before,
.business-b__item4 .course__main-b-text::before {
	border-color: transparent transparent transparent #000000;
	border-width: 10.5px 0 10.5px 15px;
	right: 0;
	top: 50%;
	translate: 100% -50%;
}

.creative-b__item2 .course__main-b-text::after,
.creative-b__item4 .course__main-b-text::after,
.business-b__item2 .course__main-b-text::after,
.business-b__item4 .course__main-b-text::after {
	border-color: transparent transparent transparent #ffffff;
	border-width: 8.1px 0 8.1px 11.5px;
	right: 0;
	top: 50%;
	translate: 100% -50%;
}

.business {
	margin-top: 2.1875rem;
}

.business-m {
	background: transparent url(../../images/yfd-guide/business-top-bg.png) no-repeat top center/cover;
}

.business-b {
	background: transparent url(../../images/yfd-guide/business-bottom-bg.png) no-repeat top center/cover;
	margin-top: -6.25rem;
	padding: 4.6875rem 0 8.75rem;
	position: relative;
}

.business-b__item2 {
	margin-top: 1.5625rem;
}

.business-b__item3 {
	margin-top: 7.1875rem;
}

.business-b__item4 {
	margin-top: 4.0625rem;
}

.business-b__item1 .course__main-b-img {
	bottom: 8%;
	left: -4%;
	width: 73%;
}

.business-b__item2 .course__main-b-img {
	right: -2%;
	top: -11%;
	width: 72%;
}

.business-b__item3 .course__main-b-img {
	bottom: -15%;
	left: -3%;
	width: 71%;
}

.business-b__item4 .course__main-b-img {
	right: -1%;
	top: -32%;
	width: 71%;
}

.course__pickup {
	animation: fuwafuwa 4s ease-in-out infinite;
	height: 7.9375rem;
	position: absolute;
	right: 12em;
	top: -5em;
	transform-origin: center bottom;
	width: 8.25rem;
	z-index: 1;
}

.course__pickup-img { /* === star 型をそのままマスクに利用して光をはみ出させない ===== */
	-webkit-mask-image: url("../../images/yfd-guide/pick-up.png");
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-image: url("../../images/yfd-guide/pick-up.png");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	overflow: hidden;
	position: relative;
}

.course__pickup-img::after {
	animation: 4s 0s shine linear infinite;
	background: linear-gradient(to right, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.6) 50%, rgba(255, 255, 255, 0) 75%);
	content: "";
	height: 100%;
	left: -100%;
	position: absolute;
	top: 0;
	transform: skewX(-15deg);
	width: 100%;
}

.course__pickup-img:hover {
	color: #fff;
}

.cta {
	background: transparent url(../../images/yfd-guide/cta-bg.png) no-repeat center center/cover;
	margin-top: -4.375rem;
	padding: 3.875rem 0;
	position: relative;
}

.cta2 {
	margin-top: -3.125rem;
}

.cta ul {
	grid-gap: 0 2%;
	display: grid;
	gap: 0 2%;
	grid-template-columns: repeat(2, 1fr);
	margin: 0 auto;
	width: 94%;
}

.bottom {
	background: linear-gradient(to bottom, #2ED93D, #2ED9A4);
	margin-top: -2.5rem;
	padding: 5rem 0 65px;
	position: relative;
	z-index: -1;
}

.bottom__logo {
	display: block;
	margin: 0 auto;
	width: 9%;
}

.bottom__address {
	color: #fff;
	font-size: 1rem;
	line-height: 1.5625;
	margin-top: 0.75rem;
	text-align: center;
}

.bottom__address p:nth-of-type(n + 2) {
	margin-top: 0.3125rem;
}

.bottom__icons {
	grid-gap: 0 7%;
	display: grid;
	gap: 0 7%;
	grid-template-columns: 25% 25% 37%;
	margin: 1.875rem auto 0;
	width: 27%;
}

.bottom__address p a[href^="tel:"] {
	pointer-events: none;
}

.fv {
	align-items: center;
	display: flex;
	height: 802px;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.fv__text,
.fv__img {
	transition: 1s;
}

.fv__img {
	position: absolute;
	top: 0;
	width: 100%;
}

.fv__text-wrapper {
	position: absolute;
	right: 5%;
	top: 8%;
	width: 46%;
	z-index: 2;
}

.fv__text {
	overflow: hidden;
	position: relative;
}

/*fvテキスト───────────── */

.fv__text::before {
	animation: text-wrap 2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
	background: #fff;
	bottom: 0;
	content: "";
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	width: 101%;
	z-index: 1;
}

/* ── ▼ キーフレーム ───────────── */

/* ── ▼ fv__img 本体 ───────────── */

.fv__img {
	overflow: hidden;
}

/* 上下 50% を覆う白マスク */

.fv__img::before,
.fv__img::after { /* text-wrap (2s) が終わってから 2s かけてスライド */
	animation: 2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
	animation-delay: 1s;
	background: #fff;
	content: "";
	height: 50%;
	left: 0;
	pointer-events: none;
	position: absolute;
	width: 100%;
	z-index: 1;
}

.fv__img::before {
	animation-name: img-wrap-before;
	top: 0;
}

.fv__img::after {
	animation-name: img-wrap-after;
	bottom: 0;
}

/* --- クリック用ロゴリンク ------------------------------ */

.fv__logo-link {
	aspect-ratio: 1/1; /* 正方形を確保 */
	display: block;
	left: 0;
	position: absolute;
	top: 0;
	width: 110px;
	z-index: 3; /* テキストより上に配置 */
}

.fv__foreigner {
	display: block;
	opacity: 0; /* 初期は非表示 */
	position: absolute;
	right: 0;
	top: 0;
	transition: opacity 0.4s ease;
	width: 44%;
}

.fv__foreigner.is-show {
	opacity: 1; /* アニメ終了後にフェードイン */
}

.fv__foreigner span {
	bottom: 0;
	display: block;
	left: 0;
	pointer-events: none;
	position: relative;
	position: absolute;
	right: 0;
	top: 0;
}

.fv__foreigner span::after {
	background: transparent url(../../images/yfd-guide/arrow.png) no-repeat center right/contain;
	content: "";
	height: 1em;
	position: absolute;
	right: 8%;
	top: 55%;
	transform: translateY(-50%);
	transition: right 0.3s ease;
	width: 1em;
}

/* ── ホバーで矢印を右へ ───────────── */

.fv__foreigner:hover span::after {
	right: 6%;
}

.graduate {
	background: transparent url(../../images/yfd-guide/graduate-bg.png) no-repeat top 60px center/contain;
	padding: 8.125rem 0 3.4375rem;
	position: relative;
}

.graduate h2 {
	margin: 0 auto;
	width: 70%;
}

.graduate__lead {
	font-size: 0.875rem;
	letter-spacing: 0.6px;
	line-height: 1.78571;
	margin: 1.25rem auto 0;
	text-align: center;
	width: 62%;
}

.graduate__top {
	margin-top: 1.875rem;
	position: relative;
	z-index: 1;
}

.graduate__top-text {
	background: #fff;
	border: 3px solid #FA6FBF;
	border-radius: 1.25rem;
	color: #FA6FBF;
	margin-left: auto;
	margin-right: 1.25rem;
	padding: 1.25rem 4% 5rem;
	width: 70%;
}

.graduate__top-head {
	font-family: "nitalago-ruika";
	font-size: 1.5625rem;
	font-weight: 100;
	padding-left: 33%;
}

.graduate__top-detail {
	font-size: 0.875rem;
	letter-spacing: 0.5px;
	line-height: 1.78571;
	padding-left: 41%;
}

.graduate__top-img1 {
	margin-left: -10%;
	margin-top: -14.375rem;
	position: relative;
	width: 67%;
	z-index: 1;
}

.graduate__top-img2 {
	margin-left: auto;
	margin-right: -10%;
	margin-top: -15rem;
	position: relative;
	width: 67%;
	z-index: 1;
}

.graduate__bottom {
	margin-top: -3.4375rem;
	position: relative;
}

.graduate__bottom-text {
	background: #fff;
	border: 3px solid #FF7F00;
	border-radius: 1.25rem;
	color: #FF7F00;
	margin-left: 1.25rem;
	padding: 1.4375rem 5% 5rem;
	width: 78%;
}

.graduate__bottom-head {
	font-family: "nitalago-ruika";
	font-size: 1.5625rem;
	font-weight: 100;
}

.graduate__bottom-detail {
	font-size: 0.875rem;
	letter-spacing: 0.2px;
	line-height: 1.78571;
	margin-top: 0.625rem;
}

.graduate__bottom-img {
	margin: -4.0625rem 1.25rem 0 auto;
	position: relative;
	width: 82%;
}

.graduate__bottom-img2 {
	animation: fuwafuwa 4s ease-in-out infinite;
	bottom: -2em;
	height: 11.4375rem;
	left: -4em;
	position: absolute;
	transform-origin: center bottom;
	width: 11.9375rem;
}

.inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 676px;
	padding-left: 25px;
	padding-right: 25px;
	width: 100%;
}

.interview {
	background: transparent url(../../images/yfd-guide/interview-bg.png) no-repeat center center/cover;
	padding: 45px 0 65px;
}

.interview h2 {
	margin: 0 auto;
	width: min(58%, 500px);
}

.interview ul {
	margin-top: 15px;
}

.interview2 {
	margin-top: -50px;
}

.interview3 {
	margin-top: -65px;
}

.interview1 .interview__inner {
	background: transparent url(../../images/yfd-guide/interview1-bg.png) no-repeat center left -40px/100% 345px;
	padding: 82px 136px 82px 65px;
	position: relative;
	width: 88%;
}

.interview2 .interview__inner {
	background: transparent url(../../images/yfd-guide/interview2-bg.png) no-repeat center right -40px/contain;
	margin-left: auto;
	padding: 85px 16px 82px 210px;
	position: relative;
	width: 88%;
}

.interview3 .interview__inner {
	background: transparent url(../../images/yfd-guide/interview1-bg.png) no-repeat center left -40px/100% 309px;
	padding: 95px 130px 72px 65px;
	position: relative;
	width: 88%;
}

.interview__head {
	font-size: 20px;
	font-weight: 900;
}

.interview1 .interview__head,
.interview3 .interview__head {
	color: #fff;
}

.interview__detail {
	letter-spacing: 1px;
	line-height: 1.4375;
	margin-top: 3px;
}

.interview__detail span {
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	font-size: 16px;
	padding: 0 0.3em;
}

.interview1 .interview__detail span,
.interview3 .interview__detail span {
	background: #CCF5E4;
}

.interview2 .interview__detail span {
	background: #FFF4D8;
}

.interview__bottom {
	margin-top: 15px;
}

.interview1 .interview__bottom,
.interview3 .interview__bottom {
	color: #fff;
	padding-right: 32px;
	text-align: right;
}

.interview2 .interview__bottom {
	text-align: left;
}

.interview__bottom1 {
	font-size: 14px;
}

.interview__bottom2 {
	font-size: 20px;
	font-weight: 900;
	line-height: 1.1;
}

.interview1 img {
	bottom: -28%;
	height: auto;
	position: absolute;
	right: -9%;
	width: 239px;
}

.interview2 img {
	height: auto;
	left: -14%;
	position: absolute;
	top: 8%;
	width: 283px;
}

.interview3 img {
	height: auto;
	position: absolute;
	right: -9%;
	top: 10%;
	width: 186px;
}

.intro {
	background: transparent url(../../images/yfd-guide/intro-bg.png) no-repeat center center/cover;
	margin-top: -40px;
	padding: 85px 0 85px;
	position: relative;
	z-index: -1;
}

.intro__inner {
	padding: 0 1.25rem;
}

.intro__title {
	width: 59%;
}

.intro__text p {
	line-height: 1.2;
	margin-top: 25px;
}

.intro__text p span {
	background-color: #fff;
	display: block;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.2;
	width: -moz-fit-content;
	width: fit-content;
}

.intro__text p span:nth-of-type(n + 2) {
	margin-top: 16px;
}

.intro__img {
	bottom: -5%;
	position: absolute;
	right: -6%;
	width: 56%;
	z-index: -1;
}

.links {
	background-image: linear-gradient(90deg, #FFF258, #FFC364);
	border-radius: 3.125rem 3.125rem 0 0;
	margin-top: -2.5rem;
	padding: 1.5625rem 0 5.625rem;
	position: relative;
}

.links h2 {
	margin: 0 auto;
	width: 29%;
}

.links ul {
	grid-gap: 1.25rem 0;
	display: grid;
	gap: 1.25rem 0;
	grid-template-columns: 1fr;
	margin: 1.25rem auto 0;
	width: 63%;
}

.links ul li a {
	background: #fff;
	border: 3px solid #1C1C1C;
	border-radius: 0.625rem;
	display: block;
	font-size: 1.25rem;
	height: 100%;
	letter-spacing: 2px;
	padding: 1.3125rem 0;
	position: relative;
	text-align: center;
	width: 100%;
}

.links ul li a::before {
	background: transparent url(../../images/yfd-guide/links-btn.png) no-repeat center right/contain;
	content: "";
	height: 1.75rem;
	position: absolute;
	position: absolute;
	right: 5%;
	top: 50%;
	transform: translateY(-50%);
	width: 1.75rem;
}

.links__img {
	height: auto;
	left: 3%;
	position: absolute;
	top: -2em;
	width: 7.5em;
}

.main-wrapper {
	background: #fff;
	border-left: #2ED93D 5px solid;
	border-right: #2ED93D 5px solid;
	margin-left: auto;
	margin-right: auto;
	overflow: hidden;
	position: relative;
	width: 626px;
	z-index: 0;
}

.more {
	background: transparent url(../../images/yfd-guide/more-bg.png) no-repeat center center/cover;
	padding: 4.6875rem 0 6.25rem;
	position: relative;
	z-index: 0;
}

.more__inner {
	padding: 0 1.25rem;
}

.more__arrow {
	display: block;
	position: relative;
	width: 100%;
}

.more__arrow::before {
	-webkit-clip-path: polygon(100% 0, 0 0, 52% 100%);
	background: #FFE200;
	clip-path: polygon(100% 0, 0 0, 52% 100%);
	content: "";
	height: 40px;
	left: 50%;
	position: absolute;
	top: -3.5em;
	transform: translateX(-50%);
	width: 144px;
}

.more__head {
	align-items: end;
	display: flex;
	font-size: 1rem;
	justify-content: center;
	margin: 0 auto;
	position: relative;
	text-align: center;
	width: -moz-fit-content;
	width: fit-content;
}

.more__head::before,
.more__head::after {
	background-color: #1C1C1C;
	content: "";
	display: block;
	height: 1.25rem;
	width: 0.125rem;
}

.more__head::before {
	margin-right: 1.3125rem;
	transform: rotate(-30deg);
}

.more__head::after {
	margin-left: 1.3125rem;
	transform: rotate(30deg);
}

.more__wrapper {
	background: #fff;
	border: 3px solid #1C1C1C;
	border-radius: 1.25rem;
	margin-top: 0.9375rem;
	padding: 1.6875rem 3.5%;
	position: relative;
	width: min(98%, 800px);
}

.more__wrapper::before {
	background: #fff;
	border: 3px solid #1C1C1C;
	border-radius: 1.25rem;
	content: "";
	height: 101%;
	left: 0.5em;
	position: absolute;
	top: 0.5em;
	width: 101%;
	z-index: -1;
}

.more__detail + .more__detail {
	margin-top: 0.875rem;
}

.more__wrapper h3 {
	border-bottom: 3px solid #1C1C1C;
	font-family: "nitalago-ruika";
	font-size: 1.5625rem;
	font-weight: 100;
	letter-spacing: 3px;
	line-height: 1.36;
	padding-bottom: 1em;
	padding-left: 2%;
	position: relative;
}

.more__item1 .more__wrapper h3 {
	padding-bottom: 1em;
}

.more__item2 .more__wrapper h3 {
	padding-bottom: 0.5em;
}

.more__lead {
	font-size: 0.875rem;
	letter-spacing: 0.5px;
	line-height: 1.85714;
	margin-top: 1.25rem;
}

.more__detail-head {
	font-size: 1.25rem;
	font-weight: 900;
	letter-spacing: 0.5px;
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
	z-index: 0;
}

.more__detail-head::before {
	background: #FFE200;
	content: "";
	height: 94%;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 104%;
	z-index: -1;
}

.more__detail p {
	font-size: 0.875rem;
	line-height: 1.78571;
	margin-top: 0.3125rem;
}

.more__bottom {
	font-size: 0.875rem;
	line-height: 1.5;
	margin-top: 0.625rem;
}

.more__item2 {
	margin-top: 2.1875rem;
}

.more__tel {
	margin-top: 0.625rem;
}

.more__tel a {
	align-items: center;
	display: flex;
}

.more__tel a[href^="tel:"] {
	pointer-events: none;
}

.more__tel a span img {
	height: 1.8125rem;
	width: 1.8125rem;
}

.more__tel a .more__num {
	font-size: 1.5625rem;
	letter-spacing: 1px;
	padding-left: 1%;
}

.more__item1 .more__wrapper img {
	height: 5.5em;
	position: absolute;
	right: -4%;
	top: -100%;
	width: 9em;
}

.more__item2 .more__wrapper h3 img {
	bottom: -27%;
	height: 6.5em;
	position: absolute;
	right: -13%;
	width: 10em;
}

.night {
	background: transparent url(../../images/yfd-guide/night-bg.png) no-repeat top 100px center/cover;
	margin-top: -3.75rem;
	padding: 8.75rem 0 3.75rem;
}

.night h3 {
	color: #FFE200;
	font-family: "nitalago-ruika";
	font-size: 2.1875rem;
	font-weight: 100;
	text-align: center;
}

.night__head {
	align-items: end;
	color: #fff;
	display: flex;
	font-size: 1rem;
	justify-content: center;
	margin: 0 auto;
	position: relative;
	text-align: center;
	width: -moz-fit-content;
	width: fit-content;
}

.night__head::before,
.night__head::after {
	background-color: #fff;
	content: "";
	display: block;
	height: 1.25rem;
	width: 0.125rem;
}

.night__head::before {
	margin-right: 1.3125rem;
	transform: rotate(-30deg);
}

.night__head::after {
	margin-left: 1.3125rem;
	transform: rotate(30deg);
}

.night__items {
	grid-gap: 0.625rem 0;
	display: grid;
	gap: 0.625rem 0;
	grid-auto-rows: 1fr;
	grid-template-columns: 1fr;
	margin: 1.875rem auto 0;
	width: 63%;
}

.night__items li {
	grid-gap: 0 0;
	align-items: center;
	background: #fff;
	border-radius: 2.8125rem;
	display: grid;
	gap: 0 0;
	grid-template-columns: 14% 86%;
	padding: 1.0625rem 1.5625rem;
}

.night__items li p {
	align-items: center;
	color: #6F89DE;
	display: flex;
	font-size: 1.25rem;
	font-weight: 900;
	justify-content: center;
	line-height: 1.45;
	text-align: center;
}

.night__btns {
	grid-gap: 0.9375rem 0;
	display: grid;
	gap: 0.9375rem 0;
	grid-template-columns: 1fr;
	margin: 0.625rem auto 0;
	width: 63%;
}

.night__btns li {
	background: #CED9FF;
	border-radius: 1.25rem;
	border-radius: 1.25rem 1.25rem 1.25rem 1.25rem;
}

.night__btn-img {
	aspect-ratio: 390/176;
	border-radius: 1.25rem 1.25rem 0 0;
	height: auto;
	overflow: hidden;
	width: 100%;
}

.night__btn-img img {
	-o-object-fit: cover;
	border-radius: 1.25rem 1.25rem 0 0;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.night__btn-body {
	background: #CED9FF;
	border-radius: 0 0 1.25rem 1.25rem;
	font-weight: 900;
	padding: 0.625rem 1.25rem;
	text-align: center;
}

.night__btn-text1 {
	color: #4362C9;
	font-size: 1.25rem;
	line-height: 1.45;
}

.night__btn-text2 {
	color: #4362C9;
	font-size: 0.875rem;
	line-height: 1.45;
}

.night__btn-link {
	background: #4763BF;
	border-radius: 2rem;
	color: #FFE200;
	font-size: 1.125rem;
	margin-top: 0.5625rem;
	padding: 0.625rem 5%;
	position: relative;
}

.night__btn-link::before {
	background: transparent url(../../images/yfd-guide/night-btn.png) no-repeat center right/contain;
	content: "";
	height: 1.1875rem;
	position: absolute;
	right: 8%;
	top: 50%;
	transform: translateY(-50%);
	width: 1.1875rem;
}

.oc {
	background: transparent url(../../images/yfd-guide/intro-bg.png) no-repeat center center/cover;
	padding: 1.4375rem 0 5rem;
}

.oc__inner {
	padding: 0 1.25rem;
}

.oc__top {
	background: linear-gradient(to bottom, #FFE200, #FFF49F);
	border-radius: 1.25rem 1.25rem 0 0;
	padding: 1.875rem 3% 1.25rem;
}

.oc__head {
	align-items: end;
	display: flex;
	font-family: "nitalago-ruika";
	font-size: 1.0625rem;
	font-weight: 100;
	justify-content: center;
	margin: 0 auto;
	position: relative;
	text-align: center;
	width: -moz-fit-content;
	width: fit-content;
}

.oc__head::before,
.oc__head::after {
	background-color: #1C1C1C;
	content: "";
	display: block;
	height: 1.25rem;
	width: 0.125rem;
}

.oc__head::before {
	margin-right: 1.3125rem;
	transform: rotate(-30deg);
}

.oc__head::after {
	margin-left: 1.3125rem;
	transform: rotate(30deg);
}

.oc h2 {
	font-family: "nitalago-ruika";
	font-size: 2.5rem;
	font-weight: 100;
	text-align: center;
}

.oc__top ul {
	grid-gap: 0 4%;
	display: grid;
	gap: 0 4%;
	grid-template-columns: repeat(3, 1fr);
	margin: 0 auto;
	width: 66%;
}

.oc__top a {
	background: #fff;
	border-radius: 2rem;
	display: block;
	font-size: 1.0625rem;
	font-weight: 900;
	margin-top: 1.25rem;
	padding: 0.8125rem 0;
	position: relative;
	text-align: center;
}

.oc__top a::before {
	background: transparent url(../../images/yfd-guide/oc-btn.png) no-repeat center right/contain;
	content: "";
	height: 1.25rem;
	position: absolute;
	position: absolute;
	right: 5%;
	top: 50%;
	transform: translateY(-50%);
	width: 1.25rem;
}

.oc__bottom {
	aspect-ratio: 576/297;
	border-radius: 0 0 1.25rem 1.25rem;
	height: auto;
	width: 100%;
}

.oc__bottom img {
	-o-object-fit: cover;
	border-radius: 0 0 1.25rem 1.25rem;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.pc-left {
	align-items: center;
	background: transparent url(../../images/yfd-guide/bg-left.png) no-repeat center center/cover;
	display: flex;
	height: 100vh;
	justify-content: center;
	left: 0;
	position: fixed;
	top: 0;
	width: calc(50vw - 320px);
}

.pc-right {
	align-items: center;
	background: transparent url(../../images/yfd-guide/bg-right.png) no-repeat center center/cover;
	display: flex;
	height: 100vh;
	justify-content: center;
	position: fixed;
	right: 0;
	top: 0;
	width: calc(50vw - 320px);
}

.pc-left ul {
	max-width: 235px;
	padding: 0 20px;
}

.pc-left ul li:nth-of-type(n + 2) {
	margin-top: 16px;
}

.pc-left a {
	display: block;
	font-family: "nitalago-ruika";
	font-size: 1rem;
	font-weight: 100;
	width: 100%;
}

.pc-left a span {
	padding: 0.1875rem 0.1875rem;
	position: relative;
}

.pc-left a span::before {
	border-bottom: 8px solid transparent;
	border-left: 0;
	border-top: 8px solid transparent;
	content: "";
	height: 0;
	left: -1em;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
}

.pc-left a span.is-current {
	background: linear-gradient(to bottom, #2ED93D, #2ED9A4);
	color: #fff;
}

.pc-left a span.is-current::before {
	border-left: 12px solid #2ED93D;
}

.pc-right__inner {
	max-width: 227px;
	padding: 0 20px;
}

.pc-right__logo {
	transition: all 0.3s;
}

.pc-right__logo:hover {
	opacity: 0.8;
}

.pc-right ul {
	margin-top: 17px;
}

.pc-right ul li:nth-of-type(2) {
	margin-top: 10px;
	text-align: center;
}

.pc-right ul li:nth-of-type(3),
.pc-right ul li:nth-of-type(4),
.pc-right ul li:nth-of-type(6) {
	margin-top: 6px;
}

.pc-right ul li:nth-of-type(5) {
	margin-top: 17px;
}

.pc-right ul li a {
	grid-gap: 0 1%;
	align-items: center;
	background: #fff;
	border: 2px solid #1C1C1C;
	border-radius: 20px;
	display: grid;
	font-size: 0.9375rem;
	font-weight: 900;
	gap: 0 1%;
	grid-template-columns: 14% 85%;
	line-height: 1;
	padding: 0.4375rem 0.625rem;
	text-align: center;
	transition: all 0.3s;
}

.pc-right ul li a:hover {
	background: #2ED93D;
	color: #fff;
}

.pc-right ul li:nth-of-type(3) a,
.pc-right ul li:nth-of-type(4) a {
	font-size: 0.875rem;
}

/* =======================================
   FV 完了後にメニューをふわっと登場 (3.2s 待ち)
   ======================================= */

/* フェード&スライド */

/* 左右メニュー UL 共通 */

.pc-left ul,
.pc-right__inner {
	animation: navFadeSlide 0.8s ease-out forwards;
	animation-delay: 3.2s;
	opacity: 0;
	transform: translateY(20px);
}

.point {
	background: transparent url(../../images/yfd-guide/point-bg.png) no-repeat center center/cover;
	margin-top: -2.5rem;
	padding: 5.3125rem 0 11.25rem;
}

.point h2 {
	margin: 0 auto;
	width: 37%;
}

.point__items {
	margin: 3.4375rem auto 0;
	width: 100%;
}

.point__item {
	position: relative;
}

.point__item2 {
	margin-top: 2.6875rem;
}

.point__item3 {
	margin-top: 2.6875rem;
}

.point__img {
	position: absolute;
	top: 51%;
	transform: translateY(-50%);
	width: 66%;
	z-index: -1;
}

.point__item1 .point__img,
.point__item3 .point__img {
	left: -10%;
}

.point__item2 .point__img {
	right: -10%;
	top: 54%;
	width: 67%;
}

.point__text {
	width: 51.5%;
}

.point__item1 .point__text,
.point__item3 .point__text {
	margin-left: auto;
	padding-right: 3%;
}

.point__item2 .point__text {
	margin-right: auto;
	padding-left: 3%;
}

.point__num {
	width: 37%;
}

.point__item1 .point__num,
.point__item3 .point__num {
	margin-left: -3%;
}

.point__item2 .point__num {
	margin-left: auto;
	margin-right: -3%;
}

.point__head {
	margin-top: 0.125rem;
}

.point__item1 .point__head {
	width: min(76%, 363px);
}

.point__item2 .point__head {
	margin-left: auto;
	width: min(84%, 400px);
}

.point__item3 .point__head {
	width: min(77%, 370px);
}

.point__detail {
	background: #fff;
	border: 2px solid #1C1C1C;
	font-size: 1rem;
	letter-spacing: 1px;
	line-height: 1.5625;
	margin-top: 0.625rem;
	padding: 0.5rem 0.625rem;
}

.project__top {
	background: transparent url(../../images/yfd-guide/project-bg.png) no-repeat top 100px center/contain;
	margin-top: -3.75rem;
	padding: 9.375rem 0 13.125rem;
	position: relative;
}

.project1-img {
	height: auto;
	left: -7%;
	position: absolute;
	top: 39%;
	width: 40%;
}

.project2-img {
	height: auto;
	position: absolute;
	right: -12%;
	top: 32%;
	width: 48%;
}

.project__head {
	animation: fuwafuwa 3s ease-in-out infinite;
	margin: 0 auto;
	transform-origin: center bottom;
	width: 58%;
}

.project__head-text {
	font-size: 1rem;
	letter-spacing: 1px;
	line-height: 1.875;
	margin-top: 0.75rem;
	text-align: center;
}

.project__bottom {
	margin-top: -11.875rem;
	position: relative;
}

.project__img-main {
	margin: 0 auto;
	width: min(94%, 800px);
}

.project h2 {
	margin: -2.1875rem auto 0;
	width: 54%;
}

.project__lead {
	font-size: 1rem;
	letter-spacing: 0.5px;
	line-height: 1.5625;
	margin-top: 1rem;
	text-align: center;
}

.project__items {
	grid-gap: 0.625rem 2%;
	display: grid;
	gap: 0.625rem 2%;
	grid-template-columns: repeat(2, 1fr);
	margin: 1.25rem auto 0;
	width: min(93%, 800px);
}

.project__img {
	aspect-ratio: 280/265;
	border-radius: 0.625rem;
	height: auto;
	width: 100%;
}

.project__img img {
	-o-object-fit: cover;
	border-radius: 0.625rem;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.tap {
	background-image: linear-gradient(90deg, #FFF258, #FFC364);
	border-radius: 10%;
	margin-top: -3.125rem;
	padding: 1.75rem 0 2.1875rem;
	position: relative;
	z-index: 1;
}

.tap__inner {
	padding: 0 3%;
	position: relative;
	z-index: 0;
}

.tap h2 {
	margin: 0 auto;
	width: 27%;
}

.tap ul {
	grid-gap: 22px 2%;
	display: grid;
	gap: 22px 2%;
	grid-auto-rows: 1fr;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 20px;
	position: relative;
}

.tap ul li {
	display: flex;
}

.tap ul li span {
	font-size: 0.75rem;
	letter-spacing: -1px;
	line-height: 1;
	margin-left: -20px;
}

.tap ul li a {
	align-items: center;
	background: #fff;
	border: 3px solid #000;
	border-radius: 10px;
	display: flex;
	flex: 1; /* li の中で全域をカバー */
	flex-direction: column;
	font-size: 20px;
	justify-content: center;
	line-height: 1.25;
	padding: 0.625rem 0;
	position: relative;
	text-align: center;
}

.tap ul li a img {
	height: 1.4em;
	position: absolute;
	right: 8%;
	top: 50%;
	transform: translateY(-50%);
	width: 1.4em;
}

.tap__img {
	height: auto;
	left: 3%;
	position: absolute;
	top: 0.5em;
	width: 195px;
	width: 195px;
	z-index: -1;
}

.work {
	background: transparent url(../../images/yfd-guide/work-bg.png) no-repeat center center/cover;
	margin-top: -2.5rem;
	padding: 1.875rem 0 2.1875rem;
	position: relative;
	z-index: 1;
}

.work::before {
	background: transparent url(../../images/yfd-guide/work-deco.png) no-repeat center center/contain;
	content: "";
	height: 100%;
	left: 50%;
	pointer-events: none;
	position: absolute;
	top: 59%;
	transform: translate(-50%, -50%);
	width: 100%;
	z-index: 1;
}

.work::after {
	background: transparent url(../../images/yfd-guide/work-bg2.png) no-repeat center center/contain;
	content: "";
	height: 100%;
	left: 50%;
	pointer-events: none;
	position: absolute;
	top: 53%;
	transform: translate(-50%, -50%);
	width: 100%;
}

.work h2 {
	margin: 0 auto;
	width: 100%;
}

.work__head {
	animation: fuwafuwa 4s ease-in-out infinite;
	margin: -45px auto 0;
	position: relative;
	transform-origin: center bottom;
	width: 41%;
	z-index: 1;
}

.swiper {
	margin-top: 15px;
	position: relative;
	z-index: 2;
}

.swiper-slide {
	position: relative;
	width: 100%;
}

.slide-media {
	height: auto;
	margin: 0 auto;
	max-width: 24.375rem;
	width: 100%;
}

.slide-media img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
	transform-origin: center bottom;
	width: 100%;
}

.slide-media:hover img {
	animation: rumble 0.3s linear;
}

/* === Swiper navigation custom images === */

.swiper-button-prev,
.swiper-button-next {
	background: none; /* remove default arrow */
	height: 2.75rem;
	top: 40%;
	width: 2.75rem;
}

.swiper-button-prev {
	left: 3.125rem;
}

.swiper-button-next {
	right: 3.125rem;
}

.swiper-button-prev::after,
.swiper-button-next::after {
	content: none; /* hide default arrow pseudo-element */
}

.swiper-button-prev img,
.swiper-button-next img {
	display: block;
	height: auto;
	width: 100%;
}

.swiper-button-next img {
	transform: rotate(180deg);
}

.swiper-text {
	bottom: 16%;
	left: 18%;
	position: absolute;
}

.swiper-text-t span {
	background: #fff;
	font-size: 1rem;
	line-height: 1.5626;
	padding: 0 0.3125rem;
}

.swiper-text-m span:first-of-type {
	background: #fff;
	font-size: 1rem;
	line-height: 1.5626;
	margin-right: 0.3125rem;
	padding: 0 0.3125rem;
}

.swiper-text-m {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	margin-top: 0.3125rem;
}

.swiper-text-m span:nth-of-type(n + 2) {
	background: #fff;
	font-size: 0.875rem;
	line-height: 1.78571;
	padding: 0 0.3125rem;
}

.swiper-text-b {
	margin-top: 5px;
}

.swiper-text-b {
	background: #FF8ECF;
	border-radius: 0.625rem;
	color: #fff;
	padding: 0 0.625rem;
	width: -moz-fit-content;
	width: fit-content;
}

@media (min-width: 980px) {

.inner {
	padding-left: 25px;
	padding-right: 25px;
}

}

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

.pc-left a {
	font-size: 1vw;
}

.pc-right ul li a {
	font-size: 1vw;
}

.pc-right ul li:nth-of-type(3) a,
.pc-right ul li:nth-of-type(4) a {
	font-size: 0.95vw;
}

}

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

.u-desktop {
	display: none;
}

.u-mobile {
	display: block;
}

.access {
	margin-top: -8vw;
	padding: 15vw 0 10vw;
}

.access__wrapper {
	margin: 7vw auto 0;
}

.course {
	background: transparent url(../../images/yfd-guide/course-bg.png) no-repeat top 16vw center/contain;
	margin-top: -10vw;
	padding: 25vw 0 0;
}

.course h2 {
	width: min(58%, 400px);
}

.course__btn {
	margin: 4vw auto 0;
}

.course__btn-img {
	height: auto;
	top: -25%;
	width: 35%;
}

.course__btn-head {
	font-size: min(3.5vw, 20px);
}

.course__btn-t {
	font-size: min(5vw, 30px);
}

.course__btn-b {
	font-size: min(4vw, 20px);
}

.creative {
	margin-top: 7vw;
}

.course__main-m {
	padding: 6vw 9vw 29vw;
}

.course__main-m1 {
	font-size: min(6vw, 35px);
}

.course__main-m2 {
	font-size: min(3.5vw, 20px);
}

.course__main-m3 {
	font-size: min(3.5vw, 20px);
}

.course__main-m3 > div {
	width: 36vw;
}

.creative-b {
	margin-top: -28vw;
	padding: 50vw 0 30vw;
}

.creative-b__item2 {
	margin-top: 31%;
}

.creative-b__item3 {
	margin-top: 39%;
}

.creative-b__item4 {
	margin-top: 39%;
}

.creative-b__item1 .course__main-b-img {
	bottom: 66%;
	left: -12%;
	width: 88%;
}

.creative-b__item2 .course__main-b-img {
	right: -12%;
	top: -25vw;
	width: 88%;
}

.creative-b__item3 .course__main-b-img {
	bottom: auto;
	left: -12%;
	top: -25vw;
	width: 88%;
}

.creative-b__item4 .course__main-b-img {
	bottom: auto;
	right: -12%;
	top: -25vw;
	width: 88%;
}

.creative .course__main-b-text > div {
	font-size: min(5vw, 30px);
}

.business .course__main-b-text > div {
	font-size: min(4vw, 30px);
}

.course__main-b-text > div span {
	font-size: 2.5vw;
}

.course__main-b-text p {
	font-size: min(3.5vw, 20px);
}

.course__item1 .course__main-b-text {
	width: min(75%, 600px);
}

.course__item2 .course__main-b-text {
	width: min(75%, 600px);
}

.course__item3 .course__main-b-text {
	width: min(75%, 600px);
}

.course__item4 .course__main-b-text {
	width: min(75%, 600px);
}

.business-b {
	margin-top: -28vw;
	padding: 50vw 0 30vw;
}

.business-b__item2 {
	margin-top: 31vw;
}

.business-b__item3 {
	margin-top: 33%;
}

.business-b__item4 {
	margin-top: 33%;
}

.business-b__item1 .course__main-b-img {
	bottom: 66%;
	left: -12%;
	width: 88%;
}

.business-b__item2 .course__main-b-img {
	bottom: auto;
	right: -12%;
	top: -30vw;
	width: 88%;
}

.business-b__item3 .course__main-b-img {
	bottom: auto;
	left: -12%;
	top: -25vw;
	width: 88%;
}

.business-b__item4 .course__main-b-img {
	bottom: auto;
	right: -12%;
	top: -25vw;
	width: 88%;
}

.course__pickup {
	height: auto;
	right: 23vw;
	top: -2vw;
	width: min(28vw, 200px);
}

.cta {
	border-radius: 10vw;
	margin-top: -11vw;
	padding: 10vw 0;
}

.bottom {
	margin-top: -10vw;
	padding: 20vw 0 12vw;
}

.bottom__address {
	font-size: min(4.5vw, 20px);
	margin-top: 3vw;
}

.bottom__address p:nth-of-type(n + 2) {
	margin-top: 0.5vw;
}

.bottom__address p a[href^="tel:"] {
	pointer-events: all;
}

.fv {
	height: 129vw;
}

.fv__text-wrapper {
	top: 9%;
}

.fv__logo-link {
	width: 18vw;
}

.fv__foreigner {
	width: 61%;
}

.graduate {
	background: transparent url(../../images/yfd-guide/graduate-bg.png) no-repeat top 10vw center/cover;
	padding: 23vw 0 20vw;
}

.graduate h2 {
	width: min(75%, 600px);
}

.graduate__lead {
	font-size: min(3.5vw, 20px);
	margin: 5.5vw auto 0;
	width: 80%;
}

.graduate__top {
	margin-top: 2em;
}

.graduate__top-text {
	border-radius: 5vw;
	margin: 0 auto;
	width: 80%;
}

.graduate__top-head {
	font-size: min(6.5vw, 30px);
	padding-left: 0;
	text-align: center;
}

.graduate__top-detail {
	font-size: min(3.5vw, 18px);
	padding-left: 0;
}

.graduate__top-img1 {
	margin-top: -4em;
}

.graduate__top-img2 {
	margin-top: -68vw;
}

.graduate__bottom {
	margin-top: 3em;
}

.graduate__bottom-text {
	border-radius: 5vw;
	margin: 0 auto;
	width: 80%;
}

.graduate__bottom-head {
	font-size: min(6.5vw, 30px);
	text-align: center;
}

.graduate__bottom-detail {
	font-size: min(3.5vw, 18px);
}

.graduate__bottom-img {
	margin: -4em -3vw 0 auto;
}

.graduate__bottom-img2 {
	bottom: -4em;
	height: auto;
	left: -26%;
	width: 40vw;
}

.inner {
	padding-left: 11px;
	padding-right: 11px;
}

.interview {
	padding: 7vw 0 14vw;
}

.interview2 {
	margin-top: 2vw;
}

.interview3 {
	margin-top: 5vw;
}

.interview1 .interview__inner {
	background: transparent url(../../images/yfd-guide/interview1-bg.png) no-repeat top left -8vw/95vw min(79vw, 450px);
	padding: min(18vw, 130px) 17vw 18vw 8vw;
	width: 92%;
}

.interview2 .interview__inner {
	background: transparent url(../../images/yfd-guide/interview2-bg.png) no-repeat top right -8vw/95vw min(78vw, 450px);
	padding: min(16vw, 117px) 4vw 17vw 24vw;
	width: 91%;
}

.interview3 .interview__inner {
	background: transparent url(../../images/yfd-guide/interview1-bg.png) no-repeat top left -8vw/95vw min(69vw, 380px);
	padding: min(15vw, 118px) 15vw 17vw 9vw;
	width: 92%;
}

.interview__head {
	font-size: min(4.3vw, 25px);
}

.interview__detail {
	letter-spacing: 0.5px;
	margin-top: 1vw;
}

.interview__detail span {
	font-size: min(4vw, 20px);
}

.interview__bottom {
	margin-top: 3vw;
}

.interview1 .interview__bottom,
.interview3 .interview__bottom {
	padding-right: 17%;
}

.interview__bottom1 {
	font-size: min(3.3vw, 20px);
}

.interview__bottom2 {
	font-size: min(4.5vw, 22px);
}

.interview1 img {
	bottom: -32%;
	width: 37vw;
}

.interview2 img {
	height: auto;
	left: -19%;
	position: absolute;
	top: 38%;
	width: 42vw;
}

.interview3 img {
	top: 31%;
	width: 32vw;
}

.intro {
	margin-top: -10vw;
	padding: 16vw 0 31vw;
}

.intro__inner {
	padding: 0 3vw;
}

.intro__title {
	width: min(76%, 550px);
}

.intro__text p {
	margin-top: 3.3vw;
}

.intro__text p span {
	font-size: min(3.5vw, 25px);
}

.intro__text p span:nth-of-type(n + 2) {
	margin-top: 3vw;
}

.intro__img {
	bottom: -9%;
	right: -10%;
}

.links {
	border-radius: 13vw 13vw 0 0;
	margin-top: -10vw;
	padding: 7vw 0 19vw;
}

.links h2 {
	width: min(40%, 300px);
}

.links ul {
	width: min(80%, 700px);
}

.links ul li a {
	border-radius: 3vw;
	font-size: min(5vw, 30px);
	padding: 3.5vw 0;
}

.links ul li a::before {
	height: 1.3em;
	width: 1.3em;
}

.links__img {
	width: 20%;
}

.main-wrapper {
	width: 100%;
}

.more {
	padding: 16vw 0 25vw;
}

.more__inner {
	padding: 0 5.5vw;
}

.more__arrow::before {
	height: 6vw;
	top: -9vw;
	width: 23vw;
}

.more__head {
	font-size: min(4vw, 20px);
}

.more__wrapper {
	border-radius: 5.5vw;
	margin: 1em auto 0;
	padding: 3em 3.5%;
}

.more__wrapper::before {
	border-radius: 5.5vw;
}

.more__detail + .more__detail {
	margin-top: 0.5em;
}

.more__wrapper h3 {
	font-size: min(6vw, 30px);
}

.more__lead {
	font-size: min(3.8vw, 18px);
	margin-top: min(5vw, 18px);
}

.more__detail-head {
	font-size: min(5.4vw, 20px);
}

.more__detail p {
	font-size: min(3.8vw, 16px);
	margin-top: 1.5vw;
}

.more__bottom {
	font-size: min(3.8vw, 16px);
	margin-top: 2vw;
}

.more__item2 {
	margin-top: 3em;
}

.more__tel {
	margin-top: 2.8vw;
}

.more__tel a[href^="tel:"] {
	pointer-events: all;
}

.more__tel a span img {
	height: 2em;
	width: 2em;
}

.more__tel a .more__num {
	font-size: min(6vw, 30px);
}

.more__item1 .more__wrapper img {
	height: auto;
	top: -13vw;
	width: max(36%, 120px);
}

.more__item2 .more__wrapper h3 img {
	bottom: -3.5vw;
	height: auto;
	right: -15%;
	width: 52%;
}

.night {
	background: transparent url(../../images/yfd-guide/night-bg.png) no-repeat top 21vw center/cover;
	margin-top: -17vw;
	padding: 27vw 0 27vw;
}

.night h3 {
	font-size: min(8vw, 50px);
}

.night__head {
	font-size: min(4vw, 22px);
}

.night__items {
	gap: 3vw 0;
	margin: 3vw auto 0;
	width: min(82%, 700px);
}

.night__items li {
	border-radius: 13vw;
	padding: 1.0625rem 7vw;
}

.night__items li p {
	font-size: min(5vw, 25px);
}

.night__btns {
	gap: 3vw 0;
	margin: 5vw auto 0;
	width: min(82%, 700px);
}

.night__btn-body {
	padding: 3vw 4vw;
}

.night__btn-text1 {
	font-size: min(4.5vw, 30px);
}

.night__btn-text2 {
	font-size: min(3.5vw, 20px);
}

.night__btn-link {
	border-radius: 9vw;
	font-size: min(4.3vw, 25px);
}

.night__btn-link::before {
	height: 1.2em;
	width: 2em;
}

.oc {
	padding: 7vw 0 20vw;
}

.oc__inner {
	margin: 0 auto;
	max-width: 800px;
	padding: 0 5.5vw;
}

.oc__top {
	border-radius: 6vw 6vw 0 0;
	padding: 8vw 3% 4.5vw;
}

.oc__head {
	font-size: min(4.5vw, 22px);
}

.oc h2 {
	font-size: min(9vw, 40px);
}

.oc__top ul {
	width: 85%;
}

.oc__top a {
	border-radius: 7vw;
	font-size: min(4.5vw, 30px);
	margin-top: 5.5vw;
}

.oc__top a::before {
	height: 1.5em;
	width: 1.5em;
}

.oc__bottom {
	border-radius: 0 0 6vw 6vw;
}

.oc__bottom img {
	border-radius: 0 0 6vw 6vw;
}

.pc-left ul {
	display: none;
	pointer-events: none;
}

.pc-right__inner {
	display: none;
	pointer-events: none;
}

.point {
	margin-top: -6vw;
	padding: 12vw 0 18vw;
}

.point__items {
	margin: 9vw auto 0;
}

.point__item2 {
	margin-top: 10vw;
}

.point__item3 {
	margin-top: 8vw;
}

.point__img {
	top: 41%;
	width: 58%;
}

.point__item1 .point__img,
.point__item3 .point__img {
	left: auto;
	right: -10%;
}

.point__item2 .point__img {
	left: -10%;
	right: auto;
	top: 41%;
	width: 58%;
}

.point__text {
	width: 75%;
}

.point__item1 .point__text,
.point__item3 .point__text {
	margin-left: 3%;
}

.point__item2 .point__text {
	margin-left: auto;
	margin-right: 3%;
}

.point__num {
	width: min(30%, 155px);
}

.point__detail {
	font-size: min(3.5vw, 20px);
	letter-spacing: 0.5px;
	margin-top: 1vw;
	padding: 1vw 1vw;
}

.project__top {
	background: transparent url(../../images/yfd-guide/project-bg.png) no-repeat top 21vw center/cover;
	margin-top: -10vw;
	padding: 35vw 0 50vw;
	z-index: 0;
}

.project1-img {
	top: 15%;
	z-index: -1;
}

.project2-img {
	top: 10%;
	z-index: -1;
}

.project__head {
	width: min(69%, 500px);
}

.project__head-text {
	font-size: min(4vw, 20px);
}

.project__bottom {
	margin-top: -46vw;
}

.project h2 {
	margin: -9vw auto 0;
}

.project__lead {
	font-size: min(4vw, 20px);
	margin-top: 4vw;
}

.project__items {
	gap: 3vw 2%;
	margin: 5vw auto 0;
}

.project__img {
	border-radius: 3vw;
}

.project__img img {
	border-radius: 3vw;
}

.tap {
	margin-top: -11vw;
	overflow: hidden;
	padding: 4.5vw 0 16vw;
}

.tap h2 {
	width: min(43%, 250px);
}

.tap ul {
	gap: 2vw 2%;
	margin: 3vw auto 0;
	max-width: 800px;
}

.tap ul li span {
	font-size: min(2.2vw, 14px);
}

.tap ul li a {
	border: 2px solid #000;
	border-radius: 2vw;
	font-size: min(4vw, 20px);
	padding: 2vw 0;
}

.tap ul li a img {
	height: 1.2em;
	right: 3%;
	width: 1.2em;
}

.tap__img {
	bottom: -18.5vw;
	left: 32%;
	top: auto;
	transform: translateX(-50%);
	width: 39vw;
}

.work {
	margin-top: -11vw;
	padding: 5vw 0 5vw;
}

.work__head {
	margin: -2vw auto 0;
	width: 50%;
}

.swiper {
	margin-top: 2vw;
}

.slide-media {
	max-width: min(80vw, 650px);
}

.swiper-button-prev,
.swiper-button-next {
	height: 8vw;
	width: 8vw;
}

.swiper-button-prev {
	left: 7vw;
}

.swiper-button-next {
	right: 7vw;
}

.swiper-text {
	bottom: 10%;
	left: 11vw;
}

.swiper-text-t span {
	font-size: min(3.6vw, 22px);
}

.swiper-text-m span:first-of-type {
	font-size: min(3vw, 20px);
}

.swiper-text-m {
	margin-top: 0.5vw;
}

.swiper-text-m span:nth-of-type(n + 2) {
	font-size: min(3vw, 20px);
}

.swiper-text-b {
	margin-top: 0.5vw;
}

.swiper-text-b {
	border-radius: 0.3125rem;
	font-size: min(3.6vw, 22px);
}

}

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

.cta ul {
	gap: 3vw 0;
	grid-template-columns: 1fr;
	width: min(80%, 600px);
}

.interview__detail {
	line-height: 5.35vw;
}

.point__item2 {
	margin-top: 5vw;
}

.point__item3 {
	margin-top: 3vw;
}

}

@keyframes hover-bounce {

0%,100% {
	transform: translateY(0);
}

50% {
	transform: translateY(-6px);
}

}

@keyframes hover-wiggle {

0% {
	transform: rotate(0deg);
}

50% {
	transform: rotate(4deg);
}

100% {
	transform: rotate(0deg);
}

}

@keyframes hover-zoom {

0% {
	transform: scale(1);
}

100% {
	transform: scale(1.05);
}

}

@keyframes fuwafuwa {

0% {
	transform: translateY(0);
}

50% {
	transform: translateY(-6px);
}

/* 上に 6px 浮く */

100% {
	transform: translateY(0);
}

}

@keyframes pulse-scale {

0%,100% {
	transform: scale(1);
}

50% {
	transform: scale(1.12);
}

}

@keyframes poyopoyo {

0%,40%,60%,80% {
	transform: scale(1);
}

50%,70% {
	transform: scale(0.95);
}

}

@keyframes pyoco {

0% {
	transform: translateY(0);
}

15% {
	transform: translateY(-8px);
}

30% {
	transform: translateY(-8px);
}

45% {
	transform: translateY(0);
}

100% {
	transform: translateY(0);
}

/* 0.55s分静止 */

}

@keyframes shine {

20% {
	left: 100%;
}

100% {
	left: 100%;
}

}

@keyframes text-wrap {

100% {
	transform: translateX(100%);
}

}

@keyframes img-wrap-before {

100% {
	transform: translateX(100%);
}

}

@keyframes img-wrap-after {

100% {
	transform: translateX(-100%);
}

}

@keyframes navFadeSlide {

0% {
	opacity: 0;
	transform: translateY(20px);
}

100% {
	opacity: 1;
	transform: translateY(0);
}

}

@keyframes rumble {

0% {
	transform: translate(0);
}

25% {
	transform: translate(-2px) rotate(-3deg);
}

50% {
	transform: translate(0, 0);
}

75% {
	transform: translate(2px) rotate(3deg);
}

100% {
	transform: translate(0);
}

}


/*# sourceMappingURL=style.css.map */
