@charset "UTF-8";

/* サブヘッダー */

.subsite-navigation {
	margin-top:30px;
}

.subsite-navigation ul {
	list-style:none;
}

.subsite-navigation .d-flex {
	flex-direction:column;
	padding:0;
	gap:3px;
}

.subsite-navigation li {
	text-align:center;
}

.subsite-navigation > ul > li {
	border:1px solid #000;
	position:relative;

}

.subsite-navigation > ul > li > a{
color:#000;
background-color:#fff;
padding:5px 10px;
display:block;

}

.subsite-navigation > ul > li > a:hover{
opacity:1;
background: #efefef;

}
.subsite-navigation > ul > li > a:active{
opacity:1;
background: #efefef;
}


.subsite-navigation > ul > li > a::after {
	font-family: "Font Awesome 6 Free";
	font-weight:bold;
	content: "\f078";
	color:#000;
	margin-left:5px;
}

.subsite-navigation > ul > li.active > a::after {
	font-family: "Font Awesome 6 Free";
	font-weight:bold;
	content: "\f077";
	color:#000;
	margin-left:5px;
}

ul.subsite-sub-navigation {
	border-top:1px solid #000;
	background-color:#fff;
	position: absolute;
	z-index: 10;
	overflow: hidden;
	width:100%;
	max-height: 0;
	padding: 0;
	opacity:0;
	transition: max-height 0.3s ease, padding 0.3s ease, opacity 0.3s ease;
}

.subsite-navigation li.active ul.subsite-sub-navigation {
	/* padding:10px 0; */
	opacity:1;
	max-height:500px;
	width:100%;
	transition: max-height 0.3s ease, opacity 0.3s ease;
}

.subsite-navigation li.active ul.subsite-sub-navigation li {
	border-bottom:1px solid #efefef;
}


.subsite-navigation li.active ul.subsite-sub-navigation a {
	padding:10px 20px;
	display:block;
}

ul.subsite-sub-navigation span {
	font-size:12px;
}

/* ---------- 一覧ページ -------------- */
.posts-layout .row {
	display:flex;
	flex-wrap:wrap;
}


/* シングルページ */

.subsite-meta {
 font-size:14px;
	margin-top:20px;
	line-height:1.4;
	text-align:center;
}

.subsite-meta > div {
	margin:0 5px;
}

.subsite-meta .meta-category{
	display:inline;
}

.subsite-meta .meta-category a {
    display: inline-block;
    line-height: 1.4rem;
    padding: 0 6px;
    color: #233452 !important;
    border: 1px solid #233452;
    border-radius: 3px;
}

.subsite-meta .meta-taxonomy {
	display:inline;
}

.subsite-meta .meta-category h3 {
	font-size:14px;
	margin:0;
}

.subsite-meta .print-link {
	display:none;
}

.subsite-meta .print-link a::before {
/*
	font-family: "Font Awesome 6 Free";
	font-weight:bold;
	content: "\f02f";
	color:#16627E;
	margin-right:5px;
*/
}

.subsite-meta .upd-date {
	display:inline;
	font-size:14px;
}



.single .entry-content .d-flex,
.print .entry-content .d-flex  {
	flex-direction:column;
	gap:20px;
}


.single .post-thumb a,
.print .post-thumb a{
	display:block;

}

.single .post-thumb a img,
.print .post-thumb a img{
	width:100%;
}

.single .sub-imgs,
.print .sub-imgs{
	display:flex;
	flex-wrap:wrap;
	gap:16px;
}


.single .sub-img,
.print .sub-img {
	aspect-ratio:1 / 1;
flex: 0 1 calc((100% - 32px) / 3);}

.single .sub-img img,
.print .sub-img img {
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}

.single .point,
.print .point {
	background-color:#e8f2fa;
	border-radius:10px;
	padding:15px;

  background-image: repeating-linear-gradient(
    45deg,               /* 角度 */
    #dfeefb 0px,            /* 線の色（開始）*/
    #dfeefb 2px,            /* 線の太さ */
    transparent 2px,     /* 線と線の間隔（開始） */
    transparent 10px     /* 線と線の間隔（終了）*/
  );
}


.single .point .point-item,
.print .point  .point-item{
	background-color:#fff;
	padding:15px;
	border-radius:5px;
	margin-bottom:30px;
	display:flex;
	flex-direction:column;
	box-shadow:0px 0px 5px rgb(162 184 204 / 80%);;
}

.single .point .point-item:last-of-type,
.print .point .point-item:last-of-type{
	margin-bottom:0;
}

.single .point .point-item .point-img,
.print .point .point-item .point-img {
	aspect-ratio:4 / 3;
	margin-bottom:10px;
}

.single .point .point-item .point-img img,
.print .point .point-item .point-img img{
	width:100%;
	height:100%;
	object-fit:cover;
}

.single .point h2,
.print .point h2{
	margin-top:0 !important;
	text-align:center;
	color:#335873;
}

.single .point .point-item .point-detail h4,
.print .point .point-item .point-detail h4{
	margin-top:0 !important;
	border-bottom:1px dashed #ccc;
	padding-bottom:10px;
}
.single .point .d-flex,
.print .point .d-flex {
	gap:40px;
}

.single .point .point-item .point-detail .price,
.print .point .point-item .point-detail .price {
	text-align:right;
	font-weight:bold;
}

.single .point .point-item .point-detail .point-description
.print .point .point-item .point-detail .point-description {
	margin-bottom:0;
}

.details {
	margin:50px auto;
}


.details h2 {
	text-align:center;
}

.details h2::before,
.details h2::after {
	content:"";
	display:inline-block;
	width:30px;
	border-bottom:1px solid #ccc;
	margin:10px;
}


.details .d-flex {
	gap:20px;
	flex-direction:column;
}

.details .shop-name {
	font-size:20px;
	margin-bottom:0;
}

.details .shop-name span {
	font-size:14px;
	font-weight:normal;
}


.details .map a.btn {
	background-color:#000;
	color:#fff;
	display:inline-block;
	padding:0 20px;
	border-radius:15px;
	margin:20px 0;
}

.details .map a.btn::after {
	font-family: "Font Awesome 6 Free";
	font-weight:bold;
	content:"\f08e";
	color:#fff;
	margin-left:5px;
}

.details .address {
	font-size:14px;
	margin-right:20px;
}

.details .tel {
	font-size:14px;
}

.details-wrapper {
	display:flex;
	flex-direction:column;
}

.details-wrapper h3:not(.name) {
	font-size:16px;
    border: 1px solid #ccc;
    padding: 5px 10px;
    background-color: #f4eee2;
    color: #452717;
	margin-bottom:10px;
}




.detail h3.name {
	margin:0 !important;
	text-align:center;
	font-size:24px;
}

.detail .map-link {
	text-align:center;
}

.detail .map-link a{
	display:inline-block;
	background-color:#000;
	color:#fff;
	border-radius:20px;
	padding:5px 20px;
	margin-bottom:20px;
}

.detail.overview p {
	line-height:1.2;
	text-align:center;
}


.detail dl {
display:grid;
grid-template-columns: 80px 1fr;
font-size:14px;
  row-gap: 0.5em;
line-height:1.4;
}

.detail dt {
	position:relative;
	padding-right:5px;
	padding-bottom:5px;
	border-bottom:1px dashed #ccc;
}

.detail dt:before {
	content:"：";
	position:absolute;
	right:0;
	
}

.detail dd {
  margin: 0;
	padding-bottom:5px;
  word-break: break-all;
  overflow-wrap: anywhere;
	border-bottom:1px dashed #ccc;
}


.nearby-spot h1{
	display:none;
}

.nearby-spot h3 {
	font-size: 16px;
    border: 1px solid #ccc;
    padding: 5px 10px;
    background-color: #f4eee2;
    color: #452717;
    margin-bottom: 10px;
}

/* ================================
ブレイクポイント
================================== */
@media (min-width: 480px) {

}

@media (min-width: 768px) {
	.single .entry-content .d-flex,
	.print .entry-content .d-flex {
		flex-direction:row;
	}

	.single .post-thumb,
	.print .post-thumb{
		flex-basis:50%;
		flex-shrink:0;
	}


	.single .point  .point-item,
	.print .point  .point-item{
		flex-direction:row;
		gap:20px;
	}

	.single .point  .point-item .point-img,
	.print .point  .point-item .point-img{
		flex-basis:40%;
		flex-shrink:0;
	}
	.single .point .point-item .point-detail,
	.print .point .point-item .point-detail{
		flex-grow:1;
	}

	.details-wrapper {
		flex-direction:row;
		gap:30px;
		flex-wrap:wrap;
	}

	.details-wrapper .detail {
		flex:1;
		flex-basis:calc(50% - 20px);
	}
/*
	.nearby-spot {
		display:grid;
		grid-template-columns:1fr 1fr;
		gap:30px;
	}
*/
}

@media (min-width: 1024px) {
	.subsite-navigation .d-flex {
		flex-direction:row;
		width:100%;
	}

	.subsite-navigation li {
		width:100%;
	}

	.single .point,
	.print .point {
		padding:30px;
	}

	.single .point .point-item,
	.print .point .point-item {
		padding:30px;
	}

	.subsite-meta > div.print-link {
		display:inline;
	}

}

@media (min-width: 1320px) {

}

@media (min-width: 1920px) {

}

@media print {
	.print .entry-content .d-flex {
		flex-direction:row;
	}

	.print .point .point-item {
		padding:30px;
		flex-direction: row;
        gap: 20px;
	}
	.details-wrapper {
		flex-direction:row;
		gap:30px;
		flex-wrap:wrap;
	}

	.details-wrapper .detail {
		flex:1;
		flex-basis:calc(50% - 20px);

	}
}