@charset "utf-8";
/*-----------------------------------------------------

  Common CSS

-----------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.1/css/all.min.css');

html { font-size: 62.5%; }
body {
  font-size: 2.0rem;
  font-size: 1.8rem;
  color: #000000; }
body, h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 { 
  font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

b, strong {font-weight: 700; }
button, input, optgroup, select, textarea { line-height: 1; margin: 0; }

table {width: 100%; background-color: #ffffff; line-height: 1.66; }
tfoot td, tfoot th, thead td, thead th, tbody td, tbody th { font-weight: normal; border: 1px solid #aaaaaa; text-align: center; padding: 1.4rem; vertical-align: middle;}
thead th { background-color: #009900; color: #ffffff; font-weight: 700; }
tbody th { width: 23%; background-color: #f6f6f6; font-weight: 700; }
tbody td { padding: 1rem 2rem; text-align: left;}

small, label { font-size: 87.5%; line-height: 1; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline }
sub {  bottom: -.25em }
sup { top: -.5em }

hr { display: block; margin: 0 auto; border-bottom: 1px solid #cccccc; }

img { display: inline-block; vertical-align: middle; max-width: 100%; height: auto; }

a, a:hover, a:focus {text-decoration: none; cursor: pointer}
a img { border: 0 }

h1, .h1 { font-size: 2.5em; color: #009900; }
h1 small, .h1 small { font-size: 75%; }
h2, .h2 {margin-bottom:1em; font-size: 2.5em; color: #009900;}
h2 small, .h2 small { font-size: 75%; }
h3, .h3 {margin:.6em 0;  padding-bottom: 0.15em; font-size: 1.7em; color: #009900; line-height: 1.47; border-bottom: 1px solid #009900;  }
h4, .h4 {position: relative; margin: .8em 0; padding-left: 1.4em; font-size: 1.2em; color: #009900; }
h4::before, .h4::before {
  content: "";
  position: absolute;
  left: 0; top: .2em;
  width: 1.04em;
  height: 1.04em;
  background-color: #009900;
  border-radius: .08em;
}
h5, .h5 {margin-bottom:1em; font-size: 1em; }
p + p {margin-top: 1em;}

button { padding: 0; -webkit-appearance: none; -moz-appearance: none; appearance: none; border: 0; border-radius: 0; background: 0 0; line-height: 1; cursor: auto }
pre { overflow: auto}
button, input, optgroup, select, textarea { font-family: inherit }
[data-whatinput=mouse] button { outline: 0 }

a figure { overflow: hidden; position: relative; }
a figure::before { content: ""; position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 2; background-color: #FFFFFF; opacity: 0; -webkit-transition: all 500ms; transition: all 500ms; }
a:hover figure::before { opacity: 0.5; }
a figure img { width: 100%; height: auto; -webkit-transition: all 500ms; transition: all 500ms; position: relative; z-index: 1; }
a:hover figure:not(.no-scale) img { -webkit-transform: scale(1.1); transform: scale(1.1); }

[type=text], textarea {
  display: inline-block;
  vertical-align: top;
  width: 100%;
  height: 30px;
  padding: 1.64em;
  border-radius: 0;
  border: 1px solid #009900;
  font-size: 100%;
  outline: none;
}

@media only screen and (min-width: 768px) {
  a[href^="tel:"] { pointer-events: none;}
}
@media only screen and (max-width: 767px), only screen and (max-width: 896px) and (orientation: landscape) {
	body { font-size: calc(36 * (100vw / 750)); }
  body.fixed {width: 100%; height: 100%; position: fixed;}
	tfoot td, tfoot th, thead td, thead th, tbody td, tbody th { padding: 3%; }
  tbody th {width: 6em;}

	h1, .h1 { font-size: calc(56 * (100vw / 750)); } 
	h2, .h2 { font-size: calc(56 * (100vw / 750)); }
	h3, .h3 { font-size: calc(46 * (100vw / 750)); }
	h4, .h4 { font-size: calc(40 * (100vw / 750)); }
	h5, .h5 { font-size: calc(36 * (100vw / 750)); }
  table { font-size: calc(36 * (100vw / 750)); }
  
	h2 small, .h2 small { padding-top: 2.66667%; }
  a:hover { opacity: 1; }
}

/*-----------------------------------------------------
  common
-----------------------------------------------------*/
main {background: url("../img/common/bg-pat01.jpg") repeat;}
header.fixed + main {
  margin-top: 140px;
}
.mv-wrap {width: 100%;}
.mv-wrap img {width: 100%; max-width: none;}
h2 {
  position: relative;
  text-align: center;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: .05em;
}
h2::after {
  content: "";
  position: absolute;
  width: 1.2em;
  height: .1em;
  bottom: -.5em;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: #009900;
}
article> section  {
  padding-top: 5em;
  padding-bottom: 1em;
}
article p {line-height: 2em;}
.inner {}
.inner100 {
  max-width: 1000px;
  margin: auto;
}
.inner120 {
  max-width: 1200px;
  margin: auto;
  padding: 5em 0;
}
.inner120_w {
  max-width: 1200px;
  margin: auto;
  padding: 5em 0;
  background-color: #ffffff;
  border-radius: 5rem;
}
.inner144 {
  max-width: 1440px;
  margin: auto;
}
.column_3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}
.column_3> * {
  width: 31%;
}
.column_3> *:nth-of-type(n + 4) {
  margin-top: 3.5%
}
.column_2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}
.column_2> * {
  width: 48%;
}
.column_2> *:nth-of-type(n + 3) {
  margin-top: 4%
}
.hl-2rem {
  font-size: 1em;
  font-weight: 700;
  text-align: center;
}
@media only screen and (max-width: 1200px) {
  .inner120_w {border-radius: 0;}
}
@media only screen and (max-width: 767px), only screen and (max-width: 896px) and (orientation: landscape) {
  article> section {padding-top: 3em;}
  .inner {padding: 0 1.5rem;}
  .inner100,.inner120,.inner120_w,.inner144 {width: 100%; padding: 0 1.5rem;}
}
/*-----------------------------------------------------
  .js-flex
-----------------------------------------------------*/
.js-flex > .empty {
  height: 0 !important;
  min-height: auto !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-left: 0 !important;
  padding: 0 !important;
  border: none !important;
}
/*-----------------------------------------------------
  .btn 
-----------------------------------------------------*/
.btn-wrapper {text-align: center;}
.btn {
  display: inline-block;
  width: 34rem;
  padding: 1.4rem 0;
  border-radius: 100vh;
  -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, .3);
          box-shadow: 0 3px 3px rgba(0, 0, 0, .3);
  text-align: center;
  position: relative;
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: .1em;
  cursor: pointer;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .3);
  -webkit-transition: all .2s;
  transition: all .2s;
}
.btn::after {
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-size: 67%;
  font-weight: 900;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 1.5rem;
  -webkit-transition: all .2s;
  transition: all .2s;
}
.btn:hover::after { right: 1rem; }
.btn._down::after { content: "\f078"; }
.btn._down:hover::after { right:2rem; top: calc(50% - 0.5rem);}
.btn._left::after { content: "\f053"; right: auto; left: 2rem; }
.btn._left:hover::after { right: auto; left: 1.5rem; }
.btn._window::after {
  content: "";
  position: absolute;
  right: 1em;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 1em;
  height: 1em;
  background: url(../img/common/icon-window_wh.svg) no-repeat center/contain;
  font-size: 80%;
}
.btn._window:hover::after {
  background-image: url(../img/common/icon-window.svg);
}


.btn { border: .2rem solid #009900; color: #ffffff; background-color: #009900; }
.btn:hover { color: #009900; background-color: #ffffff; text-shadow: none; }

.btn._orange {
  padding: 0.95em 1.5em;
  background: #f8b502 linear-gradient(75deg, #f9bf24, #f16a00 50%);
  border: 2px solid #f8b502;
  color: #ffffff;
  font-size: 1.2em;
  -webkit-box-shadow: 0 2px 0 rgb(0 0 0 / 25%);
          box-shadow: 0 2px 0 rgb(0 0 0 / 25%);
  opacity: 1;
}
.icon-arrow {
  position: relative;
}
.icon-arrow::after {
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-size: 67%;
  font-weight: 900;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 1em;
  -webkit-transition: all .2s;
  transition: all .2s;
}
a:hover .icon-arrow::after {
  right: .5em;
}
.hl-2rem.icon-arrow::after {
  color: #009900;
}
.icon-st {
  position: relative;
  display: block;
  width: 1em;
  height: 1em;
  background-color: #ffe048;
  border-radius: 100%;
  font-size: 1em;
}
.icon-st::before, .icon-st::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  height: .09em;
  width: 70%;
  border-radius: 100vh;
  background-color: #009900;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
}
.icon-st:before {
  -webkit-transform:  translate(-50%, -50%);
          transform:  translate(-50%, -50%);
}
.icon-st::after {
  -webkit-transform:  translate(-50%, -50%) rotate(90deg);
          transform:  translate(-50%, -50%) rotate(90deg);
  opacity: 1;
}
.open .icon-st::after {
  opacity: 0;
  -webkit-transform:  translate(-50%, -50%) rotate(0deg);
          transform:  translate(-50%, -50%) rotate(0deg);
}

@media only screen and (max-width: 767px), only screen and (max-width: 896px) and (orientation: landscape) {
	.btn { font-size: calc(36 * (100vw / 750)); }
}

/*-----------------------------------------------------
  scroll-top
-----------------------------------------------------*/
.scroll-top {display: none;}
.scroll-top a {
  display: block;
  font-family: "Font Awesome 5 Free";
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  position: fixed;
  right: 2em;
  bottom: 3.5em;
  z-index: 100;
  background-color: #009900;
  width: 5.4rem;
  height: 5.4rem;
  border-radius: 6rem;
  line-height: 5.4rem;
    -webkit-transition : all .2s;
    transition : all .2s;
}
.scroll-top a, .scroll-top:hover, .scroll-top:focus {
  color: #ffffff;
}
.scroll-top a::before {
  content: "\f077";
  display: block;
  font-weight: 900;
  font-size: 1.4rem;
  line-height: inherit;
  text-align: center;
}

@media only screen and (max-width: 767px), only screen and (max-width: 896px) and (orientation: landscape) {
  .scroll-top a {
    right: 2.93333%;
    width: 2em;
    height: 2em;
    line-height: 2em;
  }
}

/*-----------------------------------------------------
  header
-----------------------------------------------------*/
header {
  position: relative;
  z-index: 100;
  width: 100%;
}
header.fixed {
  position: fixed; 
  top: 0;
  left: 0;
}
.sp-nav {display: none;}
.header-inner {
  height: 130px;
}
header.fixed .header-inner {
  display: none;
}
.header-inner, .header-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.header-info {
  width: 70%;
  max-width: 950px;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.sp-nav .menu-btn {
  display: none
}
.header-site .logo {
  height: 100%;
}
.header-site a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  padding: 0 .8em;
  line-height: 1;
}
.header-info .sns span {
  display: block;
  position: relative;
}
.header-info .sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  max-width: 28%;
  font-size: min(1.39vw,1.8rem);
}
.header-info .sns .insta-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 50px;
  padding-left: 60px;
  background: url("../img/common/insta-icon.png") no-repeat left center/contain;
  line-height: 1.2;
}
.header-info .sns .insta-qr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 50px;
  margin-top: 10px;
  padding-left: 60px;
  background: url("../img/common/insta-qr.gif") no-repeat left center/contain;
  font-size: 110%;
}
.header-info .about {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: right;
  max-width: 35%;
  margin: 0 1em;
}
.header-info .about ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: .3em;
  font-size: 1.4rem;
}
.header-info .about li+ li {
  margin-left: 1em;
}
.header-info .about li a {
  padding-left: 1.5em;
  background: url("../img/common/icon-arrow.svg") no-repeat left center/16px;
  line-height: 1;
  -webkit-transition: all .2s;
  transition: all .2s;
}
.header-info .about li a.window {
  background-image: url("../img/common/icon-window.svg");
}
.header-info .about li a:hover {
  color: #009900;
}
.header-info .header-tel {
  margin-top: 3px;
  font-size: min(2.78vw,4rem);
  color: #009900;
  font-weight: 700;
}
.header-info .header-tel a {
  padding-left: 1.5em;
  background: url("../img/common/icon-tel.gif") no-repeat left .4em/auto .8em;
  line-height: 1;
}
.header-info .header-tel-text {
  font-size: min(1.25vw,1.8rem);
  font-weight: 700;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: .03em;
}
.header-info .contact {
  height: 100%;
  width: 33%;
  max-width: 310px;
}
.header-info .contact a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  max-width: 310px;
  height: 100%;
  padding: 1em;
  background: linear-gradient(25deg, #f8b502, #f16c00 70%);
  border: 3px solid #f8b502;
  font-size: 1.8rem;
  font-weight: 700;
  opacity: 1;
  -webkit-transition: all .2s;
  transition: all .2s;
}
.header-info .contact a:hover {
  opacity: .8;
}
.header-nav {
  position: relative;
  width: 100%;
  height: 100px;
  background: url("../img/common/header-nav-img_01.gif") repeat-x left center/contain;
  -webkit-box-shadow: 0 1px 1px rgba(0,0,0,.15);
          box-shadow: 0 1px 1px rgba(0,0,0,.15);
  -webkit-transition: all .2s;
  transition: all .2s;
}
header.fixed .header-nav {
  height: 70px;
}
.header-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 1200px;
  height: 100%;
  margin: auto;
}
.header-menu-item {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  color: #ffffff;
  font-size: 2.2rem;
  line-height: 1.2;
  text-align: center;
}
.header-menu-item> *:not(.sec-menu) {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  padding: .3em;
  font-weight: 700;
  text-shadow: 1px 1px 2px rgba(0,0,0,.3);
  -webkit-transition: background-color .3s ease;
  transition: background-color .3s ease;
}
.header-menu-item:first-of-type> *::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
  width: 1px;
  height: 73%;
  background-color: rgba(255,255,255,.5);
  z-index: 10;
}
.header-menu-item> *::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
  width: 1px;
  height: 73%;
  background-color: rgba(255,255,255,.5);
  z-index: 10;
}
.header-menu-item.is-active> *:not(.sec-menu),
.header-menu-item> *:not(.sec-menu):hover {
  background-color: #009900;
}
.header-menu-item i {
  position: absolute;
  right: 10px;
  bottom: 13%;
  font-size: 1.4rem;
  opacity: 1;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
}
.header-menu-item> *:hover i {
  bottom: 7%;
  opacity: .5;
}
.header-menu-item .sec-menu {
  position: absolute;
  left: 0;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  background-color: #ebfdeb;
  -webkit-box-shadow: 0 5px 10px rgba(0,0,0,.25);
          box-shadow: 0 5px 10px rgba(0,0,0,.25);
  border-bottom: 5px solid #47d347;
  z-index: -1;
  top: 0;
  height: 0;
  overflow: hidden;
  opacity: 0;
  -webkit-transition: all .4s ease-in-out;
  transition: all .4s ease-in-out;
}
.header-menu-item .sec-menu.is-active {
  opacity: 1;
  top: 100%;
  height: auto;
}
.header-menu-item .sec-menu> ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 1em;
}
.header-menu-item .sec-menu> ul> li {
  max-width: 200px;
  margin-right: 1.39em;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  color: #009900;
  font-size: 1.8rem;
  font-weight: 700;
}
.header-menu-item .sec-menu> ul> li:last-of-type {
  margin-right: 0;
}
.header-menu-item .sec-menu> ul> li a {
  display: block;
  width: 100%;
  height: 100%;
  padding-top: 1.1em;
}
.header-menu-item .sec-menu> ul> li p {
  margin: .5em 0 .8em;
}
@media only screen and (max-width: 767px), only screen and (max-width: 896px) and (orientation: landscape) {
  header {position: fixed; top:0; left: 0;  width: 100%; background-color: #ffffff;}
  main {margin-top: 60px !important;}
  .header-nav {display: none;}
  .sp-nav {display: block; position: absolute; top: 0; right: 0;}
  .sp-nav .menu-btn {
    display: block;
    top: 0;
    right: 0;
    height: 60px;
    width: 60px;
    padding: 10px 0 0;
    background-color: #009900;
    color: #ffffff;
    font-size: 12px;
  }
  .sp-nav .menu-btn span, .menu-btn span:before, .menu-btn span:after {
    content: '';
    display: block;
    height: 2px;
    width: 18px;
    border-radius: 100vh;
    background-color: #ffffff;
    position: relative;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
  }
  .sp-nav .menu-btn span {
    margin: 0 auto 12px;
  }
  .sp-nav .menu-btn span:before {
    position: absolute;
    bottom: 5px;
  }
  .sp-nav .menu-btn span:after {
    position: absolute;
    top: 5px;
  }
  .sp-nav .menu-btn.is-active span {
    background-color: rgba(255, 255, 255, 0);
  }
  .sp-nav .menu-btn.is-active span::before {
    bottom: 0;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .sp-nav .menu-btn.is-active span::after {
    top: 0;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  .sp-menu-content {
    position: fixed;
    top: 60px;
    left: 100%;
    right: 0;
    bottom: 0;
    overflow-y: auto;
    width: 100%;
    background: #fff;
    z-index: 100;
    opacity: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
  }
  .sp-menu-content.is-active {
    left: 0;
    opacity: 1;
  }
  .sp-menu {
    margin: 10% 15px 0;
    font-size: calc(32 * (100vw / 750));
  }
  .sp-menu .sp-menu-item {
    position: relative;
    border-top: 1px solid #cccccc;
    line-height: 1.3;
  }
  .sp-menu .sp-menu-item:first-of-type {
    border: none
  }
  .sp-menu li> *:not(.sec-menu) {
    display: block;
    padding: 1em .5em;
    position: relative;
    font-weight: 700;
  }
  .sp-menu li a > span::after,
  .sp-menu .parent > div > span::after  {
    content: "\f105";
    display: block;
    position: absolute;
    right: .5em;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    font-family: fontAwesome;
    font-weight: normal;
  }
  .sp-menu li a[target="_blank"] > span::after {
    content: "\f2d2";
  }
  .sp-menu .parent > div > span::after {
    content: "\f196";
    font-family: fontAwesome;
  }
  .sp-menu .parent.is-active > div  > span::after {
    content: "\f147";
  }
  .sp-menu .sec-menu {
    position: relative;
    display: none;
  }
  .sp-menu .sec-menu li {
    border-top: 1px dotted #ccc;
  }
  .sp-menu .sec-menu li a::before {
    content: "― ";
    position: relative;
  }
  .header-inner {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    height: 60px;
    padding-right: 60px;
    border-bottom: 1px solid #ccc;
  }
  .header-site {
    width: calc(100% - 60px);
  }
  .header-site .logo a {
    padding: 8px
  }
  .header-site .logo img {
    width: 100%;
    max-width: 240px;
  }
  .header-site .logo small {
    display: block;
    margin-bottom: 5px;
    font-size: 1.3rem;
  }
  .header-info {
    display: none;
  }
  
}

/*-----------------------------------------------------
  footer
-----------------------------------------------------*/
#f-Contact {display: none;}
.footer-wrapper {
  font-size: 1.6rem;
}
.footer-wrapper .nav-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 1260px;
  margin: auto;
  padding: 5rem 1rem 5rem 3rem;
  background-color: #ffffff;
}
.footer-wrapper .footer-site address {
  margin-top: 1rem;
}
.footer-wrapper .footer-site address b {
  font-size: 125%;
}
.footer-wrapper .footer-site address small {
  display: block;
  font-size: 80%;
}
.footer-wrapper .footer-site .insta {
  margin-top: 1em;
}
.footer-wrapper .footer-site .insta a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.footer-wrapper .footer-site .insta a> *+ * {
  margin-left: 1rem;
}
.footer-wrapper .footer-site .insta b {
  font-size: 137%;
}
.footer-wrapper .footer-site .icon-wrap {
  width: 5rem;
  height: 5rem;
}
.footer-wrapper .footer-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 2.25;
}
.footer-wrapper .footer-menu {
  padding: 0 1.5em 0 1em;
  border-left: 1px solid #009900;
}
.footer-wrapper .footer-menu-item {
  color: #009900;
  font-weight: 700;
}
.footer-wrapper .sec-menu {
  margin-left: 1em;
}
.footer-wrapper .sec-menu li {
  color: #000000;
  font-weight: normal;
}
.footer-wrapper .footer-menu a {
  display: block;
  position: relative;
  opacity: 1;
  -webkit-transition: all .2s;
  transition: all .2s;
}
.footer-wrapper .footer-menu a::after {
  content: "";
  position: relative;
  display: inline-block;
  right: -.5em;
  top: .1em;
  width: 1em;
  height: 1em;
  background: url("../img/common/icon-arrow.svg") no-repeat center/contain;
}
.footer-wrapper .footer-menu a.window::after {
  background: url("../img/common/icon-window.svg") no-repeat center/contain;
}
.footer-wrapper .footer-menu a:hover {
  opacity: .7;
}
.footer-wrapper .copyRight {
  padding: 1em 0 .82em;
  background: #009900;
  color: #ffffff;
  font-size: 1.6rem;
  text-align: center;
}
@media only screen and (max-width: 767px), only screen and (max-width: 896px) and (orientation: landscape) {
  .footer-wrapper .nav-wrap { display: block; padding: 3em 1.5rem; }
  .footer-wrapper .footer-site { padding: 0; }
  .footer-wrapper .footer-nav { display: none; }
    /* 画面下問い合わせ */
  #f-Contact {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: fixed;
    left: 0;
    bottom: -100%;
    width: 100%;
    z-index: 100;
  }
  #f-Contact> div { width: 50%; }
  #f-Contact> div a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    height: 100%;
    padding: .5em 0;
    color: #ffffff;
    font-size: calc(34 * (100vw / 750));
    font-weight: 700;
    line-height: 1.2;
    text-shadow: 0 1px 2px rgba(0,0,0,.3);
  }
  #f-Contact .f-tel {
    border: 0.3rem solid #009900;
    background: #f8b502 linear-gradient(75deg, #008700, #009800 70%);
  }
  #f-Contact .f-tel a span {
    padding-left: 2.5em;
    background: url("../img/common/icon-tel.png") no-repeat left center/2em;
  }
  #f-Contact .f-link {
    background: #f8b502 linear-gradient(75deg, #f9bf24, #f16a00 70%);
    border: .3rem solid #f8b502;
  }
  #f-Contact .f-link a span {
    padding-left: 2.5em;
    background: url("../img/common/icon-mail.png") no-repeat left center/2em;
  }
  #f-Contact.is-Active {
    bottom: 0;
  }
}

/*-----------------------------------------------------
  フローティングバナー 
-----------------------------------------------------*/
.floatingBnr {
  width: 200px;
  position: fixed;
  z-index: 100;
  left: -200px;
  bottom: 60px;
  background-color: #fff;
  border-radius: 10px;
  -webkit-box-shadow: 0 1px 10px rgba(0,0,0,0.35);
          box-shadow: 0 1px 10px rgba(0,0,0,0.35);
  opacity: 0;
  -webkit-transition: left 0.3s ease ,opacity 0.3s ease;
  transition: left 0.3s ease ,opacity 0.3s ease;
}
.pageScroll .floatingBnr {
  opacity: 1;
  left: 20px;
}
.floatingBnr .bnrIn {
  position: relative;
  padding: 10px;
}
.floatingBnr.btn_off .bnrIn {
  display: none;
}
.floatingBnr a {
  display: block;
  text-decoration: none;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.floatingBnr .fbnr_close {
  width: 20px;
  height: 20px;
  background-color: #999;
  border-radius: 50%;
  position: absolute;
  top: -8px;
  right: -8px;
  cursor: pointer;
}
.floatingBnr .fbnr_close::before,
.floatingBnr .fbnr_close::after {
  content: "";
  width: 12px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.floatingBnr .fbnr_close::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.floatingBnr .fbnr_open {
  width: 22px;
  height: 60px;
  background-color: #999;
  border-radius: 0 10px 10px 0;
  position: absolute;
  bottom: 0;
  left: -20px;
  display: none;
  cursor: pointer;
}
.floatingBnr.btn_off .fbnr_open {
  display: block;
}
.floatingBnr .fbnr_open::before,
.floatingBnr .fbnr_open::after {
  content: "";
  width: 12px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 4px;
  margin: auto;
}
.floatingBnr .fbnr_open::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
@media only screen and (min-width:768px) {
  .floatingBnr a:hover {
    opacity: 0.8;
  }
}
@media only screen and (max-width: 767px), only screen and (max-width: 896px) and (orientation: landscape) {
  .floatingBnr {
    display: none;
  }
}

/*-----------------------------------------------------
  汎用クラス
-----------------------------------------------------*/
.mt_00 {margin-top: 0 !important; }
.mt_10 {margin-top: 1em !important; }
.mt_20 {margin-top: 2em !important; }
.mt_30 {margin-top: 3em !important; }
.mt_40 {margin-top: 4em !important; }
.mt_50 {margin-top: 5em !important; }
.mr_00 {margin-right: 0 !important; }
.mr_10 {margin-right: 1em !important; }
.mr_20 {margin-right: 2em !important; }
.mr_30 {margin-right: 3em !important; }
.mb_00 {margin-bottom: 1em !important; }
.mb_10 {margin-bottom: 1em !important; }
.mb_20 {margin-bottom: 2em !important; }
.mb_30 {margin-bottom: 3em !important; }
.mb_40 {margin-bottom: 4em !important; }
.mb_50 {margin-bottom: 5em !important; }
.ml_00 {margin-left: 0 !important; }
.ml_10 {margin-left: 1em !important; }
.ml_20 {margin-left: 2em !important; }
.ml_30 {margin-left: 3em !important; }

.underLine{text-decoration: underline;}
.fz_100 {font-size: 100% !important;}
.left {text-align: left !important;}
.right {text-align: right !important;}
.center {text-align: center !important;}
.red {color: #FF0000}

.pc-none { display: none !important; }
.sp-none { display: inline-block !important; }

/* news label*/
.label.open {
  background-color: #009900;
  color: #ffffff;
}
.label.open::after {content: "オープン情報"}
.label.koubo {
  background-color: #009900;
  color: #ffffff;
}
.label.koubo::after {content: "公募情報"}
.label.other {
  background-color: #009900;
  color: #ffffff;
}
.label.other::after {content: "その他"}

@media only screen and (max-width: 767px), only screen and (max-width: 896px) and (orientation: landscape) {
	.pc-none { display: inline-block !important; }
	.sp-none { display: none !important; }
}

/*-----------------------------------------------------
  subpage common
-----------------------------------------------------*/
.image-wrap {
  text-align: center;
}
.marker {
  display: inline;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), color-stop(0%, rgba(123,225,123,.2)));
  background: linear-gradient(transparent 50%, rgba(123,225,123,.2) 0%);
}
.icn-index {
  padding-left: 1.4em;
  background: no-repeat left top/1em;
  border: none;
  color: #000;
  font-weight: bold;
  line-height: 1
}
.h3.icn-index._price {background-image: url("../img/common/icon-price.png")}
.h3.icn-index._access {background-image: url("../img/common/icon-access.png")}
.h3.icn-index._house {background-image: url("../img/common/icon-house.png")}
/*-----------------------------------------------------
  section.sub-mv
-----------------------------------------------------*/
.sub-mv .mv-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 5.2% 0;
}
.sub-mv .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: auto 0 auto;
  min-width: 52%;
  height: 4em;
  padding-right: 1em;
  padding-left: 2.5em;
  background: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(27%, #ffffff));
  background: linear-gradient(to right, transparent 0%, #ffffff 27%);
  font-size: calc(50 * (100vw / 1440));
}
@media only screen and (max-width: 767px), only screen and (max-width: 896px) and (orientation: landscape) {
  .sub-mv .title{ font-size: calc(34 * (100vw / 750));}
  .column_3> * , .column_2> * {width: 100%;}
  .column_3> *+ *, .column_2> *+ * {margin-top: 1em !important;}
  .hl-2rem { font-size: calc(40 * (100vw / 750));}
}
/*-----------------------------------------------------
  section.title-wrap
-----------------------------------------------------*/
.title-wrap {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 13.89vw;
  min-height: 200px;
  background-color: #ffffff;
  -webkit-box-shadow: 0 -5px 10px rgba(0,0,0,.10) inset;
          box-shadow: 0 -5px 10px rgba(0,0,0,.10) inset;
}
.title-wrap::after {
  content: "";
  display: block;
  position: absolute;
  left: 0; top: 100%;
  width: 100%;
  height: 10px;
  background: url("../img/common/bg-pat04.jpg") repeat;
  -webkit-box-shadow: 0 5px 10px rgba(0,0,0,.15);
          box-shadow: 0 5px 10px rgba(0,0,0,.15);
}
.title-wrap .title { text-align: center;}
@media only screen and (max-width: 767px), only screen and (max-width: 896px) and (orientation: landscape) {
  .title-wrap {height:26.67vw;  min-height: auto;}
}
/*-----------------------------------------------------
  section.howto-contact
-----------------------------------------------------*/
.howto-contact {
  padding-bottom: 0;
}
.howto-contact .inner {
  padding-top: 5rem;
  padding-bottom: 4.5rem;
  background: url("../img/common/bg-pat03.jpg") repeat;
}
.howto-contact h2 {
  margin-bottom: .4em;
  color: #ffffff;
  font-size: 2.5em;
}
.howto-contact h3 {
  margin: 0 0 .2em;
  padding: 0;
  color: #000000;
  font-size: 3rem;
  border: none;
}
.howto-contact .introduction {
  margin-bottom: 1em;
  padding: 0;
  color: #ffffff;
  text-align: center;
  font-size: 1.3em;
  line-height: 1.8;
}
.howto-contact h2::after {
  content: none;
}
.howto-contact .contact-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  max-width: 1000px;
  margin: auto;
}
.howto-contact .contact-wrap> div {
  width: 48%;
  background-color: #ffffff;
  border-radius: 2.5rem;
  padding: 2.5rem;
  text-align: center;
}
.howto-contact .add-slash {
  position: relative;
  display: inline-block;
  color: #f17000;
  line-height: 1.3;
}
.howto-contact .add-slash::before,
.howto-contact .add-slash::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  width: 1.4rem;
  height: 1.2em;
  background: url("../img/top/slash.png") no-repeat center bottom/contain;
}
.howto-contact .add-slash::before {
  left: -1em;
}
.howto-contact .add-slash::after {
  right: -.8em;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1)
}
.howto-contact .tel-number {
  display: block;
  margin-top: 1rem;
  padding-left: 1.5em;
  background: url(../img/common/icon-tel.gif) no-repeat left bottom/auto 0.8em;
  font-size: 5rem; 
  color: #009900;
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 1;
}

.howto-contact .tel-txt {
  margin-top: .5em;
  font-size: 1.15em;
  font-weight: 700;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: .03em;
}
.howto-contact .contact-mail a {
  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;
  width: 100%;
  margin-top: 1rem;
  padding: .4em;
  font-size: 1.4em;
  letter-spacing: 0;
  opacity: 1;
  -webkit-transition: all .2s;
  transition: all .2s;
}
.howto-contact .contact-mail a::before {
  position: relative;
  top: .1em;
  content: "";
  display: inline-block;
  width: 2.14em;
  height: 1.57em;
  margin-right: .8em;
  background: url("../img/common/icon-mail.png") no-repeat center/contain;
  letter-spacing: .1em;
}
.howto-contact .contact-mail a::after {
  content: none;
}
.howto-contact .contact-mail a:hover {
  opacity: .7;
}
@media only screen and (max-width: 767px), only screen and (max-width: 896px) and (orientation: landscape) {
  .howto-contact h2 {font-size: calc(56 * (100vw / 750));}
  .howto-contact h3 {font-size: calc(50 * (100vw / 750));}
  .howto-contact .introduction {font-size: calc(40 * (100vw / 750)); line-height: 1.6;}
  .howto-contact .contact-wrap { display: block; }
  .howto-contact .contact-wrap> div { width: 100%; }
  .howto-contact .contact-wrap .contact-mail { margin-top: 1.5rem; }
  .howto-contact .tel-number { font-size: calc(72 * (100vw / 750)); letter-spacing: normal;}
  .howto-contact .tel-txt { font-size: calc(32 * (100vw / 750)) }
  .howto-contact .contact-mail a { font-size: calc(40 * (100vw / 750)) }
}
/*-----------------------------------------------------
  section #area-nav
-----------------------------------------------------*/
#area-nav {background: #009900 url("../img/common/bg-pat04.jpg") repeat; padding: 0;}
#area-nav .inner100 {
  padding: .5em 0 1.25em;
}
#area-nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  color: #ffffff;
  font-size: min(1.81vw,2.6rem);
  font-weight: 700;
  line-height: 1.47;
}
#area-nav li {
  width: calc(100% / 3);
  text-align: center;
  border-right: 1px solid #ffffff;
}
#area-nav li:first-of-type {
  border-left: 1px solid #ffffff;
}
#area-nav li a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  padding: 1.7em 0;
  -webkit-transition: all .2s;
  transition: all .2s;
}
#area-nav li a:hover {
  opacity: .7;
}
#area-nav li a::after {
  content: "\f13a";
  font-family: "Font Awesome 5 Free";
  font-size: 115%;
  font-weight: 900;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  position: absolute;
  left: 50%;
  bottom: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: all .2s;
  transition: all .2s;
}
#area-nav li a:hover::after {
  bottom: -1rem;
}
@media only screen and (max-width: 767px), only screen and (max-width: 896px) and (orientation: landscape) {
  .area-nav ul {font-size: 1.3rem;}
  #area-nav .inner100 {padding-bottom: 1em;}
  #area-nav ul {font-size: 1.4rem;}
  #area-nav li:first-of-type {border-left: none;}
  #area-nav li:last-of-type {border-right: none;}
  #area-nav li a {padding: .8em 0 1.7em;}
}