@charset "UTF-8";
/*********************************************
reset
**********************************************/
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, p, blockquote { margin: 0; padding: 0; }
h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; }
table { border-collapse: collapse; border-spacing: 0; }
fieldset, img { border: 0; }
address, caption, cite, code, dfn, em, th, var { font-style: normal; font-weight: normal; }
ol, ul { list-style: none; list-style-position: outside; }
caption, th { text-align: left; }
q:before, q:after { content: ''; }
img { vertical-align: bottom; }
figure { margin: 0; }
html { height: 100%; }
em { font-weight: bold; }
/* IE6/7/8用　html5リセット */
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary { display: block; }
/*table firefox対応 IE対応でcellspacing="0"を付与すること*/
table { border-collapse: separate; border-spacing: 0; }
/* border-bo x*/
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
/*********************************************
basic
**********************************************/
/* text */
strong, .b { font-weight: bold; }
.pink { color: #e2507c; }
.green { color: #45812d; }
i { font-style: italic; }
/* link */
a { text-decoration: underline; color: #333; }
a:active { text-decoration: underline; color: #333; }
a:hover { text-decoration: underline; color: #333; }
input[type="submit"]:hover { cursor: pointer; }
a img:hover, .sub_link_01 li a:hover, #gNav li a:hover { filter: alpha(opacity=50); -moz-opacity: 0.5; opacity: 0.5; }
a img, .sub_link_01 li a, #gNav li a { -moz-transition: opacity 0.2s linear; -webkit-transition: opacity 0.2s linear; }
/* float */
.f-left { float: left; }
.f-right { float: right; margin: 0 0 20px 30px; }
.hidden { overflow: hidden; }
.clear { clear: both; }
.clearfix { overflow: hidden; *zoom:1;
}
.clearfix:after { clear: both; display: block; content: " "; }
/* margin,padding */
.m0auto { margin: 0 auto !important; }
.mt0 { margin-top: 0 !important }
.mb0 { margin-bottom: 0px !important }
.mb10 { margin-bottom: 10px !important }
.mb40 { margin-bottom: 40px !important }
/* text-align */
.t-center { text-align: center !important; }
.t-right { text-align: right !important; }
.t-left { text-align: left !important; }
/* form */
input, select { vertical-align: -2px; font-size: 16px; }
input[type="button"], input[type="submit"] { -webkit-appearance: none; }
label { }
legend { margin-bottom: 1em; }
input[type="text"], input[type="email"], input[type="search"], input[type="tel"], input[type="url"], input[type="password"], input[type="date"], input[type="datetime"], select, textarea { border: #ccc 1px solid; padding: 4px; font-size: 14px; border-radius: 4px; }
input[type="checkbox"] { margin-right: 1em; }
textarea { width: 100%; height: 8em; }
.input_01 { width: 200px; }
.input_02 { width: 100%; }
.input_num_01 { width: 3em; }
input.btn_01 { color: #fff; display: inline-block; line-height: 30px; text-decoration: none; max-width: 320px; background: #f2739c; border: none; width: 50%; padding: 6px 20px; }
.link_map { background: url(../img/icon_pin.png) center left no-repeat; color: #f05889; padding: 0 0 0 16px; margin: 0 0 0 16px; }
/*********************************************
back to top
**********************************************/
.pagetop { display: inline-block; height: 50px; width: 50px; position: fixed; bottom: 40px; right: 20px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.05); /* image replacement properties */ overflow: hidden; text-indent: 100%; white-space: nowrap; background: rgba(13, 113, 187, 0.8) url(../img/cd-top-arrow.svg) no-repeat center 50%; visibility: hidden; opacity: 0; -webkit-transition: opacity .3s 0s, visibility 0s .3s; -moz-transition: opacity .3s 0s, visibility 0s .3s; transition: opacity .3s 0s, visibility 0s .3s; }
.pagetop.cd-is-visible, .pagetop.cd-fade-out, .no-touch .pagetop:hover { -webkit-transition: opacity .3s 0s, visibility 0s 0s; -moz-transition: opacity .3s 0s, visibility 0s 0s; transition: opacity .3s 0s, visibility 0s 0s; }
.pagetop.cd-is-visible { /* the button becomes visible */ visibility: visible; opacity: 1; }
.pagetop.cd-fade-out { /* if the user keeps scrolling down, the button is out of focus and becomes less visible */ opacity: .5; }
.no-touch .pagetop:hover { background-color: #0d71bb; opacity: 1; }
/*********************************************
content
**********************************************/
/* font-size */
body { font-size: 14px; font-family: -apple-system, 'Lucida Grande', 'Helvetica Neue', 'Hiragino Kaku Gothic ProN', 'メイリオ', meiryo, '游ゴシック', sans-serif; border-top: #f2739c solid 8px; padding: 20px 0 0; }
.fs16 { font-size: 16px; }
.fs12 { font-size: 12px; }
.red { color: #d00; }
/*----- header -----*/
header { width: 960px; margin: 0 auto 40px; }
#top header { margin: 0 auto 15px; }
header .header_logo { width: 538px; float: left; margin: 10px 0 0; }
header .header_logo img { margin: 0 0 4px; }
header .header_logo img:first-child { margin: 0 10px 0 0; width:318px;height:auto;}
header .header_tel { margin: 38px 0 0 29px; float: left; width: 168px; }
header .header_contact { width: 209px; float: right; text-align: right; margin: 0 0 14px; }
header .header_btn { width: 40px; height: 50px; position: relative; float: right; display: none; }
header .header_btn span { transition: all 0.3s; transform: rotate(0deg); height: 2px; width: 40px; background: #000; display: block; position: absolute; top: 24px; }
header .header_btn .top { transform: translateY(-17px); }
header .header_btn .bottom { transform: translateY(17px); }
header .header_btn.is-open .middle { background: rgba(255, 255, 255, 0); }
header .header_btn.is-open .top { transform: rotate(-45deg) translateY(0px); }
header .header_btn.is-open .bottom { transform: rotate(45deg) translateY(0px); }
#gNav { clear: both; }
/*#gNav.is-close{display:block !important;}*/
#gNav li { width: 160px; float: left; border-right: #e5e5e5 1px solid; text-align: center; line-height: 50px; }
#gNav li:first-child { border-left: #e5e5e5 1px solid; }
#gNav li img { vertical-align: middle; height:14px;}
#gNav li a { display: block; }
/*----- layout -----*/
#wrapper { width: 960px; margin: 0 auto; }
#main_contents { width: 690px; float: left; line-height: 1.714em; margin: 0 0 70px; }
#side { width: 240px; float: right; margin-bottom: 24px; }
/*----- content -----*/
#main_contents p { margin-bottom: 1.5em; }
#main_contents hr { height: 1px; border: none; border-top: 1px #ccc solid margin:1.45em 0;
}
#main_contents h3 { border-left: #f2739c 4px solid; padding: 3px 0 3px 14px; font-weight: bold; margin: 20px 0; }
#main_contents h4 { background: url(../img/arrow_grn.png) left center no-repeat; font-weight: bold; padding: 0 0 0 14px; margin: 0 0 16px; }
#main_contents h5 { font-weight: bold; margin: 0 0 5px; }
/*----- side -----*/
.side_title_01 { border-bottom: #f1d0db 1px solid; padding: 0 0 13px; text-align: center; line-height: 1em; }
.side_title_01  img{width:72px;height:auto;}
.side_list_01 { font-size: 13px; margin: 0 0 30px; }
.side_list_01 li { border-bottom: #eee 1px solid; line-height: 1.5em; }
.side_list_01 li a { color: #333; text-decoration: none; display: block; padding: 18px 0; }
.side_list_01 li a:hover { color: #999; }
.side_list_01 li span { font-weight: bold; margin: 0 0 7px; display: block; }
.side_list_bnr li { margin: 0 0 12px; }
.side_list_bnr li img { width: 100%; height: auto; }
/*----- top -----*/
.top_main { margin: 0 0 25px; }
.top_title { border-bottom: #f1d0db 1px solid; padding: 0 0 12px; text-align: center; margin: 0 0 20px; line-height: 1em; }
.top_title img{width:64px;height:auto;}
#main_contents h3.top_lead { margin: 24px 0 20px; border-left: none; padding: 0; }
#main_contents h3.top_lead  img{width:313px;}
.top_img{margin-top:-44px;}
.top_link { margin: 20px 0 80px; }
.top_link li { float: left; margin: 0 0 0 21px; border-bottom: #e7e7e7 1px solid; width:216px;}
.top_link li:first-child { margin: 0; }
.top_link li img { width: 100%; height: auto; }
/*----- sub ------*/
.sub_headline { font-family: "Times New Roman", "Roboto Slab", Garamond, Times, serif; font-style: italic; font-size: 36px; letter-spacing: 2px; text-align: center; color: #333; line-height: 26px; margin: 0 !important; }
.sub_headline span { font-family: 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif; font-size: 14px; color: #f2739c; font-style: normal; display: block; margin: 12px 0 32px; letter-spacing: 6px; }
.sub_link_01 { margin: 30px 0 0; padding: 0 4px 10px 0 }
.sub_link_01 li { width: 330px; height: 120px; border-left: #f2739c 10px solid; float: right; text-align: center; font-family: "Times New Roman", "Roboto Slab", Garamond, Times, serif; font-style: italic; font-size: 24px; letter-spacing: 2px; color: #333; -moz-box-shadow: 4px 4px 0 rgba(11,2,5,.05); -webkit-box-shadow: 4px 4px 0 rgba(11,2,5,.05); box-shadow: 4px 4px 0 rgba(11,2,5,.05); }
.sub_link_01 li span { font-family: 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif; font-size: 13px; color: #f2739c; font-style: normal; letter-spacing: 2px; display: block; margin: 8px 0 0; line-height: 13px; }
.sub_link_01 li:first-child { float: left; }
.sub_link_01 li a { display: table-cell; border: #ccc 1px solid; border-left: none; width: 320px; height: 120px; vertical-align: middle; text-decoration: none; background: url(../img/arrow_pink.png) 294px center no-repeat; }
.about_lead { margin: 0 0 32px; }
.about_news { border: 1px solid lightgray; padding: 10px; margin-bottom: 18px; }
.about_news h5 { color: red; }
.about_news p { margin-bottom: 0 !important; }
/*----- instructor ------*/
.instructor_section { margin: 0 0 60px; }
.instructor_section figure { text-align: center; margin: 0 0 20px; }
.instructor_post { font-family: "Times New Roman", "Roboto Slab", Garamond, Times, serif; font-style: italic; font-size: 18px; letter-spacing: 2px; text-align: center; color: #333; line-height: 18px; margin: 0 0 10px !important; }
.instructor_section h1 { font-size: 30px; letter-spacing: 4px; text-align: center; line-height: 30px; margin: 0 0 6px; }
.instructor_en { font-family: "Times New Roman", "Roboto Slab", Garamond, Times, serif; font-style: italic; font-size: 18px; letter-spacing: 2px; text-align: center; color: #333; line-height: 18px; margin: 0 0 25px !important; }
/*----- lesson ------*/
.lesson_list_01 { margin: 0 0 30px; }
.lesson_list_01 li { background: url(../img/arrow_grn.png) left 6px no-repeat; font-weight: bold; padding: 0 0 0 14px; margin: 0; }
.lesson_list_01 li span { font-weight: normal; }
.lesson_list_02 li { margin: 0 0 15px; }
.lesson_price { margin: 0 0 30px; }
.lesson_price .lesson_list_01 li { font-weight: normal; }
.lesson_price .lesson_list_01 { margin: 0; }
.lesson_price > li { border: #ccc 1px solid; float: left; margin: 0 0 0 18px; padding: 20px; }
.lesson_price_01 { width: 690px; margin: 0 0 18px 0 !important; }
.lesson_price_02 { width: 218px; margin: 0 !important; }
.lesson_price_03 { width: 218px; }
.lesson_price_04 { width: 218px; }
.lesson_list_03 { margin: 5px 0 20px; }
.lesson_list_03 li { list-style: disc; margin: 0 0 0 16px; }
.lesson_txt_01 { -moz-border-radius: 6px; -webkit-border-radius: 6px; border-radius: 6px; background-color: #eff7fd; padding: 4px 13px; display: inline-block; margin: 0 0 36px !important; }
.lesson_price_detail { padding-left: 30px; }
.lesson_news { border: 1px solid lightgray; padding: 10px; margin-bottom: 18px; }
/*.lesson_news h5 { color: red; }*/
.lesson_news p { margin-bottom: 0 !important; }
/*----- link ------*/
.link_list_01 { border: #eee 1px solid; padding: 20px 40px; }
.link_list_01 li { /*width: 50%; float: left;*/ background: url(../img/arrow_grn.png) center left no-repeat; padding: 6px 0 6px 20px; }
/*----- news ------*/
.news_list dt { float: left; width: 100px; }
.news_list dd { border-bottom: 1px solid #eee; margin: 0 0 10px; }
.news_list dd a { text-decoration: none; padding: 0 0 10px 100px; display: block; }
.news_list dd a:hover { text-decoration: underline; }
.news_title { font-size: 17px; font-weight: bold; margin: 0 0 5px; }
.news_date { font-size: 12px; color: #666; margin: 0 0 16px; }
/*--------pagenation--------*/
.pagination { position: relative; text-align: center; margin: 40px 0 20px; }
.pagination li { height: 30px; line-height: 30px; font-size: 13px; width: 30px; text-align: center; font-weight: bold; display: inline-block; margin: 0 3px 0; }
.pagination a { display: block; text-decoration: none; color: #333; cursor: pointer; }
.pagination a:hover { background: #f2739c; color: #fff; }
.pagination .current { background: #f2739c; color: #fff; display: block; }
.pagination.detail { border-top: #eee 1px solid; padding: 20px 0 0; }
.pagination.detail li { width: 50%; text-align: right; float: right; margin: 0; }
.pagination.detail li:first-child { text-align: left; float: left; }
.pagination.detail a { display: inline; }
.pagination.detail a:hover { background: none; color: #333; text-decoration: underline; }
/*-----gallery-----*/
.gallery_list li { width: 32%; float: left; margin: 0 0 15px 2% }
.gallery_list li:nth-child(3n-2) { margin: 0 0 15px; }
.gallery_list li img { width: 100%; height: auto; }
/*-----contact-----*/
.contact_table_01 { width: 100%; margin: 24px auto 12px; max-width: 600px; }
.contact_table_01 th, .contact_table_01 td { padding: 6px 0 }
.contact_table_01 th { vertical-align: top; white-space:nowrap;padding-right:10px;}
.contact_table_01 td[colspan="2"] { text-align: center; padding-top: 12px; }
.contact-tel { margin-top:24px; text-align: center; }
.contact-tel h4 { display:inline-block; }
.contact-tel a { font-size:36px; text-decoration: none; }
/*----- footer -----*/
footer { width: 100%; margin: 0 auto; }
footer nav { background: #eeeeee; padding: 18px 0; text-align: center; }
footer nav li { display: inline-block; border-right: #333 1px solid; padding: 0 20px; font-size: 13px; line-height: 13px; }
footer nav li:first-child { border-left: #333 1px solid; }
nav li.sp{display:none;} 
footer nav li a { color: #333; text-decoration: none; }
#copy { text-align: center; line-height: 42px; }
@media screen and (max-width: 1000px) {
/*----- header -----*/
header { width: 94%; margin: 0 auto 30px; }
#gNav li { width: 16.66%; line-height: 50px; }
header .header_logo { width: 318px; }
header .header_logo img { display: none; }
header .header_logo img:first-child { display: block; width: 100%; height: auto; }
/*----- layout -----*/
#wrapper { width: 94%; margin: 0 auto; }
#main_contents { width: 71.875%; }
#side { width: 25%; }
/*----- side -----*/

/*----- top -----*/
.top_main img { width: 100%; height: auto; }
.top_link li { margin: 0 0 0 2%; width: 32%; }
/*----- sub ------*/
.sub_link_01 li { width: 100%; float: none !important; height: auto; margin: 0 0 20px; }
.sub_link_01 li a { display: block; height: auto; padding: 30px; width: 100%; background-position: 95% center; }

/*----- footer -----*/
footer nav li { padding: 0 16px; }
}
@media screen and (max-width: 800px) {
#main_contents img{max-width:100%;height:auto}
header .header_logo img:first-child {
    margin: 0 10px 10px 0;
}
header .header_tel, header .header_contact { display: none; }
header .header_btn { display: block; margin: 10px 0 0; }
#gNav { width: 94%; border-top: #e5e5e5 1px solid; margin: 0; display: none; position: absolute; background: #fff; top: 115px; left: 3%; z-index: 100; }
/*#gNav.is-close{display:none !important;}*/
#gNav li { width: 50%; border-bottom: #e5e5e5 1px solid; }
#gNav li:nth-child(2n-1) { border-left: #e5e5e5 1px solid; }
/*----- layout -----*/
#main_contents { width: 100%; float:none;margin: 0 0 30px; }
#side { width:100%;float:none; margin:0 0 40px;display:none;}
#top #side{display:block;}
.side_list_bnr li{ width:48%;float:left;margin: 0 0 16px 2%; }
.side_list_bnr li:first-child{margin:0 0 16px;}

/*.side_title_01, .side_list_01{display:none}
#top .side_title_01, #top .side_list_01{display:block}*/
/*------ lesson ------*/
.lesson_price > li { float: none; margin: 0 0 16px;height:auto !important;}
.lesson_price_01 { width:100%; margin: 0 0 16px !important;}
.lesson_price_02 { width:100%; margin: 0 0 16px !important; }
.lesson_price_03 { width:100%; }
.lesson_price_04 { width:100%; }

/*----- footer -----*/
footer nav { padding:0}
footer nav li { display: block; border-right: none; padding:0;  line-height: 50px; width:50%;float:left;border-bottom:1px solid #ccc; }
footer nav li:first-child { border-left:none; }
footer nav li:nth-child(2n){border-left:1px solid #ccc; }
footer nav li:last-child,:nth-child(7){border-bottom:none;}
nav li.sp{display:block;} 
}
 @media screen and (max-width: 640px) {
input[type="text"], input[type="email"], input[type="search"], input[type="tel"], input[type="url"], input[type="password"], input[type="date"], input[type="datetime"], select, textarea { padding: 8px; font-size: 16px; border-radius: 6px; width: 100%; max-width: 100%; box-sizing: border-box; }
.f-right {
    margin: 0 0 16px 3%;
	max-width:40%;
}
@media screen and (max-width: 380px) {
  html, body {
    overflow-x: hidden;
  }

  #wrapper {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 10px;
  }

  .contact_table_01 {
    width: 100%;
    max-width: 100%;
  }

  .contact_table_01 th,
  .contact_table_01 td {
    display: block;
    width: 100%;
  }

  .contact_table_01 th {
    white-space: normal !important;
    padding-right: 0;
  }

  .contact_table_01 input[type="text"],
  .contact_table_01 input[type="email"],
  .contact_table_01 input[type="tel"],
  .contact_table_01 select,
  .contact_table_01 textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }

  .input_01,
  .input_02,
  .input_03 {
    width: 100% !important;
  }
}
.top_img{margin:0 0 16px 5%; width:40%;max-width:180px;}
.top_img img{width:100%;height:auto;}
/*----- top -----*/
.top_link {text-align:center;}
.top_link li{width:48%;margin:0 0 16px 2%;}
.top_link li:first-child{margin:0 0 16px;}
.top_link li:last-child{margin:0;display:inline-block;float:none;}
/*-----contact-----*/
.contact_table_01 th, .contact_table_01 td { display:block;}
/*.contact_table_01 th { vertical-align: top; white-space:nowrap;padding-right:10px;}
.contact_table_01 td[colspan="2"] { text-align: center; padding-top: 12px; }*/
 }
@media screen and (max-width: 480px) {
/*----- sub ------*/
.sub_headline { font-size: 28px; }
.input_01 { width: 100%; }
header .header_logo { width: 70%; max-width: 318px; height: auto; margin: 10px 0; }
header .header_btn { margin: 5px 0 0; }
#gNav li img {height:14px;}
/*.side_list_bnr li{ width:100%;float:none;margin: 0 0 16px; }*/
/*.side_list_bnr li{ width:100%;float:none;margin: 0 0 16px; }*/
}
@media screen and (max-width: 400px) {
header .header_btn .top { transform: translateY(-15px); }
header .header_btn .bottom { transform: translateY(15px); }
header .header_btn { margin: 0; }
}
/*-----wordpresss-----*/
#main_contents .youtube { position: relative; width: 100%; padding-top: 55.5%; margin: 0 0 20px; }
#main_contents .youtube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }
#main_contents hr { height: 1px; border: none; border-top: 1px #ccc solid; margin: 2em 0; }
#main_contents blockquote { position: relative; margin: 28px 0 28px; padding: 30px 20px 30px 50px; border-right: 1px solid #ddd; border-bottom: 1px solid #ddd; background: #FDFDFD; z-index: 1; }
div.wpcf7-response-output {
    margin: 2em 0.5em 1em;
    padding: 10px 1em;
}