@charset "utf-8";
/* spot css */

.category_list {
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
margin-bottom: 60px;
}
.category_list li a {
font-family: "vdl-yotag", sans-serif;
font-weight: 500;
font-size: 1.5rem;
display: block;
padding: 6px 10px;
margin-right: 30px;
transition-duration: 0.7s;	
}
.crt a {
background-color: #EEEEEE;
border-radius: 6px;
}
.category_list li a:hover {
background-color: #EEEEEE;
border-radius: 6px;
transition-duration: 0.7s;	
}

@media all and (max-width : 767px ){
.category_list {
margin-bottom: 30px;
}
.category_list li a {
font-size: 1.3rem;
margin-right: 15px;
}
}

/*-------------------------------------------------
観光スポット一覧表示
-------------------------------------------------*/

.spot_box_wrap {
margin-bottom: 50px;
display: flex;
flex-wrap: wrap;
}
.spot_box {
width: calc(33.3333333% - 60px / 3);
margin-right: 30px;
margin-bottom: 30px;
padding-bottom: 30px;
border: solid 1px #ddd;
position: relative;
}
.spot_box:nth-child(3n) {
margin-right: 0;
}
.spot_img {
width: 100%;
margin-bottom: 15px;
position: relative;
background: #000;
overflow: hidden;
}
.spot_img img {
aspect-ratio: 3 / 2;
object-fit: cover;
width: 100%;
transition-duration: 0.7s;	
}
.spot_img img:hover {
transform: scale(1.05);	
transition-duration: 0.7s;	
opacity: 0.8;
}
.spot_box .spot_title {
font-family: "vdl-yotag", sans-serif;
font-weight: 500;
font-size: 2.0rem;
letter-spacing: 0.1em;
margin: 0 0 15px 15px;
padding-right: 10px;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
overflow: hidden;
text-overflow: ellipsis;
}
.spot_read {
font-size: 1.3rem;
line-height: 180%;
padding: 0 15px;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
overflow: hidden;
text-overflow: ellipsis;
margin-bottom: 25px;
}
.spot_box .category {
font-family: "vdl-yotag", sans-serif;
font-weight: 500;
font-size: 1.3rem;
color: #fff;
padding: 8px 15px 8px;
margin-left: 15px;
line-height: 110%;
border-radius: 3px;
}
.cate_spot {
background-color: #0067B6;
}
.cate_gourmet {
background-color: #ED99A3;
}

@media all and (max-width : 820px ){
.spot_box {
width: calc(50% - 20px / 2);
margin-right: 20px;
margin-bottom: 20px;
padding-bottom: 30px;
}
.spot_box:nth-child(3n) {
margin-right: 20px;
}
.spot_box:nth-child(2n) {
margin-right: 0px;
}
.spot_box .spot_title {
font-size: 1.6rem;
letter-spacing: 0.2em;
margin: 0 0 15px 15px;
}
.spot_read {
-webkit-line-clamp: 2;
}
}

@media all and (max-width : 767px ){
.spot_box_wrap {
margin-bottom: 20px;
}
.spot_box {
width: 100%;
margin-right: 0px;
margin-bottom: 20px;
padding-bottom: 20px;
}
.spot_box:nth-child(3n) {
margin-right: 0px;
}
.spot_img {
margin-bottom: 15px;
}
.spot_box .spot_title {
font-size: 1.5rem;
letter-spacing: 0.2em;
margin: 0 0 10px 15px;
padding-right: 10px;
}
.spot_read {
font-size: 1.2rem;
line-height: 160%;
padding: 0 15px;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
text-overflow: ellipsis;
margin-bottom: 20px;
}
.spot_box .category {
font-size: 1.0rem;
}
}


/* 観光スポット詳細ページ
-------------------------------------------------- */

.page_spot_dtl .spot_title {
font-family: "vdl-yotag", sans-serif;
font-weight: 500;
font-size: 2.2rem;
padding: 0 10px 10px 5px;
border-bottom: solid 1px #ddd;
letter-spacing: 0.2em;
margin-bottom: 20px;
}
.page_spot_dtl .category {
font-family: "vdl-yotag", sans-serif;
font-weight: 500;
font-size: 1.3rem;
color: #fff;
padding: 8px 15px 8px;
margin-left: 0px;
line-height: 110%;
border-radius: 3px;
}

@media all and (max-width : 767px ){
.page_spot_dtl .category {
padding: 8px 10px;
}
}


/*-------------------------------------------------
	 swiper
-------------------------------------------------*/

.item-slider {
overflow: hidden;
margin-top: 20px;
}
.item-slider .swiper-container {
width: 100%;
height: 100%;
}
.item-slider-wrap {
max-width: 98rem;
}

@media screen and (min-width: 768px) {
.item-slider-wrap {
display: flex;
align-items: stretch;
}
}

.item-slider-image {
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
cursor: pointer;
}
.item-slider-image img {
width: 100%;
height: 520px;
object-fit: contain;
}
.item-slider-image figcaption {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
padding: 1rem;
background-color: rgba(0, 0, 0, 0.7);
font-size: 1.5rem;
color: #fff;
line-height: 1.6;
text-align: center;
}

@media screen and (max-width: 767px) {
.item-slider-images {
width: 100%;
}
.item-slider-image img {
height: 233px;
}
.item-slider-image figcaption {
font-size: 1.0rem;
padding: 0.6rem;
}
}

@media screen and (min-width: 768px) {
.item-slider-images {
width: 79.5918367347%;
}
}

.item-slider-thumbox {
display: flex;
flex-direction: column;
}

@media screen and (max-width: 767px) {
.item-slider-thumbox {
flex-direction: row;
align-items: center;
margin-right: 0;
margin-top: 24px;
width: 100%;
}
}

@media screen and (min-width: 768px) {
.item-slider-thumbox {
width: 18.8775510204%;
margin-left: 1.5rem;
padding: 0 1.5rem;
border: solid 1px #ccc;
}
}

.item-slider-prev, 
.item-slider-next {
display: flex;
align-items: center;
justify-content: center;
height: 4.8rem;
user-select: none;
text-align: center;
cursor: pointer;
}

@media screen and (max-width: 767px) {
.item-slider-prev,
.item-slider-next {
height: auto;
width: 2rem;
}
}

.item-slider-prev::before, 
.item-slider-next::before {
content: "";
width: 1rem;
height: 1rem;
border-bottom: 1px solid #999;
border-right: 1px solid #999;
}
.item-slider-prev:focus,
.item-slider-next:focus {
outline: none;
}
.item-slider-prev::before {
transform: rotate(135deg);
}

@media screen and (min-width: 768px) {
.item-slider-prev::before {
transform: rotate(-135deg);
}
}

.item-slider-next::before {
transform: rotate(-45deg);
}

@media screen and (min-width: 768px) {
.item-slider-next::before {
transform: rotate(45deg);
}
}

.item-slider-thumbs {
width: auto;
height: 103px;
overflow: hidden;
}
.item-slider-thumbs img {
width: 100%;
height: 100%;
object-fit: cover;
}

@media screen and (max-width: 767px) {
.item-slider-thumbs {
width: calc(100% - 50px);
height: 58px;
margin: 0 1.6rem;
}
}

@media screen and (min-width: 768px) {
.item-slider-thumbs {
height: 100%;
}
}

.item-slider-thumbs .swiper-slide {
cursor: grab;
}
.item-slider-thumbs .swiper-slide {
cursor: pointer;
opacity: 0.5;
transition: opacity 0.5s;
}
.item-slider-thumbs .swiper-slide.swiper-slide-thumb-active {
opacity: 1;
height: 58px;
}
.item-slider-thumbs .swiper-slide.swiper-slide-thumb-active img {
outline: 2px solid #ccc;
outline-offset: -2px;
}

/* スポット紹介文
-------------------------------------------------- */

.page_spot_dtl .spot_txt {
line-height: 200%;
padding-top: 30px;
margin-bottom: 80px;
}
.page_spot_dtl .menu_info {
font-family: "vdl-yotag", sans-serif;
font-size: 2.0rem;
font-weight: 500;
letter-spacing: 0.1em;
padding: 0 10px 10px 5px;
border-bottom: solid 1px #ddd;
margin-bottom: 20px;
}
.page_spot_dtl .info_box {
width: 47.96%;
padding: 20px 10px;
border-bottom: solid 1px #ddd;
display: flex;
align-items: center;
letter-spacing: 0.2em;
}
.page_spot_dtl .info_box dt {
width: 25%;
}
.page_spot_dtl .info_box dd {
width: 75%;
word-break: break-all;
}
.page_spot_dtl .info_box dd a {
text-decoration: underline;
color: #003D7C;
font-family: "Oswald", sans-serif;
font-weight: 400;
font-size: 1.4rem;
letter-spacing: 0.05em;
}
.page_spot_dtl .info_box dd a:hover {
text-decoration: none;
}
.page_spot_dtl .info_box_wrap {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
margin-bottom: 80px;
}

/*-------------------------------------------------
アクセスマップ
-------------------------------------------------*/

.page_spot_dtl .gmap {
height: 0;
overflow: hidden;
padding-bottom: 44.18%;
position: relative;
}
.page_spot_dtl .gmap iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}
.page_spot_dtl .gmap_wrap {
padding-top: 10px;
margin-bottom: 50px;
}

@media all and (max-width : 767px ){
.page_spot_dtl .spot_title {
font-size: 1.8rem;
padding: 0 10px 5px 5px;
letter-spacing: 0.15em;
margin-bottom: 10px;
}
.page_spot_dtl .spot_txt {
font-size: 1.3rem;
line-height: 180%;
padding-top: 20px;
margin-bottom: 40px;
}
.page_spot_dtl .menu_info {
font-size: 1.6rem;
padding: 0 10px 10px 5px;
margin-bottom: 5px;
}
.page_spot_dtl .info_box {
width: 100%;
font-size: 1.3rem;
padding: 20px 10px;
display: flex;
align-items: center;
letter-spacing: 0.15em;
}
.page_spot_dtl .info_box_wrap {
margin-bottom: 40px;
}
.page_spot_dtl .gmap_wrap {
padding-top: 15px;
margin-bottom: 20px;
}
.page_spot_dtl .link_btn_box {
margin-bottom: 15px;
}
}