@charset "utf-8";
/* 標準可変メディア
   メモ : 可変メディアでは、HTML からメディアの高さおよび幅の属性を削除する必要がある
   http://www.alistapart.com/articles/fluid-images/ 
*/
img, object, embed, video {
	max-width: 100%;
}
/* IE 6 では最大幅がサポートされていないため、デフォルトで幅 100% に設定される */
.ie6 img {
	width:100%;
}


/* モバイルレイアウト : 480 px およびそれ以下. */
/*-------------SP-------------*/


.gridContainer {
	margin-left: auto;
	margin-right: auto;
	width: 87.36%;
	padding-left: 1.82%;
	padding-right: 1.82%;
}
#LayoutDiv1 {
	clear: both;
	float: left;
	margin-left: 0;
	width: 100%;
	display: block;
}

.pc { display: none;}
.sp { display: block;}


/*
------------------------------------------*/

.wrap { width: 100%;}
.w1000 { width:98%; padding: 0 1%; margin: auto;}
.w1200 { width:98%; margin: auto;}

/*header
------------------------------------------*/

header .sp { padding: 20px 0 10px 0; font-family: 'Noto Serif JP', serif; color: #000; position: relative; background: #FFF; height: 150px; text-align: center;}
header .sp h1 { font-size: 9px; font-weight: normal; text-align: center;}
header .sp img { width: 135px; height: auto; margin: auto;}

header .sp .hedLogo { width: 175px;}
header .sp .hedLogo01 { fill: #005bac;}
header .sp .hedLogoTxt01 { fill: #000;}


.spMenu { position: fixed; top: 10px; right: 15px; z-index: 100;}

.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.menu-trigger {
  position: relative;
  width: 40px;
  height: 34px;
}
.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #000;
  /*border-radius: 4px;*/
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  top: 15px;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}


.menu-trigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(10px) rotate(-45deg);
  transform: translateY(10px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
  left: 50%;
  opacity: 0;
  -webkit-animation: active-menu-bar02 .8s forwards;
  animation: active-menu-bar02 .8s forwards;
}
@-webkit-keyframes active-menu-bar02 {
  100% {
    height: 0;
  }
}
@keyframes active-menu-bar02 {
  100% {
    height: 0;
  }
}
.menu-trigger.active span:nth-of-type(3) {
  -webkit-transform: translateY(-22px) rotate(45deg);
  transform: translateY(-22px) rotate(45deg);
}


.header-inner { position: fixed; z-index: 10000; top: 0; left: 0; width: 100%; height: 100%; padding: 0; background: rgba(255,255,255,1.0) url("none") center center no-repeat; background-size: cover; }

.spMenuInner { position: fixed; top: 20px; right: 15px; z-index: 100;}

/*.header-inner .bg { width: 50%; height: 100%; display: table-cell;}*/
.header-inner nav { width: 100%; height: 100%; display: inline-block; vertical-align: middle; padding: 15% 0 0 50px; box-sizing: border-box; position: relative;}
.header-inner nav::after { position: absolute; content: ''; width: 100%; height: 100%; bottom: 0px; left: 0; z-index: -1;
background-color: #FFFFFF;
background-image:linear-gradient(-45deg, #D6D6D6 5%, #FFFFFF 5%, #FFFFFF 50%, #D6D6D6 50%, #D6D6D6 55%, #FFFFFF 55%, #FFFFFF);
-webkit-background-size: 8px 8px;
}
.header-inner nav ul { list-style: none;}
.header-inner nav ul li { margin: 0 0 10px;}
.header-inner nav ul li a { font-size: 20px; color: #000; text-decoration: none; position: relative;}


.header-inner { font-family: 'Noto Serif JP', serif; overflow: scroll; border: solid 2px #000; box-sizing: border-box;}

.header-inner .hed { text-align: center; padding: 5px 0 15px;}
.header-inner .hed p { font-size: 10px;}
.header-inner .hed .logo {}
.header-inner .hed .hedLogo { width: 100px;}
.header-inner .hed .hedLogo01 { fill: #000;}
.header-inner .hed .hedLogoTxt01 { fill: #000;}

.header-inner .main { text-align: center;}
.header-inner .main p { font-size: 16px; margin: 0 0 10px;}
.header-inner .main p span { display: block; font-size: 10px; margin: 5px 0 0;}
.header-inner .main p a { color: #000; text-decoration: none;}
.header-inner .main ul { border-top: solid 1px #000; border-bottom: solid 1px #000; padding: 3% 0; width: 80%; margin: 30px 20px; text-align: left; list-style: none;}
.header-inner .main ul li { padding: 0 0 0 5%; width: 45%; float: left; margin: 5px 0; position: relative; font-size: 9px;}
.header-inner .main ul li::before { content: "▲"; transform: rotate(90deg); display: inline-block; font-size: 6px; margin-right:2px;}
.header-inner .main ul li a { color: #000; text-decoration: none;}


.header-inner .fot { text-align: center; padding: 0 0 20px;}
.header-inner .fot div { display: inline-block;}
.header-inner .fot .tel { font-size: 16px; margin-right: 20px;}
.header-inner .fot .mail { font-size: 12px;}
.header-inner .fot p { font-size: 12px;}
.header-inner .fot a { color: #000; text-decoration: none;}



/*footer
------------------------------------------*/

footer { margin: 0; padding: 0; color: #FFF;}
footer .sp { text-align: center;}
footer .sp .about { font-family: 'Noto Serif JP', serif; padding: 30px 0 0;}
footer .sp .about img { width: 100px; height: auto; margin: auto auto 5px;}
footer .sp .about p:nth-of-type(1) { font-size: 9px; margin-bottom: 10px;}
footer .sp .about p:nth-of-type(2) { font-size: 13px; line-height: 21px;}
footer .sp .about ul { font-size: 10px; margin: 20px auto auto auto; padding: 0; list-style: none;}
footer .sp .about ul li { margin: 5px 0 0;}
footer {}

.cp { background: #000; text-align: center; font-size: 11px; color: #FFF; padding: 20px 0 80px;}

.footerBtn { position: fixed; bottom: 0; left: 0; width: 100%; z-index: 1000;}
.footerBtn ul { margin: 0; padding: 0; list-style: none; border-top: solid 1px #FFF;}
.footerBtn ul li { float: left; width: 25%; box-sizing: border-box; border-right: solid 1px #FFF; text-align: center;}
.footerBtn ul li:last-child { border-right: none;}
.footerBtn ul li a { display: block; color: #FFF; text-decoration: none; background: #00437c; padding: 10px 0; font-size: 10px; font-family: 'Noto Serif JP', serif;}
.footerBtn ul li a.menu-trigger { width: 100%; height: 100%;}
.footerBtn ul li a:hover { background: #00213a;}
.footerBtn ul li a img { height: 24px; width: auto; margin-bottom: 5px;}

.fnav { text-align: left;}
.fnav p { width: 100%; background: #f4f4f4; margin: 0; padding: 10px 0 10px 30px; border-bottom: 1px solid #DFDFDF; position: relative; box-sizing: border-box;}
.fnav p a { padding-left: 10px; display: block;}

.fnav dl { width: 100%; background: #f4f4f4; margin: auto; border-bottom: 1px solid #DFDFDF;}
.fnav dl dt { display: block; background: #f4f4f4; padding: 10px 0 10px 30px; border-top: 1px solid #DFDFDF; color: #000; overflow: hidden; position: relative;}
.fnav dl dt:first-child { border-top: none !important;}
.fnav dl dt .title{ padding-left: 10px;}
.fnav dl dd { display: none; margin: 0; padding: 0;}
.fnav dl dd a { display: block; padding: 10px 0 10px 60px; text-decoration: none; border-top: 1px solid #DFDFDF;}

.iconPosition { position: absolute; top: 10px; right: 10px;}
.iconPosition .accordion_icon,
.iconPosition .accordion_icon span { display: inline-block; transition: all .4s; box-sizing: border-box;}
.iconPosition .accordion_icon { position: relative; width: 30px; height: 30px; float: right; margin-right: 5px;}
.iconPosition .accordion_icon span { position: absolute; left: 6px; width: 50%; height: 4px; background-color: #898989;}
.iconPosition .accordion_icon span:nth-of-type(1) { top: 5px; transform: rotate(0deg); -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -ms-transform: rotate(0deg); -o-transform: rotate(0deg);}
.iconPosition .accordion_icon span:nth-of-type(2) { top: 5px; transform: rotate(90deg); -webkit-transform: rotate(90deg); -moz-transform: rotate(90deg); -ms-transform: rotate(90deg); -o-transform: rotate(90deg);}
/*＋、－切り替え*/
.iconPosition .accordion_icon.active span:nth-of-type(1) { display: none;}
.iconPosition .accordion_icon.active span:nth-of-type(2) { top: 5px; transform: rotate(180deg); -webkit-transform: rotate(180deg); -moz-transform: rotate(180deg); -ms-transform: rotate(180deg); -o-transform: rotate(180deg);}

.fnav ul { width: 100%; background: #f4f4f4; margin: 0; padding: 0; overflow: hidden; list-style: none;}
.fnav ul li { float: left; margin: 0; padding: 10px 0 10px 0; box-sizing: border-box; text-align: center;}
.fnav ul li:nth-of-type(1) { width: 60%; border-right: 1px solid #DFDFDF;}
.fnav ul li:nth-of-type(2) { width: 40%;}
.fnav ul li a { padding-left: 10px; display: block; text-decoration: none;}

.fnav a,
.fnav a:hover,
.fnav a:visited { text-decoration: none; color: #000;}

.fnav p::before,
.fnav dl dt::before { content: ""; position: absolute; top: 0; bottom: 0; margin: auto; left: 20px; width: 8px; height: 5px; background: #00437c;}


/*ttl
------------------------------------------*/

.ttl { text-align: center;}
.ttl h2 { /*font-family: 'Linden Hill', serif;*/ font-family:"Times New Roman", Times, serif; font-weight: normal; font-size: 30px; letter-spacing: 0.1em; margin: 0; padding: 0;}
.ttl p { font-family: 'Noto Serif JP', serif; font-size: 20px; letter-spacing: 0.1em; margin: 0 0 35px;}
.ttl h3 { font-family: 'Noto Serif JP', serif; font-size: 22px; position: relative; margin: 30px 0;}
.ttl h3::after { content: ""; position: absolute; width: 70px; height: 1px; background: #000; bottom: -20px; left: 0; right: 0; margin: auto;}


/*gmenu
------------------------------------------*/

.gmenu { display:none;}
.gmenu2 { display:none;}




/* タブレットレイアウト : 481 px ～ 768 px。モバイルレイアウトからスタイルを継承。 */

/*@media only screen and (min-width: 481px) {
}*/

/* デスクトップレイアウト : 769 px ～最大 1232 px。モバイルレイアウトとタブレットレイアウトからスタイルを継承。 */
/*-------------PC-------------*/

@media print, screen and (min-width: 769px) {
.gridContainer {
	width: 88.2%;
	max-width: 1232px;
	padding-left: 0.9%;
	padding-right: 0.9%;
	margin: auto;
}
#LayoutDiv1 {
	clear: both;
	float: left;
	margin-left: 0;
	width: 100%;
	display: block;
}

.pc { display: block;}
.sp { display: none;}


/*
------------------------------------------*/

.wrap { width: 100%;}
.w1000 { width:1000px; margin: auto;}
.w1200 { width:1200px; margin: auto;}


/*header
------------------------------------------*/

header .pc { padding: 20px 0 0 0; font-family: 'Noto Serif JP', serif; color: #000; position: relative; background: #FFF; height: 160px;}
header .pc h1 { font-size: 15px; font-weight: normal;}
header .pc .logo { width: 175px; height: auto;}

header .pc .hedLogo { width: 175px; height: 85px;}
header .pc .hedLogo01 { fill: #005bac;}
header .pc .hedLogoTxt01 { fill: #000;}

header .pc .logo img:nth-of-type(1) { width: 175px; height: auto; margin: auto auto 10px;}
header .pc .logo img:nth-of-type(2) { width: 175px; height: auto;}
header .pc .tel { position: absolute; top: 65px; right: 213px; font-size: 22px;}
header .pc .mail { position: absolute; top: 65px; right: 0px; font-size: 22px;}
header .pc .mail::before { font-family: FontAwesome; content: "\f003"; display: inline-block; vertical-align: middle; font-size: 20px; margin-right: 3px;}
header .pc ul { position: absolute; top: 115px; right: 0px; font-size: 20px; margin: 0; padding: 0;}
header .pc ul li { margin: 0 0 0 20px; padding: 0; list-style: none; display: inline-block ;}
header .pc ul li a {}
header .pc a { color: #000; text-decoration: none;}



/*footer
------------------------------------------*/

footer { margin: 0; padding: 50px 0 35px; color: #FFF; letter-spacing: normal;}
footer .pc {}
footer .pc .about { float: left; font-family: 'Noto Serif JP', serif;}
footer .pc .about .fotLogo { width: 97px; height: 70px;}
footer .pc .about .fotLogo01 { fill: #FFF;}
footer .pc .about .fotLogoTxt01 { fill: none; display: none;}

footer .pc .about p { font-size: 14px; line-height: 21px;}
footer .pc .about ul { margin: 20px auto auto auto; padding: 0; list-style: none;}
footer .pc .about ul li { margin: 5px 0; font-size: 10px;}

footer .pc .list { float: right; line-height: 160%;}
footer .pc .list div { float: left; font-size: 11px; margin: 0 20px 0 0;}
footer .pc .list div h3 { margin: 0; padding: 0; font-weight: normal; font-size: 11px;}
footer .pc .list div a { text-decoration: none; color: #FFF; white-space: nowrap;}
footer .pc .list div ul { list-style: none; margin: 0 0 15px; padding: 0;}
footer .pc .list div ul li { text-decoration: none; color: #FFF; margin: auto auto auto 1.5em; position: relative;}
footer .pc .list div ul li::before { content: "▼"; font-size: 8px; position: absolute; transform: rotate(-90deg); display: inline-block; left: -1.5em;}
footer .pc .list div ul li a { display: inline-block;}

.cp { background: #f4f4f4; text-align: center; height: 50px; font-size: 11px; line-height: 50px; color: #000; padding: 0;}


/*ttl
------------------------------------------*/

.ttl { text-align: center;}
.ttl h2 { /*font-family: 'Linden Hill', serif;*/ font-family:"Times New Roman", Times, serif; font-weight: normal; font-size: 50px; letter-spacing: 0.1em; margin: 0; padding: 0;}
.ttl p { font-family: 'Noto Serif JP', serif; font-size: 20px; letter-spacing: 0.1em; margin: 0 0 65px;}
.ttl h3 { font-family: 'Noto Serif JP', serif; font-size: 38px; position: relative; margin: 90px 0;}
.ttl h3::after { content: ""; position: absolute; width: 70px; height: 1px; background: #000; bottom: -20px; left: 0; right: 0; margin: auto;}


/*gmenu
------------------------------------------*/

.gmenu { background: #000; display:block;} 
.gmenu nav { width: 1000px; margin: auto;}
/*.gmenu nav ul { width: 100%; margin: 0; padding: 0; list-style: none; text-align: center; height: 40px; display: flex; justify-content: space-between;}*/
/*.gmenu nav ul li { font-family: 'Noto Serif JP', serif; font-size: 18px; line-height: 40px;}*/
.gmenu nav ul { width: 100%; margin: 0 auto; padding: 0; list-style: none; text-align: center; height: 40px; display: table;}
.gmenu nav ul li { font-family: 'Noto Serif JP', serif; font-size: 16px; line-height: 40px; display: table-cell; vertical-align: middle; text-align: center; white-space: nowrap;}
.gmenu nav ul li a { display: block; color: #FFF; text-decoration: none; padding: 0 20px;}
.gmenu nav ul li a.selected,
.gmenu nav ul li a:hover { background: #474747;}

.gmenu2 { background: #000; display:block;} 
.gmenu2 nav { width: 1000px; margin: auto;}
/*.gmenu nav ul { width: 100%; margin: 0; padding: 0; list-style: none; text-align: center; height: 40px; display: flex; justify-content: space-between;}*/
/*.gmenu nav ul li { font-family: 'Noto Serif JP', serif; font-size: 18px; line-height: 40px;}*/
.gmenu2 nav ul { width: 100%; margin: 0 auto; padding: 0; list-style: none; text-align: center; height: 40px; display: table;}
.gmenu2 nav ul li { font-family: 'Noto Serif JP', serif; font-size: 16px; line-height: 40px; display: table-cell; vertical-align: middle; text-align: center; white-space: nowrap;}
.gmenu2 nav ul li a { display: block; color: #FFF; text-decoration: none; padding: 0 5px;}
.gmenu2 nav ul li a.selected,
.gmenu2 nav ul li a:hover { background: #474747;}





}