@charset "utf-8";
/* --------------------------------------------------
	reset
-------------------------------------------------- */
* { margin: 0; padding: 0; box-sizing: border-box;}

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,
form, 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%;
	vertical-align: baseline;
}

img{ vertical-align: bottom;}
ul{ list-style: none;}
ul li{ list-style-type: none;}
figure { margin: 0;}


/* =============================================================================
   Forms
   ========================================================================== */
form { margin: 0;}
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em;}
legend { border: 0;}
button,
input,
select,
textarea { font-size: 100%; margin: 0; vertical-align: baseline;}
button,
input { line-height: normal;}
button,
input[type="button"], 
input[type="reset"], 
input[type="submit"] { cursor: pointer; -webkit-appearance: button; }
input[type="checkbox"],
input[type="radio"] { box-sizing: border-box; padding: 0;}
input[type="search"] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none;}

button::-moz-focus-inner,
input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top;}
input[type="search"]:focus { outline: none;}

table {
    border-collapse: collapse;
    border-spacing: 0;
}


/*	Slider */
.slick-slider { position: relative; display: block; box-sizing: border-box;
-webkit-user-select: none;
   -moz-user-select: none;
    -ms-user-select: none;
        user-select: none;

-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
  	  touch-action: pan-y;
-webkit-tap-highlight-color: transparent;
}

.slick-list { position: relative; display: block; overflow: hidden; 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);
   -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
     -o-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
}
.slick-track { position: relative; top: 0; left: 0; display: block;}
.slick-track:before,
.slick-track:after { display: table; content: '';}
.slick-track:after { clear: both;}
.slick-loading .slick-track { visibility: hidden;}
.slick-slide { display: none; float: left; height: 100%; min-height: 1px;}
[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;}
.slick-arrow.slick-hidden { display: none;}

.slick-arrow{ width: 50px; height: 50px; position: absolute; top: 50%; transform: translateY(-50%);
 background: #589bb9; border: none; border-radius: 50%; z-index: 100;
 text-indent: -9999em; outline: none;
}
.slick-prev { left: 0px;}
.slick-next { right: 0px;}
.slick-arrow:before{ position: absolute; content: ''; display: block; width: 0px; height: 0px; top: 50%; transform: translateY(-50%);}
.slick-prev:before { left: 30%; border: solid 9px transparent; border-right: solid 16px #fff; border-left: 0;}
.slick-next:before { right: 30%; border: solid 9px transparent; border-left: solid 16px #fff; border-right: 0;}
.slick-arrow:hover{ opacity: 0.85;}
@media (max-width: 481px) {
	.slick-arrow{ width: 30px; height: 30px;}
	.slick-prev:before { border: solid 4px transparent; border-right: solid 9px #fff; border-left: 0;}
	.slick-next:before { border: solid 4px transparent; border-left: solid 9px #fff; border-right: 0;}
}


/* Magnific Popup CSS */
.mfp-bg { position: fixed; top: 0; left: 0; z-index: 1042;
 width: 100%; height: 100%; overflow: hidden; background: #1875b6; opacity: 0.65;
}
.mfp-wrap { position: fixed; top: 0; left: 0;  z-index: 1043; width: 100%; height: 100%; outline: none !important; -webkit-backface-visibility: hidden;}
.mfp-container { text-align: center; position: absolute; left: 0; top: 0; width: 100%; height: 100%; padding: 0 8px; box-sizing: border-box;}

.mfp-container:before { content: ''; display: inline-block; height: 100%; vertical-align: middle;}
.mfp-align-top .mfp-container:before { display: none; }
.mfp-content { position: relative; display: inline-block; vertical-align: middle; margin: 0 auto; text-align: left; z-index: 1045;}
.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content { width: 100%; cursor: auto;}
.mfp-ajax-cur { cursor: progress; }
.mfp-zoom-out-cur,
.mfp-zoom-out-cur .mfp-image-holder .mfp-close { cursor: -moz-zoom-out; cursor: -webkit-zoom-out; cursor: zoom-out;}
.mfp-zoom { cursor: pointer; cursor: -webkit-zoom-in;  cursor: -moz-zoom-in; cursor: zoom-in;}
.mfp-auto-cursor .mfp-content { cursor: auto; }

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter { -webkit-user-select: none; -moz-user-select: none; user-select: none; }
.mfp-loading.mfp-figure { display: none;}
.mfp-hide { display: none !important; }

.mfp-preloader {position: absolute; top: 50%;left: 8px; right: 8px; width: auto; margin-top: -0.8em; z-index: 1044;
 color: #CCC; text-align: center;
}
.mfp-preloader a { color: #CCC;}
.mfp-preloader a:hover { color: #FFF; }

.mfp-s-ready .mfp-preloader { display: none; }
.mfp-s-error .mfp-content { display: none; }

button.mfp-close,
button.mfp-arrow { display: block; padding: 0; outline: none; overflow: visible; cursor: pointer; border: 0;
  -webkit-appearance: none; z-index: 1046; box-shadow: none; touch-action: manipulation; }

button::-moz-focus-inner { padding: 0; border: 0;}
.mfp-close { width: 40px; height: 40px; line-height: 40px; background: #589bb9; border-radius: 50%;
 position: absolute; right: -20px; top: -20px; opacity: 1;
 color: #FFF; font-style: normal; font-size: 36px; font-family: Arial, Baskerville, monospace; text-align: center; text-decoration: none;
}
.mfp-close:hover,
.mfp-close:focus { background: #589bb9;}

.mfp-counter { position: absolute; top: 0; right: 0; color: #CCC; font-size: 12px; line-height: 18px; white-space: nowrap;}

.mfp-arrow { width: 80px; height: 80px; position: absolute; top: 50%; margin: 0; margin-top: -55px; padding: 0; opacity: 1; -webkit-tap-highlight-color: transparent; }
.mfp-arrow:active { margin-top: -54px;}
.mfp-arrow:hover,
.mfp-arrow:focus { opacity: 0.8; }
.mfp-arrow:before,
.mfp-arrow:after { content: ''; display: block; width: 0; height: 0;
 position: absolute; left: 0; top: 0; margin-top: 15px; margin-left: 18px; border: medium inset transparent;
}
.mfp-arrow:after { border-top-width: 18px; border-bottom-width: 18px; top: 8px;}
.mfp-arrow:before{ border-top-width: 26px; border-bottom-width: 26px; opacity: 0.7;}

.mfp-arrow-left { left: 50%; transform: translateX(-480px);}
.mfp-arrow-left:after { margin-left: 24px; border-right: 32px solid #FFF;}
.mfp-arrow-left:before { margin-left: 18px; border-right: 42px solid #3F3F3F;}

.mfp-arrow-right { right: 50%; transform: translateX(480px);}
.mfp-arrow-right:after { margin-left: 23px; border-left: 28px solid #FFF;}
.mfp-arrow-right:before { border-left: 42px solid #3F3F3F; }

.mfp-iframe-holder { padding-top: 40px; padding-bottom: 40px;}
.mfp-iframe-holder .mfp-content { width: 100%; max-width: 900px; line-height: 0;}
.mfp-iframe-holder .mfp-close { top: -40px;}

.mfp-iframe-scaler { width: 100%; height: 0; overflow: hidden; padding-top: 56.25%;}
.mfp-iframe-scaler iframe { display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); background: #000; }

/* Main image in popup */
img.mfp-img { display: block; width: auto; max-width: 100%; height: auto; line-height: 0; box-sizing: border-box; margin: 0 auto; padding: 40px 0 40px;}

/* The shadow behind the image */
.mfp-figure { line-height: 0; }
.mfp-figure:after { content: ''; display: block; width: auto; height: auto;
 position: absolute; left: 0; top: 40px; bottom: 40px; right: 0; z-index: -1;
 box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); background: #444;
}
.mfp-figure small { display: block; color: #BDBDBD; font-size: 12px; line-height: 14px; }
.mfp-figure figure { margin: 0; }
.mfp-bottom-bar { width: 100%; margin-top: -36px; position: absolute; top: 100%; left: 0; cursor: auto;}
.mfp-title {  padding-right: 36px; color: #F3F3F3; text-align: left; line-height: 18px; word-wrap: break-word;}
.mfp-image-holder .mfp-content { max-width: 100%;}
.mfp-gallery .mfp-image-holder .mfp-figure { cursor: pointer;}

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
	/*		Remove all paddings around the image on small screen		*/
	.mfp-img-mobile .mfp-image-holder { padding-left: 0; padding-right: 0; }
	.mfp-img-mobile img.mfp-img { padding: 0; }
	.mfp-img-mobile .mfp-figure:after { top: 0; bottom: 0; }
	.mfp-img-mobile .mfp-figure small { display: inline; margin-left: 5px; }
	.mfp-img-mobile .mfp-bottom-bar { position: fixed; top: auto; bottom: 0; background: rgba(0, 0, 0, 0.6); margin: 0; padding: 3px 5px;}
	.mfp-img-mobile .mfp-bottom-bar:empty { padding: 0; }
	.mfp-img-mobile .mfp-counter { right: 5px; top: 3px;}
	.mfp-img-mobile .mfp-close { position: fixed; top: 0; right: 0; width: 35px; height: 35px; padding: 0; line-height: 35px; background: rgba(0, 0, 0, 0.6); text-align: center; }
}
@media all and (max-width: 900px) {
	.mfp-arrow { width: 40px; height: 40px; -webkit-transform: scale(0.5); transform: scale(0.5);}
	.mfp-arrow-left { left: 6px; -webkit-transform-origin: 0; transform-origin: 0;}
	.mfp-arrow-left:after { margin-left: 6px;}
	.mfp-arrow-left:before{ margin-left: 0px;}
	.mfp-arrow-right{ right: 10px; -webkit-transform-origin: 100%; transform-origin: 100%;}
	.mfp-arrow-right:after { margin-left: 4px;}
	.mfp-arrow-right:before{ margin-left: 0px;}
	.mfp-container { padding-left: 6px; padding-right: 6px;}
}




/*		font-style
-------------------------------------------------- */
body {
	font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;
/*	font-family: "游ゴシック","Yu Gothic","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3", "メイリオ","Meiryo",sans-serif;*/
	font-size: 16px;
	*font-size:small;
	*font:x-small;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
input, textarea {font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;}

.eng { font-family: 'Roboto', sans-serif;}

.min {font-family: "游明朝", "Yu Mincho", "YuMincho", serif;}

::selection{ background: #feffaf; color: #000;}
::-moz-selection{ background: #feffaf; color: #000;}


a { color:#002159; text-decoration: underline;}
a:link   { color:#002159;}
a:visited{ color:#002159;}
a:hover  { color:#002159;}
a:active { color:#002159;}

em{ font-style: normal;}


/*		utility
-------------------------------------------------- */
.cf{ clear: both;}
.cf:after{ content: ''; display: block; clear: both;}

@media (max-width: 641px) {
}



/*		Header
-------------------------------------------------- */
#hd { position: absolute; left: 0px; top: 0px; width: 100%;}
#hd h1 { width: 94%; max-width: 1200px; margin: 0 auto; padding: 20px 0 0;}
@media (max-width: 801px) {
	#hd h1 { display: none;}
}

/*		Footer
-------------------------------------------------- */
.pagetop { position: fixed; right: 40px; bottom: 40px; width: 60px; height: 60px;}
.pagetop a { position: relative; display: block; width: 100%; height: 100%; background: #589bb9; border-radius: 50%;}
.pagetop a:before { content: ''; display: block; width: 20px; height: 20px; border-top: solid 3px #fff; border-right: solid 3px #fff;
 position: absolute; left: 30%; top: 40%; transform: rotate(-45deg);
}
.pagetop a:hover{ opacity: 0.85;}
#ft { padding-bottom: 100px; background: #589bb9;}
#ft .inner-ft { width: 94%; margin: 0 auto; padding: 40px 0 25px;}
#ft ul { margin-bottom: 30px; text-align: center;}
#ft ul li { display: inline-block; font-size: 16px; font-weight: 700;}
#ft ul li a { color: #fff; text-decoration: none;}
#ft ul li a:hover { text-decoration: underline;}
#ft p { color: #fff; font-size: 12px; font-weight: 700; text-align: center;}
@media (max-width: 481px) {
	#ft { padding-bottom: 80px;}
	.pagetop { right: 15px; bottom: 20px; width: 40px; height: 40px;}
	.pagetop a:before { width: 12px; height: 12px;}
}

/*		Contents
-------------------------------------------------- */
.kv { background: url(./img/bg-kv.jpg) no-repeat 50% 50% / cover;}
.kv .inner-kv{ width: 92%; max-width: 1200px; margin: 0 auto;}
.kv h2 { text-align: center;}
.kv h2 img { width: 100%;}
.kv h2 img.sp { display:none;}
@media (max-width: 801px) {
	.kv .inner-kv{ width: 100%;}
	.kv h2 img.pc { display:none;}
	.kv h2 img.sp { display:block;}
}

.bnr .inner { width: 94%; max-width: 1300px; margin: 0 auto; padding: 50px 0;}
.bnr ul { font-size: 0; text-align: center;}
.bnr ul li { display: inline-block; width: 25%; vertical-align: top;}
.bnr ul li a { display: block; width: 88%; max-width: 280px; margin: 0 auto; text-decoration: none;}
.bnr ul li dl { width: 100%;}
.bnr ul li dl dt { margin: 0 auto 20px;}
.bnr ul li dl dt a:hover{ opacity: 0.85;}
.bnr ul li dl dt img{ width: 100%;}
.bnr ul li dl dd { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; color: #000; font-size: 14px; text-align: justify;}
.bnr ul li a:hover dl dt { opacity: 0.85;}
.bnr ul li a:hover dl dd { text-decoration: underline;}

@media (max-width: 1001px) {
	.bnr ul li dl dd { font-size: 13px;}
}
@media (max-width: 801px) {
	.bnr .inner { padding: 40px 0 20px;}
	.bnr ul li { width: 50%; margin: 0 auto 20px;}
}
@media (max-width: 481px) {
	.bnr ul li dl dt { margin: 0 auto 8px;}
	.bnr ul li dl dd { font-size: 12px;}
}


.btn { width: 80%; max-width: 720px; margin: 0 auto;}
.btn a { display: block; padding: 18px 0 15px; background: #fc7a1e; border-radius: 5px; box-shadow: 0 4px 0 #c2601b;
 color: #fff; font-size: 26px; font-weight: 700; text-align: center; text-decoration: none;
}
.btn a.line { padding: 15px 0; background: #00c300; box-shadow: 0 4px 0 #009100;}
.btn a.line img{ width: 80%; max-width: 440px;}
.btn a span { display: block; font-size: 36px;}
.btn a:hover{ opacity: 0.9;}
@media (max-width: 1001px) {
	.btn a { font-size: 20px;}
	.btn a span { font-size: 30px;}
}
@media (max-width: 641px) {
	.btn a { padding: 15px 0 12px; font-size: 18px;}
	.btn a span { font-size: 24px;}
	.btn a.line { padding: 10px 0;}
}
@media (max-width: 481px) {
	.btn a { padding: 12px 0 8px; font-size: 15px;}
	.btn a span { font-size: 21px;}
	.btn a.line { padding: 8px 0;}
}

.fixed { position: fixed; left: 0; bottom: 0; width: 100%; padding: 15px 0; background: rgba(255,255,255,.9); }
.fixed .btn { max-width: 500px;}
.fixed .btn a{ padding: 10px 0 8px; font-size: 18px; line-height: 1.4;}
.fixed .btn a span{ font-size: 24px;}
@media (max-width: 481px) {
	.fixed { padding: 10px 0 20px;}
	.fixed .btn { width: 70%;}
	.fixed .btn a{ padding: 8px 0 6px; font-size: 13px;}
	.fixed .btn a span{ font-size: 18px;}
}

.stl { margin: 0 auto 40px;}
.stl h2 { margin-bottom: 15px; font-size: 38px; font-weight: 900; letter-spacing: 0.075rem; line-height: 1.4; text-align: center;}
.stl h2 span { color: #589bb9;}
.stl h2 span em { margin: 0 4px; font-size: 48px; line-height: 1;}
.stl h2 br { display: none;}
.stl p { font-family: 'Noto Sans JP', sans-serif; font-size: 14px; font-weight: 900; text-align: center;}
.maker { background: linear-gradient(transparent 60%, #f1e1a4 60%);}
@media (max-width: 1001px) {
	.stl h2 br { display: block;}
}
@media (max-width: 801px) {
	.stl h2 { font-size: 30px;}
	.stl h2 span em { font-size: 36px;}
}
@media (max-width: 481px) {
	.stl { margin: 0 auto 20px;}
	.stl h2 { margin-bottom: 10px; font-size: 20px;}
	.stl h2 span em { font-size: 24px;}
}

#cv-1 { background: url(./img/bg-ptn-1.jpg) no-repeat 50% 50% / cover;}
#cv-1 .inner { padding: 60px 0;}
#cv-1 p { color: #fff; font-weight: 700; text-align: center;}
#cv-1 p span { color: #caff8a;}
#cv-1 p.read { margin-bottom: 10px; font-size: 33px; letter-spacing: 0.05rem; line-height: 1.6;}
#cv-1 p.read em { margin: 0 5px; font-size: 45px; line-height: 1;}
#cv-1 p br.sp { display: none;}
#cv-1 p.present { margin-bottom: 30px;}
#cv-1 p.present img { width: 92%; max-width: 830px;}
#cv-1 .btn:before { content: ''; display: block; width: 0; height: 0; margin: 0 auto 30px;
 border: solid 140px transparent; border-top: solid 28px rgba(255,255,255,0.7); border-bottom: 0;
}
@media (max-width: 1001px) {
	#cv-1 p.read { font-size: 26px;}
	#cv-1 p.present { font-size: 32px;}
}
@media (max-width: 641px) {
	#cv-1 p br.sp { display: block;}
	#cv-1 p.read em { margin: 0 5px; font-size: 36px;}
	#cv-1 p.present { margin-bottom: 20px; font-size: 30px;}
	#cv-1 .btn:before { margin: 0 auto 20px; border-width: 20px 60px 0 60px;}
}
@media (max-width: 481px) {
	#cv-1 .inner { padding: 40px 0;}
	#cv-1 p.read { font-size: 18px;}
	#cv-1 p.read em { font-size: 26px;}
	#cv-1 p.present { margin-bottom: 15px; font-size: 21px;}
	#cv-1 .btn:before { border-width: 20px 40px 0 40px;}
}


#about .inner-sct { width: 92%; margin: 0 auto; padding: 90px 0 80px;}
#about p.lead { margin-bottom: 40px; color: #fc7a1e; font-size: 32px; font-weight: 700; line-height: 1.4; text-align: center;}
#about p.lead span { font-size: 34px;}
#about p.lead br { display: none;}
#about .graph { width: 92%; max-width: 1100px; margin: 0 auto; padding: 40px 0px 20px; box-shadow: 0 0 6px #aaa; border-radius: 10px;}
#about .graph p { margin-bottom: 40px; color: #3a3a3a; font-size: 25px; font-weight: 700; text-align: center;}
#about .graph figure { width: 92%; max-width: 960px; margin: 0 auto;}
#about .graph figure img { width: 100%; margin: 0 auto 25px;}
#about .graph figure figcaption { color: #3a3a3a; font-size: 14px; text-align: right;}
@media (max-width: 1001px) {
	#about p.lead { font-size: 28px;}
	#about p.lead br { display: block;}
	#about p.lead br.sp { display: none;}
	#about .graph p { font-size: 20px;}
}
@media (max-width: 641px) {
	#about p.lead { margin-bottom: 20px;}
	#about p.lead br.sp { display: block;}
	#about .graph { padding: 30px 0 20px;}
	#about .graph p { margin-bottom: 20px; font-size: 18px;}
	#about .graph p span { display: block;}
	#about .graph figure img { margin: 0 auto 15px;}
}
@media (max-width: 481px) {
	#about .inner-sct { padding: 60px 0;}
	#about p.lead { font-size: 21px;}
	#about p.lead span { font-size: 24px;}
	#about .graph p { font-size: 16px;}
	#about .graph figure figcaption { font-size: 11px;}
}

#point { background: #f6f4ec;}
#point .inner-sct { width: 92%; margin: 0 auto; padding: 70px 0;}
#point ul { width: 94%; max-width: 1080px; margin: 0 auto; border-top: dashed 1px #589bb9;}
#point ul li { padding: 35px 0; border-bottom: dashed 1px #589bb9;}
#point ul li dl { display: table; width: 96%; margin: 0 auto;}
#point ul li dl dt,
#point ul li dl dd { display: table-cell; width: 50%; vertical-align: middle;}
#point ul li dl dt img { width: 94%; max-width: 490px;}
#point ul li dl dt img.sp { display: none;}
#point ul li dl dd { font-size: 23px; letter-spacing: 0.1rem;}
#point ul li dl dd span { font-weight: 700;}
@media (max-width: 1001px) {
	#point ul li dl dd { font-size: 18px;}
}
@media (max-width: 801px) {
	#point ul li dl dt,
	#point ul li dl dd { display: block; width: 100%; max-width: 560px;}
	#point ul li dl dt { margin: 0 auto 20px;}
	#point ul li dl dt img.pc { display: none;}
	#point ul li dl dt img.sp { display: block; width: 100%; max-width: 100%;}
	#point ul li dl dd { margin: 0 auto;}
}
@media (max-width: 481px) {
	#point .inner-sct { padding: 40px 0;}
	#point ul li { padding: 25px 0;}
	#point ul li dl dd { font-size: 14px;}
}

#movie .inner-sct { width: 92%; margin: 0 auto; padding: 80px 0;}
#movie .youtube { width: 92%; max-width: 850px; margin: 0 auto;}
#movie .youtube div{ position: relative; width: 100%; padding-top: 56.25%;}
#movie .youtube iframe { position: absolute; left: 0; top: 0; right: 0; bottom: 0; width: 100%; height: 100%;}
@media (max-width: 481px) {
	#movie .inner-sct { padding: 30px 0 50px;}
}


#teacher { background: #f6f4ec;}
#teacher .inner-sct { width: 92%; margin: 0 auto; padding: 80px 0 60px;}
#teacher .teacher-ctn{ width: 100%; max-width: 1200px; margin: 0 auto;}
#teacher .slide{ margin: 0 auto 40px;}
#teacher .slide:last-child{ margin: 0 auto;}
#teacher .box { display: flex; width: 94%; max-width: 1100px; margin: 0px auto; padding: 60px 50px;
 background: #fff; box-shadow: 0 0 6px #aaa; border-radius: 10px;
}
#teacher .box.no-badge .pht { width: 32%;}
#teacher .box.no-badge .txt { width: 78%; padding-left: 50px;}
#teacher .box.has-badge .pht { width: 32%;}
#teacher .box.has-badge .txt { width: 53%; padding: 0 50px;}
#teacher .box.has-badge .badge { width: 20%;}

#teacher .box .btn-ch a { display: block; padding: 12px 0; background: #f00; border-radius: 6px; box-shadow: 0 4px 0 #cf0505;
 color: #fff; font-size: 16px; font-weight: 700; line-height: 1.4; text-align: center;
}
#teacher .box .btn-ch a span { display: inline-block; vertical-align: middle;}
#teacher .box .btn-ch a:after{ content: ''; display: inline-block; width: 0; height: 0; margin-left: 8px; vertical-align: middle;
 border: solid 7px transparent; border-left: solid 12px #fff; border-right: 0;
}
#teacher .box .btn-ch a:hover{ opacity: 0.85;}

#teacher .box .pht figure { width: 100%; max-width: 315px; margin: 0 auto 30px;}
#teacher .box .pht figure img{ width: 100%;}
#teacher .box .txt h3 { margin-bottom: 20px; padding-bottom: 18px; border-bottom: dashed 1px #d7d5cb; color: #3a3a3a; font-size: 28px;}
#teacher .box .txt p { margin-bottom: 25px; font-size: 14px;}
#teacher .box .txt p.record { font-size: 18px; font-weight: 700;}
#teacher .box .txt p.read { font-size: 16px;}
#teacher .box .txt dl { font-size: 14px;}
#teacher .box .txt dl.prof{ font-size: 16px;}
#teacher .box .txt dl dd { position: relative; padding-left: 65px;}
#teacher .box .txt dl dd span { position: absolute; left: 0;}
#teacher .box .badge .btn-ch{ display: none;}
#teacher .box .badge p { text-align: center;}
#teacher .box .badge p img{ width: 100%; max-width: 192px;}
#teacher .box .badge p img.sp{ display: none;}
@media (max-width: 1201px) {
	#teacher .box { padding: 50px 40px;}
	#teacher .box.has-badge .txt { padding: 0 30px;}
	#teacher .box .btn-ch a { font-size: 14px;}
	#teacher .box .txt p { font-size: 13px;}
	#teacher .box .txt p.record { font-size: 16px;}
}
@media (max-width: 1001px) {
	#teacher .box { padding: 30px;}
	#teacher .box.has-badge .txt { padding: 0 20px;}
	#teacher .box .btn-ch a { font-size: 13px;}
}
@media (max-width: 801px) {
	#teacher .box { display: block;}
	#teacher .box.no-badge .pht { width: 100%;}
	#teacher .box.no-badge .txt { width: 100%; padding: 0px;}
	#teacher .box.has-badge .pht { width: 100%;}
	#teacher .box.has-badge .txt { width: 100%; padding: 0px;}
	#teacher .box.has-badge .badge { width: 100%;}

	#teacher .box .pht .btn-ch{ display: none;}
	#teacher .box .pht figure { margin: 0 auto 20px;}
	#teacher .box .txt h3 { text-align: center;}
	#teacher .box .badge .btn-ch{ display: block; width: 92%; margin: 0 auto;}
	#teacher .box .badge p { margin: 15px 0;}
	#teacher .box .badge p img.pc{ display: none;}
	#teacher .box .badge p img.sp{ display: block; width: 80%; max-width: 410px; margin: 0 auto;}
	#teacher .box .txt p.read { font-size: 14px;}
	#teacher .box .txt dl.prof{ font-size: 14px;}
}
@media (max-width: 481px) {
	#teacher .inner-sct { padding: 40px 0;}
	#teacher .box { padding: 25px 18px;}
	#teacher .box .pht figure { width: 60%; margin: 0 auto 10px;}
	#teacher .box .txt h3 { margin-bottom: 10px; padding-bottom: 8px; font-size: 18px;}
	#teacher .box .txt p { margin-bottom: 10px; font-size: 12px;}
	#teacher .box .txt p.record { font-size: 10px;}
	#teacher .box .txt p.record span{ font-size: 13px;}
	#teacher .box .txt p.read { font-size: 12px;}
	#teacher .box .txt dl { font-size: 12px;}
	#teacher .box .txt dl.prof{ font-size: 12px;}
	#teacher .box .txt dl dd { padding-left: 55px;}
	#teacher .box .btn-ch a { padding: 8px 0; font-size: 12px;}
	#teacher .box .btn-ch a:after{ margin-left: 12px; border-width: 6px 0 6px 10px;}
}

#cv-2 { background: url(./img/bg-ptn-2.jpg) no-repeat 50% 50% / cover;}
#cv-2 .inner { padding: 60px 0;}
#cv-2 h2 { position: relative; margin-bottom: 25px; color: #fff; font-size: 36px; line-height: 1.4; text-align: center;}
#cv-2 h2 img{ margin-right: 8px;}
#cv-2 h2 span { color: #caff8a;}
#cv-2 h2 em { font-size: 45px; line-height: 1;}

#cv-2 p { margin-bottom: 20px; color: #fff; font-size: 26px; font-weight: 700; text-align: center;}
#cv-2 p span { display: inline-block; margin: 0 20px; vertical-align: middle;}
#cv-2 p br { display: none;}
#cv-2 p:before,
#cv-2 p:after { content: ''; display: inline-block; width: 3px; height: 30px; background: #fff;
 position: relative; vertical-align: middle;
}
#cv-2 p:before{ transform: rotate(-20deg);}
#cv-2 p:after { transform: rotate(20deg);}
#cv-2 ul { width: 92%; max-width: 1000px; margin: 0 auto; font-size: 0; text-align: center;}
#cv-2 ul li { display: inline-block; width: 33%; margin: 0 auto;}
#cv-2 ul li a { display: block; width: 92%; max-width: 280px; margin: 0 auto; text-decoration: none;}
#cv-2 ul li dl { width: 100%;}
#cv-2 ul li dl dt { margin-bottom: 5px;}
#cv-2 ul li dl dt img{ width: 100%;}
#cv-2 ul li dl dd.thumb { margin: 0 auto 20px; background: #fff;}
#cv-2 ul li dl dd.thumb img{ width: 100%;}
#cv-2 ul li dl dd.txt { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
 color: #fff; font-size: 16px; text-align: justify;
}
#cv-2 ul li a:hover dl dd.thumb { opacity: 0.85;}
#cv-2 ul li a:hover dl dd.txt { text-decoration: underline;}
@media (max-width: 801px) {
	#cv-2 h2 { font-size: 30px;}
	#cv-2 h2 img{ width: 180px;}
	#cv-2 h2 em { font-size: 36px;}
	#cv-2 p { font-size: 20px; line-height: 1.4;}
	#cv-2 p br { display: block;}
	#cv-2 p:before,
	#cv-2 p:after { height: 50px;}
	#cv-2 ul li dl dd.txt { font-size: 14px;}
}
@media (max-width:641px) {
	#cv-2 h2 { font-size: 24px;}
	#cv-2 h2 img{ position: absolute; left: 15%; top:-20px; width: 120px;}
	#cv-2 h2 span{ display: block;}
	#cv-2 h2 em { font-size: 30px;}
	#cv-2 ul li { display: block; width: 80%; margin: 0 auto 20px;}
	#cv-2 ul li dl dt img{ width: 75%;}
}
@media (max-width: 481px) {
	#cv-2 h2 { margin-bottom: 20px; font-size: 20px;}
	#cv-2 h2 img{ position: absolute; left: 10%; top:-35px; width: 100px;}
	#cv-2 p { font-size: 18px;}
	#cv-2 p span { margin: 0 10px;}
	#cv-2 p:before,
	#cv-2 p:after { height: 40px;}
}

#suitable { background: #c5e3fd url(./img/bg-suitable.jpg) no-repeat 50% 100% / cover;}
#suitable .inner-sct { width: 92%; margin: 0 auto; padding: 90px 0;}
#suitable ul { width: 94%%; max-width: 1000px; margin: 0 auto; font-size: 0; text-align: center;}
#suitable ul li { display: inline-block; width: 33%; margin: 0 auto 45px; vertical-align: top;}
#suitable ul li dl { width: 92%; margin: 0 auto; padding-bottom: 20px; border-radius: 8px; box-shadow: 0 0 6px #aaa;}
#suitable ul li dl dt { position: relative; padding: 70px 0 40px;}
#suitable ul li dl dt span { position: absolute; left: 10px; top: 0; font-size: 120px; font-style: italic; font-weight: 700; line-height: 1;}
#suitable ul li dl dd { min-height: 80px; font-size: 22px; font-weight: 700;}
#suitable ul li dl dd.row { padding-top: 20px;}

#suitable ul li:nth-child(odd) dl { background: rgba(255,255,255,0.8);}
#suitable ul li:nth-child(odd) dl dt span{ color: #d1e8f4;}
#suitable ul li:nth-child(even) dl { background: rgba(240,240,250,0.8);}
#suitable ul li:nth-child(even) dl dt span{ color: #fbfcfe;}

#suitable p { margin-bottom: 10px; font-size: 25px; font-weight: 700; text-align: center;}
#suitable p span{ color: #fc7a1e; font-size: 32px;}
#suitable p br.sp { display: none;}
#suitable p.note { margin-bottom: 50px; font-size: 18px;}
@media (max-width: 801px) {
	#suitable { background: #c5e3fd url(./img/bg-suitable-sp.jpg) no-repeat 50% 100% / cover;}
	#suitable .inner-sct { width: 92%; margin: 0 auto; padding: 60px 0;}
	#suitable ul li { width: 50%; margin: 0 auto 20px;}

	#suitable ul li:nth-child(3n+1) dl { background: rgba(255,255,255,0.8);}
	#suitable ul li:nth-child(3n+1) dl dt span{ color: #d1e8f4;}
	#suitable ul li:nth-child(3n) dl { background: rgba(240,240,250,0.8);}
	#suitable ul li:nth-child(3n) dl dt span{ color: #fbfcfe;}
}
@media (max-width:641px) {
	#suitable ul li dl dt { position: relative; padding: 50px 0 15px;}
	#suitable ul li dl dt span{ top: 10px; font-size: 85px;}
	#suitable p { font-size: 21px;}
	#suitable p span{ font-size: 26px;}
	#suitable p.note { margin-bottom: 40px; font-size: 16px;}
}
@media (max-width: 481px) {
	#suitable ul li dl { padding-bottom: 10px;}
	#suitable ul li dl dt { padding: 40px 0 10px;}
	#suitable ul li dl dt span{ left: 5px; font-size: 60px;}
	#suitable ul li dl dt img{ width: 40%;}
	#suitable ul li dl dd { min-height: 50px; font-size: 15px;}
	#suitable ul li dl dd.row { padding-top: 14px;}
	#suitable p { font-size: 15px;}
	#suitable p span{ font-size: 18px;}
	#suitable p br.sp { display: block;}
	#suitable p.note { font-size: 14px;}
}

#flow .inner-sct { width: 92%; margin: 0 auto; padding: 80px 0;}
#flow ul.step { width: 92%; max-width: 1100px; margin: 0 auto 40px; font-size: 0; text-align: center;}
#flow ul.step li { position: relative; display: inline-block; width: 33%; margin: 0 auto; padding: 0 15px; vertical-align: top;}
#flow ul.step li:after{ content: ''; display: block; width: 0; height: 0;
 border: solid 30px transparent; border-left: solid 20px #c5dce7; border-right: 0;
 position: absolute; right: -10px; top: 50%; transform: translate(0,-50%);
}
#flow ul.step li:last-child:after{ content: none;}
#flow ul.step li dl { width: 94%; margin: 0 auto; border: solid 3px #dce8ee; border-radius: 10px;}
#flow ul.step li dl dt { position: relative; padding: 70px 0 20px;}
#flow ul.step li dl dt span { position: absolute; left: 0; top: 0; color: #c5dce7; font-size: 110px; font-style: italic; font-weight: 700; line-height: 1;}
#flow ul.step li dl dd { padding: 30px 0; font-size: 20px; font-weight: 700; line-height: 1.4; letter-spacing: 0.05rem;}
#flow ul.step li dl dd.row { padding: 10px 0 20px;}
#flow ul.step li dl dd span { display: block;}
#flow ul.step li br.sp { display: none;}
#flow ul.note { width: 90%; max-width: 940px; margin: 0 auto 50px;}
#flow ul.note li { margin-bottom: 8px; list-style-type: disc; font-size: 16px; letter-spacing: 0.05rem;}
@media (max-width: 1001px) {
	#flow ul.step li dl dd { padding: 18px 0; font-size: 15px;}
	#flow ul.step li dl dd.row { padding: 4px 0 10px;}
	#flow ul.note li { margin-bottom: 6px; font-size: 14px;}
}
@media (max-width: 801px) {
	#flow ul.step { margin: 0 auto 20px;}
	#flow ul.step li { display: block; width: 100%; padding: 0 0 40px;}
	#flow ul.step li:after{ border: solid 20px transparent; border-top: solid 15px #c5dce7; border-bottom: 0;
	 top: auto; bottom: 10px; left: 50%; transform: translate(-50%,0);
	}
	#flow ul.step li:last-child{ padding: 0;}
	#flow ul.step li dl { display: table;}
	#flow ul.step li dl dt,
	#flow ul.step li dl dd { display: table-cell; vertical-align: middle;}
	#flow ul.step li dl dt { width: 45%; padding: 30px; text-align: right;}
	#flow ul.step li dl dt span { left: 15px; font-size: 80px;}
	#flow ul.step li dl dd { width: 55%; text-align: left;}
	#flow ul.step li br.pc { display: none;}
	#flow ul.step li br.sp { display: block;}
	#flow ul.note li br { display: none;}
}
@media (max-width: 481px) {
	#flow .inner-sct { padding: 40px 0;}
	#flow ul.step { width: 100%;}
	#flow ul.step li { padding: 0 0 30px;}
	#flow ul.step li:after{ bottom: 5px;}
	#flow ul.step li dl dt { width: 42%; padding: 20px;}
	#flow ul.step li dl dt span { left: 8px; font-size: 50px;}
	#flow ul.step li dl dt img{ width: 60%;}
	#flow ul.step li dl dd {}
	#flow ul.step li dl dd { width: 58%; padding: 0; font-size: 14px;}
	#flow ul.step li dl dd.row { padding: 0;}
	#flow ul.note { margin: 0 auto 30px; padding-left: 20px;}
	#flow ul.note li { font-size: 13px; line-height: 1.5;}
}

#voice { background: #c5e3fd url(./img/bg-voice.jpg) no-repeat 50% 100% / cover;}
#voice .inner-sct { width: 92%; margin: 0 auto; padding: 80px 0;}
#voice .stl h2 { color: #fff;}
#voice .stl h2 span{ color: #caff8a;}
#voice .stl p { color: #fff;}
#voice .voice-ctn { width: 100%; max-width: 1200px; margin: 0 auto 20px; padding: 0 80px;}
#voice .voice-th { outline: none;}
#voice .voice-th a { display: block; width: 92%; margin: 0 auto; padding: 25px 0 20px; text-decoration: none; background: #fff; border-radius: 6px; box-shadow: 0 0 6px #aaa; outline: none;}
#voice .voice-th a dl { text-align: center;}
#voice .voice-th a dl dt { margin-bottom: 15px;}
#voice .voice-th a dl dt img { width: 90%; max-width: 175px; border-radius: 50%; margin: 0 auto;}
#voice .voice-th a dl dd.tit { margin-bottom: 15px; color: #589bb9; font-size: 20px; font-weight: 700; line-height: 1.5;}
#voice .voice-th a dl dd.name{ font-size: 16px;}
#voice .voice-th a:hover{ opacity: 0.85;}
#voice p.note { color: #fff; font-size: 14px; font-weight: 700; text-align: center;}
@media (max-width: 1201px) {
	#voice .voice-th a dl dd.tit { margin-bottom: 10px; font-size: 16px;}
	#voice .voice-th a dl dd.name{ font-size: 15px;}
}
@media (max-width: 1001px) {
	#voice .voice-ctn { padding: 0 60px;}
	#voice .voice-th a dl dd.tit { font-size: 15px;}
	#voice .voice-th a dl dd.name{ font-size: 13px;}
}
@media (max-width: 641px) {
	#voice .inner-sct { padding: 40px 0 50px;}
	#voice .voice-ctn { padding: 0 30px;}
}
@media (max-width: 481px) {
	#voice .inner-sct { width: 96%;}
	#voice .voice-th a { padding: 15px 0 10px;}
	#voice .voice-th a dl dt img{ width: 60%;}
	#voice .voice-th a dl dd.tit { margin-bottom: 5px; font-size: 12px;}
	#voice .voice-th a dl dd.tit br.pc{ display: none;}
	#voice .voice-th a dl dd.tit span{ display: block;}
	#voice .voice-th a dl dd.name{ font-size: 11px;}
	#voice .voice-th a dl dd.name span { display: block;}
	#voice p.note { font-size: 12px;}
}


#faq { background: #f6f4ec;}
#faq .inner-sct { width: 92%; margin: 0 auto; padding: 80px 0;}
#faq ul { width: 94%; max-width: 1000px; margin: 0 auto 60px;}
#faq ul li { margin: 0 auto 30px; background: #fff; border-radius: 8px; box-shadow: 0 0 10px #aaa;}
#faq ul li dl { padding: 0 40px;}
#faq ul li dl dt,
#faq ul li dl dd { position: relative;}
#faq ul li dl dt { padding: 35px 80px; font-size: 20px; font-weight: 700; cursor: pointer;}
#faq ul li dl dt:after { content: ''; display: block; width: 18px; height: 18px;
 border-top: solid 4px #589bb9; border-left: solid 4px #589bb9; transform: rotate(225deg); transform-origin: center;
 position: absolute; right: 10px; top: 40px; transition: 0.3s linear;
}
#faq ul li dl dt.open:after { transform: translateY(10px) rotate(45deg);}
#faq ul li dl dd { display: none; padding: 35px 0; padding-left: 80px; border-top: dashed 1px #b2b2b2; font-size: 16px;}
#faq ul li dl dt span.icn,
#faq ul li dl dd span.icn { position: absolute; left: 20px; top: 28px;
 font-family: 'Noto Sans JP', sans-serif; font-size: 36px; font-weight: 900; line-height: 1;
}
#faq ul li dl dt span.icn { color: #589bb9;}
#faq ul li dl dd span.icn { color: #cfa844;}
@media (max-width: 801px) {
	#faq ul li dl { padding: 0 30px;}
	#faq ul li dl dt { padding: 20px 60px; font-size: 18px;}
	#faq ul li dl dt:after { right: 0; top: 20px;}
	#faq ul li dl dd { padding: 20px 0; padding-left: 60px;}
	#faq ul li dl dt span.icn,
	#faq ul li dl dd span.icn { left: 10px; top: 12px;}
}
@media (max-width: 481px) {
	#faq .inner-sct { padding: 40px 0;}
	#faq ul { margin: 0 auto 30px;}
	#faq ul li { margin: 0 auto 20px;}
	#faq ul li dl { padding: 0 15px;}
	#faq ul li dl dt { padding: 10px 28px; font-size: 14px;}
	#faq ul li dl dt:after { width: 12px; height: 12px; border-width: 2px; top: 50%; margin-top: -10px;}
	#faq ul li dl dd { padding: 10px 0; padding-left: 40px; font-size: 13px;}
	#faq ul li dl dt span.icn,
	#faq ul li dl dd span.icn { left: 0px; top: 8px; font-size: 24px;}
}




#popup { display: none;}
.mfp-content .box { position: relative; width: 90%; max-width: 1000px; margin: 0 auto;}
.mfp-content .box .inner { display: flex; justify-content: space-between; width: 100%; padding: 40px; background: #fff; border-radius: 6px;}
.mfp-content .box .pht { width: 20%; max-width: 180px;}
.mfp-content .box .txt { width: 80%; padding-left: 30px;}
.mfp-content .box .pht figure { width: 100%;}
.mfp-content .box .pht figcaption { display: none;}
.mfp-content .box .pht figure img{ width: 100%;}
.mfp-content .box .txt p { margin: 0 auto 20px; line-height: 2; text-align: justify;}
.mfp-content .box .txt p.name { margin: 0; font-size: 18px; font-weight: 700; line-height: 1; text-align: right;}
.mfp-content .box .txt p.name:before { content: ''; display: inline-block; width: 40px; height: 1px; background: #000; vertical-align: middle;}
.mfp-content .box .txt p.name span { display: inline-block; margin-left: 20px; vertical-align: middle;}
@media (max-width: 801px) {
	.mfp-content .box .inner { display: block;}
	.mfp-content .box .pht { width: 100%; max-width: 100%; margin: 0 auto 20px;}
	.mfp-content .box .txt { width: 100%; padding-left: 0px;}
	.mfp-content .box .pht figure { display: flex; align-items: center; padding-left: 20px;}
	.mfp-content .box .pht figcaption { display: block; width: 60%; padding-left: 30px; font-size: 18px; font-weight: 700;}
	.mfp-content .box .pht figcaption span { display: block;}
	.mfp-content .box .pht figure img{ width: 40%;}
	.mfp-content .box .txt p.name { display: none;}
	.mfp-content .box .txt p { margin: 0 auto;}
}
@media (max-width: 641px) {
	.mfp-content .box .pht figcaption { font-size: 16px;}
	.mfp-content .box .txt p { font-size: 14px; line-height: 1.8;}
}
@media (max-width: 641px) {
	.mfp-content .box .inner { padding: 25px 20px;}
	.mfp-content .box .pht { margin: 0 auto 10px;}
	.mfp-content .box .pht figcaption { font-size: 14px;}
	.mfp-content .box .txt p { font-size: 13px;}
}



