﻿@charset "utf-8";
/* *{margin:0;padding:0;background-color:transparent;font-style:normal;outline:0} */
*{margin:0;padding:0;font-style:normal;outline:0; font-family:monospace;
color:#fff;}

html , body {
	min-height:100%;
	height:100%;
}
body {
	background-color:#000;
	font-size:1.2rem;

	min-width:860px;
	width:auto;/*833px;*/
	margin:0 auto;
}
#back{
	background-size:cover;/*contain;*/
	background-repeat:no-repeat;
	background-position: center center;
}
.back0{
	background-image: url(gz/haikei0.webp);
}
.back1{
	background-image: url(gz/haikei1.webp);
}
.back2{
	background-image: url(gz/haikei2.webp);
}

div#pageall{
  min-height: calc(100vh - 3em);
}

.wspn{white-space:normal;}
.wspl{white-space:pre-line;}
.wspw{white-space: pre-wrap;}

header, nav, article, aside, section, footer{
	display:block;
}
header{
	position:relative;

	width:auto;
	height:2rem;
	margin:0 auto;
	border-spacing:0;
	vertical-align:middle;
	padding:10px 10px;
}
header .mids{
	text-align: center;
}

header h1 {
	font-size:6.0rem;
	font-weight:bold;
	color: cadetblue;
	white-space: nowrap;

position: absolute;
top:50%;left:50%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
}
/*
header img{
float:left;
vertical-align:middle;
}
*/
header ul{
	display: flex;
}
header li{
	list-style: none;
}
header p.date {
	position:absolute;
	right: 1rem;
	top: 1.5rem;
	text-align:right;
	font-size:1.7em;
	color:#fff;
	background: #333;
}

/*  */
nav{
	clear:both;
	z-index:5;
	width:auto;
	height:auto;
	margin:5px 5px;
	overflow: hidden;
	display: flex;
	justify-content: center
 }
nav ul{
/*	width:100vw;*/
/*	float:left;*/

	padding:0;
	margin:0;
	list-style-type: none;
	overflow: hidden;
	font-size: 0;
}
nav li{
	position:relative;
	float:left;
	width:auto;
	margin:0;
	padding-right: 2rem;
	display:inline-block;
}
nav li:last-child{
	padding-right: 0;
}
/* side →　open  */
.sidenav {
  height: 100%;
  width: 0;
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
  background-color: #111;
  overflow-x: hidden;
  transition: 0.5s;
  padding-top: 5rem;
}
.sidenav:hover{
	overflow: visible;
	width: 6rem;
}
.sidenav a,
.sidenav button{
  padding: 1rem 1rem 1rem 1rem;
  text-decoration: none;
  font-size: 3rem;
  color: #fff;
  display: block;
  transition: 0.3s;
}

.sidenav ul.uld > li:hover,
ul > li > a:hover{
  color: #000;
	background: #ffff00;
	text-decoration: none;
}

.sidenav .closebt {
  position: absolute;
  top: 0;
  right: 25px;
  font-size: 3rem;
  margin-left: 3rem;
}

@media screen and (max-height: 450px) {
  .sidenav {padding-top: 15px;}
  .sidenav a {font-size: 18px;}
}

.btn0{
  padding: 0;
  border: none;
  outline: none;
  font: inherit;
  color: inherit;
  background: none;
		
  padding-left: 1rem;
  font-size: 3rem;
  color: #fff;
  display: block;
  transition: 0.3s;
	width: 100%;
	text-align: left;
}
.btn0:hover{
  color: #000;
	background: #ffff00;
}
/*   */

hr{
	clear:both;
	color: chartreuse;
}
hr.hr1{
	margin-bottom:.5rem;
}
aside{
	float:left;
/*	max-width:6.6vw;*/
	width:125px;
	height:auto;
/*	border:1px blueviolet solid;*/
}
aside div{
	text-align:center;
	margin:10px auto;
}
article{
/*	clear:both;*/
	float:left;
	width:83.4vw;/*860-127*/
/*	max-width:86.6vw;*/
	font-family: monospace;
	padding-left:.5rem;
}
section{
/*	clear:both;*/
	float:left;
	width:auto;
	height:auto;
	font-family: monospace;
	margin:0 auto;
	white-space:nowrap
}
a{
	font-weight:normal;
	text-decoration:none;
	cursor: pointer;
}
section a:hover{
	color:#ffff00;
	text-decoration:underline;
}
section#sno1,#sno2,#under-c{
	float:left;
	margin:0.5em 1em;
	white-space:pre-wrap;
}
section .posl{
	clear:both;
	float:left;
	padding-right:2em;
	min-width:15%;
}
section.posr{
	float:left;
}
section#tran{
	display: flex;
	flex-direction: column;
	width: 100%;

}

footer{
	width:100%;
	clear:both;	
	margin:.5em auto;
  bottom: 0;
  height: 2em;
  }
footer .copr{
	color: navy;
	margin:0.5em auto;
	text-align:center;
	font-size:1.2em;
}
.clboth{
	clear:both;
	margin-top:1rem;
}
.clboth0{
	clear:both;
	margin-top:0rem;
}
.clbtm{
	margin-top:1rem;
}
.lfet2{
	padding-left:1.5rem;
}

/*  */
h2 {
	font-size:1.2rem;
	color:#0ff;
}
div.botmm{
	position: absolute;
	bottom: 5rem;
}
h2.home{
	font-size: 3.7rem;
	color: navy;
	padding-left: 2rem;
	
}
h2.bus1{
	font-size: 3.7rem;
	color: mistyrose;
	padding-left: 2rem;
	
}
h2.cat{
	font-size: 3.7rem;
	color: yellow;
	padding-left: 2rem;
}
h2.adres{
	font-size: 3rem;
	color: #fff;
}
#closed-day{
	position: relative;
	font-size: 5rem;
	color: red;
	top: 15vw;
	margin-left: 40vw;
	visibility: hidden;
}
.tran01{
	height: 300px;
	width: 90vw;
	float: left;
	border: 2px solid green
}
.tran02{
	float: left;
	margin-left: 2rem;
	height: 300px;
	width: auto;
}
.tran03{
	float: left;
	padding-left: 3rem;
	border: 1px solid red;
	width: 0 auto;

}
.tran04{
	float: left;
	
	padding-left: 3rem;
}
.tran1{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr;
	grid-gap: 2rem;
	position: absolute;
	bottom: 3rem;
}
.tran2{
	padding-left: 2rem;
	grid-column: 1;
	grid-row: 1/3;
}
.tran3{
	grid-column: 2;
	grid-row: 1;
}
.tran4{
	grid-column: 2;
	grid-row: 2;
	min-width: 33rem;
}
/*  */
/* color */
.CoGr{color:#00c000;}
.CoBr{color:#00ffff;}
.CoOr{color:#ff7070;}
.CoRe{color: red}
.CoOrB, .beta{color:#ff7070; font-weight:bold;}
.CoOr2{color:#ffa500;}
.CoOr2B, .beta{color:#ffa500; font-weight:bold;}
.CoYe{color:#ffff00;}
.CoFa{color:#ff40ff;}
.CoRd{color:red; background-color:#fff;}
/*  */
/*  */
/* Page Top */
#ptop{
	z-index: 900;
	position: fixed;
	bottom: -40px;
	right: 5px;
	background-color: #444;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	border-radius: 6px;
	padding:0.7em 0.5em;
}
#ptop a {
	color:#fff;
	padding: 0.5em 0.3em;
	text-decoration:none;
	outline:none;
}
#ptop a:hover{color:yellow;  background:#444;}
#ptop:hover{
	opacity:.8;
}
/************************/

/*  */
*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 62.5%;/*rem算出をしやすくするために*/
}

.btn,
a.btn,
button.btn1 {
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 3.0rem;
  position: relative;
  display: inline-block;
  padding: 1rem 2rem;
	border: 3px solid #ffff00;
/*  cursor: pointer;*/
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1rem;
  border-radius: 0.5rem;
}
a.btn{
	cursor: pointer;
}
button.bclos{
	margin-top: 1rem;
	font-size: 2rem;
	background: #000;	
}
.bclos:hover{
	cursor: pointer;
}


.floatb-act{
	color: #ffa500;
	background: #000;
	border: 3px solid #ffff00;
}
.floatb-2,
a.floatb-2{
  color: #2dbb54;
/*  background-color: #ddd;	*/
}
.floatb-2:hover,
a.floatb-2:hover{
	border: 2px solid transparent;
  color: #ff7070;
  background: #333;
	opacity: 0.7;
}

.floatb_popm{
	font-size: 2.2rem;
	color: darkorange;
	background: #000;
	cursor: pointer;
}
.floatb_popm:hover{
 background: #555;
	opacity: .7;
}
.floatb {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 9999;
	display: block;
	background-color: #FF5733;	/* ボタンの背景色 */
	color: #ffffff;	/* 文字色 */
	width: 5rem; /* ボタンの幅 */
	height: 2.5rem; /* ボタンの高さ */
	text-align: center;
	line-height: 2.5rem; /* ボタン内のテキストの位置を中央にする */
	font-size: 1.5rem; /* テキストサイズ */
	border-radius: 50%; /* 丸い形状を作る */
	box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.1); /* 影の効果 */
}
.floating-button:hover {
	background-color: #FF6F47; /* ホバー時の背景色 */
}
/* popup menu */
.pmenu{
	z-index: 100;

	position: absolute;
	left: 150px;
	top: 3rem;
	width: 0 auto;
	height: 0 auto;
	background: #555;
	
	color: coral;
	font-size: 2.5rem;
	padding: 1rem 3rem;
	line-height: 3.5rem;
	border-radius: 1.0rem;
}
.pmenu1{
	z-index: 100;

	position: absolute;
	left: 150px;
	top: 3rem;
	width: 0 auto;
	height: 0 auto;
	background: #fff;
	
	color: coral;
	font-size: 2.5rem;
	padding: 1rem 3rem;
	line-height: 3.5rem;
	border-radius: 1.0rem;
}
.pmenu > h2,
.pmenu1 h2{
	font-size: 2.5rem;
}
.pmenu > ul{
	text-decoration: none;
}
.pmenu > ul > li{
	list-style: none;
}
.tmenu{
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-align: left;
	display: inline-block;
	clear: both;
	float: left;
	width: auto;
}
.tmenu > ul{
	text-decoration: none;
	margin: 1rem 1rem;
}
.tmenu li{
	color: #000;
	list-style: none;
	border: 2px solid red;
	padding: .5rem .5rem;
	margin-left: .7rem;
}
/*  */
a.teltap{
	text-decoration: none;
	display: block;
	padding: 0 1rem;
	width: 21rem;
	background: tomato;
}
a.teltap:hover{
	cursor: pointer;
	text-decoration: none;
	opacity: 0.8;
}
@media (min-width: 751px) {
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
}
}
.pchiz{
	z-index: 100;
	position: absolute;
	margin: 2rem 2rem;
	box-shadow: 0 0 20px gray;
}

.prod-prv{
	z-index: 50;
	margin: 3rem 3rem;
	box-shadow: 0 0 20px gray;
	border-radius: .8rem;
}
.prod-prv-cont{
  width: auto;
	justify-items: center;

  grid-template-columns: 1fr 1fr;
  display: grid;
  line-height: 1.4;
}
.prod-prv::backdrop {
  background: rgb(210 215 220 / 0.6);
}

/* slide */
.yslide{
  width: 200px;
  object-fit:cover;
  border: 3px solid #ddd;
}
.yslide-cnt{	
    width: 90vw;
    margin: 50px auto;
		margin-left: 5vw;
    display: flex;
    align-items: center;
    overflow: hidden;
}
.yslide-wrp{
  display: flex;
  animation: slide-flow 20s infinite linear 1s both;
}
@keyframes slide-flow{
	0% {transform: translateX(0);}
	100%{transform: translateX(-100%);}
}
.yslide-paus:hover .yslide-wrp{
	animation-play-state: paused;
 }
.yslide-paus:hover .yslide-wrp img:hover {
 	opacity: .8;
  cursor: grabbing;
}
/* home telop */
div#home-telop{
	position: absolute;
	top: 50%;

	margin-left: 5vw;
	width: 90vw;
	font-size: 5.0rem;
	text-align: center;
	overflow: hidden;
}
#home-telop ul{
	margin: 0;
	display: inline-block;
	padding-left: 100%;
	white-space: nowrap;
	line-height: 6.0rem;
	animation: home-telop-s 20s linear infinite;
}
#home-telop ul li{
	list-style: none;
	display: inline;
	padding: 1rem 2rem;
	margin: 0 100px 0 0;
	background: #fff;
	opacity: 0.8;
}
#home-telop ul li:nth-child(1){
	font-weight: bold;
	color: coral;
}
#home-telop ul li:nth-child(2){
	font-weight: bold;
	color: coral;
}
#home-telop ul li:nth-child(3){
	font-weight: bold;
	color: coral;
}
#home-telop ul li:last-child{
	color: darkcyan;
	margin: 0;	
}
@keyframes home-telop-s{
	0% {transform: translateX(0);}
	100%{transform: translateX(-100%);}
}
