@charset "UTF-8";
/*--------------------------
リセット
---------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}
img{
	height:auto;
}

/*--------------------------
基本：基本タグ
---------------------------- */
/* [ PC - SP switch ] */
@media screen and (min-width: 768px) {
  .pcOFF {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  /* Smartphone */
  .spOFF {
    display: none !important;
  }
}
/* -------*/
* {
  box-sizing: border-box;
}

html {
  overflow-y: scroll;
  font-size:16px; /* 1rm = 16px*/
}
body {
	font-family: "Noto Serif JP", serif;
	line-height:1.8;
	letter-spacing: 1px;
	color:#333333;
	position:relative;
	font-size: 1rem; /* 16px */
}
a{
	color:#0055aa;
	text-decoration:none;
	text-underline-offset: 0.4ex;
}
a:hover{
	color:#870404;
}

a img:hover{
	opacity: 0.85;
}


@media screen and (max-width: 767px) { /* Smartphone */
	body {
		background:#fff;
	}
}


/* フェードインさせる要素 */
.fade, .fadeDelay {
    opacity: 0; /* 最初は非表示にしておく */
    transition: all 1.5s; /* 動きを滑らかに */
}
/* フェードイン用のクラス */
.fadeIn {
    opacity: 1;
}




/*--------------------------
基本書式
---------------------------- */
.tit01{
	font-size: clamp(22px, 2.0408vw + 14.3469px, 30px); /* 375px ～ 767px の間で可変する */
	letter-spacing:3px;
	position:relative;
	padding-bottom:22px;
	margin-bottom:45px;
	text-align:center;
	font-weight: bold;
}
.tit01:after{
	content:"";
	display:block;
	width:40px;
	height:3px;
	background:#870404;
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	margin:auto;
}
.tit02{
	font-size: clamp(18px, 0.2424vw + 17.0909px, 20px); /* 375px ～ 1200px の間で可変する */
	letter-spacing:3px;
	margin-bottom: clamp(15px, 1.5758vw + 9.0909px, 28px); /* 375px ～ 1200px の間で可変する */
	font-weight: bold;
}

@media screen and (max-width: 767px) { /* Smartphone */
	.tit01{
		padding-bottom:15px;
		margin-bottom:30px;
	}
}

.txt01{
	font-size: clamp(14px, 0.5102vw + 12.0867px, 16px); /* 375px ～ 767px の間で可変する */
	text-align: justify;
}

a.tel{
	font-size: clamp(18px, 1.5306vw + 12.2602px, 24px); /* 375px ～ 767px の間で可変する */
	color:#000;
}

/* ---------- */
.lnkBtn{
	text-align:center;
}
.lnkBtn a{
	display:inline-block;
	background:#222222;
	font-size: clamp(14px, 0.5102vw + 12.0867px, 16px); /* 375px ～ 767px の間で可変する */
	text-align:center;
	padding:15px 30px;
	color:#fff;
	position: relative;
}


.lnkBtn a:after{
    position: absolute;
    border: 1px solid #fff;
    content: "";
    top: 5px;
    bottom: 5px;
    left: 5px;
    right: 5px;
}

.lnkBtn a:hover{
	background:#870404;
	text-decoration:none;
}
@media screen and (max-width: 767px) { /* Smartphone */
	.lnkBtn a{
		padding:15px 5px;
		color:#fff;
		width:100%;
	}
}


/*----------------------------------------------------
SP-nav
------------------------------------------------------ */
/* スマホヘッダー */
#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 60px;
  z-index: 9999999;
}

#fixed-top {
  position: fixed;
  top: 0;
  z-index: 99999999;
  width: 100%;
  height:55px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

/* ヘッダーのロゴ */
#fixed-top .logo {
  padding: 9px 0 0 6px;
}

#fixed-top .logo img {
  width: auto;
  height: 40px;
  max-width: 81px;
  vertical-align:bottom;
}

/* ヘッダーのボタン関連 */
#fixed-top .headerButtons {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: right;
  justify-content: right;
}
#fixed-top .headerButtons img{
  vertical-align:bottom;
}
#fixed-top .headerButtons li a {
  display: block;
}

#fixed-top .headerButtons li img {
  vertical-align: bottom;
  height: 55px;
  width: auto;
}

/* スマートフォン用ナビゲーション*/
#slidar_menu ,
#slidar_menu_lang {
  background: #F2F2F2;
  z-index: 999999999999999999;
}
#slidar_menu .sb-close ,
#slidar_menu_lang .sb-close {
  text-align: left;
  padding:15px 15px 0px;
  margin-bottom: 10px;
}

#slidar_menu .sb-right-inner .logo ,
#slidar_menu_lang .sb-left-inner .logo {
  margin: 0px;
  text-align: center;
  overflow: hidden;
}

#slidar_menu .sb-right-inner .logo img ,
#slidar_menu_lang .sb-left-inner .logo img {
  display: block;
  width: auto;
  height: 50px;
  margin: 10px auto;
  text-align: center;
}


/* ヘッダー言語切替エリア */
.spLanguageArea{
	z-index:100;
	display: none;
	position:absolute;
	width: 100%;
	background: #d2e8e8;
	bottom:-54px;
	left:0;
	padding: 15px 10px;
	text-align:center;
	box-sizing: border-box;
	box-shadow:0px 4px 16px -7px #1d1e21 inset;
}
.spLanguageBtn{
	display:block;
}
.spLanguageArea .toggle_lang{
	width:60%;
	margin:0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.spLanguageArea .toggle_lang li{
	flex-basis:50%;
	border-right:1px solid #000;
}
.spLanguageArea .toggle_lang li:last-child{
	border:none;
}
.spLanguageArea .toggle_lang a{
	display:block;
	width:90%;
	text-decoration:none;
	color:#000;
	font-weight:bold;
}


/* ヘッダー検索エリア */
.spResearchArea{
	display: none;
	position:absolute;
	z-index:100;
	width: 100%;
	background: #d2e8e8;
	bottom:-55px;
	left:0;
	padding: 15px 10px;
	text-align:center;
	box-sizing: border-box;
	box-shadow:0px 4px 16px -7px #1d1e21 inset;
}
.spResearchArea input[type="text"]{
	width:80%;
	border: 1px solid #333;
	padding: 8px 5px;
	box-sizing: border-box;
	border-radius: 3px;
}
.spResearchArea input[type="submit"]{
	width:15%;
	border: 1px solid #333;
	padding: 5px;
	box-sizing: border-box;
	display:inline-block;
	border-radius: 3px;
}


/* スマホアコーディオンメニュー */
.spMenu-accordion{
	margin-bottom:35px;
}
.spMenu-accordion .acCheck {
	display: none;
}
.spMenu-accordion .ac-label {		/*タイトル*/
	padding: 1em;
	display: block;

	font-weight: bold;
	font-size: 22px;
	letter-spacing: 0.1em;
	color: #333;
	border-bottom:solid 1px #D5D5D5;
}
.spMenu-accordion .ac-label::before{		/*タイトル横の矢印*/
	content:"";
	width: 6px;
	height: 6px;
	border-top: 2px solid #C40016;
	border-right: 2px solid #C40016;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 3px );
	right: 20px;
	transform: rotate(135deg);
}
.spMenu-accordion .ac-label,
.spMenu-accordion .ac-content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}
.spMenu-accordion .ac-content {		/*本体*/
	height: 0;
	padding:0px 25px;
	overflow: hidden;
	background:#fff;
}
.spMenu-accordion .acCheck:checked + .ac-label + .ac-content {	/*開閉時*/
	height: auto;
	padding:28px 25px 30px;
	transition: all .3s;
}
.spMenu-accordion .acCheck:checked + .ac-label::before {
	transform: rotate(-45deg) !important;
}
.spMenu-accordion .ac-content ul li {

}
.spMenu-accordion .ac-content ul li a{
	display:block;
	font-weight: bold;
	font-size: 18px;
	letter-spacing: 0.1em;
	text-align: left;
	color: #333;
	text-decoration:none;
	background:url(../img/sp/ac-content_arrow.png) no-repeat 9px center;
	padding:16px 0px 16px 30px;
	border-bottom:solid 1px #CECECE;
}
.spMenu-accordion .ac-content ul li:last-child a{
	border:none;
}

/* スマホ バナー */
.spMenu-banner{
	width: calc(100% - 30px);
	margin:0 auto 55px;;
}
.spMenu-banner li{
	margin-bottom:10px;
}
.spMenu-banner li a{
	display:block;
}
.spMenu-banner li a img{
	width:100%;
	height:auto;
}

/* スマホ ボタン */
.spMenu-btn {
	margin-bottom:30px;
}
.spMenu-btn a{
	display:block;
	width: calc(100% - 60px);
	margin:0 auto;
	border-radius: 38.5px;
	background: #222;
	padding:16px 0;

	font-weight: bold;
	font-size: 17px;
	letter-spacing: 0.1em;
	text-align: center;
	color: #fff;
	text-decoration:none;

}
.spMenu-btn a span{
	display:inline-block;
	padding:0 20px;
	background:url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%227.785%22%20height%3D%2213.345%22%20viewBox%3D%220%200%207.785%2013.345%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_190%22%20data-name%3D%22%E3%83%91%E3%82%B9%20190%22%20d%3D%22M12.1%2C0a1.249%2C1.249%2C0%2C0%2C0-.878.358L6.672%2C4.836%2C2.119.358a1.256%2C1.256%2C0%2C0%2C0-1.756%2C0%2C1.208%2C1.208%2C0%2C0%2C0%2C0%2C1.727L5.795%2C7.427a1.255%2C1.255%2C0%2C0%2C0%2C1.756%2C0l5.431-5.342a1.207%2C1.207%2C0%2C0%2C0%2C0-1.727A1.247%2C1.247%2C0%2C0%2C0%2C12.1%2C0Z%22%20transform%3D%22translate(0%2013.345)%20rotate(-90)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E') no-repeat right center;
}

/* スマホ サブリンク */
.spMenu-sublnk{
	padding:20px 25px 15px;
}
.spMenu-sublnk li{
}
.spMenu-sublnk li.spMenu-sublnk-parent a{
	display:block;
	text-decoration:none;
	font-weight: bold;
	font-size: 17px;
	letter-spacing: 0.1em;
	text-align: left;
	color: #333;
	padding:5px 5px 10px 5px;
	border-top:solid 1px #D5D5D5;
}
.spMenu-sublnk li.spMenu-sublnk-child a{
	display:block;
	text-decoration:none;
	font-weight: bold;
	font-size: 15px;
	letter-spacing: 0.1em;
	text-align: left;
	color: #333;
	padding:5px 20px 10px;
}

@media screen and (max-width: 1200px) {  /* ipad safari対応 */

	.nav__lst{
	}
	.nav__lst__item{
	}
	.nav__lst__item.toggle > a {
		font-size:15px !important;
	}

	.nav__lst__item:nth-child(6) { flex-basis:150px !important; }
	.nav__lst__item.btnContact > a {
		font-size:15px !important;
		padding-bottom:30px !important;
	}
	.nav__lst__item.btnContact > a span {
		background-size:20px auto;
		padding-left:30px !important;
	}
}

@media screen and (max-width: 375px) { 
	#fixed-top .logo img{
		width:100%;
		height:40px;
	}
}

@media print  {
	#spheader{
		display: none !important;
	}
}

.sp_navsns{
	display: flex;
	gap: 10px;
	justify-content: center;
}
.sp_navsns li {
	padding:  0px;	
}

.sp_navsns a {
	padding: 10px;
	border-radius: 5px;
	display: inline-block;
}

.sp_navsns li a img{
	width: 25px;
	vertical-align: middle;
}







/*--------------------------
pcHeader
---------------------------- */
.pcHeader{

	position:fixed;
	width:100%;
	height:85px;
	z-index:999999;

	display:flex;
	justify-content:center;
	align-items:center;
}

.invert{
	background:rgba(0, 0, 0, 0.6);
}
.pcHeader .inner{
	width:100%;
	max-width:calc( 100% - 50px);

	display:flex;
	justify-content:space-between;
	gap:0 10px;
	align-items:center;
}
@media screen and (max-width: 1600px) { /* スマートフォン */
	.pcHeader .inner{
	}
}
.pcHeaderLogo img{
	width:auto;
	height:60px;
}
/*--------------------------
pcHeader_nav
---------------------------- */
.pcHeader_nav {
	/* position: relative; 削除 */
	display: flex;
	width: 90%;
	max-width: 950px;
}
.pcHeader_nav .navLst {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-around;
	/* position: relative; 削除 */
}
.pcHeader_nav .navLst > li {
	position: relative; /* メガメニューの子要素の絶対配置の基準 */
	padding: 27px 0px;
}
.pcHeader_nav .navLst li a {
	color: #fff;
	font-size: 16px;
	text-decoration: none; /* リンクの下線を除去 */
	display: block; /* ホバー領域を広げる */
	position: relative;
}

.pcHeader_nav .navLst li a:after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0px;
	height: 1px;
	background-color: #fff;
	transition:  1s ease-out,width 0.3s ease-out;
	content: "";
	opacity: 0;
}

.pcHeader_nav .navLst li a:hover:after {
	width: 100%;
	opacity: 1;
}


.pcHeader_nav .navLst li a:hover {
	/*text-decoration: underline;*/
}


/*ドロップメニュー*/


.SubMenu {
	position: absolute;
	margin-left: -6px;
	top: 84px;
	padding: 0;
	display: none;
	width: 150px;
}

.SubMenu li {
	padding: 10px;
	display: block;
	background: rgba(0, 0, 0, 0.6);
}
.SubMenu li a {
	display: block;
	color: #fff;
	text-decoration: none;

}

.SubMenu li a:hover {

}





.pcHeader_nav .hasMegaMenu .megaMenu {
	display: none;  /*初期状態は非表示*/
	opacity: 0;
	position: fixed; /* 固定配置に変更 */
	left: 0; /* 画面の左端に配置 */
	top: 83px; /* ヘッダーの高さに合わせる */
	width: 100vw; /* 画面全体の幅 */
	background:url(../img/bk02.png) repeat;
	padding: 20px 0;
	box-sizing: border-box;
	z-index: 1000; /* 他の要素より前面に表示 */
}
.pcHeader_nav .hasMegaMenu:hover .megaMenu {
	display: block; /* ホバー時に表示 */
	transition: all 0.4s; /* 動きを滑らかに */
	opacity: 1;
	
}

.pcHeader_nav .hasMegaMenu:hover{
	background:url(../img/megaMenuParent_arrow.png) no-repeat center bottom -10px;
}

.megaMenu ul {
	display: flex;
	justify-content: center;
	/* 必要に応じてレイアウトを調整 */
}
.megaMenu ul li {
	margin: 0 20px; /* メニュー項目間のスペース */
}
.megaMenu ul li a {
	color: #000 !important;
	font-size: 16px;
	text-decoration: none;
	padding: 10px 20px;
	display: block;
}
.megaMenu ul li a::after{
	background-color: #000 !important;
}
.megaMenu ul li a:hover {
	/*text-decoration:underline;*/
}

/* レスポンシブ対応 */
@media screen and (max-width: 1100px) { /* スマートフォン */
	.pcHeader_nav .navLst{
		gap: 0 1em;
	}
	.pcHeader_nav .navLst li a{
		font-size: 14px;
	}
	.megaMenu ul li a{
		font-size: 14px;
		padding: 8px 16px;
	}
}

@media screen and (max-width: 970px) { /* スマートフォン */
	.pcHeader_nav .navLst{
		gap: 0 0.5em;
	}
	.pcHeader_nav .navLst li a{
		font-size: 13px;
		letter-spacing: 0;
	}
	.megaMenu ul li a{
		font-size: 13px;
		padding: 6px 12px;
	}
}

.pcHeader_nav .navsns{
	display: flex;
	gap: 10px;
}
.pcHeader_nav .navsns li {
	padding: 27px 0px;
}
.pcHeader_nav .navsns li a{
	display: inline-block;
}
.pcHeader_nav .navsns li a img{
	width: 25px;
	vertical-align: text-bottom;
}





/*--------------------------
wrapper
---------------------------- */

body:not(.body_page_top) #wrapper {
   /* margin-top: 85px;*/
}
@media screen and (max-width: 767px) { /* Smartphone */
	body:not(.body_page_top) #wrapper {
		/*margin-top: 55px;*/
	}
}

/*--------------------------
mainContent
---------------------------- */

.mainContent{
	width:100%;
	max-width:1000px;
	margin:0 auto;
}
@media screen and (max-width: 1000px) { /* スマートフォン */
	.mainContent{
		max-width:calc( 100% - 30px);
	}
}
/*--------------------------
pageTit
---------------------------- */
.pageTit{
position: relative;

	margin-bottom: clamp(50px, 12.1212vw + 4.5455px, 150px); /* 375px ～ 1200px の間で可変する */
}
.pageTit .inner{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 40%;
	margin: 0 auto;
	/*background:url(../img/bk02.png) repeat;*/
	z-index: 100;

}
.pageTit .tit{

	letter-spacing: 3px;
    position: relative;
    text-align: center;
    font-size: 44px;
	font-weight: bold;
	color: #fff;
}

.pageTit .pic{
}
.pageTit .pic img{
	width:100%;
	height:auto;
	vertical-align:bottom;
	filter: brightness(0.7);
}


@media screen and (max-width: 767px) { /* Smartphone */
	.pageTit .inner{
		bottom: 20%;
	}
	.pageTit .tit{
		font-size: 28px;
	}
}


/*--------------------------
ページ内リンクの微調整
---------------------------- */

#sec01,#sec02,#sec03,#sec04,#sec05{
	padding-top: 85px;
    margin-top: -85px;
}




/*--------------------------
mainVisualBox
---------------------------- */
.mainVisualBox{
	width:100%;
	max-width:2200px;
	margin-bottom:105px;
	margin-left:auto;
	margin-right:auto;
}
.mainVisualBox .inner{
	position:relative;
}
.mainVisualBox .inner .mainVisualLst{
	position:relative;
	z-index:1;
}
.mainVisualBox .inner .mainVisualLogo{
	position:absolute;
	display:block;
	top:0;
	left:0;
	bottom:0;
	right:0;
	margin:auto;
	z-index:10;

	display:flex;
	justify-content:center;
	align-items:center;
}
.mainVisualLogo_inner img{
	width:100%;
	height:auto;
}
.mainVisualBox .inner .mainVisualSnsButtons{
	position:absolute;
	width:100%;
	z-index:10;
	bottom:10px;
}


@media screen and (max-width:767px) { /* Smartphone */
	.mainVisualBox{
		margin-bottom:50px;
	}	
}


/* mainVisualLst   --------- */
.mainVisualLst{
}
.mainVisualLst li{
}
.mainVisualLst li img{
	width:100%;
	height:auto;
	vertical-align:bottom;
	filter: brightness(0.7);
}

/* mainVisualSnsButtons   --------- */
.mainVisualSnsButtons{
}
.mainVisualSnsButtons{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:0 30px;
}
.mainVisualSnsButtons li{
	text-align:center;
}
.mainVisualSnsButtons li a{
}
.mainVisualSnsButtons li a img{
	width:100%;
	max-width:38px;
}

.mainVisualSnsButtons li a:hover img{
	opacity: 0.8;
}

@media screen and (max-width: 767px) { /* Smartphone */
	.mainVisualSnsButtons{
	}
	.mainVisualSnsButtons{
		gap:0 20px;
	}
	.mainVisualSnsButtons li a img{
		max-width:30px;
	}
}

/*--------------------------
newsLstArea
---------------------------- */
.newsLstArea{
	margin-bottom:100px;
}
.newsLstArea .inner{
	max-width:1000px;
	margin:0 auto;
}
/* ----- */
.newsLst{
	margin-bottom:40px;
}
.newsLst li{
	border-bottom:solid 1px #D9D9D9;

}
.newsLst li a{
	padding: 15px;
	color:#222;
	display:flex;
	flex-wrap:wrap;
	align-items: center;
	gap:0;
	font-size: clamp(14px, 0.5102vw + 12.0867px, 16px); /* 375px ～ 767px の間で可変する */
}

.newsLst li a:hover{
	background: #f5f5f5;
}

.newsLst li a .date{
	width:14%;
	font-size: 90%;
}

.newsLst li a .cate{
	width:14%;
	font-size: 90%;
}

.newsLst li a .cate b{
	display: inline-block;
	padding: 2px 5px;
	background: #ddd;
	width: 82%;
	text-align: center;
}


.newsLst li a .tit{
	width:70%;
}
/* ----- */
.newsLstArea .lnkBtn{

}
.newsLstArea .lnkBtn a{
	max-width:240px;
}
@media screen and (max-width:1000px) { /* Smartphone */
	.newsLstArea .inner{
		width:calc( 100% - 30px);
	}	
}
@media screen and (max-width: 767px) { /* Smartphone */
	.newsLst li a .date{
		width:100px;
	}
	.newsLst li a .cate{
		width:100px;
	}
	.newsLst li a .tit{
		width:100%;
	}
	/* ----- */
	.newsLstArea .lnkBtn{
		text-align:center;
	}
	.newsLstArea .lnkBtn a{
		max-width: 100%;
	}
}
/*--------------------------
aboutArea
---------------------------- */
.aboutArea{
	margin-bottom:100px;
}
.aboutArea .inner{
	max-width:800px;
	margin-left:auto;
	margin-right:auto;
}
 .aboutArea .inner .cnt{
	 margin-bottom:40px;
 }
 .aboutArea .inner .txt{
	font-size: clamp(14px, 0.5102vw + 12.0867px, 16px); /* 375px ～ 767px の間で可変する */
	line-height:2;
	text-align: center;
}
.aboutArea .lnkBtn a{

}
@media screen and (max-width: 350px) { /* Smartphone */
	.aboutArea .inner{
		width:calc( 100% - 30px);
	}
}
@media screen and (max-width: 767px) { /* Smartphone */
	.aboutArea{
		margin-bottom:50px;
	}
	.aboutArea .lnkBtn a{
		
	}
}
@media screen and (max-width:1000px) { /* Smartphone */
	.aboutArea .inner{
		width:calc( 100% - 30px);
	}
}



/*--------------------------
imageBannersArea
---------------------------- */
.imageBannersArea{
	margin-bottom:100px;
}
.imageBannersArea .inner{
	width:100%;
	/*max-width:1600px;*/
	margin-left:auto;
	margin-right:auto;
}
.imageBannersLst{
	display:flex;
	flex-wrap:wrap;
}
.imageBannersLst li{
	width:33.33%;
}
.imageBannersLst li a{
}
.imageBannersLst li img{
	width:100%;
	vertical-align:bottom;
}

@media screen and (max-width: 767px) { /* Smartphone */
	.imageBannersArea{
		margin-bottom:50px;
	}
	.imageBannersLst li{
		width:50%;
	}
	.imageBannersLst li:last-child{
		width:100%;
	}
}

/*--------------------------
contentBannerArea
---------------------------- */
/*
.contentBannerArea{
	margin-bottom:100px;
}
.contentBannerArea .inner{
	max-width:1000px;
	margin:0 auto;
}
.contentBannerLst{
	display:flex;
	flex-wrap:wrap;
	gap:30px 5%;
}
.contentBannerLst li{
}
.contentBannerLst li:first-child{
	width:100%;
}
.contentBannerLst li:nth-child(n+2){
	width:calc( (100% - 5%) / 2);
}



.contentBannerLst li a{
}
.contentBannerLst li a img{
	width:100%;
}

@media screen and (max-width: 1000px) {
	.contentBannerArea .inner{
		max-width:calc(100% - 30px);
	}
}
@media screen and (max-width: 767px) {
	.contentBannerArea{
		margin-bottom:50px;
	}
	.contentBannerLst{
		gap:10px;
	}
	.contentBannerLst li,
	.contentBannerLst li:first-child,
	.contentBannerLst li:nth-child(n+2){
		width:100%;
	}
}
*/
.contentBannerArea{
    margin-bottom:100px;
}
.contentBannerArea .inner{
    max-width:1000px;
    margin:0 auto;
}
.contentBannerLst{
    display:flex;
    flex-wrap:wrap;
    gap:30px 5%;
}
.contentBannerLst li{
}
.contentBannerLst li:first-child{
    width:100%;
}
.contentBannerLst li:nth-child(n+2){
    width:calc( (100% - 5%) / 2);
}

.contentBannerLst li a{
    position: relative;
    display: block;
    overflow: hidden;
    padding: 0; /* Aタグのpaddingを削除 */
}
.contentBannerLst li a::before {
    content: "";
    position: absolute;
    top: 10px;
    left: 10px;
    right: 10px;
    bottom: 10px;
    border: 1px solid #fff; /* 枠線を追加 */
    pointer-events: none; /* 枠線の要素が他の要素を邪魔しないようにする */
    transition: none; /* hoverしても変わらないように設定 */
	z-index:20
}
.contentBannerLst li .pic{
    padding: 0; /* pタグのpaddingを削除 */
	z-index:5;
}
.contentBannerLst li a img{
    width:100%;
    transition: transform 0.3s ease;
    vertical-align:bottom;
}
.contentBannerLst li a:hover img{
    transform: scale(1.05); /* マウスオーバーで拡大 */
}

.contentBannerLst li a .lbl{
    position: absolute;
	  top: 50%;
	  left: 50%;
	  transform: translate(-50%, -50%);

	margin: auto;
    color: #fff;
	z-index:10;
	font-size: clamp(19px, 1.5306vw + 13.2602px, 25px); /* 375px ～ 767px の間で可変する */
}

@media screen and (max-width: 1000px) { /* Smartphone */
    .contentBannerArea .inner{
        max-width:calc(100% - 30px);
    }
}
@media screen and (max-width: 767px) { /* Smartphone */
    .contentBannerArea{
        margin-bottom:50px;
    }
    .contentBannerLst{
        gap:10px;
    }
    .contentBannerLst li,
    .contentBannerLst li:first-child,
    .contentBannerLst li:nth-child(n+2){
        width:100%;
    }



	.contentBannerLst li a .lbl{
	}

}
/*--------------------------
topInfoArea
---------------------------- */
.topInfoArea{
	margin-bottom:100px;
}
.topInfoArea .inner{
	max-width:1000px;
	margin:0 auto;

	display:flex;
	flex-wrap:wrap;
	gap:15px 11%;
}
/* ----- */
.topInfoArea .inner .cnt{
	width:44%
}
/* ----- */
.topInfoArea .inner .map{
	width:45%
}
.topInfoArea .inner .map iframe{
	width:100%;
	height: clamp(200px, 25.5102vw + 104.3367px, 300px); /* Vary between 375px and 767px */
}
/* ----- */
.topInfoArea .inner .tit{
	font-size: clamp(16px, 1.0204vw + 12.1735px, 20px); /* 375px ～ 767px の間で可変する */
	padding-bottom:20px;
	margin-bottom:20px;
	border-bottom:solid 1px #000;
	font-weight: bold;
}

.topInfoArea .inner .tit span{
	font-size: clamp(26px, 1.0204vw + 22.1735px, 30px); /* 375px ～ 767px の間で可変する */
}

.topInfoArea .inner .txt{
	margin-bottom:20px;
	font-size: clamp(14px, 0.5102vw + 12.0867px, 16px); /* 375px ～ 767px の間で可変する */
}
.topInfoArea .inner .txt a{
	font-size: clamp(18px, 1.5306vw + 12.2602px, 24px); /* 375px ～ 767px の間で可変する */
	color:#000;
}



@media screen and (max-width: 1000px) { /* Smartphone */
	.topInfoArea .inner{
		max-width:calc(100% - 30px);
	}
}
@media screen and (max-width: 767px) { /* Smartphone */
	.topInfoArea{
		margin-bottom:50px;
	}
	.topInfoArea .inner .map iframe{
	}


	/* ----- */
	.topInfoArea .inner .cnt{
		width:100%;
		order:2;
	}
	/* ----- */
	.topInfoArea .inner .map{
		width:100%;
		order:1;
		margin-bottom:10px;
	}
	.topInfoArea .inner .tit{
		padding-bottom:20px;
		margin-bottom:15px;
	}
}

/*--------------------------
jumokuBannerArea
---------------------------- */
.jumokuBannerArea{
	margin-bottom:100px;
}
.jumokuBannerArea .inner{
	max-width:1000px;
	margin:0 auto;
}
.jumokuBannerLst{
	display:flex;
	flex-wrap:wrap;
	gap:20px 0;
}
.jumokuBannerLst li{
	width:100%;
}
.jumokuBannerLst li a{
	display:block;
	width:100%;
}
.jumokuBannerLst li a img{
	width:100%;
	max-width:1000px;
}

@media screen and (max-width: 1000px) { /* Smartphone */
	.jumokuBannerArea .inner{
		max-width:calc(100% - 30px);
	}
}
@media screen and (max-width: 767px) { /* Smartphone */
	.jumokuBannerArea{
		margin-bottom:50px;
	}
}
/*--------------------------
footerBannersArea
---------------------------- */
.footerBannersArea{
	background:url(../img/bk02.png);
	padding:100px 0;
}
.footerBannersArea .inner{
	max-width:1000px;
	margin:0 auto;
}
.footerBannerLst{
	display:flex;
	flex-wrap:wrap;
	gap:20px 10px;
}
.footerBannerLst li{
	width:calc( (100% - 20px) / 3);
	text-align:center;
}
.footerBannerLst li a{
}
.footerBannerLst li a img{
	width:100%;
	border: 1px solid rgb(187 175 91)
}
@media screen and (max-width: 1000px) { /* Smartphone */
	.footerBannersArea{
		padding:30px 0;
	}
	.footerBannersArea .inner{
		max-width:calc(100% - 30px);
	}
}
@media screen and (max-width: 500px) { /* Smartphone */
	.footerBannerLst li{
		width:100%;
	}
}

/*--------------------------
snsBar
---------------------------- */
.snsBar{
	padding:50px 0;
}
.snsBarlnk{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:0 30px;
}
.snsBarlnk li{
	text-align:center;
}
.snsBarlnk li a{
}
.snsBarlnk li a img{
	width:100%;
	max-width:38px;
}
@media screen and (max-width: 767px) { /* Smartphone */
	.snsBar{
		padding:25px 0;
	}
	.snsBarlnk{
		gap:0 20px;
	}
	.snsBarlnk li a img{
		max-width:30px;
	}
}
/*--------------------------
footer
---------------------------- */
.footer{
	background:#000 url(../img/bk01.png) repeat center center;
	padding:30px 0;
}
.footer .inner{
	width:100%;
	max-width:1300px;
	margin-left:auto;
	margin-right:auto;
}
@media screen and (max-width: 1300px) { /* Smartphone */
	.footer .inner{
		max-width:calc(100% - 30px);
	}
}
/* ----- */
.footerLogo{
	text-align:center;
	margin-bottom:50px;
}
.footerLogo a{
	display:inline-block;
}
.footerLogo a:hover{
	text-decoration:underline;
}
.footerLogo a img{
	width:100%;
	max-width:125px;
}
/* ----- */
.footerLnk{
	text-align:center;
	margin-bottom:50px;
}
.footerLnk li{
	display:inline-block;
	border-right:solid 1px #fff;
	text-align:center;
	padding:0 1.5em;
}
.footerLnk li:last-child{
	border:none;
}
.footerLnk li a{
	color:#fff;
	font-size: 16px;
}
.footerLnk li a:hover{
	text-decoration: underline;
}

/* ----- */
.footerInfo{
	text-align:center;
	color:#fff;
	font-size: 16px;
	margin-bottom:60px;
}
.footerInfo{
}
/* ----- */
.address{
	font-size:12px;
	text-align:center;
	color:#fff;
}
@media screen and (max-width: 767px) { /* Smartphone */
	.footerLogo{
		text-align:center;
		margin-bottom:15px;
	}
}

/*--------------------------
pageTop
---------------------------- */
.pageTop{
}
.pageTop a{
	background:rgba( 0 , 0, 0, 0.6);
	color:#fff;
	font-size:12px;
	display:inline-block;
	padding:10px;
	border-radius:5px;
}
.pageTop a::before{
	content: "↑";
}
.pageTop a:hover{
	background:rgb(159 159 159 / 60%);
}
/*--------------------------
gmapBox
---------------------------- */
.gmapBox{

}
.gmapBox .map{
	margin-bottom: clamp(8px, 4.0816vw + -7.3061px, 24px); /* Vary between 375px and 767px */
}

.gmapBox iframe{
	width:100%;
	height: clamp(200px, 51.0204vw + 8.6735px, 400px); /* Vary between 375px and 767px */
}


/*--------------------------
layoutBox
---------------------------- */
.layoutBox{
	margin-bottom: clamp(50px, 12.1212vw + 4.5455px, 150px); /* 375px ～ 1200px の間で可変する */
}


.layoutBox .box{
	margin-bottom: clamp(30px, 5.1020vw + 10.8673px, 50px); /* Vary between 375px and 767px */
}
.layoutBox .box:last-child{
	margin-bottom:0;
}

/*--------------------------
.layoutLst01
---------------------------- */
.layoutLst01{
}
.layoutLst01 .item{
	margin-bottom: clamp(30px, 1.2121vw + 25.4545px, 40px); /* 375px ～ 1200px の間で可変する */
	display:flex;
	flex-wrap:wrap;
	gap:0px 6%;
}
.layoutLst01 .item .pic{
	width:30%;
}
.layoutLst01 .item .pic img{
	width:100%;
	height:auto;
}
.layoutLst01 .item .cnt{
	width:64%;
}
.layoutLst01 .item .cnt{
}
@media screen and (max-width: 767px) { /* Smartphone */
	.layoutLst01 .item .pic{
		width:100%;
	}
	.layoutLst01 .item .cnt{
		width:100%;
		padding: clamp(10px, 3.8265vw + -4.3495px, 25px); /* Vary between 375px and 767px */
	}
	.layoutLst01 .item .cnt .tit02{
		margin-bottom:15px;
	}
}
/*--------------------------
.layoutLst02
---------------------------- */
.layoutLst02{
}
.layoutLst02 .item{
	margin-bottom: clamp(30px, 1.2121vw + 25.4545px, 40px); /* 375px ～ 1200px の間で可変する */
	display:flex;
	flex-wrap:wrap;
	gap:0px 5%;
	margin-bottom:45px;
}
.layoutLst02 .item:nth-child(even) .pic{
	order:2;
}
.layoutLst02 .item:nth-child(even) .cnt{
	order:1;
}

.layoutLst02 .item .pic{
	width:47.5%;
}
.layoutLst02 .item .pic img{
	width:100%;
	height:auto;
}
.layoutLst02 .item .cnt{
	width:47.5%;
}
.layoutLst02 .item .cnt{
}
@media screen and (max-width: 767px) { /* Smartphone */
	.layoutLst02 .item:nth-child(even) .pic{
		order:1;
	}
	.layoutLst02 .item:nth-child(even) .cnt{
		order:2;
	}
	.layoutLst02 .item .pic{
		width:100%;
	}
	.layoutLst02 .item .cnt{
		width:100%;
		padding: clamp(10px, 3.8265vw + -4.3495px, 25px); /* Vary between 375px and 767px */
	}
	.layoutLst02 .item .cnt .tit02{
		margin-bottom:15px;
	}
}
/*--------------------------
scheduleBox
---------------------------- */
.scheduleBox{
	margin-bottom:100px;
}
.scheduleBox .inner{
	
	margin:0 auto;
}
/* ----- */
.scheculeTbl{
	border:solid 1px #bababa;
}
.scheculeTbl tr:first-child{
	border-top:solid 1px #bababa;
}
.scheculeTbl tr{
	border-bottom:solid 1px #bababa;
}
.scheculeTbl tr th,
.scheculeTbl tr td{
	padding:15px 10px;
	font-size:clamp(14px , 1.8vw , 16px);
	border-left:solid 1px #bababa;
}
.scheculeTbl .tblMonth{
	width:13%;
	background:#dddddd;
	text-align:center;
	font-size:clamp(16px , 2.0vw , 20px);
}

.scheculeTbl .tblEventName{
	width:27%;
}
.scheculeTbl .tblCnt{
	width:60%;
}
.scheculeTbl .tblCnt .tblEventName__tit{
	display:none;
}

@media screen and (max-width: 1200px) { /* Smartphone */
	.scheduleBox{
		margin-bottom:50px;
	}
	.scheduleBox .inner{
		width:calc(100% - 30px);
	}
}
@media screen and (max-width: 767px) { /* Smartphone */
	.scheculeTbl tr th,
	.scheculeTbl tr td{
		padding:10px 5px;
		vertical-align:top;
	}
	.scheculeTbl .tblEventName{
		display:none;
	}
	.scheculeTbl .tblMonth{
		width:13%;
	}
	.scheculeTbl .tblCnt{
		width:87%;
	}
	.scheculeTbl .tblCnt .tblEventName__tit{
		display:block;
	}
}



/*よくある質問*/

/*--------------------
 * qabox
 * ------------------- */
.qabox{
}
.qabox dl{
	background:#fff;
	margin-bottom: 20px;
}
.qabox dl dt{
	font-size:16px;
	font-weight: bold;
	min-height:40px;
	padding: 5px 15px 15px 15px;

	background: #ddd;
	display: flex;
	align-items: flex-end;
}
.qabox dl dt span{
	display:block;
	/*background:url(../img/arr_open.png) no-repeat right center;*/
	padding-right:30px;
}
.qabox dl dt.active span{
	/*background-image:url(../img/arr_close.png);*/
}
.qabox dl dd{
	margin-top:10px;
	padding:15px;
	min-height:40px;
	display: flex;
	align-items:start;
}


.qabox dl dt::before{
	content: "Q.";
	font-size: 24px;
	margin-right: 5px;
}

.qabox dl dd::before{
	content: "A.";
	font-size: 24px;
	margin-right: 5px;
	margin-top: -10px;
}


@media screen and (max-width: 767px) { /* Smartphone */
	.qabox dl{
	}
	.qabox dl dt{
		min-height:30px;
	}
	.qabox dl dt span{
		display:block;
	}
	.qabox dl dt.active span{
	}
	.qabox dl dd{

	}
}




/* お知らせ */

.newsflex{
	display: flex;
	justify-content: space-between;
}

.newsflex .newsSidemenu{
	flex-basis: 220px;
	order: 2;
}

.newsflex .newsLstArea{
	flex-basis: 750px;
	order: 1;
}

.newsflex .newsSidemenu .newsSidemenu_cat,.newsflex .newsSidemenu .newsSidemenu_arc{
	background: #eee;
	margin-bottom: 30px;
}

.newsflex .newsSidemenu p{
	font-weight: bold;
	background: #ccc;
	padding: 15px 5px;
}
.newsflex .newsSidemenu p::before{
	content: "―";
	padding: 0px 5px;
}
.newsflex .newsSidemenu ul{
	padding: 20px 0px;
}
.newsflex .newsSidemenu li a{
	padding: 5px 15px;
	font-size: 90%;
	display: block;
	color: #222;
}

.newsflex .newsSidemenu li a:hover{
	text-decoration: underline;
}

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

	.newsflex{
		display: flex;
		flex-wrap: wrap;
	}

	.newsflex .newsSidemenu{
		flex-basis: 100%;
		order: 2;
	}

	.newsflex .newsLstArea{
		flex-basis: 100%;
		order: 1;
	}

}



.newsLstArea .pagination{
	width:100%;
	max-width:1200px;
	margin:0 auto;
}
.newsLstArea .pagination ul{
	text-align:center;
}
.newsLstArea .pagination ul li{
	display:inline-block;
	margin-right:10px;
}
.newsLstArea .pagination ul li:last-child{
	margin-right:0;
}
.newsLstArea .pagination ul li a{
	border:solid 1px #ccc;
	border-radius:3px;
	display:block;
	padding:5px 10px;
	color:#000;
	background: #fff;
	text-decoration:none;
	min-width:15px;
	font-size:13px;
}

.newsLstArea .pagination ul li a:hover{
	background:#444;
	color: #fff;
}


/*--------------------------
newsDetailArea
---------------------------- */


.newsDetailArea{
	margin-bottom:100px;
	flex-basis: 750px;
}
.newsDetailArea .inner{
}

.newsDetailArea .inner .archiveSearch{
	display: flex;
	align-items: center;
	gap: 40px;
}

.newsDetailArea .inner .archiveSearch .column{
	display: flex;
	align-items: center;
	gap: 10px;
}

.newsDetailArea .inner .archiveSearch .item select{
	border-radius: 4px;
    background: #fff;
    border: 1px solid #e5e5e5;
    padding: 10px;
}

.newsDetailArea .inner .newsDetail{
	margin: 0px 0px 50px;
}

.newsDetail .datecate{
	display: flex;
}

.newsDetail .datecate{
	display:flex;
	margin-bottom:10px;
	gap: 20px;
}
.newsDetail .datecate .cate{
	flex-basis:calc(100% - 110px);
}
.newsDetail .datecate .cate p{
	display:inline-block;
	background:#999;
	font-size:14px;
	text-align:center;
	padding:0px 1em;
	color:#fff;
	width:auto;
}
.newsDetail .datecate .date{
	flex-basis:100px;
	text-align:right;
}


.newsDetailArea .inner .newsDetail .newsDetailtit{
	font-size:clamp(20px , 2.6vw , 26px);
	color: #222;
	font-weight:bold;
	padding-bottom: 20px;
	margin-bottom:20px;
	border-bottom: dotted #222 1px;
	
}

.newsDetailArea .inner .newsDetail .newsDetailtxt{
	padding-bottom: 50px;
	border-bottom: dotted #222 1px;


	display:flex;
	flex-direction:column;
	gap:1em;
}

.newsDetailArea .inner .newsDetail .newsDetailtxt img{
	max-width: 750px;
}


.newsDetailArea .inner .newsNavi{
	margin: 50px 0px;
}

.newsDetailArea .inner .newsNavi ul{
	margin: 50px 0px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.newsDetailArea .inner .newsNavi ul li a{
	color: #222;
}

.newsDetailArea .inner .newsNavi ul li a:hover{
	text-decoration: underline;
}

.newsDetailArea .inner .newsNavi ul li.lnkBtn a{
	color: #fff;
}

.newsDetailArea .inner .newsNavi ul li.prevpost{}
.newsDetailArea .inner .newsNavi ul li.prevpost span::before{
	content: "≪";
}

.newsDetailArea .inner .newsNavi ul li.nextpost{}

.newsDetailArea .inner .newsNavi ul li.nextpost span::after{
	content: "≫";
}




@media screen and (max-width:1000px) { /* Smartphone */
	.newsDetailArea{
		margin: 0;
		width: 100%;
		padding: 0 0 80px;
	}
	.newsDetailArea .inner{
		max-width:100%;
	}
	.newsDetailtxt img{
		width:100%;
	}

	.newsDetailArea .inner .archiveSearch{
		flex-wrap: wrap;
		gap: 10px;
	}

}

