*,
::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: #000;
	font-size: 1.6rem;
	-webkit-font-smoothing: antialiased;
	height: 100%;
	word-wrap: break-word;
	overflow-wrap: break-word;
	min-width: 1200px;
	background-color: #fff;
	font-family: "Helvetica Neue",HelveticaNeue,arial,YuGothic,"游ゴシック Medium","Yu Gothic Medium","游ゴシック体","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
}

.wrapper {
	width: 100%;
	overflow: hidden;
}

*[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;
}

a[href] {
	-webkit-transition: opacity .5s;
	transition: opacity .5s;
}

a[href]: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;
}

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;
}

.-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;
}

.-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;
}

.btn {
	width: 335px;
	margin-right: auto;
	margin-left: auto;
	height: 60px;
	text-decoration: none;
	padding: 10px;
	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;
	line-height: 1.3;
	font-size: 2.4rem;
	font-weight: bold;
	background-color: #000;
	color: #fff;
}

.img {
	position: relative;
	background-color: #ddd;
	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.-r16x9::before {
	padding-top: 56.25%;
}

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

.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%;
	height: auto;
	-o-object-fit: contain;
	object-fit: contain;
	font-family: 'object-fit: contain;object-position: 50% 50%;';
}

.header {
	position: absolute;
	top: calc( 40px - .375em);
	right: 40px;
	left: 40px;
	min-width: calc( 1200px - 80px);
	height: 0;
	z-index: 2;
}

.header_id {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 4.8rem;
	font-weight: bold;
	line-height: 1.25;
}

.header_lang {
	position: absolute;
	top: 0;
	right: 0;
	font-size: 1.8rem;
}

.contents {
	margin: calc( 90px - .375em) auto 0;
}

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

.vi_item {
	position: relative;
	height: 100vw;
	min-height: 1200px;
	overflow: hidden;
}

.vi .slick-dots {
	position: absolute;
	bottom: 40px;
	left: 40px;
	right: 40px;
}

.statement {
	text-align: center;
}

.statement>*+* {
	margin-top: calc( 1.75em);
}

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

.materials_item_img [data-rate] {
	position: absolute;
	left: 0;
	right: 0;
}

.materials_item_body {
	position: absolute;
	top: 40px;
	right: 40px;
	bottom: 40px;
	left: 40px;
}

.materials_item_title {
	color: #fff;
	line-height: 1.5;
}

.materials_item_title em {
	display: block;
	font-size: 3.6rem;
	font-weight: bold;
}

.products_title {
	font-size: 3.6rem;
	font-weight: bold;
	text-align: center;
}

.products_item {
	text-align: center;
}

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

.products_item_body {
	margin-top: calc( 40px - .375em);
	text-align: center;
}

.products_item_title {
	line-height: 1.5;
}

.products_item_title em {
	display: block;
	font-size: 2.4rem;
	font-weight: bold;
}

.products_item_title i {
	display: block;
	margin-top: calc( 20px - .375em);
}

.products_item_price {
	font-size: 2.4rem;
	line-height: 1.5;
	margin-top: calc( 40px  - .375em);
}

.products_item .btn {
	margin-top: calc( 20px - .25em);
}

.contact {
	padding: calc( 60px - .25em) 70px;
	background-color: #e6e6e6;
	text-align: center;
}

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

.contact_title {
	font-size: 3.6rem;
	font-weight: bold;
	line-height: 1.5;
}

.contact_mail {
	display: inline-block;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.5;
	text-decoration: underline;
}

.footer {
	padding: 90px 0 100px;
	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;
	height: 100%;
	min-height: 1px;
	display: none;
}

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

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

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

.slick-slide>div {
	display: block;
	margin: 0;
	padding: 0;
	height: 100vw;
	min-height: 1200px;
}

.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: #ffffff;
	-webkit-transition: background-color .5s;
	transition: background-color .5s;
}

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

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

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

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

.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  - 60px);
	flex-basis: calc( 100% / 1  - 60px);
	max-width: calc( 100% / 1  - 60px);
}

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

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

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

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

.col_item {
	text-decoration: none;
}

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

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

.col_item_cat {
	float: left;
	color: #661e7a;
}

.col_item_date {
	float: right;
}

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

.col_item_title+* {
	margin-top: calc( 16px - 0.375em);
}

.col_item_title.-post {
	font-size: 1.4rem;
}

.col_item_txt.-post {
	font-size: 1.4rem;
}

.content {
	max-width: 1200px;
	padding-right: 70px;
	padding-left: 70px;
	margin-right: auto;
	margin-left: auto;
}

.content.-full {
	max-width: 100%;
}

.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[href]:hover {
	opacity: 1;
}

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

img.-pc {
	display: none;
}

img.-sp {
	display: block;
}

br.-pc {
	display: none;
}

br.-sp {
	display: block;
}

.btn {
	width: 100%;
}

.header {
	top: calc( 20px - .375em);
	right: 20px;
	left: 20px;
	min-width: calc( 100vw - 40px);
}

.header_id {
	font-size: 3.6rem;
}

.contents {
	margin: calc( 60px - .375em) auto 0;
}

.contents>*+* {
	margin: calc( 60px - .375em) auto 0;
}

.vi_item {
	height: 150vw;
	min-height: 0;
}

.vi .slick-dots {
	bottom: 20px;
	left: 20px;
	right: 20px;
}

.materials .cols {
	margin-bottom: -30px;
}

.materials .cols>* {
	margin-bottom: 30px;
}

.materials_item_body {
	top: 20px;
	right: 20px;
	bottom: 20px;
	left: 20px;
}

.footer {
	padding: calc( 60px - .375em) 20px;
}

.slick-slide>div {
	height: 150vw;
	min-height: 0;
}

.cols {
	margin-right: -30px;
	margin-left: -30px;
	margin-bottom: -60px;
}

.cols>* {
	margin: 0 30px 60px;
}

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

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

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

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

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

.content {
	max-width: 100%;
	padding-right: 20px;
	padding-left: 20px;
}

.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;
}

}

