@font-face {
  font-family: 'kwan';
  src:
    url('fonts/kwan-nzkcde.ttf') format('truetype'),
    url('fonts/kwan-nzkcde.woff') format('woff'),
    url('fonts/kwan-nzkcde.svg#kwan') 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: 'kwan' !important;
  speak: never;
  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-icon_arrow:before {
  content: "\61";
}

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, 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, li, fieldset, form, label, legend, 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; font-size: 100%; font: inherit; vertical-align: baseline; -webkit-box-sizing: border-box; box-sizing: border-box; }
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main { display: block; }
body { line-height: 1; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
table { border-collapse: collapse; border-spacing: 0; }
.text-align-center { text-align: center; }
.text-align-right { text-align: right; }
.display-block { display: block; }
.hidden { display: none !important; visibility: hidden; }
.clearfix::before, .clearfix::after { content: ""; display: table; }
.clearfix::after { clear: both; }
.clear { clear: both; }

/* show only  SP/PC
-------------------------------*/
.sp-only { display: none !important; }
.sp-only-2 { display: none !important; }
.pc-only { display: block !important; }
.pc-only-2 { display: inline-block !important; }

/* font
-------------------------------*/
.bold { font-weight: bold; }

/* margin
-------------------------------*/

/* padding
-------------------------------*/

/* base */
html { font-size: 62.5%; }
body { font-family: YakuHanJP_Noto, "Noto Sans JP", sans-serif; font-size: 1.4rem; -webkit-font-feature-settings: "palt"; font-feature-settings: "palt"; color: #000; }
a { color: inherit; }
img { max-width: 100%; height: auto; }
input, textarea, select, button { font-family: inherit; -webkit-appearance: none; -moz-appearance: none; appearance: none; outline: none; }
select::-ms-expand { display: none; }
button { cursor: pointer; font-size: inherit; }
/* for development */
pre { padding: 15px; background: #eee; font-size: 1.2rem; line-height: 1.2; }


.ktkn { text-indent: -0.05em; }

/* Layout */

.l-body { width: 100%; overflow: hidden; }
.l-body.is-fixed { position: fixed; }

.l-header { height: 60px; padding: 0 4.33333%; display: flex; align-items: center; }
.l-wrapper { position: relative; width: calc(100% - 40px); margin-left: auto; margin-right: auto; }
.l-sp-wrapper { position: relative; margin-left: auto; margin-right: auto; width: 89.333333%; }
.l-content { position: relative; }
.l-section:not(:last-of-type) { margin-bottom: 48px; }
@media screen and (max-width: 680px) {
	
}
@media screen and (min-width: 681px) {
	.l-body { min-width: 1100px; }
	.l-header { position: absolute; top: 0; left: 0; width: 100%; height: 80px; padding: 0 17px; z-index: 10; }
	.l-wrapper { max-width: 1000px; width: calc(100% - 100px); }
	.l-content { padding-bottom: 80px; }
	.l-section:not(:last-of-type) { margin-bottom: 100px; }
}

/* Module */
.header-logo { width: 140px; display: block; }
.header-logo img { display: block; }

/* Button */
.button { background: #c84600; color: #FFF; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; font-weight: bold; width: 100%; height: 60px; text-decoration: none; position: relative; }
.button:after { content: ""; width: 18px; height: 16px; background: url("https://www.kwangaku-oc.com/img/icon_download_white.svg") no-repeat center/contain; display: block; position: absolute; top: 50%; right: 20px; transform: translateY(-50%); transition: 0.4s; }
.button--center { margin-left: auto; margin-right: auto; }


@media screen and (min-width: 681px) {
	.button { max-width: 340px; font-size: 1.6rem; transition: 0.4s; }
	.button:hover { background: #F2DB00; color: #000; }
	.button:hover:after { background: url("https://www.kwangaku-oc.com/img/icon_download_black.svg") no-repeat center/contain; }
	.button--sm { max-width: 300px; }
}

.heading-1 { text-align: center; padding: 20px 0 10px; position: relative; margin-bottom: 30px; }
.heading-1--more { background: url("../img/common/bg_heading_more_sp_1.svg") no-repeat left 24px/auto 70px, url("../img/common/bg_heading_more_sp_2.svg") no-repeat right 24px/auto 70px; }
.heading-1--more:after { content: ""; display: block; width: 40px; height: 2px; background: #000000; position: absolute; bottom: -20px; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); }
.heading-1:before { content: ""; background: #f2db00; width: 7px; height: 100%; position: absolute; top: 0; left: 41%; -webkit-transform: skewX(-45deg) translateX(-50%); -ms-transform: skewX(-45deg) translateX(-50%); transform: skewX(-45deg) translateX(-50%); }
.heading-1__en { position: relative; font: 700 4.6rem "Roboto Slab", serif; background: #fff; line-height: 0.95; display: inline-block; }
.heading-1__jp { position: relative; font-size: 1.2rem; font-weight: bold; padding-top: 14px; }
.heading-3 { position: relative; text-align: center; font-size: 2.0rem; font-weight: 700; margin-bottom: 24px; letter-spacing: 0.06em; }
.heading-3:before { content: ""; display: block; width: 100%; height: 1px; background: #e1e1e1; position: absolute; top: 50%; left: 0; }
.heading-3 span { display: inline-block; background: #fff; position: relative; padding: 0 .5em; }

@media screen and (min-width: 681px) {
	.heading-1 { padding: 26px 0 10px; margin-bottom: 52px; }
	.heading-1--more { background: url("../img/common/bg_heading_more_pc_2.svg") no-repeat center top 10px/365px 80px; margin-bottom: 60px !important; }
	.heading-1--more:after { width: 40px; bottom: -24px; }
	.heading-1:before { width: 8px; left: 46%; }
	.heading-1__en { font-size: 4.5rem; padding-bottom: 5px; }
	.heading-1__jp { font-size: 1.6rem; padding-top: 15px; }
	.heading-3 { font-size: 2.4rem; letter-spacing: 0.1em; margin-bottom: 50px; }
	.heading-3 span { padding: 0 1em; }
}

/* More */
.more-wrap { display: flex; flex-wrap: wrap; justify-content: space-between; }
.more { display: block; text-decoration: none; text-align: center; width: 46.86%; }

.more__image { border-radius: 50%; width: 100%; overflow: hidden; position: relative; margin-bottom: 17px; backface-visibility: hidden; }
.more__image:before { content: ""; display: block; padding-top: 100%; }
.more__image img { display: block; width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; font-family: "object-fit: cover;"; position: absolute; top: 0; left: 0; transition: 0.4s; }
.more__label { position: relative; font-size: 1.5rem; font-weight: bold; width: calc(100% - 16px); height: 25px; margin-left: auto; margin-right: auto; display: flex; align-items: center; justify-content: center; margin-bottom: 15px; }
.more__label:before,
.more__label:after { content: ""; display: block; position: absolute; top: 0; width: 5px; height: 100%; border: 1px solid #000; }
.more__label:before { border-right: none; left: 0; }
.more__label:after { border-left: none; right: 0; }
.more__text { font-size: 1.3rem; line-height: 1.53; }

@media screen and (max-width: 680px) {
	.more:not(:last-child):not(:nth-last-child(2)) { margin-bottom: 28px; }
}
@media screen and (min-width: 681px) {
	.more-wrap { justify-content: space-between; max-width: 900px; margin-left: auto; margin-right: auto; }
	.more { width: 180px; margin: 0 20px; }
	.more:hover img { transform: scale(1.1); }
	.more__image { margin-bottom: 19px; }
	.more__label { font-size: 1.8rem; height: 29px; margin-bottom: 13px; }
	.more__text { font-size: 1.4rem; line-height: 1.57; }
}




/* Faculty */
.check-faculty { position: relative; overflow: hidden; }
.check-faculty__wrapper { position: relative; overflow: hidden; width: 2380px; display: flex; }
.check-faculty__item { width: 170px; -ms-flex-negative: 0; flex-shrink: 0; padding: 0 5px; position: relative; }
.check-faculty__item a,
.check-faculty__item button { display: block; text-decoration: none; position: relative; border: none; padding: 0; overflow: hidden; width: 100%; }
.check-faculty__item img { display: block; width: 100%; }
.check-faculty__image img { transition: 0.4s; }
.check-faculty__text { text-align: center; font-size: 1.44rem; font-weight: 700; letter-spacing: 0.1em; color: #fff; width: 100%; height: 48px; position: absolute; top: 50%; left: 0; transform: translateY(-50%); display: flex; align-items: center; justify-content: center; }
.check-faculty__text:before { content: ""; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; opacity: 0.8; transition: 0.4s; }
.check-faculty__text span:not([class]) { position: relative; }
.check-faculty__text--1:before { background: #85461d; }
.check-faculty__text--2:before { background: #177a88; }
.check-faculty__text--3:before { background: #358a3c; }
.check-faculty__text--4:before { background: #005e36; }
.check-faculty__text--5:before { background: #386197; }
.check-faculty__text--6:before { background: #9c3d51; }
.check-faculty__text--7:before { background: #ae873a; }
.check-faculty__text--8:before { background: #009698; }
.check-faculty__text--9:before { background: #b75f73; }
.check-faculty__text--10:before { background: #f08296; }
.check-faculty__text--11:before { background: #39a7d5; }
.check-faculty__text--12:before { background: #a084b6; }
.check-faculty__text--13:before { background: #5cbc9a; }
.check-faculty__text--14:before { background: #b3a928; }
.check-faculty__label { display: block; position: absolute; top: -18px; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); height: 16px; }
.check-faculty__label:after { content: ""; display: block; border-top: 7px solid #f2db00; border-left: 3px solid transparent; border-right: 3px solid transparent; border-bottom: none; position: absolute; top: 100%; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); }
.check-faculty__label img { height: 100%; width: auto; max-width: 200%; }
.check-faculty__label--new { width: 60px; }
.check-faculty__label--renewal { width: 67px; }

@media screen and (min-width: 681px) {
	.check-faculty__wrapper { width: 2940px; }
	.check-faculty__item { width: 210px; }
	.check-faculty__item a,
	.check-faculty__item button { }
	.check-faculty__item a:hover .check-faculty__text:before,
	.check-faculty__item button:hover .check-faculty__text:before { opacity: 0.9; }
	.check-faculty__item a:hover .check-faculty__image img,
	.check-faculty__item button:hover .check-faculty__image img { -webkit-transform: scale(1.1); -ms-transform: scale(1.1); transform: scale(1.1); }
	.check-faculty__text { font-size: 1.8rem; height: 60px; }
}


/* CV */
.cv-button { font-size: 1.6rem; font-weight: bold; text-align: center; position: sticky; bottom: 0; left: 0; width: 100%; z-index: 10; }
.cv-button__item:not(:last-child) { border-bottom: 1px solid #000; }
.cv-button__item a { background: #f2db00; text-decoration: none; width: 100%; height: 60px; display: flex; align-items: center; justify-content: center; }

@media screen and (min-width: 681px) {
	.cv-button { position: fixed; bottom: 0; left: 0; display: flex; transform: translateY(100%); transition: 0.4s; font-size: 1.8rem; }
	.cv-button.is-visible { transform: translateY(0%); }
	.cv-button.is-clear { position: absolute; }
	.cv-button__item:not(:last-child) { border-bottom: none; border-right: 1px solid #000; }
	.cv-button__item { width: 50%; }
	.cv-button__item a { height: 80px; transition: 0.4s; }
	.cv-button__item a:hover { background: #000; color: #FFF; }
}


/* Faculty List */
.faculty-list-wrap { padding: 45px 0px 25px 10px; }
.faculty-list { font-size: 1.2rem; line-height: 2.05; }
.faculty-list__item { position: relative; display: flex; }
.faculty-list__label { position: absolute; top: 0; left: 0; height: 14px; display: none; }
.faculty-list__label:after { content: ""; display: block; border-top: 4px solid #FEF002; border-left: 3px solid transparent; border-right: 3px solid transparent; border-bottom: none; position: absolute; top: 100%; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); }
.faculty-list__label img { height: 100%; width: auto; max-width: 100px; display: block; }
.faculty-list__main { position: relative; padding-right: 15px; font-weight: bold; width: 9.3em; -ms-flex-negative: 0; flex-shrink: 0; border-right: 1px solid #e1e1e1; text-align: center; }
.faculty-list__main::before,
.faculty-list__main::after { position: absolute; top: 0; }
.faculty-list__main::before { content: "［"; left: 0; }
.faculty-list__main::after { content: "］"; right: 15px; }

.faculty-list__children { display: flex; flex-wrap: wrap; padding: 0 0 0 0.9em; }
.faculty-list__child { margin-right: 1em; }
.faculty-list__child:before { content: ""; display: inline-block; border-left: 7px solid #1f3b8a; border-top: 4px solid transparent; border-bottom: 4px solid transparent; }
.faculty-list__child--note-1::after { content: "※1"; font-size: 1rem; }
.faculty-list-note { font-size: 1.2rem; padding: 0 0 25px 10px; }

@media screen and (min-width: 681px) {
	.faculty-list-wrap { padding: 115px 0 25px 60px; }
	.faculty-list__label { left: auto; right: 101%; top: 12px; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }
	.faculty-list__label:after { border-top: 3px solid transparent; border-left: 5px solid #FEF002; border-bottom: 3px solid transparent; top: 50%; left: 100%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }
	.faculty-list__label + .faculty-list__main,
	.faculty-list__label + .faculty-list__main + .faculty-list__children { padding-top: 0; }
	.faculty-list__main { width: 8.8em; }
	.faculty-list__children { padding: 0 0 0 1.8em; }
}



/* Footer */
.footer { border-top: 1px solid #e1e1e1; padding: 30px 0 30px; }
.footer-main { text-align: center; font-size: 1.2rem; }
.sns { display: flex; align-items: center; justify-content: center; margin-bottom: 20px; }
.sns__item { width: 40px; }
.sns__item:not(:last-child) { margin-right: 10px; }
.sns__item a { display: block; }
.address { margin-bottom: 17px; }
.tel { margin-bottom: 12px; 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; font-size: 1.2rem; line-height: 1.5; text-align: left; }
.tel__label { background: #e1e1e1; padding: 6px 9px; margin-right: 10px; }
.tel a { text-decoration: none; display: inline-block; }
.footer-logo { margin-top: 32px; display: block; }
.footer-logo img { display: block; margin-left: auto; margin-right: auto; }
.copyright { text-align: center; background: #1f3b8a; color: #fff; padding: 20px 0; font-size: 0.9rem; }

@media screen and (min-width: 681px) {
	.footer { display: flex; align-items: flex-end; justify-content: space-between; padding: 38px 45px; }
	.footer-main { text-align: left; }
	.sns { justify-content: flex-start; margin-bottom: 26px; }
	.sns__item { width: auto; }
	.sns__item:not(:last-child) { margin-right: 20px; }
	.address { margin-bottom: 8px; }
	.tel { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; margin-bottom: 0; }
	.tel__label { padding: 2px 4px; }
	.time { display: inline; margin-left: 1em; }
	.footer-logo { margin-top: 0; margin-bottom: 6px; width: 207px; }
	.footer-logo img { width: 100%; }
	.copyright { font-size: .85rem; padding: 24px 0; }
}


/* Modal */
.modal { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.8); display: none; z-index: 5000; }
.modal__inner { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.modal__content { width: 100%; height: 80vh; display: flex; align-items: center; justify-content: center; }
.modal__close { position: absolute; top: 0; right: 0; border: none; width: 60px; height: 60px; letter-spacing: 0.2em; font-weight: bold; background: none; color: #fff; transition: 0.4s; }
.modal__close:hover,
.modal__close:focus { background: none; }
.modal__close span { display: block; width: 30px; height: 3px; background: #fff; position: absolute; top: 50%; left: 50%; }
.modal__close span:nth-child(1) { -webkit-transform: translate(-50%, -50%) rotate(45deg); -ms-transform: translate(-50%, -50%) rotate(45deg); transform: translate(-50%, -50%) rotate(45deg); }
.modal__close span:nth-child(2) { -webkit-transform: translate(-50%, -50%) rotate(-45deg); -ms-transform: translate(-50%, -50%) rotate(-45deg); transform: translate(-50%, -50%) rotate(-45deg); }

@media screen and (min-width: 681px) {
	.modal__content { max-width: 60%; max-height: 90%; }
	.modal__close { width: 100px; height: 100px; }
	.modal__close span { width: 60px; }
}


.youtube-wrap { position: relative; }
.youtube-wrap iframe { display: none; }
.youtube-wrap iframe.is-playing { display: block; }

/* Slider */
.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 { 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 img { display: block; }
.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; }
/* Slider */


/* Icons */
/* Arrows */
/* Dots */
.slick-dots { list-style: none; text-align: center; margin: 0 0; width: 100%; font-size: 0; display: flex; align-items: center; justify-content: center; margin-top: 20px; }
.slick-dots li { position: relative; display: inline-block; height: 8px; width: 8px; margin: 0 4px; border-radius: 50%; padding: 0; cursor: pointer; overflow: hidden; }
.slick-dots li button { border: 0; display: block; height: 100%; width: 100%; outline: none; line-height: 0px; font-size: 0px; color: transparent; padding: 0; cursor: pointer; background: #e1e1e1; border-radius: 50%; }
.slick-dots li button:hover,
.slick-dots li button:focus { outline: none; }
.slick-dots li.slick-active button { background: #bbbbbb; }





.bg-navy { background: #1F3B8A; position: relative; }
/*.bg-navy::before { content: ""; width: 100%; height: 100%; display: block; background: url("https://www.kwangaku-oc.com/img/pattern_stripe.svg") repeat center top/102px 102px; position: absolute; top: 0; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); }*/


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

.l-sp-wrapper {
	width: 100%;
}

.faculty-list-wrap {
	display: flex;
	justify-content: center;
	padding: 35px 45px;
}

.faculty-list {
	max-width: 490px;
	padding-left: 60px;
	width: 50%;
}

.faculty-list:nth-child(even) {
	margin-left: 30px;
}

.faculty-list-note {
	padding: 0 45px 35px 105px;
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
}

.fv__head {
	padding-top: 0;
	margin-bottom: 0;
}

.fv__head__main {
	font-size: 8.5rem;
}

.fv__head__main span { font: 700 10.5rem "Roboto Condensed", sans-serif; }

.fv__head__sub { margin-top: -25px; }
.schedule__item { padding: 40px 0px 40px; }
.schedule__item:last-of-type { padding: 40px 0px 0; }
.schedule__area__flexpc .schedule__item:last-of-type { padding: 0; }
.schedule__dates__item {
	width: 23.3%;
	margin-right: calc(6.8% / 3);
}

.schedule__dates__item:not(:nth-child(3n)) { margin-right: calc(6.8% / 3); }
.schedule__dates--halfpc { justify-content: space-between; }
.schedule__dates--halfpc .schedule__dates__item { width: 410px; margin-right: 0; }

.schedule__dates__item:nth-child(4n) {
	margin-right: 0;
}

}

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

.feature:nth-child(odd) .feature__content:before { /* 1090px以上 */
	left: -54%;
}

.feature__main { /* 1090px以上 */
	width: 39%;
}

.feature__content:before { /* 1090px以上 */
	right: -54%;
}

.feature__image { /* 1090px以上 */
	width: 55%;
}


}

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

.sp-only { /* sp */
	display: block !important;
}

.sp-only-2 { /* sp */
	display: inline-block !important;
}

.pc-only { /* sp */
	display: none !important;
}

.pc-only-2 { /* sp */
	display: none !important;
}

.schedule__dates__item { /* sp */
}

.schedule__dates__item:nth-child(odd) {
	margin-right: 5%;
}

}

