@charset "UTF-8";
/*----------------------------------------------------------------------------------------------------
 *
 * Theme Name: ドリームミュージック（子供向け音楽教室）のホームページ ver2.7（地域拡大）
 * Theme URI: 
 * Author: 
 * Author URI: 
 * Description: ドリームミュージック（子供向け音楽教室）のホームページ
 * Version: 2.5
 * License: GNU General Public License v2 or later
 * License URI: http://www.gnu.org/licenses/gpl-2.0.html
 * Text Domain: 
 *
 *--------------------------------------------------------------------------------------------------*/

/*--------------------------------------------------------------------------------
 *
 *
 * リセット
 *
 *
--------------------------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin:0; padding:0; border:0; font:inherit; font-size:100%; vertical-align:baseline; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display:block; }
html, body { width:100%; height:100%; line-height:1; }
ol, ul { list-style:none; }
blockquote, q {quotes:none; }
blockquote:before, blockquote:after, q:before, q:after { content:''; content:none; }
table { border-collapse:collapse; border-spacing:0; }
* { -webkit-box-sizing:border-box; -moz-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box; }

/*--------------------------------------------------

   Clearfix

--------------------------------------------------*/
.cf { zoom:1; } .cf:before,.cf:after { content:""; display:table; } .cf:after { clear:both; }

/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * 基本設定
 *
 *
 *
 *
--------------------------------------------------------------------------------*/
html { overflow:auto; }
@media screen and (max-width:1000px){ body { width:1000px; } }
@media screen and (max-width:768px){ body { width:100%; background:none; } }
body { font-family:'tsukushi_bold', serif; font-weight:300; font-style:normal; color:#47331c; 
font-size:100%; line-height:1.75; font-weight:normal; background:#fef5e4 url(img/index/bg.png); position:relative; font-size:16px; }
a:link,
a:visited { color:#337ab7; text-decoration:none; transition:.3s ease; }
a:hover,
a:active { color:#337ab7; text-decoration:none; transition:.3s ease; }
img { max-width:100%; height:auto; vertical-align:top; backface-visibility:hidden; }
a:link img,
a:visited img {opacity:1.0; transition:.3s ease; }
a:hover img,
a:active img {opacity: 0.6; transition: .3s ease; }
video::-webkit-media-controls-enclosure { overflow:hidden; }
video::-webkit-media-controls-panel { width: calc(100% + 30px); }

/* ------------------------------小見出し属性------------------------------　*/
h1 , h2 ,h3 ,h4 ,h5 { margin:0; padding:0; line-height:1.7; }
h1 { font-size:30px; }
h2 { font-size:26px; }
h3 { font-size:20px; }
h4 { font-size:18px; }
h5 { font-size:16px; }

@media screen and (max-width:768px){
	h1 { font-size:20px; }
	h2 { font-size:19px; }
	h3 { font-size:18px; }
	h4 { font-size:16px; }
	h5 { font-size:16px; }
}
p { margin-top:20px; padding:0; line-height:2; display:block; }
p:first-child { margin:0; }
ul { margin:0; padding:0; }
li { margin:0; padding:0; }
i { padding-right:6px; }
img { max-width:100%; height:auto; display:block; }
hr { border-top:1px solid #dbdbd9; border-bottom:1px solid #ffffff; border-right:none; border-left:none; margin:30px 0 40px 0; }
.center,.aligncenter { margin:0 auto; display:block; }
.left { float:left; margin:30px 30px 30px 0; }
.right { float:right; margin:30px 0 30px 30px; }
.photo00 { background:#ffffff; padding:5px; box-shadow:0px 0px 5px 5px rgba(0,0,0,0.05); }
.photo-left { transform:rotate(-4deg); -moz-transform:rotate(-4deg); -webkit-transform:rotate(-4deg); background:#ffffff; padding:5px; box-shadow:0px 0px 5px 5px rgba(0,0,0,0.05); }
.photo-right { transform:rotate(4deg); -moz-transform:rotate(4deg); -webkit-transform:rotate(4deg); background:#ffffff; padding:5px; box-shadow:0px 0px 5px 5px rgba(0,0,0,0.05); }
table { width:100%; font-size:12px; }
table tr { border-bottom:1px solid #cccccc; }
table th { vertical-align:baseline; font-weight:bold; }
table td { }
table th,
table td { padding:10px 10px; }
table img { width:50%; float:left; }
table tr:nth-child(even) { background:#f7f7f7; }
figure { display:inline-block; } /* 図 */
figcaption { text-align:center; font-size:12px; margin-top:10px; } /* 図のキャプション */
.bold { font-weight:bold; }
.small { font-size:12px; line-height:1.7; }
.underline { text-decoration:underline; font-weight:bold; }
.red { color:#d32226; font-weight:bold; }
.blue { color:#00acf6; font-weight:bold; }
.red_underline { background:linear-gradient(transparent 60%, #ff9999 60%); }
.yellow { color:#000000; font-weight:bold; background:linear-gradient(transparent 60%, #ffff00 60%); }
.marker { font-weight:bold; background:linear-gradient(transparent 60%, #f9e799 60%); }
.center { text-align:center; }
.big { font-size:24px; }
.sp00 { margin-top:0 !important; }
.sp10 { margin-top:10px !important; }
.sp20 { margin-top:20px !important; }
.sp30 { margin-top:30px !important; }
.sp40 { margin-top:40px !important; }
.sp50 { margin-top:50px !important; }
.sp60 { margin-top:60px !important; }
.sp70 { margin-top:70px !important; }
.sp100 { margin-top:100px !important; }
.align_left { text-align:left; }
.align_right { text-align:right; }
.align_center { text-align:center; }
.clear { clear:both; }
.ffffff { background:#ffffff!important; }
.f7f7f7 { background:#f7f7f7!important; }
.tategaki { writing-mode:tb-rl; /* IE独自仕様 */ writing-mode:vertical-rl; -moz-writing-mode:vertical-rl; -o-writing-mode:vertical-rl; -webkit-writing-mode:vertical-rl; /*縦文字に*/}
@media screen and (max-width:768px){
	.tategaki {	writing-mode:lr-tb; /* IE独自仕様 */ writing-mode:horizontal-tb; -webkit-writing-mode:horizontal-tb; -ms-writing-mode:horizontal-tb; -o-writing-mode:horizontal-tb; /*横文字に*/ }
}
.flex {display:-webkit-box; display:-ms-flexbox; display:flex;
-webkit-box-pack:center;-ms-flex-pack:center; justify-content:center;/*中央に配置*/
-webkit-box-pack:justify;-ms-flex-pack:justify; justify-content:space-between;/*左右に配置*/
-webkit-box-align:center;-ms-flex-align:center; align-items:center;/*上下中央*/
-ms-flex-wrap:wrap; flex-wrap:wrap;/*折り返す*/ }

.video {
  position:relative;
  padding-bottom:56.25%;
  width:100%;
  height:0;
  overflow:hidden;
}
.video iframe {
  position:absolute;
  top:0;
  right:0;
  width:100%;
  height:100%;
}
.video + p { margin-top:10px; }



@media screen and (max-width:768px){
	.left , .right  { float:none; margin:20px auto 20px auto; display:block; }
	.big { font-size:16px; }
}
.pc { display:block!important; }
.sp { display:none!important; }
@media screen and (max-width:768px){
	.pc { display:none!important; }
	.sp { display:block!important; }
}

/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * ヘッダー
 *
 *
 *
 *
--------------------------------------------------------------------------------*/

header#header { width:100%; height:auto; padding:0; z-index:9999; position:absolute; background:url(img/top_border.png) repeat-x 50% 0;}
@media screen and (max-width:768px){
	header#header { width:100%; height:auto; }
	header#header #inner { width:100%; height:auto; }
}

header#header ul.two_row { width:1000px; height:120px; margin:0 auto;
display:-webkit-box; display:-ms-flexbox; display:flex;
/*-webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;中央に配置*/
-webkit-box-pack:justify; -ms-flex-pack:justify; justify-content:space-between;/*左右に配置*/
-webkit-box-align:center;-ms-flex-align:center; align-items:center; /*上下中央*/
-ms-flex-wrap:wrap; flex-wrap:wrap; /*折り返す*/ }
header#header ul.two_row li p { line-height:1; margin:0; padding:0; }
header#header ul.two_row li p span { display:inline!important; }
header#header ul.two_row li:nth-child(1) { }
header#header ul.two_row li:nth-child(2) p { font-size:14px; line-height:1.5; }
header#header ul.two_row li:nth-child(3) a { font-size:30px; color:#e60012; pointer-events:none; }
header#header ul.two_row li:nth-child(4) a { display:block; background:#e60012; color:#fff; padding:20px 40px; border-radius:100px; box-shadow:0 5px 0 rgba(190,25,55,1); }

@media screen and (max-width:768px){
	header#header ul.two_row { width:100%; height:50px; background:#fff; position:fixed; top:0; z-index:9998; box-shadow:0 10px 10px rgba(0,0,0,0.01);}
	header#header ul.two_row li p span { display:none!important; }
	header#header ul.two_row li:nth-child(1) { width:160px; margin-left:5px; }
	header#header ul.two_row li:nth-child(2) p { display:none }
	header#header ul.two_row li:nth-child(3) { display:none;/*position:absolute; right:95px;*/}
	header#header ul.two_row li:nth-child(3) a { /*pointer-events:auto; display:block; background:#e60012; color:#fff; padding:0; border-radius:100px; font-size:18px; width:36px; height:36px; line-height:36px; text-align:center; box-shadow:0 2px 0 rgba(190,25,55,1);*/ }
	header#header ul.two_row li:nth-child(4) a { padding:0; margin-right:50px; box-shadow:none; border-radius:5px; font-weight:normal; text-align:center; box-shadow:0 2px 0 rgba(190,25,55,1); font-size:10px; padding:10px; }
	header#header i { margin:0 5px 0 0; padding:0; }
}

/* スクロールした時、navに.is-fixedを付与 */
.is-fixed  { top:0; width:100%!important; padding:10px 0; z-index:9999;
height:auto!important; position:fixed!important; background:#fef5e4 url(img/index/bg.png);
-webkit-transition:all .4s ease 0s,background .6s ease .2s; transition:all .4s ease 0s,background .6s ease .2s; -webkit-overflow-scrolling:touch; overflow-scrolling:touch; }

@media screen and (max-width:768px){
	.is-fixed  { background:transparent; }
}


/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * グローバルナビゲーション
 *
 *
 *
 *
--------------------------------------------------------------------------------*/

/* ------------------------------グローバルナビゲーション（PC）------------------------------　*/
nav#header-nav { clear:both; width:1000px; height:auto; margin:0 auto; padding:0; z-index:9999; }
nav#header-nav ul { width:100% }
nav#header-nav ul li { width:20%; padding:0 20px; text-align:center; border-left:1px dotted #47331c; }
nav#header-nav ul li:last-child { border-right:1px dotted #47331c; }
nav#header-nav ul li a { font-size:20px; padding:0; line-height:1.2; color:#47331c; }
nav#header-nav ul li a:before { font-family:"Font Awesome 5 Free"; font-weight:900; font-size:20px; }
nav#header-nav ul li:nth-child(1) a:before { content:'\f015\A'; white-space:pre; }
nav#header-nav ul li:nth-child(2) a:before { content:'\f279\A'; white-space:pre; }
nav#header-nav ul li:nth-child(3) a:before { content:'\f0c0\A'; white-space:pre; }
nav#header-nav ul li:nth-child(4) a:before { content:'\f157\A'; white-space:pre; }
nav#header-nav ul li:nth-child(5) a:before { content:'\f61f\A'; white-space:pre; }
nav#header-nav ul li a:after { font-size:10px; color:#af875b; letter-spacing:3px; }
nav#header-nav ul li:nth-child(1) a:after { content:'\A HOME'; white-space:pre; }
nav#header-nav ul li:nth-child(2) a:after { content:'\A COURSE'; white-space:pre; }
nav#header-nav ul li:nth-child(3) a:after { content:'\A STAFF'; white-space:pre; }
nav#header-nav ul li:nth-child(4) a:after { content:'\A PRICE'; white-space:pre; }
nav#header-nav ul li:nth-child(5) a:after { content:'\A CONTACT'; white-space:pre; }
nav#header-nav ul li a:hover{ text-decoration:none; color:#A9884A; }
nav#header-nav ul.flex { 
display:-webkit-inline-box; display:-ms-inline-flexbox; display:inline-flex;/*インライン要素*/
-webkit-box-align:center;-ms-flex-align:center; align-items:center; /*上下中央*/
-webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;/*中央に配置*/ }
.nav-unshown { display:none; }
/* ------------------------------グローバルナビゲーション（モバイル）------------------------------　*/
@media screen and (max-width:768px){
nav#header-nav { width:100%; margin:0; padding:0; border:none; }
nav#header-nav ul { width:100%; margin:0; padding:20px 0 0 0; }
nav#header-nav ul li { width:80%; text-align:center; padding:20px 30px; margin:0 auto; border-bottom:1px dotted #ccc; }
nav#header-nav ul li a { font-size:16px; color:#333; }
nav#header-nav ul li { border-left:none; }
nav#header-nav ul li:last-child { border-right:none; }
nav#header-nav ul.flex { display:block; }

nav#header-nav ul li a:before { font-size:12.5px; margin-right:5px }
nav#header-nav ul li:nth-child(1) a:before { content:'\f015'; white-space:normal; }
nav#header-nav ul li:nth-child(2) a:before { content:'\f279'; white-space:normal; }
nav#header-nav ul li:nth-child(3) a:before { content:'\f0c0'; white-space:normal; }
nav#header-nav ul li:nth-child(4) a:before { content:'\f157'; white-space:normal; }
nav#header-nav ul li:nth-child(5) a:before { content:'\f61f'; white-space:normal; }
nav#header-nav ul li a:after { font-size:10px; color:#ccc; letter-spacing:3px; }


/*ヘッダーまわりはご自由に*/
#sp_menu { padding:0px; background:none; position:fixed; top:0; right:0; z-index:9998;/*最前面に*/ }
#nav-drawer { position:relative; }
/*チェックボックス等は非表示に*/
.nav-unshown { display:none; }
/*アイコンのスペース*/
#nav-open { display:inline-block; z-index:9999;/*最前面に*/ position:relative; width:50px; height:50px; vertical-align:middle; float:right; background:#fff; }
/*ハンバーガーアイコンOpen前*/
#nav-open,
#nav-open span {display:inline-block; transition:all .4s; box-sizing:border-box; }
#nav-open span {position:absolute; left:30%; width:40%; height:2px; background-color:#333; border-radius:4px; }
#nav-open span:nth-of-type(1) {top: 16px; }
#nav-open span:nth-of-type(2) {top: 24px; }
#nav-open span:nth-of-type(3) {bottom: 16px; }
/*ハンバーガーアイコンOpen後*/
#nav-open.active { background-color:#fff; }
#nav-open.active span { background-color:#333; }
#nav-open.active span:nth-of-type(1) {-webkit-transform: translateY(8px) rotate(-315deg); transform: translateY(8px) rotate(-315deg); }
#nav-open.active span:nth-of-type(2) {opacity: 0; }
#nav-open.active span:nth-of-type(3) {-webkit-transform: translateY(-8px) rotate(315deg); transform: translateY(-8px) rotate(315deg); }
/*閉じる用の薄黒カバー*/
#nav-close {display: none;/*はじめは隠しておく*/ position: fixed; z-index:99; top: 0;/*全体に広がるように*/ right: 0; width: 100%; height: 100%; background: black; opacity: 0; transition: .3s ease-in-out; }
/*中身*/
#nav-content {
overflow:auto; position:fixed; top:0; right:0; z-index:9999;/*最前面に*/ width:90%;/*右側に隙間を作る*/ max-width:330px;/*最大幅*/ height:100%; background:#fff;/*背景色*/ transition: .3s ease-in-out;/*滑らかに表示*/ -webkit-transform: translateX(105%); transform: translateX(105%);/*左に隠しておく*/ }
/*チェックが入ったらもろもろ表示*/
#nav-input:checked ~ #nav-close { display: block;/*カバーを表示*/ opacity: .5; }
#nav-input:checked ~ #nav-content {z-index:9997; -webkit-transform: translateX(0%); transform: translateX(0%);/*中身を表示*/ box-shadow: 6px 0 25px rgba(0,0,0,.15); }
}

/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * パンくずリスト
 *
 *
 *
 *
--------------------------------------------------------------------------------*/

nav#pan { text-align:left; margin:0; padding:0; }
nav#pan ol { max-width:1000px; margin:0 auto; padding:0; text-align:center;  }
nav#pan ol li { display:inline; list-style-type:none; font-size:12px; color:#fff; margin:0; padding:0; border-radius:5px; position:relative; }
nav#pan ol li:after { content:">"; margin:0 5px; }
nav#pan ol li:last-child:after { border-width:0; content:""; }
nav#pan ol li a { color:#fff; }
@media screen and (max-width:768px){
	nav#pan { margin:0; }
	nav#pan ol { width:100%; }
}

/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * FV
 *
 *
 *
 *
--------------------------------------------------------------------------------*/

/* ------------------------------トップページ------------------------------　*/
header#fv { width:100%; height:870px; background:url(img/index/header_bg.png) no-repeat 50% 220px; background-size:1600px 650px; }
header#fv #inner { width:1000px; height:auto; margin:0 auto; padding:0; position:relative; }
header#fv #h1 { margin:0; padding:0; }
header#fv p { margin:0; padding:0; }
@media screen and (max-width:768px){
	header#fv { background:none; width:100%; height:auto; background:none; padding-top:50px; }
	header#fv #inner { width:100%; height:auto; }
}

/* ------------------------------固定ページ------------------------------　*/
header#mv { width:100%; height:400px; background:url(img/common/black_filter03.png) repeat 0 0 , url(img/common/header_bg.jpg) no-repeat 50% 0; background-size:auto, cover;
display:-webkit-box; display:-ms-flexbox; display:flex;
-webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;/*中央に配置*/
/*-webkit-box-pack:justify; -ms-flex-pack:justify; justify-content:space-between;左右に配置*/
-webkit-box-align:center;-ms-flex-align:center; align-items:center; /*上下中央*/
-ms-flex-wrap:wrap; flex-wrap:wrap; /*折り返す*/ }
header#mv #inner { width:1000px; margin:0 auto; padding:0; position:relative; }
header#mv h1 { margin:0; padding:0; color:#fff; text-align:center; font-size:40px; text-shadow:1px 1px 0 rgba(0,0,0,0.2); }
@media screen and (max-width:768px){
	header#mv { width:100%; height:320px; background:url(img/common/black_filter03.png) repeat 0 0 , url(img/common/header_bg_sp.png) no-repeat 50% 0; position:relative; top:50px; margin-bottom:50px; background-size:cover; }
	header#mv #inner { width:100%; margin:0; padding:20px 20px; }
	header#mv h1 { margin:0; padding:0; font-size:24px; line-height:1.4; }
}

/* ------------------------------共通------------------------------　*/
header.rhythmic { background:url(img/common/rhythmic_header_bg.png) no-repeat 50% 0!important; background-size:1600px 600px!important; height:600px!important; }
header.rhythmic h1 { display:none; }
header.rhythmic img { display:none; }
@media screen and (max-width:768px){
	header.rhythmic { background:none!important; background-size:auto!important; height:auto!important; }
	header.rhythmic #inner { padding:0!important; }
	header.rhythmic img { display:block; width:100%; }
}

header.english_rhythmic { background:url(img/common/english_rhythmic_header_bg.png) no-repeat 50% 0!important; background-size:1600px 600px!important; height:600px!important; }
header.english_rhythmic h1 { display:none; }
header.english_rhythmic img { display:none; }
@media screen and (max-width:768px){
	header.english_rhythmic { background:none!important; background-size:auto!important; height:auto!important; }
	header.english_rhythmic #inner { padding:0!important; }
	header.english_rhythmic img { display:block; width:100%; }
}

header.piano { background:url(img/common/piano_header_bg.png) no-repeat 50% 0!important; background-size:1600px 600px!important; height:600px!important; }
header.piano h1 { display:none; }
header.piano img { display:none; }
@media screen and (max-width:768px){
	header.piano { background:none!important; background-size:auto!important; height:auto!important; }
	header.piano #inner { padding:0!important; }
	header.piano img { display:block; width:100%; }
}

header.violin { background:url(img/common/violin_header_bg.png) no-repeat 50% 0!important; background-size:1600px 600px!important; height:600px!important; }
header.violin h1 { display:none; }
header.violin img { display:none; }
@media screen and (max-width:768px){
	header.violin { background:none!important; background-size:auto!important; height:auto!important; }
	header.violin #inner { padding:0!important; }
	header.violin img { display:block; width:100%; }
}

header.ballet { background:url(img/common/ballet_header_bg.png) no-repeat 50% 0!important; background-size:1600px 600px!important; height:600px!important; }
header.ballet h1 { display:none; }
header.ballet img { display:none; }
@media screen and (max-width:768px){
	header.ballet { background:none!important; background-size:auto!important; height:auto!important; }
	header.ballet #inner { padding:0!important; }
	header.ballet img { display:block; width:100%; }
}

header.drum { background:url(img/common/drum_header_bg.png) no-repeat 50% 0!important; background-size:1600px 600px!important; height:600px!important; }
header.drum h1 { display:none; }
header.drum img { display:none; }
@media screen and (max-width:768px){
	header.drum { background:none!important; background-size:auto!important; height:auto!important; }
	header.drum #inner { padding:0!important; }
	header.drum img { display:block; width:100%; }
}

header.other { background:url(img/common/other_header_bg.png) no-repeat 50% 0!important; background-size:1600px 600px!important; height:600px!important; }
header.other h1 { display:none; }
header.other img { display:none; }
@media screen and (max-width:768px){
	header.other { background:none!important; background-size:auto!important; height:auto!important; }
	header.other #inner { padding:0!important; }
	header.other img { display:block; width:100%; }
}

header.english_baby_massage { background:url(img/common/english_baby_massage_header_bg.png) no-repeat 50% 0!important; background-size:1600px 600px!important; height:600px!important; }
header.english_baby_massage h1 { display:none; }
header.english_baby_massage img { display:none; }
@media screen and (max-width:768px){
	header.english_baby_massage { background:none!important; background-size:auto!important; height:auto!important; }
	header.english_baby_massage #inner { padding:0!important; }
	header.english_baby_massage img { display:block; width:100%; }
}

header.dance { background:url(img/common/dance_header_bg.png) no-repeat 50% 0!important; background-size:1600px 600px!important; height:600px!important; }
header.dance h1 { display:none; }
header.dance img { display:none; }
@media screen and (max-width:768px){
  header.dance { background:none!important; background-size:auto!important; height:auto!important; }
  header.dance #inner { padding:0!important; }
  header.dance img { display:block; width:100%; }
}

header.chiiku { background:url(img/common/chiiku_header_bg.png) no-repeat 50% 0!important; background-size:1600px 600px!important; height:600px!important; }
header.chiiku h1 { display:none; }
header.chiiku img { display:none; }
@media screen and (max-width:768px){
  header.chiiku { background:none!important; background-size:auto!important; height:auto!important; }
  header.chiiku #inner { padding:0!important; }
  header.chiiku img { display:block; width:100%; }
}

header.english { background:url(img/common/english_header_bg.png) no-repeat 50% 0!important; background-size:1600px 600px!important; height:600px!important; }
header.english h1 { display:none; }
header.english img { display:none; }
@media screen and (max-width:768px){
  header.english { background:none!important; background-size:auto!important; height:auto!important; }
  header.english #inner { padding:0!important; }
  header.english img { display:block; width:100%; }
}




/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * コンテンツ
 *
 *
 *
 *
--------------------------------------------------------------------------------*/

/* ------------------------------共通------------------------------　*/
article {  }
section { width:100%; }
section .inner { width:1000px; margin:0 auto; padding:60px 0; }

@media screen and (max-width:768px) {
	section .inner { width:90%; padding:30px 0; }
}
@font-face { font-family:'tsukushi'; src:url('font/TsukushiAMaru.woff') format('woff'); }
@font-face { font-family:'tsukushi_bold'; src:url('font/TsukushiAMaruGothic.woff') format('woff'); }
@font-face { font-family: 'din-alternate-bold'; src: url("font/din-alternate-bold.ttf"); }

@media screen and (max-width:768px) {
	.frame { width:100%; height:auto; background-size:contain; padding: 3.5% 4% 5% 4%; }
}

a.button { border:2px solid #000; font-weight:bold; padding:20px; text-align:center; }
a.button:hover { background:#000; color:#fff; }
@media screen and (max-width:768px) {
}

article#index h2 { font-size:50px; text-align:center; line-height:1.2; }
article#index h2 span.small { font-size:30px; }
article#index h3 { font-size:26px; line-height:1.2; }
article#index p { font-size:16px; margin:0; padding:0; }
article#index img.h2_bottom { display:block; margin:20px auto 0 auto; padding:0; }

@media screen and (max-width:768px) {
	article#index h2 { font-size:34px; }
	article#index h2 span.small { font-size:15px; }
	article#index h3 { font-size:18px; line-height:1.7; }
	article#index p { font-size:12px; }
	article#index img.h2_bottom { width:80%; margin-top:10px; }
}

/*--------------------------------------------------------------------------------
 *
 * opening
 *
--------------------------------------------------------------------------------*/
#opening { background:url(img/index/bg03.png) no-repeat 50% 50%; }
#opening .inner { padding-top:30px }
#opening ul { margin:30px 0;
display:-webkit-box; display:-ms-flexbox; display:flex;
/*-webkit-box-pack:center;-ms-flex-pack:center; justify-content:center;中央に配置*/
-webkit-box-pack:justify;-ms-flex-pack:justify; justify-content:space-between;/*左右に配置*/
-webkit-box-align:center;-ms-flex-align:center; align-items:center;/*上下中央*/
-ms-flex-wrap:wrap; flex-wrap:wrap;/*折り返す*/ }
#opening ul li { width:32%; } 
#opening p { text-align:center; font-size:30px!important; line-height:1.6; } 
#opening p.small { font-size:12px!important; margin-top:15px; } 
@media screen and (max-width:768px){
	#opening ul { margin:20px 0; }
	#opening ul li { width:100%; margin:0 auto; } 
	#opening ul li:first-child { margin-top:0; } 
	#opening ul li { margin-top:0px; }
	#opening p { font-size:16px!important; } 
}
@media screen and (max-width:460px){
		#opening p { text-align:left; } 
		#opening p br { display:none; } 
}

/*--------------------------------------------------------------------------------
 *
 * course
 *
--------------------------------------------------------------------------------*/
#course { background:url(img/index/bg02.png); }
#course ul { margin:30px 0 0 0;
display:-webkit-box; display:-ms-flexbox; display:flex;
/*-webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;中央に配置*/
-webkit-box-pack:justify; -ms-flex-pack:justify; justify-content:space-between;/*左右に配置*/
/*-webkit-box-align:center;-ms-flex-align:center; align-items:center;上下中央*/
-ms-flex-wrap:wrap; flex-wrap:wrap; /*折り返す*/ }
#course li { width:32%; border-radius:10px; margin-top:20px; padding:20px; background:#e60012; }
#course li:nth-child(1) { width:49%; margin-top:0; }
#course li:nth-child(2) { width:49%; margin-top:0; }
#course li:nth-child(1) h3 { font-size:50px; }
#course li:nth-child(2) h3 { font-size:50px; }
#course li:nth-child(4n+3) { background:#ec6919; }
#course li:nth-child(4n+4) { background:#22ac38; }
#course li:nth-child(4n+5) { background:#18499d; }
#course li:nth-child(4n+6) { background:#852183; }
#course li:nth-child(4n+3) p.old { background:#b84521; }
#course li:nth-child(4n+4) p.old { background:#2a933a; }
#course li:nth-child(4n+5) p.old { background:#133b80; }
#course li:nth-child(4n+6) p.old { background:#5f2460; }
#course li:nth-child(4n+3) a { border:2px solid #ec6919; color:#ec6919; }
#course li:nth-child(4n+4) a { border:2px solid #22ac38; color:#22ac38; }
#course li:nth-child(4n+5) a { border:2px solid #18499d; color:#18499d; }
#course li:nth-child(4n+6) a { border:2px solid #852183; color:#852183; }
#course li:nth-child(4n+3) a:hover { background:#ec6919; color:#fff; }
#course li:nth-child(4n+4) a:hover { background:#22ac38; color:#fff; }
#course li:nth-child(4n+5) a:hover { background:#18499d; color:#fff; }
#course li:nth-child(4n+6) a:hover { background:#852183; color:#fff; }
#course p.old { background:#a72024; color:#fff; font-size:20px; text-align:center; border-radius:30px; }
#course h3 { color:#fff; text-align:center; font-size:26px; margin:20px 0; }
#course .box { background:#fff; padding:20px; margin:0; border:none; }
#course .box > p { font-size:16px;  }
#course a { display:block; width:100%; color:#e60012; border:2px solid #e60012; text-align:center; padding:10px; border-radius:50px; margin-top:10px; }
#course a:hover {  color:#fff; border:2px solid #e60012; background:#e60012; }

@media screen and (max-width:768px){
	#course li { width:100%; padding:20px; }
	#course li:nth-child(1) { width:48.5%; }
	#course li:nth-child(2) { width:48.5%; }
	#course li:nth-child(4n+3) { width:48.5%; }
	#course li:nth-child(4n+4) { width:48.5%; }
	#course li:nth-child(4n+5) { width:48.5%; }
	#course li:nth-child(4n+6) { width:48.5%; }
	#course li:nth-child(1) h3 { font-size:22px; }
	#course li:nth-child(2) h3 { font-size:22px; }
	#course p.old { font-size:14px; }
	#course h3 { font-size:24px!important; }
	#course .box { padding:20px; }
	#course .box > p { font-size:12px;  }
}

@media screen and (max-width:420px){
	#course li { width:100%; padding:20px; }
	#course li:nth-child(1) { width:100%; }
	#course li:nth-child(2) { width:100%; margin-top:20px!important; }
	#course li:nth-child(4n+3) { width:100%; }
	#course li:nth-child(4n+4) { width:100%; }
	#course li:nth-child(4n+5) { width:100%; }
	#course li:nth-child(4n+6) { width:100%; }
	#course li:nth-child(1) h3 { font-size:22px; }
	#course li:nth-child(2) h3 { font-size:22px; }
	#course p.old { font-size:14px; }
	#course h3 { font-size:24px!important; }
	#course .box { padding:20px; }
	#course .box > p { font-size:12px;  }
}

.box_online { background:#fff; border:4px solid #47331c; border-radius:10px; padding:30px 30px 40px 30px; }
.box_online p { font-size:20px!important; margin-top:20px; text-align:center; }
.box_online a { background:#ff0000; border-radius:100px; text-align:center; display:block; margin:20px auto 0 auto; padding:20px 0; width:400px; color:#fff; box-shadow:0 6px 0 rgba(200,0,20,1); font-size:20px }
@media screen and (max-width:460px){
	.box_online { padding:20px 20px 40px 20px; }
	.box_online a { font-size:20px; width:100%; }
	.box_online p { font-size:12px!important; margin-top:20px!important; text-align:left; }
	.box_online p br { display:none }

}

/*--------------------------------------------------------------------------------
 *
 * voice
 *
--------------------------------------------------------------------------------*/
.box_online + h2 { margin-top:50px; }
#voice { background:url(img/index/bg03.png) no-repeat 50% 50%; }
#voice h3 { text-align:center; margin:20px 0; font-size:19px!important; line-height:1.5!important; }
#voice ul { margin-top:30px;
display:-webkit-box; display:-ms-flexbox; display:flex;
-webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;/*中央に配置*/
/*-webkit-box-pack:justify; -ms-flex-pack:justify; justify-content:space-between;左右に配置*/
/*-webkit-box-align:center;-ms-flex-align:center; align-items:center;上下中央*/
-ms-flex-wrap:wrap; flex-wrap:wrap; /*折り返す*/ }
#voice li { width:31%; background:#fff; margin:0 1%; padding:20px; box-shadow:0 1px 2px rgba(0,0,0,0.3); border-radius:10px; border:4px solid #47331c; }
#voice li img {  width:200px; height:200px; border-radius:150px; margin:0 auto; background:#fff; }

@media screen and (max-width:768px){
	.box_online + h2 { margin-top:30px; }
	#voice h3 { margin:10px 0; font-size:16px!important; }
	#voice li {  width:100%; margin:20px 0 0 0; }
	#voice li:first-child { margin:0; }
}



/*--------------------------------------------------------------------------------
 *
 * 背景ループ
 *
--------------------------------------------------------------------------------*/

#roop {width:100%; height:500px; background:url(img/index/bg_roop.png) repeat-x; background-position:0 0; background-size:2200px 500px; -webkit-animation:bgroop 20s linear infinite; animation:bgroop 20s linear infinite; }
@-webkit-keyframes bgroop {
    from {
        background-position:0  0;
    }
    to {
        background-position:-1956px 0;
    }
}
@keyframes bgroop {
    from {
        background-position:0 0;
    }
    to {
        background-position:-1956px 0;
    }
}

@media screen and (max-width:460px){
	#roop { height:200px; background-size:880px 200px; }

}

/*--------------------------------------------------------------------------------
 *
 * access
 *
--------------------------------------------------------------------------------*/
#access { background:url(img/index/bg03.png) no-repeat 50% 50%; }
#access iframe { width:100%; height:240px; }
#access ul { margin-top:30px;
display:-webkit-box; display:-ms-flexbox; display:flex;
-webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;/*中央に配置*/
/*-webkit-box-pack:justify; -ms-flex-pack:justify; justify-content:space-between;左右に配置*/
/*-webkit-box-align:center;-ms-flex-align:center; align-items:center;上下中央*/
-ms-flex-wrap:wrap; flex-wrap:wrap; /*折り返す*/ }
#access li { width:49%; background:#fff; margin-top:20px; padding:20px; box-shadow:0 1px 2px rgba(0,0,0,0.3); border-radius:10px; border:4px solid #47331c; }
#access li:nth-child(1) { margin-top:0; }
#access li:nth-child(2) { margin-top:0; }
#access li:nth-child(odd) {  }
#access li:nth-child(even) { margin-left:2%; }
#access a { display:block; width:120px; height:110px; background:#e60012; color:#fff; padding:10px 0 0 0; border-radius:10px; box-shadow:0 5px 0 rgba(190,25,55,1); text-align:center; line-height:1.4; }
#access a:before { font-family:"Font Awesome 5 Free"; font-weight:900; font-size:40px; content:'\f5a0\A'; white-space:pre; }
#access li:nth-child(1) a {  }
#access li:nth-child(2) a { background:#fccb00; box-shadow:0 5px 0 rgba(220,180,50,1); }
#access li:nth-child(3) a { background:#22ac38; box-shadow:0 5px 0 rgba(40,150,60,1); }
#access li:nth-child(4) a { background:#007bc7; box-shadow:0 5px 0 rgba(10,100,160,1); }
#access li:nth-child(5) a { background:#e60012; box-shadow:0 5px 0 rgba(190,25,55,1); }
#access li:nth-child(6) a { background:#fccb00; box-shadow:0 5px 0 rgba(220,180,50,1); }
#access li:nth-child(7) a { background:#22ac38; box-shadow:0 5px 0 rgba(40,150,60,1); }
#access .cf { margin-top:20px; }
#access .left_box { float:left; }
#access .right_box { float:right; }

@media screen and (max-width:768px){
	#access li {  width:100% }
	#access li:nth-child(2) { margin-top:20px; }
  #access li:nth-child(even) { margin-left:0; }
	#access li h3,
	#access li p { text-align:center; }
	#access a { width:100%; height:auto; margin-top:20px; padding:10px 0; border-radius:10px; box-shadow:0 3px 0 rgba(190,25,55,1); border-radius:30px; }
	#access a:before { font-size:14px; content:'\f5a0'; white-space:normal; margin-right:6px; }
	#access .cf { margin-top:20px; }
	#access .left_box { float:none; }
	#access .right_box { float:none; }
}

/*--------------------------------------------------------------------------------
 *
 * access（下層ページでの表示）
 *
--------------------------------------------------------------------------------*/
.access h3 { margin:0!important; padding:0;  }
.access p { margin:0; padding:0; font-size:12px!important; }
.access .cf { margin-top:10px!important; }
.access .left { margin-right:0px!important; }
.access .right { margin-left:0px!important; }
.access a:before { content:'\f1d8\A'!important; }




/* ------------------------------コンタクトフォーム ------------------------------　*/

article#cta h2 { font-size:50px; text-align:center; line-height:1.2; }
article#cta h2 span { font-size:30px; }
article#cta img.h2_bottom { display:block; margin:20px auto 0 auto; padding:0; }

@media screen and (max-width:768px) {
	article#cta h2 { font-size:30px; }
	article#cta h2 span { font-size:16px; }
	article#cta img.h2_bottom { width:50%; margin-top:10px; }
}

#cta { background:url(img/index/bg02.png); }
#cta .form_box { width:80%; padding:60px 100px 30px 100px; margin:30px auto 0 auto; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,0.3); border-radius:10px; border:4px solid #47331c; }
#cta h3 { border-top:1px solid #333; border-bottom:1px solid #333; padding:5px 0; text-align:center; }
#cta p.center + h3 { margin-top:30px!important; }
#cta p { margin-top:0; }
#cta .tel { font-size:50px; text-align:center; font-weight:bold; letter-spacing:0; line-height:1; margin:20px 0 40px 0; }
#cta .tel small { font-size:16px; }
#cta .tel a { color:#47331c; pointer-events:none; }

@media screen and (max-width:768px){
	#cta .form_box { width:100%; padding:30px 20px 30px 20px; margin-top:30px;  }
	#cta .tel { font-size:22px; line-height:1; margin:20px 0 40px 0; }
	#cta .tel small { font-size:12px; }
	#cta .tel a { display:block; background:#e60012; box-shadow: 0 5px 0 rgba(190,25,55,1); color:#fff; pointer-events:auto; padding:20px 0; border-radius:10px }
	#cta .tel .marker { background:none; }
}

/*--------------------------------------------------------------------------------
 *
 * news
 *
--------------------------------------------------------------------------------*/
#news { padding:0 0 60px 0; }
@media screen and (max-width:768px){
	#news { padding:0 0 30px 0; }
}

ul#notice { 
display:-webkit-box; display:-ms-flexbox; display:flex;
/*-webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;中央に配置*/
-webkit-box-pack:justify; -ms-flex-pack:justify; justify-content:space-between;/*左右に配置*/
/*-webkit-box-align:center;-ms-flex-align:center; align-items:center; 上下中央*/
-ms-flex-wrap:wrap; flex-wrap:wrap; /*折り返す*/ }
ul#notice > li:nth-child(1) { width:26%; border-top: solid 1px #9d9190; position:relative; }
ul#notice > li:nth-child(2) { width:70%; border-top: solid 1px #9d9190; position:relative; }

ul#notice h2 { font-size:24px; text-align:center; margin-top:20px; }
ul#notice a.link_area { display:block; width:100%; border:1px solid #adadad; color:#404040; text-align:center; padding:10px 10px; letter-spacing:2px; font-size:10px; }
ul#notice a.link_area:before { content:">"; margin-right:10px; }

@media screen and (max-width:768px){
	ul#notice > li:nth-child(1) { width:100%; }
	ul#notice > li:nth-child(2) { width:100%; border:none; }
	ul#notice > li:nth-child(2):before { border:none; }
}

dl.news_line{ width:100%; margin:0; }
dl.news_line dt,dl.news_line dd { height:40px; padding:20px 0 40px 0; border-bottom:1px solid #ccc; letter-spacing:.2em; }
dl.news_line dt { clear:left; float:left; width:31%; font-size:12px; color:#666666; }
dl.news_line dt > a { background:#b39b57; color:#fff; padding:4px 20px; border-radius:3px; margin-right:10px; pointer-events:none; }
dl.news_line dd { margin-left:31%; font-size:12px; }
dl.news_line dd > a { color:#1c1c1c; }
dl.news_line dt:first-child,
dl.news_line dt:first-child + dd { border-top:0; }

@media screen and (max-width:768px){
	dl.news_line dt,dl.news_line dd { height:auto; padding:0; }
	dl.news_line dt { clear:both; float:none; width:100%; font-size:10px; padding:20px 0 10px 0; border-bottom:0; }
	dl.news_line dd { margin-left:0%; border-top:none; padding-bottom:20px; font-size:12px; }
}





/* ------------------------------モーダルウィンドウ------------------------------　*/
.content{ margin:0 auto; }
.modal{ display:none; height:100vh; position:fixed; top:0; width:100%; z-index:9999; }
.modal__bg{ background:rgba(0,0,0,0.8); height:100vh; position:absolute; width:100%; }
.modal__content{ left:50%; position:absolute; top:50%; transform:translate(-50%,-50%); width:700px; height:90vh; overflow:scroll; }
.modal__content a { color:#fff; font-size:14px; }

@media screen and (max-width:768px){
	.modal__content{ width:90%; height:90vh; }
}




/*--------------------------------------------------------------------------------
 *
 * info
 *
--------------------------------------------------------------------------------*/
.info { background:#ccc; }
.info p { margin:0; }
.info ul { 
display:-webkit-box; display:-ms-flexbox; display:flex;
-webkit-box-orient:horizontal;-webkit-box-direction:normal; -ms-flex-direction:row; flex-direction:row; /*左から配置*/
-ms-flex-wrap:wrap; flex-wrap:wrap;  }/*折り返す*/
.info li { width:24.25%; margin-right:1%; box-shadow:0 1px 2px rgba(0,0,0,0.3); }
.info li:nth-child(4n+4) { margin-right:0; }

@media screen and (max-width:768px) {
	.info li { width:100%; margin-right:0%; margin-bottom:5%; }
}

/* ------------------------------アコーディオン------------------------------　*/
dl.accordion , .accordion dt, .accordion dd { margin:0; padding:0; }
dl.accordion { margin:20px 0; padding-bottom:20px; }
.accordion dt { display:block; width:100%; height:auto; line-height:1.4; cursor:pointer; margin:0 auto; text-align:center; 
	width:100%; border:2px solid #000; font-weight:bold; padding:20px; text-align:center; }
.accordion dt:after { font-family:"Font Awesome 5 Free"; content:'\f107'; font-weight:900; margin-left:10px }
.accordion dt.close { box-shadow:none }
.accordion dt.close:after { font-family:"Font Awesome 5 Free"; content:'\f106'; font-weight:900; }
.accordion dd { width:100%; height:auto; display:none; margin:0; padding:30px 0 10px 0; }
.accordion dd p { width:100%; color:#000000; }
.accordion dd img { border-radius:20px; }
.accordion br { display:inline; }
.accordion dt,
.accordion dd { font-size:14px; }

@media screen and (max-width:768px){
	dl.accordion { font-size:14px; }
	.accordion dd p { font-size:14px; }
	.accordion dd { padding:30px 00px 10px 0px; }
}




/*--------------------------------------------------------------------------------
 *
 * ３列メニュー
 *
--------------------------------------------------------------------------------*/
ul.box_menu { padding-top:60px; margin-top:2px;
background:url(img/box_menu_bg.png) no-repeat 50% 0,url(img/instagram_bg.png) repeat 0 0;
display:-webkit-box; display:-ms-flexbox; display:flex;
-webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;/*中央に配置*/
-ms-flex-wrap:wrap; flex-wrap:wrap; /*折り返す*/ }
ul.box_menu li { box-shadow:3px 3px 3px rgba(0,0,0,.1); }
ul.box_menu li:nth-child(2) { margin:0 20px; }
ul.box_menu li a { margin:0; padding:0; }

@media screen and (max-width:768px){
	ul.box_menu li { margin:10px 0; }
	ul.box_menu li:nth-child(2) { margin:10px 0 10px 20px; }
}

@media screen and (max-width:660px){
	ul.box_menu li:nth-child(2) { margin:10px 0; }
}





/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * 問い合わせフォーム
 *
 *
 *
 *
--------------------------------------------------------------------------------*/
dl.form{ width:100%; margin:0 0 0 0; display:flex; flex-wrap:wrap;/*折り返す*/ }
dl.form dt,dl.form dd { padding:15px 0; }
dl.form dt { width:33%; font-size:14px; border-top:1px solid #ccc; }
dl.form dt:first-child { border-top:0; }
dl.form dd { width:calc(100% - 33%); border-top:1px solid #ccc; }
dl.form dt:first-child,
dl.form dt:first-child + dd { border-top:0; }
dl.form span.small { font-size:12px; }
@media screen and (max-width:768px){
   dl.form dt,dl.form dd { padding:0; }
   dl.form dt { width:100%; font-size:12px; border-top:1px solid #ccc; padding:10px 0 2px 0; }
   dl.form dd { width:100%; border-top:none; padding-bottom:10px; }
}

/* ------------------------------プレースホルダーの色・サイズ指定------------------------------　*/
input::-webkit-input-placeholder {color:#ccc; font-size:14px; }
input:-moz-placeholder {color:#ccc; font-size:14px; }
textarea::-webkit-input-placeholder {color:#ccc; font-size:14px; }
textarea:-moz-placeholder {color:#ccc; font-size:14px; }

/* ------------------------------コンタクトフォーム７------------------------------　*/
div.wpcf7 { display:block; width:100%; margin:0 auto!important; box-shadow:none; background:transparent; }
div.wpcf7 p { padding:0; margin:0; line-height:2; }
div.wpcf7 input, .wpcf7 textarea , .wpcf7 select { width:100%; border:1px solid #ccc; padding:14px; font-size:16px; border-radius:2px; }
div.wpcf7 textarea { height:215px; }
div.wpcf7 select { height:60px; }
.wpcf7 input:focus, .wpcf7 textarea:focus { border:1px solid #009de1; }
.wpcf7-captchac { border:1px solid #ccc; }

@media screen and (max-width:768px){
	div.wpcf7 { width:100%; }
	div.wpcf7 p { padding:0; }
}

/* ------------------------------エラー個所をわかりやすく表示------------------------------　*/
.wpcf7 .wpcf7-not-valid { background:#ffb6c1; }
.wpcf7 span.wpcf7-not-valid-tip { font-size:80%; }
.wpcf7 .wpcf7-response-output {margin:10px 0 0; padding:8px 35px 8px 14px; text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);
    -webkit-border-radius: 4px; -moz-border-radius:4px; border-radius:4px; }
.wpcf7 .wpcf7-validation-errors { color:#B94A48; background-color:#F2DEDE; border:1px solid #EED3D7;}
.wpcf7 .wpcf7-mail-sent-ok { color:#3A87AD; background-color:#D9EDF7; border:1px solid #BCE8F1;}
/* 必須赤色表示 */
.wpcf7 .required { color: #000000;}
/* 任意緑色表示 */
.wpcf7 .any{ color: #080;}
select { background:#ffffff; border:1px solid #cccccc; border-radius:3px; color:#0C2245; font-size:14px; height:40px; line-height:30px; text-align:left; text-indent:5px; vertical-align:middle; width:100%; }
.hissu{ background:#cd4a38; color:#ffffff; margin:0 0 0 5px; padding:3px 7px; font-weight:bold; border-radius:3px; font-size:10px; }
.nini{ background:#777777; color:#ffffff; margin:0 0 0 5px; padding:3px 7px; font-weight:bold; border-radius:3px; font-size:10px; }

/* ------------------------------送信ボタン------------------------------　*/
input[type="submit"] { -webkit-appearance:none; margin:0 auto; background:none; display:block; font-size:22px!important; width:100%; height:120px; margin:0 auto; border:none!important; border-radius:10px!important; color:#fff; background:#22ac38; box-shadow:0 8px 0 rgba(40,150,60,1); font-weight:bold; }
input[type="submit"]:hover { background:rgba(40,150,60); color:#fff; transition:.3s ease; }
@media screen and (max-width:768px){
	input[type="submit"] { font-size:16px!important; height:80px; }
}

/* ------------------------------チェックボックスのデザイン------------------------------　*/
input[type=checkbox] { display:none; }
.wpcf7-list-item  { padding:10px 0; }
.wpcf7-list-item-label { position:relative; padding:0 0 0 56px; top:0px; }
.wpcf7-list-item-label:hover:after { border-color:#00b498; }
.wpcf7-list-item-label:after,  .wpcf7-list-item-label:before{position:absolute; content:""; display:block; top:50%; }
.wpcf7-list-item-label:after { left:0px; margin-top:-20px; width:36px; height:36px; border:2px solid #ccc; border-radius:3px; }
.wpcf7-list-item-label:before { left:18px; margin-top:-7px; width:5px; height:9px; border-right:3px solid #00b498; border-bottom:3px solid #00b498; transform:rotate(45deg); opacity:0; }
input[type=checkbox]:checked + .wpcf7-list-item-label:before {opacity:1; }

@media screen and (max-width:768px){
	.wpcf7-list-item  { padding:15px 0; } /* チェックボックス下に14pxのスペース */
}




/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * フッター
 *
 *
 *
 *
--------------------------------------------------------------------------------*/
footer { position:relative; width:100%; margin:0; padding:30px 0 30px 0; background:url(img/top_border.png) repeat-x 50% 0; z-index:999; }
#footer { max-width:1000px; margin:0 auto; }
footer p { font-size:10px; text-align:center; }
footer a { font-size:10px; color:#947e65!important; }
footer .col_border_left { border-left:1px solid #947e65; }
footer .col { width:33.33%; float:left; border-right:1px solid #947e65; padding:0 20px; }
footer .col > p { text-align:left; }
footer ul { -webkit-column-count:2; -moz-column-count:2; column-count:2; -webkit-column-rule:1px dotted #947e65; -moz-column-rule:1px dotted #947e65; column-rule:1px dotted #947e65; }
footer ul li { margin:0; padding:0; line-height:1.2; font-size:14px; }
footer ul li a:before { content:">" }
address { clear:both; font-size:10px; text-align:center; padding:30px 0 0 0; }

@media screen and (max-width:768px){
	footer { }
	#footer { width:90%; margin:0 auto; }
	footer img { margin:0 auto; }
	footer p { font-size:10px; text-align:center; margin:0; }
	footer .col_border_left { border-left:none; margin-top:0px !important; }
	footer .col { width:100%; float:none; border-right:none; padding:0; margin-top:20px; }
	footer ul { -webkit-column-count:2; -moz-column-count:2; column-count:2; -webkit-column-rule:1px dotted #947e65; -moz-column-rule:1px dotted #947e65; column-rule:1px dotted #947e65; }
	address { font-size:10px; text-align:center; }
}

footer table { color:#734719; margin-bottom:10px; }
footer table tr { border-bottom:1px solid #734719; }
footer table th { width:20%; }
footer table td { width:11.4285%; text-align:center }
footer table th,
footer table td { padding:10px 0; }

/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * その他（jQuery、文字装飾なと）
 *
 *
 *
 *
--------------------------------------------------------------------------------*/

/* ------------------------------ページトップへ戻る------------------------------　*/
#pageTop { position:fixed; bottom:20px; right:20px;}
#pageTop a { display:block; z-index:999; margin:0; padding:0; width:60px; height:60px; background:url(img/top.png) no-repeat 0 0; }
#pageTop a:hover { text-decoration:none; opacity:0.7; }
@media screen and (max-width:768px){
	#pageTop , #pageTop a { display:none; }
}

/* ------------------------------グローバルナビ上部固定------------------------------　*/
.fixed { position:fixed; top:0; width:100%; z-index:10000; }
@media screen and (max-width:768px){
.fixed { position:static; }
}

/* ------------------------------フェードインアニメーション------------------------------　*/
.sa {opacity: 0; transition: all .5s ease; } /* ノーマル */
.sa.show {opacity: 1; transform: none; } /* ノーマル */
.sa-lr {transform: translate(-100px, 0); } /* 右から */
.sa-rl {transform: translate(100px, 0); } /* 左から */
.sa-up {transform: translate(0, 100px); } /* 下から */
.sa-down {transform: translate(0, -100px); } /* 上から */
.sa-scaleUp {transform: scale(.5); } /* 縮小→拡大 */
.sa-scaleDown {transform: scale(1.5); } /* 拡大→縮小 */
.sa-rotateL {transform: rotate(180deg); } /* 左回転 */
.sa-rotateR {transform: rotate(-180deg); } /* 右回転 */

/* ------------------------------ふわふわ------------------------------　*/
@keyframes horizontal {
    0% { transform:translateX( -5px); }
  100% { transform:translateX(  0px); }
}
@keyframes vertical {
    0% { transform:translateY(-5px); }
  100% { transform:translateY(  0px); }
}
img.huwahuwa { animation: horizontal 2s ease-in-out infinite alternate; }
img.huwahuwa { animation: vertical 2s ease-in-out infinite alternate; }
img.huwa01 { animation-duration: 1.1s}
img.huwa02 { animation-duration: 1.3s}
img.huwa03 { animation-duration: 1.5s}

/* ------------------------------吹き出しを作る------------------------------　*/
.balloon { margin:20px 0; padding-top:20px; position:relative; }
.balloon:before,.balloon:after { clear:both; content: ""; display: block; }
.balloon figure { width:100px; height:100px; margin:0; padding:0; }
.balloon-image-left {float:left; margin-right:20px; margin-left:0; }
.balloon-image-right {float:right; margin-left:20px; }
.balloon figure img { width:100%; height:100%; border-radius:50%; border:solid 3px #ffe2e9; }
.balloon-image-description { padding:0; margin-top:0; font-size:12px; text-align:center; }

.balloon-text-right,
.balloon-text-left { position:relative; padding:15px; border-radius:10px; max-width: -webkit-calc(100% - 110px); max-width: calc(100% - 110px); display:inline-block; background:#ffffff; }
.balloon-text-right { float:left; margin-left:10px; background:#ffe2e9;}
.balloon-text-left { float:right; margin-right:10px; background:#fff; border:2px solid #ffe2e9; }
.balloon-text-left p {  }

.balloon p { margin:0; padding:0; font-size:16px; }
.balloon p:last-child { margin-bottom:0; }
/* 三角部分 */
.balloon-text-right:before {position:absolute; content: ''; border:10px solid transparent; border-right:10px solid #ffe2e9; top:15px; left:-20px; }
.balloon-text-right:after {position:absolute; content: ''; border:10px solid transparent; border-right:10px solid #ffe2e9; top: 15px; left:-19px; }
.balloon-text-left:before {position:absolute; content: ''; border:10px solid transparent; border-left:10px solid #ffe2e9; top: 15px; right:-20px; }
.balloon-text-left:after {position:absolute; content: ''; border:10px solid transparent; border-left:10px solid #fff; top:15px; right:-17px; }

@media screen and (max-width:768px){
	.balloon { margin:0 0 30px 0; }
	.balloon figure { width:60px; height:60px; }
	.balloon figure img { border:3px solid #f5f5f5; }
	.balloon-text-right,.balloon-text-left { max-width: -webkit-calc(100% - 70px); max-width: calc(100% - 70px); }
	.balloon p { font-size:12px; }
}

/* ------------------------------内心------------------------------　*/
.mind {
    position: relative;
    width: 90%;
    margin: 2em 0 2em 40px;
    padding: 20px;
    border-radius: 30px;
    background: #bce59f;
}

.mind:before {
    position: absolute;
    bottom: 0;
    left: -40px;
    color: #bce59f;
    font-family: FontAwesome;
    font-size: 15px;
    content: "\f111";
}
.mind:after {
    position: absolute;
    bottom: 0;
    left: -23px;
    color: #bce59f;
    font-family: FontAwesome;
    font-size: 23px;
    content: "\f111";
}




/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *  記事ページ
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
--------------------------------------------------------------------------------*/

/*--------------------------------------------------------------------------------
 *
 * ブログ一覧ページ(トップページ)
 *
--------------------------------------------------------------------------------*/
#blog_top_container { width:1000px; margin:0 auto; padding:60px 0 60px 0; }

@media screen and (max-width:768px) {
	#blog_top_container { width:90%; }
	#blog_top_container article section { width:100%; padding-top:0px; float:none; }
	#blog_top_container article h2 { width:100%; max-width:320px; margin:0 auto 10px auto; padding:10px; font-size:12px; }
}

aside#blog { width:31%; float:right; }
aside#blog .inner { background:#fff url(img/common/aside_bg.jpg) no-repeat 50% 0; box-shadow:0 1px 2px rgba(0,0,0,0.3); padding:60px 40px 40px 40px; }
aside#blog img { border-radius:60px; margin:0 auto; display:block; }
aside#blog h3 { font-size:20px; margin:0; padding:20px 0; text-align:center; }
aside#blog p { font-size:12px; margin:0; }
aside#blog p.name { font-size:20px; text-align:center; }
@media screen and (max-width:768px) {
	aside#blog { width:100%; max-width:320px; float:none; margin:4% auto 0 auto; }
}

/* ------------------------------新着情報（トップページ）------------------------------　*/
ul.post { display:-webkit-box; display:-ms-flexbox; display:flex;
-webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;/*中央に配置*/
-ms-flex-wrap:wrap; flex-wrap:wrap; /*折り返す*/ }
ul.post li { width:31%; margin-bottom:4%; padding:0 0 20px 0; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,0.3); }
ul.post li:nth-child(3n+2) { margin:0 3.5% 4% 3.5%; }
ul.post li p { font-size:12px; margin:0; padding:0 20px; color:#7b7b7b; }
ul.post img { width:100%; height:200px; object-fit:cover; object-position:50% 0; margin:0 auto 15px auto; padding:0;
font-family: 'object-fit:cover; object-position:50% 0;';/*ie対応*/  }
ul.post li h3 { font-size:20px; font-weight:bold; padding:10px 20px; margin:0; }
ul.post li h3 a { color:#7b7b7b; }

@media screen and (max-width:768px){
	ul.post li { width:100%; max-width:320px; margin:10px 0; padding:0 0 20px 0; }
	ul.post li:nth-child(3n+2) { margin:10px 0px 10px 20px; }
}
@media screen and (max-width:660px){
	ul.post li:nth-child(3n+2) { margin:10px 0; }
}

/*---ガテゴリーを画像の上に---*/
.relative { position:relative; }
.relative ul.post-categories { margin:0; padding:0; list-style:none; position:absolute; bottom:10px; left:20px;}
.relative ul.post-categories li { position:relative; display:inline-block; width:auto; height:30px; line-height:30px; margin:0; padding:0 1em; background-color:#333; border-radius:30px; color:#fff; text-decoration:none; -webkit-transition:.2s; transition:.2s; list-style:none; box-shadow:0 1px 2px rgba(0,0,0,0.3); }
.relative ul.post-categories li a { display:block; max-width:300px; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; font-size:10px; color:#fff; }



/* ------------------------------新着情報（トップページ）------------------------------　*/
ul.post02 {
display:-webkit-box; display:-ms-flexbox; display:flex;
-ms-flex-wrap:wrap; flex-wrap:wrap; /*折り返す*/ }
ul.post02 li { width:46.7%; max-width:320px; margin-bottom:6%; padding:0 0 20px 0; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,0.3); }
ul.post02 li:nth-child(2n+2) { margin:0 0 6% 5.5%; }
ul.post02 li p { font-size:12px; margin:0; padding:0 20px; color:#7b7b7b; }
ul.post02 img { width:100%; height:200px; object-fit:cover; margin:0 auto 15px auto; padding:0;
font-family: 'object-fit:cover; object-position:50% 0;';/*ie対応*/  }
ul.post02 li h3 { font-size:20px; font-weight:bold; padding:10px 20px; margin:0; }
ul.post02 li h3 a { color:#7b7b7b; }

@media screen and (max-width:768px){
	ul.post02 { -webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;/*中央に配置*/ }
	ul.post02 li { width:100%; max-width:320px; margin:10px 0; padding:0 0 20px 0; }
	ul.post02 li:nth-child(3n+2) { margin:10px 0px 10px 20px; }
}
@media screen and (max-width:660px){
	ul.post02 li:nth-child(3n+2) { margin:10px 0; }
}

/* ------------------------------ページャー------------------------------　*/
#pagenation{text-align:center; margin-top:30px;}
#pagenation #pagenation-list{display:inline-block;}#pagenation:after{content:".";display:block;clear:both;height:0;visibility:hidden;}#pagenation #pagenation-list li{float:left;background:none;list-style:none;padding:0;margin:0 5px 5px 0;}#pagenation #pagenation-list li:last-child{margin-left:0;}#pagenation #pagenation-list a,#pagenation #pagenation-list span{background:none;display:block;margin:0;padding:4px 9px;font-size:12px;line-height:1.5;text-align:center;}#pagenation #pagenation-list .current{background:#DEDEDE;color:#696969;border:1px solid #E3E3E3;}#pagenation #pagenation-list .omit{padding:4px 2px;color:#777777;}#pagenation #pagenation-list li a{color:#333333;border:1px solid #6B6B6B;text-decoration:none;}#pagenation #pagenation-list a:hover{background:#F0F0F0;color:#000000;border:1px solid #121212;text-decoration:none;}

/*--------------------------------------------------------------------------------
 *
 * 記事ページ
 *
--------------------------------------------------------------------------------*/
#blog_single_container { width:1000px; margin:0 auto; padding:30px 0 60px 0; }
@media screen and (max-width:1000px) {
	#blog_single_container { width:100%; padding:50px 0 30px 0; }
}

#blog_single_container section { width:100%; background:#fff; padding:40px 100px; box-shadow:0 1px 2px rgba(0,0,0,0.3); }
@media screen and (max-width:768px){
	#blog_single_container section { width:100%; float:none; padding:40px 20px; }
}

#blog_single_container h1 { font-size:26px; font-weight:bold; padding:10px 0; margin:0; color:#7b7b7b; text-align:center; }
#blog_single_container h2 { font-size:26px; background:#f7f7f7; margin-top:40px; padding:30px; color: #333;border-left:9px solid #333; line-height: 40px; }
#blog_single_container h3 { font-size:20px; letter-spacing:1.6px; margin-top:40px; padding: 0px 15px 0px;border-left: 6px solid #333;}
#blog_single_container h4 { font-size:16px; letter-spacing:1.6px; margin-top:40px; }
#blog_single_container p.ymd { font-size:12px; color:#7b7b7b; text-align:center; margin:0; }
#blog_single_container p.ymd a { color:#4773BA; }
#blog_single_container img.attachment-thumb768 { width:100%; margin:40px auto; }
#blog_single_container img.attachment-thumb1200 { width:100%; margin:40px auto; }

@media screen and (max-width:768px){
	#blog_single_container h1 { font-size:18px; }
	#blog_single_container h2 { font-size:18px; padding:20px 20px; }
	#blog_single_container h3 { font-size:18px; }
}

p.point { font-weight:bold; }
p.point:before { font-family:"Font Awesome 5 Free"; content:'\f00c'; font-weight:900; margin-right:6px; color:#c0b288; }
@media screen and (max-width:768px){
	p.point {  }
}

.content ul { background-color:#f7f7f7; border:dashed 1px #333; padding:20px 20px; margin:2em 0; }
.content ul li { margin-top:10px; }
.content ul li:first-child { margin-top:0; }
.content ul li:before { content: "●"; margin-right:10px; }

.content ol { background-color:#f7f7f7; border:dashed 1px #333; padding:20px 20px 20px 30px; margin:2em 0; list-style-type:decimal; }
.content ol li { margin-top:10px; }
.content ol li:first-child { margin-top:0; }

/* ------------------------------関連記事一覧------------------------------　*/
p.kanren { font-size:14px; margin:40px 0 0 0; padding:0; font-weight:bold; }
ul.related { margin:0; }
ul.related li { border-bottom:1px dotted #cccccc; padding:20px 0; }
ul.related img { display:block; width:100px; height:100px; float:left; margin:0 20px 0 0; padding:0; }
ul.related a { font-size:10px; font-weight:normal; }
ul.related p { margin:0; padding:0; font-size:10px; }
ul.related p.title a { font-size:14px; }

/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *  固定ページ
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *--------------------------------------------------------------------------------*/

article#page { padding:30px 0; }
article#page section { width:1000px; margin:0 auto; padding:30px 0 0 0; }
article#page section .inner { width:100%; background:#fff; padding:60px 100px; margin:0px auto; box-shadow:0 1px 2px rgba(0,0,0,0.3); position:relative; }
@media screen and (max-width:768px){
	article#page { padding:20px 0; }
	article#page section { width:90%; padding:20px 0 0 0; }
	article#page section .inner  { padding:20px 15px; }
}

article#page h2:first-child { margin-top:0!important; }
article#page h2 { margin-top:70px; font-weight:bold; letter-spacing:.1em; background:#f7f7f7; padding:20px; border-left:6px solid #e60012; line-height:40px; }
article#page h3 { margin-top:20px; }
article#page p { font-size:14px; }
article#page li { font-size:14px }
article#page ,
article#page p { font-family: "ヒラギノ丸ゴ Pro W4", "Hiragino Maru Gothic Pro", "Hiragino Sans", ヒラギノ角ゴシック, メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif!important; }

@media screen and (max-width:768px){
	article#page p { font-size:14px }
	article#page li { font-size:14px }
}

/* ------------------------------------------------------------ 
 *
 *
 *
 *
 * コース紹介
 *
 *
 *
 *
------------------------------------------------------------　*/

#blog_top_container,
#blog_single_container {  }

p.campaign_bana { margin:0 auto; }
img.bana { border:4px solid #000; border-radius:10px; }
@media screen and (max-width:768px) {
	p.campaign_bana { width:90%; }
}

.box { width:100%; border:2px dashed #ccc; margin-top:30px; padding:30px; }
.box h3 { margin:0!important; font-size:18px; font-weight:bold; }
.box img { margin-top:0!important; }
@media screen and (max-width:768px) {
	.box { padding:20px; }
	.box h3 { font-size:16px; text-align:center; }
	.box p { margin-top:10px; }
}

/* ------------------------------３列------------------------------　*/
ul.col03 { margin:0 auto;
display:-webkit-box; display:-ms-flexbox; display:flex;
-webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;/*中央に配置*/
/*-webkit-box-pack:justify; -ms-flex-pack:justify; justify-content:space-between;左右に配置*/
/*-webkit-box-align:center;-ms-flex-align:center; align-items:center;上下中央*/
-ms-flex-wrap:wrap; flex-wrap:wrap; /*折り返す*/ }
ul.col03 li { width:30%;  margin:2% 0; padding:0; position:relative; }
ul.col03 li:nth-child(3n+2) { margin:2% 5%; }
ul.col03 li img  { width:100%; height:200px; object-fit:cover; object-position:50% 0; font-family:'object-fit:cover; object-position:50% 0;';/*ie対応*/ }
ul.col03 li h3{ padding:0; }
ul.col03 li p { padding:0; text-align:left; }
ul.col03 li p.number { padding:5px 0 0 0; width:40px; height:40px; background:#ff0000; color:#fff; position:absolute; top:-20px; left:-10px; border-radius:30px; text-align:center; }
@media screen and (max-width:768px){
	ul.col03 { margin:30px 0; }
	ul.col03 li { width:100%; margin:5% 0; }
	ul.col03 li:nth-child(3n+2) { margin:5% 0; }
}


ul.col02 { margin:0 auto;
display:-webkit-box; display:-ms-flexbox; display:flex;
-webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;/*中央に配置*/
/*-webkit-box-pack:justify; -ms-flex-pack:justify; justify-content:space-between;左右に配置*/
/*-webkit-box-align:center;-ms-flex-align:center; align-items:center;上下中央*/
-ms-flex-wrap:wrap; flex-wrap:wrap; /*折り返す*/ }
ul.col02 li { width:48%; margin:2% 0; padding:0; position:relative; }
ul.col02 li:nth-child(2n+2) { margin:2% 0 0 4% }
ul.col02 li img  { width:200px; height:200px; border-radius:100px; margin:0 auto; object-fit:cover; object-position:50% 0; font-family:'object-fit:cover; object-position:50% 0;';/*ie対応*/ }
ul.col02 li h3 { margin:0 0 20px 0; padding:0; }
ul.col02 li p { margin:0; padding:0; text-align:left; }
ul.col02 li p.number { padding:5px 0 0 0; width:40px; height:40px; background:#ff0000; color:#fff; position:absolute; top:-20px; left:-10px; border-radius:30px; text-align:center; }

@media screen and (max-width:768px){
	ul.col02 { margin:30px 0; }
	ul.col02 li { width:100%; margin:5% 0; }
	ul.col02 li:nth-child(3n+2) { margin:5% 0; }
}

/* ------------------------------こんなお悩みありませんか？------------------------------　*/
.couse ul.worry { margin-top:50px; }
.couse ul.worry li:before { position:absolute; top:0; left:0; font-family: "Font Awesome 5 Free";font-weight:900; content: "\f00c"; color:#ccc; font-size:14px; }
.couse ul.worry li:first-child { margin-top:0px; }
.couse ul.worry li { position:relative; margin-top:15px; padding-bottom:15px; padding-left:20px; border-bottom:1px dashed #ccc; }




/* ------------------------------３つの理由------------------------------　*/
ul#reason { margin:0 auto 0 auto;
display:-webkit-box; display:-ms-flexbox; display:flex;
-webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;/*中央に配置*/
/*-webkit-box-pack:justify; -ms-flex-pack:justify; justify-content:space-between;左右に配置*/
/*-webkit-box-align:center;-ms-flex-align:center; align-items:center;上下中央*/
-ms-flex-wrap:wrap; flex-wrap:wrap; /*折り返す*/ }
ul#reason li { width:30%;  margin:2% 0; padding:0; position:relative; }
ul#reason li:nth-child(3n+2) { margin:2% 5%; }
ul#reason li img  {  }
ul#reason li h3{ padding:0; }
ul#reason li p { padding:0; text-align:left; }
ul#reason li p.number { padding:5px 0 0 0; width:40px; height:40px; background:#ff0000; color:#fff; position:absolute; top:-20px; left:-10px; border-radius:30px; text-align:center; }
@media screen and (max-width:768px){
	ul#reason { margin:30px 0; }
	ul#reason li { width:100%; margin:5% 0; }
	ul#reason li:nth-child(3n+2) { margin:5% 0; }
}

ul.reason { margin:50px auto 0 auto;
display:-webkit-box; display:-ms-flexbox; display:flex;
-webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;/*中央に配置*/
/*-webkit-box-pack:justify; -ms-flex-pack:justify; justify-content:space-between;左右に配置*/
/*-webkit-box-align:center;-ms-flex-align:center; align-items:center;上下中央*/
-ms-flex-wrap:wrap; flex-wrap:wrap; /*折り返す*/ }
ul.reason li:nth-child(odd) { width:48%; }
ul.reason li:nth-child(even) { width:48%; margin-left:4%; }
ul.reason li:nth-child(3) { width:100%; border:2px dashed #ccc; margin-top:30px; padding:30px; }
ul.reason h3 { margin:0!important; font-size:18px; position:relative; padding-left:70px; }
ul.reason h3:before { background:#ff0000; color:#fff; display:block; width:60px; height:60px; line-height:60px; text-align:center; border-radius:30px; position:absolute; left:0; top:0; bottom:0; margin:auto; }
ul.reason:nth-of-type(1) h3:before { content:"01" }
ul.reason:nth-of-type(2) h3:before { content:"02" }
ul.reason:nth-of-type(3) h3:before { content:"03" }
ul.reason:nth-of-type(4) h3:before { content:"04" }
ul.reason:nth-of-type(5) h3:before { content:"05" }
ul.reason p { clear:both; }
@media screen and (max-width:768px){
	ul.reason li:nth-child(odd) { width:100%; }
	ul.reason li:nth-child(even) { width:100%; margin-left:0; margin-top:20px; }
	ul.reason li:nth-child(3) { padding:20px; }
	ul.reason li:nth-child(3) h4 { margin-bottom:20px; }	
	ul.reason h3 { padding-left:60px }
	ul.reason h3:before { width:50px; height:50px; line-height:50px; border-radius:25px; }
	ul.reason h4 { text-align:center; font-size:16px; }
	ul.reason img { margin:0 auto; width:100%; }
}

/* ------------------------------生徒さんの声------------------------------　*/
ul#customer_voice { margin:50px auto 0 auto;
display:-webkit-box; display:-ms-flexbox; display:flex;
-webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;/*中央に配置*/
/*-webkit-box-pack:justify; -ms-flex-pack:justify; justify-content:space-between;左右に配置*/
/*-webkit-box-align:center;-ms-flex-align:center; align-items:center;上下中央*/
-ms-flex-wrap:wrap; flex-wrap:wrap; /*折り返す*/ }
ul#customer_voice li { width:30%; margin:2% 0; padding:0; position:relative; }
ul#customer_voice li:nth-child(3n+2) { margin:2% 5%; }
ul#customer_voice li img  { width:200px; height:200px; border-radius:100px; margin:0 auto; object-fit:cover; object-position:50% 0; font-family:'object-fit:cover; object-position:50% 0;';/*ie対応*/ }
ul#customer_voice li h3 { margin:0 0 20px 0; padding:0; border-bottom:2px dashed #ccc; }
ul#customer_voice li p { margin:0; padding:0; text-align:left; }
ul#customer_voice li p.number { padding:5px 0 0 0; width:40px; height:40px; background:#ff0000; color:#fff; position:absolute; top:-20px; left:-10px; border-radius:30px; text-align:center; }

@media screen and (max-width:768px){
	ul#customer_voice { margin:30px 0; }
	ul#customer_voice li { width:100%; margin:5% 0; }
	ul#customer_voice li:nth-child(3n+2) { margin:5% 0; }
}

ul.customer_voice_col02 li { width:48%!important; margin:2% 0; }
ul.customer_voice_col02 li:nth-child(3n+2) { margin:0!important; }
ul.customer_voice_col02 li:nth-child(2n+2) { margin:2% 0 0 4%!important; }
@media screen and (max-width:768px){
	ul.customer_voice_col02 li { width:100%!important; margin:0% 0; }
	ul.customer_voice_col02 li:nth-child(3n+2) { margin:0!important; }
	ul.customer_voice_col02 li:nth-child(2n+2) { margin:0!important; }
}

ul.customer_voice_long_ver { margin:50px auto 0 auto!important;
display:-webkit-box; display:-ms-flexbox; display:flex;
-webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;/*中央に配置*/
/*-webkit-box-pack:justify; -ms-flex-pack:justify; justify-content:space-between;左右に配置*/
/*-webkit-box-align:center;-ms-flex-align:center; align-items:center;上下中央*/
-ms-flex-wrap:wrap; flex-wrap:wrap; /*折り返す*/ }
ul.customer_voice_long_ver > li:nth-child(1) { width:30%; }
ul.customer_voice_long_ver > li:nth-child(2) { width:65%; margin-left:5%; }
ul.customer_voice_long_ver > li > img { width:200px; height:200px; border-radius:100px; margin:0 auto; object-fit:cover; object-position:50% 0; font-family:'object-fit:cover; object-position:50% 0;';/*ie対応*/ }
ul.customer_voice_long_ver > li > h3 { margin:0 0 20px 0!important; border-bottom:2px dashed #ccc; padding-bottom:10px; }
ul.customer_voice_long_ver > li h4 { color:#b3b3b3; margin:10px 0 0 0; font-size:16px }
ul.customer_voice_long_ver > li h4 + p { margin-top:10px; }
ul.customer_voice_long_ver > li:nth-child(1) p { text-align:center; margin:10px 0 0 0; }
@media screen and (max-width:768px){
	ul.customer_voice_long_ver > li:nth-child(1) { width:100%; }
	ul.customer_voice_long_ver > li:nth-child(2) { width:100%; margin-left:0%; }
	ul.customer_voice_long_ver > li > h3 { margin:10px 0!important; }
}

ul.tag { margin:10px 0 0 0!important; padding:0; list-style:none; }
ul.tag li { display:inline-block; margin:0 0 0 1em!important; padding:0; position:relative; display:inline-block; height:30px; line-height:30px; padding:0 1em; background-color:#e60012; border-radius:0 3px 3px 0; color:#fff; text-decoration:none; -webkit-transition:.2s; transition:.2s; list-style:none; }
ul.tag li::before { position:absolute; top:0; left:-15px; content:''; width:0; height:0; border-color:transparent #e60012 transparent transparent; border-style:solid; border-width:15px 15px 15px 0; -webkit-transition:.2s; transition:.2s; }
ul.tag li::after { position:absolute; top:50%; left:0; z-index:2; display:block; content:''; width:6px; height:6px; margin-top:-3px; background-color:#fff; border-radius:100%; }
ul.tag li span { display:block; max-width:300px; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; font-size:12px; padding-left:10px; }



.cp_box *, .cp_box *:before, .cp_box *:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.cp_box {
	position: relative;
}
.cp_box label {
	position: absolute;
	z-index: 1;
	bottom: 0;
	width: 100%;
	height: 140px; /* グラデーションの高さ */
	cursor: pointer;
	text-align: center;
	/* 以下グラデーションは背景を自身のサイトに合わせて設定してください */
	background: linear-gradient(to bottom, rgba(250, 252, 252, 0) 0%, rgba(250, 252, 252, 0.95) 90%);
}
.cp_box input:checked + label {
	background: inherit; /* 開いた時にグラデーションを消す */
}
.cp_box label:after {
	line-height: 2.5rem;
	position: absolute;
	z-index: 2;
	bottom: 20px;
	left: 50%;
	width: 100%;
	font-size:12px;
	font-family: FontAwesome;
	content: 'もっとみる+';
	transform: translate(-50%, 0);
	letter-spacing: 0.05em;
	color: #ffffff;
	border-radius: 20px;
	border:2px solid #47331c;
	background:#fff;
	color:#47331c;
}
.cp_box input {
	display: none;
}
.cp_box .cp_container {
	overflow: hidden;
	height: 250px; /* 開く前に見えている部分の高さ */
	transition: all 0.5s;
}
.cp_box input:checked + label {
	/* display: none ; 閉じるボタンを消す場合解放 */
}
.cp_box input:checked + label:after {
	font-family: FontAwesome;
	content: 'とじる-';
}
.cp_box input:checked ~ .cp_container {
	height: auto;
	padding-bottom: 80px; /* 閉じるボタンのbottomからの位置 */
	transition: all 0.5s;
}

@media screen and (max-width:768px){
	.cp_box .cp_container {	height: 150px; /* 開く前に見えている部分の高さ */}
}



/* ------------------------------先生の声------------------------------　*/
ul.teacher_voice:first-of-type { margin-top:0; }
ul.teacher_voice { margin:50px auto 0 auto!important;
display:-webkit-box; display:-ms-flexbox; display:flex;
-webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;/*中央に配置*/
/*-webkit-box-pack:justify; -ms-flex-pack:justify; justify-content:space-between;左右に配置*/
/*-webkit-box-align:center;-ms-flex-align:center; align-items:center;上下中央*/
-ms-flex-wrap:wrap; flex-wrap:wrap; /*折り返す*/ }
ul.teacher_voice li:nth-child(1) { width:30%; }
ul.teacher_voice li:nth-child(2) { width:65%; margin-left:5%; }
ul.teacher_voice li img  { width:200px; height:200px; border-radius:100px; margin:0 auto; object-fit:cover; object-position:50% 0; font-family:'object-fit:cover; object-position:50% 0;';/*ie対応*/ }
ul.teacher_voice li:nth-child(1) p { text-align:center; }
ul.teacher_voice li h3 { margin:0 0 20px 0!important; border-bottom:2px dashed #ccc; padding-bottom:10px; }

@media screen and (max-width:768px){
	ul.teacher_voice li:nth-child(1) { width:100%; }
	ul.teacher_voice li:nth-child(2) { width:100%; margin-left:0%; }
}

ul.voice_video:first-of-type { margin-top:0; }
ul.voice_video { margin:30px auto 0 auto!important;
display:-webkit-box; display:-ms-flexbox; display:flex;
-webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;/*中央に配置*/
/*-webkit-box-pack:justify; -ms-flex-pack:justify; justify-content:space-between;左右に配置*/
/*-webkit-box-align:center;-ms-flex-align:center; align-items:center;上下中央*/
-ms-flex-wrap:wrap; flex-wrap:wrap; /*折り返す*/ }
ul.voice_video li { width:80%; }
ul.voice_video li h3 { margin:0 0 20px 0!important; border-bottom:2px dashed #ccc; padding-bottom:10px; }
ul.voice_video li h3,
ul.voice_video li p  {text-align:center;}
@media screen and (max-width:768px){
	ul.voice_video li { width:100%; }
}


/* ------------------------------ースタッフ紹介------------------------------　*/
.staff section { position:relative; }
.staff section .inner { padding-top:0; }
.staff ul {
display:-webkit-box; display:-ms-flexbox; display:flex;
  -webkit-box-orient:horizontal;
  -webkit-box-direction:reverse;
     -ms-flex-direction:row-reverse;
         flex-direction:row-reverse;
/*-webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;中央に配置*/
-webkit-box-pack:justify; -ms-flex-pack:justify; justify-content:space-between;/*左右に配置*/
/*-webkit-box-align:center;-ms-flex-align:center; align-items:center;上下中央*/
-ms-flex-wrap:wrap; flex-wrap:wrap; /*折り返す*/  }
.staff ul li:nth-child(1) { width:40%; }
.staff ul li:nth-child(2) { width:60%; padding-right:30px; }
.staff ul h2 { background:none!important; margin-top:0!important; padding:0!important; border-left:none!important; line-height:1!important; position:relative; z-index:1; }
.staff ul h2 + p { margin-top:10px; }
.staff ul p { font-family:'tsukushi', serif; font-size:14px; }
.staff ul img { margin:0 auto; position:relative; z-index:1;}

@media screen and (max-width:768px){
	.staff section .inner  { padding:10px 20px 30px 20px!important; }
	.staff ul li:nth-child(1) { width:100%; }
	.staff ul li:nth-child(2) { width:100%; margin-top:20px; padding-right:0; }
	.staff ul li:nth-child(1) img { max-width:500px; width:100%; height:300px; margin:0 auto; object-fit:cover; object-position:50% 10%; font-family: 'object-fit:cover; object-position:50% 0;';/*ie対応*/ }
	.staff ul p { font-size:12px; }
}

.staff ul.representative:before { position:absolute; content:"representative"; top:0px; left:30px; color:#ff0000; z-index:0; font-size:80px; opacity:0.1; }
.staff ul.piano:before { position:absolute; content:"piano"; top:0px; left:30px; color:#ff0000; z-index:0; font-size:100px; opacity:0.1; }
.staff ul.drum:before { position:absolute; content:"drum"; top:0px; left:30px; color:#ff0000; z-index:0; font-size:100px; opacity:0.1; }
.staff ul.ballet:before { position:absolute; content:"ballet"; top:0px; left:30px; color:#ff0000; z-index:0; font-size:100px; opacity:0.1; }
.staff ul.violin:before { position:absolute; content:"violin"; top:0px; left:30px; color:#ff0000; z-index:0; font-size:100px; opacity:0.1; }
.staff ul.flute:before { position:absolute; content:"flute"; top:0px; left:30px; color:#ff0000; z-index:0; font-size:100px; opacity:0.1; }
.staff ul.english:before { position:absolute; content:"english"; top:0px; left:30px; color:#ff0000; z-index:0; font-size:100px; opacity:0.1; }
.staff ul.guitar:before { position:absolute; content:"guitar"; top:0px; left:30px; color:#ff0000; z-index:0; font-size:100px; opacity:0.1; }

@media screen and (max-width:768px){
	.staff ul.representative:before,
	.staff ul.piano:before,
	.staff ul.drum:before,
	.staff ul.ballet:before,
	.staff ul.violin:before,
	.staff ul.flute:before,
	.staff ul.english:before { display:none; }
}


ul.koushi_ichiran { margin-top:30px;
display:-webkit-box; display:-ms-flexbox; display:flex;
/*-webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;中央に配置*/
/*-webkit-box-pack:justify; -ms-flex-pack:justify; justify-content:space-between;左右に配置*/
/*-webkit-box-align:center;-ms-flex-align:center; align-items:center;上下中央*/
-ms-flex-wrap:wrap; flex-wrap:wrap; /*折り返す*/ }
ul.koushi_ichiran li { width:16.66%; padding:20px; position:relative; }
ul.koushi_ichiran li:hover { opacity:0.6; }
ul.koushi_ichiran li img { width:120px; height:120px; object-fit:cover; border-radius:100px; margin:0 auto 10px auto; }
ul.koushi_ichiran li h3 { text-align:center; font-size:16px!important; }
ul.koushi_ichiran li p { text-align:center; font-size:12px!important; }
ul.koushi_ichiran li a { position:absolute; width:100%; height:100%; top:0; left:0; }

@media screen and (max-width:768px){
	ul.koushi_ichiran li { width:33.33%; }
}
@media screen and (max-width:460px){
	ul.koushi_ichiran li { width:50%; padding:10px; }
}

/* ------------------------------料金ページ------------------------------　*/
.price p { font-size:10px; margin:0; line-height:1.5; }
.price h2 { margin-bottom:30px!important; }
.price h3 { border-bottom:2px solid #47331C; margin-bottom:10px; }
.price .bold {  }
.price h3+p {  font-size:16px; margin:0 0 10px 0; }
table.price { border:1px solid #ccc; margin:10px 0; }
table.price tr { border-bottom:none; }
table.price th,
table.price td { padding:10px; width:25%; }
table.price th { background:#ff6e66; color:#fff; }
table.price th.th_bg { background:transparent; color:#47331C; }
table.price td { text-align:right; }
table.price + p.align_right { margin:0; font-size:12px; }
@media screen and (max-width:768px){
	.price p { font-size:10px!important; }
	table.price th,
	table.price td { padding:5px; font-size:10px; }
}

/* ------------------------------オンラインレッスン------------------------------　*/
ul.advisor { margin-top:20px;
display:-webkit-box; display:-ms-flexbox; display:flex;
-webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;/*中央に配置*/
/*-webkit-box-pack:justify; -ms-flex-pack:justify; justify-content:space-between;左右に配置*/
/*-webkit-box-align:center;-ms-flex-align:center; align-items:center;上下中央*/
-ms-flex-wrap:wrap; flex-wrap:wrap; /*折り返す*/ }
ul.advisor li { width:31%; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,0.3); margin-right:3.5%; padding-bottom:20px; }
ul.advisor li:last-child { margin-right:0; }
ul.advisor li p { font-size:12px!important; padding:0 20px; }
ul.advisor li p.name { text-align:center; font-size:14px!important; }
@media screen and (max-width:768px){
	ul.advisor li { width:100%; margin-right:0%; }
	ul.advisor li:nth-child(2) { margin:20px 0 }
}

/* ------------------------------コンタクトフォーム ------------------------------　*/
.contact h3 { border-top:1px solid #333; border-bottom:1px solid #333; padding:5px 0; text-align:center; }
.contact p.center + h3 { margin-top:30px!important; }
.contact p { margin-top:0; }
.contact p span { font-size:12px; }
.contact .tel { font-size:30px; text-align:center; font-weight:bold; letter-spacing:5px }

@media screen and (max-width:768px){
	.contact br { display:none; }
	.contact .tel { font-size:20px; }
}


/* ------------------------------ページ下部固定CTA_PC------------------------------　*/
#buttonPc { position:fixed; bottom:0; background:#800000; width:100%; height:auto; z-index:1000; }
#buttonPc a { display:block; width:100%; height:auto; color:#ffffff; padding:10px 0; text-align:center; font-size:16px; text-shadow:1px 1px 0 rgba(0,0,0,0.2) }
#buttonPc a:hover { text-decoration:none }
#buttonPc i { padding-right:5px; }

@media screen and (max-width:768px){
	#buttonPc,
	#buttonPc a {  }
}

/* ------------------------------カルーセルスライダーカスタマイズ ------------------------------　*/
.slick-next { right:0 !important; }
.slick-prev { left:0 !important; }
.slick-prev:before, .slick-next:before { opacity:.5!important; color:#333!important; }

/* ------------------------------カウントダウンタイマー ------------------------------　*/
.cdt_wrapper { text-align:center; background:#fff; color:#333; margin:0; padding:10px; }
.cdt_wrapper + p { margin:0; }
@media screen and (max-width:768px){
	.cdt_wrapper { font-size:12px; }
}
/* ------------------------------トップへ戻る------------------------------　*/
#page_top{width: 60px; height: 60px; position: fixed; right: 30px; bottom: 30px; background: #c5b88f; opacity: 0.8; border-radius: 50%; z-index:9999; }
#page_top a{position: relative; display: block; width: 60px; height: 60px; text-decoration: none; }
#page_top a::before{ content: url(img/arrow.svg); font-size: 20px; color: #fff; position: absolute; width: 20px; height: 20px; top: -40px; bottom: 0; right: 0; left: 0; margin: auto; text-align: center; }
#page_top a::after{content: 'Top'; font-size: 13px; color: #fff; position: absolute; top: 30px; bottom: 0; right: 0; left: 0; margin: auto; text-align: center; }
@media screen and (max-width:768px){
	#page_top{ width:40px; height:40px; right:10px; bottom:10px; }
	#page_top a{ width:40px; height:40px; }
	#page_top a::before{ top:-25px; }
	#page_top a::after{content: ''; }
}

/* ------------------------------コロナについて------------------------------　*/
.korona { position:relative; width:100%!important; background:url(img/common/bg_red.png); top:-30px; padding:30px 0!important }
.korona .inner { width:1000px!important; margin:0 auto; background:#fff!important; padding:30px 100px!important; box-shadow:none!important; border:4px solid #000; border-radius:10px; }
.korona p.title { color:#000; text-align:center; font-size:26px!important; line-height:1.6; margin:0 0 20px 0; }
.korona p { margin:0; }

@media screen and (max-width:768px){
	.korona { top:-20px; padding:30px 0 30px 0!important }
	.korona .inner { width:90%!important; padding:20px 15px!important; }
	.korona p.title { text-align:center; font-size:20px!important; line-height:1.6; }
	.korona p { margin:20px 0 0 0!important; }
}


/* ------------------------------キャンペーンについて------------------------------　*/
.campaign { position:relative; width:100%!important; background:url(img/index/bg02.png); top:-30px; padding:30px 0!important }
.campaign .inner { width:1000px!important; margin:0 auto; background:#fff!important; padding:30px 100px!important; box-shadow:none!important; border:4px solid #000; border-radius:10px; }
.campaign p { text-align:center; margin:0!important; }
.campaign p.title { color:#000; font-size:26px!important; line-height:1.6; margin:0 0 20px 0; }
.campaign p.price { margin:0; font-weight:bold; font-size:20px!important; }
.campaign p.price span.big { font-size:50px }
.campaign img { width:250px; position:absolute; background:#ffffff; padding:5px; box-shadow:0px 0px 5px 5px rgba(0,0,0,0.05); }
.campaign img.left { top:0px; left:10px; transform:rotate(-4deg); -moz-transform:rotate(-4deg); -webkit-transform:rotate(-4deg); }
.campaign img.right { top:0px; right:10px; transform:rotate(4deg); -moz-transform:rotate(4deg); -webkit-transform:rotate(4deg); }

@media screen and (max-width:768px){
	.campaign { top:-20px; padding:30px 0 30px 0!important }
	.campaign .inner { width:90%!important; padding:20px 15px!important; }
	.campaign p.title { text-align:center; font-size:20px!important; line-height:1.6; }
	.campaign p.price { font-size:16px!important; }
	.campaign p.price span.big { font-size:30px }
	.campaign img { position:static; max-width:300px }
	.campaign img.left {transform:rotate(0deg); -moz-transform:rotate(0deg); -webkit-transform:rotate(0deg); }
	.campaign img.right {transform:rotate(0deg); -moz-transform:rotate(0deg); -webkit-transform:rotate(0deg); }
}

.campaign_box { margin-top:60px; background:#fff!important; border:4px solid #000; border-radius:10px; }
.campaign_box img { width:200px; }
.campaign_box img.left { top:20px; left:-30px;  }
.campaign_box img.right { top:20px; right:-30px; }

@media screen and (max-width:768px){
	.campaign_box { margin-top:0; border:none; padding-bottom:0!important }
	.campaign_box img { max-width:300px; width:100%; }
}

/* ------------------------------バナーエリア------------------------------　*/
#bana { background-color:#f6ecdf; padding:0!important; }
#bana .inner {  padding:50px 0 0 0!important; }
#bana ul { display:flex; justify-content:center; flex-wrap:wrap; /*折り返す*/}
#bana ul li { max-width:400px; margin:0 10px; }
@media screen and (max-width:768px){
	#bana { padding:20px 0 0 0!important; }
	#bana .inner {  padding:0 0 0 0!important; }
	#bana ul li { margin:10px 0 ; }
}