h1, h2, h3, p, a, small, tr, td {
  color: white;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}

h1{
	font-size: 25px;
	position: absolute;
	left: 30px;
}

h2 {
  text-align: center;
	font-size: clamp(20px, 2.3vw, 32px)
}
h3{
	font-size: clamp(18px,2vw,26px);
}
p,td,th{
	font-size: clamp(16px ,1.5vw ,24px);
}

a{
	font-size: clamp(16px ,1.5vw ,24px);
	text-decoration: none;
}
a:hover{
	text-decoration: underline;
}


body {
	background-image: url("../29198958_s.jpg");
	background-repeat: repeat;
	background-attachment: fixed;
	z-index: 10;
	width: 100%;
}
.contant, gallery, calemder, access {
  padding: 0 20px 0 20px;
  height: auto;
  margin: 0 auto;
  width: 100%;
}



.boder h2{
	display: inline;
	border-bottom: 1px dashed #ffffff;
}
.boder h3{
	display: inline;
	border-bottom: 0.2px solid #ffffff;
	line-height: 4;
}



@media(min-width:768px){
	contant, gallery, calemder, access {
		height: auto;
		margin: 0 100px;
	}
	.main{
		margin: 0 auto;
        max-width: 1000px;
	}
}






/*mainview*/
.fastview_sp{
	width: 100vw;
}
.fastview_logo{
	position: absolute;
	top: 50%;
  	left: 50%;
  	margin:0;
  	padding:0;
	transform: translate(-50%,-50%);
	width: 40vw;
}
.mainview {
	position: relative;
	width: 100vw;
  	height: 100vh;
	margin-bottom: 15px;
	background-image: url("../pc_img/fast_view.png");
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-size: cover;
}
.categoty_message{
	position: relative;
	width: 100vw;
  	height: auto;
	margin-bottom: 15px;
}
.fastview_pc{
	display: none;
}


/*.nav_logo img{
	height: 5vh;
	width: auto;
	padding-left: 5vw;
	left: 6vw;
	top: 6vw;

}
*/

/* hamburger switch */
.mainview .site-nav__toggle-label ,.categoty_message .site-nav__toggle-label {
    position: absolute;
    display: block;
	position: fixed;
    top: 10px;
    right: 10px;
	z-index: 10;
	height: 100vh;
}

.site-nav{
	display: flex;
	justify-content: flex-end;
	
}

.mainview .main-nav, .categoty_message .main-nav {
	display: none;
	padding: 0;
	margin: 0;
}
.main-nav__item{
	margin-bottom: 1vw;
}

@media (min-width:768px) {
	.mainview .site-nav__toggle-label ,.categoty_message .site-nav__toggle-label {
    	position: absolute;
	}
	.mainview .main-nav ,.categoty_message .main-nav {
		display: block;
		margin: 0;
		border-bottom: none;
		line-height: 1.5;
	}
	.main-nav{
		height: 3vw;
		padding: 3vw;
	}
	.site-nav{
        margin: 10px 10px 10px 0; 
        position: absolute;
        z-index: 10;
        width: 98vw;
	}
}




.mainview input[type="checkbox"]:checked ~ .main-nav ,
.categoty_message input[type="checkbox"]:checked ~ .main-nav {
	display: block;
	width: 100%;
	display: flex;
	position: fixed;
	background-color: rgba(0, 0, 0, 0.5);
	flex-direction: column;
	z-index: 1;
	height: 100vh;
}

.mainview input[type="checkbox"]:checked ~ .main-nav__item ,
.categoty_message input[type="checkbox"]:checked ~ .main-nav__item {
	flex: 1;
	line-height: 0;
}

@media (min-width:768px) {
	.mainview input[type="checkbox"]:checked ~ .main-nav,
	.mainview input[type="checkbox"]~ .main-nav,
	.categoty_message input[type="checkbox"]:checked ~ .main-nav,
	.categoty_message input[type="checkbox"]~ .main-nav  {
		display: flex;
		flex-direction: row;
		justify-content: flex-end;
	}
	.mainview input[type="checkbox"]:checked ~ .main-nav ,
	.categoty_message input[type="checkbox"]:checked ~ .main-nav {
		background-color: none;
	}
}



/* hamburger icon */
.mainview .site-nav__toggle ,
.categoty_message .site-nav__toggle {
	display: none;
}
.site-header .site-nav__toggle-label{
	position: absolute;
	display: block;
	top: 10px;
	right: 10px;
}

.mainview .site-nav__toggle-label span, 
.categoty_message .site-nav__toggle-label span {
	display: block;
	width: 40px;
	height: 39px;
	cursor: pointer;
}

.mainview .site-nav__toggle-label span span,
.categoty_message .site-nav__toggle-label span span{
	display: block;
	overflow: hidden;
	width: 1px;
	height: 1px;
}
.mainview .site-nav__toggle-label span span::before,
.mainview .site-nav__toggle-label span span::after,
.mainview .site-nav__toggle-label span::after,
.categoty_message .site-nav__toggle-label span span::before,
.categoty_message .site-nav__toggle-label span span::after,
.categoty_message .site-nav__toggle-label span::after{
	position: absolute;
	left: 10px;
	content: "";
	width: 20px;
	height: 3px;
	background-color: #FFF;
}

.mainview .site-nav__toggle-label span span::before ,
.categoty_message .site-nav__toggle-label span span::before {
	top: 10px;
}

.mainview .site-nav__toggle-label span span::after,
.categoty_message .site-nav__toggle-label span span::after  {
	top: 18px;
}

.mainview .site-nav__toggle-label span::after ,
.categoty_message .site-nav__toggle-label span::after {
	top: 2px;
}

@media (min-width:768px) {
	.mainview .site-nav__toggle-label,
	.categoty_message .site-nav__toggle-label{
		display: none;
	}
}

/* hamburger icon checked */
.mainview input[type="checkbox"]:checked ~ .site-nav__toggle-label span span::before ,
.categoty_message input[type="checkbox"]:checked ~ .site-nav__toggle-label span span::before {
	top: 19px;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
}

.mainview input[type="checkbox"]:checked ~ .site-nav__toggle-label span span::after,
.categoty_message input[type="checkbox"]:checked ~ .site-nav__toggle-label span span::after{
	display: none;
}

.mainview input[type="checkbox"]:checked ~ .site-nav__toggle-label span::after,
.categoty_message input[type="checkbox"]:checked ~ .site-nav__toggle-label span::after {
	top: 19px;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
}



/*main_message*/
.main_message{
	height: auto;
	position: relative;
}
.main_message>h1{
	position: absolute;
    right: 0vw;
	top: 38vw;
	right: 20vw;
	text-shadow: 1px 2px 3px #e7e7e7;
    writing-mode: vertical-rl;
    font-size: 3.5vw;
}
.main_message>img{
	height: auto;
}
.img{
	height: 73vw;
}
.img_1{
	position: absolute;
	top: 3vw;
    left: 18vw;
    width: 29vw;
}
.img_2{
	position: absolute;
    top: 9vw;
    right: 17vw;
    width: 30vw;
}
.img_3{
	position: absolute;
    top: 30vw;
    right: 40vw;
    width: 40vw;
}

/*category*/
.category>a>picture>img {
  width: 100vw;
}
.category {
	margin-bottom: 100px;
	margin: 40px;	
}
.category>h2{
	text-align: start;
	margin-bottom: 1vw;
	display: inline;
	border-bottom: 2px dashed #ffffff;
}
.category>a>picture{
	transition-property: opacity;
	transition: 0.5s;
}

.category>a>picture:hover {
	filter: brightness(150%);
	transition: 0.5s;
}

.contant>h2{
	margin-bottom: 60px;
}
.contant{
	margin-bottom: 60px;
	padding: 0;
}
.access iframe {
  width: 100%;
  height: 300px;
}
.more {
  text-decoration-line: none;
  display: block;
  text-align: center;
}
.more>img{
	display: block;
	margin: auto;
	margin-bottom: 100px;
}
.gallery_img{
	text-align: center;
	position: relative;
	margin: 0 auto;
	width: 70vw;
	max-width: 1000px;
	height: 15vh;
	max-height: 800px;
	margin-bottom: 1vh;
}
.image{
	position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    opacity: 0;
    background-size: cover;
    background-position: center center;
    animation: image-switch-animation 25s infinite;
}
.src1{
	background-image: url("../gallery/towel.png")
}
.src2{
	background-image: url("../gallery/food.png")
}
.src3{
	background-image: url("../gallery/front.png")
}
.src4{
	background-image: url("../gallery/shower.png")
}
.src5{
	background-image: url("../gallery/watar.png")
}

@keyframes image-switch-animation {
    0%{ opacity: 0;}
    5%{ opacity: 1;}
    25%{ opacity: 1;}
    30%{ opacity: 0;}
    100%{ opacity: 0;}
}
.image:nth-of-type(1) {
    animation-delay: 0s;
}
.image:nth-of-type(2) {
    animation-delay: 5s;
}
.image:nth-of-type(3) {
    animation-delay: 10s;
}
.image:nth-of-type(4) {
    animation-delay: 15s;
}
.image:nth-of-type(5) {
    animation-delay: 20s;
}

.calemder{
	text-align: center;
}
.calemder>.contant>iframe{
	max-width: 100vw;
}

@media(min-width:768px){
	.category{
		width: 45%;
		margin: 0 0 60px 0;
	}
	.fastview_logo{
		width: 20vw;
	}
	.category_out{
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.access iframe {
  		height: 500px;
		max-width: 800px;
	}
	.access{
		text-align: center;
	}
	.gallery>picture>img{
		padding: 0 3vw;
	}
	.gallery_flex{
		display: flex;
		flex-direction: row;
		max-width: 1000px;
		margin: 0 auto;
	}
	.gallery_img{
		height: 30vh;
	}
}



/*conceptのページ*/
.contant_inner{
	margin: 0 auto;
	max-width: 80vw;
	position: relative;
}
.categoty_message{
	margin-bottom: 25px;
}
.concept_mainmessage span{
	display: inline-block;
}
.categoty_message>h1{
	text-align:left;
	position: absolute;
	top: 50px;
	text-shadow: 1px 2px 2px #202020;
}
.categoty_message>picture>img{
	width: 100vw;
}

.concept_mainmessage{
	margin-bottom: 60px;
}
.concept_mainmessage{
	text-align: center;	
}
.concept_message{
	margin-bottom: 60px;
}
.concept_message>picture>img{
	width: 100vw;
}

@media(min-width:768px){
	.contant_inner{
		margin: 0 100px;
		max-width: 100%;
	}
	.concept_message{
		display: flex;
		position: relative;
		margin-bottom: 200px;
	}
	.concept_message:nth-child(4n){
		margin-bottom: 100px;
	}
	.concept_message:nth-child(2n){
		flex-direction: row-reverse;
	}
	.concept_mainmessage{
		text-align: center;
		margin-bottom: 200px;
	}
	.concept_mainmessage>p{
		font-size: 25px;
	}
	.categoty_message{
		position: relative;
	}
	.categoty_message>h1{
		font-size: clamp(24px, 2.5vw, 40px);
		
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}
	.concept_message>p{
		width: 50%;
		margin: 0 20px;
		align-self: center;
	}
	.concept_message>source>img{
		width: 40vw;
	}
	.concept_message>picture>img{
		width: 50vw;
	}
	.categoty_message{
		margin-bottom: 100px;
	}

}
/*@media(min-width:1200px){
	.concept_mainmessage br{
		display: none;
	}
}
*/


/*infomationのページ*/

td,th{
	color: white;
	padding: 10px 20px 10px 20px;
	border: solid 1px #FFFFFF;
}
.charge>h2{
	margin-bottom: 20px;
	text-align: left;
}
.infomation_contant{
	margin-bottom: 60px;
}
.charge{
	margin-bottom: 60px;
}
.infomation_contant>p{
	margin-bottom: 15px;
}
.infomation_contant>h2{
	margin-bottom: 20px;
	text-align: left;
}
.contant_center{
	max-width: 70vw;
    margin: 0 auto;
}

.information ul{
	text-align: center;
	margin-bottom: 3vw;
	max-width: 500px;
	margin: 0 auto;
}
.information li{
	margin-bottom: 2vw;
	border-bottom: 2px dotted #fff;
}
.information p{
	text-align: center;
}

@media(min-width:768px){
	.contant_center{
		text-align: center;
	}
	.charge>h2{
		text-align: center;
	}
	.infomation_contant>h2{
		text-align: center;
	}
	table{
		margin: 0 auto;
	}
	.caution{
		text-align: start;
		max-width: 600px;
		margin: 0 auto;
	}
	.caution>p{
		margin-bottom: 15px;
	}
}





/*flowのページ*/
.flow{
	display: flex;
	margin-bottom: 60px;
}
.flow>picture>img{
	margin-top: 0;
	margin-right: 15px;
}
.flow_inner{
	width: 80%;
    margin-left: 20px;
}
.flow_inner>h3{
	display: inline-block;
}
@media(min-width:768px){
	.flow_inner{
		margin-left: 3vw;
		width: 50%;
	}
	.flow{
		margin-bottom: 200px;
	}
	.margin_left {
        margin-left: 0;
		margin-right: 80px;
	}
    .flow:nth-child(2n) {
        flex-direction: row-reverse;
	}
	.contant_inner>.flow>.flow_inner:nth-child(odd) {
		margin-left: 0px;
	}
	.flow>picture>img{
		width: 60vw;
	}
}




/*menuのページ*/
.menu>h2{
	margin-bottom: 40px;
}
.menu>h3{
	text-align: center;
	margin-bottom: 40px;
	display: inline-block;
}
.menu{
	text-align: center;
}

.margin_top{
	margin-top: 80px;
}
.drink>p{
	display: inline;
}
.drink{
	margin-bottom: 2vw;
	text-align: center;
}
.osusume>p{
	display: block;
}
.price{
	display: flex;
}
.menu_message{
	margin-bottom: 20px;
}
.seat{
	text-align: center;
	margin-bottom: 40px;
}
.menu>img{
	margin-bottom: 40px;
}
.menu_inner{
	margin-bottom: 3vw;
}


@media(min-width:768px){
	.contant_inner{
		margin: 0 auto;
        max-width: 1000px;
	}
	.food_flex{
		display: flex;
		justify-content: space-between;
		gap: 20px;
	}
	.menu_flex {
		display: flex;
		flex-direction: column;
	}
	.drink{
		text-align: center;
	}
	.menu_message{
		text-align: center;
	}
	.drink>p:nth-child(odd){
		margin-right: 40px;
	}
	.cafe_img{
		display: flex;
		max-width: 1000px;
        margin: 0 auto;
		margin-bottom: 100px;
	}
	.cafe_img:nth-child(even){
		flex-direction: row-reverse;
	}
}


/*Q&Aのページ*/
.question_center>h2{
	margin-bottom: 50px;
	text-align: start;
}
.question_center>h3{
	margin-bottom: 10px;
	display: inline-block;
}
.question_center>p{
	margin-bottom: 40px;
}
@media(min-width:768px){
	.question{
		max-width: 600px;
        margin: 0 auto;
	}
	.question_center>h2{
		text-align: start;
	}
}

.acbox{
	width: auto;
/*	font-size:0px; *//* ラベルと開く部分を分離する時は数値を入れる */
	margin-bottom: 5vw;
}

.acbox label{
  width: auto;
  position: relative;
  display: block;
  cursor: pointer;
}

.acbox input{
  display: none;
}

.acbox label h3:after{
  color: #fff;
  content:"▼"; /* ラベルのアイコン */
  position: absolute;
  top: 30%;
  right: 15px;
  margin-top: -14px;
}

.acbox input:checked ~ label h3::after {
  content:"▲"; /* ラベルをクリックした後のアイコン */
}

.acbox div{
  height: 0px;
  overflow: hidden;
  opacity: 0;
}

.acbox input:checked ~ div{
  height: auto;
  opacity: 1;
}
.acbox>h2{
	text-align: start;
	margin-bottom: 3vw;
}
.acbox h3{
	border-bottom: 2px dotted#ffffff;
}
.acbox_inner{
	margin-bottom: 10vw;
}


/*footer*/
footer{
	background-image: url("../AdobeStock_315907458.png");
    z-index: 20;
	background-size: cover;
}

.footer_inner{
	margin: 0 auto;
	color: white;
}
.flex{
	display: flex;
	margin: 0 auto;
	max-width: 350px;
	justify-content: space-between;
}
.logo{
	padding-top: 45px;
	text-align: center;
}
.address{
	display: inline;
}
li {
	list-style: none;
	margin-left: 2vw;
}
.copy{
	display: block;
	text-align: center;
}
@media(min-width:768px){
	footer{
		background-image: url("../pc_img/foooter.png");
		display: block;
		height: auto;
/*		margin-top: 200px;*/
	}
	.footer_inner{
		margin: 0 auto;
		max-width: 800px;
	}
	
	.pc_flex{
		display: flex;
		width: 80%;
		display: flex;
		justify-content: center;
	}
	.flex{
		max-width: none;
		margin:  100px 0;
	}
	.logo{
		margin: 100px 0 0 0;
		padding: 0;
		width: 20vw;
		max-width: 200px;
	}
	.logo>img{
		width: 200px;
		height: auto
	}
	address{
		margin: 0 0 0 1vw;
		width: auto;
	}
	nav{
		margin: 0 0 0 1vw;
	}
	.copy{
		display: block;
		text-align: center;
	}
}