@charset "UTF-8";
/*web font*/
@font-face { font-family: 'nav'; src: url("../font/yasashisa_nav.woff") format("woff"), url("../font/yasashisa_nav.ttf") format("truetype"); font-weight: normal; font-style: normal; }
/*variable*/
#school { font-size: 20.8px; }
@media (max-width: 1100px) { #school { font-size: 19.5px; } }
@media (max-width: 850px) { #school { font-size: 18.2px; } }
@media (max-width: 750px) { #school { font-size: 15.6px; } }
@media (max-width: 640px) { #school { font-size: 13px; } }

#philosophy ul li:before, .course_flow li:after, #school table td ol li:after { content: ''; width: 0; height: 0; border: 10px solid transparent; position: absolute; }

.col2:after, .col3:after, .col3_rev:after, #index_news div div:after, #school table td ol li div:after, .voice article:after, #fc_lead:after, #fc > div#fc_point:after, #fc > div#fc_interview > div:after, #media li:after { content: ''; width: 0; height: 0; display: block; clear: both; }

footer div ul, #index_bnr ul, .course_flow, .course_p_tbl2 tbody td ul, #school div#school_course ul, #vl_sample { list-style-type: none; letter-spacing: -1em; }
footer div ul li, #index_bnr ul li, .course_flow li, .course_p_tbl2 tbody td ul li, #school div#school_course ul li, #vl_sample li { letter-spacing: normal; display: inline-block; vertical-align: top; }

#index_bnr ul li:hover { opacity: 0.8; filter: alpha(opacity=80); }

footer div h2 img { width: 100%; height: auto; }

.tbl1 ul, .course article ul, .voice article ul, form #pp ul, #sitemap ul { list-style-type: none; }
.tbl1 ul > li, .course article ul > li, .voice article ul > li, form #pp ul > li, #sitemap ul > li { padding-left: 1.2em; position: relative; }
.tbl1 ul > li:before, .course article ul > li:before, .voice article ul > li:before, form #pp ul > li:before, #sitemap ul > li:before { content: '●'; position: absolute; top: 0px; left: 0px; }

#school table td ol { list-style-type: none; counter-reset: ol; }
#school table td ol > li { counter-increment: ol; }
#school table td ol > li:before { content: counter(ol); }

.ttl, .w_pc, footer nav, #index_bnr ul, #index_news div div, #page, .w750, #event, #contact_tel { margin-left: auto !important; margin-right: auto !important; }

.btn { display: inline-block; background-color: #fc6c21; text-decoration: none; color: #fff; font-size: 15.6px; text-align: center; -webkit-border-radius: 10px; -moz-border-radius: 10px; -ms-border-radius: 10px; border-radius: 10px; padding: 10px 20px; position: relative; }
.btn:after { content: ''; width: 100%; height: 100%; display: inline-block; background-color: #fdba8c; -webkit-border-radius: 10px; -moz-border-radius: 10px; -ms-border-radius: 10px; border-radius: 10px; position: absolute; left: 0px; bottom: -8px; z-index: -1; }
.btn:hover { color: #ff0; }
@media (max-width: 750px) { .btn { -webkit-border-radius: 5px; -moz-border-radius: 5px; -ms-border-radius: 5px; border-radius: 5px; padding: 5px; font-size: 13px; }
  .btn:after { -webkit-border-radius: 5px; -moz-border-radius: 5px; -ms-border-radius: 5px; border-radius: 5px; bottom: -5px; } }

.btn3, .btn4 { text-decoration: none; display: block; text-align: center; font-size: 31.2px; color: #fff; padding: 10px 30px; border-radius: 5px; cursor: pointer; text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2); background: #feccb1; background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZlY2NiMSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iI2YxNzQzMiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjUxJSIgc3RvcC1jb2xvcj0iI2VhNTUwNyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmYjk1NWUiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); background: -moz-linear-gradient(top, #feccb1 0%, #f17432 50%, #ea5507 51%, #fb955e 100%); background: -webkit-linear-gradient(top, #feccb1 0%, #f17432 50%, #ea5507 51%, #fb955e 100%); background: linear-gradient(to bottom, #feccb1 0%, #f17432 50%, #ea5507 51%, #fb955e 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#feccb1', endColorstr='#fb955e',GradientType=0 ); }
.btn3:hover, .btn4:hover { color: #ff0; }
@media (max-width: 750px) { .btn3, .btn4 { font-size: 15.6px; padding: 5px; } }

header + h1 > span, #page { width: 100%; max-width: 1020px; padding: 0 10px; }

#fc h2, #contact_tel h2, form h2 { font-size: 20.8px; color: #515c9a; border-bottom: 1px dashed #ccc; padding-bottom: 10px; margin-bottom: 10px; }

/*reset*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }

body { line-height: 1; }

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

nav ul { list-style: none; }

blockquote, q { quotes: none; }

blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }

a { margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; color: #06c; }

ins { background-color: #ff9; color: #000; text-decoration: none; }

mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }

del { text-decoration: line-through; }

abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }

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

hr { display: block; height: 1px; border: 0; border-top: 1px solid #cccccc; margin: 1em 0; padding: 0; }

input, select { vertical-align: middle; }

img { vertical-align: bottom; }

* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }

legend { display: table; float: left; margin: 0; padding: 0; width: 100%; }
legend + * { clear: both; }

fieldset { border: 0; padding: 0.01em 0 0 0; margin: 0; min-width: 0; }

body:not(:-moz-handler-blocked) fieldset { display: table-cell; }

/*common*/
html, body { overflow-x: hidden; }

body { color: #666; font-family: "Meiryo", "Hiragino Kaku Gothic Pro W3", Sans-Serif; font-size: 13px; line-height: 1.5; border-bottom: 14px solid #515c9a; padding-top: 170px; }

a:hover { text-decoration: none; }

#gotop { background-color: #fff; border: 1px dashed #ccc; border-bottom: 0px; -webkit-border-radius: 5px 5px 0 0; -moz-border-radius: 5px 5px 0 0; -ms-border-radius: 5px 5px 0 0; border-radius: 5px 5px 0 0; padding: 5px; position: fixed; bottom: 0px; right: 10px; cursor: pointer; display: none; }

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

.center { text-align: center; }

.mt { margin-top: 25px !important; }

.mt2 { margin-top: 10px; }

.sp { display: none; }

.large { font-size: 23.4px; }

@media (max-width: 1050px) { body { padding-top: calc(170vw*100/1050); } }
@media (max-width: 750px) { body { padding-top: 14vw; }
  .sp { display: inline-block; }
  .pc { display: none; }
  #gotop { display: none !important; }
  .large { font-size: 13px; } }
.ul1 { list-style-type: none; }
.ul1 > li { padding-left: 1.2em; position: relative; }
.ul1 > li:nth-child(n+2) { margin-top: 10px; }
.ul1 > li:before { content: '●'; position: absolute; top: 0px; left: 0px; }

.ol1 { list-style-type: none; counter-reset: ol; }
.ol1 > li { counter-increment: ol; padding-left: 2em; position: relative; }
.ol1 > li:nth-child(n+2) { margin-top: 10px; }
.ol1 > li:before { content: counter(ol) "."; position: absolute; top: 0px; left: 0px; }

/*button*/
.btn2 { display: inline-block; background-color: #2ea7e0; padding: 10px 20px; line-height: 1; color: #fff; text-decoration: none; }
.btn2:hover { color: #ff0; }

.btn3:before { content: ''; width: 40px; height: 40px; display: inline-block; vertical-align: middle; margin-right: 10px; background: url("../img/cmn/icon.png") no-repeat -40px -280px; background-size: 80px auto; }

@media (max-width: 750px) { .btn3:before { width: 24px; height: 24px; margin-right: 5px; background: url("../img/cmn/icon.png") no-repeat -24px -168px; background-size: 48px auto; } }
/*ttl*/
.ttl { background-color: #f39800; color: #fff; font-size: 20.8px; text-align: center; padding: 10px; margin-bottom: 10px; width: 100%; max-width: 1000px; border: 5px solid #f39800; position: relative; overflow: hidden; }
.ttl:before, .ttl:after { content: ''; width: 100%; height: 100%; border: 1px dashed #fff; position: absolute; }
.ttl:before { top: 0px; left: 0px; }
.ttl:after { bottom: 0px; right: 0px; }

.st { font-size: 15.6px; margin-bottom: 10px; color: #fc6c21; }

@media (max-width: 750px) { .ttl { border: 3px solid #f39800; font-size: 15.6px; padding: 5px; } }
/*content*/
.w_pc { width: 100%; max-width: 1050px; padding: 0 25px; margin-top: 25px; }

@media (max-width: 750px) { .w_pc { padding: 0 10px; } }
/*list*/
.col2 { list-style-type: none; }
.col2 li { width: 50%; float: left; }
.col2 li:nth-child(2n+1) { clear: both; }

.col3 { list-style-type: none; }
.col3 li { width: 32%; float: left; margin: 2% 0 0 2%; }
.col3 li:nth-child(3n+1) { clear: both; margin-left: 0; }
.col3 li:nth-child(1), .col3 li:nth-child(2), .col3 li:nth-child(3) { margin-top: 0; }

.col3_rev { list-style-type: none; }
.col3_rev li { width: 32%; float: right; margin: 2% 2% 0 0; }
.col3_rev li:nth-child(3n+1) { clear: both; margin-right: 0; }
.col3_rev li:nth-child(1), .col3_rev li:nth-child(2), .col3_rev li:nth-child(3) { margin-top: 0; }

@media (max-width: 750px) { .col2 li, .col3 li, .col3_rev li { width: 100%; float: none; margin: 10px 0 0 0 !important; }
  .col2 li:first-child, .col3 li:first-child, .col3_rev li:first-child { margin-top: 0 !important; } }
.flex4 { list-style-type: none; display: flex; justify-content: space-between; }
.flex4 li { width: 23.5%; }

@media (max-width: 750px) { .flex4 { flex-direction: column; }
  .flex4 li { width: 100%; }
  .flex4 li:nth-child(n+2) { margin-top: 10px; } }
/*embed*/
.youtube { width: 100%; height: 0; padding-bottom: 56.25%; position: relative; }
.youtube iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/*flex*/
.flex2 { display: flex; justify-content: space-between; }
.flex2 > div { width: 48%; }

@media (max-width: 750px) { .flex2 { flex-direction: column; }
  .flex2 > div { width: 100%; }
  .flex2 > div:nth-child(2) { margin-top: 25px; } }
/*header*/
header { position: fixed; z-index: 999; top: 0; left: 0; border-top: 7px solid #515c9a; width: 100%; }
header > div { position: relative; z-index: 10; border-bottom: 1px solid #73d1ff; background-color: rgba(255, 255, 255, 0.9); width: 100%; height: 90px; padding: 0 25px; }
header > div > div { position: relative; max-width: 1000px; height: 100%; margin: 0 auto; padding: 10px 0; display: flex; justify-content: space-between; align-items: center; }
header > div > div > h1, header > div > div > a { width: 20%; }
header > div > div > div { text-align: right; transition: transform 1s; }
header > div > div > div p.tel { display: flex; justify-content: flex-end; align-items: center; margin-bottom: 10px; }
header > div > div > div p.tel:before { content: ''; display: block; width: 32px; height: 32px; background: url("../img/cmn/icon_tel.svg") no-repeat 50% 50%, #515c9a; background-size: 70% auto,auto; margin-right: 5px; border-radius: 5px; }
header > div > div > div p.tel > span:nth-child(1) { font-weight: bold; font-size: 28px; }
header > div > div > div p.tel > span:nth-child(2) { margin-left: 10px; text-align: left; display: flex; justify-content: flex-start; align-items: center; font-size: 12px; line-height: 1.3; }
header > div > div > div p.tel > span:nth-child(2) span:nth-child(2) { margin-left: 10px; }
header > div > div > div ul { list-style-type: none; display: flex; justify-content: flex-end; }
header > div > div > div ul li:nth-child(n+2) { margin-left: 20px; }
header > div > div > div ul li a { font-size: 14px; font-weight: bold; color: #666; text-decoration: none; display: flex; align-items: center; transition: color .5s; }
header > div > div > div ul li a:before { content: ''; display: block; width: 4px; height: 8px; background-color: #515c9a; clip-path: polygon(0 0, 100% 50%, 0 100%); margin-right: 5px; }
header > div > div > div ul li a:hover { color: #515c9a; }
header > div > div #btn_menu { position: absolute; right: 0; top: 50%; transform: translate(2000px, -50%); width: 40px; height: 36px; display: flex; flex-direction: column; justify-content: space-between; transition: all 1s; opacity: 0; }
header > div > div #btn_menu:before, header > div > div #btn_menu:after, header > div > div #btn_menu span { content: ''; display: block; width: 100%; height: 8px; background-color: #515c9a; transition: all .8s; transform-origin: 50% 50%; }
header > div > div #btn_menu.close span { opacity: 0; }
header > div > div #btn_menu.close:before { transform: translateY(14px) rotate(45deg); }
header > div > div #btn_menu.close:after { transform: translateY(-14px) rotate(-45deg); }
header #pcnav { position: relative; z-index: 5; width: 100%; height: 80px; padding: 0 25px; background-color: #73d1ff; }
header #pcnav > ul { max-width: 1000px; height: 100%; margin: 0 auto; display: flex; justify-content: space-between; }
header #pcnav > ul > li { width: 15%; position: relative; }
header #pcnav > ul > li:has(div#header_course_menu) { position: static; }
header #pcnav > ul > li:nth-child(1) { width: 10%; }
header #pcnav > ul > li:nth-child(n+2) { border-left: 1px solid rgba(255, 255, 255, 0.8); }
header #pcnav > ul > li > a, header #pcnav > ul > li > span { width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; text-decoration: none; color: #fff; font-size: 13px; font-weight: bold; position: relative; }
header #pcnav > ul > li > a:before, header #pcnav > ul > li > span:before { content: ''; display: block; width: 32px; height: 32px; margin-bottom: 3px; }
header #pcnav > ul > li > a:after, header #pcnav > ul > li > span:after { content: ''; display: block; width: 100%; height: 10px; background-color: #515c9a; position: absolute; bottom: 0; left: 0; clip-path: polygon(0 50%, calc(50% - 5px) 50%, 50% 0, calc(50% + 5px) 50%, 100% 50%, 100% 100%, 0 100%); transition: opacity .5s; opacity: 0; }
header #pcnav > ul > li:hover > a:after, header #pcnav > ul > li:hover > span:after { opacity: 1; }
header #pcnav > ul > li:hover > div#header_course_menu, header #pcnav > ul > li:hover > ul { transform: translateX(0); opacity: 1; }
header #pcnav > ul > li.s > a:after, header #pcnav > ul > li.s > span:after { opacity: 1; }
header #pcnav > ul > li:nth-child(1) > a:before { background: url("../img/cmn/menu_home.svg") no-repeat; background-size: 100% auto; }
header #pcnav > ul > li:nth-child(2) > span:before { background: url("../img/cmn/menu_about.svg") no-repeat; background-size: 100% auto; }
header #pcnav > ul > li:nth-child(3) > span:before { background: url("../img/cmn/menu_course.svg") no-repeat; background-size: 100% auto; }
header #pcnav > ul > li:nth-child(4) > a:before { background: url("../img/cmn/menu_school.svg") no-repeat; background-size: 100% auto; }
header #pcnav > ul > li:nth-child(5) > a:before { background: url("../img/cmn/menu_voice.svg") no-repeat; background-size: 100% auto; }
header #pcnav > ul > li:nth-child(6) > span:before { background: url("../img/cmn/menu_other.svg") no-repeat; background-size: 100% auto; }
header #pcnav > ul > li:nth-child(7) > a:before { background: url("../img/cmn/menu_flow.svg") no-repeat; background-size: 100% auto; }
header #pcnav > ul > li > div#header_course_menu, header #pcnav > ul > li > ul { position: absolute; z-index: 1; top: 100%; left: 0; transform: translateX(-2000px); opacity: 0; transition: all 1s; }
header #pcnav > ul > li > div#header_course_menu { background-color: #fff; width: 100%; padding: 25px; }
header #pcnav > ul > li > div#header_course_menu > ul { max-width: 1000px; margin: 0 auto; display: flex; justify-content: center; flex-wrap: wrap; }
header #pcnav > ul > li > div#header_course_menu > ul li { width: 23.5%; text-align: center; margin-left: 2%; }
header #pcnav > ul > li > div#header_course_menu > ul li:nth-child(4n+1) { margin-left: 0; }
header #pcnav > ul > li > div#header_course_menu > ul li:nth-child(n+5) { margin-top: 2%; }
header #pcnav > ul > li > div#header_course_menu > ul li a { display: block; padding: 10px; text-decoration: none; font-weight: bold; font-size: 16px; transition: background-color .5s; }
header #pcnav > ul > li > div#header_course_menu > ul li a:hover { background-color: #fff9dd; }
header #pcnav > ul > li > div#header_course_menu > ul li a img { display: inline-block; margin-bottom: 20px; }
header #pcnav > ul > li > div#header_course_menu > ul li a span { display: flex; justify-content: center; align-items: center; width: 100%; height: 50px; border-radius: 25px; color: #fff; position: relative; }
header #pcnav > ul > li > div#header_course_menu > ul li a span:after { content: ''; display: block; width: 8px; height: 16px; background-color: #fff; clip-path: polygon(0 0, 100% 50%, 0 100%); position: absolute; top: 50%; right: 20px; transform: translateY(-50%); }
header #pcnav > ul > li > div#header_course_menu > ul li:nth-child(1) a { border: 3px solid #fc6c21; }
header #pcnav > ul > li > div#header_course_menu > ul li:nth-child(1) a span { background-color: #fc6c21; }
header #pcnav > ul > li > div#header_course_menu > ul li:nth-child(2) a { border: 3px solid #20b548; }
header #pcnav > ul > li > div#header_course_menu > ul li:nth-child(2) a span { background-color: #20b548; }
header #pcnav > ul > li > div#header_course_menu > ul li:nth-child(3) a { border: 3px solid #515c9a; }
header #pcnav > ul > li > div#header_course_menu > ul li:nth-child(3) a span { background-color: #515c9a; }
header #pcnav > ul > li > div#header_course_menu > ul li:nth-child(4) a { border: 3px solid #d13eb0; }
header #pcnav > ul > li > div#header_course_menu > ul li:nth-child(4) a span { background-color: #d13eb0; }
header #pcnav > ul > li > div#header_course_menu > ul li:nth-child(5) a { border: 3px solid #007d00; }
header #pcnav > ul > li > div#header_course_menu > ul li:nth-child(5) a span { background-color: #007d00; }
header #pcnav > ul > li > ul li { white-space: nowrap; border: 1px solid #ccc; border-top: 0px; position: relative; }
header #pcnav > ul > li > ul li > a, header #pcnav > ul > li > ul li > span { cursor: pointer; height: auto; display: block; background-color: #fff; min-width: 240px; padding: 6px; font-size: 12px; color: #666; text-decoration: none; transition: background-color .5s; }
header #pcnav > ul > li > ul li > a:hover, header #pcnav > ul > li > ul li > span:hover { background-color: #fff9dd; }
header #pcnav > ul > li > ul li:hover > ul { transform: translateX(0); opacity: 1; }
header #pcnav > ul > li > ul li > ul { position: absolute; top: 0px; left: 100%; transform: translateX(-200%); opacity: 0; transition: all 1s; text-align: left; }
header #pcnav > ul > li > ul li > ul li.sub a { padding-left: 1em; }
header #pcnav > ul > li > ul li > ul li.sub a:before { content: '┗'; display: inline-block; margin-right: 5px; }
header #spnav { display: none; }
header.s > div > div > div { transform: translateX(-60px); }
header.s > div > div #btn_menu { transform: translate(0, -50%); opacity: 1; }
header.s #pcnav { opacity: 0; transform: translateX(-2000px); transition: all 1s; }
header.s #pcnav.visible { opacity: 1; transform: translateX(0); }

@media (max-width: 1050px) { header { border-top: calc(7vw*100/1050) solid #515c9a; }
  header > div { height: calc(90vw*100/1050); padding: 0 calc(25vw**100/1050); }
  header > div > div { padding: calc(10vw*100/1050) 0; }
  header > div > div > div p.tel { margin-bottom: calc(10vw*100/1050); }
  header > div > div > div p.tel:before { width: calc(32vw*100/1050); height: calc(32vw*100/1050); margin-right: calc(5vw*100/1050); border-radius: calc(5vw*100/1050); }
  header > div > div > div p.tel > span:nth-child(1) { font-size: calc(28vw*100/1050); }
  header > div > div > div p.tel > span:nth-child(2) { margin-left: calc(10vw*100/1050); font-size: calc(12vw*100/1050); }
  header > div > div > div p.tel > span:nth-child(2) span:nth-child(2) { margin-left: calc(10vw*100/1050); }
  header > div > div > div ul li:nth-child(n+2) { margin-left: calc(20vw*100/1050); }
  header > div > div > div ul li a { font-size: calc(14vw*100/1050); }
  header > div > div > div ul li a:before { width: calc(4vw*100/1050); height: calc(8vw*100/1050); margin-right: calc(5vw*100/1050); }
  header > div > div #btn_menu { width: calc(40vw*100/1050); height: calc(36vw*100/1050); }
  header > div > div #btn_menu:before, header > div > div #btn_menu:after, header > div > div #btn_menu span { height: calc(8vw*100/1050); }
  header > div > div #btn_menu.close:before { transform: translateY(calc(14vw*100/1050)) rotate(45deg); }
  header > div > div #btn_menu.close:after { transform: translateY(calc(-14vw*100/1050)) rotate(-45deg); }
  header #pcnav { height: calc(80vw*100/1050); padding: 0 calc(25vw*100/1050); }
  header #pcnav > ul > li > a, header #pcnav > ul > li > span { font-size: calc(13vw*100/1050); }
  header #pcnav > ul > li > a:before, header #pcnav > ul > li > span:before { width: calc(32vw*100/1050); height: calc(32vw*100/1050); margin-bottom: calc(3vw*100/1050); }
  header #pcnav > ul > li > a:after, header #pcnav > ul > li > span:after { height: calc(10vw*100/1050); clip-path: polygon(0 50%, calc(50% - calc(-5vw*100/1050)) 50%, 50% 0, calc(50% + calc(5vw*100/1050)) 50%, 100% 50%, 100% 100%, 0 100%); }
  header #pcnav > ul > li > div#header_course_menu { padding: calc(25vw*100/1050); }
  header #pcnav > ul > li > div#header_course_menu > ul li a { padding: calc(10vw*100/1050); font-size: calc(16vw*100/1050); }
  header #pcnav > ul > li > div#header_course_menu > ul li a img { margin-bottom: calc(20vw*100/1050); }
  header #pcnav > ul > li > div#header_course_menu > ul li a span { height: calc(50vw*100/1050); border-radius: calc(25vw*100/1050); }
  header #pcnav > ul > li > div#header_course_menu > ul li a span:after { width: calc(8vw*100/1050); height: calc(16vw*100/1050); right: calc(20vw*100/1050); }
  header #pcnav > ul > li > ul li > a, header #pcnav > ul > li > ul li > span { min-width: calc(240vw*100/1050); padding: calc(6vw*100/1050); font-size: calc(12vw*100/1050); }
  header #pcnav > ul > li > ul li > ul li.sub a:before { margin-right: calc(5vw*100/1050); }
  header.s > div > div > div { transform: translateX(calc(-60vw*100/1050)); } }
@media (max-width: 750px) { header { border-top: 1vw solid #515c9a; }
  header > div { height: 14vw; padding: 0 10px; }
  header > div > div { padding: 0; }
  header > div > div > a, header > div > div > h1 { width: 30%; }
  header > div > div > div { margin-left: auto; margin-right: 2vw; }
  header > div > div > div p.tel { margin-bottom: 0; }
  header > div > div > div p.tel:before { width: 8vw; height: 8vw; margin-right: 0; border-radius: 1vw; }
  header > div > div > div p.tel > span:nth-child(1) { display: none; }
  header > div > div > div p.tel > span:nth-child(2) { display: none; }
  header > div > div > div ul { display: none; }
  header > div > div #btn_menu { position: static; opacity: 1; transform: translate(0, 0); width: 7vw; height: 7vw; }
  header > div > div #btn_menu:before, header > div > div #btn_menu:after, header > div > div #btn_menu span { height: 1.2vw; }
  header > div > div #btn_menu.close:before { transform: translateY(2.9vw) rotate(45deg); }
  header > div > div #btn_menu.close:after { transform: translateY(-2.9vw) rotate(-45deg); }
  header #pcnav { display: none; }
  header #spnav { display: block; position: absolute; top: 100%; left: 0; width: 100%; height: calc(100vh - 14vw); background-color: #fff; padding: 5vw; overflow: auto; opacity: 0; transform: translateX(100%); transition: all 1s; }
  header #spnav.visible { opacity: 1; transform: translateX(0); }
  header #spnav #spnav_top { background-color: #73d1ff; text-decoration: none; display: flex; justify-content: space-between; align-items: center; text-decoration: none; color: #fff; padding: 2vw 4vw; transition: background-color .5s; }
  header #spnav #spnav_top:hover { background-color: #515c9a; }
  header #spnav #spnav_top:after { content: ''; display: block; width: 2vw; height: 4vw; background-color: #fff; clip-path: polygon(0 0, 100% 50%, 0 100%); }
  header #spnav #spnav_top span { display: flex; justify-content: flex-start; align-items: center; font-size: 5vw; }
  header #spnav #spnav_top span:before { content: ''; display: block; width: 6vw; height: 6vw; background: url("../img/cmn/menu_home.svg") no-repeat; background-size: 100% auto; margin-right: 2vw; }
  header #spnav #spnav1 { margin-top: 5vw; display: flex; justify-content: center; flex-wrap: wrap; }
  header #spnav #spnav1 li { width: 48%; text-align: center; }
  header #spnav #spnav1 li:nth-child(2n) { margin-left: 4%; }
  header #spnav #spnav1 li:nth-child(n+3) { margin-top: 4%; }
  header #spnav #spnav1 li a { display: block; padding: 2vw; text-decoration: none; font-weight: bold; font-size: 3vw; text-align: left; transition: background-color .5s; }
  header #spnav #spnav1 li a:hover { background-color: #fff9dd; }
  header #spnav #spnav1 li a img { display: inline-block; margin-bottom: 2vw; }
  header #spnav #spnav1 li a span { display: flex; justify-content: space-between; align-items: center; border-radius: 2vw; padding: 2vw 4vw; color: #fff; }
  header #spnav #spnav1 li a span:after { content: ''; display: block; width: 2vw; height: 4vw; background-color: #fff; clip-path: polygon(0 0, 100% 50%, 0 100%); }
  header #spnav #spnav1 li:nth-child(1) a { border: 1vw solid #fc6c21; }
  header #spnav #spnav1 li:nth-child(1) a span { background-color: #fc6c21; }
  header #spnav #spnav1 li:nth-child(2) a { border: 1vw solid #20b548; }
  header #spnav #spnav1 li:nth-child(2) a span { background-color: #20b548; }
  header #spnav #spnav1 li:nth-child(3) a { border: 1vw solid #515c9a; }
  header #spnav #spnav1 li:nth-child(3) a span { background-color: #515c9a; }
  header #spnav #spnav1 li:nth-child(4) a { border: 1vw solid #d13eb0; }
  header #spnav #spnav1 li:nth-child(4) a span { background-color: #d13eb0; }
  header #spnav #spnav1 li:nth-child(5) a { border: 1vw solid #007d00; }
  header #spnav #spnav1 li:nth-child(5) a span { background-color: #007d00; }
  header #spnav #spnav2 { margin-top: 5vw; border-top: 1px solid #ddd; }
  header #spnav #spnav2 li { border-bottom: 1px solid #ddd; }
  header #spnav #spnav2 li a { display: flex; justify-content: space-between; align-items: center; font-size: 6vw; color: #666; text-decoration: none; padding: 4vw 2vw; transition: background-color .5s; }
  header #spnav #spnav2 li a:hover { background-color: #fff9dd; }
  header #spnav #spnav2 li a:after { content: ''; display: block; width: 2vw; height: 4vw; background-color: #515c9a; clip-path: polygon(0 0, 100% 50%, 0 100%); }
  header #spnav #spnav2 li a span { display: flex; justify-content: flex-start; align-items: center; }
  header #spnav #spnav2 li a span img { width: 6vw; height: auto; margin-right: 2vw; }
  header #spnav #spnav_contact { margin-top: 5vw; background-color: #fc6c21; text-decoration: none; display: flex; justify-content: space-between; align-items: center; text-decoration: none; color: #fff; padding: 4vw 6vw; transition: background-color .5s; }
  header #spnav #spnav_contact:hover { background-color: #515c9a; }
  header #spnav #spnav_contact:after { content: ''; display: block; width: 3vw; height: 6vw; background-color: #fff; clip-path: polygon(0 0, 100% 50%, 0 100%); }
  header #spnav #spnav_contact span { display: flex; justify-content: flex-start; align-items: center; font-size: 6vw; line-height: 1.3; }
  header #spnav #spnav_contact span:before { content: ''; display: block; width: 10vw; height: 10vw; background: url("../img/cmn/icon_mail.svg") no-repeat; background-size: 100% auto; margin-right: 4vw; }
  header #spnav #spnav3 { margin-top: 5vw; border-top: 1px solid #ddd; }
  header #spnav #spnav3 li { border-bottom: 1px solid #ddd; }
  header #spnav #spnav3 li a { display: flex; justify-content: space-between; align-items: center; font-size: 4.5vw; color: #666; text-decoration: none; padding: 2vw; transition: background-color .5s; }
  header #spnav #spnav3 li a:hover { background-color: #fff9dd; }
  header #spnav #spnav3 li a:after { content: ''; display: block; width: 2vw; height: 4vw; background-color: #fc6c21; clip-path: polygon(0 0, 100% 50%, 0 100%); }
  header #spnav #spnav4 { margin-top: 5vw; display: flex; justify-content: flex-start; }
  header #spnav #spnav4 li:nth-child(n+2) { margin-left: 4vw; }
  header #spnav #spnav4 li a { font-size: 4vw; color: #666; text-decoration: none; transition: color .5s; }
  header #spnav #spnav4 li a:before { content: '>'; color: #515c9a; margin-right: 1vw; }
  header #spnav #spnav4 li a:hover { color: #515c9a; }
  header.s > div > div > div { transform: translateX(0); }
  header.s > div > div #btn_menu { transform: translate(0, 0); } }
/*footer*/
footer { background-color: #f8f8f8; }
footer a { color: #666; }
footer nav { padding: 50px 25px; max-width: 1050px; letter-spacing: -1em; }
footer nav article { letter-spacing: normal; display: inline-block; vertical-align: top; width: 25%; padding-right: 10px; }
footer nav article h2 { color: #515c9a; font-size: 15.6px; margin-top: 10px; }
footer nav article h2:first-child { margin-top: 0; }
footer nav article a, footer nav article span { display: inline-block; position: relative; padding-left: 1em; }
footer nav article a:before, footer nav article span:before { content: '>'; position: absolute; top: 0px; left: 0px; }
footer nav article li.sub a { margin-left: 1em; padding-left: 1.3em; }
footer nav article li.sub a:before { content: '┗'; }
footer div { background-color: #fff; padding: 25px; text-align: center; position: relative; }
footer div h2 { position: absolute; top: 50%; left: 50%; margin-top: -29px; margin-left: -500px; }
footer div ul { display: inline-block; }
footer div ul li { margin: 0 5px; }
footer div p { display: inline-block; margin-top: 5px; color: #515c9a; }

@media (max-width: 1050px) { footer div { text-align: right; }
  footer div h2 { margin-left: 0; left: 25px; } }
@media (max-width: 750px) { footer nav { padding: 10px; }
  footer nav article { margin-top: 10px; padding-right: 0; display: block; width: 100%; }
  footer nav article a { display: block; padding: 5px 0 5px 1em; border-bottom: 1px dashed #ccc; }
  footer nav article a:before { top: 5px; }
  footer nav article li:first-child { border-top: 1px dashed #ccc; margin-top: 5px; }
  footer div { padding: 10px; text-align: center; }
  footer div h2 { position: static; margin: 0 0 10px 0; }
  footer div h2 img { width: 120px; } }
/*index*/
#index_img { width: 100%; position: relative; background-color: #eee; }
#index_img ul:first-child { list-style-type: none; }
#index_img ul:first-child li { text-align: center; display: none; width: 100%; position: absolute; top: 0px; left: 0px; }
#index_img img { width: 100%; height: auto; }
#index_img ul:nth-child(2) { position: absolute; bottom: 10px; width: 100%; text-align: center; }
#index_img ul:nth-child(2) li { vertical-align: bottom; width: 7%; height: 6px; margin: 0 0.5%; display: inline-block; background-color: #cacaca; cursor: pointer; }
#index_img ul:nth-child(2) li.s { background-color: #1d2088; }

#index_course { list-style-type: none; display: flex; justify-content: center; flex-wrap: wrap; }
#index_course li { width: 30%; margin-left: 5%; }
#index_course li:nth-child(3n+1) { margin-left: 0; }
#index_course li:nth-child(n+4) { margin-top: 5%; }
#index_course li a { position: relative; text-decoration: none; display: block; padding-top: 40px; transition: opacity .5s; }
#index_course li a:hover { opacity: 0.8; }
#index_course li a h3 { position: absolute; top: 0; left: 0; z-index: 2; display: flex; justify-content: center; align-items: center; flex-direction: column; width: 140px; height: 140px; text-align: center; background-color: #000; color: #fff; border-radius: 50%; font-size: 16px; line-height: 1.3; font-weight: bold; border: 1px solid #fff; /*
outline:1px dashed rgba(255,255,255,0.8);
outline-offset:-8px;
*/ }
#index_course li a h3:before { content: ''; display: block; width: calc(100% - 16px); height: calc(100% - 16px); border: 1px dashed rgba(255, 255, 255, 0.8); position: absolute; top: 50%; left: 50%; border-radius: 50%; transform: translate(-50%, -50%); }
#index_course li a h3 span:nth-child(1) { color: #ff0; }
#index_course li a h3 span:nth-child(2) { font-size: 130%; }
#index_course li a > div { width: 100%; height: 0; padding-bottom: 100%; position: relative; }
#index_course li a > div img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
#index_course li a p { width: 80%; position: relative; z-index: 2; color: #666; font-size: 14px; background-color: #fff; border: 1px solid #ddd; border-radius: 50%; padding: 40px; margin: -40px 0 0 auto; }
#index_course li a p:before, #index_course li a p:after { content: ''; display: block; width: 40px; height: 40px; position: absolute; z-index: 3; top: -15px; left: 40px; background-color: #ddd; transform: rotate(-25deg); clip-path: polygon(50% 0, 100% 100%, 0 100%); }
#index_course li a p:after { background-color: #fff; margin: 2px 0 0 1px; }
#index_course li:nth-child(1) a h3 { background-color: #fc6c21; }
#index_course li:nth-child(2) a h3 { background-color: #20b548; }
#index_course li:nth-child(3) a h3 { background-color: #515c9a; }
#index_course li:nth-child(4) a h3 { background-color: #d13eb0; }
#index_course li:nth-child(5) a h3 { background-color: #007d00; }

#index_bnr { background-color: #f8f8f8; padding: 10px 25px; }
#index_bnr ul { width: 100%; max-width: 1050px; padding: 0 25px; }
#index_bnr ul li { width: 23.5%; margin: 2% 0 0 2%; }
#index_bnr ul li:nth-child(4n+1) { margin-left: 0; }
#index_bnr ul li:nth-child(1), #index_bnr ul li:nth-child(2), #index_bnr ul li:nth-child(3), #index_bnr ul li:nth-child(4) { margin-top: 0; }

#index_news { width: 100%; margin-top: 25px; }
#index_news div { background: url("../img/index/news_bg.png"); }
#index_news div div { width: 100%; max-width: 1050px; padding: 25px; }
#index_news div div article { text-align: center; width: 49%; float: right; }
#index_news div div article:first-child { float: left; }
#index_news div div article h3 { font-size: 15.6px; margin-bottom: 10px; text-align: left; }
#index_news div div article ul { list-style-type: none; text-align: left; border-top: 1px dashed #f39800; }
#index_news div div article ul li { border-bottom: 1px dashed #f39800; }
#index_news div div article ul li a { padding: 10px 0; text-decoration: none; display: block; color: #fc6c21; }
#index_news div div article ul li a span { color: #f39800; }
#index_news div div article ul li a:hover { background-color: rgba(255, 255, 255, 0.5); }
#index_news div div article .btn2 { margin-top: 10px; }

#index_reason { list-style-type: none; counter-reset: reason; }
#index_reason li { counter-increment: reason; }
#index_reason li:nth-child(n+2) { margin-top: 20px; padding-top: 20px; border-top: 1px dashed #999; }
#index_reason li h3 { font-size: 21px; margin-bottom: 10px; display: flex; justify-content: flex-start; align-items: center; }
#index_reason li h3:before { content: "理由" counter(reason); padding: 5px 20px; border-radius: 5px; margin-right: 10px; font-size: 18px; background-color: #fc6c21; color: #fff; }
#index_reason li h3 > span span { color: #f30; font-size: 130%; font-weight: bold; }

#index_flow { margin-bottom: 50px; }
#index_flow > ol { list-style-type: none; display: flex; justify-content: space-between; counter-reset: flow; }
#index_flow > ol > li { counter-increment: flow; width: 23.5%; border: 1px solid #515c9a; border-radius: 10px; position: relative; padding: 20px; }
#index_flow > ol > li:after { content: ''; display: block; width: 10px; height: 30px; background-color: #515c9a; clip-path: polygon(0 0, 100% 50%, 0 100%); position: absolute; left: 100%; top: 50%; transform: translateY(-50%); }
#index_flow > ol > li:last-child:after { display: none; }
#index_flow > ol > li h3 { background-color: #515c9a; color: #fff; border-radius: 5px; padding: 5px; font-size: 16px; display: flex; justify-content: flex-start; align-items: center; }
#index_flow > ol > li h3:before { content: counter(flow); color: #515c9a; background-color: #fff; width: 24px; height: 24px; border-radius: 50%; display: flex; justify-content: center; align-items: center; margin-right: 5px; }
#index_flow > ol > li h3 + p { margin-top: 10px; }
#index_flow > ol > li p { font-size: 14px; }
#index_flow > ol > li ul { list-style-type: none; }
#index_flow > ol > li ul li { margin-top: 10px; padding-left: 1.2em; position: relative; font-size: 12px; }
#index_flow > ol > li ul li:before { content: '※'; position: absolute; top: 0; left: 0; }

#index_schedule li, #s_schedule li { text-align: center; }
#index_schedule li .btn, #s_schedule li .btn { width: 90%; }
#index_schedule li .btn:before, #s_schedule li .btn:before { content: ''; width: 0; height: 0; border: 14px solid transparent; border-left: 14px solid #fff; position: absolute; right: 0px; top: 50%; margin-top: -14px; }

#s_schedule li { text-align: left; }

#index_sns { background: url("../img/index/link_bg.jpg") 50% 5%; background-size: cover; padding: 50px 10px; text-align: center; margin-top: 25px; }
#index_sns h2 { color: #fff; font-size: 200%; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5), -1px -1px 2px rgba(0, 0, 0, 0.5); border-bottom: 2px dotted #fff; padding-bottom: 10px; max-width: 400px; margin: 0 auto; }
#index_sns ul { list-style-type: none; max-width: 1000px; margin: 40px auto 0 auto; display: flex; justify-content: space-between; }
#index_sns ul li { width: 23.5%; }
#index_sns ul li a { display: flex; justify-content: center; align-items: center; width: 100%; height: 100px; background-color: #fff; outline: 1px dashed #515c9a; outline-offset: -5px; padding: 20px; text-decoration: none; box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2); transition: all .5s; }
#index_sns ul li a:hover { background-color: #fff9dd; box-shadow: 0 0 0 rgba(0, 0, 0, 0.2); transform: translate(5px, 5px); }
#index_sns ul li a img { width: 40px; margin-right: 10px; }
#index_sns ul li a span { font-weight: bold; font-size: 18px; line-height: 1.3; color: #000; text-align: left; }
#index_sns ul li.sns_youtube a img { width: 140px; margin-right: 0; }

#index_wakuwaku { margin-bottom: 50px; text-align: center; }
#index_wakuwaku p.center { font-size: 110%; }
#index_wakuwaku > div > div img { max-width: 300px; }

#index_challenge > div { border: 5px solid #f60; background: url("../img/cmn/cross.svg"); background-color: #fff9dd; background-size: 11px 11px; padding: 20px; text-align: center; }
#index_challenge > div h2 { font-size: 28px; padding-bottom: 20px; margin-bottom: 20px; color: #f93; line-height: 1; border-bottom: 1px dashed #f60; text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2); position: relative; }
#index_challenge > div h2:before { content: ''; width: 120px; height: 100px; display: block; background: url("../img/index/challenge_icon.svg") no-repeat; background-size: contain; position: absolute; bottom: 10px; left: 0; }
#index_challenge > div h2 span { font-size: 40px; display: inline-block; margin-left: 10px; color: #f60; }
#index_challenge > div .flex2 { align-items: center; }
#index_challenge > div .flex2 .btn2 { width: 100%; padding-top: 25px; padding-bottom: 25px; font-size: 130%; }

@media (max-width: 1050px) { #index_course li a { padding-top: calc(40vw*100/1050); }
  #index_course li a h3 { width: calc(140vw*100/1050); height: calc(140vw*100/1050); font-size: calc(16vw*100/1050); /*
outline-offset:calc(-8vw*100/1050);
*/ }
  #index_course li a h3:before { width: calc(100% - 16vw*100/1050); height: calc(100% - 16vw*100/1050); }
  #index_course li a p { font-size: calc(14vw*100/1050); padding: calc(40vw*100/1050); margin: calc(-40vw*100/1050) 0 0 auto; }
  #index_course li a p:before, #index_course li a p:after { width: calc(40vw*100/1050); height: calc(40vw*100/1050); top: calc(-15vw*100/1050); left: calc(40vw*100/1050); }
  #index_course li a p:after { margin: calc(2vw*100/1050) 0 0 calc(1vw*100/1050); }
  #index_reason li:nth-child(n+2) { margin-top: calc(20vw*100/1050); padding-top: calc(20vw*100/1050); }
  #index_reason li h3 { font-size: calc(21vw*100/1050); margin-bottom: calc(10vw*100/1050); }
  #index_reason li h3:before { padding: calc(5vw*100/1050) calc(20vw*100/1050); border-radius: calc(5vw*100/1050); margin-right: calc(10vw*100/1050); font-size: calc(18vw*100/1050); }
  #index_flow { margin-bottom: calc(50vw*100/1050); }
  #index_flow > ol > li { border-radius: calc(10vw*100/1050); padding: calc(20vw*100/1050); }
  #index_flow > ol > li:after { width: calc(10vw*100/1050); height: calc(30vw*100/1050); }
  #index_flow > ol > li h3 { border-radius: calc(5vw*100/1050); padding: calc(5vw*100/1050); font-size: calc(16vw*100/1050); }
  #index_flow > ol > li h3:before { width: calc(24vw*100/1050); height: calc(24vw*100/1050); margin-right: calc(5vw*100/1050); }
  #index_flow > ol > li h3 + p { margin-top: calc(10vw*100/1050); }
  #index_flow > ol > li p { font-size: calc(14vw*100/1050); }
  #index_flow > ol > li ul li { margin-top: calc(10vw*100/1050); font-size: calc(12vw*100/1050); }
  #index_bnr ul { padding: 0; }
  #index_news { padding: 0 25px; }
  #index_sns ul { margin: calc(40vw*100/1050) auto 0 auto; }
  #index_sns ul li a { height: calc(100vw*100/1050); outline-offset: calc(-5vw*100/1050); padding: calc(20vw*100/1050); box-shadow: calc(2vw*100/1050) calc(2vw*100/1050) calc(5vw*100/1050) rgba(0, 0, 0, 0.2); }
  #index_sns ul li a:hover { transform: translate(calc(5vw*100/1050), calc(5vw*100/1050)); }
  #index_sns ul li a img { width: calc(40vw*100/1050); margin-right: calc(10vw*100/1050); }
  #index_sns ul li a span { font-size: calc(18vw*100/1050); }
  #index_sns ul li.sns_youtube a img { width: calc(140vw*100/1050); } }
@media (max-width: 870px) { #index_challenge > div h2:before { top: -40px; bottom: auto; left: 0; }
  #index_challenge > div h2 span { display: block; margin: 5px 0 0 0; } }
@media (max-width: 750px) { #index_course li { width: 100%; margin-left: 0; }
  #index_course li:nth-child(n+2) { margin-top: 5vw; }
  #index_course li a { padding-top: 10vw; }
  #index_course li a h3 { width: 36vw; height: 36vw; font-size: 4vw; /*
outline-offset:-2vw;
*/ }
  #index_course li a h3:before { width: calc(100% - 2vw); height: calc(100% - 2vw); }
  #index_course li a p { font-size: 4vw; padding: 8vw; margin: -15vw 0 0 auto; }
  #index_course li a p:before, #index_course li a p:after { width: 8vw; height: 8vw; top: -3vw; left: 10vw; }
  #index_course li a p:after { margin: .4vw 0 0 .2vw; }
  #index_reason li:nth-child(n+2) { margin-top: 4vw; padding-top: 4vw; }
  #index_reason li h3 { flex-direction: column; align-items: flex-start; font-size: 6vw; margin-bottom: 2vw; }
  #index_reason li h3:before { padding: 1vw 4vw; border-radius: 1vw; margin: 0 0 2vw 0; font-size: 5vw; }
  #index_flow { margin-bottom: 10vw; }
  #index_flow > ol { flex-direction: column; }
  #index_flow > ol > li { width: 100%; border-radius: 4vw; padding: 4vw; }
  #index_flow > ol > li:after { width: 12vw; height: 3vw; clip-path: polygon(0 0, 100% 0, 50% 100%); top: 100%; left: 50%; transform: translateX(-50%); }
  #index_flow > ol > li:nth-child(n+2) { margin-top: 6vw; }
  #index_flow > ol > li h3 { border-radius: 2vw; padding: 4vw; font-size: 5vw; }
  #index_flow > ol > li h3:before { width: 8vw; height: 8vw; margin-right: 2vw; }
  #index_flow > ol > li h3 + p { margin-top: 2vw; }
  #index_flow > ol > li p { font-size: 4vw; }
  #index_flow > ol > li ul li { margin-top: 2vw; font-size: 3vw; }
  #index_schedule li .btn:before, #s_schedule li .btn:before { content: ''; border: 1vw solid transparent; border-left: 1vw solid #fff; margin-top: -1vw; }
  #s_schedule li { text-align: center; }
  #index_bnr { padding: 10px; }
  #index_bnr ul li { width: 100%; margin: 2% 0 0 0 !important; }
  #index_bnr ul li:first-child { margin-top: 0 !important; }
  #index_news { padding: 0 10px; }
  #index_news div div { padding: 10px; }
  #index_news div div article { width: 100%; float: none; }
  #index_news div div article:first-child { float: none; margin-bottom: 25px; }
  #index_sns { padding: 10px 6.25px; }
  #index_sns ul { flex-wrap: wrap; margin: 4vw auto 0 auto; }
  #index_sns ul li { width: 49%; }
  #index_sns ul li:nth-child(n+3) { margin-top: 2%; }
  #index_sns ul li a { height: 18vw; outline-offset: -1vw; padding: 3vw; box-shadow: 0.5vw 0.5vw 1vw rgba(0, 0, 0, 0.2); }
  #index_sns ul li a:hover { transform: translate(1vw, 1vw); }
  #index_sns ul li a img { width: 7vw; margin-right: 2vw; }
  #index_sns ul li a span { font-size: 4vw; }
  #index_sns ul li.sns_youtube a img { width: 24vw; }
  #index_challenge > div { padding: 10px; text-align: center; }
  #index_challenge > div h2 { font-size: 21px; padding-bottom: 10px; margin-bottom: 10px; }
  #index_challenge > div h2:before { content: ''; width: 60px; height: 50px; top: -25px; bottom: auto; left: 0; }
  #index_challenge > div h2 span { font-size: 36px; display: block; margin: 5px 0 0 0; } }
/*dl*/
.dl1 dt { font-size: 15.6px; margin-top: 10px; color: #fc6c21; }
.dl1 dt:first-child { margin-top: 0px; }

/*table*/
.tbl1 { width: 100%; border-collapse: separate; border: 1px solid #ccc; -webkit-border-radius: 5px; -moz-border-radius: 5px; -ms-border-radius: 5px; border-radius: 5px; }
.tbl1 th, .tbl1 td { vertical-align: top; text-align: left; padding: 10px; border-top: 1px dashed #ddd; }
.tbl1 th { background-color: #d9f5ff; color: #515c9a; width: 20%; }
.tbl1 td { width: 80%; background-color: #fff; }
.tbl1 tr:first-child th, .tbl1 tr:first-child td { border-top: 0px; }
.tbl1 tr:first-child th { -webkit-border-radius: 5px 0 0 0; -moz-border-radius: 5px 0 0 0; -ms-border-radius: 5px 0 0 0; border-radius: 5px 0 0 0; }
.tbl1 tr:last-child th { -webkit-border-radius: 0 0 0 5px; -moz-border-radius: 0 0 0 5px; -ms-border-radius: 0 0 0 5px; border-radius: 0 0 0 5px; }

.curr { width: 100%; border: 1px solid #999; border-collapse: separate; -webkit-border-radius: 0 0 5px 5px; -moz-border-radius: 0 0 5px 5px; -ms-border-radius: 0 0 5px 5px; border-radius: 0 0 5px 5px; border-top: 0px; }
.curr caption { background-color: #515c9a; color: #fff; font-size: 15.6px; padding: 5px; -webkit-border-radius: 5px 5px 0 0; -moz-border-radius: 5px 5px 0 0; -ms-border-radius: 5px 5px 0 0; border-radius: 5px 5px 0 0; }
.curr th, .curr td { border-top: 1px dashed #999; padding: 10px; background-color: rgba(255, 255, 255, 0.8); }
.curr th { border-right: 1px dashed #999; white-space: nowrap; color: #515c9a; }
.curr tr:nth-child(2n) th, .curr tr:nth-child(2n) td { background-color: rgba(255, 255, 255, 0.3); }
.curr tr:first-child th, .curr tr:first-child td { border-top: 0px; }
.curr tr:last-child th { -webkit-border-radius: 0 0 0 5px; -moz-border-radius: 0 0 0 5px; -ms-border-radius: 0 0 0 5px; border-radius: 0 0 0 5px; }
.curr tr:last-child td { -webkit-border-radius: 0 0 5px 0; -moz-border-radius: 0 0 5px 0; -ms-border-radius: 0 0 5px 0; border-radius: 0 0 5px 0; }

.curr2 { width: 100%; border: 1px solid #999; border-collapse: separate; -webkit-border-radius: 5px; -moz-border-radius: 5px; -ms-border-radius: 5px; border-radius: 5px; }
.curr2 thead { background-color: #515c9a; color: #fff; }
.curr2 thead th { padding: 10px; border-left: 1px dashed #fff; }
.curr2 thead th:first-child { border-left: 0px; }
.curr2 tbody { background-color: rgba(255, 255, 255, 0.8); }
.curr2 tbody:nth-child(2) tr:first-child th, .curr2 tbody:nth-child(2) tr:first-child td { border-top: 0px; }
.curr2 tbody:last-child { -webkit-border-radius: 0 0 5px 5px; -moz-border-radius: 0 0 5px 5px; -ms-border-radius: 0 0 5px 5px; border-radius: 0 0 5px 5px; }
.curr2 tbody td { width: 18px; border-top: 1px dashed #999; border-right: 1px dashed #999; padding: 10px; text-align: center; }
.curr2 tbody td:last-child { border-right: 0px; width: 64%; text-align: left; }
.curr2 tbody:nth-child(2n) { background-color: rgba(255, 255, 255, 0.3); }
.curr2.curr2_left tbody th { border-top: 1px dashed #999; border-right: 1px dashed #999; }
.curr2.curr2_left tbody td { text-align: left; }
.curr2.curr2_left tbody td:last-child { text-align: center; }
.curr2.curr2_left.curr2_left2 td:last-child { text-align: left; }

.curr3 { width: 100%; border: 1px solid #999; border-collapse: separate; -webkit-border-radius: 5px; -moz-border-radius: 5px; -ms-border-radius: 5px; border-radius: 5px; }
.curr3 th, .curr3 td { border-top: 1px dashed #999; border-left: 1px dashed #999; padding: 10px; background-color: rgba(255, 255, 255, 0.8); text-align: center; vert0cal-align: middle; width: 30%; }
.curr3 th:first-child, .curr3 td:first-child { width: 10%; border-left: 0px; }
.curr3 th:nth-child(2n), .curr3 td:nth-child(2n) { background-color: rgba(255, 255, 255, 0.3); }
.curr3 th { color: #515c9a; }
.curr3 tr:first-child th { border-top: 0px; }
.curr3 tr:first-child th:first-child { -webkit-border-radius: 5px 0 0 0; -moz-border-radius: 5px 0 0 0; -ms-border-radius: 5px 0 0 0; border-radius: 5px 0 0 0; }
.curr3 tr:first-child th:last-child { -webkit-border-radius: 0 5px 0 0; -moz-border-radius: 0 5px 0 0; -ms-border-radius: 0 5px 0 0; border-radius: 0 5px 0 0; }
.curr3 tr:last-child td:first-child { -webkit-border-radius: 0 0 0 5px; -moz-border-radius: 0 0 0 5px; -ms-border-radius: 0 0 0 5px; border-radius: 0 0 0 5px; }
.curr3 tr:last-child td:last-child { -webkit-border-radius: 0 0 5px 0; -moz-border-radius: 0 0 5px 0; -ms-border-radius: 0 0 5px 0; border-radius: 0 0 5px 0; }

@media (max-width: 750px) { .tbl1 th, .tbl1 td { width: 100%; display: block; }
  .tbl1 tr:first-child th { -webkit-border-radius: 5px 5px 0 0; -moz-border-radius: 5px 5px 0 0; -ms-border-radius: 5px 5px 0 0; border-radius: 5px 5px 0 0; }
  .tbl1 tr:first-child td { border-top: 1px dashed #ddd; }
  .tbl1 tr:last-child th { -webkit-border-radius: 0; -moz-border-radius: 0; -ms-border-radius: 0; border-radius: 0; }
  .curr3 thead { display: none; }
  .curr3 td { display: block; width: 100% !important; border-top: 1px dashed #999; border-left: 0px; padding: 10px; background-color: rgba(255, 255, 255, 0.8); text-align: left; }
  .curr3 td:nth-child(2n) { background-color: rgba(255, 255, 255, 0.8); }
  .curr3 td:nth-child(1):before { content: '【項目】'; display: block; }
  .curr3 td:nth-child(2):before { content: '【数】'; display: block; }
  .curr3 td:nth-child(3):before { content: '【図形】'; display: block; }
  .curr3 td:nth-child(4):before { content: '【文章表現】'; display: block; }
  .curr3 tr:nth-child(2n) td { background-color: rgba(255, 255, 255, 0.3); }
  .curr3 tr:first-child td { border-top: 0px; }
  .curr3 tr:first-child td:first-child { -webkit-border-radius: 5px 5px 0 0; -moz-border-radius: 5px 5px 0 0; -ms-border-radius: 5px 5px 0 0; border-radius: 5px 5px 0 0; }
  .curr3 tr:last-child td:first-child { -webkit-border-radius: 0; -moz-border-radius: 0; -ms-border-radius: 0; border-radius: 0; }
  .curr3 tr:last-child td:last-child { -webkit-border-radius: 0 0 5px 5px; -moz-border-radius: 0 0 5px 5px; -ms-border-radius: 0 0 5px 5px; border-radius: 0 0 5px 5px; } }
/*page*/
header + h1 { background-color: #515c9a; color: #fff; padding: 25px 0; text-align: center; font-weight: normal; }
header + h1 > span { display: inline-block; text-align: left; font-size: 23.4px; letter-spacing: 0.2em; padding: 0 10px 0 50px; position: relative; }
header + h1 > span:after { content: ''; display: block; width: 32px; height: 32px; position: absolute; top: 50%; margin-top: -16px; left: 10px; }
header + h1 > span span { font-size: 13px; letter-spacing: normal; }
header + h1 > span span:before { content: ' / '; }
header + h1.ttl_ke span:after { background: url("../img/cmn/icon.png") no-repeat -32px -64px; background-size: 64px 288px; }
header + h1.ttl_course span:after { background: url("../img/cmn/icon.png") no-repeat -32px -97px; background-size: 64px 288px; }
header + h1.ttl_s span:after { background: url("../img/cmn/icon.png") no-repeat -32px -128px; background-size: 64px 288px; }
header + h1.ttl_voice span:after { background: url("../img/cmn/icon.png") no-repeat -32px -160px; background-size: 64px 288px; }
header + h1.ttl_other span:after { background: url("../img/cmn/icon.png") no-repeat -32px -192px; background-size: 64px 288px; }
header + h1.ttl_contact span:after { background: url("../img/cmn/icon.png") no-repeat -32px -224px; background-size: 64px 288px; }
header + h1.ttl_vl span:after { background: url("../img/cmn/icon.png") no-repeat -32px -256px; background-size: 64px 288px; }

#page { padding-top: 25px; padding-bottom: 25px; }
#page article { margin-top: 25px; }
#page article:first-child { margin-top: 0; }
#page article strong { color: #fc6c21; font-size: 120%; }

.w750 { max-width: 750px; }

@media (max-width: 750px) { header + h1 { padding: 10px 0; }
  header + h1 > span { letter-spacing: normal; font-size: 15.6px; }
  header + h1 > span span { display: block; } }
/*philosophy*/
#philosophy { padding-right: 52%; position: relative; }
#philosophy p { margin-top: 10px; }
#philosophy p:first-child { margin-top: 0; }
#philosophy ul { position: absolute; right: 0px; top: 0px; width: 48%; list-style-type: none; }
#philosophy ul li { background-color: #515c9a; color: #fff; text-align: center; padding: 10px; -webkit-border-radius: 5px; -moz-border-radius: 5px; -ms-border-radius: 5px; border-radius: 5px; margin-top: 40px; position: relative; font-size: 15.6px; letter-spacing: 0.2em; text-indent: 0.2em; }
#philosophy ul li:first-child { margin-top: 0px; }
#philosophy ul li:last-child { background-color: #fc6c21; }
#philosophy ul li:before { border-top: 10px solid #515c9a; top: -25px; left: 50%; margin-left: -10px; }
#philosophy ul li:first-child:before { display: none; }
#philosophy ul li span { font-size: 13px; position: absolute; bottom: -40px; left: 50%; margin-left: 15px; color: #666; display: inline-block; line-height: 40px; letter-spacing: normal; }

@media (max-width: 750px) { #philosophy { padding-right: 0; }
  #philosophy ul { position: static; width: 100%; margin-top: 10px; } }
/*course*/
#course_sc_tbl, #course_p_tbl, .course_p_tbl2, #course_bp_tbl { width: 100%; border: 1px solid #999; border-collapse: separate; -webkit-border-radius: 5px; -moz-border-radius: 5px; -ms-border-radius: 5px; border-radius: 5px; }
#course_sc_tbl thead, #course_p_tbl thead, .course_p_tbl2 thead, #course_bp_tbl thead { background-color: #515c9a; color: #fff; }
#course_sc_tbl thead th, #course_p_tbl thead th, .course_p_tbl2 thead th, #course_bp_tbl thead th { padding: 10px; border-left: 1px dashed #fff; }
#course_sc_tbl thead th:nth-child(1), #course_p_tbl thead th:nth-child(1), .course_p_tbl2 thead th:nth-child(1), #course_bp_tbl thead th:nth-child(1) { border-left: 0px; }
#course_sc_tbl tbody, #course_p_tbl tbody, .course_p_tbl2 tbody, #course_bp_tbl tbody { background-color: rgba(255, 255, 255, 0.8); }
#course_sc_tbl tbody:nth-child(2) tr:first-child td, #course_p_tbl tbody:nth-child(2) tr:first-child td, .course_p_tbl2 tbody:nth-child(2) tr:first-child td, #course_bp_tbl tbody:nth-child(2) tr:first-child td { border-top: 0px; }
#course_sc_tbl tbody:nth-child(2n+1), #course_p_tbl tbody:nth-child(2n+1), .course_p_tbl2 tbody:nth-child(2n+1), #course_bp_tbl tbody:nth-child(2n+1) { background-color: rgba(255, 255, 255, 0.3); }
#course_sc_tbl tbody:last-child, #course_p_tbl tbody:last-child, .course_p_tbl2 tbody:last-child, #course_bp_tbl tbody:last-child { -webkit-border-radius: 0 0 5px 5px; -moz-border-radius: 0 0 5px 5px; -ms-border-radius: 0 0 5px 5px; border-radius: 0 0 5px 5px; }
#course_sc_tbl tbody td, #course_p_tbl tbody td, .course_p_tbl2 tbody td, #course_bp_tbl tbody td { border-top: 1px dashed #999; border-right: 1px dashed #999; padding: 10px; text-align: center; vertical-align: top; }
#course_sc_tbl tbody td:last-child, #course_p_tbl tbody td:last-child, .course_p_tbl2 tbody td:last-child, #course_bp_tbl tbody td:last-child { border-right: 0px; }
@media (max-width: 750px) { #course_sc_tbl thead, #course_p_tbl thead, .course_p_tbl2 thead, #course_bp_tbl thead { display: none; }
  #course_sc_tbl tbody:nth-child(2) tr:first-child td, #course_p_tbl tbody:nth-child(2) tr:first-child td, .course_p_tbl2 tbody:nth-child(2) tr:first-child td, #course_bp_tbl tbody:nth-child(2) tr:first-child td { border-top: 1px dashed #999; }
  #course_sc_tbl tbody:nth-child(2) tr:first-child td:first-child, #course_p_tbl tbody:nth-child(2) tr:first-child td:first-child, .course_p_tbl2 tbody:nth-child(2) tr:first-child td:first-child, #course_bp_tbl tbody:nth-child(2) tr:first-child td:first-child { border-top: 0px; }
  #course_sc_tbl tbody td, #course_p_tbl tbody td, .course_p_tbl2 tbody td, #course_bp_tbl tbody td { width: 100%; display: block; border-right: 0px; text-align: left; }
  #course_sc_tbl tbody td:before, #course_p_tbl tbody td:before, .course_p_tbl2 tbody td:before, #course_bp_tbl tbody td:before { display: block; } }

.course_menu { border: 1px dashed #999; -webkit-border-radius: 5px; -moz-border-radius: 5px; -ms-border-radius: 5px; border-radius: 5px; padding: 19px; }
.course_menu.course_menu_in { border: 0; padding: 0 !important; }
.course_menu.course_menu_in ul { justify-content: flex-start; }
.course_menu h2 { background-color: #515c9a; color: #fff; text-align: center; padding: 10px; font-size: 23.4px; -webkit-border-radius: 3px; -moz-border-radius: 3px; -ms-border-radius: 3px; border-radius: 3px; }
.course_menu ul { margin-top: 5px; list-style-type: none; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; flec-wrap: wrap; /*
		@extend %ul_inline;
		text-align:center;
		li{
			margin:10px 5px 0 5px;
			font-size:$f_sz_m;
			position:relative;
			padding-left:10px;
			&:before{
				@extend %arrow;
				border-left:5px solid $cl_main;
				top:50%;
				margin-top:-5px;
				left:0px;
			}
		}
*/ }
.course_menu ul li { margin: 5px; }
.course_menu ul li a { text-decoration: none; display: flex; justify-content: center; align-items: center; border-radius: 5px; background-color: #515c9a; color: #fff; padding: 5px 10px; white-space: nowrap; font-size: 15.6px; transition: background-color .5s; }
.course_menu ul li a img { width: 24px; height: auto; margin-right: 10px; flex-shrink: 0; }
.course_menu ul li a:hover { background-color: #515c9a; }

.course { background: url("../img/course/bg.jpg"); box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2); -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2); -moz-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2); padding: 50px; position: relative; margin-top: 40px; }
.course:first-child { margin-top: 20px; }
.course:before { content: ''; width: 40px; height: 52px; background: url("../img/course/clip.png") no-repeat; background-size: 40px 52px; position: absolute; right: 10px; top: -21px; }
.course h2 { color: #fc6c21; font-size: 23.4px; border-bottom: 1px dashed #fc6c21; padding-bottom: 15px; margin-bottom: 15px; }
.course h2 span { display: inline-block; font-size: 15.6px; background-color: #fc6c21; color: #fff; font-weight: normal; padding: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px; -ms-border-radius: 5px; border-radius: 5px; margin-left: 10px; line-height: 1em; }
.course h2 img { max-width: 300px; }
.course article { margin-top: 20px; padding-top: 20px; border-top: 1px dashed #666; }
.course article h3 { color: #515c9a; font-size: 20.8px; margin-bottom: 20px; }
.course article h3 span { display: inline-block; font-weight: normal; font-size: 13px; background-color: #515c9a; color: #fff; line-height: 1em; padding: 5px; -webkit-border-radius: 3px; -moz-border-radius: 3px; -ms-border-radius: 3px; border-radius: 3px; margin-right: 5px; vertical-align: middle; }
.course article img { width: 100%; height: auto; }
.course article h4 { color: #515c9a; }
.course article h4, .course article p, .course article ul, .course article dl { margin-top: 10px; }
.course article h4:first-child, .course article p:first-child, .course article ul:first-child, .course article dl:first-child { margin-top: 0px; }
.course article dl dt { font-size: 15.6px; padding-left: 20px; margin-top: 10px; position: relative; color: #fc6c21; }
.course article dl dt:first-child { margin-top: 0px; }
.course article dl dt:before { content: '●'; position: absolute; top: 0px; left: 0px; }
.course article dl dd { padding-left: 20px; }
.course article dl.ol { counter-reset: n; }
.course article dl dt { counter-increment: n; padding-left: 30px; }
.course article dl dt:before { content: counter(n); background-color: #fc6c21; width: 20px; height: 20px; -webkit-border-radius: 3px; -moz-border-radius: 3px; -ms-border-radius: 3px; border-radius: 3px; color: #fff; text-align: center; line-height: 20px; }
.course article dl dd { padding-left: 30px; }
.course h2 + article { margin-top: 0px; padding-top: 0px; border-top: 0px; }
.course .sc_logo { width: 250px; vertical-align: middle; margin-right: 5px; }

.course_flow li { width: 22%; margin-left: 4%; padding: 10px !important; border: 1px dashed #999; background-color: rgba(255, 255, 255, 0.8); -webkit-border-radius: 5px; -moz-border-radius: 5px; -ms-border-radius: 5px; border-radius: 5px; }
.course_flow li:first-child { margin-left: 0; }
.course_flow li:before { display: none; }
.course_flow li:after { border-left: 10px solid #515c9a; position: absolute; top: 50px; left: 107%; }
.course_flow li:last-child:after { display: none; }

.cf3 li { width: 30%; margin-left: 5%; }

.course_q, .course_a { border: 1px dashed #999; background-color: rgba(255, 255, 255, 0.8); padding: 19px 19px 19px 100px; position: relative; }
.course_q:before, .course_a:before { position: absolute; font-size: 70px; font-weight: bold; line-height: 1em; top: 20px; left: 20px; }

.course_q { -webkit-border-radius: 5px 5px 0 0; -moz-border-radius: 5px 5px 0 0; -ms-border-radius: 5px 5px 0 0; border-radius: 5px 5px 0 0; }
.course_q:before { content: 'Q'; color: #515c9a; }

.course_a { border-top: 0px; -webkit-border-radius: 0 5px 5px; -moz-border-radius: 0 5px 5px; -ms-border-radius: 0 5px 5px; border-radius: 0 5px 5px; }
.course_a:before { content: 'A'; color: #fc6c21; }
.course_a .comment { background-color: #fec; margin-top: 20px; padding: 10px; color: #fc6c21; -webkit-border-radius: 5px; -moz-border-radius: 5px; -ms-border-radius: 5px; border-radius: 5px; font-size: 15.6px; }

#course_sc_tbl thead th:nth-child(1) { width: 20%; }
#course_sc_tbl thead th:nth-child(2) { width: 60%; }
#course_sc_tbl thead th:nth-child(3) { width: 20%; }
#course_sc_tbl tbody td:nth-child(1) img { max-width: 80%; }
#course_sc_tbl tbody td:nth-child(1) span { display: inline-block; vertical-align: middle; font-size: 24px; color: #fc6c21; }
#course_sc_tbl tbody td:nth-child(2) { text-align: left; }

#course_p_tbl thead th:nth-child(1) { width: 10%; }
#course_p_tbl thead th:nth-child(2) { width: 30%; }
#course_p_tbl thead th:nth-child(3) { width: 60%; }
#course_p_tbl tbody td:nth-child(2), #course_p_tbl tbody td:nth-child(3) { text-align: left; }

.course_p_tbl2 caption { color: #515c9a; margin-bottom: 10px; padding-bottom: 10px; font-size: 16.9px; text-align: left; border-bottom: 1px dashed #515c9a; }
.course_p_tbl2 thead th { text-align: left; }
.course_p_tbl2 thead th:nth-child(1) { width: 20%; }
.course_p_tbl2 thead th:nth-child(2) { width: 80%; }
.course_p_tbl2 tbody td { text-align: left; }
.course_p_tbl2 tbody td ul li { margin-right: 5px; }
.course_p_tbl2 tbody td.exam { background-color: #fff; color: #fc6c21; text-align: center; font-size: 16.9px !important; font-weight: bold; }
.course_p_tbl2 tbody td.exam span { letter-spacing: 3em; }
.course_p_tbl2 tbody td.exam:before { content: "" !important; width: 0; height: 0; border: 8px solid transparent; border-top: 8px solid #fc6c21; margin: 0 auto; display: block; }
.course_p_tbl2 tbody td.exam:after { content: ''; width: 0; height: 0; border: 8px solid transparent; border-top: 8px solid #fc6c21; margin: 8px auto -8px auto; display: block; }

#course_bp_tbl thead th:nth-child(1) { width: 12%; }
#course_bp_tbl thead th:nth-child(2) { width: 20%; }
#course_bp_tbl thead th:nth-child(3) { width: 32%; }
#course_bp_tbl thead th:nth-child(4) { width: 36%; }
#course_bp_tbl tbody td:nth-child(3), #course_bp_tbl tbody td:nth-child(4) { text-align: left; }

.course_steam_tbl { width: 100%; border-collapse: separate; border: 1px solid #ccc; -webkit-border-radius: 5px; -moz-border-radius: 5px; -ms-border-radius: 5px; border-radius: 5px; }
.course_steam_tbl th, .course_steam_tbl td { vertical-align: middle; text-align: center; padding: 10px; border-top: 1px dashed #ddd; border-right: 1px dashed #ddd; width: 13%; }
.course_steam_tbl th:first-child, .course_steam_tbl td:first-child { width: 22%; }
.course_steam_tbl th:last-child, .course_steam_tbl td:last-child { border-right: 0px; }
.course_steam_tbl th span, .course_steam_tbl td span { font-size: 80%; font-weight: normal; display: block; }
.course_steam_tbl th { background-color: #d9f5ff; color: #515c9a; }
.course_steam_tbl td { background-color: #fff; }
.course_steam_tbl thead tr:first-child th, .course_steam_tbl thead tr:first-child td { border-top: 0px; }
.course_steam_tbl thead tr:first-child th:first-child, .course_steam_tbl thead tr:first-child td:first-child { -webkit-border-radius: 5px 0 0 0; -moz-border-radius: 5px 0 0 0; -ms-border-radius: 5px 0 0 0; border-radius: 5px 0 0 0; }
.course_steam_tbl thead tr:first-child th:last-child, .course_steam_tbl thead tr:first-child td:last-child { -webkit-border-radius: 0 5px 0 0; -moz-border-radius: 0 5px 0 0; -ms-border-radius: 0 5px 0 0; border-radius: 0 5px 0 0; }
.course_steam_tbl tbody tr:first-child th, .course_steam_tbl tbody tr:first-child td { border-top: 1px dashed #ddd; }
.course_steam_tbl tbody tr:last-child th:first-child, .course_steam_tbl tbody tr:last-child td:first-child { -webkit-border-radius: 0 0 0 5px; -moz-border-radius: 0 0 0 5px; -ms-border-radius: 0 0 0 5px; border-radius: 0 0 0 5px; }
.course_steam_tbl tbody tr:last-child th:last-child, .course_steam_tbl tbody tr:last-child td:last-child { -webkit-border-radius: 0 0 5px 0; -moz-border-radius: 0 0 5px 0; -ms-border-radius: 0 0 5px 0; border-radius: 0 0 5px 0; }

@media (max-width: 750px) { .course_menu { padding: 9px; }
  .course_menu.course_menu_in ul { justify-content: center; }
  .course_menu h2 { padding: 5px; font-size: 15.6px; }
  .course_menu ul li { font-size: 13px; }
  .course { padding: 25px; }
  .course h2 { font-size: 15.6px; }
  .course h2 span { font-size: 13px; margin: 10px 0 0 0; }
  .course h2 img { max-width: 220px; }
  .course article { margin-top: 10px; padding-top: 10px; }
  .course article h3 { font-size: 13px; }
  .course article h3 span { font-size: 10.4px; }
  .course .sc_logo { width: 150px; }
  .course_flow li { width: 100%; margin: 20px 0 0 0; }
  .course_flow li:first-child { margin-top: 0; }
  .course_flow li:after { border-left: 10px solid transparent; border-top: 10px solid #515c9a; top: auto; bottom: -25px; left: 50%; margin-left: -10px; }
  .course_q, .course_a { padding: 9px; position: relative; }
  .course_q:before, .course_a:before { position: static; font-size: 40px; margin-bottom: 10px; display: block; }
  .course_a .comment { margin-top: 10px; padding: 10px; font-size: 13px; }
  #course_sc_tbl tbody td:nth-child(1) img { max-width: 100%; display: block; margin-bottom: 5px; }
  #course_sc_tbl tbody td:nth-child(1):before { content: '【クラス】'; }
  #course_sc_tbl tbody td:nth-child(2):before { content: '【学習内容】'; }
  #course_sc_tbl tbody td:nth-child(3):before { content: '【授業時間・回数】'; }
  .course_p_tbl2 tbody td:nth-child(1):before { content: '【ランク】'; }
  .course_p_tbl2 tbody td:nth-child(2):before { content: '【内容】'; }
  #course_p_tbl tbody td:nth-child(1):before { content: '【回数】'; }
  #course_p_tbl tbody td:nth-child(2):before { content: '【教材名】'; }
  #course_p_tbl tbody td:nth-child(3):before { content: '【めあて／詳細】'; }
  #course_bp_tbl tbody td:nth-child(2):before { content: '【ステージ】'; }
  #course_bp_tbl tbody td:nth-child(3):before { content: '【内容】'; }
  #course_bp_tbl tbody td:nth-child(4):before { content: '【学べること】'; }
  .course_steam_tbl thead { display: none; }
  .course_steam_tbl th, .course_steam_tbl td { display: block; width: 100% !important; border-right: 0px; }
  .course_steam_tbl tbody tr:first-child th:first-child { border-top: 0; }
  .course_steam_tbl tbody tr:last-child th:first-child, .course_steam_tbl tbody tr:last-child td:first-child { -webkit-border-radius: 0; -moz-border-radius: 0; -ms-border-radius: 0; border-radius: 0; }
  .course_steam_tbl tbody tr:last-child th:last-child, .course_steam_tbl tbody tr:last-child td:last-child { -webkit-border-radius: 0 0 5px 5px; -moz-border-radius: 0 0 5px 5px; -ms-border-radius: 0 0 5px 5px; border-radius: 0 0 5px 5px; }
  .course_steam_tbl1 tbody td:before { display: block; color: #515c9a; font-weight: bold; }
  .course_steam_tbl1 tbody td:nth-child(2):before { content: '【3月】'; }
  .course_steam_tbl1 tbody td:nth-child(3):before { content: '【4月】'; }
  .course_steam_tbl1 tbody td:nth-child(4):before { content: '【5月】'; }
  .course_steam_tbl1 tbody td:nth-child(5):before { content: '【6月】'; }
  .course_steam_tbl1 tbody td:nth-child(6):before { content: '【7月】'; }
  .course_steam_tbl1 tbody td:nth-child(7):before { content: '【8月】'; }
  .course_steam_tbl2 tbody td:before { display: block; color: #515c9a; font-weight: bold; }
  .course_steam_tbl2 tbody td:nth-child(2):before { content: '【9月】'; }
  .course_steam_tbl2 tbody td:nth-child(3):before { content: '【10月】'; }
  .course_steam_tbl2 tbody td:nth-child(4):before { content: '【11月】'; }
  .course_steam_tbl2 tbody td:nth-child(5):before { content: '【12月】'; }
  .course_steam_tbl2 tbody td:nth-child(6):before { content: '【1月】'; }
  .course_steam_tbl2 tbody td:nth-child(7):before { content: '【2月】'; } }
#course_es_creature_point { display: flex; justify-content: space-between; counter-reset: point; }
#course_es_creature_point li { width: 32%; counter-increment: point; list-style-type: none; background-color: #515c9a; color: #fff; padding: 20px; }
#course_es_creature_point li:before { content: counter(point); display: flex; justify-content: center; align-items: center; width: 50px; height: 50px; border-radius: 50%; background-color: #fff; color: #515c9a; margin: 0 auto 10px auto; font-size: 36px; }
#course_es_creature_point li h4 { color: #ff3; font-size: 21px; text-align: center; margin: 0 0 10px 0; }

@media (max-width: 1050px) { #course_es_creature_point li { padding: 1.9vw; }
  #course_es_creature_point li:before { width: 4.76vw; height: 4.76vw; margin: 0 auto 1vw auto; font-size: 3.43vw; }
  #course_es_creature_point li h4 { font-size: 2vw; margin: 0 0 1vw 0; } }
@media (max-width: 750px) { #course_es_creature_point { flex-direction: column; }
  #course_es_creature_point li { width: 100%; padding: 5vw; }
  #course_es_creature_point li:nth-child(n+2) { margin-top: 5vw; }
  #course_es_creature_point li:before { width: 20vw; height: 20vw; margin: 0 auto 5vw auto; font-size: 14vw; }
  #course_es_creature_point li h4 { font-size: 6vw; margin: 0 0 2vw 0; }
  #course_es_creature_point li p { font-size: 4vw; } }
/*layout*/
.column2 { letter-spacing: -1em; }
.column2 div { width: 49%; letter-spacing: normal; display: inline-block; vertical-align: top; margin: 2% 0 0 2%; }
.column2 div:nth-child(2n+1) { margin-left: 0; }
.column2 div:first-child, .column2 div:nth-child(2) { margin-top: 0px; }

.column3 { letter-spacing: -1em; }
.column3 div { width: 32%; letter-spacing: normal; display: inline-block; vertical-align: top; margin-left: 2%; }
.column3 div:first-child { margin-left: 0; }
.column3 div.c2 { width: 66%; }

.clr { overflow: hidden; zoom: 1; }
.clr img { width: 40% !important; float: right; margin-left: 10px; }

@media (max-width: 750px) { .column2 div, .column3 div { width: 100% !important; margin: 10px 0 0 0; }
  .column2 div:first-child, .column3 div:first-child { margin-top: 0; }
  .column2 div:nth-child(2) { margin-top: 10px; } }
/*school*/
#school div#school_course { margin-bottom: 20px; background-color: #fec; padding: 20px; border-radius: 5px; }
#school div#school_course h2 { color: #f60; border-bottom: 1px dashed #f60; padding-bottom: 10px; margin-bottom: 10px; font-size: 18px; }
#school div#school_course ul li { font-size: 14px; margin-right: 10px; }
#school div#school_course ul li:before { content: '●'; color: #f60; }
#school table { width: 100%; border-top: 1px dashed #ccc; }
#school table th, #school table td { border-bottom: 1px dashed #ccc; padding: 10px 0; text-align: left; vertical-align: top; }
#school table th { width: 20%; color: #515c9a; }
#school table td { width: 80%; }
#school table td ol li { margin-top: 25px; background-color: #eaf5ff; -webkit-border-radius: 5px; -moz-border-radius: 5px; -ms-border-radius: 5px; border-radius: 5px; padding: 10px; position: relative; }
#school table td ol li div img { width: 30%; min-width: 120px; float: left; margin-right: 10px; }
#school table td ol li:before { width: 50px; height: 50px; -webkit-border-radius: 25px; -moz-border-radius: 25px; -ms-border-radius: 25px; border-radius: 25px; display: block; font-size: 24px; text-align: center; line-height: 50px; background-color: #515c9a; color: #fff; position: absolute; left: -5px; top: -5px; }
#school table td ol li:after { border-top: 10px solid #515c9a; top: -15px; left: 50%; margin-left: -10px; }
#school table td ol li:first-child:after { display: none; }

.school_gmap { width: 100%; height: 0; padding-bottom: 75%; position: relative; }
.school_gmap iframe { width: 100%; height: 100%; position: absolute; top: 0; left: 0; }

@media (max-width: 750px) { #school div#school_course { margin-bottom: 10px; padding: 10px; border-radius: 3px; }
  #school div#school_course h2 { padding-bottom: 5px; margin-bottom: 5px; font-size: 16px; }
  #school div#school_course ul li { font-size: 12px; margin-right: 0; width: 50%; }
  #school table th, #school table td { width: 100%; display: block; }
  #school table th { text-align: center; }
  #school table td ol li:before { width: 30px; height: 30px; -webkit-border-radius: 15px; -moz-border-radius: 15px; -ms-border-radius: 15px; border-radius: 15px; line-height: 30px; font-size: 16px; } }
/*voice*/
.voice { letter-spacing: -1em; margin-top: 25px; }
.voice:first-child { margin-top: 0; }
.voice h2 { text-align: center; color: #515c9a; font-size: 15.6px; padding-bottom: 10px; border-bottom: 1px dashed #999; letter-spacing: normal; }
.voice h2 br { display: none; }
.voice article, .voice section { letter-spacing: normal; display: inline-block; vertical-align: top; text-align: left; margin: 2% 0 0 4%; width: 48%; }
.voice article:nth-child(2n), .voice section:nth-child(2n) { margin-left: 0; }
.voice article { background: url("../img/voice/pin.png") no-repeat 50% 0, url("../img/voice/bg.jpg"); background-size: 30px 39px,200px 200px; padding: 40px 20px 20px 20px; box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2); -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2); -moz-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2); }
.voice article p { margin-top: 15px; line-height: 1.8; }
.voice article p:first-child { margin-top: 0; }
.voice article p:last-child { text-align: right; }
.voice article img { float: right; width: 50%; margin-left: 10px; }
.voice article img + p { margin-top: 0; }
.voice article ul { margin-top: 15px; }
.voice section:nth-child(2n) { margin-left: 4%; }
.voice section:nth-child(2n+1) { margin-left: 0; }
.voice section article { width: 100%; }

@media (max-width: 750px) { .voice { margin-top: 10px; }
  .voice h2 { font-size: 15.6px; }
  .voice h2 br { display: block; }
  .voice article, .voice section { margin: 10px 0 0 0 !important; width: 100%; }
  .voice article img { width: 100%; float: none; margin: 0 0 10px 0; } }
/*faq*/
#faq_menu { list-style-type: none; border: 1px dashed #ccc; -webkit-border-radius: 5px; -moz-border-radius: 5px; -ms-border-radius: 5px; border-radius: 5px; padding: 14px; counter-reset: faq; }
#faq_menu li { counter-increment: faq; }
#faq_menu li a { display: block; line-height: 40px; font-size: 15.6px; position: relative; padding-left: 40px; color: #666; }
#faq_menu li a:before { content: "Q" counter(faq); display: block; width: 30px; height: 30px; font-size: 13px; background-color: #515c9a; -webkit-border-radius: 15px; -moz-border-radius: 15px; -ms-border-radius: 15px; border-radius: 15px; color: #fff; text-align: center; line-height: 30px; position: absolute; left: 0px; top: 5px; }

.faq { margin-top: 25px; counter-increment: faq2; }
.faq h2 { background-color: #515c9a; color: #fff; font-size: 15.6px; padding: 15px 15px 15px 55px; -webkit-border-radius: 5px 5px 0 0; -moz-border-radius: 5px 5px 0 0; -ms-border-radius: 5px 5px 0 0; border-radius: 5px 5px 0 0; position: relative; }
.faq h2:before { content: "Q" counter(faq2); display: block; width: 30px; height: 30px; font-size: 13px; background-color: #fff; -webkit-border-radius: 15px; -moz-border-radius: 15px; -ms-border-radius: 15px; border-radius: 15px; color: #515c9a; text-align: center; line-height: 30px; position: absolute; left: 15px; top: 50%; margin-top: -15px; }
.faq p { padding: 0 15px 15px 55px; border-left: 1px dashed #ccc; border-right: 1px dashed #ccc; }
.faq p:last-child { border-bottom: 1px dashed #ccc; -webkit-border-radius: 0 0 5px 5px; -moz-border-radius: 0 0 5px 5px; -ms-border-radius: 0 0 5px 5px; border-radius: 0 0 5px 5px; }
.faq h2 + p { padding-top: 15px; position: relative; }
.faq h2 + p:before { content: "A" counter(faq2); display: block; width: 30px; height: 30px; font-size: 13px; background-color: #fc6c21; -webkit-border-radius: 15px; -moz-border-radius: 15px; -ms-border-radius: 15px; border-radius: 15px; color: #fff; text-align: center; line-height: 30px; position: absolute; left: 15px; top: 15px; }

@media (max-width: 750px) { #faq_menu li { margin-top: 10px; }
  #faq_menu li:first-child { margin-top: 0; }
  #faq_menu li a { line-height: 1.5; min-height: 30px; }
  #faq_menu li a:before { top: 0px; } }
/*fc*/
#fc_lead { background: url("../img/cmn/square.png"); background-color: #fec; padding: 15px; -webkit-border-radius: 5px; -moz-border-radius: 5px; -ms-border-radius: 5px; border-radius: 5px; position: relative; }
#fc_lead h2 { font-size: 23.4px; }
#fc_lead h2 span { color: #fc6c21; font-size: 32.76px; }
#fc_lead img { width: 30%; min-width: 100px; float: right; margin-left: 10px; }
#fc_lead p { margin-top: 10px; font-size: 15.6px; }

#fc p { font-size: 15.6px; }
#fc h3 { background-color: #515c9a; color: #fff; text-align: center; padding: 10px; -webkit-border-radius: 5px 5px 0 0; -moz-border-radius: 5px 5px 0 0; -ms-border-radius: 5px 5px 0 0; border-radius: 5px 5px 0 0; font-size: 15.6px; }
#fc > div#fc_point { background: url("../img/cmn/cross.png"); padding: 19px; border: 1px dashed #ccc; border-top: 0; -webkit-border-radius: 0 0 5px 5px; -moz-border-radius: 0 0 5px 5px; -ms-border-radius: 0 0 5px 5px; border-radius: 0 0 5px 5px; }
#fc > div#fc_point span { font-size: 10.4px; }
#fc > div#fc_point img { float: right; margin-left: 10px; max-width: 300px; img: 40%; }
#fc > div#fc_point dl dt { font-size: 15.6px; font-weight: bold; margin-top: 20px; margin-bottom: 5px; }
#fc > div#fc_point dl dt:first-child { margin-top: 0; }
#fc > div#fc_point dl dt span { font-size: 13px; display: inline-block; background-color: #fc6c21; color: #fff; padding: 5px; -webkit-border-radius: 3px; -moz-border-radius: 3px; -ms-border-radius: 3px; border-radius: 3px; margin-right: 5px; }
#fc > div#fc_interview { background: url("../img/cmn/cross.png"); padding: 19px; border: 1px dashed #ccc; border-top: 0; -webkit-border-radius: 0 0 5px 5px; -moz-border-radius: 0 0 5px 5px; -ms-border-radius: 0 0 5px 5px; border-radius: 0 0 5px 5px; }
#fc > div#fc_interview #fc_interview_menu { list-style-type: none; display: flex; justify-content: space-between; }
#fc > div#fc_interview #fc_interview_menu li { cursor: pointer; width: 30%; display: flex; flex-direction: column; justify-content: space-between; }
#fc > div#fc_interview #fc_interview_menu li:after { content: 'Q & A を見る'; display: block; background-color: #fc6c21; color: #fff; border-radius: 5px; text-align: center; padding: 10px; margin-top: 20px; font-size: 18px; font-weight: bold; transition: background-color 0.5s; }
#fc > div#fc_interview #fc_interview_menu li:hover:after { background-color: #900; }
#fc > div#fc_interview #fc_interview_menu li > div p:nth-child(1) { text-align: center; }
#fc > div#fc_interview #fc_interview_menu li > div p:nth-child(1) img { display: inline-block; border: 6px solid #fff; box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3); width: 60%; }
#fc > div#fc_interview #fc_interview_menu li > div p:nth-child(2) { text-align: center; margin: 10px 0; }
#fc > div#fc_interview > div { display: none; }
#fc > div#fc_interview > div > div { float: right; margin-left: 10px; max-width: 140px; width: 20%; }
#fc > div#fc_interview > div > div img { display: block; border: 6px solid #fff; box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3); }
#fc > div#fc_interview > div > div p { margin-top: 10px; text-align: center; font-size: 10.4px; }
#fc > div#fc_interview > div dl { conter-reset: interview; }
#fc > div#fc_interview > div dl dt { counter-increment: interview; font-size: 15.6px; font-weight: bold; margin-top: 20px; margin-bottom: 5px; display: flex; justify-content: flex-start; align-items: center; }
#fc > div#fc_interview > div dl dt:first-child { margin-top: 0; }
#fc > div#fc_interview > div dl dt:before { content: counter(interview); font-size: 13px; display: flex; justify-content: center; align-items: center; width: 50px; height: 30px; background-color: #fc6c21; color: #fff; -webkit-border-radius: 3px; -moz-border-radius: 3px; -ms-border-radius: 3px; border-radius: 3px; margin-right: 5px; flex-shrink: 0; }
#fc > div#fc_interview > div p.fc_backtolist { clear: both; cursor: pointer; margin: 40px auto 0 auto; display: inline-block; background-color: #666; color: #fff; border-radius: 5px; text-align: center; padding: 10px 40px; font-size: 14px; font-weight: bold; transition: background-color 0.5s; }
#fc > div#fc_interview > div p.fc_backtolist:hover { background-color: #000; }
#fc .fc_tel { font-size: 23.4px; background-color: #fc6c21; color: #fff; text-align: center; margin-top: 25px; padding: 10px; -webkit-border-radius: 5px; -moz-border-radius: 5px; -ms-border-radius: 5px; border-radius: 5px; }
#fc .fc_tel span { font-size: 30.42px; color: #ff0; display: inline-block; }

@media (max-width: 750px) { #fc_lead { padding: 10px; }
  #fc_lead h2 { font-size: 15.6px; }
  #fc_lead h2 span { font-size: 20.28px; }
  #fc_lead h2 br { display: block; }
  #fc_lead p { font-size: 13px; }
  #fc p { font-size: 13px; }
  #fc > div#fc_point { padding: 9px; }
  #fc > div#fc_point img { display: block; float: none; max-width: 100%; margin: 0 0 10px 0; }
  #fc > div#fc_point dl dt span { display: block; margin: 0 0 5px 0; }
  #fc > div#fc_interview { padding: 9px; }
  #fc > div#fc_interview #fc_interview_menu { flex-direction: column; }
  #fc > div#fc_interview #fc_interview_menu li { width: 100%; }
  #fc > div#fc_interview #fc_interview_menu li:nth-child(n+2) { margin-top: 20px; padding-top: 20px; border-top: 1px dashed #ccc; }
  #fc > div#fc_interview #fc_interview_menu li:after { font-size: 14px; }
  #fc > div#fc_interview > div > div { float: none; width: 100%; max-width: 100%; margin: 0 0 10px 0; }
  #fc > div#fc_interview > div > div img { width: 50%; margin: 0 auto; }
  #fc > div#fc_interview > div > div p { margin-top: 1vw; }
  #fc > div#fc_interview > div dl dt:before { height: 50px; }
  #fc .fc_tel { font-size: 20.8px; }
  #fc .fc_tel span { font-size: 27.04px; } }
/*event*/
#event { max-width: 750px; background: url("../img/event/bg.jpg"); background-size: 150px 250px; padding: 40px 20px 20px 20px; margin-top: 2% !important; box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2); -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2); -moz-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2); position: relative; }
#event:before { content: ''; width: 100%; height: 40px; background: url("../img/event/notebook.png") no-repeat; background-size: contain; position: absolute; left: 0; top: -12px; }
#event p { margin-top: 10px; font-size: 15.6px; }

@media (max-width: 750px) { #event { padding: 6% 10px 10px 10px; }
  #event:before { width: 100%; top: -1%; }
  #event p { font-size: 13px; } }
/*contact*/
#contact_tel { max-width: 750px; }
#contact_tel .tel { font-size: 46.8px; font-weight: bold; color: #fc6c21; }

@media (max-width: 750px) { #contact_tel .tel { font-size: 30.42px; } }
/*form*/
input[type="text"]:hover, input[type="number"]:hover, input[type="tel"]:hover, input[type="email"]:hover, textarea:hover, select:hover, .rc_hol label:hover, .rc_v label:hover { border-color: #fec; }
input.ok[type="text"], input.ok[type="number"], input.ok[type="tel"], input.ok[type="email"], textarea.ok, select.ok, .rc_hol label.ok, .rc_v label.ok { border-color: #6c9; }
input.err[type="text"], input.err[type="number"], input.err[type="tel"], input.err[type="email"], textarea.err, select.err, .rc_hol label.err, .rc_v label.err { border-color: #f30; }

.ok.rc_hol label, .ok.rc_v label { border-color: #6c9; }
.err.rc_hol label, .err.rc_v label { border-color: #f30; }

input[type="text"], input[type="number"], input[type="tel"], input[type="email"], textarea { padding-right: 40px; }
input.ok[type="text"], input.ok[type="number"], input.ok[type="tel"], input.ok[type="email"], textarea.ok { background: url("../img/cmn/ok.png") no-repeat right 50%; background-size: 30px 20px; }
input.err[type="text"], input.err[type="number"], input.err[type="tel"], input.err[type="email"], textarea.err { background: url("../img/cmn/ng.png") no-repeat right 50%; background-size: 30px 20px; }

input[type="text"], input[type="number"], input[type="tel"], input[type="email"], textarea { font-size: 13px; border: 0; padding: 5px; color: #666; padding: 8px; background-color: #fff; border: 1px solid #ddd; width: 100%; -webkit-border-radius: 3px; -moz-border-radius: 3px; -ms-border-radius: 3px; border-radius: 3px; }

input[type="number"] { -moz-appearance: textfield; }

input[type="number"]::-webkit-outer-spin-button, input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

textarea { height: 150px; }

select { -webkit-appearance: none; -moz-appearance: none; appearance: none; padding: 8px 20px 8px 8px; border: 1px solid #c2c2c2; -webkit-border-radius: 3px; -moz-border-radius: 3px; -ms-border-radius: 3px; border-radius: 3px; background: url("../img/cmn/delta.png") no-repeat right 50%; background-color: #fff; cursor: pointer; }

@media (max-width: 750px) { .rc_hol label { width: 100%; border-left: 1px solid #c2c2c2 !important; border-top: 0px !important; }
  .rc_hol label:last-child { -webkit-border-radius: 0 0 5px 5px !important; -moz-border-radius: 0 0 5px 5px !important; -ms-border-radius: 0 0 5px 5px !important; border-radius: 0 0 5px 5px !important; }
  .rc_hol legend + input + label { border-top: 1px solid #c2c2c2 !important; -webkit-border-radius: 5px 5px 0 0 !important; -moz-border-radius: 5px 5px 0 0 !important; -ms-border-radius: 5px 5px 0 0 !important; border-radius: 5px 5px 0 0 !important; } }
.rc_hol, .rc_v { letter-spacing: -1em; }
.rc_hol *, .rc_v * { letter-spacing: normal; }
.rc_hol input[type="radio"], .rc_v input[type="radio"], .rc_hol input[type="checkbox"], .rc_v input[type="checkbox"] { position: absolute; opacity: 0; cursor: pointer; }
.rc_hol label, .rc_v label { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; position: relative; display: inline-block !important; cursor: pointer; padding: 10px 20px 10px 50px; border: 1px solid #c2c2c2; border-left: 0px; }
.rc_hol label:last-child, .rc_v label:last-child, .rc_hol label:nth-last-child(2), .rc_v label:nth-last-child(2) { -webkit-border-radius: 0 5px 5px 0; -moz-border-radius: 0 5px 5px 0; -ms-border-radius: 0 5px 5px 0; border-radius: 0 5px 5px 0; }
.rc_hol label:before, .rc_v label:before { content: ''; width: 20px; height: 20px; display: block; -webkit-border-radius: 10px; -moz-border-radius: 10px; -ms-border-radius: 10px; border-radius: 10px; background-color: #eee; position: absolute; left: 20px; top: 50%; margin-top: -10px; }
.rc_hol input[type="radio"]:checked + label, .rc_v input[type="radio"]:checked + label { background-color: #515c9a; color: #fff; }
.rc_hol input[type="radio"]:checked + label:after, .rc_v input[type="radio"]:checked + label:after { content: ''; width: 10px; height: 10px; display: block; -webkit-border-radius: 5px; -moz-border-radius: 5px; -ms-border-radius: 5px; border-radius: 5px; background-color: #515c9a; position: absolute; left: 25px; top: 50%; margin-top: -5px; }
.rc_hol input[type="checkbox"] + label:before, .rc_v input[type="checkbox"] + label:before { -webkit-border-radius: 0; -moz-border-radius: 0; -ms-border-radius: 0; border-radius: 0; }
.rc_hol input[type="checkbox"]:checked + label, .rc_v input[type="checkbox"]:checked + label { background-color: #515c9a; color: #fff; }
.rc_hol input[type="checkbox"]:checked + label:after, .rc_v input[type="checkbox"]:checked + label:after { content: ''; width: 10px; height: 7px; display: block; border-left: 3px solid #515c9a; border-bottom: 2px solid #515c9a; position: absolute; left: 24px; top: 50%; margin-top: -7px; -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); }
.rc_hol legend + input + label, .rc_v legend + input + label { border-left: 1px solid #c2c2c2; -webkit-border-radius: 5px 0 0 5px; -moz-border-radius: 5px 0 0 5px; -ms-border-radius: 5px 0 0 5px; border-radius: 5px 0 0 5px; }

.rc_v label { width: 100%; border-left: 1px solid #c2c2c2; border-top: 0px; }
.rc_v label:last-child { -webkit-border-radius: 0 0 5px 5px; -moz-border-radius: 0 0 5px 5px; -ms-border-radius: 0 0 5px 5px; border-radius: 0 0 5px 5px; }
.rc_v legend + input + label { border-top: 1px solid #c2c2c2; -webkit-border-radius: 5px 5px 0 0; -moz-border-radius: 5px 5px 0 0; -ms-border-radius: 5px 5px 0 0; border-radius: 5px 5px 0 0; }
.rc_v legend + input + label:last-child { -webkit-border-radius: 5px 5px 5px 5px; -moz-border-radius: 5px 5px 5px 5px; -ms-border-radius: 5px 5px 5px 5px; border-radius: 5px 5px 5px 5px; }
.rc_v.rc_openclose legend { display: flex !important; justify-content: space-between; align-items: center; cursor: pointer; transition: background-color .5s; }
.rc_v.rc_openclose legend:hover { background-color: #fff9cc; }
.rc_v.rc_openclose legend:after { content: ''; display: block; width: 16px; height: 16px; clip-path: polygon(40% 0, 60% 0, 60% 40%, 100% 40%, 100% 60%, 60% 60%, 60% 100%, 40% 100%, 40% 60%, 0% 60%, 0% 40%, 40% 40%); background-color: #515c9a; transform: rotate(45deg); transition: transform .5s; }
.rc_v.rc_openclose label, .rc_v.rc_openclose input { transition: all 1s; }
.rc_v.rc_openclose.close legend:after { transform: rotate(0); }
.rc_v.rc_openclose.close label, .rc_v.rc_openclose.close input { display: none !important; }

input[type=submit], input[type=button] { -webkit-appearance: none; border: 0px; cursor: pointer; background: transparent; font-size: 15.6px; display: inline-block; margin-top: 25px; background-color: #fc6c21; -webkit-border-radius: 10px; -moz-border-radius: 10px; -ms-border-radius: 10px; border-radius: 10px; padding: 15px; color: #fff; }
input[type=submit]:hover, input[type=button]:hover { color: #ff0; }

input[type=submit] { letter-spacing: 1em; text-indent: 1em; }

#btn_goback { padding: 10px; background-color: #bbb !important; -webkit-border-radius: 5px; -moz-border-radius: 5px; -ms-border-radius: 5px; border-radius: 5px; font-size: 13px; }

form { max-width: 750px; margin: 25px auto 0 auto; }
form > div { text-align: center; }
form > div > * { text-align: left; }
form div > fieldset, form article { margin-top: 25px; border: 1px dashed #ccc; -webkit-border-radius: 5px; -moz-border-radius: 5px; -ms-border-radius: 5px; border-radius: 5px; padding: 14px; }
form div > fieldset > legend, form div > fieldset h3, form article > legend, form article h3 { background-color: #515c9a; color: #fff; text-align: center; padding: 8px; font-size: 15.6px; -webkit-border-radius: 5px; -moz-border-radius: 5px; -ms-border-radius: 5px; border-radius: 5px; margin-bottom: 10px; }
form #form > fieldset fieldset, form #form > fieldset > div { margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px dashed #e9e9e9; }
form #form > fieldset fieldset:last-child, form #form > fieldset > div:last-child { margin-bottom: 0px; padding-bottom: 0px; border-bottom: 0px; }
form #form > fieldset fieldset label, form #form > fieldset > div label { display: block; }
form #form > fieldset fieldset legend, form #form > fieldset fieldset > label:first-child, form #form > fieldset > div legend, form #form > fieldset > div > label:first-child { font-size: 15.6px; color: #515c9a; margin-bottom: 5px; display: block; }
form #form > fieldset fieldset legend span, form #form > fieldset fieldset > label:first-child span, form #form > fieldset > div legend span, form #form > fieldset > div > label:first-child span { display: inline-block; vertical-align: middle; font-size: 13px; margin-left: 5px; color: #666; }
form #form > fieldset fieldset legend span.required, form #form > fieldset fieldset > label:first-child span.required, form #form > fieldset > div legend span.required, form #form > fieldset > div > label:first-child span.required { background-color: #fc6c21; color: #fff; line-height: 1; padding: 3px 6px; -webkit-border-radius: 3px; -moz-border-radius: 3px; -ms-border-radius: 3px; border-radius: 3px; }
form #form > fieldset fieldset div, form #form > fieldset > div div { letter-spacing: -1em; }
form #form > fieldset fieldset div *, form #form > fieldset > div div * { letter-spacing: normal; }
form #form > fieldset fieldset div div, form #form > fieldset > div div div { display: inline-block; vertical-align: top; width: 48%; }
form #form > fieldset fieldset div div:first-child, form #form > fieldset > div div div:first-child { margin-right: 4%; }
form #form #postal-code, form #form #address-level1 { width: 150px; }
form #form #motivate_other { display: none; margin-top: 10px; }
form #form span.err { display: block; margin-top: 5px; color: #f30; animation: blinker 1s linear infinite; }
form #form span.icon { display: inline-block; margin-left: 5px; }
form #confirm { display: none; }
form #confirm table { width: 100%; }
form #confirm table th, form #confirm table td { border-top: 1px dashed #e9e9e9; text-align: left; vertical-align: top; padding: 5px 0; }
form #confirm table th { width: 25%; font-weight: normal; font-size: 15.6px; color: #515c9a; }
form #confirm table td { width: 75%; }
form #confirm table tr:first-child th, form #confirm table tr:first-child td { border-top: 0px; }

@media (max-width: 750px) { #contact_fin { padding: 30px; min-height: 0px; } }
@keyframes blinker { 50% { opacity: 0.3; } }
/*sitemap*/
#sitemap h2, #sitemap ul + ul { margin-top: 25px; }
#sitemap h2:first-child, #sitemap ul + ul:first-child { margin-top: 0px; }
#sitemap h2 { font-size: 15.6px; color: #515c9a; }
#sitemap ul li.sub { margin-left: 1.5em; }
#sitemap ul li.sub:before { content: '┗'; }

/*media*/
#media { list-style-type: none; }
#media li { border: 1px dashed #ccc; -webkit-border-radius: 10px; -moz-border-radius: 10px; -ms-border-radius: 10px; border-radius: 10px; margin-top: 10px; padding: 19px; }
#media li:first-child { margin-top: 0px; }
#media li img { float: left; margin-right: 10px; width: 30%; min-width: 150px; }
#media li h2 { font-size: 20.8px; color: #515c9a; }
#media li a { text-decoration: none; color: #666; position: relative; display: block; overflow: hidden; zoom: 1; }
#media li a:after { content: ''; width: 0; height: 0; border: 10px solid transparent; border-bottom: 10px solid #515c9a; border-right: 10px solid #515c9a; position: absolute; bottom: 0px; right: 0px; }

@media (max-width: 750px) { #media li { -webkit-border-radius: 5px; -moz-border-radius: 5px; -ms-border-radius: 5px; border-radius: 5px; padding: 9px; }
  #media li img { width: 100%; display: block; float: none; margin-bottom: 5px; }
  #media li h2 { font-size: 15.6px; }
  #media li a:after { border: 5px solid transparent; border-bottom: 5px solid #515c9a; border-right: 5px solid #515c9a; } }
/*vl*/
#vl_box { background: url("../img/cmn/square.png"); background-color: #fec; padding: 15px; -webkit-border-radius: 5px; -moz-border-radius: 5px; -ms-border-radius: 5px; border-radius: 5px; }
#vl_box p { font-size: 20.8px; }
#vl_box p span { color: #fc6c21; font-weight: bold; font-size: 23.4px; }

#vl_sample { text-align: center; }
#vl_sample li { width: 32%; margin: 0 0 0 2%; padding: 9px; border: 1px dashed #ccc; -webkit-border-radius: 5px; -moz-border-radius: 5px; -ms-border-radius: 5px; border-radius: 5px; }
#vl_sample li:nth-child(1) { margin: 0; }
#vl_sample li p { margin-top: 5px; }
#vl_sample li p span { display: block; font-size: 15.6px; }

@media (max-width: 750px) { #vl_box { padding: 10px; }
  #vl_box p { font-size: 13px; }
  #vl_box p span { font-size: 15.6px; } }
/*2011*/
.index_attbnr { list-style-type: none; display: flex; justify-content: space-between; }
.index_attbnr li { width: 49%; }
.index_attbnr li a { display: block; position: relative; color: #fff; text-decoration: none; text-align: center; padding: 20px; font-size: 24px; font-weight: bold; background: #f49e40; background: -moz-linear-gradient(top, #f49e40 1%, #ec5d17 90%, #f49e40 100%); background: -webkit-linear-gradient(top, #f49e40 1%, #ec5d17 90%, #f49e40 100%); background: linear-gradient(to bottom, #f49e40 1%, #ec5d17 90%, #f49e40 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f49e40', endColorstr='#f49e40',GradientType=0 ); }
.index_attbnr li a:hover { background: #900; }
.index_attbnr li a:after { content: ''; width: 0; height: 0; border: 8px solid transparent; border-left: 8px solid #fff; position: absolute; right: 12px; top: 50%; margin-top: -8px; }

@media (max-width: 750px) { .index_attbnr { flex-direction: column; }
  .index_attbnr li { width: 100%; }
  .index_attbnr li:nth-child(2) { margin-top: 3vw; }
  .index_attbnr li a { padding: 2vw; font-size: 4.5vw; }
  .index_attbnr li a:after { border: 2vw solid transparent; border-left: 2vw solid #ff0; right: 1vw; margin-top: -2vw; } }
.menu_strong a, .menu_strong span { color: #f30; font-weight: strong; }

#fixed_bnr { position: fixed; z-index: 999; right: 0; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; }
#fixed_bnr a { display: flex; justify-content: center; align-items: center; flex-direction: column; width: 80px; height: 100px; font-size: 11px; line-height: 1.5; text-align: center; text-decoration: none; color: #fff; transition: opacity .5s; }
#fixed_bnr a:before { content: ''; display: block; width: 24px; height: 24px; margin: 0 auto 5px auto; }
#fixed_bnr a:hover { opacity: 0.6; }
#fixed_bnr > *:nth-child(1) { background-color: #515c9a; }
#fixed_bnr > *:nth-child(1):before { background: url("../img/cmn/icon_event.svg") no-repeat; background-size: 100% auto; }
#fixed_bnr > *:nth-child(2) { background-color: #fc6c21; margin-top: 10px; }
#fixed_bnr > *:nth-child(2):before { background: url("../img/cmn/icon_mail.svg") no-repeat; background-size: 100% auto; }

@media (max-width: 750px) { body { margin-bottom: 10vw; }
  #fixed_bnr { top: auto; bottom: 0; transform: translateY(0); flex-direction: row; width: 100vw; height: 10vw; }
  #fixed_bnr a { flex-direction: row; width: 50%; height: 10vw; font-size: 3.5vw; }
  #fixed_bnr a:before { width: 6vw; height: 6vw; margin: 0 2vw 0 0; }
  #fixed_bnr > *:nth-child(2) { margin-top: 0; }
  #fixed_bnr > *:nth-child(2) span:nth-child(1), #fixed_bnr > *:nth-child(2) span:nth-child(2) { display: none; } }
.school_list + .school_list { margin-top: 80px !important; }
.school_list h2 { margin-bottom: 20px; display: flex; justify-content: flex-start; align-items: center; background-color: #515c9a; padding: 10px 20px; border-radius: 10px; color: #fff; }
.school_list h2 span:nth-child(1) { font-size: 24px; }
.school_list h2 span:nth-child(2) { opacity: 0.6; margin-left: 10px; padding-left: 1.2em; position: relative; font-size: 14px; }
.school_list h2 span:nth-child(2):before { content: '※'; position: absolute; top: 0; left: 0; }
.school_list > h3 { text-align: left; margin-bottom: 10px; display: flex; justify-content: space-between; align-items: center; }
.school_list > h3:after { content: ''; display: block; width: 99%; height: 1px; background-color: #515c9a; }
.school_list > h3 span { flex-shrink: none; margin-right: 10px; white-space: nowrap; color: #515c9a; font-size: 18px; }
.school_list > p.att { color: #f30; padding-left: 1.2em; position: relative; font-size: 14px; margin-bottom: 10px; }
.school_list > p.att:before { content: '※'; position: absolute; top: 0; left: 0; }
.school_list .school_list1 { list-style-type: none; display: flex; justify-content: center; flex-wrap: wrap; }
.school_list .school_list1 li { width: 30%; margin-left: 5%; position: relative; padding-bottom: 50px; }
.school_list .school_list1 li:nth-child(3n+1) { margin-left: 0; }
.school_list .school_list1 li:nth-child(n+4) { margin-top: 5%; }
.school_list .school_list1 li > h3 { text-align: center; margin-bottom: 10px; display: flex; justify-content: space-between; align-items: center; }
.school_list .school_list1 li > h3:before, .school_list .school_list1 li > h3:after { content: ''; display: block; width: 49%; height: 1px; background-color: #515c9a; }
.school_list .school_list1 li > h3 span { flex-shrink: none; margin: 0 10px; white-space: nowrap; color: #515c9a; font-size: 18px; }
.school_list .school_list1 li > div { width: 100%; height: 0; padding-bottom: 100%; position: relative; }
.school_list .school_list1 li > div iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.school_list .school_list1 li > table { width: 100%; margin-top: 10px; border-top: 1px dashed #999; }
.school_list .school_list1 li > table th, .school_list .school_list1 li > table td { border-bottom: 1px dashed #999; padding: 10px 0; font-size: 12px; line-height: 1.5; }
.school_list .school_list1 li > table th { white-space: nowrap; width: 5em; color: #515c9a; }
.school_list .school_list1 li > p { position: absolute; bottom: 0; width: 100%; text-align: center; }
.school_list .school_list2 { list-style-type: none; display: flex; justify-content: flex-start; flex-wrap: wrap; }
.school_list .school_list2 li { width: 23.5%; margin-left: 2%; position: relative; padding-bottom: 50px; }
.school_list .school_list2 li:nth-child(4n+1) { margin-left: 0; }
.school_list .school_list2 li:nth-child(n+5) { margin-top: 2%; }
.school_list .school_list2 li > h3 { text-align: center; margin-bottom: 10px; display: flex; justify-content: space-between; align-items: center; }
.school_list .school_list2 li > h3:after { content: ''; display: block; width: 99%; height: 1px; background-color: #515c9a; }
.school_list .school_list2 li > h3 span { flex-shrink: none; margin-right: 10px; white-space: nowrap; color: #515c9a; font-size: 18px; }
.school_list .school_list2 li > dl { margin-top: 10px; display: flex; justify-content: flex-start; align-items: flex-start; }
.school_list .school_list2 li > dl dt, .school_list .school_list2 li > dl dd { font-size: 12px; line-height: 1.5; }
.school_list .school_list2 li > dl dt { white-space: nowrap; flex-shrink: 0; width: 3em; color: #515c9a; }
.school_list .school_list2 li > p { position: absolute; bottom: 0; width: 100%; }
.school_list .school_list3 { list-style-type: none; display: flex; justify-content: flex-start; flex-wrap: wrap; }
.school_list .school_list3 li { width: 18%; margin-left: 2.5%; }
.school_list .school_list3 li:nth-child(5n+1) { margin-left: 0; }
.school_list .school_list3 li:nth-child(n+6) { margin-top: 2.5%; }
.school_list .school_list3 li > a { display: flex; justify-content: space-between; align-items: center; text-decoration: none; color: #515c9a; border: 1px solid #515c9a; border-radius: 5px; padding: 10px 20px; transition: background-color .5s; font-size: 14px; }
.school_list .school_list3 li > a:after { content: ''; display: block; width: 5px; height: 10px; background-color: #515c9a; clip-path: polygon(0 0, 100% 50%, 0 100%); }
.school_list .school_list3 li > a:hover { background-color: #fff9dd; }

@media (max-width: 1050px) { .school_list + .school_list { margin-top: calc(80vw*(100/1050)) !important; }
  .school_list h2 { margin-bottom: calc(20vw*(100/1050)); padding: calc(10vw*(100/1050)) calc(20vw*(100/1050)); border-radius: calc(10vw*(100/1050)); }
  .school_list h2 span:nth-child(1) { font-size: calc(24vw*(100/1050)); }
  .school_list h2 span:nth-child(2) { margin-left: calc(10vw*(100/1050)); font-size: calc(14vw*(100/1050)); }
  .school_list > h3 { margin-bottom: calc(10vw*(100/1050)); }
  .school_list > h3 span { margin-right: calc(10vw*(100/1050)); font-size: calc(18vw*(100/1050)); }
  .school_list > p.att { font-size: calc(14vw*(100/1050)); margin-bottom: calc(10vw*(100/1050)); }
  .school_list .school_list1 li { padding-bottom: calc(50vw*(100/1050)); }
  .school_list .school_list1 li > h3 { margin-bottom: calc(10vw*(100/1050)); }
  .school_list .school_list1 li > h3 span { margin: 0 calc(10vw*(100/1050)); font-size: calc(18vw*(100/1050)); }
  .school_list .school_list1 li > table { margin-top: calc(10vw(100/1050)); }
  .school_list .school_list1 li > table th, .school_list .school_list1 li > table td { padding: calc(10vw*(100/1050)) 0; font-size: calc(12vw*(100/1050)); }
  .school_list .school_list2 li { padding-bottom: calc(50vw*100/1050); }
  .school_list .school_list2 li > h3 { margin-bottom: calc(10vw*100/1050); }
  .school_list .school_list2 li > h3 span { margin-right: calc(10vw*100/1050); font-size: calc(18vw*100/1050); }
  .school_list .school_list2 li > dl { margin-top: calc(10vw*100/1050); }
  .school_list .school_list2 li > dl dt, .school_list .school_list2 li > dl dd { font-size: calc(12vw*100/1050); }
  .school_list .school_list3 li > a { border-radius: calc(5vw*100/1050); padding: calc(10vw*100/1050) calc(20vw*100/1050); font-size: calc(14vw*100/1050); }
  .school_list .school_list3 li > a:after { width: calc(5vw*100/1050); height: calc(10vw*100/1050); } }
@media (max-width: 750px) { .school_list + .school_list { margin-top: 10vw !important; }
  .school_list h2 { margin-bottom: 2vw; padding: 2vw 4vw; border-radius: 2vw; flex-direction: column; align-items: flex-start; }
  .school_list h2 span:nth-child(1) { font-size: 6vw; }
  .school_list h2 span:nth-child(2) { margin: 1vw 0 0 0; font-size: 3vw; }
  .school_list > h3 { margin-bottom: 2vw; }
  .school_list > h3 span { margin-right: 1vw; font-size: 5vw; }
  .school_list > p.att { font-size: 3vw; margin-bottom: 2vw; }
  .school_list .school_list1 { flex-direction: column; }
  .school_list .school_list1 li { padding-bottom: 0; margin-left: 0; width: 100%; }
  .school_list .school_list1 li:nth-child(n+2) { margin-top: 10vw; }
  .school_list .school_list1 li > h3 { margin-bottom: 2vw; }
  .school_list .school_list1 li > h3 span { margin: 0 1vw; font-size: 5vw; }
  .school_list .school_list1 li > table { margin-top: 4vw; }
  .school_list .school_list1 li > table th, .school_list .school_list1 li > table td { padding: 1vw 0; font-size: 4vw; }
  .school_list .school_list1 li > p { position: static; margin-top: 4vw; }
  .school_list .school_list2 { flex-direction: column; }
  .school_list .school_list2 li { padding-bottom: 0; margin-left: 0; width: 100%; }
  .school_list .school_list2 li:nth-child(n+2) { margin-top: 10vw; }
  .school_list .school_list2 li > h3 { margin-bottom: 2vw; }
  .school_list .school_list2 li > h3 span { margin-right: 1vw; font-size: 5vw; }
  .school_list .school_list2 li > dl { margin-top: c4vw; }
  .school_list .school_list2 li > dl dt, .school_list .school_list2 li > dl dd { font-size: 4vw; }
  .school_list .school_list2 li > p { position: static; margin-top: 4vw; }
  .school_list .school_list3 li { width: 48%; margin-left: 4% !important; }
  .school_list .school_list3 li:nth-child(2n+1) { margin-left: 0 !important; }
  .school_list .school_list3 li:nth-child(n+3) { margin-top: 4%; }
  .school_list .school_list3 li > a { border-radius: 1vw; padding: 2vw 4vw; font-size: 4vw; }
  .school_list .school_list3 li > a:after { width: 1.5vw; height: 3vw; } }
