@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

html {
    font-family: 'Noto Sans JP', sans-serif;
	font-size: 62.5%;
    -moz-text-size-adjust:100%;
    -webkit-text-size-adjust:100%;
    -ms-text-size-adjust:100%;
}

a, a:hover{
	text-decoration: none;
	color: #676767;	
}

.pc{display: block;}
.pc_in{display: inline;}
.sp{display: none;}
.sp_in{display: none;}

body{
	width: 100%;
	color: #000;	
}

/* 画面外にホバー用アイコンを配置して強制プリロード */
body::after {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
    z-index: -1;
    content: 
        url('./images/icon_01a.png') 
        url('./images/icon_02a.png') 
        url('./images/icon_03a.png')
        url('./images/icon_01b.png') 
        url('./images/icon_02b.png') 
        url('./images/icon_03b.png');
}

#content{
	width: 100%; 
	height: auto;
	margin: 0 auto;
}

header{
	position: fixed;
	font-size: 0;
	width: 100%;
	height: 90px;
/* 	border-bottom: 1px solid #676767; */
	margin: 0 auto;
	padding: 0;
	background: #fff;
	z-index: 10000;	
}

header.front_page_navi{
	display: none;
	transition-duration : 0.5s;
}

header.front_page_navi.on{
	display: block;
	transition-duration : 3.0s;
}

header #header_navi{
	max-width: 1366px;
	margin: 0 auto;	
	z-index: 1000!important;
}

header #header_navi .logo{
	width: 145px;
	margin-left: 16px;
	z-index: 1001;
	margin-left: 40px;
	transition-duration : 0.5s;
}

header #header_navi .logo:hover{
	opacity: 0.5;
	transition-duration : 0.5s;
}

header #header_navi .logo img{
	width: 100%;
	height: auto;
}

header #header_navi .header_navi_head{
	width: 100%;
	max-width: 1366px;
	margin: 0 auto;
	height: 90px;
	z-index: 1002!important;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

header #header_navi .header_navi_head.active{
    transform: translateY(0);
	transition-duration : 0.5s;
	position: fixed;
}

#gnav {
	display: none;
	z-index: 1000;
}

.slicknav_menu{
	position: relative;
	height: auto;
/* 	transition-duration : 0.5s; */
	display: none;
}

/* nav */ 
#menu{
	display: block;
}
.slicknav_nav{
	margin-top: 100px;
	display: block;
}

.slicknav_nav ul, .slicknav_nav li {
	margin: 0;
	padding: 0;
}

.slicknav_menu {
  background-color: #fff !important;
    width: 100%;
    max-width: 1366px;
    position: fixed;
	padding-bottom: 0;	
	z-index: 1000!important;
}

.slicknav_menu.active{
	height: auto;
}

.slicknav_menu .slicknav_icon-bar {
	width: 2.0em;
    height: 1px;
	display: block;
	background-color: #666 !important;
}

.slicknav_menu .slicknav_icon-bar {
	background-color: #666 !important;
}

.slicknav_btn {
	background-color: #fff !important;
	right: 0!important;
	margin-bottom: 20px;
	z-index: 1100!important;
}

/*
.slicknav_nav .slicknav_row:hover {
	background: #1E1A42 !important;
}
*/

.slicknav_nav{
	border-bottom: 1px solid #666;
	background: #fff;
}

.slicknav_nav a{
	font-size: 1.8rem;
	color: #676767;
	margin: 0;
	padding: 1.2em 1.0em 1.2em 3.5em;
	background-color: #fff;
	background-repeat: no-repeat;
	background-position: 0.5em center;
	background-size: auto 80%;
}

.slicknav_nav ul > li:nth-child(1) a{
	background-image:  url(../images/icon_01a.png);
}

.slicknav_nav ul > li:nth-child(2) a{
	background-image:  url(../images/icon_02a.png);
}

.slicknav_nav ul > li:nth-child(3) a{
	background-image:  url(../images/icon_03a.png);
}

.slicknav_nav ul{
	padding-bottom: 2.0em;
}

.slicknav_nav ul > li{
	border-bottom: 1px solid #676767;
}

.slicknav_nav ul > li:first-child{
	border-top: 1px solid #676767;
}

.slicknav_nav ul li a:hover {
	background-color: #d1ddec !important;
	background-repeat: no-repeat;
	background-position: 0.5em center;
	background-size: auto 80%;
}

.slicknav_icon, .slicknav_icon span {
    display: inline-block;
    transition: all 0.4s;
    box-sizing: border-box;
}

.slicknav_icon {
    position: relative;
	width: 2.0em!important;
	height: 25px!important;
	z-index: 1002;
}

.slicknav_menu .slicknav_icon-bar{
    position: absolute;
    left: 0;
}

.slicknav_icon span:nth-child(1) {
    top: 0;
}
.slicknav_icon span:nth-child(2) {
    top: 9px;
}
.slicknav_icon span:nth-child(3) {
    bottom: 0;
}
.active .slicknav_icon-bar:nth-child(1) {
	width: 2.0em;
    -webkit-transform: translateX(0) translateY(12px) rotate(-45deg);
    transform: translateX(0) translateY(12px) rotate(-45deg);
}
.active .slicknav_icon-bar:nth-of-type(2) {
    opacity: 0!important;
    background: #fff!important;
}
.active .slicknav_icon-bar:nth-of-type(3) {
	width: 2.0em;
    -webkit-transform: translateX(0) translateY(-12px) rotate(45deg);
    transform: translateX(0) translateY(-12px) rotate(45deg);
}

#top_nav {
	position: relative;
	height: auto;
	margin: 0;
	padding: 0;
/* 	background: #fff; */
	z-index: 1002!important;
}

#top_nav_menu {
	font-size: 0;
	height: auto;
	margin: 0 auto!important;
	padding: 0;
	list-style: none;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	text-align: center;
}

#top_nav_menu > li {
	font-size: 2.2rem;
	line-height: 1.0em;
	z-index: 1000;
}

#top_nav_menu li a {
	margin: auto;
	padding: 0.7em 0 0.7em 2.5em;
	color: #676767;
	display: block;
	background-position: left center;
	background-repeat: no-repeat;
	background-size:  auto 50px;
	margin: 0 30px 0 45px;
	transition-duration : 0.5s;
}

@media (min-width: 768px) and (max-width: 1020px) {
	#top_nav_menu {
		gap: 0 20px; 
		padding-right: 30px;
	}

	#top_nav_menu > li {
		font-size: 1.8rem;
		line-height: 1.0em;
	}
	
	#top_nav_menu li a {
		background-size:  auto 40px;
		margin: 0;
	}	
}

#top_nav_menu > li:nth-child(1) a{
	background-image: url(../images/icon_01a.png);
}

#top_nav_menu > li:nth-child(1).current-menu-item a, #top_nav_menu > li:nth-child(1) a:hover{
	background-image: url(../images/icon_01b.png);
	color: #f7a800;
	transition-duration : 0.5s;
}

#top_nav_menu > li:nth-child(2) a{
	background-image: url(../images/icon_02a.png);
}

#top_nav_menu > li:nth-child(2).current-menu-item a, #top_nav_menu > li:nth-child(2) a:hover{
	background-image: url(../images/icon_02b.png);
	color: #1db08a;
	transition-duration : 0.5s;
}

#top_nav_menu > li:nth-child(3) a{
	background-image: url(../images/icon_03a.png);
}

#top_nav_menu > li:nth-child(3).current-menu-item a, #top_nav_menu > li:nth-child(3) a:hover{
	background-image: url(../images/icon_03b.png);
	color: #f19ec2;
	transition-duration : 0.5s;
}

.page-top {
	position: fixed;
	bottom: 30px;
	right: 20px;
	z-index: 1000;
	background-color: #19559f;
	border: 1px solid #fff;
}

.page-top img{
	width: 35px;
	height: auto;
}


/* footer */
footer{
	width: 100%;
	background: #bacce2;
}

footer .footer_logo{
    width: calc(100% - 40px);
	max-width: 1120px;
	margin: 0 auto;
	padding: 50px 20px 35px;
	background-image: url(../images/footer_back.png);
	background-repeat: no-repeat;
	background-position: right bottom;
}

footer .footer_logo p{
	font-size: 1.2rem;
	line-height: 1.6em;
	color: #19559f;
}

footer .footer_logo a:hover{
	opacity: 0.5;
	transition-duration : 0.5s;
}

footer .footer_logo a img{
    width: 200px;
    height: auto;
}

footer #copy{
	color: #fff;
    width: calc(100% - 1.0em);
	margin: 0 auto;
	padding: 1.3em 0.5em;
	font-size: 1.6rem;
	text-align: center;
	background: #19559f;
}

/* 共通 */
#content section{
	padding: 160px 20px 70px;
    width: calc(100% - 40px);
	max-width: 1120px;
	margin: 0 auto;
	min-height: calc(100vh - 468px);
}

#content section h1{
	font-size: 2.6rem;
	line-height: 3.0em;
	font-weight: 500;
	color: #fff;
	padding: 0 0 0 3.4em;
	background-position: 0.2em center;
	background-repeat: no-repeat;
	background-size: 2.8em auto;
	margin: 0 auto 50px;
}

#content section .inner{
    width: calc(100% - 40px);
	max-width: 1120px;
	margin: 0 auto;	
	padding: 0 20px;
}

#content section .anchor{
	position: relative;
}

#content section .anchor_m{
	position: absolute;
	bottom: 100px;	
}

/* フロントページ */
#content #front_page{
	padding: 0 20px 70px;
}

#content #mv{
	width: 100%;
	max-width: 1365px;
	margin: 0 auto!important;
}

#content #mv img{
	width: 100%;
	height: auto;
}

#content #front_page #read{
    width: 100%;
	text-align: center;
	font-size: 3.2rem;
	line-height: 1.4em;
	font-weight: 700;
	color: #707070;
	padding: 1.0em 0;
}

#content #front_page #site_navi{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 0 80px;
}

#content #front_page #site_navi a{
	text-align: center;
	font-size: 2.7rem;
	line-height: 1.4em;
	font-weight: 700;
	color: #333;
    width: calc(32% - 1.0em);
    padding: 3.2em 0.5em 1.0em;
    background-repeat: no-repeat;
    background-position: center 0.8em;
    background-size: 2.4em auto;
	transition-duration : 0.5s;
}

#content #front_page #site_navi > a:nth-child(1){
	background-color: #fdeacc;
	background-image: url(../images/icon_01a.png);
}

#content #front_page #site_navi > a:nth-child(1):hover{
	background-color: #f39800;
	background-image: url(../images/icon_01c.png);
	color: #fff;
	transition-duration : 0.5s;
}

#content #front_page #site_navi > a:nth-child(2){
	background-color: #d2efe8;
	background-image: url(../images/icon_02a.png);
}

#content #front_page #site_navi > a:nth-child(2):hover{
	background-color: #1db08a;
	background-image: url(../images/icon_02c.png);
	color: #fff;
	transition-duration : 0.5s;
}

#content #front_page #site_navi > a:nth-child(3){
	background-color: #fcecf3;
	background-image: url(../images/icon_03a.png);
}

#content #front_page #site_navi > a:nth-child(3):hover{
	background-color: #f19ec2;
	background-image: url(../images/icon_03c.png);
	color: #fff;
	transition-duration : 0.5s;
}

#content #front_page #news_ttl{
	padding: 45px 0 25px;
	display: flex;
	flex-wrap: nowrap;
}

#content #front_page #news_ttl h2{
	font-size: 2.6rem;
	width: 100%;
	line-height: 3.0em;
	font-weight: 500;
	color: #fff;
	padding: 0 0 0 3.4em;
	background-color: #1db08a;
	background-image: url(../images/icon_02c.png);
	background-position: 0.2em center;
	background-repeat: no-repeat;
	background-size: 2.6em auto;
	margin: 0 auto;
}

#content #front_page #news_ttl a{
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #a2dfcf;
	font-size: 2.2rem;
	line-height: 1.0em;
	font-weight: 600;
	color: #1db08a;
	padding: 0 2.0em;
	background-image: url(../images/more_a.png);
	background-repeat: no-repeat;
	background-position: 85% center;
	background-size: 1.0em;
	transition-duration : 0.5s;
}

#content #front_page #news_ttl a:hover{
	background-color: #1db08a;
	color: #fff;
	background-image: url(../images/more_b.png);
	transition-duration : 0.5s;
}

#content #front_page #news_list{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 18px; 
  transition-duration : 0.5s;
}

#content #front_page #news_list a{
	width: 32%;
	position: relative;
	overflow: hidden;
	border: 1px solid #666;
}

#content #front_page #news_list img{
    width: 100%;  
    height: auto;
    aspect-ratio: 352 / 460;  
    object-fit: cover;  
    object-position: center;
	transition-duration : 2.0s;
}

#content #front_page #news_list a:hover img{
	transform: scale(1.05);
	transition-duration : 2.0s;
}

#content #front_page #news_list a .article{
	font-size: 1.8rem;
	line-height: 1.4em;
	text-align: justify;
	font-weight: 600;
	position: absolute;
	bottom: 0;
    width: calc(100% - 1.4em);
	padding: 0.7em;
	color: #fff;
	background-image: url(../images/news_list_back.png);
}

#content #front_page #news_list a .article .tenant{
	display: flex;
	justify-content: space-between;
	gap:10px;
} 

#content #front_page #news_list a .article .tenant .day{
	font-size: 1.6rem;
	padding-bottom: 0.5em;
	font-weight: 400;
	white-space: nowrap; 
}

#content #front_page #news_list a .article .tenant .name{
	font-size: 1.6rem;
	padding-bottom: 0.5em;
	font-weight: 500;
	text-align: right;
	white-space: nowrap;     /* 1行に強制する */
	overflow: hidden;        /* はみ出た部分を隠す */
	text-overflow: ellipsis; /* はみ出た部分を「…」にする */
}

@media (min-width: 768px) and (max-width: 1100px) {
	#content #front_page #news_list{
	  width: 768px;
	  margin: 0 auto;
	  justify-content: space-between;
	}
	
	#content #front_page #news_list a{
		width: 48%;
	}
}

.slick-prev {
    left: 30px;
    z-index: 1;
    background-image: url(../images/slick-prev.png)!important;
}

.slick-prev:before {
    content: '';
}

.slick-next {
    right: 30px;
    z-index: 1;
    background-image: url(../images/slick-next.png)!important;
}

.slick-next:before {
    content: '';
}

.slick-prev, .slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
    display: block;
    width: 40px;
    height: 60px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background-repeat: no-repeat;
    background-size: 100% auto;
}

.slick-prev:hover, .slick-next:hover {
	opacity: 0.5;
}


/* フロアガイド・店舗紹介 */
#content section#floor h1{
	background-color: #f39800;
	background-image: url(../images/icon_01c.png);
}

#content section#floor .floor_guide{
    display: block;   
    width: 100%;   
    height: auto;  
    max-width: none; 
}

#content section#floor .floor_guide img{
	width: 100%;
	height: auto;
}

#content section#floor map area{
    cursor: pointer;
}

/* 親画像とマップエリアの両方でブラウザのメニュー暴発を完全ブロック */
#Map, map[name="Map"], map[name="Map"] area {
    -webkit-touch-callout: none !important; /* iOS Safari用の長押しリンクメニュー禁止 */
    -webkit-user-select: none !important;   /* テキスト選択・プレビュー禁止 */
    user-select: none !important;
    -webkit-tap-highlight-color: rgba(0,0,0,0); /* タップ時のグレーの影を消す */
    cursor: pointer;
}


#content section#floor #floor_navi{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 10px 30px; 
  transition-duration : 0.5s;
  padding: 65px 0;
}

#content section#floor #floor_navi a{
	font-size: 2.2rem;
	line-height: 1.8em;
	font-weight: 700;
	display: block;
	transition-duration : 0.5s;
}

#content section#floor #floor_navi a:hover{
	opacity: 0.5;
	transition-duration : 0.5s;
}

#content section#floor #floor_navi a span{
	font-size: 105%;
	color: #fff;
    height: 100%;
	padding: 0 0.2em;
	margin-right: 0.5em;
}

#content section#floor #floor_navi > a:nth-child(1){
	color: #b38400;
}

#content section#floor #floor_navi > a:nth-child(1) span{
	background-color: #b38400;
}

#content section#floor #floor_navi > a:nth-child(2){
	color: #e1332d;
}

#content section#floor #floor_navi > a:nth-child(2) span{
	background-color: #e1332d;
}

#content section#floor #floor_navi > a:nth-child(3){
	color: #4787ca;
}

#content section#floor #floor_navi > a:nth-child(3) span{
	background-color: #4787ca;
}

#content section#floor #floor_navi > a:nth-child(4){
	color: #55a58c;
}

#content section#floor #floor_navi > a:nth-child(4) span{
	background-color: #55a58c;
}

#content section#floor #floor_navi > a:nth-child(5){
	color: #333;
}

#content section#floor #floor_navi > a:nth-child(5) span{
	background-color: #fdb600;
}

#content section#floor #floor_navi > a:nth-child(6){
	color: #a07eb6;
}

#content section#floor #floor_navi > a:nth-child(6) span{
	background-color: #a07eb6;
}

#content section#floor #floor_navi > a:nth-child(7){
	color: #e877aa;
}

#content section#floor #floor_navi > a:nth-child(7) span{
	background-color: #e877aa;
}

#content section#floor #floor_list{
	position: relative;
/* 	height: 200px; */
}

#content section#floor #floor_list .cassette{
	padding: 40px 0;
	border-top: 1px solid #808080;
	background: #fff;
}

#content section#floor #floor_list .cassette h2{
	display: flex;
	justify-content: flex-start;
	align-content: center;
	padding: 15px 0;
}

#content section#floor #floor_list .cassette h2 .no{
    width: calc(60px - 1.0em);
	height: 60px!important;
	padding: 0 0.5em;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 4.2rem;
	font-weight: 700;
    color: #fff!important;
    background: #ccc;  
    margin: 0 20px 0 0;
}

#content section#floor #floor_list .cassette h2 div{
}

#content section#floor #floor_list .cassette h2 div p{
	font-size: 3.0rem;
	line-height: 1.2em;
	font-weight: 700;
}

#content section#floor #floor_list .cassette h2 div p.sub{
	font-size: 1.8rem;
	line-height: 1.2em;
	font-weight: 300;
	padding: 0.35em 0 0.1em 2.3em;
	background-repeat: no-repeat;
	background-position: left center;
	background-size: auto 100%;
}

#content section#floor #floor_list .cassette > div{
	display: flex;
	justify-content: space-between;
	width: 100%;
}

#content section#floor #floor_list .cassette > div .ph{
	width: 36%;
	max-width: 400px;
}

#content section#floor #floor_list .cassette > div .ph img{
    width: 100%;
    height: auto;
    aspect-ratio: 800 / 531;
    object-fit: cover;
    object-position: center;
}

#content section#floor #floor_list .cassette > div .txt{
	width: 59%;
}

#content section#floor #floor_list .cassette > div .txt p{
	font-size: 1.8rem;
	line-height: 1.6em;
	text-align: justify;
	padding: 0.5em 0;
}

#content section#floor #floor_list .cassette > div .link{
	text-align: right;
}

#content section#floor #floor_list .cassette > div a{
	font-size: 2.2rem;
	line-height: 2.5em;
	font-weight: 500;
	padding: 0 3.0em;
	margin: 0 0.3em 0.3em 0;
	text-align: center;
	border-radius: 1.75em;
	color: #fff;
	display: inline-block;
	box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, 0.3);
	transition-duration : 0.5s;
}

#content section#floor #floor_list .cassette > div a:hover{
	opacity: 0.5;
	transition-duration : 0.5s;
}

#content section#floor #floor_list .cassette_01 h2{
	color: #b38400;
}

#content section#floor #floor_list .cassette_01 h2 .no{
	background: #b38400;
}

#content section#floor #floor_list .cassette_01 h2 div p.sub{
	background-image: url(../images/floor_icon_01.png);
}

#content section#floor #floor_list .cassette_01 > div .txt span{
	color: #b38400;
}

#content section#floor #floor_list .cassette_01 > div a{
	background-color: #b38400;
}

#content section#floor #floor_list .cassette_02 h2{
	color: #e1332d;
}

#content section#floor #floor_list .cassette_02 h2 .no{
	background: #e1332d;
}

#content section#floor #floor_list .cassette_02 h2 div p.sub{
	padding: 0.35em 0 0.1em 3.3em;
	background-image: url(../images/floor_icon_02.png);
}

#content section#floor #floor_list .cassette_02 > div .txt span{
	color: #e1332d;
}

#content section#floor #floor_list .cassette_02 > div a{
	background-color: #e1332d;
}

#content section#floor #floor_list .cassette_03 h2{
	color: #4787ca;
}

#content section#floor #floor_list .cassette_03 h2 .no{
	background: #4787ca;
}

#content section#floor #floor_list .cassette_03 h2 div p.sub{
	background-image: url(../images/floor_icon_03.png);
}

#content section#floor #floor_list .cassette_03 > div .txt span{
	color: #4787ca;
}

#content section#floor #floor_list .cassette_03 > div a{
	background-color: #4787ca;
}

#content section#floor #floor_list .cassette_04 h2{
	color: #55a58c;
}

#content section#floor #floor_list .cassette_04 h2 .no{
	background: #55a58c;
}

#content section#floor #floor_list .cassette_04 h2 div p.sub{
	background-image: url(../images/floor_icon_04.png);
}

#content section#floor #floor_list .cassette_04 > div .txt span{
	color: #55a58c;
}

#content section#floor #floor_list .cassette_04 > div a{
	background-color: #55a58c;
}

#content section#floor #floor_list .cassette_05 h2{
	color: #333;
}

#content section#floor #floor_list .cassette_05 h2 .no{
	background: #fcb500;
}

#content section#floor #floor_list .cassette_05 h2 div p.sub{
	background-image: url(../images/floor_icon_05.png);
}

#content section#floor #floor_list .cassette_05 > div .txt span{
	color: #fcb500;
}

#content section#floor #floor_list .cassette_05 > div a{
	background-color: #fcb500;
}

#content section#floor #floor_list .cassette_06 h2{
	color: #333;
}

#content section#floor #floor_list .cassette_06 h2 .no{
	background: #a07eb6;
}

#content section#floor #floor_list .cassette_06 h2 div p.sub{
	background-image: url(../images/floor_icon_06.png);
}

#content section#floor #floor_list .cassette_06 > div .txt span{
	color: #a07eb6;
}

#content section#floor #floor_list .cassette_06 > div a{
	background-color: #a07eb6;
}

#content section#floor #floor_list .cassette_07 h2{
	color: #333;
}

#content section#floor #floor_list .cassette_07 h2 .no{
	background: #e877aa;
}

#content section#floor #floor_list .cassette_07 h2 div p.sub{
	background-image: url(../images/floor_icon_07.png);
}

#content section#floor #floor_list .cassette_07 > div .txt span{
	color: #e877aa;
}

#content section#floor #floor_list .cassette_07 > div a{
	background-color: #e877aa;
}

/* イベント・NEWS詳細 */
#content section#event h1{
	background-color: #1db08a;
	background-image: url(../images/icon_02c.png);
}

#content section#event #event_list .cassette{
	padding: 40px 0;
	border-top: 1px solid #808080;
	background: #fff;
}

#content section#event #event_list .cassette > div{
	display: flex;
	justify-content: space-between;
	width: 100%;
}

#content section#event #event_list .cassette > div .ph{
	width: 36%;
	max-width: 400px;
}

#content section#event #event_list .cassette > div .ph img{
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 11;
    object-fit: cover;
    object-position: center;
}

#content section#event #event_list .cassette > div .txt{
	width: 59%;
}

#content section#event #event_list .cassette > div .txt h2 a{
	font-size: 2.6rem;
	line-height: 1.6em;
	font-weight: 700;
	color: #000;
}

#content section#event #event_list .cassette > div .txt .category{
	padding: 20px 0;
	font-size: 1.8rem;
	line-height: 1.4em;
	font-weight: 500;
	display: flex;
	justify-content: flex-start;
	gap:10px;
	/* --- 追加：子要素がはみ出たときにレイアウトが崩れるのを防ぐ --- */
	min-width: 0; 
}

#content section#event #event_list .cassette > div .txt .category .category_icon{
	font-weight: 700; /* pxを削除 */
	padding: 0 1.0em;
	color: #fff;
	/* --- 追加：アイコンが文字に押されて潰れるのを防ぐ --- */
	flex-shrink: 0; 
}

#content section#event #event_list .cassette > div .txt .category .category_icon.single_event{
	background: #e1332d;
}

#content section#event #event_list .cassette > div .txt .category .category_icon.single_news{
	background: #4787ca;
}

#content section#event #event_list .cassette > div .txt .category .post{
	font-weight: 400; /* pxを削除 */
	color: #666;

	/* --- 追加：あふれた文字を「...」にする記述 --- */
	white-space: nowrap;     /* 1行に強制する */
	overflow: hidden;        /* はみ出た部分を隠す */
	text-overflow: ellipsis; /* はみ出た部分を「...」にする */
}

#content section#event #event_list .cassette > div .txt .category .day{
	font-weight: 300; /* pxを削除 */
	color: #666;
	/* --- 追加：日付が文字に押されて潰れるのを防ぐ --- */
	flex-shrink: 0; 
}


#content section#event #event_list .cassette > div .txt > p{
	font-size: 1.6rem;
	line-height: 1.6em;
	text-align: justify;
	padding: 0.5em 0;
	color: #666;
}

#content section#event #event_list .cassette > div a:hover{
	opacity: 0.5;
	transition-duration : 0.5s;
}

#content section#event #pager{
	width: 100%;
	text-align: center;
}

#content section#event #pager img{
	width: 100%;
	height: auto;
	max-width: 322px;
}

/* ページネーション全体のスタイル（中央配置を追加） */
.pagination {
    display: flex;
    justify-content: center; /* 左右中央に配置 */
    align-items: center;
    gap: 6px; /* ボタン同士の間隔 */
    font-family: "Times New Roman", Georgia, serif; /* 数字のフォント */
    margin: 20px 0; /* 上下に余白を作る場合 */
}

/* 各ボタンの共通スタイル */
.pagination .page-numbers {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 40px; /* ボタンの幅 */
    height: 40px; /* ボタンの高さ */
    background-color: #e2e8f0; /* 薄い青みのあるグレーの背景色 */
    color: #4a5568; /* 文字色 */
    text-decoration: none;
    font-size: 16px;
    transition: background-color 0.2s ease;
}

/* リンク（aタグ）のホバー時 */
.pagination a.page-numbers:hover {
    background-color: #cbd5e1;
}

/* 現在表示中のページ（spanタグ）のスタイル */
.pagination .page-numbers.current {
    background-color: #cbd5e1;
    font-weight: bold;
}

/* 施設紹介・アクセス */
#content section#access h1{
	background-color: #f19ec2;
	background-image: url(../images/icon_03c.png);
}

#content section#access h2{
	font-size: 2.4rem;
	line-height: 1.6em;
	font-weight: 600;
}

#content section#access .description{
	margin: 30px auto 0 ;
	padding-left: 20px;
	border-left: 1px solid #f19ec2;
}

#content section#access .description h3{
	font-size: 2.0rem;
	line-height: 1.5em;
	font-weight: 600;
	color: #19559f;
}

#content section#access .description h4{
	font-size: 1.8rem;
	line-height: 1.5em;
	font-weight: 600;
	padding-bottom: 0.3em;
}

#content section#access .description p{
	font-size: 1.6rem;
	line-height: 1.6em;
	font-weight: 300;
	text-align: justify;
}

#content section#access .banner > div{
	width: 100%;
	margin: 80px auto 100px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 30px 52px;
	flex-wrap: wrap;
}

@media (min-width: 768px) and (max-width: 1200px) {
	#content section#access .banner > div{
		justify-content: center;
		gap: 30px 52px;
		flex-wrap: wrap;
	}
}

#content section#access .banner img{
	height: 72px;
	width: auto;
}

#content section#access .banner a:hover{
	opacity: 0.5;	
}

#content section#access .map iframe{
    aspect-ratio: 1120 / 840;
    max-width: 1200px;
    width: 100%;
    height: auto;
}

#content section#access table {
	border: 1px #808080;
	border-collapse: collapse;
	margin: 40px 0;
}

#content section#access table td, #content section#access table th {
	font-size: 1.6rem;
	line-height: 1.6em;
	font-weight: 300;
	border: 1px #808080 solid;
	border-collapse: collapse;
	padding: 0 1.7em;
	height: 5.0em;
	vertical-align: middle;
}

/* 404 */
#error-404{
	text-align: center;
	font-size: 2.6rem;
	line-height: 1.6em;

}

#error-404 p{
	padding: 0.5em;
}

#error-404 a{
	font-size: 1.6rem;
	color: #fff;
	background: #19559f;
	padding: 0.3em 1.0em;
	border-radius: 2.6em;
	margin-top: 3.0em;
	display: inline-block;
}

#error-404 a:hover{
	opacity: 0.5;
}

/* 投稿ページ */
#content section#single {
    padding: 160px 20px 70px;
    width: calc(100% - 40px);
    max-width: 850px; 
    margin: 0 auto;
    background: #fff; 
}

/* アイキャッチ画像エリア */
#content section#single .entry-thumbnail {
    margin-bottom: 40px;
    text-align: center;
}
#content section#single .entry-thumbnail img {
    width: 100%;
    height: auto;
/*
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: center;
*/
}

/* 記事ヘッダー（タイトル・メタ情報） */
#content section#single .entry-header {
/*     margin-bottom: 50px; */
    padding-bottom: 30px;
/*     border-bottom: 1px solid #808080;  */
}

#content section#single .entry-title {
	font-size: 2.6rem;
	line-height: 1.6em;
	font-weight: 500;
	color: #000!important;	
	padding: 0;
	background: none;
	margin: 0 auto 1.0em;
}

#content section#single .entry-meta {
    padding: 10px 0 0;
    font-size: 1.8rem;
    line-height: 1.4em;
    font-weight: 500;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
	/* --- 追加：子要素がはみ出たときにレイアウトが崩れるのを防ぐ --- */
	min-width: 0;
}

#content section#single .entry-meta .day {
    font-weight: 300;
    color: #666;
	/* --- 追加：日付が文字に押されて潰れるのを防ぐ --- */
	flex-shrink: 0; 
}

#content section#single .entry-meta p.category {
    display: inline-block;
    margin: 0;
    padding: 0 1.0em;
    font-weight: 700;
    color: #fff;
    background: #808080; /* 未分類などのデフォルト色 */
    line-height: 1.8em; /* バッジの高さを綺麗に保つ */
	/* --- 追加：カテゴリーバッジが文字に押されて潰れるのを防ぐ --- */
	flex-shrink: 0; 
}

#content section#single .entry-meta p.category.cat-single_event {
	background: #e1332d;
}

/* 重複していたセレクタを「cat-single_news」に修正（想定） */
#content section#single .entry-meta p.category.cat-single_news {
	background: #4787ca;
}

#content section#single .entry-meta .post {
    font-weight: 400;
    color: #666;

	/* --- 追加：あふれた文字を「...」にする記述 --- */
	white-space: nowrap;     /* 1行に強制する */
	overflow: hidden;        /* はみ出た部分を隠す */
	text-overflow: ellipsis; /* はみ出た部分を「...」にする */
}

#content section#single .entry-content {
    font-size: 1.6rem; 
    line-height: 1.8em; 
/*      font-weight: 300; */
     text-align: justify; 
     word-break: break-word;
     color: #000;
}

/* 本文直下の要素の余白を統一 */
#content section#single .entry-content > * {
    margin-top: 0;
    margin-bottom: 1.0em;
}

/* 本文内の段落 */
#content section#single .entry-content p {
    margin-bottom: 2.0em;
}

/* 見出しのスタイル（全体のトーンに合わせてシンプルかつスマートに） */
#content section#single .entry-content h2 {
    font-size: 2.2rem;
    font-weight: 700;
    color: #19559f;
    padding-bottom: 0.5em;
}

#content section#single .entry-content h3 {
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 0.5em;
    border-bottom : 1px solid #19559f; 
}

/* リンク */
#content section#single .entry-content a{
    color: red;
    text-decoration: underline;
}

#content section#single .entry-content a:hover{
    opacity: 0.5;
}

/* 箇条書きリスト */
#content section#single .entry-content ul,
#content section#single .entry-content ol {
    padding-left: 1.5em;
}
#content section#single .entry-content li {
    margin-bottom: 0.2em;
}

/* 太字（既存の重要度とデザインのアクセント） */
#content section#single .entry-content strong,
#content section#single .entry-content b {
    font-weight: 700;
    color: #000;
}

#content section#single .entry-content img {
    max-width: 100%;
    height: auto;
}

#content section#single .entry-content figure {
    margin-left: 0;
    margin-right: 0;
}

#content section#single .wp-block-image figcaption,
#content section#single .wp-caption-text {
    font-size: 1.3rem;
    text-align: center;
    margin-top: 8px;
}

/* YouTube動画レスポンシブ */
#content section#single .wp-block-embed {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    margin-bottom: 26px;
}

#content section#single .wp-block-embed iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* テーブル（表） */
#content section#single .entry-content table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 26px;
    font-size: 1.5rem;
}

#content section#single .entry-content th,
#content section#single .entry-content td {
    padding: 12px;
    border: 1px solid #808080;
    text-align: left;
}

#content section#single .entry-content th {
    font-weight: 700;
}

/* ボタンブロック（既存のカラーシステムを適用） */
#content section#single .wp-block-button {
    text-align: center;
}

#content section#single .wp-block-button__link {
    display: inline-block;
    background-color: #4787ca; /* サイトカラーの青 */
    color: #ffffff !important;
    padding: 12px 35px;
    text-decoration: none;
    font-size: 1.6rem;
    font-weight: 700;
    transition: opacity 0.3s;
}

#content section#single .wp-block-button__link:hover {
    opacity: 0.85;
}

#content section#single .post-navigation {
    padding-top: 40px;
    border-top: 1px solid #ccc;
}
#content section#single .post-navigation .nav-links {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}
#content section#single .nav-previous,
#content section#single .nav-next {
    width: 48%;
}
.nav-next {
    text-align: right;
}
#content section#single .post-navigation a {
    font-size: 1.6rem;
    color: #ccc;
    text-decoration: none;
    font-weight: 700;
    transition: color 0.2s;
}

#content section#single .post-navigation a:hover {
    color: #999;
}


/* エフェクト */
#content .scroll {
  opacity: 0;
  transform: translateY(100px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

#content .scroll.fade-in {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.8s ease, transform 0.8s ease;
}