@charset "utf-8";


.width-min{ min-width:1200px; margin:0 auto;}
.width-max{ margin:0 200px;}

@media screen and (max-width: 1400px) {
	.width-max{ margin:0 100px;}
}

@media screen and (max-width: 900px) {
	.width-min{ min-width:auto; min-width:inherit; }
	.width-max{max-width: auto;max-width:inherit;margin: 0 6% 0%;}

}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

レイアウト

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

/* header ////////////////////////////////////////////////////////////////////////////////////////////*/
#header-wrapper{ width:100%; display:block; box-sizing:border-box; position: relative; position:fixed; left:0; top:0; z-index:1000;}
#header-wrapper .header-inner{display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-justify-content: space-between; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
#header-wrapper .header-inner #globalNav ul{ max-width: 860px; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-justify-content: space-between; -webkit-box-pack: justify; -ms-flex-pack: justify;    justify-content: space-between;}
#header-wrapper .header-inner #globalNav ul li a{ display: inline-block; padding:0 0 0 1em;}

@media screen and (max-width: 900px) {
	
	body.drawer #header-wrapper{position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;}
	body.drawer #header-wrapper::before{ content: ""; width: 100%; height: 100vh; position: fixed; background: #fff; z-index: 0; left: 0; top: 0; }
	#header-wrapper .header-inner #globalNav { display: none; width: 50%; position: absolute; top: 100%; right: 0; background: #FFF; }
	#header-wrapper .header-inner #globalNav ul { display: block; }
	#header-wrapper .header-inner #globalNav ul li { display: block; }
	#header-wrapper .header-inner #globalNav ul li a{ padding: 1em;}
	#header-wrapper .header-inner #globalNav.open { display: block; }
}

/* drower ////////////////////////////////////////////////////////////////////////////////////////////*/

.header-logo{ width:120px; height:120px; display:block; position:fixed; left:50px; top:50px; z-index:11;}

#drowerWrap{ width:100%; height:100vh; display:none; position:relative;}

#drowerWrap:after{ content:""; width:100%; height:100%; position:absolute; left:0; top:0; background:#FFF; opacity:1; z-index:0;}



#drowerWrap #globalNav{ width: 900px; display: block; position:absolute; left:50%; top:50%; -webkit-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%); z-index:10; }
#drowerWrap #globalNav .box-column-size1{ text-align:left;}
#drowerWrap #globalNav .box-column-size1 h2{}
#drowerWrap #globalNav .box-column-size1 h2 a{display:block; -webkit-transition: all .3s ease; transition: all .3s ease;}
#drowerWrap #globalNav .box-column-size1 h2 a:hover{opacity:0.3;}

#drowerWrap #globalNav .nav-list{display:block;text-align:center;margin-bottom: 30px;}
#drowerWrap #globalNav .nav-list li{ display:inline-block; text-align:left; margin-right:40px;  -webkit-transition: all .5s; transition: all .5s;}
#drowerWrap .lessonmenu-wrap > div h2 a svg{ -webkit-transition: all .5s; transition: all .5s;}

#drowerWrap #globalNav .nav-list li:last-child{ margin-right:0;}
#drowerWrap #globalNav .nav-list li a{ display:block; -webkit-transition: all .3s ease; transition: all .3s ease;}
#drowerWrap #globalNav .nav-list li a:hover{opacity:0.3;}

#drowerWrap #globalNav .nav-list li.home_nav{ width:96px;}
#drowerWrap #globalNav .nav-list li.about_nav{ width:110px;}
#drowerWrap #globalNav .nav-list li.price_nav{ width:94px;}
#drowerWrap #globalNav .nav-list li.trainer_nav{ width:140px; }
#drowerWrap #globalNav .nav-list li.news_nav{ width:234px; }
#drowerWrap #globalNav .nav-list li.access_nav{ width:118px; }

#drowerWrap #globalNav .nav-list li > svg{ height:24px; width:auto;}
#drowerWrap #globalNav .nav-list li span > svg{height: 14px;width:auto;}

#drowerWrap .lessonmenu{ padding:0; margin:0;}
#drowerWrap .lessonmenu .list-nav li a{display:block;text-align:left;padding: 10px 0 10px 20px;position:relative; -webkit-transition: all .3s ease; transition: all .3s ease;}
#drowerWrap .lessonmenu .list-nav li a:hover{ text-decoration:none; opacity:0.3;}
#drowerWrap .lessonmenu .list-nav li a:before{ left:0px;}

/*#drowerWrap a{ -webkit-transition: all .5s; transition: all .5s;}

#drowerWrap .lessonmenu-wrap > div:hover ul li a{ opacity:0.3;}
#drowerWrap .lessonmenu-wrap > div:hover h2 a svg{fill-opacity:0.3;}

#drowerWrap .lessonmenu .list-nav a:hover{ opacity:1;}
#drowerWrap .lessonmenu-wrap > div h2:hover a svg{fill-opacity:1;}

#drowerWrap #globalNav .nav-list li:hover{ opacity:0.3;}
*/

#drowerWrap .lessonmenu-wrap{margin-bottom: 30px;}

#drowerWrap .lessonmenu-wrap h2{ line-height:0;}
#drowerWrap .lessonmenu-wrap h2 span{ display:block; padding:10px 0; line-height:0;}
#drowerWrap .lessonmenu-wrap h2 .lead2{height:18px;margin-bottom: 5px;width:auto;}
#drowerWrap .lessonmenu-wrap h2 .name-eng{height:24px; width:auto;}
#drowerWrap .lessonmenu-wrap h2 .name-jp{height:15px;width:auto;margin-top: 5px;}

body.drawer #drowerWrap{ display:block;}
body.drawer #drowerWrap .conversion-area{ padding: 0; background: none; }

body.drawer #drowerWrap .conversion-area.box-column2 .conversion-btn{ width: calc(50% - 10px); }
body.drawer #drowerWrap .conversion-area.box-column2 .conversion-btn:first-child{margin-right: 20px;}

@media screen and (max-width: 900px) {
	body.drawer #drowerWrap .conversion-area.box-column2 .conversion-btn{ width:100%; }
	body.drawer #drowerWrap .conversion-area.box-column2 .conversion-btn:first-child{margin-right: 0;}
}

/*tablet*/
.tablet	#btn_gNavi{ position:fixed; right:30px; top:30px; width:60px; height:60px; display:block; background:#FFFFFF; border-radius:30px; text-indent:-9999px; overflow:hidden; z-index:11;}
.tablet	.btn_humberger:before,
.tablet	.btn_humberger:after { content: ''; width: 2.5em; height: 1px; display: block; position: absolute; top: 3.5em; left: 0; right: 0; margin: auto; background: #000; -ms-transform-origin: center center; -webkit-transform-origin: center center; transform-origin: center center; -ms-transition: all .3s; -webkit-transition: all .3s; transition: all .3s;  }
body.tablet.drawer .btn_humberger:before,
body.tablet.drawer .btn_humberger:after{top: 3em;}

body.tablet.drawer #drowerWrap #globalNav{ padding-top: 170px;}



@media screen and (max-width: 1400px) {
.header-logo{ width:100px; height:100px; display:block; position:fixed; left:30px; top:30px; z-index:11;}
#drowerWrap #globalNav .nav-list li{ display:inline-block; text-align:left; margin-right:22px; }
#drowerWrap #globalNav .nav-list li a > svg{ height:19px; width:auto;}
#drowerWrap #globalNav{ width:800px;}
#drowerWrap #globalNav .nav-list li.home_nav{ width:76px;}
#drowerWrap #globalNav .nav-list li.about_nav{ width:103px;}
#drowerWrap #globalNav .nav-list li.price_nav{ width:94px;}
#drowerWrap #globalNav .nav-list li.trainer_nav{ width:110px; }
#drowerWrap #globalNav .nav-list li.news_nav{ width:185px; }
#drowerWrap #globalNav .nav-list li.access_nav{ width:93px; }

#drowerWrap .lessonmenu-wrap h2 .lead2{ height:15px; width:auto;}
#drowerWrap .lessonmenu-wrap h2 .name-eng{height:21px; width:auto;}
#drowerWrap .lessonmenu-wrap h2 .name-jp{height:13px; width:auto;}
}

/*tablet*/
.tablet .header-logo{ width:14%; padding-top:12%; height:auto; display:block; position:fixed; left:4%; top:3%; z-index:11;}
.tablet .header-logo svg{ position:absolute; left:0; top:0;}

@media screen and (max-width: 900px) {
	.header-logo{ width:15%; padding-top:16%; height:auto; display:block; position:fixed; left:4%; top:3%; z-index:11;}
	.header-logo svg{ position:absolute; left:0; top:0;}
	
	#drowerWrap #globalNav .nav-list{ margin-bottom:10%;} 
	#drowerWrap #globalNav .nav-list li a > svg{height: 16px;}
	#drowerWrap #globalNav{ width: 100%; display: block; left:auto; top:auto; -webkit-transform:none; transform:none; z-index:10; }
	#drowerWrap #globalNav .box-column-size1{ width:100%;}
	body.drawer #drowerWrap{ box-sizing:border-box;width: 100%;
  height: 100%;
  overflow-y: auto;}
	body.drawer #drowerWrap #globalNav{padding: 35% 4% 30%;box-sizing:border-box;position: relative;}
	body.drawer #drowerWrap #globalNav .box-column-size1{ margin-bottom:2em;}
	body.drawer #drowerWrap #globalNav .box-column-size1:last-child{ margin-bottom:0;}
	
	#drowerWrap .lessonmenu-wrap{ margin-bottom:2em;}
	#drowerWrap .lessonmenu-wrap h2 .name-eng{height: 16px;width:auto;}
	#drowerWrap #globalNav .nav-list{border-top:1px solid #ccc;padding-top: 1em;}
	#drowerWrap #globalNav .nav-list li{width:100%;text-align:left;float:none;border-bottom:1px solid #ccc;padding-bottom: 1em;margin-bottom: 1em;}
	
#drowerWrap #globalNav .nav-list li.about_nav,
#drowerWrap #globalNav .nav-list li.trainer_nav,
#drowerWrap #globalNav .nav-list li.news_nav,
#drowerWrap #globalNav .nav-list li.price_nav,
#drowerWrap #globalNav .nav-list li.access_nav{ width:100%; margin-right:0; float:none;}

#drowerWrap #globalNav .nav-list li.home_nav{ width:100%; margin-right:0;}

#drowerWrap #globalNav .nav-list li.about_nav,
#drowerWrap #globalNav .nav-list li.news_nav{ margin-right:0;}

#drowerWrap #globalNav .nav-list li span{ display:block; line-height:0;}

}

@media screen and (max-width: 600px) {
	#drowerWrap{ display:none;}
	.header-logo{ width:21%; padding-top:19%; height:auto; display:block; position:fixed; left:4%; top:3%; z-index:11;}
	.header-logo svg{ position:absolute; left:0; top:0;}
}

/*footer*/
#footernav{}
#footernav .lesson-nav-c{ background:#f9f2ea; width:50%; display:block; float:left; padding:50px 0;  -webkit-transition: background .3s; transition: background .3s;}
#footernav .lesson-nav-s{ background:#e5f0f9; width:50%; display:block; float:right; padding:50px 0;  -webkit-transition: background .3s; transition: background .3s;}
#footernav .lesson-nav-c .btn,
#footernav .lesson-nav-s .btn{-webkit-transition: all .3s; transition: all .3s; }
#footernav .lesson-nav-c div span,
#footernav .lesson-nav-s div span{ display:block; line-height:0; margin-bottom:1em;}
#footernav .lesson-nav-c > div,
#footernav .lesson-nav-s > div{ line-height:0;}

#footernav .conversion-area{ clear:both; display:block; background:#f5f5f5; padding:50px 0;}
#footernav .conversion-area > div{ line-height:1em;}

@media screen and (min-width: 901px) {
#footernav .lesson-nav-c:hover{ background:#fbd9b1;}
#footernav .lesson-nav-s:hover{ background:#bee3ff;}
#footernav .lesson-nav-c:hover .btn,
#footernav .lesson-nav-s:hover .btn{-webkit-box-shadow: rgba(0,0,0,.5) 0 0 3px 0; -moz-box-shadow: rgba(0,0,0,.5) 0 0 3px 0; box-shadow: rgba(0,0,0,.5) 0 0 3px 0;}
}


#footernav .lead2{ height:24px; width:auto;}
#footernav .name-jp{height:15px; width:auto;}

.footer-logo{width: 120px; height: 122px; display:block; margin:0 auto 50px; }

@media screen and (max-width: 1400px) {
	.footer-logo{ width:120px; height:100px; display:block; margin:0 auto 50px; }
}

@media screen and (max-width: 900px) {
	.footer-logo{ width:21%; height:19%; display:block; margin:0 auto 1em; }
#footernav .conversion-area{ padding:30px 0;}
#footernav .btn.conversion-btn{ width:80%; margin:0 10%;}
#footernav .lesson-nav-c{ background:#f9f2ea; width:100%; display:block; float:none; padding:20px 0;}
#footernav .lesson-nav-s{ background:#e5f0f9; width:100%; display:block; float:none; padding:20px 0;}
#footernav .lesson-nav-c div span,
#footernav .lesson-nav-s div span{ display:block; line-height:0; margin-bottom:0.5em;}
#footernav .mb20{ margin-bottom:1em!important;}
#footernav .lead2{ height:20px; width:auto;}
#footernav .name-jp{height:14px; width:auto;}
}


/* footer ////////////////////////////////////////////////////////////////////////////////////////////*/
#footer-wrapper{ background:#FFFFFF; padding:100px 50px 50px 50px;}
.footer-copyright{ text-align:center;}
.footer-copyright small{ color:#555; letter-spacing:0.2em; font-size:0.8rem; font-weight:bold; }
@media screen and (max-width: 900px) {
	#footer-wrapper{ background:#FFFFFF; padding:1em 4%}
	.footer-copyright{ margin-bottom:0;}
}

/* main ////////////////////////////////////////////////////////////////////////////////////////////*/
main article{ padding-bottom:100px;}
main section{display:block; margin:0 auto;}
@media screen and (max-width: 900px) {
	main article{ padding-bottom:4em;}
}

/* single or double ////////////////////////////////////////////////////////////////////////////////////////////*/
.page-single{}
.page-double{display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify;	justify-content: space-between;}
.page-double #contents{ width:850px; width : -webkit-calc(100% - 250px) ;   width : calc(100% - 250px) ;}
.page-double #subNav{ width:250px; background:#CCCCCC;}

.page-double .width-max{ max-width:800px; margin:0 auto;}


/* column ////////////////////////////////////////////////////////////////////////////////////////////*/
/*カラムレイアウト*/
.lay-column1 { width: 70%; margin: 0 auto; }
.lay-column2,
.lay-column3 { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; justify-content: space-between; }

/*2カラム*/
.lay-column2 > * { width: 48%; margin-bottom: 1rem; /*margin-bottom: 4%;  IE11でflexbox内で%指定の上下マージンが効かないよう…*/ }
.lay-column2 > *:nth-last-child(-n+2) { margin-bottom: 0; }

/*2カラム(分割の割合を調整)*/
.lay-column2.typeA > *:nth-child(odd) { width: 30%; }
.lay-column2.typeA > *:nth-child(even) { width: 66%; }

/*3カラム*/
.lay-column3 > * { width: 32%; margin-bottom: 1rem;/*margin-bottom: 2%; */ }
.lay-column3 > *:nth-last-child(-n+3) { margin-bottom: 0; }

/*2カラム(分割の割合を調整)*/
.lay-column3.typeA > *:nth-child(3n+1) { width: 20%; }
.lay-column3.typeA > *:nth-child(3n+2) { width: 40%; }
.lay-column3.typeA > *:nth-child(3n) { width: 30%; }

.LtoR { -webkit-flex-direction: row; flex-direction: row;}
.RtoL { -webkit-flex-direction: row-reverse; flex-direction: row-reverse;}

/*tel*/
.tel{ font-size:2rem; letter-spacing:0.15em; margin-top:10px;}
.tel:before{ content:"TEL"; border:1px solid #000; padding:0.2em 0.5em; margin-right:0.5em; font-size:0.9rem; letter-spacing:0.15em; font-weight:bold;}

/* column ////////////////////////////////////////////////////////////////////////////////////////////*/
.column-flex{display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify;	justify-content: space-between;}

.flex-end{justify-content: flex-end;}
.row-revers{ flex-direction:row-reverse; }

.box-column-size1,
.box-column-size2,
.box-column-size3,
.box-column-size4{ margin-bottom:0;}

/*追加*/
section:last-child{ margin-bottom:0;}
.box-column-size1 *:last-child,
.box-column-size2 *:last-child,
.box-column-size3 *:last-child,
.box-column-size4 *:last-child{ margin-bottom:0%;}
/**/




.box-column1{width: 59.6%; max-width:900px; margin:0 auto; }

.column-flex.box-column2 .box-column-size1{ width:49.5%;  width : -webkit-calc(50% - 30px) ;   width : calc(50% - 30px) ;}

.column-flex.box-column3 .box-column-size1{ width:32.6%;  width : -webkit-calc(33.333% - 30px) ;   width : calc(33.333% - 30px) ;}
.column-flex.box-column3 .box-column-size2{ width:66.2%;  width : -webkit-calc(66.666% - 30px) ;   width : calc(66.666% - 30px) ;}

.column-flex.box-column4 .box-column-size1{ width:24.25%; width : -webkit-calc(25% - 45px) ;   width : calc(25% - 45px) ;}
.column-flex.box-column4 .box-column-size2{ width:49.5%; width : -webkit-calc(50% - 30px) ;   width : calc(50% - 30px) ;}
.column-flex.box-column4 .box-column-size3{ width:74.75%; width : -webkit-calc(75% - 30px) ;   width : calc(75% - 30px) ;}

.column-flex.box-column5 .box-column-size1{ width:19.2%;}
.column-flex.box-column5 .box-column-size2{width: 39%;}
.column-flex.box-column5 .box-column-size3{width: 57%;}
.column-flex.box-column5 .box-column-size4{ width:79.8%;}

@media screen and (max-width: 1400px) {
.column-flex.box-column2 .box-column-size1{ width:49.8%;  width : -webkit-calc(50% - 15px) ;   width : calc(50% - 15px) ;}

.column-flex.box-column3 .box-column-size1{ width:32%;  width : -webkit-calc(33.333% - 15px) ;   width : calc(33.333% - 15px) ;}
.column-flex.box-column3 .box-column-size2{ width:64.2%;  width : -webkit-calc(66.666% - 15px) ;   width : calc(66.666% - 15px) ;}

.column-flex.box-column4 .box-column-size1{ width:24%; width : -webkit-calc(25% - 22.5px) ;   width : calc(25% - 22.5px) ;}
.column-flex.box-column4 .box-column-size2{ width:49.8%; width : -webkit-calc(50% - 15px) ;   width : calc(50% - 15px) ;}
.column-flex.box-column4 .box-column-size3{ width:74.8%; width : -webkit-calc(75% - 15px) ;   width : calc(75% - 15px) ;}
}

@media screen and (max-width: 900px) {
	.column-flex.box-column4 .box-column-size3{ width:auto; }
	.column-flex.box-column2 .box-column-size1{ width:auto; margin-bottom:60px;}
	.column-flex.box-column2 .box-column-size1:last-child{ margin-bottom:0;}
	
	.column-flex.box-column4 .box-column-size1{ width:100%; margin-bottom:20px; }
	.column-flex.box-column4 .box-column-size2{width:100%;margin-bottom: 60px;}
	.column-flex.box-column4 .box-column-size3{ width:100%; margin-bottom:20px;}
	
	.column-flex.box-column4 *:last-child{ margin-bottom:0;}
	
	.column-flex.box-column5 .box-column-size1{ width:100%;}
}

/* box ////////////////////////////////////////////////////////////////////////////////////////////*/
.box{ background:#FFF; padding:20px; box-sizing:border-box; text-align: left; }
.box > *:last-child{ margin-bottom:0;}
.box-color{ color: #FFF; background:#000; padding:20px; box-sizing:border-box;}
.box-color *{ color:#fff;}
.box-color .box-innner{ background:#FFF; padding:20px; box-sizing:border-box;}
.box-color .box-innner *{ color:#000;}
.box-color .box-innner > *:last-child{ margin-bottom:0;}
.box.glayBox{ background:#f5f5f5;}
.box-center { display: flex; justify-content: center; align-items: center; }

body .voice-title{display:block;background: url(../img/icon_voice.svg) no-repeat left 5px;background-size:25px;padding: 0px 0 10px 35px;margin-bottom:0;}

/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

基本要素

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

/* title ////////////////////////////////////////////////////////////////////////////////////////////*/
.title1{font-size: 2.5rem; margin-bottom:1em;}
.title2{font-size: 1.8rem; margin-bottom:1em;}
.title3{font-size: 1.2rem; margin-bottom:1em;}
.title4{font-size: 1.0rem; margin-bottom:1em;}
.title5{font-size: 1rem; margin-bottom:1em;}
.title6{font-size: 0.8rem; margin-bottom:1em;}

.title4.eng{ font-weight:bold; font-size: 1.2rem;}


.pagetitle .title1{margin-bottom:0em;}
.pagetitle .title1 .lead{ display:block; padding-top:50px; }
.pagetitle .title1 .name-eng{ height:24px; width:auto;}
.pagetitle .title1 span{display: block;padding-top: 20px;line-height: 0;font-size: 1rem;}
.pagetitle .title1 .name-jp{ height:18px; width:auto;}


.tobble_open_contents { display: none; }
.tobble_open_contents.open { display: block; }

@media screen and (max-width: 1400px) {
	.pagetitle .title1{}
}

@media screen and (max-width: 900px) {
	.title1{font-size: 1.6rem; margin-bottom:0.5em;}
	.title2{font-size: 1.3rem; margin-bottom:0.5em;}
	.title3{font-size: 1.1rem;margin-bottom:0.5em;font-weight: bold;}
	.title4{font-size: 1rem; margin-bottom:0.5em;}
	.title5{font-size: 1rem; margin-bottom:0.5em;}
	.title6{font-size: 0.8rem; margin-bottom:0.5em;}
	.title4.eng{ font-weight:bold; font-size: 1.2rem;}
	
	.pagetitle .title1{    margin-bottom: 15%;}
	.pagetitle .title1 .lead{ display:block; padding-top:0.5em; }
	.pagetitle .title1 .name-eng{ height:18px; width:auto;}
	.pagetitle .title1 span{ padding-top:5px;}
	.pagetitle .title1 .name-jp{ height:12px; width:auto;}
}

@media screen and (max-width: 600px) {
}

/*tablet*/
body.tablet .pagetitle .title1 .name-eng{ height: 24px;}
body.tablet .pagetitle .title1 .name-jp{ height: 20px; }

/* //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

btn

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
.btn{display:inline-block;box-sizing:border-box;border:1px solid;line-height:1em;padding: 0.8em 1.5em;box-sizing:border-box;}
.btn .btn-innner{ padding:0.4em 0; margin:0 1.5em; display:block; }
.btn:hover{ text-decoration:none;}

.btn.lineBtn{ background:#f5f5f5; border:none; padding:0.8em 2em; line-height:1em; text-align:center; position:relative; letter-spacing:0.1em;}
.lineBtn::before{ content:""; width:20px; height:1px; background:#000000; position:absolute; left:-10px; top:50%;}

.btn.flowbtn{ width:100%; background:#f5f5f5; display:block; text-align:center; border:none; position:relative; -webkit-transition: all .3s; transition: all .3s;}
.btn.flowbtn:hover{ background:#ccc;}
.btn.flowbtn span{ width:26px; height:24px; display:block; position:absolute; left:15px; top:50%; -webkit-transform: translateY(-50%);  transform: translateY(-50%);}

.btn.lineBtnBlack{border:1px solid #000; background: #fff;}
.btn.lineBtnBlack:hover{border:1px solid #000; background: #ccc;}

.btn.Black{ border:1px solid #000; background: #000; color: #fff;}
.btn.Black:hover{border:1px solid #000; background: #fff; color: #000;}
.btn.Black:hover svg{ fill:#fff;}

a.more.btn{    -webkit-transition: all .3s;    transition: all .3s; font-weight:bold;}
@media screen and (min-width: 901px) {
a.more.btn:hover{    -webkit-box-shadow: rgba(0,0,0,.5) 0 0 3px 0;    -moz-box-shadow: rgba(0,0,0,.5) 0 0 3px 0;    box-shadow: rgba(0,0,0,.5) 0 0 3px 0;}
}


.btn.btn-w{ background:#FFF; border:none; padding: 1em 2em;}

@media screen and (max-width: 1400px) {
.btn.lineBtn{ background:#f5f5f5; border:none; padding:0.8em 2em; line-height:1em; text-align:center; position:relative; letter-spacing:0.1em; font-size:0.7rem;}
.btn.lineBtn::before{ content:""; width:10px; height:1px; background:#000000; position:absolute; left:-5px; top:50%;}
}

@media screen and (max-width: 900px) {
	.btn.btn-w{line-height:0;}
}

.btn.conversion-btn{ background:#000; color:#FFFFFF; box-sizing:border-box; border:none; padding: 1em 0.5em; width:530px; letter-spacing:0.1em; -webkit-transition: all .3s; transition: all .3s;}
.btn.conversion-btn svg{ height:16px; width:auto;}
@media screen and (max-width: 900px) {
	.btn.conversion-btn{ font-size: 0.8rem;}
}


@media screen and (min-width: 901px) {
.btn.conversion-btn:hover{-webkit-box-shadow: rgba(0,0,0,.5) 0 0 5px 0; -moz-box-shadow: rgba(0,0,0,.5) 0 0 5px 0; box-shadow: rgba(0,0,0,.5) 0 0 5px 0; background:#FFF;  color:#000;}
}


svg.more{ height:14px; width:auto;}



.arrow{ position:relative; padding-left:1em; }
.arrow::after{content:"";display: block;width:6px;height:12px; position: absolute;left:0em; right:inherit; top: 0.3em; background:url(../img/arrow.svg) no-repeat center; background-size:6px; }

.arrow.arrow-color{color:#F00;}
.arrow.arrow-color::after{  border-top:1px solid #F00;border-right:1px solid #F00}

.arrow.arrow-white{color:#FFFFFF;}
.arrow.arrow-white::after{content:"";display: block;width:6px;height:12px; position: absolute;left:1em; right:inherit; top: 1em; background:url(../img/arrow-w.svg) no-repeat center; background-size:6px; }


.btn .arrow{ position:relative; }
.btn .arrow::after{border-top:1px solid #fff;border-right:1px solid #fff; right: -1em; left:inherit; margin-top:-5px;}

@media screen and (max-width: 900px) {
.btn.btn-w{ background:#FFF; border:none; padding: 0.5em 1.5em;}
.btn.conversion-btn{  width:90%;}
.conversion-area p{text-align:left!important;margin:0 auto;width: 90%;display:block;}
}

/*btncolor*/
@media screen and (min-width: 901px) {
.btn.btn-black-line:hover .arrow::after,
.btn.btn-colorB-reverse:hover .arrow::after{border-top:1px solid #fff;border-right:1px solid #fff;}

.btn.btn-black-box { background:#000; color:#fff; border-color: #000;}
.btn.btn-black-box:hover { background:#fff; color:#000; border-color: #000;}
.btn.btn-black-box:hover .arrow::after{border-top:1px solid #000;border-right:1px solid #000;}

.btn.btn-black-line { background:#fff; color:#000; border-color: #000;}
.btn.btn-black-line:hover { background:#000; color:#fff; border-color: #000;}
.btn.btn-black-line .arrow::after{border-top:1px solid #000;border-right:1px solid #000;}

.btn.btn-color-box { background:#F00; color:#fff;  border-color: #F00;}
.btn.btn-color-box:hover { background:#fff; color:#F00; border-color: #F00;}
.btn.btn-color-box:hover .arrow::after{border-top:1px solid #F00;border-right:1px solid #F00;}

.btn.btn-color-line { background:#fff; color:#F00; border-color:#F00;}
.btn.btn-color-line:hover { background:#F00; color:#fff; border-color: #F00}
.btn.btn-color-line .arrow::after{border-top:1px solid #F00;border-right:1px solid #F00;}
}




/*反転　白抜き*/
.btn.btn-white-box{background:#fff; color:#000; border:1px solid #fff;}
.btn.btn-white-box .btn-innner { color:#000;}
@media screen and (min-width: 901px) {
.btn.btn-white-box:hover{background:none; color:#fff; border:1px solid #fff;}

.btn.btn-white-box:hover .btn-innner { color:#fff;}
}
.btn.btn-white-line{background:none; color:#fff; border:1px solid #fff;}
.btn.btn-white-line .btn-innner { color:#fff;}
@media screen and (min-width: 901px) {
.btn.btn-white-line:hover{background:#FFFFFF; color:#000; border:1px solid #fff;}
.btn.btn-white-line:hover .btn-innner { color:#000;}
}
.btn.btn-white-box .arrow::after{border-top:1px solid #000;border-right:1px solid #000;}
@media screen and (min-width: 901px) {
.btn.btn-white-box:hover .arrow::after{border-top:1px solid #fff;border-right:1px solid #fff;}
}
.btn.btn-white-line .arrow::after{border-top:1px solid #fff;border-right:1px solid #fff;}
@media screen and (min-width: 901px) {
	.btn.btn-white-line:hover .arrow::after{border-top:1px solid #000;border-right:1px solid #000;}
}

/*反転　色あり*/
.btn.btn-color-box-r{background:#F00; color:#000; border:1px solid #F00;}
.btn.btn-color-box-r .btn-innner { color:#000;}
@media screen and (min-width: 901px) {
.btn.btn-color-box-r:hover{background:none; color:#F00; border:1px solid #F00;}
.btn.btn-color-box-r:hover .btn-innner { color:#F00;}
}
.btn.btn-color-line-r{background:none; color:#fff; border:1px solid #F00;}
.btn.btn-color-line-r .btn-innner { color:#F00;}
@media screen and (min-width: 901px) {
.btn.btn-color-line-r:hover{background:#F00; color:#000; border:1px solid #F00;}
.btn.btn-color-line-r:hover .btn-innner { color:#000;}
}

.btn.btn-color-box-r .arrow::after{border-top:1px solid #000;border-right:1px solid #000;}
.btn.btn-color-box-r:hover .arrow::after{border-top:1px solid #F00;border-right:1px solid #F00;}
@media screen and (min-width: 901px) {
.btn.btn-color-line-r .arrow::after{border-top:1px solid #F00;border-right:1px solid #F00;}
.btn.btn-color-line-r:hover .arrow::after{border-top:1px solid #000;border-right:1px solid #000;}
}


/* ///////////////   whitebg   ///////////////////////*/
.bg-white{ background: #fff;}



/* ///////////////   SNSボタン   ///////////////////////*/
/*共通*/
.snsWrap{ display: block; overflow: hidden; text-align: center; width: 90px; margin: 0 auto 50px;}
.snsWrap .snsLoao { border: 2px solid #000; background-color: #000; width: 40px; height: 40px; display: block; float: left; border-radius: 25px; padding: 7px; box-sizing: border-box;}
.snsWrap .snsLoao svg{ fill:#fff;}
.snsWrap .snsLoao.sns-fb{padding: 8px 9px 8px 8px; margin-right: 10px;}
.snsWrap .snsLoao.sns-ig{padding: 5px;}

/*Facebook*/
.btn-sns-facebook { border-color: #295A9E; background:#295A9E; fill: #FFF; }
/*twitter*/
.btn-sns-twitter { border-color: #1DA1F2; background:#1DA1F2; fill: #FFF; }
/*instagram*/
.btn-sns-instagram { border-color: #000; background:#000; fill: #FFF; }




@media screen and (min-width: 901px) {
.btn-sns-facebook:hover { background:#FFF; fill: #295A9E; }
.btn-sns-twitter:hover { background:#FFF; fill: #1DA1F2; }
.btn-sns-instagram:hover { background:#FFF; fill: #000; }
}

/*btnsize*/
.btn.btn-sizeL{ line-height:3em; padding:0 2em; font-size:1.1rem; }
.btn.btn-sizeM{ line-height:2em;  padding:0 2em; font-size:1rem; }
.btn.btn-sizeS{ line-height:1.5em;  padding:0 2em; font-size:0.9rem; }


.snsWrap2{ display: block; overflow: hidden; text-align: center; width: 500px; margin: 0 auto 50px;}
.snsWrap2 .snsLoao{margin-right: 20px;/* line-height: 24px; */display: inline-block;padding: 5px 0;padding-left: 35px;position: relative;}
.snsWrap2 .snsLoao:last-child{ margin-right: 0;}
.snsWrap2 .snsLoao span{border: 2px solid #000;background-color: #000;width: 26px;height: 26px;display: block;float:none;border-radius: 15px;padding: 1px;box-sizing: border-box;/* margin-right: 10px; */position: absolute;left: 0;}
.snsWrap2 .snsLoao span svg{ fill:#fff; width:15px; height: auto; position: absolute; left:50%; top:50%; -webkit-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%);}
.snsWrap2 .snsLoao.sns-fb span{padding: 1px 2px 1px 1px;}
.snsWrap2 .snsLoao.sns-ig span{padding: 1px;}
.snsWrap2 svg.snsText{ height: 10px; width: auto;}
.snsWrap2 .news-event svg.snsText{height: 11px; width: auto;}

.snsWrap2 a.snsLoao[target="_blank"]:not(.btn):after{ display: none;}


@media screen and (max-width: 900px) {
	.snsWrap2{ display: block; overflow: hidden; text-align: center; width: 145px; margin: 0 auto 50px;}
	.snsWrap2 .snsLoao{ margin-right: 0; display: block; text-align: left;}
	.snsWrap2 .snsLoao span{ text-align: center;} 
}

/* ///////////////   ハンバーガーボタン   ///////////////////////*/
.btn_humberger { font-size: .6rem; width: 5em; height: 5em; padding-top: 3em; border: none; background: #FFF; position: relative; }
.btn_humberger:before,
.btn_humberger:after { content: ''; width: 3.5em; height: 1px; display: block; position: absolute; top: 5em; left: 0; right: 0; margin: auto; background: #000; -ms-transform-origin: center center; -webkit-transform-origin: center center; transform-origin: center center; -ms-transition: all .3s; -webkit-transition: all .3s; transition: all .3s;  }
.btn_humberger:before { -ms-transform: translateY(-1em); -webkit-transform: translateY(-1em); transform: translateY(-1em); }
.btn_humberger:after  { -ms-transform: translateY(.3em); -webkit-transform: translateY(.3em); transform: translateY(.3em); }

#btn_gNavi{ position:fixed; right:50px; top:50px; width:94px; height:94px; display:block; background:#FFFFFF; border-radius:47px; text-indent:-9999px; overflow:hidden; z-index:11; 
-ms-transition: all .3s; -webkit-transition: all .3s; transition: all .3s;
}

@media screen and (min-width: 901px) {
#btn_gNavi:hover{cursor: pointer; background:#666;}
#btn_gNavi:hover:before,
#btn_gNavi:hover:after {background: #fff;  }
}

body.drawer.ready #btn_gNavi{ background:#000;}
@media screen and (min-width: 901px) {
body.drawer.ready #btn_gNavi:hover{ background:#666;}
}
body.drawer.ready .btn_humberger:before,
body.drawer.ready .btn_humberger:after { background: #fff;}


body.drawer .btn_humberger:before { -ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); transform: rotate(45deg); box-shadow: none; }
body.drawer .btn_humberger:after  { -ms-transform: rotate(-45deg); -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }

@media screen and (max-width: 1400px) {
	#btn_gNavi{ position:fixed; right:30px; top:30px; width:60px; height:60px; display:block; background:#FFFFFF; border-radius:30px; text-indent:-9999px; overflow:hidden; z-index:11;}
	.btn_humberger:before,
	.btn_humberger:after { content: ''; width: 2.5em; height: 1px; display: block; position: absolute; top: 3.5em; left: 0; right: 0; margin: auto; background: #000; -ms-transform-origin: center center; -webkit-transform-origin: center center; transform-origin: center center; -ms-transition: all .3s; -webkit-transition: all .3s; transition: all .3s;  }
	
	
	body.drawer .btn_humberger:before,
	body.drawer .btn_humberger:after{top: 3em;}
}

@media screen and (max-width: 900px) {
	#btn_gNavi{ position:fixed; right:4%; top:3%; width:60px; height:60px; display:block; background:#FFFFFF; border-radius:30px; text-indent:-9999px; overflow:hidden; z-index:11;}
	.btn_humberger:before,
	.btn_humberger:after {width: 1.5em; top: 3.5em;}
	body.drawer .btn_humberger:before,
	body.drawer .btn_humberger:after{top: 3.05em;}
	.btn_humberger:after  { -ms-transform: translateY(0em); -webkit-transform: translateY(0em); transform: translateY(0em); }
	

	body.landscape #btn_gNavi{ top:5%;}
}


/* ///////////////   外部リンク   ///////////////////////*/
a[target="_blank"]:not(.btn):after { background: currentColor; box-shadow: 1px -1px currentColor; 
 content:''; width: .6em; height: .4em; display: inline-block; vertical-align: middle;  background-clip: content-box; padding: 2px 2px 0 0; box-sizing: border-box; margin-left:.3em; }
 

/* //////////////////////////////////////////////////////////////////////////////////////////

 list

 ////////////////////////////////////////////////////////////////////////////////////////////*/
 
 /*通常リスト*/
ul.list{border-top: 1px solid #CCC; }
ul.list > li {border-bottom: 1px solid #CCC; padding: .5em 0;}
 
/*ドット付きリスト*/
ul.list-dot > li { padding-left: 1em; text-indent: -1em; }
ul.list-dot > li:before { content:'・'; }

/*数字付きリスト*/
ol.list { counter-reset: listnum; }
ol.list > li { padding-left: 1.5em; }
ol.list > li::before { content: counter(listnum)'.'; counter-increment: listnum; width: 1.5rem; margin-left: -1.5rem; display: inline-block; }

/*定義リスト(縦ならび)*/
dl.list-vertical { border-top: 1px solid #CCC; }
dl.list-vertical > dt { font-weight: bold; }
dl.list-vertical > dd { border-bottom: 1px solid #CCC; }

/*定義リスト(横ならび)*/
dl.list-horizontal { display: -webkit-flex; display: flex; flex-flow:row wrap; border-top: 1px solid #CCC;}
dl.list-horizontal > * { padding: .5em 0; border-bottom: 1px solid #CCC; }
dl.list-horizontal > dt { width: 20%; }
dl.list-horizontal > dd { width: 80%; padding-left: 5%; }

/*パンくずリスト*/
.breadcrumb > * { display: inline-block; }
.breadcrumb > * + *:before { content:''; width: .5em; height: .5em; display: inline-block; margin-right: .5em; border-top: 1px solid; border-right: 1px solid; -ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); transform: rotate(45deg); vertical-align: middle; }

/*新着情報リスト*/
dl.list-news { display: -webkit-flex; display: flex; flex-flow:row wrap; border-top: 1px solid #CCC; }
dl.list-news > * { padding: .5em 0; border-bottom: 1px solid #CCC; }
dl.list-news > dt { width: 14ex; text-align: center; }
dl.list-news > dt + dd { width: 10em; font-size: .8rem; line-height: 120%; text-align: center; padding: 1em 1.5em;  }
dl.list-news > dd + dd { width: calc(100% - 14ex - 10em); }

/*フロー*/
.list_flow { counter-reset: flownum; }
.list_flow li { display: block; position: relative; }
.list_flow li + li { margin-top: 3rem; }
.list_flow li:before { content:counter(flownum)'.'; counter-increment: flownum; }
.list_flow li + li:after { content:''; width: 0; height: 0; display: block; border-style: solid; border-width: 1rem .7rem 0; border-color: #CCC transparent transparent; position: absolute; top: 0; left: 0; right: 0; margin: -2rem auto 0; }

/*その他*/
.cat{line-height:1em;border:1px solid #000;width:10em;padding: 0.5em 0.5em 0.3em;font-size:0.7em;display:inline-block;text-align:center;font-weight:500;line-height: 1;}
.imgWrap img{ width:100%; height:auto;}
.news-list .thumb img{ width:100%; height:auto;}

@media screen and (max-width: 900px) {
	.cat{font-size: 0.6rem;}

	/*定義リスト(横ならび)*/
	dl.list-horizontal { display: -webkit-flex; display: flex; flex-flow:row wrap; border-top: 1px solid #CCC;}
	dl.list-horizontal > * { padding: .5em 0; border-bottom: 1px solid #CCC; }
	dl.list-horizontal > dt {width: 100%;padding: 10% 0 0;border-bottom: none;}
	dl.list-horizontal > dd {width: 100%;padding: 0 0 10%;}

}


.telnum{ font-size:1.3rem; letter-spacing:0.2em;}
.telnum::before{content:"TEL";margin-right:0.5em;font-size: 0.7rem;vertical-align: text-top;}

@media screen and (max-width: 900px) {
.telnum{ font-size:1rem; letter-spacing:0.1em;}
.telnum::before{content:"TEL";margin-right:0.5em;font-size: 0.6rem;vertical-align:bottom;}
}

/*font*/
.mincho{ font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; font-weight:600;}
.eng-s{font-family: 'EB Garamond', serif;}
.eng{font-family: 'Cormorant Garamond', serif;}

.list-nav li{ display:block; background:#FFFFFF; margin-bottom:3px;}
.list-nav li a{ display:block; text-align:left; padding:20px 20px 20px 60px; position:relative;}
.list-nav li a:hover{ text-decoration:none;}
.list-nav li a:before{ content:""; position:absolute; width:15px; height:1px; background:#000000; left:30px; top: 50%;}

@media screen and (max-width: 900px) {
.list-nav li a{display:block;text-align:left;padding:10px 10px 10px 30px;position:relative;line-height: 1.5em;font-size: 0.9rem;}
.list-nav li a:before{ content:""; position:absolute; width:8px; height:1px; background:#000000; left:15px; top: 50%;}
.list-nav li .cat{top: auto;}
}
@media screen and (max-width: 1100px) {
.list-nav li a{ display:block; text-align:left; padding:10px 10px 10px 30px; position:relative; font-size: 0.85em;}
.list-nav li a:before{ content:""; position:absolute; width:5px; height:1px; background:#000000; left:15px; top: 50%;}
}
/* //////////////////////////////////////////////////////////////////////////////////////////

table

////////////////////////////////////////////////////////////////////////////////////////////*/
/*テーブル*/
table.tbl { width: 100%; border-collapse: collapse; table-layout: fixed; }
table.tbl th,
table.tbl td { padding: 10px; }
table.tbl thead th { background: #CCC; text-align: center; border: 1px solid #FFF; }
table.tbl tbody th { background: #F1F1F1; border: 1px solid #CCC; }
table.tbl tbody td { text-align: center; border: 1px solid #CCC; }
