﻿@charset "UTF-8";
 
@import url('https://use.fontawesome.com/releases/v7.1.0/css/all.css');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');


/* all */
* {
margin: 0;
padding: 0;
word-break: normal;
box-sizing: border-box;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
}

:focus-visible {	/* タブキー移動で今いる場所に青いフォーカス枠を表示 */
outline: 3px solid #1A73E8;
outline-offset: 3px;
}


BODY{
margin:0;
padding:0;
background:#FFF;
color:#000;
font-size: 100.0%;	/* 16pxベース */
line-height:1.5;
letter-spacing:1px;
text-align: center;
font-family: "Roboto", "Noto Sans JP", sans-serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;

-webkit-text-size-adjust: 100%;	/* iPhone版Safari対策 */
}
@media only screen and (max-width:1200px) {	/* 幅の狭いPC以下用 */
	BODY.menuopen{
	overflow:hidden;
	}
}



* html body {	 /* for IE6 */ 
font-size: 100.0%;	/* 16pxベース */
}
*:first-child+html body { /* for IE7 */
font-size: 100.0%;	/* 16pxベース */
}


/*------ フォントサイズ ------
font-size:62.5%;	10px
font-size:75.0%;	12px
font-size:87.5%;	14px
font-size:100.0%;	16px
font-size:112.5%;	18px
font-size:125.0%;	20px
font-size:137.5%;	22px
font-size:150.0%;	24px
font-size:162.5%;	26px
font-size:175.0%;	28px
font-size:187.5%;	30px
font-size:200.0%;	32px
font-size:212.5%;	34px
font-size:225.0%;	36px
font-size:237.5%;	38px
font-size:250.0%;	40px
-----------------------------*/


IMG{
max-width: 100%;
/* image-rendering: -webkit-optimize-contrast; */
}
IMG,
A IMG{
border:none;
}

P{
margin-top:1.8em;
margin-bottom:1.8em;
background:url(img/spacer.gif) no-repeat;	/* Android4.0対策 */
}


/*--------------------------------------------------------------------
  「レスポンシブ」固有
--------------------------------------------------------------------*/
@media only screen and (min-width:1201px) {/* ワイドPC用 */
	.min1200{
	display:none;
	}
}

.pc,
.pc_tablet{
display:inline-block;
}

.narrow_pc,
.tablet_sp,
.tablet,
.sp{
display:none;
}
.block_pc{	/* PCの時だけ改行する */
display:block;
}

@media only screen and (min-width:769px) and (max-width:980px) {	/* 幅の狭いPC用 */
	.narrow_pc{
	display:block;
	}

}
@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	IMG{
	width:auto;
	height:auto;
	max-width: 100%;
	}
	.block_tablet_sp{	/* タブレット・スマホの時だけ改行する */
	display:block;
	}
	.block_pc{	/* PCの時だけ改行する */
	display:inline-block;
	}
}

@media only screen and (min-width:541px) and (max-width:768px) {	/* スマホ横用 */
	.pc,
	.sp{
	display:none !important;
	}
	.tablet_sp,
	.pc_tablet,
	.tablet{
	display:inline-block !important;
	}
	.block_tablet{	/* タブレット・スマホ横の時だけ改行する */
	display:block;
	}
}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	*{
	word-break: break-all;
	}
	.pc_tablet,
	.pc,
	.tablet{
	display:none !important;
	}
	.tablet_sp,
	.sp{
	display:inline-block !important;
	}
	.block_sp{	/* スマホ縦の時だけ改行する */
	display:block !important;
	}
}



.pc_none{
display:none;
}



/*--------------------------------------------------------------------
  「スマホ（横）」「タブレット」固有の設定
--------------------------------------------------------------------*/
@media only screen and (min-width:541px) and (max-width:768px) {
	.pc_none{
	display:inherit;
	}
	.tablet_none{
	display:none;
	}
}


/*--------------------------------------------------------------------
  「スマホ（縦）」固有の設定
--------------------------------------------------------------------*/
@media only screen and (max-width:540px) {
	.pc_none{
	display:inherit;
	}
	.sp_none{
	display:none;
	}
}




/*--------------------------------------------------------------------
リンクテキスト
---------------------------------------------------------------------*/
A{
text-decoration:none;
color:#333;
word-break: break-all;
transition: background 0.5s ease, color 0.3s ease, border-color 0.3s ease, opacity 0.5s ease;
-webkit-transition: background 0.5s ease, color 0.3s ease, border-color 0.3s ease, opacity 0.5s ease;
-moz-transition: background 0.5s ease, color 0.3s ease, border-color 0.3s ease, opacity 0.5s ease;
-o-transition: background 0.5s ease, color 0.3s ease, border-color 0.3s ease, opacity 0.5s ease;
}
.content A:not([class]){
color:#333;
border-bottom-width:1px;
border-bottom-style:solid;
}
.content A:not([class]):VISITED{
color:#666;
}
A:HOVER{
opacity:0.7;
}
.content A:has(IMG){
border-bottom:none !important;
}
.content A:has(IMG):hover{
opacity:0.6;
}


.content A:not([class]):HOVER{
color:#1E50A2;	/* 瑠璃色 */
opacity:1.0;
border-color:transparent;
}


/*------ 外部リンクアイコン 疑似要素使用不可 ------*/

/*------
<I class="fa-solid fa-arrow-up-right-from-square"></I>
------*/


.fa-arrow-up-right-from-square{
margin-left:0.25em !important;
display:inline-block !important;
line-height:1;
}

A.link_large:has(.fa-arrow-up-right-from-square){
padding-right:1.3em;
position:relative;
}
A.link_large .fa-arrow-up-right-from-square{
margin:0 !important;
position:absolute;
right:2px;
bottom:4px;
}


/*--------------------------------------------------------------------
見出し 
---------------------------------------------------------------------*/
H1,H2,H3,H4,H5,H6{
margin:0;
padding:0;
font-size:100.0%;	/* 16px */
border:none;
background:none;
font-weight:500;
line-height:1.3;
}


/*------------------------------------------------
H2
------------------------------------------------*/
#content_header{
position:relative;
}
#content_header H2{
padding:0.5em 0 0.3em 0;
background-image:url(img/h2bg.webp);
-webkit-background-size:100% auto;
-moz-background-size:100% auto;
-o-background-size:100% auto;
-ms-background-size:100% auto;
background-position:center bottom;
background-repeat:no-repeat;
background-color:#006655;	/* AAA緑 */
font-size:min(11.0vw,300.0%);	/* 48px */
color:#FFF;
line-height:1.0;
position:relative;
}

#content_header H2::before{
content:"";
position:absolute;
transform : translateX(-50%);
bottom:0;
left:50%;
width:100%;
height:60%;
max-width:1200px;
background-image:url(img/top_guide_bg02.webp);
background-repeat:no-repeat;
background-position:left bottom;
-webkit-background-size:auto 100%;
-moz-background-size:auto 100%;
-o-background-size:auto 100%;
-ms-background-size:auto 100%;
}
#content_header.index H2{
padding:2.0em 0 1.5em 0;
}
@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	#content_header H2::before{
	background-position:right 80vw bottom;
	-webkit-background-size:20% auto;
	-moz-background-size:20% auto;
	-o-background-size:20% auto;
	-ms-background-size:20% auto;
	}
}


/*--------------------------------------------------------
 画像を背景にする時に

      <SPAN class="filter"></SPAN> ←フィルターを追加
    </H2>
---------------------------------------------------------*/
#content_header H2 .filter{	/* フィルター */
background:
-moz-linear-gradient(to top, rgba(0,0,0,0.6) 0, transparent 50%);
background:
webkit-linear-gradient(to top, rgba(0,0,0,0.6) 0, transparent 50%);
background:
linear-gradient(to top, rgba(0,0,0,0.6) 0, transparent 50%);
}
#h2{
margin:0 auto;
padding:0.25em;
display:block;
z-index:2;
position:relative;
width:100%;
max-width:1150px;
}

#h2 .small,
#h2 .extrasmall{
letter-spacing:0.05em;
display:inline-block;
}
.archives #content_header H2{	/* イベントアーカイブは彩度を落とす */
filter: saturate(25%);
}

#h2>*{
margin:auto;
display:block;
}
#h2 .eng{
letter-spacing:0.15em;
}
#h2 .jp{
margin:0.5em auto 0 auto;
display:block;
letter-spacing:0.1em;
font-size:50.0%;	/* 24px */
}
#h2 .child{
margin:0.5em auto 0 auto;
display:block;
letter-spacing:0.1em;
font-size:75.0%;	/* 36px */
}

#h2:has(.child) .eng{
font-size:50.0%;	/* 24px */
}
#h2:has(.child) .jp{
font-size:33.3%;	/* 16px */
}


@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	#content_header:not(.index) H2 .filter{
	background:rgba(0,0,0,0.5);
	}
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	#h2 .child{
	letter-spacing:0.5vw;
	text-shadow: 0.03em 0.03em 0.03em #006655;
	}

}
@media only screen and (max-width:320px) {	/* スマホS縦用 */
}


/*------ コンテンツ毎のヘッダー画像設定 ------*/


/*------ ページ全体の注釈、脚注 ------*/
.notice{
font-size:87.5%;	/* 14px */
}
.notice UL,
.notice P{
margin:0.2em 0 0.2em auto;
padding:0 0.5em;
display:table;
}
.notice UL LI{
margin-right:0 !important;
margin-left:auto !important;
display:table;
text-align:left;
}
@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	.notice UL{
	margin-top:0.5em;
	}
	.notice UL>LI{
	margin-top:0;
	margin-bottom:0;
	}
	

}


/*------------------------------------------------
   H3
------------------------------------------------*/
H3{
font-size:min(12.0vw,187.5%);	/* 30px */
}
MAIN H3{
font-weight:700;
color:#008570;	/* エメラルドorg */
}
MAIN>ARTICLE>H3{
margin-right:auto;
margin-left:auto;
padding-top:1.5em;
width : -webkit-calc(100% - 50px) ;
width : calc(100% - 50px);
max-width:1150px;
text-align:left;
}
MAIN>ARTICLE>H3 .extrasmall{
font-size:53.3%;	/* 16px */
}
MAIN>ARTICLE>H3 .extrasmall.block{
margin-bottom:0.5em;
}



/*------ 他要素隣接時 ------*/
*+H3,
H3~H3{
margin-top:5em;
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	H3{
	font-size:150.0%;	/* 24px */
	}
	H3.longname{
	font-size:6vw;
	}

}



/*------------------------------------------------
   H4
------------------------------------------------*/
/*------ H4基本設定 ------*/
H4{
margin-bottom:1.0em;
font-size:137.5%;	/* 22px */
}
ARTICLE H4{
margin-top:-0.5em;
padding-top:0.5em;
}
ARTICLE *+H4,
ARTICLE H4~H4{
margin-top:2.5em;
}



/*------ 他要素隣接時 ------*/
ARTICLE H4+*{
}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	H4{
	font-size:125.0%;	/* 20px */
	}
}



/*------------------------------------------------
   H5
------------------------------------------------*/
/*------ H5基本設定 ------*/
H5{
}
ARTICLE H5{
font-size:112.5%;	/* 18px */
}

/*------ 他要素隣接時 ------*/
ARTICLE H4+H5,
ARTICLE H5+*{
margin-top:0.5em !important;
}
ARTICLE *+H5{
margin-top:3.0em;	/* 各要素と隣接時には上余白を多めに */
}

/*------------------------------------------------
   H6
------------------------------------------------*/
/*------ H6基本設定 ------*/
ARTICLE H6{
margin:1.5em auto 0 auto;
font-weight:700;
font-size:100.0%;	/* 16px */
line-height:1.3;
}

/*------ 他要素隣接時 ------*/
H5+H6{
}
H6+*{
margin-top:1.0em;
}
*+H6{
margin-top:1.5em;	/* 各要素と隣接時には上余白を多めに */
}



/*--------------------------------------------------------------------
  画像レイアウト枠
--------------------------------------------------------------------*/
/*------ 1枚・複数共通 ------*/
.photo{
margin-top:3.0em;
text-align:center;
}
.photo IMG{
margin:0 auto;
display:block;
}


/*------------------------------------------------
  キャプション付き
------------------------------------------------*/
.caption A:has(IMG),
.caption IMG{
margin-bottom:0.5em;
display:block;
}
.caption A>IMG{
margin-bottom:0;
}


/*------------------------------------------------
  注釈付き（例：こちらはイメージです。）
------------------------------------------------*/
.imagephoto{
margin-right:auto;
margin-left:auto;
display:table;
position:relative;
}
.imagephoto IMG{
margin:auto;
position:relative;
display:block;
z-index:1;
}
.imagephoto SPAN{
position:absolute;
z-index:2;
right:0.2em;
bottom:0.5em;
font-size:75.0%;	/* 12px */
text-shadow: 0 0 0.2em #FFF;
}
.imagephoto SPAN.white{
text-shadow: 0 0 0.1em #000;
}
.imagephoto SPAN.blackbg{
padding:0.1em 0.25em 0.1em 0.3em;
right:0;
bottom:0;
background:rgba(22,22,14,0.4);	/* DarkGray 40% */
}



/*--------------------------------------------------------------------
左寄せ・右寄せ
---------------------------------------------------------------------*/
.text_alignleft{
text-align:left;
}
.text_aligncenter{
text-align:center;
}
.text_alignright{
text-align:right;
}
/*------ 縦書き -------*/
.tate{	
-ms-writing-mode: tb-rl;
writing-mode: vertical-rl;
text-orientation: upright;
}


/*------------------------------------------------
画像の左寄せ・右寄せ
------------------------------------------------*/
.aligncenter{
display: block;
margin-left: auto;
margin-right: auto;
}
.alignright{
float:right;
}
.alignleft{
float:left;
}
.clear{
clear:both;
}

@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	#content .alignleft,
	#content .alignright{
	margin-right:auto;
	margin-left:auto;
	display:block;
	float:none;
	}
}


/*--------------------------------------------------------------------
  フォントサイズ・色
---------------------------------------------------------------------*/

/*------------------------------------------------
   文字サイズ
------------------------------------------------*/
.extrasmall{
font-size:75.0%;	/* 12px */
}
.small{
font-size:87.5%;	/* 14px */
}
.large{
font-size:125.0%;	/* 20px */
}
.extralarge{
font-size:162.5%;	/* 26px */
}

.normal{
font-weight:normal;
}
.bold{
font-weight:bold;
}

SUP,SUB{
font-size:62.5%;	/* 10px */
}
RUBY.under{	/* ルビを下に配置 */
ruby-position: under;
}
RUBY RT{
font-size:60.0%;
}

.lh12{
line-height:1.2;
}
.lh15{
line-height:1.5;
}
.em5{
width:5.0em;
display:inline-block;
vertical-align:middle;
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.em5{
	width:auto;
	}
}


/*------------------------------------------------
   強調下線
------------------------------------------------*/
.borderbottom{
padding:0.1em;
border-bottom-width:1px;
border-bottom-style:solid;
}
.double{
border-bottom:4px double #F30;
}

.underline{
display:inline;
background: -prefix-linear-gradient(	/* Webkit系 */
bottom,
rgba(204,255,0,1),
rgba(204,255,0,1) 34%,
rgba(204,255,0,0) 35%),
url(img/spacer.gif);
background: linear-gradient(	/* 蛍光イエロー 12.1、IE 10、Fx 16 以降 */
to top,
rgba(204,255,0,1),
rgba(204,255,0,1) 34%,
rgba(204,255,0,0) 35%),
url(img/spacer.gif);
/ border-bottom:5px solid #CF0;	/* IE7対策 */
}
html.android .underline{
/* Android は下線 */
border-bottom:5px solid #CF0;
}

/*------------------------------------------------
   前後の斜め線
------------------------------------------------*/
.nanameline{
padding:0 1.0em 0.5em 1.0em;
line-height:1.2;
position:relative;
}
.nanameline::before,
.nanameline::after{
content:"";
border-top-style:solid;
border-top-width:1px;
width:2.0em;
height:1px;
display:block;
position:absolute;
bottom:0.5em;
}
.nanameline::before{
transform: rotate(45deg);
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-o-transform: rotate(45deg);
-ms-transform: rotate(45deg);
right:90%;
}
.nanameline::after{
transform: rotate(-45deg);
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
-o-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
left:90%;
}

/*------------------------------------------------
   前後の線
------------------------------------------------*/
.line::before,
.line::after{
margin:-0.2em 10px 0 10px;
content:"";
display:inline-block;
width:50px;
height:1px;
vertical-align:middle;
border-bottom-width:1px;
border-bottom-style:solid;
}

/*------------------------------------------------
   右側に横線
   <H4 class="flexbox center line_right"><SPAN class="text">テキスト</SPAN><SPAN class="blackbg"></SPAN></H4>
------------------------------------------------*/
.line_right.flexbox .text{
}
.line_right.flexbox .text+*{
margin-left:0.5em;
flex-grow: 1;
height:6px;
border-radius:0 3px 3px 0;
-webkit-border-radius:0 3px 3px 0;
-moz-border-radius:0 3px 3px 0;
}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.line::before,
	.line::after{
	width:10px;
	}
}

/*------------------------------------------------
   文字色
------------------------------------------------*/
.red{
color:#D3381C;	/* 緋色 */
}
.paleblue{
color:#D7EAF2;	/* ロゴ青0.3 */
}
.blue{
color:#5B9CBF;	/* ロゴ青1.4 見出し・太字 */
}
.darkblue{
color:#2F4F4F;	/* DarkSlateGray */
}
.navy,
.navy A{
color:#00608D;	/* Madonna blue */
}

.green-{
color:#008570;	/* エメラルドorg */
}
.green{
color:#006655;	/* AAA緑 */
}

.white A,
.white A:visited,
.white{
color:#FFF !important;
}
.beige A,
.beige{
color:#EEE7E0;	/* Ecru */
}
.gray,
.gray A{
color:#999 !important;
}

/*------------------------------------------------
   フォント
------------------------------------------------*/
.font_m{
font-family: 'Zen Old Mincho', serif;
}
.font_r{
font-family: 'Zen Maru Gothic', serif;
}


/*--------------------------------------------------------------------
  リストスタイル
---------------------------------------------------------------------*/
UL{
padding:0;
list-style:none;
}
LI{
}

ARTICLE UL{
margin:1.2em 0;
}
ARTICLE UL>LI{
line-height:1.3;
/*
text-align: left;
text-justify: none;
*/
}
ARTICLE LI LI{
margin-top:0.2em;
margin-bottom:0.2em;
}


/*------------------------------------------------
  ネスト時
------------------------------------------------*/
LI UL,
DD UL,
TD UL{
margin-top:0;
margin-bottom:0.3em;
}

/*------------------------------------------------
  箇条書きリスト
------------------------------------------------*/
UL.list>LI,
UL>LI.list{
margin:0.5em auto 0.5em 1.5em;
list-style-type: disc;
text-align:left;
}



/*------------------------------------------------
  横並びリスト
------------------------------------------------*/
UL.inline-block-li.list>LI{
margin-left:0;
}
UL.inline-block-li>LI{
margin-top:0.2em;
margin-bottom:0.2em;
padding:0 0.6em 0 0;
display:inline-block;
}
/*------ リンクボタンがある時 ------*/
UL.inline-block-li:has(>LI .link_large){
text-align:center !important;
}

UL.inline-block-li>LI:has(.link_large){
margin:0.5em auto;
padding:0 0.3em;
}
/*------ padding-left 0.3emを相殺する時 ------*/
UL.inline-block-li.marginleft-{
margin-left:-0.3em;
}
*:has(>UL.inline-block-li.marginleft-){	/* その親要素 */
overflow:hidden;
}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	UL.inline-block-li.marginleft-{
	margin-left:auto;
	}

	UL.inline-block-li.table:has(>LI .link_large),
	UL.inline-block-li>LI:has(.link_large){
	padding:0;
	display:block;
	}

}
UL.inline-block-li.list>LI{
padding-left:0.9em;
padding-right:0.6em;
display:inline-block;
text-indent:0.8em;
}
UL.inline-bloc-lik.list>LI *{
text-indent:0;
}

UL.inline-block-li.padding0{
padding-left:0.25em;
}

UL.inline-block-li.padding0>LI{
padding:0;
margin:0 0 0 -0.25em;
}



DL.list DT::before,
MAIN UL.inline-block-li.list>LI::before{
margin:-0.2em 0.4em auto -1.5em;
display:inline-block;
content:"";
border:1px solid #000;
background:#000;
border-radius:50%;
-webkit-border-radius:50%;
-moz-border-radius:50%;
width:4px;
height:4px;
vertical-align:middle;
}
DL.list DT::before{
margin:-0.2em 0.4em auto 0.1em;
}
DL.list DD{
margin-top:0.2em;
margin-left:0.8em;
}



/*------------------------------------------------
  番号付きリスト
------------------------------------------------*/
OL{
margin:1.2em 0;
}


/*------ ネスト時 ------*/
LI OL,
DD OL,
TD OL{
margin-top:0;
margin-bottom:0.3em;
}
OL>LI{
margin:0.5em auto 0.5em 2.0em;
list-style-type : decimal;
line-height:1.3;
}

/*------ 丸数字・両側に()カッコ ------*/
OL.maru>LI,
DL.kakko>DT,
OL.kakko>LI{
margin-left:-0.5em;
padding-left:3.5em;
text-indent: -3.5em;
list-style-type:none;
list-style-position:inside;
counter-increment: cnt;
}
OL.maru>LI{
padding-left:1.8em;
text-indent: -1.3em;
}
DL.kakko>DT:before,
OL.kakko>LI:before{
/* display: marker; */
display: inline-block;
content: "（" counter(cnt) "）";
width:3.5em;
text-indent:0;
text-align:right;
}
OL.maru>LI:before{
margin:-0.2em 0.2em 0 0;
padding:0.15em 0 0.05em 0;
display: marker;
content: counter(cnt);
width:1.2em;
line-height:1.0em;
letter-spacing:0;
text-align:center;
display:inline-block;
text-indent:0;
font-size:87.5%;
border-radius:50%;
-webkit-border-radius:50%;
-moz-border-radius:50%;
border:1px solid #000;
vertical-align:middle;
}

OL.kakko>LI>UL{
margin-left:-1.0em;
}

/*------ カウンターリセット 1から再付番 ------*/
.number-reset {
counter-reset: cnt;
}

/*------ カウンターリセット 3番から付番 ------*/
.number-reset3 {
counter-reset: cnt 2;
}




/*------------------------------------------------
  説明付きリスト
------------------------------------------------*/
DL{
margin:1.2em 0;
padding:0;
}
LI>DL{	/* ネストする時は上余白を少な目に */
margin-top:0.6em;
}
DT,
DD{
margin:0;
padding:0;
}
DT+DT,
DD+DT{	/* 2番目以降のタイトル行だけ上余白を設ける */
margin-top:1.5em;
}

LI>DL DT+DT,
LI>DL DD+DT{	/* ネストする時は上余白を少な目に */
margin-top:1em;
}




/*------------------------------------------------
  注釈 ※ リスト
------------------------------------------------*/
DIV.scroll_table_box+UL.kome{
margin-top:0;
}

P+UL.kome{
margin-top:-1.0em;
}

.check>P+UL.kome,
.item>P+UL.kome{
margin-top:0.5em;
}


UL.kome>LI,
LI.kome{
margin:0.3em auto;
padding-left:1.2em !important;
text-indent:-1.2em !important;
text-align:left;
}
UL.kome>LI *,
LI.kome *{
text-indent:0;
}
DD UL.kome,
LI UL.kome{
margin-left:-0.65em;
margin-left:-0.2em;
}
UL.kome>LI>SPAN:first-child,
LI.kome>SPAN:first-child{
margin-right:0.2em;
display:inline-block;
text-indent:0;
}
UL.kome>LI>SPAN:first-child,
LI.kome>SPAN:first-child{
color:#D3381C;	/* 緋色 */
}

UL.list>LI.kome{
margin:0.3em auto 0.3em 0;
list-style-type: none;
}



/*------------------------------------------------
  PDF・Word・Excelリスト
------------------------------------------------*/
/*------ 共通 ------*/
UL.pdf LI,
UL.word LI,
UL.excel LI,
LI.pdf,
LI.word,
LI.excel{
margin:0;
padding:0.4em 0 0.4em 40px;
background-repeat:no-repeat;
background-position:0 0.1em;
list-style:none;
min-height:36px;
text-align:left;
}
UL.list>LI.pdf,
UL.list>LI.word,
UL.list>LI.excel{
margin:0;
list-style-type: none;
}


/*------ PDFリスト ------*/
.download_item A.pdf,
UL.pdf LI,
LI.pdf{
background-image:url(img/pdf.png);
}

/*------ Wordリスト ------*/
.download_item A.word,
UL.word LI,
LI.word{
background-image:url(img/word.png);
}

/*------ Excelリスト ------*/
.download_item A.excel,
UL.excel LI,
LI.excel{
background-image:url(img/excel.png);
}


/*------ PDFリスト（小） ------*/
A.pdf_s,
UL.pdf_s>LI,
LI.pdf_s{
padding-left:20px;
list-style:none;
background-image:url(img/pdf.png);
background-repeat:no-repeat;
background-position:0 0.2em;
background-size:16px 16px;
-webkit-background-size:16px 16px;
-moz-background-size:16px 16px;
-o-background-size:16px 16px;
-ms-background-size:16px 16px;
}
A.pdf_s{
display:inline-block;
}



/*--------------------------------------------------------------------
  表
---------------------------------------------------------------------*/
TABLE{
margin-top:1.5em;
margin-bottom:1.5em;
font-size:100%;
line-height:1.3;
}

TH{
text-align:center;
font-size:100%;
}
TD{
font-size:100%;
background:url(img/spacer.gif) no-repeat;	/* Android4.0対策 */
}
TH>*,
TD>*{
margin-top:0;
margin-bottom:0;
}
TH>*~*,
TD>*~*{
margin-top:5px;
}

/*------------------------------------------------
  罫線を表示するタイプの表
------------------------------------------------*/
TABLE.data_table{
border-collapse:collapse;
border-top:2px solid #80989B;	/* 湊鼠 */
border-bottom:2px solid #80989B;	/* 湊鼠 */
line-height:1.2;
}
TABLE.data_table CAPTION{
padding:0.25em 0;
text-align:right;
}
.data_table TH{
border-top:1px solid #80989B;	/* 湊鼠 */
text-align:center;
font-weight:normal;
}
TABLE.data_table THEAD TH{
padding:0.5em 0.75em;
background:#CEE8DA;	/* #BEE0CE 75% Opal green */
}
TABLE.data_table:has( TBODY TH ) THEAD TH:first-child{
background:#BEE0CE;	/* Opal green */
}


TABLE.data_table THEAD TR TH:nth-child(1){
}
TABLE.data_table TBODY TH{
padding:0.75em;
background:#DEEFE6;	/* #BEE0CE 50% Opal green */
}
TABLE.data_table THEAD TH.th2{
border-right:1px solid #80989B;	/* 湊鼠 */
}
TABLE.data_table TBODY TH.th2{
background:#EFF7F3;	/* #BEE0CE 25% Opal green */

}

TABLE.data_table TD{
padding:0.75em;
border-top:1px solid #80989B;	/* 湊鼠 */
}
TABLE.data_table THEAD TR TH+TH,
TABLE.data_table TBODY TD+TD{
}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.data_table TBODY TH,
	.data_table TD{
	padding:0.5em 0.2em;
	}
}

/*------------------------------------------------
  スマホ表示時にセルをスライドさせるタイプの表
------------------------------------------------*/
TABLE.float_table{
}

@media only screen and (min-width:541px) and (max-width:768px) {
	TABLE.float_table{
	width:100%;
	}
}
.float_table TH{
}
.float_table TD{
}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	TABLE.data_table.float_table{
	border-top:1px solid #80989B;	/* 湊鼠 */
	border-right:none;
	line-height:1.2;
	}
	.data_table.float_table TH,
	.data_table.float_table TD{
	float:left;
	width:100%;
	}
	.data_table.float_table TH{
	padding:0.3em 2.0vw;
	border-top:1px solid #666;
	}
	.data_table.float_table TD{
	padding:0.5em 2.0vw 1.0em 2.0vw;
	border:none !important;
	}
}


/*------------------------------------------------
  横長の表にスクロールバー設置
------------------------------------------------*/
/*------ scrollmessage表示の親要素（基点） ------*/
.scroll_table_box{
margin-top:1.0em;
position:relative;
z-index:1;
}



/*------ 横スクロールさせる表の親要素 ------*/
.scroll_table{
overflow-x:auto;
position:relative;
}

/*------ 横スクロールバーの装飾 ------*/
.scroll_table::-webkit-scrollbar{
width: 1.0em;
height:1.0em;
}
.scroll_table::-webkit-scrollbar-track{
background:#F5F5F5;
border: solid 0.3em #FFF;
border-radius: 10px;
}
.scroll_table::-webkit-scrollbar-thumb{
background: #CCC;
border-radius: 10px;
box-shadow: inset 0 0 0 2px #CCC;
}



.scroll_table_box TABLE{
margin-top:0;
width:100%;
}

@media only screen and (max-width:769px) {	/* スマホ横以下用 */
	.scroll_table_box TABLE{
/*	min-width:722px; */
	min-width:900px;
	}
}


/*-----------------------------------------------
  スワイプメッセージ
------------------------------------------------*/
/*------ ボックス全体 ------*/
.scrollmessage {
padding:1em 0;
position:absolute;
top:0;
left:0;
line-height:1.2;
width:100%;
z-index:2;
color:#FFF;
background:rgba(0,82,67,0.9);	/* 鉄色 */
cursor: pointer;
text-align:center;
display:none;
}
/*------ アイコンを大きく ------*/
.scrollmessage .fa-solid{
margin:0.2em;
font-size:200%;
}

/*------ ブラウザ幅769px以下でスクロールメッセージ表示 ------*/
@media only screen and (max-width:769px) {
	.scrollmessage{
	display:block;
	}
}


/*------ ブラウザ幅900px＝表幅858px以下でスクロールメッセージ表示 ------*/
@media only screen and (max-width:900px) {
	[id^="fee"] .scroll_table_box.wide .scrollmessage{
	display:block;
	}
}


/*------------------------------------------------
  テーブルレイアウト
------------------------------------------------*/
DIV.island,
TABLE.island,
UL.island,
OL.island,
DL.island{
margin-right:auto !important;	/* インデントリセット */
margin-left:auto !important;	/* インデントリセット */
display: table;
}

@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	DIV.island,
	TABLE.island,
	UL.island,
	OL.island,
	DL.island{
	margin-right:0 !important;
	margin-left:0 !important;
	}
}




/*--------------------------------------------------------------------
  「トップページ」固有の設定
---------------------------------------------------------------------*/
/*------------------------------------------------
  トップページ メインビジュアル欄
------------------------------------------------*/
#mainvisual{
background-image:url(img/mainvisual.webp);
aspect-ratio: 4 / 3;
text-shadow: 0 0 0.5em #000;
font-weight:500;
}
#mainvisual .filter{
background-color:rgba(0,0,0,0.1);
}
#mainvisual .copy{
padding:0 2vw;
top : -webkit-calc( (100% - 250px) / 3 );
top : calc( (100% - 250px) / 3 );
z-index:2;
width:100%;
display:block;
}
#mainvisual .copy>SPAN{
padding:0.5em 0;
display:block;
}

#mainvisual .copy .extralarge{
font-size:250.0%;	/* 40px */
}

@media only screen and (min-width:769px) and (max-width:900px) {	/* 幅の狭いPC用 */
	#mainvisual .copy{
	font-size:min(2.8vw,100.0%);	/* 16px */
	}
}

@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	#mainvisual{
	aspect-ratio: auto;
	}
	#mainvisual .copy{
	position:relative;
	top:0;
	left:0;
	transform : translateX(0);
	text-align:left;
	font-size:87.5%;	/* 14px */
	}
	#mainvisual .copy .extralarge{
	font-size:min(6.0vw,250.0%);	/* 40px */
	}

}
@media only screen and (min-width:541px) and (max-width:768px) {	/* スマホ横用 */
	#mainvisual{
	padding:30vw 0 5vw 0;
	}
}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	#mainvisual{
	padding:0;
	background-position:center top;
	background-size:100% auto;
	-webkit-background-size:100% auto;
	-moz-background-size:100% auto;
	-o-background-size:100% auto;
	-ms-background-size:100% auto;
	}
	#mainvisual .copy{
	padding:50vw 0 0 0;
	}
	#mainvisual .copy>SPAN.extralarge{
	padding:2vw 2vw 2vw 2vw;
	background:rgba(0,51,51,0.6);
	}
	#mainvisual .copy>SPAN.text{
	padding:1.5em 4vw;
	background:#033;
	}
	#mainvisual .filter{
	display:none;
	}

}

/*------------------------------------------------
  トップページ スライド欄
------------------------------------------------*/
#mainvisual,
#slide_box{
position: relative;
background-color:#000;
z-index:1;
}

/*------スライド本体 ------*/
UL.slide{
margin:0;
width:100%;
background:#000;
}

.slide LI{
color:#FFF;
background:#000;
text-align:center ;
width:100%;
position:relative;
background-repeat:no-repeat;
background-position:center;
background-size:cover;
-webkit-background-size:cover;
-moz-background-size:cover;
-o-background-size:cover;
-ms-background-size:cover;
text-shadow: 0 0 0.5em #000;
}
.slide LI>IMG{
width: 100%;
height:auto;
position:relative;
z-index:1;
vertical-align:top;
display:block;
}



/* 初期値は中・中 */
.slide LI H2{
font-weight:700;
font-size:187.5%;	/* 30px */
white-space:nowrap;
position:absolute;
transform:translate(-50%,-50%);
left:50%;
top:50%;
z-index:2;
}

/*--------------------
位置指定なし は 中中

位置指定の組み合わせ
左上 left top
左中 left middle
左下 left bottom

右上 right top
右中 right middle
右下 right bottom
----------------------*/
.slide LI H2.centertop{
transform:translate(-50%,0);
top:10%;
left:50%;
}
.slide LI H2.centerbottom{
transform:translate(-50%,0);
top:auto;
bottom:20%;
left:50%;
}


/* 左・中・右 */
.slide LI H2.left{
transform:translateY(0);
left:3%;
}
.slide LI H2.center{
transform:translateX(-50%);
left:50%;
}
.slide LI H2.right{
transform:translateY(0);
left:auto;
right:3%;
}
/* 上・中・下 */
.slide LI H2.top{
transform:translateX(0);
top:10%;
}
.slide LI H2.middle{
transform:translateY(-50%);
top:50%;
}
.slide LI H2.bottom{
transform:translateX(0);
top:auto;
bottom:20%;
}


.slide LI H2 A{
color:#FFF;
display:block;
word-break: normal;
}
.slide LI H2 A:hover{
}
/*------ 文字サイズ ------*/
.slide LI H2 SPAN.large,
.slide LI H2 SPAN.extralarge{
margin:0.5em auto 0 auto;
display:block;
}
.slide LI H2 SPAN.small{
font-size:80.0%;
}


/*------ 2枚目以降のスライドが見えてしまう対策 ------*/
UL.slide LI>IMG,
UL.slide LI H2{
display:none;
}
.bx-viewport UL.slide LI>IMG,
.bx-viewport UL.slide LI H2{
display: block;
}
@media only screen and (max-width:768px) {	/* スマホ横以下用 */
}
@media only screen and (min-width:541px) and (max-width:768px) {	/* スマホ横用 */
	.slide LI H2{
	font-size:162.5%;	/* 26px */
	}
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.slide LI H2{
	padding:0.5em;
	transform:translate(0,0) !important;
	background:rgba(0,0,0,0.3);
	left:0 !important;
	right:0 !important;
	bottom:0 !important;
	top:auto !important;
	font-size:4.75vw;
	letter-spacing:1px;
	}
}


/*-----------------------------------------------
  トップページ「PR欄」
------------------------------------------------*/
.top_pr{
margin:0;
position:relative;
}


/*------ 各パーツ ------*/
.top_pr>*{
margin-right:auto;
margin-left:auto;
text-align: center;
width : -webkit-calc(100% - 50px) ;
width : calc(100% - 50px);
max-width:1150px;
}
.top_pr H3{
margin-bottom:2.0em;
font-size:100.0%;	/* 16px */
font-weight:500;
color:#000;
}
.top_pr .white H3{
color:#FFF;
}
H3 .eng{
margin-bottom:0.2em;
display:block;
font-size:min(12.0vw,300.0%);	/* 48px */
letter-spacing:0.1em;
font-weight:700;
}
.top_pr H3 A{
position:absolute;
right:0;
bottom:-0.75em;
}

.top_pr .item{
max-width:1150px;
}

.top_pr .item{
padding:0;
}
.top_pr .item LI{
padding:0;
text-align:center;
}



@media only screen and (max-width:540px) {	/* スマホ縦用 */
	H3.longname .eng{
	font-size:250.0%;	/* 40px */
	}
	.top_pr P:not:has([class^="link_"]){
	text-align:left;
	}
	.top_pr.lv1{
	padding-top:3.0em;
	padding-bottom:3.0em;
	}

}
@media only screen and (max-width:320px) {	/* スマホS縦用 */
	.top_pr H3.longname .eng{
	font-size:12.0vw;
	}
}

/*-----------------------------------------------
  トップページクイックアクセス欄 .flexbox
------------------------------------------------*/
#top_guide{
margin:-25vw auto auto auto;
padding:20px;
z-index:10;
background:rgba(0,101,85,0.95) url(img/top_guide_bg01.webp) center bottom no-repeat;	/* AAA緑 */
background-size:cover;
background-size:100% auto;
-webkit-background-size:100% auto;
-moz-background-size:100% auto;
-o-background-size:100% auto;
-ms-background-size:100% auto;
width : -webkit-calc(100% - 50px) ;
width : calc(100% - 50px);
max-width:1150px;
}
#top_guide>HEADER{
width:25%;
min-width:15em;
vertical-align:top;
z-index:3;
}

#top_guide .linkmenu{
margin-bottom:1.0em;
}
#top_guide .linkmenu LI{
padding:0.5em;
}
#top_guide .linkmenu LI A{
min-width:12.0em;
border:1px solid #FFF;
}

#top_guide>UL{
margin:0;
padding:0 1.5em;
color:#000;
flex:1;
z-index:3;
}
#top_guide>UL>LI{
padding:1.0em 0;
}
#top_guide H3{
padding-top:1.0em;
}
#top_guide>SPAN#mt_fuji{	/* 富士山 */
bottom:0;
left:2.5em;
background-image:url(img/top_guide_bg02.webp);
-webkit-background-size:cover;
-moz-background-size:cover;
-o-background-size:cover;
-ms-background-size:cover;
width:40%;
aspect-ratio: 3 / 2;
}


@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	#top_guide .linkmenu LI{
	display:inline-block;
	}

}

@media only screen and (min-width:769px) {	/* PC用 */
	#top_guide>SPAN#mt_fuji{	/* 富士山 */
	max-width:420px;	/* (height:280px;) */
	}
}
@media only screen and (min-width:769px) and (max-width:980px) ,
 screen and (max-width:540px){	/* 幅の狭いPC用 */
	#top_guide>UL.item.part3.margin>*{
	margin-top:1.5em;
	width : -webkit-calc( (100% - 3.0vw) / 2 );
	width : calc( (100% - 3.0vw) / 2 );
	}
}
@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	#top_guide{
	margin-top:0;
	padding-bottom:22vw;
	width:100%;
	border-radius:0;
	-webkit-border-radius:0;
	-moz-border-radius:0;
	}
	#top_guide.layoutbox>SPAN#mt_fuji{	/* 富士山 */
	width:30vw !important;
	left:0;
	}
}


@media only screen and (min-width:541px) and (max-width:768px) {	/* スマホ横用 */
	#top_guide>UL.item.part3.margin>*{
	margin-top:1.5em;
	width : -webkit-calc( (100% - 3.0em) / 3 );
	width : calc( (100% - 3.0em) / 3 );
	font-size:min(2.5vw,100.0%);	/* 16px */
	}
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	#top_guide>UL{
	padding:0 3.0vw 1.0em 3.0vw;
	}
	#top_guide>UL.item.part3.margin>*{
	font-size:min(3.5vw,100.0%);	/* 16px */
	}
}



/*-----------------------------------------------
  トップページお知らせ欄 ワイドタイプ
------------------------------------------------*/
#news{
}
#news SPAN.absolute{	/* 左側の背景（濃緑） */
top:50px;
left:0;
width:50%;
height : -webkit-calc(100% - 100px);
height : calc(100% - 100px);
border-radius:0 0.5em 0.5em 0;
-webkit-border-radius:0 0.5em 0.5em 0;
-moz-border-radius:0 0.5em 0.5em 0;
display:block;
}
#news .inner{
z-index:1;
}
#news HEADER{
padding:2.0em 5.0em 3.0em 0;
width:40%;
min-width:15em;
z-index:2;
}
#news #news_box{
margin-left:-10%;
padding:20px;
flex:1;
background:#DEEFE6;	/* #BEE0CE 50% Opal green */
z-index:3;
}
#news ARTICLE{
padding:1.0em;
text-align:left;
line-height:1.3;
background:#FFF;
}
#news ARTICLE+ARTICLE{
margin-top:3px;
}

#news ARTICLE>*{
}

#news ARTICLE A:hover{
color:#006655;	/* AAA緑 */
}

/*------ 日付欄 ------*/
#news .date{
margin-left:1.5em;
padding:0.4em 0 0 0.8em;
text-align:left;
font-size:93.75%;	/* 15px */
position:relative;
width:7.0em;
}
/*------ NEW！表示 日付欄内に記述 ------*/
#news .new{
display:inline-block;
font-size:64.3%;	/* 9px */
line-height:1.2;
white-space:nowrap;
color:#AA242B;	/* AAA赤 */
position:absolute;
right:100%;
top:0.95em;
font-weight:900;
letter-spacing:0;
}

/*------ Topicsカテゴリー ------
	class="category info"
	class="category event"
	class="category culture"
	class="category important"
--------------------------------*/
#news .category{
margin:0.5em 1.5em 0.1em 1.0em;
padding:0.15em 0 0 0;
display:inline-block;
width:5.5em;
font-size:75.0%;	/* 12px */
text-align:center;
color:#FFF;
background:#006655;	/* AAA緑 */
}

#news .category.culture{
color:#000;
background:#D0AF4C; /* 芥子色 */
letter-spacing:0;
}
#news .category.important{
background-color:#900;
}

/*------ Topics本文欄 ------*/
#news .contents{
margin:0;
padding:0.3em 0 0.2em 0;
font-weight:400;
flex:1;
font-size:100.0%;	/* 16px */
}

#news .sns_link{
margin-left:0;
padding-right:5.0em;
z-index:4;
width:40%;
}


@media only screen and (max-width:980px) {	/* 幅の狭いPC以下用 */

	#news .date{
	margin-left:0;
	padding-left:0;
	width:6.2em;
	}
	#news .new{
	left:0;
	right:auto;
	top:-0.8em;
	}
	#news .contents{
	margin-top:0.3em;
	width:100%;
	flex: auto;
	}

}

@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	#news{
	padding:0;
	background:#006655;	/* AAA緑 */
	}
	#news SPAN.absolute{	/* 左側の背景（濃緑） */
	display:none;
	}

	#news .inner{
	padding:0;
	width:100%;
	}

	#news HEADER{
	padding:5.0em 15px 1.0em 15px;
	width:100%;
	}
	#news .layoutbox>*+#news_box{
	margin-top:0;
	margin-left:0;
	padding:3vw;
	flex:auto;
	width:100%;
	border-radius:0;
	-webkit-border-radius:0;
	-moz-border-radius:0;
	background:#00A381;	/* 花緑青 */
	}

	#news .sns_link{
	padding:2.0em 15px;
	width:100%;
	}


}

#news H4+*{
margin:0.3em auto 0 auto;
}
#news H4+*~*{
margin-top:1em;
}
#news H4 A:hover{
}
#news>P{
margin-top:3.0em;
}
UL.inline-block-li.sns_link>LI,
.footer_information .sns_link LI{
padding-right:0.6em;
padding-left:0.6em;
vertical-align:middle;
}
.sns_link.icon.display_ib [class^="fa"]{
margin-right:0 !important;
}
.sns_link A>SPAN{
overflow: hidden;	/* -9999 */
text-indent: 100%;	/* -9999 */
white-space: nowrap;	/* -9999 */
display:block;
width:1px;
height:0;
}


@media only screen and (max-width:768px) {	/* スマホ横以下用 */

	#news ARTICLE>:not(.date):not(#news .category){
	float:none;
	clear:both;
	width:100%;
	}
	#news .date{
	padding:0.4em 1.0em 0.3em 0;
	width:auto;
	}
	#news .new{
	left:0;
	top:-1.0em;
	}
}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	#news>DIV{
	padding:0.5em 0.5em;
	}
	#news ARTICLE{
	padding:1.0em 0.5em;
	}

	#news .sns_link LI:first-child{
a	display:block;
a	margin-bottom:1.0em;
	}

}


/*-----------------------------------------------
  #site_information
  トップページお知らせ欄内 緊急or重大告知エリア
------------------------------------------------*/
[id^="site_information"]{
padding:3.0em 0;
text-align:center;
}
[id^="site_information"]>*{
margin-right:auto;
margin-left:auto;
width : -webkit-calc(100% - 50px) ;
width : calc(100% - 50px);
max-width:1150px;
}
[id^="site_information"] .banner>LI{
margin:1.5em auto;
max-width:900px;
}
[id^="site_information"] .banner>LI>A{
padding:1.5em 0;
border-width:1px;
border-style:solid;
width:100%;
}
[id^="site_information"] .banner>LI>A>SPAN{
margin:0 auto;
padding:0.5em 0.2em;
display:table;
font-size:125.0%;	/* 20px */
font-weight:700;
line-height:1.2;
}
[id^="site_information"] .banner>LI>A>SPAN.pdf{
padding-left:50px;
background:url(img/pdf.png) no-repeat 0.2em 0.3em;
}
[id^="site_information"]>P{
text-align:left;
display:table;
width:auto;
}



@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	[id^="site_information"] .banner{
	min-width:initial;
	}
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	[id^="site_information"] .banner>LI>A{
	padding:0.25em 0;
	text-align:left;
	}
	[id^="site_information"] .banner>LI>A>SPAN.pdf{
	padding-left:43px;
	}
}


/*------------------------------------------------
  トップページ イベント欄
  イベントスケジュール共通
------------------------------------------------*/
#event .bx-wrapper{
opacity:1.0;	/* effect-fade除外 */
}
#home #event .bx-wrapper{
max-width:1000px !important;
}
#home #event .bx-viewport{
height:auto !important;
}


#home #event #event_item{
margin:3.0em auto;
/* max-width:1150px; カルーセル時は不要 */
}
#event #event_item ARTICLE{
padding:0 0 2.5em 0;	/* 下部に詳細リンクスペース */
position:relative;
text-align:left;
transition: opacity 0.5s ease;
-webkit-transition: opacity 0.5s ease;
-moz-transition: opacity 0.5s ease;
-o-transition: opacity 0.5s ease;
}
#event #event_item ARTICLE>*,
#event #event_item ARTICLE LI:not(.status){
opacity:1.0 !important;	/* effect-fade除外 */
}


/*------ イベントNEW ----------

  <ARTICLE><SPAN>NEW</SPAN>

-------------------------------*/
#event #event_item ARTICLE>SPAN{
padding:0 0.5em;
position:absolute;
bottom:100%;
left:0;
color:#AA242B;	/* AAA赤 */
font-weight:900;
z-index:10;
font-size:75.0%;	/* 12px */
}



/*------ イベントジャンルカテゴリー ------*/
#event UL.type{
margin:0;
position:relative;
}
#event .type>LI{
line-height:1.2;
}
#event .category{
margin-top:5px;
padding:0.2em 0.5em 0 0.5em;
display:inline-block;
font-size:87.5%;	/* 14px */
border:1px solid #000;
}
#event .status{
padding:2px 0.25em;
text-align:center;
position:absolute;
top:1px;
right:1px;
font-weight:700;
opacity:0.9;
color:#FFF;
}

/*------------------------------------------------
 イベント詳細ページH3
    <H3 class="type eXXX now">	← now
      <SPAN class="status">発売中</SPAN>
      イベントタイトル文字列
    </H3>
-------------------------------------------------*/
#event #events .status{
margin-bottom:0.3em;
position:static;
display:table;
font-size:83.3%;	/* 20px */
}


/*------ 受付中 ! or 好評発売中 ! .now ------*/
#event .type.now .status{
background:#AA242B;	/* AAA赤 */
border:1px solid #FFF;
}

/*------ もうすぐ受付 .soon ------*/
#event .type.soon .status{
background-color:#006655;	/* AAA緑 */
border:1px solid #FFF;
}

/*------ 満員御礼 .close ------*/
#event .type.close .status{
background:#333;
border:1px solid #FFF;
}
/*------ 中止 ! .cancel ------*/
#event .type.cancel .status{
background:#FFF;
color:#AA242B;	/* AAA赤 */
border:1px solid #AA242B;
}
#event .type.cancel .imagebox{
background:#000;
}
#event .type.cancel .imagebox>IMG{
opacity:0.5;
}

/*------ 取り消し線 ------*/
.fin{
display:inline-block;
text-decoration: line-through #C00 double;
color:#999;
}
.fin A{
color:#999 !important;
pointer-events: none;	/* リンクしない */
}



/*------ イベント画像 横600:縦848 ------*/
.imagebox{
position:relative;
background:#F5F5F5;
}

.imagebox IMG{
width:100%;
height: auto;
aspect-ratio: 75 / 106;	/* 600×848 */
/* object-fit: cover;  フィットさせる */
object-fit: contain; /* 余白を設ける */
display:block;
}

/*------ イベント画像が無い時（PickUp、詳細ポスター共通） ------*/
.imagebox.noimage{
background:#D4DCD3;	/* china clay */
aspect-ratio: 75 / 106;	/* 600×848 */
}
.imagebox.noimage SPAN{
/* <SPAN>画像準備中</SPAN>
   <SPAN>Now Printing</SPAN>
   <SPAN>NO IMAGE</SPAN>など
 */
padding:4.0em 0;
display:block;
position:absolute;
transform:translate(-50%,-50%);
top:50%;
left:50%;
color:#666;
font-weight:bold;
font-size:125.0%;	/* 20px */
text-align:center;
white-space:nowrap;
}

/*------ イベントタイトル ------*/
#event #event_item ARTICLE H4{
margin:0;
padding:0.5em 0 1.0em 0;
font-size:100.0%;	/* 16px */
color:#000;
font-weight:400;
}


/*------ 詳細リンク ------*/
#event #event_item ARTICLE .morelink{
position:absolute;
width:100%;
height:100%;
top:0;
bottom:0;
left:0;
right:0;
display:block;
background:rgba(255,255,255,0.0);
z-index:2;
transition: background 0.5s ease;
-webkit-transition: background 0.5s ease;
-moz-transition: background 0.5s ease;
-o-transition: background 0.5s ease;
}
#event #event_item ARTICLE .morelink:hover{
background:rgba(255,255,255,0.5);
}

#event #event_item ARTICLE .morelink SPAN{
text-align:right;
position:absolute;
right:0;
bottom:0.4em;
display:none;
}


#event .content.text P+UL.kome{
margin-top:-1.5em;
}

#home #event #event_menu{
margin-top:10.0em;
}

@media only screen and (min-width:541px) {	/* PC用 */
	#home #event .link_large{
	width:15.0em;
	}
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	#home #event #event_menu{
	margin-top:6.0em;
	}
	#event .imagebox IMG{
	aspect-ratio: auto;
	}
	#event .imagebox.noimage{
	aspect-ratio: 3 / 2;
	}

}

/*------ アーカイブ ------*/
#event.archives #event_item .flexbox ARTICLE{
margin-left:1.5em;
}
@media only screen and (min-width:901px) {	/* 幅の広いPC以上用 */
	#event.archives #event_item .flexbox ARTICLE:nth-child(4n+1){
	margin-left:0;
	}
}
@media only screen and (min-width:769px) and (max-width:900px) {	/* 幅の狭いPC用 */
	#event.archives #event_item .flexbox ARTICLE:nth-child(3n+1){
	margin-left:0;
	}
}
@media only screen and (min-width:541px) and (max-width:768px) {	/* スマホ横用 */
	#event.archives #event_item .flexbox ARTICLE:nth-child(2n+1){
	margin-left:0;
	}
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	#event.archives #event_item .flexbox ARTICLE{
	margin-left:0;
	}

}

/*-----------------------------------------------
  トップページアクセス欄
------------------------------------------------*/
#top_access{
padding-top:25vw;
background-color:#006655;	/* AAA緑 */
background-image:url(img/image00_bg.webp);
background-position:center top;
-webkit-background-size:100% auto;
-moz-background-size:100% auto;
-o-background-size:100% auto;
-ms-background-size:100% auto;

}
#top_access .inner{
padding:20px;
}

#top_access .inner>*{
}
#top_access ARTICLE{
}
#top_access H4{
margin:1.0em auto 0 auto;
font-size:112.5%;	/* 18px */
}
#top_access H4+.text{
margin:0 auto;
padding-left:3.5em;
}
#top_access H4+.text>*:first-child{
margin-top:0.5em;
}
#top_access P:has(.link_middle){
margin-top:2.5em;
}
@media only screen and (min-width:769px) {	/* PC用 */
	#top_access{
	}
	#top_access .inner{	/* GoogleMapを左に配置 */
	flex-direction: row-reverse;
	}
}
@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	#top_access{
	}
	#top_access .layoutbox>*+.googlemap{
	height:60vw;
	}
	#top_access H4{
	display:table;
	}
	#top_access H4+.text{
	padding-left:0;
	display:table;
	}
	#top_access P:has(.link_middle){
	margin-top:1.0em;
	}
}

/*------ 富士山ライブカメラ ------*/
.top_pr>#live_fuji{
width:auto !important;
z-index:3;
right:10px;
top:10px;
line-height:1.1;
}
#live_fuji A{
border:1px solid #FFF;
white-space: nowrap;
}
.top_pr>#live_fuji A.link_large>SPAN.tablet_sp{
display:none;
}

@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	.top_pr>#live_fuji{	/* 富士山ライブカメラ */
	right:0;
	border-radius:0.5em 0 0 0.5em;
	-webkit-border-radius:0.5em 0 0 0.5em;
	-mozborder-radius:0.5em 0 0 0.5em;
	}
	.top_pr>#live_fuji A.link_large{	/* 富士山ライブカメラ */
	padding:0.5em;
	border-radius:0.5em 0 0 0.5em;
	-webkit-border-radius:0.5em 0 0 0.5em;
	-mozborder-radius:0.5em 0 0 0.5em;
	min-width:initial;
	}
	.top_pr>#live_fuji A.link_large>I.fa-video{
	margin:auto 0.2em auto auto;
	display:inline-block !important;
	}
	.top_pr>#live_fuji A.link_large>I.fa-arrow-up-right-from-square{
	display:none !important;
	}
}


/*------------------------------------------------
  フッター リンクバナー欄（トップページのみ）
------------------------------------------------*/
#footer_banner{
padding:3.0em 10px;
}
#footer_banner LI{
margin:0.5em 0.25em;
padding:0;
display:inline-block;
vertical-align:middle;
background:#FFF;
}
#footer_banner A{
display:block;
transition: opacity 0.5s ease;
-webkit-transition: opacity 0.5s ease;
-moz-transition: opacity 0.5s ease;
-o-transition: opacity 0.5s ease;
}
#footer_banner A:hover{
opacity:0.7;
}
#footer_banner IMG{
margin:auto;
display:block;
}



/*--------------------------------------------------------------------
  「イベント」固有の設定
---------------------------------------------------------------------*/
/*------ タブ切り替え全体のスタイル ------*/
.tabs.content{
}

/*------ タブのスタイル ------*/
.tab_item{
padding:0.8em 0;
width: 33%;
display: block;
float: left;
text-align: center;
transition: all 0.5s ease;
-webkit-transition: all 0.5s ease;
-moz-transition: all 0.5s ease;
-o-transition: all 0.5s ease;
line-height:1.2;
border-top:1px solid #CCC;
border-right:1px solid #CCC;
border-bottom:3px solid #006655;	/* AAA緑 */
border-left:1px solid #CCC;
}
#month0+.tab_item{	/* 今月 */
border-radius:0.5em 0 0 0;
-webkit-border-radius:0.5em 0 0 0;
-moz-border-radius:0.5em 0 0 0;
}
#month1+.tab_item{	/* 翌月 */
border-right:none;
border-left:none;
}
#month2+.tab_item{	/* 翌々月 */
border-radius:0 0.5em 0 0;
-webkit-border-radius:0 0.5em 0 0;
-moz-border-radius:0 0.5em 0 0;
}
.lineup01,
.lineup02{
font-size:112.5%;	/* 18px */
}

/*------ ラジオボタンを全て消す ------*/
input[name="tab"] {
  display: none;
}


/*------ 選択されているタブのコンテンツのみを表示 ------*/
#month0:checked ~ #month0_item,	/* 今月 */
#month1:checked ~ #month1_item,	/* 来月 */
#month2:checked ~ #month2_item{	/* 再来月 */
display: block;
}
/*------ 選択されていないタブ ------*/
.tabs input:not(:checked) + .tab_item:hover{
background:#DEEFE6;	/* #BEE0CE 50% Opal green */
}
.tabs input:not(:checked) + .tab_item {
background-color:#EEEAEC;	/* Silver pink */
cursor:pointer;
}

/*------ 選択されているタブのスタイルを変える ------*/
.tabs input:checked + .tab_item {
background:#006655;	/* AAA緑 */
color:#FFF;
border-color:#006655;	/* AAA緑 */
}

/*------ タブ切り替えの中身のスタイル ------*/
.tab_content {
display: none;
clear: both;
overflow: hidden;
}
.tab_content:has(.event_headline){	/* イベント表がある場合は下部に下線 */
border-bottom:2px solid #80989B;	/* 湊鼠 */
}

.tabs.content .text{
margin-right:0;
}
.tab_content H3{
padding:1.5em 0;
}
/*------ イベントが無い時 

      <DIV class="tab_content" id="monthX_item">
        <H3>20XX年XX月</H3>
        <!-- 準備中のSECTIONここから -->
        <SECTION class="content">
          <P class="underconstruction">今後追加予定</P>
        </SECTION>
        <!-- 準備中のSECTIONここまで -->
      </DIV>

------*/
.tab_content>SECTION{
padding:0;
}
.tab_content .underconstruction{
padding:120px 25px 0 25px;
background-position:center top;
}

/*------------------------------------------------
  上部の見出し ワイドPCのみ
------------------------------------------------*/
.event_headline{
display:none;
}
@media only screen and (min-width:981px) {	/* PC用 */
	.event_headline{
	margin:0 auto;
	padding:0;
	display:table;
	width:100%;
	border-top:2px solid #80989B;	/* 湊鼠 */
	border-bottom:1px solid #80989B;	/* 湊鼠 */
	background:#CEE8DA;	/* #BEE0CE 75% Opal green */
	}
	.event_headline>LI{
	padding:0.5em;
	display:table-cell;
	text-align:center;
	}
	.event_headline>LI+LI,
	#calendar DD:nth-of-type(n+2){
	border-left:1px solid #80989B;	/* 湊鼠 */
	}
}

/*------------------------------------------------
  イベントカレンダー（共通）
------------------------------------------------*/
#calendar DL{
margin:0;
border-top:1px solid #80989B;	/* 湊鼠 */
width:100%;
}
#calendar DT{
}
#calendar DD:nth-of-type(n+2){
padding:0.75em;
}


/*------ 開催日時 ------*/
.calendar_day>LI{
padding:0.75em;
}
.calendar_day{
margin:0;
}
.calendar_day>LI+LI{
border-top:1px solid rgba(128,152,155,0.5);	/* 湊鼠 #80989B */
}
#calendar DD .date{
display:inline-block;
}
#calendar DD .day{
padding:0 0.5em 0.5em 0;
font-weight:500;
font-size:150.0%;	/* 24px */
color:#008570;	/* エメラルドorg */
}

/*------ 複数公演名（昼の部、夜の部など） ------*/
.multi{
display:inline-block;
}
.multi .type{
padding-top:0.25em;
padding-right:0.25em;
display:inline-block;
}


/*------ 開演・開場 ------*/
.start_time{
padding-top:0.25em;
padding-left:1.1em;
display:inline-block;
}
.open_time{
padding-top:0.25em;
display:inline-block;
}

/*------ チケット等・お問い合わせ ------*/
#calendar DD H5{
}
.calendar_ticket_contact{
margin-left:0;
display:table;
}
.calendar_ticket_contact>*{
display:table-cell;
}
.calendar_ticket_contact+*{
margin-top:0.5em;
}
.calendar_ticket_contact H5{
font-size:100.0%;	/* 16px */
border:1px solid #80989B;	/* 湊鼠 */
white-space:nowrap;
width:8.0em;
text-align:center;
}
.calendar_ticket_contact .text{
padding-left:0.5em;
}

BODY:not(#home) ARTICLE#calendar{
padding-bottom:0;
}
#calendar+#return.content{	/* INDEXに戻る */
padding:3.0em 0;
border-top:none;
}



@media only screen and (min-width:981px) {	/* PC用 */
	/*------------------------------------------------
	  イベントカレンダー（ワイドPC）
	------------------------------------------------*/
	#calendar DL{
	display:table;
	border-collapse: collapse;
	}
	#calendar DT{
	display:none;
	}
	#calendar DD{
	display:table-cell;
	border-top:none;
	vertical-align:top;
	}
	.event_headline>LI:nth-child(1),	/* 開催日時ラベル */
	#calendar DD:nth-of-type(1){	/* 開催日時データ */
	width:20%;
	}
	.event_headline>LI:nth-child(2),	/* イベント名ラベル */
	#calendar DD:nth-of-type(2){	/* イベント名データ */
	width:68%;
	}
	.event_headline>LI:nth-child(3),	/* 会場ラベル */
	#calendar DD:nth-of-type(3){	/* 会場データ */
	width:12%;
	}
	/*------ 開催日時 ------*/
	.calendar_day>LI{
	display:block;
	}
	#calendar DD .date{
	display:block;
	}
	/*------ 複数公演名（昼の部、夜の部など） ------*/
	.multi{
	display:block;
	}
	/*------ 開演・開場 ------*/
	.start_time{
	margin-left:-1.0em;
	margin-right:1.0em;
	}
	.open_time{
	margin-left:-1.0em;
	}

}
@media only screen and (max-width:980px) {	/* 幅の狭いPC以下用 */
	#calendar DT,
	#calendar DD{
	margin:0;
	}
	#calendar DT{
	background:#CEE8DA;	/* #BEE0CE 75% Opal green */
	}
	.multi{
	display:inline-block;
	}
	.multi .start_time{
	padding-left:0;
	}

}
@media only screen and (min-width:541px) and (max-width:980px) {	/* 幅の狭いPC～スマホ横用 */
	#calendar DL{
	display : -webkit-box;     /* old Android */
	display : -webkit-flex;    /* Safari etc. */
	display : -ms-flexbox;     /* IE10        */
	display : flex;
	-webkit-flex-wrap: wrap;          /* Safari etc. */
	-ms-flex-wrap    : wrap;          /* IE10        */
	flex-wrap        : wrap;
	align-items: stretch;	/* 子要素の高さを揃える */
	justify-content:center;	/* 左右中央揃え（センタリング） */
	}
	#calendar DT,
	#calendar DD{
	border-top:1px solid #80989B;	/* 湊鼠 */
	}
	#calendar DT:nth-of-type(n+2),
	#calendar DD:nth-of-type(n+2){
	border-top:1px solid #999;
	}
	#calendar DT{
	padding:0.75em;
	width:8.0em;
	}
	#calendar DD{
	width : -webkit-calc(100% - 8.0em);
	width : calc(100% - 8.0em);
	}
	/*------ 複数公演名（昼の部、夜の部など）がある時は日付で改行 ------*/
	#calendar LI:has(.multi) .date{
	display:block;
	}
	.multi{
	padding-right:1.1em;
	}

}
@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	.lineup01.inline-block,
	.lineup02.inline-block{
	display:block;
	}
	.lineup02{
	font-size:100%;
	}

	#calendar DD:nth-of-type(2) H4{
	margin:0;
	}

	/*------ チケット等・お問い合わせ ------*/
	#calendar DD H5{
	}
	.calendar_ticket_contact{
	display:block;
	}
	.calendar_ticket_contact+*{
	margin-top:1.0em;
	}
	.calendar_ticket_contact H5{
	border-width:1px 0 0 0;
	border-color:rgba(128,152,155,0.5);	/* #80989B 湊鼠 */
	width:auto;
	display:block;
	text-align:left;
	}
	.calendar_ticket_contact .text{
	padding:0 0 0 0.75em;
	display:block;
	}
	/*------ 複数公演名（昼の部、夜の部など） ------*/
	.multi.longname .type,
	.multi .type.longname{
	display:block;
	}
}
@media only screen and (min-width:541px) and (max-width:768px) {	/* スマホ横用 */
	#calendar DD:nth-of-type(2){
	padding:0.75em 0;
	}
	#calendar DD:nth-of-type(2) H4{
	padding:0 0.5em 0.5em 0.5em;
	}
	.calendar_ticket_contact H5{
	padding:0.75em 0.75em 0 0.75em;
	}

}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	#calendar DL:nth-of-type(1){
	border-top-width:2px;
	}
	#calendar DT:nth-of-type(1),	/* 開催日時ラベル */
	#calendar DT:nth-of-type(2){	/* イベント名ラベル */
	display:none;
	}

	/*------ 開催日時 ------*/
	#calendar DD:nth-of-type(1){	/* 開催日時データ */
	padding:0.5em 0 0.25em 0;
	}
	.calendar_day>LI{
	padding:0.5em 0 0 0;
	}
	.calendar_day>LI+LI{
	border-top:none;
	}
	#calendar DD .date{
	display:block;
	}
	/*------ 複数公演名（昼の部、夜の部など） ------*/
	.multi{
	display:block;
	}
	/*------ 開演・開場 ------*/
	.start_time{
	padding-left:0;
	}
	.start_time+.start_time{
	padding-left:0.5em;
	}

	/*------ イベント名 ------*/
	#calendar DD:nth-of-type(2){	/* イベント名データ */
	padding:0;
	}
	#calendar DD:nth-of-type(2) H4{
	padding:0.5em 0 1.0em 0;
	}

	/*------ チケット・お問い合わせ ------*/
	.calendar_ticket_contact+*{
	margin-top:0;
	}
	.calendar_ticket_contact H5{	/* チケット・お問い合わせラベル */
	padding:0.25em 0.5em;
	background:rgba(90,84,75,0.3);	/* #5A544B 海松茶*/
	}
	.calendar_ticket_contact .text{	/* チケット・お問い合わせデータ */
	padding:0 0.5em 0.5em 0.5em;
	}
	#calendar DT:nth-of-type(3){	/* 会場ラベル */
	padding:0.18em 0.5em;
	}

	#calendar DD:nth-of-type(3){	/* 会場データ */
	margin-bottom:1.5em;
	padding:0.5em;
	}

}



/*------------------------------------------------
  「イベント」詳細ページ
  ポスター大：上	SECTION#eyecatch.poster_l
  ポスター小：左	SECTION#eyecatch.poster

  SECTION#eyecatch
   ├ DIV#poster
   └ DIV#maindata
     ├ DL
     └ DIV#notes
------------------------------------------------*/

/*------ 共通 ------*/
#eyecatch+SECTION{
margin-top:1.5em;
}
#events H3{
padding:0;
font-size:150.0%;	/* 24px */
}
#eyecatch DL{
margin-top:0;
margin-bottom:0;
min-width:initial;
}
#eyecatch DD UL{
margin-bottom:0;
}
#events UL.item>LI{
margin:1.5em auto 0 auto;
}


/*------ メインデータ（開催日時・会場・料金・チケット）------*/
#maindata{
}
#maindata DD{
min-height:2.5em;	/* スマホ時に空欄でも高さを維持 */
}
#maindata DD UL.check{
margin:0.2em auto;
padding:0.5em;
}
#maindata DD UL.check LI{
margin-left:0.5em;
}


/*------ 付記（主催・注記など） ------*/
#notes{
padding:1.0em 0.5em 0 0.5em;
width:100%;
text-align:left;
}
/*------ ポスター大：上 ------*/
.poster_l>*:nth-child(1),	/* 上 #poster_l */
.poster_l>*:nth-child(2){	/* 下 #maindata */
width:100%;
}
.poster_l #maindata{
padding-top:1.0em;
}

.photographer{	/* 著作権、撮影者名など */
margin:0 0 0 auto;
padding:0 0.2em;
display:table;
font-size:87.5%;	/* 14px */
text-align:left;
line-height:1.2;
}
/*------ 公演ラインナップ・トップページPickupでの著作権、撮影者名表示 ------*/
LI.imagebox:has(.photographer){
position:relative;
}
LI.imagebox>.photographer{
position:absolute;
bottom:0;
right:0;
background:rgba(0,0,0,0.8);
font-size:75.0%;	/* 12px */
color:#FFF;
line-height:1.5;
}

#events H5{
margin-top:1.0em;
}

#poster .imagebox.noimage{	/* ポスター欄　イベント画像無い時 */
margin:auto;
display:block;
width:100%;
max-width:750px;
min-height:160px;
aspect-ratio: 3 / 2;
position:relative;
}


@media only screen and (min-width:901px) {	/* 幅の広いPC以上用 */
	#maindata DL{
	border:1px solid #B4ADA9;	/* Beige Gray */
	}
}
@media only screen and (max-width:900px) {	/* 幅の狭いPC以下用 */
}
/*------ ポスター小：左 ------*/
.poster>*:nth-child(1), 	/* 左 #poster */
#events SECTION.profile>*:nth-child(1){	/* 左 画像 */
width:40%;
}
.poster>*:nth-child(2),	/* 右 #maindata */
#events SECTION.profile>*:nth-child(2){	/* 右 プロフィール */
padding-top:1.0em;
width:56%;
min-width:initial;
}
.poster #maindata DL{
width:100%;
}
.poster #maindata DL+DL{
border-top:none;
}


@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	.poster>*:nth-child(1), 
	#events SECTION.profile>*:nth-child(1),
	.poster>*:nth-child(2), 
	#events SECTION.profile>*+DIV{
	width:100%;
	}
}

/*--------------------------------------------------------------------
  「チケット情報」固有の設定
---------------------------------------------------------------------*/
#ticket_guide_item LI{
padding:2.0em 0.5em;
text-align:center;
}
@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	#ticket_guide_item{
	padding:0;
	}
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	#ticket_website{
	font-size:100%;
	}

}

/*--------------------------------------------------------------------
  「施設案内」固有の設定
---------------------------------------------------------------------*/
/*------------------------------------------------
  施設一覧 INDEX
------------------------------------------------*/
#facilities_list H4{
margin-top:0;
}
#facilities_list H5{
font-weight:700;
}

@media only screen and (max-width:1200px) {	/* 幅の狭いPC以下用 */
	#facilities_list .w20p,
	#facilities_list .w20p+*{
	width:100%;
	}
}
@media only screen and (min-width:769px) and (max-width:900px) {	/* 幅の狭いPC～スマホ横用 */
	#facilities_item.part3>*{
	width : -webkit-calc( (100% - 1.5em) / 2 );
	width : calc( (100% - 1.5em) / 2 );
	}
}
@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	#facilities_list{
	margin-top:5.0em;
	padding-top:0;
	}
	#facilities_list H4{
	margin:-0.6em auto 1.0em auto;
	padding:0 0.5em;
	display:table;
	background:#FFF;
	}
	#facilities_item.part3>*{
	width:100%;
	}
}

/*------------------------------------------------
  施設概要
------------------------------------------------*/
/*------ 施設概要表 .dl_table.type_b ------*/
#outline_list{
}
#outline_list :has(.link_large.absolute){	/* アクセスボタン設置 */
padding-right:11.0em;
min-height:4.0em;
}
#outline_list .link_large.absolute{	/* アクセスボタン */
right:0.5em;
left:auto;
}
/*------ 施設概要 GoogleMap ------*/
#facilities DL+.googlemap,
#facilities .googlemap+DL{
margin-top:1.0em;
}


@media only screen and (max-width:768px) {	/* スマホ横以下用 */

}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	#outline_list :has(.link_large.absolute){
	padding-right:0.5em;
	}

	#outline_list .link_large.absolute{
	margin-top:1.0em;
	position:static;
	transform : translateY(0);

	}
}


/*------------------------------------------------
  フロアマップ
------------------------------------------------*/
#floormap{
}
@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	.gallery-popup #floormap A{	/* モバイル時はモーダル不可 */
	cursor: default;
	pointer-events: auto;
	}
	.gallery-popup #floormap A:hover{
	opacity:1.0;
	}

}

/*------------------------------------------------
  座席表
------------------------------------------------*/


/*------------------------------------------------
  施設内容（小山町総合運動施設）
------------------------------------------------*/
#facilities_guide .layoutbox .image.w20p{
min-width:200px;
}
#facilities_guide .layoutbox .w20p+.text{
padding-left:1.5em;
flex:1;
}
#facilities_guide .layoutbox .w20p+.text>*:first-child{
margin-top:0;
}

@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	#facilities_guide .layoutbox .w20p+.text{
	padding-left:0;
	}
}

/*--------------------------------------------------------------------
  「ご利用案内」固有の設定
---------------------------------------------------------------------*/
/*------------------------------------------------
  施設利用料金
------------------------------------------------*/
[id^="fee"] .data_table{
margin-left:auto;
margin-right:auto;
width:100%;
}
[id^="fee"] .scroll_table_box .data_table{	/* ワイドな表 */
min-width:858px;
}


/*------ 料金表（平日/土・日・休日や一般・団体 等） ------*/
TR.type TD,
TR.day TD,
TR.weekend TD{	/* 曜日区分以降は金額なので右寄せ */
text-align:right;
white-space:nowrap;
}
TR.weekend TD{
}


[id^="fee"] .data_table THEAD TH+TH,
[id^="fee"] .data_table TD{
border-left:1px solid rgba(128,152,155,0.5);	/* #80989B 湊鼠 */
}

[id^="fee"] .data_table TD[colspan]{	/* セル結合時はセンタリング */
text-align:center;
}


/*------ 楽屋利用料金（TDは全て料金） ------*/
.all-fee TD{
text-align:right;
}

/*------ 付帯設備利用料金表（設備の種類/備品名/単位/料金/備考） ------*/
.c3-fee TBODY TR>TD:nth-last-of-type(2){	/* 料金 */
text-align:right;
}
.c3-fee TBODY TR>TD:nth-last-of-type(1){	/* 備考 */
text-align:left;
}
/*------ 展示室 設備利用料金表） ------*/
.c23-fee TBODY TR>TD:nth-of-type(1){	/* 料金 */
text-align:right;
}


@media only screen and (max-width:540px) {	/* スマホ縦用 */
	#fee TABLE.data_table{
	min-width:initial;
	}
	#fee TABLE.data_table *{
	white-space:nowrap;
	}

}



/*--------------------------------------------------------------------
  「サービス」固有の設定
---------------------------------------------------------------------*/
/*------------------------------------------------
  目次
------------------------------------------------*/
#index .lead.content{
margin-top:0.5em;
font-size:100.0%;	/* 16px */
font-weight:400;
}

#index_list{
margin-top:0;
max-width:900px;
}
#index_list>LI{
margin-top:0.5em;
margin-bottom:0.5em;
}

/*------------------------------------------------
  各内容
------------------------------------------------*/
#service>MAIN>ARTICLE{
counter-increment: cnt;
position:relative;
}
#service>MAIN>ARTICLE H3{
padding-top:2.2em;
position:relative;
}
#service>MAIN>ARTICLE H3::before{
transform : translate(-50%,0);
top:0;
left:50%;
}


@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	#service ARTICLE SECTION.content{
	text-align: justify;
	text-justify: inter-ideograph;
	}
	#index_list{
	text-align:left;
	}
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	#index_list>LI{
	display:block;
	}
	#service>MAIN>ARTICLE H3{
	padding-top:0.5em;
	padding-left:2.2em;
	text-align:left;
	}
	#service>MAIN>ARTICLE H3::before{
	transform : translate(0,0);
	left:0.2em;
	}



}

/*--------------------------------------------------------------------
  「アクセス」固有の設定
---------------------------------------------------------------------*/


/*------------------------------------------------
  各種交通機関でのアクセス方法
<I class="fa-solid fa-car"></I>
<I class="fa-solid fa-taxi"></I>
<I class="fa-solid fa-train"></I>
<I class="fa-solid fa-bus"></I>
------------------------------------------------*/

/*------------------------------------------------
  駐車料金
------------------------------------------------*/


@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.googlemap{
	height:66.7vw;
	}
}
/*--------------------------------------------------------------------
  「主催者の方へ」固有の設定
---------------------------------------------------------------------*/
/*------------------------------------------------
  ダウンロード
------------------------------------------------*/
UL.download_item.check{
margin-top:0.5em;
margin-bottom:0.8em;
}
UL.download_item.check>LI{
margin:0.2em 0;
padding:0.1em 0.5em;
font-size:87.5%;	/* 14px */
}

UL.download_item.check>LI+LI{
border-top:1px solid #D3D3D8;	/* Orchid mist */
}

.download_item A.pdf,
.download_item A.word,
.download_item A.excel{
padding:0.8em 0.5em 0.8em 48px;
background-repeat:no-repeat;
background-position:8px 0.45em;
list-style:none;
min-height:32px;
display:block;
border:1px solid #CCC;
border-radius:0.5em;
-webkit-border-radius:0.5em;
-moz-border-radius:0.5em;
}

UL.download_item>LI H5{
margin:0.2em 0.5em 0 0;
display:inline-block;
vertical-align:middle;
font-size:114.3%;	/* 16px */
width:15.0em;
}

UL.download_item>LI H5+UL.inline-block{
margin-top:0.2em;
display:inline-block;
vertical-align:middle;
}
#download A .filetype{
border-bottom-width:1px;
border-bottom-style:solid;
transition: color 0.3s ease, border-color 0.3s ease;
-webkit-transition: color 0.3s ease, border-color 0.3s ease;
-moz-transition: color 0.3s ease, border-color 0.3s ease;
-o-transition: color 0.3s ease, border-color 0.3s ease;
font-size:114.3%;	/* 16px */
}
#download A:hover .filetype{
border-bottom-color:transparent;
}



UL.download_list>LI{
margin:0.5em 1.0em;
font-size:87.5%;	/* 14px */
}
UL.download_list>LI A{
font-size:142.9%;	/* 20px */
}



@media only screen and (max-width:540px) {	/* スマホ縦用 */
	UL.download_item.check>LI{
	margin:0;
	padding:0.5em 0.1em;
	display:block;
	}
	UL.download_item>LI H5{
	width:auto;
	display:block;
	}
	UL.download_list{
	margin-left:auto;
	margin-right:auto;
	text-align:left;
	display:table;
	}
	UL.download_list>LI{
	margin:0.2em 0;
	display:block;
	}

}



/*--------------------------------------------------------------------
  「よくある質問」固有の設定
--------------------------------------------------------------------*/
/*------------------------------------------------
  DLリスト 自動ナンバリング + 丸数字
------------------------------------------------*/
UL.autonumbering>LI+LI{
margin-top:1.0em;
}

UL.autonumbering>LI,
DL.autonumbering>DT{
padding:0.5em 0 0.5em 3.0em;
counter-increment: cnt;
list-style-type:none;
position:relative;
}
UL.autonumbering>LI::before,
DL.autonumbering>DD::before,
DL.autonumbering>DT::before{
padding:0.30em 0;
display: marker;
text-align:center;
letter-spacing:0;
position:absolute;
left:0;
top:0;
width:2.2em;
line-height:1.5;
font-weight:700;
border-radius:50%;
-webkit-border-radius:50%;
-moz-border-radius:50%;
border-style:solid;
border-width:1px;
color:#006655;	/* AAA緑 */
}
UL.autonumbering>LI::before{
content: counter(cnt);
}

DL.faq.autonumbering>DT::before{
content: "Q"counter(cnt);
}
DL.faq.autonumbering>DD::before{
left:1.0em;
top:1.0em;
margin-right:0.5em;
content: "A"counter(cnt);
background:#006655;	/* AAA緑 */
color:#FFF;
}
DL.faq,
DL.faq>*{
box-sizing: content-box;
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
}
DL.faq.autonumbering>DD>*{
margin-bottom:1.0em;
}
DL.faq.autonumbering>DD>UL,
DL.faq.autonumbering>DD>OL{
margin-top:1.0em;
box-sizing: border-box;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
}
DL.faq.autonumbering>DD LI{
box-sizing: border-box;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
}



@media only screen and (max-width:768px) {	/* スマホ横以下用 */
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	UL.autonumbering>LI{
	padding:2.7em 0 0.5em 0.5em;
	}

	DL.faq.autonumbering{
	margin-left:-10px;
	margin-right:-10px;
	}
	DL.faq.autonumbering>DD{
	margin:0 0.5em 0 2.5em;
	}


}

/*------------------------------------------------
  アコーディオン JavaScriptと併用
------------------------------------------------*/
DL.faq.autonumbering.accordion>DT{
margin-bottom:0.5em;
padding-right:2.0em;
cursor:pointer;
transition : border 0.5s;
transition: opacity 0.5s ease;
-webkit-transition: opacity 0.5s ease;
-moz-transition: opacity 0.5s ease;
-o-transition: opacity 0.5s ease;
}

DL.faq.autonumbering.accordion>DT:hover{
opacity:0.6;
}

DL.faq.autonumbering.accordion>DD+DT{
margin-top:1.0em;
}

DL.faq.autonumbering.accordion>DT::after{
position:absolute;
right:0.5em;
font-family: "Font Awesome 7 Free";
font-weight : 900;
content:"\f107";
color:#006655;	/* AAA緑 */
}
DL.faq.autonumbering.accordion>DT.open::after{
transform: scaleY(-1);	/* 上下反転 */
}
DL.faq.autonumbering.accordion>DD{
margin-top:1.0em;
margin-bottom:2.0em;
padding:0.5em 0 2.0em 3.0em;
padding:1.5em 1.0em 1.5em 4.0em;
display:none;
position:relative;
border:2px solid #EEBBCB;	/* 撫子色 */
border-radius:0.5em;
-webkit-border-radius:0.5em;
-moz-border-radius:0.5em;
}



/*--------------------------------------------------------------------
  「お問い合わせ」固有の設定
---------------------------------------------------------------------*/
#contact .contentmenu H3{
padding:0 0.5em 1.0em 0.5em;
}
#contact H3+SECTION{
margin-top:0.5em;
}
#contact MAIN H4,
#contact MAIN P{
margin-bottom:0;
}
#contact MAIN *+H4{
margin-top:1.0em;
}
#contact MAIN H4+*{
margin-top:0.5em;
}

/*------------------------------------------------
  お問い合わせ左右レイアウト
------------------------------------------------*/
#contact_list .layoutbox .image{
min-width:200px;
}
#contact_list .layoutbox .image .inner{
overflow:hidden;
display:block;
}
#contact_list .layoutbox .image IMG{
aspect-ratio: 1 / 1;
object-fit: cover;
}
#contact_list .layoutbox .text{
padding-right:1.5em;
flex: 1;
}
#contact_list .layoutbox .text>*:first-child{
margin-top:0;
}

@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	#contact_list .layoutbox .text{
	padding-right:0;
	}
	#contact_list .layoutbox .image IMG{
	aspect-ratio: auto;
	}
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	#contact .contentmenu H3{
	padding-top:1.0em;
	text-align:left;
	}
	#contact_list H3~H3{
	border-top:1px solid #00A381;	/* 花緑青 */
	}
}



/*--------------------------------------------------------------------
  guide/  BODY#guide
  指定管理者～個人情報保護方針
---------------------------------------------------------------------*/
#contact MAIN H3,
#guide MAIN H3{
font-size:137.5%;	/* 22px */
}
#contact MAIN H3~H3,
#guide MAIN H3~H3{
margin-top:3.0em;
}
#guide SECTION *:first-child{
margin-top:0;
}
#contact MAIN H4,
#guide MAIN H4{
font-size:112.5%;	/* 18px */
}




/*--------------------------------------------------------------------
  「お知らせ」固有の設定
---------------------------------------------------------------------*/
#information ARTICLE>H3{
padding:0.3em 0;
font-size:150.0%;	/* 24px */
border-bottom-style:solid;
border-bottom-width:1px;
position:relative;
}
#information ARTICLE>H3+SECTION{
margin-top:2.0em;
}

#information H3 .date{
padding:0.5em 0.1em;
display:block;
font-size:66.7%;	/* 16px */
text-align:right;
font-weight:400;
color:#000;
position:absolute;
left:0;
top:100%;
}

#information H4{
margin-bottom:0;
font-size:125.0%;	/* 20px */
}
#information *+H4{
margin-top:2.0em;
}
#information *+H5{
margin-top:1.5em;
}

#information H5{
font-size:100.0%;
}

#information H4+H5{
margin-top:0;
}
#information P{
margin-bottom:0.5em;
}


#information UL.kome{
margin-top:0;
}

/*------------------------------------------------
  重要なお知らせ
------------------------------------------------*/
#information ARTICLE.important{
margin:3.0em auto;
padding-top:1.0em;
padding-bottom:1.0em;
width : -webkit-calc(100% - 50px) ;
width : calc(100% - 50px);
max-width:1150px;
border:1px solid #D3381C;	/* 緋色 */
border-radius:0.5em;
-webkit-border-radius:0.5em;
-moz-border-radius:0.5em;
}
#information ARTICLE.important H3{
color:#D3381C;	/* 緋色 */
border-color:#D3381C;	/* 緋色 */
}



@media only screen and (max-width:540px) {	/* スマホ縦用 */
	#information ARTICLE>H3{
	border-top-style:solid;
	border-top-width:1px;
	}

}

/*--------------------------------------------------------------------
  「English」固有の設定
--------------------------------------------------------------------*/
#english #h2 .eng{
letter-spacing:0.1em;
a font-size:62.5%;	/* 30px */
a font-size:75.0%;	/* 36px */
}

#english MAIN *{
word-break:normal;
}
#english .content UL.kome>LI>SPAN:first-child,
#english .content LI.kome>SPAN:first-child{	/* ※印 ではなく *印を使うため */
padding-right:0.25em;
padding-left:0.25em;
}
#english #contact .content>H4~*{
margin-top:0.5em;
margin-bottom:0.5em;
}


@media only screen and (max-width:540px) {	/* スマホ縦用 */
	#english #contact .content>H4~*{
	text-align:left;
	}
}

/*--------------------------------------------------------------------
  「サイトマップ」固有の設定
--------------------------------------------------------------------*/
#sitemap_item SECTION>UL>LI+LI{
margin-top:2.0em;
}
#sitemap_item UL{
padding-left:1.1em;
}
#sitemap_item UL UL{
font-size:98%;
}

#sitemap_item SECTION>UL>LI>UL:not(.inline-block-li)>LI+LI{
margin-top:1.0em;
}
#sitemap_item SECTION>UL>LI LI{
margin-top:0.5em;
}
#sitemap_item UL#toplevel{
margin-bottom:0;
padding-bottom:2.0em;
border-bottom:1px solid #000;
}
#sitemap_item UL#toplevel+UL{
margin-top:0;
}

/*------ 公式SNS ------*/
#sitemap_item H3{
margin-bottom:-1.0em;
padding-bottom:0;
font-size:112.5%;	/* 18px */
}




/*--------------------------------------------------------------------
  「コンテンツ」固有の設定
--------------------------------------------------------------------*/
/*------------------------------------------------
  動画
------------------------------------------------*/
.video{
width: 100% !important;
height:auto !important;
}


/*------------------------------------------------
  バナー
  .wide はページ幅
------------------------------------------------*/
.banner A{
display:inline-block;
text-decoration:none !important;
}

.type_banner.banner{
padding-top:2.0em;
padding-bottom:2.0em;
}

.type_banner.banner A{
padding:1.5em 2.0em;
min-height:3.0em;
line-height:1.2;
position:relative;
z-index:1;
overflow:hidden;
}


/*------------------------------------------------
  親要素の範囲にリンクエリアAを拡張
------------------------------------------------*/
.overlink{
}
.overlink>*,
.overlink{
position:relative;
transition: background 0.5s ease, color 0.5s ease, opacity 0.5s ease;
-webkit-transition: background 0.5s ease, color 0.5s ease, opacity 0.5s ease;
-moz-transition: background 0.5s ease, color 0.5s ease, opacity 0.5s ease;
-o-transition: background 0.5s ease, color 0.5s ease, opacity 0.5s ease;
}
.overlink A.more{
position:absolute;
width:100%;
height:100%;
top:0;
bottom:0;
left:0;
right:0;
display:block;
}
.overlink A.more SPAN{
display:none;
}
.overlink *{
transition: filter 0.5s ease, transform 0.3s, opacity 0.5s ease;
-webkit-transition: filter 0.5s ease, transform 0.3s, opacity 0.5s ease;
-moz-transition: filter 0.5s ease, transform 0.3s, opacity 0.5s ease;
-o-transition: filter 0.5s ease, transform 0.3s, opacity 0.5s ease;
}
.overlink:hover .text{
opacity:0.7;
}
.overlink .image{
overflow:hidden;
display:block;
}
.overlink .image IMG{
/* filter: brightness(90%); */
display:block;
}
.overlink:hover .image IMG{
filter: brightness(110%);
transform: scale(1.1);
}

/*-----------------------------------------------
  疑似要素NGの時の矢印
------------------------------------------------*/

/*-----------------------------
\f105
<I class="fa-solid fa-angle-right after arrow extrasmall"></I>
------------------------------*/
*:has(>.arrow.after){
padding-right:2.0em;
position:relative;
}
.arrow.after{
position:absolute;
transform : translateY(-50%);
top:50%;
right:0;
}


A.arrow{
padding-right:2.5em !important;
position:relative;
}


/*------------------------------------------------
  IFRAME表示（Magnific-Popup-master）
------------------------------------------------*/
/*------ modal ------*/
#modal{
a padding-bottom:0;
}
#modal #header H1{
display:block;
width:100%;
max-width:100%;
background-color:#7BB8D4;	/* ロゴ青 */
}
#modal #header H1 A.logo{
margin:auto;
width:160px;
background-image:url(img/logo_w.png);
}
#modal #content_header H2>SPAN{
padding:0.5em 2%;
}
@media only screen and (max-width:360px) {	/* スマホS縦用 */
	.mfp-iframe-holder .mfp-content {
	height:90%;	/* デフォ値 指定なし */
	}

	#modal #content_header H2>SPAN{
	padding:0.1em 2%;
	}
}

BODY:not(#home)#modal MAIN{
padding-bottom:0;
min-height:initial;
}
BODY:not(#home) ARTICLE#modal_item{
padding:0;
}

BODY:not(#home)#modal P{
margin-top:0.5em;
margin-bottom:0.5em;
}


/*------------------------------------------------
  インライン表示（Magnific-Popup-master）
------------------------------------------------*/
[id^="inline-wrap"]{
margin:40px auto 20px auto;
padding:1px 20px 20px 20px;
position:relative;
max-width:1200px;
width:96%;
}
.mfp-wrap{
/* スマホ閲覧時にページ長全体の中央に位置してしまうため追加 */
top:0 !important;
}

[id^="inline-wrap"] H1{
margin:0 -19px auto -19px;
padding:1.5em 0.5em 1.2em 0.5em;
font-size:187.5%;	/* 30px */
font-weight:700;
line-height:1.3;
}
[id^="inline-wrap"] .copy{
font-weight:700;
}
@media only screen and (min-width:541px) and (max-width:768px) {	/* スマホ横用 */
	[id^="inline-wrap"] H1{
	font-size:4.0vw;
	}
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	[id^="inline-wrap"]{
	text-align:left;
	}
	[id^="inline-wrap"] H1{
	font-size:6.5vw;
	}
}


/*------ 右上の閉じるボタン ------*/
[id^="inline-wrap"] button.mfp-close{
top:-40px;
right:-15px;
color:#CCC;
transition: color 0.5s ease;
-webkit-transition: color 0.5s ease;
-moz-transition: color 0.5s ease;
-o-transition: color 0.5s ease;
}
[id^="inline-wrap"] button.mfp-close:hover{
color:#FFF;
}

/*------ 下部の閉じるボタン ------*/
.popup-modal-dismiss{
text-align:center;
}

.popup-modal-dismiss .extralarge{
margin-top:-0.1em;
vertical-align:middle;
line-height:1.0;
display:inline-block;
font-size:187.5%;	/* 30px */
}

/*------------------------------------------------
  ギャラリー表示（Magnific-Popup-master）
------------------------------------------------*/
.gallery-popup A:has(IMG){
margin-right:auto;
margin-left:auto;
position:relative;
display:block;
outline:none;
text-decoration:none;
cursor: url(img/magnify_plus.cur), pointer;	/* カーソルを虫眼鏡に */
}



/* 
====== Zoom effect ======
*/
.mfp-zoom-in {
  /* start state */
  /* animate in */
  /* animate out */
}
.mfp-zoom-in .mfp-with-anim {
  opacity: 0;
  transition: all 0.5s ease-in-out;	/* 初期値0.3 */
  transform: scale(1.0);	/* 初期値0.8 */
}
.mfp-zoom-in.mfp-bg {
  opacity: 0;
  transition: all 0.3s ease-out;
}
.mfp-zoom-in.mfp-ready .mfp-with-anim {
  opacity: 1;
  transform: scale(1);
}
.mfp-zoom-in.mfp-ready.mfp-bg {
  opacity: 0.8;
}
.mfp-zoom-in.mfp-removing .mfp-with-anim {
  transform: scale(0.8);
  opacity: 0;
}
.mfp-zoom-in.mfp-removing.mfp-bg {
  opacity: 0;
}


/*------ 虫眼鏡アイコン ------*/
A.zoom,
.zoom A{
position:relative;
}
A.zoom::after,
.zoom A::after{
position:absolute;
bottom:0;
right:0;
line-height:1;
font-family: "Font Awesome 5 Free";
content:"\f00e";
font-weight:bold;
font-size:20px;
color:rgba(255,255,255,0.8);
text-shadow: 1px 1px 1px #000, -1px -1px 1px #000;
}

/*-----------------------------------------------
  ふわっと表示　じわじわ(with JavaScript)
------------------------------------------------*/
SECTION>*,ARTICLE>*,P,ARTICLE LI,ARTICLE DL>*,
.effect-fade{
opacity : 0;
transition : opacity 1500ms;
}

SECTION>*.effect-scroll,ARTICLE>*.effect-scroll,P.effect-scroll,ARTICLE LI.effect-scroll,
ARTICLE DL>*.effect-scroll,
.effect-fade.effect-scroll {
opacity : 1.0;
}
.effect-none{
opacity : 1.0 !important;
}

.effect-move{
opacity : 0;
transform : translate(0, 10vh);
transition : opacity 2500ms, transform 1500ms;
}
.effect-move.effect-scroll {
opacity : 1;
transform : translate(0, 0);
}



/*-----------------------------------------------
  文字じわっと表示　じわじわ(with JavaScript)
------------------------------------------------*/
.blur{
	animation-delay:800ms;	/* bxSliderの speed値とほぼ同じに */
	animation-name:blurAnime;
	animation-duration:1500ms;
	animation-fill-mode:forwards;
}

@keyframes blurAnime{
  from {
	filter: blur(10px);
/*	transform: scale(1.02); */
	opacity: 0;
  }

  to {
	filter: blur(0);
/*	transform: scale(1); */
	opacity: 1;
  }
}
 
.blurTrigger{
    opacity: 0;
}


/*------------------------------------------------
  レイアウト
------------------------------------------------*/
.inline-block{
display:inline-block;
}
.block{
margin-right:auto;
margin-left:auto;
display:block;
}
.island,
.table-table-cell,
.table{
margin-right:auto;
margin-left:auto;
display:table;
width:auto;
}
.table-table-cell>*{
display:table-cell;
}
.table.left{
margin-left:0;
}

.nowrap{
white-space:nowrap;
}
.display-none{	/* 未使用・非表示 */
display:none !important;
}


.relative{
position:relative;
}
.absolute{
position:absolute;
}
.x50y50{
transform : translate(-50%, -50%);
top:50%;
left:50%;
}
.x0y50{
transform : translateY(-50%);
top:50%;
left:0;
}
.x50y0{
transform : translateX(-50%);
top:0;
left:50%;
}

/*------------------------------------------------
  準備中表示
------------------------------------------------*/
.underconstruction{
margin:2em auto;
padding:200px 25px 100px 25px;
background-image:url(img/comingsoon.png);
background-position:center 80px;
background-repeat:no-repeat;
text-align:center;
width:90%;
}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.underconstruction{
	padding:50px 0;
	background-position:center;
	width:auto;
	}
}



/*------------------------------------------------
  署名
------------------------------------------------*/
.signature{
margin-right:0;
margin-left:auto;
display:table;
}


/*------------------------------------------------
  区切りのスラッシュ / 表示
------------------------------------------------*/
.double_dash,
.slash,
.dot{
display:inline-block;
}
.slash,
.slash_tablet{
padding:0 0.5em;
}
.double_dash{
padding:0 0.3em 0.2em 0.2em;
letter-spacing:-0.05em;
vertical-align:middle;
line-height:1;
}


@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	.slash_tablet,
	.dot_tablet{
	margin-bottom:-0.3em;
	padding:0;
	overflow: hidden;	/* -9999 */
	text-indent: 100%;	/* -9999 */
	white-space: nowrap;	/* -9999 */
	display:block;
	width:1px;
	height:0;
	}
}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.slash,
	.dot{
	padding:0;
	display:block;
	}
	.slash{
	overflow: hidden;	/* -9999 */
	text-indent: 100%;	/* -9999 */
	white-space: nowrap;	/* -9999 */
	width:1px;
	height:0;
	}
	.dot{
	height:0.5em;
	line-height:0.5;
	}

}

/*------------------------------------------------
   行頭アイコン
------------------------------------------------*/
.content .icon A,
.content .icon A:hover{
text-decoration:none;
}
.icon A:hover{
opacity:0.7;
}


/*------ リンクが無い場合に使用可 ------*/
.icon.display_ib [class^="fa"]:nth-of-type(1){
margin-right:0.5em;
}
.icon.display_b [class^="fa"]:nth-of-type(1){
margin:auto auto 0.5em auto;
display:table;
}

/*------ FA・画像背景 共通 サイズ指定・位置指定 ------*/
/*------ 行頭に配置 ------*/
.display_ib IMG,
.display_ib [class^="fa"]:nth-of-type(1) {
display:inline-block;
margin:auto 0.5em auto auto;
}
.display_ib IMG,
.display_ib SPAN{
line-height:1;
display:inline-block;
vertical-align:middle;
}

/*------ 上に配置 ------*/
.display_b.type_image IMG,
.display_b.type_fa [class^="fa"]:nth-of-type(1){
margin:auto auto 0.5em auto;
display:block;
}

/*------ Font Awesome タイプ ------*/
.type_fa.myserf [class^="fa"]:nth-of-type(1),
.type_fa  [class^="fa"]:nth-of-type(1){
text-align:center;
vertical-align:middle;
letter-spacing:0;
text-indent:0;
line-height:1;
}
.icon.type_fa.size_s [class^="fa"]:nth-of-type(1){
font-size:125.0%;	/* 20px */
}
.icon.type_fa.size_sm [class^="fa"]:nth-of-type(1){
font-size:150.0%;	/* 24px */
}
.icon.type_fa.size_m [class^="fa"]:nth-of-type(1){
font-size:175.0%;	/* 28px */
}
.icon.type_image.size_ss IMG{
width:30px;
}

.icon.type_image.size_s IMG{
width:60px;
}
.icon.type_image.size_m IMG{
width:90px;
}

.icon.type_fa.size_l [class^="fa"]:nth-of-type(1){
font-size:225.0%;	/* 36px */
}
.icon.type_image.size_l IMG{
width:120px;
}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.icon.display_ib [class^="fa"]:nth-of-type(1),
	.icon.display_ib IMG{
	margin:auto auto 0.5em auto;
	display:block;
	}
}

/*------------------------------------------------
  アイテム横並び .flexbox.layoutbox.space-between
------------------------------------------------*/
.layoutbox>*.w20p,
.layoutbox>*.w80p+*{
width : -webkit-calc(20% - 1.5em);
width : calc(20% - 1.5em);
}
.layoutbox>*.w20p+*,
.layoutbox>*.w80p{
width : -webkit-calc(80% - 0.75em);
width : calc(80% - 0.75em);
}
.layoutbox>*.w30p,
.layoutbox>*.w70p+*{
width : -webkit-calc(30% - 0.75em);
width : calc(30% - 0.75em);
}
.layoutbox>*.w30p+*,
.layoutbox>*.w70p{
width : -webkit-calc(70% - 0.75em);
width : calc(70% - 0.75em);
}
.layoutbox>*.w40p,
.layoutbox>*.w60p+*{
width : -webkit-calc(40% - 0.75em);
width : calc(40% - 0.75em);
}
.layoutbox>*.w50p,
.layoutbox>*.w50p+*{
width : -webkit-calc(50% - 0.75em);
width : calc(50% - 0.75em);
}
.layoutbox>*.w40p+*,
.layoutbox>*.w60p{
width : -webkit-calc(60% - 0.75em);
width : calc(60% - 0.75em);
}
.layoutbox>*{
margin-top:0;
}
.layoutbox>*.image IMG{
margin:auto;
display:block;
}


@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	.layoutbox>*,
	.layoutbox>*+*{
	width:100% !important;
	height:auto;
	}
	.layoutbox>*+*{
	margin-top:1.5em;
	}
}

/*------------------------------------------------
  INDEXカードスタイル .flexbox
  上段 <DIV class="image">画像</DIV>
  下段<DIV class="text">見出し・説明文</DIV>
------------------------------------------------*/
.flexbox.index .image{
margin-bottom:1.5em;
}


/*------------------------------------------------
  アイテム横並び .flexbox
------------------------------------------------*/
.item{
}
.item.space-between{
}
.item.space-around{
padding:0 0.75em;
}


.item>*{
margin:0.75em 0;
padding:0;
text-indent:0;
}
.item.margin>*{	/* .part2,.part3 */
margin:1.5em 0;
}

.item.padding>*{
padding:1.0em;
}
.item>LI::before{
display:none !important;
}

.item>*>*{
margin-bottom:0;
}
.item>*>*:first-child{
margin-top:0;
}

/*------ 2列 ------*/
.item.part2>*{	/* □1.5□ */
width : -webkit-calc( (100% - 1.5em) / 2 );
width : calc( (100% - 1.5em) / 2 );
}
.item.part2.margin>*{	/* □3.0□ */
width : -webkit-calc( (100% - 3.0em) / 2 );
width : calc( (100% - 3.0em) / 2 );
}

/*------ 3列 ------*/
.item.part3>*{	/* □1.5□1.5□ */
width : -webkit-calc( (100% - 3.0em) / 3 );
width : calc( (100% - 3.0em) / 3 );
}
.item.part3.margin>*{	/* □3.0□3.0□ */
width : -webkit-calc( (100% - 6.0em) / 3 );
width : calc( (100% - 6.0em) / 3 );
}
.item.part3::after{	/* ダミーカラム */
content:"";
display: block;
width : -webkit-calc( (100% - 3.0em) / 3 );
width : calc( (100% - 3.0em) / 3 );
}

.item.part3.margin::after{	/* ダミーカラム */
content:"";
display: block;
width : -webkit-calc( (100% - 6.0em) / 3 );
width : calc( (100% - 6.0em) / 3 );
}

/*------ 4列 ------*/
.item.part4>*{	/* □1.5□1.5□1.5□ */
width : -webkit-calc( (100% - 4.5em) / 4 );
width : calc( (100% - 4.5em) / 4 );
}
.item.part4.space-around>*{	/* 0.75□1.5□1.5□1.5□0.75 */
width : -webkit-calc( (100% - 6.0em) / 4 );
width : calc( (100% - 6.0em) / 4 );
}
.item.part4::after{	/* ダミーカラム */
content:"";
display: block;
width : -webkit-calc( (100% - 4.5em) / 4 );
width : calc( (100% - 4.5em) / 4 );
}

/*------ 5列 ------*/
.item.part5>*{	/* □1.5□1.5□1.5□1.5□ */
width : -webkit-calc( (100% - 6.0em) / 5 );
width : calc( (100% - 6.0em) / 5 );
}
.item.part5.space-around>*{	/* 0.75□1.5□1.5□1.5□1.5□0.75 */
width : -webkit-calc( (100% - 7.5em) / 5 );
width : calc( (100% - 7.5em) / 5 );
}
.item.part5::after{	/* ダミーカラム */
content:"";
display: block;
width : -webkit-calc( (100% - 6.0em) / 5 );
width : calc( (100% - 6.0em) / 5 );
}




@media only screen and (min-width:768px) and (max-width:900px) {	/* 幅の狭いPC用 */
	.item.part2.over900>*{	/* □1.5□1.5□ */
	width:100%;
	}


	.item.part4:not(.tab2)>*{	/* □1.5□1.5□ */
	width : -webkit-calc( (100% - 3.0em) / 3 );
	width : calc( (100% - 3.0em) / 3 );
	}
	.item.part4:not(.tab2).space-around>LI{	/* 0.75□1.5□1.5□0.75 */
	width : -webkit-calc( (100% - 4.5em) / 3 );
	width : calc( (100% - 4.5em) / 3 );
	}
	.item.part4::after{	/* ダミーカラム */
	content:"";
	display: block;
	width : -webkit-calc( (100% - 3.0em) / 3 );
	width : calc( (100% - 3.0em) / 3 );
	}
}
@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	.item.part3:not(.tab2)>*,
	.item.part2:not(.tab2)>*{
	width:100%;
	}
	.space-between,
	.space-around{
	justify-content:justify-content:center;
	}
}
@media only screen and (min-width:541px) and (max-width:900px) {	/* スマホ横用 */
	.item.part4>*,
	.item.tab2>*{	/* □1.5□ */
	width : -webkit-calc( (100% - 1.5em) / 2 );
	width : calc( (100% - 1.5em) / 2 );
	}
	.item.part4.space-around>LI{	/* 0.75□1.5□0.75 */
	width : -webkit-calc( (100% - 3.0em) / 2 );
	width : calc( (100% - 3.0em) / 2 );
	}

	.item.tab2.margin>*{	/* □3.0□ */
	width : -webkit-calc( (100% - 3.0em) / 2 );
	width : calc( (100% - 3.0em) / 2 );
	}
}


@media only screen and (min-width:541px) and (max-width:768px) {	/* スマホ横用 */
	.item.part5>*{	/* □1.5□1.5□1.5□ */
	width : -webkit-calc( (100% - 3.0em) / 3 );
	width : calc( (100% - 3.0em) / 3 );
	}
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.item.part5::after,
	.item.part4::after,
	.item.part3::after{	/* ダミーカラム非表示 */
	display:none !important;
	}
	.item[class*="part"].tab2>*,
	.item[class*="part"]>*{
	width:100%;
	}
	.item.part5>*{	/* □1.5□1.5□1.5□ */
	width : -webkit-calc( (100% - 1.5em) / 2 ) !important;
	width : calc( (100% - 1.5em) / 2 ) !important;
	}
}




/*------------------------------------------------
  電話番号自動リンク(with JavaScript)
------------------------------------------------*/
A.tellink {
pointer-events: none;	/* PCの時はリンクしない */
cursor: default;
text-decoration:none !important;
display:inline-block;
color:#000;
}
A.tellink.tel {
pointer-events: auto;
}
.content A.tellink{
display:inline-block;
}



/*------------------------------------------------
  上部サブメニュー
------------------------------------------------*/


/*------------------------------------------------
  丸数字
------------------------------------------------*/
.number{
padding:0.2em 0 0 0;
display:inline-block;
background:#006655;	/* AAA緑 */
color:#FFF;
width:1.5em;
line-height:1.2;
text-align:center;
text-indent:0;
border:1px solid #006655;	/* AAA緑 */
border-radius:50%;
-webkit-border-radius:50%;
-moz-border-radius:50%;
letter-spacing:0;
}
*:has(>.number){
padding-left:1.8em;
text-indent:-1.8em;
}
*:has(>.number) *:not(.number){
padding-left:0;
text-indent:0;
}
H4 .number,
H5 .number{
margin-right:0.3em;
}


/*------------------------------------------------
  ラベル
------------------------------------------------*/
.label{
padding:0 0.5em;
display: inline-block;
line-height:1.5;
text-indent:0;
}

MAIN .label{
font-size:93.75%;	/* 15px */
}
.em8{
width:8.0em;
}
.em10{
width:10.0em;
}


/*------------------------------------------------
  フロー
------------------------------------------------*/
.content .flow{
padding:0;
}
.content .flow>LI{
margin:0;
padding:0;
vertical-align:middle;
text-align:left;
}
.flow>LI:nth-child(odd){
padding:1.5em 1.2em;
background:rgba(238,231,224,0.75);	/* Ecru */
border-radius:1.0em;
-webkit-border-radius:1.0em;
-moz-border-radius:1.0em;
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.flow>LI:nth-child(odd){
	padding:1.5em 0.8em 1.2em 0.8em;
	}
}
.flow>LI:nth-child(even){	/* 矢印 */
text-align:center;
font-size:200.0%;	/* 32px */
color:#5B9CBF;	/* ロゴ青1.4 */
}
.flow LI:nth-child(odd) *{
margin-bottom:0;
}


.flow>LI H5{
margin-top:-0.8em;
margin-left:-0.5em;
}
.flow>LI H5 .step_number{
width:2.8em;
text-align:center;
}
.flow>LI H5 .step{
display:block;
font-size:66.7%;	/* 12px */
color:#2F4F4F;	/* DarkSlateGray */
}
.flow>LI H5 .number{
margin:0 auto;
display:block;
font-size:166.7%;	/* 30px */
}

.flow>LI H5 .text{
padding-top:1.5em;
display:block;
width : -webkit-calc(100% - 3.2em) ;
width : calc(100% - 3.2em);
}

.flow>LI>DL.list,
.flow>LI>P{
margin-left:3.2em;
}

@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	.flow>LI>DL.list,
	.flow>LI>P{
	margin-left:0;
	}
	.flow>LI>DL.list{
	margin-top:0.3em;
	}

	.flow UL.item.space-between{
	padding:0;
	}


}

/*------------------------------------------------
  2列の表のような小さいDLリスト .flexbox併用
  #contact 営業時間・休館日の表
------------------------------------------------*/
.dl_table_mini{
margin:0.5em auto auto auto;
}
*>.dl_table_mini:first-child{	/* ネストで先頭の時 */
margin-top:0;
}

.dl_table_mini>DT,
.dl_table_mini>DD{
margin:0.25em 0;
}
.dl_table_mini>DD{
padding:0 0 0 0.5em;
}

.dl_table_mini>DT{	/* 背景色はclassで指定 class="graybg"等 */
width:6em;
}
.dl_table_mini.longname>DT{	/* 背景色はclassで指定 class="graybg"等 */
width:10em;
}
.dl_table_mini>DT[class*="bg"]{	/* 背景色ありの時はセンタリング */
text-align:center;
}
.dl_table_mini>DD{
width : -webkit-calc(100% - 6em) ;
width : calc(100% - 6em);
text-align:left;
}
.dl_table_mini.longname>DD{
width : -webkit-calc(100% - 10em) ;
width : calc(100% - 10em);
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.dl_table_mini>DT,
	.dl_table_mini>DD{
	margin:0;
	padding:0;
	width:100%;
	text-align:left;
	}
	.dl_table_mini>DD+DT{
	margin-top:0.5em;
	}
	/*------ 背景色ありの時 ------*/
	.dl_table_mini>DT[class*="bg"]{
	margin:0.5em 0 0 0;
	padding:0 0.5em;
	text-align:left;
	}
	.dl_table_mini>DT[class*="bg"]+DD{
	margin:0.25em 0 0 0;
	padding:0 0.5em;
	}

}


/*------------------------------------------------
  2列の表のようなDLリスト .flexbox併用
------------------------------------------------*/
.dl_table{
margin:auto;
border-top:2px solid #80989B;	/* 湊鼠 */
border-bottom:2px solid #80989B;	/* 湊鼠 */
width:100%;
}
.dl_table+.dl_table{
margin-top:0.5em;
}

.dl_table>DT,
.dl_table>DD{
margin:0;
padding:0.5em;
border-top:1px solid #80989B;	/* 湊鼠 */
}
[class^="dl_table"] *{
opacity:1.0;	/* スクロールエフェクト除外 */
}

.dl_table>DT{
width:10em;
text-align:center;
background:#CEE8DA;	/* #BEE0CE 75% Opal green */
}
.dl_table>DD{
width : -webkit-calc(100% - 10em) ;
width : calc(100% - 10em);
text-align:left;
}
.dl_table>DT:first-of-type,
.dl_table>DD:first-of-type{
border-top:none;
}


.dl_table.type_b>DT{
background-color:#F9CEDE;	/* 淡紅色 */
}
.dl_table.type_b>DD{
background-color:#FEF9FB;	/* pink white */
}



/*------ ネスト ------*/
.dl_table .dl_table{
margin:-0.5em;
border:none;

}
.dl_table .dl_table>DT,
.dl_table .dl_table>DD{
padding:0.5em 1.0em;
border-top:1px solid rgba(128,152,155,0.5);	/* #80989B 湊鼠 */
}
.dl_table .dl_table>DT{
background:#E5F3EB;	/* #BEE0CE 40% Opal green */
color:#000;
}

.dl_table .dl_table>DT:first-of-type,
.dl_table .dl_table>DD:first-of-type{
border-top:none;
}

.dl_table .dl_table>DD{
word-spacing:0.5em;
line-height:1.5;
}

.dl_table .dl_table>DD>UL{
margin:0 -1.0em;
width:auto;
}
.dl_table .dl_table>DD>UL:not(.kome)>LI{
padding-left:1.0em !important;
}
.dl_table .dl_table>DD>UL>LI+LI{
margin-top:0.5em;
padding:0.5em 0 0 0;
border-top:1px solid #CCC;
}
.dl_table .dl_table DD UL.kome{
margin-left:0;
}

.dl_table .dl_table+ UL.kome{
margin:0.5em -0.5em 0 -0.5em;
padding-top:0.5em;
padding-right:0.5em;
border-top:1px solid #CCC;
}

.dl_table>DD>UL.sublist LI+LI,
.dl_table>DD>UL.sublist +.kome{
margin-top:0.5em;
}
.dl_table .label{
text-align:center;
}
/*------ 項目名が長いとき ------*/
.dl_table.longname>DT{
width:15em;
}
.dl_table.longname>DD{
width : -webkit-calc(100% - 15em) ;
width : calc(100% - 15em);
}





@media only screen and (max-width:900px) {	/* 幅の狭いPC以下用 */
	.dl_table{
	width:100%;
	min-width:auto;
	min-width:initial;
	}
	.dl_table .dl_table{
	margin:0 auto;
	width:100%;
	}

	.dl_table DT BR{
	display:none;
	}
	.dl_table>DT{
	padding:0.25em 0.5em;
	text-align:left;
	display:block;
	width:100% !important;
	border:none;
	border-top:2px solid #80989B;	/* 湊鼠 */
	}
	.dl_table .dl_table{
	margin:-0.5em -0.5em 0 -0.5em;
	width:auto;
	}
	.dl_table .dl_table DT{
	padding:0.3em 0.5em;
	border-top:none;
	}
	.dl_table .dl_table DD+DT{
	margin-top:0.5em;
	}


	.dl_table.longname>DD,
	.dl_table>DD{
	padding:0.5em;
	width:100%;
	border-top:none;
	}
}
	@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.dl_table .dl_table DD{
	padding:0.25em 0 0.2em 0.2em;
	}
	.dl_table .dl_table>DD>UL{
	margin:0 0 0 -0.2em;
	}

}




/*------------------------------------------------
   リンクボタン（共通）
------------------------------------------------*/
[class^="link_"]{
zoom: 1;
outline: none;
text-align:center;
display:inline-block;
line-height:1.2;
}
[class^="link_"]:not(.outline){
color:#FFF;
background:#006655;	/* AAA緑 */;
}
[class^="link_"].darkolivebg{
background:#553;
}


[class^="link_"] SPAN,
[class^="link_"] I{
vertical-align:middle;
}

[class^="link_"]:not(.outline):hover{
color:#FFF;
opacity:0.7;
}
[class^="link_"].white{
color:#FFF !important;
}


.link_large.before [class^="fa-"]:nth-of-type(1),
.link_small.before [class^="fa-"]:nth-of-type(1){	/* 行頭にアイコン */
padding-left:0.5em;
margin-right:0.5em;
}
.link_large.before.wide [class^="fa-"]{
margin-left:-1.2em !important;
}
.link_large.after [class^="fa-"]:not( [class^="fa-"]:nth-of-type(1) ),
.link_small.after [class^="fa-"]:not( [class^="fa-"]:nth-of-type(1) ){	/* 行末にアイコン */
a margin-left:0.5em;
}

/*------ 行末に右向き矢印 ------

<A href="hogehoge.html" class="link_large outline after">
  <SPAN>TITLE</SPAN>
  <I class="fa-solid fa-angle-right"></I>
</A>

------------------------------*/

[class^="link_"] [class*="-right"]{	/* 行末に右向き矢印 */
margin-right:-0.25em;
margin-left:1.0em;
line-height:1.0;
font-size:75%;
}
[class^="link_"]:has([class*="-right"])>*{
vertical-align:middle;
}
/*------ アウトライン ------*/
*[class^="link_"].outline,
A[class^="link_"].outline:visited{
background:transparent;
border-width:1px;
border-style:solid;
}
*[class^="link_"].outline:hover{
opacity:0.7;
}
.blackbg *[class^="link_"].outline:hover{
background-color:#433D3C; /* 檳榔子染 */
}


/*------ PDFタイプ ------*/
*[class^="link_"].pdf{
padding-left:50px;
padding-right:25px;
}
*[class^="link_"].pdf{
background-image:url(img/pdf.png);
background-repeat:no-repeat;
background-position:20px 0.55em;
background-position:20px 0.8em;
background-size:24px auto;
-webkit-background-size:24px auto;
-moz-background-size:24px auto;
-o-background-size:24px auto;
-ms-background-size:24px auto;
position:relative;
}
/*------ ファイルサイズ添え書き ------*/
.filesize{
display:inline-block;
vertical-align:middle;
font-size:75.0%;	/* 12px */
line-height:1.1;
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.filesize{
	display:block;
	position:absolute;
	bottom:-1.5em;
	right:1.0em;
	color:#000;
	}
}

/*------------------------------------------------
   リンクボタン（小）
------------------------------------------------*/
.link_small,
.link_small:visited{
padding:0.3em 0.8em;
}

@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	A.link_small{
	padding:0.5em 0.8em;
	}
}


/*------------------------------------------------
   リンクボタン（中）
------------------------------------------------*/
.link_middle,
.link_middle:visited{
margin:auto;
padding:0.6em 1.0em;
min-width:10.0em;
}


/*------------------------------------------------
   リンクボタン（大）
------------------------------------------------*/
.link_large,
.link_large:visited{
margin:auto;
padding:1.0em;
min-width:10.0em;
}

.link_large.wide{
min-width:20.0em;
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.link_large{
	padding:1.0em 0.5em;
	display:block;
	width:100%;
	}
	.link_large.wide{
	min-width:initial;
	}

}
@media only screen and (max-width:320px) {	/* スマホS縦用 */
	.link_large.longname{
	padding:calc( 4.8vw / 0.75 ) 0.5em ;
	font-size:4.8vw;
	}
}


/*------------------------------------------------
  斜め
------------------------------------------------*/
/*------ 右上がり3° ------*/
.naname{
transform: rotate(-3deg);
-webkit-transform: rotate(-3deg);
-moz-transform: rotate(-3deg);
-o-transform: rotate(-3deg);
-ms-transform: rotate(-3deg);

}
/*------ 右下がり3° ------*/
.naname-{
transform: rotate(3deg);
-webkit-transform: rotate(3deg);
-moz-transform: rotate(3deg);
-o-transform: rotate(3deg);
-ms-transform: rotate(3deg);
}



/*------------------------------------------------
   強調枠囲み
------------------------------------------------*/
/*------------------------------------------------
  お問い合わせ枠
------------------------------------------------*/
.check{
border:2px solid #EEBBCB;	/* 撫子色 */
}
.color{	/* 枠線なしで塗りつぶしだけ、.xxxbg 背景色と同時指定 */
}
.check,
.color{
padding:1.0em 2.0em;
}
.check.margin_top{
margin-top:4.0em;
}

SECTION.check,
SECTION.color{
padding:2.0em;
}
SECTION.check H4.table:first-of-type{
margin-top:-2.1em;
padding:0 0.5em;
opacity:1.0;
}

DIV.color,
DIV.check{
margin-top:1.8em;
margin-bottom:1.8em;
}

.color>*,
.check>*{
margin-top:0;
margin-bottom:0.3em;
}
.color>H4,
.color>H5,
.check>H4,
.check>H5{
margin-bottom:1.0em;
}
.check>*:not(H4)+H5{
margin-top:2.5em;
}

.color.island,
.check.island{
margin-right:auto;	/* インデントリセット */
margin-left:auto;	/* インデントリセット */
display: table;
a min-width:600px;
}



/*------ TEL・Mail ------*/
.check LI.tel,
.check LI.fax,
.check LI.mail{
padding-left:0;
background:#FFF;
}
.check LI.tel{
font-size:125.0%;	/* 20px */
}
.check LI.tel::before,
.check LI.fax::before,
.mail::before{
margin-right:0.5em;
display:inline-block;
font-family: "Font Awesome 5 Free";
font-weight:bold;
vertical-align:middle;
}
.check LI.tel::before{
content:"\f095";
}
.check LI.fax::before{
content:"\f1ac";
font-size:125.0%;	/* 20px */
}
.mail::before{
margin-top:-0.2em;
margin-right:0.3em;
content:"\f0e0";
font-size:100%;
}



@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	.color,
	.color.island,
	.check,
	.check.island{
	margin-right:0;	/* インデントリセット */
	margin-left:0;	/* インデントリセット */
	min-width:auto;
	min-width:initial;
	display: block;
	width:auto;
	}
}


@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.color,
	.check{
	padding:10px;
	}
	SECTION.check{
	padding:1.0em 10px 10px 10px;
	}
	SECTION.check H4.table:first-of-type{
	margin-top:-1.5em;
	}
	#facilities SECTION.check H4.table:first-of-type{
	margin-top:-2.1em;
	}
}


.radius{
border-radius:0.5em;
-webkit-border-radius:0.5em;
-moz-border-radius:0.5em;
}
.radius1em{
border-radius:1em;
-webkit-border-radius:1em;
-moz-border-radius:1em;
}
.link_large.radius2em,
.link_small.radius2em,
.radius2em{
border-radius:2em;
-webkit-border-radius:2em;
-moz-border-radius:2em;
}
.radius50{
border-radius:50%;
-webkit-border-radius:50%;
-moz-border-radius:50%;
}

/*--------------------------------------------------------------------
  共通レイアウト枠
--------------------------------------------------------------------*/

@media only screen and (min-width:769px) {	/* PC用 */
	MAIN{
	min-height:70vh;
	}
}
BODY:not(#home) MAIN{
padding:0 0 3.0em 0;
}
BODY:not(#home) ARTICLE{
padding:3.0em 0;
position:relative;
}

#header+*{
margin-top:50px;
}

@media only screen and (min-width:1201px) {	/* 幅の広いPC以上用 */
	#header+*{
	margin-top:70px;
	}
}
@media only screen and (min-width:769px) and (max-width:1200px) {
}


@media only screen and (max-width:540px) {	/* スマホ縦用 */
	BODY:not(#home) ARTICLE{
	padding:3.0em 0;
	}
}


.lv1{
padding:6em 0;
}
.lv2{
padding:3em 0;
}
.lv3{
padding:1em 0;
}


/*------------------------------------------------
  SECTION
------------------------------------------------*/
BODY:not(#home) ARTICLE#lead{
padding-top:0;
}
BODY:not(#home) ARTICLE#lead>H3:first-of-type{
padding-top:1.5em;
}

.lead{
font-size:112.5%;	/* 18px */
font-weight:500;
position:relative;
line-height:1.8;
text-align:center;
}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.lead{
	text-align:left;
	}
}

.lead+*{
margin-top:3.0em;
}

.content{
margin-right:auto;
margin-left:auto;
padding-top:0.5em;
padding-bottom:0.5em;
width : -webkit-calc(100% - 50px) ;
width : calc(100% - 50px);
max-width:1150px;
}
.content.text{
text-align: left;
}
.content.text UL.inline-block-li:not(.text_aligncenter){
text-align: left;
}

H3+.content:not(.flexbox)>*:first-child{
margin-top:1.0em;
}
SECTION+SECTION{
margin-top:1.0em;
}

.photobg{
background-image:url(img/spacer.gif);
background-repeat:no-repeat;
background-position:center;
background-size:cover;
-webkit-background-size:cover;
-moz-background-size:cover;
-o-background-size:cover;
-ms-background-size:cover;
}
.photobg.fixed{
background-attachment:fixed;
}
.ios .photobg.fixed{
background-attachment:scroll;
}
.filter{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background-color:rgba(0,0,0,0.5);
z-index:1;
}
.title>SECTION{
padding:10em 1em 8em 1em;
}


/*------ 背景色 ------*/
.whitebg{
background-color:#FFF;
}
.blackbg{
background-color:#000;
}
.terracottabg{
background-color:#6F4B3E; /* 焦げ茶 */
}
.brownbg{
background-color:#3F312B; /* 赤墨 */
}

/*------ 青系AA ------*/
.bluebg{
background-color:#00608D;	/* Madonna blue */
}

/*------ 緑系AAA ------*/
.greenbg{
background-color:#006655;	/* AAA緑 */
}
.darkolivebg{
background-color:#553;	/* Olive++ */
}
.darkgreenbg{
background-color:#033;
}

/*------ 緑系AA ------*/
.greenbg-{
background-color:#008570;	/* エメラルドorg */
}


/*------ 赤系 ------*/
.darkredbg{
background-color:#6C272D;	/* Bordeaux */
}

/*------ その他の色 ------*/
.lightgreenbg{
background-color:#00A381;	/* 花緑青 */
}
.beigebg{
background-color:#EAE1CF;	/* Oyster */
}
.palegreenbg{
background:#DEEFE6;	/* #BEE0CE 50% Opal green */
}
.graybg{
background-color:#EEEAEC;	/* Silver pink */
}
.darkpinkbg{
background-color:#F9CEDE;	/* 淡紅色 */
background-color:#EEBBCB;	/* 撫子色 */

}

.pinkbg{
background-color:#F9CEDE;	/* 淡紅色 */
}
.palepinkbg{
background-color:#FEF9FB;	/* pink white */
}

@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	ARTICLE{
	padding:3em 0;
	max-width:auto;
	max-width:initial;
	min-width:auto;
	min-width:initial;
	}
	BODY:not(#home) ARTICLE>*{
	max-width:auto;
	max-width:initial;
	min-width:auto;
	min-width:initial;
	}
	.lead P{
		text-align:left;
}
	.lead P BR{
	display:none;
	text-align:left;
	}

}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.content.text{
	text-align: left;
	}

}

/*--------------------------------------------------------------------
  右側メニュー欄 
--------------------------------------------------------------------*/
/*------------------------------------------------
  右側サブメニュー欄 
------------------------------------------------*/
/*------------------------------------------------
  右側バナー欄 
------------------------------------------------*/


/*--------------------------------------------------------------------
  ヘッダー
--------------------------------------------------------------------*/
#header{
background:rgba(255,255,255,0.98);
color:#000;
width:100%;
position:fixed;
top:0;
left:0;
z-index:1000;
display:table;
letter-spacing:0.05vw;
}
@media only screen and (max-width:1200px) {	/* 幅の狭いPC以下用 */
	BODY.menuopen #header{
	border-bottom:1px solid #80989B;	/* 湊鼠 */
	}
}
#header.scroll{
box-shadow: 0 2px 2px 0 rgba(0,0,0,0.1); 
}
#header.scroll:has(.open){
box-shadow:none; 
}

@media only screen and (max-width:768px) {	/* スマホ横以下用 */
#header{
letter-spacing:1px;
}
}



/*------------------------------------------------
  ヘッダーロゴ 
------------------------------------------------*/
#header H1{
margin:0;
display:table-cell;
vertical-align:middle;
position:relative;
z-index:10;
max-width:210px;
}
A.logo{
margin:5px 10px;
display:table;
transition: opacity 0.5s ease;
-webkit-transition: opacity 0.5s ease;
-moz-transition: opacity 0.5s ease;
-o-transition: opacity 0.5s ease;
overflow:hidden;
background-image:url(img/logo.png);
background-repeat:no-repeat;
background-position:left center;
background-size:100% auto;
-webkit-background-size:100% auto;
-moz-background-size:100% auto;
-o-background-size:100% auto;
-ms-background-size:100% auto;
width:100%;
max-width:190px;
height:40px;
}
#header H1 A{	/* 上記 A.logo */
display:block;
}

.logo SPAN{
display:none;
}
.logo.white,
.white .logo{
background-image:url(img/logo_w.png);
}

#header H1 A:hover{
color:#FFF;
opacity:0.7;
}
@media only screen and (min-width:1201px) {	/* 幅の広いPC以上用 */
	#header H1{
	max-width:210px;
	}
	#header H1 A.logo{
	margin:15px 10px;
	width:190px;
	max-width:initial;
	}
}
@media only screen and (min-width:1501px) {	/* 幅の広いPC以上用 */
	#header H1 A.logo{
	margin-left:20px;
	}
}

@media only screen and (max-width:1200px) {	/* 幅の狭いPC以下用 */
	#header H1{
	display:block;
	width : -webkit-calc(100% - 55px) ;
	width : calc(100% - 55px);
	}
	#header H1 A.logo{
	margin:5px 0 5px 1vw;
	}
}








/*--------------------------------------------------------------------
  プライマリーナビゲーションメニュー(PrimaryMenu)
--------------------------------------------------------------------*/

/*------------------------------------------------
  本文へ
------------------------------------------------*/
#skiplink{
top:60px;
right:0.75em;
}
A#skip{
padding:0.5em 1.0em;
font-size:87.5%;	/* 14px */
display:block;
background-color:#FFF;
color:#006655;	/* AAA緑 */
white-space:nowrap;
z-index:2;
text-align:center;
}
#home A#skip{
background-color:#006655;	/* AAA緑 */
color:#FFF;
}
#skip:hover{
opacity:0.7;
}
#skip .arrow.after{
right:0.5em;
}
#header.scroll #skiplink{
display:none;
}

/*------ 本文 ------*/
#maintext{
display:block;
overflow: hidden;
width:0;
height:0;
clip:rect(0,0,0,0);
}

@media only screen and (min-width:1201px) {	/* 幅の広いPC以上用 */
	#skiplink{
	top:80px;
	}
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	#skiplink{
	display:none;
	}
}

/*------------------------------------------------
  ヘッダーTEL
------------------------------------------------*/

/*------------------------------------------------
  ヘッダー SNSメニュー
------------------------------------------------*/

/*------------------------------------------------
  言語切り替え
------------------------------------------------*/


/*------------------------------------------------
  Fontchanger PCのみ
------------------------------------------------*/

/*------------------------------------------------
  サイト内検索
------------------------------------------------*/

/*--------------------------------------------------------------------
  グローバルナビゲーションメニュー(menubar)
--------------------------------------------------------------------*/
#global_navi{
margin:0 auto;
display:block;
position:relative;
z-index:100;
font-weight:500;
}

/*------------------------------------------------
  全体 
------------------------------------------------*/
#global_navi > SPAN{
display: none;
}

/*------------------------------------------------
  第一階層
------------------------------------------------*/
#global_navi{
margin:0;
position:absolute;
top:0;
right:0;
width:100%;
height:5px;
background:none;
}
#global_navi > SPAN{
display:block;
padding:0;
position:absolute;
top:0;
right:0;
width: 50px;
height: 50px;
text-align: left;
text-indent: 100%;	/* text-indent: -9999px; */
overflow: hidden;	/* text-indent: -9999px; */
white-space: nowrap;	/* text-indent: -9999px; */
background-image:url(img/sp_nav.png);
background-repeat:no-repeat;
background-position:-50px 0;
background-size:auto 50px;
cursor:pointer;
transition: opacity 0.5s ease;
-webkit-transition: opacity 0.5s ease;
-moz-transition: opacity 0.5s ease;
-o-transition: opacity 0.5s ease;
}
#global_navi > SPAN:hover{
opacity:0.6;
}

#global_navi > SPAN.open{
background-position:-100px 0;
/* right:15px;	 スクロールバー幅 */
}

UL#globalmenu{
margin:0;
width:100%;
/* display: none; */
position: absolute;
/* top:50px; */
top:-300vh;
right:0;
left:0;
opacity:0;
height:0;
background-color:#FFF;
z-index:110;
transition: opacity 0.3s ease, height 0.3s ease;
-webkit-transition: opacity 0.3s ease, height 0.3s ease;
-moz-transition: opacity 0.3s ease, height 0.3s ease;
-o-transition: opacity 0.3s ease, height 0.3s ease;
}
UL#globalmenu.open{
padding:0;
display:block;
top:51px;
width:100%;
height : -webkit-calc(100vh - 50px);
height : calc(100vh - 50px);
overflow-y: scroll;	/* 展開時に縦スクロール */
opacity:1.0;
background-color:rgba(255,255,255,0.98);
}
UL#globalmenu>LI A{
color:#000;
}
UL#globalmenu>LI A:hover{
opacity:0.7;
}

UL#globalmenu>LI{
display:block;
text-align:left;
background-color:#FEF9FB;	/* pink white */
border-bottom:1px solid #80989B;	/* 湊鼠 */
}
UL#globalmenu>LI>A{
padding:0.8em 1.0em 0.8em 0.5em;
background:transparent;
display: block;
}
UL#globalmenu>LI.active,
UL#globalmenu>LI.active>A,
UL#globalmenu>LI.parent.active.open-children>.children{
background:#FFF;
}
UL#globalmenu>LI:not(.open-children).active>A:hover,
UL#globalmenu>LI:not(.open-children).parent.active>A:hover{
background:#FFF;
}
UL#globalmenu>LI:not(.open-children)>A:hover{
background-color:#BEE0CE; /* Opal green */
}

UL#globalmenu>LI .fa-solid{
display:none;
}

/*------------------------------------------------
  階層
------------------------------------------------*/
DIV.children{
padding:1px 0;
display:none;
}
/*------------------------------------------------
  第二階層
------------------------------------------------*/
UL.child{
}
UL.child>LI{
text-align:left;
vertical-align:top;
}
UL.child>LI>A{
padding:1.0em;
display:inline-block;
}

UL.child>LI:not(:has(.mago)){
display:inline-block;
}


/*------------------------------------------------
  第三階層
------------------------------------------------*/
UL.mago{
margin-left:0.65em;
padding:0 0 1.0em 0;
}
UL.mago>LI{
margin:0 0.5em;
display:inline-block;
font-size:93.75%;	/* 15px */
}
UL.mago>LI>A{
padding:0.25em 0.5em;
display:block;
}

@media only screen and (min-width:1201px) {	/* 幅の広いPC以上用 */
	#global_navi{
	margin:0;
	position:static;
	width:auto;
	height:auto;
	display:table-cell;
	vertical-align:bottom;
	}
	#global_navi > SPAN{
	display:none;
	}
	UL#globalmenu.open,
	UL#globalmenu{
	margin:auto 0 auto auto;
	width:auto;
	height:auto;
	display:table;
	position: static;
	opacity:1.0;
	background-color:transparent;
	line-height:1.2;
	text-align:center;
	border-collapse: collapse;
	border-spacing:0 0;
	font-size:93.75%;	/* 15px */
/*	overflow:hidden; */
	}
	UL#globalmenu>LI{
	display:table-cell;
	z-index:23;
	vertical-align:top;
	background-color:transparent;
	border-bottom:none;
	}
	UL#globalmenu>LI.active,
	UL#globalmenu>LI:hover{
	background:transparent;
	}

	UL#globalmenu>LI>A{
	margin-bottom:1px;
	padding:1.0em;
	border-bottom:2px solid transparent;
	}
	UL#globalmenu>LI.parent.active.open>A,
	UL#globalmenu>LI.active>A{
	border-color:#000;
	}

	UL#globalmenu>LI.parent.open>A,
	UL#globalmenu>LI>A:hover{
	border-color:#00A381;	/* 花緑青 */
	background:transparent;
	}
	UL#globalmenu>LI:not(.open-children)>A:hover{
	background:transparent;
	}

	/*------------------------------------------------
	  PC階層
	------------------------------------------------*/
	DIV.children{
	padding:20px;
	visibility:hidden;
	opacity:0;
	position: absolute;
	z-index:99;
	top: 100%;
	left:0;
	width:100%;
	text-align:left;
	font-size:106.7%;	/* 16px */
	background-color:#00A381;	/* 花緑青 */
	transition: top 0.5s ease, opacity 0.5s ease;
	-webkit-transition: top 0.5s ease, opacity 0.5s ease;
	-moz-transition: top 0.5s ease, opacity 0.5s ease;
	-o-transition: top 0.5s ease, opacity 0.5s ease;
	display:block;
	}
	.scroll DIV.children{
	background-color:rgba(0,163,129,0.98);	/* #00A381 花緑青 */
	}




	/*------------------------------------------------
	  PC第二階層
	------------------------------------------------*/
	UL#globalmenu>LI.parent>A{
	position:relative;
	z-index:101;
	}
	UL#globalmenu>LI.parent>A:hover{
	opacity:1.0;
	color:#666;
	}
	UL#globalmenu>LI.parent.active>A,
	UL#globalmenu>LI.parent.active>A:hover{
	background:transparent
	}
	UL#globalmenu>LI.parent>A:hover::after,
	UL#globalmenu>LI.parent.open>A::after{
	content:"";
	display:block;
	text-align:center;
	position:absolute;
	transform : translateX(-50%);
	top:-webkit-calc(100% + 2px);
	top:calc(100% + 2px);
	left:50%;
	height:0;
	width:0;
	border-style: solid;
	border-color: transparent transparent #FFF transparent;
	border-width: 0 10px 21px 10px;
	opacity:1.0;
	}
	.children A,
	.children A:visited{
	color:#000;
	display:inline-block;
	}
	.children A:hover{
	opacity:0.7;
	}

	#globalmenu>LI:hover>DIV.children{
	visibility:visible;
	opacity:1.0;
	display:flex !important;
	}

	/*------ 子メニュー ------*/
	UL.child{
	margin:0 auto;
	padding:1.0em 0;
	display:block;
	width:100%;
	background:#FFF;
	text-align:center;
	}

	/*------------------------------------------------
	  PC第三階層
	------------------------------------------------*/
	UL.mago{
	margin-left:1.0em;
	}
	UL.mago>LI>A{
	padding:0.5em;
	}


	@media only screen and (max-height:450px) {	/* 高さの狭いPC用 */
		BODY:has(.parent.open){
		overflow:hidden;
		}
		UL#globalmenu:has(.parent.open){
		/* margin-right:15px !important;	 スクロールバー幅 */
		}

		DIV.children{
		height : -webkit-calc(100vh - 70px);
		height : calc(100vh - 70px);
		overflow-y: scroll;	/* 展開時に縦スクロール */
		}
	}
}

@media only screen and (min-width:769px) and (max-width:1200px) {	/* 幅の狭いPC用 */
	#globalmenu.open DIV.children{
	visibility:visible;
	opacity:1.0;
	display:block !important;
	}
	#globalmenu.open>LI.parent.active>DIV.children{
	background:#FFF;
	}

}
@media only screen and (max-width:1200px) {	/* 幅の狭いPC以下用 */
	UL.child.display_b.type_image.size_s>LI A{
	}
	UL.child.display_b.type_image.size_s>LI A>*{
	display:inline-block;
	vertical-align:middle;
	}

	UL.child.display_b.type_image.size_s>LI IMG{
	margin:0 0.5em 0 0;
	width:30px;
	}
	UL.child.display_b.type_image.size_s>LI .text{
	margin:0;
	}


}
@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	UL#globalmenu.open{
	top:51px;
	}
	UL#globalmenu>LI{
	position:relative;
	}
	UL#globalmenu>LI>A{
	position:relative;
	z-index:3;
	}
	UL#globalmenu>LI.parent>A{
	position:static;
	}
	/*------------------------------------------------------------------------
	サブメニュー無し <A>タグの内側
	<I class="fa-solid fa-angle-right"></I></A></LI>
	
	サブメニュー有り <A>タグの外側
	</A><I class="fa-solid fa-plus"></I><I class="fa-solid fa-minus"></I></LI>
	-------------------------------------------------------------------------*/
	/*------ 「>」「+/-」共通 ------*/
	UL#globalmenu>LI .fa-solid{
	position:absolute;
	top:0.4em;
	right:0;
	display:inline-block;
	line-height:2.7em;
	width:2.0em;
	z-index:20;
	transition: opacity 0.5s ease;
	-webkit-transition: opacity 0.5s ease;
	-moz-transition: opacity 0.5s ease;
	-o-transition: opacity 0.5s ease;
	cursor:pointer;
	font-size:87.5%;
	}
	UL#globalmenu>LI.parent>.fa-solid.fa-plus,	/* サブメニュー展開前「+」 */
	UL#globalmenu>LI.parent.open-children>.fa-solid.fa-minus{	/* サブメニュー展開時「-」 */
	opacity:1.0;	/* 表示 */
	z-index:2;		/* ひとつ上層 */
	}
	UL#globalmenu>LI.parent.open-children>.fa-solid.fa-plus,	/* サブメニュー展開時「+」 */
	UL#globalmenu>LI.parent>.fa-solid.fa-minus{	/* サブメニュー展開前「-」 */
	opacity:0;		/* 非表示 */
	z-index:1;		/* ひとつ下層 */
	}
	UL#globalmenu>LI>.fa-solid:hover{
	opacity:0.5;
	}
	
}

@media only screen and (max-width:540px) {	/* スマホ縦用 */

	UL#globalmenu.open{
	height : -webkit-calc(100vh - 50px);
	height : calc(100vh - 50px);
	}
}

/*------------------------------------------------
  コンテンツメニュー共通
------------------------------------------------*/
.contentmenu{
padding:2.0em 0;
}
.contentmenu UL{
margin:0 auto;
display:flex;
flex-wrap:wrap;
justify-content:center;	/* 左右中央揃え（センタリング） */
row-gap:10px;
column-gap:10px;
width : -webkit-calc(100% - 50px) ;
width : calc(100% - 50px);
max-width:1150px;
}
.contentmenu LI{
margin:0;
padding:0.25em 0;
display:flex;
}
.contentmenu UL>LI>A{
padding:0.5em 0.2em;
color:#006655;	/* AAA緑 */
background:#FFF;
width:100%;
display: flex;
justify-content: center; /* 水平方向の中央揃え */
align-items: center;     /* 垂直方向の中央揃え */
flex-direction: row;
border-radius:2em;
-webkit-border-radius:2em;
-moz-border-radius:2em;
}

@media only screen and (min-width:1201px) {	/* 幅の広いPC用 */
	#facilities .contentmenu UL.icon.display_ib A{
	flex-direction: column;
	border-radius:0.5em;
	-webkit-border-radius:0.5em;
	-moz-border-radius:0.5em;

	}
}
.contentmenu UL.icon.display_ib A .image,
.contentmenu UL.icon.display_ib A [class^="fa"]{
margin:auto 0.25em auto 0;
a display:none;	/* 項目数が増えたのでアイコン削除 */
}
.contentmenu UL.icon.display_ib IMG{
margin:0 auto;
a display:none;	/* 項目数が増えたのでアイコン削除 */
}

.contentmenu UL.icon.display_ib A .image{
padding:5px;
background:#FFF;
border-radius:50%;
-webkit-border-radius:50%;
-moz-border-radius:50%;
a display:none;	/* 項目数が増えたのでアイコン削除 */
}


/*------------------------------------------------
  コンテンツメニュー（ページ上部・下部共通）
------------------------------------------------*/
[id^="content_"]>.contentmenu A:hover{
opacity:0.7;
}
[id^="content_"]>.contentmenu LI.active A:hover,
[id^="content_"]>.contentmenu LI.active A{
background:#006655;	/* AAA緑 */
color:#FFF;
opacity:1.0;
}


/*------------------------------------------------
  コンテンツメニュー（ページ上部）
------------------------------------------------*/
#content_header>.contentmenu:not([class*="bg"] ){
background-color:#FDEFF2;	/* 薄桜 */
}
#content_header .contentmenu UL>LI>A{
border:1px solid #006655;	/* AAA緑 */
}
#content_header .contentmenu UL>LI.active>A .image{
margin-right:0.5em;
}


/*------------------------------------------------
  コンテンツメニュー（ページ下部）
------------------------------------------------*/
#return.content{	/* INDEXに戻る */
padding:3.0em 0;
border-top:1px solid #80989B;	/* 湊鼠 */
}
.archives #return.content{	/* アーカイブからINDEXに戻る */
margin-top:2.5em;
}

#content_footer{
margin-bottom:-3.0em;
background-color:#00A381;	/* 花緑青 */
}
#content_footer H3{
padding:0 15px;
}
#content_footer .contentmenu UL>LI>A{
padding:1.0em 0.2em;
}

/*------------------------------------------------
  コンテンツメニュー第二階層
------------------------------------------------*/
.contentmenu2{
padding:15px 25px 0 25px;
}

.contentmenu2>UL{
padding:0.5em 1.5em;
max-width:1150px;
width:100%;
border:1px solid #00A381;	/* 花緑青 */
border-radius:2.5vw;
-webkit-border-radius:2.5vw;
-moz-border-radius:2.5vw;
}
@media only screen and (max-width:1200px) {	/* 幅の狭いPC以下用 */
	.contentmenu2>UL{
	padding:0.5em 3vw;
	}

}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.contentmenu2>UL{
	text-align:left;
	}

}
.contentmenu2 LI>A{
padding:0.5em;
display:block;
}
.contentmenu2 LI>A:hover{
opacity:0.7;
}

.contentmenu2 LI>A:has(>.arrow.after){
padding-right:1.5em;
}


@media only screen and (min-width:1201px) {	/* 幅の広いPC用 */
	[id^="content_"]>.contentmenu{
	padding:3.0em 0;
	}
	[id^="content_"]>.contentmenu LI{
	flex: 1;
	}
}


@media only screen and (min-width:769px) and (max-width:1200px) {	/* 幅の狭いPC～スマホ横用 */
	[id^="content_"]>.contentmenu UL>LI{
	width: calc( ( 100% - 20px ) / 3 );
	}
}
@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	#content_footer{
	padding:3.0vw 0;
	}
}

@media only screen and (min-width:541px) and (max-width:768px) {	/* スマホ横用 */
	[id^="content_"]>.contentmenu UL>LI{
	width: calc( ( 100% - 10px ) / 2 );
	}
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */

	[id^="content_"]>.contentmenu UL>LI{
	width: 100%;
	}
	.contentmenu UL{
	row-gap:1.0vw;
	column-gap:1.0vw;
	}
	.contentmenu UL>LI>A{
	padding:0.75em 0.3em;
	}
	#content_header>.contentmenu{
	padding-top:0;
	padding-bottom:0;
	}
	#content_header>.contentmenu>UL{	/* スマホでは非表示 */
	display:none;
	}
	#content_header>.contentmenu UL>LI>A{
	font-size:min(4.8vw,100.0%);	/* 16px */
	}

}






/*------ ページ内メニュー ------*/
.links A{
margin:auto;
padding:0.5em 1.5em 0.5em 2.5em;
text-decoration:none;
color:#000;
display:table;
text-indent:-2.0em;
border-bottom:none !important;
}
.white .links A{
color:#FFF !important;
}
.links A *{
text-indent:0;
}

.links A [class^="fa"]{
margin-right:0.5em;
line-height:1.5em;
width:1.5em;
color:#FFF !important;
background:#028760;	/* 常磐緑 */
text-align:center;
}
.links A:hover{
opacity:0.6;
}


/*------------------------------------------------
  ページ送り（お知らせ・イベントアーカイブ）
------------------------------------------------*/
MAIN>NAV{
margin:auto;
width : -webkit-calc(100% - 50px);
width : calc(100% - 50px);
}
.pager UL{
padding:0 12px;
border-collapse: separate;
border-spacing:3px 10px;
}
.pager LI{
display:table-cell;
}
.pager LI:not(:has(A)){
padding:1.0em 0.5em;
opacity:0.5;	/* リンクが無い場合は淡色表示 */
}

.pager A{	/* 最新（index.html）へ */
padding:1.0em;
color:#FFF;
background:#006655;	/* AAA緑 */;
border:1px solid #006655;	/* AAA緑 */;
display:block;
}


.pager A:has( [class^="fa"]){
background:#FFF;
color:#000;
}
.pager A:hover{
}
.pager .next A,
.pager .prev A{
padding:1.0em 0.5em;
}
.pager LI:not(:has(A)){
background:#DCDCDC;
border:1px solid #999;
}

.pager LI.prev:not(:has(A)),
.pager .prev A{
border-radius:2em 0 0 2em;
-webkit-border-radius:2em 0 0 2em;
-moz-border-radius:2em 0 0 2em;
}
.pager LI.next:not(:has(A)),
.pager .next A{
border-radius:0 2em 2em 0;
-webkit-border-radius:0 2em 2em 0;
-moz-border-radius:0 2em 2em 0;
}
.pager .prev [class^="fa"]{	/* 次へ */
margin-right:0.2em;
margin-left:-0.4em;
}
.pager .next [class^="fa"]{	/* 前へ */
margin-left:0.2em;
margin-right:-0.4em;
}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.pager .link_large{	/* 最新（index.html）へ */
	width:auto;
	}
	.pager [class^="fa"]{
	display:none;
	}
}



/*--------------------------------------------------------------------
  パンくず・アンカー
--------------------------------------------------------------------*/
#pkl{
padding:0.5em 0;
font-size:87.5%;	/* 14px */
color:#000;
background-color:#FADCE9;	/* 淡紅色 */
}
#pkl A,
#pkl A:visited{
padding:0.25em;
display:block;
color:#000;
border-bottom:1px solid transparent;
}
#pkl A:hover{
border-bottom-color:inherit;
}

#pkl>UL{
margin:auto;
display:block;
width : -webkit-calc(100% - 20px) ;
width : calc(100% - 20px);
max-width:1150px;
text-align:left;
}
#pkl>UL LI{
display:inline-block;
}


/*------------------------------------------------
  アンカー 
------------------------------------------------*/
#pt{
margin:0;
z-index:100;
position: fixed;
bottom:5px;
right:5px;
width: 40px;
height: 40px;
}
#pt A{
margin:0 auto;
display: block;
width: 40px;
height: 40px;
background:rgba(0,133,112,0.6) url(img/pt.png) 0 0 no-repeat;	/* #008570 エメラルドorg */
border-radius:50%;
-webkit-border-radius:50%;
-moz-border-radius:50%;
zoom: 1;
}
#pt A:hover{
}
#pt A SPAN{
display:none;
}


/*--------------------------------------------------------------------
  フッター
--------------------------------------------------------------------*/
FOOTER{
margin:0 auto;
padding:0;
}

FOOTER *{
}
FOOTER A:not(.link_large):hover{
opacity:0.7;
}


/*------------------------------------------------
  footer 情報欄
-------------------------------------------------*/
#footer_information{
margin:0 auto;
padding-bottom:3.0em;
width : -webkit-calc(100% - 50px) ;
width : calc(100% - 50px);
max-width:950px;
z-index:2;
position:relative;
text-align:left;
}
/*------ H2名称 ------*/
#footer_name{
text-align:center;
}
#footer_information H2{
margin-top:3.0em;
font-size:112.5%;	/* 18px */
}
#footer_information H2 A:hover{
opacity:0.70;
}
#footer_information H2+P{
margin-top:1.0em;
}


/*------------------------------------------------
  footer 住所欄
-------------------------------------------------*/
#footer_information UL.footer_address{
margin-top:0.5em;
flex:1;
}

/*------ フッター 連絡先欄（TEL） ------*/
.footer_address{
}
.footer_address>LI{
margin:0.25em auto;
display:inline-block;
}
.footer_zip{	/* 〒 */
margin-right:0.5em;
}
.footer_zip_address{
padding-right:2.0em;
}
.footer_address>LI.footer_mail{
display:block;
}


.footer_address>[class^="footer_timetable"]{
padding-left:6.5em;
text-indent:-6.5em;
display:block;
}
.footer_address>LI.footer_timetable01{
margin-top:1.0em;
margin-bottom:0.5em;
}
[class^="footer_timetable"] .label{
padding:0;
width:6.5em;
}
.footer_contact .link_large{
margin-top:0.5em;
display:block;
font-size:114.3%;	/* 16px */
}
/*------------------------------------------------
  フッターメニュー
------------------------------------------------*/
#footer_menu{
margin:auto;
padding:1.5em 0 1.5em 0;
display:block;
text-align: center;
width : -webkit-calc(100% - 30px) ;
width : calc(100% - 30px);
}
#footer_menu>LI{
margin:5px 0;
display:inline-block;
vertical-align:middle;
font-size:87.5%;	/* 14px */
}

#footer_menu>LI>A{
padding:0.3em 1.0em;
display:block;
line-height:1.2;
}

#footer_menu>LI:nth-child(1)>A{
margin-left:0;
}
#footer_menu .sns_link{
margin-top:0;
margin-bottom:0;
font-size:114.3%;	/* 16px */
}
#footer_menu .sns_link LI{
margin:0;
}

@media only screen and (min-width:769px) {	/* PC用 */
	#footer_information{
	padding-top:3.0em;
	padding-bottom:3.0em;
	}

	/*------ H2名称 ------*/
	#footer_name{
	width:18em;
	}

	#footer_information H2{
	margin-top:0.3em;
	}
	#footer_information UL.footer_address{
	margin-top:0;
	}
	.footer_contact .link_large{
	padding:0.5em;
	}
	#footer_menu .sns_link{
	margin-left:3.0em;
	}

}

@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	.footer_address{
	display:table;
	width:auto;
	}
	.footer_address>LI.footer_mail,
	.footer_address>LI{
	display:table;
	padding-right:0;
	}
	.footer_address>[class^="footer_timetable"]{
	padding-left:0;
	text-indent:0;
	display:block;
	}
	[class^="footer_timetable"] .label{
	display:table;
	width:auto;
	}
	.footer_address>LI.footer_timetable01{
	margin-bottom:0.5em;
	padding-top:1.0em;
	border-top:1px solid rgba(255,255,255,0.5);
	}
	.footer_telfax SPAN.footer_slash{
	padding:0 0.4em;
	}
	#footer_menu>LI:has(.sns_link){
	margin-top:2.0em;
	display:block;
	}
}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.footer_zip{	/* 〒 */
	display:block;
	margin-right:0;
	}
	.footer_address>LI.footer_mail,
	.footer_address>LI{
	display:block;
	}
	.footer_telfax SPAN{
	padding:0.25em 0;
	display:block;
	}
	.footer_telfax SPAN.footer_slash{
	display:none;
	}
	.footer_address>.footer_contact{
	margin-top:1.5em;
	}

}

@media only screen and (max-width:320px) {	/* スマホS縦用 */
	.footer_address>[class^="footer_timetable"]{
	padding-left:0;
	text-indent:0;
	}
	[class^="footer_timetable"] .label{
	display:table;
	width:auto;
	}

}

/*------------------------------------------------
  フッター管理者バナー+著作権
------------------------------------------------*/
#footer_banner_copyright{
margin:auto;
padding:1.5em 60px;
width:100%;
position:relative;
z-index:1;
}


/*------ お客様の声・HybridConventionTM ------*/

#footer_clbanner{
margin:auto;
padding-top:2.0em;
padding-bottom:2.0em;
display:table;
}
#footer_clbanner>LI{
margin:0.5em;
display:inline-block;
vertical-align:middle;
width:298px;
height:76px;
background:#FFF;
}
A#banner_voice{
padding:0 5px 0 65px;
background:#EEEAEC URL(img/banner_voice.png) no-repeat 10px center;	/* Silver pink */
font-size:75.0%;	/* 12px */
display:table;
color:#000;
width:100%;
height:100%;
min-height:70px;
}
A#banner_voice SPAN{
display:table-cell;
vertical-align:middle;
text-align:left;;
}

#footer_clbanner>LI IMG{
display:block;
}




/*------------------------------------------------
  著作権
------------------------------------------------*/
#copyright{
margin:3.5em auto 0 auto;
font-size:68.75%;	/* 11px */
vertical-align:middle;
}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	#footer_banner_copyright{
	padding:1.0em 0;
	}
	#footer_clbanner>LI{
	height:auto;
	width:90%;
	max-width:298px;
	}
	#copyright{
	padding:0 50px 0 15px;
	text-align:left;
	}

}

/*-----------------------------------------------
  flexbox レイアウトをレスポンシブで可変
------------------------------------------------*/
BODY .flexbox{
display : -webkit-box;     /* old Android */
display : -webkit-flex;    /* Safari etc. */
display : -ms-flexbox;     /* IE10        */
display : flex;
-webkit-flex-wrap: wrap;          /* Safari etc. */
-ms-flex-wrap    : wrap;          /* IE10        */
flex-wrap        : wrap;
align-items: stretch;	/* 子要素の高さを揃える */
justify-content:center;	/* 左右中央揃え（センタリング） */
}
.flexbox.space-between{
justify-content: space-between;
}
.flexbox.space-around{
justify-content: space-around;
}
.flexbox.start{
justify-content:flex-start;	/* 左揃え（初期値） */
}
.flexbox.end{
justify-content:flex-end;	/* 右揃え */
}
.flexbox.startalign{
align-items: flex-start;	/* 子要素の高さを揃えず上に付ける */
}
.flexbox.center{
align-items: center;	/* 子要素の高さを揃えず天地中央に置く */
}

@media only screen and (min-width:769px) {	/* PC用 */
	.row-reverse{
	flex-direction: row-reverse;
	}
}



/*--------------------------------------------------------------------
  clearfix
--------------------------------------------------------------------*/
/*------ 親要素にまとめて回り込み解除 ------*/
#hogehoge::after{
    content: ""; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden;
}


/* Win版IE7とMac版IE5対策 */
#hogehoge{
	display: inline-table;
	min-height:1%;  /* for IE 7*/
}


/* Win版IE5および6対策 */
/* Hides from IE-mac \*/
* html #hogehoge{
	height: 1%;
}
#hogehoge{
	display: block;
}
/* End hide from IE-mac */



/*------ 個別に回り込み解除（clearfix） ------*/
.clearfix::after {
    content: ""; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden;
}

.clearfix {
	display: inline-table;
}

/* Hides from IE-mac \*/
* html .clearfix {
	height: 1%;
}
.clearfix {
	display: block;
}
/* End hide from IE-mac */