@charset "utf-8";
/* CSS Document */

@import url("https://p.typekit.net/p.css?s=1&k=nni6hxo&ht=tk&f=25769.25770.25772&a=683690&app=typekit&e=css");

@font-face {
font-family:"goudy-old-style";
src:url("https://use.typekit.net/af/cd9965/0000000000000000000179a7/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff2"),url("https://use.typekit.net/af/cd9965/0000000000000000000179a7/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff"),url("https://use.typekit.net/af/cd9965/0000000000000000000179a7/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:400;
}

@font-face {
font-family:"goudy-old-style";
src:url("https://use.typekit.net/af/6afdd3/0000000000000000000179a8/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff2"),url("https://use.typekit.net/af/6afdd3/0000000000000000000179a8/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff"),url("https://use.typekit.net/af/6afdd3/0000000000000000000179a8/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:700;
}

@font-face {
font-family:"goudy-old-style";
src:url("https://use.typekit.net/af/aadb84/0000000000000000000179aa/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("woff2"),url("https://use.typekit.net/af/aadb84/0000000000000000000179aa/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("woff"),url("https://use.typekit.net/af/aadb84/0000000000000000000179aa/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("opentype");
font-display:auto;font-style:italic;font-weight:400;
}

.tk-goudy-old-style { font-family: "goudy-old-style",serif; }

/* fonts */

@font-face {
  font-family: 'Honoka';
  src: url('../font/HonokaMaru_R.woff') format('woff');
}

@font-face {
  font-family: "mplusBlack";
  src: url("../fonts/rounded-x-mplus-2p-black.woff") format('woff');
}
@font-face {
  font-family: "mplusBold";
  src: url("../fonts/rounded-x-mplus-2p-bold.woff") format('woff');
}
@font-face {
  font-family: "mplusHeavy";
  src: url("../fonts/rounded-x-mplus-2p-heavy.woff") format('woff');
}
@font-face {
  font-family: "mplusLight";
  src: url("../fonts/rounded-x-mplus-2p-light.woff") format('woff');
}
@font-face {
  font-family: "mplusMedium";
  src: url("../fonts/rounded-x-mplus-2p-medium.woff") format('woff');
}
@font-face {
  font-family: "mplusRegular";
  src: url("../fonts/rounded-x-mplus-2p-regular.woff") format('woff');
}

@font-face {
  font-family: 'Chango';
  font-style: normal;
  font-weight: 400;
  src: local('Chango Regular'), local('Chango-Regular'), url(https://fonts.gstatic.com/s/chango/v7/2V0cKI0OB5U7WaJCyHe5.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Comfortaa';
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/comfortaa/v19/1Ptsg8LJRfWJmhDAuUs4TYFq.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Josefin Slab';
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/josefinslab/v24/lW-5wjwOK3Ps5GSJlNNkMalnqg6v.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Josefin Slab';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/josefinslab/v24/lW-5wjwOK3Ps5GSJlNNkMalnqg6v.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Josefin Slab';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/josefinslab/v24/lW-5wjwOK3Ps5GSJlNNkMalnqg6v.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
body {
    font-size: 16px;
    color: #1e1e1e !important;
    line-height: 1.5em;
    font-family: 'mplusLight', 'serif' !important;
    vertical-align: middle;
	text-shadow: none;
	
      }

body::before {
	background: url(../img/bgL.png) center left 0% repeat-y,url(../img/bgR.png) center right 0% repeat-y,url(../img/bg003.jpg) no-repeat center center;
	background-size: 30px auto, 30px auto, auto;
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding-bottom: 0;
	content: "";
	z-index: -1;
}

.clearfix:after {
	content: ".";  /* 新しい要素を笹・E*/
	display: block;  /* ブ・礎ク・E戰・彖任迷*/
	clear: both;
	height: 0;
	visibility: hidden;
}

.clearfix {
  min-height: 1px;
}

* html .clearfix {
  height: 1px;
  /*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}
.clear {
	display: block;
	margin: 0px;
	padding: 0px;
	clear: both;
	height: 0px;
	width: 0px;
	visibility:hidden;
	}
/* fix  ff bugs */
div:after, ol:after, form:after, dl:after, ul:after {content:".";display:block;clear:both;visibility:hidden;height:0;overflow:hidden;}
h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
	font-weight: normal;
	padding: 0px;
	margin: 0px;
}
a {
	color: rgba(186,3,15,1);
	text-decoration: none;
}
a:hover {
	color: rgba(125,125,125,0.5) !important;
}
img {
	max-width: 100%;
	vertical-align: bottom !important;
	height: auto;
}
.topTtl {
	background:#222;
	font-size:0.8em;
	color:#fff;
	text-shadow:none;
	text-align:right;
	margin:0;
	padding:0;
}
.video-container {
	position: relative;
	padding-bottom: 56.25%;
	padding-top:30px;
	height: 0;
	overflow: hidden;
	margin: 0.5rem;
}
.video-container video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.video-container iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.fontBlk {
	color: #856f60 !important;
}
.fontRed {
	color: #ef3946 !important;
}
.fontYll {
	/*color: #faf587;*/
	color: #f9e495 !important;
}
.fontBlu {
	color: #55a5eb !important;

}
.fontPink {
	color: #fa73a0 !important;
}
.fontBrown {
	color: #a37e58 !important;
}
.fontMarker {
	background: linear-gradient(transparent 0, #8effa1 0);
	position: relative;
}
.font1 {
	font-size: 1rem !important;
}
.font1-2 {
	font-size: 1.2rem !important;
}
.font1-5 {
	font-size: 1.5rem !important;
}
.font2 {
	font-size: 2rem !important;
}
.font2.5 {
	font-size: 2.5rem !important;
}
.font3 {
	font-size: 3rem !important;
}
.font0-8 {
	font-size: 0.8rem !important;
}
.font0-6 {
	font-size: 0.6rem !important;
}
.font1-2em {
	font-size: 1.2em !important;
}
.font1-5em {
	font-size: 1.5em !important;
}
.font2em {
	font-size: 2em !important;
}
.font0-8em {
	font-size: 0.8em !important;
}
.font0-6em {
	font-size: 0.6em !important;
}
.fontCenter {
	text-align: center;
	display: block;
	margin: 0px auto;
	padding: 0.5rem;
}
.fontRight {
	text-align: right;
	display: block;
	margin: 0px;
	padding: 0.5rem;
}
.fontBlock {
	display: block;
	line-height: normal;
}
.alignRight {
	text-align: right;
}
.alignLeft {
	text-align: left;
}
.lineHeight1-5 {
	line-height: 1.5em;
}
.lineHeight2 {
	line-height: 2em;
}
.lineHeight2-5 {
	line-height: 2.5em;
}
.letterSpacing1 {
	letter-spacing: 1em;
}
.letterSpacing0-5 {
	letter-spacing: 0.5em;
}
.letterSpacingNomal {
    letter-spacing: normal;
}

.borderR50{
	border-radius: 50%;
}
.strike {
	text-decoration: line-through;
}
.under {
	text-decoration: underline;
}
.fontWidth {
	width: 75%;
	margin: 0 auto;
}
.fontWidth50 {
	width: 50%;
	margin: 0 auto;
}
.notes{
	font-size: 0.8em;
	padding-left: 1em;
	color: #666;
	line-height: 1.5em;
}
 
.notes:before{
	content: "※";
}
 
.notes:first-letter{
	margin-left: -1.3em;
}
.center-outer {
	display: table;
	width: 99%;
	text-align: center;
	position: absolute;
	z-index: 999;
	bottom: 5%;
	margin: 0px;
	padding: 0px;
}
.imgCenter {
	display: block;
	text-align: center !important;
}
.imgLeft {
	margin: 5px;
	padding: 0px;
	float: left;
}
.imgRight {
	margin: 5px;
	padding: 0px;
	float: right;
}

.width20 {
	width: 20%;
}
.width30 {
	width: 30%;
}
.width40 {
	width: 40%;
}
.width50 {
	width: 50%;
}
.block {
	display: block !important;
}
.marginB1rem {
	margin-bottom: 1rem !important;
}
.marginB05rem {
	margin-bottom: 0.5rem !important;
}
.marginB2rem {
	margin-bottom: 2rem !important;
}
.marginB3rem {
	margin-bottom: 3rem !important;
}
.marginB5rem {
	margin-bottom: 5rem !important;
}
.marginAuto {
	margin: 0 auto;
}
.mb1em {
  margin-bottom: 1em !important;
}
.mb2em {
  margin-bottom: 2em !important;
}

.mb4em {
  margin-bottom: 4em !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb30-15 {
  margin-bottom: 30px !important;
}

.mb50-30 {
  margin-bottom: 50px !important;
}

.mt0 {
  margin-top: 0 !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}
.mt1em {
  margin-top: 1em !important;
}
.mt2em {
  margin-top: 2em !important;
}
.mt4em {
  margin-top: 4em !important;
}
.padding05{
	padding: 0.5rem !important;
}

iframe {
	border: none;
}


#video-area{
    position: fixed;
    z-index: -1;/*最背面に設定*/
    top: 0;
    right:0;
    left:0;
    bottom:0;
    overflow: hidden;
}

#video {
    /*天地中央配置*/
    position: absolute;
    z-index: -100;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /*縦横幅指定*/
    width: auto;
    height: 100vh;
    /*width:100%;
    height: auto;*/
}

.bgWhite100 {
	background: rgba(252,250,226,1);
}

.btnRed {
	text-align: center;
	background: rgba(239,57,70,0.8);
	border: 1px solid #fff;
	line-height: 2rem;
	display: block;
	border-radius: 0.2rem;
	color: #fff;
	white-space: nowrap;
	padding: 0 0.5rem;
	max-width: 240px;
	margin: 0 auto;
	box-shadow: rgba(0,0,0,0.18) 0 5px 11px 0px, rgba(0,0,0,0.15) 0 4px 15px 0;
}
.btnRed:hover {
	background: rgba(239,57,70,0.5);
	color: rgba(255,255,255,1) !important;
	box-shadow: none;
}
.btnRedInline {
	text-align: center;
	background: rgba(195,5,5,0.8);
	border: 1px solid #fff;
	line-height: 2rem;
	display: inline-block;
	border-radius: 0.2rem;
	color: #fff;
	white-space: nowrap;
	padding: 0 0.5rem;
	
}
.btnRedInline:hover {
	background: rgba(195,5,5,0.5);
	color: rgba(255,255,255,1) !important;
}



.br {
	margin: 0.5rem 0;
	display: block;
	content: "";
}

/* #################HEADER##################### */
#header{
	clear: both;
	border: none;
	background: rgba(0,0,0,1);
	background-size: auto 200px;
	text-shadow: none;
	height: 64px;
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	text-align: center;
	padding: 20px;
	position: relative;
}
#header.HeightMin{
  position: fixed;
    z-index: 999;/*最前面へ*/
  height:64px;
  animation: DownAnime 0.5s forwards;
  background: rgba(0,0,0,0.5);
	background-size: auto 200px;
}

@keyframes DownAnime{
  from {
    opacity: 0;
  transform: translateY(-170px);
  }
  to {
    opacity: 1;
  transform: translateY(0);
  }
}
#header .logo{
	/*height: 56px;*/
	text-align: center;
	width: 100%;
}
.header-brand {
	padding: 0;
	margin: 0 auto;
	display: inline-block;
	text-align:center;
	width: auto;
}
.header-brand img {
	width: auto;
	height: 64px;
}
#header h1{
	margin: 0px;
	padding: 0px;
	line-height: 16px;
	text-align: right;
	background: rgba(0,0,0,1);
	font-size: 0.8em;
	color: #fff;
}
#header .navbar-brand img {
	height: 40px;
	width: auto;
}
#header .menu{
	margin: 0px;
	padding: 0px;
	position: absolute;
	left: 5px;
	top: 5px;
	z-index: 9999;
	background: url(../img/menuIco.png) no-repeat center center,rgba(0,0,0,0.5);
	background-size: 48px;
	text-indent: -9999px;
	height: 48px;
	width: 48px;
}
#header .menu:hover{
	box-shadow: 1px 1px 3px rgba(0,0,0,0.5) inset;
}
#header .shopDeta {
	margin: 0px;
	padding: 0px;
	position: absolute;
	right: 5px;
	top: 8px;
	background: url(../img/phoneIcoH.png) no-repeat center center,rgba(252,250,226,1);
	background-size: 32px;
	text-indent: -9999px;
	height: 48px;
	width: 48px;
	color: rgba(252,250,226,1);
	border-radius: 0.2rem;
}
#header .shopDeta:hover{
	background: url(../img/phoneIco.png) no-repeat center center,rgba(252,250,226,0.5);
	background-size: 32px;
}
#header .shopDeta .add {
	display: none;
}
#header .subtitle {
	position: absolute;
	bottom: 0;
	font-size: 0.8em;
	display: block;
	width:100%;
	text-align: center;
	color: #fff;
}
a.hCall{
	background: rgba(200,0,0,0.8);
}
a.hLine{
	background: rgba(90,230,40,0.8);
}
#header .navbar-nav li a {
    border-bottom: 1px dotted rgba(51,51,51,0.8);
}
#header .navbar-nav li:last-child a {
	border: none;
}
#header .navbar-nav li a:first-letter {
	color: #cdbb99;
}
#header .navbar-nav li a > span {
	display: inline-block;
	float: right;
	font-size: 0.8em;
}

#header .hNav {
	display: none;
	position: absolute;
	bottom: 0px;
	right: 0px;
	width: 100%;
	background: rgba(30,30,30,0.8);
}
#header .hNav ul {
	margin: 0;
	padding: 0;
	list-style: none;
	float: right;
}
#header .hNav ul li {
	float: left;
	margin: 0;
	padding: 0;
}
#header .hNav ul li a {
	position: relative;/*相対位置*/
	padding: 0 0.8em;
	padding-left: 1.2em;/*アイコン分のスペース*/
	line-height: 1.3em;/*行高*/
	font-family: 'Josefin Slab';
	font-weight: 600;
	font-size: 1rem !important;
	display: block;
	margin: 0 !important;
	color: #fcfae2;
}
#header .hNav ul li a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f621";/*アイコンのユニコード*/
  font-weight: 600;
  position: absolute;/*絶対位置*/
  font-size: 0.8em;/*サイズ*/
  left: 0;/*アイコンの位置*/
  top: 0;/*アイコンの位置*/
  color: silver; /*アイコン色*/
}
#header .hNav ul li a span {
	display: none;
	font-size: 0.8em;
	font-family: "mplusRegular";
}

.regDeta {
	margin: 0;
	padding: 0;
	position: absolute;
	right: 5px;
	top: 10px;
	list-style: none;
}
.regDeta li {
	margin: 1px;
	padding: 0;
	float: left;
}
.regDeta li a {
	display: block;
	width: 42px;
	height: 42px;
	line-height: 36px;
	text-align: center;
	border: 1px solid #555;
	color: #555;
	position: relative;
	border-radius: 0.2rem;
	background: rgba(252,250,226,0.8);
}
.regDeta li a span {
	font-size: 0.5rem;
	position: absolute;
	bottom: 0;
	left: 0;
	text-align: center;
	width: 100%;
	line-height: 1.5;
}
/* Global Nav 2023.04.26 */
/*========= ぼかしのためのCSS ===============*/

.mainblur{
  filter: blur(5px);
}


/*========= ナビゲーションのためのCSS ===============*/

#g-nav{
    /*position:fixed;にし、z-indexの数値を小さくして最背面へ*/
    position:fixed;
  z-index: -1;
  opacity: 0;/*はじめは透過0*/
    /*ナビの位置と形状*/
  top:0;
  width:100%;
    height: 100vh;/*ナビの高さ*/
  background:rgba(252,250,226,0.8);/*背景を少し透過させる*/
    /*動き*/
  transition: all 0.3s;
}

/*アクティブクラスがついたら透過なしにして最前面へ*/
#g-nav.panelactive{
  opacity: 1;
  z-index:999;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 9999; 
    width: 100%;
    height: 100vh;/*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav ul {
    display: none;/*はじめは非表示*/
    /*ナビゲーション天地中央揃え*/
    position: absolute;
    z-index: 999;
   /* top:50%;
    left:50%;
    transform: translate(-50%,-50%);*/
    top:10%;
    left:25%;
    width: 50%;
    margin: 0 !important;
    padding-left: 0;
}

#g-nav.panelactive ul {
    display: block;
}
/*リストのレイアウト設定*/

#g-nav li{
  list-style: none;
    text-align: center; 
}

#g-nav li a{
  color: #32190a !important;
  text-decoration: none;
  padding:10px;
  display: block;
  letter-spacing: 0.1em;
  font-weight: 600;
  font-family: 'Josefin Slab';
}
#g-nav li a span{
	display: block;
	font-size: 0.8em;
	font-family: "mplusRegular";
	font-weight:400 !important;
}
/*========= ボタンのためのCSS ===============*/
.openbtn1{
  position:fixed;
    z-index: 9999;/*ボタンを最前面に*/
  top:10px;
  left: 10px;
  cursor: pointer;
    width: 50px;
    height:50px;
}
  
/*×に変化*/  
.openbtn1 span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 2px;
    border-radius: 2px;
  	/*background-color: #32190a;*/
  	background: rgba(252,250,226,1);
    width: 45%;
  }

.openbtn1 span:nth-of-type(1) {
  top:15px; 
}

.openbtn1 span:nth-of-type(2) {
  top:23px;
}

.openbtn1 span:nth-of-type(3) {
  top:31px;
}

.openbtn1.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

.openbtn1.active span:nth-of-type(2) {
  opacity: 0;
}

.openbtn1.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}

/*==================================================
　5-3-6 左から右に線が伸びて背景になる
===================================*/

/*背景の設定*/

#g-nav li a{
    /*背景色の基点とするためrelativeを指定*/
  position: relative;
    /*アニメーションの指定*/
  transition: all .7s;
}

#g-nav li a::after {
  content: '';
    /*絶対配置で線の位置を決める*/
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 0;
    /*背景の形状*/
  width: 0;
  height: 1px;
  background:rgba(30,30,30,1);
  opacity: 0;/*はじめは透過を0に*/
}

/*現在地とhoverの設定*/
#g-nav li.current a::after,
#g-nav li a:hover::after {
    /*背景の形状*/
  width: 100%;
  opacity: 1;
    /*アニメーションの指定*/
  animation:bgappear 0.5s forwards;
}

/*アニメーションで線を伸ばして背景をつける*/
@keyframes bgappear{
  0% {
    width: 0%;
    height: 1px;
  }
  50% {
    width: 100%;
    height: 1px;
  }
  100% {
    width: 100%;
    height: 100%;
    background: rgba(30,30,30,0.5);
  }
}

/*現在地とhoverの設定*/
#g-nav li.current a,
#g-nav li a:hover{
    color: #fafae1 !important;
    /*テキストを最前面へ*/
  z-index: 1;
}
/*========= レイアウトのためのCSS ===============*/

.lead{
  padding: 50px 20px;
}
/* #################MAIN##################### */
#main {
	display: block;
	margin: 0;
	padding: 0em;
	overflow: hidden;
	position: relative;
}
#mainIndex {
	display: block;
	margin: 0rem;
	padding: 0rem;
	overflow: hidden;
}
#main section {
    padding: 0.2rem;
    display: block;
    margin: 0;
    position: relative;
}
#mainIndex section {
	margin: 0 !important;
}
#main section h1 {
	margin-top: 0rem;
	margin-right: 0px;
	margin-bottom: 1.5rem;
	margin-left: 0px;
	font-size: 1.5rem;
	height: 150px;
	width: 100%;
	padding-top: 1rem;
	display: table;
	color: #413623;
}
#main section h1 > div {
	display: table-cell;
	background: url(../img/h1BG.png) no-repeat center center;
	background-size: 240px 180px;
	padding: 0;
	vertical-align: middle;
	text-align: center;
	text-shadow: rgba(0,0,0,0.18) 0 5px 11px, rgba(0,0,0,0.15) 0 4px 15px;
	font-family: 'Josefin Slab';
	font-weight: 400;
	height: 180px;
}
#main section h1 > div > span {
	font-size: 0.8rem;
	line-height: 1.5rem;
	text-shadow: none;
	display: block;
	font-family: 'Honoka';
}

#main section h2, aside h2 {
	border-bottom: solid 2px #aaa;
	position: relative;
	line-height: 1.5em;/*行高*/
	font-size: 1rem;
	margin-bottom: 20px;
	font-family: 'Honoka';
	padding-left: 0.5em;
}
#main section h2:after {
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 2px #1e1e1e;
	bottom: -2px;
	width: 20%;
	left: 0;
}
#main section h3 {
	color: #131313;
  font-size: 1rem;
  letter-spacing: 0.1em;
  border-bottom: 1px dotted #555;
  margin-bottom: 1.5rem;
  padding: 0.5rem;
  width: 100%;
}
/*#main section h3 span {
	font-size: 0.6rem;
	font-family: "mplusRegular";
	text-shadow: none;
	float: right;
	padding-right: 4px;
}*/
#main section h4 {
	color: #666;
  font-size: 1rem;
  letter-spacing: 0.1em;
  margin-bottom: 1rem;
  padding: 0.5rem;
  width: 100%;
}
#main section p, #mainIndex section p {
	margin: 0px;
	padding: 0;
	line-height: none;
}

#main section .callBtn, #mainIndex section .callBtn {
	display: block;
	line-height: 1.2em;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(1, rgba(251,55,94,1)), color-stop(0.00, rgba(251,55,94,0.5)));
	background: -moz-linear-gradient(top, rgba(251,55,94,0.5) 0%, rgba(251,55,94,1) 100%);
	background: -ms-linear-gradient(top, rgba(251,55,94,0.5) 0%, rgba(251,55,94,1) 100%);
	background: linear-gradient(to bottom, rgba(251,55,94,0.5) 0%, rgba(251,55,94,1) 100%);
	text-align: center;
	color: #fff;
	border: solid 1px #fff;
	box-shadow: 1px 1px 3px rgba(0,0,0,0.5);
	max-width: 75%;
	margin-top: 0.5em;
	margin-right: auto;
	margin-bottom: 0.5em;
	margin-left: auto;
	border-radius: 0.5em;
}
#main section .callBtn:hover, #mainIndex section .callBtn:hover {
	box-shadow: none;
}
#main section .callBtn span, #mainIndex section .callBtn span {
	display: block;
	font-size: 0.8em;
	line-height: 1.5em;
}
.contentBtn {
	margin: 0px;
	padding: 0.5em;
	list-style-type: none;
}
.contentBtn li {
	margin: 0px;
	padding: 0px;
	float: left;
	text-align: center;
}
.contentBtn li a.contCall {
	background: rgba(200,0,0,0.8);
}
.contentBtn li a.contLine {
	background: rgba(90,230,40,0.8);
}
.Btn {
	margin: 0.5rem;
	padding: 0.5rem;
	text-align: center;
}

.Btn a.btnCenter {
	background: url(../img/contactBtn.png) no-repeat center center;
	background-size: 240px auto;
	width: 240px;
	height: 60px;
	display: block;
	margin: 0 auto;
	padding: 0;
	text-indent: -9999px;
}
.Btn a.topBtnCenter {
	background: url(../img/topBtn.png) no-repeat center center;
	background-size: 360px auto;
	width: 360px;
	height: 90px;
	display: block;
	margin: 0 auto;
	padding: 0;
	text-indent: -9999px;
}

.regiBttn {
	display: block;
	/*background: rgba(240,198,5,1);*/
	background: linear-gradient( 180deg, rgba(30,30,30,0.5) 10%, rgba(30,30,30,1) 100%);
	text-align: center;
	color: #f9e495;
	border: 1px solid #fff;
	margin: 0 auto;
	padding: 0 24px;
	line-height: 48px;
	box-shadow: rgba(0,0,0,0.18) 0 5px 11px 0px, rgba(0,0,0,0.15) 0 4px 15px 0;
	position: relative;
	min-width: 320px;
	font-family: "mplusBold";
	border-radius: 24px;
	font-size: 1.5em;
}
.regiBttn:hover {
	box-shadow: none;
}
.regiBttn span.regiTxt {
	position: absolute;
	font-size: 0.6em;
	background: linear-gradient( 180deg, rgba(252,250,226,0.8) 10%, rgba(252,250,226,1) 100%);
	color: #1e1e1e;
	right: 2px;
	top: -12px;
	margin: 0;
	padding: 0 0.75em;
	border-radius: 0.75em;
	line-height: 1.5em;
	font-family: "mplusMedium";
}
.pageBttn {
	display: block;
	text-align: center;
	width: 75%;
	margin: 0 auto;
}
.pageBttn a {
	display: block;
	padding: 0 24px;
	line-height: 48px;
	background: rgba(250,250,225,0.2);
	position: relative;
	max-width: 320px;
	color: #856f60;
	border-radius: 24px;
	margin: 0 auto;
}
.pageBttn a:hover {
	background: rgba(250,250,225,1);
}

.verifi {
	margin: 0;
	padding: 0;
	list-style: none;
}
.verifi li {
	float: left;
	width: 50%;
}
.verifi li a {
	display: block;
	text-align: center;
	color: #fff;
	border: 1px solid #fff;
	font-family: 'Josefin Slab';
	font-weight: 600;
	line-height: 32px;
	margin: 2px;
	padding: 0;
}

/* ************************ INDEXボタン */

.indexBox {
	position: absolute;
	left: 0px;
	bottom: 1em;
	width: 100%;
}
.indexBox ul {
	margin: 0px auto;
	padding: 0px;
	list-style-type: none;
	width: 75%;
}
.indexBox ul li {
	margin: 1%;
	padding: 0px;
	float: left;
	width: 48%;
}
.indexBox ul li a {
	text-align: center;
	display: block;
	color: #fff;
	background: rgba(30,30,30,0.8);
	margin: 0.1em;
	font-family: 'Josefin Slab';
	border: 1px solid #fff;
	padding: 0.2em;
	box-shadow: rgba(0, 0, 0, 0.18) 0 5px 11px 0px, rgba(0, 0, 0, 0.15) 0 4px 15px 0;
	text-shadow: none;
}
.indexBox ul li a:hover {
	box-shadow: rgba(0, 0, 0, 0.18) 0 5px 11px 0px inset;
	color: rgba(255,255,255,0.5);
}
.indexBox > p {
	margin: 0px;
	padding: 0.2em;
	text-align: center;
}


/* #################INDEX##################### */
.topIndex {
	width: 100%;
	/*height: 70vh;*/
	height: 100vh;
	overflow: hidden;
	-webkit-scroll-behavior: smooth;
	scroll-behavior: smooth;
	-webkit-scroll-snap-type: mandatory;
	scroll-snap-type: mandatory;
	-webkit-scroll-snap-points-y: repeat(100%);
	scroll-snap-points-y: repeat(100%);
	position: relative;
	margin: 0px;
	padding: 0px !important;
}
.topImage {
	width: 100%;
  height: 100vh;
  position: relative;
  overflow: hidden;
}
.topSlideIndex {

}
.topImageContents {
	width: 100%;
	height: 100vh;
	overflow: auto;
	-webkit-scroll-behavior: smooth;
	scroll-behavior: smooth;
	-webkit-scroll-snap-type: mandatory;
	scroll-snap-type: mandatory;
	-webkit-scroll-snap-points-y: repeat(100%);
	scroll-snap-points-y: repeat(100%);
	position: relative;
	margin: 0px;
	padding: 0px !important;
}
.topImg {
	width: 100%;
	height: 100vh;
	overflow: auto;
	-webkit-scroll-behavior: smooth;
	scroll-behavior: smooth;
	-webkit-scroll-snap-type: mandatory;
	scroll-snap-type: mandatory;
	-webkit-scroll-snap-points-y: repeat(100%);
	scroll-snap-points-y: repeat(100%);
	position: relative;
	margin: 0px;
	padding: 0px !important;
}
.topIndex div.index, .topSlideIndex div.index {
	position: absolute;
	bottom: 35%;
	left: 0;
	width: 100%;
	text-align: center;
	z-index: 50;
}
.topImageContents div.index, .topImg div.index {
	position: absolute;
	top: calc(75% - 100px);
	left: 0;
	width: 100%;
	text-align: center;
}


.topIndex .indexTitle {
	position: absolute;
	width: 96%;
	top: auto;
	bottom: 20%;
	left: 2%;
	background: rgba(30,30,30,0.7);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1em;
	color: #fff;
}

.topIndex .indexTitle .topLogo {
	font-family: 'Comfortaa';
	color: #84695c;
	font-size: 2em;
	display: block;
}
.topIndex .indexTitle .topLogoImage {
	width: 80%;
	margin: 0 auto;
	
}
.image01 {
	background: url(../img/indexBG_MB.jpg) no-repeat center top !important;
	background-size: cover !important;
}

.image02 {
	background: url(../img/topImageBG.jpg) no-repeat center top, rgba(0,0,0,0) !important;
	background-size: cover !important;
}
.image03 {
	background: url(../img/indexBG_MB.png) no-repeat top center !important;
	background-size: 100% auto !important;
}

.topBox01 {
	margin: 0 1em !important;
	padding: 0 !important;
}

.section-wrap {
	padding: 2em 0 2em !important;
}
.colmn-wrap {
	padding: 0 !important;
}

.wrap {
	width: auto;
	margin: 0 0.5em;
	padding: 0 1em;
}
.lineBttn {
	display: inline-block;
	width: auto;
	box-shadow: rgba(0, 0, 0, 0.18) 0 5px 11px 0px, rgba(0, 0, 0, 0.15) 0 4px 15px 0;
	background: linear-gradient( 135deg, rgba(90,230,40,0.7) 10%, rgba(90,230,40,1) 100%);
	text-align: center;
	line-height: 2em;
	color: #fff;
	padding: 0 1em;
	margin: 0 auto;
	border-radius: 10px;
	border: 2px solid #fff;
}
.lineBttn:hover {
	box-shadow: none;
}

/*------------
パンくず
--------------*/
.breadcrumb {
  margin: 0.2rem !important;
  width: 100%;
  font-size: 0.6rem;
  position: absolute;
  top: 52px;
  left: 1px;
  z-index: 999;
}

.breadcrumb ul {
  margin: 0 auto;
  padding: 0.5rem;
  width: 100%;
}

.breadcrumb ul li {
  display: inline;
}

.breadcrumb ul li + li:before {
  content: "/ ";
  padding: 0 5px;
  color: #ccc;
}

/* #################################TOP レイアウト############## */

.topTxt {
	margin: 0 1em !important;
	padding: 1em !important;
	margin-bottom: 2em !important;
	font-size: 0.8em;
	line-height: 1.5em;
}
.topTxt .img01 {
	position: absolute;
	top: -10%;
	left: 0;
	width: 22%;
	height: auto;
	z-index: 100;
}
.topTxt .img02 {
	display: block;
	width: 30%;
	height: auto;
	margin: 0 auto;
	padding: 0;
}

.topCap{
	margin: 0 0.5em !important;
	padding: 2em 1em !important;
	margin-bottom: 1em !important;
	background: url(../img/topCapPr.png) no-repeat right bottom, rgba(255,255,255,1);
	background-size: 120px 160px, auto;
	border: 1px solid #cdc9e4;
	font-size: 0.9em;
	line-height: 1.5em;
	border-radius: 0.5em;
}

.bgBr > .container > .wrap > .topCap{
	background: url(../img/topCapY.png) no-repeat right bottom, rgba(255,255,255,1);
	border: 1px solid #ffed9e;
	background-size: 120px 160px, auto;
}
.bgY > .container > .wrap > .topCap{
	background: url(../img/topCapY.png) no-repeat right bottom, rgba(255,255,255,1);
	border: 1px solid #ffed9e;
	background-size: 120px 160px, auto;
}
.bgG > .container > .wrap > .topCap{
	background: url(../img/topCapG.png) no-repeat right bottom, rgba(255,255,255,1);
	border: 1px solid #d8e4cc;
	background-size: 120px 160px, auto;
}
.bgB > .container > .wrap > .topCap{
	background: url(../img/topCapBl.png) no-repeat right bottom, rgba(255,255,255,1);
	border: 1px solid #c6e0df;
	background-size: 120px 160px, auto;
}
.bgR > .container > .wrap > .topCap{
	background: url(../img/topCapP.png) no-repeat right bottom, rgba(255,255,255,1);
	border: 1px solid #f2c8d4;
	background-size: 120px 160px, auto;
}

.topCou{
	margin: 0 1em !important;
	padding: 0;
	margin-bottom: 2em !important;
}

/* #################################topNews############## */
.topNews {
	margin: 0;
	padding: 0;
	list-style: none;
}
.topNews li {
	float: left;
	width: calc(100% / 2);
	margin-bottom: 10px;
}
.topNews li dl {
	padding: 0.2em;
	margin: 1px;
	background: rgba(252,250,226,0.5);
	border: solid 1px rgba(252,250,226,1);
}
.topNews li dl dt {
	width: 100%;/* トリミングしたい枠の幅 */
	height: 160px;/* トリミングしたい枠の高さ */
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
	background: rgba(0,0,0,0.5);
	overflow: hidden;
	transition:1s;
}
.topNews li dl dt img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	max-width: 100%;
	height: auto;
	
}
.topNews li dl dt a {
	display: block;
	margin: 1px;
	padding: 0;
}
.topNews li dl dt a:hover {
	transform:scale(1.1);
}

.topNews li dl dd {
	margin: 0 auto;
	padding: 0.2em;
	box-sizing: border-box;
	line-height: 1.5;
	position: relative;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.topNews li dl dd .time {
	font-size: 0.8em;
	color: #999;
	display: block;
}

.topEvent {
	margin: 0;
	padding: 0;
	list-style: none;
}
.topEvent li {
	float: left;
	width: calc(100% / 2);
	margin-bottom: 10px;
}
.topEvent li dl {
	margin: 2px;
	padding: 0;
}
.topEvent li dt {
	width: 100%;/* トリミングしたい枠の幅 */
	height: 160px;/* トリミングしたい枠の高さ */
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
	background: rgba(0,0,0,0.5);
	overflow: hidden;
	transition:1s;
}
.topEvent li dt img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	max-width: 100%;
	height: auto;
}
.topEvent li dt a {
	display: block;
	margin: 0;
	padding: 0;
}
.topEvent li dt a:hover {
	transform:scale(1.1);
}
.topEvent li dd {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
	position: relative;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.topEvent li dd.eventTitle {
	color: #0568f0;
}
.topNewFace {
	margin: 0;
	padding: 0;
	list-style: none;
}
.topNewFace li {
	margin: 0;
	padding: 0;
}
.topNewFace li a {
	display: block;
	border: 1px solid rgba(252,250,226,1);
	background: rgba(252,250,226,0.5);
	margin: 1px;
	padding: 0.2em;
	color: #1e1e1e;
}
.topNewFace li a:hover {
	background: rgba(252,250,226,1);
}
.topNewFace li a dl {
	margin: 0;
	padding: 0;
}
.topNewFace li a dl dt {
	width: 80px;/* トリミングしたい枠の幅 */
	height: 80px;/* トリミングしたい枠の高さ */
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
	background: rgba(0,0,0,0.5);
	overflow: hidden;
	transition:1s;
	float: left;
}
.topNewFace li a dl dt img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	max-width: 100%;
	height: auto;
}

.topNewFace li a dl dd {
	margin: 0;
	line-height: 1.5;
	margin-left: 90px;
	position: relative;
}
.topNewFace li a dl dd.name {
	border-bottom: 1px dotted #999;
	font-size: 1.2em;
}
.topNewFace li a dl dd.size {
	size: 0.8em;
}
.topNewFace li a dl dd.newfaceDT {
	font-size: 0.6em;
	width: auto;
	margin: 0;
	padding: 0 0.5em;
	background: rgba(30,30,30,1);
	color: #fff;
	position: absolute !important;
	top: 2px;
	right: 2px;
}
.topNewFace li a:hover dl dd.newfaceDT {
	background: rgba(252,250,226,1);
	color: #1e1e1e;
}
.topNewFace li a .newface_taiki {
	position: absolute;
	right: 1px;
	top: 0;
	background: rgba(30,30,30,0.8);
	color: #fff;
	font-size: 0.6em;
}
.topNewFace li a .newface_diary {
	position: absolute;
	left: 1px;
	top: 1px;
	background: url(../img/diaryIco.png) no-repeat center center;
	background-size: 24px auto;
	text-indent: -9999px;
	width: 24px;
	height: 24px;
	z-index: 99;
}
.topNewFace li a .newface_maiin {
	position: absolute;
	right: 1px;
	top: 0;
	background: rgba(186,3,15,0.8);
	color: #fff;
	font-size: 0.6em;
}
.topNewFace li a .newface_movieIco {
	position: absolute;
	background: url(../img/movieIco.png) no-repeat center center;
	background-size: 32px auto;
	bottom: 2px;
	right: 2px;
	text-indent: -9999px;
	width: 32px;
	height: 32px;
	z-index: 99;
}
.topNewFace li a .newface_mikeiken {
	background: rgba(156,240,130,1);
	border: solid 1px #1b6603;
	line-height: 1.2em;
	font-size: 0.6em;
	color: #1b6603;
	margin: 1px;
	display: inline-block;
}
.topNewFace li a .newface_taiken {
	background: rgba(246,96,125,1);
	border: solid 1px #870505;
	line-height: 1.2em;
	font-size: 0.6em;
	color: #fff;
	margin: 1px;
	display: inline-block;
}
.topNewFace li a .newFace {
	font-family: "Comfortaa";
	position: absolute;
	height: 24px;
	width: 24px;
	left: 0px;
	bottom: 0px;
	text-align: center;
	background: url(../img/newIco.png) center center, rgba(252,250,226,0.8);
	background-size: 32px auto;
	color: #fcfbe3;
	display: block;
	z-index: 99;
	font-size: 0.8rem;
	text-indent: -9999px;
}
.topNewFace li a.tokusen {
	background: rgba(30,30,30,0.5) !important;
	color: #fff;
}
.topNewFace li a.tokusen:hover {
	background: rgba(30,30,30,1) !important;
	color: #fff;
}
/* #################################募集要項############## */
/*アンカーリスト*/
.list-anchor {
  border-top: 1px solid #cbcbcd;
  border-bottom: 1px solid #cbcbcd;
  color: #131313;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

.list-anchor li {
  padding: 20px 0;
}

.list-anchor li a {
  display: block;
  font: normal "mplusMedium";
  -webkit-transition: .2s;
  transition: .2s;
  padding-left: 15px;
  position: relative;
}

.list-anchor li a:before {
  background: #cbcbcd;
  content: "";
  display: block;
  height: 1px;
  position: absolute;
  left: 0;
  top: 50%;
  width: 8px;
}

.list-anchor li a:hover {
  color: #918bb8;
}

.list-anchor02 {
  border-top: 1px solid #856f60;
  border-bottom: 1px solid #856f60;
  color: #131313;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 3px;
  margin: 0 !important;
}

.list-anchor02 li {
  width: calc(100% / 4);
  padding: 2px;
}

.list-anchor02 li a {
  display: block;
  font: normal 13px "mplusMedium";
  letter-spacing: 0;
  -webkit-transition: .2s;
  transition: .2s;
  /*padding-left: 15px;*/
  position: relative;
  text-align: center;
  font-size: 0.9em;
  color: #856f60;
}

/*.list-anchor02 li a:before {
  background: #cbcbcd;
  content: "";
  display: block;
  height: 1px;
  position: absolute;
  left: 0;
  top: 50%;
  width: 8px;
}*/

.list-anchor02 li a:hover {
  color: #918bb8;
}
.anchor {
	padding: 0.5rem;
	margin: 0;
	margin-bottom: 2rem;
}
.short {
  margin: 0.2em;
}
/* ################################# コンテンツ */
.castList {
	margin: 0px;
	padding: 0 0.5em;
	list-style-type: none;
}
.castList li {
	margin: 0px;
	padding: 0;
	float: left;
	width: calc(100% / 2);
}
.castList li a {
	display: block;
	margin: 1px;
	padding: 6px;
	color: #755c3b;
	position: relative;
	text-shadow: none;
}
.castList li a:hover {
	text-decoration: none;
}
.castList li a .thmbFrame {
	background: url(../img/thmbTop.png) left top no-repeat, url(../img/thmbBttm.png) right bottom no-repeat;
	width: 100%;
	height: 100%;
	background-size: 60px auto;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 999;
	text-indent: -9999px;
}
.castList li a .newFace {
	font-family: "Comfortaa";
	position: absolute;
	height: 40px;
	width: 40px;
	border-radius: 2px;
	right: 8px;
	top: 8px;
	text-align: center;
	background: url(../img/newIco.png) center center, rgba(252,250,226,0.8);
	background-size: 40px auto;
	color: #fcfbe3;
	display: block;
	z-index: 99;
	font-size: 0.8rem;
	text-indent: -9999px;
}
.castList li a .tainyu {
	position: absolute;
	background: url(../img/tainyuIco.png) no-repeat left center;
	background-size: 30px auto;
	top: 1px;
	right: 1px;
	z-index: 99;
	font-size: 1rem;
	line-height: 1rem;
	text-indent: -9999px;
	width: 30px;
	height: 30px;
}
.castList li a .mikeiken {
	position: absolute;
	background: url(../img/mikeikenIco.png) no-repeat center center;
	background-size: 24px auto;
	width: 24px;
	height: 24px;
	bottom: 2px;
	left: 2px;
	z-index: 99;
	font-size: 0.8rem;
	line-height: 2rem;
	text-indent: -9999px;
}

.castList li a .movieIco {
	position: absolute;
	background: url(../img/movieIco.png) no-repeat center center;
	background-size: 32px auto;
	bottom: 2px;
	right: 2px;
	text-indent: -9999px;
	width: 32px;
	height: 32px;
	z-index: 99;
}

.castList li a .taiki {
	position: absolute;
	left: 2px;
	top: 2px;
	bottom: 2px;
	width: 2em;
	z-index: 99;
	font-size: 0.8rem;
	line-height: 1.2rem;
	color: #fcfbe3;
	background: rgba(30,30,30,0.8);
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding:0.5em;
}
.castList li a .maiin {
	position: absolute;
	left: 2px;
	top: 2px;
	bottom: 2px;
	width: 2em;
	z-index: 99;
	font-size: 0.8rem;
	line-height: 1.2rem;
	color: #fcfbe3;
	background: rgba(186,3,15,0.8);
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding:0.5em;
}


.castList li a .newfaceDate {
	position: absolute;
	text-align: center;
	font-size: 0.7rem;
	background: rgba(250,125,230,0.8);
	border: 1px solid rgba(252,251,227,1);
	color: #fcfbe3;
	top: -5px;
	right: -0.1rem;
	z-index: 99;
	
}
.castImage {
	position: relative;
	overflow: hidden;
}
.castList li a .thmbFrame .castImage {
	display: block;
	transition:1s;
}
.castList li a .thmbFrame:hover .castImage{
	transform:scale(1.1);
}
.castList li a dl {
	margin: 0;
	padding: 0;
	position: relative;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0;
	text-align: center;
}
.castList li a dt .osusume {
position: absolute;
	background: url(../img/osusumeIco.png) no-repeat center center;
	background-size: 64px auto;
	width: 64px;
	height: 56px;
	top: -52px;
	right: -5px;
	z-index: 99;
	font-size: 0.8rem;
	line-height: 0.8rem;
	text-indent: -9999px;
	
}
.castList li a dt .diaryIco {
	position: absolute;
	background: url(../img/diaryIco.png) no-repeat center center;
	background-size: 24px auto;
	bottom: 3px;
	left: 2px;
	text-indent: -9999px;
	width: 24px;
	height: 24px;
	z-index: 999;
	margin: 0;
}
.castList li a dt {
	margin: 0;
	padding: 0;
	background: rgba(252,250,226,1);
	line-height: 32px;
	position: relative;
	font-weight: normal;
	font-family: 'mplusMedium';
	color: #1e1e1e;
}
.castList li a dt .age {
	font-size: 0.8em;
	color: #000;
	margin-left: 5px;
	padding: 0 5px;
	border-radius: 2px;
}
.castList li a dt .age::before {
	content: "(";
}
.castList li a dt .age::after {
	content: ")";
}
.castList li a dd {
	margin: 0;
	padding: 0;
	line-height: normal;
	overflow: hidden;
}
.castList li a dd.schData {
	text-align: center;
	overflow: hidden;
	text-overflow: ellipsis;
	background: rgba(51,51,51,1);
	color: #fff;
	height: 1.5rem;
	position: absolute;
	top: -25px;
	right: 2px;
}
.castList li a dd.schData > span {
	text-align:center;
	line-height: 1.5rem;
	font-family: 'Josefin Slab';
	font-weight: 400;
	display: block;
	padding: 0 0.5em;
}
.castList li a dd.schOff {
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	margin-left: 5%;
	position: absolute;
	width: 90%;
	top: 5px;
	left: 0;
	background: rgba(252,250,226,0.8);
	font-size: 0.8em;
}
.castList li a .schYotei {
	position: absolute;
	bottom: 2rem;
	left: 0px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.castList li a .schYotei > li {
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	width: 1.5rem;
	line-height: 0.8rem;
	box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
	font-size: 0.6rem;
	margin: 1px;
	padding: 0;
	border-radius: 0.2rem;
}
.castList li a .schYotei .schCast {
	background: rgba(252,251,227,0.8);
}
.castList li a .schYotei .schTomorrow {
	background: rgba(163,126,88,0.8);
	color: #fcfbe3;
}
.castList li a dd.size {
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	line-height: 1.2rem;
	background: rgba(30,30,30,1);
	color: #fff;
	font-size: 0.8rem;
}
.castList li a dd .telop {
	margin:0; 
	padding-left:300px; 
	display:inline-block; 
	white-space:nowrap;
	animation-name:marquee; 
	animation-timing-function:linear;
	animation-duration:10s; 
	animation-iteration-count:infinite;
	text-align: left !important;
}
@keyframes marquee {
	from   { transform: translate(0%);} 
	99%,to { transform: translate(-100%);}
}
.newFaceList li a {
	background: linear-gradient(90deg,rgba(220,250,135,1) 0%,rgba(220,250,135,1) 50%,rgba(250,245,135,1) 50%,rgba(250,245,135,1) 100%) !important;
}
.newFaceList li a dt {
	background: none !important;
}
.newFaceList li a .newfaceData {
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	position: absolute;
	top: 0.2rem;
	right: 0rem;
	background: rgba(220,250,135,0.8);
	box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
	font-size: 0.8em;
	color: #00aa37;
	line-height: normal;
	border-radius: 0.2rem;
}
.schDay {
	padding: 0px;
	list-style-type: none;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0.5em;
	margin-left: auto;
	max-width: 750px;
}
.schDay li {
	margin: 0px;
	padding: 0px;
	float: left;
	width: calc(100% / 7);
	text-align: center;
	font-size: 0.8em;
}
.schDay li a {
	text-align: center;
	display: block;
	padding: 0px;
	line-height: 32px;
	height: 32px;
	width: 32px;
	margin-top: 1px;
	margin-right: auto;
	margin-bottom: 1px;
	margin-left: auto;
	background: rgba(252,251,227,0.8) ;
	border-radius: 16px;
	font-family: 'Josefin Slab';
	font-weight: 600;
	font-size: 1.2em;
	box-shadow: rgba(0,0,0,0.18) 0 5px 11px 0px, rgba(0,0,0,0.15) 0 4px 15px 0;
}
.schDay li a.today {
	background: rgba(30,30,30,1) ;
	color: #fcfbe3;
}
/* プロフィール */
.prfHeader{
	display: block;
	position: relative;
	padding: 0; 
}
.prfHeader .prfNew {
	font-family: "Comfortaa";
	position: absolute;
	height: 32px;
	width: 32px;
	left: 105px;
	top: -5px;
	text-align: center;
	background: url(../img/newIco.png) center center,rgba(252,250,226,0.8);
	background-size: 32px auto;
	color: #fcfbe3;
	display: block;
	z-index: 99;
	font-size: 0.8rem;
	text-indent: -9999px;
	border-radius: 5px;
}
.prfDate {
	position: absolute;
	line-height: 1.5rem;
	border-radius: 5px;
	width: 10em;
	left: 0.7em;
	top: 120px;
	text-align: center;
	background: rgba(30,30,30,0.8);
	color: #fff;
	display: block;
	z-index: 99;
	font-size: 0.8rem;
}
.prfHeader .prfThmb{
	width: 120px;
	height: 120px;
	object-fit: cover;
	object-position: 0px 0px;
	border: 1px solid rgba(252,251,227,1);
	z-index: 999;
}
.prfName {
    margin: 0 0.5em;
    padding: 0.2em;
	background: rgba(252,250,226,0.8);
	border: 1px solid #fff;
	position: relative; 
}
.prfName > dt {
	margin: 0rem;
	float: left;
}

.prfName > dd {
	margin: 0;
	padding: 0.2rem;
	margin-left: 130px;
}
.prfHeader .shortComment {
	background: rgba(252,251,227,1);
	border: 1px solid rgba(205,187,153,1);
	padding: 0.2rem;
	display: inline-block;
	margin: 0.5rem auto;
	font-size: 0.8rem;
	border-radius: 0.5rem;
}
.prfName > dd .prfType {
	list-style-type: none;
	padding-left: 0;
	margin: 0;
}
.prfName >dd .prfType > li {
	text-align: center;
	margin: 0.2em !important;
	padding: 0 0.2em;
	font-size: 0.8rem;
	border-radius: 0.2rem;
	border: 1px solid rgb(30,30,30);
	background: rgba(30,30,30,0.8);
	display: inline-flex;
	line-height: 1.5em;
	color: #fff;
}
.prfName > dd .prnhb {
	border-radius: 2px;
	color: #000;
	margin-left: 5px;
	padding: 0 0.5em;
	font-size: 0.8em;
}
.prfName > dd .prnhb::before {
	content: "(";
}
.prfName > dd .prnhb::after {
	content: ")";
}
.prfPhoto {
	display: block;
	margin: 0.5rem;
	padding: 0.5rem;
	background: rgba(252,250,226,0.2);
	border: solid 1px rgba(252,250,226,1);
}
.prfMessage {
	margin: 0.5rem;
	padding: 1rem;
	border: solid 1px rgba(252,250,226,1);
	background: rgba(252,250,226,0.5);
}
.prfCont {
	margin: 0;
	padding: 0;
	list-style: none;
}
.prfCont li {
	margin: 0;
	padding: 0;
}
.prfData {
	margin: 0.5rem;
	padding: 0rem;
	border: 1px solid rgba(252,250,226,1);
	background: rgba(252,250,226,0.5);
	display:flex;
	flex-wrap: wrap;
	overflow: hidden;
}
.prfData dt {
	width: 12em;
	background: rgba(30,30,30,1);
	margin-top: 0;
	margin-right: 0rem;
	margin-bottom: 0;
	margin-left: 0;
	padding:0.1rem;
	box-sizing: border-box;
	border-bottom: 1px solid #fcfbe3;
	color: #fff;
}
.prfData dd {
	width: calc(100% - 12.4em);
	margin: 0;
	padding: 0.1rem;
	border-bottom: 1px solid #fcfbe3;
	box-sizing: border-box;
	min-width: 0;
}
.prfData dd:last-child, .prfData dt:last-of-type {
	border: none;
}
.prfOption {
	margin: 0.5rem;
	padding: 0.5rem;
	box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
	border: 1px solid rgba(252,251,227,1);
	overflow: hidden;
	background: rgba(252,251,227,0.5);
}
.prfOption > ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.prfOption > ul > li {
	width: auto;
	margin: 1px;
	padding: 0.2rem;
	font-size: 0.8rem;
	line-height: 1rem;
	float: left;
	border-radius: 0.2rem;
	background: rgba(250,160,190,0.5);
	border: 1px solid rgba(252,251,227,1);
	width: auto !important;
	color: #0a3c96;
}
.prfOption > ul > li span {
	font-size: 1.5rem;
}

/* PRF SCHEDULE */
.prfSchedule {
	margin: 0.5rem;
	padding: 0rem;
	border: 1px solid rgba(255,255,255,1);
	overflow: hidden;
	background: rgba(255,255,255,0.5);
}
ul.prfSch {
	float: left;
	list-style: none;
	width: calc(100% / 2);
	clear: none;
	padding-top: 0px;
	padding-right: 0%;
	padding-bottom: 0px;
	padding-left: 0%;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0em;
	margin-left: 0px;
}
/* ul.prfSch:nth-child(2) {
	width:70%;
} */
ul.prfSch > li {
	float: none;
	text-align: center;
	margin: 0 !important;
	padding: 0 !important;
	width: 100%;
}
ul.prfSch li span {
	display: block;
	background: rgba(252,250,226,0.8);
	margin: 1px;
	padding: 0;
	text-shadow: none;
	width: calc(100% - 2px);
	line-height: 1.5em;
}
ul.prfSch li span.bgcNone {
	background: rgba(252,250,226,0.5);
}
ul.prfSch li span.schTime {
	background: none;
}
ul.prfSch li span .request {
	display: block;
	margin: 1px auto;
	color: #fff;
	background: rgba(0,185,0,0.8);
	width: 80%;
	font-size: 0.8em;
}
ul.prfSch li span .reserve {
	display: block;
	margin: 1px auto;
	color: #fff;
	background: rgba(30,30,30,0.8);
	width: 80%;
	font-size: 0.8em;
}
.chart-container {
	border: 1px solid rgba(252,250,226,1);
	margin: 0.5rem;
	background: rgba(252,250,226,0.5);
	position: relative;
}
.chart-container .points {
	position: absolute;
	font-size: 2rem;
	font-family: 'Chango';
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	width: 100%;
	height: 3rem;
	z-index: 999;
	text-align: center;
}
.videoWrap {
	padding: 0.2rem;
	margin: 0.5rem;
	background: rgba(252,250,226,0.5);
}


/* スタッフコメント */
.staffCome {
	margin: 0.5rem;
	padding: 0.2rem;
}
/* balloon-1 right */
#balloon-1-right {
	position: relative;
	display: block;
	padding: 0.5rem;
	width: auto;
	min-width: 115px;
	height: auto;
	background: rgba(255,255,255,0.5);
	border: 1px solid rgb(255,255,255);
	z-index: 0;
}
.contentBox {
	margin: 0 0.5rem;
	padding: 0.5rem;
	background: rgba(255,255,255,0.5);
	border: 1px solid rgb(255,255,255);
	z-index: 0;
}

.price {
	margin: 0 0.5em;
	padding: 0;
	background: rgba(255,255,255,0.5);
	border: 1px solid rgb(255,255,255);
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
	border-bottom: none;
}
.price dt {
	width: 8em;
	margin: 0;
	padding: 0;
	line-height: 1.5em;
	background: rgba(30,30,30,0.8);
	color: #fff;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	border-bottom: 1px solid #fff;
}
.price dd {
	padding: 0;
	margin: 0;
	border-bottom: 1px solid #fff;
	line-height: 1.5em;
	width: calc(100% - 8em);
	box-sizing: border-box;
	display: flex;
	flex-direction: row;
	justify-content: center;
}
.playOp {
	margin: 0 0.5em;
	padding: 0.5em;
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
	border-bottom: none;
	list-style: none;
	justify-content: center;
	background: rgba(255,255,255,0.5);
}
.playOp li {
	background: rgba(30,30,30,1);
	text-align: center;
	color: #fff;
	line-height: 2em;
	padding: 0 0.5em;
	margin: 1px;
}

/*table*/
.table-style01 {
  border-collapse: collapse;
  width: calc( 100% - 1em );
  margin: 0 0.5em;
  margin-bottom: 20px;
}

.table-style01 th, .table-style01 td {
  border: 1px solid #cbcbcd;
  padding: 0.2rem;
}

.table-style01 th {
  background: rgba(30,30,30,0.8);
  color: #fff;
  font-size: 0.8em;
}

.table-style01 th.th-left {
  background: rgba(239,239,239,0.8);
}

/* NEWS/EVENT */
.news {
	margin: 0.5rem !important;
	padding: 0.5em;
	background: rgba(252,250,226,0.5);
}
.news > time {
	display: block;
	text-align: right;
	font-size: 0.8em;
	padding: 0.5em;
	color: #55a5eb;
}
.thmbPicture {
	text-align: center;
	display: block;
	margin-bottom: 20px;
}
/* HOW TO */
.howToBox {
	margin: 0.5rem !important;
	padding: 1rem !important;
	margin-bottom: 20px !important;
	background: rgba(255,255,255,0.5);
	border: 1px solid #fff;
}

ol.howTo {
	margin: 0.5rem;
	padding: 0;
	background: rgba(255,255,255,0.5);
	border: 1px solid #fff;
	counter-reset:num;
	list-style-type: none!important;
}
ol.howTo > li {
	position: relative;
	padding-left: 35px !important;
	line-height: 1.5em;
	padding: 0.5em 0.5em 0.5em 30px;
	margin-bottom: 20px;
}
ol.howTo > li:before {
	position: absolute;
	counter-increment: num;
	content: counter(num);
	display:inline-block;
	background:transparent;
	border:#555 1px solid;
	color: #555;
	font-family: 'Arial',sans-serif;
	font-weight:bold;
	font-size: 14px;
	border-radius: 50%;
	left: 0.5rem;
	width: 22px;
	height: 22px;
	line-height: 22px;
	text-align: center;
	top: calc(50% - 11px);
}
ol.howTo > li p {
	padding: 0.2rem !important;
}
ol.howTo > li > ul {
	padding: 0.2rem !important;
}
ol.howTo > li > ul > li {
	margin-bottom: 1rem;
	border-bottom: 1px dotted #999;
}
ol.howTo > li > ul > li:last-child {
	border: none;
}

ul.howTo {
	margin: 0.5rem;
	padding: 0;
	background: rgba(255,255,255,0.5);
	border: 1px solid #fff;
	list-style-type: none!important;
}
ul.howTo > li {
	position: relative;
	line-height: 1.5em;
	padding: 0.5em;
	padding-left: 30px;
	margin-bottom: 20px;
	position: relative;
}
ul.howTo > li:before {
	font-family: "Font Awesome 5 Free";
	content: "\f621";/*アイコンのユニコード*/
	font-weight: 600;
	position: absolute;/*絶対位置*/
	left: 0.5em;/*アイコンの位置*/
	top: 0.5em;/*アイコンの位置*/
}

.faqBox {
	margin: 0.5rem !important;
	padding: 1rem !important;
	margin-bottom: 2rem !important;
	background: rgba(255,255,255,0.5);
	border: 1px solid #fff;
}
ol.faq {
	margin: 0.5rem;
	padding: 0;
	background: rgba(255,255,255,0.5);
	border: 1px solid #fff;
	counter-reset:num;
	list-style-type: none!important;
}
ol.faq > li {
	position: relative;
	padding-left: 35px !important;
	line-height: 1.5em;
	padding: 0.5em 0.5em 0.5em 30px;
}
ol.faq > li:before {
	position: absolute;
	counter-increment: num;
	content: counter(num);
	display:inline-block;
	background:transparent;
	border:#555 1px solid;
	color: #555;
	font-family: 'Arial',sans-serif;
	font-weight:bold;
	font-size: 14px;
	border-radius: 50%;
	left: 0.5rem;
	width: 22px;
	height: 22px;
	line-height: 22px;
	text-align: center;
	top: 10px;
}
/* ランキング　*/
.rankingComment {
	background: rgba(252,250,226,0.75);
	border: 1px solid rgba(252,250,226,1);
	text-align: center;
	margin: 0.5rem;
	padding: 0.2rem;
	margin-bottom: 2em;
}
.rankingGirl {
	list-style-type: none;
	padding-left: 0;
	text-align: center;
	margin: 0;
}
.rankingGirl li {
	width: 50%;
	text-align: center;
	margin: 0em !important;
	padding-top: 60px;
	font-size: 0.8rem;
	line-height: 1.5em;
	float: left;
	position:relative;
}
.rankingGirl li:nth-child(1) {
	width: 100%;
	padding-top: 90px;
}

.rankingGirl li .rankingThmb{
	overflow: hidden;
	width: 120px;/* トリミングしたい枠の幅 */
	height: 120px;/* トリミングしたい枠の高さ */
	position: absolute;
	background: rgba(252,251,227,0.5);
	padding: 0px;
	box-shadow: rgba(0,0,0,0.18) 0 5px 11px 0px, rgba(0,0,0,0.15) 0 4px 15px 0;
	border-radius: 50%;
	top: 0;
	left: calc( 50% - 60px );
	background:linear-gradient(left, #f00, #00f);
	display:block;
}
.rankingGirl li:nth-child(1) .rankingThmb:before{
	content: "";
	background: url(../img/rank1.png) no-repeat center, center;
	background-size: 240px auto;
	position: absolute;
	z-index: 105;
	top: 0;
	left: 0;
	width: 180px;
	height: 180px;
}
.rankingGirl li:nth-child(2) .rankingThmb:before{
	content: "";
	background: url(../img/rank2.png) no-repeat center, center;
	background-size: 150px auto;
	position: absolute;
	z-index: 105;
	top: 0;
	left: 0;
	width: 120px;
	height: 120px;
}
.rankingGirl li:nth-child(3) .rankingThmb:before{
	content: "";
	background: url(../img/rank3.png) no-repeat center, center;
	background-size: 150px auto;
	position: absolute;
	z-index: 105;
	top: 0;
	left: 0;
	width: 120px;
	height: 120px;
}
.rankingGirl li:nth-child(4) .rankingThmb:before{
	content: "";
	background: url(../img/rank4.png) no-repeat center, center;
	background-size: 150px auto;
	position: absolute;
	z-index: 105;
	top: 0;
	left: 0;
	width: 120px;
	height: 120px;
}
.rankingGirl li:nth-child(5) .rankingThmb:before{
	content: "";
	background: url(../img/rank5.png) no-repeat center, center;
	background-size: 150px auto;
	position: absolute;
	z-index: 105;
	top: 0;
	left: 0;
	width: 120px;
	height: 120px;
}
.rankingGirl li .rankingThmb img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	max-width: 100%;
	height: auto;
}
.rankingGirl li:nth-child(1) .rankingThmb{
	width: 180px;
	height: 180px;
	left: calc( 50% - 90px );
}
.rankingGirl li .rankingData {
	margin: 0.5em;
    padding-top: calc(60px + 0.2rem);
    padding-right: 0em;
    padding-left: 0em;
    padding-bottom: 0em;
	background: linear-gradient(180deg,rgba(30,30,30,0.5) 0%,rgba(30,30,30,0.5) 60px,rgba(252,250,226,0.5) 60px,rgba(252,250,226,0.5) 100%);
	background-size: 60px auto, auto, auto, auto, auto;
    border: solid 1px rgba(252,251,227,1);
    text-align: center;
	border-radius: 0.2rem 0.2rem 0 0;
}
.rankingGirl li:nth-child(1) .rankingData {
	padding-top: calc(90px + 0.2rem);
	background: linear-gradient(180deg,rgba(30,30,30,0.5) 0%,rgba(30,30,30,0.5) 90px,rgba(252,250,226,0.5) 90px,rgba(252,250,226,0.5) 100%);
	background-size: 90px auto, auto, auto, auto, auto;
}
.rankingGirl li .rankingData dt {
	font-size: 1.2rem;
}
.rankingGirl li .rankingData dt span {
	font-size: 0.8em;
}
.rankingGirl li:nth-child(1) .rankingData dt {
	font-size: 1.5rem;
}
.rankingGirl li:nth-child(1) .rankingData dt span {
	font-size: 1rem;
}
.recruitBox {
	margin: 0.5rem !important;
	padding: 1rem !important;
	margin-bottom: 20px !important;
	background: rgba(255,255,255,0.5);
	border: 1px solid #fff;
}
.recruit_title {
	text-align: center;
	background: rgba(255,255,255,1);
	display: table;
	margin: 0 auto;
}
.details {
	margin: 0 0.5rem !important;
	padding: 0 !important;
	margin-bottom: 20px !important;
	background: rgba(255,255,255,0.5);
	border: 1px solid #fff;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	overflow: hidden;
}
.details dt, .details dd {
	box-sizing: border-box;
	margin:0;
	align-items: center;
}
.details dt {
	display: flex;
	align-items: center;
	width: 6em;
	padding: 0.2em;
	background: rgba(30,30,30,0.5);
	border-bottom: 1px solid #fff;
	color: #fff;
}
.details dt:last-of-type,
.details dd:last-of-type {
	border: none;
}
.details dd {
	display: flex;
	width: calc(100% - 6em);
	margin-left: 0;
	padding: 0.5em;
	border-bottom: 1px solid #fff;
}
.contactBox {
	margin: 0 0.5em;
	padding: 0;
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
	border-bottom: none;
	list-style: none;
	justify-content: center;
}
.contactBox li {
	text-align: center;
	padding: 0;
	margin: 0;
}
.contactBox li a {
	display: block;
	height: 48px;
	width: 48px;
	margin: 1px;
	color: #fff;
	padding-left: 48px;
	line-height: 48px;
	font-family: 'Comfortaa';
	text-indent: -9999px;
}
.contactBox li a.recLine {
	background: url(../img/lineIco.png) no-repeat left center,rgba(0,185,0,0.8);
	background-size: 48px auto;
}
.contactBox li a.recPhone {
	background: url(../img/phoneIco.png) no-repeat left center,rgba(30,30,30,0.8);
	background-size: 48px auto;
}
.contactBox li a.recMail {
	background: url(../img/mailIco.png) no-repeat left center,rgba(186,3,15,0.8);
	background-size: 48px auto;
}
/* ニュース・イベントリスト */
.newsList {
	list-style: none;
	background: rgba(255,255,255,0.5);
	border: 1px solid rgba(255,255,255,1);
	margin: 0 0.5rem;
	padding: 0.5rem;
}
.newsList li {
	margin: 0;
	padding: 0;
}
.newsList li a {
	display: block;
	border-bottom: 1px dotted rgba(30,30,30,0.5);
	padding: 0.2rem;
	color: #1e1e1e;
}
.newsList li:last-child a {
	border: none;
}
.newsList li a dl {
	margin: 0;
	padding: 0;
	
	position: relative;
}
.newsList li a dl dt{
	overflow: hidden;
	width: 80px;/* トリミングしたい枠の幅 */
	height: 80px;/* トリミングしたい枠の高さ */
	position: relative;
	background: rgba(30,30,30,0.5);
	margin: 0;
	padding: 0em;
	float: left;
}
.newsList li a dl dt img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	max-width: 100%;
	height: auto;
}
.newsList li a dl dd {
	margin-left: 82px;
}
.newsList li a dl dd.newsTtl{
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	position: relative;
	border-bottom: solid 1px #aaa;
	line-height: 1.5em;/*行高*/
	font-family: 'Honoka';
	margin-bottom: 1em;
}

.newsList li a dl dd.newsDate{
	text-align: left;
	font-size: 0.6rem;
	position: absolute;
	right: 0;
	bottom: -0.8rem;
	line-height: normal;
	z-index: 99;
}
/* #################ACCESSM##################### */
#map {
	width: auto;
	height: 400px;
}
/* #################FORM##################### */
.form{
	margin: 0px 0.5em;
	padding: 0.5em;
	background: rgba(255,255,255,0.5);
	border: 1px solid #fff;
}
.form dl{
	margin:0;
	padding:0.2em;
}
.form dt{
	margin: 0px;
	padding: 0.2em;
	font-size: 1.2em;
	font-weight: normal;
}
.form dd{
	padding: 0.2em;
	margin: 0px;
	margin-bottom: 20px;
}
.form dd span{
	display:block;
}
.form .caption {
	font-size: 0.8em;
}
.submit {
	padding: 0px;
	margin-top: 1em;
	margin-right: 20px;
	margin-bottom: 1em;
	margin-left: 20px;
}
input, textarea, select {
	padding: 0em;
	border: solid 1px #1e1e1e;
	outline: 0;
	background: rgba(255,255,255,0.5);
	width: 70%;
	line-height: 2em;
	font-size: 1.2em;
    }
select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: url(../img/selectIco.png) no-repeat center right, rgba(250,155,185,0.5);
	background-size: 24px, auto;
}
 input[disabled="disabled"], textarea[disabled="disabled"] {
	background-color: #CCC;
 }
 
input:hover, textarea:hover,
input:focus, textarea:focus {
    border-color: #1e1e1e;
	box-shadow: 1px 1px 3px rgba(0,0,0,0.5) inset;
	background: rgba(255,255,255,1);
    }
 
label {
    margin-left: 10px;
    }

input[type="radio"] {
	min-width: inherit;
	display: none;
}
input[type="checkbox"] {
	min-width: inherit;
	display: none;
}
input[type="radio"] + label {
	background: rgba(30,30,30,0.5);
	display: inline-block;
	margin: 0.5em;
	padding: 0.5em;
	box-shadow: rgba(0,0,0, 0.1) 0px 0px 8px;
	float: left;
	color: #fff;
}
input[type="radio"]:checked + label{
	background-color: rgba(30,30,30,1);
	background-image: none;
	color: #fff;
}
input[type="checkbox"] + label {
	background: rgba(30,30,30,0.5);
	display: inline-block;
	margin: 0.5em;
	padding: 0.5em;
	box-shadow: rgba(0,0,0, 0.1) 0px 0px 8px;
	float: left;
	color: #fff;
}
input[type="checkbox"]:checked + label {
  	background-color: rgba(30,30,30,1);
	background-image: none;
	color: #fff;
}
/*input[type="submit"], input[type="reset"], input[type="button"], button[type="submit"], button[type="reset"] {
	background: rgba(255,10,95,0.5);
	text-align: center;
	box-shadow: rgba(0,0,0, 0.1) 0px 0px 8px;
	min-width: 100px;
	line-height: 40px;
	height: 40px;
	margin: 0px;
	padding: 0em;
	border: 1px solid #ff7396;
	font-family: 'utsukushi', 'Hiragino Mincho Pro', 'ヒラギノ明朝 Pro W3', "HGS明朝E", "游明朝", "YuMincho", "serif";
    }
input[type="submit"]:hover, input[type="reset"]:hover, input[type="button"]:hover{
	color: #fff;
	background: rgba(250,155,185,0.5);
}*/
fieldset {
	padding: 0;
}
/* #################PAGE TOP##################### */
/*#page-top {
	position: fixed;
	font-size: 1em;
	z-index: 999;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	width: 100%;
	padding-top: 0.5%;
	padding-right: 1%;
	padding-bottom: 0.5%;
	padding-left: 1%;
}*/
#page-top {
	position: fixed;
	font-size: 1em;
	z-index: 999;
	margin:0;
	padding:0;
	left: 4px;
	right: auto;
	top: auto;
}

#page-top ul {
	padding: 0px;
	list-style-type: none;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
}
#page-top ul li {
	float: left;
	margin: 1px;
}
#page-top ul li a {
	display: block;
	text-align: center;
	width: 48px;
	height: 48px;
	line-height: 48px;
	border-radius: 0.5em;
	background: rgba(0,0,0,0.8);
}
#page-top ul li a.edit {
	background: rgba(239,57,70,0.7);
}
#page-top ul li a.line {
	background: rgba(0,185,0,0.8);
}
#page-top ul li a.phone {
	background: rgba(0,0,0,0.8);
}
#page-top ul li a.x {
	background: rgba(0,0,0,0.8);
}
#page-top a:hover {
    text-decoration: none;
	color: #EAD97F;
}


#page-top .footerBtn a {
	display: block;
	text-align: center;
	/*background: linear-gradient( 180deg, rgba(30,30,30,0.5) 10%, rgba(30,30,30,0.8) 100%);*/
	background: rgba(239,57,70,0.5);
	box-shadow: rgba(0, 0, 0, 0.18) 0 5px 11px 0px, rgba(0, 0, 0, 0.15) 0 4px 15px 0;
	border-radius: 0.5em ;
	border: 1px solid #fff;
	width: 48px;
	height: 48px;
	color: #fff !important;
	line-height: 48px;
	text-align: center;
}
#page-top .footerBtn a:hover {
	box-shadow: none
}
/* #################PAGE TOP SIDE##################### */
#pageTop {
	position: fixed;
	right: 0px;
	font-size: 0.6em;
	z-index: 9999;
}
#pageTop a {
	background: url(../img/topIco.png) no-repeat center center, rgba(30,30,30,0.8);
	background-size: 48px;
	text-decoration: none;
	text-align: center;
	display: block;
	border-radius: 0.5em 0 0 0.5em;
	padding: 0em;
	color: #fff;
	text-shadow: none;
	text-indent: -9999px;
	height: 48px;
	width: 48px;
}
#pageTop a:hover {
    background: url(../img/topIco.png) no-repeat center center, rgba(30,30,30,0.2);
	background-size: 48px;
}
/* #################FOOTER##################### */
#footer{
	margin: 0px;
	padding: 0.5rem;
	clear:both;
}
#footer p{
	text-align: center;
	display: block;
	font-size: 0.6em;
	text-shadow: none;
	margin: 0px;
	padding: 0px;
	clear: both;
	line-height: 1rem;
	width: 100%;
	background: rgb(30,30,30);
	color: #fff;
}
.footerReg {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	text-align: center;
	z-index: 100
}
.footerReg a {
	display: block;
	width: 80%;
	height: 48px;
	background: url('../img/footerBtn.png') center center no-repeat, linear-gradient( 135deg, rgba(253,235,113,0.8) 10%, rgba(248,216,0,0.8) 100%);
	background-size: auto 48px, auto;
	text-align: center;
	margin: 0 auto;
	padding: 0em;
	border: 1px solid #fff;
	border-radius: 0.5rem 0.5rem 0 0;
	color: #333;
	box-shadow: rgba(0, 0, 0, 0.18) 0 5px 11px 0px, rgba(0, 0, 0, 0.15) 0 4px 15px 0;
	text-indent: -9999px;
}
.footerLogo {
	background: url(../img/footerLogo.png) no-repeat center center;
	background-size: auto 200px;
	text-indent: -9999px;
	width: 100%;
	height: 200px;
}
#footerCall {
	position: fixed;
	bottom: 8px;
	left: 8px;
	font-size: 2em;
	z-index: 99;
	background: rgba(250,250,220,0.7);
	margin: 0;
	width: 64px;
	height: 64px;
	line-height: 64px;
	text-align: center;
	box-shadow: rgba(0, 0, 0, 0.18) 0 5px 11px 0px, rgba(0, 0, 0, 0.15) 0 4px 15px 0;
	border: solid 1px rgba(250,250,220,1);
	color: #0a3c96;
	text-shadow: none;
	border-radius: 0.2rem;
}
#footerCall:hover {
	box-shadow: none;
}
#footerContact {
	position: fixed;
	bottom: 8px;
	left: 74px;
	font-size: 2em;
	z-index: 99;
	background: rgba(250,225,250,0.7);
	background-size: 64px auto,auto;
	margin: 0;
	width: 64px;
	height: 64px;
	line-height: 64px;
	text-align: center;
	box-shadow: rgba(0, 0, 0, 0.18) 0 5px 11px 0px, rgba(0, 0, 0, 0.15) 0 4px 15px 0;
	border: solid 1px rgba(250,225,250,1);
	color: #333;
	text-shadow: none;
	border-radius: 0.2rem;
}
#footerContact:hover {
	box-shadow: none;
}
#footerContact span {
	position: absolute;
	bottom: 0;
	left: 0;
	line-height: 0.8rem !important;
	width:100%;
	text-align: center;
	display: block;
}
#footerLine {
	position: fixed;
	bottom: 8px;
	left: 74px;
	font-size: 2em;
	z-index: 99;
	background: url(../img/lineIco_footer.png) no-repeat center center, rgba(90,230,40,0.7);
	background-size: 64px auto,auto;
	margin: 0;
	width: 64px;
	height: 64px;
	line-height: 64px;
	text-indent: -9999px;
	box-shadow: rgba(0, 0, 0, 0.18) 0 5px 11px 0px, rgba(0, 0, 0, 0.15) 0 4px 15px 0;
	border: solid 1px #5ae628;
	color: #452c0a;
	text-shadow: none;
	border-radius: 0.2rem;
}
#footerLine:hover {
	box-shadow: none;
}

/* -----------
FOOTERレイアウト
--------------- */
.f-inner {
  margin: 0 auto;
  /*max-width: 1024px;*/
  margin-bottom: 2em;
}

.f-inner .l-left {
  width: 100%
}

.f-inner .l-right {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  position: relative;
   width: 100%;
}

.f-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 30px;
}

.f-box .l-ttl {
  color: #131313;
  font: normal 15px "mplusMedium";
  letter-spacing: 0.1em;
  border-bottom: 1px solid #ddd;
  margin-bottom: 10px;
  padding-bottom: 10px;
  width: 100%;
}

.f-box .l-desc {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-right: 20px;
}

.f-box .l-text {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.83;
  letter-spacing: .05em;
}

.f-box .l-btn {
  width: 158px;
}

.f-box .l-btn .top-btn02 {
  min-width: 0;
  width: 100%;
}

.f-box .f-tel {
  font: normal 32px "Comfortaa", serif;
  letter-spacing: 0.1em;
}

.f-box .f-tel span {
  font-size: 26px;
}

.f-logo {
  margin-bottom: 20px;
  width: 178px;
}

.f-addr {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .05em;
  margin-bottom: 20px;
}

.f-list-sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.f-list-sns li {
  width: 45px;
}

.f-list-sns li + li {
  margin-left: 5px;
}

.f-list-sns li.ameba {
  width: 158px;
}

.f-list-sns li.ameba a {
  color: #fff;
  font: normal 12px "mplusMedium";
  letter-spacing: 0.1em;
  background: #131313;
  border-radius: 0;
  display: block;
  height: 34px;
  line-height: 34px;
  text-align: center;
  width: 158px;
}

.f-list-sns li.line a {
  letter-spacing: 0.1em;
  background: #00B900;
  border-radius: 0;
  display: block;
  height: 34px;
  line-height: 34px;
  text-align: center;
  width: 158px;
}

.f-list-sns li a {
  background: #f2f2f4;
  border-radius: 50%;
  display: block;
  height: 45px;
  line-height: 50px;
  text-align: center;
  width: 100%;
}

.f-list-sns li a i {
  font-size: 22px;
}

.copyright {
  margin: 0 auto;
  width: 1024px;
  color: #aaa;
  display: block;
  font-family: Verdana, "Droid Sans";
  font-size: 12px;
  text-align: right;
  background: #663500;
}

.f-navi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.f-navi ul li + li {
  margin-top: 15px;
}

.f-navi ul li a {
  display: block;
  font: normal 13px "mplusMedium";
  letter-spacing: 0.1em;
  padding-left: 20px;
  position: relative;
  text-align: left;
  -webkit-transition: .2s;
  transition: .2s;
}

.f-navi ul li a:hover {
  color: #918bb8;
}

.f-navi ul li a:before {
  background: #cbcbcd;
  content: "";
  display: block;
  height: 1px;
  position: absolute;
  left: 0;
  top: 8px;
  width: 7px;
}

.f-light .l-ttl {
  color: #131313;
  font: normal 15px "mplusMedium";
  letter-spacing: 0.1em;
  border-bottom: 1px solid #ddd;
  margin-bottom: 10px;
  padding-bottom: 10px;
  width: 100%;
}

.f-navi01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
}

.f-navi01 ul1 {
  width: 175px;
}

.f-navi01 ul2 {
  width: 342px;
}

.f-navi01 ul li {
  margin-top: 10px;
  display: block;
  font: normal 11px "mplusMedium";
  letter-spacing: 0.1em;
  padding-left: 20px;
  position: relative;
  text-align: left;
  -webkit-transition: .2s;
  transition: .2s;
}

.footerNav {
	margin: 0;
	padding: 0;
	list-style: none;
}
.footerNav li {
	float: left;
	width: 49%;
	padding: 0.5%;
}
.footerNav li a {
	display: block;
	background: rgba(30,30,30,0.75);
	border: 1px solid #fcfae2;
	line-height: 24px;
	color: #fcfae2 !important;
	font-family: 'Josefin Slab';
	font-weight: 400;
}
.footerNav li a:hover {
	background: rgba(255,255,255,1);
}
.footerNav li a span {
	float: right;
	font-size: 0.6em;
}

.shopInfo {
	margin: 0;
	padding: 0.5em;
}
.shopInfo dt {
	width: 6em;
	float: left;
	line-height: 2em;
}
.shopInfo dd {
	border-bottom: 1px dotted #666;
	line-height: 2em;
}

/* responsive 35em以上 */
@media screen and (min-width:35em){

.topCont > li:nth-child(1) {
	width: 100%;
}
.topCont > li:nth-child(2) {
	width: 100%;
}

.topIndex {
	height: 100vh;
}

}
/* responsive 35em以上おわり */



/* responsive 50em以上 */
@media screen and (min-width:50em){
body::before {
	background: url(../img/bgL.png) center left 5% repeat-y,url(../img/bgR.png) center right 5% repeat-y,url(../img/bg003.jpg) repeat center center;
	background-size: auto auto, auto auto, auto;
      }
/* ################## HEADER ########################## */
#header {
	height: 128px;
	padding-bottom: calc( 20px + 1.3em );
	background-size: auto,
}
#header.HeightMin {
	height: calc( 128px + 1.3em );
	background-size: auto,
}
.header-brand img {
	height: 96px;
}
#header .menu{
	display: none;
}
#header .shopDeta {
	margin: 0;
	text-align: right;
	font-size: 1rem;
	width: auto;
	height: auto;
	top: 0;
	padding: 0;
	text-indent: inherit;
	background: none;
	border: none;
	box-shadow: none;
}
#header .shopDeta:hover {
	box-shadow: none;
}
#header .shopDeta  span.tel{
	font-size: 1.5rem;
	line-height: 0.8em;
	display: inline-block !important;
}
#header .shopDeta > .add {
	display: inline-block !important;
	text-align: right;
	font-size: 0.8rem;
	vertical-align: top;
	margin-right: 1em;
	
}
#header .shopDeta  span{
	display:block !important;
	font-size: 1.2rem;
}
#header .subtitle {
	font-size: 1.2em;
	text-align: left;
	bottom: -20px;
	left: 40px;
	max-width: 1200px;
}
#header .hNav {
	display: block;
}
/* ################## MAIN ########################## */
#main {
	margin-right: auto;
	margin-bottom: 0rem;
	margin-left: auto;
	/*margin-top: calc( 64px + 1rem );*/
	margin-top: 0;
	max-width: 100%;
}
#main section {
	width: 100%;
}
#main section h2, aside h2 {
	font-size: 1.2em;
}
.topIndex {
	height: calc(100vh - 64px);
}
.topImage {
	height: 100vh;
}
.topIndex .indexTitle {
	width: 40%;
	bottom: 5%;
	height: 80%;
	top: auto;
	left: 10%;
}
.topIndex .indexTitle02 {
	width: 40%;
	top: 420px;
	bottom: auto;
	left: 1%;
}
.topIndex .indexTitle .topLogoImage {
	width: 50%;
	
}
.image01 {
	background: url(../img/indexBG_PC.jpg) no-repeat center top !important;
	background-size: cover !important;
}
.image03 {
	background: url(../img/indexBG_PC.png) no-repeat top center !important;
	/*background-size: 100% auto !important;*/
	background-size: cover !important;
}
.topImageContents, .topImg {
	font-size: 1.5em;
}

.topCap, .bgBr > .container > .wrap > .topCap, .bgY > .container > .wrap > .topCap, .bgG > .container > .wrap > .topCap, .bgG > .container > .wrap > .topCap, .bgB > .container > .wrap > .topCap, .bgR > .container > .wrap > .topCap {
	background-size: 240px 320px, auto;
}

.indexBox ul {
	margin: 0px auto;
	padding: 0px;
	list-style-type: none;
	width: 40%;
}


.breadcrumb {
  top: 1px;
}


.osusume li > p {
	font-size: 1.5em;
}
.osusume li > p > img {
	width: 20% !important;
}
.osusuMenu dt {
	width: 30%;
}

.osusuMenu dd {
	width: 69%;
}
.osusuMenu dd ul {
	font-size: 1.5rem;
}
.topCap{
	font-size: 1.4rem;
}

.wrap {
	width: 80%;
	margin: 0 auto;
}

.topNews li dl dt {
	width: 120px;/* トリミングしたい枠の幅 */
	height: 120px;/* トリミングしたい枠の高さ */
	float: left;
}
.topNews li dl dd {
	width: calc(100% - 140px);
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.topEvent li {
	float: left;
	width: calc(100% / 3);
}
.topEvent li dt {
	height: 240px;/* トリミングしたい枠の高さ */
}
.topNewFace li {
	float: left;
	width: calc(100% / 2);
}
.topNewFace li a dl dt {
	width: 120px;/* トリミングしたい枠の幅 */
	height: 120px;/* トリミングしたい枠の高さ */
}
.topNewFace li a dl dd {
	margin-left: 140px;
}
.castList li {
	margin: 0px;
	padding: 0;
	float: left;
	width: calc(100% / 5);
}
.prfCont li {
	float: left;
	margin: 0;
	padding: 0%;
}
.prfCont li:nth-child(1) {
	width: 40%;
}
.prfCont li:nth-child(2) {
	width: 60%;
}
.prfData {
	font-size: 1.2rem;
}

ul.prfSch {
	width: 100%;
	clear: none;
}
ul.prfSch:nth-child(2) {
	width:100%;
}
ul.prfSch > li {
	float: left;
	text-align: center;
	margin: 0 !important;
	padding: 0 !important;
	width: calc( 100% / 7 );
}
.price {
	font-size: 1.2em;
}
.f-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.l-imgR, .l-imgL {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
.l-imgR .l-img, .l-imgL .l-img {
  margin: 0 32px 0 0;
  width: 35%;
}

.l-imgR .l-img.small, .l-imgL .l-img.small {
  width: 30%;
}
.l-imgR .l-desc, .l-imgL .l-desc {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
.staffCont > li {
	float: left;
}
.staffCont > li:first-child {
	width: calc( 30% - 0.4rem) ;
}
.staffCont > li:nth-child(2) {
	width: calc( 70% - 0.4rem) ;
}

.list-post-staff li {
	width: calc( 100% / 8 );
}

.card-lesson > li {
  width: 49%;
  float: left;
}

#page-top .footerBtn {
	width: 40%;
}
.img468 {
	width: 468px;
	height: auto;
}
.f-inner .l-left {
  width: 35%;
}

.f-inner .l-right {
   width: 65%;
}
}
/* responsive 50em以上おわり */
                                                     