@charset "UTF-8";
/*Reset*/
*, *:before, *:after { box-sizing: border-box;}
abbr, address, article, aside, audio, b, blockquote, body, canvas, caption, cite, code, dd, del, details, dfn, div, dl, dt, em, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, p, pre, q, samp, section, small, span, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, ul, var, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}
body { line-height: 1;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block;}
nav ul { list-style: none;}
blockquote, q { quotes: none;}
blockquote:after, blockquote:before, q:after, q:before {
    content: '';
    content: none;
}
a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
	text-decoration: none;
}
ins { text-decoration: none;}
ins, mark { 
	background-color: #ff9;
    color: #000;
}
mark {
    font-style: italic;
    font-weight: 700;
}
del { text-decoration: line-through;}
abbr[title], dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}
input, select { vertical-align: middle;}
ul, ul li { list-style: none;}

/* Setting-Common
=======================================*/
html, body {
    width: 100%;
}
html {
    font-size: 62.5%;
}
body {
    font-family: 'Font Awesome 5 Brands', 'Noto Sans JP', sans-serif, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
    color: #444;
    font-size: 1.5rem;
    line-height: 1.8;
    background: #222;
	/*text-align: center;*/
	letter-spacing: 0.08em;
}

img {
    width: 100%;
    height: auto;
    vertical-align: top;
    vertical-align: middle;
}
a img:hover {
    opacity: 0.8;
}

/*.center {text-align: center;}
.active {
    opacity: 1;
    visibility: visible;
}*/

.mt10 {margin-top: 10px !important;}
.mt20 {margin-top: 20px !important;}
.mt30 {margin-top: 30px !important;}
.mt50 {margin-top: 50px !important;}
.mt60 {margin-top: 60px !important;}
.mt70 {margin-top: 70px !important;}
.mt80 {margin-top: 80px !important;}
.mt90 {margin-top: 90px !important;}
.mt100 {margin-top: 100px !important;}
.mb30 {margin-bottom: 30px !important;}


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


.flex,
.flex_wrap {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
/*    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    align-items: center;
*/
}
.flex--bet {
    justify-content: space-between;
    -webkit-justify-content: space-between;
}
.flex--center {
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    align-items: center;
	justify-content: center;
    -webkit-justify-content: center;
}
.flex--start {
    justify-content:flex-start;
    -webkit-justify-content: flex-start;
}
.anti-spam {
	display: none !important;
}

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

/*h1.h2.h3-images*/

h4{
	font-size: 30px;
  font-size: 1.5em;
	line-height: 1.5;
	margin: 1em 0;
	margin: 0 0 1em 0;
}
h5 {
	
	text-align: left;
	font-size: 1.2em;

	
    /*font-size: 1.6em;*/
    margin: 30px 0;
    margin: 2em 0 0;
	font-weight: bold;
    line-height: 1.6;
    color: #1845ac;
	/*background: url("../images/icon.png") left top no-repeat;
	background-size: 1.6em;
    padding-left: 2em;*/
}
h5 span{
	color: #222; 
	font-size:0.75em;
	font-weight: normal;
}
h6 {
	margin: 0 0 2em;
  font-weight: bold;
  color: #3889cc;
  font-size: 20px;
  font-size: 1.4em;
}

.ttlBig{
	font-family: 'Shippori Mincho', serif;
	font-weight: bold;
	font-size: 2em;
	color: #3889cc;
	color: #0086fc;
	margin-bottom: 1.25em;
}
.ttlBig span{
	display: block;
	font-size: 12px;
	color: #333;
}
.ttlBig span::before {
    content: '――';
    display: inline-block;
    position: relative;
    top: -.1em;
    width: 2em;
    height: 2em;
	margin-right: 1em;
    vertical-align: middle;    

	
letter-spacing: -.2em;
width: 2em;
margin-right: .5em;
}

p {
	margin: 0 0 2em;
}
/*#sec_concept p,
.colum_text p,
#sec_reservation .register p{
	margin: 0 0 2em;
}*/
a {
	color: #444;
}

.f20 {font-size: 20px;}
.red {color: #ff5828;}
.blue {color: #3889cc;}
.bold {font-weight: bold;}
.textC {text-align: center; margin: 0 auto;}
.text-small {font-size: 0.8em;}
.hover-c:hover {color: #18AAA2; font-weight: bold;}

/*--------------------------------------
Setting-base
--------------------------------------*/

section {
	padding: 120px 0;
	min-height: 300px;
	text-align: left;
	overflow: hidden;
}
.inner {
	/*display: block;*/
    overflow: hidden;
    width: 90%;
    width: 92%;
    margin: 0 auto;
}
.col2 {
    width: 50%;
    float: left;
    padding: 0 20px;
}

footer {
    background: #eee;
	background: #ede6d9;
    text-align: center;
	font-size: 0.8em;
	background: #000;
	color: #fff;
}
.fIn {
	position: relative;
    padding: 0 22%;
}
footer ul li a {
	margin: 0 1em;
	margin: 0 8px 0 0;
	color: #fff;
}

footer ul li a:after {
  content: "|";
	padding-left: 8px;
	color: #c9c0ae;
}
footer ul li:last-child a:after {
	  content: "";
}
footer .goTop {
	position: absolute;
	top: 0;
	/*bottom: 0;*/
	right: 0;
	width: 50px;
	height: 30px;
	height: 50px;
	background: #fff;
	text-align: center;
	
	/*border-radius: 50%;*/
	background:#222;
	right: 0px;
	top: -72px;
	
	
}
footer .goTop a{
	display: block;
	width: 100%;
	height: 100%;
	line-height: 30px;
	line-height: 50px;
	color: #0c3d5f;
	
	color: #fff;
}


/*--------------------------------------
Setting-#sec_kv
--------------------------------------*/

#sec_kv {
	padding: 0;
	position: relative;
	/*border-bottom: 12px solid #ff5829;*/
}
h1.catchphrase {
	text-align: center;
	position: absolute;
	/*bottom: 145px;*/
	top: 22vh;
	
	right: 0;
	z-index: 80;
	
	
	/*left: 0;*/
	top: 15vh;
	left: 50%;
}
h1.catchphrase img{
	width: 72%;
	max-width: 400px;
}
/*h1.catchphrase::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
	background: rgba(0,0,0,0.2);
    transform: skewY(-3deg);
    z-index: -1;
	height: 14vh;
	height: 7em;
	height: 100px;
}*/

#home .logo_top{
	position: absolute;
	bottom: -2px;
	
	
	margin: 0 auto;
	background: #ff5829;
	border-radius: 6px 6px 0 0;
	width: 36%;
	width: 66%;
	margin: 0 auto;
	padding: 2px 18px;
	
	/*right: 0;
	left: 0;*/
	bottom: 5%;
	background: #18AAA2;
		border-radius: 0;
	left: 0;
	    width: 50%;
	
right: 50%;
	text-align: center;
}


#home .logo_top img{
	
	max-width: 460px;
}


/* Setting-header
=======================*/


#slider {
	background: url("../images/slide01.jpg") center no-repeat;
	background-size: cover;
    width: 100%;
    height: 92vh;/*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
}




header ul{
	position: absolute;
	z-index: 90;
	top: 0;
	right: 100px;
}
header ul li{
	background: #d5d1c3;
	box-shadow:0px -8px 8px -1px #ccc inset;
	box-shadow:0px -2px 5px -3px #b4b1a9 inset;
	text-align: center;
	margin: 0 5px;
}
header ul li a {
	display: block;
	width: 150px;
	padding: 15px 20px;
}
/*header ul li a::before{
	content: "";
	content: url("images/icon_a.png");
  vertical-align: middle;
    display: block;
    position: absolute;
    z-index: 101;
	transform: scale(0.5);
	top: -10px;
left: 0px;
}*/

header ul li a::before {
    content: "";
    display: inline-block;
    width: 25px;
    height: 20px;
    margin-right: 0.25em;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: auto 100%;
    background-image: url("../images/trial.png");
    vertical-align: -0.38em;
}
header ul li.btn2 a::before {
    background-image: url("../images/icon_a.png");	
}

/* Setting-navi
=======================*/


/*.navi{
    position: relative;
    width: 100%;
    text-align: center;
    background: #eee;
	background: #C8D0DB;
	background: #B0C9EC;
    color: #000;
    z-index: 100;
	padding: 20px 0;
	
}
.navi ul li a{
	margin: 0 1em;
	color: #333;
}*/

.logo img {
	/*width: 240px;
	height: auto;*/
	
	/*margin: 0 auto;*/
}

/*.logo {
	float: left;
}
navi {float: right;}
#global-nav.m_fixed {
	position: fixed;
	top: 0;
}*/


/*--------------------------------------
Setting-#sec_info
--------------------------------------*/
#sec_info .inner {
	position: relative;
	overflow: hidden;
}
.titleWrap {overflow: hidden;}

#sec_info .date { 
	font-size: 0.9em;
	color: #666;
  width: 20%;
	float: left;
  display: inline-block;
}
#sec_info .title { 
	float: left;
	width: 80%;
}
#sec_info .bloglist {
	margin: 2em 0 0;
background: #fff;
padding: 3px 15px 3px 20px;
float: right;
border: 2px solid #ff5829;
border-radius: 50px;
	font-size: 0.9em;
}

#sec_info .bloglist a::after {
    content: ">";
	padding: 0 0 0 10px;
}


/*--------------------------------------
Setting-#sec_concept
--------------------------------------*/

#sec_concept{
	background: #111;
}


/* Setting-img-scroll
=======================*/


@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes infinity-scroll-right {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0%);
  }
}
.c-notion{
text-align: center;
padding-bottom: 5px;
}

.c-padding{
padding-top: 120px;
}

_:-ms-lang(x)::-ms-backdrop,
.d-demo {
display: -ms-grid;
  overflow: hidden;
}

.d-demo__wrap {
  display: flex;
  overflow: hidden;
}


.d-demo__list {
  display: flex;
  list-style: none;

}
.d-demo__list--vertical  {
flex-direction: column;

}

.d-demo__list--left{
animation :infinity-scroll-left 110s infinite linear 0.5s both;
}
.d-demo__list--right{
animation :infinity-scroll-right 110s infinite linear 0.5s both;
}

.d-demo__item {
  width: calc(100vw / 3);
	
	margin: 0 2em 6em;

}
.d-demo__list--vertical .d-demo__item {
min-height: 0%;
}
.d-demo__item > img{
   width: 100%;
}

.d-demo__wrap--hover:hover .d-demo__list--left{
animation-play-state: paused;
}

/*@media screen and (max-width: 35em){
c-padding{
padding-top: 60px;
}
.d-demo__item {
  width: calc(100vw / 1);

}
.d-demo__list--left{
animation :infinity-scroll-left 40s infinite linear 0.5s both;
}
.d-demo__list--right{
animation :infinity-scroll-right 40s infinite linear 0.5s both;
}
}*/



#sec_concept .ttlBig{
	
}

#sec_concept .ttlBig span,
#sec_features .ttlBig span,
#sec_seizou .ttlBig span,
#sec_design .ttlBig span,
#sec_target .ttlBig span{
	color: #fff;
}

#sec_concept .flex_wrap {
	justify-content:space-between;
    flex-wrap: wrap;
	color: #fff;
}
#sec_concept .flex_wrap div {
	width: 48%;
}
#sec_concept .right div{
	width: 80% !important;
	margin: 60px auto 120px;
}
#sec_concept .left {
	position: relative;
}
#sec_concept .left h2 {
	position: absolute;
top: 0;
right: -100px;
vertical-align: top;
	width: 130px;
}

#sec_concept .right{
		font-family: 'Shippori Mincho', serif;
}


/*--------------------------------------
Setting-.contact_box
--------------------------------------*/

.contact_box{
	margin: 0 auto;	
	text-align: center;

}
#contact1.contact_box {
		width: 100%;
	max-width: 1000px;
	background: #f3f1e9;
	margin-top: -120px;
	margin-top: -10em;
	 box-shadow: 0px 8px 5px -5px rgba(0,0,0,0.5);
	position: absolute;
z-index: 5;
left: 0;
right: 0;
}
#contact2.contact_box {
	border-top: 3px solid #f3f1e9;
	border-bottom: 3px solid #f3f1e9;
	margin: 0 auto 5em;
}

.contact_box .flex_wrap{
		justify-content:space-between;
    flex-wrap: wrap;
}
.contact_box .flex_wrap div{
	position: relative;
    width: 33.33333%;
	border-right: 2px solid #fff;
}
#contact2.contact_box .flex_wrap div{
	border-right: 2px solid #f3f1e9;
}
.contact_box div.btn_box a{
	margin: 10px 14px;
	display: inline-block;
	background: #fff;
	color: #ef6e3c;
	border: 4px solid #ef6e3c;
	border-radius: 8px;
	padding: 5px;
	position: relative;
	font-size: 1.4em;
	font-weight: bold;
}
#contact2.contact_box div.btn_box a{
	background: #ef6e3c;
	color: #fff;
	border: 4px solid #ef6e3c;
}
/*.contact_box div.btn_box a:hover{
	background: #ddd;
}*/
.contact_box div.btn_box a img{
	width: 70%;
	margin: 0 auto;
	display: block;
	padding-top: 2em;
}
.contact_box div.btn_box a:hover img{
	 transform:scale(1.1,1.1);
  transition: 1s all;
}
.contact_box div.btn_box span{
	display: block;
	padding-bottom: 3em;
	font-size: 10px;
	font-weight: normal;
}

.contact_box div.btn_box::before {
    content: "";
    top: 22px;
	right: 26px;
	border-bottom: 3em solid transparent;
    border-right: 3em solid #ef6e3c;
    position: absolute;
    z-index: 80;
}
#contact2.contact_box div.btn_box::before {
	border-bottom: 3em solid transparent;
    border-right: 3em solid #fff;
}
.contact_box div.btn_box::after {
    /*content: "New!";*/
    display: block;
    transform: rotate(45deg);
    position: absolute;
    z-index: 101;
}

.contact_box div.tel_box,
#contact2.contact_box div.tel_box{
	border: none;
	text-align: left;
	padding: 3em 0 0 2em;
}
div.tel_box .fa{
	font-size: 1.2em;
}
.contact_box div.tel_box p{
	margin: 0;
}
.contact_box div.tel_box ul li{
	font-weight: bold;
}
.contact_box div.tel_box ul li span.text-small{
	font-size: 10px;
}
.contact_box div.tel_box ul li.shop{
	margin-top: 1em;
	line-height: 1;
}



/*--------------------------------------
Setting-#sec_colum
--------------------------------------*/





#sec_colum .inner{
	padding-top: 300px;
	
}
#sec_colum h3{
	width: 50%;
}


.colum_text p > span {
  position: relative;
  display: inline-block;
	color: #163a02;
  z-index: 2;	
}




/*--------------------------------------
Setting-#sec_design
--------------------------------------*/

#sec_design {
	background: #333;
	color: #fff;
}

#sec_design picture{
	position: relative;	
}
/*#sec_design .img-container:after {
  content: "";
  display: block;
  position: relative;
  position: absolute;
	bottom: 15vh;
  bottom: 0;
  z-index: 10;
  background: #fff;
  width: 50%;
  height: 17vh;
	height: 90px;
}

#sec_design .point01 .img-container:after,
#sec_design .point03 .img-container:after {
	right: 0;
}
#sec_design .point02 .img-container:after,
#sec_design .point04 .img-container:after {
  left: 0;
}*/
.point_text {
	width: 50%;
  position: relative;
	padding: 0 4em 8em;
	z-index: 11;
	margin-top: -4em;
}

.point_text p{
line-height: 2;
}

.ttl-img img{
	width: 47%;
	max-width: 240px;
	height: auto;
}

.point01{
	overflow: hidden;
}
.point01 .point_text,
.point03 .point_text{
	float: right;
}
.point02 .point_text {
	padding: 0 4em 2em;
}
.point02 .point02-photo {
	margin: 0 auto 10em;
}
.point02 .point02-photo ul li{
	width: 50%;	
}

.point03{
	overflow: hidden;
}
.point04{
	overflow: hidden;
}

/*.point04_sub ul {
	margin: 100px 0 150px;
}
.point04_sub ul li {
	width: 33.33%;
	float: left;
	display: block;
	vertical-align: top;
}
.point04_sub ul li img {
	width: 100%;
}*/




/* Setting-animation1
=======================*/

.img-container {
	/*overflow: hidden;*/
	position: relative;
}
.img-container p{
	position: absolute;
	top: 1px;
	left: 10px;
	z-index: 3;
	background: #000;
	display: inline-block;
	padding: 3px 10px;
}
.img-container img {
	display: block;
	/*opacity: 0;*/
	position: relative;
	transition: all .5s .3s ease;
	z-index: 0;
	width: 100%;
	
	    border: 1px solid #fff;
    border-radius: 8px;
	margin: 1em 0;
}
/*.img-container:before {
	background: #333;
	content: '';
	display: block;
	height: 100%;
	position: absolute;
	-webkit-transform: translateX(-100%);
	transform: translateX(-100%);
	transition: all .8s 0s ease;
	width: 100%;
	z-index: 1;
}
.img-container.active img {
	opacity: 1;
}
.img-container.active:before {
	-webkit-transform: translateX(100%);
	transform: translateX(100%);
}

.point02 .img-container:before,
.point04 .img-container:before {
	-webkit-transform: translateX(100%);
	transform: translateX(100%);
}*/
.point02 .img-container.active:before,
.point04 .img-container.active:before {
	-webkit-transform: translateX(-100%);
	transform: translateX(-100%);
}


/* Setting-animation2
=======================*/
.fadeInUp {
	-webkit-animation: fadeInUp 1s cubic-bezier(.55, 0, .1, 1) both;
	animation: fadeInUp 1s cubic-bezier(.55, 0, .1, 1) both;
}
@-webkit-keyframes fadeInUp {
from {
opacity: 0;
-webkit-transform: translateY(8px);
transform: translateY(8px);
}
}
@keyframes fadeInUp {
from {
opacity: 0;
-webkit-transform: translateY(8px);
transform: translateY(8px);
}
}
.delay1 {
	-webkit-animation-delay: 0.5s;
	animation-delay: 0.5s;
}
.delay2 {
	-webkit-animation-delay: 1s;
	animation-delay: 1s;
}
.delay3 {
	-webkit-animation-delay: 1.5s;
	animation-delay: 1.5s;
}


/*--------------------------------------
Setting-#sec_target
--------------------------------------*/

#sec_target{background: #efefef;
background: #222;
color: #fff;}
#sec_target .flex_wrap{
	flex-wrap:wrap;}

/* Setting-hover-action
=======================*/
.hover {
  position: relative;
  width: 32%;
  height: auto;
	margin: 0 1% 40px 0;
	border-radius: 12px;
	background: #d3df9d;
}
.hover .hover-img {
  margin: 0;
  padding: 0;
	position: relative;
}
.hover .hover-img p{
	background: rgba(0,0,0,0.65);
	color: #fff;
	position: absolute;
	bottom: 0;
	display: block;
	width: 100%;
    text-align: center;
	padding: 10px 0;
	border-radius: 0 0 12px 12px;
}
.hover-img img {
  width: 100%;
  height: 100%;
}
.hover .hover-text {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  color: #fff;
  background-color: rgba(0,0,0,0.8);
  /*透明にして表示させない*/
  opacity: 0;
  /*ホバーの動き方*/
  transition: .3s ease-in-out;
	border-radius: 12px;
}
.hover .hover-text .text1 {
  /*font-size: 22px;*/
  font-size: 1.2em;
  padding: 10px 20px;
}
.hover .hover-text .text1 span{
	font-size: 0.8em;
	display: block;
}
.hover .hover-text .text2 {
  padding: 0 20px;
}
/*ホバーエフェクト*/
.hover:hover .hover-text {
  /*不透明にして表示*/
  opacity: 1;
}
.hover:hover .hover-img p{
  opacity: 0;
}


/*--------------------------------------
Setting-#sec_member
--------------------------------------*/


#sec_member .price{
	color: #fff;
	overflow: hidden;
	text-align: center;
	width: 40%;
}
#sec_member .price dt{
	width: 45%;
	background: #1b6845;
	float: left;
	padding: 10px 20px;
	border-radius: 6px 0 0 6px;
	
}
#sec_member .price dd{
	width: 55%;
	background: #80b8b1;
	float: left;
	padding: 10px 20px;
	border-radius: 0 6px 6px 0;
}

#sec_member .benefit {
	background:rgba(255,255,255,0.7);
	border-radius: 4px;
	display: flex;
	width: 70%;
	vertical-align: middle;
	margin: 20px 0 30px;
}
#sec_member .benefit div{
	margin: 1.2em;
}
#sec_member .benefit .left{
	width: 25%;
	margin-right: 5px;
}
#sec_member .benefit .left img{
	margin: 1em 0 0.5em;
}
#sec_member .benefit .right p{
	margin: 0 0 0.5em;
	font-weight: bold;	
}

#sec_member .benefit ul.text-small{
	text-indent: -1em;
	padding-left: 1em;
}


/* Setting-price-table
=======================*/

tbody {
    -webkit-text-size-adjust: 100%;
}
table {
    margin: 20px auto;
    width: 100%;
    /*max-width: 940px;*/
    font-size: 13px;
    color: #111;
    border-collapse: collapse;
    margin-bottom: 10px;
    border: none;
	background: #fff;
	text-align: center;
    border-bottom: 1px solid #f5f5f5;
}
table th {
    font-weight: normal;
    border-top: 1px solid #fff;
    border: 1px solid #fff;
    padding: 15px 6px;
    background: #eee;
    vertical-align: middle;
	background: #eee;
	background:#cecece;
}
table td {
    text-align: center;
    padding: 20px 10px;
    padding: 5px;
    border: none;
    border: 1px solid #ddd;
    vertical-align: middle;
}
table .w1 {width: 18%;}
table .w2 {width: 30%;}
table .w3 {width: 18%;}
table .w4 {width: 15%;}
table .lesson img{
		width: 44px;
		height: auto;
	}
table .lesson span{
font-size: 2em;
	font-weight: bold;
	padding: 0 2px;
}
table .lesson img{
		width: 44px;
		height: auto;
	}
.kome {
	text-align: left;
	font-size: 0.8em;
}
.bgc1 {
	background: #eee;
}
.bgc2 {
	background:#ddd;
}
.border-r {
	border-right: 1px solid #fff;
}
.border-r2 {
	border-right: 2px dotted #fff;
}
.border-r3 {
	border-right: 2px dotted #eee;
}


/*--------------------------------------
Setting-#sec_qa
--------------------------------------*/

#sec_qa{
	background: #222;
color: #fff;}



/*--------------------------------------
Setting-#sec_reservation
--------------------------------------*/

#sec_reservation{}

#sec_reservation .register{
	padding: 30px 30px 5em;
	word-break: break-all;
}
#sec_reservation .flex_wrap .right{
	width: 20%;
}

#howto_box{
	overflow: hidden;
}

ul#tab {
	padding: 0;
	margin: 0 auto;
	border-bottom: 4px solid #f3f1e9;
	overflow: hidden;
	
	/*display: flex;*/
}

ul#tab li {
	height: 80px;
	margin: 0 40px;
	/*outline: none;
	display: block;*/
	/*line-height: 80px;*/
	text-align: center;
	cursor: pointer;
	background: #f3f1e9;
	width: 45%;
	border-radius: 6px 6px 0 0;
	font-size: 1.1em;
	padding: .7em 0 0;
}
ul#tab li span{
	display: block;
	font-size: 0.9em;
}
/*ul#tab li:after {
	content: "▼";
	margin-left: 8px;
}*/

#tab li.select {
	background: #3889cc;
	text-decoration: none;
	color: #fff;
}
/*.linkUp {
	display: inline-block;
	padding: 10px 25px;
	background: #2c3e50;
	color: #fff;
}*/
.disnon {
	display: none;
}

.howto_wrap {
	clear: both;
	padding: 50px 5%;
	margin: 0 auto;
	background: #fff;
	overflow: hidden;
	border-bottom: 4px solid #f3f1e9;	
}

.howto_photo {
	width: 30%;
	/*float: left;*/
	    margin-right: 2em;
}
/*.howto_photo img{
	width: auto;
	height: 100%;
	max-height: 360px;
}*/
.howto_text {
	width: 65%;
}

.howto_text .blue{
	margin-top: 1.5em;
}
.howto_text .blue.first {
	margin-top: 0;
	}



/*--------------------------------------
Setting-#sec_address
--------------------------------------*/

#sec_address{
	background: #ef6e3c;
	color: #fff;
	padding: 60px 0;
}
#sec_address a{
	color: #fff;
}
#sec_address img{
	padding: 2em 2em 1em;
}
.fab {
  font-family: "Font Awesome 5 Brands";
}

.m_sns {
	overflow: hidden;
}
.m_sns > a {
  display: inline-block;
  width: 2.6rem;
  height: 2.6rem;
  line-height: 2.6rem;
  text-align: center;
  /*border-radius: 50%;
	color: #2A4281;
	color: #6189C0;*/
	color: #fff;
}

.m_sns > a > i {
  display: inline-block;
	font-size: 2.4rem;
  font-weight: normal;
	margin: 0;
}

.icon::before {
  content: '\f35a';
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
}
#sec_address dl {
	overflow: hidden;
	margin: 1em 0 0;
}
#sec_address dl dt{
	float: left;
	width: 20%;
	text-align: right;
}
#sec_address dl dd{
	float: left;
	width: 70%;
	margin-left: 5%;
	padding-bottom: 5px;
}


/*--------------------------------------
Setting-#sec_map
--------------------------------------*/


#sec_map {
	min-height: 400px;
	padding: 0;
}
#sec_map iframe{
	vertical-align: bottom;
}

/*#access .col2{
	position: relative;
}
#access #ad {
	width: 30%;
}
#access #map {
	width: 68%;
}

.map {
 width: 62.1%;
  max-width: 720px;
  height: 600px;
  position: absolute;
  top: 0px;
  left: 0px;
}*/

.iframe-wrp {
  position: relative;
  width: 100%;
  padding-top: 75%; /* = height ÷ width × 100 */
}
.iframe-wrp iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


/*--------------------------------------
Setting-page-#textPage
--------------------------------------*/
#textPage section {
	padding: 30px 0 66px;
}
#textPage .contents {
	background: #eef0f8;
}
#textPage {
	text-align: left;
	background: #fff;
}
#textPage .logo{
	text-align: center;
	background: #18AAA2;
	padding: 10px 0;
}
#textPage .logo img{
	width: 240px;
	height: auto;
	margin: 0 1em;
}
#textPage h1{
	margin: 0 0 2em;
	padding: 1em;
	font-weight: bold;
	color: #BDAC84;
	border-bottom: 3px solid #BDAC84;
	text-align: left;
	font-size: 1.4em;
}
#textPage p{ margin: 0 0 2em;}
#textPage dl dt{
	font-weight: bold;
	font-size: 1.1em;
	margin-bottom: 1em;
}
#textPage dl dd{
margin: 1em 1em 3em;
}
#textPage dl dd ul{
	margin: 1em 0;
}
#textPage dl dd ul li{
	margin: 0 0 5px;
	text-indent: -1em;
	padding-left: 1em;
}
#textPage footer .goTop {
	top: -55px;
}

/*--------------------------------------
Setting-law.html
--------------------------------------*/
table#law {
	text-align: left;
}
table#law th{
	width: 30%;
	padding: 20px;
}
table#law td{
	text-align: left;
	padding: 20px 40px;
	border-bottom: 1px solid #b2cbda;
}






.featuresBox {
	background: #276c8e;
	color: #fff;
	    padding: 30px 20px 10px;
	width: 100%;
}

.featuresBox.no2,
.featuresBox.no4 {
	background: #000;
	color: #fff;
}


.mediaBox {
	/*display: flex;
	
	flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    align-items: center;

    justify-content:flex-start;
    -webkit-justify-content: flex-start;
	*/
}
.mediaBox article{
	
	width: 100%;
}
.movie-thumb {
    /*width: 44%;
float: left;*/
    margin: 0 auto 1em;
    min-height: 142px;
}
.movie-thumb .frameWrap {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 75%;/* 4:3 */
    padding-top: 66%;/* 3:2 */
    padding-top: 56%;/* 16:9 */
}
.movie-thumb .frameWrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
#sec_shoplist{
	background: #eee;
}
.shop {
	padding: 20px;
    width: 100%;
    border-bottom: 1px solid #999;
    margin: 0;
}
.shop dl dt{
	margin-bottom: 8px;
	font-size: 1.2em;
}
.shop dl dt span{
	display: inline-block; 
	font-size: 10px;
	background:#1845AC;
	color: #fff;
	padding: 2px 5px;
	margin: 0 2px;
}
.shop dl dt span.buy{
	background:#B20000;	
}
.shop dl dd span{
	font-size: 10px;
}


/*--------------------------------------
Setting-#sec_reputation
--------------------------------------*/

#sec_reputation{
	background: #3889cc;
	color: #fff;
}



#sec_seizou {
	background: #000;
	color: #fff;
}

.dl_message,
.ul_target{
		display: flex;
	
	flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    align-items: center;

    justify-content:flex-start;
    -webkit-justify-content: flex-start;

}
.ul_target li{
	width: 46%;
	padding: 20px 5px;
	background:#00A1B8;
	margin: 2%;
	
	
	    width: 100%;
    /* text-align: center; */
    padding: 15px 20px;
    background: #000000;
    margin: 2% 0;
    color: #3bc1fd;
	border: 1px solid #3bc1fd;
}


.dl_message dt {
	width:  25%
}

.dl_message dd {
	width:  75%
}

.bb_blue {
	border-bottom: 3px double #00A1B8;
}

#specChoice {
	border: 5px solid #222;
	padding: 20px;
	background: #33434f;
}

.leadText {
	    font-size: 1.1em;
    color: #fff;
    letter-spacing: .15em;
}

#sec_message{
	background: #eee;
}

.point {
	margin: 2em 0;
}

.link-b {
	text-decoration: underline;
}
#sec_spec {
	background: #efefef;
}

.specSample .ttl{
	    border: 1px solid #ddd;
    padding: 2px 12px;
    display: inline-block;
    margin: 20px 0 10px;
    background: #333;
    color: #fff;
}
.specSample table{
	font-size: .8em;
}
.specSample table th {
    padding: 10px 6px;
}
.specSample table td {
    padding: 3px;
	
}



.gridWarp {
	margin: 0 auto;
  /*padding: 5px;*/
  width: 100%;
  column-count: 2;
  column-gap: 0;
}
.gridWarp2 {
	margin: 0 auto;
  /*padding: 5px;*/
  width: 100%;
  column-count: 4;
  column-gap: 0;
}
.ul_post {
	/*display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-flex-direction: column;
    flex-direction: column;
    max-height: 800px;
	width: 100%;*/
	
	/*margin: 0 auto;
  padding: 5px;
  width: 90%;
  column-count: 4;
  column-gap: 0;*/
}
.ul_post li{
	
	/*margin: 16px;
  margin-top: 0;
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  break-inside: avoid;
  box-shadow: 8px 12px 10px -6px rgba(0, 0, 0, 0.3);
  display: inline-block;*/
	

	padding: 5px;

	/*-webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  break-inside: avoid;*/
}

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

.gridWarp {
	margin: 0 auto;
  width: 100%;
  column-count: 1;
  column-gap: 0;
}
.ul_post li{
	width: 96%;
		margin: 0 auto;
	}
}

.button{
	margin: 0 auto;
    text-align: center;
    display: block;
	
	    display: flex;
    justify-content: center;
    align-items: center;
    width: 250px;
    margin:0 auto;
    padding: .9em 2em;
    border: 1px solid #2589d0;
    border-radius: 5px;
    background-color: #fff;
    color: #2589d0;
    font-size: 1em;
}
.hidden-view{
    display: none;
}
.hidden-view.open{
    display: block;
}
.button::before{
    content: "もっと見る";
}
.hidden-view.open + .button::before{
    content: "閉じる";
}










/***************************** 
btn-accordion */

.accordionlist {
	overflow: hidden;
	margin: 1em 0;
}
@media only screen and (max-width: 800px) {
	.accordionlist {
	margin: 10px;
}
}
/*====================================================================
.accordionlist .accordion_one
====================================================================*/
.accordionlist .accordion_one {
    /*max-width: 1024px;*/
    margin: 0;
	cursor: pointer;
	
	width: 100%;
}
.accordionlist .accordion_one p{
	margin: 0 0 10px;
}
.accordionlist .accordion_inner table{
	width: 100% !important;
	margin: 15px 0 20px;
}
.accordionlist .accordion_one .accordion_header{
	text-align: center;
}
.accordionlist .accordion_one .accordion_header span{
    
    font-weight: bold;
	padding: 10px 10%;
    position: relative;
    z-index: +1;
    cursor: pointer;
    transition-duration: 0.2s;
		background: #f5f5f5;
	margin: 0 auto;
	display: inline-block;
	width: auto;
	border-radius: 5px;
	color: #3889cc;
	
	background: #000;
	color: #fff;
}

/*.accordionlist .accordion_one .accordion_header:after{
    content: "\f002";
    font-family: 'FontAwesome';
    position: absolute;
    font-weight: bold;
    font-size: 1.6em;
    top: calc(50% - 0.5em);
    left: 13px;
    display: block;
	color: #ff3399;
}*/



.accordionlist .accordion_one .accordion_header:hover {
    opacity: .8;
}
.accordionlist .accordion_one .accordion_header .i_box {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 50%;
    right: 5%;
    width: 40px;
    height: 40px;
    margin-top: -20px;
    box-sizing: border-box;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    transform-origin: center center;
    transition-duration: 0.2s;
	
	display: none;
}
.accordionlist .accordion_one .accordion_header .i_box .one_i {
    display: block;
    width: 18px;
    height: 18px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    transform-origin: center center;
    transition-duration: 0.2s;
    position: relative;
}
.accordionlist .accordion_one .accordion_header.open .i_box {
    -webkit-transform: rotate(-360deg);
    transform: rotate(-360deg);
}
.accordionlist .accordion_one .accordion_header .i_box .one_i:before, .accordionlist .accordion_one .accordion_header .i_box .one_i:after {
    display: flex;
    content: '';
    background-color: #ff3399;
    border-radius: 10px;
    width: 18px;
    height: 4px;
    position: absolute;
    top: 7px;
    left: 0;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    transform-origin: center center;
}
.accordionlist .accordion_one .accordion_header .i_box .one_i:before {
    width: 4px;
    height: 18px;
    top: 0;
    left: 7px;
}
.accordionlist .accordion_one .accordion_header.open .i_box .one_i:before {
    content: none;
}
.accordionlist .accordion_one .accordion_header.open .i_box .one_i:after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.accordionlist .accordion_one .accordion_inner {
    display: none;
    padding: 20px 0;
    box-sizing: border-box;
}


.accordionlist .accordion_one .accordion_inner .closeArea {
    width: 130px;
    margin: 50px auto 30px;
}
.accordionlist .accordion_one .accordion_inner .closeArea .close_box a.close_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    /*background: #db0f2f;*/
    padding: 5px 0px 5px 20px;
    text-decoration: none;
    line-height: 1.3;
    /*color: #fff;*/
    font-size: 18px;
    font-weight: bold;
    position: relative;
    cursor: pointer;
    transition-duration: 0.2s;
	border: 1px solid #eee;
	    border-radius: 4px;
	background: #eee;
}

.accordionlist .accordion_one .accordion_inner .closeArea .close_box a.close_btn:hover {
    opacity: .8;
}
.accordionlist .accordion_one .accordion_inner .closeArea .close_box a.close_btn .i_box {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 50%;
    left: 15%;
    width: 30px;
    height: 30px;
    margin-top: -15px;
}
.accordionlist .accordion_one .accordion_inner .closeArea .close_box a.close_btn .i_box .one_i {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 18px;
    height: 18px;
}
.accordionlist .accordion_one .accordion_inner .closeArea .close_box a.close_btn .i_box .one_i:before, .accordionlist .accordion_one .accordion_inner .closeArea .close_box a.close_btn .i_box .one_i:after {
    content: '';
    background-color: #3889cc;
    border-radius: 10px;
    width: 18px;
    height: 4px;
    position: absolute;
    top: 7px;
    left: 0;
    -webkit-transform: rotate(-45deg);
    transform: rotate(45deg);
    transform-origin: center center;
}
.accordionlist .accordion_one .accordion_inner .closeArea .close_box a.close_btn .i_box .one_i:before {
    width: 4px;
    height: 18px;
    top: 0;
    left: 7px;
}
.accordionlist .accordion_one .accordion_inner .closeArea .close_box a.close_btn {
        font-size: 0.9em;
	font-weight: normal;
}
.ac_link a {display: block; width: 100%; text-decoration: none;}


.ac_link .i_arrow {
position: relative;
padding-right: 15px;
text-decoration: none;
}
 
.ac_link .i_arrow::after {
content: '';
display: block;
width: 14px; /* 矢印の大きさの指定 */ 
height: 14px; /* 矢印の大きさの指定 */
border-top: 4px solid #ff3399; /* 矢印の太さの指定 */
border-left: 4px solid #ff3399; /* 矢印の太さの指定 */
	display: none;
	visibility: hidden;
}
 
.ac_link .i_arrow::after {
transform: rotate(135deg); /* 矢印の角度の指定 */
position: absolute; /* 矢印の位置の指定 */
/*right: 0;
top: 6px;*/
	
	position: relative;
	right: 0;
	float: right;
 
	right: 15px;
	top: 3px;
}

@media only screen and (max-width: 479px) {
.accordionlist .accordion_one .accordion_header {
	/*text-align: center;
	padding: 20px 10% 20px 5%;*/
}
	.accordionlist .accordion_one .accordion_inner {
		padding: 20px 5px 20px 0;
	}
}


.lead1,
.lead3 {
font-weight: bold;	
}
.lead2 img{
	width: 100%;
	    max-width: 440px;
    margin: 20px auto 15px;
}


#infoShida ul{
	    border: 2px solid #00a4d8;
    padding: 20px;
    background: #dfe6ef;
    margin: 20px auto;
    border-radius: 8px;
}
#infoShida ul li:first-child/*,
#infoShida ul li:nth-child(2)*/{
	font-weight: bold;
	font-size: 1.1em;
}
#infoShida ul li a{
	text-decoration: underline;
}
#infoShida ul li a:hover{
	color: #1845ac;

}