@charset "UTF-8";

/* Descktop-CSS */
@media only screen and (min-width: 769px) {}

/* Mobile-CSS */
@media only screen and (max-width: 768px) {}

/* ---------------------------------------------------- */
/*全体*/
/* ---------------------------------------------------- */
html {
  font-size: 62.5%;
  color: #7c6354;
}

body {
  background: url(../common/images/header_bg01.gif) repeat-x top center, #fefff3;
  font-family: -apple-system, 'Yu Gothic Medium', sans-serif;
  -webkit-text-size-adjust: 100%;
}

a {
  color: #7c6354;
}

header a {
  text-decoration: none;
}

header a:hover {
  text-decoration: underline;
}

#footer {
  background: #fefae3;
}

footer a {
  text-decoration: none;
}

.pagetop {
  position: fixed;
  right: 1em;
}

.pagetop a {
  display: block;
  line-height: 0;
}

#content2 {
  background: url(../common/images/bg.gif) repeat;
}

.title {
  text-align: center;
  background: url(../common/images/title_bg.gif) repeat-x center/100% auto;
}

h3 {
  width: 10em;
  background-color: #74a628;
  padding: .25em;
  text-align: center;
  border-radius: 100vw;
  color: #FFF;
  font-weight: normal;
}

/* Desktop-CSS */
@media only screen and (min-width: 769px) {
  body {
    line-height: 150%;
    font-size: 1.6em;
  }
}

/* Mobile-CSS */
@media only screen and (max-width: 768px) {
  * {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-size: inherit;
    font-style: normal;
    font-weight: inherit;
    list-style: none;
  }

  html {
    overflow-x: hidden;
  }

  body {
    word-wrap: break-word;
    -webkit-font-feature-settings: "palt" 1;
    font-feature-settings: "palt" 1;
    overflow-x: hidden;
    font-size: 3.25vw;
  }
}

/* ---------------------------------------------------- */
/* Common Desktop CSS */
/* ---------------------------------------------------- */
@media only screen and (min-width: 769px) {
  #wrapper {
    width: 100%;
    min-width: 1024px;
    margin: 0 auto;
    text-align: center;
    overflow: hidden;
  }

  #container {
    width: 100%;
    margin-bottom: 80px;
  }

  h2 {
    padding: 30px 0;
  }

  #content1 {
    width: 980px;
    margin: 0 auto;
  }

  .title {
    width: 100%;
    height: 171px;
    margin-bottom: 30px;
  }

  #content a {
    color: #00b4da;
  }

  a img:hover {
    opacity: 0.6;
  }

  .header {
    background: url(../common/images/header_bg02.gif) no-repeat -45px 30px;
    width: 1024px;
    margin: 0 auto;
  }

  .header2 {
    width: 980px;
    margin: 0 auto;
    position: relative;
  }

  .logo {
    width: 300px;
    margin: 0 auto;
    padding: 60px 0 120px;
  }

  .header_contact {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    flex-flow: column;
    align-items: center;
    gap: 1em;
  }

  /* ナビゲーション */
  .gnav {
    margin-bottom: 40px;
  }

  .gnavInner {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  /*フッター*/
  .footer_img {
    line-height: 0;
  }

  #footer {
    padding: 50px 0;
  }

  .footernavi {
    width: 980px;
    margin: 0 auto;
  }

  .footernavi ul {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 30px;
  }

  .footernavi ul::before {
    content: "/";
  }

  .footernavi li:after {
    content: "/";
    padding-left: 20px;
  }

  .footernavi h1 {
    margin-bottom: 20px;
  }

  .footer_address {
    font-size: 90%;
    padding-bottom: 15px;
  }

  .copy {
    font-size: 60%;
  }

  /*電話番号*/
  .u-link-disabled {
    color: inherit;
    text-decoration: none;
    pointer-events: none;
  }
} /* Desktop-CSS */


/* ---------------------------------------------------- */
/* Common Mobile CSS */
/* ---------------------------------------------------- */
@media only screen and (max-width: 768px) {
  h2 {
    text-align: center;
    padding: 1.5em 0;
  }

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

  .header {
    padding: 0 5vw;
  }

  .header2 {
    position: relative;
    padding-top: 20vw;
    padding-bottom: 5vw;
  }

  .logo {
    text-align: center;
  }

  .logo {
    width: 55vw;
    margin: 0 auto;
  }

  .header_contact {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    gap: 2vw;
  }

  .header_address {
    display: block;
    width: 40vw;
  }

  .header_recruit {
    display: block;
    width: 30vw;
  }

  .gnav {
    display: flex;
    z-index: 1001;
    position: fixed;
    top: 0;
    right: -100%;
    flex-flow: column;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 13vw 2em 2em;
    background-color: #EDF6ED;
    transition: right 0.6s 0s ease;
  }

  .gnav.is-enable {
    right: 0;
  }

  .gnavInner {
    overflow-y: auto;
    border-radius: 2em;
    background-color: #fff;
  }

  .gnavItem {
    display: block;
    width: 100%;
  }

  .gnavItem:not(:first-of-type) {
    border-top: solid 1px #C3E3C2;
  }

  .gnavLink {
    display: flex;
    flex-flow: column;
    align-items: center;
    padding: 1.5em 2em;
    line-height: 1;
    font-weight: bold;
  }

  .hamburger {
    display: flex;
    z-index: 1001;
    position: fixed;
    top: 1.25em;
    right: 0;
    flex-flow: column;
    justify-content: space-between;
    width: 4em;
    height: 3em;
    padding: 1em 0 1em 1.5em;
    border-radius: 1000px 0 0 1000px;
    background-color: #2B9A26;
    cursor: pointer;
  }

  .hamburger > span {
    display: block;
    width: 1.5em;
    height: 0.125em;
    border-radius: 1000px;
    background-color: #fff;
    transition: all 0.5s;
  }

  .hamburger.is-close > span:nth-of-type(1) {
    -webkit-transform: translateY(0.45em) rotate(-45deg);
    transform: translateY(0.45em) rotate(-45deg);
  }

  .hamburger.is-close > span:nth-of-type(2) {
    opacity: 0;
  }

  .hamburger.is-close > span:nth-of-type(3) {
    -webkit-transform: translateY(-0.45em) rotate(45deg);
    transform: translateY(-0.45em) rotate(45deg);
  }

  #footer {
    padding: 5vw;
    text-align: center;
  }

  .footer_navi {
    margin-bottom: 5vw;
    border-radius: .5em;
    overflow: hidden;
    background-color: #fff;
  }

  .footer_navi a {
    display: block;
    padding: 1em 0;
    text-align: center;
  }

  .footer_navi li:nth-of-type(odd) {
    background-color: #efeee3;
  }

  .footer_address {
    margin: 5vw 0;
  }

  .copy {
    margin-top: 5vw;
  }

  .title {
    margin-top: 5vw;
  }

  .title img {
    width: auto;
    height: 15vw;
  }

  #container p {
    line-height: 2;
    text-align: justify;
  }

  #content1,
  #content2 {
    padding: 0 5vw;
  }

} /* Mobile-CSS */


/* ---------------------------------------------------- */
/*基本CSS*/
/* ---------------------------------------------------- */
.clearfix:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix {
  min-height: 1px;
}

* html .clearfix {
  height: 1px;
}

.clear {
  clear: both;
}

.ue10 {
  padding-top: 10px;
}

.ue15 {
  padding-top: 15px;
}

.ue20 {
  padding-top: 20px;
}

.ue25 {
  padding-top: 25px;
}

.ue30 {
  padding-top: 30px;
}

.ue35 {
  padding-top: 35px;
}

.shita10 {
  padding-bottom: 10px;
}

.shita15 {
  padding-bottom: 15px;
}

.shita20 {
  padding-bottom: 20px;
}

.shita25 {
  padding-bottom: 25px;
}

.shita30 {
  padding-bottom: 30px;
}

.right0 {
  padding-right: 0;
}

.right10 {
  padding-right: 10px;
}

.right20 {
  padding-right: 20px;
}

.left0 {
  padding-left: 0;
}

.left10 {
  padding-left: 10px;
}

.left20 {
  padding-left: 20px;
}

.left30 {
  padding-left: 30px;
}

.float_l {
  float: left;
}

.float_r {
  float: right;
}

.bold {
  font-weight: bold;
}

.text_left {
  text-align: left;
}

.display-desktop,
.display-mobile {
  display: none;
}

/* Descktop-CSS */
@media only screen and (min-width: 769px) {
  .display-desktop {
    display: block;
  }
}

/* Mobile-CSS */
@media only screen and (max-width: 768px) {
  .display-mobile {
    display: block;
  }
}
