@charset "UTF-8";
/* ---------------------------------------------------------
config
--------------------------------------------------------- */
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@700&display=swap");
@media screen and (max-width: 750px) {
  [data-sc-pc] {
    display: none !important; } }

@media print, screen and (min-width: 751px) {
  [data-sc-sp] {
    display: none !important; } }

.wf-roundedmplus1c {
  font-family: 'M PLUS Rounded 1c', sans-serif; }

/* ---------------------------------------------------------
reset
--------------------------------------------------------- */
html {
  font-family: Roboto,"Noto Sans JP","游ゴシック","游ゴシック体","Yu Gothic",YuGothic,sans-serif;
  -webkit-text-size-adjust: 100%;
  font-size: 100px; }
  @media screen and (min-width: 410px) and (max-width: 750px) {
    html {
      font-size: 110px; } }
  @media print, screen and (min-width: 751px) {
    html {
      font-feature-settings: "palt"; } }
  @media screen and (max-width: 750px) {
    html {
      line-height: 1.5; } }

body {
  line-height: 1;
  color: #42210B;
  font-size: .14rem;
  letter-spacing: .05em;
  word-break: break-all; }
  @media screen and (max-width: 750px) {
    body {
      font-size: .13rem; } }

body, h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ol, ul, li, td, th, figure, input, select, button, optgroup, textarea {
  margin: 0;
  padding: 0; }

article, aside, footer, header, main, nav, section, figcaption, figure {
  display: block; }

img {
  -ms-interpolation-mode: bicubic;
  border-style: none;
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

svg:not(:root) {
  overflow: hidden; }

hr {
  height: 0;
  overflow: visible;
  box-sizing: border-box; }

b, strong {
  font-weight: inherit;
  font-weight: bolder; }

a, button {
  outline: 0;
  text-decoration: none;
  color: inherit;
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
  transition: opacity 0.3s; }
  a:hover, button:hover {
    cursor: pointer;
    opacity: 0.7; }
  a img, button img {
    transition: 0.3s; }
    a img:hover, button img:hover {
      opacity: 0.7; }

li {
  list-style: none; }

sub, sup {
  position: relative;
  vertical-align: baseline;
  line-height: 0; }

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

audio, video, canvas {
  display: inline-block; }

summary {
  display: list-item; }

audio:not([controls]) {
  display: none;
  height: 0; }

input, select, optgroup, textarea {
  margin: 0;
  padding: .1rem .2rem;
  border: 0.01rem solid #707070;
  border-radius: 0;
  box-sizing: border-box;
  width: 100% !important;
  vertical-align: bottom;
  appearance: none;
  background: none;
  outline: 0;
  font-family: Roboto,"Noto Sans JP","游ゴシック","游ゴシック体","Yu Gothic",YuGothic,sans-serif;
  font-size: .16rem;
  letter-spacing: .05em;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

button, input {
  overflow: visible; }

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0; }

button:-moz-focusring, input:-moz-focusring {
  outline: 1px dotted ButtonText; }

button, select {
  cursor: pointer;
  text-transform: none; }

[type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner, button::-moz-focus-inner {
  border: none; }

select::-ms-expand {
  display: none; }

iframe {
  border: none;
  box-sizing: border-box;
  width: 100%;
  vertical-align: bottom; }

/* ---------------------------------------------------------
modules
--------------------------------------------------------- */
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.row {
  display: flex;
  justify-content: space-between;
  align-items: center; }
  @media screen and (max-width: 750px) {
    .row {
      display: block; } }
  .row .l, .row .r {
    width: 50%; }
    @media screen and (max-width: 750px) {
      .row .l, .row .r {
        width: 100%; } }

.w1280 {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 20px; }

.w1000 {
  max-width: 1040px;
  margin: 0 auto;
  padding: 0 20px; }

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  -webkit-backface-visibility: hidden; }

/* ---------------------------------------------------------
header　toggle周り
--------------------------------------------------------- */
header .spNavBox {
  display: none;
  position: fixed;
  z-index: 1000;
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  background: #AACF53;
  color: #fff; }
header .toggle {
  position: fixed;
  top: 8px;
  right: .2rem;
  z-index: 1000;
  width: 40px;
  height: 40px;
  cursor: pointer;
  background: #abcf52; }
  header .toggle span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
    height: 2px;
    background: #fff;
    transition: .3s; }
    header .toggle span.bar01 {
      top: 32%; }
    header .toggle span.bar03 {
      top: 68%; }
  header .toggle.active .bar01 {
    top: 50%;
    transform: translate(-50%, -50%) rotate(45deg); }
  header .toggle.active .bar02 {
    opacity: 0; }
  header .toggle.active .bar03 {
    top: 50%;
    transform: translate(-50%, -50%) rotate(135deg); }

/* ---------------------------------------------------------
header
--------------------------------------------------------- */
header.pcHeader {
  background: #AACF53;
  color: #fff;
  padding: 20px 0; }
  header.pcHeader a.logo {
    text-align: center; }
    header.pcHeader a.logo span {
      font-size: 1.8em;
      display: block; }
  header.pcHeader > .row {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px; }
  header.pcHeader .gnav {
    display: flex;
    justify-content: space-between;
    font-weight: bold;
    padding-top: 1em; }

.h_r_Box {
  display: flex;
  border-bottom: 3px solid;
  padding-bottom: .5em; }
  .h_r_Box dl {
    display: flex;
    line-height: 1.5; }
    .h_r_Box dl dt {
      text-align: right;
      width: 9em; }
  .h_r_Box .ll {
    margin-right: 20px; }
  .h_r_Box .headTel {
    position: relative;
    font-size: 2.3em;
    text-align: right;
    display: block;
    margin-bottom: 10px; }
    .h_r_Box .headTel span {
      font-size: .53em;
      display: block; }
    .h_r_Box .headTel:before {
      position: absolute;
      content: "";
      top: 20px;
      right: 242px;
      width: 25px;
      height: 24px;
      background: url(../images/tel.png) no-repeat center/contain; }

header.spHeader {
  background: #AACF53;
  padding: 10px 0; }
  header.spHeader a.logo {
    text-align: center;
    font-size: 8px;
    color: #fff; }
    header.spHeader a.logo span {
      font-size: 1.8em;
      display: block; }
  header.spHeader .spNavBox {
    color: #fff; }
    header.spHeader .spNavBox .logo {
      margin: 2em 0;
      display: block; }
    header.spHeader .spNavBox ul {
      text-align: center;
      margin-top: 4em;
      padding: 0 30px; }
      header.spHeader .spNavBox ul li {
        font-size: 15px;
        border-bottom: 1px solid;
        margin-bottom: 2em;
        padding-bottom: 1em; }
  header.spHeader .h_r_Box {
    display: block;
    padding-bottom: 3em; }
    header.spHeader .h_r_Box .ll {
      margin-right: 0;
      width: 22em;
      margin: 0 auto;
      margin-bottom: 2em; }
  header.spHeader .btm {
    width: 20em;
    margin: 0 auto; }
    header.spHeader .btm dt {
      width: 8em; }
    header.spHeader .btm dd {
      flex: 1; }

.spHeader .h_r_Box .headTel {
  text-align: center;
  border-bottom: 1px dashed;
  padding-bottom: .3em; }
  .spHeader .h_r_Box .headTel:before {
    top: 20px;
    right: 230px; }

/* ---------------------------------------------------------
header
フッター
--------------------------------------------------------- */
footer {
  padding: 50px 0;
  color: #fff; }
  footer a.logo {
    text-align: center; }
    footer a.logo span {
      font-size: 1.8em;
      display: block; }
  footer .ftnav {
    display: flex;
    justify-content: center;
    margin-bottom: 4em; }
    footer .ftnav li {
      margin: 0 1em;
      padding: .5em 1em; }
      footer .ftnav li:not(:last-child) {
        border-right: 1px solid; }

small {
  text-align: center;
  padding: 1em 0;
  display: block; }

/* ---------------------------------------------------------
下層共通
--------------------------------------------------------- */
main.inner {
  padding-bottom: 100px; }
  @media screen and (max-width: 750px) {
    main.inner {
      padding-bottom: 40px; } }

p {
  line-height: 1.8; }

.mvArea {
  background: #0043ff57;
  height: 260px;
  margin-bottom: 66px; }
  @media screen and (max-width: 750px) {
    .mvArea {
      height: 100px;
      margin-bottom: 50px; } }

.menu .mvArea {
  background: url(../../img/mv_menu.jpg) no-repeat top center/cover; }

.access .mvArea {
  background: url(../../img/mv_access.jpg) no-repeat top center/cover; }

.about .mvArea {
  background: url(../../img/mv_about.jpg) no-repeat top center/cover; }

.contact .mvArea {
  background: url(../../img/mv_contact.jpg) no-repeat top center/cover; }

.news .mvArea {
  background: url(../../img/mv_contact.jpg) no-repeat top center/cover; }

body main .mb100px {
  margin-bottom: 100px; }

body main .mb80px {
  margin-bottom: 80px; }

body main .mb40px {
  margin-bottom: 40px; }

body main .mb0 {
  margin-bottom: 0; }

.btn01 {
  background: #FFFF7D;
  font-size: 1.2em;
  padding: .8em 1em;
  width: 22em;
  display: block;
  margin: 0 auto;
  border-radius: 5px;
  text-align: center;
  box-shadow: 0 3px 6px 0px #bfbfbf; }
  @media screen and (max-width: 750px) {
    .btn01 {
      width: 80%;
      line-height: 1.6; } }

.ttlh2 {
  margin-bottom: 3em;
  text-align: center;
  font-size: 1.8em;
  letter-spacing: .3em;
  line-height: 1.3; }
  @media screen and (max-width: 750px) {
    .ttlh2 {
      font-size: 1.1em; } }
  .ttlh2 span {
    position: relative;
    font-size: 1.5em;
    background: linear-gradient(transparent 50%, #ffff00 0%);
    padding: 0 1em;
    padding-bottom: 10px; }
    .ttlh2 span:before {
      position: absolute;
      content: "";
      bottom: 0;
      left: -2em;
      width: 2.5em;
      height: 2.5em;
      background: url(../../img/h2icon.png) no-repeat center/contain; }
    .ttlh2 span:after {
      position: absolute;
      content: "";
      bottom: 0;
      right: -2em;
      width: 2.5em;
      height: 2.5em;
      background: url(../../img/h2icon.png) no-repeat center/contain; }

.lead {
  text-align: center;
  font-size: 15px;
  margin-bottom: 4em; }
  @media screen and (max-width: 750px) {
    .lead {
      text-align: left;
      font-size: 14px;
      padding: 0 20px; } }

.ichimatu {
  position: relative;
  background: linear-gradient(45deg, #abcf53 25%, #c0ff0000 25%, transparent 75%, #abcf53 75%), linear-gradient(45deg, #abcf53 25%, transparent 25%, transparent 75%, #abcf53 75%);
  background-size: 50px 50px;
  background-position: 0 0, 25px 25px; }
  .ichimatu:after {
    content: "";
    top: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    background: #aed268;
    z-index: -10; }

.bgSec {
  padding: 80px 0; }

.menurow {
  display: flex;
  justify-content: space-between;
  max-width: 1020px;
  margin: 0 auto; }
  .menurow.Re {
    flex-direction: row-reverse; }
  @media screen and (max-width: 750px) {
    .menurow {
      display: block; } }
  .menurow img {
    max-width: 400px;
    padding: 0 20px;
    object-fit: contain; }
  .menurow .txt {
    margin: 0 20px;
    padding-top: 16px;
    flex: 1; }
    .menurow .txt h3 {
      font-size: 1.5em;
      margin-bottom: .8em; }
    .menurow .txt p {
      font-size: 16px;
      margin-bottom: 2em; }

.simaWrap .sima {
  display: flex;
  padding: 1.3em 1em; }
  @media screen and (max-width: 750px) {
    .simaWrap .sima {
      display: block;
      padding: 1em; } }
  .simaWrap .sima:nth-child(odd) {
    background: #EBEBEB; }
  .simaWrap .sima:last-child {
    border-bottom: 4px solid #EBEBEB; }
  .simaWrap .sima h3 {
    width: 10em;
    text-align: right;
    margin-right: 4em;
    font-size: 18px; }
    @media screen and (max-width: 750px) {
      .simaWrap .sima h3 {
        width: auto;
        text-align: left;
        margin-right: 0;
        font-size: 16px;
        margin-bottom: 1em;
        margin-top: 1em;
        border-left: 5px solid #abcf52;
        padding: 5px 10px; } }
  .simaWrap .sima div {
    flex: 1;
    font-size: 16px; }
    @media screen and (max-width: 750px) {
      .simaWrap .sima div {
        font-size: 14px; } }
    .simaWrap .sima div span {
      font-weight: bold; }

/* ---------------------------------------------------------
下層共通
access
--------------------------------------------------------- */
.akaP {
  text-align: center;
  color: red;
  margin-bottom: 2em;
  font-weight: bold; }

.mapImg {
  max-width: 350px; }

iframe.map {
  height: 200px; }

/* ---------------------------------------------------------
access
about
--------------------------------------------------------- */
.aboutRow1 {
  align-items: end; }
  .aboutRow1 > div {
    width: 30%;
    text-align: center; }
    @media screen and (max-width: 750px) {
      .aboutRow1 > div {
        width: 100%;
        margin-bottom: 30px; } }
    .aboutRow1 > div p {
      font-size: 14px;
      font-weight: bold; }

.nigaoe {
  float: right;
  width: 300px; }
  @media screen and (max-width: 750px) {
    .nigaoe {
      float: none;
      width: auto; } }
  .nigaoe p {
    text-align: center; }
    .nigaoe p span {
      display: block;
      font-weight: bold;
      font-size: 1.3em; }

.profarea h3 {
  font-size: 25px;
  margin-bottom: 1em; }
.profarea ul {
  margin-bottom: 4em; }
  .profarea ul li {
    font-size: 18px;
    margin-bottom: 1em;
    list-style: disc;
    margin-left: 1em; }
    @media screen and (max-width: 750px) {
      .profarea ul li {
        font-size: 14px; } }
    .profarea ul li div {
      display: flex; }
    .profarea ul li span {
      margin-right: 1em; }
.profarea p {
  font-size: 18px;
  margin-bottom: 3em; }
  @media screen and (max-width: 750px) {
    .profarea p {
      font-size: 14px; } }
.profarea .gspa {
  background: #eaeaea;
  display: inline-block;
  padding: 1em;
  font-size: 17px;
  font-weight: bold;
  line-height: 2;
  border-radius: 7px; }
  @media screen and (max-width: 750px) {
    .profarea .gspa {
      font-size: 14px; } }

/* ---------------------------------------------------------
about
contact
--------------------------------------------------------- */
.contact .simaWrap .sima h3 {
  width: 14em;
  font-size: 16px; }
  .contact .simaWrap .sima h3 span {
    color: red; }
.contact input[type="text"] {
  background: #fff;
  border-radius: 5px; }
.contact .btn01 {
  margin-top: 2em; }

/* ---------------------------------------------------------
contact
top
--------------------------------------------------------- */
.top .MVarea {
  display: flex;
  margin-bottom: 4em; }
.top .topHeader {
  color: #fff;
  background: #AACF53;
  padding: 80px 20px; }
  .top .topHeader a.logo {
    text-align: center;
    font-size: 18px;
    color: #fff; }
    .top .topHeader a.logo span {
      font-size: 1.8em;
      display: block; }
  .top .topHeader .h_r_Box {
    display: block; }
  .top .topHeader ul {
    text-align: center;
    margin-top: 4em;
    padding: 0 30px;
    margin-bottom: 100px; }
    .top .topHeader ul li {
      font-size: 15px;
      border-bottom: 1px solid;
      margin-bottom: 2em;
      padding-bottom: 1em; }
  .top .topHeader .topmail {
    width: 100px;
    margin: 20px auto; }
.top .mv {
  position: relative;
  background: url(../../img/topmv.jpg) no-repeat top center/cover;
  background-position-x: 100%;
  flex: 1; }
  @media screen and (max-width: 750px) {
    .top .mv {
      height: 300px; } }
  .top .mv > img {
    position: absolute;
    right: 100px;
    top: 30px;
    width: auto;
    height: 80%; }
    @media screen and (max-width: 750px) {
      .top .mv > img {
        right: 30px; } }
.top .menurow img {
  max-width: 650px; }
.top .lead {
  margin-bottom: 0;
  margin-top: 4em; }
.top .sec02 {
  background: url(../../img/sec2bg.jpg) no-repeat top center/cover;
  padding-top: 60px;
  padding-bottom: 130px; }
.top .sec03 {
  background: url(../../img/sec3bg.png) no-repeat top center/cover;
  margin-top: -40px;
  padding-top: 70px;
  padding-bottom: 70px; }
  .top .sec03 .Wrap {
    background: #fff;
    padding: 40px; }

/* ---------------------------------------------------------
top
news
--------------------------------------------------------- */
.newsUl li {
  border-bottom: 1px dashed;
  padding-bottom: 1em;
  margin-bottom: 1em; }

  @media screen and (min-width: 751px) {
.newsUl dl {
  display: flex;
}
}




.newsUl time {
  margin-right: 2em; }

.newsBox {
  font-size: 16px;
  margin-bottom: 3em; }

#tit_and_date {
  margin-bottom: 2em; }
  #tit_and_date h3 {
    margin-bottom: 1em; }


    @media screen and (min-width: 751px) {
      body {
          min-width: 1000px;
      }
    }

/*# sourceMappingURL=style.css.map */
