@charset "utf-8";


/* ---------------------------------------------
 base modules
------------------------------------------------ */

.body {
  min-width: 1300px; /* コンテンツ幅に書き直す */
  clear:both;
}
.wrap{ clear:both; }

.inner {
  width: 1080px; /* コンテンツ幅に書き直す */
  margin: 0 auto;
}

.pc { display: block; }
.sp,
.sp-small { display: none; }

#adminBox {
   margin-top: 90px !important;
}

/* ---------------------------------------------
 header
------------------------------------------------ */

.header{
	background:#fff;
  width:100%;
  height:90px;
	position:fixed;
	top:0;
	left:0;
	right:0;
  margin:0 auto;
	z-index:9999;
}

.header .inner{
	position:relative;
	width:1300px;
}

.header a:link,
.header a:visited,
.header a:hover,
.header a:active{
  text-decoration:none;
}

.header .logo{
  position:absolute;
  left:49px;
  top:33px;
}

.header .logo a{
	display:block;
}

.header .global-navigation{
	box-sizing:border-box;
	float:right;
	text-align:center;
	line-height:1;
	height:90px;
	position:absolute;
	top:0;
	right:0;
	margin:0 160px 0 0;
	padding:30px 0 0;
}

.header .global-navigation li{
  float:left;
	position:relative;
	margin:0 9px;
}

.header .global-navigation a{
	display:inline-block;
	padding:7px 9px;
}

.header .global-navigation a:link,
.header .global-navigation a:visited{
	color:#000;
}
.header .global-navigation a:hover,
.header .global-navigation a:active{
	background:#fcfbf7;
	color:#0096e0;
	font-weight:bold;
}
.header .global-navigation a[target="_blank"] {
    background-image: url(../images/ico_blank.png);
    background-position: 100% 50%;
    background-repeat: no-repeat;
    padding-right: 15px;
	
}
.header .global-navigation li span{
	display:inline-block;
	padding:7px 9px;
}

.header .global-navigation li:hover span{
	background:#fcfbf7;
	color:#0096e0;
	font-weight:bold;
}

.header .global-navigation ul ul{
	background:#fcfbf7;
	display:none;
	text-align:left;
	line-height:34px;
	width:230px;
	position:absolute;
	top:30px;
	left:0;
	z-index:10;
}

.header .global-navigation ul li:hover ul{
	display:block;
}

.header .global-navigation ul ul li {
	border-top:1px solid #fff;
	float:none;
	margin:0;
}

.header .global-navigation ul ul li:first-child {
	border-top:none;
}

.header .global-navigation ul ul li a {
	display:block;
}

.header .global-navigation li:last-of-type:not(.img_link),
.header .global-navigation li.blank {
	padding-right: 1em;
}

.header .global-navigation li.lang{
	box-sizing:border-box;
	width:175px;
	position:relative;
	margin:0 0 0 37px;
	padding-left:1em;
}

.header .global-navigation li.lang::before{
	content:"/";
	position:absolute;
	top:7px;
	left:0;
}

.header .global-navigation li.lang a{
	font-family: 'Barlow', sans-serif;
	font-size:88%;
}

.header .contact{
	font-size:88%;
	font-weight:bold;
	text-align:center;
	width:160px;
	line-height:90px;
	position:absolute;
	top:0;
	right:0;
}

.header .contact a{
	display:block;
}

.header .contact a:link,
.header .contact a:visited{
	background:#333;
	color:#fff;
}
.header .contact a:hover,
.header .contact a:active{
	background:#0096e0;
	color:#fff;
}


/* ---------------------------------------------
 container
------------------------------------------------ */

.container{
  width:1080px;
  margin:0 auto;
}

/* ------ title -------------------------------- */

.page-title{
	height:390px;
	position:relative;
	margin:90px 0 0;
	z-index:2;
}

.page-title::before{
  background:url(../images/img_keyvisual_001.jpg) no-repeat 50% 50% / cover;
	content:"";
	height:390px;
	position:absolute;
	top:0;
	left:110px;
	right:0;
	z-index:-1;
}

.sp .page-title::before{
  background-image:url(../images/img_keyvisual_001_sp.jpg);
}

.page-title::after{
  background:#eee;
	content:"";
	height:390px;
	position:absolute;
	left:0;
	right:160px;
	bottom:-71px;
	visibility:visible;
	z-index:-2;
}

.page-title h1,
.page-title .h1{
	color:#fff;
	text-align:center;
	letter-spacing:0.1em;
	white-space:nowrap;
	position:absolute;
	top:50%;
	left:50%;
	margin:0;
	padding-left:100px;
	transform:translate(-50%,-50%);
}

.page-title h1 .ja, 
.page-title .h1 .ja{
	display:block;
	font-size:188%;
	font-weight:bold;
}

.page-title h1 .en, 
.page-title .h1 .en{
	display:block;
	font-family: 'Barlow', sans-serif;
	font-size:88%;
	font-weight:500;
	margin:10px 0 0;
}

.page-title div{
	font-family: 'Barlow', sans-serif;
	font-size:88%;
	font-weight:600;
	text-align:center;
	letter-spacing:0.1em;
	width:390px;
	position:absolute;
	top:0;
	left:70px;
	transform:rotate(90deg);
	transform-origin:left top;
}

.page-title .copyrightNotice {
	padding-left: 40px;
	position: absolute;
	bottom: 15px;
	right: 15px;
	font-size: 12px;
	color: #ddd;
}

/* ------ topic-path --------------------------- */

.container .topic-path {
  text-align:right;
  margin:0 -60px;
  font-size:75%;
	line-height:71px;
	position:relative;
	z-index:2;
}

.topic-path li {
	display:inline-block;
	text-indent:0;
	padding:0;
}

.topic-path li::before {
	content:"/";
	width:auto;
	margin:0 15px 0 12px;
}

.topic-path li:first-child::before {
	display:none;
}

.topic-path a:link,
.topic-path a:visited {
  color:#000;
  text-decoration:none;
}
.topic-path a:hover,
.topic-path a:active {
  color:#000;
  text-decoration:underline;
}

/* content
------------------------------------------------ */

.content {
  text-align:left;
	padding:0 0 100px;
}

/* sidebar
------------------------------------------------ */

.sidebar{
	background:#eee;
	clear:both;
}

.sidebar .inner{
	display:flex;
  text-align:left;
}

.sidebar .inner::after{
	display:none;
}


/* ------ local-navigation --------------------- */

.sidebar .local-navigation{
	width:340px;
	margin:0 0 0 30px;
	padding:48px 0 106px;
}

.sidebar .local-navigation.newtopics{
	margin-left:0;
}

.sidebar .local-navigation dt{
	border-bottom:1px solid #ccc;
	font-family: 'Barlow', sans-serif;
	font-size:156%;
	text-align:center;
	padding:0 0 19px;
}

.sidebar .local-navigation dd ul{
	line-height:1.875;
  margin:23px 24px 0 40px;
}

.sidebar .local-navigation.archives dd ul,
.sidebar .local-navigation.category dd ul{
	display:flex;
	flex-wrap:wrap;
	margin-top:13px;
}

.sidebar .local-navigation dd ul li{
	margin:10px 0 0;
}

.sidebar .local-navigation.archives dd ul li,
.sidebar .local-navigation.category dd ul li{
	width:50%;
}

.sidebar .local-navigation dd ul li a{
  display:block;
	position:relative;
  padding-left:17px;
}

.sidebar .local-navigation dd ul li a:link,
.sidebar .local-navigation dd ul li a:visited{
	color:#666;
  text-decoration:none;
}

.sidebar .local-navigation dd ul li a:hover,
.sidebar .local-navigation dd ul li a:active{
	color:#666;
  text-decoration:underline;
}

.sidebar .local-navigation dd ul li a::before{
	border-top:1px solid #000;
	border-right:1px solid #000;
	content:"";
	width:4px;
	height:4px;
	position:absolute;
	top:0.8em;
	left:0;
	transform:rotate(45deg);
}

/* ------ banner ------------------------------- */

.sidebar .banner{
  margin-top:0;
}

.sidebar .banner li{
  margin-bottom:10px;
}



/* ---------------------------------------------
 contact-area
------------------------------------------------ */

.contact-area{
  background:#0096e0;
  clear:both;
	color:#fff;
	padding:75px 0;
}

.contact-area dl{
	display:flex;
	justify-content:center;
	align-items:center;
}

.contact-area dl dt{
	font-family: 'Barlow', sans-serif;
	font-size:125%;
	letter-spacing:0.1em;
	line-height:1;
	margin-right:23px;
}

.contact-area dl dd.tel{
	font-family: 'Barlow', sans-serif;
	font-size:300%;
	font-style:italic;
	letter-spacing:0.1em;
	line-height:1;
	margin-right:13px;
}

.contact-area dl dd.tel a{
	color:#fff;
}

.contact-area dl dd.hour{
	text-align:left;
	letter-spacing:0.1em;
	line-height:1.5;
	margin-right:64px;
}

.contact-area dl dd.form{
	font-weight:bold;
	letter-spacing:0.1em;
	line-height:48px;
	width:250px;
}

.contact-area dl dd.form a{
	border:1px solid #fff;
	border-radius:25px;
	display:block;
}

.contact-area dl dd.form a:link,
.contact-area dl dd.form a:visited{
	color:#fff;
	text-decoration:none;
}
.contact-area dl dd.form a:hover,
.contact-area dl dd.form a:active{
	background:#fff;
	color:#0096e0;
	text-decoration:none;
}



/* ---------------------------------------------
 bn-area
------------------------------------------------ */

.bn-area{
  background:#eee;
  clear:both;
	padding:50px 40px;
}

.bn-area ul{
	display:flex;
	justify-content:center;
	line-height:0;
}

.bn-area ul li{
	text-align:center;
	margin:0;
	padding:0 10px;
}

.bn-area ul li a{
	background:none !important;
	display:inline-block;
	padding:0 !important;
}

/*
.bn-area .bx-wrapper{
	background:transparent;
	border:none;
	box-shadow:none;
	margin:0 auto;
}
*/

.bn-area .slick-arrow{
	background:transparent;
	border:none;
	text-indent:100%;
	position:absolute;
	top:50%;
	overflow:hidden;
	white-space:nowrap;
	width:30px;
	height:30px;
	margin-top:-15px;
	z-index:10;
}

.bn-area .slick-arrow::before{
	border-top:3px solid #0096e0;
	border-right:3px solid #0096e0;
	content:"";
	width:10px;
	height:10px;
	position:absolute;
	top:50%;
	left:50%;
	margin-top:-5px;
}

.bn-area .slick-arrow.slick-prev{
	left:-30px;
}

.bn-area .slick-arrow.slick-next{
	right:-30px;
}

.bn-area .slick-arrow.slick-prev::before{
	margin-left:-3px;
	transform:rotate(225deg);
}

.bn-area .slick-arrow.slick-next::before{
	margin-right:-3px;
	transform:rotate(45deg);
}



/* ---------------------------------------------
 footer
------------------------------------------------ */

.footer{
  clear:both;
	padding:70px 0;
}

.footer .inner{
  text-align:left;
  width:1200px;
	position:relative;
}

.footer a:link,
.footer a:visited,
.footer a:hover,
.footer a:active {
  text-decoration:none;
}

.footer .pagetop{
	width:40px;
	height:40px;
	position:fixed;
	right:50px;
	bottom:50px;
	z-index:999;
}

.footer .pagetop a{
	display:block;
	width:40px;
	height:40px;
	text-indent:100%;
	position:relative;
	overflow:hidden;
	white-space:nowrap;
}

.footer .pagetop a:link,
.footer .pagetop a:visited {
	background:#000;
}
.footer .pagetop a:hover,
.footer .pagetop a:active {
	background:#0096e0;
}

.footer .pagetop a::before{
	border-top:2px solid #fff;
	border-right:2px solid #fff;
	content:"";
	width:6px;
	height:6px;
	position:absolute;
	top:18px;
	left:16px;
	transform:rotate(-45deg);
}

.footer .address{
  float:left;
}

.footer .address dl dt a{
	display:inline-block;
}

.footer .address dl dd{
	font-size:88%;
	line-height:2.3;
	margin:38px 0 0;
}

.footer .address dl dd a{
	color:#000;
}

.footer .footer-navigation{
	display:flex;
	float:right;
	margin:-19px -12px 0 0;
}

.footer .footer-navigation ul{
	font-size:94%;
	letter-spacing:0.1em;
	margin:0 0 0 29px;
}

.footer .footer-navigation ul li{
	margin:10px 0 0;
}

.footer .footer-navigation a{
	display:inline-block;
	padding:2px 9px;
}

.footer .footer-navigation a:link,
.footer .footer-navigation a:visited{
	color:#000;
}
.footer .footer-navigation a:hover,
.footer .footer-navigation a:active{
	background:#fcfbf7;
	color:#0096e0;
}

.footer .footer-navigation a[target="_blank"] {
	background-image: url(../images/ico_blank.png);
	background-position: 100% 50%;
	background-repeat: no-repeat;
	padding-right: 15px;
}
.footer .copyright{
	clear:both;
  font-size:75%;
  color:#999;
  margin:35px 0 0;
}

/* ---- fix-box ---- */
.fix-box {
	position: fixed;
	right: 0;
	top: 20%;
	z-index: 99;
}
.fix-box .fix-box-close,
.fix-box h2 {
	display: none;
}
.fix-box .icon {
	background-color: #eee;
	display: block;
    width: 180px;
    height: 50px;
	margin-left: auto;
	margin-bottom: 10px;
}
.fix-box .icon_baseball {
	margin-top: 30px;
	background-color: none;
}
.fix-box a {
	display: block;
	width: 100%;
	height: 100%;
}
.fix-box a[target="_blank"] {
    background: none!important;
    padding-right: 0px!important;
	position: relative;
}
.fix-box a[target="_blank"]::after {
	display: block;
	content: "";
	background: url(../images/ico_blank.png) no-repeat center;
	background-size: 100%;
	width: 10px;
    height: 9px;
    position: absolute;
    top: 3px;
    right: 3px;
}
.fix-box .img {
	width: 100%;
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.fix-box img {
	width: 100%;
}
