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-size: 100%;
	vertical-align: baseline;
    box-sizing: border-box;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body{
    /* font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif; */
	font-family: 'Avenir','Helvetica Neue','Helvetica','Arial',YuGothic,'Yu Gothic','Hiragino Sans','ヒラギノ角ゴシック','メイリオ', Meiryo,'ＭＳ Ｐゴシック','MS PGothic',sans-serif;
	font-family: 'Zen Kaku Gothic New', sans-serif;
}

img{
    width: 100%;
	vertical-align: middle;
}

h1{
	display: none;
}

a{
	color: #333;
}

a:hover,a:active{
	opacity: 0.8;
}

a.tel{
	text-decoration: none;
	color: #fff;
	background: #514d4c;
	padding: 5px;
	border-radius: 2px;
}

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

#pinContainer {
	width: 100%;
	height: 100vh;
	overflow: hidden;
	background-image: url(img/top_back.jpg);
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}

.panel.a1, .panel.a2, .panel.a3{
	opacity: 0;
}

.panel {
	height: 100%;
	width: 100%;
	position: absolute;
}

.panel p{
	position: absolute;
    top: 30%;
    left: 72%;
	height: 60%;
	color:#fff;
	transform: translateX(-50%);
	font-size: 270%;
	font-weight: bold;
	max-width: 430px;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-family: 'Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','ヒラギノ明朝 ProN','Hiragino Mincho ProN',sans-serif;
	align-items: center;
}

.panel p span.yoko{
	writing-mode: horizontal-tb;
	line-height: 1.0;
}

.panel img.top_logo{
	position: absolute;
    top: 19%;
    left: 72%;
	transform: translateX(-50%);
    max-width: 430px;
	height: auto;
}

.fadeout{
	animation-name:fadeOutAnime;
	animation-duration:0s;
	animation-fill-mode:forwards;
	opacity:1;
}
@keyframes fadeOutAnime{
	from {
		opacity: 1;
	}
	
	to {
		opacity: 0;
	}
	}
	
.fadein{
	animation-name:fadeInAnime;
	animation-duration:2s;
	animation-fill-mode:forwards;
	opacity:0;
}
@keyframes fadeInAnime{
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}


h2{
	font-family: 'Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','ヒラギノ明朝 ProN','Hiragino Mincho ProN',sans-serif;
	font-size: 240%;
	font-weight: normal;
	margin: 70px 0;
	position: relative;
}

h2::before{
	content: "";
	position: absolute;
	top:-20%;
	left:-30%;
	border-top: solid 1px;
	width: 40%;
	transform: rotate(135deg);
}

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

div.section{
	background-color: #fff;
	background-image: url(img/back_tex.png);
	background-position: center top;
	background-size: cover;

}

div.section_gray{
	background-color: #514d4c;
	background-image: url(img/back_tex.png);
	background-blend-mode: multiply;
	background-position: center top;
	background-size: cover;
	color: #d49f93;

}

div.section_pink{
	background-color: #d49f93;
	background-image: url(img/back_tex.png);
	background-blend-mode: color-burn;
	background-position: center top;
	background-size: cover;
	color: #fff;

}

div.section_contents{
	max-width: 1000px;
	margin: 0 auto;
	padding: 100px 0;
	text-align: center;
}

div.centering{
	text-align: left;
	display: inline-block;
}

div.centering p{
	margin: 70px auto;
	line-height: 2.2;
}

div.centering p.name{
	line-height: 1.5;
}

a.button{
	display: block;
	width: 100%;
	padding: 20px;
	background-color: #d49f93;
	background-image: url(img/back_tex.png);
	background-blend-mode: color-burn;
	color: #fff;
	font-weight: bold;
	text-decoration: none;
	font-size: 125%;
	text-align: center;
}
a.button span{
	font-size: 88%;
	font-family: 'Roboto Condensed', sans-serif;
	font-weight: 400;
}

.mg {
    margin: 20px 0 30px 0!important;
}

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

div.image img{
	max-height: 500px;
	width: 100%;
	object-fit: cover;
	object-position: center center;
}

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

div.footer{
	background-color: #514d4c;
	background-image: url(img/back_tex.png);
	background-blend-mode: color-burn;
	background-position: center top;
	background-size: cover;
	color: #fff;

}

div.access{
	display: flex;
	flex-wrap: wrap;
	max-width: 1000px;
	margin: 0px auto;
	padding: 100px 0;
	font-weight: 400;
	letter-spacing: 0.05em;
}

div.address{
	width: 30%;
}

div.address h3 img{
	/* font-family: 'Roboto Condensed', sans-serif;
	font-weight: 300;
	font-size: 300%; */
	max-width: 200px;
	margin: 0 0 10px -2px;
}

div.address p{
	font-size: 120%;
	line-height: 1.7em;
	margin: 0 auto;
}

span.sns{
	display: inline-block;
	font-size: 110%;
	margin: 40px 0;
}

span.sns a{
	color: #fff;
	text-decoration: none;
}

span.sns img{
	width: 20px;
	margin:  0 8px 0 0;
}

ul{
	list-style: none;
	font-weight: bold;
	font-size: 85%;
}

ul li{
	margin: 0 0 12px 0;
}

ul li a{
	background: #fff;
	padding: 3px 5px 5px 5px;
	color: #333;
	border-radius: 2px;
	font-weight: 500;
}

/* モーダルウィンドウ */

.modal-wrapper {
	z-index: 999;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	padding: 40px 10px;
	text-align: center;
  }
  
  .modal-wrapper:not(:target) {
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s, visibility .3s;
  }
  
  .modal-wrapper:target {
	opacity: 1;
	visibility: visible;
	transition: opacity .4s, visibility .4s;
  }
  
  .modal-wrapper::after {
	display: inline-block;
	height: 100%;
	margin-left: -.05em;
	vertical-align: middle;
	content: ""
  }
  
  .modal-wrapper .modal-window {
	box-sizing: border-box;
	display: inline-block;
	z-index: 20;
	position: relative;
	width: 90%;
	max-width: 900px;
	padding: 10px 30px 25px;
	border-radius: 2px;
	background: #fff;
	box-shadow: 0 0 30px rgba(0, 0, 0, .6);
	vertical-align: middle
  }
  
  .modal-wrapper .modal-window .modal-content {
	max-height: 80vh;
	overflow-y: auto;
	text-align: left;
	color:#333;
  }
  
  .modal-content p{
	font-size: 100%!important;
	font-weight: normal!important;
  }

  .modal_title {
	position: relative;
	overflow: hidden;
	padding: 0;
	font-size: 120%;
	font-weight: bold;
	margin: 20px 0!important;
  }
  
  .modal-content p {
	margin: 10px 0 0 0;
  }
  
  .modal-overlay {
	z-index: 10;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(0, 0, 0, .8)
  }
  
  .modal-wrapper .modal-close {
	z-index: 20;
	position: absolute;
	top: 5px;
	right: 5px;
	width: 35px;
	color: #95979c !important;
	font-size: 30px;
	font-weight: 700;
	line-height: 35px;
	text-align: center;
	text-decoration: none;
	text-indent: 0
  }
  
  .modal-wrapper .modal-close:hover {
	color: #2b2e38 !important
  }

.umekomi {
    position: relative;
    width: 70%;
    padding-top: 40%;
}

.umekomi iframe {
    border: 0;
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
    padding:0;
}

/* for top logo */
@media screen and (max-width:1240px) {
	.panel img.top_logo {
		max-width: 400px;
	}
}

/* for tablet */
@media screen and (max-width:1024px) {
	.panel img.top_logo {
		top: 22%;
		left: 50%;
		transform: translateX(-50%);
		max-width: 400px;
	}

	.panel p {
		left: 50%;
		transform: translateX(-50%);
	}

	div.address {
		padding: 0px 3%;
	}


}

/* for sp */
@media screen and (max-width:599px) {

	#pinContainer {
		background-image: url(img/top_back.jpg);
		background-position: 40% 50%;
		background-size: cover;
		background-repeat: no-repeat;
	}

	#pinContainer::before {
		background-color: rgba(0, 0, 0, 0.1);
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		content: '';
	  }

	h2{
		font-size: 158%;
		margin: 40px 0;
	}

	h2::before {
		left: -17%;
	}

	.panel p {
		top: 22%;
		left: 50%;
		transform: translateX(-50%);
		font-size: 240%;
		/* text-shadow: -1px -2px 4px #4b4b4b; */
	}

	.panel img.top_logo {
		position: absolute;
		top: 22%;
		left: 50%;
		transform: translateX(-50%);
		max-width: 300px;
		height: auto;
	}

	div.section_contents {
		padding: 80px 30px;
	}
	
	div.centering p.name {
		margin: 40px 0 0 0 ;
	}

	div.access {
		padding: 60px 0 40px 0;
	}
	
	div.address{
		width: 100%;
		text-align: center;
		margin: 0 0 40px 0;
	}
	div.centering p {
		margin: 0px auto;
		font-size: 90%;
	}

	span.sns {
		margin: 20px 0;
	}
	.umekomi {
		width: 100%;
	}

	.modal-content p{
		font-size: 90%!important;
		font-weight: normal!important;
	  }
	
}

span.k{
	display: inline-block;
}

/* ----------------------------------------------- */
/* カレンダーカスタマイズ */
/* ----------------------------------------------- */

.searchCalElement>ul>li li dl dt {
    font-size: 14px;
    color: #333 !important;
    font-weight: bold !important;
}
.searchCalElement>ul>li li dl dt span {
    color: #333 !important;
}

#searchCal>dl>dt {
    font-size: 23px !important;
    color: #333 !important;
	font-family: 'Roboto Condensed', sans-serif!important;
}

#searchCal>dl>dt::after{
	content: "月";
    font-size: 22px !important;
	margin: 0 0 0 2px;
}

#searchCal>dl>dd ol {
	background-color: #fff;
}

.searchCalNote {
	display: none!important;
    justify-content: right!important;
}

.searchCalNote ol {
    font-weight: bold;
    list-style: none;
    text-align: right!important;
	display: block!important;
}

.searchCalNote li {
	margin: 0 0 0 1.5em;
	margin-right: 0!important;
	display: inline-block!important;
	white-space: nowrap!important;
}

.searchCalNote li svg {
	height: 10px!important;
}

/* for sp */
@media screen and (max-width:599px) {

	.searchCalNote li {
		font-size:12px!important;
		margin: 0 0 0 0.5em!important;
	}

}

.searchCalNote p {
    font-weight: bold;
}

.searchCalSelectBox{
	display: none;
}

.searchCalSelectBox {
    padding: 10px 0 0.5em!important;
}

.searchCalButton input {
    background: #514d4c!important;
	display: none!important;
}

.searchCalElement {
    display: none!important;
}

#searchCal>dl>dd ol li dt {
    font-weight: 400!important;
    font-family: 'Roboto Condensed', sans-serif!important;
}

#searchCal>dl>dd ol li {
    min-height: 65px;
}

#searchCal>dl>dd ol li dd p {
    display: none;
}

#searchCal>dl>dd ol li dl {
    padding-bottom: 0!important;
}

.searchCalNote p {
    display: none;
}

.searchCalNote ol {
    font-weight: 500;
}

#searchCal>dl>dd ul li {
    padding: 0.25em;
    font-size: 15px!important;
	font-family: 'Roboto Condensed', sans-serif;
	font-weight: 400;
    text-align: center;
    background: #fff;
    flex: 1;
}