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

.bt-65 {
	bottom: 65px;
}

.single-wrap {
	background-size: auto 70px;
	background-repeat: repeat-x;
	padding: 130px 16px;
}

.single-wrap.pb-0 {
	padding: 130px 16px 0px;
}

.single-wrap.spot {
	background-image: url("../img/common/wave-pink.svg");
	background-position: left top;
}

.single-wrap.event {
	background-image: url("../img/common/wave-yellow.svg");
	background-position: left top;
}

.single-wrap.info {
	background-image: url("../img/common/wave-blue.svg");
	background-position: left top;
}

.single-wrap.model {
	background-image: url("../img/common/wave-green.svg");
	background-position: left top;
}

.single-wrap.unique {
	background-image: url("../img/common/wave-red.svg");
	background-position: left top;
}

.single-wrap.cat-seaside-area {
	background-image: url("../img/common/wave-aqua.svg");
	background-position: left top;
}

.single-wrap.cat-souvenir-gourmet {
	background-image: url("../img/common/wave-orange.svg");
	background-position: left top;
}

.single-wrap.cat-festival {
	background-image: url("../img/common/wave-red.svg");
	background-position: left top;
}

.single-wrap.cat-culture {
	background-image: url("../img/common/wave-lightgreen.svg");
	background-position: left top;
}

.single-wrap.cat-add-toyama {
	background-image: url("../img/common/wave-darkblue.svg");
	background-position: left top;
}

@media screen and (max-width: 768px) {
	.single-wrap.pb-0 {
		padding: 70px 16px 0px;
	}
}

/******共通設定******/

.single-wrap h1 {
	margin: 0;
	font-size: 32px;
	font-weight: 500;
}

.single-wrap h2 {
	margin-top: 60px;
	margin-bottom: 20px;
	font-size: 24px;
	color: #3C66C4;
	font-weight: 600;
}

.single-wrap h3 {
	margin-top: 30px;
	margin-bottom: 20px;
	font-size: 20px;
	/*color: #25D4F2;*/
	color: #02bed6;
	font-weight: 600;
}

.single-wrap h4 {
	margin-top: 30px;
	margin-bottom: 20px;
	font-size: 17px;
	color: #284679;
	font-weight: 600;
}

.single-wrap hr {
	border: none;
	height: 6px;
	background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='60' height='6'><path d='M0 3 Q 7.5 0 15 3 T 30 3 T 45 3 T 60 3' stroke='%233C66C4' fill='transparent' stroke-width='1.5'/></svg>") repeat-x;
	background-size: 30px 6px; /* 波の間隔と高さ */
	opacity: 100;
	margin: 30px 0px;;
}

.single-contents a {
	color: #3C66C4;
}

.single-contents a.btn-basic {
	color: #fff;
}

.single-contents .wp-block-list li {
	padding-bottom: 1em;
}

/**PDFリンク**/
.wp-block-file:not(.wp-element-button) {
	font-size: 1em;
}

.single-contents a[href*=".pdf"]::after,
.single-contents a[href*=".PDF"]::after {
	content: "";
	display: inline-block;
	width: 1.2em;
	height: 1.2em;
	margin-left: .35em;
	vertical-align: -0.2em;
	background: url("../img/common/link-icon-pdf.svg") no-repeat center / contain;
}


/******文字設定******/

.single-wrap h1 {
	position: relative;
	margin-left: 50px;
}

.single-wrap h1::before {
	content: '';
	display: inline-block;
	position: absolute;
	width: 1.5em;
	height: 1.5em;
	left: -1.8em;
	top: 0;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	vertical-align: middle;
}

.single-wrap.spot h1::before {
	background-image: url("../img/common/icon-spot.svg");
}

.single-wrap.event h1::before {
	background-image: url("../img/common/icon-event.svg");
}

.single-wrap.info h1::before {
	background-image: url("../img/common/icon-info.svg");
}

.single-wrap.model h1::before {
	background-image: url("../img/common/icon-course.svg");
	width: 1em;
	height: 1em;
	left: -1.4em;
	bottom: 0em;	
}

.single-wrap.unique h1::before {
	background-image: url("../img/common/icon-unique.svg");
}

.single-wrap.unique04 h1::before {
	background-image: url("../img/imizu-unique/top/heart-lightgreen.svg");
}

.single-wrap.cat-seaside-area h1::before {
	background-image: url("../img/imizu-unique/top/heart-aqua.svg");
}

.single-wrap.cat-souvenir-gourmet h1::before {
	background-image: url("../img/imizu-unique/top/heart-orange.svg");
}

.single-wrap.cat-festival h1::before {
	background-image: url("../img/imizu-unique/top/heart-red.svg");
}

.single-wrap.cat-culture h1::before {
	background-image: url("../img/imizu-unique/top/heart-lightgreen.svg");
}

.single-wrap.cat-add-toyama h1::before {
	background-image: url("../img/imizu-unique/top/heart-yellow.svg");
}

.single-wrap .ruby {
	margin-top: 5px;
	margin-left: 50px;
	font-size: 14px;
}

.single-wrap .catch {
	font-size: 24px;
}

.single-title {
	width: 100%;
	max-width: 950px;
	margin: 0 auto;
}

p.main-cap , .single-container figcaption {
	text-align: center;
	margin-top: 10px;
	font-size: 14px;
}

.single-container {
	max-width: 760px;
	margin: 30px auto 0px;
}

.single-container figure img {
	width: 100%;
}

.single-mainph {
	width: 100%;
	max-width: 760px;
	position: relative;
	overflow: hidden;
	border-radius: 15px;
	padding-bottom: calc(500 / 760 * 100%);
	border: 1px solid #ccc;
}

.unique-post .single-mainph {
	border: none;
}

.single-mainph img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wp-block-image figure,
.wp-block-column img {
	border: 1px solid #ccc;
}

.spot-tag a.info, .info-tags a {
    border: 1px solid #F7940B;
    color: #fff;
    font-weight: 500;
    background-color: #F7940B;
	border-radius: 5px;
}

p.event-label {
	font-size: 14px;
	font-weight: 500;
	color: #FA9100;
	margin: 15px 0 0;
}

.single-about {
	margin: 50px 0 0;
}

/**目次を自動挿入しないとアンカーリンクが効かない**/
/**自動挿入で重複した分を非表示**/
.single-contents #ez-toc-container {
	display: none;
}


/**公式サイトリンク**/
.site-banner {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 90%;
	max-width: 1200px;
	height: auto;
	min-height: 50px;
	transition: transform 0.3s ease;
	text-align: center;
	z-index: 999;
	color: #000;
	border-top-left-radius: 15px;
	border-top-right-radius: 15px;
	padding: 0.4em;
}

.site-banner.info,
.site-banner.spot p {
	color: #fff;
}

.site-banner:hover {
	min-height: 60px;
}

.site-banner a {
	width: 100%;
	height: 100%;
	color: #000;
	font-size: 18px;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
}

.site-banner p {
	margin: 0;
}

.site-banner img {
	width: 14px;
	height: auto;
	display: block; 
}


.site-banner.spot {
	background-color:#FC44C0; 
}

.site-banner.event {
	background-color:#FFF100; 
}

.site-banner.info {
	background-color:#3C66C4; 
}

.site-banner.no-transition {
	transition: none !important;
}

.site-banner.fixed {
	position: fixed;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%) translateY(0);
}

.site-banner.hide {
	transform: translateX(-50%) translateY(100%);
}


/**表、GoogleMAP**/

.shop-info, .single-gmap {
	max-width: 760px;
	margin: 0 auto;
	padding: 0 16px;
}

.single-gmap {
	margin: 55px auto;
}

.acf-map {
	margin: 30px auto;
	width: 100%;
	max-width: 700px;
	height: 300px;
}

.acf-map img {
	max-width: inherit !important;
}

.shop-info h2, .single-gmap h2 {
	text-align: center;
	margin: 0 auto 30px;
}

.shop-info table {
	width: 100%;
	border-collapse: collapse;
	background-color: #fff;
}

.shop-info th,
.shop-info td {
	padding: 7px 12px;
	border: 1px solid #3C66C4;
	text-align: left;
	vertical-align: middle;
}

.shop-info th {
	font-size: 15px; 
	background-color: #3C66C4;
	color: #fff;
	text-align: center;
	border-bottom: 1px solid #7A8DB4;
	white-space: nowrap;
}

.shop-info td {
	font-size: 18px;
	color: #333;
}

@media (max-width: 768px) {
	.shop-info table,
	.shop-info tbody,
	.shop-info tr,
	.shop-info th,
	.shop-info td {
		display: block;
	}

	.shop-info th {
		border-right: none;
		border-bottom: 1px solid #fff;
	}

	.shop-info td {
		border-top: none;
	}
	.gmap-area {
	width: 100%;
}
}

.single-wrap #others {
	padding: 70px 0px 90px;
}

.single__others-wrap h3 {
	color: #000;
	position: relative;
	margin-left: 1.6em;
}

.single__others-wrap h3::before {
	content: '';
	display: inline-block;
	width: 2.5em;
	height: 2.5em;
	background-image: url("../img/common/icon-spot.svg");
	background-size: contain;
	vertical-align: middle;
	margin-right: 10px;
	position: absolute;
	left: -2.2em;
	background-repeat: no-repeat;
}

.single__others-wrap h3.spot::before {
	width: 1.2em;
	left: -1.7em;
}

.single__others-wrap h3.info::before {
	background-image: url("../img/common/icon-info.svg");
	left: -2.5em;
}

.single__others-wrap h3.model::before {
	background-image: url("../img/common/icon-course.svg");
	width: 1.4em;
	height: 1.4em;
	left: -1.7em;
}


.single__others--contents {
	height: auto;
	position: relative;
}

.single__others--contents a {
	text-decoration: none;
}

.single__others--contents a:hover {
	opacity: .7;
}

.single__others-list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	list-style: none;
	padding: 0;
	margin: 0;
	margin-bottom: 3em;
}

.single__others-img {
	width: 100%;
	aspect-ratio: 1 / 1;
	height: 115px;
	position: relative;
	overflow: hidden;
	border: 1px solid #ccc;
}

.single__others-img img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (max-width: 768px) {
	.single__others-list {
		grid-template-columns: repeat(2, 1fr);
	}
}

.single__others--contents h4 {
	color: #000;
	margin: 15px 0px;
	font-size: 14px;
}

.single__others--contents h4::after, .info-title h2::after {
	content: '';
	display: inline-block;
	width: 1em;
	height: 1em;
	background-image: url("../img/common/btn-pink.svg");
	background-size: contain;
	vertical-align: middle;
	margin-left: 3px;
}

.single__others--contents h4.info::after, .info-title h2::after {
	background-image: url("../img/common/btn-blue.svg");
}

.single__others--contents h4.model::after {
	background-image: url("../img/common/btn-green.svg");
}

.single__others--contents .new {
	position: absolute;
	z-index: 10;
	right: -5px;
	top: -5px;
}

/******お知らせ一覧******/

article.info-card {
	width: 100%;
	display: flex;
	margin-bottom: 70px;
}

.info-thumb {
	width: 300px;
	height: 200px;
	position: relative;
	overflow: hidden;
	border-radius: 15px;
	border: 1px solid #ccc;
}

.info-thumb img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.info-meta {
	width: 70%;
	padding-left: 30px;
}

ul.info-tags {
	padding-left: 0;
	margin: 5px auto 10px;
	display: flex;
	width: 100%;
}

.info-tags li {
	font-size: 14px;
	margin: 0;
	list-style: none;
}

.info-tags li a {
	text-decoration: none;
	padding: 0 10px;
	margin-right: 5px;
}

.new {
	display: inline-block;
	border: 1px solid #FD59C3;
    color: #fff;
	font-size: 18px;
    font-weight: 500;
	padding: 0 5px;
    background-color: #FD59C3;
	border-radius: 5px;
}

p.info-date {
	margin: 0px 5px 0px 0px;
}

.info-title h2 {
	font-size: 20px;
}

a.info-title {
	color: #000;
	text-decoration: none;
}

.all-nav {
	margin: 70px auto 60px;
	text-align: center;
}

.all-nav ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin: 0 auto;
	padding: 0;
}

.all-nav li {
	list-style: none;
}

.all-nav a {
	display: block;
	padding: 0.8em 2.5em;
	border: 3px solid #3C66C4;
	color: #3C66C4;
	border-radius: 35px;
	text-decoration: none;
	margin: 0;
}

.all-nav a:hover {
	color: #fff;
	background-color: #FA9100;
	transition : all 0.3s ease 0s;
}

.all-nav.spot a:hover {
	background-color: #FD59C3;
}

.all-nav a.all-nav__item.select-info {
	color: #fff;
	background-color: #FA9100;
}

.all-nav a.all-nav__item.select-spot {
	color: #fff;
	background-color: #FD59C3;
}

@media screen and (max-width: 768px) {
article.info-card {
	display: grid;
	grid-template-columns: 1fr 1fr;
}
	
.info-thumb {
	width: auto;
	height: 120px;
}
	
.info-meta {
	width: 100%;
	padding-left: 10px;
}

.info-title h2 {
	font-size: 18px;
	margin-top: 0;
}
	
p.info-date {
	font-size: 16px;
}

.all-nav {
	margin: 30px auto;
	text-align: center;
}
.all-nav li {
	font-size: 15px;
	width: 10.5em;
}
	
.all-nav a {
	padding: 0.4em 1em;
}
}

/******観光スポット一覧******/


.spot-tag-nav {
	border-bottom: 1px solid #3C66C4;
	padding: 15px 0px;
}

.spot-tag-nav .spot-tag {
	margin: 17px 0 0 15px;
}

.spot-tag-nav p{
	white-space: nowrap;
}

.spot-tag a:hover,
a.select-spot-tag {
	background-color: #FD59C3;
	color: #fff;
	transition : all 0.3s ease 0s;
}

.spot-list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	margin: 40px auto 130px;
}

.spot-card-img {
	width: 100%;
	height: auto;
	position: relative;
	overflow: hidden;
	border-radius: 15px;
	padding-bottom: calc(180 / 270 * 100%);
	margin-top: 30px;
	border: 1px solid #ccc;
}

.spot-card-img img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.spot-list article {
	position: relative;
}

.spot-list .new {
	border: 1px solid #FD59C3;
    color: #fff;
	width: 3em;
	height: 3em;
	font-size: 18px;
    font-weight: 500;
	padding: 0 5px;
    background-color: #FD59C3;
	border-radius: 50%;
	position: absolute;
	top: 9px;
	left: -10px;
	z-index: 5;
	display: flex;
	justify-content: center;
	align-items: center;
}

.spot-card-data {
	box-sizing: border-box;
}

.spot-card-data h4 {
	font-size: 20px;
	margin-top: 15px;
	margin-bottom: 10px;
}

.spot-card-data h4::after {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	background-size: contain;
	margin-left: 0.5em;
	vertical-align: middle;
	background-repeat: no-repeat;
	background-position: center;
	background-image: url("../img/common/btn-pink.svg");
}

.spot-card-data p {
	margin: 0;
}

.spot-list a {
	color: #000;
	text-decoration: none;
}

.spot-list a:hover {
	opacity: .7;
}

.spot-list .spot-tag {
	margin-top: 10px;
}

@media screen and (min-width: 769px) {
.spot-tag-nav {
	display: flex;
}
}

@media screen and (max-width: 768px) {
.spot-tag-nav p {
	font-size: 15px;
	margin-bottom: 0.5em;
}
	
.spot-tag-nav .spot-tag {
	margin: 0 0 17px 0;
}
	
.spot-list {
	grid-template-columns: repeat(2, 1fr);
}
	
.spot-card-data h4 {
	font-size: 18px;
}
	
.spot-card-data p {
	font-size: 15px;
}
	
.spot-list .new {
	font-size: 12px;
}
}

.btn-basic.spot-btn {
	background-color: #FC44C0;
}

/*******検索結果********/

.search-list .search-list-meta {
	list-style: none;
	padding: 0;
}

.post-type-label {
	display: inline-block;
    color: #fff;
    font-weight: 500;
	border-radius: 5px;	
	padding: 0 10px;
	font-size: 14px;
}

.post-type-spots {
	background: #FD59C3;
}

.post-type-events {
	background: #FFF100;
	color: #000;
}

.post-type-topics {
	background-color: #F7940B;
}

/***********

ユニーク記事

************/

.single-contents .wp-block-button__link {
	background-color: #3C66C4;
    color: #ffffff;
	margin: 20px auto;
	padding-right: 2.5em;
	position: relative;
}

.single-contents .wp-block-button__link::after {
	content: "";
    position: absolute;
    width: 1.3em;
    height: 1.3em;
    right: 0.7em;
    background: url(../img/common/btn-white.svg) no-repeat center / contain;
}

.single-contents .wp-block-button__link:hover {
	opacity: .8;
}

.unique-post .wp-block-image figure,
.unique-post  .wp-block-column img {
	border: none;
} 

.unique-post h2 {
	padding-left: 1.8em;
	position: relative;
}

.unique-post h2::before {
	content: '';
	display: inline-block;
	position: absolute;
	width: 1.5em;
	height: 1.5em;
	left: 0em;
	top: 0;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	vertical-align: middle;
}

.unique-post.cat-seaside-area h2::before {
	background-image: url("../img/imizu-unique/top/heart-aqua.svg");
}

.unique-post.cat-souvenir-gourmet h2::before {
	background-image: url("../img/imizu-unique/top/heart-orange.svg");
}

.unique-post.cat-festival h2::before {
	background-image: url("../img/imizu-unique/top/heart-red.svg");
}

.unique-post.cat-culture h2::before {
	background-image: url("../img/imizu-unique/top/heart-lightgreen.svg");
}

.unique-post.cat-add-toyama h2::before {
	background-image: url("../img/imizu-unique/top/heart-yellow.svg");
}

.single-contents iframe {
	width: 100%;
}

.single-contents .ma-0a {
	margin: 0 auto;
}

.wp-block-columns {
    margin: 40px 16px;
}

/*アコーディオン*/
.wp-block-accordion-item {
    border: solid 1px #3C66C4;
}

.wp-block-accordion-heading__toggle {
	padding: 0.5em 1.5em;
	color: #fff;
	background-color: #3C66C4;
}

.wp-block-accordion-item h3 {
    margin: 0;
	text-align: center;
	color: #fff;
}

.wp-block-accordion-panel p,
.wp-block-accordion-panel h4 {
	padding: 0 1.5em;
}

/*表*/

.wp-block-table th {
	background-color: rgb(235, 239, 249);
	color: #3C66C4;
}

.wp-block-table thead {
	border-bottom: 2px solid #3C66C4;
}

.wp-block-table td, .wp-block-table th {
	border: 1px solid #3C66C4;
}

/*反転アコーディオン*/
.wp-block-accordion.acc-rv .wp-block-accordion-heading__toggle {
    color: #3C66C4;
    background-color: #fff;
}

.wp-block-accordion.acc-rv .wp-block-accordion-item {
	border: none;
}

.wp-block-accordion.acc-rv .wp-block-table thead{
	border-bottom: 1px solid #3C66C4;
}

.wp-block-accordion.acc-rv .wp-block-accordion-heading__toggle {
	border: 1px solid #3C66C4;
}

/***3列以上の並びで、本文文字を小さくする場合***/
.group-ft15 {
	font-size: 15px;
	line-height: 1.6;
}
