@charset "UTF-8";
/* Shrim 2018 Styles */

@import url(http://fonts.googleapis.com/css?family=Montez);
@import url(font-awesome.min.css);
@import url(sanitize.css);
@import url(flexslider.css);
@import url(fullcalendar.css);
@import url(lightbox.min.css);

/* ========= GLOBAL STYLES ========= */

/* --- Text --- */
#FONTS--------------- {}
body {
	font-family: sans-serif;
	font-size: 100%;
	color: #fff;
}
p {
	line-height: 1.5;
	margin-bottom: 2em;
  padding: 0 1em;
}
ul,ol {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
nav {
  font-size: .86rem;
  font-weight: 300;
  font-family: "trajan-sans-pro",sans-serif;
}
#siteID,
#message h2,
#shopInfo h2,
#shopInfo h3,
#prices h2,
#prices h3,
#prices h4,
#profile h2,
#profile h3,
#copyright {
  font-style: normal;
  font-weight: 400;
  font-family: "trajan-sans-pro",sans-serif;
}
#siteID {
  font-size: 2.2rem;
	letter-spacing: 1px;
}
#siteID span {
	font-size: 1rem;
	display: block;
}

  #siteID {
    font-size: 3.5rem;
  }
  #siteID span {
    font-size: 1.25rem;
  }


#message h2,
#prices h2,
#shopInfo h2,
#profile h2 {
	font-size: 2rem;
  font-weight: 300;
}
#prices h3,
#shopInfo h3,
#accessMap h3,
#profile h3 {
	font-size: 1.8rem;
  font-weight: 300;
	margin: 1em 0;
}
#prices h4 {
	font-size: 1.5rem;
  font-weight: 300;
	line-height: 3;
}
#copyright {
  font-weight: 300;
  font-size: 1rem;
}

#prices .priceList ul li strong {
	font-weight: normal;
}
.notice {
	font-size: .8rem;
}

#message p {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  color: #5a2e07;
  text-align: justify;
  word-break: break-word;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  height: 20em;
}
#shopInfo th {
  font-family: "Trajan Sans Pro", sans-serif;
}

/* --- Link Text Color --- */
#LinkTextColor---------- {}
a:not(#siteID>) { border-bottom: 1px dashed; }
a:link { color: #154a68; }
a:visited { color: #033040; }
a:hover { color: #154a68; }

#siteID a {
	text-decoration: none;
	color: rgb(153,72,32);
}
#siteID a:hover {
  color: rgb(115, 39, 2);
}

nav a:link,
nav a:visited,
nav a:hover,
nav a:active {
	text-decoration: none;
  outline: none;
  color: #EBFFF1;
 }

main p a {
	border-bottom: 1px dashed;
}


/* --- Layout --- */
#LAYOUT--------------- {}

body {
	margin: 0;
	padding: 0;
	color: #333;
	background: #FFF;
}

img, object, embed, video {
	max-width: 100%;
	height: auto;
}

/* --- header --- */
header {
  height: 430px;
	background: #e6f4ef url(../images/bg.gif);
  position: relative;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
  border-bottom: 5px solid #994820;
}
header:after {
  content: "";
  display: block;
  height:100%;
  width: 100%;
  position:absolute;
  z-index:20;
  top: 50%;
  left: 50%;
  margin-top: -212px;
  margin-left: -340px;
  background: url(../images/plants03.png) no-repeat;
}
#siteID {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -.8em;/*-1em*/
  margin-left: -30px;
}

/* --- navigation --- */
nav {
  padding: 0;
  margin: 0;
  position: fixed;
  bottom: 0;
  width: 100%;
  height: 50px;
  z-index: 100;
  background: #25584a;
}

nav ul {
  border-top: 3px double #97C6CA;
}
nav li {
  width: auto;
  min-width: 16.66%;
  display: inline-block;
  font-size: 30px;
  line-height: 50px;
  text-align: center;
}
nav li a {
  display: block;
}
nav li a span {
  display: none;
}
main {
	position: relative;
  padding: 25px 0 0; 
	/*background: #ECFFF1 url(../images/bg_wall_light2.jpg);*/
	background: #fcf7e4 url(../images/bg_wall_light3.jpg);
}
.flexslider {
  width:90%;
  margin-left: auto;
  margin-right: auto;
}
.flex-direction-nav { display: none; }
.priceList {
	padding: 0 1em;
  max-width: 600px;
  margin: auto;
}
.priceList .sp {
  display: none;
}
.priceList h4 {
  margin-top: 3em;
}
.adBnr {
  margin: 50px auto;
}
.adBnr li {
  text-align: center;
  margin-bottom: 20px;
}
.adBnr li:last-child {
  margin-bottom: 0;
}

footer {
	text-align: center;
	padding-bottom: 50px;
  background: #25584a;
  color: white;
}
#copyright {
	margin: 0;
	padding: 1em 0 .5em;
}


/* ----- MESSAGE -----*/
#message {
  overflow: hidden;
}
#message h2 {
	border-bottom: 1px solid #5a2e07;
	margin-bottom: 0.8em;
	padding: 60px 0 0;
	text-align: center;
	color: #5a2e07;
	margin-top: 0px;
}

#message .msgBox {
  width: 100%;
  height: 100%;
  overflow: inherit;
  /*padding: 0 5% 80px;*/
  padding: 0 5%;
  box-sizing: border-box;
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  justify-content: center;
}

/* ----- SHOP INFO -----*/
#shopInfo h2 {}
#calendar {
	width: 90%;
	margin: auto;
}
.fc-toolbar .fc-right {
	margin-top: 1em;
}
.fc-view-container th {
	border-color: #252310;
	background-color: #eaeaea;
}
.fc-view-container td {
	border-color: #252310;
	background-color: #FFF;
}
.fc th,
.fc td {
	padding: .25em;
}
a.shop-event {
	background-color: #fc3;
	border-width: 0;
	color: #5a2e07;
}
a.shop-event:hover {
	background-color: #fc3;
	border-width: 0;
	color: #5a2e07;
}
a.ja-holiday {
	background-color: #eaeaea;
	border-width: 0;
	color:#5a2e07;
}
a.ja-holiday:hover {
	background-color: #eaeaea;
	border-width: 0;
	color:#5a2e07;
}
table.shopData {
	width: 90%;
  margin: 3em auto;
  border-collapse: collapse;
  color: #222222;
  background-image: url(../images/Object2.png);
  background-repeat: no-repeat;
  background-position: 95% -15px;
  background-color: #FFF;
}
.shopData th,
.shopData td {
	border: 1px solid #252310;
	padding: .5em;
}

.shopData th {
  background: #eaeaea;
}
.shopData td {
	background: inherit;
	line-height: 1.5;
  letter-spacing: 0.1em;
}
.shopData a {
	text-decoration: none;
	color: #69C;
}
.shopData a:hover {
	border-bottom: 1px dashed #69C;
}
#shopInfo p {	padding: 0 1em; }
#shopInfo h2 {
	border-bottom: 1px solid #5a2e07;
	margin-bottom: 0.8em;
	padding: 60px 0 0;
	text-align: center;
	color: #5a2e07;
	margin-top: 0px;
	clear: both;
}
ul.importantNotices {
  width: 90%;
  max-width: 700px;
  margin: 3em auto;
  border: 3px solid #fff;
  background-color: rgba(255,255,255,0.35);
  border-radius: 16px;
  padding: 1em;
}
.importantNotices li::before {
  font-family: "FontAwesome";
  content: "\f06a";
  display: inline-block;
  margin-right: .5em;
  font-size: 1.2em;
  color: #7E3C00;
}
.importantNotices li+li {
  margin-top: 0.75em;
}
.importantNotices em {
  text-decoration: underline;
  text-decoration-style: wavy;
  text-decoration-color: #8f4d2c;
}
.topics {
	width: 90%;
	margin: 3em auto;
}
.topics li+li {
  margin-top: 1em;
}
.topics time {
	display: block;
	border-bottom: 1px dashed #000;
	margin-bottom: .25em;
}
#calendar h3 {
	color: #5a2e07;
	margin: 0;
}
#shopInfo #accessMap h3 {
	border-bottom: 1px solid #5a2e07;
	margin-bottom: 0.8em;
	padding: 60px 0 0;
	text-align: center;
	color: #5a2e07;
	margin-top: 0px;
}
.embededMap {
  max-width: 90%;
  min-width: 280px;
  width: 90%;
  margin: 20px auto;
  padding: 4px;
  background: #FFF;
  border: 1px solid #CCC;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
 
.googlemap {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 → 9 ÷ 16 x 100 = 56.25% */
    height: 0;
    overflow: hidden;
}
.googlemap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/* ----- MENU and PRICE -----*/
#prices {
  margin-bottom: 75px;
}
#prices h2 {
	border-bottom: 1px solid #5a2e07;
	margin-bottom: 0.8em;
	padding: 60px 0 0;
	text-align: center;
	color: #5a2e07;
	margin-top: 0px;
}
#donation {
	border: 2px solid #fc3;
	padding: 1em;
	background: #fff;
	border-radius: 1em;
	margin: 3em 0;
}
#donation figure {
	text-align: center;
	margin-bottom: 1.5em;
}
#prices h4 {
	margin-top: 0;
	margin-bottom: .25em;
}
#prices ul+h4 {
	margin-top: 3em;
	font-size: 1.3rem;
	line-height: 2;
}
.priceList + .priceList {
  padding-top: 150px;
}
.priceList:nth-of-type(2),
.priceList:nth-of-type(5){
  background: url(../images/icon01.png) no-repeat 50% 30px;
}
.priceList:nth-of-type(3),
.priceList:nth-of-type(6){
  background: url(../images/icon02.png) no-repeat 50% 10px;
}
.priceList:nth-of-type(4) {
  background: url(../images/icon03.png) no-repeat 50% 30px;
}
.priceList + .priceList > h3 {
 margin-top: 1.5em; 
}

.priceList ul {
	list-style: none;
	margin: 1em 0;
	padding: 0 .5em;
}
.priceList ul + ul {
	margin-top: 3em;
}
.priceList ul:not(.notFee) li{
	border-bottom: 1px dashed rgba(0,0,0,.3);
	position: relative;
	clear: both;
	padding: 0 0 2em 0;
}

.priceList ul li strong {
	position: absolute;
	left: 0px;
	bottom: 0em;
	padding: 0 0.5em 0 0;
}
.priceList ul li em {
	position: absolute;
	right: 0px;
	bottom: 0em;
	padding: 0 0 0 1em;
	font-style: normal;
}
.priceList ul .subset strong { text-indent: 2em; }

.priceList sup {
	color: #7E3C00;
	margin-left: .25em;
}
.checkPoint li::before {
	font-family: "FontAwesome";
	content: "\f088";
	margin-right: .5em;
}
.subset + li:not(.subset) {
	margin-top: 2em;
}
.priceList figure {
	text-align: center;
	margin: 2em auto;
}
.gallery {
	border: 2px solid #fc3;
	background: #fff;
	border-radius: 1em;
	margin: 3em 0;
	text-align: center;
}
.gallery figcaption {
	background: #fc3;
	border-radius: 0.8em 0.8em 0 0;
	padding: .5em 1em;
	font-family: "trajan-sans-pro",sans-serif;
}
.gallery li:not(:first-child) {
	display: none;
}
.gallery a img {
	border-radius: 5px;
	box-shadow: 0 0 2px #999;
	transition: box-shadow 0.5s linear;
}
.gallery a:hover img {
	box-shadow: 0 0 10px #999;
}
.lb-data .lb-caption {
	font-size: 16px;
	font-weight: normal;
	line-height: 2;
}

/* ----- PROFILE -----*/
.extra {
	background: #e6f4ef url(../images/bg.gif);
	border-top: 5px solid #994820;
	padding-bottom: 1em;
}
#profile {
	overflow: hidden;
}
#profile h2 {
	border-bottom: 1px solid #fff;
	margin-bottom: 0.8em;
	padding: 60px 0 0;
	text-align: center;
	margin-top: 0px;
	color: #994820;
}
#profile figure {
	text-align:  center;
	margin-bottom:  1em;
}

#profile figure img {
	box-shadow: 0px 0px 6px #345549;
	border-radius: 20px 0;
	border: 3px solid #fff;
}

/* ----- 共通 -----*/
.btn {
	margin: 1.5em auto;
	width: 90%;
  max-width: 300px;
	text-align: center;
}
.btn a {
	display: block;
	text-decoration: none;
	line-height: 2.5em;
	cursor: pointer;
	color: #FC3;
	border-radius: 1.25em;  
  background: #25584a;
	border: 1px solid #033040;
  -webkit-box-shadow: 0px 1px 5px #25584a;
          box-shadow: 0px 1px 5px #25584a;
}

.btn a:hover {
	color: #033040;
	background: #FC3;
	border: 1px solid #033040;
}

.call {}
#message .sign { text-align: right; }
.notice {
	padding: 1em;
	color: #7E3C00;
	margin: 0;
}

/* ----- Flexslider -----*/
.flex-control-paging li a.flex-active {
  background: #25584a;
  background: rgba(37, 88, 74, 1);
}

.flex-control-paging li a:hover {
  background: rgba(37, 88, 74, .7);
}
@media only screen and (min-width: 480px) {
  .priceList .sp {
    display: inline;
  }
	#profile figure {
		float: right;
		margin-left: 1em;
		margin-right: 1em;
	}
}
@media only screen and (min-width: 600px) { 
  .googlemap {
    padding-bottom: 400px;
  }
}

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

  header:after {
    left: 5%;
    margin-left: 0;
  }
  #siteID {
    left: 40%;
    /*margin-top: -0.5em;*/
    margin-left: 0;
  }
  #siteID {
    font-size: 3.5rem;
  }
  #siteID span {
    font-size: 1.25rem;
  }
  nav {
    top: 0;
  }
  
  nav ul {
    border-top: 0px;
    border-bottom: 0px solid #033040;
    -webkit-box-shadow: 0px 0px 10px #033040;
            box-shadow: 0px 0px 10px #033040;
  }
  nav li {
    font-size: 1rem;
    min-width: 19.6%;/*20%*/
  }
  nav li:last-child {
    display: none;
  }
  nav li a i {
    margin-right: 0.25em;
  }
  nav li a span {
    display: inline-block;
  }
  nav li a span > span {
    display: none;
  }
  .flexslider {
    height: 300px;
    overflow: hidden;
  }
  .flexslider .slides img {
    margin-top: -10%;
  }
  .flex-control-nav {
    bottom: 0px;
  }
	.topics li {
		padding-left: 10em;
		text-indent: -5em;
	}
	.topics time {
		display: inline-block;
		border-bottom: none;
		margin-bottom: auto;
	}
	.topics time::after {
		content: "★";
		color: #8f4d2c;
	}

  .call.btn {
    display: none;
  }
	.priceList ul {
		padding: 0 2em;
	}

  .adBnr {
    margin: 75px auto 50px;
    display: table;
  }
  .adBnr li {
    display: table-cell;
    text-align: center;
    width: 30%;
  }
  footer {
    padding-bottom: 0;
  }
}
 
@media only screen and (min-width:  900px) {
  #siteID {
    left: 35%;
  }
  #siteID span {
    display: inline-block;
    margin-right: 0.5em;
  }
  #message p {
    font-size: 1.2rem;
  }
  section,
  div#campaign {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
  }
  .googlemap {
    padding-bottom: 500px;
  }
}
