/*  RESET   */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

/* Base format */
html {
	font-size: 62.5%;
	height: 100%;
}

body {
  font-size: 14px;
  color: #333;
  font-family: 'Arial', 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro",メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  height: 100%;
  line-height: 1.6;
  letter-spacing:0.1em;
  width: 100%;
  -webkit-text-size-adjust: 100%;
}

::selection { background:#FDF7F7; }
::-moz-selection { background:#FDF7F7; }

p {
  margin-top: 0;
}

figure {
  margin: 0;
}

li {
  margin-bottom: .5em;
}

input[type="submit"] {
	-webkit-appearance: none;
	border-radius: 0;
}

/* img */
img {
  height: auto;
  vertical-align:bottom;
  max-width: 100%;
}

.object-fit-img {
  object-fit: cover;
  font-family: 'object-fit: cover;'
}

/* table */

table {
  width: 100%;
  border-collapse:collapse;
  border-top:#EADFD0 1px solid;
}

table th, table td {
	border-bottom:#EADFD0 1px solid;
	padding:15px;
	text-align: left;
	vertical-align:top;
}

table th {
  font-weight:normal;
}

@media screen and (max-width: 768px) {
	.table-scroll {
		position: relative;
		overflow-x: auto;
		white-space: nowrap; 
	}
	table th, table td { 
		display:block;
	}
}

/* margin */
.m-0 { margin: 0;}
.mt-0 { margin-top: 0;}
.mb-0 {  margin-bottom: 0px;}
.mb-5 {  margin-bottom: 5px;}
.mb-10 { margin-bottom:10px;}
.mb-20 { margin-bottom:20px;}
.mb-30 { margin-bottom:30px;}
.mb-40 { margin-bottom:40px;}
.mb-50 { margin-bottom:50px;}
.mb-60 { margin-bottom:60px;}
.mb-70 { margin-bottom:70px;}
.mb-80 { margin-bottom:80px;}
.mb-90 { margin-bottom:90px;}
.mb-100 { margin-bottom:100px;}

@media screen and (min-width: 769px) {
	.col-1 { width: 8.33333%; }
	.col-2 { width: 16.66667%; }
	.col-3 { width: 25%; }
	.col-4 { width: 33.33333%; }
	.col-5 { width: 41.66667%; }
	.col-6 { width: 48%; }
	.col-7 { width: 58.33333%; }
	.col-8 { width: 66.66667%; }
	.col-9 { width: 75%; }
	.col-10 { width: 83.33333%; }
	.col-11 { width: 91.66667%; }
	.col-12 { width: 100%; }
}

@media screen and (max-width: 768px) {
  .col-md-1 { width: 8.33333%; }
  .col-md-2 { width: 16.66667%; }
  .col-md-3 { width: 25%; }
  .col-md-4 { width: 33.33333%; }
  .col-md-5 { width: 41.66667%; }
  .col-md-6 {  width: 50%;}
  .col-md-7 {  width: 58.33333%;  }
  .col-md-8 { width: 66.66667%; }
  .col-md-9 { width: 75%; }
  .col-md-10 {  width: 83.33333%; }
  .col-md-11 {  width: 90%; }
  .col-md-12 {  width: 100%; } 
}

/* status */
.right { text-align: right; }
.center { text-align: center; }

.inner {
	max-width:1080px;
	margin-left:auto;
	margin-right:auto;
}
.content:not(#top) {
	margin-bottom:150px;
}

@media screen and (min-width: 769px) {
	.overflow { overflow: hidden; }
	.fl-l { float: left; }
	.fl-r { float: right; }
}
@media screen and (max-width: 768px) {
	.fl-l { margin-bottom:20px; }
	.inner {
		width:90%;
	}
}

/* link */
a {
	color:#333;
	text-decoration:none;
	outline: none;
	-webkit-transition: all .3s;
	 transition: all .3s;
}
a:hover {
	text-decoration:none;
}
.opa:hover {
	opacity:0.8;
}

[class*="btn-type"] {
	display:inline-block;
	text-decoration:none;
}
.btn-type01 {
	font-size:1.6rem;
	text-align:center;
	color:#FFF;
	width:320px;
	padding:20px 0;
	position:relative;
	z-index:1;
	background: #d1617d; /* Old browsers */
	background: -moz-linear-gradient(-45deg,  #d1617d 0%, #e73080 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(-45deg,  #d1617d 0%,#e73080 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(135deg,  #d1617d 0%,#e73080 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d1617d', endColorstr='#e73080',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}
.btn-type01:before{
	content:"";
	width:100%;
	height:100%;
	position:absolute;
	left:0;
	top:0;
	z-index:-1;
	transition:0.5s;
	background: #e73080; /* Old browsers */
	background: -moz-linear-gradient(-45deg,  #e73080 0%, #d1617d 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(-45deg,  #e73080 0%,#d1617d 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(135deg,  #e73080 0%,#d1617d 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e73080', endColorstr='#d1617d',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}

.btn-type01:hover:before{
	opacity:0;
}

.btn-type01.blank:after {
	content:"";
	background:url(img/common/icn_blank_w@2x.png) top center / contain no-repeat;
	width:9px;
	height:9px;
	display:inline-block;
	margin-left:5px;
}

.btn-type02 {
	font-size:1.6rem;
	text-align:center;
	color:#555B66;
	background: #f8e7e7; /* Old browsers */
	background: -moz-linear-gradient(-45deg,  #f8e7e7 0%, #f1eded 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(-45deg,  #f8e7e7 0%,#f1eded 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(135deg,  #f8e7e7 0%,#f1eded 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f8e7e7', endColorstr='#f1eded',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
	width:280px;
	padding:18px 0;
	border-radius:3px;
	position:relative;
	z-index:1;
}
.btn-type02:before{
	content:"";
	width:100%;
	height:100%;
	position:absolute;
	left:0;
	top:0;
	z-index:-1;
	transition:0.5s;
	background: #f1eded; /* Old browsers */
	background: -moz-linear-gradient(-45deg,  #f1eded 0%, #f8e7e7 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(-45deg,  #f1eded 0%,#f8e7e7 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(135deg,  #f1eded 0%,#f8e7e7 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f1eded', endColorstr='#f8e7e7',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}
.btn-type02.white {
	background: #ffffff; /* Old browsers */
	background: -moz-linear-gradient(-45deg,  #ffffff 0%, #f1eded 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(-45deg,  #ffffff 0%,#f1eded 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(135deg,  #ffffff 0%,#f1eded 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f1eded',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}
.btn-type02.white:before {
	background: #f1eded; /* Old browsers */
	background: -moz-linear-gradient(-45deg,  #f1eded 0%, #ffffff 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(-45deg,  #f1eded 0%,#ffffff 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(135deg,  #f1eded 0%,#ffffff 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f1eded', endColorstr='#ffffff',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}
.btn-type02:hover:before{
	opacity:0;
}
.btn-type03 {
	text-align:center;
	color:#33373E;
	border-bottom:#333 2px solid;
	padding:10px 5px;
	box-sizing:border-box;
}
.btn-type03:before {
	content:"+";
	display:inline-block;
	margin-right:5px;
}
.btn-type03:hover {
	color:#d1617d;
}
@media screen and (max-width: 768px) {
	[class*="btn-type"] {
		width:100%;
	}
}

/* title */
.page-ttl {
	margin-bottom:200px;
}
.page-ttl .fl-l {
	margin-top:80px;
	max-width:30%;
}

.page-ttl h2 {
	font-size:3.2rem;
}
@media screen and (min-width: 769px) {
	.page-ttl .fl-r {
		max-width:70%;
	}
	.page-ttl h2 {
		float:left;
	}
}
@media screen and (max-width: 768px) {
	.page-ttl {
		text-align:center;
	}
	.page-ttl .fl-l {
		display:none;
	}
	.page-ttl .fl-r img {
		min-height:250px;
		object-fit: cover;
	}
}
.ttl-type01 {
	font-size:2rem;
	margin-bottom:20px;
	padding-top:20px;
	position:relative;
}
.ttl-type01:before {
	content:"";
	width:1px;
	height:10px;
	background:#CCC;
	transform: rotate(45deg);
	position:absolute;
	top:0;
	left:0;
}
.ttl-type01.center:before {
	right:0;
	margin:auto;
}
.ttl-type02 {
	font-size:1.6rem;
	margin-bottom:20px;
}
.ttl-type02:before {
	content:"";
	width:12px;
	height:1px;
	background:#CCC;
	margin-right:10px;
	display:inline-block;
	vertical-align:middle;
}
.ttl-type03 {
	text-align: center;
	width: 50%;
	font-size: 1.8rem;
	font-weight: bold;
	margin-bottom: 20px;
	padding-top: 3px;
	padding-right: 3px;
	padding-left: 22px;
	padding-bottom: 3px;
	background-color: #e73080;
	color: #ffffff;
}

/* pan */
ul.pan {
	font-size:1.2rem;
	padding:15px 40px;
}
ul.pan li {
	margin:0;
	position:relative;
}
ul.pan li:not(:last-child) {
	padding-right:20px;
}
ul.pan li:not(:last-child):after {
	content:"";
	width:6px;
	height:1px;
	background:#CCC;
	position:absolute;
	top:0;
	bottom:0;
	right:8px;
	margin:auto;
}
ul.pan a:hover {
	color:#d1617d;
}
	
@media screen and (min-width: 769px) {
	ul.pan {
		float:right;
	}
}

/* list */
ul.inline {
	letter-spacing:-.40em;
}
ul.inline li {
	letter-spacing:0.1em;
	display:inline-block;
	vertical-align:top;
}

ul.flower li:before {
	content:"";
	width:12px;
	height:12px;
	background:url(img/common/icn_flower@2x.png) top center / contain no-repeat;
	display:inline-block;
	margin-right:5px;
}
ul.inline.flower li {
	margin-right:10px;
}


/* ---------------------------------------

                 header
				 
--------------------------------------- */
#header {
	padding:15px 0;
}
#header .reserve {
	position:fixed;
	right:0;
	z-index:10;
}
@media screen and (min-width: 769px) {
	#header .reserve {
		top:0;
	}
}
@media screen and (max-width: 768px) {
	#header .reserve {
		bottom:0;
		left:0;
		width:100%;
	}
}
/* logo */
.logo {
	font-size:1.2rem;
	color:#583F28;
	font-weight:500;
}
.logo img {
	margin-right:10px;
}
@media screen and (min-width: 769px) {
	.logo {
		display:inline-block;
	}
}
@media screen and (max-width: 768px) {
	.logo {
		text-align:center;
	}
	.logo  img {
		display:block;
		margin:0 auto 8px;
		max-height:75px;
	}
}

/* nav */
ul.nav {
	text-align:right;
}
ul.nav li {
	position:relative;
}

ul.nav a{
	color:#33373E;
	font-weight:500;
	text-decoration:none;
	padding:20px;
}
ul.nav a:hover{
	color:#E73080;
}
ul.nav a.blank:after {
	content:"";
	width:9px;
	height:9px;
	background:url(img/common/icn_blank@2x.png) top left / contain no-repeat;
	display:inline-block;
	margin-left:5px;
}
@media screen and (min-width: 769px) {
	#header .nav {
		display:inline-block;
		width: calc(100% - 265px);
	}
	ul.nav li:not(:last-child):before {
		content:"";
		width:1px;
		height:10px;
		background:#CCC;
		transform: rotate(25deg);
		position:absolute;
		top:0;
		bottom:0;
		right:3px;
		margin:auto;
	}
}
@media screen and (max-width: 768px) {
	.nav {
		display:none;
	}
	.nav.block {
		display:block;
		position:fixed;
		background:#FFF;
		top:0;
		bottom:0;
		left:0;
		right:0;
		z-index:100;
	}
	.nav.block li {
		width:100%;
		text-align:center;
		padding:10px 0;
	}
	.nav.block li:first-child {
		padding-top:100px;
	}
}


/* navボタン */
	
.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.menu-trigger {
	float:right;
	position:fixed;
	width: 30px;
	height: 25px;
	z-index:101;
	top:30px;
	right:20px;
}
.menu-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #222;
}
.menu-trigger span:nth-of-type(1) { top: 0; }
.menu-trigger span:nth-of-type(2) { top: 11px; }
.menu-trigger span:nth-of-type(3) { bottom: 0; }

.menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(20px) rotate(-45deg);
	transform: translateY(12px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
	opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(-20px) rotate(45deg);
	transform: translateY(-12px) rotate(45deg);
}

@media screen and (min-width: 769px) {
	.menu-trigger {
		display:none;
	}
}

/* ---------------------------------------

                 footer
				 
--------------------------------------- */
#footer {
	background:#F2F0EC;
	padding:40px 0;
}

.foot-cont .ttl-type01 {
	font-size:1.4rem;
}
.jna {
	font-size:1.2rem;
	line-height:43px;
	vertical-align:middle;	
}
.jna img {
	margin-right:10px;
}
.copy {
	font-size:1rem;
}
@media screen and (min-width: 769px) {
	#footer {
		letter-spacing:-.40em;
	}
	.foot-cont {
		display:inline-block;
		width: calc(100%/3);
		letter-spacing:0.1em;
		vertical-align:top;
	}
}
@media screen and (max-width: 768px) {
	#footer {
		padding-bottom:80px;
	}
}
/* sales */
dl.sales dt,
dl.sales dd {
	display:inline-block;
}
dl.sales dt {
	width:20%;
}
dl.sales dd {
	width:78%;
}
/* btn-tel */
.btn-tel {
	font-size:2rem;
	text-align:center;
	background:#FFF;
	border:#F8E7E7 2px solid;
	display:block;
	width:320px;
	padding:10px 0;
	box-sizing:border-box;
}
.btn-tel span {
	font-size:1.4rem;
}
.btn-tel span.caption {
	font-size:1rem;
	display:block;
}
.btn-tel:hover {
	opacity:0.8;
}
@media screen and (max-width: 768px) {
	.btn-tel {
		width:100%;
	}
}
	

/* ---------------------------------------

                   top
				 
--------------------------------------- */
/* main */
.main {
	margin-bottom:120px;
}
.visual {
	position:relative;
	margin-bottom:-45px;
}

.main-visual-01 {
	position:absolute;
	right:0;
	top:-80px;
}
@media screen and (max-width: 768px) {
	.visual {
		overflow:hidden;
	}
	.main-visual-01 img,
	.main-visual-02 img {
		max-height:200px;
	}
	.main-visual-01 {
		right:-30%;
		top:0;
	}
	.main-visual-02 {
		margin-top:25px;
		margin-left:-15%;
	}
}


/* about */
.about {
	position:relative;
	margin-bottom:60px;
	text-align:center;
}
.about:before,
.about:after {
	content:"";
	position:absolute;
}
.about:before {
	background:#F8E7E7;
	width:55%;
	height:100%;
	right:0;
	top:-15%;
}
.about:after {
	background:#F2F0EC;
	width:90%;
	height:110%;
	left:0;
	bottom:-5%;
	z-index:-1;
}
.about img {
	position:relative;
}
/* menu */
#top .menu {
	background:url(img/top/bg_menu.jpg) top center / cover no-repeat;
	padding:55px 0 90px;
	position:relative;
}
#top .menu:before {
	content:"";
	width:272px;
	height:198px;
	background:url(img/top/bg_flower@2x.png) bottom center / contain no-repeat;
	position:absolute;
	top:-198px;
	right:5%;
}

ul.menu-list li{
	width: calc((100% - 120px)/3);
	position:relative;
}

ul.menu-list li figcaption {
	background:#FFF;
	display:inline-block;
	padding:15px 20px;
	position:absolute;
	left:-20px;
	bottom:-25px;
}
ul.menu-list li span:before {
	content:"";
	width:1px;
	height:10px;
	background:#CCC;
	transform: rotate(20deg);
	display:inline-block;
	margin:0 15px;
}
@media screen and (min-width: 769px) {
	ul.menu-list li:not(:last-child) {
		margin-right:60px;
	}
}
@media screen and (max-width: 768px) {
	ul.menu-list li {
		width:100%;
		margin-bottom:45px;
	}
}

/* gallery */

.gallery .ttl-gallery {
	text-align:right;
	margin-bottom:20px;
}

.gallery .ttl-gallery h3 {
	font-size:1.8rem;
}
@media screen and (min-width: 769px) {
	.gallery .ttl-gallery,
	.gallery .insta-gallery{
		display:inline-block;
		vertical-align:middle;	
	}
	.gallery .ttl-gallery {
		width:20%;
		padding-right:5%;
	}
	.gallery .insta-gallery {
		width:70%;
	}
}
@media screen and (max-width: 768px) {
	.gallery .ttl-gallery {
		width:100%;
		text-align:center;
	}
	.gallery .insta-gallery {
		overflow:hidden;
		max-width:90%;
		
		margin:0 auto;
	}
	.gallery .insta-gallery iframe {
		width:100% !important;
		max-height:80px;
	}
	.image-box:nth-child(5) {
		display:none;
	}
}
/* school */
#top .school {
	background:url(img/top/bg_school.jpg) top center / cover no-repeat;
	padding:50px 0;
}
#top .school .inner {
	position:relative;
}
#top .school .inner:before,
#top .school .inner:after {
	content:"";
	background:url(img/top/pic_flower.png) top center / contain no-repeat;
	width:97px;
	height:200px;
	position:absolute;
	top:0;
	bottom:0;
	margin:auto;
}
#top .school .inner:before {
	left:5%;
}
#top .school .inner:after {
	right:5%;
	transform: scale(-1, 1);
}
#top .school .ttl-type01 {
	color:#E73080;
}

/* ---------------------------------------

                   news
				 
--------------------------------------- */
ul.entry-list {
	border-top:#EADFD0 1px dotted;
}
ul.entry-list li {
	border-bottom:#EADFD0 1px dotted;
}
ul.entry-list li a {
	display:block;
	padding:20px 0;
	color:#33373E;
	text-decoration:none;
}
ul.entry-list .img,
ul.entry-list .txt {
	display:inline-block;
	vertical-align:middle;
}
ul.entry-list .img {
	margin-right:25px;
}
ul.entry-list .txt {
	max-width: calc(100% - 156px);
}
ul.entry-list img {
	object-fit: cover;
	height:100%;
	max-width:125px;
	max-height:125px;
}
ul.entry-list .date {
	margin-bottom:15px;
}
ul.entry-list .date .cat {
	font-size:1.1rem;
	border:#333 1px solid;
	padding:3px 8px;
	margin-left:15px;
}

/* single */
#single .ttl-type01 span {
	display:block;
	font-size:1.2rem;
}
.entry-body {
	margin-bottom:100px;
	padding-bottom:100px;
	border-bottom:#EADFD0 1px dotted;
}
.entry-body p {
	margin-bottom:20px;
}
@media screen and (min-width: 769px) {
	.entry-body p {
		max-width:800px;
	}
}
.ggmap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}

.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.pc{ display: block; }
.sp{ display: none; }

@media screen and (max-width: 480px) {
  .sp{ display: block; }
  .pc{ display: none; }
}
