@charset "utf-8";
/* CSS Document */
/*ページの基本構造
=======================================================*/
body {
	font-family:'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro',sans-serif;
	font-size:100%;
	margin:0;
	padding:0;
	overflow-x:hidden;
	-webkit-text-size-adjust:100%;
}
* html body {  /* IE6 */
	font-family: "ＭＳ Ｐゴシック", sans-serif;
}
html,body	{
	min-height:100%;
}

/*clearfix
-----------------------------*/
.clearfix:after {
	content: "";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.clearfix {
	display: inline-table;
	min-height: 1%;
}
/* exlude MacIE5 \*/
* html .clearfix { height: 1% }
.clearfix {display:block;}
/* end MacIE5 */

/* 要素のリセット
---------------------------------------- */

/* --- HTML5 --- */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary {
	display: block;
	margin: 0;
	padding: 0;
}


/* --- 要素 ---*/

html,
body,
div,
h1,
h2,
h3,
h4,
h5,
p,
blockquote,
ul,
ol,
li,
dl,
dt,
dd,
form {
	margin: 0;
	padding: 0;
}

h1,
h2,
h3,
h4,
h5	{
	font-weight:normal;
}
a	{
	text-decoration:none;
}

li	{
	list-style:none;
}
img {
	max-width: 100%;
	vertical-align: bottom;
}
a:hover	{
	text-decoration:none;
}

/* ヘッダー・フッターを幅いっぱいにする為のボックス
---------------------------------------------------*/
#page-header {
	position: static;
	width:100%;
	margin-bottom:0;
	border: none;
}
@media screen and (max-width: 767px) {
	#page-header {
		z-index: 5;
	}
}

/*サイトの基本構造
----------------------------------------------*/
#header,
#footer	{
	max-width:1020px;
	margin:0 auto;
}
#header {
	background: #fff;
}
.sp-content {
	display: none;
}
@media (min-width: 767px) {
	#header,
	#footer {
		width: 750px;
	}
}
@media (min-width: 992px) {
	#header,
	#footer	{
		width: 1020px;
	}
}
@media screen and (max-width: 766px)  {
	#header {
		height: 60px;
	}
	.pc-content {
		display: none;
	}
	.sp-content {
		display: block;
	}
}
/*コンテナ
----------------------------------------------*/
#container	{
	max-width:1020px;
	margin:0 auto;
	background: #fff;
}
@media (min-width: 767px) {
	#container {
		width: 750px;
	}
}
@media (min-width: 992px) {
	#container {
		width: 1020px;
	}
}
/*下の余白の調整用
---------------------------------------------------*/
.pb30	{
	padding-bottom:30px;
}
.pb25	{
	padding-bottom:25px;
}
.pb20	{
	padding-bottom:20px;
}
.pb15	{
	padding-bottom:15px;
}
.pb10	{
	padding-bottom:10px;
}
.pb5	{
	padding-bottom:5px;
}
.pb0	{
	padding-bottom:0px;
}
.pt30	{
	padding-top:30px;
}
.pt25	{
	padding-top:25px;
}
.pt20	{
	padding-top:20px;
}
.pt15	{
	padding-top:15px;
}
.pt10	{
	padding-top:10px;
}
.pt5	{
	padding-top:5px;
}
.pt0	{
	padding-top:0px;
}
.mb40	{
	margin-bottom:40px;
}
.mb30	{
	margin-bottom:30px;
}
.mb25	{
	margin-bottom:25px;
}
.mb20	{
	margin-bottom:20px;
}
.mb15	{
	margin-bottom:15px;
}
.mb10	{
	margin-bottom:10px;
}
.mb5	{
	margin-bottom:5px;
}
.mb0	{
	margin-bottom:0px;
}
.mt40	{
	margin-top:40px;
}
.mt30	{
	margin-top:30px;
}
.mt25	{
	margin-top:25px;
}
.mt20	{
	margin-top:20px;
}
.mt15	{
	margin-top:15px;
}
.mt10	{
	margin-top:10px;
}
.mt5	{
	margin-top:5px;
}
.mt0	{
	margin-top:0px;
}
.ma {
	margin:0 auto;
}

/*横並びのレイアウトの間隔の設定
-----------------------------------*/
.row {
	margin-left: 0;
	margin-right: 0;
}
@media screen and (max-width: 767px) {
	.col-xs-12 {
		padding: 0;
	}
}

/*ヘッダ
-----------------------------------------------------*/
@media screen and (max-width: 767px) {
	.logo-box	{
		max-width:60%;
	}
}

/*スマートフォン用 メニューボタン
--------------------------------------------------*/
#header-menu-btn {
	font-size: 9pt;
	text-align: center;
	color: #ffffff;
	border: none;
	-webkit-transition: 0.2s;
	-moz-transition: 0.2s;
	-o-transition: 0.2s;
	-ms-transition: 0.2s;
	transition: 0.2s;
	margin:0;
	padding: 10px;
	top: 10px;
	right: 10px;
}
#header-menu-btn .icon-bar {
	margin-left: auto;
	margin-right: auto;
	background-color: #ffffff;
}
.navbar-toggle .icon-bar + .icon-bar {
	margin-top: 6px;
}

/*グローバルナビ
-------------------------------------------------*/
#head-above	{
	padding: 20px 15px;
}
#head-above .logo-box {
	display: -webkit-box;
	justify-content: flex-start;
	align-items: center;
	width: 312px;
	height: 47px;
	overflow: hidden;
}
.navi-menu	{
	zoom:1;
	position: relative;
	display: -webkit-box;
	display: flex;
	justify-content: center;
  margin: 0 20px;
  border-radius: 5px;
}
.navi-menu > li	{
	position: relative;
	flex-basis: 50%;
	flex-grow: 1;
}
.g-navi-btn,
.g-navi-btn > a	{
	font-size:16px;
	color:#ffffff;
	margin:0;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
	z-index:9;
}
.g-navi-btn > a	{
	position: relative;
	padding:15px 5px 15px 35%;
	display:block;
	height: 100%;
}
.g-navi-btn:first-child > a {
  border-radius: 5px 0 0 5px;
}
.g-navi-btn:last-child > a {
  border-radius: 0 5px 5px 0;
}
.g-navi-btn > a:before {
  content: '';
  position: absolute;
  left: 22%;
  top: 50%;
  width: 20px;
  height: 20px;
  background: #fff;
  border-radius: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.g-navi-btn > a:after {
  content:'';
  position:absolute;
  top:50%;
  left:25.5%;
  width:0;
  height:0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.g-navi-btn ul	{
	position:absolute;
	z-index: 1;  /* IE fix */
	left:0px;
	width:100%;
	top:100%;
	height:0;
	padding: 0;
	-webkit-transition:0.5s ease;
	transition:0.5s;
}
@media (min-width: 768px) {
	.g-navi-btn ul {
		visibility: hidden;
		overflow: hidden;
		opacity:0;
	}
	.g-navi-btn:hover ul	{
		visibility: visible;
		overflow: visible;
		height:auto;
		opacity:1;
	}
}
.g-navi-btn ul li {

}
.g-navi-btn ul li a	{
	display: block;
	padding: 15px;
	background: #fff;
	font-size:14px;
	font-weight: bold;
	color: #018bc4;
	text-align: center;
	-webkit-transition: 0.5s;
	transition: 0.5s;
}
.menu-close {
	display: none;
}
@media screen and (max-width: 767px) {
	.scroll-fixed {
		position: fixed;
		width:100%;
		height:100%;
	}
	#head-above	{
		padding: 15px 15px;
	}
	#head-above .logo-box {
		width: 270px;
	}
	#navi-area {
		position: absolute;
		top:0;
		left:0;
		width:300px;
		height:100vh;
		max-height:none;
		padding:60px 0 0;
		-webkit-transform:translateX(-300px);
		transform:translateX(-300px);
		transition: 0.5s;
		z-index: 15;
	}
	#navi-area.open {
		-webkit-transform:translateX(0);
		transform:translateX(0);
		overflow-y: scroll;
	}
	#menu-overlay {
		display:none;
		position: fixed;
		top:0;
		left:0;
		width:100%;
		height:120%;
		background:rgba(0, 0, 0, 0.5);
		z-index: 10;
	}
	.menu-close {
		position: absolute;
		top:10px;
		right:5px;
		display: block;
		width:40px;
		height:40px;
		border-radius: 5px;
	}
	.menu-close:before, .menu-close:after {
		content: '';
		position: absolute;
		top:20px;
		left:9px;
		width:22px;
		height:0;
		border-top:2px solid #fff;
	}
	.menu-close:before {
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.menu-close:after {
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	.collapse {
		display: block;
	}
	.navi-menu {
		display: block;
		margin: 0;
    border-radius: 0;
	}
	.navi-menu > li	{
		float:none;
		width: 100%;
	}
	.g-navi-btn > a	{
		position: relative;
		font-size:14px;
		font-weight: bold;
		width:100%;
		padding:18px 10% 18px 15px;
		text-align: left;
	}.g-navi-btn:first-child > a {
    border-radius: 0;
  }
  .g-navi-btn:last-child > a {
    border-radius: 0;
  }
  .g-navi-btn > a:before {
    left: auto;
		right: 10px;
  }
  .g-navi-btn > a:after {
    left: auto;
		right: 17px;
		top: 54%;
  }
	.g-navi-btn ul	{
		position:relative;
		left:0px;
		width:100%;
		height:0;
		padding: 0;
		-webkit-transition: auto;
		transition: auto;
	}
	.g-navi-btn ul.sub-box1	{
		height:100%;
		display:none;
	}
	.g-navi-btn ul.sub-box2	{
		height:100%;
		display:none;
	}
	.g-navi-btn ul li {
		display: block;
		margin:0;
	}
	.g-navi-btn ul li + li {
		margin-left: 0;
	}
	.g-navi-btn ul li a	{
		position: relative;
		padding: 15px 8% 15px 15px;
		text-align: left;
	}
	.g-navi-btn ul li a:after {
		content: '';
		position: absolute;
		top: 21px;
		right: 14px;
		width: 0;
		height: 0;
	}
}

/*フッタ
-----------------------------------------------------*/
#footer #container {
	padding: 130px 15px 0;
}
.foot-middle	{
	padding:20px 0;
  border-top: 1px solid #e9e9e9;
}
.foot-middle .logo-box {
 display: -webkit-box;
 justify-content: flex-start;
 align-items: center;
 overflow: hidden;
 margin-bottom: 5px;
 max-height: 60px;
}
@media screen and (max-width: 767px) {
	#footer #container {
		padding: 0;
	}
}
.foot-link	{
	font-size:12px;
}

/*パンくずリスト
----------------------------------------------*/


/*TOPに戻る
---------------------------------------*/
#page-top	{
	display:block;
	position:fixed;
	z-index:999;
	bottom:10px;
	right:10px;
	width:60px;
	height:60px;
	border-radius:30px;
	background:rgba(0,0,0,.4);
	font-size:12px;
	color:#FFF;
	text-decoration:none;
	text-align:center;
	padding:3px 0;
	transform:rotateY(270deg);
	-webkit-transition:.5s;
	transition:.5s;
}
#page-top:hover	{
	background:rgba(43,140,135,.5);
}

/*サイト構造-メインとサイド
----------------------------------------------*/



/*TOPページ
-----------------------------------------------------*/
.top-kv {
	padding:20px 20px 40px;
}
.top-kv .kv-inner {
	display: -webkit-box;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 190px;
	overflow: hidden;
}
.top-kv img {
	width: 100%;
}
@media screen and (max-width: 767px) {
	.top-kv {
		padding:0;
	}
	.top-kv:before {
		content: none;
	}
}
.front-page {
	background: #fff;
  padding: 0 10px;
}
/* ボックス */
.box-top + .box-top {
	margin-top: 40px;
}
.box-top + .box-item-bnr,
.box-item-bnr + .box-top {
	margin-top: 15px;
}
.box-head	{
	position: relative;
	padding: 6px 5px 8px 35px;
}
.box-head:before {
  content: '';
  position: absolute;
  left: 3px;
  top: 4px;
  width: 25px;
  height: 25px;
  border-radius: 50%;
}
.box-head:after {
  content: '';
  position: absolute;
  top: 14px;
  left: 14px;
  width: 0;
  height: 0;
  border: 2.5px solid transparent;
  border-left: 5px solid #fff;
}
.box-head p{
	font-size:16px;
	font-weight: bold;
}
.box-head p:first-of-type {
	padding-right: 60px;
}
.box-head .head-more {
	position: absolute;
	top: 50%;
	right: 3px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.box-head .head-more a {
	position: relative;
  font-family: 'Avenir';
	font-size: 11px;
	font-weight: bold;
	padding-right: 10px;
}
.box-head .head-more a:after {
	content: '';
	position: absolute;
	top:4px;
	right:0;
	width:4px;
	height:4px;
	border-top:1px solid #8f8a8a;
	border-right:1px solid #8f8a8a;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.box-head .head-more a:hover {
	opacity: 0.7;
}
.box-area	{
	margin-top: 10px;
}
@media (min-width: 768px) {
	.type-list .box-area {
		min-height: 250px;
	}
	.type-gallery .box-area {
		min-height: 125px;
	}
	.type-gallery .sub-box {
		min-height: 125px;
	}
  .js-calendar {
  	height: 240px;
  }
}
.box-item	{
	font-size:14px;
	border-bottom:#dddede 1px solid;
	padding:10px 5px;
	overflow: hidden;
}
.box-item a {
	display: block;
	margin-left: 7em;
	color: #018bc4;
}
.box-item a:hover	{
	text-decoration: underline;
}
.box-item .item-date {
	font-size: 12px;
	color: #959698;
	float: left;
	width: 6em;
}
.box-item-bnr {
 justify-content: center;
 align-items: center;
 width: 100%;
 max-height: 60px;
 text-align: center;
 overflow: hidden;
}
@media screen and (max-width: 768px) {
.box-item-bnr {
	 max-height: 100px;
 }
}
.box-item-bnr + .box-item-bnr {
	margin-top: 13px;
}
.box-item-bnr img {
	-webkit-transition: 0.5s;
	transition: 0.5s;
}
.box-item-bnr a:hover img {
	opacity:0.7;
}
.box-item-gall {
	float: left;
	width: 32%;
	margin-top: 10px;
	margin-right: 2%;
	text-align: center;
}
.box-item-gall:nth-child(3n) {
	margin-right: 0;
}
.box-item-gall a {
	-webkit-transition: 0.5s;
	transition: 0.5s;
}
.box-item-gall a:hover {
	opacity: 0.7;
}
.box-item-gall .gall-img {
	display: -webkit-box;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 90px;
	text-align: center;
	overflow: hidden;
}
.box-item-gall .gall-img img {
	object-fit: cover;
	font-family: 'object-fit: cover;';
	width: 100%;
	height: 90px;
	max-width: none;
}
.box-item-gall .item-name {
	display: block;
	margin-top: 5px;
	color:#018bc4;
	font-size: 12px;
}
.box-cale {
	border-radius:5px;
}
.box-area-cale {
	position: relative;
	margin-top:5px;
	padding:10px;
	border-radius:5px;
}

.js-calendar {
	margin-top: 20px;
}
.front-page .fc-scroller {
	height:auto!important;
}
.fc-toolbar h2 {
	font-size: 16px;
	font-weight: bold;
}
.fc-toolbar button {
	width:20px;
	height:20px;
	padding:0;
	background: #fff;
	border:none;
	-webkit-transition:0.5s;
	transition:0.5s;
	outline:none;
	box-shadow: none;
}
.fc-toolbar .fc-left {
	margin-left: 30px;
}
.fc-toolbar .fc-right {
	margin-right: 30px;
}
.fc-state-default.fc-corner-right {
	border-top-right-radius: 50%;
	border-bottom-right-radius: 50%;
}
.fc-state-default.fc-corner-left {
	border-top-left-radius: 50%;
	border-bottom-left-radius: 50%;
}
.fc-toolbar button {
	width:20px;
	height:20px;
	padding:0;
	border:none;
	-webkit-transition:0.5s;
	transition:0.5s;
	outline:none;
}
.fc button .fc-icon {
	color:#fff;
  overflow:visible;
  width:10px;
  height:10px;
  margin:0;
}
.fc button .fc-icon:after {
  position:absolute;
  top:0;
  left:0;
}
.fc button .fc-icon-left-single-arrow:after {
  content:'';
  right:0;
  width:0;
  height:0;
  border:5px solid transparent;
}
.fc button .fc-icon-right-single-arrow:after {
  content:'';
  left:0;
  width:0;
  height:0;
  border:5px solid transparent;
}
.front-page .fc-basic-view .fc-body .fc-row {
	height:auto!important;
	min-height:auto;
}
.fc-day-top .fc-day-number {
	color:#0b0b0b;
}
.fc-day-header.fc-sun .fc-day-number, .fc-day-top.fc-sun .fc-day-number {
	color:#f72424;
}
.fc-day-header.fc-sat .fc-day-number, .fc-day-top.fc-sat .fc-day-number {
	color:#164dbe;
}
.fc-widget-header th, .fc-content-skeleton td {
	padding:4px 5px;
	border-color:#cdcecf;
	font-size: 12px;
	text-align: center;
}
.fc-unthemed th {
	background:#f3f1eb;
}
.fc-unthemed th.fc-sat {
	background: #d9e6f6;
	color: #164dbe;
}
.fc-unthemed th.fc-sun {
	background: #f9dce1;
	color: #f72424;
}
.fc-bgevent {
  background: #e0f6e5;
	opacity:1;
}
.fc-row .fc-bgevent-skeleton td {
	border-color:#ddd;
}
.fc-ltr .fc-basic-view .fc-day-top .fc-day-number {
	float: none;
}
.box-cale .fc-row .fc-content-skeleton {
	padding-bottom: 0;
}
.box-cale .fc-content-skeleton tbody {
	display:none;
}
@media screen and (max-width: 767px) {
  .front-page {
    padding: 20px 4%;
  }
	.box-top {
    padding: 10px;
    background: #fff;
    border-radius: 5px;
	}
  .box-top + .box-top {
    margin-top: 20px;
  }
	.box-head {
		margin: 3px 0;
	}
	.box-area {
		padding: 0 0 15px;
	}
}
