@charset "UTF-8";
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 {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

a:visited {
  color: inherit;
}

body {
  line-height: 1;
  -webkit-text-size-adjust: 100%;
}

ol, ul {
  list-style: none;
}

ol > li > ul,
ul > li > ul {
  padding-left: 1em;
  padding-top: .3em;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

*, *:before, *:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  word-wrap: break-word;
}

* section {
  clear: both;
}

a:focus, *:focus {
  outline: none;
}

a, a img {
  -webkit-transition: .2s;
  transition: .2s;
}

a:hover {
  text-decoration: none;
}

a:hover > img {
  opacity: 0.7;
  cursor: pointer;
  -webkit-transition: .2s;
  transition: .2s;
}

img {
  height: auto;
  vertical-align: middle;
  max-width: 100%;
  max-height: 100%;
}

figure {
  text-align: center;
  margin: 0;
  padding: 0;
}

figure > img {
  width: auto;
  max-width: 100%;
}

figure figcaption {
  margin: 10px auto;
  text-align: center;
  font-weight: bold;
}
figure a {
  text-decoration: none
}

strong {
  font-weight: bold;
}

html {
  overflow: auto;
}

li, td, th, dt, dd, p, figcaption {
  text-align: left;
}

@font-face {
  font-family: "Yu Gothic M";
  src: local("Yu Gothic Medium");
}
@font-face {
  font-family: "Yu Gothic M";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}
html {
  font-size: 14px;
}
html h1.underTitle {
  font-size: 22px;
}
html h1.underTitle span {
  font-size: 80%;
}
html main h2 {
  font-size: 24px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
}
html main h2 span {
  font-size: 70%;
}
html main h3 {
  font-size: 18px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
}
html main h3 span {
  font-size: 80%;
}
html main h4 {
  font-size: 16px;
}
html main h4 span {
  font-size: 80%;
}
html main h5 {
  font-size: 14px;
}
html main h5 span {
  font-size: 80%;
}
html main h6 {
  font-size: 13px;
}
html main h6 span {
  font-size: 80%;
}
@media (min-width: 641px) {
  html {
    font-size: calc((11 / 14 * 100%) + 3 * (100vw - 641px) / (1200 - 641)) px;
  }
  html h1.underTitle {
    font-size: 2.5rem;
  }
  html main h2 {
    font-size: 2rem;
  }
  html main h3 {
    font-size: 1.7rem;
  }
  html main h4 {
    font-size: 1.3rem;
  }
  html main h5 {
    font-size: 1.2rem;
  }
  html main h6 {
    font-size: 1.1rem;
  }
}
@media (min-width: 1000px) {
  html {
    font-size: 16px;
  }
  html h1.underTitle {
    font-size: 30px;
  }
  html h1.underTitle span {
    font-size: 20px;
  }
  html main h2 {
    font-size: 30px;
  }
  html main h2 span {
    font-size: 14px;
  }
  html main h3 {
    font-size: 25px;
  }
  html main h3 span {
    font-size: 16px;
  }
html main h3 a:hover {
    color: #72a52b;
}
  html main h4 {
    font-size: 18px;
  }
  html main h4 span {
    font-size: 14px;
  }
  html main h5 {
    font-size: 16px;
  }
  html main h5 span {
    font-size: 80%;
  }
  html main h6 {
    font-size: 16px;
  }
  html main h6 span {
    font-size: 80%;
  }
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Helvetica, "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  color: #181818;
  background: #fff;
  overflow: hidden;
  line-height: 1.5;
  word-break: break-all;
}

.inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 4px;
}

p {
  margin-bottom: 1em;
  word-break: break-all;
  letter-spacing: 0;
  line-height: 1.6;
  text-align: left;
}

a {
  color: #0f0f0f;
}

@media screen and (min-width: 641px) {
  a[href^="tel:"] {
    pointer-events: none;
    text-decoration: none;
  }
}
main section {
  padding: 1.5% 0;
  margin-bottom: 2%;
}

main section:last-child {
  margin-bottom: 3%;
}

body.under main {
  min-height: 60vh;
}

header {
  background: none;
  position: relative;
  z-index: 300;
  padding: 0;
  background: #fff;
}

header .inner {
  max-width: 1000px;
}

.headInfo {
  display: inline-block;
  vertical-align: middle;
  text-align: right;
  width: 60%;
  float: right;
}

@media screen and (max-width: 767px) {
  .headInfo {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 56px;
    width: auto;
    display: block;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    margin: auto;
  }
}
header h1 {
  display: inline-block;
  vertical-align: middle;
  margin: 0;
  width: auto;
  margin: 20px 0 19px;
  max-width: 389px;
}
header h1 > img {
  max-width: 100%;
  width: auto;
}

header .ac_menu {
  display: inline-block;
  background: #72a52b;
  cursor: pointer;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 5px;
  width: 46px;
  height: 46px;
  border-radius: 4px;
}
header .ac_menu span {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 70%;
  height: 5px;
  border-radius: 10px;
  background: #fff;
  -webkit-transition: .4s;
  transition: .4s;
}
header .ac_menu span:before, header .ac_menu span:after {
  content: '';
  display: block;
  position: absolute;
  top: -10px;
  bottom: auto;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 5px;
  border-radius: 10px;
  background: #fff;
  -webkit-transition: .3s;
  transition: .3s;
}
header .ac_menu span:after {
  top: auto;
  bottom: -10px;
}
header .ac_menu.active span {
  background: transparent;
  -webkit-transition: .3s;
  transition: .3s;
}
header .ac_menu.active span:before, header .ac_menu.active span:after {
  top: 0;
  bottom: 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: .3s;
  transition: .3s;
}
header .ac_menu.active span:after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

header nav .navi {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  z-index: 9999;
}
header nav .navi li {
  width: 100%;
  display: block;
  margin: 0;
  padding: 0;
}
header nav .navi li a {
  width: 100%;
  display: block;
  text-decoration: none;
  padding: 1.3em 1em;
  text-align: left;
  color: #fff;
  background: #72a52b;
  border-bottom: 1px solid #fff;
  position: relative;
  -webkit-transition: .4s;
  transition: .4s;
}
header nav .navi li a span {
  font-size: 80%;
  margin-left: .8em;
}
header nav .navi li a:hover {
  background: #abe12e;
text-decoration: none;
-webkit-transition: .4s;
transition: .4s;
color: #fff;
}

header .navi li.has-child > a:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  margin: auto;
  width: 8px;
  height: 8px;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: .4s;
  transition: .4s;
}
header .navi li.has-child > ul.subMenu {
  display: none;
  padding: 0;
  margin: 0;
}
header .navi li.has-child > ul.subMenu a {
  background: #4c8cc5;
  color: #fff;
  padding-left: 1em;
}
header .navi li.has-child > ul.subMenu a:hover {
  background: #abe12e;
  text-decoration: none;
  -webkit-transition: .4s;
  transition: .4s;
}
header .navi li.has-child.pullOpen > a:after {
  -webkit-transform: rotate(225deg);
          transform: rotate(225deg);
  -webkit-transition: .4s;
  transition: .4s;
}

@media screen and (min-width: 768px) {
  header .ac_menu {
    display: none;
  }

  header nav .navi {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    top: auto;
    left: auto;
    overflow: hidden;
    width: 100%;
    text-align: center;
    margin: 0 auto 5px;
  }
  header nav .navi > li {
    display: inline-block;
    width: auto;
    position: relative;
    text-align: center;
    padding: 0;
    margin: 0;
    flex: auto;
  }
  header nav .navi > li > a {
    color: #0b0b0b;
    font-size: 100%;
    text-align: center;
    text-decoration: none;
    padding: 1.25em .5em .5em;
    font-weight: normal;
    letter-spacing: 0;
    line-height: 1.2;
    -webkit-transition: .7s;
    transition: .7s;
    background: none;
    border: 0;
  }
  header nav .navi > li > a span {
    font-size: 80%;
    display: block;
    margin: 5px auto;
    color: #72a52b;
    text-align: center;
  }
  header nav .navi > li > a:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 90%;
    height: 2px;
    background: #72a52b;
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transition: .4s;
    transition: .4s;
  }
  header nav .navi > li > a:hover {
    color: #0b0b0b;
    background: none;
    -webkit-transition: .7s;
    transition: .7s;
  }
  header nav .navi > li > a:hover:after {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transition: .4s;
    transition: .4s;
  }
  header nav .navi > li > a:hover span {
    -webkit-animation: gnvahover .4s ease 0s .4 normal;
            animation: gnvahover .4s ease 0s .4 normal;
  }
  header nav .navi > li:first-child {
    margin-left: 0;
  }
  header nav .navi > li:last-child {
    margin-right: 0;
  }
  header nav .navi > li:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    width: 1px;
    height: 2.5em;
    background: #cdcdcd;
  }
  header nav .navi > li:last-child:after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 1px;
    height: 2.5em;
    background: #cdcdcd;
  }

  header .clearfix,
  header nav .navi {
    overflow: inherit;
  }

  header .navi li.has-child > a:after {
    content: none;
  }

  header .navi li.has-child:after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 6%;
    margin: auto;
    width: 6px;
    height: 6px;
    border-bottom: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    background: none;
  }
  header .navi li.has-child > ul.subMenu {
    display: block;
    position: absolute;
    top: 30%;
    right: 0;
    left: -10%;
    padding: 0;
    margin: auto;
    width: 120%;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: .2s linear;
    transition: .2s linear;
  }
  header .navi li.has-child > ul.subMenu > li {
    width: 100%;
    display: block;
    margin: auto;
    text-align: center;
    background: #72a52b;
  }
  header .navi li.has-child > ul.subMenu > li > a {
    width: 100%;
    display: inline-block;
    color: #fff;
    font-size: 90%;
    text-decoration: none;
    padding: .8em .5em;
    text-align: center;
  }
  header .navi li.has-child > ul.subMenu > li:hover {
    background: #abe12e;
    -webkit-transition: .4s;
    transition: .4s;
  }
  header .navi li.has-child > ul.subMenu > li:last-child a {
    border-bottom: 0;
  }
  header .navi li.has-child:hover ul.subMenu {
    top: 100%;
    opacity: 1;
    visibility: visible;
    -webkit-transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
}
footer {
  background: #72a52b;
  overflow: hidden;
  line-height: 1.3;
  padding: 0;
  position: relative;
  height: auto;
}
footer > .inner {
  padding: 0;
}

footer nav {
  width: 100%;
}

.footNavi {
  background: none;
  margin: auto;
  width: 100%;
}

.footNavi li {
  display: block;
  border-bottom: 1px solid #fff;
  padding: 0;
  margin: 0 auto;
}

.footNavi li a {
  display: block;
  padding: 1.1em;
  text-decoration: none;
  color: #fff;
  background: #72a52b;
  position: relative;
  -webkit-transition: .4s;
  transition: .4s;
}
.footNavi li a:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: auto;
  right: 3%;
  margin: auto;
  width: 8px;
  height: 8px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.footNavi li a:hover {
  background: #abe12e;
  -webkit-transition: .4s;
  transition: .4s;
  color: #fff;
}
.footNavi li a:hover:after {
  border-color:#fff;
}
@media screen and (min-width: 768px) {
  footer > .inner {
    padding: 0 5px;
  }

  .footNavi {
    margin: 30px 0 15px;
    text-align: center;
  }

  .footNavi li {
    position: relative;
    margin-bottom: 0.8em;
    display: inline-block;
    border-bottom: 0;
  }
  .footNavi li a {
    position: relative;
    color: #fff;
    font-weight: normal;
    letter-spacing: 0.025em;
    padding: 0 .8em;
    text-decoration: none;
    background: none;
  }
  .footNavi li a:hover {
    text-decoration: underline;
    background: none;
    color: #fff;
  }

/*  .footNavi li:not(:first-child):not([class]) a:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 1px;
    height: 70%;
    background: #1b1b1b;
  }
*/
  .footNavi li.parent {
    position: relative;
    padding-left: 0;
    text-align: left;
    display: block;
  }
  .footNavi li.parent:before {
    content: none;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 5px;
    right: auto;
    margin: auto;
    width: .5em;
    height: 2px;
    background: #1b1b1b;
    border: 0;
    -webkit-transform: none;
            transform: none;
  }
  .footNavi li.parent a {
    font-size: 120%;
  }

  .footNavi li.parent ~ li:not(.parent) {
    display: block;
    float: none;
    padding-left: 1.5em;
    margin-bottom: 5px;
    text-align: left;
  }
  .footNavi li.parent ~ li:not(.parent) a:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: .5em;
    height: 2px;
    background: #1b1b1b;
  }

  .footNavi li a:after {
    content: none;
  }
}
.copy {
  display: block;
  text-align: center;
  margin: 0 auto 0;
  padding: .8em 0;
  background: #fff;
}
.copy:after {
  content: "";
  display: block;
  clear: both;
}
.copy p {
  color: #0b0b0b;
  font-size: 12px;
  letter-spacing: 0.025em;
  padding: 0;
  margin: 0;
  text-align: center;
}

.footer_info {
    background: #72a52b;
    padding:2% 0 1%;
}
.footer_info .lead, .footer_info p {
    text-align: center!important;
    color: #fff;
    margin-bottom: 0;
}

#toTop {
  position: fixed;
  z-index: 9999;
  bottom: 12%;
  right: 2%;
  background: #72a52b;
  border-radius: 50%;
  width: 93px;
  height: 93px;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  display: inline-block;
}
#toTop:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: auto;
  width: 20px;
  height: 20px;
  border-top: 3px solid #0f0f0f;
  border-left: 3px solid #0f0f0f;
  -webkit-transform: translate(-50%, -20%) rotate(45deg);
          transform: translate(-50%, -20%) rotate(45deg);
  -webkit-transition: .2s;
  transition: .2s;
}
#toTop img {
  width: 40px;
}
@media screen and (max-width: 767px) {
  #toTop {
    width: 50px;
    height: 50px;
  }
  #toTop:after {
    width: 15px;
    height: 15px;
  }
}

h1.underTitle {
  /*background: linear-gradient(135deg, white 0%, rgba(0,140,14, 0.94) 46%, rgba(0,140,14, 0.94) 47%, #72a52b 100%);*/
  background: url(../img/bg_img001.jpg) no-repeat center/cover;
  text-align: center;
  color: #0b0b0b;
  font-weight: bold;
  letter-spacing: 0.1em;
  padding: 1.5em 1em;
  position: relative;
  z-index: 1;
  background-attachment: fixed;
}
h1.underTitle:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    background-image: -webkit-gradient(linear, left top, right bottom, from(rgba(255, 255, 255, 0.3)), color-stop(24%, rgba(255, 255, 255, 0.3)), color-stop(26%, rgba(255, 255, 255, 0.1)), color-stop(49%, rgba(255, 255, 255, 0.1)), color-stop(51%, rgba(255, 255, 255, 0.3)), color-stop(74%, rgba(255, 255, 255, 0.3)), color-stop(76%, rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0.1)));
    background-image: linear-gradient(to right bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.3) 24%, rgba(255, 255, 255, 0.1) 26%, rgba(255, 255, 255, 0.1) 49%, rgba(255, 255, 255, 0.3) 51%, rgba(255, 255, 255, 0.3) 74%, rgba(255, 255, 255, 0.1) 76%, rgba(255, 255, 255, 0.1));
    background-size: 4px 4px;
    z-index: -1;
    mix-blend-mode: overlay;
}
h1.underTitle span {
  display: block;
  margin: auto;
  font-weight: normal;
  color: #72a52b;
}
@media screen and (max-width: 767px) {
h1.underTitle {
  margin: 0 0 1em;
  background-attachment: initial;
}
}


main h2 {
  position: relative;
  text-align: center;
  padding: 0 0 .5em;
  margin: 0 auto 1em;
  letter-spacing: 0.05em;
  line-height: 1.5;
  font-weight: bold;
  color: #0b0b0b;
}
main h2 span {
  display: block;
  margin: 0 auto 0;
  color: #72a52b;
}
main h2:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 45px;
  height: 3px;
  border-bottom: 3px solid #72a52b;
}
main h3 {
  position: relative;
  text-align: left;
  padding: .5em 0;
  margin-bottom: 0.75em;
  font-weight: 600;
  color: #181818;
  letter-spacing: 0.075em;
  line-height: 1.6;
}
main h3 span {
  vertical-align: baseline;
}
main h3:before, main h3:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  border-bottom: 2px solid #f1f6e9;
}
main h3:after {
    width: 100px;
    border-bottom: 2px solid #72a52b;
}
main h4 {
  position: relative;
  text-align: left;
  padding: .5em .8em;
  margin-bottom: .5em;
  font-weight: bold;
  color: #0f0f0f;
  letter-spacing: 0;
  line-height: normal;
}
main h4:before {
	position: absolute;
	content: "";
	background: #72a52b;
	width: 6px;
	height: 2px;
	top: 50%;
	left:0;
}
main h4 span {
  vertical-align: baseline;
}
main h5 {
  position: relative;
  padding: .2em 0 .3em;
  margin-bottom: .5em;
  font-weight: bold;
  text-align: left;
  color: #0f0f0f;
  letter-spacing: 0;
  line-height: normal;
}
main h5:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 32px;
  height: 2px;
  background: #72a52b;
}
main h6 {
  position: relative;
  padding-left: 1.3em;
  margin-bottom: .3em;
  font-weight: bold;
  color: #0f0f0f;
  letter-spacing: 0;
  line-height: normal;
  text-align: left;
}
main h6:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 8px;
  height: 8px;
  background: #72a52b;
}
main h1 a, main h1 a:hover, main h2 a, main h2 a:hover, main h3 a, main h3 a:hover, main h4 a, main h4 a:hover, main h5 a, main h5 a:hover, main h6 a, main h6 a:hover {
  text-decoration: none;
  color: inherit;
}
main h1 img, main h2 img, main h3 img, main h4 img, main h5 img, main h6 img {
  vertical-align: middle;
}

.numberTitle span {
  display: inline;
  position: relative;
  vertical-align: text-bottom;
  padding-left: 1.5em;
  font-size: 100%;
}
.numberTitle span:after {
  counter-increment: number 1;
  content: "0" counter(number);
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}

.button {
  position: relative;
  display: inline-block;
  margin: auto;
  width: 100%;
  max-width: 260px;
  text-align: center;
  text-decoration: none;
  line-height: 1.5;
  -webkit-transition: .4s;
  transition: .4s;
  padding: .8em .8em;
  font-weight: 600;
  letter-spacing: 0;
  color: #72a52b !important;
  background: #fff;
  border: 1px solid #72a52b;
  border-radius: 0;
  z-index: 0;
  font-size: 14px;
}
.button:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 5%;
  width: 8px;
  height: 8px;
  border-top: 1px solid #72a52b;
  border-right: 1px solid #72a52b;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: .2s;
  transition: .2s;
}
.button:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  width: 0;
  height: 100%;
  background: #72a52b;
  -webkit-transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
  z-index: -1;
  -webkit-animation: none;
  animation: none;
}
.button:hover {
  color: #fff !important;
  border-color: #72a52b;
  text-decoration: none;
  -webkit-transition: .2s;
  transition: .2s;
}
.button:hover:before {
  content: '';
  width: 100%;
  -webkit-transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-animation: none;
          animation: none;
  z-index: -1;
}
.button:hover:after {
  border-color: #fff;
  right: 3%;
  -webkit-transition: .2s;
  transition: .2s;
}
@media screen and (max-width: 767px) {
  .button {
    /*max-width: inherit;*/
  }
}

@media screen and (min-width: 768px) {
  .button + .button {
    margin-left: 5px;
  }
}
@media screen and (max-width: 767px) {
  .button + .button {
    margin-top: 5px;
  }
}

.button.btn2:after {
  top: auto;
  bottom: 3px;
  right: 3px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 12px 12px;
  border-color: transparent transparent #0f0f0f transparent;
  -webkit-transform: none;
          transform: none;
}
.button.btn2:hover:after {
  border-color: transparent transparent #0f0f0f transparent;
}

.button.wd100 {
  max-width: 100% !important;
}

.googlemap, .youtube {
  position: relative;
  width: 100%;
  padding-top: 55%;
  min-height: 125px;
}
.googlemap iframe, .youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
@media screen and (max-width: 767px) {
.googlemap {
  padding-top: 75%;
}
}

.newsContent {
  background: none;
  padding: 0;
  overflow: hidden;
  position: relative;
  overflow-y: scroll;
    height: 200px;
}
.newsContent dl {
  width: 100%;
}
.newsContent dl dt, .newsContent dl dd {
  padding: 1em .8em;
  display: block;
  text-align: left;
  letter-spacing: 0.08em;
}
.newsContent dl dt {
  width: 18%;
  clear: left;
  float: left;
  padding-left: .2em;
  color: #72a52b;
}
.newsContent dl dd {
  width: 80%;
  float: left;
  position: relative;
}
.newsContent dl dd:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 250%;
  height: 1px;
  border-bottom: 1px solid #bbbbbb;
  -webkit-transform: translateX(-15%);
          transform: translateX(-15%);
}
.newsContent dl dd a {
  text-decoration: none;
}
.newsContent dl dd a:hover {
  color: #72a52b;
}
@media screen and (max-width: 767px) {
  .newsContent dl dt, .newsContent dl dd {
    width: 100%;
    float: none;
    padding-left: 0;
  }
  .newsContent dl dt {
    padding-bottom: 0;
  }
  .newsContent dl dd {
    padding-top: 0;
    border-bottom: 1px solid #343434;
  }
  .newsContent dl dd:after {
    content: none;
  }
}

.newsBtn {
  position: absolute;
  top: 15%;
  right: 3%;
  margin: auto;
  display: inline-block;
}
.newsBtn a {
  background: #fff;
  border: 1px solid #fff;
  color: #0f0f0f;
  font-size: 14px;
  padding: .5em 1em;
  text-decoration: none;
  display: inline-block;
  line-height: 1;
  -webkit-transition: .4s;
  transition: .4s;
}
.newsBtn a:after {
  content: '＞';
  margin-left: .5em;
}
.newsBtn a:hover {
  background: none;
  color: #fff;
  -webkit-transition: .4s;
  transition: .4s;
}

.breadcrumb {
  padding-left: 0;
  margin-left: 0;
  margin-bottom: 5%;
  margin-top: 1%;
  line-height: 1.0;
}
.breadcrumb li {
  display: inline;
  list-style: none;
  font-size: 13px;
}
.breadcrumb li:not(:last-child):after {
  content: '>';
  padding: 0 4px;
  font-size: 10px;
}
.breadcrumb li a {
  text-decoration: none;
}
.breadcrumb li a:hover {
  text-decoration: underline;
}
.breadcrumb li:last-child {
  color: #72a52b;
}
@media screen and (max-width: 767px) {
  .breadcrumb {
    display: none;
  }
}

ul.ul00 {
  margin: 0 auto;
  list-style-type: disc;
  padding-left: 1.5em;
}
ul.ul00 > li {
  margin-bottom: 5px;
  text-align: left;
}

ul.ul01 {
  margin: 0 auto;
}
ul.ul01 > li {
  position: relative;
  padding: 0 0 0 1.2em;
  margin-bottom: 5px;
  text-align: left;
}
ul.ul01 > li:before {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  left: 3px;
  top: 2px;
  bottom: 0;
  margin: auto;
  background: #72a52b;
  border-radius: 50%;
}

ul.checkList {
  margin: 0 auto;
}
ul.checkList > li {
  position: relative;
  padding: 0 0 5px 15px;
  margin-bottom: 5px;
}
ul.checkList > li:before, ul.checkList > li:after {
  content: "";
  position: absolute;
  display: block;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
}
ul.checkList > li:before {
  width: 10px;
  height: 10px;
  border: 1px solid #1b1b1b;
  background: transparent;
}
ul.checkList > li:after {
  top: -7px;
  width: 15px;
  height: 5px;
  border-bottom: 2px solid #72a52b;
  border-left: 2px solid #72a52b;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

ul.floatList {
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  zoom: 1;
}
ul.floatList > li {
  float: left;
  margin-right: 15px;
}
ul.floatList:after {
  content: "";
  display: block;
  clear: both;
}

@media screen and (max-width: 767px) {
  ul.floatList > li {
    float: none;
  }
  ul.floatList > li + li {
    margin-left: auto;
  }
}
dl.dl01 {
  margin: 0 auto;
  overflow: hidden;
  zoom: 1;
}
dl.dl01 dt {
  position: relative;
  padding: 0 0 0 1em;
  margin-bottom: 0;
}
dl.dl01 dt:before {
  content: "";
  position: absolute;
  width: 5px;
  height: 2px;
  left: 3px;
  top: 10px;
  background: #72a52b;
}
dl.dl01 dt + dd {
  position: relative;
  padding: 0 0 0 1.5em;
  margin-bottom: 5px;
}

dl.floatList {
  width: 100%;
  clear: both;
}
dl.floatList dt, dl.floatList dd {
  display: block;
  text-align: left;
  margin: 0 auto 5px;
  padding: .5em;
}
dl.floatList dt {
  width: 25%;
  clear: left;
  float: left;
}
dl.floatList dd {
  display: block;
  width: 75%;
  float: left;
}
dl.floatList:after {
  content: "";
  display: block;
  clear: both;
}

@media screen and (max-width: 767px) {
  dl.floatList dt, dl.floatList dd {
    float: none;
    width: 100%;
  }
  dl.floatList dt {
    padding-bottom: 0;
  }
  dl.floatList dd {
    padding-top: 0;
    padding-left: 1em;
  }
}
ul.borderList {
  margin: 0 auto;
  width: 100%;
  list-style: none;
}
ul.borderList > li {
  position: relative;
  padding: 0 0 5px 15px;
  margin-bottom: 5px;
  border-bottom: 1px solid #72a52b;
}

ol.ol00 {
  margin: 0 auto;
  list-style-type: decimal;
  padding-left: 1.5em;
}
ol.ol00 > li {
  margin-bottom: 5px;
}

ol.ol01 {
  margin: 0 auto;
  counter-reset: number 0;
  list-style-type: none;
}
ol.ol01 > li {
  position: relative;
  padding: 0 0 0 1.6em;
  margin-bottom: 5px;
}
ol.ol01 > li:before {
  counter-increment: number 1;
  content: "" counter(number);
  position: absolute;
  left: 3px;
  top: 3px;
  width: 20px;
  height: 20px;
  margin: 0;
  padding: .2em 0 0;
  line-height: 1;
  text-align: center;
  color: #fff;
  background: #72a52b;
  border: 0;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  ol.ol01 > li:before {
    width: 15px;
    height: 15px;
  }
}

.faq {
  display: block;
  position: relative;
  margin: 0 auto;
  padding: 0;
  width: 100%;
}
.faq > ul {
  background: none;
  padding: 2.5em 0;
  width: 100%;
}
.faq > ul > li {
  list-style-type: none;
  list-style-image: none;
  padding: 8px 0 0 60px;
  margin-bottom: 15px;
  position: relative;
  text-align: left;
}
.faq > ul > li:before {
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  padding: 0;
  text-align: center;
  vertical-align: text-top;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  color: #fff;
  font-size: 26px;
  font-weight: normal;
  line-height: 1.7;
}
.faq > ul > li:nth-child(odd) {
  font-size: 120%;
  color: #72a52b;
  font-weight: bold;
}
.faq > ul > li:nth-child(odd):before {
  content: 'Q';
  background: #72a52b;
}
.faq > ul > li:nth-child(even) {
  margin-bottom: 30px;
  padding-bottom: 2em;
  border-bottom: 1px dotted #e2e2e2;
}
.faq > ul > li:nth-child(even):before {
  content: 'A';
  background: #e2e2e2;
color: #72a52b;
}
.faq > ul > li:last-child {
  margin-bottom: 0;
}

table {
  margin: 0 auto;
  width: 100%;
  border-collapse: collapse;
  background: none;
  border: 0;
}
table th, table td {
  padding: 15px 10px;
  line-height: 1.5;
  vertical-align: middle;
}

table.table01 {
  margin: 0 auto 20px;
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #7d87d6;
}
table.table01 th, table.table01 td {
  border: 1px solid #e2e2e2;
  background: #fff;
}
table.table01 th {
  text-align: center;
  font-weight: bold;
  background: #72a52b;
  color: #fff;
}
table.table01 thead th {
  background: #72a52b;
}
@media screen and (max-width: 767px) {
table.table01 th {
  width: 25%!important;
}
table.table01 th, table.table01 td {
  font-size: 90%;
  padding: 10px 5px;
}
}

.borderTable tr {
  border-bottom: 1px solid #72a52b;
}
.borderTable th {
  text-align: left;
}

.stripeTable tr:nth-child(odd) {
  background: #fff2b4;
}
.stripeTable tr:nth-child(even) {
  background: #fffbe7;
}

table.timeTable {
  font-size: 1.1rem;
}
table.timeTable thead th, table.timeTable thead td {
  background: #72a52b;
  color: #fff;
  text-align: center;
  padding: 8px;
  letter-spacing: 0.27em;
}
table.timeTable tbody tr {
  border-bottom: 1px solid #72a52b;
}
table.timeTable tbody th, table.timeTable tbody td {
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  padding: 10px;
}
table.timeTable tbody th {
  width: 160px;
  letter-spacing: 0.15em;
}
table.timeTable tbody td {
  color: #72a52b;
}
table.timeTable tbody td span {
  color: #0f0f0f;
}

@media screen and (max-width: 767px) {
  .Xscroll {
    width: 100%;
    overflow-x: scroll;
    padding-bottom: 3em;
    position: relative;
  }
  .Xscroll > table {
    table-layout: fixed;
    width: 1000px;
  }
  .Xscroll:after {
    content: '※横にスクロールできます';
    color: red;
    font-weight: bold;
  }
}
table.priceTable tr {
  border-bottom: 1px solid #dddddd;
}
table.priceTable th, table.priceTable td {
  font-weight: bold;
  position: relative;
  font-size: 110%;
}
table.priceTable th {
  text-align: left;
}
table.priceTable th span {
  font-size: 100%;
  font-weight: normal;
}
table.priceTable td {
  width: 30%;
  text-align: right;
}
table.priceTable td span {
  font-size: 150%;
}

@media screen and (max-width: 767px) {
  .resTable th, .resTable td {
    width: 100%;
    display: block;
    padding: .5em .5em;
  }

  tr {
    padding-bottom: .5em;
  }
}
span.circleArrow {
  position: relative;
  margin-right: .5em;
  padding: 0 0 0 1em;
  text-align: center;
}
span.circleArrow:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 2px;
  right: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3px 0 3px 5.2px;
  border-color: transparent transparent transparent #fff;
}
span.circleArrow:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #72a52b;
}

.countReset {
  counter-reset: number 0;
  overflow: hidden;
  zoom: 1;
}

span.circleNumber {
  padding: 0;
  position: relative;
  display: inline-block;
  margin-right: .5em;
  width: 25px;
  height: 25px;
}
span.circleNumber:after {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  counter-increment: number 1;
  content: "" counter(number);
  font-size: 90%;
  border-radius: 50%;
  background: #72a52b;
  color: #fff;
  font-weight: bold;
  width: 100%;
  height: 100%;
  letter-spacing: 0;
  line-height: 1.2;
}

.circle {
  position: relative;
  padding: 50%;
  border-radius: 50%;
  background-color: #72a52b;
  overflow: hidden;
}
.circle > span {
  position: absolute;
  left: 0;
  top: 50%;
  margin: -.5em 0 0;
  width: 100%;
  text-align: center;
  color: #0f0f0f;
}
.circle > img {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.bgSlash:after {
  background-image: -webkit-gradient(linear, left top, right bottom, from(rgba(255, 255, 255, 0.3)), color-stop(24%, rgba(255, 255, 255, 0.3)), color-stop(26%, rgba(255, 255, 255, 0.1)), color-stop(49%, rgba(255, 255, 255, 0.1)), color-stop(51%, rgba(255, 255, 255, 0.3)), color-stop(74%, rgba(255, 255, 255, 0.3)), color-stop(76%, rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0.1)));
  background-image: linear-gradient(to right bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.3) 24%, rgba(255, 255, 255, 0.1) 26%, rgba(255, 255, 255, 0.1) 49%, rgba(255, 255, 255, 0.3) 51%, rgba(255, 255, 255, 0.3) 74%, rgba(255, 255, 255, 0.1) 76%, rgba(255, 255, 255, 0.1));
  background-size: 3px 3px;
}

.color01 {
  color: #72a52b!important;
}

.color02 {
  color: #72a52b!important;
}

.color03 {
  color: #72a52b!important;
}

.textRed {
  color: red !important;
}

.highlight {
  background: #f1f6e9;
  padding: 2%;
}
.highlight .highlight {
  background: #fff;
  margin-bottom: 20px;
}
.highlight  h3:before {
    border-bottom: 2px solid #fff;
}

.clearfix {
  overflow: hidden;
  zoom: 1;
}

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

.textIndent {
  text-indent: 1em;
}

.textLeft {
  text-align: left !important;
}

.textCenter {
  text-align: center !important;
}

.textRight {
  text-align: right !important;
}

.textTop {
  vertical-align: top !important;
}

.textMiddle {
  vertical-align: middle !important;
}

.textBottm {
  vertical-align: bottom !important;
}

.textLarge {
  font-size: 120% !important;
}

.textXLarge {
  font-size: 150% !important;
}

.textXXLarge {
  font-size: 200% !important;
}

.textSmall {
  font-size: 80% !important;
}

.textXSmall {
  font-size: 50% !important;
}

.bold {
  font-weight: bold !important;
}

.textMarker {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, transparent), color-stop(65%, #72a52b)) !important;
  background: linear-gradient(transparent 65%, #72a52b 65%) !important;
  line-height: 1.3 !important;
}

.textShadow {
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8), 1px 1px 4px rgba(0, 0, 0, 0.4);
}

.textEdge {
  text-shadow: 1px 1px 0 #FFF, -1px -1px 0 #FFF, -1px 1px 0 #FFF, 1px -1px 0 #FFF, 0px 1px 0 #FFF,  0 -1px 0 #FFF, -1px 0 0 #FFF, 1px 0 0 #FFF;
}

.textSidebar {
  display: table;
  position: relative;
  padding: 0 1.5em;
}
.textSidebar:before, .textSidebar:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: auto;
  margin: auto;
  width: 1em;
  height: 2px;
  background: #5e3491;
  display: block;
}
.textSidebar:after {
  left: auto;
  right: 0;
}
@media screen and (max-width: 767px) {
.textXXLarge {
    font-size: 160% !important;
}
}
@media screen and (min-width: 768px) {
  .pc-textCenter {
    text-align: center !important;
  }

  .pc-textRight {
    text-align: right !important;
  }
}
@media screen and (max-width: 767px) {
  .sp-textCenter {
    text-align: center !important;
  }
}
img.alignright {
  float: right;
  margin: 0 0 10px 2%;
}

img.alignleft {
  float: left;
  margin: 0 2% 10px 0;
}

@media screen and (max-width: 767px) {
  img.alignright,
  img.alignleft {
    float: none;
    margin: 0 auto 20px;
    display: block;
  }
}
.centering {
  display: block;
  margin: auto;
}

.mb0 {
  margin-bottom: 0px !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.ml45 {
	margin-left: 42px!important;
}
.pd0 {
  padding: 0em !important;
}

.pd1 {
  padding: 1em !important;
}

.mincho {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif !important;
}

.gothic {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
}

.marugo {
  font-family: "ヒラギノ丸ゴ Pro W4", "Hiragino maru Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "Verdana", "Osaka", sans-serif !important;
}

.meiryo {
  font-family: "メイリオ", Meiryo, Osaka, sans-serif !important;
}

.caution {
  font-size: 90%;
  color: red;
  line-height: 1.3;
}

.inversion h2, .inversion h3, .inversion h4, .inversion h5 {
  color: #fff;
}
.inversion h2:after, .inversion h3:after, .inversion h4:after, .inversion h5:after {
  background-color: #fff;
}
.inversion h2 span, .inversion h3 span, .inversion h4 span, .inversion h5 span {
  color: #fff;
}
.inversion p, .inversion li, .inversion td, .inversion th, .inversion a {
  color: #fff;
}

h2.textLeft:after {
  right: auto;
}

@media screen and (min-width: 768px) {
  h2.pc-textLeft:after {
    right: auto;
  }
}

.inner-wrap {
  display: block;
  table-layout: fixed;
  width: 100%;
  overflow: hidden;
}
.inner-wrap .blockLine {
  padding: 0;
  clear: both;
  position: relative;
  display: block;
  overflow: hidden;
  width: 100%;
}
.inner-wrap .blockLine > .block {
  display: inline-block;
  width: 49%;
  padding: 0;
  margin: auto;
  float: left;
  margin-right: 2%;
  margin-bottom: 2%;
  text-align: left;
}
.inner-wrap .blockLine > .block p {
  text-align: left;
}
.inner-wrap .blockLine > .block figure {
  display: block;
  margin: auto;
}
.inner-wrap .blockLine > .block:first-child {
  margin-left: 0 !important;
}
.inner-wrap .blockLine > .block:last-child {
  margin-right: 0 !important;
}
.inner-wrap .blockLine.blocks_2 > .block {
  width: calc((100% - 2%) / 2);
}
.inner-wrap .blockLine.blocks_2 > .block:nth-child(2n) {
	margin-right: 0;
}
.inner-wrap .blockLine.blocks_3 > .block {
  width: calc((100% - 4%) / 3);
	margin-left: 0;
    margin-right: 2%;
}
.inner-wrap .blockLine.blocks_3 > .block:nth-child(3n) {
	margin-right: 0;
}
.inner-wrap .blockLine.blocks_4 > .block {
  width: calc((100% - 6%) / 4);
}
.inner-wrap .blockLine.blocks_5 > .block {
  width: calc((100% - 8%) / 5);
}
.inner-wrap .blockLine.blocks_6 > .block {
  width: calc((100% - 5.5%) / 6);
}
.inner-wrap .blockLine.blocks_7 > .block {
  width: calc((100% - 10%) / 7);
}
.inner-wrap .blockLine.blocks_8 > .block {
  width: calc((100% - 12%) / 8);
}
.inner-wrap .blockLine.vertical > .block {
  float: none;
  vertical-align: middle;
  position: relative;
}
.inner-wrap .blockLine.reversal > .block {
  float: right;
  position: relative;
}
.inner-wrap .blockLine .block.last + .block {
  margin-left: 0;
  clear: both;
}
.inner-wrap .blockLine.reversal > .block:first-child {
  margin-left: 2% !important;
  margin-right:0;
}
.inner-wrap .blockLine.reversal > .block:last-child {
  margin-left: 0;
}

.blockLine > .block.wd10 {
  width: 9%;
}

.blockLine > .block.wd15 {
  width: 14%;
}

.blockLine > .block.wd20 {
  width: 19%;
}

.blockLine > .block.wd25 {
  width: 24%;
}

.blockLine > .block.wd30 {
  width: 29%;
}

.blockLine > .block.wd35 {
  width: 34%;
}

.blockLine > .block.wd40 {
  width: 39%;
}

.blockLine > .block.wd45 {
  width: 44%;
}

.blockLine > .block.wd50 {
  width: 49%;
}

.blockLine > .block.wd55 {
  width: 54%;
}

.blockLine > .block.wd60 {
  width: 59%;
}

.blockLine > .block.wd65 {
  width: 64%;
}

.blockLine > .block.wd70 {
  width: 69%;
}

.blockLine > .block.wd75 {
  width: 74%;
}

.blockLine > .block.wd80 {
  width: 79%;
}

.blockLine > .block.wd85 {
  width: 84%;
}

.blockLine > .block.wd90 {
  width: 89%;
}

.blockLine > .block.wd95 {
  width: 94%;
}

.blockLine > .block.wd100 {
  width: 100%;
}

@media (max-width: 767px) {
  .inner-wrap .blockLine:not(.fix) > .block {
    display: block;
    text-align: center;
    margin: 0 auto 15px;
    width: 100%;
    float: none;
  }
  .inner-wrap .blockLine:not(.fix) .wd10, .inner-wrap .blockLine:not(.fix) .wd20, .inner-wrap .blockLine:not(.fix) .wd30, .inner-wrap .blockLine:not(.fix) .wd40, .inner-wrap .blockLine:not(.fix) .wd60, .inner-wrap .blockLine:not(.fix) .wd70, .inner-wrap .blockLine:not(.fix) .wd80, .inner-wrap .blockLine:not(.fix) .wd90, .inner-wrap .blockLine:not(.fix) .wd15, .inner-wrap .blockLine:not(.fix) .wd25, .inner-wrap .blockLine:not(.fix) .wd35, .inner-wrap .blockLine:not(.fix) .wd45, .inner-wrap .blockLine:not(.fix) .wd65, .inner-wrap .blockLine:not(.fix) .wd75, .inner-wrap .blockLine:not(.fix) .wd85, .inner-wrap .blockLine:not(.fix) .wd95 {
    width: 100%;
  }
  .inner-wrap .blockLine:not(.fix).sp_2 > .block {
    display: inline-block;
    width: 48%;
    padding: 0;
    margin: auto;
    float: left;
    margin-top: 1%;
    text-align: left;
  }
  .inner-wrap .blockLine:not(.fix).sp_2 > .block:nth-child(even) {
    margin-left: 1.5%;
  }
  .inner-wrap .blockLine:not(.fix).sp_2 > .block:nth-child(odd) {
    clear: both;
  }
}
.flexBox {
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.flexBox.vertical {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.flexBox.reversal {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.flexBox.flexBetween {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.flexBox.blocks_2 > * {
  width: calc(100% / 2);
}

.flexBox.blocks_3 > * {
  width: calc(100% / 3);
}

.flexBox.blocks_4 > * {
  width: calc(100% / 4);
}

.flexBox.blocks_5 > * {
  width: calc(100% / 5);
}

.flexBox.blocks_6 > * {
  width: calc(100% / 6);
}

.flexBox.blocks_7 > * {
  width: calc(100% / 7);
}

.flexBox.blocks_8 > * {
  width: calc(100% / 8);
}

@media screen and (max-width: 767px) {
  .flexBox:not(.sp_2) > * {
    width: 100%;
    display: block;
  }
  .flexBox:not(.sp_2) > *:not(ul) {
    margin: 20px auto;
  }

  .flexBox.sp_2 > * {
    width: calc(100% / 2);
  }
}
.gridBox {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  -webkit-column-gap: 0;
          column-gap: 0;
}
.gridBox.blocks_2 {
  -webkit-column-count: 2;
          column-count: 2;
}
@media screen and (max-width: 767px) {
  .gridBox.blocks_2 {
    -webkit-column-count: 2;
            column-count: 2;
  }
}
@media screen and (max-width: 640px) {
  .gridBox.blocks_2 {
    -webkit-column-count: 1;
            column-count: 1;
  }
}
.gridBox.blocks_3 {
  -webkit-column-count: 3;
          column-count: 3;
}
@media screen and (max-width: 767px) {
  .gridBox.blocks_3 {
    -webkit-column-count: 2;
            column-count: 2;
  }
}
@media screen and (max-width: 640px) {
  .gridBox.blocks_3 {
    -webkit-column-count: 1;
            column-count: 1;
  }
}
.gridBox.blocks_4 {
  -webkit-column-count: 4;
          column-count: 4;
}
@media screen and (max-width: 767px) {
  .gridBox.blocks_4 {
    -webkit-column-count: 2;
            column-count: 2;
  }
}
@media screen and (max-width: 640px) {
  .gridBox.blocks_4 {
    -webkit-column-count: 1;
            column-count: 1;
  }
}
.gridBox.blocks_5 {
  -webkit-column-count: 5;
          column-count: 5;
}
@media screen and (max-width: 767px) {
  .gridBox.blocks_5 {
    -webkit-column-count: 2;
            column-count: 2;
  }
}
@media screen and (max-width: 640px) {
  .gridBox.blocks_5 {
    -webkit-column-count: 1;
            column-count: 1;
  }
}
.gridBox.blocks_6 {
  -webkit-column-count: 6;
          column-count: 6;
}
@media screen and (max-width: 767px) {
  .gridBox.blocks_6 {
    -webkit-column-count: 2;
            column-count: 2;
  }
}
@media screen and (max-width: 640px) {
  .gridBox.blocks_6 {
    -webkit-column-count: 1;
            column-count: 1;
  }
}
.gridBox.blocks_7 {
  -webkit-column-count: 7;
          column-count: 7;
}
@media screen and (max-width: 767px) {
  .gridBox.blocks_7 {
    -webkit-column-count: 2;
            column-count: 2;
  }
}
@media screen and (max-width: 640px) {
  .gridBox.blocks_7 {
    -webkit-column-count: 1;
            column-count: 1;
  }
}
.gridBox.blocks_8 {
  -webkit-column-count: 8;
          column-count: 8;
}
@media screen and (max-width: 767px) {
  .gridBox.blocks_8 {
    -webkit-column-count: 2;
            column-count: 2;
  }
}
@media screen and (max-width: 640px) {
  .gridBox.blocks_8 {
    -webkit-column-count: 1;
            column-count: 1;
  }
}
.gridBox.blocks_9 {
  -webkit-column-count: 9;
          column-count: 9;
}
@media screen and (max-width: 767px) {
  .gridBox.blocks_9 {
    -webkit-column-count: 2;
            column-count: 2;
  }
}
@media screen and (max-width: 640px) {
  .gridBox.blocks_9 {
    -webkit-column-count: 1;
            column-count: 1;
  }
}
.gridBox.blocks_10 {
  -webkit-column-count: 10;
          column-count: 10;
}
@media screen and (max-width: 767px) {
  .gridBox.blocks_10 {
    -webkit-column-count: 2;
            column-count: 2;
  }
}
@media screen and (max-width: 640px) {
  .gridBox.blocks_10 {
    -webkit-column-count: 1;
            column-count: 1;
  }
}
.gridBox > figure {
  padding: 1%;
  -webkit-column-break-inside: avoid;
          break-inside: avoid;
  margin: 0;
  max-width: 100%;
}

.half-inner {
  width: 100%;
  margin: auto;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
.half-inner > div {
  width: 50%;
}
.half-inner > div.halfBg {
  background: url(../img/bnr_img003.png) no-repeat left/cover;
}
.half-inner > div.halfBg img {
  display: none;
}
.half-inner > div.halfText > * {
  max-width: 500px;
}
.half-inner.reversal {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.half-inner.reversal .halfText {
  clear: both;
}
.half-inner.reversal .halfText > * {
  float: right;
}

@media screen and (max-width: 767px) {
  .half-inner {
    display: block;
    max-width: 1000px;
  }
  .half-inner > div {
    width: 100%;
  }
  .half-inner > div.halfBg {
    background: none;
  }
  .half-inner > div.halfBg img {
    display: block;
    margin: auto;
  }
  .half-inner > div.halfText {
    padding: 1em .5em;
  }
  .half-inner > div.halfText > * {
    float: none;
    max-width: inherit;
  }
}
.flow-inner {
  padding: 0;
  margin: auto;
  width: 100%;
  counter-reset: number 0;
}
.flow-inner > .flow {
  position: relative;
  display: block;
  margin: 10px auto 70px;
  padding: 0;
}
.flow-inner > .flow:last-child {
  margin: 10px auto;
}
.flow-inner > .flow:not(:last-child):after {
  content: '';
  position: absolute;
  display: block;
  left: 0;
  right: 0;
  bottom: -40px;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 30px 100px 0 100px;
  border-color: #72a52b transparent transparent transparent;
}

.flowTitle span {
  font-size: 1.8rem;
  vertical-align: baseline;
  color: #72a52b;
  letter-spacing: 0;
  line-height: 1;
  margin-right: .5em;
}
.flowTitle span:after {
  counter-increment: number 1;
  content: "0" counter(number);
}

.flow-inner.horizontal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.flow-inner.horizontal .flow {
  padding: 1.5em 1%;
  margin: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.flow-inner.horizontal .flow:not(:last-child) {
  margin-right: 4%;
}
.flow-inner.horizontal .flow:not(:last-child):after {
  right: -19%;
  left: auto;
  top: 0;
  bottom: 0;
  margin: auto;
  border-width: 50.5px 0 50.5px 25px;
  border-color: transparent transparent transparent #72a52b;
}

@media screen and (max-width: 767px) {
  .flow-inner.horizontal {
    display: block;
  }
  .flow-inner.horizontal .flow {
    display: block;
    width: 100%;
    margin: 10px auto;
  }
  .flow-inner.horizontal .flow:not(:last-child) {
    margin-right: auto;
    margin-bottom: 50px;
  }
  .flow-inner.horizontal .flow:not(:last-child):after {
    content: '';
    position: absolute;
    display: block;
    left: 0;
    right: 0;
    top: auto;
    bottom: -65px;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
}
.scaleBox {
  position: relative;
  display: table;
  table-layout: fixed;
  margin: auto;
}
.scaleBox > span {
  overflow: hidden;
  display: table;
  table-layout: fixed;
}
.scaleBox > span img {
  -webkit-transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.scaleBox > a {
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 1;
}
.scaleBox:hover > span img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
  -webkit-transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.borderBox {
  position: relative;
  display: block;
  padding: 2%;
  border: 2px dotted #72a52b;
}
.borderBox > p {
  /*padding: 1.5em 1em;*/
}

.pullDown {
  width: 100%;
  position: relative;
}
.pullDown > .pull-inner {
  display: none;
  width: 100%;
  padding-top: 1em;
}
.pullDown > p:first-child {
  background: none;
  text-align: left;
  position: relative;
  margin: 0;
  display: table;
  padding-right: 8%;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .pullDown > p:first-child img {
    width: 80%;
  }
}
.pullDown > p:first-child:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 5%;
  margin: auto;
  width: 37px;
  height: 37px;
  background: url(/wp-content/uploads/2019/07/lp1_btn2.png) no-repeat center/100%;
  -webkit-transition: .4s;
  transition: .4s;
}
@media screen and (max-width: 767px) {
  .pullDown > p:first-child:after {
    width: 30px;
  }
}
.pullDown > p:first-child.active:after {
  content: '';
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transition: .4s;
  transition: .4s;
}

@media screen and (max-width: 767px) {
  .sp_pull > .pull-inner {
    display: none;
    width: 100%;
  }
  .sp_pull > p:first-child {
    background: #72a52b;
    color: #fff;
    text-align: center;
    font-size: 17px;
    font-weight: bold;
    letter-spacing: 0.1em;
    padding: 1.3em;
    position: relative;
    margin: 0;
    cursor: pointer;
  }
  .sp_pull > p:first-child:after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 5%;
    margin: auto;
    width: 8px;
    height: 8px;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    -webkit-transition: .4s;
    transition: .4s;
  }
  .sp_pull > p:first-child.active:after {
    content: '';
    -webkit-transform: rotate(225deg);
            transform: rotate(225deg);
    -webkit-transition: .4s;
    transition: .4s;
  }
}
.tab-inner {
  width: 100%;
  margin: auto;
}

.tabContent {
  display: none;
  padding: 1.5em .5em;
  -webkit-transition: .4s;
  transition: .4s;
}

.tabButton {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
}
.tabButton > li {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  cursor: pointer;
  position: relative;
  background: #72a52b;
  padding: .8em;
  color: #fff;
  text-align: center;
  line-height: 1;
  -webkit-transition: .4s;
  transition: .4s;
  border: 1px solid #72a52b;
  border-bottom: 0;
}
.tabButton > li:hover, .tabButton > li.active {
  color: #333333;
  background: #fff;
  border-color: #dddddd;
  -webkit-transition: .4s;
  transition: .4s;
}

.scrollIn {
  -webkit-transition: all 1000ms;
  transition: all 1000ms;
  opacity: 0;
}
.scrollIn.up {
  -webkit-transform: translate(0, 150px);
          transform: translate(0, 150px);
}
.scrollIn.down {
  -webkit-transform: translate(0, -150px);
          transform: translate(0, -150px);
}
.scrollIn.right {
  -webkit-transform: translate(150px, 0);
          transform: translate(150px, 0);
}
.scrollIn.left {
  -webkit-transform: translate(-150px, 0);
          transform: translate(-150px, 0);
}
.scrollIn.scale {
  -webkit-transform: scale(0);
          transform: scale(0);
}
.scrollIn.para {
  -webkit-transform: translate(0, 150px);
          transform: translate(0, 150px);
  opacity: 1;
}
.scrollIn.para > * {
  -webkit-transform: translate(0, 150px);
          transform: translate(0, 150px);
}
.scrollIn.active {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
  -webkit-transition: all 1000ms;
  transition: all 1000ms;
}
.scrollIn.active.para > * {
  -webkit-transition-delay: 50ms;
          transition-delay: 50ms;
  -webkit-transform: none;
          transform: none;
  -webkit-transition: all 1000ms;
  transition: all 1000ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(1) {
  -webkit-transition-delay: 100ms;
          transition-delay: 100ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(2) {
  -webkit-transition-delay: 200ms;
          transition-delay: 200ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(3) {
  -webkit-transition-delay: 300ms;
          transition-delay: 300ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(4) {
  -webkit-transition-delay: 400ms;
          transition-delay: 400ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(5) {
  -webkit-transition-delay: 500ms;
          transition-delay: 500ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(6) {
  -webkit-transition-delay: 600ms;
          transition-delay: 600ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(7) {
  -webkit-transition-delay: 700ms;
          transition-delay: 700ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(8) {
  -webkit-transition-delay: 800ms;
          transition-delay: 800ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(9) {
  -webkit-transition-delay: 900ms;
          transition-delay: 900ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(10) {
  -webkit-transition-delay: 1000ms;
          transition-delay: 1000ms;
}
.scrollIn.active ~ .scrollIn.active:nth-of-type(11) {
  -webkit-transition-delay: 1100ms;
          transition-delay: 1100ms;
}
.scrollIn.active ~ .scrollIn.active:nth-of-type(12) {
  -webkit-transition-delay: 1200ms;
          transition-delay: 1200ms;
}
.scrollIn.active ~ .scrollIn.active:nth-of-type(13) {
  -webkit-transition-delay: 1300ms;
          transition-delay: 1300ms;
}
.scrollIn.active ~ .scrollIn.active:nth-of-type(14) {
  -webkit-transition-delay: 1400ms;
          transition-delay: 1400ms;
}
.scrollIn.active ~ .scrollIn.active:nth-of-type(15) {
  -webkit-transition-delay: 1500ms;
          transition-delay: 1500ms;
}
.scrollIn.active ~ .scrollIn.active:nth-of-type(16) {
  -webkit-transition-delay: 1600ms;
          transition-delay: 1600ms;
}
.scrollIn.active ~ .scrollIn.active:nth-of-type(17) {
  -webkit-transition-delay: 1700ms;
          transition-delay: 1700ms;
}
.scrollIn.active ~ .scrollIn.active:nth-of-type(18) {
  -webkit-transition-delay: 1800ms;
          transition-delay: 1800ms;
}
.scrollIn.active ~ .scrollIn.active:nth-of-type(19) {
  -webkit-transition-delay: 1900ms;
          transition-delay: 1900ms;
}
.scrollIn.active ~ .scrollIn.active:nth-of-type(20) {
  -webkit-transition-delay: 2000ms;
          transition-delay: 2000ms;
}
.scrollIn.active ~ .scrollIn.active:nth-of-type(21) {
  -webkit-transition-delay: 2100ms;
          transition-delay: 2100ms;
}
.scrollIn.active ~ .scrollIn.active:nth-of-type(22) {
  -webkit-transition-delay: 2200ms;
          transition-delay: 2200ms;
}
.scrollIn.active ~ .scrollIn.active:nth-of-type(23) {
  -webkit-transition-delay: 2300ms;
          transition-delay: 2300ms;
}
.scrollIn.active ~ .scrollIn.active:nth-of-type(24) {
  -webkit-transition-delay: 2400ms;
          transition-delay: 2400ms;
}

.opening-container {
  overflow: hidden;
  width: 100%;
  position: relative;
  background: #fff;
  height: 100vh;
  position: absolute;
  top: 0;
  display: inline-block;
  z-index: 99999;
}
.opening-container .openingContents {
  width: calc(100% + 17px);
  height: 100vh;
  position: fixed;
  top: 0;
  z-index: 9999;
  overflow-y: scroll;
  background: #fff;
  opacity: 0;
  width: 50%;
}

.mainimage {
  text-align: center;
  position: relative;
  width: 100%;
  overflow: hidden;
}

.mainimage .catch {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  max-width: 1000px;
  width: 100%;
  -webkit-animation: catchfade 2s ease 0s 1 normal;
          animation: catchfade 2s ease 0s 1 normal;
}

@-webkit-keyframes catchfade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes catchfade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.mainimage .catch img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  max-height: 469px;
  /*height: calc((469 / 510 * 100%)* 1.5);*/
}
@media (min-width: 768px) and (max-width: 1360px) {
  .mainimage .catch img {
    max-width: 45%;
  }
}
@media screen and (max-width: 767px) {
  .mainimage .catch img {
    width: 60%;
    height: auto;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
  }
  .mainimage, .mainimage .slider img {
    height: 50vh;
    object-fit: cover;
}
.mainimage {
  margin-bottom: 1.5em;
}
}
@media screen and (max-width: 420px) {
  .mainimage, .mainimage .slider img {
    height: 35vh;
    object-fit: cover;
}
}

.fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  display: block;
  background: rgba(255, 255, 255, 0.7);
  z-index: 9999;
  overflow: visible;
  height: auto;
}

.mainimage .slider div {
  overflow: hidden;
}
.mainimage .slider div img {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
  -webkit-transition: 6s;
  transition: 6s;
}
.mainimage .slider div:nth-child(2) img {
  -webkit-transform: scale(1.2) translate(-5%, 0) rotate(0.001deg);
          transform: scale(1.2) translate(-5%, 0) rotate(0.001deg);
  -webkit-transition: 6s;
  transition: 6s;
}
.mainimage .slider div:nth-child(3) img {
  -webkit-transform: scale(1.2) translate(0, -5%) rotate(0.001deg);
          transform: scale(1.2) translate(0, -5%) rotate(0.001deg);
  -webkit-transition: 6s;
  transition: 6s;
}
.mainimage .slider div.slick-active img {
  -webkit-transform: scale(1.3) translate(0, 0) rotate(0.001deg);
          transform: scale(1.3) translate(0, 0) rotate(0.001deg);
}
.mainimage .slider div.firstImg img {
  -webkit-animation: firstimg 6s;
          animation: firstimg 6s;
}

@-webkit-keyframes firstimg {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
}

@keyframes firstimg {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
}
@media all and (-ms-high-contrast: none) {
  figure.circle > img {
    position: absolute;
    width: auto;
    height: auto;
    top: 50%;
    left: 50%;
    min-height: 100%;
    min-width: 100%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
  }
}
/*/-----------------ここから個別*/
@media screen and (min-width: 768px) {
  header nav {
    /*background: #72a52b;*/
  }
  header h1 {
    margin: 40px 0 20px;
  }

  .headInfo {
    max-width: 380px;
    margin-top: 15px;
  }
  .headInfo p:first-child {
    /*line-height: 1.3;*/
	  font-size: 16px;
    font-weight: bold;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    margin-bottom: 5px;
  }
}
@media screen and (max-width: 767px) {
  header h1 {
    max-width: 240px;
  }
}
#toTop {
  background: url(../img/pagetop.png) no-repeat center/100%;
  border-radius: 0;
  max-width: 48px;
  max-height: 48px;
  border: 1px solid #fff;
}
#toTop:before, #toTop:after {
  content: none;
}

/*/-----------------TOPページ*/
.topContents p, .topContents figcaption {
  line-height: 1.8;
}
.topContents h2:after {
  content: none;
}
.topContents h3 {
  position: relative;
  display: table;
  padding-bottom: .2em;
  font-weight: bold;
  font-size: 2.2rem;
  letter-spacing: 0;
  margin-bottom: 2%;
  line-height: 1.4;
}
.topContents h3 span {
  display: block;
  font-size: 18px;
  font-style: normal;
  margin: 5px auto 0;
}
.topContents h3:before {
  content: none;
}
.topContents h3:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: -100%;
  margin: auto;
  width: 200%;
  height: 1px;
  background: #0f0f0f;
  border: 0;
}
@media screen and (max-width: 767px) {
  .topContents h3 {
    font-size: 20px;
  }
}

.topTitle {
  padding:4% 0 1.5%;
    margin: 0;
}
.topTitle h2 {
    margin: 0;
}

.contents01 {
  padding: 3% 0;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .contents01 {
    margin-bottom: 1.5em;
  }
}

.contents02 {
  padding: 4% 0;
  margin-bottom: 0;
  background: url(../img/bg_img001.jpg) no-repeat center/cover;
  background-attachment: fixed;
}
.contents02 p {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .contents02 {
    background-attachment: initial;
  }
}

.contents03, .contents04, .contents05, .contents07 {
  padding: 0;
  margin-bottom: 0;
  margin-left: -1px;
  margin-top: -1px;
  background: #f1fae1;
}
.contents03 .inner, .contents04 .inner, .contents05 .inner, .contents07 .inner {
  max-width: inherit;
  padding: 0;
}
.contents03 p, .contents04 p, .contents05 p, .contents07 p {
  font-size: 16px;
}
.contents03 .inner .block:last-child, .contents04 .inner .block:last-child, .contents05 .inner .block:last-child, .contents07 .inner .block:last-child {
  padding: 0 5%;
  overflow: hidden;
}
.contents03 .button, .contents04 .button, .contents05 .button, .contents07 .button {
  background: transparent;
}
.contents03 figure, .contents04 figure, .contents05 figure, .contents07 figure {
  line-height: 0;
}
.contents03 figure img, .contents04 figure img, .contents05 figure img, .contents07 figure img, .contents03 figure span, .contents04 figure span, .contents05 figure span, .contents07 figure span, .contents03 figure a, .contents04 figure a, .contents05 figure a, .contents07 figure a {
  line-height: 0;
}
.contents03 figure img, .contents04 figure img, .contents05 figure img, .contents07 figure img {
  width: 100%;
}
.contents03 h3, .contents04 h3, .contents05 h3, .contents07 h3 {
  font-size: 46px;
  display: block;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Yu Gothic", YuGothic, sans-serif;
}
.contents03 h3:after, .contents04 h3:after, .contents05 h3:after, .contents07 h3:after {
  position: absolute;
  content: "";
  background: #72a52b;
  width: 130%;
  bottom: 0;
  left: -15%;
}
@media screen and (max-width: 1700px) {
  .contents03 .button, .contents04 .button, .contents05 .button, .contents07 .button {
    font-size: 90%;
  }
}
@media screen and (max-width: 1200px) {
  .contents03 h3, .contents04 h3, .contents05 h3, .contents07 h3 {
    font-size: 42px;
  }
}
@media screen and (max-width: 1100px) {
}

@media screen and (max-width: 767px) {
  .contents03 .inner .block:last-child, .contents04 .inner .block:last-child, .contents05 .inner .block:last-child, .contents07 .inner .block:last-child {
    padding: 3% 5% 5%;
  }
  .contents03 h3, .contents04 h3, .contents05 h3, .contents07 h3 {
    font-size: 36px;
  }
  .contents03 .button, .contents04 .button, .contents05 .button, .contents07 .button {
    font-size: 80%;
  }
  .contents03 .flexBox:not(.sp_2) > *:not(ul), .contents04 .flexBox:not(.sp_2) > *:not(ul), .contents05 .flexBox:not(.sp_2) > *:not(ul), .contents07 .flexBox:not(.sp_2) > *:not(ul) {
    margin: 0 auto;
}
}

.contents06 {
  padding: 4% 0;
  margin-bottom: 0;
  background: url(../img/bg_img002.jpg) no-repeat center/cover;
  background-attachment: fixed;
}
.contents06 .inner {
    background: rgba(255,255,255,.7);
    padding: 2.5%;
    box-sizing: border-box;
    width: 96%;
}
.contents06 p {
    text-align: center;
    font-weight: bold;
}
.contents06 .telNo {
    font-size: 130%;
    font-weight: bold;
}
.contents06 .telNo a {
    font-size: 130%;
    color: #0f0f0f;
    margin-left: 10px;
}
.contents06 .button {
    padding: 1em .8em;
    font-size: 16px;
}
.contents06 .button i {
  margin-right: 0.35em;
  font-size: 18px;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .contents06 {
    background-attachment: initial;
  }
  .contents06 .button {
      font-size: 14px;
  }
}

.map {
  padding: 0;
}
@media screen and (min-width: 768px) {
  .map .googlemap {
    padding-top: 28%;
    min-height: 300px;
  }
}

/*/-----------------下層*/
.anchor {
  background: #f1f6e9;
  padding:3% 0 2%;
}
.anchor ul {
    width: auto;
    max-width: 860px;
    display: table;
    margin: 0 auto;
}
.anchor ul li {
    float: left;
}
.anchor ul li a {
    width: 280px;
    max-width: 100%;
    display: block;
    margin: 0 10px 10px 0;
    font-weight: bold;
}
.anchor ul li a span {
  font-size: 85%;
}
@media only screen and (min-width: 1000px) {
li.ulCenter {
    margin-left: 17.5%;
}
.anchor ul li:nth-child(3n) a {
    margin-right: 0;
}
}
@media only screen and (max-width: 999px) {
.anchor ul {
    max-width: 580px;
}
.anchor ul li a {
    margin-bottom: 10px;
}
}
@media only screen and (max-width: 640px) {
.anchor ul {
    max-width: 280px;
}
.anchor ul li a {
    margin-right: 0;
}
}
/*/-----------------PC＆SP*/
@media only screen and (min-width: 768px) {
  .pc {
    display: block;
  }
  img.pc {
    display: inline;
  }
  .sp {
    display: none !important;
  }
}
@media only screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block;
  }
  img.sp {
    display: inline;
  }
}
@media only screen and (min-width: 768px) {
  header .pc {
    display: block;
  }
  header img.pc {
    display: inline;
  }
  header .sp {
    display: none !important;
  }
}
@media only screen and (max-width: 767px) {
  header .pc {
    display: none !important;
  }
  header .sp {
    display: block;
  }
  header img.sp {
    display: inline !important;
  }
}

.under main p {
    font-size: 16px;
}
@media screen and (max-width: 767px) {
.under main p {
    font-size: 14px;
}
}
.date {
    font-weight: bold;
    margin-bottom: 0.5em;
}
.lead {
    color: #72a52b;
    font-size: 120%!important;
    font-weight: bold;
    line-height: 1.8;
  }
.lead span {
    position: relative;
    display: table;
}
.lead span:after {
  position: absolute;
  content: "";
  background: yellow;
  width: 100%;
  height: 10px;
  left:0;
  bottom: 3px;
  z-index: -1;
}
/* link_box */
ul.link_box {
    margin: 0 auto 40px;
    display: table;
	width: 100%;
}
ul.link_box li {
    float: left;
    margin-right: 1%;
    width: calc(100% / 3 - 7px);
}
ul.link_box li:last-child {
    margin-right: 0;
}
ul.link_box li a {
    max-width: 100%;
}
ul.link_box li a:hover {
	background: #72a52b;
}
ul.link_box li a.button:hover:before {
	position: relative;
	content: none;
}
@media only screen and (max-width: 767px) {
ul.link_box li {
    float: none;
    margin: 0 auto 2%;
    width: 300px;
}
ul.link_box li:last-child {
    margin-right: auto;
}
}

.number_p {
    font-size: 18px!important;
    font-weight: bold;
    line-height: 1.4;
    margin: 0px 0 10px;
    padding: 0 0 0 42px;
    text-indent: -38px;
}
.number {
    background: none repeat scroll 0 0 #72a52b;
    border-radius: 50%;
    color: #fff;
    font-size: 22px;
    margin: 0 5px 0 0;
    padding: 0 10px;
    vertical-align: middle;
	font-weight: normal;
}
@media only screen and (max-width: 767px) {
.number_p {
    font-size: 16px!important;
}
}

.name {
    text-align: right!important;
    font-size: 105%!important;
}
.name span {
  font-size: 130%;
  font-weight: bold;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif !important;
}

table.table01.listTable th {
  width: 60%!important;
  background: #61b82b;
  text-align: left;
  padding: 15px 20px;
}
table.table01.listTable td {
  width: 40%;
  text-align: right;
  padding: 15px 20px;
}
@media only screen and (max-width: 767px) {
  table.table01.listTable {
    margin-bottom:0;
  }
}

/* Google翻訳 */
.translate {
    background: #fff;
    text-align: center;
    padding: 15px 0 10px;
    border-bottom: 1px solid #72a52b;
}
.gTranslate_title img {
    max-height: 25px;
    margin-right: 8px;
}
.gTranslate_title {
    margin-right: 5px;
}
.translate select {
    padding: 3px 5px 5px!important;
    margin: 0 10px 10px 0;
    box-sizing: border-box;
    background: #fff!important;
    border: 1px solid rgb(169, 169, 169)!important;
}
@media screen and (max-width: 767px) {
  .translate {
      display: none;
  }
}

.tableCenter {
    display: table;
    margin: 0 auto;
}

/* gallery */
#gallery_slider {
  width: 100%;
  margin: 0 auto 20px;
}
.slide-item img {
  width: auto !important;
  max-height: 50vh;
}
#thumbnail-list {
  margin: 0 auto 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: normal;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.thumbnail-item {
  margin-bottom: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  cursor: pointer;
  text-align: center;
  width: 15.8%;
  margin-right: 1%;
}
.thumbnail-item:nth-child(6n) {
  margin-right: 0;
}
.thumbnail-item:after {
  content: '';
  background-color: rgba(255, 255, 255, 0.7);
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 1;
  -webkit-transition: .3s opacity linear;
  transition: .3s opacity linear;
}
.thumbnail-item.thumbnail-current:after {
  opacity: 0;
}
.thumbnail-item img {
  width: auto;
  max-width: 100%;
  margin: 0 auto;
}
#gallery_slider {
  opacity: 0;
  -webkit-transition: opacity .3s linear;
  transition: opacity .3s linear;
}
#gallery_slider.slick-initialized {
  opacity: 1;
}
@media only screen and (max-width: 767px) {
  .slide-item img {
    max-height: 100%;
  }
  .thumbnail-item {
    width: 32.3%;
    margin-right: 1%;
  }
  .thumbnail-item:nth-child(3n) {
    margin-right: 0;
  }
}

/* 20210303追記 */
@media screen and (min-width: 768px){
header h1 {
    width: 40%;
}
.headInfo {
    max-width: 60%;
    margin-top: 10px;
}
}
.translate {
    text-align: right;
    padding: 0;
    border-bottom: 0;
}
.translate select {
    margin: 0 0 10px 0;
}
.headInfo p.textRight {
    display: inline-block;
    margin-left: 10px;
    max-width: 35%;
}

@media screen and (max-width: 767px){
.headInfo {
    position: relative;
    top: auto;
    bottom: auto;
    right: 0;
    width: 100%;
    display: block;
    height: auto;
    margin: auto;
}
.translate {
    display: block;
    background: #f1f6e9;
    padding:10px 10px 0;
    width: calc(100% + 8px);
    margin-left: -4px;
}
.translate select {
    font-size: 16px;
}
header .ac_menu {
    top: 15px;
    bottom: auto;
    right: 10px;
}
}
