@charset "UTF-8";
/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
@media only screen and (max-width: 736px) {
 .pc_only {
  display: none !important;
 }
}
@media only screen and (max-width: 980px) {
 .tab_only {
  display: none !important;
 }
}
@media print, screen and (min-width: 737px) {
 .sp_only {
  display: none !important;
 }
}
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, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
 border: 0;
 font-family: inherit;
 font-size: 100%;
 font-style: inherit;
 font-weight: inherit;
 margin: 0;
 outline: 0;
 padding: 0;
 vertical-align: baseline;
}
:focus {
 outline: 0;
}
ol, ul {
 list-style: none;
}
table {
 border-collapse: separate;
 border-spacing: 0;
}
caption, th, td {
 font-weight: normal;
 text-align: left;
}
blockquote:before, blockquote:after {
 content: "";
}
q:before, q:after {
 content: "";
}
blockquote, q {
 quotes: """";
}
a img {
 border: 0;
 width: 100%;
 height: auto;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
 display: block;
}
body {
 font: 16px/1.8 "Lucida Sans Unicode", "Lucida Grande", Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", sans-serif;
 color: #3b3b3b;
 -webkit-text-size-adjust: none;
 background: #ecf7fc;
}
.price,.price2{
 background: #FFF; font-size: 1rem; display:table; width: 100%; border: 1px solid #000000;
}
.thead{
  color: red;
  font-size: 1.2rem;
}
@media only screen and (max-width: 644px) {
.price{
 font-size: 1rem;
}
.price2{
 font-size: 0.7rem;
}
}
.price th,.price td{
 border: 1px solid #000000;
 vertical-align: middle;
 text-align: center;
}
.gfont_1 {
 font-family: 'Noto Serif JP', serif;
}
.mg-btm80 {
 margin-bottom: 80px;
}
.information {
 width: 98%;
 margin: auto;
}
.information .information-tit {
 width: 100%;
 text-align: center;
}
.information .info-list a {
 display: flex;
 justify-content: space-between;
 align-content: flex-start;
 padding: 20px 0;
 border-bottom: #bfbfbf 1px solid;
}
.information .info-list a dt {
 display: flex;
 justify-content: flex-start;
 align-content: flex-start;
 color: #000000;
}
.information .info-list a dt span.time {
 margin: 0 30px 0 0;
}
.information .info-list a dd {
 color: #1064c3;
}
@media only screen and (max-width: 644px) {
 .information {
  width: 98%;
 }
 .information .info-list a {
  display: block;
 }
}
.google_map {
 position: relative;
 width: 100%;
 height: 300px;
}
.google_map iframe {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
}
/* リンク設定
------------------------------------------------------------*/
a {
 margin: 0;
 padding: 0;
 text-decoration: none;
 outline: 0;
 vertical-align: baseline;
 background: transparent;
 font-size: 110%;
 font-weight: bold;
 color: #18a8a0;
}
a:hover, a:active {
 -webkit-transition: opacity 1s;
 -moz-transition: opacity 1s;
 -o-transition: opacity 1s;
 outline: none;
 color: #cdcdcd;
}
/**** Clearfix ****/
nav .panel:after, #mainNav:after, .newsTitle:after, .bg:after, .post:after {
 content: "";
 display: table;
 clear: both;
}
nav .panel, #mainNav, .newsTitle, .bg, .post {
 zoom: 1;
}
/* レイアウト
------------------------------------------------------------*/
#wrapper{
 width: 1040px;
 display: flex;
 justify-content: space-between;
 flex-direction:row-reverse;
 margin: auto;
}
.inner {
 margin: 0 auto;
 width: 1040px;
}
#header {
 text-align: center;
 background: url("../images/common/mainImage2.jpg") no-repeat;
}
#content {
 width: 750px;
 padding: 30px 0;
}
#content.w100 {
 float: none;
 width: 100%;
}
#content .mgbtm30{
 margin: 0 auto 30px auto;
}
#content .section img{
 width: 100%;
 height: auto;
}
#sidebar {
 width: 255px;
 padding: 30px 0;
}
#footer {
 clear: both;
 padding: 40px;
}
.post .wrap {
 margin: 0 auto 60px auto;
}
.path ul {
 display: flex;
 justify-content: flex-start;
 font-size: 0.8rem;
}
.path ul li a {
 text-decoration: underline;
}
.path ul li:nth-child(n + 2)::before {
 content: '・・・';
}
/* ヘッダー
------------------------------------------------------------*/
#header h1 {
 position: relative;
 padding: 0 0 10px 0;
 text-align: left;
 font-size: 80%;
 font-weight: bold;
}
.contact {
 position: relative;
 float: right;
 text-align: right;
 font-size: 80%;
 margin-top: -32px;
 font-weight: bold;
}
#header h2 {
 position: relative;
 clear: both;
 text-align: center;
 font-size: 160%;
 font-weight: bold;
}
#header h2 img {
 width: 400px;
 height: auto;
}
#header .pnav ul {
 position: relative;
 float: right;
}
#header .pnav ul li {
 font-weight: bold;
 display: inline;
 margin-left: 5px;
 font-size: 90%;
}
#header .pnav ul li:before {
 content: "・";
}
#header .pnav ul li a {
 padding-left: 5px;
 color: #000000;
}
#header .pnav ul li a:hover {
 color: #999999;
}
.headertext{
 text-align: center;
 margin-bottom: 30px;
 color: #1B576F;
 font-size: 1.2rem;
}
/* トップページ　メイン画像
------------------------------------------------------------*/
#mainImg img {
 width: 100%;
 height: auto;
 margin-top: -280px;
}
.post {
 margin: 0 0 20px 0;
}
.post .blog-date {
 text-align: right;
 font-size: 90%;
}
/* タイポグラフィ
------------------------------------------------------------*/
h2.title {
 clear: both;
 margin-bottom: 30px;
 padding-bottom: 7px;
 text-align: center;
 font-size: 150%;
 font-weight: bold;
}
h2.title span {
 padding-bottom: 10px;
 border-bottom: 2px solid #0e738a;
}
.post p {
 padding-bottom: 15px;
}
.post ul {
 margin: 10px 0 20px 20px;
}
.post ul li {
 padding-left: 5px;
 list-style: none;
}
.post ul.disc li {
 list-style: disc;
}
.post ul.documents-list li {
 list-style: disc;
}
.post ul.documents-list li a {
 display: flex;
 align-items: center;
 align-content: center;
}
.post ul.documents-list li img {
 margin-left: 4px;
}
.post ol.number {
 padding-left: 2rem;
 list-style: decimal;
 margin: 10px 0 20px 20px;
}
.post h1 {
 margin: 15px 0 25px;
 padding: 15px 0;
 font-size: 150%;
 font-weight: bold;
 color: #000000;
 border-bottom: 3px solid #000000;
}
.post h2 {
 margin: 15px 0 25px;
 padding: 15px 0;
 font-size: 130%;
 font-weight: bold;
 color: #000000;
 border-bottom: 2px solid #000000;
}
.post h3 {
 margin: 15px 0 25px;
 padding: 15px 0 4px 0;
 font-size: 120%;
 font-weight: bold;
 border-bottom: 1px solid #000000;
 color: #0e738a;
}
.post h1.nomargin, .post h2.nomargin, .post h3.nomargin {
 margin: 0px 0 10px;
 padding: 0px 0;
}
.post h4, .post h5, .post h6 {
 margin: 15px 0 10px;
 padding: 15px 0;
 font-size: 110%;
 font-weight: bold;
}
.post h4.nomargin, .post h5.nomargin, .post h6.nomargin {
 margin: 0px 0 10px;
 padding: 0px 0;
 font-size: 110%;
 font-weight: bold;
}
.post blockquote {
 clear: both;
 padding: 10px 0 10px 25px;
 margin: 10px 0 25px 0px;
 border-left: 5px solid #e9e9e9;
}
.post blockquote p {
 padding: 5px 0;
}
.post table {
 border: 1px #cccccc solid;
 border-collapse: collapse;
 border-spacing: 0;
 margin: 10px 0 30px;
 width: 100%;
}
.post table th {
 padding: 15px;
 border: #cccccc solid;
 border-width: 0 0 1px 1px;
 font-weight: bold;
 background: #F6F6F6;
}
.post table td {
 padding: 15px;
 border: 1px #cccccc solid;
 border-width: 0 0 1px 1px;
}
.post img {
 max-width: 100%;
 height: auto;
}
.post h4.question {
 margin: 15px 0 0px;
 padding: 15px 0 5px;
 font-size: 110%;
 font-weight: bold;
 font-family: auto;
}
.post p.answer {
 padding-left: 20px;
 box-sizing: border-box;
}
img.aligncenter {
 display: block;
 margin: 5px auto 30px auto;
 text-align: center;
}
img.aligncenter.nomargin{
 display: block;
 margin: 5px auto 2px auto;
 text-align: center;
}
img.alignright {
 margin: 5px 0 30px 30px;
}
img.alignleft {
 margin: 5px 30px 30px 0;
}
.alignright {
 float: right;
}
.alignleft {
 float: left;
}
/* サイドバー
------------------------------------------------------------*/
.widget, .widgetInfo {
 margin: 0 0 20px;
}
#banners img {
 max-width: 255px;
 height: auto;
 padding-bottom: 10px;
}
.widget h3 {
 clear: both;
 margin: 0 0 20px;
 padding: 5px 0;
 font-size: 130%;
 font-weight: bold;
 border-bottom: 2px solid #000000;
}
.widget a {
 font-weight: bold;
 display: block;
 padding: 5px 0 5px 0;
 color: #000000;
}
.widget a:hover {
 color: #999999;
}
.newsTitle {
 clear: both;
 margin: 0 0 20px;
 padding: 5px 0;
 font-size: 100%;
 border-bottom: 2px solid #000000;
}
.newsTitle h3 {
  display: block;
 font-size: 130%;
 font-weight: bold;
}
.newsTitle p {
 /*float: right;*/
 padding: 5px 5px 0 5px;
 font-size: .8em;
}
.newsTitle a {
 font-weight: bold;
 color: #000000;
}
.newsTitle a:hover {
 color: #999999;
}
.news p {
 clear: both;
 padding-bottom: 2px;
 font-size: 90%;
}
.news p:last-child {
 border: 0;
}
.news p a {
 font-weight: bold;
 padding: 5px 0;
 color:#144A99;
}
.news p a:hover {
 color: #999999;
}
.news span {
 display: block;
 padding-left: 10px;
 box-sizing: border-box;
}
.news time {
 display: block;
 font-size: 80%;
 color: #434343;
}
.post ul.btnlist {
 list-style: none;
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
}
.post ul.btnlist li {
 list-style: none;
 margin: 0 4px 20px 4px;
}
.post ul.btnlist li .btn1 {
 display: inline-block;
 padding: 0.5em 0.5em;
 text-decoration: none;
 background: #0e738a;
 color: #FFF;
 border-bottom: solid 4px #082C41;
 border-radius: 3px;
 display: flex;
}
.post ul.btnlist li .btn1:active {
 -webkit-transform: translateY(4px);
 transform: translateY(4px);
 border-bottom: none;
}
/* フッター
------------------------------------------------------------*/
#footer ul {
 text-align: center;
 padding-bottom: 10px;
}
#footer li {
 display: inline-block;
 vertical-align: text-top;
 text-align: left;
 margin-right: 30px;
}
#footer li a {
 font-weight: bold;
 display: block;
 padding: 0 0 0 10px;
 overflow: hidden;
 color: #000000;
}
#footer li a:before {
 content: "・";
}
#footer li a:hover {
 color: #cdcdcd;
}
#footer li li {
 display: block;
 padding: 0;
}
*:first-child + html #footer li {
 display: inline;
}
*:first-child + html #footer ul ul {
 display: none;
}
*:first-child + html #footer li li {
 display: none;
}
*:first-child + html #footer li li a {
 display: none;
}
#copyright {
 clear: both;
 padding: 10px;
 text-align: center;
 font-size: 75%;
 zoom: 1;
}
#pagetop {
 position: fixed;
 right: 30px;
 bottom: 0px;
 font-size: 40px;
 color: #cdcdcd;
}
/* トップページ 最新記事3件
------------------------------------------------------------*/
.thumbWrap {
 width: 100%;
 margin: 0 -20px 20px 0;
}
.thumbWrap .thumb {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
}
.thumbWrap .thumb li {
 width: 180px;
 background: none;
 margin: 0 0 60px 0;
}
.thumbWrap .thumb li .thumbTxt {
 height: 110px;
}
.thumbWrap .thumb li .thumbTxt.clm2 {
 height: 50px;
}
.thumbWrap .thumb img {
 width: 100%;
 max-height: 168px;
 margin-bottom: 15px;
}
ul.thumb h3 {
 margin-top: 20px;
 font-size: 100%;
 font-weight: bold;
 text-align: center;
 border: 2px solid #000000;
}
ul.thumb h3 span {
 display: block;
 padding: 7px;
 color: #000000;
}
ul.thumb h3 span:hover {
 color: #999999;
}
/* メインメニュー　PC用
------------------------------------------------------------*/
@media only screen and (min-width: 1025px) {
 nav#mainnav {
  position: relative;
  margin-top: 30px;
 }
 nav#mainnav ul {
  display: flex;
  justify-content: center;
  align-items: center;
 }
 nav#mainnav ul li {
  float: left;
 }
 nav#mainnav ul li a {
  display: block;
  text-align: center;
  _float: left;
  height: 60px;
  padding: 0 20px 0;
  line-height: 60px;
  font-size: 120%;
  font-weight: bold;
  color: #4f89c8;
 }
 nav#mainnav ul li a span, nav#mainnav ul li a strong {
  display: block;
  font-size: 85%;
  line-height: 1.7;
 }
 nav#mainnav ul li a span {
  font-size: 70%;
  color: burlywood;
 }
 nav#mainnav ul li a:hover {
  color: #999999;
 }
 nav#mainnav ul li a:hover span {
  color: #999999;
 }
 nav#mainnav ul ul {
  width: 160px;
  border-top: 0;
 }
 nav#mainnav ul li ul {
  display: none;
 }
 nav#mainnav ul li:hover ul {
  display: block;
  position: absolute;
  top: 60px;
  text-align: center;
  z-index: 500;
 }
 nav#mainnav ul li li {
  background: #ffffff;
  border-bottom: 1px dotted #cdcdcd;
  float: none;
  width: 160px;
  height: 40px;
  line-height: 40px;
  margin: 0;
 }
 nav#mainnav ul li li:last-child {
  border: 0;
 }
 nav#mainnav ul li li a {
  width: 100%;
  height: 40px;
  padding: 0;
  line-height: 40px;
  font-size: 95%;
  text-lign: center;
 }
 nav#mainnav ul li li a:hover {
  color: #999999;
 }
 nav div.panel {
  display: block !important;
  background: rgba(240,255,255,0.80);
  padding: 10px 0 5px;
 }
 a#menu {
  display: none;
 }
}
/* iPadサイズ以下（1024px）からアコーディオンメニュー
------------------------------------------------------------*/
@media only screen and (max-width: 1024px) {
 #header {
  position: fixed;
  width: 100%;
  z-index: 500;
 }
 #headerWrap {
  position: relative;
  width: 100%;
  height: 60px;
  background: #ffffff;
  border-bottom: 1px solid #cccccc;
 }
 #header h1 {
  display: none;
 }
 #header h2 {
  padding-top: 18px;
 }
 #header h2 img {
  max-height: 70px;
  width: auto !important;
 }
 #header .pnav ul {
  display: none;
 }
 a#menu {
  display: inline-block;
  position: relative;
  width: 40px;
  height: 40px;
 }
 #menuBtn {
  display: block;
  position: absolute;
  top: 60%;
  left: 50%;
  width: 18px;
  height: 2px;
  margin: -1px 0 0 -7px;
  background: #000000;
  transition: .2s;
 }
 #menuBtn:before, #menuBtn:after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 18px;
  height: 2px;
  background: #000000;
  transition: .3s;
 }
 #menuBtn:before {
  margin-top: -7px;
 }
 #menuBtn:after {
  margin-top: 5px;
 }
 a#menu .close {
  background: transparent;
 }
 a#menu .close:before, a#menu .close:after {
  margin-top: 0;
 }
 a#menu .close:before {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
 }
 a#menu .close:after {
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
 }
 .panel {
  width: 100%;
  display: none;
  overflow: hidden;
  position: relative;
  left: 0;
  top: 0;
  z-index: 100;
 }
 #mainnav {
  position: absolute;
  top: 0;
  width: 100%;
  text-align: right;
  z-index: 500;
 }
 #mainnav ul {
  background: #ffffff;
  text-align: left;
 }
 #mainnav li a {
  position: relative;
  display: block;
  padding: 12px 25px;
  border-bottom: 1px solid #eeeeee;
  color: #000000;
  font-weight: bold;
 }
 #mainnav ul li a span {
  display: none;
 }
 #mainnav ul li li {
  border: 0;
 }
 #mainnav ul li li a {
  padding-left: 40px;
 }
}
/* iPadサイズ以下（1024px）から 1カラム表示に切り替え
------------------------------------------------------------*/
@media only screen and (max-width: 1024px) {
 #wrapper, #header, .inner {
  width: 100%;
  display: block;
 }
 #header h1, #header p {
  padding: 5px 10px;
 }
 #header h2 {
  padding: 10px;
 }
 #mainImg {
  margin-bottom: 30px;
  padding-top: 330px;
 }
 h2.first {
  margin-top: 75px;
 }
 h2.topFirst {
  margin-top: -10px;
 }
 #content, #sidebar {
  clear: both;
  width: 95%;
  float: none;
  margin: 0 auto;
  padding: 10px 0;
 }
 #banners {
  width: 100%;
  margin: 30px 0 30px 0;
  text-align: center;
 }
 #banners p {
  display: inline;
 }
 #banners p img {
  width: 100%;
  height: auto;
 }
 .widget_search {
  text-align: center;
 }
 #footer {
  margin: 0;
  border: 0;
  text-align: center;
 }
 #footer ul {
  text-align: center;
 }
 #footer li {
  margin-right: 20px;
 }
 .thumbWrap {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  margin: 0 auto;
  overflow: auto;
 }
 .thumbWrap ul.thumb li {
  width: 30%;
  float: left;
  margin: 0 1% 0 2%;
 }
 .thumbWrap img {
  width: 100%;
  height: auto;
 }
}
/* 幅644px以下から ヘッダー等微調節
------------------------------------------------------------*/
@media only screen and (max-width: 644px) {
 body {
  font: 16px/2.0 "Lucida Sans Unicode", "Lucida Grande", Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", sans-serif;
 }
 img.aligncenter {
  width: 100%;
  height: auto;
 }
 #mainImg img {
  width: 100%;
  height: auto;
  margin-top: -190px;
 }
 #content {
  padding: 2px 0 0 0;
 }
 #content.w100 {
  float: none;
  width: 96%;
 }
 #headerWrap {
  position: relative;
  width: 100%;
  height: 80px;
  background: #ffffff;
  border-bottom: 1px solid #cccccc;
 }
 #header h1 {
  display: none;
 }
 #header h2 {
  padding-top: 0px;
 }
 #header h2 img {
  max-height: 70px;
  width: auto !important;
 }
 #mainImg {
  margin-bottom: 30px;
  padding-top: 200px;
 }
 h2.title {
  margin-bottom: 10px;
 }
 img.alignright, img.alignleft {
  display: block;
  margin: 5px auto 20px auto;
 }
 .alignright, .alignleft {
  float: none;
 }
 .post {
  width: 98%;
  margin: auto;
 }
 .post table {
  border: 1px #cccccc solid;
  border-collapse: collapse;
  border-spacing: 0;
  margin: 10px 0 30px;
  width: 100%;
  box-sizing: border-box;
 }
 .post table th {
  display: block;
  width: 100%;
  padding: 15px;
  border: #cccccc solid;
  border-width: 0 0 1px 1px;
  font-weight: bold;
  box-sizing: border-box;
 }
 .post table td {
  display: block;
  width: 100%;
  padding: 15px;
  border: 1px #cccccc solid;
  border-width: 0 0 1px 1px;
  box-sizing: border-box;
 }
 #footer {
  clear: both;
  padding: 20px;
 }
 #footer ul {
  text-align: left;
  padding: 0px;
 }
 #footer ul ul {
  padding: 0;
 }
 .thumbWrap {
  width: 100%;
  margin: 0 -20px 20px 0;
 }
 .thumbWrap .thumb {
  display: flex;
  flex-wrap: wrap;
  flex-flow: row wrap;
  justify-content: center;
 }
 .thumbWrap .thumb li {
  width: 236px;
  background: none;
 }
 .thumbWrap .thumb li .thumbTxt {
  height: 110px;
 }
 .thumbWrap .thumb li .thumbTxt.clm2 {
  height: 50px;
 }
 .thumbWrap .thumb img {
  width: 100%;
  height: auto;
  margin-bottom: 15px;
 }
 .thumbWrap ul.thumb li {
  width: 46%;
  margin-bottom: 30px;
 }

  .spNaviBox {
    position: fixed;
    left: 4px;
    right: 4px;
    bottom: 0;
    z-index: 9999; }
    .spNaviBox ul {
      /*padding: 6px 5px 10px;*/
      background-color: #d686ad;
      border-radius: 3px;
      display: flex;
      justify-content: space-between; }
    .spNaviBox li {
      width: 33.3%;
      text-align: center; }
    .spNaviBox li.spNavi16{
      width: 16%;}
    .spNaviBox li.spNavi17{
      width: 17%;}
    .spNaviBox li.spNavi18{
      width: 18%;}
    .spNaviBox li.spNavi19{
      width: 19%;}
    .spNaviBox li.spNavi20{
      width: 20%;}
    .spNaviBox li.spNavi21{
      width: 21%;}
    .spNaviBox li.spNavi22{
      width: 22%;}
    .spNaviBox li.spNavi23{
      width: 23%;}
    .spNaviBox li.spNavi24{
      width: 24%;}
    .spNaviBox li.spNavi25{
      width: 25%;}
    .spNaviBox li.spNavi26{
      width: 26%;}
    .spNaviBox li.spNavi28{
      width: 28%;}
    .spNaviBox li.tel{
      background: #007AA5; }
    .spNaviBox li.line{
      background: #1CB114; }
    .spNaviBox li.mail{
      background: #0B47B4; }
 
 
 
      .spNaviBox li a {
        color: #fff;
        height: 37px;
        line-height: 1.4;
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
        -webkit-justify-content: center;
        justify-content: center;
        font-size: 1.0rem;
        border-right: 1px dotted #fff; }
      .spNaviBox li:first-child a {
        border-left: 1px dotted #fff; }
    .spNaviBox.guesthouse li {
      width: 33%; }
}

 .language{display: flex; flex-wrap: wrap;margin: 10px 0; width: 90%; margin: auto;}
 .language li{width: 10%; padding: 4px 0;font-size: 1rem;}
@media only screen and (max-width: 644px) {
 .language li{width: 50%;;}
}