@charset "UTF-8";
/* CSS Document */


@font-face { font-family: 'Noto Sans Japanese Regular'; src: url('../fonts/NotoSansJpRegular.woff2') format('woff'); font-style: normal; font-weight: 400; }
.noto-r { font-family: "Noto Sans Japanese Regular", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif; }


/* Reset */
* { zoom: 1; }
html, body, header, footer, h1, h2, h3, h4, h5, h6, p, pre, address, ul, ol, li, dl, dt, em, dd, caption, img, form
{ margin: 0; padding: 0; border: none; font-style: normal; font-weight: normal; font-size: 100%; text-align: left; list-style-type: none; }
html { }
img { vertical-align: bottom; width: 100%; height: auto; }
hr { display: none; }
a { color: #06C; text-decoration: none; transition: .4s; }
a:hover { color: #C00; }


/* Common */
html, body { height: 100%; }
html.active-menu { overflow-y: hidden; }
body { font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif; font-size: 16px; line-height: 1.8em; color: #333; -webkit-text-size-adjust: none; }
noscript p { line-height: 1.2em; text-align: center; font-weight: bold; color: #FFF; padding: .8em 0; background: #C00; }
.inner-box { width: min(92%,1100px); margin: 0 auto; }
.column { width: min(92%,1100px); margin: 0 auto; }
.basic h2 { width: 440px; margin: 0 auto; padding-bottom: 1rem; }
@media only screen and (max-width: 768px) {
  .basic h2 { width: 45%; }
}
@media only screen and (max-width: 520px) and (orientation: portrait) {
  .basic h2 { width: 80%; padding-bottom: .6rem; }
}

header { padding-bottom: 18vw; background: url("../images/kv.jpg") no-repeat top center; background-size: cover; clip-path: polygon(0 0, 100% 0, 100% calc(100% - 18vw), 0 100%); position: relative; }
header .inner-box { padding-top: 2rem; display: flex; justify-content: flex-end; }
header h1 { width: min(100%,800px); transform: skewY(-10deg); padding-top: 4vw; }
header h1 span { font-size: .9rem; line-height: 1.2; text-align: right; color: #FFF; display: block; }
header h1 span strong { font-size: 1.1rem; vertical-align: middle; }
#home-icon { width: 110px; position: absolute; top: 20px; left: 20px; }
#home-icon a img { filter: invert(100%) sepia(0%) saturate(7500%) hue-rotate(306deg) brightness(106%) contrast(104%); }
#home-icon a:hover img { filter: invert(93%) sepia(51%) saturate(860%) hue-rotate(357deg) brightness(101%) contrast(107%); }

#read { position: relative; }
#read-bg { width: 100%; margin-top: -18vw; background: rgba(241,92,34,1); background: linear-gradient(180deg, rgba(241,92,34,1) 20%, rgba(241,92,34,.6) 100%); clip-path: polygon(0 18vw, 100% 0, 100% 100%, 0 100%); }
#read .inner-box { padding: min(22vw,18rem) 0 5vw 0; position: relative; }
#read h2 { width: min(92%,1100px); position: absolute; top: 6vw; left: 50%; transform: translateX(-50%) skewY(-10deg); z-index: 5; }
#read h2 span { display: none; }
#read ul { position: absolute; top: 9vw; right: 0; transform: skewY(-10deg); }
#read ul li { font-size: 1rem; line-height: 1.2; text-align: center; color: #FFF; width: 18em; padding: .3rem 0; border: solid 1px #FFF; }
#read ul li:first-child { margin-bottom: .5rem; }
#read p { font-size: 1.2rem; line-height: 2; text-align: center; color: #FFF; }
#read p span::before { content: "\A"; white-space: pre; }
#read p i { font-style: normal; }
@media only screen and (max-width: 768px) {
  header h1 span { font-size: .8rem; line-height: 1.2; }
  header h1 span strong { font-size: 1rem; }
  #read ul { display: flex; top: 11vw; }
  #read ul li { width: auto; padding: .2rem .3rem; }
  #read ul li:first-child { margin: 0 .5rem 0 0; }
  #read p { font-size: 1.1rem; line-height: 1.8; }
  #read p i::before { content: "\A"; white-space: pre; }
}
@media only screen and (max-width: 520px) and (orientation: portrait) {
  header .inner-box { padding-top: 1rem; }
  #home-icon { width: 80px; top: 4%; left: 4%; }
  #read .inner-box { padding: 38vw 0 5vw 0; }
  #read h2 { top: 5vw; }
  #read h2 strong { display: none; }
  #read h2 span { display: block; }
  #read ul { top: 14vw; flex-direction: column; }
  #read ul li { font-size: 4vw; line-height: 1.2; }
  #read ul li:first-child { margin: 0 0 .3rem 0; }
  #read p { font-size: 1rem; line-height: 1.5; text-align: justify; }
  #read p span::before, #read p i::before { content: ""; }
}

#training { background: #E9E9E9; background: linear-gradient(180deg, #E9E9E9 85%, #FFF 85%); }
#training .column { padding-top: 3rem; }
#training p { font-size: 1.2rem; line-height: 1.8; text-align: center; margin-bottom: 3rem; }
#training p span::before { content: "\A"; white-space: pre; }
#training ul { display: flex; justify-content: space-between; }
#training ul li { width: 30%; height: 0; padding-top: 30%; border-radius: 50%; background: rgba(241,92,34,1); background: linear-gradient(180deg, #F15C22 20%, #F79D7A 100%); position: relative; }
#training ul li dl { width: 90%; height: auto; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); }
#training ul li dl dt { font-size: 2.2rem; line-height: 1.4; text-align: center; color: #FFF; padding-bottom: 2rem; position: relative; }
#training ul li dl dt::after { content: ""; width: 1.4em; height: 3px; background: #FFF; position: absolute; bottom: 1.1rem; left: 50%; transform: translateX(-50%); }
#training ul li dl dd { font-size: 1.2rem; line-height: 1.6; text-align: center; color: #FFF; }
#training ul li dl dt span::before, #training ul li dl dd span::before { content: "\A"; white-space: pre; }
@media only screen and (max-width: 1100px) {
  #training ul li dl dt { font-size: 3vw; line-height: 1.4; padding-bottom: 2vw; }
  #training ul li dl dt::after { bottom: 1vw; }
  #training ul li dl dd { font-size: 2vw; line-height: 1.4; }
}
@media only screen and (max-width: 768px) {
  #training p { font-size: 1.1rem; line-height: 1.8; text-align: justify; }
  #training p span::before { content: ""; }
}
@media only screen and (max-width: 520px) and (orientation: portrait) {
  #training { background: linear-gradient(180deg, #E9E9E9 92%, #FFF 92%); }
  #training .column { padding-top: 1.5rem; }
  #training p { font-size: 1rem; line-height: 1.5; margin-bottom: 2rem; }
  #training ul { flex-direction: column; }
  #training ul li { width: calc(100% - 1.2rem); height: auto; margin-bottom: .5rem; padding: .4rem .6rem; border-radius: .5rem; }
  #training ul li:last-child { margin-bottom: 0; }
  #training ul li dl { width: 100%; position: relative; top: 0; left: 0; transform: translate(0,0); }
  #training ul li dl dt { font-size: 1.2rem; line-height: 1.4; padding-bottom: 1rem; }
  #training ul li dl dt::after { bottom: .4rem; }
  #training ul li dl dd { font-size: 1rem; line-height: 1.4; text-align: justify; }
  #training ul li dl dt span::before, #training ul li dl dd span::before { content: ""; }
}

#course { padding-top: 4rem; }
#course h2 { width: min(92%,660px); margin: 0 auto 1rem auto; }
#course-box { background: #FDE7DE; }
#course-box .column { padding: 3rem 0; }
#course-box dl { margin-bottom: 2rem; display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; }
#course-box dl dt { width: 56%; order: 3; }
#course-box dl dd { font-size: 1.3rem; line-height: 1.4; color: #F15C22; }
#course-box dl dd span::before { content: "\A"; white-space: pre; }
#course-box dl dd#course_business { text-align: center; width: 100%; padding-bottom: 1rem; order: 1; }
#course-box dl dd#course_tourism { text-align: right; width: 20%; padding-bottom: 5em; order: 2; }
#course-box dl dd#course_commynity { text-align: justify; width: 20%; padding-bottom: 5em; order: 4; }
#course-box p { font-size: 1.2rem; line-height: 1.8; text-align: center; }
#course-box p span::before { content: "\A"; white-space: pre; }
@media only screen and (max-width: 768px) {
  #course-box dl dd { font-size: 1.1rem; line-height: 1.4; color: #F15C22; }
  #course-box p { font-size: 1.1rem; line-height: 1.8; text-align: justify; }
  #course-box p span::before { content: ""; }
}
@media only screen and (max-width: 520px) and (orientation: portrait) {
  #course { padding-top: 2rem; }
  #course h2 { margin: 0 auto .5rem auto; }
  #course-box .column { padding: 1.5rem 0; }
  #course-box p { font-size: 1rem; line-height: 1.5; }
  #course-box dl { margin-bottom: 1rem; align-items: flex-start; }
  #course-box dl dt { width: 100%; padding-bottom: .5rem; order: 2; }
  #course-box dl dd { font-size: 1rem; line-height: 1.4; }
  #course-box dl dd span::before { content: ""; }
  #course-box dl dd#course_business { width: 70%; margin: 0 auto; padding-bottom: .5rem; }
  #course-box dl dd#course_tourism { text-align: justify; width: 44%; padding-bottom: 0; order: 3; }
  #course-box dl dd#course_commynity { width: 40%; padding-bottom: 0; }
}

#point .column { padding: 3rem 0; }
#point ul { padding-top: 1rem; display: flex; align-items: stretch; justify-content: space-between; }
#point ul li { width: calc(100% / 3); border-right: solid 1px #F15C22; display: flex; }
#point ul li:first-child { border-left: solid 1px #F15C22; }
#point ul li dl { padding: 0 2rem; }
#point ul li dl dt { width: 100px; margin: 0 auto; padding-bottom: 1.2rem; }
#point ul li dl dd h3 { font-size: 1.4rem; line-height: 1.4; text-align: center; color: #F15C22; padding-bottom: 1.2rem; }
#point ul li dl dd h3 span::before { content: "\A"; white-space: pre; }
#point ul li dl dd p { font-size: 1.1rem; line-height: 1.8; text-align: justify; }
@media only screen and (max-width: 768px) {
  #point ul li dl { padding: 0 1rem; }
  #point ul li dl dt { width: 80px; padding-bottom: 1rem; }
  #point ul li dl dd h3 { font-size: 1.2rem; line-height: 1.4; padding-bottom: 1rem; }
  #point ul li dl dd p { font-size: 1rem; line-height: 1.8; }
}
@media only screen and (max-width: 520px) and (orientation: portrait) {
  #point .column { padding: 1.5rem 0; }
  #point ul { padding-top: 0; flex-direction: column; }
  #point ul li { width: 100%; border-right: none; border-bottom: solid 1px #F15C22; display: flex; }
  #point ul li:first-child { border-top: solid 1px #F15C22; border-left: none; }
  #point ul li dl { padding: .5rem 0; display: flex; align-items: center; justify-content: space-between; }
  #point ul li dl dt { width: 16%; padding: 0; }
  #point ul li dl dd { width: 76%; }
  #point ul li dl dd h3 { font-size: 1rem; line-height: 1.4; text-align: justify; padding-bottom: .5rem; }
  #point ul li dl dd h3 span::before { content: ""; }
  #point ul li dl dd p { font-size: .9rem; line-height: 1.4; }
}

#vision { padding: 3rem 0; background: #E9E9E9; }
#vision1, #vision2 { padding-bottom: 3rem; }
#vision1 p { font-size: 1.2rem; line-height: 1.8; text-align: center; padding-bottom: 3rem; }
#vision1 p span::before { content: "\A"; white-space: pre; }
#vision1 ul { display: flex; flex-wrap: wrap; align-items: stretch; justify-content: space-between; }
#vision1 ul li { width: 48%; margin-bottom: 4%; background: #FFF; }
#vision1 ul li:nth-child(n + 3) { margin-bottom: 0; }
#vision1 ul li dl { margin-bottom: -1rem; padding: 0 2rem; }
#vision1 ul li dl dt { width: 40%; margin: -2rem auto 1rem auto; }
#vision1 ul li dl dd h3 { font-size: min(1.6rem,2.5vw); line-height: 1.4; text-align: center; color: #F15C22; padding-bottom: 2rem; position: relative; }
#vision1 ul li dl dd h3::after { content: ""; width: 1.5em; height: 3px; background: #F15C22; position: absolute; bottom: 1rem; left: 50%; transform: translateX(-50%); }
#vision1 ul li dl dd p { font-size: 1.1rem; line-height: 1.6; text-align: justify; }

#vision2 h3, #vision3 h3 { font-size: 1.5rem; line-height: 1.4; text-align: center; color: #FFF; margin-bottom: .8rem; padding: .3rem 0 .4rem 0; background: #999; }
#vision2 ul { display: flex; flex-wrap: wrap; justify-content: space-between; }
#vision2 ul li { font-size: 1.3rem; line-height: 1.2; text-align: center; color: #FFF; width: calc((100% - 1.6rem) / 3); margin-bottom: .8rem; padding: .3rem 0 .4rem 0; background: #F15C22; }
#vision2 ul li:nth-child(n + 4) { width: calc((100% - 2.4rem) / 4); margin-bottom: 0; }
#vision2 ul li span { font-size: .8rem; line-height: 1.2; vertical-align: middle; }

#vision3 p { font-size: 1.2rem; line-height: 1.8; text-align: center; padding-bottom: 1rem; }
#vision3 ul { display: flex; align-items: stretch; justify-content: space-between; }
#vision3 ul li { width: calc(50% - 2rem); }
#vision3 ul li:first-child { padding-right: 2rem; border-right: solid 1px #F15C22; }
#vision3 ul li dl dt { font-size: 1.5rem; line-height: 1.4; text-align: center; color: #F15C22; margin-bottom: .5rem; padding: .3rem 0 .4rem 0; border: solid 1px #F15C22; background: #FFF; }
#vision3 ul li dl dd p { font-size: 1.1rem; line-height: 1.8; text-align: justify; padding-bottom: 0; }
@media only screen and (max-width: 1100px) {
  #vision2 ul li { font-size: 2.1vw; line-height: 1.2; }
}
@media only screen and (max-width: 520px) and (orientation: portrait) {
  #vision { padding: 1.5rem 0; }
  #vision1, #vision2 { padding-bottom: 2rem; }
  #vision1 p { font-size: 1rem; line-height: 1.5; text-align: justify; padding-bottom: 2rem; }
  #vision1 p span::before { content: ""; }
  #vision1 ul { flex-direction: column; }
  #vision1 ul li { width: 100%; margin-bottom: 1.5rem; }
  #vision1 ul li:nth-child(n + 3) { margin-bottom: 1.5rem; }
  #vision1 ul li:last-child { margin-bottom: 0; }
  #vision1 ul li dl { margin-bottom: -1rem; padding: 0 1rem; }
  #vision1 ul li dl dt { width: 50%; margin: -1rem auto .5rem auto; }
  #vision1 ul li dl dd h3 { font-size: 5.2vw; line-height: 1.4; padding-bottom: 1.2rem; }
  #vision1 ul li dl dd h3::after { bottom: .6rem; }
  #vision1 ul li dl dd p { font-size: 1rem; line-height: 1.5; }
  #vision2 h3, #vision3 h3 { font-size: 1.1rem; line-height: 1.4; }
  #vision2 ul li, #vision2 ul li:nth-child(n + 4) { font-size: 1rem; line-height: 1.2; width: 49%; margin-bottom: 2%; }
  #vision2 ul li:last-child { width: 100%; }
  #vision3 p { font-size: 1rem; line-height: 1.5; text-align: justify; }
  #vision3 ul { flex-direction: column; }
  #vision3 ul li { width: 100%; }
  #vision3 ul li:first-child { padding: 0 0 1rem 0; border-right: none; }
  #vision3 ul li dl dt { font-size: 1.2rem; line-height: 1.4; }
  #vision3 ul li dl dd p { font-size: 1rem; line-height: 1.5; }
}

#curriculum { padding: 3rem 0 4rem 0; }
#curriculum p { font-size: 1.2rem; line-height: 1.8; text-align: center; padding-bottom: 3rem; }
#curriculum p span::before { content: "\A"; white-space: pre; }
@media only screen and (max-width: 520px) and (orientation: portrait) {
  #curriculum { padding: 1.5rem 0 2rem 0; }
  #curriculum p { font-size: 1rem; line-height: 1.5; text-align: justify; padding-bottom: 1rem; }
  #curriculum p span::before { content: ""; }
  #curriculum-box { overflow: auto; }
  #curriculum-box img { width: 200%; height: auto; }
}

#pickup .column p { font-size: 1.2rem; line-height: 1.8; text-align: center; padding-bottom: 3rem; }
#pickup .column p span::before { content: "\A"; white-space: pre; }
#lecture { background: #FDE7DE; }
#lecture ul { width: min(92%,1100px); margin: 0 auto; padding: 0 10px; background: #FFF; display: flex; flex-wrap: wrap; align-items: stretch; justify-content: space-between; }
#lecture ul li { width: calc(50% - 5px); margin-bottom: 10px; background: #FDE7DE; }
#lecture ul li:nth-child(2), #lecture ul li:nth-child(3), #lecture ul li:nth-child(6), #lecture ul li:nth-child(7) { background: #E9E9E9; }
#lecture ul li:nth-child(n + 7) { margin-bottom: 0; }
#lecture ul li dl { padding: 1.5rem 2rem; }
#lecture ul li dl dt { font-size: 1.5rem; line-height: 1.4; text-align: justify; margin-bottom: 1rem; }
#lecture ul li dl dt span::before { content: "\A"; white-space: pre; }
#lecture ul li dl dt strong { font-size: 1.3rem; line-height: 1.4; color: #F15C22; margin-top: .2em; padding-top: .2em; border-top: solid 1px #F15C22; display: block; }
#lecture ul li dl dd { font-size: 1.1rem; line-height: 1.8; text-align: justify; }
@media only screen and (max-width: 1100px) {
  #lecture ul li dl dt { font-size: 3vw; line-height: 1.4; }
}
@media only screen and (max-width: 520px) and (orientation: portrait) {
  #pickup .column p { font-size: 1rem; line-height: 1.5; text-align: justify; padding-bottom: 1rem; }
  #pickup .column p span::before { content: ""; }
  #lecture { background: none; }
  #lecture ul { padding: 0; }
  #lecture ul li { width: 100%; margin-bottom: 4%; }
  #lecture ul li:nth-child(2), #lecture ul li:nth-child(3), #lecture ul li:nth-child(6), #lecture ul li:nth-child(7) { background: #FDE7DE; }
  #lecture ul li:nth-child(2n) { background: #E9E9E9; }
  #lecture ul li:nth-child(n + 7) { margin-bottom: 4%; }
  #lecture ul li:last-child { margin-bottom: 0; }
  #lecture ul li dl { padding: 1rem; }
  #lecture ul li dl dt { font-size: 1.2rem; line-height: 1.4; margin-bottom: .8rem; }
  #lecture ul li dl dt strong { font-size: 1.1rem; line-height: 1.4; }
  #lecture ul li dl dt span::before { content: ""; }
  #lecture ul li dl dd { font-size: 1rem; line-height: 1.5; }
}

#leaflet { margin: .5rem 0; padding: 3rem 0 2rem 0; background: url("../images/sky.jpg") no-repeat center center; background-size: cover; }
#leaflet dl { width: min(80%,240px); margin: 0 auto; }
#leaflet dl a dt { margin-bottom: .5rem; box-shadow: 0 0 .3rem .2rem rgba(255,255,255,.5); transition: .3s; }
#leaflet dl a:hover dt { box-shadow: 0 0 .3rem .3rem rgba(255,255,255,.8); transform: scale(1.03); }
#leaflet dl a dd { font-size: .9rem; line-height: 1.2; text-align: center; }
#leaflet dl a dd strong { font-weight: normal; color: #333; padding-left: .8rem; position: relative; }
#leaflet dl a dd strong::before { content: ""; width: .6em; height: .8em; background: #333; clip-path: polygon(0 0,100% 50%,0 100%); position: absolute; top: 50%; left: 0; transform: translateY(-50%); transition: .3s; }
#leaflet dl a:hover dd strong { color: #F15C22; }
#leaflet dl a:hover dd strong::before { background: #F15C22; }


footer { padding: 0 0 6rem 0; position: relative; }
footer ul { display: flex; justify-content: space-between; }
footer ul li { width: calc(100% / 3); }
#footer-box { width: 100%; height: 18vw; background: rgba(241,92,34,1); background: linear-gradient(180deg, #F15C22 20%, #F79D7A 100%); clip-path: polygon(0 18vw, 100% 0, 100% 100%); position: absolute; bottom: 0; }
#footer-box .inner-box { height: 18vw; position: relative; }
#footer-box .inner-box h2 { width: min(50%,300px); transform: skewY(-10deg); position: absolute; top: 5vw; right: 0; }
#footer-box .inner-box p { font-size: .8rem; line-height: 1.2; text-align: center; color: #FFF; width: 100%; position: absolute; bottom: .5rem; left: 50%; transform: translateX(-50%); }
@media only screen and (max-width: 520px) and (orientation: portrait) {
  footer { padding: 1.5rem 0 6rem 0; position: relative; }
  footer ul { flex-direction: column; }
  footer ul li { width: 100%; }
  footer ul li:last-child { display: none; }
  #footer-box { height: 30vw; background: rgba(241,92,34,1); background: linear-gradient(180deg, #F15C22 20%, #F79D7A 100%); clip-path: polygon(0 18vw, 100% 0, 100% 100%,0 100%); }
  #footer-box .inner-box { height: 30vw; }
  #footer-box .inner-box h2 { width: 60%; top: 7vw; }
}


/* Return Button */
#returnbtn { width: 60px; height: 60px; position: fixed; right: 10px; transition: .2s; cursor: pointer; z-index: 3; }
#returnbtn a:hover { bottom: 15px; opacity: .8; }
@media only screen and (max-width: 520px) and (orientation: portrait) {
	#returnbtn { width: 45px; height: 45px; }
}

