@charset "UTF-8";
/* 上向き ▲ */
/* 右向き ▶︎ */
/* 下向き ▼ */
/* 左向き ◀︎ */
/* Document
 * ========================================================================== */
/**
 * Add border box sizing in all browsers (opinionated).
 */
*,
::before,
::after {
	box-sizing: border-box;
}

/**
 * 1. Add text decoration inheritance in all browsers (opinionated).
 * 2. Add vertical alignment inheritance in all browsers (opinionated).
 */
::before,
::after {
	text-decoration: inherit; /* 1 */
	vertical-align: inherit; /* 2 */
}

/**
 * 1. Use the default cursor in all browsers (opinionated).
 * 2. Change the line height in all browsers (opinionated).
 * 3. Use a 4-space tab width in all browsers (opinionated).
 * 4. Remove the grey highlight on links in iOS (opinionated).
 * 5. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 * 6. Breaks words to prevent overflow in all browsers (opinionated).
 */
html {
	cursor: default; /* 1 */
	line-height: 1.5; /* 2 */
	-moz-tab-size: 4; /* 3 */
	tab-size: 4; /* 3 */
	-webkit-tap-highlight-color: transparent;
	-ms-text-size-adjust: 100%; /* 5 */
	-webkit-text-size-adjust: 100%; /* 5 */
	word-break: break-word; /* 6 */
}

/* Sections
 * ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
	margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Edge, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
 * ========================================================================== */
/**
 * Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
 */
dl dl,
dl ol,
dl ul,
ol dl,
ul dl {
	margin: 0;
}

/**
 * Remove the margin on nested lists in Edge 18- and IE.
 */
ol ol,
ol ul,
ul ol,
ul ul {
	margin: 0;
}

/**
 * 1. Add the correct sizing in Firefox.
 * 2. Show the overflow in Edge 18- and IE.
 */
hr {
	height: 0; /* 1 */
	overflow: visible; /* 2 */
}

/**
 * Add the correct display in IE.
 */
main {
	display: block;
}

/**
 * Remove the list style on navigation lists in all browsers (opinionated).
 */
nav ol,
nav ul {
	list-style: none;
	padding: 0;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace; /* 1 */
	font-size: 1em; /* 2 */
}

/* Text-level semantics
 * ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * Add the correct text decoration in Edge 18-, IE, and Safari.
 */
abbr[title] {
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace; /* 1 */
	font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/* Embedded content
 * ========================================================================== */
/*
 * Change the alignment on media elements in all browsers (opinionated).
 */
audio,
canvas,
iframe,
img,
svg,
video {
	vertical-align: middle;
}

/**
 * Add the correct display in IE 9-.
 */
audio,
video {
	display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
	display: none;
	height: 0;
}

/**
 * Remove the border on iframes in all browsers (opinionated).
 */
iframe {
	border-style: none;
}

/**
 * Remove the border on images within links in IE 10-.
 */
img {
	border-style: none;
}

/**
 * Change the fill color to match the text color in all browsers (opinionated).
 */
svg:not([fill]) {
	fill: currentColor;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
	overflow: hidden;
}

/* Tabular data
 * ========================================================================== */
/**
 * Collapse border spacing in all browsers (opinionated).
 */
table {
	border-collapse: collapse;
}

/* Forms
 * ========================================================================== */
/**
 * Remove the margin on controls in Safari.
 */
button,
input,
select {
	margin: 0;
}

/**
 * 1. Show the overflow in IE.
 * 2. Remove the inheritance of text transform in Edge 18-, Firefox, and IE.
 */
button {
	overflow: visible; /* 1 */
	text-transform: none; /* 2 */
}

/**
 * Correct the inability to style buttons in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * 1. Change the inconsistent appearance in all browsers (opinionated).
 * 2. Correct the padding in Firefox.
 */
fieldset {
	border: 1px solid #a0a0a0; /* 1 */
	padding: 0.35em 0.75em 0.625em; /* 2 */
}

/**
 * Show the overflow in Edge 18- and IE.
 */
input {
	overflow: visible;
}

/**
 * 1. Correct the text wrapping in Edge 18- and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 */
legend {
	color: inherit; /* 2 */
	display: table; /* 1 */
	max-width: 100%; /* 1 */
	white-space: normal; /* 1 */
}

/**
 * 1. Add the correct display in Edge 18- and IE.
 * 2. Add the correct vertical alignment in Chrome, Edge, and Firefox.
 */
progress {
	display: inline-block; /* 1 */
	vertical-align: baseline; /* 2 */
}

/**
 * Remove the inheritance of text transform in Firefox.
 */
select {
	text-transform: none;
}

/**
 * 1. Remove the margin in Firefox and Safari.
 * 2. Remove the default vertical scrollbar in IE.
 * 3. Change the resize direction in all browsers (opinionated).
 */
textarea {
	margin: 0; /* 1 */
	overflow: auto; /* 2 */
	resize: vertical; /* 3 */
}

/**
 * Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
	padding: 0;
}

/**
 * 1. Correct the odd appearance in Chrome, Edge, and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield; /* 1 */
	outline-offset: -2px; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Safari.
 */
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
	height: auto;
}

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
	color: inherit;
	opacity: 0.54;
}

/**
 * Remove the inner padding in Chrome, Edge, and Safari on macOS.
 */
::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style upload buttons in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button; /* 1 */
	font: inherit; /* 2 */
}

/**
 * Remove the inner border and padding of focus outlines in Firefox.
 */
::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus outline styles unset by the previous rule in Firefox.
 */
:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Remove the additional :invalid styles in Firefox.
 */
:-moz-ui-invalid {
	box-shadow: none;
}

/* Interactive
 * ========================================================================== */
/*
 * Add the correct display in Edge 18- and IE.
 */
details {
	display: block;
}

/*
 * Add the correct styles in Edge 18-, IE, and Safari.
 */
dialog {
	background-color: white;
	border: solid;
	color: black;
	display: block;
	height: -moz-fit-content;
	height: -webkit-fit-content;
	height: fit-content;
	left: 0;
	margin: auto;
	padding: 1em;
	position: absolute;
	right: 0;
	width: -moz-fit-content;
	width: -webkit-fit-content;
	width: fit-content;
}

dialog:not([open]) {
	display: none;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Scripting
 * ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
	display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
	display: none;
}

/* User interaction
 * ========================================================================== */
/*
 * 1. Remove the tapping delay in IE 10.
 * 2. Remove the tapping delay on clickable elements
      in all browsers (opinionated).
 */
a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
	-ms-touch-action: manipulation; /* 1 */
	touch-action: manipulation; /* 2 */
}

/**
 * Add the correct display in IE 10-.
 */
[hidden] {
	display: none;
}

/* Accessibility
 * ========================================================================== */
/**
 * Change the cursor on busy elements in all browsers (opinionated).
 */
[aria-busy="true"] {
	cursor: progress;
}

/*
 * Change the cursor on control elements in all browsers (opinionated).
 */
[aria-controls] {
	cursor: pointer;
}

/*
 * Change the cursor on disabled, not-editable, or otherwise
 * inoperable elements in all browsers (opinionated).
 */
[aria-disabled="true"],
[disabled] {
	cursor: not-allowed;
}

/*
 * Change the display on visually hidden accessible elements
 * in all browsers (opinionated).
 */
[aria-hidden="false"][hidden] {
	display: initial;
}

[aria-hidden="false"][hidden]:not(:focus) {
	clip: rect(0, 0, 0, 0);
	position: absolute;
}

/* 上向き ▲ */
/* 右向き ▶︎ */
/* 下向き ▼ */
/* 左向き ◀︎ */
/* -----------------------
  COMMON
 ------------------------- */
html {
	background-color: #fff;
}

body.highschool001 {
	-webkit-text-size-adjust: none;
	-moz-text-size-adjust: none;
	position: relative;
	animation: fadeIn 2s ease 0s 1 normal;
	-webkit-animation: fadeIn 2s ease 0s 1 normal;
	font-weight: 500;
}

body.highschool001 #article *,
body.highschool001 .modal * {
	font-family: "Zen Maru Gothic", serif;
}

@media screen and (max-width: 640px) {
	body main.page-highschool001 {
		padding-bottom: 6.4rem;
	}
}
body.highschool001 .breadcrumb {
	position: relative;
	z-index: 3;
}

@keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@-webkit-keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
	display: block;
}

article,
aside,
audio,
blockquote,
body,
canvas,
caption,
dd,
details,
div,
dl,
dt,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
hr,
iframe,
legend,
li,
nav,
ol,
p,
section,
ul,
video {
	margin: 0;
	padding: 0;
}

ul,
ol {
	list-style: none;
	padding-left: 0;
}

img {
	width: auto;
	height: auto;
	max-width: 100%;
}

:focus {
	outline: none;
}

.scroll-prevent {
	position: fixed;
	z-index: -1;
	width: 100%;
	height: 100%;
}

*,
article {
	box-sizing: border-box;
}

.scroll_fadein {
	opacity: 0;
	transform: translate(-60px, 0);
	transition: all 1s;
}
.scroll_fadein.scrollin {
	opacity: 1;
	transform: translate(0, 0);
}

/* -----------------------
  LAYOUT
 ------------------------- */
.section-inner {
	position: relative;
	margin: auto;
	padding: 50px 20px;
}
@media screen and (min-width: 768px), print {
	.section-inner {
		padding: 50px 20px;
	}
}
@media screen and (min-width: 992px) {
	.section-inner {
		width: 100%;
		max-width: 980px;
		padding: 80px 0;
		margin-left: auto;
		margin-right: auto;
	}
}

/* -----------------------
　　PARTS
-------------------------- */
a {
	color: #3680cc;
	text-decoration: none;
	transition: all 0.3s ease;
}
@media screen and (min-width: 992px) {
	a:hover {
		opacity: 0.7;
	}
	a[href^="tel:"] {
		pointer-events: none;
	}
}

.alignright {
	margin-bottom: 1rem;
}
@media screen and (min-width: 768px), print {
	.alignright {
		float: right;
		margin-left: 2rem;
		margin-bottom: 2rem;
	}
}

.alignleft {
	margin-bottom: 1rem;
}
@media screen and (min-width: 768px), print {
	.alignleft {
		float: left;
		margin-right: 2rem;
		margin-bottom: 2rem;
	}
}

.aligncenter {
	text-align: center;
}
.aligncenter > * {
	margin-left: auto;
	margin-right: auto;
	display: inline-block;
}

.textleft {
	text-align: left;
}

.textright {
	text-align: right;
}

.textcenter {
	text-align: center;
}

@media screen and (min-width: 992px) {
	.only-sp {
		display: none !important;
	}
}
@media screen and (min-width: 768px), print {
	.only-sp {
		display: none !important;
	}
}
@media screen and (max-width: 767px) {
	.only-sp {
		display: block !important;
	}
}

@media screen and (min-width: 768px), print {
	.only-sptab {
		display: block !important;
	}
}
@media screen and (max-width: 767px) {
	.only-sptab {
		display: block !important;
	}
}
@media screen and (min-width: 992px) {
	.only-sptab {
		display: none !important;
	}
}

@media screen and (min-width: 992px) {
	.only-pc {
		display: block !important;
	}
}
@media screen and (min-width: 768px), print {
	.only-pc {
		display: block !important;
	}
}
@media screen and (max-width: 767px) {
	.only-pc {
		display: none !important;
	}
}

@media screen and (min-width: 768px), print {
	.row {
		display: flex;
		display: -webkit-flex;
		justify-content: space-between;
		flex-wrap: nowrap;
	}
	.row .col1 > * {
		width: 90%;
	}
	.row .col2 > * {
		width: 45%;
	}
	.row .col3 > * {
		width: 30%;
	}
	.row .col4 > * {
		width: 22.5%;
	}
	.row .col5 > * {
		width: 18%;
	}
	.row .col6 > * {
		width: 15%;
	}
	.row.wrap {
		flex-wrap: wrap;
	}
	.row.row-center {
		justify-content: center;
	}
	.row.row-around {
		justify-content: space-around;
	}
}

.emoji {
	font-family: "Segoe UI Emoji", "Segoe UI Symbol", "Apple Color Emoji", "Noto Color Emoji", "Noto Emoji";
}

.mt0 {
	margin-top: 0px !important;
}

.mb0 {
	margin-bottom: 0px !important;
}

.pt0 {
	padding-top: 0px !important;
}

.pb0 {
	padding-bottom: 0px !important;
}

.mt5 {
	margin-top: 5px !important;
}

.mb5 {
	margin-bottom: 5px !important;
}

.pt5 {
	padding-top: 5px !important;
}

.pb5 {
	padding-bottom: 5px !important;
}

.mt10 {
	margin-top: 10px !important;
}

.mb10 {
	margin-bottom: 10px !important;
}

.pt10 {
	padding-top: 10px !important;
}

.pb10 {
	padding-bottom: 10px !important;
}

.mt15 {
	margin-top: 15px !important;
}

.mb15 {
	margin-bottom: 15px !important;
}

.pt15 {
	padding-top: 15px !important;
}

.pb15 {
	padding-bottom: 15px !important;
}

.mt20 {
	margin-top: 20px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}

.pt20 {
	padding-top: 20px !important;
}

.pb20 {
	padding-bottom: 20px !important;
}

.mt25 {
	margin-top: 25px !important;
}

.mb25 {
	margin-bottom: 25px !important;
}

.pt25 {
	padding-top: 25px !important;
}

.pb25 {
	padding-bottom: 25px !important;
}

.mt30 {
	margin-top: 30px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.pt30 {
	padding-top: 30px !important;
}

.pb30 {
	padding-bottom: 30px !important;
}

.mt35 {
	margin-top: 35px !important;
}

.mb35 {
	margin-bottom: 35px !important;
}

.pt35 {
	padding-top: 35px !important;
}

.pb35 {
	padding-bottom: 35px !important;
}

.mt40 {
	margin-top: 40px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.pt40 {
	padding-top: 40px !important;
}

.pb40 {
	padding-bottom: 40px !important;
}

.mt45 {
	margin-top: 45px !important;
}

.mb45 {
	margin-bottom: 45px !important;
}

.pt45 {
	padding-top: 45px !important;
}

.pb45 {
	padding-bottom: 45px !important;
}

.mt50 {
	margin-top: 50px !important;
}

.mb50 {
	margin-bottom: 50px !important;
}

.pt50 {
	padding-top: 50px !important;
}

.pb50 {
	padding-bottom: 50px !important;
}

.mt55 {
	margin-top: 55px !important;
}

.mb55 {
	margin-bottom: 55px !important;
}

.pt55 {
	padding-top: 55px !important;
}

.pb55 {
	padding-bottom: 55px !important;
}

.mt60 {
	margin-top: 60px !important;
}

.mb60 {
	margin-bottom: 60px !important;
}

.pt60 {
	padding-top: 60px !important;
}

.pb60 {
	padding-bottom: 60px !important;
}

.mt65 {
	margin-top: 65px !important;
}

.mb65 {
	margin-bottom: 65px !important;
}

.pt65 {
	padding-top: 65px !important;
}

.pb65 {
	padding-bottom: 65px !important;
}

.mt70 {
	margin-top: 70px !important;
}

.mb70 {
	margin-bottom: 70px !important;
}

.pt70 {
	padding-top: 70px !important;
}

.pb70 {
	padding-bottom: 70px !important;
}

.mt75 {
	margin-top: 75px !important;
}

.mb75 {
	margin-bottom: 75px !important;
}

.pt75 {
	padding-top: 75px !important;
}

.pb75 {
	padding-bottom: 75px !important;
}

.mt80 {
	margin-top: 80px !important;
}

.mb80 {
	margin-bottom: 80px !important;
}

.pt80 {
	padding-top: 80px !important;
}

.pb80 {
	padding-bottom: 80px !important;
}

.mt85 {
	margin-top: 85px !important;
}

.mb85 {
	margin-bottom: 85px !important;
}

.pt85 {
	padding-top: 85px !important;
}

.pb85 {
	padding-bottom: 85px !important;
}

.mt90 {
	margin-top: 90px !important;
}

.mb90 {
	margin-bottom: 90px !important;
}

.pt90 {
	padding-top: 90px !important;
}

.pb90 {
	padding-bottom: 90px !important;
}

.mt95 {
	margin-top: 95px !important;
}

.mb95 {
	margin-bottom: 95px !important;
}

.pt95 {
	padding-top: 95px !important;
}

.pb95 {
	padding-bottom: 95px !important;
}

.mt100 {
	margin-top: 100px !important;
}

.mb100 {
	margin-bottom: 100px !important;
}

.pt100 {
	padding-top: 100px !important;
}

.pb100 {
	padding-bottom: 100px !important;
}

.breadcrumb {
	background-color: #eef5ff;
}
.breadcrumb ul {
	padding: 5px 20px;
}
.breadcrumb ul li {
	display: inline-block;
	font-size: 0.875rem;
}
.breadcrumb ul li:after {
	content: ">";
	display: inline-block;
	margin-right: 7px;
	color: #666666;
}
.breadcrumb ul li:last-child:after {
	display: none;
}
.breadcrumb ul li a {
	display: inline-block;
	margin-right: 7px;
}

.marker {
	padding: 0;
	background: linear-gradient(transparent 40%, #d8ff00 40%);
}

/* 上向き ▲ */
/* 右向き ▶︎ */
/* 下向き ▼ */
/* 左向き ◀︎ */
#site-header {
	width: 100vw;
	height: 50px;
	z-index: 110;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 20px;
	background-color: #fff;
}
@media screen and (min-width: 768px), print {
	#site-header {
		height: 70px;
		padding: 0 32px;
	}
}
#site-header .site-logo {
	width: 60%;
	max-width: 305px;
	font-size: 0;
}

#cover {
	display: block;
	width: 100vw;
	height: 100vh;
	position: fixed;
	z-index: 99;
	background-color: rgba(80, 65, 53, 0.6);
	top: 0;
	left: 0;
	display: none;
}
@media screen and (min-width: 992px) {
	#cover {
		display: none;
	}
}

.floating-cta {
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 100;
}
@media screen and (max-width: 767px) {
	.floating-cta {
		width: 100%;
	}
}
@media screen and (min-width: 768px), print {
	.floating-cta {
		bottom: auto;
		left: auto;
		right: 32px;
		top: 15px;
	}
}
.floating-cta .inner {
	display: flex;
}
@media screen and (min-width: 768px), print {
	.floating-cta .inner {
		gap: 13px;
	}
}
@media screen and (max-width: 767px) {
	.floating-cta .inner a {
		flex-basis: 50%;
	}
}

/* 上向き ▲ */
/* 右向き ▶︎ */
/* 下向き ▼ */
/* 左向き ◀︎ */
#site-footer {
	background-color: #000;
}
@media screen and (max-width: 767px) {
	#site-footer {
		padding-bottom: 50px;
	}
}
#site-footer .copyright {
	padding: 20px;
	line-height: 1.3;
	text-align: center;
	font-size: 13px;
	color: #fff;
}

/* 上向き ▲ */
/* 右向き ▶︎ */
/* 下向き ▼ */
/* 左向き ◀︎ */
/* --------------- Common --------------- */
body {
	background-color: #f7f7f1;
}

#main {
	overflow: hidden;
}

.btn {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 5px;
	text-align: center;
	position: relative;
	color: #000;
	transition: all 0.3s;
	line-height: 1.25;
	/*
  	&-normal {
  		// @include gradient01;
  		background: linear-gradient(180deg, #fffa32 30%, #eedc0f 70%);
  		border-radius: 15px;
  		border: 2px solid #fdee35;
  		border-bottom: 3px solid #fdee35;
  		padding: 15px 20px 15px 10px;
  		position: relative;

  		@include media(tablet) {
  			border: 3px solid #fdee35;
  			border-bottom: 5px solid #fdee35;
  			padding: 30px 35px 30px 30px;
  			border-radius: 30px;
  		}
  		&:after {
  			content: "";
  			display: block;
  			width: 6px;
  			height: 12px;
  			@include triangle-right;
  			background-color: #443a3a;
  			position: absolute;
  			top: 50%;
  			right: 6%;
  			transform: translateY(-50%);
  		}

  		span {
  			color: #443a3a;
  			font-size: 18px;

  			@include media(tablet) {
  				font-size: 24px;
  			}

  			&.label {
  				background-color: #1b0bcb;
  				color: #fff;
  				font-size: 0.75em;
  				white-space: nowrap;
  				line-height: 20px;
  				padding: 0 10px;
  				border-radius: 18px;

  				@include media(tablet) {
  					line-height: 36px;
  					padding: 0 12px;
  				}
  			}
  		}
  	}

  	&-check {
  		background-color: #504135;
  		padding: 10px;
  		border-radius: 45px;
  		font-size: 16px;
  		text-align: center;
  		color: #fff;

  		@include media(tablet) {
  			padding: 19px;
  			font-size: 20px;
  		}

  		&:after {
  			content: "";
  			display: block;
  			width: 12px;
  			height: 16px;
  			@include triangle-right;
  			background-color: #fff;
  			position: absolute;
  			top: 50%;
  			right: 6%;
  			transform: translateY(-50%);
  		}
  	}
  	&-white {
  		background-color: #fff;
  		border: 3px solid #504135;
  		padding: 10px;
  		border-radius: 45px;
  		text-align: center;
  		color: #504135;

  		@include media(tablet) {
  			font-size: 20px;
  			padding: 16px;
  		}

  		&:after {
  			content: "";
  			display: block;
  			width: 12px;
  			height: 16px;
  			@include triangle-right;
  			background-color: #504135;
  			position: absolute;
  			top: 50%;
  			right: 6%;
  			transform: translateY(-50%);
  		}
  	}
  	*/
}
@media screen and (min-width: 768px), print {
	.btn {
		display: inline-flex;
		gap: 10px;
	}
}
.btn.--black {
	display: flex;
	width: fit-content;
	background-color: #000;
	padding: 10px;
	color: #fff;
	font-size: 16px;
	border-radius: 30px;
	min-width: 280px;
}
@media screen and (min-width: 992px) {
	.btn.--black {
		min-width: 336px;
		padding: 13px 2em;
	}
}
.btn.--purple {
	background-color: #c6cde7;
	padding: 10px;
	font-size: 1rem;
	text-align: center;
	border: 1px solid #000;
}
@media screen and (min-width: 768px), print {
	.btn.--purple {
		width: 180px;
		border-radius: 10px;
	}
}
@media screen and (min-width: 992px) {
	.btn.--purple {
		width: 240px;
	}
}
.btn.--pink {
	background-color: #ff7695;
	padding: 10px;
	font-size: 1rem;
	text-align: center;
	border: 1px solid #000;
}
@media screen and (min-width: 768px), print {
	.btn.--pink {
		width: 180px;
		border-radius: 10px;
	}
}
@media screen and (min-width: 992px) {
	.btn.--pink {
		width: 240px;
	}
}
.btn.--arrow {
	position: relative;
}
.btn.--arrow:after {
	content: "";
	display: block;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	width: 7px;
	height: 8px;
	background-color: #000;
	position: absolute;
	top: 50%;
	right: 19px;
	transform: translateY(-50%);
}
.btn.--arrow-white {
	position: relative;
}
.btn.--arrow-white:after {
	content: "";
	display: block;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	width: 9px;
	height: 9px;
	background-color: #fff;
	position: absolute;
	top: 50%;
	right: 19px;
	transform: translateY(-50%);
}
@media screen and (min-width: 992px) {
	.btn.--arrow-white:after {
		right: 30px;
	}
}

.slick-arrow {
	appearance: none;
	border: none;
	background-color: #fff;
	border: 1px solid #000;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	padding: 0;
	position: absolute;
	top: 50%;
	overflow: hidden;
	text-indent: -5000px;
	z-index: 10;
}
.slick-arrow:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-color: #000;
	width: 10px;
	height: 12px;
}
.slick-prev {
	left: 0;
	transform: translate(-50%, -60%);
}
.slick-prev:before {
	clip-path: polygon(0 50%, 100% 0, 100% 100%);
}
.slick-next {
	right: 0;
	transform: translate(50%, -60%);
}
.slick-next:before {
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.pos-absolute {
	position: absolute;
}

.space {
	position: relative;
	background-image: url(../img/grid_01.png);
	background-position: top left;
	background-size: 1332px auto;
}
.space .section-inner {
	padding-bottom: 0;
}
@media screen and (min-width: 768px), print {
	.space .section-inner {
		padding-top: 0;
	}
}
.space .section-inner:before {
	content: "";
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	width: 105px;
	height: 36px;
	background-color: #f7f7f1;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -1px);
}
.space .section-inner .row {
	flex-direction: row-reverse;
	align-items: center;
}
.space .section-inner .row .img {
	flex-basis: 50%;
	text-align: center;
}
.space .section-inner .row .img img {
	width: 90%;
}
.space .section-inner .row .text {
	flex-basis: 50%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 1rem;
	color: #fff;
}
.space .section-inner .row .text .catch {
	text-align: center;
}
.space .section-inner .row .text .catch span {
	display: inline-flex;
	align-items: center;
	gap: 20px;
	font-size: 22px;
	font-weight: 700;
}
@media screen and (min-width: 992px) {
	.space .section-inner .row .text .catch span {
		font-size: 28px;
	}
}
.space .section-inner .row .text .catch span:before {
	content: url(../img/line_01.svg);
	display: inline-block;
	width: 12px;
	height: 30px;
}
.space .section-inner .row .text .catch span:after {
	content: url(../img/line_01.svg);
	display: inline-block;
	width: 12px;
	height: 30px;
	transform: scale(-1, 1);
	transform-origin: center;
}
.space .section-inner .row .text .message {
	position: relative;
}
.space .section-inner .row .text .message span {
	position: relative;
	display: inline-block;
	font-size: 30px;
	font-weight: 900;
	letter-spacing: 0.05em;
	line-height: 1.4;
	z-index: 5;
}
@media screen and (min-width: 992px) {
	.space .section-inner .row .text .message span {
		font-size: 41px;
	}
}
.space01 {
	background-color: #ff7695;
}
.space01 .shape05 {
	width: 38%;
	max-width: 536px;
	top: 0;
	left: 0;
}
.space01 .shape06 {
	width: 38%;
	max-width: 536px;
	bottom: 0;
	right: 0;
}
.space01 .text .message:before {
	content: "";
	width: 38%;
	padding-top: 20%;
	position: absolute;
	background-image: url(../img/shape_07.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	top: 0;
	right: 0;
	z-index: 1;
	transform: translateY(-10px);
}
@media screen and (min-width: 768px), print {
	.space01 .text .message:before {
		width: 198px;
	}
}
.space01 .text .message span {
	text-shadow: 0 0 6px #e5385f;
}
.space02 {
	background-color: #b7b3e6;
}
.space02 .text .catch span {
	text-shadow: 0 0 6px #6963a7;
}
.space02 .text .message:before {
	content: "";
	width: 48%;
	padding-top: 21%;
	position: absolute;
	background-image: url(../img/shape_08.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	bottom: 0;
	right: 0;
	z-index: 1;
	transform: translate(0, 58%);
}
@media screen and (min-width: 768px), print {
	.space02 .text .message:before {
		width: 213px;
	}
}
.space02 .text .message span {
	text-shadow: 0 0 6px #6963a7;
	text-align: center;
}
@media screen and (max-width: 767px) {
	.space02 .img {
		margin-top: 20px;
	}
}

.banners {
	display: flex;
	justify-content: space-between;
}
@media screen and (max-width: 767px) {
	.banners {
		flex-direction: column;
		gap: 10px;
	}
}
.banners a {
	flex-basis: 48.9%;
}

.slider-control {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
}
.slider-control a {
	width: 35px;
	height: 35px;
	border: 1px solid #000;
	border-radius: 50%;
	background-color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}
.slider-control a.prev span:before {
	content: "";
	display: block;
	clip-path: polygon(0 50%, 100% 0, 100% 100%);
	width: 7px;
	height: 7px;
	background-color: #000;
}
.slider-control a.next span:before {
	content: "";
	display: block;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	width: 7px;
	height: 7px;
	background-color: #000;
}
.slider-control .page-number {
	min-width: 24px;
}

/* ---------- ANIMATION ---------- */
.bounce-in {
	-webkit-transform-origin: center;
	transform-origin: center;
	-webkit-transform: scale(0);
	transform: scale(0);
	opacity: 0;
	transition: all 0.5s;
}
.bounce-in.bounce-in-action {
	-webkit-transition: -webkit-transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.2s;
	transition: -webkit-transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.2s;
	transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.2s;
	transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.2s, -webkit-transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.2s;
	-webkit-transform: scale(1);
	transform: scale(1);
	opacity: 1;
}

/* --------------- Contents --------------- */
.fv {
	background: linear-gradient(to bottom, #ffffff 0%, #f7f7f1 74%);
}
.fv .section-inner {
	background-color: #ff7695;
	background-image: url(../img/grid_01.png);
	background-position: top left;
	background-size: 1332px auto;
	padding: 0;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	border-radius: 30px;
	width: calc(100vw - 40px);
	height: 50vh;
}
@media screen and (min-width: 480px) {
	.fv .section-inner {
		height: 640px;
	}
}
@media screen and (min-width: 768px), print {
	.fv .section-inner {
		height: 640px;
		border-radius: 50px;
		width: calc(100vw - 64px);
		overflow: hidden;
	}
}
@media screen and (min-width: 992px) {
	.fv .section-inner {
		max-width: initial;
	}
}
.fv .shape-01 {
	top: 0;
	left: 0;
	z-index: 1;
	border-top-left-radius: 50px;
	overflow: hidden;
}
@media screen and (max-width: 767px) {
	.fv .shape-01 {
		width: 35%;
		border-top-left-radius: 30px;
	}
}
.fv .shape-02 {
	bottom: 0;
	right: 0;
	z-index: 1;
	border-bottom-right-radius: 50px;
	overflow: hidden;
}
@media screen and (max-width: 767px) {
	.fv .shape-02 {
		width: 50%;
		border-bottom-right-radius: 30px;
	}
}
.fv .mainimage {
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;
}
@media screen and (min-width: 768px), print {
	.fv .mainimage {
		width: 1278px;
		height: auto;
	}
}
.fv h1 {
	position: relative;
	z-index: 10;
	text-align: center;
}
@media screen and (max-width: 767px) {
	.fv h1 img {
		transform: translateX(8%);
	}
}
.fv .badge {
	position: absolute;
	z-index: 20;
	background-image: url(../img/bg_badge.svg);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
	.fv .badge {
		max-width: 40%;
		right: 0;
		bottom: 0;
		transform: translate(15%, 30%);
	}
}
@media screen and (min-width: 768px), print {
	.fv .badge {
		width: 20vw;
		max-width: 200px;
		bottom: 0;
		right: 0;
	}
}
@media screen and (min-width: 992px) {
	.fv .badge {
		right: auto;
		left: calc(50% + 400px);
		bottom: 17px;
		transform: translateX(-50%);
	}
}
.fv .badge a {
	display: block;
}
.fv .badge a img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.step01 {
	position: relative;
}
.step01 h2 {
	text-align: center;
	font-weight: 500;
	font-size: 24px;
}
@media screen and (min-width: 768px), print {
	.step01 h2 {
		font-size: 30px;
	}
}
.step01 h2 .en {
	display: inline-block;
	margin-bottom: 15px;
}
.step01 h2 .em {
	margin-right: 11px;
	display: inline-block;
	position: relative;
}
.step01 h2 .em:before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-color: #000;
	border-radius: 7px;
	position: absolute;
	bottom: 0;
	right: 0;
	transform: translate(6px, 6px);
	z-index: 1;
}
.step01 h2 .em span {
	display: inline-block;
	background-color: #d8ff00;
	padding: 5px 25px;
	border: 1px solid #000;
	border-radius: 7px;
	position: relative;
	z-index: 2;
}
.step01 h2 + p {
	margin: 1.5em 0;
	font-size: 17px;
	text-align: center;
	line-height: 1.8;
}
@media screen and (min-width: 768px), print {
	.step01 .slick-track {
		display: flex;
	}
}
.step01 .field-item {
	text-align: center;
	position: relative;
	padding-bottom: 50px;
}
@media screen and (min-width: 768px), print {
	.step01 .field-item {
		height: auto;
		margin: 0 10px;
	}
}
.step01 .field-item:before {
	content: "";
	display: block;
	width: 100%;
	height: calc(100% - 87px);
	background-color: #faf0f0;
	position: absolute;
	bottom: 0;
	left: 0;
	border-radius: 160px;
	z-index: 1;
}
.step01 .field-item .img {
	width: 174px;
	height: 174px;
	background-color: #faf0f0;
	border-radius: 50%;
	position: relative;
	z-index: 5;
	margin: 0 auto;
}
.step01 .field-item h3 {
	position: relative;
	z-index: 5;
	text-align: center;
}
.step01 .field-item h3 span {
	padding: 5px 10px;
	display: inline-block;
	background-color: #c6cde7;
	border: 1px solid #000;
	border-radius: 10px;
	font-size: 16px;
	margin-top: -15px;
}
@media screen and (min-width: 992px) {
	.step01 .field-item h3 span {
		padding: 5px 17px;
		font-size: 20px;
	}
}
.step01 .field-item p {
	margin-top: 1.2em;
	line-height: 2;
	position: relative;
	z-index: 5;
}
.step01 .shape03 {
	top: 47px;
	left: calc(50% - 366px);
	transform: translateX(-100%);
}
.step01 .shape04 {
	top: 50%;
	left: calc(50% + 410px);
	transform: translate(0, -50%);
	width: 420px;
}
.step01 .illust01 {
	max-width: 184.5px;
	top: 100px;
	left: calc(50% - 430px);
	transform: translateX(-100%);
}
.step01 .illust02 {
	max-width: 153px;
	left: calc(50% + 500px);
	bottom: 45px;
}

.step02 {
	padding-top: 56px;
	padding-bottom: 56px;
	position: relative;
}
.step02 .section-inner {
	background-color: #edd3d9;
	border-radius: 30px;
	width: calc(100vw - 40px);
}
@media screen and (min-width: 768px), print {
	.step02 .section-inner {
		border-radius: 50px;
		width: calc(100vw - 64px);
	}
}
@media screen and (min-width: 992px) {
	.step02 .section-inner {
		max-width: initial;
		padding-top: 60px;
		padding-bottom: 60px;
	}
}
.step02 .row {
	position: relative;
	z-index: 5;
	align-items: center;
	margin-bottom: 30px;
}
@media screen and (min-width: 992px) {
	.step02 .row {
		max-width: 980px;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 60px;
	}
}
@media screen and (max-width: 980px) {
	.step02 .row {
		display: block;
	}
}
@media screen and (max-width: 767px) {
	.step02 .row h2 {
		text-align: center;
	}
}
.step02 .row h2 .tit {
	display: block;
	position: relative;
	padding: 0 18px;
}
@media screen and (max-width: 767px) {
	.step02 .row h2 .tit {
		margin: 5px 0 20px;
	}
}
@media screen and (min-width: 768px), print {
	.step02 .row h2 .tit {
		display: inline-block;
	}
}
.step02 .row h2 .tit:before {
	content: "";
	display: block;
	width: 100%;
	height: 70%;
	background-color: #fff;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	z-index: 0;
}
@media screen and (min-width: 768px), print {
	.step02 .row h2 .tit:before {
		height: 57px;
	}
}
.step02 .row h2 .tit span {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	z-index: 5;
	font-weight: 500;
	font-size: 25px;
}
@media screen and (max-width: 767px) {
	.step02 .row h2 .tit span {
		flex-direction: column;
		gap: 0;
	}
}
.step02 .row .text p {
	font-size: 17px;
	line-height: 1.9;
}
.step02 .shape01 {
	top: 0;
	left: 50%;
	transform: translate(-50%, 0);
	z-index: 1;
}
@media screen and (max-width: 767px) {
	.step02 .shape01 {
		width: 90%;
	}
}
@media screen and (min-width: 768px), print {
	.step02 .shape01 {
		right: 0;
		transform: translate(-78px, -3px);
	}
}
.step02 .photo01 {
	max-width: 241.5px;
	bottom: 0;
	right: 0;
	transform: translateX(20px);
}
@media screen and (min-width: 992px) {
	.step02 .photo01 {
		transform: translateX(100%);
	}
}
@media screen and (max-width: 767px) {
	.step02 .photo01 {
		display: none;
	}
}
.step02 .seniors {
	position: relative;
	margin-left: -40px;
	margin-right: -40px;
}
@media screen and (min-width: 768px), print {
	.step02 .seniors {
		margin-left: -52px;
		margin-right: -52px;
	}
}
@media screen and (min-width: 992px) {
	.step02 .seniors {
		margin-left: -32px;
		margin-right: -32px;
	}
}
.step02 .seniors .check {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(80%, -50%);
	z-index: 50;
}
@media screen and (min-width: 1300px) {
	.step02 .seniors .check {
		--width: calc(100vw / 6);
		left: calc(50% + var(--width));
		transform: translate(-50%, -50%);
	}
}
.step02 .senior-item {
	width: 249px;
	padding: 0 7px;
}
.step02 .slider-control {
	margin-top: 20px;
}

.history .section-inner {
	padding: 0;
}
@media screen and (min-width: 768px), print {
	.history .section-inner {
		display: flex;
		height: 55vw;
	}
}
@media screen and (min-width: 992px) {
	.history .section-inner {
		max-width: initial;
	}
}
.history .section-inner .left {
	flex-basis: 50%;
	background-color: #e8efff;
	padding: 20px 20px 10px;
}
@media screen and (min-width: 768px), print {
	.history .section-inner .left {
		padding: 32px 20px 20px;
	}
}
.history .section-inner .left img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}
.history .section-inner .right {
	flex-basis: 50%;
	padding: 20px;
	background-color: #f8cfd9;
}
@media screen and (min-width: 992px) {
	.history .section-inner .right {
		padding: 32px;
	}
}
.history .section-inner .right .story {
	height: 60vh;
	overflow-y: scroll;
	border-radius: 24px;
}
@media screen and (min-width: 768px), print {
	.history .section-inner .right .story {
		height: 100%;
	}
}
.history .section-inner .right .inner {
	background-color: #fff;
	padding: 30px 15px 30px 15px;
}
@media screen and (min-width: 768px), print {
	.history .section-inner .right .inner {
		padding-bottom: 60px;
	}
}
@media screen and (min-width: 992px) {
	.history .section-inner .right .inner {
		padding: 30px 20px 90px 30px;
	}
}
.history .story .row {
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: stretch;
}
.history .story .term {
	background-color: #e8efff;
	flex-basis: 70px;
	text-align: center;
	display: flex;
	gap: 5px;
	color: #264488;
	line-height: 1;
	padding: 20px 0 1em;
}
@media screen and (max-width: 767px) {
	.history .story .term {
		align-items: flex-end;
		justify-content: center;
		line-height: 1;
		padding: 10px 0 1em !important;
	}
}
@media screen and (min-width: 768px), print {
	.history .story .term {
		flex-direction: column;
	}
}
@media screen and (min-width: 992px) {
	.history .story .term {
		flex-basis: 80px;
	}
}
.history .story .term small {
	font-size: 0.933333em;
}
.history .story .term strong {
	font-size: 1.6em;
	line-height: 1;
}
.history .story .detail {
	flex-basis: calc(100% - 70px - 15px);
	padding: 1rem;
}
@media screen and (max-width: 767px) {
	.history .story .detail {
		padding: 1rem !important;
	}
}
@media screen and (min-width: 992px) {
	.history .story .detail {
		flex-basis: calc(100% - 80px - 24px);
	}
}
.history .story .detail h3 {
	margin-bottom: 0.5em;
	color: #264488;
	font-size: 20px;
	display: flex;
	align-items: center;
}
@media screen and (max-width: 991px) {
	.history .story .detail h3 {
		flex-direction: column;
		gap: 5px;
		align-items: flex-start;
		font-size: 18px;
	}
}
.history .story .detail * + h3 {
	margin-top: 1.2em;
}
.history .story .detail .catch {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	font-size: 14px;
}
.history .story .detail .catch:before {
	content: url(../img/line_02.svg);
	width: 5px;
	height: 15px;
}
.history .story .detail .catch:after {
	content: url(../img/line_02.svg);
	width: 5px;
	height: 15px;
	transform: scale(-1, 1);
	transform-origin: center;
}
.history .story .detail p {
	margin-top: 0.8em;
	font-size: 14px;
}
.history .story .detail .label {
	display: inline-block;
	background-color: #d8ff00;
	padding: 0.3em 0.7em;
	border: 1px solid #000;
	border-radius: 15px;
	font-weight: 700;
	font-size: 14px;
	color: #000;
	line-height: 1.2;
}
@media screen and (min-width: 992px) {
	.history .story .detail .label {
		padding: 0.5em 1em;
	}
}
.history .story .pink .term {
	background-color: #f8cfd9;
	color: #d50f3c;
}
.history .story .hotpink .term {
	background-color: #ff7695;
	color: #fff;
}
@media screen and (max-width: 767px) {
	.history .story .nyushi {
		margin-bottom: 30px;
	}
}
@media screen and (min-width: 768px), print {
	.history .story .nyushi .term {
		padding-top: 100px;
		gap: 100px;
		display: flex !important;
	}
}
@media screen and (min-width: 992px) {
	.history .story .nyushi .term {
		padding-top: 120px;
		gap: 65px;
	}
}
.history .story .nyushi .detail {
	background-color: #e8efff;
	padding: 15px;
}
@media screen and (min-width: 992px) {
	.history .story .nyushi .detail {
		padding: 35px;
	}
}
.history .story .nyushi .detail h3 {
	margin-bottom: 1em;
	justify-content: center;
}
@media screen and (max-width: 1199px) {
	.history .story .nyushi .detail h3 {
		align-items: center;
		margin-bottom: 2em;
	}
}
.history .story .nyushi-item {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background-color: #fff;
	padding: 10px;
	text-align: center;
}
@media screen and (min-width: 992px) {
	.history .story .nyushi-item {
		padding: 0 10px;
	}
}
.history .story .nyushi-item + .nyushi-item {
	margin-top: 15px;
}
@media screen and (min-width: 992px) {
	.history .story .nyushi-item + .nyushi-item {
		margin-top: 30px;
	}
}
.history .story .nyushi-item span:not(.label) {
	color: #264488;
	font-size: 16px;
	font-weight: 700;
}
@media screen and (min-width: 992px) {
	.history .story .nyushi-item span:not(.label) {
		transform: translateY(-30%);
	}
}
.history .story .nyushi-item .label {
	margin-bottom: 10px;
}
@media screen and (min-width: 992px) {
	.history .story .nyushi-item .label {
		max-width: 300px;
		transform: translateY(-50%);
	}
}
.history .story .nyushi-item .marker {
	line-height: 1;
	padding: 0;
	background: linear-gradient(transparent 50%, #d8ff00 50%);
}
.history .story .nyugaku .term {
	padding-top: 30px;
	position: relative;
}
.history .story .nyugaku .term:before {
	content: "";
	width: 100%;
	height: 25px;
	background-color: #f8cfd9;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	transform: translateY(-100%);
}
@media screen and (max-width: 767px) {
	.history .story .nyugaku .term:before {
		display: none;
	}
}
.history .story .nyugaku .term:after {
	content: "";
	width: 100%;
	height: 25px;
	background-color: #e8efff;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	transform: translateY(-100%);
}
@media screen and (max-width: 767px) {
	.history .story .nyugaku .term:after {
		display: none;
	}
}
.history .story .nyugaku .detail {
	background-color: #fff7f7;
	padding: 20px;
}
@media screen and (min-width: 992px) {
	.history .story .nyugaku .detail {
		padding: 20px 35px;
	}
}
.history .story .nyugaku .detail h3 {
	flex-direction: column;
	color: #000;
}
.history .story .goal {
	position: relative;
}
.history .story .goal:after {
	content: "";
	width: 70px;
	height: 25px;
	background-color: #ff7695;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 2;
	transform: translateY(calc(100% - 1px));
}
@media screen and (min-width: 992px) {
	.history .story .goal:after {
		width: 80px;
	}
}
@media screen and (max-width: 767px) {
	.history .story .goal:after {
		display: none;
	}
}
.history .story .goal .term {
	padding-top: 30px;
	position: relative;
}
.history .story .goal .term:before {
	content: "";
	width: 100%;
	height: 25px;
	background-color: #ff7695;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	transform: translateY(-100%);
}
@media screen and (max-width: 767px) {
	.history .story .goal .term:before {
		display: none;
	}
}
.history .story .goal .term:after {
	content: "";
	width: 100%;
	height: 25px;
	background-color: #f8cfd9;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	transform: translateY(-100%);
}
@media screen and (max-width: 767px) {
	.history .story .goal .term:after {
		display: none;
	}
}
.history .story .goal .term .shape {
	margin-left: -10px;
	margin-right: -10px;
}
@media screen and (max-width: 767px) {
	.history .story .goal .term .shape {
		display: none;
	}
}
.history .story .goal .detail {
	background-color: #fff7f7;
	padding: 20px 80px 20px 20px;
	position: relative;
}
@media screen and (min-width: 992px) {
	.history .story .goal .detail {
		padding: 20px 80px 20px 35px;
	}
}
.history .story .goal .detail h3 {
	flex-direction: column;
	gap: 8px;
	color: #000;
}
@media screen and (max-width: 767px) {
	.history .story .goal .detail h3 {
		width: calc(100% - 70px);
	}
}
@media screen and (max-width: 767px) {
	.history .story .goal .detail p {
		width: calc(100% - 70px);
	}
}
.history .story .goal .detail .photo {
	max-width: 95.5px;
	position: absolute;
	bottom: 0;
	right: -15px;
}
@media screen and (min-width: 992px) {
	.history .story .goal .detail .photo {
		right: 0;
	}
}

.minihistory {
	position: relative;
}
.minihistory:before {
	content: "";
	display: block;
	width: 55vw;
	height: 30vw;
	clip-path: polygon(100% 0, 0 0, 100% 100%);
	position: absolute;
	top: 0;
	right: 0;
	background-color: #c6cde7;
	z-index: 0;
}
.minihistory h2 {
	margin-bottom: 20px;
}
.minihistory .photo {
	top: 50%;
	left: 0;
	max-width: 220.5px;
	transform: translate(-90%, -50%);
}
.minihistory .seniors {
	position: relative;
}
.minihistory .senior-item {
	position: relative;
	width: calc(100vw - 40px);
	padding: 30px 0 0 20px;
}
@media screen and (min-width: 768px), print {
	.minihistory .senior-item {
		width: calc(50vw - 20px);
		padding: 30px 10px 0 30px;
	}
}
@media screen and (min-width: 992px) {
	.minihistory .senior-item {
		width: 490px;
		height: 100%;
		padding: 30px 30px 0 30px;
	}
}
.minihistory .senior-item .course {
	display: inline-block;
	border-radius: 8px 8px 0 0;
	background-color: #ff7695;
	padding: 0 1em;
	position: absolute;
	top: 5px;
	right: 0;
	color: #fff;
	font-size: 14px;
	line-height: 26px;
}
@media screen and (min-width: 768px), print {
	.minihistory .senior-item .course {
		right: 10px;
	}
}
@media screen and (min-width: 992px) {
	.minihistory .senior-item .course {
		right: 30px;
	}
}
.minihistory .senior-item .img {
	width: 35%;
	max-width: 140px;
	position: absolute;
	top: 5px;
	left: 0;
}
@media screen and (min-width: 768px), print {
	.minihistory .senior-item .img {
		top: 0;
	}
}
.minihistory .senior-item .box {
	background-color: #fff;
	border: 1px solid #000;
	border-radius: 0 0 13px 13px;
	height: 100%;
	background-image: url(../img/mini_03.svg);
	background-repeat: no-repeat;
	background-position: bottom 30px right 16px;
	left: 22px;
}
.minihistory .senior-item .profile {
	height: 90px;
	padding: 0 16px 0 35%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	border-bottom: 1px solid #000;
	gap: 5px;
}
.minihistory .senior-item .profile .name {
	font-size: 18px;
}
.minihistory .senior-item .profile .graduate {
	font-size: 14px;
	line-height: 1.1;
}
.minihistory .senior-item .detail {
	padding: 10px 18px 25px;
}
@media screen and (min-width: 992px) {
	.minihistory .senior-item .detail {
		padding: 10px 40px 25px;
	}
}
.minihistory .senior-item .detail dl {
	margin-top: 1em;
	font-size: 14px;
}
.minihistory .senior-item .detail dl dt {
	line-height: 1.3;
	color: #ff7695;
}
.minihistory .senior-item .detail dl dd {
	margin-top: 0.6em;
}
.minihistory .senior-item .detail dl.dream {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
}
.minihistory .senior-item .detail dl.dream dd {
	margin-top: 0;
	font-size: 1.2em;
}
@media screen and (max-width: 767px) {
	.minihistory .senior-item .detail .row {
		display: flex !important;
		justify-content: space-between;
	}
}
.minihistory .senior-item .detail .row dl {
	flex-basis: calc(50% - 8px);
	background-color: #fafafa;
	text-align: center;
	padding: 10px 10px 12px;
}
@media screen and (max-width: 767px) {
	.minihistory .senior-item .detail .row dl {
		flex-basis: calc(50% - 4px);
	}
}
.minihistory .senior-item .detail .row dl dd {
	font-size: 16px;
}
@media screen and (max-width: 991px) {
	.minihistory .senior-item .detail > dl {
		width: calc(100% - 40px);
	}
}
.minihistory .slick-track {
	display: flex;
	padding-left: 50px;
}
.minihistory .slick-slide {
	height: auto !important;
}
.minihistory .slider-control {
	justify-content: flex-end;
	position: absolute;
	top: 0;
	right: 0;
	transform: translate(-30px, -180%);
}
@media screen and (max-width: 767px) {
	.minihistory .slider-control {
		display: none;
	}
}

.step03 {
	background-image: url(../img/step03_04.svg);
	background-position: top left;
	background-color: #fff;
	padding: 45px 0 0;
}
.step03 .section-wrapper {
	background-color: #f8cfd9;
	border-radius: 30px;
	width: calc(100vw - 40px);
	margin: 0 auto;
	position: relative;
	overflow: hidden;
}
@media screen and (min-width: 768px), print {
	.step03 .section-wrapper {
		border-radius: 50px;
		width: calc(100vw - 64px);
	}
}
@media screen and (min-width: 992px) {
	.step03 .section-wrapper {
		max-width: initial;
	}
}
.step03 .shape01 {
	top: 50%;
	--margin: calc(100vw - 980px - 64px);
	left: calc(var(--margin) / 4);
	transform: translate(-50%, -50%);
}
.step03 .shape02 {
	top: 50%;
	--margin: calc(100vw - 980px - 64px);
	right: calc(var(--margin) / 4);
	transform: translate(50%, -50%);
}
.step03 .heading {
	display: flex;
	align-items: flex-end;
}
.step03 .heading .photo {
	max-width: 170px;
}
@media (min-width: 768px) and (max-width: 991px) {
	.step03 .heading .photo {
		max-width: 140px;
	}
}
@media screen and (max-width: 767px) {
	.step03 .heading .photo {
		display: none;
	}
}
.step03 .heading .text {
	padding-bottom: 20px;
}
@media screen and (min-width: 992px) {
	.step03 .heading .text {
		padding-bottom: 30px;
	}
}
.step03 .heading .text h2 {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 20px;
	text-align: center;
}
.step03 .heading .text h2 .ja {
	background-color: #fff;
	font-size: 20px;
	font-weight: 500;
	padding: 0.3em 0.5em;
}
@media screen and (min-width: 992px) {
	.step03 .heading .text h2 .ja {
		font-size: 24px;
	}
}
@media screen and (min-width: 992px) {
	.step03 .heading .text h2 .ja {
		font-size: 30px;
	}
}
.step03 .heading .text p {
	margin-top: 1em;
	line-height: 1.9;
}
@media screen and (min-width: 992px) {
	.step03 .heading .text p {
		white-space: nowrap;
		font-size: 17px;
	}
}
.step03 .heading .text p strong {
	font-size: 1.35em;
	font-weight: 500;
}
.step03 .graph-item {
	position: relative;
}
.step03 .graph-item:before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-color: #ff7695;
	border-radius: 20px;
	border: 1px solid #000;
	position: absolute;
	bottom: 0;
	right: 0;
	transform: translate(10px, 10px);
	z-index: 1;
}
@media screen and (max-width: 767px) {
	.step03 .graph-item:before {
		display: none;
	}
}
.step03 .graph-item .inner {
	position: relative;
	z-index: 5;
	height: 100%;
	background-color: #fff;
	border: 1px solid #000;
	border-radius: 20px;
	overflow: hidden;
}
.step03 .graph-item h3 {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.1rem;
	background-color: #d8ff00;
	border-bottom: 1px solid #000;
	padding: 0 10px;
	font-size: 16px;
}
@media screen and (max-width: 767px) {
	.step03 .graph-item h3 {
		padding: 10px 10px 10px 15px;
	}
}
@media screen and (min-width: 768px), print {
	.step03 .graph-item h3 {
		height: 80px;
	}
}
@media screen and (min-width: 992px) {
	.step03 .graph-item h3 {
		height: 100px;
		font-size: 20px;
	}
}
@media screen and (max-width: 991px) {
	.step03 .graph-item h3 img {
		width: 15%;
	}
}
.step03 .graph-item h3 span {
	font-weight: 500;
	line-height: 1.5;
}
@media screen and (min-width: 768px), print {
	.step03 .graph-item h3 span {
		text-align: center;
	}
}
.step03 .graph-item .img {
	border-top: 1px dashed #000;
	padding: 20px;
	text-align: center;
}
.step03 .graph-item .img img {
	margin-left: auto;
	margin-right: auto;
}
@media screen and (max-width: 767px) {
	.step03 .graph-item .img img {
		width: 70%;
	}
}
@media screen and (max-width: 767px) {
	.step03 .graph-item .img.w100 img {
		width: 100%;
	}
}
.step03 .graph-item:last-child h3,
.step03 .graph-item.other h3 {
	flex-direction: column;
	background-color: transparent;
	border-bottom: none;
	gap: 5px;
	padding-top: 30px;
	height: auto;
	font-size: 20px;
}
@media screen and (min-width: 992px) {
	.step03 .graph-item:last-child h3,
	.step03 .graph-item.other h3 {
		font-size: 25px;
	}
}
.step03 .graph-item:last-child h3 img,
.step03 .graph-item.other h3 img {
	width: auto;
}
.step03 .graph-item:last-child .img,
.step03 .graph-item.other .img {
	border-top: none;
	padding: 20px;
}
@media screen and (min-width: 992px) {
	.step03 .graph-item:last-child .img,
	.step03 .graph-item.other .img {
		padding: 20px 35px;
	}
}
.step03 .graphs .grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	row-gap: 45px;
}
@media screen and (max-width: 767px) {
	.step03 .graphs .grid {
		display: none;
	}
}
.step03 .graphs .grid .graph-item {
	flex-basis: 45%;
}
@media screen and (min-width: 768px), print {
	.step03 .graphs .slider {
		display: none;
	}
}
.step03 .slick-next {
	right: 10px;
}
.step03 .slick-prev {
	left: 10px;
}

.merit {
	position: relative;
}
.merit h2 {
	margin-bottom: 35px;
	text-align: center;
}
.merit h2 span {
	display: block;
	color: #fff;
	font-size: 18px;
	text-align: center;
	background-color: #ff7695;
	padding: 10px;
	border-radius: 25px;
	position: relative;
}
@media screen and (min-width: 768px), print {
	.merit h2 span {
		display: inline-block;
		width: 60%;
		padding: 18px;
		font-size: 25px;
	}
}
.merit h2 span:after {
	content: "";
	display: block;
	width: 15px;
	height: 12px;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	background-color: #ff7695;
	position: absolute;
	bottom: 1px;
	left: 50%;
	transform: translate(-50%, 100%);
}
@media screen and (min-width: 768px), print {
	.merit h2 span:after {
		width: 20px;
		height: 17px;
	}
}
.merit-item {
	padding-left: 20px;
	padding-right: 20px;
}
@media screen and (min-width: 768px), print {
	.merit-item {
		padding-left: 10px;
		padding-right: 10px;
	}
}
@media screen and (min-width: 992px) {
	.merit-item {
		width: 245px;
		text-align: center;
	}
}
.merit-item .inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	text-align: center;
	line-height: 1.4;
}
.merit .bep {
	margin-top: 53px;
	background-color: #fff7f7;
	padding: 20px 20px 28px;
}
@media screen and (min-width: 992px) {
	.merit .bep {
		padding: 20px 75px 38px 38px;
	}
}
.merit .bep h3 {
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: 5px;
	font-weight: 500;
	transform: translateY(-40px);
}
.merit .bep h3 .catch {
	display: inline-flex;
	gap: 10px;
	align-items: center;
	justify-content: center;
	font-size: 16px;
}
@media screen and (min-width: 768px), print {
	.merit .bep h3 .catch {
		font-size: 20px;
	}
}
.merit .bep h3 .catch:before {
	content: url(../img/line_03.svg);
	width: 6px;
	height: 19px;
}
.merit .bep h3 .catch:after {
	content: url(../img/line_03.svg);
	width: 6px;
	height: 19px;
	transform: scale(-1, 1);
	transform-origin: center;
}
.merit .bep h3 .tit {
	display: inline-flex;
	gap: 10px;
	align-items: flex-end;
	justify-content: center;
	font-size: 30px;
	line-height: 1;
}
@media screen and (max-width: 767px) {
	.merit .bep h3 .tit {
		flex-direction: column;
		align-items: center;
	}
}
.merit .bep .row {
	justify-content: space-between;
	align-items: center;
}
.merit .bep .row .img {
	flex-basis: 48%;
	background-color: #fff;
	border-radius: 22px;
	padding: 20px 30px;
}
@media screen and (max-width: 767px) {
	.merit .bep .row .img {
		margin-bottom: 20px;
	}
}
.merit .bep .row .text {
	flex-basis: 45%;
}
.merit .bep .row .text p {
	line-height: 2;
}
.merit .photo {
	max-width: 199.5px;
	bottom: 0;
	right: 0;
	transform: translate(50%, 10%);
}
@media screen and (max-width: 991px) {
	.merit .photo {
		display: none;
	}
}

.support {
	background-color: #c6cde7;
	background-image: url(../img/shape_11.svg), url(../img/shape_11.svg);
	background-position: top center, bottom center;
	background-repeat: repeat-x;
	padding: 50px 0;
	position: relative;
}
.support .section-wrapper {
	border-radius: 30px;
	width: calc(100vw - 40px);
	margin: 0 auto;
	position: relative;
	overflow: hidden;
	background-image: url(../img/support_05.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	background-color: #fff;
}
@media screen and (min-width: 768px), print {
	.support .section-wrapper {
		border-radius: 50px;
		width: calc(100vw - 64px);
	}
}
@media screen and (min-width: 992px) {
	.support .section-wrapper {
		max-width: initial;
	}
}
.support .section-inner {
	padding-top: 30px;
	padding-bottom: 30px;
}
.support h2 {
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: 15px;
	margin-bottom: 25px;
}
.support h2 .lead {
	background-color: #fff;
	font-size: 17px;
	font-weight: 500;
	padding: 2px 0.5em;
}
@media screen and (max-width: 767px) {
	.support .supports {
		overflow-x: scroll;
	}
}
.support .supports .inner {
	display: flex;
	justify-content: space-between;
}
@media screen and (max-width: 767px) {
	.support .supports .inner {
		width: 200vw;
	}
}
.support .support-item {
	width: 32%;
	max-width: 320px;
	background-color: #fff;
	border-radius: 30px;
	padding: 20px 12px;
	text-align: center;
}
@media screen and (min-width: 992px) {
	.support .support-item {
		padding: 25px;
	}
}
.support .support-item .label {
	display: block;
	background-color: #ff7695;
	border: 1px solid #000;
	border-radius: 20px;
	padding: 0.5em 0.2em;
	font-size: 12px;
	color: #fff;
	line-height: 1.2;
}
@media screen and (min-width: 992px) {
	.support .support-item .label {
		font-size: 14px;
	}
}
.support .support-item h3 {
	font-size: 25px;
	color: #ff7695;
	line-height: 1.3;
	margin-top: 0.6em;
	margin-bottom: 0.5em;
	font-weight: 500;
}
.support .support-item .row {
	justify-content: center;
	gap: 10px;
}
@media screen and (max-width: 767px) {
	.support .support-item .row {
		display: flex;
	}
}
.support .support-item .row dl dt {
	background-color: #f8cfd9;
	padding: 0 0.7em;
	font-size: 14px;
}
.support .support-item .row dl dd {
	line-height: 1.2;
	font-size: 30px;
}
.support .support-item .row dl dd small {
	font-size: 0.55em;
}
.support .buttons {
	margin-top: 24px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}
.support .buttons .catch {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	font-size: 16px;
}
.support .buttons .catch:before {
	content: url(../img/line_03.svg);
	width: 5px;
	height: 15px;
}
.support .buttons .catch:after {
	content: url(../img/line_03.svg);
	width: 5px;
	height: 15px;
	transform: scale(-1, 1);
	transform-origin: center;
}
.support .buttons .btn.--black {
	padding-top: 16px;
	padding-bottom: 16px;
	font-size: 17px;
}
.support .illust01 {
	width: 15vw;
	max-width: 149px;
	top: 30%;
	left: 0;
	transform: translate(-20%, -100%);
	z-index: 10;
}
@media screen and (min-width: 768px), print {
	.support .illust01 {
		width: 10vw;
		transform: translate(-15%, -100%);
	}
}
@media screen and (min-width: 992px) {
	.support .illust01 {
		top: 50%;
	}
}
.support .illust02 {
	width: 15vw;
	max-width: 154px;
	bottom: 0;
	right: 0;
	transform: translate(-50%, -10%);
	z-index: 10;
}
@media screen and (min-width: 768px), print {
	.support .illust02 {
		width: 10vw;
	}
}
.support .illust03 {
	width: 15vw;
	max-width: 145px;
	top: 0;
	right: 50px;
	z-index: 10;
}
@media screen and (min-width: 768px), print {
	.support .illust03 {
		width: 10vw;
	}
}
@media screen and (min-width: 992px) {
	.support .illust03 {
		left: calc(50% + 335px);
	}
}

.step04 h2 {
	display: flex;
	flex-direction: column;
	gap: 10px;
	text-align: center;
	position: relative;
	z-index: 5;
}
.step04 h2 .tit01 {
	font-size: 24px;
}
.step04 h2 .tit02 {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	font-size: 30px;
}
.step04 h2 .tit02 .em {
	display: inline-block;
	position: relative;
}
.step04 h2 .tit02 .em:before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-color: #000;
	position: absolute;
	bottom: 0;
	right: 0;
	transform: translate(3px, 3px);
	z-index: 1;
}
.step04 h2 .tit02 .em span {
	display: block;
	background-color: #f8cfd9;
	border: 1px solid #000;
	padding: 3px 30px;
	position: relative;
	z-index: 5;
}
.step04 .photo01 {
	max-width: 175.5px;
	top: 0;
	left: 0;
	transform: translate(-100%, -5%);
}
.step04 .photo02 {
	max-width: 145px;
	bottom: 0;
	right: 0;
	transform: translate(120%, -10%);
}
.step04 .tab-heading {
	display: flex;
	justify-content: center;
}
.step04 .tab-heading > div {
	position: relative;
	padding: 18px 0 25px;
}
.step04 .tab-heading > div:before {
	content: url(../img/step04_03.svg);
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 1;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, 0);
}
.step04 .tab-heading .baloon {
	position: relative;
	z-index: 5;
}
.step04 .tabs {
	display: flex;
	gap: 10px;
	margin-top: 10px;
	position: relative;
	z-index: 5;
}
@media screen and (max-width: 767px) {
	.step04 .tabs {
		flex-wrap: wrap;
		gap: 6px;
		justify-content: center;
	}
}
@media screen and (min-width: 992px) {
	.step04 .tabs {
		gap: 20px;
	}
}
.step04 .tabs a {
	background-color: #d8ff00;
	border: 1px solid #000;
	font-size: 12px;
	font-weight: 700;
	padding: 2px 0.2em;
	color: #000;
	border-radius: 7px;
}
@media screen and (max-width: 767px) {
	.step04 .tabs a {
		flex-basis: calc(50% - 3px);
		text-align: center;
	}
}
@media screen and (min-width: 768px), print {
	.step04 .tabs a {
		font-size: 14px;
		padding: 2px 0.8em;
	}
}
@media screen and (min-width: 992px) {
	.step04 .tabs a {
		padding: 2px 1.5em;
	}
}
.step04 .tab-contents {
	position: relative;
	z-index: 5;
}
.step04 .course-item {
	display: none;
}
.step04 .course-item .row {
	height: 100%;
}
.step04 .course-item .img {
	flex-basis: 50%;
	background-image: url(../img/step04_06.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
	padding: 30px 20px;
}
@media screen and (min-width: 992px) {
	.step04 .course-item .img {
		padding: 54px 40px 40px 32px;
	}
}
.step04 .course-item .img.onlyone:after {
	content: url(../img/step04_07.svg);
	width: 91px;
	height: 90px;
	position: absolute;
	top: -5px;
	right: -10px;
}
@media screen and (min-width: 992px) {
	.step04 .course-item .img.onlyone:after {
		top: 37px;
		right: 29px;
	}
}
.step04 .course-item .text {
	flex-basis: 50%;
	background-color: #fff;
	padding: 20px 15px;
}
@media screen and (min-width: 768px), print {
	.step04 .course-item .text {
		padding: 30px 20px;
	}
}
@media screen and (min-width: 992px) {
	.step04 .course-item .text {
		padding: 60px 36px 44px;
	}
}
.step04 .course-item .text h3 {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 7px;
}
@media screen and (min-width: 992px) {
	.step04 .course-item .text h3 {
		padding-left: 17px;
	}
}
.step04 .course-item .text h3 span {
	display: inline-block;
	background-color: #f8cfd9;
	padding: 2px 7px;
	font-weight: 500;
	font-size: 1rem;
}
@media screen and (min-width: 768px), print {
	.step04 .course-item .text h3 span {
		font-size: 18px;
	}
}
@media screen and (min-width: 992px) {
	.step04 .course-item .text h3 span {
		font-size: 20px;
	}
}
.step04 .course-item .text dl {
	margin-top: 20px;
	background-color: #fff7f7;
	border-radius: 11px;
	padding: 15px 20px;
}
@media screen and (min-width: 992px) {
	.step04 .course-item .text dl {
		margin-top: 28px;
		padding: 23px 25px;
	}
}
.step04 .course-item .text dl dt {
	font-size: 16px;
	font-weight: 700;
	text-align: center;
	color: #ff7695;
	line-height: 1;
}
@media screen and (min-width: 992px) {
	.step04 .course-item .text dl dt {
		font-size: 18px;
	}
}
.step04 .course-item .text dl dd {
	margin-top: 0.8em;
}
@media screen and (max-width: 767px) {
	.step04 .course-item .text dl dd {
		font-size: 14px;
	}
}
.step04 .course-item .text .btn.--black {
	padding-top: 16px;
	padding-bottom: 16px;
	font-size: 17px;
	margin: 0 auto;
}

/* 上向き ▲ */
/* 右向き ▶︎ */
/* 下向き ▼ */
/* 左向き ◀︎ */
.modal {
	display: none;
	position: fixed;
	z-index: 200;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.modal-bg {
	width: 100%;
	height: 100%;
	position: relative;
	background-color: rgba(255, 118, 149, 0.55);
	z-index: 2;
}
.modal-wrap {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	z-index: 3;
	overflow-y: scroll;
	padding: 50px 20px;
}
@media screen and (min-width: 992px) {
	.modal-wrap {
		width: 980px;
		height: auto;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		padding: 20px;
	}
}
.modal-close {
	position: absolute;
	top: 0;
	right: 0;
}
.modal-close a {
	display: block;
	width: 40px;
	height: 40px;
	position: relative;
	background-color: #000;
}
@media screen and (min-width: 768px), print {
	.modal-close a {
		width: 50px;
		height: 50px;
	}
}
.modal-close a:before {
	content: "";
	display: block;
	width: 20px;
	height: 3px;
	background-color: #fff;
	position: absolute;
	top: 17px;
	left: 10px;
	transform: rotate(-45deg);
}
@media screen and (min-width: 768px), print {
	.modal-close a:before {
		top: 23px;
		left: 15px;
	}
}
.modal-close a:after {
	content: "";
	display: block;
	width: 20px;
	height: 3px;
	background-color: #fff;
	position: absolute;
	top: 17px;
	left: 10px;
	transform: rotate(45deg);
}
@media screen and (min-width: 768px), print {
	.modal-close a:after {
		top: 23px;
		left: 15px;
	}
}
.modal-content {
	background-color: #f7f7f1;
	background-image: url(../img/shape_12.svg);
	background-position: top right;
	background-repeat: no-repeat;
	position: relative;
}
.modal-main .img {
	flex-basis: 44%;
}
@media screen and (max-width: 767px) {
	.modal-main .img {
		height: 100vw;
	}
}
.modal-main .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.modal-main .text {
	flex-basis: 50%;
	padding: 20px;
}
@media screen and (min-width: 768px), print {
	.modal-main .text {
		padding: 30px 20px 30px 0;
	}
}
@media screen and (min-width: 992px) {
	.modal-main .text {
		padding: 64px 52px 40px 0;
	}
}
.modal-main .profile {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 7px;
}
.modal-main .profile .obi {
	background-color: #fff;
	padding: 3px 10px;
	line-height: 1.3;
}
.modal-main .profile .name {
	font-size: 30px;
}
.modal-main .profile .name small {
	font-size: 0.45em;
}
.modal-main .profile .graduate {
	font-size: 14px;
}
.modal-main .profile dl {
	display: flex;
	align-items: flex-start;
	line-height: 1.3;
	gap: 5px;
}
.modal-main .profile dl dt {
	flex: 0 0 80px;
	background-color: #d8ff00;
	padding: 3px 0;
	text-align: center;
	border-radius: 5px;
	border: 1px solid #000;
}
@media screen and (min-width: 768px), print {
	.modal-main .profile dl dt {
		font-size: 16px;
	}
}
.modal-main .profile dl dd {
	white-space: nowrap;
	background-color: #fff;
	border-radius: 5px;
	padding: 3px 10px;
}
@media screen and (min-width: 768px), print {
	.modal-main .profile dl dd {
		flex-basis: auto;
		font-size: 18px;
	}
}
.modal-main .comment {
	margin-top: 22px;
	background-color: #fff;
	border-radius: 17px;
	padding: 20px;
}
@media screen and (min-width: 768px), print {
	.modal-main .comment {
		padding: 25px;
	}
}
.modal-main .comment .tit {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	gap: 7px;
}
.modal-main .comment .tit span {
	background-color: #faf0f0;
	padding: 2px 7px;
	font-size: 17px;
}
@media screen and (min-width: 768px), print {
	.modal-main .comment .tit span {
		font-size: 20px;
	}
}
.modal-main .comment p:not([class]) {
	margin-top: 1em;
	line-height: 2;
}

.f_banner .slick-prev.slick-arrow,
.f_banner .slick-next.slick-arrow {
	border: none;
	border-radius: inherit;
}
.f_banner .slick-prev.slick-arrow::before,
.f_banner .slick-next.slick-arrow::before {
	content: none;
}
