@charset "UTF-8";
* { padding: 0; margin: 0; box-sizing: border-box; }

a:hover { cursor: pointer; opacity: 0.7;}

@font-face { font-family: "はれのそら明朝"; src: url(../font/Harenosora.otf) format("opentype"); }

body { font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック  Medium', meiryo, sans-serif; box-sizing: border-box; }

li { list-style-type: none; }

a { text-decoration: none; color: #333; }

.clearfix:after { content: " "; display: block; clear: both; }

.header_sub { background: #4f6e0a; padding-top: 10px; padding-bottom: 10px; color: #fff; font-size: 14px; }

.box { max-width: 1000px; width: 100%; margin: 0 auto; }

.header_right { float: right; }

@media screen and (max-width: 950px) { .header_right { display: none; } }

.header_left { float: left; }

@media screen and (max-width: 950px) { .header_left { float: none; text-align: center; } }

@media screen and (max-width: 750px) { .header_left { font-size: 12px; } }

@media screen and (max-width: 640px) { .header_left { font-size: 11px; } }

@media screen and (max-width: 320px) { .header_left { font-size: 9px; } }

.pc_none { display: none; }

@media screen and (max-width: 640px) { .pc_none { display: block; margin-top: 2px; } }

@media screen and (max-width: 640px) { .sp_none { display: none; } }

.header_tel { background: url(../images/tel_icon.png) no-repeat left; background-size: 14px; padding-left: 20px; color: #fff;}

.header_main { background: #fff; padding-top: 10px; padding-bottom: 10px; }

.logo { margin: 0; font-size: 0; }
.logo img { max-width: 340px; width:100%; }

@media screen and (max-width: 950px) { .logo { width: 40%; max-width: 340px; }
  .logo img { width: 100%; } }

@media screen and (max-width: 780px) { .logo { width: 30%; } }

@media screen and (max-width: 680px) { .logo { width: 100%; margin: 0 auto;} }

.header_main .gnav { display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-align-items: center; -ms-flex-align: center; align-items: center; width: 100%; }

@media screen and (max-width: 680px) { .header_main .gnav { display: block; } }

nav { margin-left: auto; }

.header_main ul { display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; padding: 0; }

@media screen and (max-width: 680px) { .header_main ul { display: block; margin-top: 10px; } }

.header_main ul li { margin-left: 0; list-style: none; font-family: "はれのそら明朝"; padding-right: 12px; border-right: solid 1px #adadad; margin-right: 12px; }

.header_main ul li:last-child { margin-right: 0; padding-right: 0; }

@media screen and (max-width: 680px) { .header_main ul li { display: inline-block; width: 48.8%; border: none; background: #4f6e0a; text-align: center; padding: 5px; margin-right: 0%; }
  .header_main ul li:nth-of-type(3), .header_main ul li:nth-of-type(4) { margin-top: 1.5%; } }

.header_main ul li a { font-size: 20px; }

@media screen and (max-width: 950px) { .header_main ul li a { font-size: 16px; } }

@media screen and (max-width: 680px) { .header_main ul li a { color: #fff; font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック  Medium', meiryo, sans-serif; } }

.header_main ul li:last-child { border: none; }

main { margin-left: auto; margin-right: auto; }

.inner { padding-right: 10px; padding-left: 10px; }

.slider { height: 560px; width: 100%; background-color: #FFF; background-position: center; background-repeat: no-repeat; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; }

@media screen and (max-width: 950px) { .slider { height: 360px; } }

@media screen and (max-width: 680px) { .slider { height: 200px; } }

.slider { background-position: center top\9; background-repeat: repeat-x\9; }

* + html .slider { background-position: center top; background-repeat: repeat-x; }

.contents_news { float: left; width: 40%; }

@media screen and (max-width: 950px) { .contents_news { display: block; width: 100%; float: none; } }

dl, dt, dd { margin: 0; padding: 0; }

dl { /* dlの背景色をdt用に使う。区切り線はdtの上部に持たせる */ width: 100%; margin-top: 10px; margin-bottom: 15px; }

dt { float: left; clear: both; width: 120px; /* 上線のみ表示 */ font-weight: bold; padding: 5px; color: #4f6e0a; padding-top: 18px; padding-bottom: 10px; }

dd { /* dtの幅だけ横にずらす */ padding: 5px; border-bottom: 1px dashed #333; padding-top: 15px; padding-bottom: 15px; }

.index_h2 { background: #4f6e0a; padding: 5px 15px; font-size: 16px; color: #fff; display: inline-block; font-weight: normal; }

.contents_news .txt { text-align: right; }

.contents_menu { float: right; }

@media screen and (max-width: 950px) { .contents_menu { display: block; width: 100%; float: none; text-align: center; margin-top: 40px; } }

.center_box { background-image: url(../images/main_bg.gif); padding: 40px 20px 80px 20px; }

@media screen and (max-width: 950px) { .center_box { padding: 20px 20px 40px 20px; } }

.menu_box { display: inline-block; font-family: "はれのそら明朝"; }
.menu_box img { max-width: 204px; width: 100%;}

@media screen and (max-width: 500px) { .menu_box { width: 40%; }
  .menu_box span { font-size: 16px; }
  .menu_box img { width: 100%; } }

.menu_box:first-child { margin-right: 60px; }

@media screen and (max-width: 500px) { .menu_box:first-child { margin-right: 10%; } }

.menu_box span { display: block; text-align: center; font-size: 20px; margin-top: 8px; }

.map_box { margin: 0 auto; text-align: center; }

.ggmap { position: relative; padding-bottom: 26.25%; padding-top: 30px; height: 0; overflow: hidden; }

.ggmap iframe, .ggmap object, .ggmap embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.info_box { padding: 50px 0 0; background-image: url(../images/info_bg.gif); }

@media screen and (max-width: 950px) { .info_box { padding: 20px 0 0; } }

.info_box .access { width: 40%; float: left; }

.access_logo { margin-bottom: 20px; }
.access_logo img { max-width: 340px; width:100%; }

@media screen and (max-width: 640px) { .access_logo { margin-bottom: 0; }
  .access_logo img { width: 100%; max-width: 340px; } }

.pc_none { display: none; }

@media screen and (max-width: 640px) { .pc_none { display: block; } }

.info_box .tel { display: block; background-color: #4f6e0a; color:#fff; padding: 10px 20px; border-radius: 100px; font-size: 18px; font-weight: bold; margin-top: 20px; text-align: center; letter-spacing: 0.1em; background-image: url(../images/info_tel_icon.png); background-repeat: no-repeat; background-position: 6% center; background-size: 8%; cursor: default; cursor: pointer; }

@media screen and (max-width: 990px) { .info_box .tel { font-size: 16px; } }

@media screen and (max-width: 870px) { .info_box .tel { width: 50%; margin-left: auto; margin-right: auto; text-align: center; background-size: 5%; } }

@media screen and (max-width: 640px) { .info_box .tel { width: 65%; background-size: 6%; } }

@media screen and (max-width: 490px) { .info_box .tel { width: 100%; background-size: 6%; } }

@media screen and (max-width: 320px) { .info_box .tel { padding: 10px; } }

.info_box .tel span { padding-left: 35px; }

.info_box .tel a:hover { cursor: default; }

.info_box .access { width: 36%; float: left; letter-spacing: 0.1em; line-height: 1.7; }

@media screen and (max-width: 870px) { .info_box .access { float: none; display: block; width: 100%; text-align: center; } }

.info_box .business_hours { float: right; margin-top: 20px; }

@media screen and (max-width: 870px) { .info_box .business_hours { float: none; display: block; width: 100%; text-align: center; } }

.info_box .business_hours table { text-align: center; font-size: 18px; letter-spacing: 0.1em; background-color: #4f6e0a; color: #fff; margin-bottom: 10px; margin-left: auto; margin-right: auto; }

@media only screen and (max-width: 420px) { .info_box .business_hours table { font-size: 12px; } }

@media only screen and (max-width: 360px) { .info_box .business_hours table { font-size: 9px; } }

.info_box .business_hours table .table_color { background: #fff; color: #3c3c3c; }

.info_box .business_hours table .table_border { border-right: solid #fff 1px; }

.info_box .business_hours table th { color: #fff; font-weight: normal; padding: 12px 9px; }

.info_box .business_hours table td { padding: 12px 9px; }

.info_box .parking_lot { font-size: 16px; font-weight: bold; }

.info_box .caution { color: #ff6333; }

footer { background: #261c15; padding: 10px 0; font-size: 12px; color: #fff; }

@media only screen and (max-width: 640px) { footer .copy { display: block; width: 100%; text-align: center; } }

footer ul { position: relative; }

footer ul li { display: inline-block; margin-right: 10px; }

footer ul li a { color: #fff; font-weight: normal; }

footer ul li:last-of-type { position: absolute !important; right: 0 !important; }

@media only screen and (max-width: 640px) { footer ul li:last-of-type { position: static !important; } }

.h2_txt { text-align: center; margin-bottom: 30px; background: #87b46c; color: #fff; font-weight: bold; width: 300px; margin-left: auto; margin-right: auto; padding: 20px; }

@media only screen and (max-width: 640px) { .h2_txt { width: 100%; padding: 10px; font-size: 18px; margin-bottom: 20px; } }

.about_images { float: left; width: 40%; }

.about_images img { max-width: 400px; width: 100%; border-radius: 5px; }

@media only screen and (max-width: 460px) { .about_images { display: block; width: 100%; float: none; text-align: center; } }

.about_lead { width: 58%; padding-left: 2%; display: table-cell; vertical-align: middle; float: right; }

@media only screen and (max-width: 460px) { .about_lead { display: block; width: 100%; float: none; text-align: left; margin-top: 20px; } }

.about_lead .txt { letter-spacing: 0.1em; line-height: 3; }

@media only screen and (max-width: 850px) { .about_lead .txt { line-height: 1.7; } }

#about .center_box .box { display: table; padding: 30px 0; }

@media only screen and (max-width: 640px) { #about .center_box .box { padding: 15px 0; } }

.about_staff { text-align: center; }

.about_staff img { max-width: 300px; }

@media only screen and (max-width: 460px) { .about_staff img { max-width: 400px; } }

#menu .menu { width: 70%; margin-right: auto; margin-left: auto; }

@media only screen and (max-width: 640px) { #menu .menu { width: 100%; } }

#menu .menu caption { width: 100%; background: #87b46c; color: #fff; text-align: center; padding: 20px; font-size: 20px; letter-spacing: 0.1em; }

@media only screen and (max-width: 640px) { #menu .menu caption { padding: 10px; font-size: 16px; } }

#menu .menu tr { background: #fff; padding: 10px; }

@media only screen and (max-width: 640px) { #menu .menu tr { padding: 5px; } }

#menu .menu th { background: #f7fff3; }

#menu .menu th, #menu .menu td { padding: 10px; text-align: center; font-weight: normal; width: 50%; }

@media only screen and (max-width: 640px) { #menu .menu th, #menu .menu td { padding: 5px; } }

.marginTop_40 { margin-top: 40px; }

@media only screen and (max-width: 640px) { .marginTop_40 { margin-top: 20px; } }

.h3_txt { padding: 20px; background: #87b46c; color: #fff; font-size: 20px; font-weight: normal; }

@media only screen and (max-width: 640px) { .h3_txt { font-size: 16px; padding: 10px; } }

.info_block { max-width: 680px; width: 100%; margin-left: auto; margin-right: auto; line-height: 1.7; margin-top: 20px; }

.info_block_box { background: #fff; padding: 20px; }

@media only screen and (max-width: 640px) { .info_block_box { padding: 10px; } }

.pagetop { text-align: right; margin-top: 50px; }

@media screen and (max-width: 950px) { .pagetop { margin-top: 20px; } }

.pagetop a { display: inline-block !important; color: #fff !important; font-size: 14px !important; padding: 6px 2em 4px !important; border-radius: 4px 4px 0 0 !important; background: #261c15 !important; }

.menu_block { margin-top: 40px; }

@media screen and (max-width: 640px) { .menu_block { margin-top: 20px; } }

#loader-bg { display: none; position: fixed; width: 100%; height: 100%; top: 0px; left: 0px; background: #b478ff; z-index: 1; }

#loader { display: none; text-align: center; color: #fff; z-index: 2; margin-top: 30px; width: 100%; }

@media screen and (max-width: 940px) { #loader { margin-top: 110px; } }

@media screen and (max-width: 640px) { #loader { margin-top: 40px; } }

#loader img { max-width: 626px; height: auto; width: 100%; box-sizing: border-box; padding: 2%; }
.table_color span { font-size: 12px;}
/*# sourceMappingURL=style.css.map */

.lead {
  width: 100%;
  max-width: 800px;
  margin: 0 auto 60px;
  padding: 20px;
  background: #fff;
  line-height: 1.7;
  text-align: center;
  border-radius: 4px;
}