@charset "UTF-8";
/* ================================================================= 
 License : e-TRUST Inc.
 File name : assets.css
 Style : assets
================================================================= */
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
* {
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  background-size: contain !important;
  background-position: bottom center !important;
  counter-reset: number 0;
  line-height: 1.7;
  font-weight: 500;
  letter-spacing: 0.6;
  color: #333;
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 14px;
  word-wrap: break-word;
}
@media only screen and (max-width: 640px) {
  body {
    line-height: 2;
  }
}

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, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  font-weight: 500;
}

.blog html, .blog body, .blog div, .blog span, .blog applet, .blog object, .blog iframe, .blog h1, .blog h2, .blog h3, .blog h4, .blog h5, .blog h6, .blog p, .blog blockquote, .blog pre, .blog a, .blog abbr, .blog acronym, .blog address, .blog big, .blog cite, .blog code, .blog del, .blog dfn, .blog em, .blog img, .blog ins, .blog kbd, .blog q, .blog s, .blog samp, .blog small, .blog strike, .blog strong, .blog sub, .blog sup, .blog tt, .blog var, .blog b, .blog u, .blog i, .blog center, .blog dl, .blog dt, .blog dd, .blog ol, .blog ul, .blog li, .blog fieldset, .blog form, .blog label, .blog legend, .blog table, .blog caption, .blog tbody, .blog tfoot, .blog thead, .blog tr, .blog th, .blog td, .blog article, .blog aside, .blog canvas, .blog details, .blog embed, .blog figure, .blog figcaption, .blog footer, .blog header, .blog hgroup, .blog menu, .blog nav, .blog output, .blog ruby, .blog section, .blog summary, .blog time, .blog mark, .blog audio, .blog video {
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
}

.inner {
  margin: 0 auto;
  max-width: 1020px;
  padding: 0 10px;
}
@media screen and (min-width: 641px) and (max-width: 834px) {
  .inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}
@media only screen and (max-width: 640px) {
  .inner {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}

#contents_wrap {
  width: 100%;
  min-width: 100%;
  margin-bottom: 70px;
  overflow: hidden;
}
@media only screen and (max-width: 640px) {
  #contents_wrap {
    margin-bottom: 50px;
  }
}

#contents {
  width: 100%;
  max-width: 1020px;
  padding: 0 10px;
}
@media screen and (min-width: 641px) and (max-width: 834px) {
  #contents {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}
@media only screen and (max-width: 640px) {
  #contents {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}

#main {
  width: 100%;
}

#main #col_main {
  width: 100%;
}

.pankuzu {
  margin: 5px auto 30px auto;
  font-size: 13px;
  color: #333;
  text-align: right;
}
@media screen and (min-width: 641px) and (max-width: 834px) {
  .pankuzu {
    margin-bottom: 10px;
  }
}
@media only screen and (max-width: 640px) {
  .pankuzu {
    display: none;
  }
}
.pankuzu a {
  color: #15a74b !important;
}
.pankuzu a:hover {
  text-decoration: underline !important;
  opacity: 1 !important;
}

.policy h2 {
  margin: 50px 0 15px;
  padding: 0 0 5px;
  border-bottom: 2px solid #ccc;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.5;
}
@media only screen and (max-width: 640px) {
  .policy h2 {
    font-size: 18px;
  }
}

.policy h3 {
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: bold;
  color: #15a74b;
}

.policy p {
  margin: 0 0 20px;
}

.error_link a {
  display: inline-block;
  margin-top: 50px;
  color: #15a74b;
}
.error_link a:hover {
  text-decoration: underline;
}

table {
  table-layout: fixed;
  border-collapse: collapse;
}

table td {
  padding: 0 !important;
}

.tlauto table {
  table-layout: auto;
}

table td img {
  height: auto !important;
}

.pdtd10 td {
  padding: 10px !important;
}

ul li {
  list-style: none;
}

address {
  font-style: inherit !important;
}

pre {
  margin: 0;
  padding: 0;
  white-space: pre-line;
}

b, strong {
  font-weight: bold;
}

u {
  text-decoration: line-through;
}

img {
  max-width: 100%;
  height: auto !important;
}

small {
  font-size: 80%;
}

hr {
  border: none;
  height: 0;
  border-bottom: 1px dashed #B3B3B3;
}

span {
  font-weight: inherit;
}

u {
  text-decoration: underline;
}

b {
  font-weight: bold;
}

input[type=button] {
  cursor: pointer;
  padding: 5px 10px;
}

a {
  text-decoration: none;
  transition: all 0.3s;
}

a:hover {
  opacity: 0.8;
}

@media screen and (min-width: 641px) and (max-width: 834px) {
  .imgR, .imgL {
    max-width: 30% !important;
  }
}
@media only screen and (max-width: 640px) {
  .imgR, .imgL {
    display: block;
    float: none;
    margin: 0 auto 10px;
    max-width: 100% !important;
    text-align: center;
  }
}

.mincho {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.gothic {
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

@media only screen and (max-width: 640px) {
  .fltL {
    float: none;
    width: 100% !important;
  }
  .fltR {
    float: none;
    width: 100% !important;
  }
  .sptal {
    text-align: left !important;
  }
  .sptar {
    text-align: right !important;
  }
  .sptac {
    text-align: center !important;
  }
  .spcenter {
    text-align: center;
    display: block;
    margin-top: 10px;
  }
}
header#global_header {
  max-width: 100%;
  width: 100%;
  min-width: 100%;
  height: auto;
  border-top: 3px solid #15a74b;
  background-image: none !important;
}
@media only screen and (max-width: 834px) {
  header#global_header {
    padding-top: 48px;
  }
}

#global_header section {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 20px 10px;
}
@media only screen and (max-width: 834px) {
  #global_header section {
    display: block;
  }
}
#global_header section #siteID {
  width: 65%;
  max-width: 325px;
  opacity: 1;
  line-height: 0;
}
@media only screen and (max-width: 640px) {
  #global_header section #siteID {
    width: 100%;
  }
}
#global_header section ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 65%;
  max-width: 385px;
  min-width: 385px;
  padding: 10px;
  background-color: #fff;
}
@media only screen and (max-width: 834px) {
  #global_header section ul {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 100;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    padding: 5px;
  }
}
@media only screen and (max-width: 640px) {
  #global_header section ul {
    justify-content: center;
    min-width: 100%;
  }
}
#global_header section ul .linkTel {
  width: 215px;
  margin-right: 20px;
  line-height: 0;
}
@media only screen and (max-width: 640px) {
  #global_header section ul .linkTel {
    width: 49%;
    margin-right: 2%;
  }
}
#global_header section ul .linkTel a {
  display: block;
  line-height: 0;
}
#global_header section ul .cont {
  width: 150px;
}
@media only screen and (max-width: 640px) {
  #global_header section ul .cont {
    width: 49%;
  }
}
#global_header section ul .cont a {
  display: block;
  line-height: 0;
}
#global_header nav {
  background-color: #f5f9de;
  border-bottom: 3px solid #e6efab;
}
#global_header nav #gnavi {
  display: flex !important;
  justify-content: flex-start;
}
#global_header nav #gnavi li {
  flex-grow: 1;
  position: relative;
  line-height: 1;
}
#global_header nav #gnavi li a {
  position: relative;
  display: block;
  padding: 13.5px 3px;
  border-right: 1px solid #c8e8c0;
  color: #333;
  text-decoration: none;
  font-weight: bold;
  text-align: center;
}
#global_header nav #gnavi li a:before {
  position: absolute;
  bottom: -2px;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: #e6efab;
}
#global_header nav #gnavi li a:after {
  position: absolute;
  bottom: -2px;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: #15a74b;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform 0.3s;
}
#global_header nav #gnavi li a:hover:after {
  transform: scale(1, 1);
}
#global_header nav #gnavi li:first-of-type a {
  border-left: 1px solid #c8e8c0;
}
#global_header nav #gnavi li .sub {
  position: absolute;
  top: 43px;
  left: 0px;
  width: 100%;
  min-width: 350px;
  background-color: #f5f9de;
  z-index: 100;
}
#global_header nav #gnavi li .sub li {
  border: none;
  border-bottom: 1px solid #c8e8c0;
}
#global_header nav #gnavi li .sub li:last-of-type {
  border-bottom: 0;
}
#global_header nav #gnavi li .sub li a {
  display: block;
  padding: 10px 20px;
  border: none;
  text-align: left;
}
#global_header nav #gnavi li .sub li a:before, #global_header nav #gnavi li .sub li a:after {
  display: none;
}
#global_header nav #gnavi li .sub li a:hover {
  background-color: rgba(21, 167, 75, 0.2);
}
#global_header .spNav {
  display: none;
}
@media only screen and (max-width: 834px) {
  #global_header .spNav {
    display: block;
  }
}

#mainArea {
  overflow: hidden;
  position: relative;
}
#mainArea img {
  width: 100% !important;
  min-height: 600px !important;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover; object-position: center top;";
}
@media only screen and (max-width: 834px) {
  #mainArea img {
    min-height: 240px !important;
  }
}
#mainArea #mainTxt {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}
@media only screen and (max-width: 834px) {
  #mainArea #mainTxt {
    position: static;
    transform: inherit;
  }
}
@media only screen and (max-width: 834px) {
  #mainArea #mainTxt .wrap_mainTxt {
    position: absolute;
    top: 20%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 660px;
    padding: 5px 20px;
    background-color: rgba(255, 255, 255, 0.7);
  }
}
@media only screen and (max-width: 640px) {
  #mainArea #mainTxt .wrap_mainTxt {
    top: 16%;
    width: 97%;
    padding: 10px;
  }
}
@media only screen and (max-width: 390px) {
  #mainArea #mainTxt .wrap_mainTxt {
    top: 15%;
  }
}
#mainArea #mainTxt h1 {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 30px;
  font-weight: bold;
  line-height: 1.5;
}
@media only screen and (max-width: 640px) {
  #mainArea #mainTxt h1 {
    font-size: 4.7vw;
  }
}
#mainArea #mainTxt h1 .sub {
  display: block;
  margin: 2% 0;
  font-size: 16px;
  font-weight: 500;
}
@media only screen and (max-width: 640px) {
  #mainArea #mainTxt h1 .sub {
    font-size: 14px;
  }
}
@media only screen and (max-width: 390px) {
  #mainArea #mainTxt h1 .sub {
    margin: 4% 0;
  }
}
#mainArea #mainTxt p {
  margin-bottom: 2.5%;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
}
@media only screen and (max-width: 640px) {
  #mainArea #mainTxt p {
    font-size: 13px;
  }
}
@media only screen and (max-width: 390px) {
  #mainArea #mainTxt p {
    text-align: left;
  }
}
@media only screen and (max-width: 390px) {
  #mainArea #mainTxt p br {
    display: none;
  }
}
#mainArea #mainTxt .info {
  padding: 30px 50px;
  background-color: rgba(255, 255, 255, 0.9);
  box-shadow: 0 0 7px rgba(0, 0, 0, 0.1);
}
@media only screen and (max-width: 834px) {
  #mainArea #mainTxt .info {
    margin: 20px auto;
    padding: 30px 20px;
  }
}
#mainArea #mainTxt .info .flex {
  justify-content: space-between;
  margin-bottom: 5px;
}
#mainArea #mainTxt .info .tel {
  width: 54%;
}
@media only screen and (max-width: 640px) {
  #mainArea #mainTxt .info .tel {
    width: auto;
    max-width: 320px;
    margin: 0 auto;
  }
}
#mainArea #mainTxt .info .tel li {
  margin-bottom: 10px;
  text-align: left;
}
@media screen and (min-width: 641px) and (max-width: 834px) {
  #mainArea #mainTxt .info .tel li {
    text-align: center;
  }
}
#mainArea #mainTxt .info .tel li img {
  min-height: auto !important;
}
@media screen and (min-width: 641px) and (max-width: 834px) {
  #mainArea #mainTxt .info .tel li img {
    max-width: 243px;
  }
}
#mainArea #mainTxt .info .tel li p {
  font-size: 13px;
}
#mainArea #mainTxt .info .tel li p i {
  margin-right: 5px;
}
#mainArea #mainTxt .info .tel h2 {
  padding-bottom: 5px;
  border-bottom: 1px solid #333;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 15px;
  font-weight: bold;
  text-align: center;
}
@media only screen and (max-width: 390px) {
  #mainArea #mainTxt .info .tel h2 {
    font-size: 13px;
  }
}
#mainArea #mainTxt .info .pnt {
  width: 45%;
}
@media only screen and (max-width: 640px) {
  #mainArea #mainTxt .info .pnt {
    display: flex;
    justify-content: center;
    width: 100%;
  }
}
#mainArea #mainTxt .info .pnt li {
  width: 32%;
  min-width: 92px;
}
@media only screen and (max-width: 640px) {
  #mainArea #mainTxt .info .pnt li {
    width: auto;
  }
}
@media only screen and (max-width: 320px) {
  #mainArea #mainTxt .info .pnt li {
    margin-bottom: 15px;
  }
}
#mainArea #mainTxt .info .pnt li i {
  width: 65px;
  margin-bottom: 10px;
  padding: 17.5px 0;
  border-radius: 50%;
  background-color: #121212;
  text-align: center;
  font-size: 30px;
  color: #fff;
}
#mainArea #mainTxt .info .pnt li p {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 13px;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
}
@media only screen and (max-width: 390px) {
  #mainArea #mainTxt .info .pnt li p br {
    display: block;
  }
}
#mainArea #mainTxt .info table {
  width: 405px;
  margin: 0 auto 10px auto;
}
@media only screen and (max-width: 640px) {
  #mainArea #mainTxt .info table {
    width: 100%;
  }
}
#mainArea #mainTxt .info table th,
#mainArea #mainTxt .info table td {
  padding: 10px 0 !important;
  border: 1px solid #333;
  font-size: 13px;
  text-align: center;
}
#mainArea #mainTxt .info table .time {
  width: 145px;
}
@media only screen and (max-width: 640px) {
  #mainArea #mainTxt .info table .time {
    width: 120px;
  }
}
#mainArea #mainTxt .info p {
  max-width: 405px;
  margin: 0 auto;
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 13px;
  text-align: left;
}
@media only screen and (max-width: 640px) {
  #mainArea #mainTxt .info p {
    max-width: 100%;
  }
}

.main_inner {
  max-width: 680px;
  margin: 0 auto;
  padding: 0 10px;
}

#hedFixed.fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.9);
}
@media only screen and (max-width: 834px) {
  #hedFixed.fixed {
    position: static;
  }
}
#hedFixed.fixed section {
  padding: 10px;
}
#hedFixed.fixed section ul {
  padding: 10px;
}

/* ----------------------------------------------------------
meanmenu
---------------------------------------------------------- */
.mean-container .mean-bar {
  background: #15a74b !important;
  position: fixed !important;
}

.mean-container .mean-nav {
  background: #f5f9de !important;
}
.mean-container .mean-nav #gnavi {
  padding: 0 !important;
}

.mean-container .mean-nav ul li a {
  padding: 1.5% 5% !important;
  border-top: 1px solid #e6efab !important;
  color: #333 !important;
}
@media only screen and (max-width: 640px) {
  .mean-container .mean-nav ul li a {
    padding: 0.5% 5% !important;
  }
}

@media only screen and (max-width: 640px) {
  .mean-container .mean-nav ul li ul li {
    width: 50%;
  }
}

.mean-container .mean-nav ul li ul li a {
  width: 100% !important;
  padding: 0.5% 0.5% 0.5% 10% !important;
  border-top: 0 !important;
  border-bottom: 1px solid #e6efab !important;
  font-size: 13px !important;
}

.mean-container .mean-nav ul li ul li:first-of-type,
.mean-container .mean-nav ul li ul li:nth-of-type(2) {
  border-top: 1px solid #e6efab !important;
}

.mean-container .mean-nav ul li a.mean-expand {
  padding: 1.3% 5% !important;
  background-color: rgba(21, 167, 75, 0.1) !important;
}
@media only screen and (max-width: 640px) {
  .mean-container .mean-nav ul li a.mean-expand {
    padding: 0.8% 5% !important;
  }
}

footer#global_footer {
  width: 100%;
  min-width: 100% !important;
  height: auto;
  background-image: none !important;
  font-size: 13px;
}
@media only screen and (max-width: 834px) {
  footer#global_footer {
    padding-bottom: 60px;
  }
}
footer#global_footer a {
  font-size: 13px;
  color: #333;
  text-decoration: none;
}
footer#global_footer #pagetop {
  position: fixed;
  bottom: 10px;
  right: 10px;
  display: block;
  background-color: rgba(21, 167, 75, 0.9);
  width: 50px;
  padding: 6.5px 0;
  border-radius: 50%;
  border: 1px solid #fff;
  text-align: center;
  color: #fff;
}
@media only screen and (max-width: 834px) {
  footer#global_footer #pagetop {
    bottom: 65px;
  }
}
@media only screen and (max-width: 640px) {
  footer#global_footer #pagetop {
    width: 30px;
    padding: 1px 0;
  }
}
footer#global_footer #pagetop i {
  font-size: 30px;
  font-weight: 200;
}
@media only screen and (max-width: 640px) {
  footer#global_footer #pagetop i {
    font-size: 20px;
  }
}
footer#global_footer #footer {
  padding: 20px 0 30px 0;
}
footer#global_footer #footer .inner {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 834px) {
  footer#global_footer #footer .inner {
    display: block;
  }
}
footer#global_footer address {
  width: 34%;
  max-width: 345px;
  min-width: 300px;
  text-align: left;
}
@media only screen and (max-width: 834px) {
  footer#global_footer address {
    width: 100%;
    max-width: 350px;
    margin: 0 auto 20px auto;
  }
}
footer#global_footer address #fotID {
  opacity: 1;
  display: block;
  margin-bottom: 20px;
  line-height: 0;
}
footer#global_footer address #fotID a {
  line-height: 0;
}
footer#global_footer address .linkTel {
  display: inline-block;
  margin-left: 10px;
}
footer#global_footer address .linkTel a {
  color: #333;
}
footer#global_footer .info {
  width: 65%;
  max-width: 405px;
}
@media only screen and (max-width: 834px) {
  footer#global_footer .info {
    width: 100%;
    max-width: 100%;
  }
}
footer#global_footer .info table {
  width: 100%;
  margin-bottom: 10px;
  background-color: #fff;
}
footer#global_footer .info table th, footer#global_footer .info table td {
  padding: 10px 0 !important;
  border: 1px solid #333;
  font-size: 13px;
  text-align: center;
}
footer#global_footer .info table .time {
  width: 145px;
}
@media only screen and (max-width: 640px) {
  footer#global_footer .info table .time {
    width: 120px;
  }
}
footer#global_footer .info p {
  text-align: left;
}
footer#global_footer #copy {
  display: block;
  padding: 6px 10px;
  background-color: #15a74b;
  font-size: 13px;
  color: #fff;
  line-height: 1.5;
  text-align: center;
}
footer#global_footer #copy a {
  text-decoration: none;
  color: #fff;
}
@media only screen and (max-width: 640px) {
  footer#global_footer #copy a {
    display: block;
  }
}
footer#global_footer #copy a:hover {
  opacity: 1;
}

/* ------------------------------------------------------------
index.html
------------------------------------------------------------ */
/* contents */
.inner870 {
  max-width: 870px;
  margin: 0 auto;
  padding: 0 10px;
}

.topPd {
  padding: 50px 0;
}

.topCon1 {
  position: relative;
}
.topCon1:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 90%;
  min-width: 150%;
  height: 180%;
  display: block;
  background: #fcffec;
  border-radius: 50%;
}
@media only screen and (max-width: 834px) {
  .topCon1:before {
    width: 100%;
    min-width: 180%;
  }
}
@media only screen and (max-width: 640px) {
  .topCon1:before {
    min-width: 300%;
  }
}
.topCon1 .inner870 {
  position: relative;
  z-index: 1;
}
.topCon1 ul {
  display: flex;
  align-items: center;
}
.topCon1 li {
  float: none !important;
}
.topCon1 h2 {
  position: relative;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 22px;
  font-weight: bold;
}
.topCon1 h2:before, .topCon1 h2:after {
  content: "";
  position: absolute;
  display: block;
}
.topCon1 h2:before {
  top: -45px;
  left: 50%;
  transform: translateX(-50%);
  width: 30px;
  height: 27px;
  background: url(../images/contents/icon_logo.png) no-repeat;
}
.topCon1 h2:after {
  bottom: -40px;
  left: 50%;
  transform: translateX(-50%);
  width: 150px;
  height: 25px;
  background: url(../images/contents/ttl_line1.png) no-repeat;
}

.newsWrap {
  background-color: rgba(255, 255, 255, 0.9);
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}
@media only screen and (max-width: 640px) {
  .newsWrap {
    padding: 10px 20px;
  }
}
.newsWrap td {
  padding: 7px 20px !important;
  border: none !important;
}
@media only screen and (max-width: 640px) {
  .newsWrap td {
    padding: 0 0 5px 0 !important;
  }
}
.newsWrap h2 {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 18px;
  font-weight: bold;
  color: #15a74b;
}
@media only screen and (max-width: 640px) {
  .newsWrap h2 {
    margin-bottom: 5px;
    padding-bottom: 5px;
    border-bottom: 1px dotted #15a74b;
  }
}
.newsWrap h2:before, .newsWrap h2:after {
  display: none;
}

.topCon2 h2, .topTime h2 {
  position: relative;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 22px;
  font-weight: bold;
}
.topCon2 h2:first-letter, .topTime h2:first-letter {
  font-size: 32px;
  color: #15a74b;
}
.topCon2 h2:after, .topTime h2:after {
  content: "";
  position: absolute;
  bottom: -12px;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 70px;
  height: 2px;
  background-color: #fff200;
}
.topCon2 .bg_wh, .topTime .bg_wh {
  box-shadow: 0 0 7px rgba(0, 0, 0, 0.1);
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: cover;
}
@media only screen and (max-width: 640px) {
  .topCon2 .bg_wh p, .topTime .bg_wh p {
    text-align: left;
  }
}

.topNews {
  background-repeat: repeat-y;
  background-position: top center;
}
.topNews h2 {
  position: relative;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 22px;
  font-weight: bold;
}
.topNews h2:after {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  width: 100px;
  height: 15px;
  display: block;
  background: url(../images/contents/ttl_line2.png) no-repeat;
}
.topNews .flex {
  flex-wrap: wrap;
  padding: 0 6%;
}
@media only screen and (max-width: 640px) {
  .topNews .flex {
    display: flex;
    padding: 0;
  }
}
.topNews .flex .box {
  width: 30%;
  margin-right: 5%;
  margin-bottom: 40px;
}
@media only screen and (max-width: 640px) {
  .topNews .flex .box {
    width: 48%;
    margin-right: 4%;
  }
}
.topNews .flex .box:nth-of-type(3n) {
  margin-right: 0;
}
@media only screen and (max-width: 640px) {
  .topNews .flex .box:nth-of-type(3n) {
    margin-right: 4%;
  }
}
@media only screen and (max-width: 640px) {
  .topNews .flex .box:nth-of-type(even) {
    margin-right: 0;
  }
}
.topNews .flex .box li:first-of-type a {
  display: block;
  max-width: 150px;
  margin: 0 auto 15px auto;
  padding: 35.5px 5px;
  border-radius: 50%;
  background-color: #fff;
  border: 1px solid #ccc;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  color: #333;
}
.topNews .flex .box li:first-of-type a i {
  display: block;
  margin-top: 20px;
  font-size: 35px;
  font-weight: 200;
  color: #30b15f;
}
.topNews .flex .box li:first-of-type a:hover {
  background-color: #f5f9de;
}

.topTime {
  background-size: cover;
}
.topTime .flex {
  align-items: center;
}
@media screen and (min-width: 641px) and (max-width: 834px) {
  .topTime .flex {
    display: block;
  }
}
.topTime .bg_wh {
  padding: 50px 0 60px 0;
  padding-left: 7%;
  padding-right: 7%;
  background-color: rgba(255, 255, 255, 0.9);
}
@media only screen and (max-width: 640px) {
  .topTime .bg_wh {
    padding: 40px 20px;
  }
}
@media screen and (min-width: 641px) and (max-width: 834px) {
  .topTime .bg_wh .box02 {
    width: 100%;
  }
}
.topTime .bg_wh .box02 .tblTime td {
  padding: 10px 0 !important;
}
.topTime .bg_wh .box02 .tblTime td:first-of-type {
  width: 37%;
}
@media only screen and (max-width: 640px) {
  .topTime .bg_wh .box02 .tblTime td:first-of-type {
    width: 47%;
  }
}
.topTime .bg_wh .tel {
  padding: 3% 4%;
  background-color: #fff;
  border: 1px solid #ccc;
  outline: 1px solid #ccc;
  outline-offset: -6px;
}
@media only screen and (max-width: 640px) {
  .topTime .bg_wh .tel {
    padding: 30px 20px;
  }
}
.topTime .bg_wh .tel .linkTel li {
  margin-bottom: 20px;
}
.topTime .bg_wh .tel .linkTel li:first-of-type {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 15px;
  text-align: center !important;
}
@media only screen and (max-width: 890px) {
  .topTime .bg_wh .tel .linkTel li:first-of-type {
    font-size: 14px;
  }
}
@media screen and (min-width: 641px) and (max-width: 834px) {
  .topTime .bg_wh .tel .linkTel li:first-of-type {
    font-size: 15px;
  }
}
@media only screen and (max-width: 640px) {
  .topTime .bg_wh .tel .linkTel li:first-of-type {
    font-size: 16px;
  }
}
.topTime .bg_wh .tel .linkTel li:nth-of-type(2) {
  text-align: center !important;
}
.topTime .bg_wh .tel .linkTel li:nth-of-type(2) img {
  max-width: 245px;
}
.topTime .bg_wh .tel .linkTel li:last-of-type {
  margin-bottom: 0;
}
.topTime .bg_wh .tel .linkTel a {
  color: #333;
}

.topCon3 {
  display: flex;
}
@media only screen and (max-width: 640px) {
  .topCon3 {
    display: block;
  }
}
.topCon3 .box {
  width: 48%;
  margin-right: 4%;
  padding: 50px;
  box-shadow: 0 0 7px rgba(0, 0, 0, 0.1);
  background-color: #fff;
}
@media screen and (min-width: 641px) and (max-width: 834px) {
  .topCon3 .box {
    padding: 40px 30px;
  }
}
@media only screen and (max-width: 640px) {
  .topCon3 .box {
    width: 100%;
    margin-bottom: 20px;
    padding: 40px 20px;
  }
}
.topCon3 .box:nth-of-type(even) {
  margin-right: 0;
}
.topCon3 .box h2 {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 22px;
  font-weight: bold;
}
.topCon3 .box h2:before, .topCon3 .box h2:after {
  content: "";
  width: 19%;
  height: 8px;
  display: inline-block;
  margin: 0 5%;
  background: url(../images/contents/ttl_line3.png);
  background-size: cover;
  vertical-align: middle;
}
@media only screen and (max-width: 890px) {
  .topCon3 .box h2:before, .topCon3 .box h2:after {
    width: 17%;
  }
}
@media only screen and (max-width: 640px) {
  .topCon3 .box h2:before, .topCon3 .box h2:after {
    width: 10%;
  }
}
.topCon3 .box .text .scroll {
  height: 505px;
  overflow-x: auto;
  padding: 15px 10px 0 0;
}
@media only screen and (max-width: 640px) {
  .topCon3 .box .text .scroll {
    height: 300px;
  }
}
.topCon3 .box .text ::-webkit-scrollbar {
  width: 8px;
}
.topCon3 .box .text ::-webkit-scrollbar-track {
  border-radius: 10px;
  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
}
.topCon3 .box .text ::-webkit-scrollbar-thumb {
  background-color: rgba(21, 167, 75, 0.9);
  border-radius: 10px;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.3);
}
.topCon3 .box .text .data {
  display: inline-block;
  margin-right: 15px;
  color: #797979;
}
.topCon3 .box .text h3 {
  display: inline-block;
  color: #797979;
}
.topCon3 .box .text p {
  margin-bottom: 20px;
  padding: 5px 0 15px 0;
  border-bottom: 1px dotted #ccc;
}
.topCon3 .box .text p a:hover {
  text-decoration: underline;
}
.topCon3 .box .tbl td {
  padding: 15px 0 !important;
  border: none !important;
  border-bottom: 1px dotted #ccc !important;
}
@media only screen and (max-width: 640px) {
  .topCon3 .box .tbl td {
    padding: 0 0 10px 0 !important;
  }
}
.topCon3 .box .tbl td:first-of-type {
  width: 85px;
}
@media only screen and (max-width: 640px) {
  .topCon3 .box .tbl td:first-of-type {
    width: 100%;
    padding-top: 15px !important;
    border-bottom: 0 !important;
  }
  .topCon3 .box .tbl td:first-of-type div {
    font-weight: bold;
    color: #15a74b;
  }
}
.topCon3 .box .tbl .linkTel a {
  color: #333;
}
.topCon3 .box .gmap iframe {
  height: 10vw !important;
  min-height: 218px;
}

.topBlog .blog_list {
  border: none !important;
  height: 350px;
  overflow-x: auto;
}
.topBlog ::-webkit-scrollbar {
  width: 8px;
}
.topBlog ::-webkit-scrollbar-track {
  border-radius: 10px;
  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
}
.topBlog ::-webkit-scrollbar-thumb {
  background-color: rgba(21, 167, 75, 0.9);
  border-radius: 10px;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.3);
}
.topBlog .blog_list > div {
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px dotted #ccc !important;
}
.topBlog .blog_list > div a {
  width: 70%;
}
.topBlog .blog_list > div a:hover h3,
.topBlog .blog_list > div a:hover .detail {
  color: #797979 !important;
}
.topBlog .blog_photo {
  width: 30% !important;
}
.topBlog .blog_text {
  width: 100% !important;
}
.topBlog .blog_text .blog_date {
  color: #797979 !important;
}
.topBlog .blog_text h3 {
  border-bottom: 1px solid #ccc;
  color: #333 !important;
}
.topBlog .blog_text .detail {
  margin-top: 10px !important;
  color: #333 !important;
}

/* ------------------------------------------------------------
kyouhaku.html
------------------------------------------------------------ */
.bkMark {
  text-align: right;
}

/* ------------------------------------------------------------
syakaifuan.html
------------------------------------------------------------ */
.check li {
  position: relative;
  margin-bottom: 10px;
  padding-left: 25px;
  font-size: 18px;
  line-height: 1.5;
}
@media only screen and (max-width: 640px) {
  .check li {
    margin-bottom: 20px;
    font-size: 14px;
  }
}
.check li:before {
  content: "\f058";
  font-family: "Font Awesome 5 Pro";
  font-weight: 900;
  color: #ff7748;
  position: absolute;
  top: 0;
  left: 0;
}

/* ------------------------------------------------------------
kabinseichousyoukou.html
------------------------------------------------------------ */
.liArrow li {
  position: relative;
  margin-bottom: 5px;
  padding-left: 25px;
}
.liArrow li:before {
  content: "\f330";
  font-family: "Font Awesome 5 Pro";
  font-weight: 900;
  position: absolute;
  top: 0;
  left: 0;
  color: #4f4f4f;
}

/* ------------------------------------------------------------
kusuri.html
------------------------------------------------------------ */
.liNum {
  counter-reset: num;
}
.liNum li {
  position: relative;
  margin-bottom: 10px;
  padding-left: 30px;
}
.liNum li:before {
  position: absolute;
  top: 0;
  left: 0;
  counter-increment: num;
  content: counter(num) ".";
}

/* ------------------------------------------------------------
taikendan.html
------------------------------------------------------------ */
.li_taiken li a {
  display: block;
  position: relative;
  padding: 10px 0 10px 25px;
  border-bottom: 1px dotted #ccc;
}
.li_taiken li a:before {
  content: "\f0da";
  font-family: "Font Awesome 5 Pro";
  font-weight: 900;
  color: #15a74b;
  position: absolute;
  top: 10px;
  left: 5px;
}
.li_taiken li a:hover {
  color: #50b21a;
}
.li_taiken li a:hover:before {
  color: #50b21a;
}

/* ------------------------------------------------------------
contact.html
------------------------------------------------------------ */
.mail.title {
  display: none !important;
}

.annot {
  margin: 10px 0 0 0 !important;
  font-size: 13px;
}

.contact_contents #local-keyvisual {
  display: none;
}
.contact_contents form {
  margin-top: 50px;
}

.contact_form dt label {
  font-size: 13px;
}
.contact_form dt label:after {
  content: "必須";
}

/* ------------------------------------------------------------
blog
------------------------------------------------------------ */
.blog .date {
  color: #333 !important;
}
.blog article h2 {
  position: relative;
  margin-bottom: 10px;
  padding-bottom: 10px !important;
  border-bottom: 2px solid #ccc;
}
.blog article h2:before {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 30%;
  height: 2px;
  display: block;
  background-color: #15a74b;
}
.blog article ul li a {
  color: #797979 !important;
}
.blog article img {
  display: inline-block;
  width: 48%;
  margin-right: 3%;
  margin-bottom: 20px;
}
.blog article img:nth-of-type(even) {
  margin-right: 0;
}
.blog #calendar th {
  font-size: 10px !important;
}
.blog div#form_calendar table tbody tr td.open:hover {
  background: rgba(21, 167, 75, 0.2);
}
.blog .category a,
.blog .pages a {
  display: block;
  color: #15a74b;
}
.blog .category a:hover,
.blog .pages a:hover {
  text-decoration: none;
}
.blog aside nav a {
  color: #15a74b;
}

/* ------------------------------------------------------------
box
------------------------------------------------------------ */
.flex {
  display: flex;
}
@media only screen and (max-width: 640px) {
  .flex {
    display: block;
  }
}
.flex .box02 {
  width: 48%;
  margin-right: 4%;
  margin-bottom: 30px;
}
@media only screen and (max-width: 640px) {
  .flex .box02 {
    width: 100%;
    margin-right: 0;
  }
}
.flex .box02:nth-of-type(even) {
  margin-right: 0;
}
.flex .box02 img {
  width: 100% !important;
}
.flex .box03 {
  width: 32%;
  margin-right: 2%;
  margin-bottom: 30px;
}
@media only screen and (max-width: 640px) {
  .flex .box03 {
    width: 100% !important;
    margin-right: 0 !important;
  }
}
.flex .box03:nth-of-type(3n) {
  margin-right: 0;
}
.flex .box03 img {
  width: 100% !important;
}
.flex .box04 {
  width: 22%;
  margin-right: 4%;
  margin-bottom: 30px;
}
@media screen and (min-width: 641px) and (max-width: 834px) {
  .flex .box04 {
    width: 48%;
    margin-right: 4%;
  }
}
@media only screen and (max-width: 640px) {
  .flex .box04 {
    width: 100%;
    margin-right: 0;
  }
}
.flex .box04:nth-of-type(4n) {
  margin-right: 0;
}
@media screen and (min-width: 641px) and (max-width: 834px) {
  .flex .box04:nth-of-type(4n) {
    margin-right: 4%;
  }
}
@media screen and (min-width: 641px) and (max-width: 834px) {
  .flex .box04:nth-of-type(even) {
    margin-right: 0;
  }
}
.flex .box04 img {
  width: 100% !important;
}

.flex.img_r {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 640px) {
  .flex.img_r {
    display: block;
  }
}
.flex.img_r .txt {
  width: 58%;
}
@media only screen and (max-width: 640px) {
  .flex.img_r .txt {
    width: 100%;
    margin-bottom: 30px;
  }
}
.flex.img_r .img {
  width: 40% !important;
}
@media only screen and (max-width: 640px) {
  .flex.img_r .img {
    width: 100% !important;
  }
}
.flex.img_r .img img {
  max-width: 100% !important;
  width: 100% !important;
}

.flexImg03 ul {
  display: flex;
  flex-wrap: wrap;
}
.flexImg03 ul li {
  width: 32%;
  margin-right: 2%;
  margin-bottom: 30px;
}
.flexImg03 ul li:nth-of-type(3n) {
  margin-right: 0;
}
.flexImg03 ul li img {
  padding: 2px;
  background-color: #fff;
  border: 2px solid #ccc;
}

/* ------------------------------------------------------------
title
------------------------------------------------------------ */
.ttl01 h2 {
  font-size: 28px;
  line-height: 1.5;
}
@media screen and (min-width: 641px) and (max-width: 834px) {
  .ttl01 h2 {
    font-size: 26px;
  }
}
@media only screen and (max-width: 640px) {
  .ttl01 h2 {
    font-size: 20px;
    line-height: 1.5;
  }
}
.ttl01 h3 {
  font-size: 22px;
  line-height: 1.5;
}
@media only screen and (max-width: 640px) {
  .ttl01 h3 {
    font-size: 20px;
  }
}
.ttl01 h4 {
  font-size: 20px;
  line-height: 1.5;
}
@media only screen and (max-width: 640px) {
  .ttl01 h4 {
    font-size: 18px;
  }
}
.ttl01 h2 {
  font-weight: bold;
  color: #15a74b;
}
.ttl01 h3 {
  font-weight: bold;
  color: #15a74b;
}
.ttl01 h4 {
  position: relative;
  padding: 5px 10px 5px 45px;
  background-color: #f3f3f3;
}
.ttl01 h4:before {
  content: "";
  position: absolute;
  top: -7px;
  left: 20px;
  display: block;
  width: 2px;
  height: 40px;
  background-color: #fff200;
}

.ttl02 h2 {
  font-size: 28px;
  line-height: 1.5;
}
@media screen and (min-width: 641px) and (max-width: 834px) {
  .ttl02 h2 {
    font-size: 26px;
  }
}
@media only screen and (max-width: 640px) {
  .ttl02 h2 {
    font-size: 20px;
    line-height: 1.5;
  }
}
.ttl02 h3 {
  font-size: 22px;
  line-height: 1.5;
}
@media only screen and (max-width: 640px) {
  .ttl02 h3 {
    font-size: 20px;
  }
}
.ttl02 h4 {
  font-size: 20px;
  line-height: 1.5;
}
@media only screen and (max-width: 640px) {
  .ttl02 h4 {
    font-size: 18px;
  }
}
.ttl02 h2 {
  border-bottom: 1px dotted #ccc;
  color: #15a74b;
}
.ttl02 h2 .sub {
  display: inline-block;
  margin-left: 10px;
  font-size: 16px;
  color: #797979;
  letter-spacing: 3px;
}

.ttl03 h2 {
  font-size: 28px;
  line-height: 1.5;
}
@media screen and (min-width: 641px) and (max-width: 834px) {
  .ttl03 h2 {
    font-size: 26px;
  }
}
@media only screen and (max-width: 640px) {
  .ttl03 h2 {
    font-size: 20px;
    line-height: 1.5;
  }
}
.ttl03 h3 {
  font-size: 22px;
  line-height: 1.5;
}
@media only screen and (max-width: 640px) {
  .ttl03 h3 {
    font-size: 20px;
  }
}
.ttl03 h4 {
  font-size: 20px;
  line-height: 1.5;
}
@media only screen and (max-width: 640px) {
  .ttl03 h4 {
    font-size: 18px;
  }
}
.ttl03 h2 {
  padding: 10px 10px 10px 20px;
  background-color: #f5f9de;
  border-left: 7px solid #15a74b;
}
@media screen and (min-width: 641px) and (max-width: 834px) {
  .ttl03 h2 {
    font-size: 22px;
  }
}
@media only screen and (max-width: 640px) {
  .ttl03 h2 {
    padding: 10px 10px 10px 20px;
    font-size: 18px;
  }
}

.triangle {
  display: inline-block;
  background-repeat: no-repeat;
  background-position: bottom 10px right;
}
@media only screen and (max-width: 640px) {
  .triangle {
    display: block;
    background-size: 30%;
  }
}

.ttlGra {
  position: relative;
  border-bottom: 1px solid #ccc;
}
.ttlGra:before {
  content: "";
  width: 12px;
  height: 12px;
  position: absolute;
  top: 10px;
  left: 5px;
  z-index: 2;
  background-color: #ff7748;
  transform: rotate(45deg);
}

.step h2 {
  font-size: 28px;
  line-height: 1.5;
}
@media screen and (min-width: 641px) and (max-width: 834px) {
  .step h2 {
    font-size: 26px;
  }
}
@media only screen and (max-width: 640px) {
  .step h2 {
    font-size: 20px;
    line-height: 1.5;
  }
}
.step h3 {
  font-size: 22px;
  line-height: 1.5;
}
@media only screen and (max-width: 640px) {
  .step h3 {
    font-size: 20px;
  }
}
.step h4 {
  font-size: 20px;
  line-height: 1.5;
}
@media only screen and (max-width: 640px) {
  .step h4 {
    font-size: 18px;
  }
}
.step h3 {
  border-bottom: 1px solid #ccc;
  font-style: oblique;
  font-weight: bold;
}
.step .pnt {
  font-style: oblique;
  font-size: 30px;
  font-weight: 500;
  color: #15a74b;
  line-height: 1;
}
.step .num {
  display: inline-block;
  margin: 0 15px 0 5px;
  font-style: oblique;
  font-size: 55px;
  font-weight: 200;
  line-height: 1;
}

body header #local-keyvisual {
  position: relative;
  padding: 5% 0;
}
@media only screen and (max-width: 640px) {
  body header #local-keyvisual {
    margin-bottom: 30px;
  }
}

body header #local-keyvisual #local-keyvisual-title {
  position: relative;
  z-index: 1;
  width: 700px;
  max-width: 1020px;
  margin: 0 auto;
  padding: 50px 10px;
  background-color: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 30px;
  font-weight: bold;
  color: #333;
  text-align: center;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
@media screen and (min-width: 641px) and (max-width: 834px) {
  body header #local-keyvisual #local-keyvisual-title {
    width: 90%;
    font-size: 3.6vw;
  }
}
@media only screen and (max-width: 640px) {
  body header #local-keyvisual #local-keyvisual-title {
    width: 90%;
    padding: 30px 10px;
    font-size: 22px;
  }
}
body header #local-keyvisual #local-keyvisual-title:empty {
  display: none;
}
body header #local-keyvisual #local-keyvisual-title:before, body header #local-keyvisual #local-keyvisual-title:after {
  content: "";
  position: absolute;
  top: -10px;
  display: block;
  width: 1px;
  height: 50px;
  background-color: #fff200;
}
body header #local-keyvisual #local-keyvisual-title:before {
  transform: rotate(45deg);
  left: 10px;
}
body header #local-keyvisual #local-keyvisual-title:after {
  transform: rotate(-45deg);
  right: 10px;
}

body header #local-keyvisual #local-keyvisual-bg,
body header #local-keyvisual .local-keyvisual-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  background-position: center center;
  background-size: cover;
}

/* ------------------------------------------------------------
button
------------------------------------------------------------ */
.btnGrn a {
  display: inline-block;
  width: 250px;
  padding: 13.5px 0;
  background: url(../images/contents/btn_bg.png) no-repeat;
  background-size: contain;
  color: #fff;
  text-align: center;
}
@media only screen and (max-width: 640px) {
  .btnGrn a {
    display: block;
    width: 100%;
    padding: 13px 0;
    background-image: none;
    background-color: #15a74b;
    border-radius: 5px;
  }
}

.btn li {
  width: 48%;
  max-width: 250px;
  margin-right: 4%;
}
@media only screen and (max-width: 640px) {
  .btn li {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
    margin-bottom: 20px;
  }
}
.btn li:nth-of-type(even) {
  margin-right: 0;
}
.btn li a {
  display: block;
  padding: 12px 10px;
  background: url(../images/contents/btn_bg.png) no-repeat;
  background-size: contain;
  font-size: 16px;
  font-weight: bold;
  color: #fff;
}
@media only screen and (max-width: 834px) {
  .btn li a {
    padding: 4% 1%;
    background-size: 100%;
  }
}
@media only screen and (max-width: 640px) {
  .btn li a {
    padding: 13px 0;
    background-image: none;
    background-color: #15a74b;
    border-radius: 5px;
  }
}

/* ------------------------------------------------------------
text
------------------------------------------------------------ */
.lh2 p {
  line-height: 2;
}

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

.pntTxt {
  font-size: 16px;
  font-weight: bold;
  color: #50b21a;
}
@media only screen and (max-width: 834px) {
  .pntTxt {
    font-size: 16px;
  }
}

.pntRed {
  color: #15a74b;
  font-weight: bold;
}

.pnt_li li {
  position: relative;
  padding: 5px 0 0 30px;
}
.pnt_li li:before {
  content: "\f7f2";
  font-family: "Font Awesome 5 Pro";
  font-weight: 900;
  font-size: 20px;
  color: #50b21a;
  position: absolute;
  top: 0;
  left: 0;
}

.txt_link a {
  text-decoration: underline;
}
.txt_link a:hover {
  text-decoration: none;
}

.kome {
  font-size: 13px;
}

.gry {
  display: block;
  text-align: right;
  color: #959595;
}
@media only screen and (max-width: 640px) {
  .gry {
    text-align: left;
  }
}

.bold,
.bold li {
  font-weight: bold;
}

@media only screen and (max-width: 640px) {
  .sp_left p {
    text-align: left !important;
  }
}

/* ------------------------------------------------------------
table
------------------------------------------------------------ */
.tblCheck td {
  padding: 5px 10px !important;
}
.tblCheck tr:nth-of-type(odd) td {
  background-color: #f5f9de;
}

.tblCheck2 td {
  padding: 5px 10px !important;
}

.tblPd10 td {
  padding: 10px !important;
}

@media only screen and (max-width: 640px) {
  .sp_tblAut table {
    table-layout: auto !important;
  }
}

/* ------------------------------------------------------------
common
------------------------------------------------------------ */
.con100 {
  margin-left: calc((100vw - 100%) / 2 * -1);
  margin-right: calc((100vw - 100%) / 2 * -1);
}

.mg_t0,
.mg_t0 h2,
.mg_t0 h3,
.mg_t0 h4,
.mg_t0 h5 {
  margin-top: 0 !important;
}

.anc {
  clear: inherit !important;
}
.anc div {
  margin-top: -110px;
  padding-top: 110px;
}

.img_r img {
  max-width: 40%;
  width: 100% !important;
}

@media only screen and (max-width: 640px) {
  .sp_imgL img {
    margin: 0 auto 0 0 !important;
  }
}

.bgCover {
  background-size: cover;
}/*# sourceMappingURL=assets.css.map */