@charset "UTF-8";
/* CSS Document */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  font-weight: normal; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

img {
  vertical-align: bottom;
  border: none; }

ul, ol {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

a {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  background: transparent; }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

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

caption, th, td {
  text-align: left; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle;
  border: 1px solid #ddd; }

address {
  font-style: normal; }

/* form */
button, fieldset, form, input, label, legend, select, textarea {
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  padding: 0;
  vertical-align: baseline; }

/* ------------------------------------------------------------
フレーム
------------------------------------------------------------ */
.hover:hover {
  opacity: 0.8;
  text-decoration: none; }

.view_block_pc {
  display: block; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .view_block_pc {
      display: none; } }

.view_block_sp {
  display: none; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .view_block_sp {
      display: block; } }

.view_inline_pc {
  display: inline-block; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .view_inline_pc {
      display: none; } }

.view_inline_sp {
  display: none; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .view_inline_sp {
      display: inline-block; } }

.opa img,
.opa_group img {
  background-color: #fff; }
.opa a:hover, .opa:hover,
.opa_group a:hover,
.opa_group:hover {
  text-decoration: none; }

.hover,
.hover_group a {
  text-decoration: none; }
  .hover:hover,
  .hover_group a:hover {
    text-decoration: none; }

/* ------------------------------
タイトル
------------------------------ */
.ttl_1 {
  background-color: #1BAD55;
  color: #fff;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: 500;
  height: 58px;
  width: 100%;
  display: flex;
  padding: 0 15px;
  align-items: center;
  letter-spacing: 0.05em; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .ttl_1 {
      font-size: 22px;
      font-size: 2.2rem;
      height: 48px;
      padding: 0 12px; } }
  .ttl_1::before {
    content: "";
    width: 20px;
    height: 20px;
    background-color: rgba(0, 119, 65, 0.6);
    margin-right: 15px; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .ttl_1::before {
        width: 18px;
        height: 18px;
        margin-right: 12px; } }
  .ttl_1.ttl_1__gray {
    background-color: #f6f6f6;
    color: #000; }
    .ttl_1.ttl_1__gray::before {
      background-color: rgba(204, 204, 204, 0.6); }

.ttl_2 {
  font-size: 30px;
  font-size: 3rem;
  font-weight: 500;
  width: 600px;
  text-align: center;
  padding-bottom: 0.4em;
  position: relative;
  margin: 0 auto;
  letter-spacing: 0.06em; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .ttl_2 {
      font-size: 24px;
      font-size: 2.4rem;
      width: 100%; } }
  .ttl_2::before {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #1bad55;
    margin-right: 15px;
    position: absolute;
    left: 0;
    bottom: 0; }
  .ttl_2::after {
    content: "";
    width: 4.2em;
    height: 4px;
    background-color: #1bad55;
    margin-right: 15px;
    position: absolute;
    left: calc(50% - 2.1em);
    bottom: 0; }

/* ------------------------------
テーブル
------------------------------ */
.table_1 {
  width: calc(100% - 20px);
  margin: 2.5em auto;
  border-top: solid 1px #eee; }
  .table_1 tr {
    border-bottom: solid 1px #eee; }
    .table_1 tr th {
      color: #007741;
      font-weight: 600;
      padding: 15px 1em;
      position: relative;
      width: 170px; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .table_1 tr th {
          width: 100px; } }
      .table_1 tr th::before {
        content: "";
        width: 3px;
        height: calc(100% - 30px);
        background-color: #007741;
        position: absolute;
        left: 0;
        top: 15px; }
    .table_1 tr td {
      padding: 15px 0; }

.table_2 {
  width: 100%;
  border-collapse: collapse; }
  .table_2 tr th {
    color: #007741;
    font-weight: 600;
    padding: 18px 1.2em;
    border: solid 1px #ccc;
    width: 170px;
    vertical-align: middle; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .table_2 tr th {
        width: 120px;
        padding: 12px 1em; } }
  .table_2 tr td {
    padding: 18px 1.2em;
    border: solid 1px #ccc; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .table_2 tr td {
        padding: 12px 1em; } }

/* ------------------------------
ボタン
------------------------------ */
.btn_center {
  display: flex;
  justify-content: center; }

.btn {
  background-color: #fff;
  width: 360px;
  height: 80px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 1.6em;
  border-radius: 8px;
  border: solid 1px #1BAD55;
  font-weight: 500;
  font-size: 20px;
  font-size: 2rem;
  transition: .3s; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .btn {
      font-size: 16px;
      font-size: 1.6rem;
      width: 320px;
      height: 64px;
      padding: 0 1.4em; } }
  .btn::after {
    content: "";
    width: 21px;
    height: 16px;
    background: url(../img/arrow_r.svg) no-repeat center/contain; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .btn::after {
        width: 17px;
        height: 13px; } }
  .btn:hover {
    padding: 0 2.2em;
    color: #1BAD55; }

body .mrg__btm0 {
  margin-bottom: 0 !important; }
body .mrg__btm05 {
  margin-bottom: .5em !important; }
body .mrg__btm1 {
  margin-bottom: 1em !important; }
body .mrg__btm15 {
  margin-bottom: 1.5em !important; }
body .mrg__btm2 {
  margin-bottom: 2em !important; }
body .mrg__btm3 {
  margin-bottom: 3em !important; }
body .mrg__btm4 {
  margin-bottom: 4em !important; }
body .mrg__btm5 {
  margin-bottom: 5em !important; }
body .mrg__btm6 {
  margin-bottom: 6em !important; }
body .mrg__btm7 {
  margin-bottom: 7em !important; }
body .mrg__btm8 {
  margin-bottom: 8em !important; }
body .mrg__top0 {
  margin-top: 0 !important; }
body .mrg__top05 {
  margin-top: .5em !important; }
body .mrg__top1 {
  margin-top: 1em !important; }
body .mrg__top2 {
  margin-top: 2em !important; }
body .mrg__top3 {
  margin-top: 3em !important; }
body .mrg__top4 {
  margin-top: 4em !important; }
body .mrg__top5 {
  margin-top: 5em !important; }
body .mrg__top6 {
  margin-top: 6em !important; }
body .mrg__top7 {
  margin-top: 7em !important; }
body .mrg__top8 {
  margin-top: 8em !important; }
body .mrg__left0 {
  margin-left: 0 !important; }
body .mrg__left1 {
  margin-left: 1em !important; }
body .mrg__left2 {
  margin-left: 2em !important; }
body .mrg__left3 {
  margin-left: 3em !important; }
body .mrg__right0 {
  margin-right: 0 !important; }
body .mrg__right1 {
  margin-right: 1em !important; }
body .mrg__right2 {
  margin-right: 2em !important; }
body .mrg__right3 {
  margin-right: 3em !important; }
body .pad__top0 {
  padding-top: 0 !important; }
body .pad__top1 {
  padding-top: 1em !important; }
body .pad__top2 {
  padding-top: 2em !important; }
body .pad__top3 {
  padding-top: 3em !important; }
body .pad__top4 {
  padding-top: 4em !important; }
body .pad__top5 {
  padding-top: 5em !important; }
body .pad__top6 {
  padding-top: 6em !important; }
body .pad__top7 {
  padding-top: 7em !important; }
body .pad__top8 {
  padding-top: 8em !important; }
body .pad__btm0 {
  padding-bottom: 0 !important; }
body .pad__btm1 {
  padding-bottom: 1em !important; }
body .pad__btm2 {
  padding-bottom: 2em !important; }
body .pad__btm3 {
  padding-bottom: 3em !important; }
body .pad__btm4 {
  padding-bottom: 4em !important; }
body .pad__btm5 {
  padding-bottom: 5em !important; }
body .pad__btm6 {
  padding-bottom: 6em !important; }
body .pad__btm7 {
  padding-bottom: 7em !important; }
body .pad__btm8 {
  padding-bottom: 8em !important; }
body .pad__top_anc {
  padding-top: 84px !important; }
@media only screen and (max-width: 768px), print and (min-width: 2cm) {
  body .mrg__sp_btm1 {
    margin-bottom: 1em; }
  body .mrg__sp_btm2 {
    margin-bottom: 2em !important; }
  body .mrg__sp_btm3 {
    margin-bottom: 3em; }
  body .mrg__sp_left1 {
    margin-left: 1em !important; } }

.waypoint {
  transition-duration: 1s; }
  .waypoint__fadeIn {
    opacity: 0; }
    .waypoint__fadeIn.active {
      opacity: 1; }
  .waypoint__fadeUp {
    opacity: 0;
    transform: translateY(60px); }
    .waypoint__fadeUp.active {
      opacity: 1;
      transform: translateY(0px); }
  .waypoint__slideLeft {
    opacity: 0;
    transform: translateX(-100px); }
    .waypoint__slideLeft.active {
      opacity: 1;
      transform: translateX(0px); }
  .waypoint__slideLeftbig {
    opacity: 0;
    transform: translateX(-400px); }
    .waypoint__slideLeftbig.active {
      opacity: 1;
      transform: translateX(0px); }
  .waypoint__slideLeftsmall {
    opacity: 0;
    transform: translateX(-30px); }
    .waypoint__slideLeftsmall.active {
      opacity: 1;
      transform: translateX(0px); }
  .waypoint__slideRight {
    opacity: 0;
    transform: translateX(100px); }
    .waypoint__slideRight.active {
      opacity: 1;
      transform: translateX(0px); }
  .waypoint__slideRightup {
    opacity: 0;
    transform: translate(100px, -100px); }
    .waypoint__slideRightup.active {
      opacity: 1;
      transform: translateX(0px); }
  .waypoint__slideRightupsmall {
    opacity: 0;
    transform: translate(30px, -30px); }
    .waypoint__slideRightupsmall.active {
      opacity: 1;
      transform: translateX(0px); }
  .waypoint__zoomOutin {
    opacity: 0;
    transform: scale(1.4); }
    .waypoint__zoomOutin.active {
      opacity: 1;
      transform: scale(1); }
  .waypoint__zoomIn {
    opacity: 0;
    transform: scale(0.1); }
    .waypoint__zoomIn.active {
      opacity: 1;
      transform: scale(1); }
  .waypoint__zoomOut {
    opacity: 1;
    transform: scale(1); }
    .waypoint__zoomOut.active {
      opacity: 0;
      transform: scale(3); }
  .waypoint__junpUp {
    opacity: 0;
    transform: scale(0.1) translate(0, 100%); }
    .waypoint__junpUp.active {
      opacity: 1;
      transform: scale(1) translate(0, 0); }
  .waypoint__imgSlidein {
    clip-path: inset(0 100% 0 0); }
    .waypoint__imgSlidein.active {
      clip-path: inset(0 0 0 0); }
  .waypoint.delay_02 {
    transition-delay: .2s; }
  .waypoint.delay_03 {
    transition-delay: .3s; }
  .waypoint.delay_04 {
    transition-delay: .4s; }
  .waypoint.delay_06 {
    transition-delay: .6s; }
  .waypoint.delay_1 {
    transition-delay: 1s; }
  .waypoint.delay_16 {
    transition-delay: 1.6s; }
  .waypoint.delay_1 {
    transition-delay: 2s; }
  .waypoint.delay_02_pc {
    transition-delay: .2s; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .waypoint.delay_02_pc {
        transition-delay: 0s; } }
  .waypoint.delay_04_pc {
    transition-delay: .4s; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .waypoint.delay_04_pc {
        transition-delay: 0s; } }
  .waypoint.duration_06 {
    transition-duration: 0.6s; }
  .waypoint.duration_1 {
    transition-duration: 1s; }
  .waypoint.duration_2 {
    transition-duration: 2s; }
  .waypoint.ease_black {
    transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); }
  .waypoint.ease_Out_Quint {
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1); }

/* ベース
---------------------------------- */
*, :after, :before {
  box-sizing: border-box; }

html {
  font-size: 62.5%;
  min-height: 100%;
  height: 100%; }

body {
  color: #000;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, verdana, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.6;
  font-feature-settings: "palt";
  min-height: 100%;
  letter-spacing: 0.05em;
  height: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    body {
      font-size: 14px;
      font-size: 1.4rem; } }

a {
  color: #000;
  text-decoration: none; }
  a:hover, a:active, a:focus {
    color: #333333; }

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

p {
  text-align: justify;
  text-justify: inter-ideograph;
  -ms-text-justify: inter-ideograph; }

.view_pc {
  display: inline-block; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .view_pc {
      display: none; } }

.view_block_pc {
  display: block; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .view_block_pc {
      display: none; } }

.view_sp {
  display: none; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .view_sp {
      display: block; } }

#loading {
  width: 100%;
  height: 100%;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 900;
  overflow: hidden; }
  #loading:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: #FFF;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 902; }
  #loading:after {
    content: "";
    display: block;
    width: 135px;
    height: 165px;
    background-image: url(../img/logo_mark.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 903;
    animation: loadtxt 2s linear infinite; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      #loading:after {
        width: 108px;
        height: 132px; } }
  #loading.comp:after {
    animation: loadtxt_out 0.3s linear forwards; }

@keyframes loadtxt {
  0% {
    opacity: 1; }
  100% {
    opacity: 1; } }
@keyframes loadtxt_out {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }
#container {
  width: 100%;
  overflow: hidden;
  position: relative; }

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

.g_header .site_id {
  width: 180px;
  height: 180px;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 600; }
  .g_header .site_id img {
    width: 140px; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .g_header .site_id {
      width: 100px;
      height: 100px; }
      .g_header .site_id img {
        width: 80px; } }
.g_header nav .site_id {
  position: fixed;
  display: none; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .g_header nav .site_id {
      display: flex; } }
.g_header nav .btn_menu {
  position: fixed;
  top: 0;
  right: 0;
  width: 60px;
  height: 60px;
  background-color: #1bad55;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 6px;
  cursor: pointer;
  z-index: 200;
  display: none; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .g_header nav .btn_menu {
      display: flex; } }
  .g_header nav .btn_menu span {
    width: 42%;
    height: 2px;
    background-color: #fff;
    transition: .3s; }
  .g_header nav .btn_menu.close span:nth-child(1) {
    transform: translateY(4px) rotate(45deg); }
  .g_header nav .btn_menu.close span:nth-child(2) {
    display: none; }
  .g_header nav .btn_menu.close span:nth-child(3) {
    transform: translateY(-4px) rotate(-45deg); }
.g_header nav .nav_set {
  position: fixed;
  right: 0;
  top: 0;
  display: flex;
  background-color: #fff;
  height: 60px;
  align-items: center;
  gap: 2em;
  padding: 0 1.2em 0 2em;
  z-index: 100; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .g_header nav .nav_set {
      flex-direction: column;
      height: 100%;
      padding: 1.2em 1em;
      width: 100%;
      justify-content: center;
      opacity: 0;
      pointer-events: none;
      transition: 1s;
      transform: scale(1.2); }
      .g_header nav .nav_set.open {
        animation: menuOpen .5s ease-in-out forwards; } }
  .g_header nav .nav_set a {
    font-size: 16px;
    font-size: 1.6rem; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .g_header nav .nav_set a {
        font-size: 18px;
        font-size: 1.8rem; } }
    .g_header nav .nav_set a.btn_recruit {
      color: #007741;
      background-color: rgba(143, 195, 31, 0.2);
      height: 34px;
      border-radius: 17px;
      display: flex;
      justify-content: center;
      align-items: center;
      padding: 0 2em; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .g_header nav .nav_set a.btn_recruit {
          height: 38px;
          border-radius: 19px; } }

.g_footer {
  margin-top: 7em; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .g_footer {
      margin-top: 4em; } }
  .g_footer .f_logo {
    display: flex;
    justify-content: center;
    align-items: center; }
    .g_footer .f_logo figure {
      width: 90px;
      margin-right: 40px; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .g_footer .f_logo figure {
          width: 60px;
          margin-right: 20px; } }
    .g_footer .f_logo__txt h2 {
      width: 200px;
      margin-bottom: 0.8em; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .g_footer .f_logo__txt h2 {
          width: 140px;
          margin-bottom: 0.5em; } }
  .g_footer .copyright {
    background-color: #1BAD55;
    color: #fff;
    text-align: center;
    padding: 1.2em 1em; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .g_footer .copyright {
        font-size: 13px;
        font-size: 1.3rem; } }

.cont_header {
  width: 100%;
  height: 500px;
  position: relative;
  margin-bottom: 6em;
  padding-top: 2em;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  overflow: hidden; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .cont_header {
      height: 260px;
      padding-top: 90px;
      margin-bottom: 4em; } }
  .cont_header::before {
    content: "";
    width: 100%;
    height: 100%;
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    transition: 3s;
    transform: scale(1.2);
    opacity: 0; }
  .cont_header::after {
    content: "";
    width: 100%;
    height: 100%;
    background-color: rgba(0, 119, 65, 0.7);
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2; }
  .cont_header .en {
    font-family: "Albert Sans", "Noto Sans JP", sans-serif;
    font-size: 120px;
    font-size: 12rem;
    font-weight: 300;
    line-height: 0.95;
    color: rgba(143, 195, 31, 0.9);
    position: relative;
    z-index: 10; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .cont_header .en {
        font-size: 60px;
        font-size: 6rem;
        text-align: center; } }
    .cont_header .en b {
      font-weight: 500; }
  .cont_header .jp {
    color: #1BAD55;
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: 500;
    background-color: #fff;
    line-height: 1;
    padding: 0.1em 1em 0.3em;
    letter-spacing: 0.1em;
    position: relative;
    z-index: 10;
    margin-top: 0.4em;
    clip-path: inset(0 100% 0 0);
    transition: 1s .6s; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .cont_header .jp {
        font-size: 16px;
        font-size: 1.6rem; } }

.comp .cont_header::before {
  transform: scale(1);
  opacity: 1; }
.comp .cont_header .jp {
  clip-path: inset(0 0 0 0); }

@keyframes menuOpen {
  0% {
    opacity: 0;
    pointer-events: none;
    transform: scale(1.2); }
  100% {
    opacity: 1;
    pointer-events: visible;
    transform: scale(1); } }
#test .contents {
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column; }
  #test .contents p {
    margin-top: 30px; }

/* トップページ
---------------------------------- */
#home #container.comp .sec_fv {
  overflow: hidden; }
  #home #container.comp .sec_fv::before {
    transform: scale(1);
    opacity: 1; }
  #home #container.comp .sec_fv .main_txt h2 {
    opacity: 1; }
    #home #container.comp .sec_fv .main_txt h2 span {
      transform: translateX(0);
      opacity: 1; }
  #home #container.comp .sec_fv .main_txt h3 {
    opacity: 1; }
  #home #container.comp .sec_fv .main_txt p {
    opacity: 1; }
#home .sec {
  padding: 5em 0 6em; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    #home .sec {
      padding: 4em 0; } }
  #home .sec .sec_ttl {
    text-align: center; }
    #home .sec .sec_ttl h2 {
      position: relative;
      display: inline-block;
      padding: 0 0.6em 1.1em 0; }
      #home .sec .sec_ttl h2 .en {
        font-family: "Albert Sans", "Noto Sans JP", sans-serif;
        font-size: 120px;
        font-size: 12rem;
        font-weight: 300;
        line-height: 0.95;
        color: #eee; }
        @media only screen and (max-width: 768px), print and (min-width: 2cm) {
          #home .sec .sec_ttl h2 .en {
            font-size: 64px;
            font-size: 6.4rem; } }
        #home .sec .sec_ttl h2 .en b {
          font-weight: 500; }
      #home .sec .sec_ttl h2 .jp {
        color: #fff;
        font-size: 22px;
        font-size: 2.2rem;
        font-weight: 500;
        background-color: rgba(6, 62, 35, 0.8);
        line-height: 1;
        padding: 0.2em 0.7em 0.3em;
        position: absolute;
        right: 0;
        bottom: 0;
        letter-spacing: 0.1em; }
        @media only screen and (max-width: 768px), print and (min-width: 2cm) {
          #home .sec .sec_ttl h2 .jp {
            font-size: 16px;
            font-size: 1.6rem; } }
#home .sec_fv {
  width: 100%;
  height: 100vh;
  position: relative; }
  #home .sec_fv::before, #home .sec_fv::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0; }
  #home .sec_fv::before {
    background: url(../img/home/main_img1.jpg) no-repeat center top/cover;
    transition: 6s;
    transform: scale(1.2);
    opacity: 0; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      #home .sec_fv::before {
        background: url(../img/home/main_img1_sp.jpg) no-repeat center top/cover; } }
  #home .sec_fv::after {
    background: url(../img/home/main_img2.png) no-repeat center top/cover; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      #home .sec_fv::after {
        background: url(../img/home/main_img2_sp.png) no-repeat center top/cover; } }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    #home .sec_fv {
      background-position: 80% top; } }
  #home .sec_fv .main_txt {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-500px, -35%);
    z-index: 10; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      #home .sec_fv .main_txt {
        transform: translate(-50%, -50%); } }
    #home .sec_fv .main_txt h2 {
      width: 620px;
      position: relative;
      opacity: 0;
      transition: 2s; }
      #home .sec_fv .main_txt h2 > img {
        opacity: 0.9; }
      #home .sec_fv .main_txt h2 span {
        content: "";
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        top: 0;
        transform: translateX(-100px);
        opacity: 0;
        transition: 1s 1s; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        #home .sec_fv .main_txt h2 {
          width: 300px; } }
    #home .sec_fv .main_txt h3 {
      font-family: "Noto Serif JP", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
      font-weight: 500;
      font-size: 30px;
      font-size: 3rem;
      margin: 1.2em 0;
      line-height: 1;
      letter-spacing: 0.1em;
      opacity: 0;
      transition: 1.3s 2s; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        #home .sec_fv .main_txt h3 {
          font-size: 20px;
          font-size: 2rem;
          line-height: 1.5;
          letter-spacing: 0.15em;
          margin: 1.6em 0 1.2em; } }
    #home .sec_fv .main_txt p {
      opacity: 0;
      transition: 1.6s 2s;
      letter-spacing: 0.1em;
      line-height: 1.8; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        #home .sec_fv .main_txt p {
          line-height: 1.7; } }
#home .sec_about {
  background: url(../img/home/bg_about.png) no-repeat left bottom/100% auto; }
  #home .sec_about p {
    font-size: 20px;
    font-size: 2rem;
    font-weight: 500;
    text-align: center;
    line-height: 2.2;
    letter-spacing: 0.15;
    padding: 2.5em 0; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      #home .sec_about p {
        font-size: 16px;
        font-size: 1.6rem; } }
#home .sec_business {
  position: relative;
  background: url(../img/home/bg_business.jpg) no-repeat center top/cover; }
  #home .sec_business .sec_ttl h2 .en {
    color: rgba(6, 62, 35, 0.4);
    font-weight: 400; }
  #home .sec_business ul {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 50px;
    margin-top: 50px; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      #home .sec_business ul {
        gap: 20px;
        align-items: center;
        justify-content: center; } }
    #home .sec_business ul li {
      background-color: #fff;
      width: 300px;
      display: flex;
      flex-direction: column;
      padding: 20px 20px 30px;
      border-radius: 8px; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        #home .sec_business ul li {
          width: 320px;
          padding: 20px; } }
      #home .sec_business ul li i {
        width: 100px;
        margin: 0 auto; }
      #home .sec_business ul li h3 {
        color: #1BAD55;
        text-align: center;
        font-weight: 600;
        font-size: 18px;
        font-size: 1.8rem;
        margin: 0.8em 0; }
        @media only screen and (max-width: 768px), print and (min-width: 2cm) {
          #home .sec_business ul li h3 {
            margin: 0.5em 0 0.4em; } }
#home .sec_plan {
  padding-bottom: 0; }
  #home .sec_plan .sec_ttl {
    text-align: left;
    display: flex;
    gap: 100px; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      #home .sec_plan .sec_ttl {
        flex-direction: column;
        gap: 0px; } }
    #home .sec_plan .sec_ttl h2 {
      padding: 0; }
      #home .sec_plan .sec_ttl h2 .en b {
        font-size: 130px;
        font-size: 13rem; }
        @media only screen and (max-width: 768px), print and (min-width: 2cm) {
          #home .sec_plan .sec_ttl h2 .en b {
            font-size: 80px;
            font-size: 8rem; } }
      #home .sec_plan .sec_ttl h2 .jp {
        bottom: 94px;
        right: 6px; }
        @media only screen and (max-width: 768px), print and (min-width: 2cm) {
          #home .sec_plan .sec_ttl h2 .jp {
            bottom: 54px;
            right: auto;
            left: 100px; } }
    #home .sec_plan .sec_ttl p {
      width: 450px;
      line-height: 2;
      margin-top: 1.5em; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        #home .sec_plan .sec_ttl p {
          width: 100%;
          line-height: 1.8; } }
  #home .sec_plan .img_plan {
    width: 100%; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      #home .sec_plan .img_plan {
        margin-top: 80px; } }
    #home .sec_plan .img_plan figure {
      width: 1540px;
      position: relative;
      transform: translateX(-50%);
      left: 50%; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        #home .sec_plan .img_plan figure {
          width: 540px; } }
      #home .sec_plan .img_plan figure img {
        max-width: none;
        width: 100%; }
    #home .sec_plan .img_plan .plan_set {
      display: flex;
      justify-content: space-between;
      position: absolute;
      width: 1000px;
      left: calc(50% - 500px);
      top: -40px; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        #home .sec_plan .img_plan .plan_set {
          width: 100%;
          left: 0;
          top: -50px; } }
      #home .sec_plan .img_plan .plan_set .plan_item {
        width: 386px;
        height: 270px;
        background: url(../img/home/circle_plan.png) no-repeat center/contain;
        color: #1BAD55;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 25px;
        font-size: 2.5rem;
        font-weight: 600;
        text-align: center;
        line-height: 1.4;
        letter-spacing: 0.05em; }
        @media only screen and (max-width: 768px), print and (min-width: 2cm) {
          #home .sec_plan .img_plan .plan_set .plan_item {
            width: 180px;
            height: 126px;
            font-size: 15px;
            font-size: 1.5rem; } }
        #home .sec_plan .img_plan .plan_set .plan_item__1 {
          margin-top: 100px; }
          @media only screen and (max-width: 768px), print and (min-width: 2cm) {
            #home .sec_plan .img_plan .plan_set .plan_item__1 {
              margin-top: 50px;
              position: relative;
              left: 50px; } }
        #home .sec_plan .img_plan .plan_set .plan_item__3 {
          margin-top: -100px; }
          @media only screen and (max-width: 768px), print and (min-width: 2cm) {
            #home .sec_plan .img_plan .plan_set .plan_item__3 {
              margin-top: -50px;
              position: relative;
              left: -50px; } }
  #home .sec_plan .btn_center {
    background-color: #322A32;
    padding: 60px 0 80px; }
#home .sec_access {
  padding: 5em 0 0; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    #home .sec_access {
      padding: 3em 0 0; } }
  #home .sec_access p {
    margin: 2em 0;
    text-align: center; }
  #home .sec_access iframe {
    width: 100%;
    height: 540px;
    filter: hue-rotate(330deg) grayscale(0.1);
    -webkit-filter: hue-rotate(330deg) grayscale(0.1); }

/* IGMについて
---------------------------------- */
#about .cont_header::before {
  background-image: url(../img/about/img_header.jpg); }
#about .sec_rinen {
  background-color: rgba(0, 119, 65, 0.04);
  padding: 5em 0 7em;
  margin-top: 7em;
  position: relative;
  z-index: 1; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    #about .sec_rinen {
      padding: 6em 0 4em; } }
  #about .sec_rinen::before {
    content: "";
    background: url(../img/about/bg_mark.svg) no-repeat center/contain;
    width: 360px;
    height: 444px;
    position: absolute;
    left: calc(50% - 650px);
    bottom: 0;
    z-index: -1; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      #about .sec_rinen::before {
        left: auto;
        width: 210px;
        height: 250px;
        bottom: auto;
        top: 10px;
        right: 0px; } }
  #about .sec_rinen p {
    text-align: center;
    font-size: 22px;
    font-size: 2.2rem;
    font-weight: 600;
    font-family: "Noto Serif JP", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    margin-top: 1.6em;
    line-height: 2;
    letter-spacing: 0.05em;
    position: relative; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      #about .sec_rinen p {
        font-size: 16px;
        font-size: 1.6rem;
        text-align: left; } }
#about .sec_feature {
  padding: 6em 0 0; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    #about .sec_feature {
      padding: 5em 0 0; } }
  #about .sec_feature .box_feature {
    padding: 30px 30px 30px 130px;
    background-color: #f6f6f6;
    border-radius: 8px;
    margin-top: 2.6em;
    position: relative;
    z-index: 1; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      #about .sec_feature .box_feature {
        padding: 20px 20px 20px 20px; } }
    #about .sec_feature .box_feature::before {
      content: "";
      position: absolute;
      top: 20px;
      right: 20px;
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
      z-index: -1; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        #about .sec_feature .box_feature::before {
          top: 10px;
          right: auto;
          left: 5px; } }
    #about .sec_feature .box_feature__zeihou::before {
      background-image: url(../img/about/bg_icon1.svg);
      width: 190px;
      height: 195px; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        #about .sec_feature .box_feature__zeihou::before {
          width: 95px;
          height: 97px; } }
    #about .sec_feature .box_feature__keiei::before {
      background-image: url(../img/about/bg_icon2.svg);
      width: 195px;
      height: 190px; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        #about .sec_feature .box_feature__keiei::before {
          width: 97px;
          height: 95px; } }
    #about .sec_feature .box_feature h2 {
      position: absolute;
      left: 5px;
      top: 25px;
      font-size: 38px;
      font-size: 3.8rem;
      font-weight: 600;
      font-family: "Noto Serif JP", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
      writing-mode: vertical-rl;
      color: #007741; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        #about .sec_feature .box_feature h2 {
          font-size: 24px;
          font-size: 2.4rem;
          left: 0px;
          top: 90px; } }
      #about .sec_feature .box_feature h2 b {
        font-size: 68px;
        font-size: 6.8rem; }
        @media only screen and (max-width: 768px), print and (min-width: 2cm) {
          #about .sec_feature .box_feature h2 b {
            font-size: 48px;
            font-size: 4.8rem; } }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      #about .sec_feature .box_feature ul {
        margin-left: 65px; } }
    #about .sec_feature .box_feature ul li {
      display: flex;
      align-items: center;
      margin-bottom: 20px; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        #about .sec_feature .box_feature ul li {
          align-items: flex-start; } }
      #about .sec_feature .box_feature ul li i {
        background-color: #1BAD55;
        color: #fff;
        width: 60px;
        height: 60px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 28px;
        font-size: 2.8rem;
        font-weight: 500;
        font-family: "Albert Sans", "Noto Sans JP", sans-serif;
        font-style: normal; }
        @media only screen and (max-width: 768px), print and (min-width: 2cm) {
          #about .sec_feature .box_feature ul li i {
            font-size: 20px;
            font-size: 2rem;
            width: 36px;
            height: 36px;
            margin-top: 0.2em; } }
      #about .sec_feature .box_feature ul li p {
        flex: 1;
        margin-left: 20px; }
        @media only screen and (max-width: 768px), print and (min-width: 2cm) {
          #about .sec_feature .box_feature ul li p {
            margin-left: 12px; }
            #about .sec_feature .box_feature ul li p br {
              display: none; } }
    #about .sec_feature .box_feature__point {
      background-color: #fff;
      border-radius: 8px;
      padding: 25px 25px 25px 80px;
      border: solid 1px #1BAD55;
      margin-top: 2.4em; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        #about .sec_feature .box_feature__point {
          padding: 20px 15px 20px 50px; } }
      #about .sec_feature .box_feature__point h3 {
        color: #1BAD55;
        font-size: 24px;
        font-size: 2.4rem;
        font-weight: 600;
        line-height: 1;
        margin-bottom: 0.6em;
        position: relative; }
        @media only screen and (max-width: 768px), print and (min-width: 2cm) {
          #about .sec_feature .box_feature__point h3 {
            font-size: 20px;
            font-size: 2rem; } }
        #about .sec_feature .box_feature__point h3::before {
          content: "";
          background: url(../img/about/icon_point.svg) no-repeat center/contain;
          width: 54px;
          height: 57px;
          position: absolute;
          left: -64px;
          top: -10px; }
          @media only screen and (max-width: 768px), print and (min-width: 2cm) {
            #about .sec_feature .box_feature__point h3::before {
              width: 36px;
              height: 38px;
              left: -41px; } }

/* 弊社の顧問プラン
---------------------------------- */
#plan .cont_header::before {
  background-image: url(../img/plan/img_header.jpg); }
#plan .box_plan {
  padding: 1.2em 200px 0 1em;
  margin-bottom: 4em;
  position: relative; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    #plan .box_plan {
      padding: 1.2em 0.5em; } }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    #plan .box_plan__inner {
      display: flex;
      align-items: flex-end; } }
  #plan .box_plan p {
    margin-bottom: 1.4em; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      #plan .box_plan p {
        flex: 1; } }
  #plan .box_plan figure {
    width: 190px;
    position: absolute;
    right: 0;
    bottom: 0; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      #plan .box_plan figure {
        position: static;
        width: 120px;
        margin-left: 1em;
        margin-bottom: 1.4em; } }
  #plan .box_plan__option {
    padding: 1.2em 1em 0; }
  #plan .box_plan ul {
    border: solid 1px #1BAD55;
    border-radius: 8px;
    padding: 1.2em 1.5em; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      #plan .box_plan ul {
        padding: 1em 1.2em; } }
    #plan .box_plan ul li::before {
      content: "・";
      display: inline-block;
      margin-right: 0.2em; }

/* 税理士紹介
---------------------------------- */
#staff .cont_header::before {
  background-image: url(../img/staff/img_header.jpg); }
#staff .box_sataff {
  background-color: rgba(0, 119, 65, 0.04);
  padding: 30px;
  border-radius: 8px; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    #staff .box_sataff {
      padding: 15px; } }
  #staff .box_sataff__profile {
    display: flex;
    justify-content: space-between; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      #staff .box_sataff__profile {
        flex-direction: column; } }
    #staff .box_sataff__profile figure {
      width: 420px; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        #staff .box_sataff__profile figure {
          width: 100%; } }
    #staff .box_sataff__profile dl {
      width: 470px; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        #staff .box_sataff__profile dl {
          width: 100%;
          margin-top: 0.8em; } }
      #staff .box_sataff__profile dl dt {
        padding-bottom: 1em;
        border-bottom: solid 1px #ddd; }
        #staff .box_sataff__profile dl dt h2 {
          font-size: 36px;
          font-size: 3.6rem;
          font-family: "Noto Serif JP", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
          font-weight: 500;
          letter-spacing: 0.1; }
          @media only screen and (max-width: 768px), print and (min-width: 2cm) {
            #staff .box_sataff__profile dl dt h2 {
              font-size: 32px;
              font-size: 3.2rem; } }
        #staff .box_sataff__profile dl dt .furigana {
          font-family: "Albert Sans", "Noto Sans JP", sans-serif;
          font-size: 15px;
          font-size: 1.5rem;
          font-weight: 300;
          letter-spacing: 0.1em; }
          @media only screen and (max-width: 768px), print and (min-width: 2cm) {
            #staff .box_sataff__profile dl dt .furigana {
              font-size: 13px;
              font-size: 1.3rem; } }
      #staff .box_sataff__profile dl dd h3 {
        font-weight: 600;
        margin-top: 1em;
        color: #007741; }
  #staff .box_sataff__message {
    background-color: #fff;
    padding: 25px 25px 30px;
    margin-top: 2em;
    border-radius: 8px;
    border: solid 1px #1BAD55; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      #staff .box_sataff__message {
        padding: 15px 15px 20px; } }
    #staff .box_sataff__message h3 {
      font-family: "Albert Sans", "Noto Sans JP", sans-serif;
      font-size: 62px;
      font-size: 6.2rem;
      font-weight: 300;
      line-height: 0.9;
      color: rgba(27, 173, 85, 0.3);
      margin-bottom: 0.32em; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        #staff .box_sataff__message h3 {
          font-size: 48px;
          font-size: 4.8rem; } }

/* 採用情報
---------------------------------- */
#recruit .cont_header::before {
  background-image: url(../img/recruit/img_header.jpg); }
#recruit .box_contact {
  background-color: rgba(0, 119, 65, 0.04);
  padding: 30px 40px;
  border-radius: 8px;
  margin-top: 5em; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    #recruit .box_contact {
      padding: 16px 22px 8px;
      margin-top: 4em; } }
  #recruit .box_contact dl {
    width: 100%;
    display: flex;
    align-items: center; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      #recruit .box_contact dl {
        flex-direction: column; } }
    #recruit .box_contact dl dt {
      width: 45%; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        #recruit .box_contact dl dt {
          width: 100%; } }
      #recruit .box_contact dl dt h3 {
        font-size: 24px;
        font-size: 2.4rem;
        font-weight: 600;
        color: #1BAD55; }
        @media only screen and (max-width: 768px), print and (min-width: 2cm) {
          #recruit .box_contact dl dt h3 {
            font-size: 20px;
            font-size: 2rem; } }
      #recruit .box_contact dl dt p {
        margin-top: 0.4em; }
    #recruit .box_contact dl dd {
      width: 55%;
      padding-left: 60px;
      border-left: solid 1px rgba(0, 119, 65, 0.6); }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        #recruit .box_contact dl dd {
          width: 100%;
          border-left: none;
          border-top: solid 1px rgba(0, 119, 65, 0.6);
          padding-left: 0px;
          margin-top: 10px;
          padding-top: 10px; } }
      #recruit .box_contact dl dd a {
        font-size: 24px;
        font-size: 2.4rem;
        font-family: "Albert Sans", "Noto Sans JP", sans-serif;
        display: flex;
        align-items: center;
        margin: 0.5em 0;
        transition: .3s; }
        @media only screen and (max-width: 768px), print and (min-width: 2cm) {
          #recruit .box_contact dl dd a {
            font-size: 20px;
            font-size: 2rem; } }
        #recruit .box_contact dl dd a::before {
          content: "";
          width: 30px;
          height: 30px;
          background-repeat: no-repeat;
          background-position: center;
          background-size: contain;
          margin-right: 10px; }
          @media only screen and (max-width: 768px), print and (min-width: 2cm) {
            #recruit .box_contact dl dd a::before {
              width: 22px;
              height: 22px; } }
        #recruit .box_contact dl dd a.tel::before {
          background-image: url(../img/recruit/icon_tel.svg); }
        #recruit .box_contact dl dd a.mail::before {
          background-image: url(../img/recruit/icon_mail.svg); }
        #recruit .box_contact dl dd a:hover {
          color: #1BAD55; }

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