@charset "utf-8";
/* CSS Document */
html{
	font-size: 62.5%;/* 16px x 0.625 = 10px(=1rem) */
	scroll-behavior: smooth;
}
body {
	font-size:1.4em;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	padding-bottom: 60px;
}
a,a:hover{
	text-decoration: none;
	
}
.wrapper{
	overflow-x: hidden;
	
}
section{
	margin-bottom: 5rem;
}
span{
	display: inline-block;
}
img {
	max-width: 100%;
	height: auto;
	-webkit-backface-visibility: hidden;/*GoogleChrome対策*/
}
li{
	list-style: none;
}
p{
	font-size: 1.6rem;
	line-height: 1.8em;
	text-align: left;
}
/* ///////header//////// */
header{
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	position: relative;
	z-index: 100;
	background: #fff;
}
#header-logo{
	display: flex;
	flex-direction: column;
	margin: 1rem;
}
#header-logo img{
	width: 70%;
}
.description,.tel,.time{
	display: none;
}
/* ///////footer//////// */
footer{
	border-top: solid 1px #1e1e19;
	margin-top: 3rem;
}
.footer-credit{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 30px;
	padding: 1rem;
	
}

.footer-logo{
	display: flex;
	align-items: center;
	margin-bottom: 1rem;
}
.footer-logo img{
	width: 60px;
}
.footer-logo p{
	font-size: 2.2rem;
	margin: 0;
	line-height: 1.8;
}
.certication{
	display: flex;
	justify-content: center;
	align-items: center;
}
.certication img{
	width: 30%;
}
.map{
	height: 0;
	overflow: hidden;
	padding-bottom: 56.25%;
	position: relative;
	margin-bottom: 50px;
	
}
.map iframe{
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}
.footer-nav{
	display: none;
}
#copyright{
	text-align: center;
}
#sp-contact{
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	z-index: 1000;
	
}
#sp-contact p{
	margin: 0;
	height: 40px;
	
}
.b-tel{
	width: 100%;
	background-color: #f4e419;
	border-top: solid 1px #1e1e19;
	border-left: solid 1px #1e1e19;
	border-right: solid 1px #1e1e19;
}
.b-contact,.b-entry{
	width: 50%;
	background-color: #f4e419;
	border: solid 1px #1e1e19;
}
.b-tel a,.b-contact a,.b-entry a{
	display: flex;
	width: 100%;
	height: 100%;
	justify-content: center;
	align-items: center;
	color: #1e1e19;
	font-size: 2.0rem;
	letter-spacing: 0.2em;
	
}
/***追従するトップへ戻るボタン***/
#page_top{
	height: 50px;
	position: fixed;
	right: 10px;
	bottom: 100px;
}
#page_top a{
	position: relative;
	display: block;
	width: 70px;
	height: 50px;
    text-decoration: none;
	font-weight: bold;
    transform: rotate(90deg);
    font-size: 90%;
    line-height: 1.5rem;
    color: #212529;
    padding: 0 0 0 35px;
    border-top: solid 1px;
}
#page_top a::before{
    content: "";
    display: block;
    position: absolute;
    top: -1px;
    left: 0px;
    width: 15px;
    border-top: solid 1px;
    transform: rotate(35deg);
    transform-origin: left top;
}
/* ///////　メインイメージ　//////// */
.main-img {
    position: relative;
}

.main-img img {
    width: 100%;
    height: auto;
    display: block;
}

.main-img .page-title{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: #fff;
	width: 100%;
}
.en-h1{
	font-size: 2.4rem;
	font-weight: bold;
	text-align: center;
	text-shadow: 1px 1px 2px black;
	line-height: 2.0rem;
}
.en-h2{
	font-size: 2.6rem;
	font-weight: bold;
	text-align: center;
	
}
.page-title h1{
	text-shadow: 1px 1px 2px black;
	white-space: nowrap;
}
.page-title h1,.section-title h2{
	font-size: 1.8rem;
}
.page-title h1::after,.section-title h2::after{
	content: "―";
	font-size: 1.8rem;
	display: inline-block;
	margin-left: 1.8rem
}
.page-title h1::before,.section-title h2::before{
	content: "―";
	font-size: 1.8rem;
	display: inline-block;
	margin-right: 1.8rem
}
.section-title{
	background: #eeeeee;
	text-align: center;
	padding: 0.6rem 0;
	margin-bottom: 2.6rem;
}
h2.no-line::before,h2.no-line::after{
	content: none;
	
}
/* ///////　共通　//////// */


.lead{
	padding: 0 1rem;
	font-size: 1.8rem;
	font-weight: bold;
	margin-bottom: 3rem;
}
.headline{
	font-size: 2.0rem;
	font-weight: bold;
	color: #E85600;
	text-align: center;
	margin-bottom: 3rem;
}
h3{
	font-size: 2.0rem;
	font-weight: bold;
	color: #E85600;
	margin: 2.0rem 0;
	text-align: center;
	
}
.t-adjustment{
	min-height: 2em;
	font-size: 1.6rem;
}
.t-adjustment span{
	display: inline-block;
	white-space: nowrap;
}
/* ///////　リンクhover　//////// */
/* 親 */
.a-hover{
  display: block;
  overflow: hidden; /* はみ出し防止 */
}

/* 画像にだけ効かせる */
.a-hover img{
  transition: 0.4s ease;
}

/* hover時 */
.a-hover:hover img{
  transform: scale(1.03);
  filter: brightness(1.2);   /* 明るく */
  opacity: 0.8;              /* 薄く */
}
.a-hover p{
  transition: 0.3s;
}

.a-hover:hover p{
  color: #ff7a00;
  letter-spacing: 0.1em;
}
/* /////// テキスト色　//////// */
.color-orange{
	color: #E85600;
}
.color-green{
	color: #11A61D;
}
.color-gray{
	color: #5A5959;
}
.color-lightgray{
	color: #D9CCCC;
}
/* /////// 背景色　//////// */
.bg-gray{
	background: #eeeeee;
}
.bg-cream{
	background: #FCFBEB;
}
/* /////// table //////// */
table{
	width: 100%;
	border-collapse: collapse;

}
.thead{
	display: none;
}
.type{
	color: #fff;
	background: #11A61D;
}
tr{
  display: block;
  border: 1px solid #B5B5B6;
  margin-bottom: 1rem;
}

td{
  display: block;
  padding: 0.8rem;
  border-bottom: 1px solid #ddd;
  text-align: right;
}

td::before{
  content: attr(data-label);
  float: left;
  font-weight: bold;
}
td[data-label="合計"]{
  border-top: 4px double #B5B5B6;
}
.type{
  background: #11A61D;
  color: #fff;
  text-align: left;
	font-weight: bold;
}

/* ///////（タブレット）//////// */
@media (min-width: 768px) {
	/* ///////header//////// */
	header{
	display: flex;
	flex-direction: column;
	margin: 1rem 0 2.6rem;
}
	#header-logo{
		display: flex;
		flex-direction: row;
		align-items: flex-start;
		justify-content: space-between;
		padding: 15px 30px;
	}
	#header-logo img{
		width: 100%;
	}
	.description,.time,.tel-title{
		display: block;
		text-align: center;
	}
	.tel{
		display: inline-block;
		text-align: left;
		border: solid 1px #E85600;
		padding: 0.8rem 1.4rem;
	}
	.tel p{
		line-height: 1.0;
	}
	
	.number{
		font-size: 3rem;
	}
	/* ///////footer//////// */
	footer{
		display: flex;
		flex-direction: column;
		justify-content: space-around;
		align-items: flex-start;
		padding: 2rem 0rem;
	}
	.footer-info{
		display: flex;
		justify-content: space-between;
		align-items: stretch;
		margin-bottom: 1rem;
	}
	.footer-credit{
		justify-content: flex-start;
		align-items: flex-start;
		padding-left: 3rem;
		width: 50%;
		height: auto;
	}
	.certication{
		justify-content: flex-start;
	}
	.certication img{
		max-width: 45%;
	}
	.map{
		width: 50%;
		margin-bottom: 0;
	}
	.map iframe{
		height: 100%;
		width: 100%;
		border: 0;
	}
	.footer-nav{
		display: flex;
		justify-content: space-around;
		width: 100%;
		background: #ECE6E6;
		padding: 2rem 0;
	}
	.footer-nav01,.footer-nav02,.footer-nav03{
		display: block;
	}
	.footer-nav01 li, .footer-nav02 li,.footer-nav03 li{
		line-height: 2.2;
	}
	.footer-nav01 a,.footer-nav02 a,.footer-nav03 a{
		color: #1e1e19;
		
	}
	.footer-nav01 a:hover,.footer-nav02 a:hover,.footer-nav03 a:hover{
		color: #E85600;
		
	}
	#sp-contact{
		display: none;
	}
	#page_top{
		bottom: 50px;
	}
/* ///////　メインイメージ　//////// */
	.en-h1{
		font-size: 3rem;
		line-height: 3.0rem;
	}
	.page-title h1,.section-title h2{
		font-size: 1.8rem;
	}
	.page-title h1::after,.section-title h2::after{
		font-size: 1.8rem;
		margin-left: 1.8rem;
	}
	.page-title h1::before,.section-title h2::before{
		font-size: 1.8rem;
		margin-right: 1.8rem;
	}
/* ///////　共通　//////// */
	.section-title{
		padding: 0.6rem 0;
	}
	.main-img {
		width: 100vw;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
	}
	.lead{
		text-align:center;
		font-size: 2.0rem;
		font-weight: bold;
	}
	.t-adjustment{
		min-height: 0em;
		font-size: 2.0rem;
	}
	/* /////// table //////// */
	table{
		display: table;
	}
	tr{
		display: table-row;
		margin: 0;
	}
	.thead{
		display: table-row;
		background: #fff100;
	}
	th, td{
		display: table-cell;
		padding: 1rem;
		border: 1px solid #B5B5B6;
		text-align: center;
	}
	td::before{
		content: none; /* ラベル消す */
	}
	td[data-label="合計"]{
		border-top: 1px solid #B5B5B6;
		border-left: 4px double #B5B5B6;
	}
	tr:last-child{
		border-top: 4px double #B5B5B6;
	}
	th:last-child{
		border-left: 4px double #B5B5B6;
	}
}
/* ///////（PC）//////// */
@media (min-width: 1024px) {
	footer{
		justify-content: flex-start;
		align-items: center;
	}
	.footer-info{
		justify-content: center;
		gap: 0;
		max-width: 1200px;
		margin: 0 auto;
	}
	.footer-credit{
		width: 50%;
		padding-left: 5rem;
	}
	.map{
		width: 50%;
		padding-bottom: 40%;
	}
	.map iframe{
		width: 100%;
		
	}
	.footer-nav{
		margin-top: 1.2rem;
	}
	.contact{
		max-width: 1200px;   /* 好みで調整 */
		margin: 0 auto 5rem;
	}
	h3{
		text-align: left;
	}
	/* ///////　メインイメージ　//////// */
	.en-h1{
		font-size: 4.5rem;
		line-height: 4.5rem;
	}
	.page-title h1{
		font-size: 2.8rem;
	}
	.page-title h1::after{
		font-size: 2.8rem;
	}
	.page-title h1::before{
		font-size: 2.8rem;
	}
}