/* CSS Document */
/*
Site Name: studio viel
Site URI: https://studio-viel.jp

@charset "utf-8";
*/

@media print {
 a[href]:after {
 content: "" !important;
 }
 
 abbr[title]:after {
 content: "" !important;
 }
}

/*@import url('https://fonts.googleapis.com/css2?family=Courgette&family=Inter:wght@400;500;600&family=Poppins:wght@300;400;500;600&display=swap');*/
@import url('https://fonts.googleapis.com/css2?family=Courgette&family=Inter:wght@400;500;600&family=Marck+Script&family=Poppins:wght@300;400;500;600&display=swap');

@font-face {
  font-family: 'themify';
  src: url("../fonts/themify/themify.eot?-fvbane");
  src: url("../fonts/themify/themify.eot?#iefix-fvbane") format("embedded-opentype"), url("../fonts/themify/themify.woff?-fvbane") format("woff"), url("../fonts/themify/themify.ttf?-fvbane") format("truetype"), url("../fonts/themify/themify.svg?-fvbane#themify") format("svg");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'icomoon';
  src:  url('../fonts/icomoon.eot?o018fj');
  src:  url('../fonts/icomoon/icomoon.eot?o018fj#iefix') format('embedded-opentype'),
    url('../fonts/icomoon/icomoon.ttf?o018fj') format('truetype'),
    url('../fonts/icomoon/icomoon.woff?o018fj') format('woff'),
    url('../fonts/icomoon/icomoon.svg?o018fj#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}


html.page-overflow, body.page-overflow {
  overflow-x: auto;
}
html.page-overflow #page-header-section, html.page-overflow #page-main, html.page-overflow #page-hero, html.page-overflow #page-mobile-menu, html.page-overflow #page-footer, body.page-overflow #page-header-section, body.page-overflow #page-main, body.page-overflow #page-hero, body.page-overflow #page-mobile-menu, body.page-overflow #page-footer {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}



body {
  font-family: "Yu Gothic", "游ゴシック", YuGothic,'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','ヒラギノ角ゴシック','Hiragino Sans',sans-serif;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 500;
  color: #2D2C33;
}

p {
  font-family: 'Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','ヒラギノ明朝 ProN','Hiragino Mincho ProN',sans-serif;
  font-weight: 500;
}


@media screen and (max-width: 768px) {
  body {
    font-size: 16px;
    line-height: 1.5;
  }
}

::-webkit-selection {
  color: #ffffff;
  background: #604C3F;
}

::-moz-selection {
  color: #ffffff;
  background: #604C3F;
}

::selection {
  color: #ffffff;
  background: #604C3F;
}

a {
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
  color: #649AA6; /*#64A692  #604C3F*/
  border-bottom: 2px solid transparent;
}
a:hover, a:focus, a:active {
  outline: none;
  text-decoration: none;
  color: #84CCC9;  /*#527369 #2e2e2e9e*/
}



input {
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

/* Heading */
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  margin: 0 0 20px 0;
  padding: 0;
}

h1, .h1 {
  font-size: 30px;
  line-height: 42px;
}

h2, .h2 {
  font-size: 26px;
  line-height: 38px;
}

h3, .h3 {
  font-size: 20px;
  line-height: 32px;
}

h4, .h4 {
  font-size: 16px;
  line-height: 28px;
}

h5, .h5 {
  font-size: 14px;
  line-height: 24px;
}

h6, .h6 {
  font-size: 12px;
  line-height: 24px;
}

ul, ol {
  padding-left: 15px;
  line-height: 26px;
}
ul ul, ul ol, ol ul, ol ol {
  padding-left: 25px;
}

p {
  margin: 0 0 20px 0;
	color: #331C09;
}


/* ---------- テキスト中央寄せ（SP左寄せ） ---------- */

.txt_c{
text-align: center;
line-height: 2;
}

.txt_c a{

}
.txt_r{
text-align: right;
}


.txt_c a:hover{
}

@media screen and (max-width: 810px){
.txt_l{
text-align: center; 
}
.txt_c{
text-align: left;
line-height: 1.5;
}
}

@media screen and (max-width: 428px){
.txt_c{
text-align: left!important;
line-height: 1.5;
}
.txt_r{
text-align: center; 
}
	}


.f_min{
	font-family: "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif"!important;
}

/*------------------------------------------------------
　　　　　　　　　＊ FONT&TEXT　＊
-------------------------------------------------------*/
.f_bold {font-weight: bold !important;}
.f_line a{ text-decoration:underline !important;}

.f_gr {color: #5A5A5A !important;}
.f_red {color: #B24848 !important;}
.f_bule {color: #70B3C4 !important;}
.f_white {color: #FFFFFF !important;}
.f_white a {color: #FAFFDA !important;}
.f_gold {color: #A79119 !important;}
.f_purple {color: #7F5083 !important;}
.f_orange {color: #F0C7B6 !important;}
.f_lightpoint-cl {color: #F392CA !important;}

.f_s9 {font-size: 73% !important;}
.f_s10 {font-size: 77% !important;}
.f_s11 {font-size: 85% !important;}
.f_s12 {font-size: 93% !important;}
.f_s13 {font-size: 100% !important;}
.f_s14 {font-size: 108% !important;}
.f_s14 a {font-size: 108% !important;}
.f_s15 {font-size: 116% !important;}
.f_s15 a {font-size: 116% !important;}
.f_s16 {font-size: 124% !important;}
.f_s16 a {font-size: 124% !important;}
.f_s17 a {font-size: 124% !important;}
.f_s17 {font-size: 131% !important;}
.f_s18 {font-size: 139% !important;}
.f_s19 {font-size: 147% !important;}
.f_s20 {font-size: 154% !important;}
.f_s21 {font-size: 162% !important;}
.f_s22 {font-size: 170% !important;}
.f_s23 {font-size: 177% !important;}
.f_s24 {font-size: 185% !important;}
.f_s25 {font-size: 193% !important;}

.f_s16res {font-size: 170% !important;}
.f_s20res {font-size: 154% !important;}

.f_s15_name {font-size: 116% !important;}
@media screen and (max-width: 360px){
.f_s20res {font-size: 134% !important;}
.f_s15_name {font-size: 96% !important;}
}

@media screen and (max-width: 1199px){
.f_s16res {font-size: 154% !important;}
}
@media screen and (max-width: 991px){
.f_s16res {font-size: 112% !important;}
}
@media screen and (max-width: 414px){
.f_s16res {font-size: 154% !important;}
}
.f_lh100 {line-height: 1.0!important;}
.f_lh150 {line-height: 1.5!important;}
.f_lh200 {line-height: 2.0!important;}
.f_lh250 {line-height: 2.5!important;}
.f_lh250tb {line-height: 2.5!important;}

@media screen and (max-width: 1337px){
.f_lh250tb {line-height: 2.0!important;}
}
@media screen and (max-width: 1223px){
.f_lh250tb {line-height: 1.7!important;}
}

@media only screen and (min-width:320px) and (max-width:414px) {
	.t-a_center {text-align: left;}
}

/* ---------- MARGIN ---------- */
.m_b0 {margin-bottom: 0px !important;}
.m_b30 {margin-bottom: 30px !important;}
.m_b40 {margin-bottom: 40px !important;}
.m_b50 {margin-bottom: 50px !important;}
.m_b10 {margin-bottom: 10px !important;}
.m_b20 {margin-bottom: 20px !important;}
.m_t20 {margin-top: 20px !important;}
.m_t30 {margin-top: 30px !important;}
.m_t10 {margin-top: 10px !important;}
.m_t40 {margin-top: 40px !important;}
.m_t60 {margin-top: 60px !important;}
.m_l5 {margin-left: 5px !important;}
.m_r7 {margin-right: 7px !important;}
.m_lr10 {
margin-left: 25px !important;
margin-right: 25px !important;
}
.m_b5em {margin-bottom: 5em !important;}
.m_b8em {margin-bottom: 8em !important;}
.m_t40be {margin-top: 40px !important;}

/* ---------- PADDING ---------- */
.p_b0 {padding-bottom: 0px !important;}
.p_r5 {padding-right: 5px;}
.p_l5 {padding-left: 5px;}
.p_l10 {padding-left: 10px;}
.p_l70 {padding-left: 70px;}
.p_r70 {padding-right: 70px;}
.p_t10 {padding-top: 10px !important;} 
.p_t60 {padding-top: 60px !important;} 
.p_lr15 {padding: 0 15px !important;} 
.p_lr10 {padding: 0 10px !important;} 
.p_15 {padding: 15px !important;} 
.p_t9em {padding-top: 9em !important;} 
.p_t5em {padding-top: 5em !important;} 
.p_b5em {padding-bottom: 5em !important;} 
.p_b10em {padding-bottom: 10em !important;} 
@media screen and (max-width: 1199px){  
.p_l70 {padding-left: 20px;}
.p_r70 {padding-right: 20px;}
.m_b5em {margin-bottom: 3em !important;}
.m_t40be {margin-top: 0px !important;}
}

@media screen and (max-width: 768px){  
.m_b5em {margin-bottom: 2em !important;}
}
@media screen and (max-width: 414px){
.p_l70 {padding-left: 20px;}
.p_r70 {padding-right: 20px;}
.m_lr10 {
margin-left: 10px !important;
margin-right: 10px !important;
}
.m_t40sp {margin-top: 40px !important;}
.m_b30 {margin-bottom: 20px !important;}
.p_t9em {padding-top: 3em !important;} 
.p_t5em {padding-top: 2em !important;} 
}
@media screen and (max-width: 360px){

}



/* ---------- エリア ---------- */


#se-area{
    padding: 5em 0 7em 0;
}
#se-area p{
	/*font-size: 90%;*/
	line-height: 2em;
}



@media only screen and ( max-width : 414px ) {
	
#se-area p{
	font-size: 90%;
	line-height: 1.5em;
}
	
	#introduction-area p{
		font-size: 14px;
	}
}	


/* ---------- 下層エリア ---------- */


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

}


/* ---------- 背景色 ---------- */

.bg_brown{
    background-color: #331C09;
    color: #fff;
    padding-top: 7em;
    padding-bottom: 5em;
}
.bg_brown h2{
    color: #fff!important;
}
.bg_brown p{
    color: #fff;
}

.bg_gray{
	background-color: #EAE7E7;
padding-top: 5em;
}

.bg_gray h4{
    margin-top: 10px;
}

.bg_pk-l_brown{
	background-color: #74626A;
padding-top: 5em;
padding-bottom: 5em;
}
.bg_pk-l_brown p{
    color: #fff;
}

.bg_pk-l_brown h4{
    color: #fff;
    margin-top: 10px;
    font-family: 'Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','ヒラギノ明朝 ProN','Hiragino Mincho ProN',sans-serif;
}

.bg_white{
	background-color: #fff;
padding-top: 5em;
padding-bottom: 5em;
border-radius: 20px;
}

.bg_white p{
color: #2D2C33;
}



.bg_white2{
	background-color: #fff;
	padding-top: 4em;
    padding-bottom: 0;
}
.bg_white3{
	background-color: #fff;
	padding-top: 2em;
    padding-bottom: 4em;
}


.bg_bk{
	background-color: #000;
	padding-top: 7em;
    padding-bottom: 2em;
}



.kaatru-area {
  margin: 0;
/*  padding: .2em;*/
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 428px){
.kaatru-area img {
  max-width: 200px;
  max-height: 100%;
}
}

.bg_gy{
	background-color: #EBEBEC;
	padding-top: 35px;
	padding-bottom: 25px;
}

.bg_semitransparent{
background-color: rgba(0, 0, 0, 0.59);
}

@media screen and (max-width: 768px){
.bg_gy{
	background-color: #EBEBEC;
padding-top: 35px;
padding-bottom: 25px;
}	
.bg_bk{
    padding-top: 5em;
    padding-bottom: 15px;
}	
    
.bg_white{
padding-top: 3em;
padding-bottom: 2em;
}
.bg_white2{
	background-color: #fff;
	padding-top: 3em;
    padding-bottom: 0;
}
.bg_white3{
padding-top: 1.5em;
padding-bottom: 1.5em;
}
.bg_gray{
padding-top: 3em;
}
    
}
@media screen and (max-width: 414px){
.bg_gy{
	background-color: #EBEBEC;
	padding-top: 5px;
	padding-bottom: 15px;
}	
}
@media screen and (max-width: 375px){
.bg_gy{
	background-color: #EBEBEC;
	padding-top: 15px;
	padding-bottom: 10px;
}	
}

.bg_gy-gra{
background: rgb(203,198,193);
background: linear-gradient(90deg, rgba(203,198,193,1) 0%, rgba(167,162,160,1) 26%, rgba(224,225,225,1) 48%, rgba(167,162,160,1) 68%, rgba(203,198,193,1) 100%);
	padding: 15px;
}


/* ---------- 背景画像 ---------- */

.bg_top01{
  background: URL(../img/common/bg-kaatsu-area.jpg);
  background-size:cover;
}
.bg_top01 p{
  color: #fff;
}

.bg_material2{
  background: URL(../img/common/bg-material2.jpg);
  background-size:cover;
  padding-top: 7em;
padding-bottom: 7em;
}
.bg_material2 p{
  color: #331C09;
}


/* ---------- 額縁風 ---------- */
.frame-style{
border: 5px solid;
  border-image-outset: 0;
  border-image-repeat: stretch;
  border-image-slice: 100%;
  border-image-source: none;
  border-image-width: 1;
border-image: linear-gradient(to right bottom,#9b9b97,#fff) 1 / 10px;
outline: 3px outset #a4a195;
padding: 10px;
background: #FFF;
}

@media screen and (max-width: 428px){
.frame-style{
    border: 3px solid;
    border-image: linear-gradient(to right bottom,#9b9b97,#fff) 1 / 5px;
    outline: 3px outset #a4a195;
    padding: 5px;
    background: #FFF;
}

}
/* ---------- ホバーした時に透過 ---------- */
.hv_opacity img:hover {
  transition: .3s; /*0.3s秒かけて変化*/
	opacity: 0.7 ;
}
a.hover_img{
    background-color:#fff;
    display:block;
    }
a.hover_img img{
    transition:all 0.5s ease;
    }
a:hover.hover_img img{
    opacity: 0.7;
    filter: alpha(opacity=70);
    }
/* ---------- imgサイズ調整 ---------- */

.m_2em {
    margin-right: 2em;
    margin-left: 2em;
}
@media screen and (max-width: 991px){
.m_2em {margin: 0em !important;}
}


.clear {
	clear:both;　/*float解除*/
}


/* -------------------------------- 
　横幅指定
-------------------------------- */
.max700 {
width: 100%;
max-width: 700px;
margin:0px auto;
}
.max800 {
width: 100%;
max-width: 800px;
margin:0px auto;
}

.max900 {
width: 100%;
max-width: 900px;
margin:0px auto;
}
.max970 {
width: 100%;
max-width: 970px;
margin:0px auto;
}
.max1000 {
width: 100%;
max-width: 1000px;
margin:0px auto;
}

.max1140 {
width: 100%;
max-width: 1140px;
margin:0px auto;
}
/* -------------------------------- 
　パンくず用
-------------------------------- */

.breadcrumb_bg{
	background: #331C09;
	padding: 10px 0px;
    color: #fff;
}

.breadcrumbs{
	font-size:12px;
	width: 100%;
max-width: 1140px;
margin:0px auto;
}

.breadcrumbs a{
	color: #fff;
}

.breadcrumbs a:hover{
	color: #868686;
}


@media screen and (max-width: 1199px){
.breadcrumbs {
    padding: 0 30px;
	}
}



@media screen and (max-width: 768px){
.breadcrumbs {
    padding: 0 35px;
	}
}

@media screen and (max-width: 414px){
.breadcrumbs {
    padding: 0 15px;
	}
}

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



/* ----------font  ----------*/

.wf-sawarabimincho { font-family: "Sawarabi Mincho"; }

.page-serif {
  font-family: "Crimson Text", serif;
}

.page-sans-serif {
  font-family: "Lato", arial, sans-serif;
}


.page-lead-wrap {
  padding-top: 2em;
  padding-bottom: 5em;
}
@media screen and (max-width: 768px) {
  .page-lead-wrap {
    padding-top: 2em;
    padding-bottom: 3em;
  }
}

.page-lead {
  font-size: 40px;
  line-height: 52px;
}
@media screen and (max-width: 768px) {
  .page-lead {
    font-size: 30px;
    line-height: 42px;
  }
}

@media screen and (max-width: 480px) {
  .col-xxs-12 {
    display: block;
    clear: both;
    width: 100%;
    float: left;
  }
}
/* Header */
#page-header-section {
  width: 100%;
  padding: 5px 0 2px 0;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  position: fixed;
  float: left;
  top: 0;
  left: 0 !important;
  right: 0;
  /*z-index: 103;*/
  z-index: 99999;
    background: url(../img/common/bg-hd-material.jpg) repeat-x;

}
#page-header-section.page-scrolled {
  padding: 0px 0;
  /*background: rgba(255, 255, 255, 0.9);*/
}
#page-header-section.page-scrolled #page-logo a {
  color: #000;
}
#page-header-section.page-scrolled #page-logo a:hover {
  color: #7b7b7b;
}
#page-header-section.page-scrolled #page-menu-wrap .sf-menu a {
  color: #000;
  border-bottom: none !important;
　text-shadow:initial;
}
#page-header-section.page-scrolled #page-menu-wrap .sf-menu a:hover {
  color: #804545 !important;
}
#page-header-section.page-scrolled #page-menu-wrap .sf-menu li.active > a {
  color: #BD2222 !important;
}
#page-header-section.page-scrolled #page-menu-wrap > .sf-menu > li > a {
  padding-top: 2em;
  padding-bottom: 1em;
  text-shadow: initial;
}

#page-logo {
  font-size: 20px;
  margin: 16px 0 0 0;
  padding: 0;
  font-weight: bold;
}
#page-logo img {
    width: 65px;
    height: auto;
    padding-bottom: 10px;
    margin-top: -10px;
}

.page-scrolled #page-logo img {
    width: 55px;
    height: auto;
    padding-bottom: 10px;
    margin-top: -10px;
}

#page-logo a {
  border-bottom: none !important;
  color: #fff;
  letter-spacing: 3px;
  text-transform: uppercase;
}
@media screen and (max-width: 768px) {
  #page-logo {
    text-align: center;
    margin: 0px 0 0 0;
    float: none !important;
  }
	
}

/* Superfish Override Menu */
.sf-menu {
  margin: 0 !important;
}

.sf-menu {
  float: right;
}

.sf-menu ul {
  box-shadow: none;
  border: transparent;
  min-width: 8em;
  *width: 8em;
}


.sf-menu a {
  color: rgb(0, 0, 0);
  padding: .75em 1em;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-left: none;
  border-top: none;
  border-top: none;
  text-decoration: none;
  zoom: 1;
  font-size: 13px;
  border-bottom: none !important;
  text-shadow: 0 0 1px #fff, 0 0 4px #fff, 0 0 8px #fff, 0 0 12px #fff, 0 0 16px #fff;
  font-weight: 500;
  font-family: 'Lato', arial, sans-serif !important;
}
.sf-menu a:hover {
	font-weight: 500;
	
}

.sf-menu li,
.sf-menu ul li,
.sf-menu ul ul li,
.sf-menu li:hover,
.sf-menu li.sfHover {
  background: transparent;
}

.sf-menu ul li a,
.sf-menu ul ul li a {
  text-transform: none;
  padding: .75em 1em;
  letter-spacing: 1px;
}

.sf-menu li:hover a,
.sf-menu li.sfHover a,
.sf-menu ul li:hover a,
.sf-menu ul li.sfHover a,
.sf-menu li.active a {
  color: #8A1114;
}

.sf-menu ul li:hover,
.sf-menu ul li.sfHover {
  background: transparent;
}

.sf-menu ul li {
  background: transparent;
}

.sf-arrows .sf-with-ul {
  padding-right: 2.5em;
  *padding-right: 1em;
}

.sf-arrows .sf-with-ul:after {
  content: '';
  position: absolute;
  top: 50%;
  right: 1em;
  margin-top: -3px;
  height: 0;
  width: 0;
  border: 5px solid transparent;
  border-top-color: #ccc;
}

.sf-arrows > li > .sf-with-ul:focus:after,
.sf-arrows > li:hover > .sf-with-ul:after,
.sf-arrows > .sfHover > .sf-with-ul:after {
  border-top-color: #ccc;
}

.sf-arrows ul .sf-with-ul:after {
  margin-top: -5px;
  margin-right: -3px;
  border-color: transparent;
  border-left-color: #ccc;
}

.sf-arrows ul li > .sf-with-ul:focus:after,
.sf-arrows ul li:hover > .sf-with-ul:after,
.sf-arrows ul .sfHover > .sf-with-ul:after {
  border-left-color: #ccc;
}

#page-menu-wrap .sf-menu a {
  padding:2em .8em 2em 1em;
	box-shadow: none !important;

}

.sns-icon {
  margin-left: 10px!important;
  margin-top: 5px;
}
.sns-icon2 {
  margin-left: -10px!important;
  margin-top: 5px;
}



#page-primary-menu > li > ul li.active > a {
  /*color: #604C3F !important;*/
}
#page-primary-menu > li > .sf-with-ul:after {
  border: none !important;
  font-family: 'themify';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  float: right;
  margin-right: -5px;
  top: 50%;
  margin-top: -7px;
  content: "\e64b";
	color: rgb(255, 255, 255);
}
#page-primary-menu > li > ul li > .sf-with-ul:after {
  border: none !important;
  font-family: 'themify';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  float: right;
  margin-right: 10px;
  top: 13px;
  font-size: 12px;
  content: "\e649";
  color: rgba(255, 255, 255, 0.3);
}

#page-primary-menu .page-sub-menu {
  padding: 7px 0 0;
background: rgba(255,255,255,0.93);
	min-width: 170px;
	/*border: 1px solid #D0121B;*/
}

#page-primary-menu .page-sub-menu:before {
  position: absolute;
  top: -9px;
  right: 20px;
  width: 0;
  height: 0;
  content: '';
}

#page-primary-menu .page-sub-menu li {
border-bottom: 1px solid #D0121B;
}

/*#page-primary-menu .page-sub-menu:after {
  position: absolute;
  top: -12px;
  right: 21px;
  width: 0;
  height: 0;
  border-right: 12px solid transparent;
 border-bottom: 12px solid rgba(255,255,255,0.73);
　border-bottom: 12px solid rgba(255,255,255,0.73);
  border-left: 12px solid transparent;
  content: '';
}*/

#page-primary-menu .page-sub-menu .page-sub-menu:before {
  top: 6px;
  right: 100%;
}

#page-primary-menu .page-sub-menu .page-sub-menu:after {
  top: 7px;
  right: 100%;
  border: none !important;
}

.site-header.has-image #primary-menu .sub-menu {
  border-color: #ebebeb;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.19);
}
.site-header.has-image #primary-menu .sub-menu:before {
  display: none;
}

#page-primary-menu .page-sub-menu a {
  letter-spacing: 0;
  padding: 12px 15px 7px 15px;
  font-size: 14px;
  line-height: 26px;
  color: #000 !important;
  text-transform: none;
  background: none;
}
#page-primary-menu .page-sub-menu a:hover {
  color: #8A1114 !important;
}

/* Mobile Menu　*/
#page-mobile-menu-btn {
  padding: 0 10px;
  z-index: 1001;
  position: absolute;
  top: 0;
  left: 0;
  background: #28180A; /*#604C3F*/
  height: 44px;
  display: table;
}
#page-mobile-menu-btn i {
  line-height: 25px;
  display: table-cell;
  vertical-align: middle;
  font-size: 22px;
  color: #fff;
}

#page-mobile-menu {
  -moz-transform: translateX(-275px);
  -webkit-transform: translateX(-275px);
  -ms-transform: translateX(-275px);
  transform: translateX(-275px);
  display: block;
  height: 100%;
  left: 0;
  overflow-y: auto;
  position: fixed;
  top: 0;
  width: 275px;
  z-index: 10002;
  background: #28180A;  /*#625757*/
  padding: 2.2em 1.25em 0.75em 1.25em;
  /*padding: 0.75em 1.25em;*/
}
#page-mobile-menu #page-mobile-menu-ul {
  padding: 0;
  margin: 0;
}
#page-mobile-menu #page-mobile-menu-ul li {
  list-style: none;
}
#page-mobile-menu #page-mobile-menu-ul li.active > a {
  color: #ffffff;
}
#page-mobile-menu #page-mobile-menu-ul a {
  border-bottom: none !important;
  padding: 7px 0;
  display: block;
  color: #ccc;
  color: rgba(255, 255, 255, 0.8);
}
#page-mobile-menu #page-mobile-menu-ul a:hover {
  color: #ffffff;
  color: white;
}
#page-mobile-menu #page-mobile-menu-ul .page-sub-ddown {
  position: relative;
}
#page-mobile-menu #page-mobile-menu-ul .page-sub-ddown:after {
  font-family: 'themify';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  right: 0;
  margin-top: 2px;
  content: "\e64b";
}
#page-mobile-menu #page-mobile-menu-ul .page-sub-menu {
  display: none;
  padding-left: 20px;
}
#page-mobile-menu #page-mobile-menu-ul .page-sub-menu li {
  list-style: none;
}

#page-logo-mobile-wrap {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  display: block;
  height: 44px;
  left: 0;
  position: fixed;
  text-align: center;
  top: 0;
  width: 100%;
  z-index: 10001;
background: #9B8E90;
color: #000;
  -webkit-box-shadow: 0 0.125em 0.125em 0 rgba(0, 0, 0, 0.125);
  -moz-box-shadow: 0 0.125em 0.125em 0 rgba(0, 0, 0, 0.125);
  -ms-box-shadow: 0 0.125em 0.125em 0 rgba(0, 0, 0, 0.125);
  -o-box-shadow: 0 0.125em 0.125em 0 rgba(0, 0, 0, 0.125);
  box-shadow: 0 0.125em 0.125em 0 rgba(0, 0, 0, 0.125);
}
#page-logo-mobile-wrap h1 {
  padding: 0;
  margin: 0;
  font-size: 20px;
  font-weight: bold;
}
#page-logo-mobile-wrap h1 a {
  border-bottom: none !important;
  color: #2e2e2e;
  letter-spacing: 3px;
  text-transform: uppercase;
}

#page-logo-mobile-wrap img {
    /*width: 100px;*/
    width: 150px;
    height: auto;
    margin-top: 0px;
}


#page-feature {
  background: #f6f9fa;
  padding: 5em 0;
}
@media screen and (max-width: 991px) {
  #page-feature {
    padding: 3em 0 2em 0;
  }
	
.sns-icon {
  margin-left: 0px!important;
}
.sns-icon2 {
  margin-left: 0px!important;
}

li .sns-icon span,
li .sns-icon2 span
{ 
display: inline-block;
	} 
.sns-icon span,
.sns-icon2 span
{ white-space: nowrap;
	} 

	
}

#page-hero {
  background-color: #EDF0F0;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center left;
  height: 600px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 5;
  color: #ffffff;
}
@media screen and (max-width: 768px) {
  #page-hero {
    background-position: center center;
  }
}
#page-hero .page-hero-wrap {
  display: table;
  height: 600px;
  width: 100%;
}
#page-hero .page-hero-wrap .page-hero-intro {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}
#page-hero .page-hero-wrap .page-hero-intro > h1 {
  font-size: 30px;
  font-weight: normal;
  line-height: 62px;
  text-transform: uppercase;
  letter-spacing: 4px;
}
@media screen and (max-width: 768px) {
  #page-hero .page-hero-wrap .page-hero-intro > h1 {
    letter-spacing: 4px;
    font-size: 25px;
    line-height: 42px;
  }
}
#page-hero .page-hero-wrap .page-hero-intro > h2 {
  letter-spacing: 4px;
  font-size: 16px;
  text-transform: uppercase;
  padding-bottom: 20px;
  position: relative;
  color: #fff;
}

/**/.flame_wh {
	font-family: 'Cambria Math','Bodoni 72 Smallcaps','Baskerville',sans-serif;
	background-color: rgba(255,255,255,0.37);
	border-radius: 2px; 
	padding: 10px;
}
@media screen and (max-width: 768px) {
  #page-hero .page-hero-wrap .page-hero-intro > h2 {
    letter-spacing: 3px;
  }
}
#page-hero .page-hero-wrap .page-hero-intro > h2 > span {
  position: absolute;
  bottom: 0;
  display: block;
  background: rgba(255, 255, 255, 0.4);
  width: 50px;
  height: 3px;
  left: 50%;
  margin-left: -25px;
}
#page-hero .page-hero-wrap .btn {
  color: #ffffff;
}
#page-hero .page-hero-wrap .btn:hover, #page-hero .page-hero-wrap .btn:active, #page-hero .page-hero-wrap .btn:focus {
  background: #8C8C8C;
  border-color: #8C8C8C;
}

body.inner-page #page-hero {
  height: 400px;
}
body.inner-page #page-hero .page-hero-wrap {
  padding-top: 50px;
  height: 400px;
}

@media screen and (max-width: 768px) {
  #page-hero, .page-hero-wrap {
    position: relative;
    padding: 4em 0 3em 0;
    height: inherit !important;
  }
}

#page-main {
  /*margin-top: 51px;
  padding-top: 50px;*/
  z-index: 102;
  position: relative;
  background: #ffffff;
}
@media screen and (max-width: 768px) {
  #page-main {
    margin-top: 0px;
  }
}

body.inner-page #page-main {
  overflow:hidden; /*余白削除*/
	margin-top: 0px;
}


@media screen and (max-width: 768px) {
  body.inner-page #page-main {
    margin-top: 0px;
  }
}


#page-hero,
#page-main,
#page-logo-mobile-wrap {
  -moz-transform: translateX(0px);
  -webkit-transform: translateX(0px);
  -ms-transform: translateX(0px);
  transform: translateX(0px);
}

body.page-mobile-menu-visible #page-hero,
body.page-mobile-menu-visible #page-main,
body.page-mobile-menu-visible #page-logo-mobile-wrap {
  -moz-transform: translateX(275px);
  -webkit-transform: translateX(275px);
  -ms-transform: translateX(275px);
  transform: translateX(275px);
}

body.page-mobile-menu-visible #page-mobile-menu {
  -moz-transform: translateX(0);
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
}


/* top-links */

ul.sideLink {
	top: 180px;
	padding: 0px;
	margin: auto;
	width: 120px;
	z-index: 99;
	right: 0px;
	position: fixed;
}
ul.sideLink li {
	margin-bottom: 10px;
	padding: 0px;
	list-style-type: none;
}
ul.sideLink li a {
	color: #151212;
	padding-bottom: 20px;
	padding-top: 20px;
	/*text-align: center;*/
	background-color: #fff;
	letter-spacing: 1px;
	line-height: 1.3em;
	font-size: 13px;
	display: block;
	border-radius: 5px 0px 0px 5px;
		background-size: 100% auto;
	padding-left: 1em;
}
ul.sideLink li a.netshop {
	background-color: #E5FCFC;
	background-size: 100% auto;
}
ul.sideLink li a:hover {
	color: #FFFFFF;
	background-color: #70B3C4;
}

@media screen and (max-width: 768px) {
	
ul.sideLink {
    top: 100px;
    padding: 0px;
    margin: auto;
    width: 120px;
    z-index: 99;
    right: 0px;
    position: fixed;
}	
	
}	

@media screen and (max-width: 630px) {
	
ul.sideLink {
    display: none;
}	
	
}	


.drop-shadow {
    -webkit-filter: drop-shadow(0px 3px 10px rgba(255, 255, 255));
    filter: drop-shadow(0px 0px 10px rgba(255, 255, 255));
}

/* 
========================================

Components 

========================================
*/
/* Buttons */
.btn_cplink {
  border-bottom: none !important;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 20px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
  border-radius: 8px;
  padding-left: 30px;
  padding-right: 30px;
  margin-right: 10px;
  margin-top: 5px;
  width: 100%;
	
display: inline-block;
margin-bottom: 10px;
font-weight: normal;
text-align: center;
vertical-align: middle;
touch-action: manipulation;
cursor: pointer;
background-image: none;
border: 1px solid transparent;
white-space: nowrap;
padding: 6px 12px;
font-size: 14px;
line-height: 1.42857;
border-radius: 4px;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.btn {
  border-bottom: none !important;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 20px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
  border-radius: 4px;
  padding-left: 40px;
  padding-right: 40px;
  margin-right: 10px;
}
.btn_cplink:hover, .btn_cplink:focus, .btn_cplink:active,
.btn:hover, .btn:focus, .btn:active
{
  box-shadow: none;
  outline: none !important;
  border-color: transparent;
}
.btn_cplink:hover, .btn_cplink:focus, .btn_cplink:active,
.btn.page-btn-icon {
  text-transform: none !important;
  letter-spacing: normal !important;
  padding-left: 15px;
  padding-right: 15px;
}

.btn-outline {
border: 2px solid #604C3F !important;
background: #9B8E90;
color: #FFF;
}
.btn-outline:hover, .btn-outline:active, .btn-outline:focus {
  border: 2px solid #604C3F !important;
  background: #FFF;
  color: #604C3F!important;
}

.btn-primary {
  background: #fff;
	color: #E6870D !important;
	font-weight: bold!important;
	margin-top: 1em;
}


.btn-primary {
  border-color: transparent;
}

.btn-default:hover, .btn-default:active, .btn-default:focus,
.btn-info:hover,
.btn-info:active,
.btn-info:focus {
  background: #282e3c;
  color: #ffffff;
}

.btn-primary:hover,
.btn-primary:active,
.btn-primary:focus {
  background: #E6870D;
  color: #ffffff!important;
}


.btn-lg{
	font-size: 16px;
line-height: 1.7;
}


/*gridのgutter調整　　row　に＋追加する*/

.row-0{
    margin-left:0px;
    margin-right:0px;
     }
.row-0 div{
        padding-right:0px;
        padding-left:0px;
    }


/* Header */
.page-header {
  text-align: center;
}
.page-header .page-heading {
  font-weight: bold;
  font-size: 45px;
  line-height: 57px;
}
@media screen and (max-width: 768px) {
  .page-header .page-heading {
    font-size: 30px !important;
    line-height: 42px !important;
  }
}
.page-header .page-heading-sub {
  color: #777;
  font-size: 18px;
  line-height: 30px;
}

#page-footer {
  padding: 3em 0 1.5em 0;
	color: #604C3F;
	z-index: 10002;
	position: relative;
	font-family: 'Lato', arial, sans-serif!important;
/*    background-image: url(../img/common/bg-material2.jpg);
	background-size:cover;*/
    background-color: #331C09;
}

#page-footer p {
font-size: 95%;
letter-spacing: 0.05em;
margin-bottom: 5px;
color: #fff;
}

#page-footer p span {
font-size: 145%;
font-weight: bold;
letter-spacing: 0.05em;
margin-bottom: 5px;
color: #fff;
}

@media screen and (max-width: 768px) {
  #page-footer {
    padding: 2em 0;
	    z-index: 104;
  }
}

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

#page-footer p {
font-size: 78%;
letter-spacing: 0.05em;
margin-bottom: 5px;
color: #fff;
}
}




/* Accordions */
.page-accordion .panel-title > a:hover {
  border-bottom: none !important;
}
.page-accordion .panel-heading {
  background: transparent;
  position: relative;
  cursor: pointer;
}
.page-accordion .panel-heading .accordion-toggle {
  color: #604C3F;
}
.page-accordion .panel-heading .accordion-toggle:after {
  font-family: 'themify';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #2e2e2e !important;
  position: absolute;
  content: "\e622";
  right: 15px;
  top: 16px;
}
.page-accordion .panel-heading.collapsed .accordion-toggle {
  color: #2e2e2e !important;
}
.page-accordion .panel-heading.collapsed .accordion-toggle:after {
  font-family: 'themify';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #2e2e2e !important;
  position: absolute;
  content: "\e61a";
  right: 15px;
  top: 16px;
}

/* Progress Bars */
.progress {
  height: 15px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
  border-radius: 30px;
}

.progress-bar {
  box-shadow: none;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
  border-radius: 30px;
}
.progress-bar.progress-bar-default {
  background: #604C3F;
}
.progress-bar.progress-bar-success {
  background: #00e195;
}
.progress-bar.progress-bar-info {
  background: #0bbff2;
}
.progress-bar.progress-bar-warning {
  background: #ffd042;
}
.progress-bar.progress-bar-danger {
  background: #e02745;
}

/* Social Icons */
.page-social-icons {
  text-align: center;
  padding: 0;
  margin: 0 0 2em 0;
}
.page-social-icons li {
  list-style: none;
  display: inline;
  display: inline-block;
}
.page-social-icons li a {
  padding: 0 10px;
  border-bottom: none !important;
}
.page-social-icons li i {
  font-size: 30px;
}

/* Pricing Tables */
@media screen and (max-width: 992px) {
  .page-pricing-table-1 .page-pricing-table-item {
    margin-bottom: 20px !important;
  }
}
@media screen and (max-width: 768px) {
  .page-pricing-table-1 .page-pricing-table-item {
    margin-bottom: 20px !important;
    float: left;
    width: 100%;
  }
}
.page-pricing-table-1 .page-pricing-table-item .page-pricing-table-item-body,
.page-pricing-table-1 .page-pricing-table-item .page-pricing-table-item-heading {
  text-align: center;
  float: left;
  width: 100%;
  padding: 1em 2em;
}
.page-pricing-table-1 .page-pricing-table-item .page-pricing-table-item-heading {
  background: #604C3F;
  color: #ffffff;
}
.page-pricing-table-1 .page-pricing-table-item .page-pricing-table-item-heading h3 {
  font-size: 70px;
  position: relative;
  display: inline-block;
}
.page-pricing-table-1 .page-pricing-table-item .page-pricing-table-item-heading h3 sup {
  position: absolute;
  top: 2px;
  margin-left: -7px;
}
.page-pricing-table-1 .page-pricing-table-item .page-pricing-table-item-heading h3 sup, .page-pricing-table-1 .page-pricing-table-item .page-pricing-table-item-heading h3 span {
  font-size: 14px;
  text-transform: uppercase;
}
.page-pricing-table-1 .page-pricing-table-item .page-pricing-table-item-heading p {
  color: rgba(255, 255, 255, 0.6);
  font-size: 14px;
  letter-spacing: 3px;
  text-transform: uppercase;
}
.page-pricing-table-1 .page-pricing-table-item.page-best-offer .page-pricing-table-item-heading {
  background: #604C3F;
  color: #ffffff;
}
.page-pricing-table-1 .page-pricing-table-item .page-pricing-table-item-body {
  border: 2px solid #ccc;
  border-top: none;
}
.page-pricing-table-1 .page-pricing-table-item .page-pricing-table-item-body ul {
  padding: 0;
  margin: 0;
}
.page-pricing-table-1 .page-pricing-table-item .page-pricing-table-item-body ul li {
  list-style: none;
  padding: 0;
  margin: 0 0 10px 0;
}
.page-pricing-table-1 .page-pricing-table-item.page-best-offer .page-pricing-table-item-body {
  border: 2px solid #604C3F;
  border-top: none;
}

/* Nav Links */
.page-nav-links ul {
  padding: 0;
  margin: 0;
}
.page-nav-links ul li {
  padding: 0;
  margin: 0 0 .5em 0;
  list-style: none;
}
.page-nav-links ul li.active a {
  color: #2e2e2e;
  border-bottom: 2px solid #604C3F;
}

/* Owl Override Style */
.owl-carousel .owl-controls,
.owl-carousel-posts .owl-controls {
  margin-top: 0;
}

.owl-carousel .owl-controls .owl-nav .owl-next,
.owl-carousel .owl-controls .owl-nav .owl-prev,
.owl-carousel-posts .owl-controls .owl-nav .owl-next,
.owl-carousel-posts .owl-controls .owl-nav .owl-prev {
  top: 50%;
  margin-top: -29px;
  z-index: 9999;
  position: absolute;
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.owl-carousel-posts .owl-controls .owl-nav .owl-next,
.owl-carousel-posts .owl-controls .owl-nav .owl-prev {
  top: 24%;
}

.owl-carousel .owl-controls .owl-nav .owl-next,
.owl-carousel-posts .owl-controls .owl-nav .owl-next {
  right: -40px;
}
.owl-carousel .owl-controls .owl-nav .owl-next:hover,
.owl-carousel-posts .owl-controls .owl-nav .owl-next:hover {
  margin-right: -10px;
}

.owl-carousel .owl-controls .owl-nav .owl-prev,
.owl-carousel-posts .owl-controls .owl-nav .owl-prev {
  left: -40px;
}
.owl-carousel .owl-controls .owl-nav .owl-prev:hover,
.owl-carousel-posts .owl-controls .owl-nav .owl-prev:hover {
  margin-left: -10px;
}

.owl-carousel-posts .owl-controls .owl-nav .owl-next {
  right: -50px;
}
@media screen and (max-width: 768px) {
  .owl-carousel-posts .owl-controls .owl-nav .owl-next {
    right: 0px;
  }
}

.owl-carousel-posts .owl-controls .owl-nav .owl-prev {
  left: -50px;
}
@media screen and (max-width: 768px) {
  .owl-carousel-posts .owl-controls .owl-nav .owl-prev {
    left: 0px;
  }
}

.owl-carousel-posts .owl-controls .owl-nav .owl-next i,
.owl-carousel-posts .owl-controls .owl-nav .owl-prev i,
.owl-carousel-fullwidth .owl-controls .owl-nav .owl-next i,
.owl-carousel-fullwidth .owl-controls .owl-nav .owl-prev i {
  color: #2e2e2e;
}
.owl-carousel-posts .owl-controls .owl-nav .owl-next:hover i,
.owl-carousel-posts .owl-controls .owl-nav .owl-prev:hover i,
.owl-carousel-fullwidth .owl-controls .owl-nav .owl-next:hover i,
.owl-carousel-fullwidth .owl-controls .owl-nav .owl-prev:hover i {
  color: #000000;
}

.owl-carousel-fullwidth.page-light-arrow .owl-controls .owl-nav .owl-next i,
.owl-carousel-fullwidth.page-light-arrow .owl-controls .owl-nav .owl-prev i {
  color: #ffffff;
}
.owl-carousel-fullwidth.page-light-arrow .owl-controls .owl-nav .owl-next:hover i,
.owl-carousel-fullwidth.page-light-arrow .owl-controls .owl-nav .owl-prev:hover i {
  color: #ffffff;
}

@media screen and (max-width: 768px) {
  .owl-theme .owl-controls .owl-nav {
    display: none;
  }
}

.owl-theme .owl-controls .owl-nav [class*="owl-"] {
  background: none !important;
}
.owl-theme .owl-controls .owl-nav [class*="owl-"] i {
  font-size: 30px;
}
.owl-theme .owl-controls .owl-nav [class*="owl-"] i:hover, .owl-theme .owl-controls .owl-nav [class*="owl-"] i:focus {
  background: none !important;
}
.owl-theme .owl-controls .owl-nav [class*="owl-"]:hover, .owl-theme .owl-controls .owl-nav [class*="owl-"]:focus {
  background: none !important;
}

.owl-theme .owl-dots {
  position: absolute;
  bottom: 0;
  width: 100%;
  text-align: center;
}

.owl-carousel-fullwidth.owl-theme .owl-dots {
  bottom: 0;
  margin-bottom: -2.5em;
}

.owl-theme .owl-dots .owl-dot span {
  width: 15px;
  height: 15px;
  background: #604C3F;
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
  border: 2px solid transparent;
}
.owl-theme .owl-dots .owl-dot span:hover {
  background: none;
  border: 2px solid #604C3F;
}

.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {
  background: none;
  border: 2px solid #604C3F;
}

/* Image Alignment */
img.page-align-right {
  float: right;
  margin: 0 0 .5em 1em;
}
@media screen and (max-width: 480px) {
  img.page-align-right {
    width: 100%;
    margin: 0 0 .5em 0;
  }
}
img.page-align-left {
  float: left;
  margin: 0 1em .5em 0;
}
@media screen and (max-width: 480px) {
  img.page-align-left {
    width: 100%;
    margin: 0 0 .5em 0;
  }
}
img.page-align-center {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

a > img.page-align-right {
  float: right;
  margin: 0 0 .5em 1em;
}
@media screen and (max-width: 480px) {
  a > img.page-align-right {
    width: 100%;
    margin: 0 0 .5em 0;
  }
}
a > img.page-align-left {
  float: left;
  margin: 0 1em .5em 0;
}
@media screen and (max-width: 480px) {
  a > img.page-align-left {
    width: 100%;
    margin: 0 0 .5em 0;
  }
}
a > img.page-align-center {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/*slick*/
body {
  position: relative;
}

.slick-slide, .slick-slide::before, .caption {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.slick-slide, .slick-slide::before, .caption2 {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.slick-slide::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


.full-wide-slider {
  position: relative;
  width: 100%;
  /*height: 42vw;　height: 38vw;*/
  min-height: 8vw;
  /*margin-bottom: 50px;*/
  opacity: 0;
  visibility: hidden;
  transition: all 1.2s ease;
  margin-top: 5em;

}
.full-wide-slider.slick-initialized {
  opacity: 1;
  visibility: visible;
}

.slick-slide {
  position: relative;
  height: 53vw; /*height: 43vw;*/
}
	

.slick-slide::before {
/*  background-color: rgba(0,0,0,0.23);
  opacity: .3;*/
background-color: rgb(0, 0, 0);
opacity: .6;
  z-index: 1;
}
.slick-slide video {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.slick-slide iframe {
  position: relative;
  pointer-events: none;
}
.slick-slide figure {
  position: relative;
  height: 100%;
}
.slick-slide .slide-image {
  opacity: 0;
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: all .8s ease;
}
.slick-slide .slide-image.show {
  opacity: 1;
}
.slick-slide .image-entity {
  width: 100%;
  height: auto;
  opacity: 0;
}
.slick-slide .loading {
  position: absolute;
  top: 44%;
  left: 0;
  width: 100%;
	text-align: center;
	color: #efefef;
}
.slick-slide .slide-media {
  -webkit-animation: slideOut 0.4s cubic-bezier(0.4, 0.29, 0.01, 1);
          animation: slideOut 0.4s cubic-bezier(0.4, 0.29, 0.01, 1);
}
.slick-slide.slick-active {
  z-index: 1;
}
.slick-slide.slick-active .slide-media {
  -webkit-animation: slideIn 2.4s cubic-bezier(0.4, 0.29, 0.01, 1);
          animation: slideIn 2.4s cubic-bezier(0.4, 0.29, 0.01, 1);
}
.slick-slide.slick-active .caption {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  transition: all 0.7s cubic-bezier(0.32, 0.34, 0, 1.62) 0.6s;
}
.slick-slide.slick-active .caption2 {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  transition: all 0.7s cubic-bezier(0.32, 0.34, 0, 1.62) 0.6s;
}

.caption {
  position: absolute;
  top: 44%;
  left: 5%;
  text-align: left;
  padding: 20px;
  	font-family: "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
  color: #fff;
  margin: 0;
  font-size: 28px;
  letter-spacing: .02em;
  opacity: 0;
  z-index: 1;
  transition: all .3s ease;
  -webkit-transform: translateY(100px);
          transform: translateY(100px);
}
.caption2 {
  position: absolute;
  top: 54%;
  left: 5%;
  text-align: left;
  padding: 20px;
  color: #fff;
  margin: 0;
  font-size: 14px;
  letter-spacing: .02em;
  opacity: 0;
  z-index: 1;
  transition: all .3s ease;
  -webkit-transform: translateY(100px);
          transform: translateY(100px);
	max-width: 45%;
}

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

.full-wide-slider {
  margin-top: 2.5em;
}
 }   
    
@media screen and (max-width: 768px) {

.full-wide-slider {
    position: relative;
    width: 100%;
  height: 50%;
  height: 50vh!important;	
    min-height: 50vw;
    /*margin-bottom: 50px;*/
    padding-bottom: 50px;
    opacity: 0;
    visibility: hidden;
    transition: all 1.2s ease;
  margin-top: 2.5em;
}
.slick-slide {
/*	margin-top: 12vw;
	height: 80vh;*/
		margin-top: 0;
	min-height: 58vh;
	}
	
#slick-slide01,
#slick-slide02
	{
	margin-top: 0!important;
	height: 100vh;
	}

	
.caption {
  position: absolute;
  top: 2%;
  left: 5%;
  padding: 10px;
  color: #fff;
  margin: 0;
  font-size: 21px;
}
.caption2 {
  position: absolute;
  top: 8%;
  left: 5%;
  text-align: left;
  padding: 15px;
  color: #fff;
  margin: 0;
  font-size: 14px;
max-width: 90%;
}
.slick-slide video {
 display: block;
  position: absolute;
  background-attachment: fixed; /*中央揃え*/
  background-position: center center; /*// positionも中央に。*/
  background-size: cover; /*画面サイズに応じてサイズを可変するように設定*/
  left: 0;
  min-height: 80%!important;
  min-height: 80vh!important;
  min-width: 100%!important;
  min-width: 100vw!important;
  position: absolute;
  top: 10px;
  /*// z-indexは調整
  z-index: 1;*/
	margin-top: 40vw;
	margin-left: 80vw;
}
	
.slick-slide .slide-image {
    opacity: 0;
    height: 100%;
    background-size: cover;
    background-position: center;
    transition: all .8s ease;
}
	
.slick-slide .slide-image img {
     width: 100%;
    min-height: 80%!important;
  min-height: 80vh!important;
  min-width: 100%!important;
  min-width: 100vw!important;
  object-fit: cover!important;
}

	.slide-img_txt-top{
		margin-top: 27vw !important;
		}
	.slide-img_txt-top2{
		margin-top: 27vw!important;
		}
	
	
.slick-dots {
    position: absolute;
    bottom: -25px;
    list-style: none;
    display: block;
    text-align: center;
    padding: 0;
    margin: 0;
    width: 100%;
}	
	
.btn-sm, .btn-group-sm > .btn {
    font-size: 15px;
}
}	

@media screen and (max-width: 414px) {
	
.full-wide-slider {
    position: relative;
    width: 100%;
  height: 100%;
/*  height: 80vh!important;	
    min-height: 80vw;*/
    margin-bottom: 50px;
    opacity: 0;
    visibility: hidden;
    transition: all 1.2s ease;
}
    
.slick-slide {
/*	margin-top: 12vw;
	height: 80vh;*/
	margin-top: 0;
	height: 60vh;
  background-position: center right; /*// positionも中央に。*/
}
    
	
#slick-slide01,
#slick-slide02
	{
	margin-top: 0!important;
	height: 100vh;
	}

	
.caption {
  position: absolute;
  top: 12%;
  left: 5%;
  padding: 10px;
  color: #fff;
  margin: 0;
  font-size: 21px;
}
.caption2 {
  position: absolute;
  top: 18%;
  left: 5%;
  text-align: left;
  padding: 15px;
  color: #fff;
  margin: 0;
  font-size: 14px;
max-width: 90%;
}
.slick-slide video {
 display: block;
  position: absolute;
  background-attachment: fixed; /*中央揃え*/
  background-position: center center; /*// positionも中央に。*/
  background-size: cover; /*画面サイズに応じてサイズを可変するように設定*/
  left: 0;
  min-height: 80%!important;
  min-height: 80vh!important;
  min-width: 100%!important;
  min-width: 100vw!important;
  position: absolute;
  top: 10px;
  /*// z-indexは調整
  z-index: 1;*/
	margin-top: 40vw;
	margin-left: 80vw;
}
	
.slick-slide .slide-image {
    opacity: 0;
    height: 100%;
    background-size: cover;
    background-position: center;
    transition: all .8s ease;
}
	
.slick-slide .slide-image img {
     width: 100%;
    min-height: 80%!important;
  min-height: 80vh!important;
  min-width: 100%!important;
  min-width: 100vw!important;
  object-fit: cover!important;
}

	.slide-img_txt-top{
		margin-top: 40vw!important;
		}
	.slide-img_txt-top2{
		margin-top: 40vw!important;
		}
	
.slick-dots {
    position: absolute;
    bottom: -25px;
    list-style: none;
    display: block;
    text-align: center;
    padding: 0;
    margin: 0;
    width: 100%;
}	
	
.btn-sm, .btn-group-sm > .btn {
    font-size: 15px;
}	
    
    

}
@media screen and (max-width: 375px) {
.caption {
  font-size: 19px;
}
.slick-dots {
    position: absolute;
    bottom: -25px;
    list-style: none;
    display: block;
    text-align: center;
    padding: 0;
    margin: 0;
    width: 100%;
}	
}	
@media screen and (max-width: 320px) {	
.caption {
  font-size: 17px;
}
.caption2 {
  font-size: 12px;
}
.slick-dots {
    position: absolute;
    bottom: -20px;
    list-style: none;
    display: block;
    text-align: center;
    padding: 0;
    margin: 0;
    width: 100%;
}	
}

	
	
.slick-dots li button::before {
	color: #eee;
}
.slick-dots li.slick-active button::before {
	color: #fff;
}
	
@-webkit-keyframes slideIn {
  from {
    -webkit-filter: blur(15px);
            filter: blur(15px);
  }
  to {
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}

@keyframes slideIn {
  from {
    -webkit-filter: blur(15px);
            filter: blur(15px);
  }
  to {
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
@-webkit-keyframes slideOut {
  from {
    -webkit-filter: blur(0);
            filter: blur(0);
  }
  to {
    -webkit-filter: blur(15px);
            filter: blur(15px);
  }
}
@keyframes slideOut {
  from {
    -webkit-filter: blur(0);
            filter: blur(0);
  }
  to {
    -webkit-filter: blur(15px);
            filter: blur(15px);
  }
}

/*====================================================================
.other_thumbnailArea
====================================================================*/

.content-ttl {
font-weight: 600;
text-align: center;
font-size: 24px;
padding-bottom: .5em;
color: #604C3F;
letter-spacing: 0.03em;
}
.content-ttl span {
display: block;
margin-top: .2em;
color: #FFF;
font-size: 50%;
font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
font-weight: 100;
letter-spacing: 0.09em;
}

.content-ttl2 {
    font-weight: 600;
    text-align: center;
font-size: 26px;
	padding-bottom: 1.2em;
	color: #FFF;
	padding-top: .7em;
	letter-spacing: 0.05em;
}
.content-ttl2 span {
    font-weight: 400;
    display: block;
    margin-top: .2em;
    color: #FFF;
    font-size: 50%!important;
    font-family: 'Yu Gothic UI','ＭＳ ゴシック','ヒラギノ角ゴシック','Hiragino Sans','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
    position: relative;
    top: 0;
    left: 0;
    padding-bottom: 1em;
}
.content-ttl2 span::before{
    position: absolute;
    bottom: 0;
    left: 50%;
    content: '';
    width: 50px;
    border-bottom: 4px solid #FFF;
    transform: translate(-50%);
}

.content-ttl2-2 {
    font-weight: 600;
    text-align: center;
font-size: 20px;
	padding-bottom: 1.2em;
	color: #FFF;
	padding-top: .7em;
	letter-spacing: 0.05em;
}


.content-ttl3 {
    font-weight: 600;
    text-align: center;
font-size: 26px;
	padding-bottom: 1.2em;
	color: #331C09;
	padding-top: .7em;
	letter-spacing: 0.05em;
}
.content-ttl3 span {
    font-weight: 400;
    display: block;
    margin-top: .2em;
    color: #331C09;
    font-size: 50%!important;
    font-family: 'Yu Gothic UI','ＭＳ ゴシック','ヒラギノ角ゴシック','Hiragino Sans','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
    position: relative;
    top: 0;
    left: 0;
    padding-bottom: 1em;
}
.content-ttl3 span::before{
    position: absolute;
    bottom: 0;
    left: 50%;
    content: '';
    width: 50px;
    border-bottom: 4px solid #331C09;
    transform: translate(-50%);
}

.content-ttl4 {
    font-weight: 600;
    text-align: left;
font-size: 26px;
	padding-bottom: .2em;
	color: #331C09;
	padding-top: .7em;
	letter-spacing: 0.05em;
}

@media screen and (max-width: 834px) {
.content-ttl4 {
text-align: center;
}    
}  


@media screen and (max-width: 428px) {
.content-ttl2-2 {
    font-weight: 600;
    text-align: left;
font-size: 115%;
color: #FFF;
padding-bottom: .5em;
padding-top: .7em;
	letter-spacing: 0.05em;
    line-height: 1.6em !important;
}
.content-ttl3 {
    font-weight: 600;
    text-align: center;
font-size: 22px;
	padding-bottom: 1.2em;
	color: #331C09;
	padding-top: .7em;
	letter-spacing: 0.05em;
}
}


@media screen and (max-width: 414px) {
	
.content-ttl {
font-weight: 600;
text-align: center;
font-size: 20px;
padding-bottom: .5em;
}
	
.content-ttl span {
display: block;
margin-top: .2em;
font-size: 65%;
}	
.content-ttl2 {
font-weight: 100;
text-align: center;
font-size: 22px;
padding-bottom: .5em;
padding-top: .7em;
line-height: 1.5em !important;
font-weight: bold;
}
.content-ttl2 span {
    display: block;
    margin-top: .2em;
    font-size: 78%;
	line-height: 15px;
	padding-top: 10px;
}
	
.content-ttl3 {
font-weight: 600;
text-align: center;
font-size: 21px;
padding-bottom: .5em;
}
.content-ttl3 {
font-weight: 600;
text-align: center;
font-size: 21px;
padding-bottom: .5em;
}	
    
.content-ttl4 {
    font-weight: 600;
text-align: center;
font-size: 22px;
	padding-bottom: 0;
	color: #331C09;
	padding-top: .7em;
	letter-spacing: 0.05em;
}
    
}

@media screen and (max-width: 320px) {
.content-ttl3 {
  font-weight: 600;
  text-align: center;
  font-size: 115%;
  padding-bottom: .2em;
} 
  }  
	
/*　 下ボーダー　グレー線　*/
.under-boder_sl {
  padding-bottom: .5em;
  border-bottom: 2px solid #ccc;
}


/* footer area*/


.footer_phone a{
	font-size: 220%!important;
	font-weight: bold;
	color: #706F75;
}
.rounded_wh p { 
		margin-bottom: 0px;
		color: #FFF;
		font-size: 110%!important;
}	

.rounded_wh p a:hover{
color: #FAF4DD!important;
}

@media only screen and ( max-width : 1199px ) {
.footer_phone a{
	font-size: 180%!important;
}	
.rounded_wh p { 
		font-size: 90%!important;
}	
}	
@media only screen and ( max-width : 876px ) {
}  


/*kasou hd img*/
.ttl-layer{
display: flex;
justify-content: center;
align-items: center;
text-align: center;
margin-top: 5em;
margin-right: auto;
margin-left: auto;
height: 25em; /*15em*/
}
.layer-txt{
color: #000;
letter-spacing: 0.2rem;
padding: 9rem 0 2rem 0;
}

@media screen and (max-width: 991px){	
.ttl-layer{
display: flex;
justify-content: center;
align-items: center;
text-align: center;
margin-top: 0;
margin-right: auto;
margin-left: auto;
height: 15em;
}
}


.bg-ttl {
    background-color: rgba(255,255,255,0.71);
    padding: 20px 20px 0 20px;
    margin: 20px 0;
    min-width: 220px;
    text-align: center;
    /*font-family: 'Courgette', cursive!important;*/
    font-family: 'Yu Gothic UI','Arial','ヒラギノ角ゴ StdN','Hiragino Kaku Gothic StdN','ヒラギノ角ゴシック','Hiragino Sans',sans-serif!important;
	font-size: 22px;
	line-height: 1.3em;
    color: #857179!important;
    	font-weight: bold;
}

.bg-ttl h2 {
	font-size: 100%;
	line-height: 1.7;
}
.bg-ttl span {
  display: block;
  font-size: .6em;
 padding-bottom: .9em;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: bold;
	color: #857179!important;
}
.nowrap {
white-space: nowrap;
}

@media screen and (max-width: 1199px){	
  .layer-txt{
    font-size: 2rem;
    padding: 4rem 0;
  }	
	.bg-ttl {
    margin: 60px 0 20px 0;
}
}

@media screen and (max-width: 991px){
  .layer-txt{
    font-size: 2rem;
    padding: 5rem 0 .5rem 0;
  }	
.bg-ttl {
    margin: 50px 0;
}
  }	
@media only screen and (max-width:768px){
.layer-txt{
   font-size: 1.4rem;
    padding-top: 4rem;
    padding-right: 0;
    padding-left: 0;
    padding-bottom: 0rem;
  }
  }		

@media only screen and (max-width: 480px) {
.layer-txt {
    font-size: 1.4rem;
    padding-top: 4rem;
    padding-right: 0;
    padding-left: 0;
    padding-bottom: 3rem;
}
.bg-ttl {
	width: 100%;
    margin: 30px 0 0px 0;
	font-size: 20px;
	line-height: 1.4em;
	padding-bottom: 5px;
}
.bg-ttl span {
  display: block;
  margin-bottom: .5em;
  font-size: .6em;
  padding-bottom: .5em;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: bold;
	color: #575757!important;
}
  }	

@media only screen and (max-width: 414px) {
.bg-ttl {
    background-color: rgba(255,255,255,0.61);
    min-width: 200px;
    text-align: center;
	font-weight: bold;
	font-size: 18px;
	line-height: 1.3em;
}

.bg-ttl span {
  display: block;
  font-size: .6em;
 padding-bottom: .4em;
}
  }	


/*　下層上部イメージ*/

.concept-bg {
  background: URL("../img/concept/bg-header.jpg");
  background-size:cover;
}
.studio-bg {
  background: URL("../img/studio/bg-header.jpg");
  background-size:cover;
}
.instructor-bg {
  background: URL("../img/instructor/bg-header.jpg");
  background-size:cover;
}
.menu-bg {
  background: URL("../img/menu/bg-header.jpg");
  background-size:cover;
}
.beginner-bg {
  background: URL("../img/beginner/bg-header.jpg");
  background-size:cover;
}
.contact-bg {
  background: URL("../img/contact/bg-header.jpg");
  background-size:cover;
}


.common-bg {
  background: URL(../img/common/bg-material2.jpg);
  background-size:cover;
}


@media only screen and (max-width: 428px) {
.instructor-bg {
  background-position: left 50% bottom 10%;
}
  .menu-bg {
  background-position: left 50% bottom 10%;
}  
.studio-bg {
    background-position: center top 40px;
}   
.beginner-bg {
      background-position: center top 40px;
}    
  }  


/*　TOP特徴交互　*/

.floated_top{
	position:relative;
}
.floated_top .left{
	width:50%;
	float:left;
}
.floated_top .right{
	width:50%;
	float:right;
}
.floated_top .box{
	text-align:left;
	overflow:hidden;
	padding-bottom:20px;
}
.floated_top .left .box{
	margin:0 0 0 auto;
}
.floated_top .right .box{
	margin:0 auto 0 0;
}
.floated_top .left.text{
	padding-left: 2%;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	min-height: 400px;
}
.floated_top .right.text{
	padding-right:4%;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	min-height: 400px;
}
.floated_top .box .desc{
	padding-top:20px;
	padding-bottom:20px;
}
.floated_top .left .box .desc{
	padding-left:3%;
	padding-right:8%;
}
.floated_top .right .box .desc{
	padding-right:3%;
	padding-left:8%;
}
.floated_top .image img{
	display:block;
	width:100%;
	filter:alpha(opacity=0);
	-moz-opacity:0;
	-khtml-opacity:0;
	opacity:0;
	min-height: 360px; /*560px;*/
}
.floated_top .image .img_bg{
	background-position:center center;
	background-repeat:no-repeat;
	background-size:cover;
	position:absolute;
	top:0;
	width:50%;
	height:100%;
}
.floated_top .left .image .img_bg{
	left:0;
}
.floated_top .right .image .img_bg{
	right:0;
}
.article .floated_top .box h3{
	text-align:left;
	padding-top:30px;
	padding-bottom:4px;
	position:relative;
	font-size:171.43%;
	padding-right:8%;
	padding-left:3%;
}
.article .floated_top .right .box h3{
	padding-left:8%;
	padding-right:3%;
}

.article .floated_top .right .box h3:before{
	left:8%;
	margin-left:-35px;
}
.article .floated_top .box h4{
	padding-right:8%;
	padding-left:3%;
	text-align:left;
	padding-bottom:8px;
	padding-top: 5%;
}
.article .floated_top .right .box h4{
	padding-left:8%;
	padding-right:3%;
	padding-top: 5%;
}

#two-divisions .floated_top .box p{
font-size: 95%;
line-height: 200%;
display: block;
padding-bottom: 0px;
text-align: left;
padding-top: 0;
max-width: 100%;
}

.ud-box_top {
   margin-top: 12%;
}


@media screen and (max-width: 1199px){
	.floated_top .image img{
	display:block;
	width:100%;
	filter:alpha(opacity=0);
	-moz-opacity:0;
	-khtml-opacity:0;
	opacity:0;
	min-height: 460px;
}
}	


@media screen and (max-width: 768px){
	
		.ud-box_top {
    margin-top: 10%;
}
	
	.floated_top .left{
		float:none;
		clear:both;
		width:100%;
	}
	.floated_top .right{
		float:none;
		clear:both;
		width:100%;
	}
	.floated_top .right.text,
	.floated_top .left.text{
		padding:0;
		min-height: 100%;
	}
	.floated_top .image{
		position:relative;
	}
	.floated_top .image img{
		display:block;
		min-height: 530px;
	}
	
	
	.floated_top .image .img_bg{
		/*display:none;*/
		width:100%;
	}
	.floated_top .text .box{
		padding-left:25px;
		padding-right:25px;
		padding-bottom:15px;
	}
	.article .floated_top .right .box h3:before,
	.article .floated .box h3:before{
		left: 15px;
		top: 12px;
		width: 42px;
	}
	.article .floated_top .right .box h3,
	.article .floated_top .box h3{
		font-size:135.71%;
		padding-left:0;
		padding-right:0;
		padding-top:25px;
		padding-bottom:2px;
	}
	.article .floated_top .right .box h4,
	.article .floated .box h4{
		padding-left:0;
		padding-right:0;
		padding-top:0;
		padding-bottom:6px;
	}
	
	
	.floated_top .right .box .desc,
	.floated_top .left .box .desc{
		padding-left:0;
		padding-right:0;
		padding-top:12px;
		padding-bottom:0;
	}
	.article .floated_top .box h4{
			text-align: center!important;
	}


#two-divisions .floated_top .box p{
font-size: 90%;
line-height: 200%;
display: block;
padding-bottom: 0px;
text-align: left;
padding-top: 0;
max-width: 100%;
}
	
	
.floated_top .box .desc{
	padding-top:20px;
	padding-bottom:50px;
}
	.floated_top .right .box .desc{
	padding-right:3%;
	padding-left:3%;
}	
}

@media only screen and (max-width : 414px) {
	.ud-box_top {
    margin-top: 10%;
}
		.floated_top .text .box{
		padding-left:10px;
		padding-right:10px;
		padding-bottom:10px;
	}
	
	.article .floated_top .right .box h3:before,
	.article .floated_top .box h3:before{
		text-align: center;

	}
	.article .floated_top .right .box h3,
	.article .floated_top .box h3{
		text-align: center;
		line-height: 30px;
	}
/*	.lr-area .floated_top .right .box h3:before,
	.lr-area .floated_top .box h3:before{
		text-align: center;

	}*/
	.floated_top .right .box h3,
	.floated_top .box h3{
		text-align: center;
		line-height: 30px;
	}
	
.floated_top .right .box .desc {
padding-right: 0;
padding-left: 0;
}

	.floated_top .image img{
		display:block;
		min-height: 340px;
	}	
}
/* -------------------------------- 
 concept-area
-------------------------------- */

.ud-box {
    margin-top: 20%;
}


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

.lr-cap {
	font-size: 23px;
    margin-bottom: 16px;
    line-height: 1.5;
    font-weight: 300;
	margin-bottom: 20px;
	color: #331C09;
    font-weight: bold;
}

.floated{
	position:relative;
}
.floated .left{
	width:50%;
	float:left;
}
.floated .right{
	width:50%;
	float:right;
}
.floated .box{
	text-align:left;
	overflow:hidden;
	padding-bottom:20px;
}
.floated .left .box{
	margin:0 0 0 auto;
}
.floated .right .box{
	margin:0 auto 0 0;
}
.floated .left.text{
	padding-left:4%;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	min-height: 500px;
}
.floated .right.text{
	padding-right:4%;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	min-height: 500px;
}
.floated .box .desc{
	padding-top:20px;
	padding-bottom:20px;
    line-height: 2;
}
.floated .left .box .desc{
	padding-left:3%;
	padding-right:8%;
}
.floated .right .box .desc{
	padding-right:3%;
	padding-left:8%;
}
.floated .image img{
	display:block;
	width:100%;
	filter:alpha(opacity=0);
	-moz-opacity:0;
	-khtml-opacity:0;
	opacity:0;
	min-height: 560px;
}
.floated .image .img_bg{
	background-position:center center;
	background-repeat:no-repeat;
	background-size:cover;
	position:absolute;
	top:0;
	width:50%;
	height:100%;
}
.floated .left .image .img_bg{
	left:0;
}
.floated .right .image .img_bg{
	right:0;
}
.article .floated .box h3{
	text-align:left;
	padding-top:30px;
	padding-bottom:4px;
	position:relative;
	font-size:171.43%;
	padding-right:8%;
	padding-left:3%;
}
.article .floated .right .box h3{
	padding-left:8%;
	padding-right:3%;
}

.article .floated .right .box h3:before{
	left:8%;
	margin-left:-35px;
}
.article .floated .box h4{
	padding-right:8%;
	padding-left:3%;
	text-align:left;
	padding-bottom:8px;
	padding-top: 5%;
}
.article .floated .right .box h4{
	padding-left:8%;
	padding-right:3%;
	padding-top: 5%;
}

#two-divisions .floated .box p{
font-size: 95%;
line-height: 200%;
display: block;
padding-bottom: 0px;
text-align: left;
padding-top: 0;
max-width: 100%;
}


	
.p-button {
    background: #FA7E0A;
        background-color: rgba(255,110,47,1.00);
    box-sizing: border-box;
    color: #fff;
    display: inline-block;
    font-size: 14px;
    line-height: 50px;
    text-align: center;
    min-width: 200px;
    height: 50px;
    padding: 0 15px;
}

a.p-button:hover {
    color: #FCFF57!important;
	background: #07913A;
}
.p-main-btn {
    align-self: center;
}

.tp2em{	
padding-top: 2em!important;
}
.bp2em{	
padding-bottom: 2em!important;
}

.desc2{	
font-size: 95%!important;
}	

@media screen and (max-width: 1199px){
	.floated .image img{
	display:block;
	width:100%;
	filter:alpha(opacity=0);
	-moz-opacity:0;
	-khtml-opacity:0;
	opacity:0;
	min-height: 460px;
}
}	




@media screen and (max-width: 991px){
    
	.lr-cap {
    text-align: center;
}
	
		.ud-box {
    margin-top: 5%;
}
	
	.floated .left{
		float:none;
		clear:both;
		width:100%;
	}
	.floated .right{
		float:none;
		clear:both;
		width:100%;
	}
	.floated .right.text,
	.floated .left.text{
		padding:0;
		min-height: 100%;
	}
	.floated .image{
		position:relative;
	}
	.floated .image img{
		display:block;
		min-height: 410px;
	}
	
	
	.floated .image .img_bg{
		/*display:none;*/
		width:100%;
	}
	.floated .text .box{
		padding-left:25px;
		padding-right:25px;
		padding-bottom:15px;
	}
	.article .floated .right .box h3:before,
	.article .floated .box h3:before{
		left: 15px;
		top: 12px;
		width: 42px;
	}
	.article .floated .right .box h3,
	.article .floated .box h3{
		font-size:135.71%;
		padding-left:0;
		padding-right:0;
		padding-top:25px;
		padding-bottom:2px;
	}
	.article .floated .right .box h4,
	.article .floated .box h4{
		padding-left:0;
		padding-right:0;
		padding-top:0;
		padding-bottom:6px;
	}
	
	
	.floated .right .box .desc,
	.floated .left .box .desc{
		padding-left:0;
		padding-right:0;
		padding-top:12px;
		padding-bottom:0;
	}
	.article .floated .box h4{
			text-align: center!important;
	}


	
#two-divisions .floated .box p{
font-size: 90%;
line-height: 200%;
display: block;
padding-bottom: 0px;
text-align: left;
padding-top: 0;
max-width: 100%;
}
	
	
.floated .box .desc{
	padding-top:20px;
	padding-bottom:50px;
    line-height: 1.5;
}

	
/**/.desc2{	
padding-right: 3%;
padding-left: 3%;
}	

	.floated .right .box .desc{
	padding-right:3%;
	padding-left:3%;
}	
}

@media only screen and (max-width : 428px) {
	.ud-box {
    margin-top: 5%;
}
	
	.lr-cap {
	font-size: 120%;
    margin-bottom: 16px;
    line-height: 1.5;
    font-weight: 600;
	margin-bottom: 15px;
    text-align: center;
}

	
		.floated .text .box{
		padding-left:10px;
		padding-right:10px;
		padding-bottom:10px;
	}
	
	.article .floated .right .box h3:before,
	.article .floated .box h3:before{
		text-align: center;

	}
	.article .floated .right .box h3,
	.article .floated .box h3{
		text-align: center;
		line-height: 30px;
	}

	.floated .right .box h3,
	.floated .box h3{
		text-align: center;
		line-height: 30px;
	}
	
.floated .right .box .desc {
padding-right: 0;
padding-left: 0;
}
	
	.desc2{	
padding-right: 0;
padding-left: 0;
}
.desc2{	
font-size: 100%!important;
}	
	
	
	.floated .image img{
		display:block;
		min-height: 300px;
	}	
}


.frame-bd2 {
    padding-top: 1.5em;
    padding-right: 1.5em;
    padding-left: 1.5em;
    padding-bottom: 1em;
    border: 2px solid #eee;
    margin-bottom: 20px;
}



/*********************************************************************
 店舗情報
********************************************************************/
.desc_pf{
	padding-left:320px;
	padding-top:50px;
	padding-bottom:70px;
}
.desc_pf table{
	border-collapse:collapse;
	width:100%;
	border-bottom:solid 1px #B5B5B5;
	letter-spacing: 0.05em;
}

.desc_pf table tr th {
  background-color: #EEEEEE1A;
  padding: 15px 20px 15px 20px;
      color: #fff;
}
.desc_pf table th {
    font-size: 90%;
  color: #604C3F;
    text-align: left;
    vertical-align: middle;
    padding: 15px 10px;
        padding-bottom: 15px;
    min-width: 120px;
  border-top: solid 1px #d7d7d7;
  font-weight: normal;
}
.desc_pf table td{
	font-size: 90%;
	text-align:left;
	vertical-align:middle;
  padding: 15px 20px 15px 20px;
  border-top: solid 1px #d7d7d7;
      color: #fff;
}

.desc_pf table td a{
	color: #C4E2DF;
	text-decoration:underline;
}
.desc_pf table td a:hover{
	color: #77A295;
}
.desc_pf{
		padding:0;
	}
.desc_pf table{
		border-bottom: solid 1px #d7d7d7;
		margin-top:20px;
	}
.desc_pf .hidden table{
		border-top:none;
		margin-top:0;
	}
.desc_pf table tr{
		padding:10px 0;
	}

.desc_pf ul{
	padding-left: 0;
 	display: table;
	margin-left: 15px;
}

.tel a {
font-size: 160%!important;
font-weight: bold;
letter-spacing: 0.15em;
}

.tel a {
color: #F5A924;
text-decoration:none!important;
}


/* SMARTPHONES SIZE */
	
@media only screen and (max-width:540px){

.desc_pf th,
.desc_pf td{
		width: 100%;
		display: block;
		border-top: none;
    }
.desc_pf table th{
	text-align: left;
	vertical-align: middle;
	padding: 15px 10px;
	width: 100%;
	border: initial;
}
.desc_pf table tr th {
	border: initial;
    padding: 10px 20px 10px 20px;
}	
.desc_pf table td{
	text-align:left;
	vertical-align:middle;
	padding:15px 10px 15px 10px;
	border:initial;
}
.desc_pf table{
	border-collapse:collapse;
	width:100%;
	border-bottom:initial;
}	
}



/*====================================================================
　二重枠フレーム
====================================================================*/

.bdr01 {
width: 100%;
margin: 0 auto;
padding: 30px 30px 0px 30px;
text-align: center;
border: 2px solid #fff;
}

.bdr02 {
  width: 100%;
  margin: 0 auto;
  padding: 30px 30px 0px 30px;
  text-align: center;
  border: 8px double #000;
}

.concept-tt {
font-size: 175%;
color: #fff!important;
	font-family: "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
	font-weight: 700;
	margin-top: 1em;
}
.bdr01 p {
  color: #fff!important;
}

@media only screen and (max-width : 414px) {
.concept-tt {
font-size: 135%;
}
}


/*====================================================================
スマホ下部に固定メニュー
====================================================================*/

#sp-foot_nav { 
	display:none; 
}
@media only screen and (max-width: 767px) {
	#sp-foot_nav { 
		display:block; 
		z-index:1030; 
		width:100%; 
		height:60px; 
		position:fixed; 
		bottom:0; 
	}
	#sp-foot_nav { 
		background:rgba(255,255,255,0.7); 
		border-top:1px solid #e1e1e1; 
	}
	#sp-foot_nav .ftNavBtn { 
		float:left; width:31%; 
		height:55px; 
		margin:2px 1%; 
	}
	#wrap_all { 
		padding-bottom:60px;
	} 
}

/* ボタンデザイン */
.blueButton .webfontIcon { 
	font-size:20px; 
	line-height:24px; 
	font-weight:normal; 
}
.blueButton {
	background-color: #604C3F;
	display:inline-block;
	cursor:pointer;
	color:#ffffff;
	text-decoration:none;
	font-size:13px;
	line-height:22px;
	font-weight:bold;
	width:100%;
	height:100%;
	text-align:center;
	vertical-align:middle;
	padding: 7px;
	font-family: "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
}
.blueButton:hover {
background: linear-gradient(to bottom, #BF3F38 5%, #604C3F 100%);
  background-color: rgba(0, 0, 0, 0);
background-color: #604C3F;
text-decoration: none;
color: #FFF !important;
}
.blueButton:active { position:relative; top:1px; }


/* footer area */
.ft-tel{
	margin-top: -3em;
}

	.ft-logsize{
        max-width: 150px;
        margin-bottom: 10px;
}

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

    
    
.ft-tel{
	margin-top: -2.0em;
}

}	
@media screen and (max-width: 414px){
	
	.ft-tel{
	margin-top: 1em;
}
	.ft-logsize{
		max-width: 110px;
}
}

/* メニュー一覧 */

.frame-bd0{
	border: 2px solid #000;
	margin-bottom: -2px;
}
.frame-br2{
	border-right: 1px solid #CBCBCB;
}

@media screen and (max-width: 786px){
.frame-br2{
	border-right: none;
	border-bottom: 1px solid #eee;
}
}
	
.menu-ttl {
    font-weight: 600;
    font-size: 22px;
    padding-bottom: .2em;
	padding-top: .6em;
    font-family: "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
    color: #A79119;
    letter-spacing: 0.09em;
}

.menu-ttl span {
    font-weight: 600;
    font-size: 12px;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
    color: #FFF;
    letter-spacing: 0.09em;
	background-color: #000;
	border-radius: 30px;
	padding: 10px;
	margin-left: 10px;
	vertical-align:20%;
}


.menu_pad { 
	padding: 15px 25px 15px 25px!important;
}	
.menu_pad  p { 
font-size: 90%!important;
}	

@media screen and (max-width: 414px){
.frame-bd0{
	border: 1px solid #eee;
	margin-bottom: 20px;
}
.menu_pad { 
	padding: 15px 10px 15px 10px!important;
}	

}


/*メニュー料金　*/
.menulist-price{
	background-color: #000;
	color: #FFF;
	text-align: center;
	padding: 10px 10px;
	font-size: 120%;
	font-family: "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
}

.menulist-price2{
padding: 5px 20px;
font-size: 150%;
letter-spacing: 0.03rem;
margin: 1em 0 1em 0;
font-family: 'Poppins', sans-serif, "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体";
border-bottom: 1px solid #2c2b33;
text-align: center;
}
.menulist-price2 span{
padding-left: 15px;
font-size: 50%;
}
.menulist-price3{
background-color: #000;
color: #FFED89; /*#FBFF7C　#F7DCC8;*/
padding: 5px 20px;
/*font-weight: bold;*/
font-size: 115%;
letter-spacing: 0.03rem;
margin: 3em 0 2em 0;
text-align: center;
}
.price-list .f_bold { 
padding: .2em .75em;
background-color: #EEE;
border-radius: 20px;
margin-top: 0.5em;
margin-bottom: 0.3em;
letter-spacing: 0.05rem;
} 
.price-list li { 
padding-left: 1em;
}



.precautions { 
border: 4px solid #eee;
padding: 1em 1.2em;
margin-bottom: 3em;
}
.precautions li { 
margin: 1em;
}

.precautions li span{ 
color: #E62D30;
/*font-weight: bold!important;*/
	font-size: 120%!important;
}

.precautions2 { 
/*border: 2px solid #604C3F;
padding: 1em 1.2em;
margin-bottom: 3em;
background-color: rgba(247,220,200,0.53);*/
border: 2px solid #000;
padding: 1em 1.2em;
margin-bottom: 3em;
background-color: rgba(11, 11, 11, 0.80);
color: #fff;
}

.precautions2 p { 
color: #fff;
}


.precautions2 li { 
margin: 1em;
}

.precautions2 li span{ 
color: #FFED89;
font-size: 110%!important;
}
.precautions2 a { 
	color: #FBFF7C;
}

.precautions2 a:hover { 
	color: #F5FF00;
}	
	
.bt_sol{
	border-top: 1px solid #717171;
	margin-top: 10px;
	padding-top: 10px;
	font-weight: normal!important;
	font-size: 90%;
	text-align: left!important;
	margin-bottom: 0;
}


.menulist-price4{
padding: 5px 20px;
font-weight: bold;
font-size: 125%;
letter-spacing: 0.03rem;
/*margin: .5em 0 2em 0;*/
text-align: center;
/*border-bottom: 4px solid #eee;*/
	border-bottom: solid 1px #000;    	/* 内側の線になる一本線の枠線をひく*/
	outline: solid 4px #000;    /* 外側の線になる5pxの一本線の枠線をひく*/
	outline-offset: 2px;        /* 内側の線になる一本線の枠線をひく*/
	margin: 10px 6px 36px 6px;            	/* outlineの値＋outline-offsetの値*/
}


.privilege{
border: 4px solid #000;
padding: 1em 1.2em;
margin-top: 1.4em;
background: #606060;
color: #fff;
}

.privilege h4{
font-size: 110%;
font-weight: bold;
}
.privilege p{
color: #fff!important;
margin-bottom: 0!important;
}
.privilege p span {
color: #EEE092!important;
font-size: 130%;
margin-bottom: 0!important;
font-weight: bold;
letter-spacing: 0.05em;
}


table.price-list {
	width:100%;
	border-collapse: collapse;
}
table.price-list thead th {
	/*background: #E1E1E1;*/
	padding:10px 15px;
	border-bottom:#aaa7a3 solid 1px;
/*	border-top:#aaa7a3 solid 1px;*/
}
table.price-list thead th:first-child {
}
table.price-list thead th:last-child {
}
table.price-list tbody th {
	background:#FFF;
	padding:10px 15px;
	border-bottom:#FFF solid 1px;
	vertical-align:middle;
    font-weight: normal;
}
table.price-list tbody tr:last-child th {
	border-bottom: 1px dotted #a0a0a0;
}
table.price-list tbody td {
	background:#FFF;
	padding:20px 15px;
	border-bottom: 1px dotted #a0a0a0;
	vertical-align:middle;
    font-family: 'Inter', sans-serif;
    font-weight: 500;
}
table.price-list tbody td p {
margin-bottom: 0!important;
text-align: right;
}


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

table.price-list tbody tr:last-child th {
	font-size: 110%;
	margin-top: -1px;
}

table.price-list thead {
	/*display:none;*/
}
table.price-list tbody th {
	/*display:block;*/
}
table.price-list tbody td {
	/*display:block;*/

}
table.price-list tbody td::before {
	content: attr(label);
	float: left;
	clear:both;
	font-weight:bold;
}

}

@media screen and (max-width: 414px) {
.list-ultxt{
	list-style-type: square;
	margin:0 1em;
}	
	
.price-list span { 
display: block;
	font-size: 90%;
}

table.price-list tbody td p {	
margin-bottom: 0!important;
}	
table.price-list tbody td p {
	padding-left:1em;
}
table.price-list tbody td {
	padding:10px 10px;
}
table.price-list tbody th {
  background: #FFF;
  padding: 10px 5px;
  border-bottom: #FFF solid 1px;
  vertical-align: middle;
  font-weight: normal;
}
}
@media screen and (max-width: 320px) {

table.price-list tbody tr:last-child th {
	font-size: 90%;
}
.menulist-price2 span {
  padding-left: 0px;
  font-size: 50%;
  display: block;
}
table.price-list tbody th {
  background: #FFF;
  padding: 10px 5px;
  border-bottom: #FFF solid 1px;
  vertical-align: middle;
  font-weight: normal;
}
}


/*div要素全体にリンクをつけるために必要な要素*/
.linkbox2 {
    position: relative;
}
.linkbox2 a {
    position: absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
}
/* 以下見た目をわかりやすくするための設定*/
.linkbox2 {
}
.linkbox2 a:hover{/* マウスオーバー時に色変更*/
	opacity: 0.5;
	background-color: hsla(0,0%,100%,0.60);
}
.menulist-org {
    background-color: #000;
    color: #FFF;
    text-align: center;
    padding: 20px 10px;
    font-weight: bold;
    border-radius: 10px;
    font-size: 120%;
    margin-bottom: 0;
}

.shop-txt_bk {
    background-color: #000;
}

.shop-txt {
	margin: 15px;
	color: #fff!important;
} 

.shop-txt h4 {
	font-size: 21px;
	font-family: "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
} 

.shop-txt p {
	color: #fff!important;
	font-size: 90%;
} 


.pt_10p {
	padding-top:10%;
} 
.pt_5p {
	padding-top:5%;
} 

@media only screen and (max-width:991px){
.pt_10p {
	padding-top:2%;
} 
.pt_5p {
	padding-top:2%;
} 	
}	
	

/* ---------- map  ---------- */


#map{
	width:100%;
	height:420px;
	background-color:#fafafa;
	margin-bottom:30px;
}

.flm-rec{
	background-color: #000;
	border-radius: 20px;
	color: #fff;
	padding: 5px 15px;
	font-size: 90%!important;
}

/* ---------- FT SNS  ---------- */
.social-icons > a {
  padding: 4px 10px;
  color: #9B8C74;
}
.social-icons > a i {
  font-size: 30px;
}
.social-icons > a:hover, .social-icons > a:focus, .social-icons > a:active {
  text-decoration: none;
  color: #604C3F; /*#D5CEC3;*/
}


/* ---------- ページトップリンク  ---------- */

.pagetop {
  height: 50px;
  width: 50px;
  position: fixed;
  right: 20px;
  bottom: -25px;
  background: #fff;
  border: solid 2px #000;
  border-radius: 50%;
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 2;
  cursor: pointer;
}
.pagetop__arrow {
  display: block;
  height: 10px;
  width: 10px;
  border-top: 3px solid #000;
  border-right: 3px solid #000;
  transform: translateY(20%) rotate(-45deg);
}

/* ---------- スライドロゴ  ---------- */

.slide_box{
position: relative;
margin-bottom: 0;
padding-bottom: 0;
background-color: #331C09;
}

.slide_logo img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.slide_logo img {
  position: relative;
  width: 320px;
  height: 100%;
 margin-top: -28em;
}

@media screen and (max-width: 1080px){
.slide_logo img {
  position: relative;
  width: 280px;
  height: 100%;
  margin-top: -26em;
}  
}    
    
@media screen and (max-width: 993px){
.slide_logo img {
  /*top: 7em;*/
  margin-bottom: -3em;
  top: 3em;
}
.slide_logo img {
  width: 260px;
}
}
@media screen and (max-width: 768px){
.slide_logo img {
  /*top: 2em;*/
}
.slide_logo img {
  width: 230px;
}
}

@media screen and (max-width: 667px){
.slide_logo img {
  margin-top: -16em;
}
}


@media screen and (max-width: 428px){
.slide_logo img {
  max-width: 230px;
  max-height: 100%;
  margin-top: -22em;
  top: -1em;
}  
}  
@media screen and (max-width: 390px){
.slide_logo img {
  max-width: 200px;
  max-height: 100%;
  margin-top: -20em;
}    
} 
@media screen and (max-width: 375px){
.slide_logo img {
  max-width: 200px;
  max-height: 100%;
  margin-top: -20em;
}    
} 
@media screen and (max-width: 320px){
.slide_logo img {
  max-width: 180px;
  max-height: 100%;
  margin-top: -16em;
}  
}     

/* ---------- ナビロゴ  ---------- */

/* PC 992 以上で表示 */
@media screen and (min-width: 992px){
.sp991{
display: none;  
}
}

/* SP 991 以下で表示 */
@media screen and (max-width: 991px){
.pc992{
display: none;
}
}

/* -------------------------------- 
 案内丸ボタンリンク
-------------------------------- */

#check-btn{
    height: 0px;
    display: flex;
  justify-content: flex-end;
    align-items: center;
}


/*初回体験レッスン*/
#check_bt01{
z-index: 9999;
/*height: 200px;*/
width: 360px;
}
#check_bt01 img {
width: 200px;
height: 100%;
border-radius: 50%;
}    
#check_bt01 a {
transition: all 0.3s;
}

#check_bt01 img:hover {

	transition:0.3s;
    background-color: #fff;
}


@media screen and ( max-width : 834px ) {
#check_bt01{
width: 260px;
}
#check_bt01 img {
width: 160px;
height: 100%;
border-radius: 50%;
} 
}	

@media screen and (max-width: 428px){
#check_bt01 {
  width: 70%;
}
}
@media screen and (max-width: 375px){
#check_bt01 {
  width: 72%;
}
}
@media screen and (max-width: 320px){

#check_bt01 {
  width: 75%;
  margin-top: 2em;
}
}


/*　concept　*/

.content-frame {
background-color: #FFF !important;
}

.content-frame h3 {
  font-size: 130%;
  margin-top: 3.5em;
  margin-bottom: 0px;
  padding: 1em;
  line-height: 1.5em;
  font-weight: bold;
  color: #331C09;
  border-top: 8px solid #9B8E90;
}

.content-frame p {
  font-size: 95%;
  padding-top: 0;
  padding-right: 1em;
  padding-left: 1em;
  padding-bottom: .6em;
  line-height: 1.5em;
  margin-bottom: 0px;
  color: #000;
}

@media only screen and (max-width : 1119px) {
.content-frame h3 {
    font-size: 150%;
    margin-top: 3.5em;
	margin-bottom: 0px;
    padding: 1em;
	line-height: 1.5em;
}	
}	
	
@media only screen and (max-width : 991px) {
.content-frame h3 {
    font-size: 145%;
	margin-top: 0em;
	margin-bottom: 0px;
	background-color: initial;
	text-align: center;
    padding-right: 1.5em;
    padding-left: 1.5em;
}
.content-frame p {
    font-size: 105%;
    background-color: initial;
    line-height: 1.5em;
    margin: 0 1em;
	
}
	
.img-wrap img {
    width: 100%;
}	
}

@media only screen and (max-width : 767px) {
.content-frame h3 {
    font-size: 125%;
	margin-top: 0em;
	margin-bottom: 0px;
	background-color: initial;
	text-align: center;
}	
}

.img-wrap {
overflow: hidden;
}

.img-wrap img {
    max-width: 800px;
    filter: drop-shadow(5px 5px 5px #42252557);
    
}	

.dp_shadow{
  box-shadow: 10px 10px 4px #42252557 ;
}


.ttl-gr {
  padding: .8em .75em .6em .75em;
	background-color: #83BB5C;
	color: #fff;
	text-align: center;
	font-size: 21px;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.2em;
}
.ttl-gr span {
	color: #fff;
	font-size: 16px;
	font-weight: 200;
}

.ttl-gr2 {
  padding: .8em .75em .6em .75em;
	color: #83BB5C;
	font-size: 131%;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.2em;
	  padding-bottom: .5em;
  border: 1px solid #83BB5C;
	max-width: 280px;
	margin-bottom: 15px;
}
@media only screen and (max-width : 441px) {

.ttl-gr {
  padding: .8em .75em .6em .75em;
	background-color: #83BB5C;
	color: #fff;
	text-align: center;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.2em;
}
.ttl-gr span {
	color: #fff;
	font-size: 16px;
	font-weight: 200;
}
.ttl-gr2 {
  padding: .8em .75em .6em .75em;
	color: #83BB5C;
	font-size: 17px;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.2em;
	  padding-bottom: .5em;
  border: 1px solid #83BB5C;
	max-width: 100%;
	margin-bottom: 15px;
}	
	}

/* -------------------------------- 
　トレーナー
-------------------------------- */

.bd_top {
  border-bottom: 2px solid #857179;
  padding: .5em .1em;
  position: relative;
}
/*.bd_top::after {
  position: absolute;
  bottom: -2px;
  left: 0;
  z-index: 2;
  content: '';
  width: 20%;
  height: 2px;
  background-color: #FFF;
}*/

.prof_cat {
  padding: 1.2em 0 1.2em 1.5em;
}

.prof_cat ul li {
  line-height: 1.5;
  padding: 0.5em 0;
}


.prof_cat p {
position: relative;
padding: 0.5em 1em 0.5em 1em;
margin-bottom: 10px;
line-height: 1.5;
background: #857179;
vertical-align: middle;
color: #fff;
border-radius: 20px;
margin-left: -1.5em;
}

.author {
  width: 100%;
  float: left;
  margin-bottom: 5em;
}

.author h3 {
margin: 0 0 10px 0;
/*font-weight: 300;*/
font-family: 'Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','ヒラギノ明朝 ProN','Hiragino Mincho ProN',sans-serif;
}
.author h3 span {
font-size: 70%!important;
display: inline!important;
}

.author li {
font-family: 'Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','ヒラギノ明朝 ProN','Hiragino Mincho ProN',sans-serif;
}

.author .author-inner {
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  position: relative;
  width: 40%;
  height: 400px;
  float: left;
  background-image: url("../img/instructor/person.jpg")
}

@media screen and (max-width: 480px) {
 
  .author .author-inner {
    width: 100%;
    margin-bottom: 10px;
  }
    
    .author {
  width: 100%;
  float: left;
  margin-bottom: 1em;
}
    
}
.author .desc {
  width: 60%;
  float: left;
  padding-left: 50px;
}
@media screen and (max-width: 480px) {
  .author .desc {
    width: 100%;
    padding-left: 0;
  }
}
.author .desc span {
  font-size: 13px;
  display: block;
  margin-bottom: 10px;
  letter-spacing: 1px;
}

/*-----＼　／------*/


.slash-open {
  font-size: 160% !important;
  font-weight: bold!important;
    color: #86BDBF!important;  /*#84CCC9 #77A295*/
}

.slash-open {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.slash-open::before,
.slash-open::after {
	content: '';
	width: 3px;
	height: 50px;
	background-color: #84CCC9;  /*#77A295*/
}

.slash-open::before {
	margin-right: 40px;
	transform: rotate(-35deg)
}
.slash-open::after {
	margin-left: 40px;
	transform: rotate(35deg)
}

.button01 a {
position: relative;
display: flex;
justify-content: space-around;
align-items: center;
margin: 0 auto;
max-width: 940px;
padding: 10px 25px;
color: #fff;
transition: 0.3s ease-in-out;
font-weight: 600;
background: #857179;
border-radius: 50px;
border: 0.2rem solid #fff;
box-shadow: 0.2rem 0.2rem 0px 0.1rem #cccccc;
font-size: 25px;
}

.button01 a:hover {
  transform: translate3d(0.2rem, 0.2rem, 0);
  box-shadow: none;
  opacity: 1;
  transition: all 0.2s;
}
.button01 a:after {
content: '';
width: 15px;
height: 15px;
border-top: 3px solid #fff;
border-right: 3px solid #fff;
transform: rotate(45deg) translateY(-50%);
position: absolute;
top: 50%;
right: 30px;
border-radius: 1px;
transition: 0.3s ease-in-out;
}

@media screen and (max-width: 428px) {
    
.slash-open {
  font-size: 120% !important;
}
    
.button01 a {
  border-radius: 20px;
  font-size: 16px!important;
}

 }   



.bg-green {
  background-color: #86BDBF;  /*#84CCC9　#77A295*/
  text-align: center;
  padding: 10px;
  color: #fff;
  font-weight: bold;
  font-size: 100%;
}
@media screen and (max-width: 428px) {
.bg-green {
  font-size: 85%;
}  
  } 
@media screen and (max-width: 320px) {
.bg-green {
  font-size: 75%;
  padding: 10px 3px;
}  
  }  


/* -------------------------------- 
　menu
-------------------------------- */

.tbl-menu th {
  padding: 10px;
  vertical-align: top;
  white-space: nowrap!important;
}
.tbl-menu td {
  padding: 10px;
  font-weight: bold;
  font-size: 110%;
    color: #331C09;
}

.menu-cat {
  background: #86BDBF; /*84CCC9 #77A295;*/
  color:  #fff; /* #9F9193;*/
  padding: 10px 20px;
  border-radius: 20px;
    text-align: center;
}

.menu-info{
    background: #857179;
    border-radius: 25px;
    padding: 5px 10px;
    text-align: center;
}

.rule-list{
    margin: 0 2em;
    font-family: 'Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','ヒラギノ明朝 ProN','Hiragino Mincho ProN',sans-serif;
}
.rule-list2{
    margin: 0;
    font-family: 'Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','ヒラギノ明朝 ProN','Hiragino Mincho ProN',sans-serif;
}
.rule-list2 {
    list-style-type: none;
    padding-left: 0;
}

.rule-list2 li{
    position: relative;
    padding-left: 15px;
  }
 
.rule-list2 li:before {
    content: "";
    position: absolute;
    top: .4em;
    left: 0;
    width: 7px;
    height: 7px;
    background-color: #857179;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
  }

.lgreen_flm{
    padding: 10px;
    text-align: center;
    background-color: #86BDBF;  /*#84CCC9 #C4E2DF75;*/
    border-radius: 10px;
    font-size: 150%;
    font-weight: bold;
    letter-spacing: 1px;
    margin-bottom: 1.5em;
    color: #fff;
}

@media screen and (max-width: 428px) {
  .last .tbl-menu td:last-child {
    width: 100%;
  }
  .tbl-menu {
    width: 100%;
  }
  .tbl-menu th,
  .tbl-menu td {
　　border-bottom: none;
    display: block;
    width: 100%;
  }
.tbl-menu td {
  padding: 10px 20px;
  font-weight: bold;
  font-size: 110%;
  color: #331C09;
}
.rule-list2{
    margin: 0 0;
}
}

.menu-price tr {
   border-top: 1px solid #CBCBCB;   
} 
.menu-price tr:last-child {
    border-bottom: 1px solid #CBCBCB;   
  }

.menu-price th {
  background-color: #EEEEEEF0;
  color: #604C3F;
  padding: 2em 20px;
  font-weight: 500;
white-space: nowrap;
}
.menu-price td {
　border: solid 1px #ccc;
  padding: 2em 20px;
}

.menu-price td:nth-child(1),
.menu-price td:nth-child(2){
    white-space: nowrap;
}
 .menu-price td:nth-child(2) {
  text-align: right;  
}

.significant{
color: #F05A24;
}
.size80{
  font-size: 80%;
}

 .menu-price td:nth-child(2) span {
}

  .last .menu-price th:last-child {
    border-bottom: solid 1px #ccc;
    width: 100%;
  }

 
@media screen and (max-width: 640px) {
    
.menu-price th {
  background-color: #EEEEEEF0;
  color: #604C3F;
  padding: 1em 20px;
  font-weight: 500;
  white-space: nowrap;
}
.menu-price th {
   border-bottom: 1px solid #fff;   
} 
    
.menu-price td {
  padding: 1em 20px;
}

    
.menu-price tr:last-child {
    border-bottom: none;
  }
.menu-price  {
    width: 100%;
  }
.menu-price  th,
.menu-price  td {
　　border-bottom: none;
    display: block;
    width: 100%;
  }
}

/* -------------------------------- 
　beginner
-------------------------------- */


/* 5 Columns */
.col-15, .col-xs-15, .col-sm-15, .col-md-15, .col-lg-15 {
	position: relative;
	min-height: 1px;
	padding-right: 10px;
	padding-left: 10px;
}
@media (min-width: 768px) {
.col-xs-15,
.col-sm-15 {
	width: 20%;
	flex: 0 0 20%;
}
}
@media (min-width: 992px) {
.col-md-15 {
	width: 20%;
	flex: 0 0 20%;
}
}
@media (min-width: 1200px) {
.col-lg-15 {
	width: 20%;
	flex: 0 0 20%;
}
}
/* -------------------------------- 
　contact
-------------------------------- */

.contact-tbl > thead > tr > th
.contact-tbl > thead > tr > td,
.contact-tbl > tbody > tr > th,
.contact-tbl > tbody > tr > td,
.contact-tbl > tfoot > tr > th,
.contact-tbl > tfoot > tr > td {
  padding: 18px;
  line-height: 1.42857;
  vertical-align: top;
  border-top: 1px solid #fff;
}

.contact-tbl2 > thead > tr > th
.contact-tbl2 > thead > tr > td,
.contact-tbl2 > tbody > tr > th,
.contact-tbl2 > tbody > tr > td,
.contact-tbl2 > tfoot > tr > th,
.contact-tbl2 > tfoot > tr > td {
  padding: 18px;
  line-height: 1.42857;
  vertical-align: top;
  border: 1px solid #eee;
    background-color: #fff;
}
.contact-tbl2  th{
    width: 30%;
}

#formWrap {
	width:100%;
	margin:0 auto;
	color:#555;
	line-height:120%;
	font-size:90%;
}
table.formTable{
	width:100%;
	margin:0 auto;
	border-collapse:collapse;
}
table.formTable tr:last-child {
    border-bottom: 1px solid #fff;
  }

table.formTable tr td #name {
	width: 100%;
}
table.formTable tr td #zip {
	width: 100%;
}
table.formTable tr td #address {
	width: 100%;
}

table.formTable tr td #tel {
	width: 100%;
}

table.formTable tr td #email {
	width: 100%;
}
table.formTable tr td #email2 {
	width: 100%;
}

table.formTable tr td #homepage {
	width: 100%;
}
table.formTable tr td #comment {
	width: 100%;
}

.error_messe{
    color: #AE4949;
}

form input[type="submit"]{
	height: 40px;
}
form input[type="reset"]{
	height: 40px;
}

form input[type="button"] {
	height: 40px;
}

@media screen and (max-width:810px) {
    
.contact-tbl2  th{
    width: 100%;
}
    
.contact-tbl2 > tbody > tr > td{
background-color: rgba(255,255,255,0.41);
}
    
#formWrap {
	width: 100%;
	margin:0 auto;
}
table.formTable th, table.formTable td {
	width:auto;
	display:block;
}
table.formTable th {
	margin-top:5px;
	border-bottom:0;
    background:#efefef;
}
form input[type="text"], form textarea {
	width: 100%;
	padding:5px;
	font-size:110%;
	display:block;
}
form input[type="submit"], form input[type="reset"], form input[type="button"] {
	display:block;
	width:100%;
	height:50px;
}
form input[type="button"] {
	height: 50px!important;
}
    
form input[type="reset"]{
	margin-bottom: 1em;
}
form input[type="submit"]{
	margin-bottom: 1em;
}  
}

/*====================================================================
マウスオーバーでモノクロからカラーに
====================================================================*/

.img_wrap img{
  filter: grayscale(100%);
  transition-duration: 0.5s;
}
.img_wrap img:hover{
  filter: grayscale(0);
  transition-duration: 0.5s;
}

.copy {
  margin-bottom: 10px !important;
margin-top: 2em;
padding-top: 10px;
	text-align: center!important;
	font-size: 77%!important;
    color: #000!important;
}
.copy a {
 color: #000!important;
}
.copy a:hover {
 color: #484848!important;
}


@media screen and (max-width: 414px) {
.copy {
    /*margin-bottom: 5.5em !important;*/
    margin-top: 2em;
    padding-top: 10px;
    text-align: center !important;
    font-size: 77% !important;
}
}