#wpadminbar {
  display: none !important;
}

body {
  font-family: 'Noto Sans JP', sans-serif;
  color: #1D1D1D;
  background-image: url(img/common/bg-base.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center top;
  background-attachment: fixed;
}

::-webkit-full-page-media,
:future,
:root body {
  background-size: 100% auto;
  background-attachment: scroll;
  background-repeat: repeat-y;
}

main {
  opacity: 0;
  transition: 0.2s ease all;
}

main.active {
  opacity: 1;
  transition: 0.2s ease all;
}

.ttl-eng {
  font-family: 'Oswald', sans-serif;
}

.ttl-eng.uppercase {
  text-transform: uppercase;
}

.ttl-eng.capitalize {
  text-transform: capitalize;
}

::selection {
  color: #fff;
  background-color: #2F9B49;
}

::-moz-selection {
  color: #fff;
  background: #2F9B49;
}

/* common */
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .sp {
    display: none;
  }
}

.txt-ci-color {
  color: #2F9B49;
}

.underline {
  text-decoration: underline;
}

.img-fluid.full {
  width: 100%;
  max-width: inherit;
}

a {
  color: #1D1D1D;
  transition: 0.2s ease all;
}

a:hover {
  color: #2F9B49;
  text-decoration: underline;
}

a svg {
  transition: 0.2s ease all;
}

.invert a {
  color: #fff;
}

.invert a:hover {
  color: #fff;
}

svg {
  display: block;
}

.table {
  background-color: #fff;
}

.table thead th {
  background: #dfd9cc;
  border-bottom: 1px solid #fff;
}

.table tbody th {
  background: #efece6;
}

.table th {
  color: #2F9B49;
  font-weight: 700;
  border-color: #fff;
}

.table tbody tr:last-child th {
  border-bottom: 1px solid #fff;
}

.table tbody tr:last-child td {
  border-bottom: 1px solid #e6e6e6;
}

.table th {
  border: 1px solid #fff;
}

.table td {
  border: 1px solid #e6e6e6;
}

.table td,
.table th {
  line-height: 2;
  vertical-align: middle;
}

@media screen and (max-width: 767px) {

  .table td,
  .table th {
    font-size: 14px;
    display: table-cell;
    padding: 8px;
  }

  .table-block thead,
  .table-block tbody {
    display: table;
    width: 100%;
  }

  .table-block thead th,
  .table-block thead td,
  .table-block tbody th,
  .table-block tbody td {
    display: block;
  }
}

@media screen and (min-width: 768px) {

  .table td,
  .table th {
    padding: 16px;
  }
}

.table td a:last-child {
  margin-bottom: 0;
}

.table.table-center td,
.table.table-center th {
  text-align: center;
}

.table-base dl dt,
.table-base dl dd {
  font-size: 14px;
  line-height: 1.5;
  background-color: #fff;
  border-bottom: 1px solid #e6e6e6;
}

.table-base dl dt {
  color: #1D1D1D;
  background-color: #f6f6f6;
  width: 100%;
}

.table-base dl dd {
  color: #565656;
  border-left: 1px solid #e6e6e6;
}

.table-mini dl dt,
.table-mini dl dd {
  padding: 10px;
}

@media screen and (max-width: 575px) {
  .table-base dl:first-child dt {
    border-top: 1px solid #e6e6e6;
  }

  .table-base dl dd {
    border-left: none;
  }
}

@media screen and (min-width: 576px) {

  .table-base dl:first-child dt,
  .table-base dl:first-child dd {
    border-top: 1px solid #e6e6e6;
  }

  .table-base dl dt {
    width: 210px;
    border-right: none;
  }

  .table-base dl dd {}
}

@media screen and (min-width: 768px) {

  .table-base dl dt,
  .table-base dl dd {
    font-size: 1rem;
  }
}

.table-block dl dt,
.table-block dl dd {
  display: block;
  width: 100%;
  padding: 1rem;
  border: none;
}

.table-block dl dt {
  border: 1px solid #b8d2e3;
  border-bottom: none;
}

.table-block dl dd {
  border: 1px solid #b8d2e3;
}

.table-block dl dd:before {
  display: none;
}

@media screen and (min-width: 576px) {
  .table-block dl:last-child dt {
    border-bottom: none;
  }
}

.table-news dl {
  display: block;
  border-top: 1px solid #d6d6d6;
}

.table-news dl:first-child {
  border-top: none;
}

.table-news dl dt,
.table-news dl dd {
  line-height: 1;
  display: block;
  border: none;
}

.table-news dl dt {
  color: #1D1D1D;
  background: #fff;
  width: inherit;
  padding: 0;
  padding-top: .5em;
}

.table-news dl dd {
  padding: .5em 0;
}

.table-news dl:first-child dt,
.table-news dl:first-child dd {
  border-top: none;
}

.table-news dl:last-child dt,
.table-news dl:last-child dd {
  border-bottom: none;
}

.table-news dl dt .date {
  font-size: .8em;
  line-height: 1;
  display: inline-block;
  background: #2F9B49;
  padding: 5px;
}

.table-news dl dd {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.table-news dl dd a {
  width: 100%;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: inline-block;
  position: relative;
  padding: 0;
}

@media screen and (min-width: 768px) {
  .table-news dl dt {
    width: 120px;
    min-width: inherit;
    padding: 1rem;
  }

  .table-news dl dt,
  .table-news dl dd {
    display: table-cell;
    vertical-align: middle;
  }
}

.table-news .category-name {
  font-size: 12px;
  color: #fff;
  background: #787878;
  padding: 5px 15px;
  display: inline-block;
  border-radius: 3px;
  margin-right: 15px;
  min-width: 90px;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .table-news .category-name {
    font-size: 1rem;
    min-width: 120px;
  }
}

.list-area {}

.list-area ul {
  padding-left: 0;
  margin-bottom: 0;
}

.list-area.big li {
  font-size: 1.25em;
  line-height: 1.25em;
  padding: 10px;
  padding-left: 1.25em;
}

.list-area li {
  font-size: 16px;
  line-height: 24px;
  padding-left: 16px;
  display: block;
  position: relative;
}

.list-area.main li {
  font-size: 1.1em;
  line-height: 2;
}

.list-area ul li::before {
  content: '';
  background-image: url(img/common/breadcrumbs.svg);
  background-repeat: no-repeat;
  background-position: center 6px;
  background-size: 8px;
  padding: 0 6px;
  width: 16px;
  height: 16px;
  display: inline-block;
  position: absolute;
  top: 4px;
  left: 0;
}

.list-area ol {
  counter-reset: number;
  list-style: none;
  margin: 0;
  padding: 0;
}

.list-area ol li {
  text-indent: 0;
  padding-left: inherit;
}

.list-area ol li:before {
  counter-increment: number;
  content: counter(number);
  font-size: 2em;
  color: #fff;
  font-weight: bold;
  text-align: center;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #2F9B49;
  width: 60px;
  height: 60px;
  padding: 5px;
  position: absolute;
  top: 5px;
  left: 0;
}

button:focus {
  outline: none;
}

.btn {
  min-width: 210px;
  padding: 16px;
  line-height: 1;
  text-align: center;
  transition: 0.2s ease all;
  border-radius: 2px;
  position: relative;
}

@media screen and (min-width: 768px) {
  .btn {
    padding: 24px 32px;
  }
}

.btn svg {
  width: 18px;
  height: 18px;
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
  fill: #fff;
}

.btn.mini {
  text-align: left;
  min-width: inherit;
  padding: .5rem 2rem .5rem 1rem;
  border-radius: 30px;
}

.btn.mini .hydrated {
  right: .5rem;
}

.btn.focus,
.btn:focus {
  box-shadow: none;
}

.btn:hover,
.btn:active,
.btn:focus {}

.btn::before,
.btn::after {
  content: '';
  transition: 0.2s ease all;
}

.btn::before {}

.btn::after {}

.invert .btn::after {}

.btn:hover::before,
.btn:hover::after,
.btn:active::before,
.btn:hover::after,
.btn:focus::before,
.btn:active::after {
  transition: 0.2s ease all;
}

.btn:hover::after,
.btn:focus::before,
.btn:active::after {}

.btn-success {
  color: #fff;
  background-color: #2F9B49;
  border-color: #2F9B49;
}

.btn-success:hover,
.btn-success:active,
.btn-success:focus {
  color: #fff;
  background-color: #55BA6D;
  border-color: #55BA6D;
  outline: none;
}

.btn-success:not(:disabled):not(.disabled).active,
.btn-success:not(:disabled):not(.disabled):active,
.show>.btn-success.dropdown-toggle {
  color: #fff;
  background-color: #55BA6D;
  border-color: #55BA6D;
}

.btn-dark {
  color: #fff;
  background-color: #1D1D1D;
  border-color: #1D1D1D;
}

.btn-dark:hover,
.btn-dark:active,
.btn-dark:focus {
  color: #fff;
  background-color: #4D4D4D;
  border-color: #4D4D4D;
}

.btn-dark:not(:disabled):not(.disabled).active,
.btn-dark:not(:disabled):not(.disabled):active,
.show>.btn-dark.dropdown-toggle {
  color: #fff;
  background-color: #4D4D4D;
  border-color: #4D4D4D;
}

.btn-light {
  color: #2F9B49;
  background-color: #f6f6f6;
  border-color: #f6f6f6;
}

.btn-light:hover,
.btn-light:active,
.btn-light:focus {
  color: #F6F6F6;
  background-color: #2F9B49;
  border-color: #2F9B49;
}

.btn-light:not(:disabled):not(.disabled).active,
.btn-light:not(:disabled):not(.disabled):active,
.show>.btn-light.dropdown-toggle {
  color: #F6F6F6;
  background-color: #2F9B49;
  border-color: #2F9B49;
}

.btn-warning {
  color: #1D1D1D;
  background-color: #fbde22;
  border-color: #fbde22;
}

.btn-warning:hover,
.btn-warning:active,
.btn-warning:focus {
  color: #1D1D1D;
  background-color: #fbde22;
  border-color: #fbde22;
}

.btn-warning:not(:disabled):not(.disabled).active,
.btn-warning:not(:disabled):not(.disabled):active,
.show>.btn-warning.dropdown-toggle {
  color: #1D1D1D;
  background-color: #fbde22;
  border-color: #fbde22;
}

.btn-lg {}

.btn-sm {}

.btn-link {
  color: #2F9B49;
  text-decoration: underline;
  min-width: inherit;
  padding: 0;
  position: relative;
}

.btn-link.nu {
  text-decoration: none;
}

.btn-link:hover,
.btn-link:active,
.btn-link:focus {
  color: #2F9B49;
}

.btn-link:not(:disabled):not(.disabled).active,
.btn-link:not(:disabled):not(.disabled):active,
.show>.btn-link.dropdown-toggle {
  color: #2F9B49;
}

.btn-more {
  color: #2F9B49;
  text-decoration: none;
  min-width: inherit;
  padding: 0;
  position: relative;
}

.btn-more::after {
  content: '';
  background-color: #2F9B49;
  width: 30px;
  height: 1px;
  position: absolute;
  top: 50%;
  margin-left: 10px;
}

.btn-more .ttl-eng {
  text-transform: uppercase;
}

.blank::after {
  font-family: ionicons;
  content: '\f3ef';
  margin-left: 5px;
}

.btn-base {
  padding: 0;
  display: inline-flex;
  align-items: center;
}

.button-left .btn-base {
  justify-content: flex-start;
}

.button-right .btn-base {
  justify-content: flex-end;
}

.button-center .btn-base {
  justify-content: center;
}

.btn-base span,
.btn-base:hover span {
  transition: 0.2s ease all;
}

.btn-base .text {
  font-size: 24px;
  line-height: 40px;
  font-weight: 500;
  padding-right: 24px;
}

.btn-base .icon {
  width: 64px;
  height: 64px;
  flex: 0 0 64px;
  max-width: 64px;
  border-radius: 64px;
  background: #E2E1E1;
  position: relative;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  justify-content: center;
  transform: scale(0.8);
}

.btn-base:hover .icon {
  transform: scale(1);
}

.btn-base .icon svg {
  fill: #1D1D1D;
  position: relative;
  top: 0;
  right: 0;
  transform: none;
}

.btn-base:hover .text {
  color: #2F9B49;
}

.btn-base:hover .icon {
  background: #2F9B49;
}

.btn-base:hover .icon svg {
  fill: #fff;
}

@media screen and (min-width: 992px) {
  .btn-base .text {
    font-size: 32px;
    line-height: 48px;
    padding-right: 32px;
  }

  .btn-base .icon {
    width: 80px;
    height: 80px;
    flex: 0 0 80px;
    max-width: 80px;
    border-radius: 80px;
  }
}

.ttl {
  line-height: 1.25;
  display: block;
  margin-bottom: 1rem;
  position: relative;
}

@media screen and (max-width: 767px) {
  .ttl.ttl-xs-mini {
    font-size: 1.1rem;
  }
}

.ttl a {
  color: #2F9B49;
}

.invert .ttl,
.invert .ttl a {
  color: #fff;
}

.ttl.center {
  text-align: center;
}

.ttl.b0 {
  padding-bottom: 0;
  margin-bottom: 0;
}

.ttl.bold {
  font-weight: 700;
}

.ttl.normal {
  font-weight: 400;
}

.ttl.dark {
  color: #343434;
}

.invert .ttl.dark {
  color: #fff;
}

.ttl .ttl-eng {
  font-size: 1em;
  color: inherit;
  margin: 0;
}

.ttl::before,
.ttl::after {
  content: '';
  position: absolute;
}

.ttl-01 {
  margin-bottom: 24px;
}

.ttl-01 [class^="ttl-"] {
  display: block;
}

.ttl-01 .ttl-jpn {
  font-size: 32px;
  line-height: 40px;
  font-weight: 900;
  margin-bottom: 8px;
  display: flex;
}

.ttl-01 .ttl-jpn.wrap {
  flex-wrap: wrap;
}

.ttl-01 .ttl-jpn .out,
.ttl-01 .ttl-jpn .out .in {
  display: block;
}

.ttl-01 .ttl-jpn .out .in {
  visibility: hidden;
}

.ttl-01 .ttl-eng {
  font-size: 20px;
  line-height: 28px;
  font-weight: 500;
  color: #2F9B49;
  text-transform: uppercase;
  visibility: hidden;
}

.invert .ttl-01 [class^="ttl-"] {
  color: #fff;
}

.ttl-02 {
  margin-bottom: 24px;
}

.ttl-02 [class^="ttl-"] {
  display: block;
}

.ttl-02 .ttl-jpn {
  font-size: 28px;
  line-height: 36px;
  font-weight: 900;
  margin-bottom: 8px;
}

.ttl-02 .ttl-eng {
  font-size: 16px;
  line-height: 24px;
  font-weight: 500;
  color: #2F9B49;
  text-transform: uppercase;
}

.ttl-03 {
  text-align: center;
  margin-bottom: 32px;
}

.ttl-03 [class^="ttl-"] {
  display: block;
}

.ttl-03 .ttl-jpn {
  font-size: 28px;
  line-height: 36px;
  font-weight: 900;
}

.ttl-03 .ttl-eng {
  font-size: 48px;
  line-height: 72px;
  font-weight: 500;
  color: #2F9B49;
  text-transform: uppercase;
}

.ttl-04 {
  font-size: 24px;
  line-height: 40px;
  color: #1D1D1D;
  font-weight: 900;
  margin-bottom: 32px;
}

.ttl-05 {
  margin-bottom: 16px;
}

.ttl-05 [class^="ttl-"] {
  display: block;
}

.ttl-05 .ttl-jpn {
  font-size: 20px;
  line-height: 28px;
  font-weight: 900;
}

.ttl-05 .ttl-eng {
  font-size: 18px;
  line-height: 32px;
  font-weight: 500;
  color: #2F9B49;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.ttl-06 {
  font-size: 24px;
  line-height: 40px;
  color: #2F9B49;
  font-weight: 900;
  margin-bottom: 32px;
}

.ttl-07 {
  font-size: 20px;
  line-height: 28px;
  font-weight: 900;
  color: #2F9B49;
  background: #F6F6F6;
  text-align: center;
  display: block;
  padding: 8px 16px;
  margin-bottom: 28px;
}

.invert .ttl-07 {
  color: #F6F6F6;
  background: #2F9B49;
}

.ttl-08 {
  font-size: 20px;
  line-height: 32px;
  color: #2F9B49;
  font-weight: 900;
  display: block;
  text-align: center;
  padding-bottom: 16px;
  margin-bottom: 32px;
  border-bottom: 2px solid #F6F6F6;
}

.ttl-09 {
  font-size: 20px;
  line-height: 32px;
  font-weight: 900;
}

@media screen and (min-width: 992px) {
  .ttl-01 {
    margin-bottom: 32px;
  }

  .ttl-01 .ttl-jpn {
    font-size: 64px;
    line-height: 80px;
  }

  .ttl-01 .ttl-eng {
    font-size: 32px;
    line-height: 48px;
  }

  .ttl-02 {
    margin-bottom: 32px;
  }

  .ttl-02 .ttl-jpn {
    font-size: 48px;
    line-height: 64px;
  }

  .ttl-02 .ttl-eng {
    font-size: 24px;
    line-height: 40px;
  }

  .ttl-03 {
    margin-bottom: 48px;
  }

  .ttl-03 .ttl-jpn {
    font-size: 48px;
    line-height: 64px;
  }

  .ttl-03 .ttl-eng {
    font-size: 72px;
    line-height: 96px;
    font-weight: 500;
  }

  .ttl-04 {
    font-size: 40px;
    line-height: 56px;
    margin-bottom: 48px;
  }

  .ttl-05 {
    margin-bottom: 24px;
  }

  .ttl-05 .ttl-jpn {
    font-size: 32px;
    line-height: 48px;
  }

  .ttl-05 .ttl-eng {
    font-size: 24px;
    line-height: 40px;
  }

  .ttl-06 {
    font-size: 40px;
    line-height: 64px;
    margin-bottom: 48px;
  }

  .ttl-07 {
    font-size: 32px;
    line-height: 48px;
    padding: 16px 24px;
    margin-bottom: 48px;
  }

  .ttl-08 {
    font-size: 24px;
    line-height: 40px;
  }

  .ttl-09 {
    font-size: 24px;
    line-height: 40px;
    font-weight: 900;
  }
}

@media screen and (max-width: 991px) {
  .in-page-link {
    padding-top: 80px;
    margin-top: -84px;
    pointer-events: none;
  }
}

.bg-common {
  background-repeat: no-repeat;
  background-position: center;
  background-size: auto;
  position: relative;
  z-index: 0;
}

.bg-common.cover {
  background-size: cover;
}

.box-shadow {
  box-shadow: 0 0 15px rgba(0, 0, 0, .2);
}

.text-shadow {
  text-shadow: 0 0 5px rgba(0, 0, 0, .5);
}

.cont .metabox {
  margin-bottom: 1rem;
}

.cont .metabox p {
  font-size: 16px;
  line-height: 32px;
}

.cont .metabox.invert p {
  color: #fff;
}

.cont .metabox.main {
  margin-bottom: 2rem;
}

.cont .metabox:last-child,
.cont .metabox p:last-child {
  margin-bottom: 0;
}

.cont .round {
  border-radius: 15px;
}

@media screen and (min-width: 992px) {
  .cont .round {
    border-radius: 30px;
  }
}

@media screen and (min-width: 768px) {
  .cont-box-layar {
    margin-top: 180px;
  }

  section.bg-common:nth-of-type(odd) .cont-box-layar {
    margin-right: -280px;
  }

  section.bg-common:nth-of-type(even) .cont-box-layar {
    margin-left: -280px;
  }
}

@media screen and (min-width: 992px) {
  .cont-box-layar {
    margin-top: 180px;
  }

  section.bg-common:nth-of-type(odd) .cont-box-layar {
    margin-right: -240px;
  }

  section.bg-common:nth-of-type(even) .cont-box-layar {
    margin-left: -240px;
  }
}

a.block-area,
a.block-area:hover {
  text-decoration: none;
}

a.block-area.scale .image-area {
  overflow: hidden;
}

a.block-area.scale .image {
  transform: scale(1);
  transition: 0.2s ease all;
}

a.block-area.scale:hover .image {
  transform: scale(1.05);
}

a.block-area.translate:hover,
a.block-area.translate:focus,
a.block-area.translate:active {
  opacity: 1;
}

a.block-area.translate div {
  overflow: hidden;
}

a.block-area.translate div img {
  transform: scale(1.1) translateX(-10px);
  transition: 0.2s ease all;
}

a.block-area.translate:hover div img {
  transform: scale(1.1) translateX(10px);
  transition: 0.2s ease all;
}

.cont-main .cont-item:nth-of-type(odd) a.block-area.translate div img {
  transform: scale(1.1) translateX(-15px);
}

.cont-main .cont-item:nth-of-type(odd) a.block-area.translate:hover div img {
  transform: scale(1.1) translateX(15px);
}

.cont-main .cont-item:nth-of-type(even) a.block-area.translate div img {
  transform: scale(1.1) translateX(15px);
}

.cont-main .cont-item:nth-of-type(even) a.block-area.translate:hover div img {
  transform: scale(1.1) translateX(-15px);
}

.step-area {
  padding: 0;
  margin: 0;
  list-style: none;
  counter-reset: section;
}

.step-area .cont-num::before {
  counter-increment: section;
  content: counter(section, decimal-leading-zero);
}

figure.border {
  border: 5px solid #d6d6d6 !important;
}

.slick-prev,
.slick-next {
  background-color: #1a51a3;
}

/* header */
header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 10;
}

header .container-fluid.inner {
  position: relative;
}

header .navbar-header {
  width: 100%;
}

@media screen and (min-width: 992px) {
  header .container-fluid.parents {
    padding-right: 0;
    padding-left: 16px;
  }

  header .navbar-header {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: flex-start;
    -ms-align-items: center;
    align-items: center;
    min-height: 100px;
  }
}

@media screen and (min-width: 1201px) {
  header .container-fluid.parents {
    padding-left: 32px;
  }
}

.navbar {
  padding: 0;
  position: relative;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1000;
}

@media screen and (max-width: 767px) {
  header .navbar-collapse .header-menu {
    position: relative;
  }
}

@media screen and (max-width: 767px) {
  header .contact-block ul {
    padding: 0;
    margin: 0;
  }

  header .contact-block ul li {
    text-align: center;
    display: block;
  }

  header .contact-block ul .tel {
    margin-bottom: 10px;
  }

  header .contact-block ul .tel-box .title,
  .contact-block ul .tel-box .business-hours {
    display: block;
  }

  header .contact-block ul .tel-box .title {
    padding-bottom: 5px;
  }

  header .contact-block ul .tel-box .business-hours {
    padding-top: 5px;
  }

  header .contact-block ul .tel-box a {
    font-size: 28px;
    display: block;
    position: relative;
    background: none;
  }

  header .contact-block ul .tel-box a:hover {
    text-decoration: none;
  }
}

@media screen and (max-width: 991px) {
  .navbar.base {
    background-color: #fff;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 10;
  }

  .navbar.scroll {
    display: none;
  }
}

@media screen and (min-width: 992px) {
  .navbar {
    display: block;
  }

  .navbar {
    background: #fff;
    transition: 0.2s ease all;
  }

  .navbar.active {
    background: transparent;
  }
}

.navbar.bg-dark {}

.navbar-brand {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  padding: 15px 10px;
  margin-right: 0;
  position: relative;
}

.navbar-brand .title {
  margin-bottom: 0;
}

.navbar-brand .logo-image,
.navbar-brand .logo-image img {
  display: block;
}

@media screen and (max-width: 991px) {
  .navbar-brand {
    display: inline-block;
    z-index: 1;
    padding: 0;
  }

  header .navbar-brand {
    padding: 15px 12px;
  }

  .navbar-brand .logo-image {
    font-size: 1px;
  }

  .navbar-brand .logo-image img {
    width: auto;
    height: 32px;
  }
}

@media screen and (min-width: 992px) {
  .navbar-brand {
    padding: 0;
    z-index: 15;
  }

  header .navbar-brand {
    flex: 0 0 160px;
    max-width: 160px;
  }
}

@media screen and (min-width: 1201px) {
  header .navbar-brand {
    flex: 0 0 288px;
    max-width: 288px;
  }
}

.navbar-brand .logo-image {
  display: inline-block;
  position: relative;
}

.navbar-brand .logo-image span {
  display: block;
  position: relative;
  top: 0;
  left: 0;
  transition: 0.2s ease all;
}

.fixed-top .navbar-brand .logo-image span {
  display: inline-block;
  transition: 0.2s ease all;
}

.navbar h1 {
  font-size: 1px;
  margin-bottom: 0;
}

@media screen and (min-width: 768px) {
  .navbar h1 {
    font-size: 1.2rem;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -ms-align-items: center;
    align-items: center;
  }

  .navbar h1 .cn {
    margin-left: 10px;
  }
}

.navbar-nav .nav-link {
  text-align: left;
  padding: 0;
}

.navbar-light .navbar-nav .active>.nav-link,
.navbar-light .navbar-nav .nav-link.active,
.navbar-light .navbar-nav .nav-link.show,
.navbar-light .navbar-nav .show>.nav-link {
  color: #11273E;
}

.navbar-light .navbar-nav .nav-link:focus,
.navbar-light .navbar-nav .nav-link:hover {
  color: #11273E;
}

@media screen and (min-width: 992px) {
  header .navbar-nav {}

  header .navbar-nav .nav-link {
    text-align: center;
    position: relative;
    z-index: 1;
  }

  header .navbar-nav .nav-link::after {
    bottom: .75rem;
    left: 0;
  }
}

.navbar-nav .nav-link .link-menu {
  display: block;
  padding: 20px;
}

.navbar-toggler {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 11;
  padding: 17px 16px;
  background: #2F9B49;
  border-radius: 0;
}

.navbar-toggler .icon-bar {
  background-color: #fff;
}

.navbar-toggler .text {
  font-size: 10px;
  color: #fff;
  position: absolute;
  right: 0;
  left: 0;
  bottom: 12px;
  transition: 0.2s ease all;
}

.navbar-toggler.collapsed .text {
  transition: 0.2s ease all;
}

.navbar-toggler .text .in-text:nth-of-type(1) {
  opacity: 0;
  position: absolute;
}

.navbar-toggler.collapsed .text .in-text:nth-of-type(1) {
  opacity: 1;
  position: relative;
}

.navbar-toggler .text .in-text:nth-of-type(2) {
  opacity: 1;
  position: relative;
}

.navbar-toggler.collapsed .text .in-text:nth-of-type(2) {
  opacity: 0;
  position: absolute;
}

.dropdown-toggle::after {
  font-family: ionicons;
  content: '\f3d0';
  color: #fff;
}

@media screen and (min-width: 768px) {
  .dropdown-toggle::after {
    color: #fff;
  }
}

.dropdown,
.dropleft,
.dropright,
.dropup {
  position: static;
}

.dropdown.show>.dropdown-menu {
  background: none;
}

.dropdown.show>.dropdown-menu li .nav-link,
.dropdown:hover>.dropdown-menu li .nav-link {
  color: #11273E;
  font-weight: 700;
  line-height: 1.5;
}

.dropdown>.dropdown-menu li .nav-link .link-menu,
.dropdown.show>.dropdown-menu li .nav-link .link-menu,
.dropdown:hover>.dropdown-menu li .nav-link .link-menu {
  display: block;
  padding: .5rem;
}

.navbar-nav>li>.dropdown-menu>li>.dropdown-menu {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  background: #223377;
}

.dropdown>.dropdown-menu .container-fluid.inner .menu-row {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.dropdown>.dropdown-menu .container-fluid.inner li.item {
  width: 50%;
  padding-right: 7px;
  padding-left: 7px;
}

.dropdown>.dropdown-menu li .nav-link .cont,
.dropdown.show>.dropdown-menu li .nav-link .cont,
.dropdown:hover>.dropdown-menu li .nav-link .cont {
  background-color: #fff;
  width: 100%;
}

.dropdown>.dropdown-menu li .nav-link .cont .link-menu .title {
  color: #11273E;
}

.dropdown>.dropdown-menu li .nav-link .cont .link-menu p {
  font-size: 14px;
  color: #565656;
  line-height: 1.2;
  font-weight: 400;
  margin-top: 5px;
  margin-bottom: 0;
}

.dropdown>.dropdown-menu .container-fluid.inner li.item,
.dropdown>.dropdown-menu .container-fluid.inner li.item a {
  display: block;
}

@media screen and (max-width: 767px) {
  .dropdown>.dropdown-menu li .nav-link .cont .link-menu p {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .dropdown>.dropdown-menu .container-fluid.inner li.item {
    width: 50%;
  }
}

@media screen and (max-width: 767px) {
  .dropdown-toggle::before {
    background: #11273E;
  }

  .dropdown-toggle:before,
  .dropdown-toggle:after {
    width: 56px;
  }
}

@media screen and (min-width: 768px) {

  .dropdown-toggle:before,
  .dropdown-toggle:after {
    width: auto;
    top: inherit;
  }

  .dropdown>.dropdown-menu li .nav-link .cont,
  .dropdown.show>.dropdown-menu li .nav-link .cont,
  .dropdown:hover>.dropdown-menu li .nav-link .cont {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
  }

  .dropdown>.dropdown-menu li .nav-link .cont .link-menu {
    text-align: left;
  }

  .dropdown>.dropdown-menu li .nav-link .cont figure {
    -ms-flex: 0 0 40%;
    flex: 0 0 40%;
    max-width: 40%;
  }

  .dropdown>.dropdown-menu li .nav-link .cont .link-menu {
    -ms-flex: 0 0 60%;
    flex: 0 0 60%;
    max-width: 60%;
    padding: 15px;
  }
}

@media screen and (min-width: 1201px) {
  .dropdown>.dropdown-menu li .nav-link .cont figure {
    -ms-flex: 0 0 30%;
    flex: 0 0 30%;
    max-width: 30%;
  }

  .dropdown>.dropdown-menu li .nav-link .cont .link-menu {
    -ms-flex: 0 0 70%;
    flex: 0 0 70%;
    max-width: 70%;
    padding: 15px;
  }
}

header .navbar-nav .dropdown-menu .nav-link {
  color: #fff;
  text-align: left;
  padding-right: 0;
  padding-left: 0;
  position: relative;
  transition: 0.2s ease all;
}

header .navbar-nav .dropdown-menu .nav-link img {
  max-width: 100%;
  height: auto;
}

.contact-block.base .icon-box {
  margin-right: 10px;
}

.contact-block.base .icon-box svg {
  width: 48px;
  height: 48px;
  fill: #11273E;
}

header .contact-block.base ul,
header .contact-block.base ul li,
header .contact-block.base ul li .block-area {
  display: block;
}

header .contact-block.base ul li .block-area svg {
  display: block;
  width: 32px;
  height: 32px;
  margin-right: auto;
  margin-left: auto;
  fill: #fff;
}

header .contact-block.base ul li .block-area:hover svg {
  fill: #2F9B49;
}

.block-area svg {
  transition: 0.2s ease all;
}

.block-area:hover svg {
  transition: 0.2s ease all;
}

header .contact-block.base ul li.honda .block-area svg {
  width: 72px;
  height: 16px;
}

header .contact-block.base ul li .block-area .text {
  padding-top: 10px;
}

header .contact-block.base ul li.mail .block-area {
  background-color: #2F9B49;
}

header .contact-block.base ul li.mail .block-area:hover {
  color: #2F9B49;
  background-color: #F4F8FA;
}

header .contact-block.base ul li.reservation .block-area {
  background-color: #11273E;
}

header .contact-block.base ul li.reservation .block-area:hover {
  color: #2F9B49;
  background-color: #F4F8FA;
}

.contact-block ul {
  padding: 0;
  margin: 0;
}

.contact-block ul li {
  font-size: 14px;
  text-align: center;
  display: block;
}

.contact-block ul .tel {
  margin-bottom: 10px;
}

.contact-block.base ul .tel {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  text-align: left;
  margin-bottom: 0;
}

header .contact-block.base ul .tel {}

.contact-block ul .tel-box .title,
.contact-block ul .tel-box .business-hours {
  display: block;
}

.contact-block ul .tel-box .title {
  padding-bottom: 5px;
}

.contact-block ul .tel-box .business-hours {
  padding-top: 5px;
  line-height: 1;
}

.contact-block ul .tel-box a {
  font-size: 28px;
  font-weight: 400;
  line-height: 1;
  display: block;
}

.contact-block ul .tel-box a:hover {
  text-decoration: none;
}

header .contact-block.tel {
  display: none;
  position: absolute;
  top: 8px;
  right: 64px;
  z-index: 11;
}

header .contact-block.tel .num {
  display: none;
}

header .contact-block.base .tel {
  display: none;
}

header .contact-block.tel ul .tel {
  margin: 0;
}

header .contact-block.tel ul .tel a {
  background-color: #1D1D1D;
  display: block;
  padding: 12px;
}

header .contact-block.base .mail .btn svg {
  display: none;
}

.contact-block.tel li {
  margin: 0;
}

.contact-block.tel svg {
  width: 24px;
  height: 24px;
  fill: #fff;
}

header .navbar .header-menu .navbar-nav .nav-item .nav-link {
  font-weight: 700;
}

header .navbar .header-menu .navbar-nav .nav-item.current>.nav-link,
header .navbar .header-menu .navbar-nav .nav-item .nav-link:hover {
  color: #2F9B49;
}

header .navbar .header-menu .navbar-nav .nav-link+.multi-collapse .nav-item {
  display: block;
}

header .navbar .header-menu .navbar-nav .nav-link+.multi-collapse .nav-item .nav-link {
  border-bottom: 1px solid #E2E1E1;
  text-align: left;
}

header .navbar .header-menu .navbar-nav .nav-item .multi-collapse .multi-collapse-in {
  padding: 0;
  margin: 0;
}

header .navbar .header-menu .navbar-nav .nav-item.parent .nav-link+.multi-collapse .multi-collapse-in .nav-item .nav-link {
  display: flex;
  align-items: center;
}

header .navbar .header-menu .navbar-nav .nav-item.parent .nav-link+.multi-collapse .multi-collapse-in .nav-item .nav-link .image-area {
  flex: 0 0 80px;
  max-width: 80px;
}

header .navbar .header-menu .navbar-nav .nav-item.parent .nav-link+.multi-collapse .multi-collapse-in .nav-item .nav-link .image-area .image {
  width: 100%;
  height: 60px;
}

header .navbar .header-menu .navbar-nav .nav-item.parent .nav-link+.multi-collapse .multi-collapse-in .nav-item .nav-link .image-area .image img {
  width: 100%;
  height: 60px;
  object-fit: cover;
}

header .navbar .header-menu .navbar-nav .nav-item.parent .nav-link+.multi-collapse .multi-collapse-in .nav-item .nav-link .text-area {
  flex: 0 0 calc(100% - 80px);
  max-width: calc(100% - 80px);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 16px;
}

header .navbar .header-menu .navbar-nav .nav-item.parent .nav-link+.multi-collapse .multi-collapse-in .nav-item .nav-link .text-area .icon {
  flex: 0 0 18px;
  max-width: 18px;
  padding-left: 8px;
  margin-left: auto;
}

header .navbar .header-menu .navbar-nav .nav-item.parent .nav-link+.multi-collapse .multi-collapse-in .nav-item .nav-link .text-area svg {
  width: 14px;
  height: 14px;
  fill: #1D1D1D;
  transition: 0.2 ease all;
}

header .navbar .header-menu .navbar-nav .nav-item.parent .nav-link+.multi-collapse .multi-collapse-in .nav-item:hover .nav-link svg {
  fill: #2F9B49;
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  header .contact-block.tel ul .tel a {
    display: flex;
    align-items: center;
    text-decoration: none;
  }

  header .contact-block.tel .num {
    font-size: 16px;
    margin-left: 4px;
    display: block;
    color: #fff;
  }
}

@media screen and (max-width: 991px) {
  header .contact-block.tel {
    display: block;
  }

  header .contact-block.base ul li,
  header .contact-block.base ul li .block-area,
  header .contact-block.base ul li .block-area .box {
    width: 100%;
  }

  header .navbar-collapse {
    border-top: 1px solid #E2E1E1;
  }

  header .contact-block.base {
    padding: 0 24px 64px;
  }

  header .contact-block.base li .btn {
    font-size: 16px;
    line-height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: inherit;
  }

  header .contact-block.base .tel {
    display: block;
    margin-bottom: 16px;
  }

  header .contact-block.base .tel .btn {
    padding: 16px;
    font-weight: 500;
  }

  header .contact-block.base .mail .btn {
    font-weight: 900;
    padding: 16px;
  }

  header .contact-block.base .tel .btn svg,
  header .contact-block.base .mail .btn svg {
    width: 18px;
    height: 18px;
    display: block;
    margin-right: 8px;
    position: relative;
    top: inherit;
    right: inherit;
    transform: none;
  }

  .contact-block.base ul .tel {
    text-align: center;
    justify-content: center;
  }

  .dropdown>.dropdown-menu .container-fluid.inner {
    padding-right: 0;
    padding-left: 0;
  }

  header .navbar .header-menu .navbar-nav .nav-link+.multi-collapse {
    padding-left: 0;
  }

  header .navbar-collapse .menu-area .header-submenu .nav-item {
    line-height: 1.5;
    margin-bottom: 16px;
  }

  header .navbar-collapse .menu-area .header-submenu .nav-item:last-child {
    margin-bottom: 0;
  }

  .dropdown .dropdown-menu,
  .dropdown.show>.dropdown-menu {
    padding: 10px 5px;
    border-top: 1px solid #11273E;
  }

  header .navbar .menu-area {
    padding: 16px 24px 24px;
  }

  header .navbar .header-menu .navbar-nav .nav-link {
    font-size: 16px;
    line-height: 24px;
    padding-top: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #E2E1E1;
    position: relative;
  }

  header .navbar .header-menu .navbar-nav .nav-link:hover {
    color: #2F9B49;
  }

  header .navbar .header-menu .navbar-nav .nav-link::before {
    content: '';
    background: #2F9B49;
    width: 16px;
    height: 1px;
    position: absolute;
    bottom: -1px;
    left: 0;
    transition: 0.2s ease all;
  }

  header .navbar .header-menu .navbar-nav .nav-link:hover::before {
    width: 100%;
    transition: 0.2s ease all;
  }

  header .navbar-collapse.open {
    overflow-y: scroll;
    height: calc(100vh - 60px);
    height: calc(100lvh - 60px);
    -webkit-overflow-scrolling: touch;
  }

  header .navbar-collapse.open::-webkit-scrollbar {
    width: 4px;
    height: 4px;
    border-radius: 2px;
  }

  header .navbar-collapse.open::-webkit-scrollbar-track {}

  header .navbar-collapse.open::-webkit-scrollbar-thumb {
    background: rgb(114 189 28 / 50%);
  }

  header .navbar-toggler.collapsed+.bg-menu {
    height: 0vh;
    transition: 0.2s ease all;
  }

  header .navbar-toggler+.bg-menu {
    background: #fff;
    height: 100vh;
    height: 100lvh;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    transition: 0.2s ease all;
  }

  _::-webkit-full-page-media,
  _:future,
  :root header .navbar-collapse {
    padding-bottom: 141px;
  }

  header .navbar .header-menu .navbar-nav .nav-item .multi-collapse .nav-item .nav-link {
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
  }

  header .navbar .header-menu .navbar-nav .nav-item.parent>.nav-link .i_box {
    width: 16px;
    height: 16px;
    margin-top: -8px;
    position: absolute;
    top: 50%;
    right: 12px;
  }

  header .navbar .header-menu .navbar-nav .nav-item.parent>.nav-link .i_box::before,
  header .navbar .header-menu .navbar-nav .nav-item.parent>.nav-link .i_box::after {
    content: '';
    position: absolute;
    background: #2F9B49;
    transition: 0.2s ease all;
  }

  header .navbar .header-menu .navbar-nav .nav-item.parent>.nav-link.collapsed .i_box::before,
  header .navbar .header-menu .navbar-nav .nav-link.collapsed.parent>.nav-link .i_box::after {
    transition: 0.2s ease all;
  }

  header .navbar .header-menu .navbar-nav .nav-item.parent>.nav-link.collapsed .i_box::before {
    width: 16px;
    height: 2px;
    margin-top: -1px;
    top: 50%;
    transform: rotate(0deg);
  }

  header .navbar .header-menu .navbar-nav .nav-item.parent>.nav-link.collapsed .i_box::after {
    width: 2px;
    height: 16px;
    margin-left: -1px;
    left: 50%;
    transform: rotate(0deg);
  }

  header .navbar .header-menu .navbar-nav .nav-item.parent>.nav-link .i_box::before {
    width: 16px;
    height: 2px;
    margin-top: -1px;
    top: 50%;
    transform: rotate(360deg);
  }

  header .navbar .header-menu .navbar-nav .nav-item.parent>.nav-link .i_box::after {
    width: 2px;
    height: 16px;
    margin-left: -1px;
    left: 50%;
    transform: rotate(450deg);
  }

  header .navbar .header-submenu {
    padding-top: 24px;
  }
}

@media screen and (min-width: 992px) {
  header .navbar .header-menu .navbar-nav .nav-link {
    font-size: 14px;
    padding: 43px 8px;
  }

  /*
  header .navbar .header-menu .navbar-nav>.nav-item>.nav-link::after {
    content: '';
    background: #2F9B49;
    height: 1px;
    position: absolute;
    right: 100%;
    bottom: -7px;
    left: 16px;
    transition: 0.2s ease all;
  }

  header .navbar .header-menu .navbar-nav>.nav-item>.nav-link:hover::after {
    right: 16px;
    transition: 0.2s ease all;
  }
*/

  header .navbar .header-menu .navbar-nav .nav-item.parent .nav-link+.multi-collapse {
    display: block;
    pointer-events: none;
    margin-right: auto;
    margin-left: auto;
    position: absolute;
    top: 68px;
    right: 0;
    left: 0;
    transition: 0.2s ease all;
  }

  header .navbar .header-menu .navbar-nav .nav-item.parent .nav-link.active+.multi-collapse {
    top: 100px;
    opacity: 1;
    transition: 0.2s ease all;
  }

  header .navbar .header-menu .navbar-nav .nav-item.parent .nav-link+.multi-collapse::before {
    content: '';
    background: #fff;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    opacity: 0;
    transition: 0.2s ease all;
  }

  header .navbar .header-menu .navbar-nav .nav-item.parent .nav-link.active+.multi-collapse::before,
  header .navbar .header-menu .navbar-nav .nav-item.parent .nav-link+.multi-collapse:hover::before {
    opacity: 1;
    transition: 0.2s ease all;
  }

  header .navbar .header-menu .navbar-nav .nav-item.parent .nav-link+.multi-collapse:hover,
  header .navbar .header-menu .navbar-nav .nav-item.parent .nav-link:hover+.multi-collapse {
    pointer-events: all;
  }

  header .navbar .header-menu .navbar-nav .nav-item.parent .nav-link+.multi-collapse:hover,
  header .navbar .header-menu .navbar-nav .nav-item.parent .nav-link+.multi-collapse.active .multi-collapse-in .nav-item {
    opacity: 1;
    transition: 0.2s ease all;
  }

  header .navbar .header-menu .navbar-nav .nav-item.parent .nav-link+.multi-collapse .multi-collapse-in {
    display: flex;
    flex-wrap: wrap;
    max-width: 1348px;
    padding: 32px 24px;
    margin: 0 auto;
  }

  header .navbar .header-menu .navbar-nav .nav-item.parent .nav-link+.multi-collapse .multi-collapse-in .nav-item {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
    padding-right: 8px;
    padding-left: 8px;
    opacity: 0;
  }

  header .navbar .header-menu .navbar-nav .nav-item.parent .nav-link+.multi-collapse .multi-collapse-in .nav-item .nav-link {
    padding: 0;
  }

  header .navbar-collapse {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: flex-end;
  }

  header .navbar .header-menu .navbar-nav .nav-item.parent .nav-link+.multi-collapse .multi-collapse-in .nav-item .nav-link .image-area {
    flex: 0 0 120px;
    max-width: 120px;
  }

  header .navbar .header-menu .navbar-nav .nav-item.parent .nav-link+.multi-collapse .multi-collapse-in .nav-item .nav-link .image-area .image {
    height: 80px;
  }

  header .navbar .header-menu .navbar-nav .nav-item.parent .nav-link+.multi-collapse .multi-collapse-in .nav-item .nav-link .image-area .image img {
    height: 80px;
  }

  header .navbar .header-menu .navbar-nav .nav-item.parent .nav-link+.multi-collapse .multi-collapse-in .nav-item .nav-link .text-area {
    flex: 0 0 calc(100% - 120px);
    max-width: calc(100% - 120px);
  }

  header .navbar-collapse .menu-area {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }

  header .navbar-collapse .menu-area .header-menu {
    flex: 0 0 100%;
    max-width: 100%;
    order: 2;
  }

  header .navbar-collapse .menu-area .header-submenu {
    flex: 0 0 100%;
    max-width: 100%;
    order: 1;
    margin-bottom: 10px;
  }

  header .navbar-collapse .menu-area .header-submenu .nav-item .nav-link {
    padding-right: 12px;
    padding-left: 12px;
  }

  header .navbar-collapse .menu-area .header-submenu .nav-item .nav-link:hover {
    color: #2F9B49;
  }

  header .navbar-collapse .menu-area .navbar-nav {
    justify-content: flex-end;
  }

  header .corporate-contact {
    position: absolute;
    top: 100px;
    right: 0;
    z-index: 11;
  }

  .navbar .navbar-nav .nav-link {
    padding-right: 0;
    padding-left: 0;
  }

  header .navbar-nav .nav-link .link-menu {
    text-align: center;
  }

  .dropdown>.dropdown-menu,
  .dropdown>.dropdown-menu.show {
    background: none;
    overflow: hidden;
    display: block;
    background-color: #f6f6f6;
    padding-top: 30px;
    padding-bottom: 30px;
    z-index: 12;
  }

  .dropdown>.dropdown-menu {
    top: 90px;
  }

  .dropdown>.dropdown-menu.show,
  .dropdown:hover>.dropdown-menu {
    padding-right: 0;
    padding-left: 0;
    top: 100px;
    opacity: 1;
  }

  .dropdown>.dropdown-menu .container-fluid.inner li {
    width: 25%;
    padding-right: 15px;
    padding-left: 15px;
  }

  header .navbar-nav .dropdown-menu li {
    position: static;
  }

  header .navbar-nav .dropdown-menu .nav-link .link-menu {
    line-height: 1;
  }

  header .navbar-nav .dropdown-menu .nav-link:hover {
    transition: 0.2s ease all;
  }

  header .navbar-nav .dropdown-menu li {
    position: static;
  }

  header .navbar-nav .dropdown-menu .nav-link {
    text-align: left;
    position: relative;
    transition: 0.2s ease all;
  }

  header .navbar-nav .dropdown-menu .nav-link:hover {
    transition: 0.2s ease all;
  }

  header {
    z-index: 100;
  }

  .dropdown .dropdown-menu li a {
    text-align: left;
  }

  .contact-block.base {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -ms-align-items: center;
    align-items: center;
    transition: 0.2s ease all;
  }

  header .contact-block.base {
    padding-left: 16px;
    position: relative;
  }

  header .contact-block.base .btn {
    font-size: 14px;
    min-width: inherit;
    height: 100px;
    padding: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
  }

  .navbar .navbar-nav .nav-link {
    padding-right: 0;
    padding-left: 0;
  }
}

@media screen and (min-width: 1400px) {
  header .navbar .header-menu .navbar-nav .nav-link {
    font-size: 16px;
    padding: 42px 16px;
  }

  header .contact-block.base .btn {
    font-size: 16px;
    padding: 16px 32px;
  }
}

@media screen and (min-width: 1400px) and (max-width: 1577px) {
  header .navbar .header-menu .navbar-nav .nav-link {
    padding: 34px 7px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
  header .navbar-nav .nav-link .link-menu {}

  .contact-block.base .icon-box svg {
    width: 36px;
    height: 36px;
  }

  header .corporate-contact .item a {
    font-size: 12px;
    width: 90px;
    height: 90px;
  }

  .contact-block ul .tel-box a {
    font-size: 24px;
  }
}

@media screen and (max-width: 991px) {
  main {
    padding-top: 64px;
  }
}

@media screen and (min-width: 992px) {
  main {
    padding-top: 100px;
  }
}

main .image-area .image.in-view,
main .image-list .image.in-view {
  position: relative;
}

main .image-area .image.in-view::before,
main .image-area .image.view::before,
main .image-list .image.in-view::before,
main .image-list .image.view::before {
  content: '';
  background: #2F9B49;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  transition: 1s ease all;
  transition-delay: 0.5s;
}

main .image-area .image.view,
main .image-list .image.view {
  position: relative;
}

main .image-area .image.view::before,
main .image-list .image.view::before {
  top: 100%;
}

.text-area.inbox {
  width: 100%;
  max-width: 800px;
  margin-right: auto;
  margin-left: auto;
}

main article section.bg-common:nth-of-type(odd) {}

main article section.bg-common:nth-of-type(even) {}

main article section.bg-common.bg-none:nth-of-type(odd),
main article section.bg-common.bg-none:nth-of-type(even) {
  background: none;
}

main article section.bg-common.bg-fix:nth-of-type(odd),
main article section.bg-common.bg-fix:nth-of-type(even) {
  background: none;
}

@media screen and (max-width: 767px) {
  .row-archive .item [class^="block_"] {
    padding-bottom: 30px !important;
  }
}

.bg-common.bg-fix::before,
.bg-common.bg-fix::after {
  position: fixed;
}

@media screen and (min-width: 992px) {
  .breadcrumb {
    justify-content: flex-end;
  }
}

.breadcrumb li a {
  color: #2F9B49;
  text-decoration: underline;
  position: relative;
}

/* carousel-area */
@media screen and (max-width: 767px) {
  .carousel-area {
    margin-right: -15px;
    margin-left: -15px;
    overflow: hidden;
  }

  .carousel-area .carousel-cont {
    padding-left: 8px;
    overflow-x: scroll;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
  }

  .carousel-area .carousel-cont::-webkit-scrollbar {
    width: 4px;
    height: 4px;
    border-radius: 2px;
  }

  .carousel-area .carousel-cont::-webkit-scrollbar-track {}

  .carousel-area .carousel-cont::-webkit-scrollbar-thumb {
    background: #d6d6d6;
  }

  .carousel-area .carousel-cont>.row,
  .carousel-area .carousel-cont>.menu-row {
    flex-wrap: nowrap;
    margin-right: 0;
    margin-left: 0;
  }

  .carousel-area .carousel-cont>.row.center {
    justify-content: flex-start;
  }

  .carousel-area .carousel-cont>.row>.item,
  .carousel-area .carousel-cont>.menu-row>.item {
    width: 260px;
    max-width: 260px;
    min-width: 260px;
    display: table-cell;
    padding-right: 8px;
    padding-left: 8px;
  }

  .carousel-area .carousel-cont .row .item-image,
  .carousel-area .carousel-cont .row .item-text,
  .carousel-area .carousel-cont .menu-row .item-image,
  .carousel-area .carousel-cont .menu-row .item-text {
    width: auto;
    display: block;
  }
}

.section-ttl {
  font-size: 240px;
  font-weight: 700;
  position: absolute;
  bottom: 0;
  left: 15%;
  z-index: 0;
  pointer-events: none;
}

.section-ttl .ttl-eng {
  color: #fff;
  z-index: -1;
}

.jumbotron-common {
  background: none;
  position: relative;
}

.jumbotron-common .ttl-cont {
  justify-content: flex-start;
  height: 180px;
  z-index: 1;
  top: 0;
}

.jumbotron-common .ttl-cont {}

.jumbotron-common .ttl-main .ttl .ttl-eng {
  font-size: 1em;
}

.jumbotron-common .ttl-main .ttl .ttl-eng .liner {
  top: 2px;
  left: 2px;
}

.jumbotron-common .ttl-main .ttl .ttl-jpn {
  font-size: 1em;
  color: #fff;
  font-weight: 700;
}

.jumbotron-common .ttl-main .ttl .ttl-jpn .bg-cont {
  display: inline-block;
  background-color: #2F9B49;
  padding: 8px;
}

@media screen and (min-width: 768px) {
  .jumbotron-common .ttl-main .ttl .ttl-jpn .bg-cont {
    padding: 15px;
  }

  .jumbotron-common .ttl-cont {
    height: 280px;
  }
}

@media screen and (min-width: 992px) {
  .jumbotron-common .ttl-cont {
    height: 360px;
    margin-bottom: 0;
  }

  .jumbotron-common .ttl-cont {}

  .jumbotron-common .ttl-main {}

  .jumbotron-common .bg-img {}
}

@media screen and (min-width: 1201px) {
  .jumbotron-common .bg-img {}
}

.jumbotron-common .ttl-cont .ttl-jpn {
  display: block;
}

/*最低限タブが機能するのに必要なスタイル*/
.tab_item {}

.tab_item>.cont-main {
  opacity: 0;
  transition: 0.2s ease all;
  position: relative;
  top: 120px;
  height: 0;
  pointer-events: none;
}

.tab_item.is-active-item>.cont-main {
  opacity: 1;
  transition: 0.2s ease all;
  position: relative;
  top: 0;
  height: auto;
  pointer-events: all;
}

.tab-item-area {
  position: relative;
}

.tab-menu .tab_btn {
  cursor: pointer;
}

.block-area .image-area {
  position: relative;
}

.block-area .zoom {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
}

.block-area .zoom::before {
  content: '';
  display: flex;
  align-items: center;
  justify-content: center;
  background: #2F9B49;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  opacity: 0;
  transition: 0.2s ease all;
}

.block-area .zoom svg {
  width: 32px;
  height: 32px;
  margin: auto;
  fill: #fff;
  opacity: 0;
  position: relative;
  z-index: 2;
  transition: 0.2s ease all;
}

.block-area:hover .zoom::before {
  opacity: 0.8;
}

.block-area:hover .zoom svg {
  opacity: 1;
}

.tos-desktop .tos-wrapper.tos-fixed {
  background-color: rgba(255, 255, 255, 0.85) !important;
}

.tos-close,
.tos-next,
.tos-prev {
  background-color: #d6d6d6 !important;
}

.tos-close span:before,
.tos-prev span {
  border-bottom: 3px solid #2F9B49 !important;
  border-left: 3px solid #2F9B49 !important;
}

.tos-close span:after,
.tos-next span {
  border-top: 3px solid #2F9B49 !important;
  border-right: 3px solid #2F9B49 !important;
}

@media screen and (min-width: 992px) {
  .tos-caption {
    color: #1D1D1D !important;
    text-shadow: none !important;
  }
}

/* home */
.fv-area {
  position: relative;
}

.page-home .fv-area {
  overflow: hidden;
}

.main-catch-area .main-catch p {
  margin: 0;
  white-space: nowrap;
}

.main-catch-area .main-catch .main-catch-eng {
  visibility: hidden;
}

.main-catch-area .main-catch .main-catch-eng p {
  font-weight: 500;
}

.main-catch-area .main-catch .main-catch-eng .text {
  display: block;
}

.main-catch-area .main-catch .main-catch-jpn {
  padding-top: 8px;
  visibility: hidden;
}

.main-catch-area .main-catch .main-catch-jpn p {
  font-weight: 700;
}

.main-slider-area {
  overflow: hidden;
}

.main-catch {
  padding: 24px;
}

.main-catch .green {
  display: flex;
}

.main-catch .green .out {
  display: block;
}

.main-catch .green .out .in {
  display: block;
  visibility: hidden;
}

.main-catch.catch-02 {
  display: none;
}

.main-catch.catch-02 p {
  color: #fff;
}

.main-catch-area .main-catch .main-catch-eng p {
  font-size: 48px;
  line-height: 64px;
}

.main-catch-area .main-catch .main-catch-jpn p {
  font-size: 24px;
  line-height: 32px;
}

.swiper-home {
  padding-bottom: 16px;
}

.swiper-home .swiper-pagination {
  text-align: center;
  padding: 0 24px;
  bottom: 0;
}

.swiper-home .swiper-pagination-bullet {
  width: 16px;
  height: 4px;
  border-radius: 0;
}

.swiper-home .swiper-pagination-bullet-active {
  background: #2F9B49;
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .main-catch-area .main-catch .main-catch-eng p {
    font-size: 80px;
    line-height: 104px;
  }

  .main-catch-area .main-catch .main-catch-jpn p {
    font-size: 32px;
    line-height: 48px;
  }
}

@media screen and (min-width: 992px) {
  .fv-area {
    display: flex;
    align-items: center;
  }

  .main-catch-area {
    width: 100%;
    margin: 0 auto 32px auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
  }

  .main-catch {
    padding: 32px;
    position: absolute;
  }

  .main-catch.catch-01 {
    width: 33%;
    overflow: hidden;
    z-index: 3;
  }

  .main-catch.catch-02 {
    display: block;
    z-index: 2;
  }

  .main-slider-area {
    position: relative;
    z-index: 1;
  }

  .main-catch-area .main-catch .main-catch-eng p {
    font-size: 80px;
    line-height: 104px;
  }

  .main-catch-area .main-catch .main-catch-jpn p {
    font-size: 32px;
    line-height: 48px;
  }

  .main-slider-area {
    margin-right: 0;
    margin-left: auto;
  }

  .swiper-home {
    width: 67%;
    padding-bottom: 32px;
    margin-right: 0;
    margin-left: auto;
  }

  .swiper-home .swiper-pagination {
    text-align: right;
    padding: 0 32px;
  }

  .swiper-home .swiper-pagination-bullet {
    width: 64px;
    height: 8px;
  }
}

@media screen and (min-width: 1201px) {
  .main-catch {
    padding: 80px;
  }

  .main-catch-area .main-catch .main-catch-eng p {
    font-size: 104px;
    line-height: 128px;
  }

  .main-catch-area .main-catch .main-catch-jpn p {
    font-size: 48px;
    line-height: 64px;
  }
}

@media screen and (min-width: 1400px) {
  .main-catch {
    padding: 80px 120px;
  }
}

.page-home .news-feed-area .block-area {
  display: block;
}

.page-home .news-feed-area .block-area .news-feed {
  margin: 0;
}

.page-home .news-feed-area .block-area .news-feed dt,
.page-home .news-feed-area .block-area .news-feed dd {
  margin: 0;
}

.page-home .news-feed-area .block-area .news-feed dt .title {
  padding: 4px;
  display: block;
  margin-right: -4px;
  margin-left: -4px;
}

.page-home .news-feed-area .block-area .news-feed dt .title span {
  font-size: 18px;
  line-height: 26px;
  font-weight: 500;
  color: #FFF;
  background: #1D1D1D;
  width: 64px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.page-home .news-feed-area .block-area .news-feed dt .date {
  font-size: 16px;
  line-height: 24px;
  font-weight: 500;
  display: block;
  padding-top: 8px;
  margin-left: auto;
}

.page-home .news-feed-area .block-area .news-feed dd {
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  padding-top: 8px;
}

.page-home .news-feed-area .block-area .news-feed dd .news-text {
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
}

.page-home .news-feed-area .block-area .news-feed dd .news-text .text {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

.page-home .news-feed-area .block-area .linkbox {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-top: 16px;
}

.page-home .news-feed-area .block-area .more {
  font-size: 16px;
  line-height: 24px;
  font-weight: 500;
  text-decoration: underline;
  margin-right: 16px;
}

.page-home .news-feed-area .block-area .icon {
  background: #E2E1E1;
  width: 40px;
  height: 40px;
  border-radius: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.page-home .news-feed-area .block-area .icon svg {
  width: 12px;
  height: 12px;
}

@media screen and (min-width: 992px) {
  .page-home .news-feed-area .block-area .news-feed {
    display: flex;
    align-items: center;
    margin-right: auto;
  }

  .page-home .news-feed-area .block-area .news-feed dt {
    display: flex;
    align-items: center;
    flex: 0 0 256px;
    max-width: 256px;
  }

  .page-home .news-feed-area .block-area .news-feed dt .title {
    margin-right: 16px;
  }

  .page-home .news-feed-area .block-area .news-feed dt .title span {
    font-size: 24px;
    line-height: 36px;
    width: 82px;
    height: 40px;
  }

  .page-home .news-feed-area .block-area .news-feed dt .date {
    font-size: 20px;
    line-height: 32px;
    padding-top: 0;
  }

  .page-home .news-feed-area .block-area .news-feed dd {
    font-size: 16px;
    line-height: 24px;
    display: flex;
    align-items: center;
  }

  .page-home .news-feed-area .block-area .news-feed dd {
    flex: 0 0 calc(100% - 256px);
    max-width: calc(100% - 256px);
    padding-top: 0;
    padding-left: 32px;
  }

  .page-home .news-feed-area .block-area .more {
    margin-right: 32px;
  }

  .page-home .news-feed-area .block-area .news-feed dd .news-text {
    flex: 0 0 calc(100% - 160px);
    max-width: calc(100% - 160px);
    padding-right: 32px;
  }

  .page-home .news-feed-area .block-area .linkbox {
    flex: 0 0 160px;
    max-width: 160px;
    padding-top: 0;
    margin-left: auto;
  }
}

.page-home .bg-common.intro {
  background-image: url(img/home/bg-intro.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.page-home .bg-common.intro .ttl-area {
  margin-bottom: 32px;
}

.page-home .bg-common.intro .ttl-area span {
  display: block;
}

.page-home .bg-common.intro .ttl-area .ttl .ttl-jpn {
  font-size: 32px;
  line-height: 48px;
  color: #2F9B49;
  font-weight: 900;
  margin-bottom: 24px;
}

.page-home .bg-common.intro .ttl-area .ttl .ttl-jpn .text {
  display: flex;
}

.page-home .bg-common.intro .ttl-area .ttl .ttl-jpn .out,
.page-home .bg-common.intro .ttl-area .ttl .ttl-jpn .in {
  display: block;
}

.page-home .bg-common.intro .ttl-area .ttl .ttl-jpn .in {
  visibility: hidden;
}

.page-home .bg-common.intro .ttl-area .ttl .ttl-eng {
  font-size: 24px;
  line-height: 32px;
  font-weight: 500;
  text-align: right;
  visibility: hidden;
}

.page-home .bg-common.intro .text-area p {
  font-size: 16px;
  line-height: 32px;
  margin-bottom: 32px;
}

.page-home .bg-common.intro .text-area p:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 992px) {
  .page-home .bg-common.intro .ttl-area {
    margin-bottom: 64px;
  }

  .page-home .bg-common.intro .ttl-area .ttl .ttl-jpn {
    font-size: 64px;
    line-height: 96px;
    margin-bottom: 40px;
    display: flex;
  }

  .page-home .bg-common.intro .ttl-area .ttl .ttl-eng {
    font-size: 48px;
    line-height: 64px;
  }

  .page-home .bg-common.intro .text-area p {
    font-size: 20px;
    line-height: 48px;
    margin-bottom: 48px;
  }
}

@media screen and (min-width: 1201px) {
  .page-home .bg-common.intro .ttl-area {
    margin-bottom: 80px;
  }

  .page-home .bg-common.intro .ttl-area .ttl .ttl-jpn {
    font-size: 80px;
    line-height: 120px;
  }

  .page-home .bg-common.intro .ttl-area .ttl .ttl-eng {
    font-size: 64px;
    line-height: 80px;
  }
}

.page-home .bg-common.our-strengths .outbox .image-area {
  padding-top: 24px;
}

.page-home .bg-common.our-strengths .list-area {
  margin-bottom: 24px;
}

.page-home .bg-common.our-strengths .list-area ul li.item {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  padding: 2px 0;
}

.page-home .bg-common.our-strengths .list-area ul li.item::before {
  display: none;
}

.page-home .bg-common.our-strengths .list-area ul li.item .num {
  font-size: 32px;
  line-height: 48px;
  color: #2F9B49;
  flex: 0 0 40px;
  max-width: 40px;
}

.page-home .bg-common.our-strengths .list-area ul li.item .num+.text {
  font-size: 18px;
  line-height: 32px;
  font-weight: 700;
  padding-left: 8px;
  flex: 0 0 calc(100% - 40px);
  max-width: calc(100% - 40px);
}

.slideshow {
  display: flex;
  white-space: nowrap;
  opacity: 1;
  transition: all 0.3s;
  pointer-events: none;
}

.slideshow-wrap {
  display: flex;
}

@keyframes loop-text {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-100%);
  }
}

#slideshowStrengths {
  display: flex;
  align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  text-transform: uppercase;
}

#slideshowStrengths .slideshow {
  font-size: 140px;
  line-height: 160px;
  font-weight: 500;
  animation: loop-text 180s infinite linear 1s both;
}

#slideshowStrengths .slideshow .slideshow-item {
  color: transparent;
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: #e6e6e6;
  margin-right: 0.5em;
}

@media screen and (min-width: 992px) {
  .page-home .bg-common.our-strengths .outbox {
    display: flex;
    flex-direction: row;
  }

  .page-home .bg-common.our-strengths .outbox .text-area {
    flex: 0 0 calc(100% - 498px);
    max-width: calc(100% - 498px);
    order: 2;
  }

  .page-home .bg-common.our-strengths .outbox .image-area {
    flex: 0 0 498px;
    max-width: 498px;
    padding-top: 48px;
    padding-right: 64px;
    order: 1;
  }

  .page-home .bg-common.our-strengths .list-area {
    margin-bottom: 32px;
  }

  .page-home .bg-common.our-strengths .list-area ul li.item .num {
    font-size: 64px;
    line-height: 96px;
    flex: 0 0 72px;
    max-width: 72px;
  }

  .page-home .bg-common.our-strengths .list-area ul li.item .num+.text {
    font-size: 24px;
    line-height: 40px;
    padding-left: 24px;
    flex: 0 0 calc(100% - 72px);
    max-width: calc(100% - 72px);
  }

  #slideshowStrengths .slideshow {
    font-size: 280px;
    line-height: 320px;
  }
}

@media screen and (min-width: 1201px) {
  .page-home .bg-common.our-strengths .outbox .text-area {
    flex: 0 0 calc(100% - 578px);
    max-width: calc(100% - 578px);
  }

  .page-home .bg-common.our-strengths .outbox .image-area {
    flex: 0 0 578px;
    max-width: 578px;
    padding-top: 64px;
    padding-right: 80px;
  }
}

@keyframes loop-slide-company {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-100%);
  }
}

#slideshowCompany .slideshow {
  position: relative;
  z-index: 0;
}

#slideshowCompany .slideshow .slideshow-item {
  width: 240px;
  animation: loop-slide-company 30s infinite linear 1s both;
  margin-right: 16px;
}

@media screen and (min-width: 992px) {
  #slideshowCompany .slideshow .slideshow-item {
    width: 480px;
    margin-right: 24px;
  }
}

@media screen and (min-width: 1201px) {
  #slideshowCompany .slideshow .slideshow-item {
    width: 720px;
    margin-right: 32px;
  }
}

.ttl-area.flex .ttl {
  margin-bottom: 0;
}

@media screen and (min-width: 992px) {
  .ttl-area.flex {
    display: flex;
    align-items: center;
  }

  .ttl-area.flex .title+.metabox {
    padding-left: 48px;
  }

  .ttl-area.flex [class^="button-"] {
    margin-left: auto;
  }
}

.page-child-list .page-child-list-item .text-area {
  padding: 48px 24px;
}

@media screen and (min-width: 992px) {

  .page-child-list .page-child-list-item,
  .page-child-list .page-child-list-item .ttl .ttl-eng {
    color: #707070;
    text-decoration: none;
    transition: 0.2s ease all;
  }

  .page-child-list .page-child-list-item:hover {
    color: #1D1D1D;
  }

  .page-child-list .page-child-list-item:hover .ttl .ttl-eng {
    color: #2F9B49;
  }

  .page-child-list .page-child-list-item .image-area {
    filter: grayscale(1);
    transition: 0.2s ease all;
  }

  .page-child-list .page-child-list-item:hover .image-area {
    filter: grayscale(0);
  }

  .page-child-list .page-child-list-item {
    display: flex;
    align-items: center;
  }

  .page-child-list .page-child-list-item:nth-of-type(even) {
    flex-direction: row-reverse;
  }

  .page-child-list .page-child-list-item .text-area {
    flex: 0 0 42%;
    max-width: 506px;
  }

  .page-child-list .page-child-list-item:nth-of-type(odd) .text-area {
    padding-right: 24px;
    padding-left: 32px;
    margin-right: auto;
    margin-left: 0;
  }

  .page-child-list .page-child-list-item:nth-of-type(even) .text-area {
    padding-right: 32px;
    padding-left: 24px;
    margin-right: 0;
    margin-left: auto;
  }

  .page-child-list .page-child-list-item .image-area {
    flex: 0 0 58%;
    max-width: 58%;
  }
}

@media screen and (min-width: 1201px) {
  .page-child-list .page-child-list-item:nth-of-type(odd) .text-area {
    padding-right: 32px;
    padding-left: 64px;
  }

  .page-child-list .page-child-list-item:nth-of-type(even) .text-area {
    padding-right: 64px;
    padding-left: 32px;
  }
}

.other-contents-list .other-contents-list-item {
  padding-bottom: 24px;
}

.other-contents-list .other-contents-list-item .text-area {
  padding-top: 16px;
}

.other-contents-list .other-contents-list-item .ttl-area .ttl {
  font-size: 20px;
  line-height: 28px;
  font-weight: 900;
}

@media screen and (min-width: 992px) {
  .other-contents-list {
    display: flex;
    flex-wrap: wrap;
    margin-right: -16px;
    margin-left: -16px;
  }

  .other-contents-list .other-contents-list-item {
    flex: 0 0 50%;
    max-width: 50%;
    padding-right: 16px;
    padding-left: 16px;
    padding-bottom: 48px;
  }

  .other-contents-list .other-contents-list-item .text-area {
    padding-top: 24px;
  }

  .other-contents-list .other-contents-list-item .ttl-area .ttl {
    font-size: 32px;
    line-height: 48px;
  }
}

@media screen and (min-width: 992px) {
  .page-home .bg-common.staff-blog .cont-main.post .cont-item {
    display: flex;
    flex-wrap: wrap;
  }

  .page-home .bg-common.staff-blog .cont-main.post>.cont-item>.ttl-area {
    flex: 0 0 320px;
    max-width: 320px;
  }

  .page-home .bg-common.staff-blog .cont-main.post .cont-item .post-area {
    flex: 0 0 calc(100% - 320px);
    max-width: calc(100% - 320px);
    display: block;
  }

  .page-home .bg-common.staff-blog .cont-main.post>.cont-item>.post-area>.post-list {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

.page-home .bg-common.recruit {
  background-color: #000;
  background-image: url(img/home/bg-base-recruit.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
}

.page-home .bg-common.recruit .outbox .text-area .ttl-area .ttl {
  margin-bottom: 32px;
}

.page-home .bg-common.recruit .outbox .text-area .catch-area .ttl {
  font-size: 24px;
  line-height: 40px;
  font-weight: 900;
  margin-bottom: 32px;
}

.page-home .bg-common.recruit .outbox .text-area .catch-area .ttl .text {
  display: flex;
  visibility: hidden;
}

.page-home .bg-common.recruit .outbox .text-area .metabox {
  margin-bottom: 32px;
}

.page-home .bg-common.recruit .outbox .text-area .metabox p {
  font-size: 16px;
  line-height: 32px;
  margin-bottom: 32px;
}

.page-home .bg-common.recruit .outbox .text-area .metabox p:last-child {
  margin-bottom: 0;
}

.page-home .bg-common.recruit .outbox .image-area {
  padding-top: 32px;
}

.page-home .bg-common.recruit .outbox .image-area .recruit-catch {
  font-size: 56px;
  line-height: 72px;
  font-weight: 500;
  color: #fff;
  padding-top: 32px;
}

.page-home .bg-common.recruit .outbox .image-area .recruit-catch span {
  display: block;
}

.page-home .bg-common.recruit .outbox .image-area .recruit-catch .text {
  visibility: hidden;
}

#slideshowRecruit {
  display: flex;
  align-items: flex-end;
  position: absolute;
  top: 64px;
  right: 0;
  left: 0;
  z-index: -1;
  text-transform: uppercase;
}

#slideshowRecruit .slideshow {
  font-size: 140px;
  line-height: 160px;
  font-weight: 500;
  animation: loop-text 180s infinite linear 1s both;
}

#slideshowRecruit .slideshow .slideshow-item {
  color: transparent;
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: #e6e6e6;
  margin-right: 0.5em;
  opacity: 0.25;
}

@media screen and (min-width: 992px) {
  .page-home .bg-common.recruit .outbox {
    display: flex;
    flex-wrap: wrap;
  }

  .page-home .bg-common.recruit .outbox .text-area {
    flex: 0 0 50%;
    max-width: 50%;
    padding-top: 64px;
  }

  .page-home .bg-common.recruit .outbox .text-area .ttl-area .ttl {
    margin-bottom: 64px;
  }

  .page-home .bg-common.recruit .outbox .text-area .catch-area .ttl {
    font-size: 48px;
    line-height: 72px;
    margin-bottom: 64px;
  }

  .page-home .bg-common.recruit .outbox .text-area .metabox {
    margin-bottom: 64px;
  }

  .page-home .bg-common.recruit .outbox .text-area .metabox p {
    font-size: 20px;
    line-height: 48px;
    margin-bottom: 48px;
  }

  .page-home .bg-common.recruit .outbox .image-area {
    flex: 0 0 50%;
    max-width: 50%;
    padding-top: 0;
    padding-left: 64px;
  }

  .page-home .bg-common.recruit .outbox .image-area .recruit-catch {
    font-size: 72px;
    line-height: 96px;
    padding-top: 48px;
  }

  #slideshowRecruit {
    top: inherit;
    bottom: 120px;
  }

  #slideshowRecruit .slideshow {
    font-size: 280px;
    line-height: 320px;
  }
}

@media screen and (min-width: 1201px) {
  .page-home .bg-common.recruit .outbox .image-area .recruit-catch {
    font-size: 104px;
    line-height: 128px;
  }
}

/* our strengths */
.fv-area.common {
  position: relative;
}

.fv-area.common .text-area .ttl-area {
  padding: 24px;
}

.fv-area.common .text-area .ttl-area.area-01 .title {
  white-space: nowrap;
}

.fv-area.common .text-area .ttl-area.area-02 {
  display: none;
}

.fv-area.common .text-area .ttl-area .ttl {
  margin-bottom: 0;
}

.fv-area.common .image-area {
  position: relative;
  z-index: 1;
}

.fv-area.common .image-area::before {
  content: '';
  background: #000;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  opacity: 0.15;
}

.other .breadcrumb-area {
  background: #fff;
}

.other .bg-common {
  background: #fff;
}

.other .cont-main .cont-item {
  visibility: hidden;
}

.other .cont-main .cont-item .outbox {
  width: 100%;
  max-width: 1000px;
  padding-top: 48px;
  padding-bottom: 48px;
  margin-right: auto;
  margin-left: auto;
  border-top: 1px solid #E2E1E1;
  /* border-bottom: 1px solid #E2E1E1; */
}

.other .cont-main .cont-item:first-child .outbox {
  padding-top: 0;
  border-top: none;
}

.other .cont-main .cont-item .outbox .inbox {
  width: 100%;
  max-width: 800px;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .fv-area.common .image-area .image {
    height: 240px;
  }

  .fv-area.common .image-area .image img {
    height: 240px;
    object-fit: cover;
  }
}

@media screen and (min-width: 992px) {
  .fv-area.common {
    display: flex;
    align-items: center;
  }

  .fv-area.common::after {
    content: '';
    background: #fff;
    width: 100%;
    height: 80px;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
  }

  .in-page-link {
    padding-top: 100px;
    margin-bottom: -104px;
  }

  .other .cont-main .cont-item .outbox {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .fv-area.common .text-area {
    display: flex;
    align-items: center;
    width: 100%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
  }

  .fv-area.common .text-area .ttl-area {
    padding: 32px;
    position: absolute;
  }

  .fv-area.common .text-area .ttl-area.area-01 {
    width: 16%;
    overflow: hidden;
    z-index: 3;
  }

  .fv-area.common .text-area .ttl-area.area-02 {
    display: block;
    z-index: 2;
  }

  .fv-area.common .image-area {
    width: 84%;
    margin-right: 0;
    margin-left: auto;
  }
}

@media screen and (min-width: 1201px) {
  .fv-area.common .text-area .ttl-area {
    padding: 80px;
  }
}

@media screen and (min-width: 1400px) {
  .fv-area.common .text-area .ttl-area {
    padding: 80px 120px;
  }
}

.page-our-strengths .cont-main.our-strengths .cont-item .image-area {
  margin-bottom: 48px;
}

.page-our-strengths .cont-main.our-strengths .cont-item .text-area {
  padding-bottom: 16px;
}

.page-our-strengths .cont-main.our-strengths .cont-item .text-area .metabox p {
  font-size: 18px;
  line-height: 36px;
  margin-bottom: 36px;
}

.page-our-strengths .cont-main.our-strengths .cont-item .text-area .metabox p:last-child {
  margin-bottom: 0;
}

.page-our-strengths .cont-main.our-strengths .contact-block {
  font-size: 24px;
  line-height: 40px;
  font-weight: 500;
  color: #1D1D1D;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 24px;
  background: #F6F6F6;
}

.page-our-strengths .cont-main.our-strengths .contact-block:hover {
  color: #2F9B49;
}

.page-our-strengths .cont-main.our-strengths .contact-block .icon {
  flex: 0 0 32px;
  max-width: 32px;
}

.page-our-strengths .cont-main.our-strengths .contact-block .icon svg {
  width: 32px;
  height: 32px;
  display: block;
  fill: #1D1D1D;
}

.page-our-strengths .cont-main.our-strengths .contact-block:hover .icon svg {
  fill: #2F9B49;
}

.page-our-strengths .cont-main.our-strengths .contact-block .icon+.text {
  padding-left: 16px;
}

@media screen and (min-width: 992px) {
  .page-our-strengths .cont-main.our-strengths .cont-item .image-area {
    margin-bottom: 64px;
  }

  .page-our-strengths .cont-main.our-strengths .cont-item .text-area .metabox p {
    font-size: 24px;
    line-height: 40px;
    margin-bottom: 40px;
  }
}

/* service */
.page-service .cont-main.service .cont-item .image-area {
  padding-top: 8px;
  margin-bottom: 32px;
}

.image-list {
  padding-top: 48px;
}

.image-list .image-list-item {
  padding-bottom: 24px;
}

@media screen and (min-width: 992px) {
  .page-service .cont-main.service .cont-item .image-area {
    padding-top: 16px;
    margin-bottom: 48px;
  }

  .image-list {
    padding-top: 64px;
  }

  .image-list ul {
    display: flex;
    flex-wrap: wrap;
    margin-right: -16px;
    margin-left: -16px;
  }

  .image-list .image-list-item {
    flex: 0 0 50%;
    max-width: 50%;
    padding-right: 16px;
    padding-bottom: 32px;
    padding-left: 16px;
  }

  .image-list .image-list-item:nth-of-type(2) {
    padding-top: 160px;
  }
}

/* works */
.containerr .mix::after {
  padding: 0 !important;
}

#Containerrr {
  padding-top: 80px;
}

.works-list {
  display: flex;
  flex-wrap: wrap;
  margin-right: -16px;
  margin-left: -16px;
}

.works-list.works-slide {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: scroll;
  padding-left: 8px;
  -webkit-overflow-scrolling: auto;
}

.works-list.works-slide .works-list-item {
  display: inline-block;
}

.works-list.works-slide .works-list-item:last-child {
  margin-right: 8px;
}

/* スクロールバーのカスタマイズ */
.works-list.works-slide::-webkit-scrollbar {
  width: 0;
}

.works-list.works-slide::-webkit-scrollbar:horizontal {
  height: 0;
}

.works-list.works-slide::-webkit-scrollbar-track {
  background-color: #F6F6F6;
  border-left: solid 1px #F6F6F6;
}

.works-list.works-slide::-webkit-scrollbar-thumb {
  background-color: #2F9B49;
}

.works-list.works-slide::-webkit-scrollbar-thumb:horizontal {
  background-color: #2F9B49;
}

.works-list .works-list-item {
  flex: 0 0 50%;
  max-width: 50%;
  padding-right: 8px;
  padding-bottom: 32px;
  padding-left: 8px;
  margin-bottom: 48px;
  border-right: 1px solid #E2E1E1;
}

.works-list .works-list-item.all {
  -ms-align-items: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 100%;
  max-width: 100%;
  border-right: none;
}

.works-list .works-list-item.all .cont {
  padding: 48px;
  background: #F6F6F6;
  text-align: center;
  width: 100%;
}

.works-list.works-slide .works-list-item {
  flex: 0 0 240px;
  max-width: 240px;
}

.works-list .works-list-item .block-area {
  padding: 16px;
}

.works-list .works-list-item .text-area {
  padding-top: 16px;
}

.works-list .works-list-item .ttl {
  font-size: 18px;
  line-height: 32px;
  font-weight: 900;
  margin-bottom: 0;
}

.term-slug-cont {
  padding-top: 8px;
  margin: -2px;
}

.term-slug-cont.center {
  text-align: center;
}

.term-slug {
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  color: #fff;
  display: inline-flex;
  padding: 2px;
}

.term-slug span {
  display: block;
  padding: 4px 8px;
  background-color: #1D1D1D;
}

.works-post .main-image {
  padding-top: 48px;
}

.works-post .inbox {
  padding-top: 48px;
}

.works-post .button-center {
  padding-top: 48px;
}

.other-works {
  padding-top: 48px;
}

.cont-main.works .works-area .works-side .widget-term .ttl {
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  color: #2F9B49;
}

.cont-main.works .works-area .works-side .widget-term .ttl [class^="ttl-"] {
  display: block;
}

.cont-main.works .works-area .works-side .widget-term .ttl .ttl-jpn {
  font-size: 18px;
  line-height: 26px;
  font-weight: 900;
  color: #1D1D1D;
}

.cont-main.works .works-area .works-side .widget-term .ttl .ttl-eng {
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  color: #2F9B49;
  padding-top: 8px;
}

@media screen and (max-width: 767px) {
  .works-list .works-list-item:nth-of-type(2n) {
    border-right: none;
  }

  .works-list.works-slide .works-list-item:nth-of-type(2n) {
    border-right: 1px solid #E2E1E1;
  }

  .works-list.works-slide .works-list-item:last-child {
    border-right: none;
  }
}

@media screen and (min-width: 768px) {
  .works-list .works-list-item:nth-of-type(3n) {
    border-right: none;
  }

  .works-list.works-slide .works-list-item:nth-of-type(3n) {
    border-right: 1px solid #E2E1E1;
  }

  .works-list.works-slide .works-list-item:last-child {
    border-right: none;
  }

  .works-list .works-list-item {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
    padding-right: 16px;
    padding-left: 16px;
  }
}

@media screen and (min-width: 992px) {
  .works-list.works-slide {
    padding-left: 32px;
    margin-top: -96px;
  }

  .works-list.works-slide .works-list-item:last-child {
    margin-right: 32px;
  }

  .works-list .works-list-item {
    margin-bottom: 64px;
  }

  .works-list.works-slide .works-list-item {
    flex: 0 0 448px;
    max-width: 448px;
    padding-bottom: 48px;
  }

  .works-list.works-slide .works-list-item:nth-of-type(odd) {
    padding-top: 96px;
    padding-bottom: 0;
  }

  .works-list.works-slide .works-list-item:nth-of-type(even) {
    padding-top: 0;
    padding-bottom: 96px;
  }

  .works-list .works-list-item .block-area {
    padding: 48px;
  }

  .cont-main.works .works-area .works-list .works-list-item .block-area {
    padding: 24px;
  }

  .cont-main.works .works-area {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    margin-right: -16px;
    margin-left: -16px;
  }

  .cont-main.works .works-area .works-list {
    flex: 0 0 calc(100% - 312px);
    max-width: calc(100% - 312px);
    padding-right: 16px;
    padding-bottom: 0;
    padding-left: 16px;
  }

  .works-post .main-image {
    padding-top: 64px;
  }

  .works-post .inbox {
    padding-top: 64px;
  }

  .works-post .button-center {
    padding-top: 64px;
  }

  .other-works {
    padding-top: 80px;
  }

  .cont-main.works .works-area .works-side {
    flex: 0 0 312px;
    max-width: 312px;
    padding-right: 16px;
    padding-left: 16px;
  }

  .cont-main.works .works-area .works-side .widget-term .ttl .ttl-jpn {
    font-size: 24px;
    line-height: 40px;
  }

  .cont-main.works .works-area .works-side .widget-term .ttl .ttl-eng {
    font-size: 16px;
    line-height: 24px;
  }
}

@media screen and (min-width: 1201px) {
  .works-list.works-slide {
    padding-left: 5%;
  }

  .works-list.works-slide .works-list-item:last-child {
    margin-right: 5%;
  }
}

@media screen and (min-width: 1400px) {
  .works-list.works-slide {
    padding-left: 12.5%;
  }

  .works-list.works-slide .works-list-item:last-child {
    margin-right: 12.5%;
  }
}

.step-list .step-list-item {
  margin-bottom: 48px;
}

.step-list .step-list-item:last-child {
  margin-bottom: 0;
}

.step-list .step-list-item .image-area {
  padding-top: 24px;
}

/* products */
.products-post .main-image {
  padding-top: 0;
}

.products-post .inbox {
  padding-top: 48px;
}

.products-post .button-center {
  padding-top: 48px;
}

@media screen and (min-width: 992px) {
  .products-post .main-image+.ttl-area {
    padding-top: 0;
  }

  .products-post .inbox {
    padding-top: 64px;
  }

  .products-post .button-center {
    padding-top: 64px;
  }

  .products-post .image-list .image-list-item:nth-of-type(2) {
    padding-top: 0;
  }

  .single-products .tos-slide>img {
    min-width: 800px;
  }
}

/* voice */
.cont-main.voice .voice-area .voice-list {
  padding-bottom: 64px;
}

.cont-main.voice .voice-area .voice-list .voice-list-item {
  margin-bottom: 24px;
}

.cont-main.voice .voice-area .voice-list .voice-list-item .block-area .text-area {
  padding: 24px 0;
}

.cont-main.voice .voice-area .voice-list .voice-list-item .block-area .text-area .ttl {
  font-size: 18px;
  line-height: 32px;
  font-weight: 700;
  margin-bottom: 0;
}

.cont-main.voice .voice-area .voice-side .widget-term .ttl {
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  color: #2F9B49;
}

.cont-main.voice .voice-area .voice-side .widget-term .ttl [class^="ttl-"] {
  display: block;
}

.cont-main.voice .voice-area .voice-side .widget-term .ttl .ttl-jpn {
  font-size: 18px;
  line-height: 26px;
  font-weight: 900;
  color: #1D1D1D;
}

.cont-main.voice .voice-area .voice-side .widget-term .ttl .ttl-eng {
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  color: #2F9B49;
  padding-top: 8px;
}

.voice-list .voice-list-item.all {
  -ms-align-items: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 100%;
  max-width: 100%;
  border-right: none;
}

.voice-list .voice-list-item.all .cont {
  padding: 48px;
  background: #F6F6F6;
  text-align: center;
  width: 100%;
}

.voice-post .voice-post-item {
  padding-top: 48px;
}

.voice-post .voice-post-item:last-child {
  padding-bottom: 48px;
}

.other-voice {
  padding-top: 48px;
}

@media screen and (min-width: 992px) {
  .cont-main.voice .voice-area {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    margin-right: -16px;
    margin-left: -16px;
  }

  .cont-main.voice .voice-area .voice-list {
    display: flex;
    flex-wrap: wrap;
    flex: 0 0 calc(100% - 312px);
    max-width: calc(100% - 312px);
    padding-bottom: 0;
    padding-right: 16px;
    padding-left: 16px;
    margin-right: -16px;
    margin-left: -16px;
  }

  .cont-main.voice .voice-area .voice-list .voice-list-item {
    flex: 0 0 50%;
    max-width: 50%;
    padding-right: 16px;
    padding-left: 16px;
    padding-bottom: 32px;
  }

  .cont-main.voice .voice-area .voice-list .voice-list-item.all {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 16px;
    padding-left: 16px;
    padding-bottom: 32px;
  }

  .cont-main.voice .voice-area .voice-list .voice-list-item .block-area {}

  .cont-main.voice .voice-area .voice-list .voice-list-item .block-area .text-area {
    padding-top: 16px;
  }

  .cont-main.voice .voice-area .voice-side {
    flex: 0 0 312px;
    max-width: 312px;
    padding-right: 16px;
    padding-left: 16px;
  }

  .other-voice {
    padding-top: 80px;
  }

  .voice-post .voice-post-item {
    padding-top: 64px;
  }

  .voice-post .voice-post-item:last-child {
    padding-bottom: 64px;
  }

  .voice-post .voice-post-item .step-list-item {
    align-items: flex-start;
  }

  .voice-post .voice-post-item .step-list .step-list-item .text-area:last-child {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .voice-post .voice-post-item .step-list .step-list-item .image-area {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .voice-post .voice-post-item .step-list .step-list-item .text-area+.image-area {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .cont-main.voice .voice-area .voice-side .widget-term .ttl .ttl-jpn {
    font-size: 24px;
    line-height: 40px;
  }

  .cont-main.voice .voice-area .voice-side .widget-term .ttl .ttl-eng {
    font-size: 16px;
    line-height: 24px;
  }

  .cont-main.voice .other-voice .voice-area {
    display: block;
    margin-right: 0;
    margin-left: 0;
  }

  .cont-main.voice .other-voice .voice-area .voice-list {
    flex: 0 0 inherit;
    max-width: inherit;
    padding-bottom: 0;
    margin-right: -16px;
    margin-left: -16px;
  }
}

/* drawing */
.cont-main.drawing .drawing-area .drawing-list {
  display: flex;
  flex-wrap: wrap;
  margin-right: -8px;
  margin-left: -8px;
}

.drawing-list .drawing-list-item {
  flex: 0 0 50%;
  max-width: 50%;
  padding-right: 8px;
  padding-bottom: 32px;
  padding-left: 8px;
  margin-bottom: 48px;
  border-right: 1px solid #E2E1E1;
}

.drawing-list .drawing-list-item.all {
  -ms-align-items: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 100%;
  max-width: 100%;
  border-right: none;
}

.drawing-list .drawing-list-item.all .cont {
  padding: 48px;
  background: #F6F6F6;
  text-align: center;
  width: 100%;
}

.drawing-list .drawing-list-item .block-area {
  padding: 16px;
}

.drawing-list .drawing-list-item .text-area {
  padding-top: 16px;
}

.drawing-list .drawing-list-item .ttl {
  font-size: 18px;
  line-height: 32px;
  font-weight: 900;
  margin-bottom: 0;
}

.cont-main.drawing .drawing-area .drawing-side .widget-term .ttl {
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  color: #2F9B49;
}

.cont-main.drawing .drawing-area .drawing-side .widget-term .ttl [class^="ttl-"] {
  display: block;
}

.cont-main.drawing .drawing-area .drawing-side .widget-term .ttl .ttl-jpn {
  font-size: 18px;
  line-height: 26px;
  font-weight: 900;
  color: #1D1D1D;
}

.cont-main.drawing .drawing-area .drawing-side .widget-term .ttl .ttl-eng {
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  color: #2F9B49;
  padding-top: 8px;
}

@media screen and (max-width: 767px) {
  .drawing-list .drawing-list-item:nth-of-type(2n) {
    border-right: none;
  }
}

@media screen and (min-width: 768px) {
  .cont-main.drawing .drawing-area .drawing-list {
    margin-right: -16px;
    margin-left: -16px;
  }

  .drawing-list .drawing-list-item:nth-of-type(3n) {
    border-right: none;
  }

  .drawing-list .drawing-list-item {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
    padding-right: 16px;
    padding-left: 16px;
  }
}

@media screen and (min-width: 992px) {
  .drawing-list .drawing-list-item {
    margin-bottom: 64px;
  }

  .drawing-list .drawing-list-item .block-area {
    padding: 48px;
  }

  .cont-main.drawing .drawing-area .drawing-list .drawing-list-item .block-area {
    padding: 24px;
  }

  .cont-main.drawing .drawing-area {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    margin-right: -16px;
    margin-left: -16px;
  }

  .cont-main.drawing .drawing-area .drawing-list {
    flex: 0 0 calc(100% - 312px);
    max-width: calc(100% - 312px);
    padding-right: 16px;
    padding-bottom: 0;
    padding-left: 16px;
  }

  .drawing-post .main-image {
    padding-top: 64px;
  }

  .drawing-post .inbox {
    padding-top: 64px;
  }

  .other-drawing {
    padding-top: 80px;
  }

  .drawing-post .button-center {
    padding-top: 64px;
  }

  .cont-main.drawing .drawing-area .drawing-side {
    flex: 0 0 312px;
    max-width: 312px;
    padding-right: 16px;
    padding-left: 16px;
  }

  .cont-main.drawing .drawing-area .drawing-side .widget-term .ttl .ttl-jpn {
    font-size: 24px;
    line-height: 40px;
  }

  .cont-main.drawing .drawing-area .drawing-side .widget-term .ttl .ttl-eng {
    font-size: 16px;
    line-height: 24px;
  }
}

/* construction flow */
@media screen and (min-width: 992px) {
  .step-list .step-list-item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-right: -16px;
    margin-bottom: 64px;
    margin-left: -16px;
  }

  .step-list .step-list-item:nth-of-type(odd) {
    flex-direction: row-reverse;
  }

  .step-list .step-list-item .text-area {
    flex: 0 0 50%;
    max-width: 50%;
    padding-right: 16px;
    padding-left: 16px;
  }

  .step-list .step-list-item .image-area {
    flex: 0 0 50%;
    max-width: 50%;
    padding-top: 0;
    padding-right: 16px;
    padding-left: 16px;
  }
}

/* construction cost */
.cont-main.construction-cost .cont-item .image-area {
  margin-bottom: 48px;
}

.cont-main.construction-cost .cont-item .list-area .list-item {
  margin-bottom: 48px;
}

.cont-main.construction-cost .cont-item .list-area .list-item:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 992px) {
  .cont-main.construction-cost .cont-item .image-area {
    margin-bottom: 80px;
  }

  .cont-main.construction-cost .cont-item .list-area .list-item {
    margin-bottom: 80px;
  }
}

/* manufacturers */
.cont-main.manufacturers .cont-item.manufacturers {
  padding-top: 48px;
}

.cont-main.manufacturers .manufacturers-area .manufacturers-list {
  padding-bottom: 64px;
}

.cont-main.manufacturers .manufacturers-area .manufacturers-list .manufacturers-list-item {
  margin-bottom: 24px;
}

.cont-main.manufacturers .manufacturers-area .manufacturers-list .manufacturers-list-item .block-area {
  padding: 24px;
  position: relative;
  border: 1px solid #E6E6E6;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 180px;
}

.manufacturers-list .manufacturers-list-item .block-area::before {
  content: '';
  opacity: 0;
  background: #2F9B49;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  transition: 0.2s ease all;
}

.manufacturers-list .manufacturers-list-item .block-area:hover::before {
  opacity: 0.8;
}

.manufacturers-list .manufacturers-list-item .block-area .link {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  z-index: 2;
  transition: 0.2s ease all;
}

.manufacturers-list .manufacturers-list-item .block-area:hover .link {
  opacity: 1;
}

.manufacturers-list .manufacturers-list-item .block-area .link svg {
  width: 32px;
  height: 32px;
  fill: #FFF;
}

.cont-main.manufacturers .manufacturers-area .manufacturers-list .manufacturers-list-item .text-area {
  padding: 24px 0;
}

.cont-main.manufacturers .manufacturers-area .manufacturers-list .manufacturers-list-item .text-area .ttl {
  font-size: 18px;
  line-height: 32px;
  font-weight: 700;
  margin-bottom: 0;
}

.cont-main.manufacturers .manufacturers-area .manufacturers-list .manufacturers-list-item .text-area .metabox {
  padding-top: 8px;
}

.cont-main.manufacturers .manufacturers-area .manufacturers-side .widget-term .ttl {
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  color: #2F9B49;
}

.cont-main.manufacturers .manufacturers-area .manufacturers-side .widget-term .ttl [class^="ttl-"] {
  display: block;
}

.cont-main.manufacturers .manufacturers-area .manufacturers-side .widget-term .ttl .ttl-jpn {
  font-size: 18px;
  line-height: 26px;
  font-weight: 900;
  color: #1D1D1D;
}

.cont-main.manufacturers .manufacturers-area .manufacturers-side .widget-term .ttl .ttl-eng {
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  color: #2F9B49;
  padding-top: 8px;
}

.manufacturers-list .manufacturers-list-item.all {
  -ms-align-items: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 100%;
  max-width: 100%;
  border-right: none;
}

.manufacturers-list .manufacturers-list-item.all .cont {
  padding: 48px;
  background: #F6F6F6;
  text-align: center;
  width: 100%;
}

.other-manufacturers {
  padding-top: 48px;
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .cont-main.manufacturers .manufacturers-area .manufacturers-list {
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 0;
    margin-right: -16px;
    margin-left: -16px;
  }

  .cont-main.manufacturers .manufacturers-area .manufacturers-list .manufacturers-list-item {
    flex: 0 0 50%;
    max-width: 50%;
    padding-right: 16px;
    padding-left: 16px;
    padding-bottom: 32px;
  }
}

@media screen and (min-width: 992px) {
  .cont-main.manufacturers .cont-item.manufacturers {
    padding-top: 80px;
  }

  .cont-main.manufacturers .manufacturers-area {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    margin-right: -16px;
    margin-left: -16px;
  }

  .cont-main.manufacturers .manufacturers-area .manufacturers-list {
    display: flex;
    flex-wrap: wrap;
    flex: 0 0 calc(100% - 312px);
    max-width: calc(100% - 312px);
    padding-bottom: 0;
    margin-right: -16px;
    margin-left: -16px;
  }

  .cont-main.manufacturers .manufacturers-area .manufacturers-list .manufacturers-list-item {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
    padding-right: 16px;
    padding-left: 16px;
    padding-bottom: 32px;
  }

  .cont-main.manufacturers .manufacturers-area .manufacturers-list .manufacturers-list-item .block-area {
    height: 208px;
    padding: 32px;
  }

  .cont-main.manufacturers .manufacturers-area .manufacturers-list .manufacturers-list-item .text-area {
    padding-top: 16px;
  }

  .cont-main.manufacturers .manufacturers-area .manufacturers-side {
    flex: 0 0 312px;
    max-width: 312px;
    padding-right: 16px;
    padding-left: 16px;
  }

  .other-manufacturers {
    padding-top: 80px;
  }

  .cont-main.manufacturers .manufacturers-area .manufacturers-side .widget-term .ttl .ttl-jpn {
    font-size: 24px;
    line-height: 40px;
  }

  .cont-main.manufacturers .manufacturers-area .manufacturers-side .widget-term .ttl .ttl-eng {
    font-size: 16px;
    line-height: 24px;
  }

  .cont-main.manufacturers .other-manufacturers .manufacturers-area {
    display: block;
    margin-right: 0;
    margin-left: 0;
  }

  .cont-main.manufacturers .other-manufacturers .manufacturers-area .manufacturers-list {
    flex: 0 0 inherit;
    max-width: inherit;
    padding-bottom: 0;
    margin-right: -16px;
    margin-left: -16px;
  }
}

/* faq */
.nav-btn-area {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: -8px;
}

.nav-btn-area .nav-btn-area-item {
  padding: 8px;
}

.nav-btn-area .nav-btn-area-item .btn,
.nav-btn-area .nav-btn-area-item button {
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  width: 100%;
  min-width: 200px;
  padding: 12px;
}

.nav-btn-area .nav-btn-area-item button {
  color: #2F9B49;
  background: #F6F6F6;
  border-radius: 0;
  transition: 0.2s ease all;
}

.nav-btn-area .nav-btn-area-item button:hover,
.nav-btn-area .nav-btn-area-item button.active {
  color: #F6F6F6;
  background: #2F9B49;
  border-radius: 0;
  transition: 0.2s ease all;
}

@media screen and (max-width: 767px) {
  .nav-btn-area .nav-btn-area-item {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .cont-main.works .nav-btn-area .nav-btn-area-item:first-child {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .nav-btn-area .nav-btn-area-item .btn,
  .nav-btn-area .nav-btn-area-item button {
    display: block;
    min-width: inherit;
  }
}

@media screen and (min-width: 992px) {

  .nav-btn-area .nav-btn-area-item .btn,
  .nav-btn-area .nav-btn-area-item button {
    font-size: 16px;
    line-height: 24px;
    padding: 12px 24px;
  }
}

.faq .accordion_one {
  margin-bottom: 24px;
}

.faq .accordion_one:last-child {
  margin-bottom: 0;
}

.faq .accordion_one .accordion_header {
  color: #2F9B49;
  background-color: #F6F6F6;
  font-size: 18px;
  line-height: 26px;
  font-weight: 900;
  text-align: left;
  padding: 24px 60px;
  position: relative;
  z-index: 1;
  cursor: pointer;
  transition-duration: 0.2s;
}

.faq .accordion_one .head {
  font-size: 24px;
  line-height: 40px;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 24px;
  position: absolute;
  top: 24px;
  left: 24px;
}

.faq .accordion_one .accordion_header .head {
  color: #2F9B49;
}

.faq .accordion_one .accordion_inner .head {
  color: #2F9B49;
  opacity: 0;
  transition: 0.2s ease all;
}

.faq .accordion_one .accordion_header.open+.accordion_inner .head,
.faq .accordion_one .accordion_header.stay+.accordion_inner .head {
  opacity: 1;
  transition: 0.2s ease all;
}

.faq .accordion_one .accordion_header.open,
.faq .accordion_one .accordion_header.stay {
  color: #2F9B49;
}

.faq .accordion_one .accordion_header:hover {
  color: #2F9B49;
  opacity: 0.8;
}

.faq .accordion_one .accordion_header .i_box {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  right: 15px;
  width: 40px;
  height: 40px;
  margin-top: -20px;
  box-sizing: border-box;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transform-origin: center center;
  transition-duration: 0.2s;
}

.faq .accordion_one .accordion_header.stay .i_box {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}

.faq .accordion_one .accordion_header .i_box .one_i {
  display: block;
  width: 18px;
  height: 18px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transform-origin: center center;
  transition-duration: 0.2s;
  position: relative;
}

.faq .accordion_one .accordion_header.stay .i_box .one_i {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}

.faq .accordion_one .accordion_header.stay.open .i_box .one_i {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.faq .accordion_one .accordion_header.open .i_box {
  -webkit-transform: rotate(-360deg);
  transform: rotate(-360deg);
}

.faq .accordion_one .accordion_header.stay.open .i_box {
  -webkit-transform: rotate(315deg);
  transform: rotate(315deg);
}

.faq .accordion_one .accordion_header .i_box .one_i:before,
.faq .accordion_one .accordion_header .i_box .one_i:after {
  display: flex;
  content: '';
  background-color: #2F9B49;
  border-radius: 10px;
  width: 18px;
  height: 2px;
  position: absolute;
  top: 8px;
  left: 0;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  transform-origin: center center;
}

.faq .accordion_one .accordion_header.open .i_box .one_i:before,
.faq .accordion_one .accordion_header.open .i_box .one_i:after,
.faq .accordion_one .accordion_header.stay .i_box .one_i:before,
.faq .accordion_one .accordion_header.stay .i_box .one_i:after,
.faq .accordion_one .accordion_header:hover .i_box .one_i:before,
.faq .accordion_one .accordion_header:hover .i_box .one_i:after {
  background-color: #2F9B49;
}

.faq .accordion_one .accordion_header .i_box .one_i:before {
  width: 2px;
  height: 18px;
  top: 0;
  left: 8px;
}

.faq .accordion_one .accordion_header.stay .i_box .one_i:before {
  content: none;
}

.faq .accordion_one .accordion_header.open .i_box .one_i:before {
  content: none;
}

.faq .accordion_one .accordion_header.stay.open .i_box .one_i:before {
  content: "";
}

.faq .accordion_one .accordion_header.open .i_box .one_i:after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.faq .accordion_one .accordion_header.stay.open .i_box .one_i:after {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}

.faq .accordion_one .accordion_inner {
  display: none;
  box-sizing: border-box;
  padding: 16px;
  padding-left: 60px;
  position: relative;
}

.faq .accordion_one .accordion_inner.block {
  display: block;
}

.faq .accordion_one .accordion_inner.stay {
  display: block;
}

.faq .accordion_one .accordion_inner p.txt_a_ac {
  padding: 0;
  margin: 0;
  font-size: 16px;
  line-height: 32px;
}

@media screen and (min-width: 992px) {
  .faq .accordion_one {
    margin-bottom: 32px;
  }
}

/* company */
.president-area .position {
  display: block;
  margin-bottom: 5px;
}

.other .cont-main .cont-item .outbox.no-bottom {
  padding-bottom: 0;
  border-bottom: none;
}

.cont-main.company .inbox .metabox p {
  font-size: 16px;
  line-height: 32px;
  margin-bottom: 32px;
}

.president-area {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}

.president-area .position {
  margin-right: 16px;
  margin-bottom: 0;
}

.dd-list {
  display: flex;
  flex-wrap: wrap;
  margin: -8px;
}

.dd-list .dd-list-item {
  display: flex;
  flex: 0 0 100%;
  max-width: 100%;
  padding: 8px;
}

.dd-list .dd-list-item {
  padding-bottom: 0;
}

.dd-list .dd-list-item+.dd-list-item {
  padding-top: 0;
}

.dd-list .dd-list-item:last-child {
  padding-bottom: 8px;
}

.dd-list .dd-list-item li {
  padding-left: 16px;
  position: relative;
}

.dd-list .dd-list-item li::before {
  content: '';
  background-image: url(img/common/breadcrumbs.svg);
  background-repeat: no-repeat;
  background-position: center 6px;
  background-size: 8px;
  padding: 0 6px;
  width: 16px;
  height: 16px;
  display: inline-block;
  position: absolute;
  top: 2px;
  left: 0;
}

@media screen and (min-width: 992px) {
  .greeting-list {
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
    padding-top: 24px;
  }

  .greeting-list-item {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .cont-main.company .inbox .metabox p {
    font-size: 18px;
    line-height: 36px;
    margin-bottom: 36px;
  }

  .dd-list .dd-list-item {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .dd-list .dd-list-item+.dd-list-item {
    padding-top: 8px;
  }
}

.map iframe {
  width: 100%;
}

/* staff-blog */
.cont-main.post .post-area .post-list {
  padding-bottom: 64px;
}

.cont-main.post .post-area .post-list .post-list-item {
  margin-bottom: 24px;
}

.cont-main.post .post-area .post-list .post-list-item .block-area .text-area {
  padding: 24px 0;
}

.cont-main.post .post-area .post-list .post-list-item .block-area .text-area .date {
  padding-bottom: 8px;
}

.cont-main.post .post-area .post-list .post-list-item .block-area .text-area .ttl {
  font-size: 18px;
  line-height: 32px;
  font-weight: 700;
  margin-bottom: 0;
}

.cont-main.post .post-area .post-side .widget {
  padding-bottom: 32px;
}

.cont-main.post .post-area .post-side .widget .ttl {
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  color: #2F9B49;
}

.cont-main.post .post-area .post-side .widget .ttl [class^="ttl-"] {
  display: block;
}

.cont-main.post .post-area .post-side .widget .ttl .ttl-jpn {
  font-size: 18px;
  line-height: 26px;
  font-weight: 900;
  color: #1D1D1D;
}

.cont-main.post .post-area .post-side .widget .ttl .ttl-eng {
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  color: #2F9B49;
  padding-top: 8px;
}

.post-list .post-list-item.all {
  -ms-align-items: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 100%;
  max-width: 100%;
  border-right: none;
}

.post-list .post-list-item.all .cont {
  padding: 48px;
  background: #F6F6F6;
  text-align: center;
  width: 100%;
}

.post-post .post-post-item {
  padding-top: 48px;
}

.post-post .post-post-item:last-child {
  padding-bottom: 48px;
}

.post-post .inbox {
  padding-top: 48px;
}

.post-post .inbox .image-area+.metabox {
  padding-top: 48px;
}

.post-post .button-center {
  padding-top: 48px;
}

.other-post {
  padding-top: 0;
}

@media screen and (min-width: 992px) {
  .cont-main.post .post-area {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    margin-right: -16px;
    margin-left: -16px;
  }

  .cont-main.post .post-area .post-list {
    flex: 0 0 calc(100% - 312px);
    max-width: calc(100% - 312px);
  }

  .cont-main.post .post-area .post-list .post-list-item {
    padding-right: 16px;
    padding-left: 16px;
    padding-bottom: 32px;
  }

  .cont-main.post .post-area .post-list .post-list-item .block-area {
    display: flex;
    flex-wrap: wrap;
  }

  .cont-main.post .post-area .post-list .post-list-item .block-area .image-area {
    flex: 0 0 240px;
    max-width: 240px;
  }

  .cont-main.post .post-area .post-list .post-list-item .block-area .text-area {
    flex: 0 0 calc(100% - 240px);
    max-width: calc(100% - 240px);
    padding-top: 16px;
    padding-left: 32px;
  }

  .cont-main.post .post-area .post-side {
    flex: 0 0 312px;
    max-width: 312px;
    padding-right: 16px;
    padding-left: 16px;
  }

  .post-post .inbox {
    padding-top: 80px;
  }

  .post-post .inbox .image-area+.metabox {
    padding-top: 80px;
  }

  .post-post .button-center {
    padding-top: 80px;
  }

  .other-post {
    padding-top: 0;
  }

  .post-post .post-post-item {
    padding-top: 64px;
  }

  .post-post .post-post-item:last-child {
    padding-bottom: 64px;
  }

  .cont-main.post .post-area .post-side .widget {
    padding-bottom: 48px;
  }

  .cont-main.post .post-area .post-side .widget .ttl .ttl-jpn {
    font-size: 24px;
    line-height: 40px;
  }

  .cont-main.post .post-area .post-side .widget .ttl .ttl-eng {
    font-size: 16px;
    line-height: 24px;
  }

  .cont-main.post .other-post .post-area {
    display: block;
    margin-right: 0;
    margin-left: 0;
  }

  .cont-main.post .other-post .post-area .post-list {
    flex: 0 0 inherit;
    max-width: inherit;
    padding-bottom: 0;
    margin-right: -16px;
    margin-left: -16px;
  }
}

.widget-post-archive .select-box {
  display: block;
}

.widget-post-topics .info-area .text {
  line-height: 1.5;
}

.widget-area>div {
  margin-bottom: 30px;
}

.widget ul {
  padding-left: 0;
  margin-bottom: 0;
}

.widget ul li {
  display: block;
}

.widget {
  padding: 0;
}

.widget>ul {
  margin: 0;
}

.widget>ul>li {
  padding: 0;
  border-top: 1px solid #d6d6d6;
}

.widget>ul>li:last-child {
  border-bottom: 1px solid #d6d6d6;
}

.widget>ul>li a {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  flex-wrap: flex;
  padding: 16px 0;
  position: relative;
}

.widget>ul>li a .icon {
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
}

.widget>ul>li a .icon svg {
  width: 12px;
  height: 12px;
}

.widget>ul>li a:hover .icon svg {
  fill: #2F9B49;
}

.widget>ul>li .date {
  font-size: 14px;
  display: block;
  margin-bottom: 5px;
}

.widget>ul>li .metabox p {
  line-height: 1;
}

#searchform .btn {
  min-width: inherit;
}

.nav-below {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  margin: 0;
}

.nav-below .nav-next {
  float: left;
}

.nav-below .nav-previous {
  float: right;
}

.nav-below .nav-next a,
.nav-below .nav-previous a {
  position: relative;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: inherit;
}

.nav-below a:hover,
.nav-below a:active,
.nav-below a:focus {
  opacity: .5;
}

.nav-below .nav-next a {
  text-align: left;
}

.nav-below .nav-previous a {
  text-align: right;
}

.nav-below .nav-next a:before,
.nav-below .nav-previous a:before {
  font-family: ionicons;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.nav-below .nav-next a:before {
  content: '\f3d2';
  left: 1em;
}

.nav-below .nav-previous a:before {
  content: '\f3d3';
  right: 1em;
}

.nav-below span {
  text-align: center;
  width: 33.333333%;
}

.nav-below .nav-next,
.nav-below .nav-previous {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nav-below .nav-next {
  text-align: left;
}

.nav-below .nav-previous {
  text-align: right;
}

.nav-below .nav-next a {
  padding: 1em 1em 1em 2em;
}

.nav-below .archive a {
  padding: 1em;
}

.nav-below .nav-previous a {
  padding: 1em 2em 1em 1em;
}

.nav-below span a {
  display: inline-block;
  border: none;
  background: none;
}

@media screen and (max-width: 767px) {
  .nav-below span {
    font-size: .8em;
  }
}

.bg-common.post.blog .row-blog .item-main.archive>.cont>.cont-main>[class^="block_"] {
  border-bottom: 1px solid #d6d6d6;
}

.bg-common.post.blog .row-blog .item-main.archive>.cont>.cont-main>[class^="block_"]:last-child {
  border-bottom: none;
}

/* pagination */
.pagination {
  clear: both;
  padding: 0;
  position: relative;
  font-size: 18px;
  line-height: 27px;
  width: 100%;
  text-align: center;
  justify-content: center;
}

.pagination .pagination-box {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-content: center;
  justify-content: center;
  margin-right: -8px;
  margin-left: -8px;
  flex-wrap: wrap;
}

.pagination .page-numbers.dots {
  color: #2F9B49;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
}

.pagination a,
.pagination .current,
.pagination .next,
.pagination .prev {
  line-height: 48px;
  font-weight: 900;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 48px;
}

.pagination a {
  color: #1D1D1D;
  text-decoration: none;
  background: #FFF;
  border: 1px solid #E2E1E1;
}

.pagination a:hover,
.pagination a:active,
.pagination a:focus {
  color: #fff;
  background: #2F9B49;
  border: 1px solid #2F9B49;
}

.pagination .current {
  color: #fff;
  text-decoration: none;
  background: #2F9B49;
}

.pagination .next,
.pagination .prev {
  background: transparent;
  border: 1px solid #E2E1E1;
}

.pagination a.next:hover,
.pagination a.prev:hover {
  background: #2F9B49;
  border: 1px solid #2F9B49;
}

.pagination a svg {
  width: 15px;
  height: 15px;
  stroke: #000;
}

.pagination a:hover svg {
  stroke: #fff;
}

@media (max-width: 767px) {
  .pagination {
    margin-bottom: 80px;
  }

  .pagination a,
  .pagination .current {
    margin: 6px;
  }

  .pagination .page-numbers.dots {
    padding: 6px;
  }
}

@media (min-width: 768px) {

  .pagination a,
  .pagination .current {
    margin: 8px;
  }

  .pagination .page-numbers.dots {
    padding: 8px;
  }
}

/* sitemap */
.sitemap-menu .dropdown-toggle::after {
  display: none;
}

.sitemap-menu .container-fluid.inner {
  max-width: inherit;
  padding: 0;
}

.sitemap-menu #menu-sitemap>li {
  display: block;
  text-align: left;
  width: 100%;
  padding: 0;
  float: left;
}

.sitemap-menu .dropdown>.dropdown-menu .container-fluid.inner li.item {
  background-color: #f6f6f6;
  width: auto;
  padding-right: 0;
  padding-left: 0;
}

.sitemap-menu #menu-sitemap>li>a {
  display: inline-block;
}

.sitemap-menu #menu-sitemap>li>a .link-menu {
  padding: 1rem;
}

.sitemap-menu .navbar-nav .nav-link .link-menu {
  padding: 1rem;
}

.sitemap-menu .navbar-nav li .dropdown-menu {
  padding: 0;
  position: relative;
  top: 0;
  left: 0;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: start;
  align-items: start;
  flex-wrap: wrap;
  opacity: 1;
  background: none;
  pointer-events: all;
}

.sitemap-menu .navbar-nav li .dropdown-menu>li {
  display: block;
}

.sitemap-menu .navbar-nav li .dropdown-menu>li>a {
  font-size: 16px;
  color: #1D1D1D;
  font-weight: normal;
  padding: 1rem;
  border-left: 2px solid #dedede;
}

.sitemap-menu .navbar-nav li .dropdown-menu>li.dropdown>a {
  margin-bottom: 56px;
}

.sitemap-menu .navbar-nav li .dropdown-menu>li>.dropdown-menu {
  background: none;
  position: absolute;
  top: 56px;
  display: flex;
}

.sitemap-menu .navbar-nav li .dropdown-menu>li>.dropdown-menu>li>a {
  background: #f9f9f9;
}

@media screen and (max-width: 767px) {
  .sitemap-menu #menu-sitemap li a {
    font-size: 14px;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .sitemap-menu .navbar-nav li .dropdown-menu>li.dropdown>a {
    margin-bottom: 40px;
  }

  .sitemap-menu .navbar-nav li .dropdown-menu>li>.dropdown-menu {
    top: 40px;
  }

  .sitemap-menu .navbar-nav li .dropdown-menu>li {
    display: block;
    width: 50%;
  }

  .sitemap-menu .navbar-nav li .dropdown-menu>li>.dropdown-menu>li {
    width: 33.333333%;
  }
}

/* contact */
.bg-common.contact.closing {
  background: #000;
  background: #F6F6F6;
}

.home .bg-common.contact.closing .outbox,
.other .bg-common.contact.closing .outbox {
  padding-top: 0;
  padding-bottom: 0;
  border-bottom: none;
  max-width: inherit;
}

.bg-common.contact.closing .outbox .text-area {
  margin-bottom: 32px;
}

.bg-common.contact.closing .contact-area ul {
  display: block;
  padding: 0;
  margin: 0;
}

.bg-common.contact.closing .contact-area ul li {
  margin-bottom: 16px;
}

.bg-common.contact.closing .contact-area ul li:last-child {
  margin-bottom: 0;
}

.bg-common.contact.closing .contact-area ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
}

.bg-common.contact.closing .contact-area ul li a svg {
  width: 24px;
  height: 24px;
  position: relative;
  top: inherit;
  right: inherit;
  transform: none;
}

.bg-common.contact.closing .contact-area ul li a .icon+.text {
  padding-left: 8px;
}

.bg-common.contact.closing .contact-area ul li.tel a {
  font-size: 20px;
  line-height: 28px;
  font-weight: 500;
}

.bg-common.contact.closing .contact-area ul li.mail a {
  font-size: 16px;
  line-height: 24px;
  font-weight: 900;
}

@media screen and (min-width: 992px) {
  .bg-common.contact.closing .outbox {
    display: flex;
  }

  .bg-common.contact.closing .outbox .text-area {
    flex: 0 0 444px;
    max-width: 444px;
    margin-bottom: 0;
  }

  .bg-common.contact.closing .outbox .text-area+.contact-area {
    flex: 0 0 calc(100% - 444px);
    max-width: calc(100% - 444px);
    padding-left: 32px;
  }

  .bg-common.contact.closing .contact-area ul li {
    margin-bottom: 32px;
  }

  .bg-common.contact.closing .contact-area ul li a svg {
    width: 40px;
    height: 40px;
  }

  .bg-common.contact.closing .contact-area ul li a .icon+.text {
    padding-left: 16px;
  }

  .bg-common.contact.closing .contact-area ul li.tel a {
    font-size: 40px;
    line-height: 48px;
  }

  .bg-common.contact.closing .contact-area ul li.mail a {
    font-size: 32px;
    line-height: 48px;
  }
}

@media screen and (min-width: 1201px) {
  .bg-common.contact.closing .contact-area ul li a svg {
    width: 48px;
    height: 48px;
  }

  .bg-common.contact.closing .contact-area ul li.tel a {
    font-size: 48px;
    line-height: 56px;
  }

  .bg-common.contact.closing .contact-area ul li.mail a {
    font-size: 40px;
    line-height: 56px;
  }
}

dl dd label {
  cursor: pointer;
}

.table-contact dl dt label {
  padding-right: 45px;
  position: relative;
  cursor: auto;
}

.table-contact dl dt label span {
  font-size: 12px;
  font-weight: 700;
  line-height: 1em;
  width: 40px;
  height: 24px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  justify-content: center;
  margin-top: -12px;
  position: absolute;
  top: 50%;
  right: 0;
  border-radius: 2px;
}

.table-contact dl.req dt label span {
  color: #dc3545;
  border: 1px solid #dc3545;
}

.table-contact dl.any dt label span {
  color: #2F9B49;
  border: 1px solid #2F9B49;
}

.page-confirm .table-contact dl.req dt label span {
  display: none;
}

.page-confirm .table-contact dl.any dt label span {
  display: none;
}

input[type=checkbox],
input[type=radio] {
  vertical-align: middle;
  margin: -4px 0.2rem 0 .2rem;
}

input[type=radio] {
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid #e5e5e5;
  background: #f9f9f9;
  border-radius: 20px;
  cursor: pointer;
}

input[type="radio"]:checked {
  background: #2F9B49;
  border-color: #1a6a2d;
  box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.3);
}

.form-control {
  font-size: 16px;
  font-weight: 400;
  height: auto;
  padding: 10px 12px;
  background: #fff;
  border-radius: 2px;
  box-shadow: none;
  border: 2px solid #e6e6e6;
}

.mwform-tel-field input {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .mwform-tel-field input {
    width: 30% !important;
  }
}

.select-box {
  display: inline-block;
  position: relative;
}

@media screen and (max-width: 767px) {
  .select-box {
    width: 100%;
  }
}

.select-box svg {
  display: block;
  width: 12px;
  height: 12px;
  position: absolute;
  top: 18px;
  right: 16px;
  z-index: 1;
  fill: #1D1D1D;
  pointer-events: none;
}

.mw_wp_form_confirm .select-box svg {
  display: none;
}

.select-box select {
  -webkit-appearance: none;
  appearance: none;
  /* デフォルトの矢印を非表示 */
  padding-right: 40px;
}

.select-box select::-ms-expand {
  display: none;
  /* デフォルトの矢印を非表示(IE用) */
}

.search form {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  position: relative;
}

.search form button {
  background: #2F9B49;
  border: none;
  padding: 12px;
  width: 48px;
  height: 48px;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}

.search form button svg {
  width: 24px;
  height: 24px;
  display: block;
  fill: #fff;
}

.form-search {
  color: #92999B;
  font-weight: 400;
  height: 48px;
  padding-right: 56px;
}

.form-search::placeholder {
  color: #92999B;
  font-weight: 400;
}

input::placeholder {
  color: #898989 !important;
}

/* page-top */
#page_top {
  position: fixed;
  right: 16px;
  bottom: 16px;
  opacity: 1;
  z-index: 5;
}

#page_top a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  text-decoration: none;
  position: relative;
  background: #E2E1E1;
  border-radius: 64px;
  transform: scale(0.8);
}

#page_top a:hover {
  width: 80px;
  height: 80px;
  border-radius: 80px;
  background: #2F9B49;
  transform: scale(1);
}

#page_top a svg {
  width: 18px;
  height: 18px;
  fill: #1D1D1D;
  transform: rotate(-90deg);
}

#page_top a:hover svg {
  fill: #E2E1E1;
}

#page-top a:hover {
  text-decoration: none;
  background: #999;
}

/* footer */
footer {
  background: #1D1D1D;
}

footer .navbar-nav>li {
  border-bottom-color: #000;
}

footer .navbar-nav>li:first-child {
  border-top-color: #000;
}

footer .navbar-nav .nav-link .link-menu {
  padding: 1rem;
}

footer .footer-top-area {
  padding: 48px 0 0;
}

footer .footer-top-area .footer-menu {
  margin-right: -8px;
  margin-left: -8px;
}

footer .footer-top-area #menu-footer {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  margin-right: 0;
  margin-left: 0;
}

footer .footer-top-area #menu-footer .nav-item ul .nav-item {
  display: block;
}

footer .footer-top-area #menu-footer>.nav-item {
  flex: 0 0 50%;
  max-width: 50%;
  padding-right: 8px;
  padding-left: 8px;
}

footer .footer-top-area #menu-footer>.nav-item .nav-link {
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
}

footer .footer-top-area #menu-footer>.nav-item .nav-link [class^="ttl-"] {
  display: block;
}

footer .footer-top-area #menu-footer>.nav-item .nav-link .ttl-eng {
  font-size: 14px;
  line-height: 20px;
  color: #2F9B49;
  font-weight: 500;
  text-transform: uppercase;
  padding-top: 4px;
}

footer .footer-top-area #menu-footer .nav-item .nav-link {
  color: #fff;
}

footer .footer-top-area #menu-footer .nav-item ul {
  padding-top: 16px;
  padding-bottom: 48px;
  padding-left: 0;
}

footer .footer-top-area #menu-footer .nav-item ul .nav-item .nav-link {
  font-size: 14px;
  line-height: 28px;
  font-weight: 400;
  text-decoration: underline;
}

footer .footer-bottom-area {
  background: #fff;
  padding: 32px 0;
  padding-bottom: 120px;
  border-top: 1px solid #2D2D2D;
}

footer .footer-bottom-area .footer-bottom {
  display: block;
}

footer .footer-bottom-area .footer-bottom .footer-bottom-left .company-data {
  padding-top: 16px;
}

footer .footer-bottom-area .footer-bottom .footer-bottom-right {
  text-align: center;
  padding-top: 24px;
}

footer .footer-bottom-area .footer-bottom .footer-bottom-right .footer-sub-menu #menu-footer-sub {
  margin-bottom: 48px;
}

footer .footer-bottom-area .footer-bottom .footer-bottom-right .footer-sub-menu #menu-footer-sub .nav-item {
  margin-bottom: 24px;
}

footer .footer-bottom-area .footer-bottom .footer-bottom-right .footer-sub-menu #menu-footer-sub .nav-item:last-child {
  margin-bottom: 0;
}

footer .footer-bottom-area .footer-bottom .footer-bottom-right .footer-sub-menu #menu-footer-sub .nav-item .nav-link {
  font-size: 14px;
  line-height: 28px;
  font-weight: 400;
  text-decoration: underline;
  text-align: center;
}

footer .footer-bottom-area .footer-bottom .footer-bottom-right .footer-address {
  font-size: 14px;
  line-height: 28px;
  display: block;
}

@media screen and (min-width: 992px) {
  footer .footer-top-area #menu-footer>.nav-item {
    flex: 0 0 25%;
    max-width: 25%;
  }

  footer .footer-top-area #menu-footer>.nav-item .nav-link {
    font-size: 24px;
    line-height: 40px;
  }

  footer .footer-top-area #menu-footer>.nav-item .nav-link [class^="ttl-"] {
    display: block;
  }

  footer .footer-top-area #menu-footer>.nav-item .nav-link .ttl-eng {
    font-size: 16px;
    line-height: 24px;
  }

  footer .footer-top-area #menu-footer .nav-item .link-menu {
    padding: 5px 10px;
  }

  footer .footer-top-area #menu-footer .nav-item ul {
    padding-top: 24px;
    padding-bottom: 64px;
  }

  footer .footer-top-area #menu-footer .nav-item ul .nav-item .nav-link {
    font-size: 16px;
    line-height: 32px;
  }

  footer .footer-top-area {
    padding: 120px 0 56px;
  }

  footer .footer-bottom-area {
    padding: 64px 0;
  }

  footer .footer-bottom-area .footer-bottom {
    /* display: flex;
    justify-content: flex-start;
    align-items: flex-end; */
    display: block;
    text-align: left;
  }

  footer .footer-bottom-area .footer-bottom .footer-bottom-left {
    flex: 0 0 320px;
    max-width: 320px;
  }

  footer .footer-bottom-area .footer-bottom .footer-bottom-left .company-data {
    padding-top: 24px;
  }

  footer .footer-bottom-area .footer-bottom .footer-bottom-right {
    /* text-align: right;
    flex: 0 0 calc(100% - 320px);
    max-width: calc(100% - 320px); */
    text-align: left;
    padding-top: 24px;
    margin-left: auto;
  }

  footer .footer-bottom-area .footer-bottom .footer-bottom-right .footer-sub-menu #menu-footer-sub {
    margin-right: -8px;
    margin-bottom: 32px;
    margin-left: -8px;
  }

  footer .footer-bottom-area .footer-bottom .footer-bottom-right .footer-sub-menu #menu-footer-sub .nav-item {
    padding-right: 8px;
    padding-left: 8px;
    margin-bottom: 0;
  }

  footer .footer-bottom-area .footer-bottom .footer-bottom-right .footer-sub-menu #menu-footer-sub .nav-item .nav-link {
    text-align: left;
  }
}

@media screen and (min-width: 1201px) {
  footer .footer-top-area #menu-footer>.nav-item .nav-link {
    font-size: 32px;
    line-height: 48px;
  }
}

/* recruit */
.cont-item.message .step-list .step-list-item .image-area {
  padding-top: 0;
}

.cont-item.message .step-list .step-list-item .text-area {
  padding-top: 24px;
}

.day-area {
  padding-top: 48px;
}

.day-list .day-list-item {
  padding-bottom: 32px;
}

.day-list .day-list-item p.title {
  margin-bottom: 16px;
}

.day-list .day-list-item p.title span {
  display: block;
}

.day-list .day-list-item p.title .time {
  font-size: 24px;
  line-height: 40px;
  font-weight: 500;
  color: #2F9B49;
}

.day-list .day-list-item p.title .text {
  font-size: 24px;
  line-height: 40px;
  font-weight: 900;
}

.training-list .training-list-item {
  padding-bottom: 32px;
}

.training-list .training-list-item .text-area {
  padding-top: 16px;
}

.button-entry {
  padding-top: 48px;
}

.button-entry .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.button-entry .btn .icon {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  max-width: 32px;
  position: relative;
}

.button-entry .btn .icon svg {
  width: 32px;
  height: 32px;
  display: block;
  top: inherit;
  right: inherit;
  transform: none;
}

.button-entry .btn .text {
  font-size: 24px;
  line-height: 40px;
  font-weight: 900;
  padding-left: 8px;
}

@media screen and (min-width: 992px) {
  .cont-item.message .step-list .step-list-item .image-area {
    padding-top: 0;
  }

  .cont-item.message .step-list .step-list-item .text-area {
    padding-top: 0;
  }

  .day-area {
    padding-top: 64px;
  }

  .day-list {
    display: flex;
    flex-wrap: wrap;
    margin-right: -16px;
    margin-left: -16px;
  }

  .day-list .day-list-item {
    flex: 0 0 50%;
    max-width: 50%;
    padding-right: 16px;
    padding-bottom: 48px;
    padding-left: 16px;
  }

  .day-list .day-list-item p.title {
    margin-bottom: 24px;
  }

  .day-list .day-list-item p.title .time {
    font-size: 20px;
    line-height: 28px;
  }

  .day-list .day-list-item p.title .text {
    font-size: 32px;
    line-height: 48px;
  }

  .training-list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-right: -16px;
    margin-left: -16px;
  }

  .training-list .training-list-item {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
    padding-right: 16px;
    padding-bottom: 0;
    padding-left: 16px;
  }

  .training-list .training-list-item .text-area {
    padding-top: 24px;
  }

  .button-entry .btn {
    padding: 32px;
  }

  .button-entry .btn .icon {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    max-width: 48px;
    position: relative;
    top: inherit;
    right: inherit;
    transform: none;
  }

  .button-entry .btn .icon svg {
    width: 48px;
    height: 48px;
  }

  .button-entry .btn .text {
    font-size: 40px;
    line-height: 56px;
    padding-left: 16px;
  }
}

.grecaptcha-badge {
  margin: 15px auto;
}

/* 20231221 */
.bnr-fixed {
  width: 280px;
  position: fixed;
  bottom: 24px;
  left: 24px;
  z-index: 10;
}

@media screen and (min-width: 768px) {
  .bnr-fixed {
    width: auto;
    right: 112px;
    bottom: 48px;
    left: inherit;
  }

  .bnr-fixed .block-area {
    width: 320px;
  }
}


@media (min-width: 1580px) {
  .navbar-expand-lg .navbar-toggler {
    display: none;
  }
}

.flex-box {
  display: flex;
  width: 100%;
  gap: 24px;
  margin-top: 24px;
}

.access-txt {
  font-size: 18px;
  margin-top: 8px;
}