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

/************************
 BASE
*************************/
html {
	font-size: 62.5%;
	overflow-x: hidden;
}
body {
	font-family: 'M PLUS Rounded 1c', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
	font-feature-settings : "palt" 1;
	font-kerning: auto;
	font-size: 18px;
  	font-size: 1.8rem;
	font-weight:400;
	line-height: 1.8;
	color:#FFF;
	overflow-x: hidden;
	background-color: #2B2B2B;
}
.eng01 {
	font-family: 'Rajdhani', sans-serif !important;
}
.enb02 {
	font-family: 'Lato', sans-serif !important;	
}

body * {
	box-sizing: border-box;
}

a {
	transition: .5s;
	color:#FFF;
	cursor: pointer;
	text-decoration: none;
}
a:hover {
	opacity:0.8;
}
ul, li, ol {
	list-style: none;
	margin:0;
}

img {
	display: block;
	height: auto;
	max-width:100%;
}

.clearfix {
  zoom: 1;
}

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

@media screen and (max-width: 550px) {
	.sp-none {
		display: none!important;
	}
}
/*
@media screen and (min-width: 551px) {
	.sp-only {
		display: none!important;
	}
}
*/

@media screen and (max-width: 1200px) {
	.tab-only {
		display: none!important;
	}
	.sp-none {
		display: none!important;
	}
	body {
		font-kerning: auto;
		font-size: 16px;
		font-size: 1.6rem;
	}
}
@media screen and (max-width: 1024px) {
	.pc-only, .sp-only {
		display: none!important;
	}
	.tab-only{
		display:block!important;
	}
	body {
		font-kerning: auto;
		font-size: 14px;
		font-size: 1.4rem;
	}

}
@media screen and (max-width: 768px) {
	.sp-none,.sp-only {
		display: none!important;
	}
	.tab-only{
		display:block!important;
	}

}
@media screen and (max-width: 414px) {
	.tab-only {
		display: none!important;
	}
	.sp-none {
		display: none!important;
	}
	.sp-only {
		display: block!important;
	}
	body {
		font-kerning: auto;
		font-size: 14px;
		font-size: 1.4rem;
		line-height: 1.8;
	}
}
@media screen and (min-width: 1025px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
	.u-tab-only,.tab-only {
		display: none!important;
	}
	.sp-only {
		display: none!important;
	}
}

/************************
 .sc-fade
*************************/

.sc-fade {
	opacity : 0;
	transform : translate(0, 50px);
	transition:all 0.8s;
}

.sc-fade.sc-fadein {
	opacity : 1;
	transform : translate(0, 0);
}



/************************
 material
*************************/

p.caption {
	font-size:0.8em;
	margin-top:1em;
	text-align: left;
}


/* Load Animation
------------------------------------------ */
.load-bg {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 120;
  background: #2B2B2B;
  width: 100%;
  height: 100%;
}
.load-bg.play {
  -webkit-animation: load-anime 800ms cubic-bezier(.77,0,.11,1) 600ms both;
          animation: load-anime 800ms cubic-bezier(.77,0,.11,1) 600ms both;
}

@-moz-keyframes load-circle {
  0% {
    -moz-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -moz-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-webkit-keyframes load-circle {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load-circle {
  0% {
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}


.load-circle {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 130;
}
.load-circle:not(:required) {
  border: 6px solid #FFF;
  -moz-border-radius: 24px;
  -webkit-border-radius: 24px;
  border-radius: 24px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  overflow: hidden;
  position: fixed;
  text-indent: -9999px;
  width: 48px;
  height: 48px;
}
.load-circle:not(:required)::before {
  -moz-animation: load-circle 1250ms infinite linear;
  -webkit-animation: load-circle 1250ms infinite linear;
  animation: load-circle 1250ms infinite linear;
  -moz-transform-origin: 3px 3px;
  -ms-transform-origin: 3px 3px;
  -webkit-transform-origin: 3px 3px;
  transform-origin: 3px 3px;
  background: #FFF;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  content: '';
  display: block;
  position: absolute;
  width: 6px;
  height: 19.2px;
  left: 15px;
  top: 15px;
}
.load-circle:not(:required)::after {
  -moz-animation: load-circle 15000ms infinite linear;
  -webkit-animation: load-circle 15000ms infinite linear;
  animation: load-circle 15000ms infinite linear;
  -moz-transform-origin: 3px 3px;
  -ms-transform-origin: 3px 3px;
  -webkit-transform-origin: 3px 3px;
  transform-origin: 3px 3px;
  background: #FFF;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  content: '';
  display: block;
  position: absolute;
  width: 6px;
  height: 16px;
  left: 15px;
  top: 15px;
}

.display-none{
    opacity: 0;
    transition: opacity 0.5s ease-in-out 0.3s;
}

@-webkit-keyframes load-anime {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  99% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  100% {
    -webkit-transform: translateY(-110%);
            transform: translateY(-110%);
      visibility: hidden;
  }
}

@keyframes load-anime {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  99% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  100% {
    -webkit-transform: translateY(-110%);
            transform: translateY(-110%);
      visibility: hidden;
  }
}

@-webkit-keyframes loading {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes loading {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}


/* fadeInAnime
------------------------------------------ */
.fadeIn {
    transition-property: opacity, transform;
    transition-duration: 1s;
    transition-timing-function: cubic-bezier(0.000, 0.295, 0.500, 1.000);
/*    opacity: 0;*/
/*
    -webkit-transform: translate(0, 60px);
    transform: translate(0, 60px);
*/
}
.fadeIn[data-delay="1"]{ transition-delay: 0.2s;}
.fadeIn[data-delay="2"]{ transition-delay: 0.4s;}
.fadeIn[data-delay="3"]{ transition-delay: 0.6s;}
.fadeIn[data-delay="4"]{ transition-delay: 0.8s;}
.fadeIn[data-delay="5"]{ transition-delay: 1s;    }


.fadeIn.is_done{
    opacity: 1;
/*
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
*/
}



/************************
 layout
*************************/

.d-flex {
	display: flex;
}
.d-block {
	display: block;
}


/**header**/

header {
	width: 100%;
	z-index: 100;
	position:absolute;
	opacity:0;
}


	header .container {
	width:100%;
	padding:0;
	}
	header .container .inner {
		position:relative;
		padding:20px 0;
		width:100%;
	}

	header .container h1{
		margin-bottom:0;
		text-align: left;
		padding:40px 0;
		display: none;
	}
	header .container h1 img {
		width:120px;
		height:auto;
	}
	header .container nav ul {
		display: flex;
		justify-content: center;
		margin-bottom:0;
	}
	header .container nav ul li{
		margin:0 10px;
		padding: 8px 0;
		font-size:1.1em;
		text-align: center;
		font-weight:600;
	}
	header .container .btn_reserve {
		position:absolute;
		height:80px;
		line-height: 40px;
		width: 40px;
    	padding: 16px 0;
		font-size: 1em;
		right: auto;
		left:0;
		writing-mode: vertical-rl;
		top: 100px;
		z-index: 10;
	}
	
	.clone-nav .container h1 {
    	padding: 0;
		display: none;
		position: absolute;
		left: 0;
		top: 8px;
	}

.clone-nav {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  transition: .3s;
  transform: translateY(-100%);
  background-color: rgba(45,44,42,0.9);
	opacity:0;
}
.is-show {
  transform: translateY(0);
	opacity:1;
}
@media screen and (min-width: 415px) {
	header {
	width: 100%;
	z-index: 100;
		opacity:1;
	position:absolute;
}
	header .container {
		width:90%;
	}
		header .container nav ul li{
		margin:0 20px;
		padding: 8px 0;
		font-size:1.3em;
		text-align: center;
		font-weight:600;
	}
		header .container .btn_reserve {
		position:absolute;
		height:40px;
		line-height: 40px;
		width: auto;
    	padding: 0 16px;
		font-size: 1em;
		right: 0;
		top: 20px;
		left:auto;
		writing-mode:horizontal-tb;
	}
	.clone-nav .container h1 {
    	padding: 0;
		display: block;
		position: absolute;
		left: 0;
		top: 16px;
	}
	.clone-nav .container h1 img {
		display: inline-block;
	}
}



@media screen and (min-width: 1025px) {
	header {
		display: block;
	}
	header .container {
		padding: 0 40px;
	}
	header .container .inner {
		position:relative;
		padding:28px 0;
	}

	header .container h1{
		margin-bottom:0;
		text-align: left;
		padding:40px 0;
		display: none;
	}
	header .container h1 img {
		width:200px;
		height:auto;
	}
	header .container nav ul {
		display: flex;
		justify-content: center;
		margin-bottom:0;
	}
	header .container nav ul li{
		margin:0 20px;
		padding: 8px 0;
		font-size:1.3em;
		text-align: center;
		font-weight:600;
	}
	header .container .btn_reserve {
		position:absolute;
		height:48px;
		line-height: 48px;
		width:224px;
		font-size: 1.11em;
		right: 0;
		top: 28px;
	}
	
	.clone-nav .container h1 {
    	padding: 0;
		display: block;
		position: absolute;
		left: 0;
		top: 16px;
	}
	.clone-nav .container h1 img {
		display: inline-block;
	}

	
}



/**footer**/

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

[class^="icon-"], [class*=" icon-"] {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;

    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-instagram:before {
    content: "\e904";
}
.icon-twitter:before {
    content: "\e907";
}
.icon-facebook02:before {
    content: "\e901";
}


.sns{
  margin-top: 33px;
      border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    border-top: 1px solid rgba(0, 0, 0, 0.05);
    font-size: 36px;
    padding-top: 8px;
    text-align: center;
  
}

 .sns a {
    padding: 0 4px;
    text-decoration: none;
}
[class*=" icon-"], [class^=icon-] {
    font-family: 'icomoon'!important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}


footer{
  text-align: left;
  color: #FFF;
}
footer > .inner {
	padding:0 2%;
}
footer p{
  margin-bottom: 0;
}
footer a {
	color:#FFF;
}
footer .bnBlock{
  	width: 100%;
	background-color: #E6E6E6;
	padding:64px 0;
}
footer .bnBlock .inner {
	display: flex;
	flex-flow: column;
	align-items: center;
	padding:0 2%;
}

footer .bnBlock .inner img {
	margin:10px 0;
}

footer .menuBlock {
	border-bottom:rgba(240,240,240,0.3) 1px solid;
}

footer .menuBlock .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding:16px 0;
}
footer .menuBlock .inner nav ul li {
    display: inline-block;
    margin-right: 10px;
}

footer .menuBlock .inner .btn_reserve {
	width:auto;
	padding:0 16px;
	height:36px;
	line-height: 36px;
}

footer .infoBlock .inner{
	display: flex;
	flex-flow: column;
    padding:40px 2%;
}
footer .infoBlock .inner .col01 {
	width:100%;
	max-width:320px;
	margin:auto;
	
}
footer .infoBlock .inner .col01 .logoImg {
	margin-bottom:20px;
}
.copyright {
    display: block;
    color: #FFF;
    line-height: 1;
    text-align: center;
	font-size:0.75em;
}


.page-top{
	width:40px;
    bottom: 50%;
    right: 0;
	position:fixed;
}
footer .infoBlock .inner .col02 .snsBlock {
	margin:20px auto;
}
footer .infoBlock .inner .col02 .snsBlock ul {
  text-align: center;
	display: flex;
	justify-content: center;
}
footer .infoBlock .inner .col02 .snsBlock ul li {
	margin:0 0.5em;
	width:24px;
	position:relative;
}
/* Webフォントに関する指定 */
footer .infoBlock .inner .col02 .snsBlock ul.sns_circle span {
    position: absolute;
    padding: 6px;
    font-size: 26px;
}
/* リンク領域をブロック全体に */
.sns_circle a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-indent: -999px;
    color: #FFF;/* 文字の色 */
}
/* マウスオーバー */
.sns_circle a:hover {
    filter: alpha(opacity=80);
    -moz-opacity: 0.8;
    opacity: 0.8;
}

@media screen and (min-width: 769px) {
	footer .bnBlock .inner {
		flex-flow:row;
		justify-content: space-between;
		align-items: center;
}
	footer .bnBlock .inner a {
		width:18%;
	}
	footer .bnBlock .inner a img{
		width:100%;
		height:auto;
		margin:0;
	}
	footer .menuBlock .inner nav ul li{
	display: inline-block;
	margin-right:40px;
}
	footer .menuBlock .inner .btn_reserve {
	width:152px;
	height:36px;
	line-height: 36px;
}
	footer .infoBlock .inner{
		flex-flow: row;
		justify-content: space-between;
	}
	footer .infoBlock .inner .col01 {
		width:272px;
		margin:0;
	}
	footer .infoBlock .inner .col01 img {
		width:100%;
		height:auto;
		margin-bottom: 1em;
	}
	footer .infoBlock .inner .col01 .info {
		font-size:0.7em;
		padding:0 0.5em;
	}
	footer .infoBlock .inner .col02 {
		display: flex;
		flex-flow: column;
		justify-content: space-between;
	}
	footer .infoBlock .inner .col02 .snsBlock ul {
		text-align: right;
	}
	.page-top{
	  width:64px;
	}



}

.wrapper .inner {
	width:90%;
	margin:auto;
}
.wrapper .bg {
	padding:40px 0;
	}
.btn_reserve {
		background-color: #CC2250 !important;
		text-align: center !important;
		color:#FFF !important;
}

.wrapper .bg h1 {
	font-family: 'Rajdhani', sans-serif;
	font-weight: bold;
	font-size:4.0em;
	margin-bottom:0.5em;
	text-align: center;
	color:rgba(255,253,253,0.5);
}
.wrapper .bg h1 span {
	font-size:0.27em;
	display: block;
	margin:0 auto;
}
.wrapper .bg h2 {
	font-family: 'Rajdhani', sans-serif;
	font-weight: 200;
	font-size:3.5em;
	text-align: left;
	margin-bottom:0.5em;
	line-height: 1.2;
	color:rgba(255,253,253,0.5);
}

@media screen and (min-width: 1025px) {

	.wrapper .inner {
		width:88%;
		max-width:1720px;
		margin:auto;
	}
	.wrapper .bg {
		padding:80px 0;
	}
	.wrapper .bg h1 {
	font-family: 'Rajdhani', sans-serif;
	font-weight: bold;
	font-size:4.8em;
	margin-bottom:0.75em;
	text-align: center;
	color:rgba(255,253,253,0.5);
}
}


/** sec01 **/

#sec01 {
	width:100%;
	position:relative;
}
#sec01 .bg {
	position:relative;
	padding:0;
	height:100%;
}
#sec01 .bg h1 {
	font-family: 'M PLUS Rounded 1c', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
	color:#FFF;
}

@media screen and (min-width: 1025px) {
	#sec01 {
		width:100%;
		height:100vh;
		background: url("../img/main_img.jpg") no-repeat;
		background-size: cover;
		background-attachment: fixed;
	}

	#sec01 .bg .pc-only {
		position:absolute;
		width:560px;
		height:100%;
		right:6%;
		top:40px;
		display: flex;
		flex-flow: column;
		justify-content: center;
		align-items: center;
	}
	#sec01 .bg .pc-only h1{
		font-size:1.7em;
		text-shadow: 0 0 10px rgba(0,0,0,0.17);
		padding-left:0.25em;
		text-align: left;
	}
	#sec01 .bg .pc-only img {
		width:78%;
		margin:40px auto;
	}

}


/** sec02 **/

#sec02 .introBlock {
	background: url("../img/bg_intro.jpg") no-repeat left center;
	background-size: cover;
}

#sec02 .introBlock .bg {
	position:relative;
}

#sec02 .photoBlock {
	display: flex;
	flex-flow: column;
}

@media screen and (min-width: 415px) {
	#sec02 .introBlock .inner .btm_txt {
		position:absolute;
		width:88%;
		line-height: 1;
		text-align: center;
		bottom:-0.2em;
		opacity:0.5;
		font-size:3em;
	}
	#sec02 .introBlock .inner p {
		line-height: 2;
		margin:0 0 90px;
	}

}
@media screen and (min-width: 769px) {
	#sec02 .photoBlock {
		display: flex;
		flex-flow: row;
		align-items: flex-start;
	}
	#sec02 .photoBlock > img {
		width:30.989583%;
		align-self: flex-start;
	}
	#sec02 .photoBlock > img:nth-of-type(2) {
		width:38.020833%;
	}
	#sec02 .introBlock .inner p {
		line-height: 2;
		margin:0 0 72px;
	}
}
@media screen and (min-width: 1025px) {
	#sec02 .introBlock .inner p {
		padding-left:35%;
	}
	#sec02 .introBlock .inner .btm_txt {
		bottom:-0.2em;
		opacity:0.5;
		font-size:4em;
	}
}

/** Space **/

#Space {
	background: url("../img/bg_space_top.jpg") right top no-repeat;
	background-size: 100%;
}
#Space .spaceBlock .space01, #Space .spaceBlock .space02 {
	display: flex;
	flex-flow: column;
	margin-top:64px;
}
#Space .spaceBlock {
	margin-bottom:80px;
}

#Space .tableBlock, #Space .privateBlock {
	display: flex;
	position:relative;
}
#Space .tableBlock {
	margin-bottom:40px;
}
#Space .tableBlock .bg_img {
	position:absolute;
	bottom:0;
	left:-30%;
	width:60%;
	z-index: -1;
}



	#Space .spaceBlock .space01 .photo01 {
		width:60%;
	}
	#Space .spaceBlock .space02 {
		align-items: center;
		justify-content: flex-start;
		flex-flow: row;
	}
	#Space .spaceBlock .space02 .photo02 {
		width:59%;
		margin-right:5%;
	}
	#Space .spaceBlock .space02 .photo03 {
		width:30%;
	}
	
	#Space .tableBlock {
		justify-content: flex-start;
		align-items: center;
		flex-flow: column;
	}
	#Space .tableBlock .txt-box {
		width:90%;
		margin:0 auto;
	}
	#Space .tableBlock .photo-box {
		width:80%;
		padding-bottom:80px;
	}
	#Space .privateBlock {
		flex-flow: column;
		justify-content: flex-start;
		align-items: center;
	}
	#Space .privateBlock .txt-box {
		width:90%;
		margin:0 auto;
	}
	#Space .privateBlock .txt-box img {
		    margin: 0 auto 32px;
			width: 50%;
			float: right;
	}
	#Space .privateBlock .photo-box {
		width:80%;
	}




@media screen and (min-width: 769px) {
	#Space .spaceBlock .space01 {
		flex-flow: row;
	}
	#Space .spaceBlock .space01 .photo01 {
		width:41.8%;
	}
	#Space .spaceBlock .space02 {
		flex-flow: row;
		align-items: center;
		justify-content: flex-start;
	}
	#Space .spaceBlock .space02 .photo02 {
		width:59%;
		margin-right:5%;
	}
	#Space .spaceBlock .space02 .photo03 {
		width:30%;
	}
	
	#Space .tableBlock {
		flex-flow: row;
		justify-content: space-between;
		align-items: flex-start;
	}
	#Space .tableBlock .txt-box {
		width:32%;
		margin:0 6% 0 5%;
	}
	#Space .tableBlock .photo-box {
		width:calc(100% - 43%);
		padding-bottom:80px;
	}
	#Space .privateBlock {
		flex-flow: row-reverse;
		justify-content: space-between;
	}
	#Space .privateBlock .txt-box {
		width:28%;
		margin:0 5% 0 6%;
	}
	#Space .privateBlock .txt-box img {
		margin-top:64px;
		width:100%;
	}
	#Space .privateBlock .photo-box {
		width:calc(100% - 39%);
	}
}


/**MENU**/

#Menu {
	background: url("../img/bg_menu_top.png") center top no-repeat #1D1C1D;
	background-size: 100%;
}
#Menu .photoBlock {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-flow: wrap;
}
#Menu .photoBlock img {
	width:50%;
}
#Menu .photoBlock p {
	width:100%;
	text-align: center;
	line-height: 2;
	margin:64px 0 80px;
}

#Menu .courseBlock {
	display: flex;
    flex-flow: column;
}
#Menu .courseBlock .txt-box {
	padding:0 5%;
	margin-top:20px;
}
#Menu .courseBlock .txt-box dl dt {
	font-size:1.5em;
	position:relative;
	padding-left:90px;
	border-bottom: dotted 1px rgba(253,253,253,0.5);
}
#Menu .courseBlock .txt-box dl dt p {
	text-align: right;
	margin-bottom: 0;
	list-style: 1.2;
}
#Menu .courseBlock .txt-box dl dt span {
	position:absolute;
	width:80px;
	height:80px;
	bottom:12px;
	left:0;
	border:2px solid #F2F0F0;
	border-radius: 80px;
	text-align: center;
	line-height: 78px;
	font-size:0.66em;
}
#Menu .courseBlock .txt-box dl dd {
	margin-top:40px;
	border-left:6px double #FFF;
	margin-left:0;
	padding:0 0 0 40px;
}

#Menu .courseBlock.premium {
	margin-top:40px;
}

@media screen and (min-width: 415px) {
	#Menu .courseBlock .txt-box dl dt {
	font-size:1.77em;
	position:relative;
	padding-left:90px;
	border-bottom: dotted 1px rgba(253,253,253,0.5);
}
}
@media screen and (min-width: 769px) {
	#Menu .courseBlock {
		flex-flow: row;
	}
	#Menu .courseBlock.premium {
		flex-flow: row-reverse;
	}
	#Menu .courseBlock .photo-box {
		width:43%;
		margin-right:5%;
		padding-top:20px;
	}
	#Menu .courseBlock.premium .photo-box {
		margin-left:5%;
		margin-right:0;
	}
	#Menu .courseBlock .txt-box {
		width:46%;
		padding:0;
	}
	#Menu .courseBlock .txt-box dl dt {
    font-size: 1.77em;
    position: relative;
    padding-left: 110px;
    border-bottom: dotted 1px rgba(253,253,253,0.5);
}
	#Menu .courseBlock .txt-box dl dt span {
	position:absolute;
	width:100px;
	height:100px;
	bottom:16px;
	left:0;
	border:2px solid #F2F0F0;
	border-radius: 80px;
	text-align: center;
	line-height: 98px;
	font-size:0.66em;
}
	
}
@media screen and (min-width: 1025px) {
	
	

}

/** Drink **/

#Drink {
	background: url("../img/bg_drink.jpg") left top no-repeat #1D1C1D;
	background-size: 100%;
}
#Drink .firstBlock, #Drink .secondBlock {
	display: flex;
	flex-flow: column;
}
#Drink .firstBlock {
	justify-content: flex-end;
	align-items: flex-end;
}
#Drink .firstBlock .photo01 {
		width:50%;
	}
#Drink .secondBlock {
	flex-flow: column-reverse;
}
#Drink .secondBlock .photo02 {
		display: none;
	}
#Drink .secondBlock .txt-box p {
	margin-bottom:80px;	
}
#Drink .secondBlock .txt-box .btn {
	text-align: center;
}
#Drink .secondBlock .txt-box .btn a {
	display: inline-block;
}
#Drink .secondBlock .txt-box .btn img {
	width:320px;
}
@media screen and (min-width: 769px) {
	#Drink .firstBlock {
		flex-flow: row;
		justify-content: flex-end;
	}
	#Drink .firstBlock .photo01 {
		width:25.58%;
	}
	#Drink .secondBlock {
		flex-flow: row;
		justify-content: flex-end;
		align-items: flex-end;
	}
	#Drink .secondBlock .photo02 {
		width:20%;
		margin-right:5%;
		display: block;
	}
	#Drink .secondBlock .txt-box {
		width:72%;
	}
	#Drink .secondBlock .txt-box .btn {
		text-align: right;
	}
	
}
@media screen and (min-width: 1025px) {
	#Drink .firstBlock {
		flex-flow: row;
		justify-content: flex-end;
	}
	#Drink .firstBlock .photo01 {
		width:25.58%;
	}
	#Drink .secondBlock {
		flex-flow: row;
		justify-content: flex-end;
		align-items: flex-end;
	}
	#Drink .secondBlock .photo02 {
		width:20%;
		margin-right:5%;
	}
	#Drink .secondBlock .txt-box {
		width:50%;
	}
	#Drink .secondBlock .txt-box .btn {
		text-align: right;
	}
	
}



/** Cake **/

#Cake {
	background: url("../img/bg_cake.jpg") center center no-repeat #1D1C1D;
	background-size: cover;
}
@media screen and (min-width: 769px) {
	#Cake {
		background: url("../img/bg_cake.jpg") right center no-repeat #1D1C1D;
		background-size: cover;
	}
}


/** Access **/

#Access .bg h1{
	width:80%;
	max-width:748px;
}
#Access #map {
	margin:60px 0 20px;
}

#Access .map-info {
	width:80%;
	margin:auto;
	max-width:1200px;
}
#Access .map-info dt {
    width:80%;
    padding:0;
	font-size:3.11em;
	font-family: 'Rajdhani', sans-serif;
	font-weight: 200;
	text-align: left;
	line-height: 1.2;
	color:rgba(255,253,253,0.5);
	margin-bottom:20px;
}
#Access .map-info dd {
    margin:0 0 20px 1em;
    padding:0;
}
#Access .map-info dd p {
    margin-bottom:0;
}
#Access .map-info dd p.tel {
	font-size:1.3em;
}
@media screen and (min-width: 769px) {

}
@media screen and (min-width: 1025px) {

	#Access .map-info dt {
		width:24%;
		float:left;
		padding:0;
	}
	#Access .map-info dt img {
		width: auto;
		max-width: 100%;
		height: auto;
	}
	#Access .map-info dd {
		margin:0 0 20px 28%;
		padding:0;
	}
	
}



/** reserve **/
#reserve {
	background: url("../img/bg_reserve.jpg") no-repeat;
	background-size: cover;
}

#reserve .bg h1{
	width:80%;
	max-width:748px;
}
#reserve #form {
	margin:60px auto 0;
	width:80%;
}

#reserve #form .calwrap .calendar, #reserve #form .reservetime,#reserve #form select, #reserve #form input[type="time"]{
	color:#101010;
	padding:0 12px;
	height:50px;
	width:100%;
}
#reserve #form select option {
	color:#101010;
}
#reserve #form .calwrap {
	position:relative;
	width:100%;
}
#reserve #form .calwrap a {
	position:absolute;
	right:20px;
	top:8px;
	color:#101010;
	z-index: 0;
}
#reserve #form .calwrap a i{
	font-size:1.5em;
}
#reserve #form .btn-box {
	margin:  0 auto;
/*
	width: 300px;
	height: 50px;
*/
	margin-top:40px;
}

#reserve #form .btn-a{
	display: block;
    border: none;
    border-radius: 0;
    box-shadow: none;
    outline: 0;
    line-height: 50px;
    width: 100%;
    height: 50px;
	text-align: center;
	font-size:2.0em
}
#reserve #form .btn-box .caption {
	text-align: center;
}
@media screen and (min-width: 769px) {
	#reserve #form {
		margin:60px 0 0;
		width:100%;
	}
	#reserve #form .btn_reserve {
		max-width:560px;
		display: inline-block;
		line-height: 88px;
		height:88px;
	}
	#reserve #form form {
		display: flex;
		flex-flow: wrap;
		justify-content: space-around;
	}
	#reserve #form .calwrap, #reserve #form .reservetime, #reserve #form select,#reserve #form input[type="time"]{
		width:30%;
		margin:0 1.66%;
	}
	#reserve #form .calwrap .calendar {
		width:100%;
	}
	#reserve #form .calwrap a i {
		font-size: 1.5em;
	}

	
}
