/*
Theme Name: jaise
*/

@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Old+Mincho:wght@400;500;600;700;900&display=swap');

/**
 * -----------------------------------------------------------------------------
 * 目次：
 * -----------------------------------------------------------------------------
 * 1.0 - 初期設定
 * 2.0 - 共通利用パーツ
 * 3.0 - 基本レイアウト
 * 4.0 - ヘッダー
 * 5.0 - スライダー
 * 6.0 - コンテンツ
 * 7.0 - サイドバー
 * 8.0 - フッター
 * 9.0 - 個別ページ
 *   9.1 - トップページ
 *   9.2 - 中面用
 *   9.3 - 個別ページ共通
 *   9.9 - システム
 *   9.10 - 目次（一番上の扉ページ）
 *   9.11 - 目的別ナビ
 *   9.12 - サイトマップ
 *   9.13 - MW WP フォーム
 * 10.0 - メディアクエリー
 * 11.0 - 調整
 * 12.0 - 印刷
 * -----------------------------------------------------------------------------
 */

/**
 * -----------------------------------------------------------------------------
 * 1.0　初期設定
 * -----------------------------------------------------------------------------
 */
 
 /* -----------------------------------
■タグ
----------------------------------- */

*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

html {
	/* 文字の大中小がある場合、bodyに設定したサイズが上書きされるため「html」に設定。 */
	font-size: 165%;/*120%;*/
	color:#333333;
}

body {
	font-size: 100%;
	margin: 0;
	padding: 0;
	font-family: 'Zen Kaku Gothic New', sans-serif;
}

header, main, aside, footer{
    display: block;
	margin: 0;
    padding: 0;
}

a {
	-webkit-transition: all 0.5s ease-out;  /* Saf3.2+, Chrome */
	-moz-transition: all 0.5s ease-out;  /* FF4+ */
	-ms-transition: all 0.5s ease-out;  /* IE10? */
	-o-transition: all 0.5s ease-out;  /* Opera 10.5+ */
	transition: all 0.5s ease-out;
}

a:link {
	color:#00304C;
	text-decoration: underline;
}
a:visited {
	color:#00304C;
	text-decoration: underline;
}
a:hover, a:active, a:focus {
	color:#9a1117;
	text-decoration: none;
}

a img{
	-webkit-transition: all 0.5s ease-out;  /* Saf3.2+, Chrome */
	-moz-transition: all 0.5s ease-out;  /* FF4+ */
	-ms-transition: all 0.5s ease-out;  /* IE10? */
	-o-transition: all 0.5s ease-out;  /* Opera 10.5+ */
	transition: all 0.5s ease-out;
}
a:hover img{
	opacity: 0.7;
}
a.noOver:hover img{
	opacity: 1.0;
}

ul{
	font-size:100%;
}
ul li{
	font-size:100%;
}
ul li ul{
	font-size:100%;
}
ul li ul li{
	font-size:100%;
}
ul li ul li ul{
	font-size:100%;
}
ul li ul li ul li{
	font-size:100%;
}

/* ↓安易に設定するとレイアウト（アクセシビリティボタンなど）に影響（メイン内のみに効かせる）　 */

main p{
	line-height: 1.8em;
}
main ul,main ol{
	margin-bottom:20px;
}
main ul li,main ol li{
	line-height: 1.5em;
	margin-bottom: 10px;
}
main ol{
	margin-left:0;
}
main ol li{
	margin-left:0.5em;
	padding-left:0;
}
main img{
	max-width:100%;
	height:auto;
}


 /**
 * -----------------------------------------------------------------------------
 * 2.0　共通利用パーツ
 * -----------------------------------------------------------------------------
 */

 /* ■テキスト揃え */
 .textCenter {
	text-align: center;
}

.textRight {
	text-align: right;
}


 /**
 * -----------------------------------------------------------------------------
 * 3.0　基本レイアウト
 * -----------------------------------------------------------------------------
 */

/* -----------------------------------
■サークルボタン
----------------------------------- */

/* ◆ページトップ2◆ */

#pageTop2 a {
	z-index: 999996;
	right: 7.157%;
	bottom: 80px;
	position: fixed;
	display: inline-block;
	width: 6.947%;
	height: auto;
	box-sizing: content-box;
}

#pageTop2 a img{
	width: 100%;
	height: auto;
}

/* パンくずリスト */
.breadcrumbCover{
	width:90%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 0 0 10px;
}
#breadcrumb {
	padding: 20px 0 0 0;
	margin: 0 0 80px 0;
	font-size:80%;
/*	font-weight: bold;*/
	font-weight: normal;
}
#breadcrumb ul{
	padding: 0;
	margin:0;
}
#breadcrumb li{
	display:inline;
	list-style: none;
}
#breadcrumb li:after{
	content: '>';
	padding: 0 10px;
	color: #555;
}
#breadcrumb li:last-child:after{
	content: '';
}
#breadcrumb li a {
	text-decoration: underline;
}
#breadcrumb li a:hover {
	text-decoration: underline;
}

 /**
 * -----------------------------------------------------------------------------
 * 4.0　ヘッダー
 * -----------------------------------------------------------------------------
 */

header {
	margin: 0 auto 0 auto;
}

#header{
	/*headerを全画面で見せる*/
	width:100%;
	min-height: 75vh;
	position: relative;
} 

#header:before{
	/*headerの疑似要素に背景画像を指定*/
	content:"";
	position:fixed;
	top:0;
	left:0;
	z-index:-1;
	width:100%;
	height: 100vh;
	background:url("images/bg001.jpg") no-repeat center #EEEEEE;/*背景画像設定※オリジナル画像を設定してください*/
	background-size:cover;
}

#container{
	/*下のかぶさるエリアの指定*/
	position: relative;
	z-index:1;
}

.headerTitleArea {
	width: 100%;
	text-align:center;
	padding: 0.5em;
	background: #FFF;
}

.headerFlexWrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: nowrap;
	background: #FFF;
	padding: 15px 30px 18px 30px;
	position: relative;
	z-index: 9999999;
}

.headerLogo img {

}

.headerLogo img {
	width: 100%;
	height: auto;
	display: block;
	max-width: 400px;
}

/* ハンバーガー */

.openBtn{
	position: relative;
	background: #2B2C4D;
	cursor: pointer;
	width: 80px;
	height: 80px;
	border-radius: 5px;
	display: none;
}

/*ボタン内側*/
.openBtn span{
    display: inline-block;
    transition: all .4s;/*アニメーションの設定*/
    position: absolute;
    left: 25%;
    height: 2px;
    border-radius: 5px;
	background: #fff;
  	width: 50%;
  }

.openBtn span:nth-of-type(1) {
	top:18px;	
}

.openBtn span:nth-of-type(2) {
	top:30px;
}

.openBtn span:nth-of-type(3) {
	top:42px;
}

.openBtn span:nth-of-type(3)::after {
	content:"Menu";/*3つ目の要素のafterにMenu表示を指定*/
	position: absolute;
	top:5px;
	left:-2px;
	color: #fff;
	font-size: 16px;
	text-transform: uppercase;
}

/*activeクラスが付与されると線が回転して×になり、Menu⇒Closeに変更*/

.openBtn.active span:nth-of-type(1) {
    top: 24px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 55%;
}

.openBtn.active span:nth-of-type(2) {
	opacity: 0;
}

.openBtn.active span:nth-of-type(3){
    top: 36px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 55%;
}

.openBtn.active span:nth-of-type(3)::after {
	content:"Close";/*3つ目の要素のafterにClose表示を指定*/
    transform: translateY(0) rotate(-45deg);
	top: 10px;
	left: 18px;
}

/* メニュー等 */

ul.headerMenu {
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	width: calc(100% - 300px);
	list-style: none;
	margin: 0;
	padding: 0;
}

.headerMenu li:not(:last-child) {
	margin-right: 50px;
}

.headerMenu li a {
	display: flex;
	flex-direction: column;
	font-weight: 500;
	text-align: center;
	text-decoration: none;
	font-size: 0.8em;
}

.headerMenu li a span {
	color: #2B2C4D;
	font-size: 13px;
}

.gnavi li a{
    /*線の基点とするためrelativeを指定*/
	position: relative;
}

.gnavi li.current a,
.gnavi li a:hover{
	color:#2B2C4D;
}

.gnavi li a::after {
    content: '';
    /*絶対配置で線の位置を決める*/
    position: absolute;
    bottom: 0;
    left: 0;
    /*線の形状*/
    width: 100%;
    height: 2px;
    background:#2B2C4D;
    /*アニメーションの指定*/
    transition: all .3s;
    transform: scale(0, 1);/*X方向0、Y方向1*/
    transform-origin: center top;/*上部中央基点*/
}

/*現在地とhoverの設定*/
.gnavi li.current a::after,
.gnavi li a:hover::after {
    transform: scale(1, 1);/*X方向にスケール拡大*/
}

.catalogWrap {
	position: absolute;
	bottom: 0;
	right: 50px;
	width: 660px;
	padding: 50px 0;
	margin: 0 auto;
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-end;
	align-items: flex-end;
}

.catalogWrap img {
 	width: 100%;
 	height: auto;
 	max-width: 180px;
 	filter: drop-shadow(5px 5px 8px rgba(0,0,0,0.6));
}

figure {
	margin: 0;
	padding: 0;

}
figcaption {
	font-weight: bold;
	text-align: center;
	font-size: 15px;
	margin-bottom:0.5em;
	line-height: 1;
	color:#000000;
	text-shadow:
	1px 1px 1px rgba(255, 255, 255, 1),
	-1px 1px 1px rgba(255, 255, 255, 1),
	1px -1px 1px rgba(255, 255, 255, 1),
	-1px -1px 1px rgba(255, 255, 255, 1);
}


 /**
 * -----------------------------------------------------------------------------
 * 5.0 　スライダー（バナー）
 * -----------------------------------------------------------------------------
 */
 
 /* ■スライダー */

.slideBg {
	width: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	display: block;
	margin: 0;
	padding: 0;
	/*padding-top: 32.214%; /* PCは高さ可変（youtubeのレスポンシヴと同じ原理で） */
	padding-top: 29.531%;
	transition: all 14s ease;
	transform: scale(1, 1);
	transform-style: preserve-3d;
}

.active .slideBg {
	transform: scale(1.1, 1.1);
}


.lSSlideOuter {
	position: relative;
}

.lSSlideOuter .lSPager.lSpg {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 10px;
	z-index: 990;
/*	position: relative;
	padding-top: 50px;
	padding-bottom: 50px;*/
	padding-top: 0;
	padding-bottom: 0;
}

.lSSlideOuter .lSPager.lSpg > li a {
    background-color: rgba(255,255,255,1) !important;
	border: 2px solid #008242;
    border-radius: 12px !important;
    height: 10px !important;
    width: 10px !important;
	z-index: 99999 !important;
}
.lSSlideOuter .lSPager.lSpg > li:hover a, .lSSlideOuter .lSPager.lSpg > li.active a {
    background-color: #008242 !important;
}
 
 
 
 /* ■スライダー：slick用スタイル */
.slick-slide {
	margin: 0 40px;
}
.slick-slide img {
	width: 100%;
}
.slick-prev:before, .slick-next:before {
	color: #C14F1D;
	font-size:40px;
}
.slick-prev{
    left: 0;
    z-index:2;
    width: 40px;
    height: 40px;
}
.slick-next{
    right: 0;
    width: 40px;
    height: 40px;
}

.slick-slide {
	transition: all ease-in-out .3s;
	opacity: .2;
}
.slick-active {
	opacity: 1;
}
.slick-current {
	opacity: 1;
}

.slick-arrow {	/* 左右のボタン画像指定 */
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
}
.prev-arrow {
	cursor: pointer;
	left: 20px;
	z-index: 10;
}
.next-arrow {
	cursor: pointer;
	right: 20px;
}

.multipleArea {
	margin: 0 auto 0;
	padding: 0;
	width:90%;
	max-width: 1600px;
	text-align: center;
}

.multiple-item { /* slickの上下のスペースdotsを使う場合はpaddingを使用しない */
	margin: 0 60px 30px 60px;
	padding: 0;
}

/* slickの調整 */

/* Arrow */
.multiple-item .prev-arrow {
    margin-left: -60px;
}
.multiple-item .next-arrow {
    margin-right: -60px;
}

/* 画像のばらつき対策 */
.multiple-item .alignnone {
    margin: 0;
}

/* 画像の縦の真ん中寄せ */
.multiple-item li img {
		width: 100%;
		height: 15vw;
		object-fit: contain;
}

	/*IEのみ対策*/
	@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
		.multiple-item li img {
				height: auto;
		}
	}

	/* ~~ スマホ ~~ */
	@media screen and (max-width:767px) {
		.multipleArea {
			width:96%;
		}
		/* 縦の真ん中寄せ */
		.multiple-item li img {
				height: 30vw;
		}
			/*IEのみ対策*/
			@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
				.multiple-item li img {
						height: auto;
				}
			}
	}


 /**
 * -----------------------------------------------------------------------------
 * 6.0 　コンテンツ
 * -----------------------------------------------------------------------------
 */

/* -----------------------------------
■コンテンツ
----------------------------------- */

/* メイン詳細 */

main {
	width: 100%;
	margin: 0 auto 0 auto;
}

.contentsNest {
	width: 90%;
	max-width: 1600px;
	margin: 0 auto;
	padding: 0;
}

.container {
	width: 100%;
	margin: 0 auto 0 auto;
	padding: 0;
	background: #FFF;
}

/* -----------------------------------
■見出し
----------------------------------- */

h1, h2, h3, h4, h5, h6 {
	font-weight: 500;
}

h1 {

}

h2 {
	color: #2B2C4D;
	font-size: 240%;
	line-height: 1.2em;
	margin: 0 0 1em 0;
	text-align: center;
}

h3 {
	color: #2B2C4D;
}

.lineA {
	border: none;
	background-color: rgba(255,255,255,0);
	border-bottom: 3px dotted #2B2C4D;
	margin-bottom: 2em;
}

h3.mark {
	position: relative;
	background-color: #fff;
	// 折り返しの対応
	overflow-wrap: break-word;
	padding-left: 1.6em;
}

h3.mark::after {
	content: "";
	display: block;
	width: 1.4em;
	height: 1.4em;
	top: 0;
	bottom: 0;
	left: 0;
    position: absolute;
	background: url(images/bg_h3.png) no-repeat center center;
    background-size: contain;
}

h3{
	vertical-align: center;
}

/**
 * -----------------------------------------------------------------------------
 * 8.0　フッター
 * -----------------------------------------------------------------------------
 */

footer {
	background: #E1E1E1;
	width: 100%;
	padding:90px 0 80px 0;
	font-size: 100%;
}

.footerInfoArea{
	width: 95%;
	max-width: 1600px;
	margin: 0 auto;
	padding: 0;
}

.footerCountArea{
	width: 95%;
	max-width: 1600px;
	margin: 0 auto;
	padding: 0;
	text-align: center;
}

.footerFlexWrap {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
}

.itemTop {
	align-items: flex-start;
}

.footerBlockA {
	width: 48%;
	margin: 0 auto 0;
	padding: 0;
}

.footerBlockB {
	width: 48%;
	margin: 0 auto 0;
	padding: 0;
}

.footerCopyrightArea {
	width: 90%;
	font-size: 53.846%;
	text-align: center;
	margin: 0 auto;
	padding: 95px 0 0 0;
}
.footerCopyrightArea > small {
	font-size: 100%;
}


 /**
 * -----------------------------------------------------------------------------
 * 9.0 　個別ページ
 * -----------------------------------------------------------------------------
 */
 
 
  /**
 * -----------------------------------------------------------------------------
 * 9.1 　トップページ
 * -----------------------------------------------------------------------------
 */
 
/* リンクエリア */
.boardFlex {
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: flex-start;
	list-style: none;
}

.boardFlex > div {
	width: 80%;
	margin-bottom: 1em;
	padding-left: 2em;
}

.boardFlex > img {
	width: 20%;
	min-width: 250px;
	height: auto;
	margin: 0;
	filter: drop-shadow(5px 5px 8px rgba(0,0,0,0.3));
}

.boardFlex > div > a {
	text-align: center;
}

.boardFlex > div > p {

}

.boardA {
	width: 100%;
	max-width: 800px;
	padding: 2em;
	margin: 0 auto 2em auto;
	display: block;
	border:2px solid #2B2C4D;
	border-radius: 10px;
	background: #e0edff;
	filter: drop-shadow(5px 5px 8px rgba(0,0,0,0.3));
}

.boardA *:last-child {
	margin-bottom: 0;
}

.boardB {
	width: 100%;
	padding: 2em;
	margin: 0 auto 2em auto;
	display: block;
	border:2px solid #2B2C4D;
	border-radius: 10px;
	background: #fff0c6;
	filter: drop-shadow(5px 5px 8px rgba(0,0,0,0.3));
}

.boardB *:last-child {
	margin-bottom: 0;
}


/* ノーマル */

.basicWrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.basicWrap:not(:last-child) {
  margin-bottom: 80px;
}

/*.basicWrap:nth-child(even) {
  flex-direction: row-reverse;
}*/

.basicWrap > img {
  display: block;
  width: 48%;
  height: auto;
}

.basicWrap > .box {
  width: 48%;
}



/**
 * -----------------------------------------------------------------------------
 * 9.2 　中面共通
 * -----------------------------------------------------------------------------
 */

.headerArea{	/* h1表示領域（about以外） */
	max-width:100%;
	min-height: 420px;
	display: flex;
	align-items: center;
	margin: 0 0 0 calc(calc(100% - 1300px) / 2);
	background-color: #FFFFFF;
	background-image: url("media/h1_agrin.jpg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: right center;
}

@media screen and (max-width:1460px) {
	.headerArea{	/* h1表示領域（about以外） */
		width: 95%;
		margin: 0 0 0 auto;
		padding: 0 20px 0 20px;
	}
}

@media screen and (max-width:767px) {
	.headerArea{
		width: 100%;
		min-height: 312px;
		background-size: cover;
		margin: 0 0 0 0;
		padding: 0 20px 0 20px;
		justify-content: center;
	}
}


.innerContents{
	width: 100%;
	margin: 0 auto;
	padding: 0;
	
	font-size:73.076%;	/* 中面用の基準サイズ */
}
.innerContents > .contentsNest {
	width: 90%;
	max-width: 1300px;
	margin: 0 auto;
	padding: 100px 0;
}

/*----- 画像 -----*/
.imageArea{
	width: 100%;
	display: block;
	text-align: center;
}
.imageArea img{
	margin: 0 auto;
}

imageLimit{
	width: 75%;
	margin: 0 auto;
}


/*----- 汎用Flex -----*/
.flex2Area, .flex3Area, .flex4Area{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
	gap:70px 4%;
	margin: 0 auto 0;
}
.flex2Area > div{
	width: 48%;
}
.flex3Area > div{
	width: 30.666%;
}
.flex4Area > div{
	width: 22%;
}

/*----- 表組 -----*/

/* 表組：施設一覧 */
.tableDesignA {
	width : 100%;
	margin: 0 auto 3em auto;
	padding: 0;
	border-collapse: collapse;  /* 表の線と線の間を空けない */
	border: 2px solid #E4E6E7;
}
.tableDesignA th {
	line-height: 1.5em;
	font-weight: normal;
	width: 10em;
	padding: 0.5em 1em;
	white-space: nowrap;
	border: 2px solid #E4E6E7;
	text-align: center;
	background: #0F9112;
	color: #FFF;
}
.tableDesignA td {
	line-height: 1.5em;
	padding: 0.5em 1em;
	border: 2px solid #E4E6E7;
	text-align: left;
}

/* 表組：ライン */
.tableDesignLine {
	width : 100%;
	margin: 0 auto 1.5em;
	padding: 0;
	border-collapse: collapse;  /* 表の線と線の間を空けない */
	border: none;
	border-top: 2px solid #E4E6E7;
}
.tableDesignLine th {
	line-height: 1.8em;
	font-weight: normal;
	width: 10em;
	padding: 1.5em 3em;
	white-space: nowrap;
	border-bottom: 2px solid #E4E6E7;
	text-align:left;
}
.tableDesignLine td {
	line-height: 1.8em;
	padding: 1.5em 1em;
	border-bottom: 2px solid #E4E6E7;
}

/* 表組：施設一覧 */
.tableDesignStore {
	width : 100%;
	margin: 0 auto 3em auto;
	padding: 0;
	border-collapse: collapse;  /* 表の線と線の間を空けない */
	border: 2px solid #E4E6E7;
}
.tableDesignStore th {
	line-height: 1.5em;
	font-weight: normal;
	width: 10em;
	padding: 0.5em 1em;
	white-space: nowrap;
	border: 2px solid #E4E6E7;
	color: #FFF;
	text-align: center;
	background: #9ACB34;
}
.tableDesignStore td {
	line-height: 1.5em;
	padding: 0.5em 1em;
	border: 2px solid #E4E6E7;
	text-align: left;
	position: relative;
}

.tableDesignStore td:nth-of-type(2) {
	padding: 0.5em 6em 0.5em 1em;
}


/* -----------------------------------
■ヘッダー
----------------------------------- */

/* ◆ヘッダー：アイコンメニュー◆ */

/*.headerIconMenuArea {
	display: block;
	width: auto;
}
.headerIconMenuArea ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
	width: auto;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: stretch;
}
.headerIconMenuArea li {
	width: auto;
	margin: 0 8px;
	padding: 0;
	display: block;
}
.headerIconMenuArea li a {
	text-decoration: none;
	margin: 0;
	display: block;
}

/* ◆ヘッダー：バルーンメニュー◆ */

/*#balloonMenu1 {
	width: 80px;
}

#balloonMenu1 img {
	width: 100%;
	height: auto;
}

.balloonMenuArea {
	display: block;
	position: relative;
}

.balloonMenu:before {
	content: '';
	width: 0.6em;
	height: 0.6em;
	border: 0px;
	border-top: solid 1px #999999;
	border-right: solid 1px #999999;
	-ms-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position: absolute;
	left: 70%;
	margin-left: -0.3em;
	margin-top: -0.3em;
	background-color: #FFF;
	z-index: 9998;
}

.balloonMenu {
	display: none;
	position: absolute;
	margin-top: -3px;
	right: 0;
	background-color: #FFF;
	z-index: 9998;
	border: solid 1px #999999;
	border-radius: 5px;
}

.balloonMenu ul {
	list-style-type: none;
	margin: 1em 1em 0 1em;
	padding: 0;
	width: 100%;
}
.balloonMenu li {
	margin: 0 0 1em 0;
	padding: 0;
}
.balloonMenu li a {
	display: block;
	color: #333;
	text-decoration: none;
}

#balloonMenu1 {
	
}

/* ◆ヘッダー：メインメニュー◆ */

/* ボタン */
/*.mainMenuButton {
	margin: 0;
	width: 80px;
}
.mainMenuButton img {
	width: 100%;
	height: auto;
}

/* メニュー */
/*.mainMenuArea {
	width: 100%;
}
.mainMenuFlexBox {
	list-style-type: none;
	margin: 0;
	padding: 0;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
}
.mainMenuFlexBox a:last-child {
	border-right: none;
}
.mainMenuFlexBox a {
	font-size: 1.2em;
	line-height: 1.08;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	border-right: 1px solid rgba(255,255,255,0.5);
	width: 14.285%;
	background: #333;
	color: #FFF;
	text-align: center;
	text-decoration: none;
	margin: 0;
	padding: 0.5em 1em;
}
.mainMenuFlexBox a:hover {
	background: #FFF;
	color: #333;	
}
.mainMenuFlexBox a span {
	display: block;
}

/* ◆スライダー◆ */

/* .sliderArea {
	position: relative;
	width: 100%;
	height: auto;
	margin-bottom: 250px;
}

.slides > li > .flex-caption{
	width:100%;
	position:absolute;
	top: 50%;
	left:0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	text-align:center;
	background: #333+
}

/* ■スライダー */

/*.slideBg {
	width: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	display: block;
	margin: 0;
	padding: 0;
	padding-top: 57.294%; /* PCは高さ可変（youtubeのレスポンシヴと同じ原理で） */
/*	transition: all 14s ease;
	transform: scale(1, 1);
	transform-style: preserve-3d;
}

.active .slideBg {
	transform: scale(1.1, 1.1);
}


.lSSlideOuter {
	position: relative;
}

.lSSlideOuter .lSPager.lSpg {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 10px;
	z-index: 990;
	position: relative;
	padding-top: 20px;
}

.lSSlideOuter .lSPager.lSpg > li a {
    background-color: rgba(255,255,255,1) !important;
	border: 2px solid #008242;
    border-radius: 12px !important;
    height: 10px !important;
    width: 10px !important;
	z-index: 99999 !important;
}
.lSSlideOuter .lSPager.lSpg > li:hover a, .lSSlideOuter .lSPager.lSpg > li.active a {
    background-color: #008242 !important;
}


@media screen and (max-width:767px) {

	/* ◆スライダー◆ */

/*	.sliderArea > div.slideImgArea{
	}
	.slideBg {
		padding-top: 320px; /* スマホは高さ固定 */
/*	}
	
}

/* -----------------------------------
■ニュース共通
----------------------------------- */

/* ◆ニュース共通◆ */

/*.newsArea {
	width: 100%;
	margin: 0 auto;
}

.newsArea ul {
	width: 100%;
	margin: 0;
	padding: 0;
	list-style-type: none;
}
.newsArea ul li {
	font-size: 1em;
	margin: 0 0 1em 0;
	padding: 0;
	line-height: 1;
	display: flex;
	flex-wrap: no-wrap;
	justify-content: center;
	align-items: start;
}


/* カテゴリ（6+1）と日付（7+1）2つある場合の設定 */
/*.newsArea ul li a {
	text-decoration: none;
	display: block;
	padding: 0.125em 0;
	width : 60%; /* IE8以下とAndroid4.3以下用フォールバック */
/*	width : -webkit-calc(100% - 15em);
	width : calc(100% - 15em);
}

.newsArea ul li p:last-child {
	margin: 0 0 60px 0;
}
.newsArea ul li:last-child p:last-child {
	margin-bottom: 0;
}


/* 日付 */

/*.newsDay {
	display: inline-block;
	color: #000;
	background: transparent;
	font-size: 1em;
	width: 7em;
	text-align: center;
	line-height: 1;
	margin: 0 0.5em 0 0;
	padding: 0.125em 0.125em;
	border: 1px solid rgba(255,255,255,0);
}

/* カテゴリー */

/*.newsCategory {
	display: inline-block;
	color: #FFF;
	background: #333;
	font-size: 1em;
	width: 6em;
	text-align: center;
	line-height: 1;
	margin: 0 1em 0 0;
	padding: 0.125em 0.125em;
	border: 1px solid #333;
	border-radius: 5px;
}*/

/*.category_ {
	color: #FF4100;
	background-color: #FFF;
	border: 1px solid #FF4100;
}
.category_info {
	color: #FF4100;
	background-color: #FFF;
	border: 1px solid #FF4100;
}

/* -----------------------------------
■ホーム：バルーン
----------------------------------- */

.baloonArea {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
	margin-bottom: 1em;
}

.balloon4 {
width: calc(48% - 60px);
  position: relative;
  margin: 1em 20px 1em 40px;
  padding: 15px;
  background: #fff0c6;
  border-radius: 30px;
}

.balloon4:before {  
  content: "";
  position: absolute;
  left: -38px;
  width: 13px;
  height: 12px;
  bottom: 0;
  background: #fff0c6;
  border-radius: 50%;
}

.balloon4:after {
  content: "";
  position: absolute;
  left: -24px;
  width: 20px;
  height: 18px;
  bottom: 3px;
  background: #fff0c6;
  border-radius: 50%;
}
.balloon4 h3 {
	color: #333;
  margin: 0; 
  padding: 0.5em 1em;
}

@media screen and (max-width:767px) {

	.baloonArea {
		display: block;
	}

	.balloon4 {
		width: calc(100% - 60px);
	}

}

.balloon1 {
  position: relative;
  display: inline-block;
  width: 100%;
  text-align: cenetr;
  margin: 1.5em 0;
  padding: 7px 10px;
  min-width: 120px;
  max-width: 100%;
  color: #555;
  font-size: 16px;
  background: #e0edff;
  border-radius: 15px;
}

.balloon1:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #e0edff;
}

.balloon1 h2 {
  margin: 0;
  padding: 0.75em;
}


/* -----------------------------------
■ホーム：バナーエリア
----------------------------------- */

/*.homeBannerArea {
	width: 100%;
}
.homeBannerArea ul {
	list-style-type: none;
	margin: 0 auto;
	padding: 0;
	width: 100%;
	max-width: 1020px;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
}
.homeBannerArea li {
	width: 340px;
	margin: 20px 0;
	padding: 0;
	display: block;
}
.homeBannerArea li a {
	width: 300px;
	text-decoration: none;
	margin: 0 20px;
	display: block;
}
.homeBannerArea li a img {
	max-width: 100%;
	height: auto;
}
.homeBannerArea li span {
	width: 300px;
	text-decoration: none;
	margin: 0 20px;
	display: block;
}
.homeBannerLine {
	border: none;
	margin: 100px 0;
	border-bottom: 3px dotted #A7ACAE;
}

@media screen and (max-width:767px) {

	.homeBannerArea ul {
		display: block;
		/*width: 340px;*/
/*		width:80%;
		margin:0 auto;
	}
	.homeBannerArea ul li{
		width:100%;
		margin: 50px 0;
	}
	.homeBannerArea ul li a{
		width:100%;
		margin:0;
	}
	.homeBannerArea ul li a img {
		max-width:none;
		width: 100%;
		height: auto;
	}

}

@media screen and (max-width:1180px) {

	.homeBannerArea ul {
		max-width: 680px;
	}

}

/* -----------------------------------
■ホーム：マップ
----------------------------------- */
/*.mapBace{
	position: relative;
	
	margin: 0 0 50px 0;
}
.mapBace img{
	max-width:100%;
	height:auto;
}

.mapImage00{
	position: absolute;
	z-index: 20;
	width:30%;
	top:150px;
	left:35%;
}
.mapImage00 > div{
	position: relative;
}
.mapImage00 > div > div{
	position: absolute;
	top: -20px;
	right: -60%;
	width:98%;
}
.mapImage01{
	position: absolute;
	z-index: 30;
	top:0;
	left:-8%;
	width:52%;
}
.mapImage02{
	position: absolute;
	bottom:0;
	right:-10%;
	width:60%;
}
.mapImage03{
	position: absolute;
	z-index: 10;
	bottom:120px;
	left:20%;
	width:25%;
}

#pageMenu {
	z-index: 9999999;
	top: 0;
	left: 0;
	margin: 0;
	position: fixed;
	display: inline-block;
	width: 18.645%;
	height: auto;
	box-sizing: content-box;
	text-align: left;
}
#pageMenu img {
	max-width: 100%;
	min-width: 268px;
	height: auto;
}

#pageGreen {
	pointer-events: none;
	z-index: 9999998;
	top: 0;
	left: 0;
	margin: 0;
	position: absolute;
	display: inline-block;
	width: 36.458%;
	height: auto;
	box-sizing: content-box;
	text-align: left;
}
#pageGreen img {
	max-width: 100%;
	height: auto;
}

#pageHeader {
	z-index: 9999999;
	top: 0;
	right: 0;
	margin: 0;
	position: absolute;
	display: inline-block;
	width: 43.7%;
	height: auto;
	box-sizing: content-box;
	text-align: right;
}
#pageHeader img {
	max-width: 100%;
	height: auto;
}

#slideCover {
	pointer-events: none;
	z-index: 999999;
	top: 0;
	right: 0;
	margin: 0;
	position: absolute;
	display: inline-block;
	width: 100%;
	height: auto;
	box-sizing: content-box;
	text-align: right;
}
#slideCover img {
	max-width: 100%;
	height: auto;
}


/* ◆もっとみる◆ */

/*.linkMore {
	position: absolute;
	width: 150px;
	height: 150px;
	right: 2.5%;
	top: 0;
	bottom: 0;
	margin: auto;
}
.linkMore a {
	font-family: "游明朝体", YuMincho, "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", Georgia, Times, "Times New Roman", serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	z-index: 9999;
	position: relative;
	display: inline-block;
	width: 150px;
	height: 150px;
	border-radius: 50%;
	background: #FFF;
	text-decoration: none;
	color: #131719;
	border: 1px solid rgba(0,0,0,0.3);
	box-sizing: content-box;
}
.linkMore a:hover {
	background: #FF4303;
	color: #FFF;
}

.linkMore a span {
	position: absolute;
	display: inline-block;
	left: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	width : 150px;
	text-align: center;
	font-size: 18px;
	padding-right: 0.5em;
	line-height: 1.3;
}
.linkMore a span::after{
	position: absolute;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.linkMore a span::after{
	top: 0;
	bottom: 0;
	right: 20px;
	width: 11px;
	height: 11px;
	border-top: 2px solid #FF4303;
	border-right: 2px solid #FF4303;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.linkMore a:hover span::after{
	border-color: #FFF;
}

/* ◆共通リンク◆ */

.commonLink{
	text-align: center;
}

.commonLink a{
	display: inline-block;
	font-size:120%;
	background: #FFFFFF;
	text-align: center;
	margin:15px auto 0;
	padding: 1em 2em 1em 2em;
	letter-spacing: 0.2em;
	border-radius: 8px;
	border: 2px solid #54524D;
}
.commonLink a:link, .commonLink a:visited{
	text-decoration: none;
}
.commonLink a:hover{
	background: #EEEEEE;
	text-decoration: none;
}

ul.commonLink{
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
	list-style: none;
}

ul.commonLink li{
	width: 48%;
	margin: 0 0 2em 0;
	padding: 0;
}

ul.commonLink li a{
	width: 100%;
	display: block;
	margin: 0;
	padding: 1em 1em 1em 1em;
}


/* ■通常リンク */
.normalLink {
	margin: 0 0 30px 0;
	padding: 0;
	text-align: center;
}
.normalLink a {
	display: inline-block;
	width: auto;
	border: 1px solid #54524D;
	margin: 0 0 20px 0;
	padding: 0.5em 1em 0.5em 1em;
	text-align: center;
}
.normalLink a {
	text-decoration: none;
}
.normalLink a:link {
	text-decoration: none;
}
.normalLink a:visited {
	text-decoration: none;
}
.normalLink a:hover {
	background: #EEEEEE;
}

/* ◆注釈◆ */

.note {
	font-size: 79%;
	padding-left:1em;
	text-indent:-1em;
}
/* ※リスト */
ul.komeList{
	font-size: 79%;
	list-style: none;
	padding: 0 0 0 1em;
}
ul.komeList > li{
	position: relative;
	margin: 0 0 0.4em 0;
	padding: 0;
}
ul.komeList > li:before{
	content: "※";
	position: absolute;
	top: 0;
	left: -1.0em;
}

/* -----------------------------------
□グーグルマップ
----------------------------------- */

.googleMap {
	height: 0;
	overflow: hidden;
	padding-bottom: 66.6%;
	position: relative;
}
.googleMap iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}

/* -----------------------------------
■レスポンシブ対応
----------------------------------- */

.smOnly, .smOnly2 {
	display: none;
}

/* ~~ 表示 ~~ */
@media screen and (max-width:1024px) {

	
	/* ◆ホーム：お知らせエリア◆ */

/*	.homeNewsCover {
		width: 100%;
		display: block;
	}
	.homeNewsTitle {
		display: block;
		text-align: center;
		width: 5em;
		padding: 0;
		margin: 0 auto 1.5em auto;
	}
	.homeNewsArea .newsArea {
		width: 100%;
	}
	
	.homeNewsArea .linkMore {
		position: static;
		margin:  60px auto;
	}


	/* ◆ホーム：リンクエリア◆ */

/*	.homeLinkArea li {
		width: 100%;
	}
*/

}

/* ~~ スマホ ~~ */
@media screen and (max-width:767px) {

	/* PC,SM 表示切替 */
	.pcOnly {
		display: none;
	}

	.smOnly {
		display: inline;
	}
	.smBlock, .smOnly2 {
		display: block;
	}

	/* -----------------------------------
	1.0　初期設定
	----------------------------------- */
	html {
		font-size: 2.1em;
	}
	

	/* -----------------------------------
	2.0　共通利用パーツ
	----------------------------------- */


	/* -----------------------------------
	3.0　基本レイアウト
	----------------------------------- */

	#pageTop2 a {
		width: 17.470%;
		right: 20px;
		bottom: 10px;
	}


	/* -----------------------------------
	4.0　ヘッダー
	----------------------------------- */
	
	.headerFlexWrap {
		flex-wrap: wrap;
		padding: 15px 15px 15px 30px;
	}
	
	.openBtn{
		display: block;
	}
	
	ul.headerMenu{
		display: none;
		width: 100%;
		padding-top: 30px;
	}

	.headerMenu li {
		margin-bottom: 1em;
	}

	.headerMenu li:not(:last-child) {
		margin-right: 0;
	}
	
	.catalogWrap {
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		left: 0;
		width: 100%;
		padding: 0 30px 250px 30px;
		align-items: flex-bottom;
	}

	.catalogWrap img {
	 	width: 100%;
		height: auto;
		max-width: 200px;
		filter: drop-shadow(5px 5px 8px rgba(0,0,0,0.6));
	}
	
	figcaption {
		font-size: 18px;
	}

	/* -----------------------------------
	5.0　スライダー
	----------------------------------- */
	
	/* ◆スライダー◆ */

	.sliderArea > div.slideImgArea{
	}
	.slideBg {
		padding-top: 320px; /* スマホは高さ固定 */
	}


	 /**
	 * -----------------------------------------------------------------------------
	 * 6.0 　コンテンツ
	 * -----------------------------------------------------------------------------
	 */

	/* -----------------------------------
	■見出し
	----------------------------------- */

	h2 {
		font-size: 180%;
		line-height: 1.2em;
		margin: 0 0 0.7em 0;
	}
	
	.balloon1 h2 {
		font-size: 280%;
	}

	 /**
	 * -----------------------------------------------------------------------------
	 * 9.0 　個別ページ
	 * -----------------------------------------------------------------------------
	 */

	  /**
	 * -----------------------------------------------------------------------------
	 * 9.1 　トップページ
	 * -----------------------------------------------------------------------------
	 */

	/* 新着エリア */
	.newsAreaCover{
		width: 90%;
		padding: 60px 0 120px 0;
	}

	/* メニューエリア */
	.topMenuGrid {
		margin: 0 0 100px 0;
	}
	.topMenuItem {
		width:100%;
		margin: 0 0 100px 0;
	}
	.topMenuItem:last-child {
		margin: 0;
	}
	.tmImgBox {
		font-size: 150%;
		height: 235px;
		overflow: hidden;
	}
	.tmImgBox img {
	    transform: translateY(-25%);
	}
	.tmImgBox > div.tmTextArea {
		left: 0.8em;
		bottom: 0.5em;
	}
	ul.tmList{
		margin:  1em 2em 3em;
	}
	
	.boardA {
		padding: 1.5em 1em;
	}
	
	.boardB {
		padding: 1.5em 1em;
	}

	/**
	 * -----------------------------------------------------------------------------
	 * 9.2 　中面共通
	 * -----------------------------------------------------------------------------
	 */

	
	/* なぜかinnerContents内で指定しないと反映されないのでinnerContents内の指定も記述 */

	/*----- 表組 -----*/

	/* 表組：A */
	.tableDesignLine, .innerContents .tableDesignLine{
	}
	.tableDesignLine th, .innerContents .tableDesignLine th {
		display: block;
		width: 100%;
		border: none;
		text-align: left;
		padding: 1em 0 0 0.5em;
		font-weight: bold;
	}
	.tableDesignLine td, .innerContents .tableDesignLine td {
		display: block;
		width: 100%;
		padding: 0 0 1em 0.5em;
	}
	tableDesignStore th {
		padding: 0.5em 0.5em;
	}
	.tableDesignStore td {
		padding: 0.5em 0.5em;
	}
	.tableDesignStore td:nth-of-type(2) {
		padding: 0.5em 0.5em 2em 0.5em;
	}

/*----- 汎用Flex -----*/
	.flex2Area, .flex3Area, .flex4Area{
		gap:70px 0;
	}
	.flex2Area > div, .flex3Area > div, .flex4Area > div{
		width: 100%;
	}


	/**
	 * -----------------------------------------------------------------------------
	 * 8.0　フッター
	 * -----------------------------------------------------------------------------
	 */
	footer {
		padding: 60px 0 80px 0;
	}

	.footerFlexWrap {
		display: block;
	}
	
	.footerFlexWrap > div:not(:last-child) {
		margin-bottom: 60px;
	}

	.footerBlockA {
		width: 100%;
	}

	.footerBlockB {
		width: 100%;
	}

	.footerCopyrightArea {
		padding: 40px 0 0 0;
	}


	
	/* ノーマル */

	.basicWrap {
	  display: block;
	}

	.basicWrap > img {
		width: 100%;
	}
	
	.basicWrap > .box {
		width: 100%;
	}
	
	/* リンクエリア */
	.boardFlex {
		display: block;
		text-align: center;
	}

	.boardFlex > div {
		width: 100%;
		margin-bottom: 1em;
		padding-left: 0em;
	}

	.boardFlex > img {
		width: 80%;
		min-width: 400px;
		height: auto;
		margin: 0 auto 1.5em auto;
	}
	
	.boardFlex > div p {
		display: block;
		width: 100%;
		text-align: left;
	}
}
