@charset "UTF-8";

body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
fieldset,
form,
label,
legend,
input,
textarea,
button,
select,
option,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

input,
button,
textarea {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

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

table {
	border-collapse: collapse;
}

.navi_open {
	overflow: hidden;
}

.sp_only {
	display: none !important;
}

.pc_only {
	display: block;
}

a {
	text-decoration: none;
	color: #3c3c3c;
}

li {
	list-style: none;
}

em {
	font-style: normal;
}

i {
	position: relative;
	vertical-align: middle;
}

address {
	font-weight: normal;
}

.flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.col {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: normal;
	-ms-flex-align: normal;
	align-items: normal;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.justify_between {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.justify_center {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.items_center {
	-webkit-box-align: center !important;
	-ms-flex-align: center !important;
	align-items: center !important;
}

.item_center {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

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

.mb20 {
	margin-bottom: 20px;
}

.mb30 {
	margin-bottom: 30px;
}

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

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

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

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

.mb80 {
	margin-bottom: 80px;
}

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

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

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

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

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

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

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

.pm0 {
	padding-bottom: 0 !important;
}

.nm_h {
	position: relative;
	top: -30px;
}

.col_between {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.col_center {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.align_center {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.v_top {
	vertical-align: top;
}

.hr_red {
	border-top: 4px solid #f29600;
}

.img_70 {
	max-width: 70%;
}

.text_left {
	text-align: left !important;
}

.text_right {
	text-align: right !important;
}

.text_center {
	text-align: center;
}

.pc_center {
	text-align: center;
}

@media all and (max-width: 833px) {
	.pc_center {
		text-align: left;
	}
}

.clear {
	clear: both;
}

hr {
	margin: 30px 0;
	border: none;
	border-top: 1px solid #d1d1d1;
}

.photo {
	background-position: 50%;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 5px;
}

.photo:before {
	display: block;
	content: "";
	padding-top: calc(320 / 530 * 100%);
}

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

.photo_img:before {
	display: block;
	content: "";
	padding-top: 53%;
}

.photo_img img {
	position: absolute;
	width: auto;
	height: auto;
	min-width: 100%;
	min-height: 100%;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	-o-object-fit: cover;
	object-fit: cover;
}

.shadow_img {
	border-radius: 10px;
	-webkit-box-shadow: 8px 8px #f29600;
	box-shadow: 8px 8px #f29600;
}

.shadow_img img {
	border-radius: 10px;
	display: block;
}

.video {
	height: 0;
	overflow: hidden;
	position: relative;
	padding-bottom: 56.25%;
}

.video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

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

@media all and (max-width: 833px) {
	.sp_only {
		display: block !important;
	}

	.pc_only {
		display: none !important;
	}

	.sp-text_left {
		text-align: left;
	}

	.sp_mb1 {
		margin-bottom: 1.5em !important;
	}

	.mb80 {
		margin-bottom: 40px;
	}

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

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

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

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

	.sp_col {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
}

.item,
a {
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}

.span_2 {
	margin-left: -40px;
}

.span_2 .item {
	width: calc(50% - 40px);
	margin-left: 40px;
}

.span_3 {
	margin-left: -40px;
}

.span_3 .item {
	width: calc(33.3333% - 40px);
	margin-left: 40px;
}

.span_4 {
	margin-left: -30px;
}

.span_4 .item {
	width: calc(25% - 30px);
	margin-left: 30px;
	margin-bottom: 20px;
}

.span_4 figure {
	display: block;
	width: 100%;
	height: 0;
	padding-top: 58.82353%;
}

@media all and (max-width: 833px) {
	.span_2 {
		margin-left: 0;
	}

	.span_3 {
		margin-left: 0;
	}

	.span_3 .item {
		width: 100%;
		margin: 0 0 30px 0;
	}

	.span_4 {
		margin-left: -30px;
	}

	.span_4 .item {
		width: calc(50% - 30px);
		margin: 0 0 20px 30px;
	}
}

@media all and (max-width: 480px) {
	.span_2,
	.span_4 {
		margin-left: 0;
	}

	.span_2 .item,
	.span_4 .item {
		width: 100%;
		margin: 0 0 30px 0;
	}

	.span_3 {
		margin-left: 0;
	}

	.span_3 .item {
		width: 100%;
		margin: 0 0 30px 0;
	}
}

/*
カラムレイアウト
*/
.col_2 {
	margin-left: -40px;
}

.col_2 > * {
	width: calc(50% - 40px);
	margin-left: 40px;
}

.col_3 {
	margin-left: -40px;
}

.col_3 > * {
	width: calc(33.3333% - 40px);
	margin-left: 40px;
}

.col_4 {
	margin-left: -30px;
}

.col_4 > * {
	width: calc(25% - 30px);
	margin-left: 30px;
	margin-bottom: 20px;
}

@media all and (max-width: 833px) {
	.col_2 {
		margin-left: 0;
	}

	.col_2 > * {
		width: 100%;
		margin: 0 0 30px 0;
	}

	.col_3 {
		margin-left: 0;
	}

	.col_3 > * {
		width: 100%;
		margin: 0 0 30px 0;
	}

	.col_4 {
		margin-left: -30px;
	}

	.col_4 .item {
		width: calc(50% - 30px);
		margin: 0 0 20px 30px;
	}
}

@font-face {
	font-family: "icomoon";
	src: url("../fonts/icomoon.eot");
	src: url("../fonts/icomoon.eot") format("embedded-opentype"), url("../fonts/icomoon.ttf") format("truetype"),
		url("../fonts/icomoon.woff") format("woff"), url("../fonts/icomoon.svg") format("svg");
	font-weight: normal;
	font-style: normal;
	font-display: block;
}

[class^="icon-"],
[class*=" icon-"] {
	/* use !important to prevent issues with browser extensions that change fonts */
	font-family: "icomoon" !important;
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.icon-line:before {
	content: "\e907";
}

.icon-twitter:before {
	content: "\e908";
}

.icon-hatena:before {
	content: "\e909";
}

.icon-facebook:before {
	content: "\e90a";
}

.icon-arrow2_r:before {
	content: "\e900";
}

.icon-arrow2_l:before {
	content: "\e901";
}

.icon-calender:before {
	content: "\e902";
}

.icon-clock:before {
	content: "\e903";
}

.icon-glass:before {
	content: "\e904";
}

.icon-line_arrow_r:before {
	content: "\e905";
}

.icon-arrow_bottom:before {
	content: "\e906";
}

/*---------------------------------------------------------
汎用
---------------------------------------------------------*/
body {
	border: 5px solid #f29600;
}

@media all and (max-width: 833px) {
	body {
		min-width: 100%;
	}
}

.wrap {
	position: relative;
	max-width: 1080px;
	margin: 0 auto;
}

@media all and (max-width: 1080px) {
	.wrap {
		width: 90%;
	}
}

@media all and (max-width: 833px) {
	.wrap {
		width: 90%;
	}
}

.wrap2 {
	position: relative;
	max-width: 1160px;
	margin: 0 auto;
}

@media all and (max-width: 833px) {
	.wrap2 {
		width: 90%;
	}
}

.sec_wrap {
	max-width: 600px;
	margin: 0 auto 0;
}

@media all and (max-width: 833px) {
	.sec_wrap {
		width: 92%;
	}
}

@media all and (max-width: 833px) {
	.sp_wrap {
		margin: 0 5%;
	}
}

.logo {
	line-height: 1;
}

.visible,
.invisible {
	opacity: 0;
	-webkit-transition: opacity 2s ease;
	transition: opacity 2s ease;
}

.visible {
	opacity: 1;
}

/*---------------------------------------------------------
header
---------------------------------------------------------*/
.header {
	position: fixed;
	top: 0;
	left: 5px;
	width: calc(100% - 10px);
	z-index: 999;
	padding: 25px 2% 12px;
	border-top: 5px solid #f29600;
	background: rgba(255, 255, 255, 0.9);
}

.header .logo {
	position: relative;
}

.header .logo a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.header .logo span {
	padding-left: 20px;
	font-family: "utsukushiFont";
	font-weight: 400;
	font-size: 13px;
	font-size: 0.8125rem;
	line-height: 1.38462;
	-webkit-transform: scale(1);
	transform: scale(1);
	letter-spacing: 0.05em;
	white-space: nowrap;
}

.header .read {
	margin: 0 0 14px;
	padding: 0 0 10px;
	text-align: right;
	color: #5c5c5c;
	border-bottom: 1px solid #efefef;
	font-size: 13px;
	font-size: 0.8125rem;
	line-height: 1;
}

.header .nav_area {
	margin-left: 20px;
}

@media all and (max-width: 833px) {
	.header {
		padding: 15px 3% 10px;
		/* 230801変更 */
		width: calc(100% - 10px);
		min-width: calc(100% - 10px);
		z-index: 1001;
	}

	.header .logo img {
		max-width: 125px;
	}

	.header .logo span {
		padding-left: 14px;
		font-size: 11px;
	}

	.header .read {
		display: none;
	}
}

.header .read {
	display: none;
}

.header_inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height: 100%;
	margin: 0 auto;
}

.header.is_mini {
	-webkit-box-shadow: 0px 3px 4px rgba(0, 0, 0, 0.15);
	box-shadow: 0px 3px 4px rgba(0, 0, 0, 0.15);
}

.header.is_mini .read {
	display: none;
}

/*---------------------------------------------------------
メインナビ
---------------------------------------------------------*/
.main_navi {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}

.main_navi > ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding-left: 0;
	height: 100%;
}

.main_navi > ul > li {
	position: relative;
	margin-left: 20px;
}

.main_navi a {
	display: inline-block;
	font-size: 16px;
	font-size: 1rem;
	font-weight: bold;
	border-bottom: 2px solid transparent;
}

.main_navi a:hover {
	color: #f29600;
	border-bottom: 2px solid #f29600;
}

.main_navi .current-menu-item > a {
	color: #f29600;
	border-bottom: 2px solid #f29600;
}

.main_navi .btn {
	color: #fff;
	border-radius: 25px;
}

.main_navi .btn:hover {
	color: #fff;
	border-bottom: 2px solid transparent;
}

.main_navi .btn2 {
	padding: 4px 40px;
}

.main_navi .btn2 em {
	margin-bottom: 5px;
}

.main_navi .btn_line {
	display: none;
}

.main_navi .state_icon {
	margin-left: auto;
}

.main_navi .navi_recruit a {
	padding: 10px 45px;
	color: #fff;
	background: #72798d;
}

.main_navi .sub-navi ul:before,
.main_navi .sub-menu ul:before {
	top: -6px;
	width: 0;
	height: 0;
	border: 8px solid transparent;
	border-bottom-color: #f8f8f8;
}

.main_navi .sub-menu a {
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.375;
	border-bottom: 2px solid transparent;
}

.main_navi .sub-menu a:hover {
	color: #f29600;
	border-bottom: 2px solid transparent;
}

.main_navi .sub-menu em {
	display: block;
	font-size: 12px;
	font-size: 0.75rem;
}

.main_navi .sub-menu .current_page_item > a {
	color: #f29600;
	border-bottom: 2px solid transparent;
}

.main_navi .school_btn {
	margin-left: 20px;
}

.btn_noto-sans {
	font-family: "Noto Sans JP", sans-serif;
}

@media (max-width: 1580px) {
	.main_navi > ul {
		-webkit-box-pack: end;
		-ms-flex-pack: end;
		justify-content: flex-end;
		margin-left: 10px;
		width: calc(100% - 255px);
		/*
			> li {
				&:nth-child(1) { width:calc(25% - 10px); }
				&:nth-child(2) { width:calc(25% - 10px); }
				&:nth-child(3) { width:calc(25% - 10px); }
				&:nth-child(4) { width:calc(25% - 10px); }
			}
			*/
	}
}

@media all and (max-width: 833px) {
	.main_navi {
		position: fixed;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		top: 0;
		left: 0;
		padding: 0 0 0 0;
		background: #fff;
		width: 100vw;
		height: calc(100vh - (100vh - 100%));
		overflow-y: auto;
		z-index: 999;
		text-align: center;
		-webkit-transform: translate(0, -100%);
		transform: translate(0, -100%);
		-webkit-transition: all 0.6s;
		transition: all 0.6s;
		opacity: 0;
		-webkit-overflow-scrolling: touch;
	}

	.main_navi > ul {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		width: 100%;
		margin: auto;
		padding: 30px 0;
		height: auto;
	}

	.main_navi > ul > li {
		width: 100%;
		margin-left: 0;
		/*
				&:nth-child(1) { order:2; }
				&:nth-child(2) { order:3; }
				&:nth-child(3) { order:4; }
				&:nth-child(4) { order:5; }
				&:nth-child(5) { order:6; }
				&:nth-child(6) { order:7; }
				&:nth-child(7) { order:8; }
				&:last-child {
					order:1;
					text-align: center;
				}
				*/
	}

	.main_navi > ul > li > a {
		margin: 0 0 15px;
	}

	.main_navi a {
		padding: 0 25px;
		line-height: 1;
	}

	.main_navi .current-menu-item > a {
		color: #3c3c3c;
		border-bottom: none;
	}

	.main_navi .btn,
	.main_navi .btn_line {
		display: inline-block;
		width: auto;
		padding: 11px 20px;
	}

	.main_navi .navi_contact {
		display: none;
	}

	.main_navi .navi_recruit a {
		padding: 25px 0;
		color: #72798d;
		background: transparent;
	}

	.main_navi #close_btn {
		display: block;
		padding: 25px 0;
		color: #fff;
		background: #72798d;
		cursor: pointer;
	}

	.main_navi .sub-menu {
		background: #fff;
	}
}

@media all and (max-width: 833px) {
	.main_navi.active {
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0);
		opacity: 1;
	}
}

.navi_area .btn_line a {
	padding: 9px 20px;
	color: #2bc477;
	border-radius: 25px;
	line-height: 1;
	border: 1px solid #2bc477;
}

@media all and (max-width: 833px) {
	.navi_area .btn_line a {
		padding: 11px 20px;
	}
}

#nav_toggle {
	display: none;
}

@media all and (max-width: 833px) {
	#nav_toggle {
		position: fixed;
		top: 20px;
		right: 20px;
		display: block;
		width: 40px;
		height: 40px;
		padding: 8px 7px;
		cursor: pointer;
		color: #000;
		font-size: 12px;
		text-align: center;
		z-index: 9999;
	}

	#nav_toggle div {
		display: block;
		position: relative;
		top: 0;
		right: 0;
		height: 100%;
	}

	#nav_toggle span {
		display: block;
		position: absolute;
		height: 2px;
		width: 100%;
		background: #f29600;
		left: 0;
		-webkit-transition: 0.35s ease-in-out;
		transition: 0.35s ease-in-out;
	}

	#nav_toggle span:nth-child(1) {
		top: 0;
	}

	#nav_toggle span:nth-child(2) {
		top: 10px;
	}

	#nav_toggle span:nth-child(3) {
		top: 20px;
	}
}

#nav_toggle.open span:nth-child(1) {
	top: 10px;
	-webkit-transform: rotate(315deg);
	transform: rotate(315deg);
}

#nav_toggle.open span:nth-child(2) {
	width: 0;
	left: 50%;
}

#nav_toggle.open span:nth-child(3) {
	top: 10px;
	-webkit-transform: rotate(-315deg);
	transform: rotate(-315deg);
}

.menu-item-has-children {
	position: relative;
}

.sub-menu {
	display: none;
	position: absolute;
	z-index: 900;
	min-width: 100%;
	margin: 0 auto 0;
	padding: 10px;
	left: 50%;
	-webkit-transform: translateX(-50%) translateY(10px);
	transform: translateX(-50%) translateY(10px);
	border-radius: 6px;
	background: #f8f8f8;
	-webkit-box-shadow: 0px 3px 4px 0px rgba(0, 0, 0, 0.15);
	box-shadow: 0px 3px 4px 0px rgba(0, 0, 0, 0.15);
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.sub-menu:before {
	position: absolute;
	content: "";
	display: block;
	left: 0;
	right: 0;
	top: -18px;
	margin: auto;
	width: 0;
	height: 0;
	border: 9px solid transparent;
	border-bottom-color: #f8f8f8;
}

.sub-menu li {
	display: block;
	padding: 0 0;
	font-weight: bold;
	border-bottom: 1px solid #d6d6d6;
}

.sub-menu li:last-child {
	border-bottom: none;
}

.sub-menu li a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 5px 10px 5px 10px;
	font-weight: normal;
	white-space: nowrap;
}

@media all and (max-width: 833px) {
	.sub-menu {
		position: static;
		width: 100%;
		-webkit-transform: translateX(0);
		transform: translateX(0);
		border-radius: 0;
		background: transparent;
		-webkit-box-shadow: none;
		box-shadow: none;
		margin-top: -5px;
		z-index: 1;
	}

	.sub-menu:before {
		border: transparent;
	}

	.sub-menu li {
		padding: 0 0;
		border-bottom: none;
	}

	.sub-menu li a {
		display: inline-block;
		padding: 5px 25px;
	}
}

/*ドロップダウン -----------------------*/
.dropdown a {
	position: relative;
}

.dropdown .dli-plus {
	position: relative;
	margin-left: 20px;
	display: inline-block;
	vertical-align: middle;
	color: #f29600;
	line-height: 1;
	width: 1em;
	height: 0.1em;
	background: currentColor;
	border-radius: 0.1em;
}

.dropdown .dli-plus:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: inherit;
	border-radius: inherit;
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}

.dropdown .open .dli-plus:before {
	display: none;
}

.sub-navi {
	display: none;
	position: absolute;
	z-index: 2000;
	width: 160%;
	margin: 0 auto 0;
	padding: 10px !important;
	left: 20%;
	-webkit-transform: translateX(-50%) translateY(10px);
	transform: translateX(-50%) translateY(10px);
	border-radius: 6px;
	background: #f8f8f8;
	max-height: calc(80vh);
	overflow: scroll !important;
	-webkit-box-shadow: 0px 3px 4px 0px rgba(0, 0, 0, 0.15);
	box-shadow: 0px 3px 4px 0px rgba(0, 0, 0, 0.15);
	/*
	@media (max-height: 800px) {
		height:calc(80vh) !important;
		overflow:scroll;
	}*/
}

/*.sub-navi:before {
	position: absolute;
	content: "";
	display: block;
	left: 0;
	right: 0;
	top: -18px;
	margin: auto;
	width: 0;
	height: 0;
	border: 9px solid transparent;
	border-bottom-color: #f8f8f8;
}*/

.sub-navi li {
	display: block;
	padding: 0 0;
	font-weight: bold;
	border-bottom: 1px solid #d6d6d6;
}

.sub-navi li:last-child {
	border-bottom: none;
}

.sub-navi li a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 5px 0 5px 10px;
	font-weight: normal;
}

@media all and (max-width: 833px) {
	.sub-navi {
		position: static;
		width: 100%;
		-webkit-transform: translateX(0);
		transform: translateX(0);
		max-height: 100%;
		border-radius: 0;
		-webkit-box-shadow: none;
		box-shadow: none;
	}

	.sub-navi:before {
		border: transparent;
	}

	.sub-navi li {
		text-align: left;
		padding: 5px 0 5px 20px;
	}

	.sub-navi li a {
		padding: 5px 0 5px 10px;
	}
}

.footer .sub-menu {
	-webkit-transform: translateX(-50%) translateY(-10px);
	transform: translateX(-50%) translateY(-10px);
}

.footer .sub-menu:before {
	position: absolute;
	content: "";
	display: block;
	left: 0;
	right: 0;
	top: auto;
	bottom: -18px;
	margin: auto;
	width: 0;
	height: 0;
	border: 9px solid transparent;
	border-top-color: #f8f8f8;
}

@media all and (max-width: 833px) {
	.footer .sub-menu {
		position: static;
		width: 100%;
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}

	.footer .sub-menu:before {
		border: transparent;
	}
}

/*---------------------------------------------------------
汎用
---------------------------------------------------------*/
.fixed {
	position: fixed;
	z-index: -1;
	width: 100%;
	height: 100%;
}

main {
	padding-top: 125px;
}

@media all and (max-width: 833px) {
	main {
		padding-top: 70px;
		/* 230801変更 */
	}
}

/*---------------------------------------------------------
メインビジュアル
---------------------------------------------------------*/
.main_visual {
	*zoom: 1;
	position: relative;
	max-width: 1280px;
	margin: 0 auto 32px;
	padding: 0 15px 15px 3%;
}

.main_visual:after {
	content: "";
	display: table;
	clear: both;
}

.main_visual .visual {
	max-width: 1280px;
	margin-right: -15px;
}

.main_visual .swiper-slide {
	*zoom: 1;
	opacity: 0;
	background: #fff;
}

.main_visual .swiper-slide:after {
	content: "";
	display: table;
	clear: both;
}

.main_visual .swiper-pagination {
	bottom: 20px;
	right: 20px;
}

.main_visual .swiper-pagination span {
	margin: 0 5px;
}

.main_visual .catch span {
	position: relative;
	background: #fff;
	padding: 5px;
	border-bottom: 5px solid #f29600;
}

.main_visual .catch span:before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	z-index: 10;
	background-color: #fff;
}

.main_visual .bg_orn {
	display: inline-block;
	padding: 0.5em;
	color: #fff;
	background: #f29600;
}

.main_visual [data-delay] {
	-webkit-transition-timing-function: ease;
	transition-timing-function: ease;
}

.main_visual [data-delay]:before {
	-webkit-animation: revealLTR 1.2s ease;
	animation: revealLTR 1.2s ease;
}

.main_visual [data-delay="0"] {
	opacity: 0;
	-webkit-animation: textHidden 0.3s 0.8s forwards;
	animation: textHidden 0.3s 0.8s forwards;
}

.main_visual [data-delay="0"]:before {
	-webkit-animation: revealLTR 1.2s ease;
	animation: revealLTR 1.2s ease;
}

.main_visual [data-delay="300"] {
	opacity: 0;
	-webkit-animation: textHidden 0.4s 1.1s forwards;
	animation: textHidden 0.4s 1.1s forwards;
}

.main_visual [data-delay="300"]:before {
	-webkit-animation-delay: 0.3s;
	animation-delay: 0.3s;
}

.main_visual [data-delay="600"] {
	opacity: 0;
	-webkit-animation: textHidden 0.7s 1.4s forwards;
	animation: textHidden 0.7s 1.4s forwards;
}

.main_visual [data-delay="600"]:before {
	-webkit-animation-delay: 0.6s;
	animation-delay: 0.6s;
}

.main_visual [data-delay="900"] {
	opacity: 0;
	-webkit-animation: textHidden 1.1s 1.7s forwards;
	animation: textHidden 1.1s 1.7s forwards;
}

.main_visual [data-delay="900"]:before {
	-webkit-animation-delay: 0.9s;
	animation-delay: 0.9s;
}

.main_visual [data-delay="1200"] {
	opacity: 0;
	-webkit-animation: textHidden 1.4s 2s forwards;
	animation: textHidden 1.4s 2s forwards;
}

.main_visual [data-delay="1200"]:before {
	-webkit-animation-delay: 1.2s;
	animation-delay: 1.2s;
}

.main_visual figure {
	float: right;
	width: 72%;
}

.main_visual figure img {
	width: 100%;
}

.main_visual figure .catch {
	display: none;
}

.main_visual article {
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.main_visual article img {
	display: block;
}

.main_visual article .catch {
	margin-bottom: 20px;
	font-size: 32px;
	font-size: 2rem;
	line-height: 1.4375;
}

.main_visual article .catch strong {
	font-size: 46px;
	font-size: 2.875rem;
	line-height: 1.52174;
}

.main_visual article .catch strong rt {
	padding-bottom: 0.5em;
	font-size: 20px;
	font-size: 1.25rem;
}

.main_visual article .read {
	margin-bottom: 20px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.75;
	letter-spacing: 0.04em;
}

.main_visual article .read a {
	color: #f29600;
	text-decoration: underline;
}

.main_visual .btn_area {
	position: absolute;
	bottom: 22px;
	z-index: 9;
}

.main_visual .btn {
	padding: 13px 20px;
}

@media all and (max-width: 833px) {
	.main_visual {
		margin: 0 auto;
		padding: 0 0 0 0;
		overflow: hidden;
	}

	.main_visual .visual {
		position: relative;
		*zoom: 1;
		margin: 0 0 20px;
	}

	.main_visual .visual:after {
		content: "";
		display: table;
		clear: both;
	}

	.main_visual .swiper-slide {
		opacity: 1;
	}

	.main_visual .swiper-slide > a {
		display: block;
	}

	.main_visual .swiper-pagination {
		bottom: auto;
		right: 20px;
	}

	.main_visual figure {
		position: relative;
		display: block;
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
		width: 93%;
		margin-bottom: 20px;
		padding-bottom: 30px;
		border-radius: 10px 0 0 10px;
	}

	.main_visual figure img {
		float: right;
		width: 90%;
		border-radius: 10px 0 0 10px;
	}

	.main_visual figure .catch {
		display: block;
		position: absolute;
		bottom: 20px;
		left: -3%;
		margin: 0;
		font-size: 20px;
		font-size: 1.25rem;
		line-height: 1.9;
	}

	.main_visual figure .catch strong {
		font-size: 28px;
		font-size: 1.75rem;
		line-height: 1.64286;
	}

	.main_visual article {
		clear: both;
		position: static;
		-webkit-transform: translateY(0);
		transform: translateY(0);
		padding: 0 3%;
	}

	.main_visual article .catch {
		display: none;
	}

	.main_visual article .read {
		margin-bottom: 0px;
		font-size: 14px;
		font-size: 0.875rem;
		line-height: 1.85714;
		letter-spacing: 0.023em;
	}

	.main_visual .btn_area {
		display: none;
	}

	.main_visual .btn {
		margin: auto;
		padding: 14px 25px;
		font-size: 16px;
	}

	.main_visual .sp_display {
		opacity: 1;
		display: block;
	}
}

@-webkit-keyframes revealLTR {
	0% {
		width: 0;
		left: 0;
	}

	65% {
		width: 100%;
		left: 0;
	}

	100% {
		width: 0;
		left: 100%;
	}
}

@keyframes revealLTR {
	0% {
		width: 0;
		left: 0;
	}

	65% {
		width: 100%;
		left: 0;
	}

	100% {
		width: 0;
		left: 100%;
	}
}

@-webkit-keyframes textHidden {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@keyframes textHidden {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

.page_visual {
	height: 100%;
}

.page_visual .catch span {
	opacity: 1;
}

.page_visual .read {
	opacity: 1;
}

.bosyu_bnr {
	display: block;
	text-align: center;
	padding: 0 25px;
	background-image: url(../img/parts/r_ttl_arrow1.png), url(../img/parts/r_ttl_arrow2.png);
	background-repeat: no-repeat, no-repeat;
	background-position: left center, right center;
	font-size: 14px;
	min-height: 53px;
	margin-bottom: 10px;
}

.bosyu_bnr strong {
	font-size: 18px;
}

.bosyu_bnr span {
	color: #c00;
}

@media all and (max-width: 833px) {
	.bosyu_bnr {
		display: inline-block;
		width: calc(50% - 5px);
		margin-bottom: 10px;
		padding: 0 0 15px;
		background-image: url(../img/parts/r_ttl_arrow2_sp.png);
		background-repeat: no-repeat;
		background-position: center bottom;
		background-size: 50% 20px;
		line-height: 1.3;
	}
}

.sp_footer_navi {
	display: none;
}

@media all and (max-width: 833px) {
	.sp_footer_navi {
		position: fixed;
		-webkit-box-align: end;
		-ms-flex-align: end;
		align-items: flex-end;
		bottom: -100px;
		z-index: 1000;
		width: calc(100% - 10px);
		padding: 10px 10px;
		text-align: center;
		-webkit-transition: all 0.5s ease;
		transition: all 0.5s ease;
		background: rgba(0, 0, 0, 0.8);
	}

	.sp_footer_navi .btn {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		margin: auto;
		text-align: left;
		padding: 0 5px;
		font-size: 13px;
		border-radius: 5px;
		width: 65%;
		height: 50px;
		line-height: 50px;
	}

	.sp_footer_navi .btn span {
		display: inline-block;
		margin-right: 5px;
	}

	.sp_footer_navi .btn .book {
		display: block;
		margin-right: 10px;
	}

	.sp_footer_navi .btn2 {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		border-radius: 5px;
		width: 60%;
		padding: 0;
	}

	.sp_footer_navi .btn2 span {
		position: static;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-transform: translate(0);
		transform: translate(0);
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		margin: auto;
		line-height: 1;
	}

	.sp_footer_navi .btn2 span em {
		margin-bottom: 5px;
		line-height: 1;
	}

	.sp_footer_navi .tel_btn {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		margin-left: 10px;
		padding: 5px 10px;
		width: calc(40% - 10px);
		font-size: 11px;
		background: #fff;
		border-radius: 5px;
	}

	.sp_footer_navi .tel_btn img {
		display: block;
	}
}

@media all and (max-width: 833px) {
	.sp_display {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: end;
		-ms-flex-align: end;
		align-items: flex-end;
	}
}

/* 20231117追加 */

.sub-navi {
	/*font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E",
		"ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;*/
	max-height: calc(100vh - 12px);
}

@media all and (min-width: 834px) {
	.sub-navi {
		max-height: calc(100vh - 144px);
	}
}

@media all and (min-width: 1087px) {
	.sub-navi {
		max-height: calc(100vh - 128px);
	}
}

@media all and (min-width: 1581px) {
	.sub-navi {
		max-height: calc(100vh - 118px);
	}
}

.sub-menu-area-name {
	margin-top: 8px;
	color: #3c3c3c;
}

.sub-navi li a {
	padding: 8px 0 6px 12px;
	justify-content: space-between;
}

.sub-menu-button-name {
	font-weight: 900;
	font-size: 12px;
	letter-spacing: 1.5px;
	line-height: 18px;
}

.sub-menu-button-area {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.sub-menu-button-area .state_icon {
	font-size: 10px;
	font-weight: 900;
	letter-spacing: 0.5px;
	color: #7d7d7d;
	position: relative;
	padding: 0 0 0 11px;
	line-height: 15px;
	border-radius: 0;
	margin: 2px 0 0;
}

.sub-menu-button-area .state_icon::before {
	position: absolute;
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 99px;
	border: 1px solid #7d7d7d;
	background: transparent;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}

.sub-menu-button-area .state1 {
	background: transparent;
}

.sub-menu-button-area .state_icon.state1::before {
	background: #f6b851;
	border: 0px;
}

.sub-menu-button-area .state2 {
	background: transparent;
}

.sub-menu-button-area-reserve-text {
	color: #fff;
	font-family: Noto Sans JP;
	font-size: 11px;
	font-weight: 700;
	line-height: normal;
	letter-spacing: 1px;
	height: 32px;
	padding: 6px 8px;
	border-radius: 4px;
	box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.16);
	background: #2bc477;
}

.sub-menu-button-area:has(.state5) + .sub-menu-button-area-reserve-text {
	background: #aaaaaa;
}

.sub-navi.sub-menu a:has(.state5) {
	pointer-events: none;
}

/* 20240531追加 */

.main_navi-contactbox {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
	margin-bottom: 8px;
}

.main_navi-line {
	width: 143px;
}
.main_navi-instagram {
	width: 105px;
}
.main_navi-tel {
	width: 168px;
	order: 4;
}

.main_navi .main_navi-contactbox .school_btn {
	margin-left: 0;
}

.main_navi:has(.main_navi-contactbox) {
	display: flex;
	flex-direction: column-reverse;
	align-items: flex-end;
}

.main_navi:has(.main_navi-contactbox) > ul {
	width: 100%;
}

a.main_navi-line-link {
	border-bottom: 0;
}

a.main_navi-line-link:hover {
	border-bottom: 0;
	opacity: 0.8;
}
a.main_navi-instagram-link {
	border-bottom: 0;
}

a.main_navi-instagram-link:hover {
	border-bottom: 0;
	opacity: 0.8;
}
a.main_navi-tel-link {
	border-bottom: 0;
}

a.main_navi-tel-link:hover {
	border-bottom: 0;
	opacity: 0.8;
}

@media (max-width: 833px) {
	.main_navi-contactbox {
		align-items: center;
		justify-content: center;
		gap: 12px;
		margin-bottom: 0;
		flex-direction: column;
	}

	.main_navi-line {
		width: 181px;
	}
	.main_navi-instagram {
		width: 131px;
	}
	.main_navi-tel {
		width: 333px;
	}

	a.main_navi-line-link {
		padding: 0;
	}
	a.main_navi-instagram-link {
		padding: 0;
	}
	a.main_navi-tel-link {
		padding: 0;
	}

	.main_navi .main_navi-contactbox .school_btn {
		margin-left: 0;
	}

	.main_navi:has(.main_navi-contactbox) {
		flex-direction: column;
		align-items: center;
		flex-wrap: nowrap;
		justify-content: flex-start;
	}

	.main_navi:has(.main_navi-contactbox) > ul {
		width: 100%;
		margin: 0;
		padding-top: 64px;
		padding-bottom: 12px;
		justify-content: flex-start;
		align-items: center;
	}
	.main_navi:has(.main_navi-contactbox) .school_btn .sp_only a {
		padding: 0;
		max-width: 330px !important;
	}
}
/*250814*/
.hensachi_program .hensachi_ttl_sp{
    text-align: left;
    font-size: 26px;
    font-size: 1.625rem;
    line-height: 1.61538;
    letter-spacing: 0.04em;
    font-weight: 700;
    font-style: normal;
    margin-bottom: 20px;
}
.article.course-comment {
  width: 90%;
  max-width: 900px;
  margin: 0 auto 30px;
}
.article.course-comment {font-family: "Noto Sans JP", sans-serif;}
.article.course-comment ul.voices > li {
  padding: 45px 60px;
  border: 1px solid #8d8d8d;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .article.course-comment ul.voices > li {
    padding: 20px 5%;
  }
}
.article.course-comment ul.voices > li:not(:last-child) {
  margin-bottom: 20px;
}
.article.course-comment ul.voices > li .ttl_area {
  display: grid;
  grid-template-columns: 120px 1fr;
  grid-template-rows: auto 1fr;
  gap: 10px 30px;
  padding-bottom: 20px;
  margin-bottom: 30px;
  border-bottom: 1px solid #d9d9d9;
}
@media screen and (max-width: 768px) {
  .article.course-comment ul.voices > li .ttl_area {
    grid-template-columns: 80px 1fr;
    grid-template-rows: auto 1fr;
    gap: 10px 15px;
  }
}
.article.course-comment ul.voices > li .ttl_area .grade {
  grid-column: 1/2;
  grid-row: 1/3;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  aspect-ratio: 1;
  border-radius: 100px;
  background: #55a5eb;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .article.course-comment ul.voices > li .ttl_area .grade {
    grid-column: 1/2;
    grid-row: 1/2;
    font-size: 15px;
  }
}
.article.course-comment ul.voices > li .ttl_area .grade.course02-grade {
  background: #eb7464;
}
.article.course-comment ul.voices > li .ttl_area .school {
  grid-column: 2/3;
  grid-row: 1/2;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .article.course-comment ul.voices > li .ttl_area .school {
    grid-column: 1/2;
    grid-row: 2/3;
  }
}
.article.course-comment ul.voices > li .ttl_area .school span {
  display: inline-block;
  text-align: center;
  font-size: 16px;
  line-height: 1;
  padding: 5px 10px;
  min-width: 110px;
  color: #f08700;
  background: #fff;
  border: 1px solid #f08700;
  border-radius: 5px;
}
@media screen and (max-width: 768px) {
  .article.course-comment ul.voices > li .ttl_area .school span {
    padding: 5px;
    line-height: 1.4;
    min-width: 100%;
    font-size: 12px;
  }
}
.article.course-comment ul.voices > li .ttl_area h2,
.article.course-comment ul.voices > li .ttl_area h3.h2_to_h3 {
  grid-column: 2/3;
  grid-row: 2/3;
  text-align: left;
  font-size: 18px;
  line-height: 1.8;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}
@media screen and (max-width: 768px) {
  .article.course-comment ul.voices > li .ttl_area h2,
  .article.course-comment ul.voices > li .ttl_area h3.h2_to_h3 {
    grid-column: 2/3;
    grid-row: 1/3;
    font-size: 14px;
  }
}
.article.course-comment ul.voices > li span.msg {
  font-size: 16px;
  line-height: 2;

  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;

  display: block;
  position: relative;
  /*margin-bottom: 16px;*/
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .article.course-comment ul.voices > li span.msg {
    font-size: 14px;
  }
}

/*.article.course-comment ul.voices > li span.msg > p {*/
.article.course-comment ul.voices > li span.msg span.content {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  white-space: pre-wrap;
  margin: 16px 16px 32px;
}
/*@media screen and (max-width: 768px) {*/
@media screen and (max-width: 768px) {
  .article.course-comment ul.voices > li span.msg span.content {
    -webkit-line-clamp: 5;
  }
}

.article.course-comment ul.voices > li span.msg .toggle-checkbox {
  display: none;
}

/*.article.course-comment ul.voices > li span.msg .toggle-checkbox:checked ~ p {*/
.article.course-comment ul.voices > li span.msg .toggle-checkbox:checked ~ span.content {
  -webkit-line-clamp: unset;
  white-space: normal;
  margin: 16px;
}

.article.course-comment ul.voices > li span.msg .toggle-checkbox ~ .toggle-btn::after {
  content: '続きを見る ＞';
}

.article.course-comment ul.voices > li span.msg .toggle-btn {
  position: absolute;
  top: 112px;
  right: 16px;

  display: inline-block;
  margin-top: 8px;
  color: blue;
  cursor: pointer;
  font-size: 14px;
  user-select: none;
}
@media screen and (max-width: 768px) {
  .article.course-comment ul.voices > li span.msg .toggle-btn {
    top: 150px;
    right: 16px;
  }
}

.article.course-comment ul.voices > li span.msg .toggle-checkbox:checked ~ .toggle-btn::after {
  content: '';
}

/*250825*/
section.course-jisseki-sec{margin-bottom: 0;}
/*250929*/
.pt_white{padding-top: 100px !important;}
@media (max-width: 833px) {
.pt_white{padding-top: 60px !important;}
}
/*# sourceMappingURL=first.css.map */
