@charset "UTF-8";
/* CSS Document */

#single article {
    padding-bottom: 0px;
}
#single #titBox h1 {
    padding: 0.3em 0;
    border-bottom: #e51d73 solid 1px;
}
.h3-02 {
	color: #e60012;
	text-align: center;
	font-size: 26px;
	padding: 0.5em 0;
	border-bottom: #e60012 solid 1px;
}

.prof {
	max-width: 800px;
    border: #f19ca6 solid 2px;
    padding: 30px;
    position: relative;
	margin-top: 30px!important;
	.name {
		position: absolute;
		top: 0;
		left: 50%;
		widows: 30%;
		transform: translate(-50%,-50%);
		border: none!important;
		margin: 0!important;
		padding: 0!important;
	}
	.flex01 {
		margin: 30px auto;
		.imgBox {
			width: 48%;
		}
		.txtBox {
			width: 48%;
			p {
				font-size: 18px;
				line-height: 1.8;
				padding-bottom: 1em;
			}
			.btnPst a {
				display: block;
				padding: 10px 20px;
				background-color: #f19ca6;
				border-radius: 10px;
				box-shadow: 0px 5px 10px rgba(0,0,0,0.3);
			}
		}
	}
	h3.menu {
		background-color: #f19ca6;
		border-radius: 999px;
		border: none!important;
		padding: 0!important;
		text-align: center;
		padding: 5px!important;
		img {
			width: 50%;
			max-width: 200px;
		}

	}
	.flex02 {
		padding: 10px 0;
		div {
			width: 48%;
			p {
				font-size: 24px;
				line-height: 1.3;
				padding: 0.3em 0;
				text-indent: -1em;
				margin-left: 1em;
				font-weight: 600;
			}
			p::before {
				content: "●";
				color: #f19ca6;
			}
		}
	}
}
ul.tpc {
	border: #f09ba5 solid 2px;
	padding: 15px 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 800px;
	margin: 0 auto;
	gap: 0 1em;
	li {
		display: block;
		width: 16em;
		font-size: 20px;
		text-align: left;
		
	}
	li::before{
		content: "●";
		color: #f09ba5;
		margin-right: 0.2em;
	}
}



.prof .flex01 .btnBox a {
	display: block;
  border: #000 solid 1px;
  width: 40px;
	height: 40px;
  margin: 15px auto 0;
  border-radius: 100%;
}
.prof .flex01 .btnBox a:hover {
  background-color: #eee;
}


#sec03 {

	background-color: #FFF3D6;
	padding-bottom: 80px!important;
}

#single .tableWrap  .h3-01 {
	border: none;
	text-align: center;
	font-size: 28px;
	padding-bottom: 0em;
	font-weight: 500;
}

.tableWrap  table {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	
	
}
.tableWrap  th,.tableWrap  td {
	padding: 1em;
}
.tableWrap  th {
	background-color: #FBDAC8;
	width: 10vw;
	font-size: 18px;
	line-height: 1.5;
	font-weight: 500;
	vertical-align: middle;
}
.tableWrap  td {
	background-color: #fff;
	padding: 20px 1em;
}

.tableWrap td li {
	font-size: 18px;
	line-height: 1.4;
	padding: 0.2em 0;
	text-indent: -0.5em;
	padding-left: 0.5em;
}
.tableWrap td .bld li {
	font-weight: 500;
}
.tableWrap  td li::before {
	content: '・';
	
}
.tableWrap  td p {
	font-size: 18px;
	line-height: 1.4;
	padding: 0.2em 0;
}
.tableWrap  td p.pL {
	font-size: 26px;
	font-weight: 500;
}
#sec01 {
	padding-bottom: 80px!important;
}
	

#sec03  table {
	border-collapse: separate;  /* 表の線と線の間を空ける */
    border-spacing: 0px 20px;
}
.tableWrap td {
	font-size: 18px;
	line-height: 1.3;
}
.tableWrap td .scd li,
.tableWrap td .scd dt{
	font-size: 24px;
	list-style: none;
	font-weight: 500;
}
.tableWrap td .scd dd{
	padding-left: 1.5em;
	padding-bottom: 1em;
}
.tableWrap td .scd li::before,
.tableWrap td .scd dt::before{
    content: '●';
	color: #fbdac8;
}
#sec03  .btnPst {
	padding: 10px 0;
}
#sec03  .btnPst a {
	background-color: #e83c5f;
	color: #fff;
	font-size: 24px;
	display: flex;
justify-content: center;
align-items: center;
	width: 90%;
	height: 2em;
	border-radius: 8px;
	
}
#sec03  .btnPst.lGrn a {
	background-color: #00a983;
}
#single .btnGmap {
  width: 100%;
	max-width: 300px;
	margin: 10px 0;
  height: 40px;
  display: flex;
justify-content: center;
align-items: center;
  background-color: #000;
  color: #fff;
  font-size: 16px;
  border-radius: 99px;
}
#single  .btnGmap:hover {
  opacity: 0.6;
}
#single .btnGmap .map {
  width: 25px;
  margin: 0 10px;
}
#single .btnGmap .try {
  width: 10px;
  margin: 0 10px;
}


@media screen and (max-width: 959px) {
}

@media screen and (max-width: 599px) {
	.prof .flex01 .imgBox {
		width: 100%;
	}
	.prof .flex01 .txtBox  {
		width: 100%;
		padding-top: 1em;
	}
	.prof .flex02 div {
		width: 100%;
		p {
			font-size: 16px;
			padding-bottom: 1em;
		}
    }
	#single .btnGmap {
    margin: 10px auto;
	}

}

@media screen and (max-width : 599px ){

	.h3-02 {
    font-size: clamp(16px, 6.0vw, 25px);
		padding: 1em 0;
}
	.prof {
    max-width: 800px;
    border: #f19ca6 solid 2px;
    padding: 20px;
    position: relative;
}
	#single #titBox {
		width: 90%;
		padding: 0 0 0px;
	}
	#single #titBox .imgBox {
		padding-bottom: 0px;
	}
	.livekitchen #titBox .bnnBox {
		width: 90%;
		padding-bottom: 0px;
		margin-bottom: 0;
	}
	.livekitchen #titBox h3, #single .tableWrap .h3-01 {
		font-size: 6.4vw;
		font-size: clamp(23px, 6.4vw, 25px);
		padding: 0em;
		
	}
	.livekitchen #titBox h3 {margin-top: 0;}
	.livekitchen #titBox h3::before,.livekitchen #titBox h3::after  {
		content: '';
		
	}
	#single.livekitchen #titBox  p.desc,.btnPst {
		width: 90%;
	}
	.prof {
		.flex01 {
			margin: 10px auto 30px auto;
    }
	}
	.btnPst {
		width: 100%;
		padding: 0px 0;
	}
	#single #sec01 {
	padding: 0;
		padding-bottom: 40px!important;
	}
	#sec01 .shefBox h3 {
		width: 60%;
	}
	#sec01 .shefBox {
		padding: 30px 5%;
	}
	#sec01 .shefBox .flex .imgBox {
	width: 70%;
	max-width: 300px;
	padding-top: 0px;
		margin: 0 auto;
	}
	#sec01 .shefBox .flex .txtBox {
		width: 100%;
	}
	#sec01 .shefBox .flex .txtBox .desc {
		padding: 1em 0;
	}
	#sec01 .shefBox .flex .txtBox .btnPst {

	padding: 10px 0 0;
	}
	#sec02 table, #sec03 table {
		width: 96%;
	}
		
	.tableWrap th {
		
	}
	#sec02 table th {
border-bottom: #e2b9b9 solid 1px;
}
	.tableWrap th,.tableWrap td {
		display: block;
		width: 100%;
		/*padding: 0.5em;*/
	}
	.tableWrap th br {
		display: none;
	}
	.tableWrap td p.pL, #sec01 .shefBox dd,.tableWrap td .scd dt {
	font-size:4.8vw;
	font-size: clamp(17px, 5.5vw, 24px);
		text-align: center;
	}
	.tableWrap td .scd dt {
		text-align: left;
	}
	.tableWrap .btnPst {
		width: 100%;
	}
	#sec03 .btnPst a {
		font-size: clamp(15px, 4.3vw, 17px);
		width: 100%;
		height: auto;
		line-height: 1.3;
		text-align: center;
		padding: 4% 0%;
		margin: 10px auto;
	}
	.tableWrap th, .tableWrap td, .tableWrap td li, .tableWrap td p,.tableWrap td .scd li {
		font-size: 4.3vw;
		font-size: clamp(15px, 4.3vw, 17px);
		padding-bottom: 0.6em;
	}
	#single .sec.tableWrap {
		padding: 30px 0 30px;
	}
	#single article {
		padding-bottom: 0px;
	}
	#sec03 {
    padding-bottom: 30px !important;
}
	
}

.active {
  animation: boyoyon-anim 2s ease infinite;
  display: inline-block;
}

@keyframes boyoyon-anim {
  0%, 60% {
    transform: scale(1, 1);
  }
  20% {
    transform: scale(1.0, 1); /* 潰れて横長に */
  }
  30% {
    transform: scale(0.85, 1.1); /* 伸びて縦長に */
  }
  40% {
    transform: scale(1.05, 0.95);
  }
  50% {
    transform: scale(0.95, 1.05);
  }
}

