@charset "UTF-8";
/*
Theme Name: 須磨寺 
Author: 株式会社メックコミュニケーションズ
Author URI: https://www.mec-com.co.jp
Date: 2026-09
*/

/*-------------------------------------------------------------------------------------------------関数*/
body{
/*特色*/
	--color_kon: #003d81;
	--color_ao: #0074ad;
	--color_mizu: #e6f0f6;
	--color_aka: #ba0033;
	--color_p: #e995a3;
	--color_pp: #FCEEF0;
	--color_ki: #e6c52c; 
	--color_hai: #F3F5F0;
	--color_k: #051e11;
/*リンクの色*/
	--color_link:#006DEB;
/*em*/
	--color_notice:var(--color_aka);
}
/*-------------------------------------------------------------------------------------------------parts*/
/*-------------------------linkfile*/
.linkfile a::before,
a .list_title::after{
	width:1em;
	height:1em;
	display:inline-block;
	vertical-align:middle;
	margin:-0.2em 0.2em 0 0.2em;
	background-size:cover !important;
}
.linkfile a[target]:before,
a[target] .list_title:after{
	content:"";
	background:url(images/icon_blank.svg);
}
.linkfile a[href$='.pdf']::before,
a[href$='.pdf'] .list_title::after{
	content:"";
	background:url(images/icon_pdf.svg);
}
.linkfile a[href$='.xls']::before,
.linkfile a[href$='.xlsx']::before,
a[href$='.xls'] .list_title::after,
a[href$='.xlsx'] .list_title::after{
	content:"";
	background:url(images/icon_excel.svg);
}
.linkfile a[href$='.docx']::before,
.linkfile a[href$='.doc']::before,
a[href$='.docx'] .list_title::after,
a[href$='.doc'] .list_title::after{
	content:"";
	background:url(images/icon_word.svg);
}
.linkfile a[href$='.pptx']::before,
.linkfile a[href$='.ppt']::before,
a[href$='.pptx'] .list_title::after,
a[href$='.ppt'] .list_title::after{
	content:"";
	background:url(images/icon_ppt.svg);
}
body .noicon::before{
	display:none;
}
/*-------------------------clickimg*/
.clickimg{
	position:relative;
	padding-bottom:1.7em;
	font-size:1.4rem;
	color:#666;
}
.clickimg::after{
	content:"クリックすると画像拡大します";
	position:absolute;
	left:0;
	bottom:0;
}
@media screen and (max-width: 767px) {
	.clickimg::after{content:"タップすると画像拡大します";}
}
/*-------------------------tx*/
.tx a,
.tx .a{
	text-decoration:underline;
	color:var(--color_link);
	cursor:pointer;
}
.tx a:hover,
.tx .a:hover{
	text-decoration:none;
}
/*-------------------------tx_belt*/
.tx_belt{
	background:var(--color_kon);
	color:#FFF !important;
	padding:0.3em 0.6em;
	font-weight:bold;
	margin-bottom:0.5em;
}
/*-------------------------tx_line*/
.tx_line{
	border-bottom:1px solid var(--color_ao);
	padding-bottom:0.1em;
	margin-bottom:0.5em;
	color:var(--color_ao) !important;
}
/*-------------------------tx_min*/
.tx_min{
	font-family: "Noto Serif JP", serif;
	font-weight:bold;
	margin-bottom:0.5em;
}
/*-------------------------mark*/
.mark{
	margin-left:1em;
	text-indent: -1em;
}
.mark span{margin-left:0;text-indent:0;}
/*-------------------------ya*/
body .ya{
	display:inline-block;
}
body .ya::before{
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0.3em 0 0.3em 0.5em;
	border-color: transparent transparent transparent var(--color_link);
	margin-right: 0.3em;
	transition:all 0.3s;
}
.ya:hover::before{
	transform:translateX(0.3em);
}
/*-------------------------btn*/
.btn{
	text-decoration:none;
	display:inline-flex;
	justify-content:center;
	align-items:center;
	position:relative;
	width:360px;
	max-width: 100%;
	max-height:100%;
	line-height:1.25;
	text-align:center;
	padding:0.7em;
	gap:0.5em;
	text-align:center;
	background:var(--color_kon);
	transition:all 0.3s;
	font-size:2rem;
	color:#FFF !important;
	text-decoration:none !important;
}
.btn:hover{
	background:#000;
}
@media screen and (max-width: 400px) {
	.btn{width:100%;}
}
/*-------------------------kage_k*/
.kage_k{
	position:relative;
	outline:1px solid rgba(255,255,255,0.3);
	box-shadow: 1px 1px 7px rgba(0,0,0,0.3);
}
.kage_k:hover,
a:hover .kage_k{
	top:1px;
	outline:1px solid rgba(0,0,0,0.05);
	box-shadow:0px 1px 3px rgba(0,0,0,0.3);
}

/*-------------------------fade*/
.fade{
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.8s, transform 0.8s;
	transition-delay: var(--delay, 0s);
}
.fade.fedein {
	opacity: 1;
	transform: translateY(0);
}
/*-------------------------photo*/
.photo{
	width:100%;
	height:400px;
	overflow:hidden;
	position:relative;
}
.photo a{
	display:block;
	width:100%;
	height:100%;
	position:relative;
}
.photo a img{
	filter:brightness(80%);
	transition:all 0.3s;
}
.photo a:hover img{
	filter:brightness(100%);
}
.photo_title{
	position:absolute;
	top: 0;
	left: 50%;
	z-index:1;
	transform: translate(-50%, 0);
	background:rgba(255,255,255,0.9);
	font-family: "Noto Serif JP", serif;
	font-weight:bold;
	line-height:1.25;
	padding:0.5em 0.25em;
}
.photo img{
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
}
@media screen and (max-width: 767px) {
.photo{height:200px;}
}
/*-------------------------slider*/
.slider{
	position:relative;
	width:100%;
	height:100%;
}
.slider li{
	opacity:0;
	width:100%;
	height:100%;
	position:absolute;
	left:0;
	top:0;
	animation:anime 18s 0s infinite;
}
.slider li:nth-of-type(2) {
	animation-delay:6s;
}
.slider li:nth-of-type(3) {
	animation-delay:12s;
}
@keyframes anime {
	0% {opacity:0;}
	16% {opacity:1;}
	34% {opacity:1;}
	66.6% {opacity:0;transform:scale(1.1) ;}
	100% {opacity:0;}
}
/*-------------------------googlemap*/
.googlemap iframe{
	vertical-align:bottom;
	width:100%;
	min-width:100%;
}
@media print, screen and (min-width: 768px) {
	.googlemap iframe{height:600px;}
}
@media screen and (max-width: 767px) {
	.googlemap iframe{height:400px;}
}
/*-------------------------max_bg*/
.max_bg{
	position:absolute;
	top:0;
	left:50%;
	margin-left:-50vw;
	width:100vw;
	height:100%;
	z-index:-1;
}
/*-------------------------hensyu (parts)*/
.hensyu{
	position:absolute;
	top:0;
	right:0;
}
#wrapper .hensyu a{
	display:block;
	background:rgba(255,0,0,0.5);
	color:#FFF;
	padding:10px;
	font-size:15px;
	line-height:1;
	text-decoration:none;
	border:none;
}
#wrapper .hensyu a:hover{
	background:#FF0000;
}
/*-------------------------list_topics_waku*/
.list_topics_waku{
	display:grid;
	grid-template-columns: repeat(auto-fit, minmax(480px, 1fr));
	max-width:100%;
	margin:0 auto;
}
/*-------------------------list_topics*/
.list_topics{
	display:flex;
	width:100%;
	max-width:1000px;
}
.list_topics > a{
	display:flex;
	flex-direction:column;
	border:0.5px solid var(--color_ao);
	background:#FFF;
	transition:all 0.3s;
	padding:25px 15px;
	width:100%;
	text-align:left;
	position:relative;
	color:var(--color_kon);
}
.list_topics > a.disable{
	border-color:#E6E6E6;
	color:#000;
}
.list_topics:not(.linkfile) > a:not(.disable)::before{
	content: "";
	display: block;
	width: 15px;
	height: 1px;
	background:var(--color_kon);
	position:absolute;
	right:12px;
	bottom:12px;
	transition:all 0.2s;
}
.list_topics.linkfile > a::before{
	position:absolute;
	right:8px;
	bottom:8px;
	transition:all 0.2s;
}
.list_topics:not(.linkfile) > a:not(.disable)::after{
	position:absolute;
	right:6px;
	bottom:9px;
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 0 4px 8px;
	border-color: transparent transparent transparent var(--color_kon);
	transition:all 0.2s;
}
.list_topics > a:hover{
	filter:brightness(90%);	
}
.list_topics > a:hover::before,
.list_topics > a:hover::after{
	margin-right:-6px;
}
.list_topics .hensyu{
	top:auto;
	right:auto;
	bottom:0;
	left:0;
}
.list_topics_status{
	position:absolute;
	right:0;
	top:0;
	background:var(--color_kon);
	color:#FFF;
	font-size:1.25rem;
	line-height:1em;
	font-weight:bold;
	padding:0.4em 0.6em;
}
.list_topics_title{
	font-size:2rem;
	font-weight:500;
	margin-bottom:5px;
}
.list_topics_subtitle{
	font-size:1.5rem;
	font-weight:500;
	margin-bottom:2px;
}
.list_topics_read{
	font-size:1.5rem;
	color:#555;
}
.list_topics_cat{
	position:absolute;
	right:10px;
	bottom:5px;
	font-size:1.3rem;
	font-weight:300;
	text-align:right;
}
@media print, screen and (min-width: 768px) {
	.list_topics > a{padding:25px 20px;}
	.list_topics_title{font-size:2.4rem;}
	.list_topics_subtitle{font-size:1.7rem;}
}
/*-------------------------list_page*/
.list_page{
	display:grid;
	grid-template-columns: repeat( auto-fill, minmax(340px,1fr) ) ;
	gap:0 min(50px , 3vw);
}
.list_page li{
	position:relative;
}
.list_page li > a{
	display:flex;
	flex-direction:column;
	height:100%;
	padding:23px min(20px , 2vw);
	gap:5px;
	border-top: 1px solid color-mix(in srgb, var(--color_ao) 50%, transparent);
	text-decoration:none;
	transition:all 0.3s;
}
.list_page li > a:hover{
	background:var(--color_mizu);
}
.list_page figure{
	width:100%;
	height:200px;
	overflow:hidden;
	margin:0;
}
.list_page img{
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
	transition:all 1s;
}
.list_page a:hover img{
	transform: scale(1.1);
}
.list_page h2{
    font-size: 2.5rem;
	font-weight:bold;
	font-family: "Noto Serif JP", serif;
	letter-spacing:1px;
	color:#000;
	position:relative;
}
.list_page h2:after{
	content:"";
	display:block;
	width: 0.4em;
	height: 0.4em;
	border-top: 2px solid var(--color_ao);
	border-right: 2px solid var(--color_ao);
	transform: rotate(45deg);
	position:absolute;
	right:0.2em;
	top:45%;
	transition: transform 0.3s;
}
.list_page h2:first-letter{
	color:var(--color_ao);
	font-size:133%;
	margin-right:1px;
}
.list_page p{
	font-size:88%;
	line-height:1.75;
	color:#333;
	padding:5px 0 10px 0;
}
@media screen and (max-width: 400px) {
	.list_page {grid-template-columns: repeat(1 , 1fr);}
	.list_page figure{height:150px;}
}
/*-------------------------list_blog*/
.list_blog{
	border-top:0.5px solid var(--color_ao);
}
.list_blog .list_box{
	border-bottom:0.5px solid var(--color_ao);
	position:relative;
}
.list_blog .list_box > a{
	background:#FFF;
	transition:all 0.3s;
	padding:10px 0;
	display:grid;
	grid-template-columns:auto 1fr;
	align-items: center;
	gap:1em;
}
.list_blog .list_box > a:hover{
	filter:brightness(90%);	
}
.list_blog .list_box figure{
	width:100px;
	height:100px;
	overflow:hidden;
	position:relative;
	flex-shrink:0;
	margin-bottom:auto;
}
.list_blog .list_box figure img{
	transition:all 1s;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
}
.list_blog .list_box a:hover figure img{
	transform:scale(1.1)
}
.list_blog .list_box div{
	width:100%;
	display:flex;
	flex-direction:column;
	gap:5px;
	text-align:left;
	position:relative;
}
.list_blog .list_box_title{
	font-size:2rem;
	line-height:1.25;
	font-weight:bold;
}
.list_blog .list_box_date{
	font-size:1.4rem;
}
@media screen and (max-width: 767px) {
	.list_blog .list_box_title{font-size:1.8rem;}
	.list_blog .list_box_date{font-size:1.2rem;}
}
/*-------------------------list_link*/
.list_link{
	display:flex;
	flex-direction:column;
}
.list_link li{
	position:relative;
}
.list_link li > a{
	display:block;
	position:relative;
	line-height:1.3;
	padding:1.5em 0 1.5em 1em;
	text-decoration:none;
	transition:all 0.3s;
	border-bottom:1px solid rgba(0, 0, 0, 0.3);
}
.list_link li strong{
	margin-left:-0.8em;
}
.list_link a span{
	display:block;
	font-size:80%;
	font-weight:normal;
	margin-top:0.2em;
}
.list_link li > a:hover{
	background-color:#F1F1F1;
}
.list_link li > a:hover .ya::before{
	transform:translateX(0.3em);
}
/*-------------------------tx_sen*/
.tx_sen{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:0.2em;
}
.tx_sen::before,
.tx_sen::after{
	content:"";
	display:block;
	width:5vw;
	height:1px;
	background:var(--color_k);
}
.tx_aka.tx_sen::before,.tx_aka.tx_sen::after{background:var(--color_aka);}
.tx_ao.tx_sen::before,.tx_ao.tx_sen::after{background:var(--color_ao);}
.tx_kon.tx_sen::before,.tx_kon.tx_sen::after{background:var(--color_kon);}
/*-------------------------ban_sen_w*/
.ban_sen_w{border:4px solid #FFF;}

/*-------------------------row_img*/
.row_img{
	display:flex;
	align-items:center;
	gap:40px;
}
.row_img figure{
	flex-shrink:0;
}
/*-------------------------youtube */
.video-thumbnail {
  position: relative;
  cursor: pointer;
  line-height: 0;
}
.video-thumbnail img {
  width: 100%;
  height: auto;
  transition: opacity 0.3s;
}
.video-thumbnail:hover img {
  opacity: 0.8;
}
.play-button {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 60px; height: 60px;
  background-color: rgba(0, 0, 0, 0.6);
  border-radius: 50%;
  border: 3px solid #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s;
}
.play-button::before {
  content: "";
  border-style: solid;
  border-width: 12px 0 12px 20px;
  border-color: transparent transparent transparent #ffffff;
  margin-left: 5px;
}
.video-thumbnail:hover .play-button {
  background-color: rgba(255, 0, 0, 0.9);
  border-color: transparent;
  transform: translate(-50%, -50%) scale(1.1);
}
.modal {
  display: none; 
  position: fixed;
  z-index: 9999;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background-color: rgba(0, 0, 0, 0.9);
  align-items: center; 
  justify-content: center;
}
.modal-content {
  position: relative;
  width: 90%;
  max-width: 900px;
}
.video-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
}
.video-container iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
}
.close-btn {
  position: absolute;
  top: -45px; right: 0;
  color: white;
  font-size: 35px;
  cursor: pointer;
}
/*-------------------------dl_hyo */
.page_kiji .dl_hyo p{
	line-height:1.5;
	margin:0;
}
.dl_hyo dd{
	position:relative;
}	
.dl_hyo dd .hensyu{
	top:0;
}
.dl_hyo dt .inblock{
	font-weight:500;
}
@media print, screen and (min-width: 768px) {
	.dl_hyo{display:grid;grid-template-columns:auto 1fr;}
	.dl_hyo dt{padding:1em 0.5em;border-bottom:1px solid #CCC;}
	.dl_hyo dd{padding:1em 0.5em;border-bottom:1px solid #CCC;}
}
@media screen and (max-width: 767px) {
	.dl_hyo dt{padding:0.5em;background:var(--color_hai);}
	.dl_hyo dd{padding:0.5em;padding-bottom:1em;}
}
/*-------------------------pulldown */
.pulldown {
  width: 240px;
  padding: 10px 40px 10px 1em;
  font-size: 1.8rem;
  color: #333;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 6px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  /* 右側矢印 */
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='2' fill='none' fill-rule='evenodd' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1em center;
}
.pulldown:hover {
  border-color: #999;
}
.pulldown:focus {
  outline: none;
  border-color: #4a90e2;
  box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.2);
}
.pulldown:disabled {
  background-color: #f5f5f5;
  color: #aaa;
  cursor: not-allowed;
}
.pulldown option {
  padding: 8px;
}

/*-------------------------------------------------------------------------------------------------illust*/
.illust_genpei{width:50%;min-width:700px;right:-40px;bottom:10px;}
.illust_season1{top:-30px;padding-right:50%;}
.illust_season2{top:120px;padding-left:50%;}
.illust_mark{top:-80px;padding:0 10px 0 50vw;}
.illust_kiku1{top:-80px;padding:0 50vw 0 0;}
.illust_kiku2{padding:70px 0 0 60vw;}
.illust_kumo1{top:-50px;padding:0 50vw 0 0;}
.illust_kumo2{padding:60px 0 0 50vw;}
.illust_matsu{top:-50px;width:50%;right:0;}
.illust_nami1{width:300px;top:-50px;left:50%;margin-left:-400px;}
.illust_nami2{width:300px;top:50px;left:50%;margin-left:100px;}

@media screen and (max-width: 767px) {
.illust_genpei{width:100%;min-width:550px;margin-right:-120px;bottom:5px;}
.illust_season1{top:-10px;}
.illust_season2{top:105px;}
.illust_mark{padding:80px 0 0 50vw;max-width:640px;}
.illust_kiku1{top:-20px;padding:0 55vw 0 0;max-width:600px;}
.illust_kiku2{padding:30px 5vw 0 60vw;max-width:600px;}
.illust_kumo1{top:-10px;padding:0 60vw 0 0;max-width:600px;}
.illust_kumo2{padding:33px 0 0 60vw;max-width:600px;}
.illust_matsu{top:-40px3right:-15px;}
.illust_nami1{width:150px;top:0px;left:50%;margin-left:-200px;}
.illust_nami2{width:150px;top:50px;left:50%;margin-left:50px;}
}

/*-------------------------------------------------------------------------------------------------table*/
table{
	empty-cells:show; 
	border-collapse:collapse; 
	border-spacing:0;
	background:#FFF;
	margin:0.5em 0;
}
table th,
table td{
	padding:0.5em 1em;
	border:1px solid #CCC;
	text-align:left;
}
@media screen and (max-width: 767px) {
	table th,
	table td{padding:0.5em;}
}
table th{
	background-color:rgba(0,0,0,0.05);
}
/*-------------------------zebra*/
table.zebra tr:nth-child(odd){
	background-color:rgba(0,0,0,0.05);
}
/*-------------------------line_x*/
table.line_x th,
table.line_x td{
	border-left:none;
	border-right:none;
}
/*-------------------------td_r/td_c/td_no */
.td_r td{text-align:right;}
.td_c td{text-align:center;}
.td_no td{white-space:nowrap;}
@media print, screen and (min-width: 768px) {
	.pc_td_r td{text-align:right;}
	.pc_td_c td{text-align:center;}
	.pc_td_no td{white-space:nowrap;}
}
@media screen and (max-width: 767px) {
	.sp_td_r td{text-align:right;}
	.sp_td_c td{text-align:center;}
	.sp_td_no td{white-space:nowrap;}
}
/*-------------------------th_r/th_c/th_no/th_bg_no */
.th_r th{text-align:right;}
.th_c th{text-align:center;}
.th_no th{white-space:nowrap;}
.th_bg_no th{background:none;}
@media print, screen and (min-width: 768px) {
	.pc_th_r th{text-align:right;}
	.pc_th_c th{text-align:center;}
	.pc_th_no th{white-space:nowrap;}
	.pc_th_bg_no th{background:none;}
}
@media screen and (max-width: 767px) {
	.sp_th_r th{text-align:right;}
	.sp_th_c th{text-align:center;}
	.sp_th_no th{white-space:nowrap;}
	.sp_th_bg_no th{background:none;}
}
/*-------------------------size((スマホ表示で幅100％以上を横スクロール) */
@media screen and (max-width: 767px) {
	table{font-size:1.6rem;}
	table.size{display:block; overflow-x:auto; white-space:nowrap; -webkit-overflow-scrolling:touch;
	background:linear-gradient(to left, hsla(0,0%,100%,0), white 15px) 0 0 / 50px 100%,
	linear-gradient(to left, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.2)) 0 0/20px 100%,
	linear-gradient(to right, hsla(0,0%,100%,0), white 15px) right / 50px 100%,
	linear-gradient(to right, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.2)) right/20px 100%;
	background-repeat: no-repeat;
	background-attachment: local, scroll, local, scroll;
	}
	table.size td,table.size th{mix-blend-mode:multiply;}
}


/*home
-----------------------------------------------------------------------------------------*/
/*-------------------------hometop*/
.hometop{
	min-height:calc(100vh - var(--mp));
	gap:var(--mp);
	display:grid;
	grid-template-columns:auto 1fr;
	grid-template-rows: 1fr auto;
	align-items: center;
}
@media screen and (max-width: 767px) {
	.hometop{display:block;height:auto;}
}
/*-------------------------homenav*/
.homenav{
	grid-column: 1 / 2; 
	grid-row: 1 / 2;
	align-self: center;
}
.homenav h1{
	height:230px;
	padding-top:7px;
}
.homenav a::before{
	content:"";
	display:block;
	width:1px;
	height:20px;
	background:var(--color_ao);
	position:absolute;
	left:50%;
	top:-30px;
	opacity:0;
	transition:all 0.3s;
}
.homenav a{
	position:relative;
	display:inline-block;
	padding:0.5em 0.2em;
	transition:all 0.3s;
	min-height:5em;
}
.homenav a:hover{
	color:var(--color_ao);
	background:var(--color_hai);
}
.homenav a:hover::before{
	top:-15px;
	opacity:0.8;
}

/*-------------------------mainimg*/
.mainimg{
	grid-column: 2 / 3;
	grid-row: 1 / 2; 
}
.mainimg .photo{
	height:100%;
}
/*.mainimg .slider li:nth-child(2) img{object-position:right;}*/
@media print, screen and (min-width: 768px) {
	.mainimg{min-height:640px;height: 100%;}
}
@media screen and (max-width: 767px) {
	.mainimg{height:calc(100vh - 230px - var(--mp));padding-bottom:var(--mp);}
	.hometop:has(.attention) .mainimg{height:calc(100vh - 350px);padding-bottom:0;}
}

/*-------------------------attention*/
.attention{
	grid-column: 2 / 3; 
	grid-row: 2 / 3;
	padding-bottom:var(--mp);
}
.attention p{
	padding-top:0.6em;
	position:relative;
}
.attention p + p{
	margin-top:0.6em;
	border-top:1px solid #CCC;
}
.attention p > a{
	padding-left:0.8em;
	display:inline-block;
	text-indent:-0.8em;
}
.attention p > a:hover{
	text-decoration:underline;
}
.attention p > a::before{
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0.3em 0 0.3em 0.5em;
	border-color: transparent transparent transparent var(--color_p);
	margin-right: 0.3em;
	transition:all 0.3s;
}
.attention p > a.disable::before{
	border:none;
	width:0.5em;
	height:0.5em;
	background:#CCC;
	border-radius:1em;
	margin-bottom:0.1em;
}
.attention p > a:hover::before{
	transform:translateX(0.3em);
}



/*event
-----------------------------------------------------------------------------------------*/
.event th{
	font-weight:bold;
	background:none;
}
@media screen and (max-width: 767px) {
	.event{border-top:1px solid #CCC;}
	.event tr{display: block;padding:10px;border-bottom:1px solid #CCC;}
	.event th br{display:none;}
	.event th,.event td{display: list-item;border:none;padding:0px;text-align:left;}
	.event th{font-size:16px;}
	.event tr:first-child,.event td.pc{display:none;}
	.event tr td:not(.reset):last-child{color:#CC0000;}
	.event tr td:not(.reset):last-child:before{content:"場所：";}
}

/*faq
-----------------------------------------------------------------------------------------*/
.faq{
	border-bottom:1px solid #CCC;
}
.faq + h3{
	margin-top:3em;
}
.faq > summary,
.faq > div{
	display: grid;
	grid-template-columns: 3rem 1fr 24px;
	gap: 1rem;
	align-items: start;
	padding:15px 0;
}
.faq > summary::-webkit-details-marker {
	display: none;
}
.faq > div{
	padding:0 0 15px 0;
	margin-top:-5px;
}
@media print, screen and (min-width: 768px) {
	.faq > summary {cursor: pointer;padding:20px 0;}
	.faq > div{padding:0 0 20px 3.5rem;}
}
.faq_type {
	width: 3rem;
	height: 3rem;
	text-align: center;
	line-height: 3rem;
	font-weight: bold;
	color: #fff;
	background:#000;
	display: block;
}
.faq_type + div{
	margin-top:0.1em;
}
.faq .arrow{
	width: 10px;
	height: 10px;
	border-top: 2px solid #333;
	border-right: 2px solid #333;
	transform: rotate(135deg);
	margin-top: 8px;
	transition: transform 0.3s;
}
.faq[open] .arrow {
	transform: rotate(-45deg);
}

/*otoiawase
-----------------------------------------------------------------------------------------*/
#otoiawase > summary::-webkit-details-marker {
	display: none;
}
#otoiawase[open] > summary {
	display: none;
}

/*sitemap
-----------------------------------------------------------------------------------------*/
#wrapper .sitemap li:before{ 
	display:none;
}
#wrapper .sitemap li{
	margin:0;
}
.sitemap a{
	display:flex;
	align-items:center;
	padding:1rem;
	text-decoration:none;
	border-bottom:1px solid #CCC;
	color:var(--color_k);
}
.sitemap a::after{
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0.3em 0 0.3em 0.5em;
	border-color: transparent transparent transparent var(--color_kon);
	margin-left:auto;
	transition:all 0.3s;
}
.sitemap a:hover::after{
	transform:translateX(0.3em);
}
.sitemap a:hover{
	background:#F1F1F1;
}
.sitemap > li > a{
	background:var(--color_kon);
	color:#FFF;
	font-weight:bold;
	border:none;
	padding:2rem 0.5em 2rem 1em;
}
.sitemap > li > a:after{
	border-color: transparent transparent transparent #FFF;
}
.sitemap > li > a:hover{
	background:var(--color_link);
}
.sitemap .current_page_ancestor { order: 100; }/*siteinfoの段を最後に*/




/*-------------------------------------------------------------------------------------------------特色border_color*/
body .sen_kon{border-color:var(--color_kon);}
body .sen_ao{border-color:var(--color_ao);}
body .sen_mizu{border-color:var(--color_mizu);}
body .sen_aka{border-color:var(--color_aka);}
body .sen_p{border-color:var(--color_p);}
body .sen_pp{border-color:var(--color_pp);}
body .sen_ki{border-color:var(--color_ki);}
body .sen_hai{border-color:var(--color_hai);}
body .sen_k{border-color:var(--color_k);}
/*-------------------------------------------------------------------------------------------------特色bg*/
body .bg_kon{background-color:var(--color_kon);}
body .bg_ao{background-color:var(--color_ao);}
body .bg_mizu{background-color:var(--color_mizu);}
body .bg_aka{background-color:var(--color_aka);}
body .bg_p{background-color:var(--color_p);}
body .bg_pp{background-color:var(--color_pp);}
body .bg_ki{background-color:var(--color_ki);}
body .bg_hai{background-color:var(--color_hai);}
body .bg_k{background-color:var(--color_k);}
/*-------------------------------------------------------------------------------------------------特色text_color*/
body .tx_kon{color:var(--color_kon);}
body .tx_ao{color:var(--color_ao);}
body .tx_mizu{color:var(--color_mizu);}
body .tx_aka{color:var(--color_aka);}
body .tx_p{color:var(--color_p);}
body .tx_pp{color:var(--color_pp);}
body .tx_ki{color:var(--color_ki);}
body .tx_hai{color:var(--color_hai);}
body .tx_k{color:var(--color_k);}
/*-------------------------------------------------------------------------------------------------特色ya*/
body .ya_kon::before{border-color:var(--color_kon);background-color:var(--color_kon);}
body .ya_ao::before{border-color:var(--color_ao);background-color:var(--color_ao);}
body .ya_mizu::before{border-color:var(--color_mizu);background-color:var(--color_mizu);}
body .ya_aka::before{border-color:var(--color_aka);background-color:var(--color_aka);}
body .ya_p::before{border-color:var(--color_p);background-color:var(--color_p);}
body .ya_pp::before{border-color:var(--color_pp);background-color:var(--color_pp);}
body .ya_ki::before{border-color:var(--color_ki);background-color:var(--color_ki);}
body .ya_hai::before{border-color:var(--color_hai);background-color:var(--color_hai);}
body .ya_k::before{border-color:var(--color_k);background-color:var(--color_k);}
/*-------------------------------------------------------------------------------------------------utility*/
body .abs-1{position:absolute;z-index:-1;}
body .serif{font-family: "Noto Serif JP", serif;}
body .tx_zen{font-family: "Inter", "Zen Kaku Gothic New", sans-serif;}
body .tate{writing-mode: vertical-rl;text-orientation: upright;}
body .gap_tx5{gap:0em 0.5em;}
body .mb3{margin-bottom:3px;}
body .mt3{margin-top:3px;}
body .pa-mp{padding:var(--mp);}
body .pt-mp{padding-top:var(--mp);}
body .pb-mp{padding-bottom:var(--mp);}
body .pl-mp{padding-left:var(--mp);}
body .pr-mp{padding-right:var(--mp);}
body .px-mp{padding-left:var(--mp);padding-right:var(--mp);}
body .py-mp{padding-top:var(--mp);padding-bottom:var(--mp);}
body .ma-mp{margin:var(--mp);}
body .mt-mp{margin-top:var(--mp);}
body .mb-mp{margin-bottom:var(--mp);}
body .ml-mp{margin-left:var(--mp);}
body .mr-mp{margin-right:var(--mp);}
body .ml--mp{margin-left:calc(var(--mp) * -1);}
body .mr--mp{margin-right:calc(var(--mp) * -1);}
body .mx-mp{margin-left:var(--mp);margin-right:var(--mp);}
body .my-mp{margin-top:var(--mp);margin-bottom:var(--mp);}
body .maximg img{width:100%;height:100%;object-fit:cover;object-position:center;}
body .mw600{max-width:600px}
body .row240{display:grid;grid-template-columns: repeat( auto-fill, minmax(240px,1fr) ) ;}
body .hv_dark a{transition:all 0.3s;}
body .hv_dark a:hover{filter:brightness(80%);}
body .hv_sen a{text-decoration:none;}
body .hv_sen a:hover{text-decoration:underline;}
@media print, screen and (min-width: 768px) {
	body .pc_h610{height:610px;}
}
@media screen and (max-width: 767px) {
	body .sp_px0{padding-left:0;padding-right:0}
	body .sp_mx0{margin-left:0;margin-right:0}
}
.sen_w3{border:3px solid #FFF;}
#wrapper .li_m3 > li + li{margin-top:0.3em;}

