@charset "UTF-8";
/* ---------------------------------------------------------
config
--------------------------------------------------------- */
@import url("https://fonts.googleapis.com/css?family=Roboto:400,500,700");
@import url("https://fonts.googleapis.com/css?family=Roboto+Slab&display=swap");
@import url("https://fonts.googleapis.com/css?family=Sawarabi+Mincho&display=swap");
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700,900");
@import url("https://fonts.googleapis.com/css?family=Arvo:400,700|Roboto+Slab&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; } }

/* ---------------------------------------------------------
reset
--------------------------------------------------------- */
html {
  font-family: Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", Roboto, "Droid Sans", YuGothic, "游ゴシック", Meiryo, "メイリオ", Verdana, "ＭＳ Ｐゴシック", sans-serif;
  -ms-text-size-adjust: 100%;
  -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: #333;
  font-size: .15rem;
  letter-spacing: 0.25em;
  word-break: break-all; }
  @media screen and (max-width: 750px) {
    body {
      font-size: .12rem; } }

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: .01rem solid #ccc;
  border-radius: 0;
  box-sizing: border-box;
  width: 100% !important;
  vertical-align: bottom;
  appearance: none;
  background: none;
  outline: 0;
  font-family: Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", Roboto, "Droid Sans", YuGothic, "游ゴシック", Meiryo, "メイリオ", Verdana, "ＭＳ Ｐゴシック", 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%;
  height: 100%;
  vertical-align: bottom; }

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

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

@media screen and (max-width: 750px) {
  .l, .r {
    width: 100% !important; } }
/* ---------------------------------------------------------
header
--------------------------------------------------------- */
header nav {
  box-sizing: border-box;
  color: #fff; }
  @media screen and (max-width: 750px) {
    header nav {
      padding: 3em 20px;
      position: absolute;
      display: none;
      top: 50px;
      right: 0;
      width: 100%;
      height: 60vh;
      background: url(../../img/bg.jpg) no-repeat center/cover; } }
  @media print, screen and (min-width: 751px) {
    header nav ul {
      display: flex;
      align-items: center; } }
  header nav ul li {
    margin: 0 5.9em 0 0; }
    @media screen and (max-width: 1260px) {
      header nav ul li {
        margin: 0 1em 0 0; } }
    header nav ul li:last-child {
      margin: 0; }
    @media screen and (max-width: 750px) {
      header nav ul li {
        margin: 0 0 1em 0;
        font-weight: bold;
        font-size: 0.18rem;
        text-align: center;
        color: #8cc63f;
        border-bottom: 1px dotted #666666;
        padding-bottom: 1em; } }
    header nav ul li a {
      display: inline-block; }
header .toggle {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 50px;
  height: 50px;
  cursor: pointer;
  background: #8cc63f; }
  header .toggle span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 50%;
    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); }

/* ---------------------------------------------------------
modules
--------------------------------------------------------- */
@media print, screen and (min-width: 751px) {
  body {
    min-width: 1040px; } }

.txt_en {
  font-family: 'Arvo', serif; }

.w1000 {
  margin: auto;
  box-sizing: border-box;
  width: 100%;
  max-width: 1020px;
  padding: 0 20px; }

header {
  background: rgba(0, 0, 0, 0.8);
  padding: .9em 0;
  position: fixed;
  width: 100%;
  z-index: 1000; }
  @media print, screen and (min-width: 751px) {
    header {
      min-width: 1000px;
      padding: .9em 24px; } }
  @media screen and (max-width: 750px) {
    header {
      height: 50px; } }
  header ul li {
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    line-height: 1.4; }
    header ul li span {
      font-size: .8em;
      display: block; }
      @media screen and (max-width: 750px) {
        header ul li span {
          color: #666666; } }

footer {
  text-align: center;
  background: #333333; }
  footer .ft_nav {
    border-bottom: 5px solid #8cc63f;
    background: #000; }
    footer .ft_nav ul {
      display: flex;
      justify-content: space-between; }
      footer .ft_nav ul li {
        color: #fff;
        font-weight: bold;
        border-left: 2px solid #666666;
        width: 25%;
        margin-bottom: -5px;
        padding: 2em 0 2em 0; }
        footer .ft_nav ul li:last-child {
          border-right: 2px solid #666666; }
        footer .ft_nav ul li span {
          display: block;
          font-size: .7em;
          font-family: 'Arvo', serif;
          margin-top: 1em;
          letter-spacing: .3em;
          color: #8cc63f; }
        footer .ft_nav ul li.current {
          background: #8cc63f; }
          footer .ft_nav ul li.current span {
            color: #fff; }

.ft_logoarea {
  padding: 75px 0 70px 0;
  background: url(../../img/ft_bg.jpg) no-repeat center/contain; }
  .ft_logoarea img {
    max-width: 200px; }
  .ft_logoarea p {
    margin-top: 1em;
    color: #fff;
    font-size: 12px;
    letter-spacing: 1px; }
    .ft_logoarea p:nth-child(2) {
      margin-top: 2.5em; }

.copyarea {
  font-size: 13px;
  letter-spacing: 0.1em;
  color: #fff;
  padding: 1.5em;
  background: #000; }

h1 {
  max-width: 325px; }
  @media screen and (max-width: 750px) {
    h1 {
      max-width: 35%;
      margin: 0 auto; } }

.nav_contact {
  position: relative;
  background: #8dc53f;
  padding: 6px 37px;
  border-right: 5px solid #fff; }
  .nav_contact:before {
    position: absolute;
    content: "";
    top: calc(50% - 14px);
    right: 0;
    box-sizing: border-box;
    width: 4px;
    height: 25px;
    border: 15px solid transparent;
    border-right: 10px solid #fff; }

.nav_contact_sp {
  position: absolute;
  right: 6px;
  top: 8px;
  font-size: 10px;
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
  color: #fff;
  padding: 10px 8px; }
  .nav_contact_sp:before {
    top: calc(50% - 10px);
    width: 8px;
    height: 16px;
    border: 10px solid transparent;
    border-right: 7px solid #fff; }

.top_news {
  font-size: 44px;
  font-weight: 100;
  text-align: center;
  font-family: 'Arvo'; }
  .top_news span {
    display: block;
    font-size: .4em;
    font-weight: bold; }

.btn01 {
  position: relative;
  border: 2px solid #666666;
  font-family: 'Arvo';
  padding: 1em 0;
  width: 14.5em;
  display: block;
  text-align: center; }
  .btn01:before {
    position: absolute;
    content: "";
    top: calc(50% - 10px);
    right: 3px;
    width: 20px;
    height: 20px;
    background: url(../../img/arrow.svg) no-repeat center/contain; }

.btn02 {
  color: #fff;
  position: relative;
  border: 2px solid #fff;
  font-family: 'Arvo';
  padding: 1em 0;
  width: 14.5em;
  display: block;
  text-align: center;
  margin: 0 auto; }
  .btn02:before {
    position: absolute;
    content: "";
    top: calc(50% - 10px);
    right: 3px;
    width: 20px;
    height: 20px;
    background: url(../../img/arrow_2.svg) no-repeat center/contain; }

.h3_01 {
  color: #fff;
  position: relative;
  font-family: 'Arvo', serif;
  text-align: center;
  font-size: 35px;
  font-weight: 100;
  letter-spacing: 0.33em;
  line-height: 1.1em;
  margin-bottom: 1em; }
  .h3_01:before {
    position: absolute;
    content: "";
    top: -2em;
    right: calc(50% - 25px);
    width: 50px;
    height: 50px;
    background: url(../../img/h3_icon.png) no-repeat center/contain; }
  .h3_01 span {
    display: block;
    font-size: .5em;
    letter-spacing: 2px; }

.h3_01_b {
  color: inherit;
  margin-bottom: .4em; }
  .h3_01_b:before {
    background: url(../../img/h3_icon_2.svg) no-repeat center/contain; }
  .h3_01_b + p {
    text-align: center;
    margin-bottom: 2em; }

.h3_01_c {
  color: inherit;
  margin-bottom: .4em;
  display: block;
  width: 10em;
  margin: 0 auto;
  padding-left: 2em; }
  @media screen and (max-width: 750px) {
    .h3_01_c {
      font-size: 8vw;
      width: auto;
      padding: 0;
      margin-top: 2em; } }
  .h3_01_c:before {
    top: 0;
    left: -.3em;
    width: 65px;
    height: 65px;
    background: url(../../img/h3_icon_2.svg) no-repeat center/contain; }
    @media screen and (max-width: 750px) {
      .h3_01_c:before {
        position: absolute;
        content: "";
        top: -2em;
        right: calc(50% - 25px);
        left: auto;
        width: 50px;
        height: 50px; } }
  .h3_01_c + p {
    text-align: left;
    margin-bottom: 0;
    line-height: 1.8; }

.h3_01_d {
  text-align: center;
  font-size: 25px;
  margin-bottom: 3em; }

.pagetop_btn {
  position: fixed;
  bottom: 80px;
  right: 30px;
  width: 75px; }

.bg {
  background: url(../../img/bg.jpg) no-repeat center/cover; }

/* ---------------------------------------------------------
inner modules
--------------------------------------------------------- */
.h2_inner {
  margin-top: -1.5em;
  margin-bottom: 2em; }
  @media screen and (max-width: 750px) {
    .h2_inner {
      margin-top: -1em; } }
  .h2_inner span.en {
    font-size: 80px;
    font-family: 'Arvo';
    color: #8dc63f;
    text-stroke: 2px #FFF;
    -webkit-text-stroke: 2px #FFF;
    font-weight: 100; }
    @media screen and (max-width: 750px) {
      .h2_inner span.en {
        font-size: 14vw;
        display: block;
        margin-bottom: .2em; } }

.inner_mv {
  padding: 80px 0 51px 0;
  background: url(../../img/inner_mv.jpg) no-repeat center/cover; }
  @media screen and (max-width: 750px) {
    .inner_mv {
      padding: 80px 0 25px 0; } }
  .inner_mv img {
    max-width: 200px;
    margin: 0 auto;
    display: block; }
    @media screen and (max-width: 750px) {
      .inner_mv img {
        max-width: 40vw; } }

.company_table dl {
  display: flex;
  align-items: center;
  border-bottom: 2px dotted #666666;
  padding: 2.08em 1.5em; }
  @media screen and (max-width: 750px) {
    .company_table dl {
      display: block; } }
  .company_table dl:nth-child(1) {
    border-top: 2px dotted #666666; }
  .company_table dl dt {
    width: 10em; }
    @media screen and (max-width: 750px) {
      .company_table dl dt {
        font-weight: bold;
        margin-bottom: 0.5em; } }
  .company_table dl dd {
    flex: 1;
    line-height: 1.8; }
    .company_table dl dd span {
      display: block;
      text-indent: -2em;
      padding-left: 2em; }

.company_table {
  font-size: .9em; }

dt.ls-3 {
  letter-spacing: 2.15em; }

dt.ls-4 {
  letter-spacing: 1.1em; }

dt.ls-5 {
  letter-spacing: .32em; }

dt.ls-7 {
  letter-spacing: .2em; }

/* ---------------------------------------------------------
greetingArea
--------------------------------------------------------- */
.sec01 {
  margin-bottom: 80px; }
  .sec01 .h3_01_c {
    width: 8em;
    margin-bottom: .5em; }
  .sec01 .row {
    border-top: 1px solid #c7b299;
    border-bottom: 1px solid #c7b299;
    padding: 20px 0; }
    .sec01 .row .l, .sec01 .row .r {
      width: 50%;
      padding: 0 20px; }
      @media screen and (max-width: 750px) {
        .sec01 .row .l, .sec01 .row .r {
          margin: 2em 0; } }

.sec02 {
  padding: 64px 0 80px 0; }
  .sec02 .h3_01_c {
    margin-bottom: 1.5em; }

.sec03 {
  padding: 65px 0 75px 0; }
  .sec03 .h3_01_c {
    margin-bottom: 1.5em; }
  .sec03 iframe {
    height: 320px;
    width: 100%; }

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