@charset "UTF-8";
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}
strong { font-weight:bold;}
ol, ul {list-style: none;}
table {border-collapse: separate;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img{border: 0; margin:0; padding:0; vertical-align:bottom;}
video{border: 0; margin:0; padding:0; vertical-align:bottom;}
figure{margin:0}
article, aside, details,picture, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}
img {padding:0; margin:0; vertical-align:bottom;max-width: 100%; height: auto; -webkit-backface-visibility: hidden;}
img[src$=".svg"] {width: 100%;}
picture {display: block;}
label {cursor:pointer;}
a { text-decoration:none;transition-timing-function: ease-in-out; transition-duration: 0.2s;}
a:hover {opacity: .7;}
.no-scroll {overflow: hidden; height: auto;}

/*
font-family: 'Noto Sans JP', sans-serif;
font-family: 'Lato', sans-serif;
*/

body{color:#111; background-color: #FFF; font-size: 16px; font-family:'Noto Sans JP', sans-serif,"游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; font-weight: 300;-webkit-text-size-adjust: 100%;}

header.sp {display: none;}
header.pc {padding-top: 50px;}
header.pc nav {font-family: 'Lato', sans-serif; font-weight: 300; letter-spacing: 0.1em; background-color: #FFF;padding: 20px 0px; font-size:14px;}
header.pc nav ul { text-align: center;}
header.pc nav ul li {display: inline-block; padding: 0px 15px;}
header.pc nav ul li a {color: #000; display: block; position: relative;}
header.pc nav ul li a:after {position: absolute;content: '';bottom: -5px;left: 0;width: 0;height: 1px;background: #111;transition: all 0.3s ease 0s;}
header.pc nav ul li a:hover:after {width: 100%;}

header.pc > div {background: url("../images/bg.jpg") no-repeat 50% 50%; background-size: cover;height: 550px; position: relative;}
header.pc > div:after {position: absolute; content: ""; background: rgba(0,0,0,.3); width: 100%; height: 100%; top: 0; left: 0;}
header.pc > div h1 {width: 250px; margin: 0px auto; padding-top: 180px; position: relative; z-index: 2;}
header.pc > div h1 svg {fill:#FFF;}

.is-fixed {position: fixed;top: 0;left: 0;z-index: 4;width: 100%;}

.top_main { width: 700px; margin: 60px auto;}
.top_main > h2 {font-family: 'Lato', sans-serif;  font-weight: 300;letter-spacing: 0.1em;font-size: 18px; text-align: center; margin-bottom: 10px;}
.top_main > div {border-top: 1px solid #e6e6e6;}
.top_main dl {font-size: 12px; border-bottom: 1px dotted #e6e6e6; padding: 20px;letter-spacing: 0.05em;}
.top_main dl dt {display: inline-block;}
.top_main dl dd {display: inline-block; padding-left: 1em;}
.top_main dl dd a {color: #111; display: block; position: relative;}
.top_main dl dd a:after {position: absolute;content: '';bottom: -5px;left: 0;width: 0;height: 1px;background: #111;transition: all 0.3s ease 0s;}
.top_main dl dd a:hover:after {width: 100%;}

		
footer { padding: 50px 0px; text-align:center; font-size: 12px; letter-spacing: 0.05em;}
footer h2 { margin-bottom: 50px;}
footer h2 a {color: #111; display: inline-block; position: relative;font-family: 'Lato', sans-serif; font-weight: 300;letter-spacing: 0.1em;font-size: 18px;}
footer h2 a:after {position: absolute;content: '';bottom: -5px;left: 0;width: 0;height: 1px;background: #111;transition: all 0.3s ease 0s;}
footer h2 a:hover:after {width: 100%;}

.news_main {width: 1000px; margin: 60px auto; position: relative;}
.news_main:before {content: ""; width: 46%; height: 100%; max-height: 500px; left: 0; top: 0; background: url("../images/news_bg.jpg") no-repeat center center; background-size: cover; position: absolute;}
.news_cont {width: 50%; float: right; min-height: 300px;}
.news_cont h1 {font-family: 'Lato', sans-serif; font-weight: 300;letter-spacing: 0.1em;font-size: 16px; margin-bottom: 50px;}
.news_cont dl {font-size: 14px;letter-spacing: 0.1em; margin-bottom: 2em;}
.news_cont dl dt {font-family: 'Lato', sans-serif; font-weight: 300; float: left; padding-top:3px;}
.news_cont dl dd {padding-left:7em; line-height: 160%; font-size:14px;}
.news_main:after {content: "";clear: both;display: block;}

p.pre {font-size:14px;}

.lesson_main {width: 1000px; margin: 60px auto; position: relative;}
.lesson_main:before {content: ""; width: 46%; height: 100%; max-height: 500px; left: 0; top: 0; background: url("../images/lesson_bg.jpg") no-repeat center center; background-size: cover; position: absolute;}
.lesson_cont {width: 50%; float: right; min-height: 300px;}
.lesson_cont h1 {font-family: 'Lato', sans-serif; font-weight: 300;letter-spacing: 0.1em;font-size: 16px; margin-bottom: 30px;}
.lesson_cont h2 {letter-spacing: 0.1em;font-size: 16px; font-weight: 400; margin-bottom: 30px;}
.lesson_main:after {content: "";clear: both;display: block;}

.txt_body {font-size: 14px;letter-spacing: 0.1em;line-height: 180%; }
.txt_body > p {margin-bottom:1em;}
.txt_body img {max-width:100%; height:auto;}
.txt_body ul li {list-style:outside; margin-left:1.5em;}
.txt_body ol li {list-style: decimal; margin-left:1.5em;}
.txt_body table {width:100%; border-color:#c4c4c4;}


.old_link {text-align: center; margin-top: 120px;}
.old_link li {display: inline-block;}
.old_link li a {color:#111;font-size: 12px;letter-spacing: 0.1em;display: block; border: 1px solid #999; padding: 10px 20px; line-height: 100%; position: relative;}

.lesson_old_main {width: 1000px; margin: 60px auto; position: relative;}
.lesson_old_main:before {content: ""; width: 46%; height: 100%; max-height: 500px; left: 0; top: 0; background: url("../images/lesson_bg.jpg") no-repeat center center; background-size: cover; position: absolute;}
.lesson_old_cont {width: 50%; float: right; min-height: 300px;}
.lesson_old_cont h1 {font-family: 'Lato', sans-serif;font-weight: 300;letter-spacing: 0.1em;font-size: 16px; margin-bottom: 50px;}
.lesson_old_cont dl {font-size: 14px;letter-spacing: 0.1em; margin-bottom: 2em;}
.lesson_old_cont dl dt {font-weight: 300; float: left;}
.lesson_old_cont dl dd {padding-left: 7em; line-height: 160%;}
.lesson_old_cont dl dd a {color: #111; display: inline-block;position: relative;}
.lesson_old_cont dl dd a:after {position: absolute;content: '';bottom: -5px;left: 0;width: 0;height: 1px;background: #111;transition: all 0.3s ease 0s;}
.lesson_old_cont dl dd a:hover:after {width: 100%;}
.lesson_old_main:after {content: "";clear: both;display: block;}

.about_main {width: 1000px; margin: 60px auto; position: relative;}
.about_main:before {content: ""; width: 46%; height: 100%; max-height: 500px; left: 0; top: 0; background: url("../images/about_bg.jpg") no-repeat center center; background-size: cover; position: absolute;}
.about_cont {width: 50%; float: right; min-height: 300px;}
.about_cont h1 {font-family: 'Lato', sans-serif;font-weight: 300;letter-spacing: 0.1em;font-size: 16px; margin-bottom: 30px;}
.about_cont h2 {letter-spacing: 0.1em;font-size: 16px; font-weight: 400;}
.about_cont h3 {font-family: 'Lato', sans-serif; font-weight: 300;letter-spacing: 0.1em;font-size: 14px;}
.about_cont h4 {font-size: 14px; margin-top: 10px;}
.about_cont p {font-size: 14px;letter-spacing: 0.1em; line-height: 180%; margin-top: 10px;}

.about_main:after {content: "";clear: both;display: block;}

.pp_main {width: 1000px; margin: 60px auto; position: relative;}
.pp_cont {width: 650px; margin: 0px auto;}
.pp_cont h1 {font-family: 'Lato', sans-serif;font-weight: 300;letter-spacing: 0.1em;font-size: 16px; margin-bottom: 50px;}
.pp_cont > div {font-size: 14px;letter-spacing: 0.1em;line-height: 180%;}
.pp_cont > div h2 {margin-bottom: 1em;}
.pp_cont > div dl dt {font-weight: 400; border-bottom: 1px dotted #111; padding-bottom: 5px; margin-bottom: 5px;}
.pp_cont > div dl {margin-bottom:1em;}
.pp_cont > div p {font-family: 'Lato', sans-serif; font-weight: 300;letter-spacing: 0.1em;}
.pp_cont > div ul {margin-top: 0.5em;}
.pp_cont > div ul li {list-style: outside; margin-left: 1.5em;}

.contact_main {width: 1000px; margin: 60px auto; position: relative;}
.contact_cont {width: 650px; margin: 0px auto;}
.contact_cont h1 {font-family: 'Lato', sans-serif; font-weight: 300;letter-spacing: 0.1em;font-size: 16px; margin-bottom: 50px;}
.contact_cont table th {font-size: 14px; display: block; width: 100%; box-sizing: border-box; margin-bottom: 10px;}
.contact_cont table th span {font-size: 12px; color: #FF3A3E; margin-left: 1em;}
.contact_cont table td {display: block; width: 100%; padding-bottom: 30px; box-sizing: border-box;}
.contact_cont table td input {border-top: none; border-bottom: 1px solid #c4c4c4; border-right: none; border-left: none; box-shadow: none;padding: 15px; box-sizing: border-box; width: 100%; font-size: 14px;color: #555;-webkit-appearance: none;}
.contact_cont table td textarea { width: 100%; box-sizing: border-box; font-size: 14px;border-top: none; border-bottom: 1px solid #c4c4c4; border-right: none; border-left: none;box-shadow: none;padding: 15px;color: #555; height: 135px;-webkit-appearance: none;}

.p_check {font-size: 14px; text-align: center;}
.p_check a {color: coral;}
.agree_area {text-align: center; margin-top: 10px;}
.agree_check {font-size: 14px;}

.form_end {margin-top: 60px;}
.submit {text-align: center;}
.submit input { background-color: #FFF; border: 1px solid #999;-webkit-appearance: none;font-size: 14px;-webkit-font-smoothing: antialiased;cursor: pointer; width: 300px; padding: 10px 0px;display: inline-block; transition-timing-function: ease-in-out; transition-duration: 0.2s;}
.submit input:hover {opacity: .7;}

span[class^="err_"],p[class^="err_"] {font-size: 12px; color: #FF0004;}

.thanks_main {width: 1000px; margin: 60px auto; position: relative;}
.thanks_cont {width: 650px; margin: 0px auto;}
.thanks_cont h1 {font-family: 'Lato', sans-serif; font-weight: 300;letter-spacing: 0.1em;font-size: 16px; margin-bottom: 50px;}
.thanks_cont > div {padding: 0px 40px; margin: 60px auto 60px;}
.thanks_cont > div h2 { text-align: center; font-size: 18px;}
.thanks_cont > div p {margin:20px 0px; text-align: center; font-size: 14px;}
.thanks_cont > div > ul {border: 1px solid #c4c4c4; padding: 10px; font-size: 13px; background-color: #FFF;}
.thanks_cont > div > ul li {list-style: outside; margin-left: 1.5em; margin-top: 10px;}
.thanks_cont > div > ul li:first-child {margin-top: 0px;}

.thanks_link {text-align: center; margin-top: 60px;}
.thanks_link li {display: inline-block;}
.thanks_link li a {color:#111;font-size: 12px;letter-spacing: 0.1em;display: block; border: 1px solid #999; padding: 10px 20px; line-height: 100%; position: relative;}

.con_main {width: 1000px; margin: 60px auto; position: relative;}
.con_cont {width: 650px; margin: 0px auto;}
.con_cont h1 {font-family: 'Lato', sans-serif; font-weight: 300;letter-spacing: 0.1em;font-size: 16px; margin-bottom: 50px;}
.con_cont h2 {font-size: 16px; text-align: center;}
.con_cont h2 + p {font-size: 14px;}
.con_cont table {width: 100%; margin-top: 30px;}
.con_cont table th {font-size: 14px; display: block; width: 100%; box-sizing: border-box; margin-bottom: 10px;}
.con_cont table td {display: block; width: 100%; padding: 0px 10px 5px; margin-bottom: 30px; box-sizing: border-box; border-bottom: 1px solid #c4c4c4; font-size: 14px; }

.end_bt {margin-top: 60px; text-align: center;}
.end_bt li {display: inline-block; margin: 0px 10px 15px;}
.end_bt li input { background-color: #FFF; border: 1px solid #999;-webkit-appearance: none;font-size: 13px;-webkit-font-smoothing: antialiased;cursor: pointer; width: 250px; padding: 10px 0px;display: inline-block; transition-timing-function: ease-in-out; transition-duration: 0.2s;}
.end_bt li input:hover {opacity: .7;}

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

header.sp {display: block;}
header.pc {display: none;}

header.sp .header_cont {height: 70px; width: 100%; background-color: #FFF; position: relative;}
header.sp .header_cont p {padding: 10px 0px 0px 10px;}
header.sp .header_cont p svg { height: 50px; width: auto;}

.overlay,.hamburger_icon,.hamburger_icon:after,.hamburger_icon:before{-moz-transition-duration:.4s;-o-transition-duration:.4s;-webkit-transition-duration:.4s}
.hamburger{ display:block;width:45px;height:45px;top:12px;right:10px;z-index:10000;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-tap-highlight-color:transparent;-ms-touch-action:manipulation;touch-action:manipulation; cursor:pointer; position:fixed; padding:5px;background-color:rgba(255,255,255,.2);}
.hamburger_icon{position:relative;margin-top:16px;margin-bottom:0px;z-index:10000;}
.hamburger_icon:after,.hamburger_icon:before{display:block;width:35px;height:1px;background-color:#111;-moz-transition-property:background-color,-moz-transform;-o-transition-property:background-color,-o-transform;-webkit-transition-property:background-color,-webkit-transform;transition-property:background-color,transform;transition-duration:.4s}
.hamburger_icon:after,.hamburger_icon:before{position:absolute;content:"";}
.hamburger_icon:before{top:-6px}
.hamburger_icon:after{top:6px}
.hamburger.active { z-index:10000;}
.hamburger.active .hamburger_icon{background-color:transparent}
.hamburger.active .hamburger_icon:after,.hamburger.active .hamburger_icon:before{background-color:#111;}
.hamburger.active .hamburger_icon:before{-moz-transform:translateY(6px)rotate(45deg);-ms-transform:translateY(6px)rotate(45deg);-webkit-transform:translateY(6px)rotate(45deg);transform:translateY(6px)rotate(45deg)}
.hamburger.active .hamburger_icon:after{-moz-transform:translateY(-6px)rotate(-45deg);-ms-transform:translateY(-6px)rotate(-45deg);-webkit-transform:translateY(-6px)rotate(-45deg);transform:translateY(-6px)rotate(-45deg)}
.overlay{top:0px;left:0;position:fixed;display:none;width:100%;height:100%;min-height:100vh;background:#FFF;-moz-transition-property:-moz-transform;-o-transition-property:-o-transform;-webkit-transition-property:-webkit-transform;transition-property:transform;transition-duration:.4s;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch; z-index:10000;}
.overlay_wrapper {width:100%;height:auto; margin:0px; padding: 80px 60px 40px; box-sizing:border-box; background-size: cover;}
.overlay_wrapper > nav {padding: 0; margin: 0;}
.overlay_wrapper > nav > ul li {margin-bottom: 35px; text-align: center;}
.overlay_wrapper > nav > ul li a {color: #111;display: block; font-family: 'Lato', sans-serif; font-size: 18px; }
.overlay_wrapper > nav > ul li a span {position: relative;}
.overlay_wrapper > nav > ul li a span:after {position: absolute;content: '';bottom: -5px;left: 0;width: 0;height: 1px;background: #111;transition: all 0.3s ease 0s;}
.overlay_wrapper > nav > ul li a span:hover:after {width: 100%;}

.top_header_sp {background: url("../images/bg.jpg") no-repeat 50% 50%; background-size: cover;height: 350px; position: relative;}
.top_header_sp:after {position: absolute; content: ""; background: rgba(0,0,0,.3); width: 100%; height: 100%; top: 0; left: 0;}
.top_header_sp h1 {width: 39%; margin: 0px auto; padding-top: 100px; position: relative; z-index: 2;}
.top_header_sp h1 svg {fill:#FFF;}

.lesson_main {width: 100%; margin: 30px auto; position: relative;}
.lesson_main:before {content: ""; width:100%; height: 200px; max-height: 200px; left: 0; top: 0; background: url("../images/lesson_bg.jpg") no-repeat center center; background-size: cover; position: absolute;}
.lesson_cont {width: 96%; float: none; min-height:auto; margin: 0px auto; padding-top: 250px;}
.lesson_cont h1 {font-family: 'Lato', sans-serif; font-weight: 300;letter-spacing: 0.1em;font-size: 16px; margin-bottom: 30px;}
.lesson_cont h2 {letter-spacing: 0.1em;font-size: 16px; font-weight: 400; margin-bottom: 30px;}
.lesson_main:after {content: "";clear: both;display: block;}

.top_main { width: 96%; margin: 60px auto;}

.news_main {width: 100%; margin: 30px auto; position: relative;}
.news_main:before {content: ""; width: 100%; height:200px; max-height: 200px; left: 0; top: 0; background: url("../images/news_bg.jpg") no-repeat center center; background-size: cover; position: absolute;}
.news_cont {width:96%; float: none; min-height:auto; margin: 0px auto; padding-top: 250px;}
.news_cont h1 {font-family: 'Lato', sans-serif; font-weight: 300;letter-spacing: 0.1em;font-size: 16px; margin-bottom: 50px;}
.news_cont dl {font-size: 14px;letter-spacing: 0.1em; margin-bottom: 2em;}
.news_cont dl dt {font-family: 'Lato', sans-serif; font-weight: 300; float: left; padding-top:3px; font-size: 14px;}
.news_cont dl dd {padding-left:7em; line-height: 180%; font-size:14px;}
.news_main:after {content: "";clear: both;display: block;}
	
.lesson_old_main {width: 100%; margin: 30px auto; position: relative;}
.lesson_old_main:before {content: ""; width:100%; height: 200px; max-height: 200px; left: 0; top: 0; background: url("../images/lesson_bg.jpg") no-repeat center center; background-size: cover; position: absolute;}
.lesson_old_cont {width: 96%; float: none; min-height: auto; padding-top: 250px; margin: 0px auto;}
.lesson_old_cont h1 {font-family: 'Lato', sans-serif;font-weight: 300;letter-spacing: 0.1em;font-size: 16px; margin-bottom: 50px;}
.lesson_old_cont dl {font-size: 14px;letter-spacing: 0.1em; margin-bottom: 2em;}
.lesson_old_cont dl dt {font-weight: 300; float: left;}
.lesson_old_cont dl dd {padding-left: 7em; line-height: 160%;}
.lesson_old_cont dl dd a {color: #111; display: inline-block;position: relative;}
.lesson_old_cont dl dd a:after {position: absolute;content: '';bottom: -5px;left: 0;width: 0;height: 1px;background: #111;transition: all 0.3s ease 0s;}
.lesson_old_cont dl dd a:hover:after {width: 100%;}

.about_main {width:100%; margin: 30px auto; position: relative;}
.about_main:before {content: ""; width: 100%; height: 200px; max-height: 200px; left: 0; top: 0; background: url("../images/about_bg.jpg") no-repeat center center; background-size: cover; position: absolute;}
.about_cont {width: 96%; float: none; min-height:auto; padding-top: 250px; margin: 0px auto;}
.about_cont h1 {font-family: 'Lato', sans-serif;font-weight: 300;letter-spacing: 0.1em;font-size: 16px; margin-bottom: 30px;}
.about_cont h2 {letter-spacing: 0.1em;font-size: 16px; font-weight: 400;}
.about_cont h3 {font-family: 'Lato', sans-serif; font-weight: 300;letter-spacing: 0.1em;font-size: 14px;}
.about_cont h4 {font-size: 14px; margin-top: 10px;}
.about_cont p {font-size: 14px;letter-spacing: 0.1em; line-height: 180%; margin-top: 10px;}

.contact_main {width: 96%; margin: 30px auto; position: relative;}
.contact_cont {width: 100%; margin: 0px auto;}
.contact_cont h1 {font-family: 'Lato', sans-serif; font-weight: 300;letter-spacing: 0.1em;font-size: 16px; margin-bottom: 50px;}
.contact_cont table th {font-size: 14px; display: block; width: 100%; box-sizing: border-box; margin-bottom: 10px;}
.contact_cont table th span {font-size: 12px; color: #FF3A3E; margin-left: 1em;}
.contact_cont table td {display: block; width: 100%; padding-bottom: 30px; box-sizing: border-box;}
.contact_cont table td input {border-top: none; border-bottom: 1px solid #c4c4c4; border-right: none; border-left: none; box-shadow: none;padding: 15px; box-sizing: border-box; width: 100%; font-size: 14px;color: #555;-webkit-appearance: none;}
.contact_cont table td textarea { width: 100%; box-sizing: border-box; font-size: 14px;border-top: none; border-bottom: 1px solid #c4c4c4; border-right: none; border-left: none;box-shadow: none;padding: 15px;color: #555; height: 135px;-webkit-appearance: none;}

.p_check {font-size: 14px; text-align: center;}
.p_check a {color: coral;}
.agree_area {text-align: center; margin-top: 10px;}
.agree_check {font-size: 14px;}

.form_end {margin-top: 60px;}
.submit {text-align: center;}
.submit input { background-color: #FFF; border: 1px solid #999;-webkit-appearance: none;font-size: 14px;-webkit-font-smoothing: antialiased;cursor: pointer; width: 300px; padding: 10px 0px;display: inline-block; transition-timing-function: ease-in-out; transition-duration: 0.2s;}
.submit input:hover {opacity: .7;}

.pp_main {width:96%; margin: 30px auto; position: relative;}
.pp_cont {width: 100%; margin: 0px auto;}
.pp_cont h1 {font-family: 'Lato', sans-serif;font-weight: 300;letter-spacing: 0.1em;font-size: 16px; margin-bottom: 50px;}
.pp_cont > div {font-size: 14px;letter-spacing: 0.1em;line-height: 180%;}
.pp_cont > div h2 {margin-bottom: 1em;}
.pp_cont > div dl dt {font-weight: 400; border-bottom: 1px dotted #111; padding-bottom: 5px; margin-bottom: 5px;}
.pp_cont > div dl {margin-bottom:1em;}
.pp_cont > div p {font-family: 'Lato', sans-serif; font-weight: 300;letter-spacing: 0.1em;}
.pp_cont > div ul {margin-top: 0.5em;}
.pp_cont > div ul li {list-style: outside; margin-left: 1.5em;}

.thanks_main {width: 100%; margin: 30px auto; position: relative;}
.thanks_cont {width: 96%; margin: 0px auto;}
.thanks_cont > div {padding: 0px 0px; margin: 60px auto 60px;}
	
.con_main {width: 100%; margin: 30px auto; position: relative;}
.con_cont {width: 96%; margin: 0px auto;}
}