
@import url('https://fonts.googleapis.com/css?family=Cinzel+Decorative:400,700|Open+Sans:400,700');
/*============================
	レイアウト・背景色・基本文字色
=============================	*/
body {
	color:#000;
	font-family:  "游ゴシック", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif !important;
	letter-spacing:0.1em;
    min-width: 960px;
}
a {
    color: #000;
	text-decoration:underline;
    transition: 0.2s all;
}
a:hover {
	text-decoration:none;
	opacity:0.7;
}
#container {
	overflow: hidden;
}
#container .inner {
	width:960px;
	margin:0 auto;
}
#content {
	margin:0 auto 0;
    position: relative;
}
#main {
	margin: 0 auto;
}
.articleIn {
}
#main.profile,
#main.map,
#main.form {
  padding-top: 110px;
    width: 960px;
    margin: 0 auto;
    margin-bottom: 80px;
}
#side {
}

/*============================
noSlideの記述
=============================*/
#top.noSlide #main #leadTxt {
    display: none;
}
#top.noSlide #main #news {
    margin-top: 0;
}
#top.noSlide #main{
    padding-top: 0;
}
#top.noSlide.noImage #leadTxt {
    padding-left: 0;
    text-align: center;
}

/*============================
	ヘッダー
=============================*/
header {
	min-width:960px;
	margin:0 auto;
	display:table;
	table-layout:fixed;
	position:relative;
}
header .headNav {
	display:table-cell;
	vertical-align:top;
	text-align:right;
}
header .headNav li {
	display:inline-block;
    margin-left: 4px;
    line-height:1;
	top: 60px;
	z-index:1;
    top: 20px;
    background-color: #fce804;
    width: 100px;
    height: 24px;
    border-radius: 4px;
}
header .headNav li a {
	text-decoration:none;
    font-size: 0.857em;
    letter-spacing: 0.04em;
    height: 100%;
    width: 100%;
    line-height: 24px;
    color: #0482bc;
    padding: 0 15px 0px 0;
    border-radius: 4px;
    display: block;
}
header .profileNav {
    position: relative;
}
header .profileNav::before {
    content: '';
    display: inline-block;
    background: url(../../images/214/icon-headnav_001.png) no-repeat;
    width: 13px;
    height: 13px;
    position: absolute;
    left: 11px;
    top: 5px;
}
header .profileNav:hover {
}
header .accessNav {
    position: relative;
}
header .accessNav::before {
    content: '';
    display: inline-block;
    background: url(../../images/214/icon-headnav_002.png) no-repeat;
    width: 9px;
    height: 12px;
    position: absolute;
    left: 14px;
    top: 6px;
}
header .accessNav:hover {
}
header .contactNav {
    position: relative;
}
header .contactNav::before {
    content: '';
    display: inline-block;
    background: url(../../images/214/icon-headnav_003.png) no-repeat;
    width: 15px;
    height: 10px;
    position: absolute;
    left: 9px;
    top: 7px;
}
header .contactNav:hover {
}



header .headNav li:hover {
}
header .headNav li a:hover {
  opacity: 0.6;
}

header .headNav li.profileNav {
}
header .headNav li.accessNav a {
    padding: 0 17px 0px 0;
}
header .headNav li.contactNav a {
    padding: 0 8px 0px 0;
}


/*　タイトル
-----------------------------------------*/
header #siteTtl {
	/*display: table-cell;*/
    vertical-align: middle;
    font-size: 1.429em;
    width: 100%;
    padding: 19px 0 20px;
    max-width: 800px;
}
header #siteTtl a {
	text-decoration:none;
	word-wrap: break-word;
	display: inline-block;
}
header #siteTtl a img {
	max-width:500px;
	height:auto;
}


/*============================
	グロナビ
=============================*/
nav {
    background-color: #20bfe1;
}
nav ul {
	letter-spacing:-0.40em;
	text-align:center;
	padding:18px 0 0;
}
nav ul li.parent {
	letter-spacing:0.1em;
	display:inline-block;
	margin-bottom:18px;
	position:relative;
    font-weight: bold;
}
nav ul li.parent:first-child a {
    padding-left: 0;
}
nav ul li.parent:last-child a {
    padding-right: 0;
}

nav ul li.parent > a {
	color:#fff;
	text-decoration:none;
	padding:0 25px 3px;
	display:block;
	font-size:1em;
    letter-spacing: 0;
}
nav ul li.parent > a:hover {
    color: #fce804;
    opacity: 1;
}
nav ul li.parent > a:hover:before {
}
nav ul li.childIn:hover:after {
	height:calc(100% + 27px);
}
nav ul li.parent:hover > a {
	position:relative;
	z-index:10;
	/*opacity:1;*/
}

/* 子メニュー */
nav .child {
	position:absolute;
	letter-spacing:0;
	left:-14px;
	min-width:100%;
	width:165px;
	text-align:left;
	padding:0;
	display:none;
	z-index:10;
	padding-top:18px;
}
nav .child li {
	background: rgba(32, 191, 225, 0.7);
    text-align: center;
    padding: 5px 0px;
}
nav .child li a {
	color:#fff;
	font-size:1em;
	text-decoration:none;
	display:block;
	padding:7px 14px 7px 14px;
	position:relative;
    border-bottom: 1px solid  #fff;
    font-weight: normal;
}
nav .child li:last-child a {
    border-bottom:none;
}
nav .child li a:hover {
	opacity:1;
    color: #fce804;
}
nav .child li:first-child {
}
nav .child li:last-child {
}

/* topのみ */
#top nav {
}


/*============================
	メインスライド
=============================*/
.mainSlideIn {
	width:100%;
	margin:0 auto;
    padding: 50px 0 58px;;
    position:relative;
    background: url(../../images/214/bgi-contents_001.jpg);
}
#mainSlide li {
	height:360px !important;
	position:relative;
	background:rgba(0,0,0,0.2);
	overflow:hidden;
}
#mainSlide li img {
	position:absolute;
	left:0;
	width:1200px;
	height:auto;
    /*top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);*/
}
.bx-wrapper {
	margin-bottom: 0!important;
    min-width: 960px;
}
.bx-wrapper .bx-viewport {
	width: 860px!important;
    margin: 0 auto;
    border: 1px solid #fff;
}
 .bx-wrapper .main-container {
    overflow: hidden;
  }
/* pager */
.bx-pager {
    bottom: -43px !important;
}
.bx-wrapper .bx-pager.bx-default-pager a {
	text-indent: -9999px;
	display: block;
	width: 10px;
	height: 10px;
	margin: 0 5px;
	outline: 0;
    background-color: rgba(32, 191, 225, 0.4);
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
  border-radius: 6px;
}
.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active {
    background: #20bfe1;
	opacity:1;
}

/* controlBtn */
.bx-wrapper .bx-controls-direction a {
	width:50px;
	height:50px;
	margin:0;
}
.bx-wrapper .bx-prev {
  background:url(../../images/214/ico-pager_001.png) center center no-repeat;
  background-size: 26px 26px;
    left: 230px;
    left: calc(50% - 480px);
    top: calc(50% - 20px);
}
.bx-wrapper .bx-prev:hover {
	opacity:0.7;

}
.bx-wrapper .bx-next {
    background:url(../../images/214/ico-pager_002.png) center center no-repeat;
    background-size: 26px 26px;
    right: calc(50% - 480px);
    top: calc(50% - 20px);
}
.bx-wrapper .bx-next:hover {
	opacity:0.7;
}


/*============================
	メインイメージ
=============================*/
.mainImgIn {
    background: url(../../images/214/bgi-contents_001.jpg);
    border-bottom: 1px solid #20bfe1;
}
.mainImgIn .inner {
	display:table;
	width:100%;
	padding:45px 0px 50px 50px;
}
.mainImgIn .inner #mainImg {
	width:365px;
	display:table-cell;
	vertical-align:middle;
	text-align:center;
}
.mainImgIn .inner #leadTxt {
	display:table-cell;
	vertical-align:middle;
	padding-left:40px;
	line-height:1.75;
    font-size:1.714em;
    color: #000;
    letter-spacing: 0;
    font-weight: normal;
}

/*============================
	メインエリア
=============================*/
#top.noSlide #main #leadTxt {
    display: none;
}
#main #leadTxt {
    margin: 0 auto;
    text-align: center;
    font-size: 1.714em;
    line-height: 1.75;
    padding-top: 0;
  font-weight: normal;
    border: 1px solid #20bfe1;
    border-right: none;
    border-left: none;
    padding: 31px 0;
}
#main #leadTxt span {
    font-weight: normal;
    width: 960px;
    display: inline-block;
}
#main .contTtl {
    font-size: 1.714em;
	line-height:1.3;
  font-weight: normal;
    position: relative;
    color: #20bfe1;
    display: inline-block;
}
#main .contTtl::after {
    content: '';
    display: block;
    background: url(../../images/214/ico-article_001.png) no-repeat;
    width: 24px;
    height: 24px;
    bottom: calc(50% - 12px);
    left: -32px;
    position: absolute;
}
#main div:last-child {
	margin-bottom:0;
}

/* news */
#news {
	text-align:center;
	position:relative;
    max-height: 270px;
    background: url(../../images/214/bgi-contents_001.jpg);
    padding: 32px 0 40px;
    border-bottom: 1px solid #20bfe1;
}
#news .contTtl {
	position:relative;
	display: inline-block;
	padding-bottom: 0px;
    font-size: 1.714em;
  font-weight: normal;
    padding: 0 9px;
    margin-bottom: 34px;
    line-height: 1;
}
#news .contTtl::after {
    content: '';
    display: inline-block;
    background: url(../../images/214/ico-news_001.png) no-repeat;
    width: 24px;
    height: 24px;
    -webkit-background-size: cover;
    background-size: cover;
    top: -2px;
    left: -22px;
}

#news ul {
    overflow-y: scroll;
	line-height:1.3;
	text-align:left;
	position:relative;
    width: 490px;
    margin: 0 auto;
    max-height: 145px;
}
#news ul li {
    padding: 0px 0px 13px 114px;
    position: relative;
    overflow: hidden;
    /*ADD20190226
    white-space: nowrap;
    text-overflow: ellipsis;
    */
    letter-spacing: 0;
}
#news ul li:first-child {
    padding-top: 0;
}
#news ul li:last-child {
    padding-bottom: 0;
}
#news ul .day {
	display:block;
	position:absolute;
	left:0px;
  color: #20bfe1;
    padding: 1px 10px;
    letter-spacing: initial;
    font-weight: normal;
    letter-spacing: 1px;
}
#news dl dd {
	float:left;
	width:782px;
	padding:10px 0;
	border-top:1px dotted #000;
}

/* article */
.articleIn {
}
.articleIn > .articleBox:nth-child(even) {
}

.articleBox {
	text-align:center;
    position: relative;
    border-bottom: 1px solid #20bfe1;
    padding: 40px 0;
}
.articleBox:last-child {
    border-bottom: none;
}

.articleBox .articleBoxIn {
    width: 960px;
    margin: 0 auto;
}

.articleBox .contTtl {
    position: relative;
    text-align:center;
}


.articleIn .articleBox:last-child {
    margin-bottom: 0;
}
.articleBox .clearfix {
	padding: 56px 80px 0px;
    position: relative;
}


.articleBox .txtArea {
    width: 415px;
    float:left;
    font-size: 1em;
	line-height:2;
	text-align:justify;
    letter-spacing: 0.01em;
}
.articleBox .txtArea p {
    margin-bottom: 40px;
}
.articleBox.noImg .txtArea {
	width:auto;
	float:none;
	text-align:left;
    padding: 56px 80px 0px;
}
.articleBox .txtArea strong {
	font-weight:bold;
}
.articleBox .txtArea p:last-child {
	margin-bottom:0;
}
.articleBox .imgArea {
	width:300px;
	float:right;
}
.articleBox .imgArea figure {
	margin-bottom:25px;
}
.articleBox .imgArea figure:last-child {
	margin-bottom:0;
}
.articleBox .imgArea figure figcaption {
	display:block;
    font-size:0.857em;
	padding-top:5px;
	line-height:1.5;
    text-align: justify;
    letter-spacing: 1px;
}
#main table {
	width:auto;
	font-size:1em;
    color: #666666;
    margin: 0 auto;
}
#page #main table {
}
table,
table td,
table th {
    border:2px solid #20bfe1;
}
table td,
table th {
	text-align:left;
    padding: 7px 30px;
}
table th {
    background-color: #e1f8fd;
}


/* contactBtn */
.contactBtn {
    margin: 0 auto;
    text-align: center;
    padding: 70px 0;
    background: url(../../images/214/bgi-contact_001.jpg) no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
}
.contactBtn span {
    display: inline-block;
    width: 400px;
}
.contactBtn a {
	padding: 23px 0;
	display:block;
	text-decoration:none;
    color:#0482bc;
    line-height: 1;
    font-weight: bold;
    font-size:1.031em;
    position: relative;
    background-color: #fce804;
    border-radius: 4px;
    -webkit-transition: none;
    transition: none;
    box-shadow: 0 4px 0 #d1c003;
    padding-left: 16px;
}
.contactBtn a:hover{
    box-shadow: none;
    top: 4px;
    opacity: 1;
}
.contactBtn a::before {
    content: '';
    display: inline-block;
    background: url(../../images/214/ico-contact_001.png) no-repeat;
    width: 21px;
    height: 14px;
    -webkit-background-size: cover;
    background-size: cover;
    position: absolute;
    left: 139px;
    top: 22px;
}


/*============================
	サイドエリア
=============================*/
#side {
	width:960px;
	margin:0 auto;
}
#side > div {
	margin-right: 20px;
    width: 225px;
}
#side > div:last-child {
	margin-right:0;
}
#side {
	padding-top:56px;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -webkit-justify-content:center;/*--- safari（PC）用 ---*/
    justify-content: center;
    margin-bottom: 50px;
}
#side div:last-child,
#side h2:last-child {
	margin-bottom:0;
}
#side .sideTtl {
	font-size:1em;
    color: #000;
    padding: 0px 0 4px 0px;
    line-height: 1.2;
    font-weight: normal;
    border-bottom: 2px solid #fff;
    margin-bottom: 20px;
    font-weight: bold;
}

/* leadTxt */
#side #leadTxt {
	border:1px solid #7fbcdb;
	line-height:2;
	padding:20px;
	font-weight:normal;
	margin-bottom:55px;
}

/* sideCont */
#side #sideCont .sideTtl {
}
#side #sideCont {
	letter-spacing:0.1em;
	line-height:1;
	display: block;
}
#side #sideCont ul li {
	font-size:1em;
    margin-bottom: 20px;
}
#side #sideCont ul li:last-child {
	border: none;
}
#side #sideCont ul li a {
	display:inline-block;
	text-decoration:none;
    font-weight: normal;
}
#side #sideCont ul li a:before {
}
#side #sideCont ul li a:hover {
	opacity:0.6;
}

/* blog */
#side #blog {
	line-height:1.3;
	display:block;
}
#side #blog dl {
	text-align:left;
    font-size: 0.857em;
    overflow-y: scroll;
    height: 225px;
    margin-bottom: 10px;
}
#side #blog  dl dt {
	margin-bottom:5px;
}
#side #blog  dl dt:first-child {
}
#side #blog  dl dd {
	text-align:justify;
    margin-bottom: 7px;
}
#side #blog  dl dd a {
    text-decoration: none;
}
/*--FF用--*/
  #side #blog  dl dd a {
    display: inline-block;
  }


#side #blog  dl dd a:hover::after {
    opacity: 0.6;
}


#side #blog  dl dd a {
    letter-spacing: 0;
}
#side #blog .btn {
}
#side #blog .btn a {
	display:block;
	text-decoration:none;
	color:#fff;
	padding:6px 10px 6px 10px;
	text-align:center;
	position:relative;
    background-color:  #fce804;
    font-size: 1em;
    color: #419b8f;
    border-radius: 4px;
}
#side #blog .btn a:before {
}

/* mobile */
#side #mobile {
	display: block;
}
#side #mobile figure {
	text-align:center;
}
#side #mobile figure img {
	width:100px;
	height:100px;
}
#side #mobile figure figcaption {
	line-height:1.4;
	padding-top:25px;
	font-size: 12px;
	text-align: justify;
    letter-spacing: 0;
}

/*============================
	ページトップ
=============================*/
#pageTop {
	position:fixed;
	z-index:1000;
	right:30px;
	bottom:25px;
	width:40px;
	height:40px;
	 border-radius:30px;
	 display:none;
}
#pageTop a {
	display:block;
	width:40px;
	height:40px;
	 overflow: hidden;
	 text-indent: 100%;
	 white-space: nowrap;
	 border-radius:30px;
    text-indent: -9999;
    background: url(../../images/214/ico-pageTop_001.png) center center no-repeat #fce804;
}
#pageTop a:hover {
	opacity:0.6;
}

/*============================
	フッター
=============================*/
footer {
    background-color: #d3dbdd;
    color: #000;
}
footer .copy {
	text-align:center;
	margin:0 auto;
	color:#fff;
	line-height:1.2;
	padding:20px 0;
    background-color: #000;
    font-size: 0.857em;
}

/*============================
	フリーエリア
=============================*/


#foot-area {
	line-height:2;
}
#foot-area {
    padding: 50px 80px 50px;
    width: 960px;
    margin: 0 auto;
    text-align: center;
    letter-spacing: 0;
}
#side-area {
    letter-spacing: 0;
    font-size: 0.857em;
    line-height: 1.5;
    padding: 16px 18px 18px;
    border: 1px solid #fff;
    text-align: justify;
    -webkit-align-self: flex-start;
    align-self: flex-start;
    margin-top: 20px;
}
/*============================
	下層ページ共通
=============================*/
/* pageTtl */
.pageTtl {
	padding:68px 0;
    width: 100%;
	text-align:center;
	position:relative;
    background: url(../../images/214/bgi-contents_001.jpg) ;
    border-bottom: 1px solid #20bfe1;
}

.pageTtl h2 {
    font-size: 1.714em;
    line-height: 1.6;
    text-align: center;
    max-width: 960px;
    display: inline-block;
    color: #000;
    position: relative;
    margin: 0 auto;
    word-wrap: break-word;
       font-weight: normal;
    letter-spacing: 0;
}

/* pnkz */
#pnkz {
	letter-spacing:-0.40em;
	text-align:left;
	margin:0 auto 0px;
	font-size:0.85em;
    background-color: #d3dbdd;
    padding: 6px 0 7px 0;
    padding-left: calc(50% - 480px);
}
#pnkz li {
	letter-spacing:0;
	display:inline-block;
}
#pnkz li:last-child {
}
#pnkz li:after {
	content:">";
	margin:0 10px;
}
#pnkz li:last-child:after {
	display:none;
}


/*============================
	お問い合わせフォーム、プロフィール、地図
=============================*/
#main.form table,
#main.profile table,
#main.map table {
	width:100%;
	font-size:1.14em;
}
#main.form table th,#main.form table td,
#main.profile table th,#main.profile table td,
#main.map table th,#main.map table td {
	vertical-align:middle;
	text-align:left;
	padding:25px 20px;
}
#main.form table th,
#main.profile table th,
#main.map table th {
	font-weight:bold;
	padding-right:0;
    color: #4f382a;
}
#main.form .txtBox,
#main.profile .txtBox,
#main.map .txtBox {
	font-size:1.14em;
	line-height:1.87;
    margin-bottom: 50px;
}
#main.form .txtBox p,
#main.profile .txtBox p,
#main.map .txtBox p {
	margin-bottom:30px;
}

/* form */
#main.form {
}
#main.form .requiredMark {
	color:#ce0000;
}
#main.form table th {
	width:270px;
}
#main.form table td {
	height:80px;
}
#main.form .inputArea {
	background:#f1f1f1;
	line-height:1;
	padding:8px 15px;
	border-radius:2px;
	width:520px;
	border:1px solid #ddd;
}
#main.form .inputArea.short {
	width:200px;
	display:inline-block;
}
#main.form .inputArea input {
	width:100%;
}
#main.form .inputArea input:focus,
#main.form .inputArea textarea:focus,
#main.form .inputArea button:focus {
	outline:none;
}
#main.form .inputArea textarea {
	width:100%;
	height:190px;
	padding: 10px 0;
    line-height: 1.5;
}
#main.form table {
	border-bottom:none;
}
#main.form #submit td {
	text-align:center;
	letter-spacing:-0.40em;
	padding-top:40px;
}
#main.form #submit input {
	display:inline-block;
	width:240px;
	text-align:center;
	font-weight:bold;
	line-height:1;
	padding:18px 0;
	cursor:pointer;
	letter-spacing:0.1em;
	margin:0 10px;
	font-size:1.12em;
    background-color: #fce804;
    border-radius: 3px;
    color: #0482bc;
}
#main.form #submit input.submitBtn {
}
#main.form #submit input.resetBtn {
    border: 3px solid #0482bc;
    box-sizing: border-box;
    color: #0482bc;
    padding: 15px 0;
    background-color: #fff;
}
#main.form #submit input:hover {
	opacity:0.7;
}

/* map */
#main.map #frame {
	margin-bottom:70px;
    text-align: center;
}
#main.map #frame iframe {
	width: 850px;
	height: 478px;
}

/* 20170703 ADD */
#side-area img{
	max-width: 100%;
}
#foot-area img{
	max-width: 100%;
}


/* 20190416 ADD */
.box ul,
.box1 ul,
.box2 ul,
.box3 ul,
.articleBox ul,
.entry_box ul,
.entryBox ul,
.article-box ul,
.article ul,
.article_box ul{
    list-style-type: disc;
}
.box ol,
.box1 ol,
.box2 ol,
.box3 ol,
.articleBox ol,
.entry_box ol,
.entryBox ol,
.article-box ol,
.article ol,
.article_box ol {
    list-style-type: decimal;
}
.box ul,
.box1 ul,
.box2 ul,
.box3 ul,
.articleBox ul,
.entry_box ul,
.entryBox ul,
.article-box ul,
.article ul,
.article_box ul,
.box ol,
.box1 ol,
.box2 ol,
.box3 ol,
.articleBox ol,
.entry_box ol,
.entryBox ol,
.article-box ol,
.article ol,
.article_box ol {
    margin-left: 18px;
}