*,
::after,
::before {
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	font-style: normal;
}

html {
	line-sizing: normal;
}

body {
	margin: 0;
}

pre {
	white-space: pre-wrap;
}

hr {
	border-style: solid;
	border-width: 1px 0 0;
	color: inherit;
	height: 0;
	overflow: visible;
}

audio,
canvas,
embed,
iframe,
img,
object,
svg,
video {
	display: inline-block;
	vertical-align: middle;
	max-width: 100%;
}

canvas,
img,
svg,
video {
	height: initial;
}

audio {
	width: 100%;
}

img {
	border-style: none;
}

svg {
	overflow: hidden;
}

article,
aside,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
	display: block;
}

[type=checkbox],
[type=radio] {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0;
}

ul,
ol,
li {
	display: block;
	list-style-type: none;
}

input,
button,
select,
textarea,
fieldset,
label {
	position: relative;
	margin: 0;
	padding: 0;
	display: block;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	font: inherit;
	outline: none;
	color: currentColor;
}

textarea {
	resize: vertical;
}

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

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

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

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 1em;
	font-weight: normal;
}

html {
	font-size: 62.5%;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	height: 100%;
}

body {
	line-height: 1.75;
	color: #1B507F;
	font-size: 1.6rem;
	-webkit-font-smoothing: antialiased;
	height: 100%;
	min-width: 1200px;
	background-image: -webkit-gradient(linear, left top, left bottom, from(#1B507F), to(#29816C));
	background-image: -webkit-linear-gradient(#1B507F, #29816C);
	background-image: linear-gradient(#1B507F, #29816C);
	background-attachment: fixed;
	font-family: "Helvetica Neue",HelveticaNeue,arial,YuGothic,"游ゴシック Medium","Yu Gothic Medium","游ゴシック体","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
}

.wrapper {
	position: relative;
	width: 100%;
	overflow: hidden;
	z-index: 1;
}

*[data-src],
*[data-bg],
*[data-bgset],
.lazyload {
	opacity: 0;
	-webkit-transition: opacity .5s;
	transition: opacity .5s;
}

.lazyloading,
.lazyloaded {
	opacity: 1;
}

a {
	position: relative;
	color: currentColor;
	text-decoration: none;
	-webkit-transition: opacity .5s;
	transition: opacity .5s;
                                display: inline-block;
}

a:hover {
	opacity: .5;
}

a[data-mail] {
	cursor: pointer;
	-webkit-transition: opacity .5s;
	transition: opacity .5s;
}

a[data-mail]:hover {
	opacity: .5;
}

a[data-mail] span {
	display: inline;
	margin-left: -.2em;
}

button {
	-webkit-transition: opacity .5s;
	transition: opacity .5s;
}

button:hover {
	opacity: .5;
}

span[data-mail-sep="@"]:after {
	content: '@';
}

span[data-mail-sep="."]:after {
	content: '.';
}

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

img.-center {
	margin-right: auto;
	margin-left: auto;
}

img.-full {
	width: 100%;
	height: auto;
}

img.-pc {
	display: block;
}

img.-sp {
	display: none;
}

br.-pc {
	display: block;
}

br.-sp {
	display: none;
}

table {
	border-collapse: collapse;
	width: 100%;
	table-layout: fixed;
}

table th,
table td {
	padding: 5px 15px;
	border: 1px solid currentcolor;
}

table th.-content,
table td.-content {
	width: 50%;
}

.-ul {
	text-decoration: underline;
}

.-serif {
	font-family: "Times New Roman","游明朝体","Yu Mincho",YuMincho,"ヒラギノ明朝 Pro","Hiragino Mincho Pro","MS P明朝","MS PMincho",serif;
}

.-center {
	text-align: center;
}

.-left {
	text-align: left;
}

.-right {
	text-align: right;
}

.-strong {
	font-weight: bold;
}

.-fsH {
	font-size: 3.2rem;
	line-height: 1.5;
}

.-fsL {
	font-size: 2.4rem;
	line-height: 1.5;
}

.-fsM {
	font-size: 2rem;
	line-height: 1.5;
}

.-fsD {
	font-size: 1.8rem;
}

.-fsR {
	font-size: 1.6rem;
}

.-fsS {
	font-size: 1.4rem;
}

.-fsN {
	font-size: 1.2rem;
}

.-fsT {
	font-size: 1rem;
}

.-gitR>*+* {
	margin-top: calc( 20px - .375em);
}

.-gitM>*+* {
	margin-top: calc( 40px - .375em);
}

.-gitL>*+* {
	margin-top: calc( 60px - .375em);
}

.btn {
	width: 320px;
	margin-right: auto;
	margin-left: auto;
	height: 60px;
	text-decoration: none;
	padding: 10px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	text-align: center;
	line-height: 1.3;
	font-size: 2rem;
	font-weight: bold;
	background-color: #000;
	color: #fff;
}

.btn.-navy {
	background-color: #1B507F;
}

.btn.-green {
	background-color: #29816C;
}

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

.img::before {
	content: '';
	display: block;
	width: 100%;
}

.img.-r1x1::before {
	padding-top: 100%;
}

.img.-r2x1::before {
	padding-top: 50%;
}

.img.-r3x2::before {
	padding-top: 66.66%;
}

.img.-r4x3::before {
	padding-top: 75%;
}

.img.-r16x9::before {
	padding-top: 56.25%;
}

.img.-r2x3::before {
	padding-top: 150%;
}

.img.-r10x7::before {
	padding-top: 70%;
}

.img.-r5x2::before {
	padding-top: 40%;
}

.img>img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	-o-object-fit: fill;
	object-fit: fill;
	-o-object-position: 50% 50%;
	object-position: 50% 50%;
	font-family: 'object-fit: fill;object-position: 50% 50%;';
}

.img.-cover>img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	font-family: 'object-fit: cover;object-position: 50% 50%;';
}

.img.-contain>img {
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
	font-family: 'object-fit: contain;object-position: 50% 50%;';
}

.header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	height: 80px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	background-color: #fff;
	z-index: 1;
	min-width: 1200px;
}

.header_ids>*+* {
	margin-left: 40px;
}

.nav {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding-top: 60px;
	text-align: center;
	font-weight: bold;
	z-index: 2;
	visibility: hidden;
	opacity: 0;
	-webkit-transition: opacity 1s, visibility 0s ease 1s;
	transition: opacity 1s, visibility 0s ease 1s;
}

.nav.-show {
	-webkit-transition-delay: 0s;
	transition-delay: 0s;
	opacity: 1;
	visibility: visible;
}

.menu {
	position: fixed;
	top: 0;
	right: 0;
	width: 80px;
	height: 80px;
	z-index: 3;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.menu span {
	position: relative;
	display: block;
	width: 32px;
	height: 2px;
	background-color: #1B507F;
	-webkit-transition: all .5s;
	transition: all .5s;
}

.menu span+span {
	margin-top: 8px;
}

.menu.-show span {
	margin: 0 !important;
}

.menu.-show span:nth-of-type(1) {
	top: 1px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.menu.-show span:nth-of-type(2),
.menu.-show span:nth-of-type(3) {
	height: 0;
	opacity: 0;
}

.menu.-show span:nth-of-type(4) {
	top: -1px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.footer {
	background-color: #fff;
	padding: calc( 60px - .375em) 60px;
	text-align: center;
}

.footer>*+* {
	margin-top: 1.75rem;
}

.footer_copyright {
	display: block;
	font-size: 1.2rem;
}

.slick-slider {
	position: relative;
	display: block;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-ms-touch-action: pan-y;
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent;
}

.slick-list {
	position: relative;
	overflow: hidden;
	display: block;
	margin: 0;
	padding: 0;
}

.slick-list:focus {
	outline: none;
}

.slick-list.dragging {
	cursor: pointer;
	cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.slick-track {
	position: relative;
	left: 0;
	top: 0;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.slick-track:before,
.slick-track:after {
	content: "";
	display: table;
}

.slick-track:after {
	clear: both;
}

.slick-loading .slick-track {
	visibility: hidden;
}

.slick-slide {
	float: left;
	min-height: 1px;
	display: none;
}

[dir="rtl"] .slick-slide {
	float: right;
}

.slick-slide:focus {
	outline: none;
}

.slick-slide a:focus {
	outline: none;
}

.slick-slide.slick-loading img {
	display: none;
}

.slick-slide.dragging img {
	pointer-events: none;
}

.slick-initialized .slick-slide {
	display: block;
}

.slick-loading .slick-slide {
	visibility: hidden;
}

.slick-vertical .slick-slide {
	display: block;
	height: auto;
	border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
	display: none;
}

.slick-dots {
	margin-top: 20px;
	font-size: 0;
	text-align: center;
	height: 8px;
}

.slick-dots>* {
	display: inline-block;
	margin: 0 5px;
	vertical-align: bottom;
}

.slick-dots>*>button {
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 8px;
	background-color: #29816C;
	-webkit-transition: background-color .5s;
	transition: background-color .5s;
}

.slick-dots>*.slick-active>button {
	background-color: #1B507F;
}

.cols {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-right: -20px;
	margin-left: -20px;
	margin-bottom: -40px;
}

.cols>* {
	display: block;
	-webkit-box-flex: 1;
	-ms-flex: 1 1 100%;
	flex: 1 1 100%;
	max-width: 100%;
	margin: 0 20px 40px;
}

.cols.-reverse {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}

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

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

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

.cols.-between:not([class*="-has"])>* {
	-ms-flex-preferred-size: initial;
	flex-basis: initial;
	-webkit-box-flex: 0;
	-ms-flex-positive: 0;
	flex-grow: 0;
	-ms-flex-negative: 1;
	flex-shrink: 1;
}

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

.cols[class*="-has"] {
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.cols[class*="-has"]>* {
	-webkit-box-flex: 0;
	-ms-flex-positive: 0;
	flex-grow: 0;
	-ms-flex-negative: 1;
	flex-shrink: 1;
}

.cols.-has1>* {
	-ms-flex-preferred-size: calc( 100% / 1  - 40px);
	flex-basis: calc( 100% / 1  - 40px);
	max-width: calc( 100% / 1  - 40px);
}

.cols.-has2>* {
	-ms-flex-preferred-size: calc( 100% / 2  - 40px);
	flex-basis: calc( 100% / 2  - 40px);
	max-width: calc( 100% / 2  - 40px);
}

.cols.-has3>* {
	-ms-flex-preferred-size: calc( 100% / 3  - 40px);
	flex-basis: calc( 100% / 3  - 40px);
	max-width: calc( 100% / 3  - 40px);
}

.cols.-has4>* {
	-ms-flex-preferred-size: calc( 100% / 4  - 40px);
	flex-basis: calc( 100% / 4  - 40px);
	max-width: calc( 100% / 4  - 40px);
}

.cols.-has5>* {
	-ms-flex-preferred-size: calc( 100% / 5  - 40px);
	flex-basis: calc( 100% / 5  - 40px);
	max-width: calc( 100% / 5  - 40px);
}

.contents {
	position: relative;
}

.content {
	padding: calc(60px - .375em) 0;
	background-color: #fff;
}

.content_inner {
	max-width: 1040px;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}

.content_inner.-narrow {
	max-width: 680px;
}

.content_inner>*+* {
	margin-top: calc( 40px - .375em);
}

.content_inner .content_header {
	padding: 0;
	height: auto;
	color: #1B507F;
}

.content_inner .content_header+* {
	margin-top: calc( 60px - .375em);
}

.content_header {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	height: 180px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 20px 60px;
	color: #fff;
	font-weight: bold;
	font-size: 2rem;
}

.content_header_label>* {
	display: block;
	line-height: 1.1;
}

.content_header_label>*+* {
	margin-top: 15px;
}

.content_text>*+* {
	margin-top: 1.75em;
}

.content_inner+.content_inner {
	margin-top: calc(60px - .375em);
}

.vi {
	position: relative;
	padding: 80px 0 60px;
	background-color: transparent;
	color: #fff;
}

.vi .content_inner {
	position: relative;
	height: 1420px;
	text-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}

.vi_badge {
	position: absolute;
	top: 60px;
	left: 0;
}

.vi_produce {
	position: absolute;
	top: 120px;
	right: 0;
}

.vi_label+* {
	margin-top: 60px;
}

.vi_obj {
	position: absolute;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}

.vi_obj::before {
	content: '';
	display: block;
	width: 100%;
}

.vi_obj_wrapper {
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	min-width: 1200px;
	height: 100vh;
}

.vi_obj01 {
	top: 290px;
	left: 8%;
	width: 55%;
	max-width: 665px;
	background-image: url(../images/vi_obj01.png);
}

.vi_obj01::before {
	padding-top: 104%;
}

.vi_obj02 {
	top: 630px;
	right: 6%;
	width: 38.1%;
	max-width: 458px;
	background-image: url(../images/vi_obj02.png);
}

.vi_obj02::before {
	padding-top: 91%;
}

.vi_obj03 {
	top: 970px;
	right: 30.5%;
	width: 17.5%;
	max-width: 211px;
	background-image: url(../images/vi_obj03.png);
}

.vi_obj03::before {
	padding-top: 82%;
}

.vi_obj04 {
	top: 25px;
	left: -8%;
	width: 21.8%;
	max-width: 262px;
	background-image: url(../images/vi_obj04.png);
}

.vi_obj04::before {
	padding-top: 100.7%;
}

.vi_obj05 {
	top: 965px;
	left: -27.8%;
	width: 55%;
	max-width: 665px;
	background-image: url(../images/vi_obj05.png);
}

.vi_obj05::before {
	padding-top: 87.3%;
}

.vi_obj06 {
	top: 97px;
	right: -30%;
	width: 68.7%;
	max-width: 825px;
	background-image: url(../images/vi_obj06.png);
}

.vi_obj06::before {
	padding-top: 102%;
}

.vi_obj07 {
	top: 970px;
	right: -20.4%;
	width: 55%;
	max-width: 665px;
	background-image: url(../images/vi_obj07.png);
}

.vi_obj07::before {
	padding-top: 45.1%;
}

.vi_obj08 {
	top: 150px;
	left: 42%;
	width: 6%;
	max-width: 73px;
	background-image: url(../images/vi_obj08.png);
}

.vi_obj08::before {
	padding-top: 173%;
}

.vi_obj09 {
	top: 308px;
	left: -8,6%;
	width: 9%;
	max-width: 107px;
	background-image: url(../images/vi_obj09.png);
}

.vi_obj09::before {
	padding-top: 115%;
}

.vi_obj10 {
	top: 320px;
	left: 8%;
	width: 8.6%;
	max-width: 104px;
	background-image: url(../images/vi_obj10.png);
}

.vi_obj10::before {
	padding-top: 127%;
}

.vi_obj11 {
	top: 366px;
	left: 14.6%;
	width: 9.7%;
	max-width: 117px;
	background-image: url(../images/vi_obj11.png);
}

.vi_obj11::before {
	padding-top: 89.7%;
}

.vi_obj12 {
	top: 805px;
	right: 4.5%;
	width: 8.25%;
	max-width: 99px;
	background-image: url(../images/vi_obj12.png);
}

.vi_obj12::before {
	padding-top: 76.8%;
}

.vi_obj13 {
	top: 252px;
	left: 26%;
	width: 5.25%;
	max-width: 63px;
	background-image: url(../images/vi_obj13.png);
}

.vi_obj13::before {
	padding-top: 197%;
}

.vi_obj14 {
	top: 215px;
	left: 23.3%;
	width: 3.8%;
	max-width: 46px;
	background-image: url(../images/vi_obj14.png);
}

.vi_obj14::before {
	padding-top: 152%;
}

.vi_obj15 {
	top: 200px;
	left: 18.3%;
	width: 2.4%;
	max-width: 29px;
	background-image: url(../images/vi_obj15.png);
}

.vi_obj15::before {
	padding-top: 127.5%;
}

.vi_obj16 {
	top: 270px;
	left: 265px;
	width: 3.6%;
	max-width: 43px;
	background-image: url(../images/vi_obj16.png);
}

.vi_obj16::before {
	padding-top: 146.5%;
}

.vi_obj17 {
	top: 270px;
	left: 22%;
	width: 3%;
	max-width: 36px;
	background-image: url(../images/vi_obj17.png);
}

.vi_obj17::before {
	padding-top: 222%;
}

.vi_obj18 {
	top: 370px;
	left: 22%;
	width: 3%;
	max-width: 36px;
	background-image: url(../images/vi_obj18.png);
}

.vi_obj18::before {
	padding-top: 222%;
}

.vi_obj19 {
	top: 615px;
	right: 370px;
	width: 3.9%;
	max-width: 47px;
	background-image: url(../images/vi_obj19.png);
}

.vi_obj19::before {
	padding-top: 108.5%;
}

.vi_obj20 {
	top: 583px;
	right: 30.8%;
	width: 2%;
	max-width: 40px;
	background-image: url(../images/vi_obj20.png);
}

.vi_obj20::before {
	padding-top: 132.5%;
}

.vi_obj21 {
	top: 549px;
	right: 19.2%;
	width: 4.4%;
	max-width: 53px;
	background-image: url(../images/vi_obj21.png);
}

.vi_obj21::before {
	padding-top: 77%;
}

.vi_obj22 {
	top: 567px;
	right: 9.9%;
	width: 5.8%;
	max-width: 74px;
	background-image: url(../images/vi_obj22.png);
                                border:solid 1px #f00;
}

.vi_obj22::before {
	padding-top: 54%;
}

.support_coms .img {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	text-align: center;
	background-color: #F2F2F2;
}

.support_coms .img::before {
	content: '';
	display: block;
	width: 100%;
	padding-top: 70%;
}

.support_coms .img img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	max-height: 100%;
	max-width: 100%;
}

.recommend_case_career {
	text-align: center;
	padding: 0 10px;
}

.recommend_case_career>li+li::before {
	content: '↓';
	display: block;
	width: 100%;
}

.recommend_case_name {
	text-align: center;
	padding: 0 10px;
}

.recommend_case_name .img {
	width: 140px;
}

.recommend_case_name .img+* {
	margin-top: calc( 20px - .375em);
}

.recommend_case .content_text {
	margin-top: calc( 40px - .375em);
}

.curriculum_phase {
	position: relative;
}

.curriculum_phase_wrapper {
	overflow: hidden;
}

.curriculum_phase_wrapper+* {
	margin-top: 40px;
}

.curriculum_phase_item {
	position: relative;
	display: -webkit-box !important;
	display: -ms-flexbox !important;
	display: flex !important;
	float: left;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	text-align: center;
	width: 230px !important;
	height: 250px;
	padding: 60px 20px 20px;
	background-color: #F2F2F2;
	margin: 0 20px;
}

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

.curriculum_phase_item_label {
	position: absolute;
	top: 20px;
	left: 0;
	right: 0;
	line-height: 0;
}

.curriculum_phase_item p+p {
	margin-top: 10px;
}

.curriculum_phase_item:not(.curriculum_phase_item_dd)::after {
	content: '';
	display: block;
	position: absolute;
	left: 100%;
	width: 40px;
	top: calc( 50% - 1px);
	height: 2px;
	background-color: currentcolor;
}

.curriculum_phase_item_01::before {
	content: '入学前セレクション';
	position: absolute;
	top: 30px;
	bottom: 30px;
	left: -35px;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	-webkit-text-orientation: upright;
	text-orientation: upright;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 30px;
	background-color: #1B507F;
	color: #fff;
	border-radius: 100px;
}

.curriculum_phase_item_02::before {
	content: 'セレクション1';
	position: absolute;
	top: 30px;
	bottom: 30px;
	left: -35px;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	-webkit-text-orientation: upright;
	text-orientation: upright;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 30px;
	background-color: #1B507F;
	color: #fff;
	border-radius: 100px;
}

.curriculum_phase_item_03::before {
	content: 'セレクション2';
	position: absolute;
	top: 30px;
	bottom: 30px;
	left: -35px;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	-webkit-text-orientation: upright;
	text-orientation: upright;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	align-items: center;
	width: 30px;
	background-color: #1B507F;
	color: #fff;
	border-radius: 100px;
}

.flow_item_title {
	margin-bottom: 20px !important;
	text-align: center;
}

.information {
	background-color: #ccc;
}

.information_place *+dt {
	margin-top: calc( 40px - .375em);
}

.modal {
	min-width: 1200px;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100vw;
	height: 100vh;
	background: rgba(0,0,0,0.5);
	z-index: 100;
	padding: 60px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: opacity 1s, visibility 0s ease 1s;
	transition: opacity 1s, visibility 0s ease 1s;
}

.modal.-show {
	-webkit-transition-delay: 0s;
	transition-delay: 0s;
	opacity: 1;
	visibility: visible;
}

.modal_inner {
	position: relative;
	max-width: 1080px;
	width: 100%;
	max-height: 100%;
	padding: 72px 20px 90px;
	background-color: #fff;
	margin: 0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

.modal_frame {
	overflow: auto;
}

.modal .close {
	position: absolute;
	top: 20px;
	right: 20px;
	width: 32px;
	height: 32px;
	background: url(../images/icon_close.svg) center center/contain no-repeat;
}

.modal .btn {
	position: absolute;
	left: 50%;
	bottom: 20px;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

.bottom {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	height: 0;
	min-width: 1200px;
	-webkit-transition: opacity .5s, visibility 0s ease .5s;
	transition: opacity .5s, visibility 0s ease .5s;
	opacity: 0;
	visibility: hidden;
}

.bottom.-show {
	-webkit-transition-delay: 0s;
	transition-delay: 0s;
	opacity: 1;
	visibility: visible;
}

.bottom_inner {
	position: absolute;
	right: 0;
	bottom: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 400px;
}

.bottom_inner>.btn {
	font-size: 1.6rem;
}

.inlines {
	letter-spacing: -.4em;
	margin-right: -16px;
	margin-left: -16px;
}

.inlines>* {
	position: relative;
	display: inline-block;
	letter-spacing: normal;
	vertical-align: middle;
	margin: 0 16px;
}

.inlines.-narrow {
	margin-right: -10px;
	margin-left: -10px;
}

.inlines.-narrow>* {
	margin: 0 10px;
}

.inlines.-close {
	margin-right: -5px;
	margin-left: -5px;
}

.inlines.-close>* {
	margin: 0 5px;
}

.inlines.-attach {
	margin-right: 0;
	margin-left: 0;
}

.inlines.-attach>* {
	margin-left: 0;
	margin-right: 0;
}

.inlines.-bar {
	margin-right: 0;
	margin-left: 0;
}

.inlines.-bar>* {
	margin-left: 0;
	margin-right: 0;
	padding-right: 10px;
}

.inlines.-bar>*::after {
	content: '';
	position: absolute;
	top: .4em;
	bottom: .4em;
	width: 1px;
	right: 0;
	background-color: currentColor;
}

.inlines.-bar>*:last-child {
	padding-right: 0;
}

.inlines.-bar>*:last-child::after {
	display: none;
}

.inlines.-bar>*+* {
	margin-left: 10px;
}

.inlines.-gt {
	margin-right: 0;
	margin-left: 0;
}

.inlines.-gt>* {
	margin-right: 0;
	margin-left: 0;
}

.inlines.-gt>*+* {
	margin-left: 10px;
	padding-left: 15px;
	position: relative;
}

.inlines.-gt>*+*::before {
	content: '';
	display: block;
	width: 5px;
	position: absolute;
	top: 0;
	left: 0;
	bottom: .1em;
	background: url(../images/sep_gt.svg) center center/contain no-repeat;
}

.inlines a:not(.btn) {
	display: inline-block;
}

.inlines.-nowrap {
	white-space: nowrap;
}

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

.faculty_item_body {
	margin-left: 20px;
}

body.-edit .edit_header+* {
	margin-top: calc( 60px - .375em);
}

body.-edit .edit_header>*+* {
	margin-top: calc( 60px - .375em);
}

body.-edit .edit_info {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	font-size: 1.4rem;
	line-height: 1.5;
	font-family: "Times New Roman","游明朝体","Yu Mincho",YuMincho,"ヒラギノ明朝 Pro","Hiragino Mincho Pro","MS P明朝","MS PMincho",serif;
}

body.-edit .edit_info_category {
	color: #661e7a;
}

body.-edit .edit_title {
	text-align: center;
	font-size: 2.4rem;
	line-height: 1.5;
	font-family: "Times New Roman","游明朝体","Yu Mincho",YuMincho,"ヒラギノ明朝 Pro","Hiragino Mincho Pro","MS P明朝","MS PMincho",serif;
}

body.-edit .wp-block-image {
	margin-bottom: 0;
}

body.-edit .wp-block-image.alignfull {
	max-height: 800px;
}

body.-edit .wp-block-image.alignfull img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: 50% 50%;
	object-position: 50% 50%;
	font-family: 'object-fit: cover;';
	top: 0;
	-webkit-transform: translate(-50%, 0%);
	transform: translate(-50%, 0%);
}

body.-edit .wp-block-image figure {
	margin-top: 0;
	margin-bottom: calc( 40px - .375px);
}

body.-edit .wp-block-image figure.alignleft {
	margin-right: 40px;
	margin-left: -180px;
}

body.-edit .wp-block-image figure.alignright {
	margin-left: 40px;
	margin-right: -180px;
}

body.-edit .wp-block-media-text {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

body.-edit .wp-block-media-text>*+* {
	margin-left: 20px;
}

body.-edit .wp-block-media-text.is-vertically-aligned-top {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}

body.-edit .wp-block-media-text.is-vertically-aligned-top .wp-block-media-text__content {
	margin-top: -.3em;
}

body.-edit .wp-block-media-text.is-vertically-aligned-center {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

body.-edit .wp-block-media-text.is-vertically-aligned-bottom {
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
}

body.-edit .wp-block-media-text.is-vertically-aligned-bottom .wp-block-media-text__content {
	margin-bottom: -.3em;
}

body.-edit .wp-block-media-text.has-media-on-the-right {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}

body.-edit .wp-block-media-text.has-media-on-the-right>*+* {
	margin-left: 0;
	margin-right: 20px;
}

body.-edit .wp-block-media-text__media {
	-webkit-box-flex: 0;
	-ms-flex: 0 1 90px;
	flex: 0 1 90px;
	min-width: 90px;
}

body.-edit .wp-block-media-text__content {
	-webkit-box-flex: 1;
	-ms-flex: 1 1 100%;
	flex: 1 1 100%;
	-ms-flex-preferred-size: calc( 100% - 20px);
	flex-basis: calc( 100% - 20px);
}

body.-edit .wp-block-media-text__content>*+* {
	margin-top: calc( 12px - .375em);
}

body.-edit .wp-block-media-text.-border {
	border: 1px solid #661e7a;
	padding: 40px 20px;
}

body.-edit .wp-block-spacer {
	float: none;
	clear: both;
	margin-top: 0 !important;
	height: calc( 60px - .375em) !important;
}

body.-edit .wp-block-spacer+* {
	margin-top: 0 !important;
}

body.-edit .wp-block-gallery {
	display: block;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	list-style-type: none;
	padding: 0;
	margin: 36px 0 0;
}

body.-edit .wp-block-gallery.alignfull {
	height: 800px;
}

body.-edit .wp-block-embed__wrapper {
	position: relative;
	width: 100%;
}

body.-edit .wp-block-embed__wrapper::before {
	content: '';
	display: block;
	width: 100%;
	padding-top: 56.25%;
}

body.-edit .wp-block-embed__wrapper>iframe {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
}

body.-edit .wp-block-columns {
	margin-bottom: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
}

body.-edit .wp-block-columns.alignfull {
	width: auto;
}

body.-edit .wp-block-column {
	-ms-flex-preferred-size: 100%;
	flex-basis: 100%;
	-webkit-box-flex: 1;
	-ms-flex-positive: 1;
	flex-grow: 1;
	-ms-flex-negative: 1;
	flex-shrink: 1;
	margin-bottom: 0;
}

body.-edit .wp-block-column:not(:first-child) {
	margin-left: 40px;
}

body.-edit .wp-block-column>*+* {
	margin-top: calc( 40px - 0.375em);
}

body.-edit .wp-block-column.-sub {
	font-size: 1.4rem;
}

body.-edit .wp-block-column.-sub>*+* {
	margin-top: calc( 20px - 0.375em);
}

body.-edit .wp-block-group {
	clear: both;
	float: none;
}

body.-edit .wp-block-group.-border {
	border: 1px solid #661e7a;
	padding: 40px 20px;
}

body.-edit .wp-block-group__inner-container>*+* {
	margin-top: 24px;
}

body.-edit .wp-block-table.-border tr * {
	border: 1px solid #000;
	padding: 10px 20px;
}

body.-edit .wp-block-table.-border tr th {
	background-color: #f2f2f2;
	width: 160px;
	font-weight: bold;
}

body.-edit .wp-block-buttons {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-family: "Times New Roman","游明朝体","Yu Mincho",YuMincho,"ヒラギノ明朝 Pro","Hiragino Mincho Pro","MS P明朝","MS PMincho",serif;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

body.-edit .wp-block-buttons>*+* {
	margin-left: 20px;
}

body.-edit .wp-block-button {
	-webkit-box-flex: 0;
	-ms-flex: 0 1 330px;
	flex: 0 1 330px;
}

body.-edit .wp-block-button__link {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-layout: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	max-width: 330px;
	height: 60px;
	width: 100%;
	padding: 5px 10px;
	line-height: 1.3;
	text-decoration: none;
	text-align: center;
	background-color: #661e7a;
	color: #fff;
}

body.-edit .wp-block-button.is-style-outline .wp-block-button__link {
	border: 1px solid #000;
	color: #000;
	background-color: #fff;
}

body.-edit .blocks-gallery-grid {
	display: block;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	list-style-type: none;
	padding: 0;
	margin: 0;
	max-height: 800px;
}

body.-edit .blocks-gallery-grid .blocks-gallery-image,
body.-edit .blocks-gallery-grid .blocks-gallery-item,
body.-edit .blocks-gallery-grid[class*="columns-"] .blocks-gallery-image,
body.-edit .blocks-gallery-grid[class*="columns-"] .blocks-gallery-item {
	margin: 0;
	display: block;
	-webkit-box-flex: 1;
	-ms-flex-positive: 1;
	flex-grow: 1;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	position: relative;
	width: 100%;
}

body.-edit .blocks-gallery-grid .blocks-gallery-image figure,
body.-edit .blocks-gallery-grid .blocks-gallery-item figure,
body.-edit .blocks-gallery-grid[class*="columns-"] .blocks-gallery-image figure,
body.-edit .blocks-gallery-grid[class*="columns-"] .blocks-gallery-item figure {
	display: block;
	height: auto;
}

body.-edit .blocks-gallery-grid .blocks-gallery-image figure .blocks-gallery-grid-img,
body.-edit .blocks-gallery-grid .blocks-gallery-item figure .blocks-gallery-grid-img,
body.-edit .blocks-gallery-grid[class*="columns-"] .blocks-gallery-image figure .blocks-gallery-grid-img,
body.-edit .blocks-gallery-grid[class*="columns-"] .blocks-gallery-item figure .blocks-gallery-grid-img {
	overflow: hidden;
	max-height: 800px;
}

body.-edit .blocks-gallery-grid .blocks-gallery-image figure .blocks-gallery-grid-img img,
body.-edit .blocks-gallery-grid .blocks-gallery-item figure .blocks-gallery-grid-img img,
body.-edit .blocks-gallery-grid[class*="columns-"] .blocks-gallery-image figure .blocks-gallery-grid-img img,
body.-edit .blocks-gallery-grid[class*="columns-"] .blocks-gallery-item figure .blocks-gallery-grid-img img {
	width: 100%;
	height: 100%;
}

body.-edit .blocks-gallery-grid .blocks-gallery-image figcaption,
body.-edit .blocks-gallery-grid .blocks-gallery-item figcaption,
body.-edit .blocks-gallery-grid[class*="columns-"] .blocks-gallery-image figcaption,
body.-edit .blocks-gallery-grid[class*="columns-"] .blocks-gallery-item figcaption {
	display: block;
	position: relative;
	bottom: 0;
	width: 100%;
	max-height: 100%;
	height: auto;
	overflow: auto;
	padding: 0;
	color: #000;
	margin: 12px 0 0;
	background: none;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	text-align: center;
}

body.-edit .blocks-gallery-grid .slick-dots::before {
	content: '';
	display: inline-block;
	width: 100%;
	background: #f00;
	pointer-events: none;
	vertical-align: bottom;
	opacity: 0;
	visibility: hidden;
}

body.-edit figcaption {
	font-size: 1.4rem;
	margin: 12px 0 0;
	margin-bottom: 0;
	color: #000;
}

body.-edit .alignleft {
	position: relative;
	top: .3em;
	clear: left;
	float: left;
	width: 320px;
	margin-right: 40px;
	margin-bottom: 36px;
	margin-left: -180px;
}

body.-edit .alignright {
	position: relative;
	top: .3em;
	clear: right;
	float: right;
	width: 320px;
	margin-left: 40px;
	margin-bottom: 36px;
	margin-right: -180px;
}

body.-edit .alignwide {
	float: none;
	clear: both;
	margin-left: calc( (1040px - 100%) / 2 * -1);
	margin-right: calc( (1040px - 100%) / 2 * -1);
	min-width: 1040px;
}

body.-edit .alignfull {
	float: none;
	clear: both;
	margin-left: calc( (1200px - 680px) / 2 * -1);
	margin-right: calc( (100vw - 680px) / 2 * -1);
	overflow: hidden;
	min-width: 1200px;
}

body.-edit .has-text-align-left {
	text-align: left;
}

body.-edit .has-text-align-center {
	text-align: center;
}

body.-edit .has-text-align-right {
	text-align: right;
}

body.-edit .has-huge-font-size {
	font-size: 3.2rem;
	line-height: 1.5;
}

body.-edit .has-large-font-size {
	font-size: 2.4rem;
	line-height: 1.5;
}

body.-edit .has-medium-font-size {
	font-size: 2rem;
	line-height: 1.5;
}

body.-edit .has-regular-font-size {
	font-size: 1.6rem;
}

body.-edit .has-small-font-size {
	font-size: 1.4rem;
}

body.-edit .has-nano-font-size {
	font-size: 1.2rem;
}

body.-edit table {
	width: 100%;
	float: none;
	clear: both;
	table-layout: fixed;
	border-collapse: collapse;
}

body.-edit table tr * {
	padding: 0 20px;
	vertical-align: top;
	font-weight: normal;
}

body.-edit table tr *:first-child {
	padding-left: 0;
}

body.-edit table tr *:last-child {
	padding-right: 0;
}

body.-edit table tr th {
	width: 160px;
	font-weight: bold;
	text-align: left;
}

body.-edit ul.-dot>* {
	padding-left: 1.5em;
	overflow: hidden;
}

body.-edit ul.-dot>*::before {
	content: '・';
	display: block;
	width: 1.5em;
	height: 1em;
	float: left;
	margin-left: -1.5em;
}

body.-edit .internals {
	text-align: center;
	letter-spacing: -.4em;
}

body.-edit .internals>* {
	position: relative;
	display: inline-block;
	letter-spacing: normal;
	vartical-align: middle;
	margin-left: 0;
	margin-right: 0;
	padding-right: 10px;
}

body.-edit .internals>*::after {
	content: '';
	position: absolute;
	top: .35em;
	bottom: .35em;
	width: 1px;
	right: 0;
	background-color: currentColor;
}

body.-edit .internals>*:last-child {
	padding-right: 0;
}

body.-edit .internals>*:last-child::after {
	display: none;
}

body.-edit .internals>*+* {
	margin-left: 10px;
}

body.-edit .internals a {
	text-decoration: underline;
}

body.-edit ul.list,
body.-edit ol.list {
	padding-left: 30px;
}

body.-edit ul.list>*:before,
body.-edit ol.list>*:before {
	position: relative;
	top: .35em;
	content: '';
	display: block;
	width: 20px;
	height: 20px;
	line-height: 20px;
	background-color: #661e7a;
	float: left;
	margin-left: -30px;
	border-radius: 20px;
	color: #fff;
	text-align: center;
}

body.-edit ol.list {
	counter-reset: item;
}

body.-edit ol.list>*:before {
	counter-increment: item;
	content: counter(item);
	font-size: 1.2rem;
}

body.-edit .link>a {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
}

body.-edit .link>a:before {
	position: relative;
	top: .35em;
	content: '';
	display: inline-block;
	width: 20px;
	height: 20px;
	line-height: 20px;
	background-color: #661e7a;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	background-image: url(../images/link_r.svg);
	border-radius: 20px;
	margin-right: 10px;
	color: #fff;
	text-align: center;
	-ms-flex-preferred-size: auto;
	flex-basis: auto;
	-ms-flex-negative: 0;
	flex-shrink: 0;
}

body.-edit .link>a[target="_blank"]:before {
	background-image: url(../images/link_blank.svg);
}

body.-edit .link+.link {
	margin-top: 0;
}

body.-edit .link.-download>a:before {
	background-image: url(../images/link_b.svg);
}

@media screen and (min-width: 1200px) {

body.-edit .wp-block-image.alignfull {
	margin-left: calc( (100vw - 100%) / 2 * -1);
	margin-right: calc( (100vw - 100%) / 2 * -1);
}

body.-edit .alignfull {
	margin-left: calc( (100vw - 100%) / 2 * -1);
	margin-right: calc( (100vw - 100%) / 2 * -1);
}

}

@media screen and (max-width: 35em) {

body {
	min-width: 0;
}

a:hover {
	opacity: 1;
}

a[data-mail]:hover {
	opacity: 1;
}

button:hover {
	opacity: 1;
}

img.-pc {
	display: none;
}

img.-sp {
	display: block;
}

br.-pc {
	display: none;
}

br.-sp {
	display: block;
}

.table_wrapper {
	overflow: auto;
	white-space: nowrap;
}

.table_wrapper table {
	width: 100%;
	table-layout: auto;
}

.btn {
	width: 100%;
	font-size: 1.6rem;
}

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

.btn_cols>* {
	margin-bottom: 20px !important;
}

.header {
	min-width: 0;
	height: 60px;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}

.header_ids {
	padding-left: 20px;
	white-space: nowrap;
	-webkit-transform-origin: left center;
	transform-origin: left center;
	-webkit-transform: scale(0.6);
	transform: scale(0.6);
}

.header_ids>*+* {
	margin-left: 20px;
}

.nav {
	pading-top: 60px;
}

.nav_inner {
	pading: 20px;
}

.menu {
	width: 60px;
	height: 60px;
}

.footer {
	padding-bottom: 120px;
}

.cols {
	margin-right: -10px;
	margin-left: -10px;
	margin-bottom: -40px;
}

.cols>* {
	margin: 0 10px 40px;
}

.cols.-has1>* {
	-ms-flex-preferred-size: calc( 100% - 40px);
	flex-basis: calc( 100% - 40px);
	max-width: calc( 100% - 40px);
	-ms-flex-preferred-size: calc( 100% - 20px);
	flex-basis: calc( 100% - 20px);
	max-width: calc( 100% - 20px);
}

.cols.-has2>* {
	-ms-flex-preferred-size: calc( 100% - 40px);
	flex-basis: calc( 100% - 40px);
	max-width: calc( 100% - 40px);
	-ms-flex-preferred-size: calc( 100% - 20px);
	flex-basis: calc( 100% - 20px);
	max-width: calc( 100% - 20px);
}

.cols.-has3>* {
	-ms-flex-preferred-size: calc( 100% - 40px);
	flex-basis: calc( 100% - 40px);
	max-width: calc( 100% - 40px);
	-ms-flex-preferred-size: calc( 100% - 20px);
	flex-basis: calc( 100% - 20px);
	max-width: calc( 100% - 20px);
}

.cols.-has4>* {
	-ms-flex-preferred-size: calc( 100% - 40px);
	flex-basis: calc( 100% - 40px);
	max-width: calc( 100% - 40px);
	-ms-flex-preferred-size: calc( 50% - 20px);
	flex-basis: calc( 50% - 20px);
	max-width: calc( 50% - 20px);
}

.cols.-has5>* {
	-ms-flex-preferred-size: calc( 100% - 40px);
	flex-basis: calc( 100% - 40px);
	max-width: calc( 100% - 40px);
	-ms-flex-preferred-size: calc( 50% - 20px);
	flex-basis: calc( 50% - 20px);
	max-width: calc( 50% - 20px);
}

.content_inner {
	padding-right: 20px;
	padding-left: 20px;
}

.content_header {
	padding: 20px;
}

.vi {
	padding: 60px 0;
}

.vi .content_inner {
	height: 213vw;
}

.vi_badge {                                
	top: 20px;
	left: 20px;
}

.vi_badge img {
	width: 90px;
	height: 90px;
}

.vi_produce {
	top: 60px;
	right: 20px;
}

.vi_produce img {
	width: 110px;
	height: 24px;
}

.vi_label {
	margin: 0 20px;
}

.vi_obj_wrapper {
	right: auto;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	min-width: 0;
	width: calc( 100vh * 1.3);
}

.support_coms .img img {
	-webkit-transform: translate(-50%, -50%) scale(0.7);
	transform: translate(-50%, -50%) scale(0.7);
}

.recommend_case_career {
	font-size: 1.3rem;
}

.flow_item {
	display: block;
	margin: 0;
}

.flow_item_title img {
	width: 100%;
	height: auto;
}

.flow_item+.flow_item {
	margin-top: 40px;
}

.modal {
	padding: 40px 20px;
	min-width: 0;
}

.modal_inner {
	padding-top: 20px;
}

.modal .close {
	display: none;
}

.modal .btn {
	bottom: 0;
}

.bottom {
	min-width: 0;
}

.bottom_inner {
	width: 100%;
}

.bottom_inner>.btn {
	font-size: 1.4rem;
}

.student_items {
	padding: 0 25px;
}

[data-sp-slide] {
	margin-right: -20px;
	margin-left: -20px;
}

[data-sp-slide]>* {
	margin-right: 20px;
	margin-left: 20px;
}

body.-edit .wp-block-image.alignfull {
	height: 66.66vw;
}

body.-edit .wp-block-media-text {
	display: block;
}

body.-edit .wp-block-media-text>*+* {
	margin-top: 20px !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.-edit .wp-block-media-text__media {
	max-width: 100%;
	margin: 0 auto;
}

body.-edit .wp-block-media-text.-border {
	padding: 20px;
}

body.-edit .wp-block-gallery.alignfull {
	height: initial;
}

body.-edit .wp-block-columns {
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-bottom: -40px;
	overflow: hidden;
}

body.-edit .wp-block-column {
	-ms-flex-negative: 0;
	flex-shrink: 0;
	margin-bottom: calc( 40px - 0.375em);
}

body.-edit .wp-block-column:not(:first-child) {
	margin-left: 0px;
}

body.-edit .wp-block-group.-border {
	padding: 20px;
}

body.-edit .wp-block-table.-border tr th {
	width: 33%;
}

body.-edit .wp-block-table:not(.-spscroll) table {
	display: block;
}

body.-edit .wp-block-table:not(.-spscroll) table tr {
	display: block;
}

body.-edit .wp-block-table:not(.-spscroll) table tr>* {
	display: block;
	padding: 0;
}

body.-edit .wp-block-table:not(.-spscroll) table tr th {
	width: 100%;
}

body.-edit .wp-block-table.-border table tr>* {
	padding: 10px;
}

body.-edit .wp-block-table.-border table tr>*+* {
	margin-top: -1px;
}

body.-edit .wp-block-table.-border table tr+tr {
	margin-top: -1px;
}

body.-edit .wp-block-table.-spscroll table {
	display: block;
	overflow-x: scroll;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
}

body.-edit .wp-block-buttons {
	display: block;
}

body.-edit .wp-block-buttons>*+* {
	margin-left: 0;
	margin-top: 20px;
}

body.-edit .wp-block-button__link {
	max-width: 100%;
	width: 100%;
}

body.-edit .blocks-gallery-grid {
	max-height: initial;
}

body.-edit .blocks-gallery-grid .blocks-gallery-image figure .blocks-gallery-grid-img,
body.-edit .blocks-gallery-grid .blocks-gallery-item figure .blocks-gallery-grid-img,
body.-edit .blocks-gallery-grid[class*="columns-"] .blocks-gallery-image figure .blocks-gallery-grid-img,
body.-edit .blocks-gallery-grid[class*="columns-"] .blocks-gallery-item figure .blocks-gallery-grid-img {
	max-height: 66.66vw;
}

body.-edit .alignwide figcaption,
body.-edit .alignfull figcaption {
	padding-right: 20px;
	padding-left: 20px;
}

body.-edit .alignleft,
body.-edit .alignright {
	float: none;
	clear: both;
	margin-left: 0 !important;
	margin-right: 0 !important;
	width: 100%;
}

body.-edit .alignwide {
	float: none;
	clear: both;
	padding: 0;
	min-width: 0;
	margin-left: 0;
	margin-right: 0;
}

body.-edit .alignfull {
	float: none;
	clear: both;
	padding: 0;
	min-width: 0;
	margin-left: -20px;
	margin-right: -20px;
}

body.-edit table tr th {
	width: 33%;
}

body.-edit .wp-block-columns.-spbreak {
	margin-right: -10px;
	margin-left: -10px;
	margin-bottom: 40px;
	width: auto;
}

body.-edit .wp-block-columns.-spbreak .wp-block-column {
	border: 1px solid #f00;
	-ms-flex-preferred-size: calc( 50% - 20px);
	flex-basis: calc( 50% - 20px);
	fle-shrink: 1;
	-webkit-box-flex: 0;
	-ms-flex-positive: 0;
	flex-grow: 0;
	margin: 0 10px 40px;
}

.vi_obj01 {
	top: 180px;
	left: 28%;
	width: 27.5%;
	max-width: 332.5px;
}

.vi_obj01::before {
	padding-top: 104%;
}

.vi_obj02 {
	top: 360px;
	right: 30%;
	width: 19.05%;
	max-width: 229px;
}

.vi_obj02::before {
	padding-top: 91%;
}

.vi_obj03 {
	top: 640px;
	right: 40.5%;
	width: 8.75%;
	max-width: 105.5px;
}

.vi_obj03::before {
	padding-top: 82%;
}

.vi_obj04 {
	top: 25px;
	left: 25%;
	width: 10.9%;
	max-width: 131px;
}

.vi_obj04::before {
	padding-top: 100.7%;
}

.vi_obj05 {
	top: 665px;
	left: 15.8%;
	width: 27.5%;
	max-width: 332.5px;
}

.vi_obj05::before {
	padding-top: 87.3%;
}

.vi_obj06 {
	top: 47px;
	right: 15%;
	width: 34.35%;
	max-width: 412.5px;
}

.vi_obj06::before {
	padding-top: 102%;
}

.vi_obj07 {
	top: 820px;
	right: 15.4%;
	width: 27.5%;
	max-width: 332.5px;
}

.vi_obj07::before {
	padding-top: 45.1%;
}

.vi_obj08 {
	top: 75px;
	left: 45%;
	width: 3%;
	max-width: 36.5px;
}

.vi_obj08::before {
	padding-top: 173%;
}

.vi_obj09 {
	top: 308px;
	left: -8,6%;
	width: 4.5%;
	max-width: 53.5px;
}

.vi_obj09::before {
	padding-top: 115%;
}

.vi_obj10 {
	top: 320px;
	left: 0%;
	width: 4.3%;
	max-width: 52px;
}

.vi_obj10::before {
	padding-top: 127%;
}

.vi_obj11 {
	top: 406px;
	left: 14.6%;
	width: 4.85%;
	max-width: 58.5px;
}

.vi_obj11::before {
	padding-top: 89.7%;
}

.vi_obj12 {
	top: 805px;
	right: 4.5%;
	width: 4.125%;
	max-width: 49.5px;
}

.vi_obj12::before {
	padding-top: 76.8%;
}

.vi_obj13 {
	top: 252px;
	left: 26%;
	width: 2.625%;
	max-width: 31.5px;
}

.vi_obj13::before {
	padding-top: 197%;
}

.vi_obj14 {
	top: 315px;
	left: 23.3%;
	width: 1.9%;
	max-width: 23px;
}

.vi_obj14::before {
	padding-top: 152%;
}

.vi_obj15 {
	top: 350px;
	left: 18.3%;
	width: 1.2%;
	max-width: 14.5px;
}

.vi_obj15::before {
	padding-top: 127.5%;
}

.vi_obj16 {
	top: 370px;
	left: 265px;
	width: 1.8%;
	max-width: 21.5px;
}

.vi_obj16::before {
	padding-top: 146.5%;
}

.vi_obj17 {
	top: 370px;
	left: 22%;
	width: 1.5%;
	max-width: 18px;
}

.vi_obj17::before {
	padding-top: 222%;
}

.vi_obj18 {
	top: 370px;
	left: 22%;
	width: 1.5%;
	max-width: 18px;
}

.vi_obj18::before {
	padding-top: 222%;
}

.vi_obj19 {
	top: 615px;
	right: 370px;
	width: 1.95%;
	max-width: 23.5px;
}

.vi_obj19::before {
	padding-top: 108.5%;
}

.vi_obj20 {
	top: 583px;
	right: 30.8%;
	width: 1%;
	max-width: 20px;
}

.vi_obj20::before {
	padding-top: 132.5%;
}

.vi_obj21 {
	top: 549px;
	right: 19.2%;
	width: 2.2%;
	max-width: 26.5px;
}

.vi_obj21::before {
	padding-top: 77%;
}

.vi_obj22 {
	top: 567px;
	right: 9.9%;
	width: 2.9%;
	max-width: 37px;
}

.vi_obj22::before {
	padding-top: 54%;
}

}


.topics .content_inner {
	max-width: 600px;
	padding: 0 20px;
	overflow: hidden;
}

.topics_slide_item {
	display: block;
}

.topics_slide_item>*+* {
	margin-top: 16px;
}

.topics_slide_item_body>*+* {
	margin-top: 16px;
}

.topics_slide_item_date {
	font-size: 1.4rem;
}

.topics_slide .slick-arrow {
	position: absolute;
	top: 0;
	font-size: 0;
	width:100%;
	background-size: 30px 30px;
	background-repeat: no-repeat;
	z-index: 1;
}

.topics_slide .slick-arrow.slick-prev {
	left: calc( -100% + 15px );
	background-image: url(../images/arrow_l.png);
	background-position: right center;
}
.topics_slide .slick-arrow.slick-next {
	left: calc( 100% - 15px );
	background-image: url(../images/arrow_r.png);
	background-position: left center;
}

.topics_slide .slick-arrow:before {
	content: '';
	display: block;
	padding-top: 56.25%;
	width: 100%;
}

@media screen and (max-width: 35em) {

	.topics .content_inner {
		padding: 0 20px;
	}

}



.nav {
	padding-top: 0;
}

.nav_inner {
	padding: 60px 20px;
	width: 100%;
	max-height: 100%;
	overflow: auto;
}

.nav_contents>*+* {
	margin-top: calc( 40px - .375em);
}

.nav_year {
	margin-top: 40px;
	max-width: 480px;
	width: 100%;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 20px;
}

.nav_year>* {
	flex: 0 0 calc( 50% - 10px );
}

.nav_inner a {
	display: inline-block;
}

.nav_label {
	line-height: 1;
}

.nav_label+* {
	margin-top: 10px;
}

.header {
	min-width: 720px;
}

.header_ids {
	flex: 1 0 100%;
	transform: scale(1);
}

.header_id_efc {
	position: absolute;
	top: 50%;
	left: 20px;
	transform: translateY(-50%);
}

.header_id_catapult {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	margin-left: 0;
}

@media screen and (max-width: 35em) {
	.header {
		min-width: 0;
	}

	.header_ids a {
		display: inline-block;
	}

	.header_id_efc {
		position: static;
		transform: translate(0);
	}
	.header_id_efc img {
		height: 30px;
		width: auto;
	}
	.header_id_catapult{
		position: static;
		transform: translate(0);
		margin-left: 20px;
	}

	.header_id_catapult img {
		height: 25px;
		width: auto;
	}
}


