@charset "UTF-8";
/* box-sizing: border-box;を設定 */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* フォントサイズの拡大を防ぐ */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: none;
      text-size-adjust: none;
}

/* デフォルトのマージンを削除、作成するCSSの制御を改善するため */
body, h1, h2, h3, h4, p,
figure, blockquote, dl, dd {
  margin: 0;
}

/* リストのスタイルを削除、これはデフォルトのスタイルが削除されることを示唆します */
ul[role=list],
ol[role=list] {
  list-style: none;
}

/* bodyのデフォルトを設定 */
body {
  min-height: 100vh;
  line-height: 1.5;
}

/* 見出しやインタラクティブ要素のline-heightを設定 */
h1, h2, h3, h4,
button, input, label {
  line-height: 1.1;
}

/* 見出しのテキスト折り返しをbalanceに設定 */
h1, h2,
h3, h4 {
  text-wrap: balance;
}

/* classを持たないa要素はデフォルトのスタイルを継承 */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  color: currentColor;
}

/* 画像の扱いを簡単にする */
img,
picture {
  max-width: 100%;
  display: block;
}

/* inputやbuttonなどのfontは継承 */
input, button,
textarea, select {
  font: inherit;
}

/* rows属性のないtextareasが小さくならないようにする */
textarea:not([rows]) {
  min-height: 10em;
}

/* アンカーされている要素には余分なスクロールマージンが必要 */
:target {
  scroll-margin-block: 5ex;
}

a {
  text-decoration: none;
  color: inherit;
  overflow-wrap: break-word;
}
a:hover {
  color: #3d7a5d;
}

p + p {
  margin-top: 2rem;
}

.uppercase {
  text-transform: uppercase;
}

@media screen and (min-width: 820px) {
  .spOnly {
    display: none !important;
  }
}
@media screen and (max-width: 819px) {
  .pcOnly {
    display: none !important;
  }
}
.pb0 {
  padding-bottom: 0 !important;
}

.pr0 {
  padding-right: 0 !important;
}

.pl0 {
  padding-left: 0 !important;
}

.mta {
  margin-top: auto !important;
}

.mt0 {
  margin-top: 0 !important;
}

.mt0-5r {
  margin-top: 0.5rem !important;
}

.mt1r {
  margin-top: 1rem !important;
}

.mt1-5r {
  margin-top: 1.5rem !important;
}

.mt2r {
  margin-top: 2rem !important;
}

.mt3r {
  margin-top: 3rem !important;
}

.mt4r {
  margin-top: 4rem !important;
}

.mt40p {
  margin-top: 40px !important;
}

.mt60p {
  margin-top: 60px !important;
}

.mt80p {
  margin-top: 80px !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.mb1r {
  margin-bottom: 1rem !important;
}

.mb1-5r {
  margin-bottom: 1.5rem !important;
}

.mb2r {
  margin-bottom: 2rem !important;
}

.mb3r {
  margin-bottom: 3rem !important;
}

.fz1r {
  font-size: 1rem;
}

.fz18 {
  font-size: 1.125rem;
}
@media screen and (max-width: 768px) {
  .fz18 {
    font-size: 0.9375rem;
  }
}

html, body {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}
@media screen and (max-width: 768px) {
  html, body {
    scroll-padding-top: 60px;
  }
}
@media screen and (min-width: 769px) {
  html, body {
    scroll-padding-top: 120px;
  }
}

body {
  position: relative;
  color: #333;
  counter-reset: number 0;
  line-height: 1.7143;
}

*:focus {
  outline: none;
}

.text-center {
  text-align: center;
}
.text-center img {
  margin-left: auto;
  margin-right: auto;
}

.text-left {
  text-align: left !important;
}

.text-right {
  text-align: right !important;
}

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

.is-hidden {
  display: none !important;
}

.Roboto {
  font-family: "Roboto", sans-serif;
}

.Montserrat {
  font-family: "Montserrat", sans-serif;
}

.bold {
  font-weight: 700;
}

.tt-uc {
  text-transform: uppercase;
}

.tt-cap {
  text-transform: capitalize;
}

.hov-shadow {
  display: inline-block;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.hov-shadow:hover {
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
  -webkit-box-shadow: 0px 3px 11px -6px rgba(0, 0, 0, 0.8);
          box-shadow: 0px 3px 11px -6px rgba(0, 0, 0, 0.8);
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  img[src*=".svg"] {
    width: 100%;
    height: 100%;
  }
}
.wrapper {
  overflow: hidden;
}

main {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 769px) {
  body:not(.top) main {
    padding-top: 60px;
  }
  body.top main {
    padding-top: 120px;
  }
}
@media screen and (max-width: 768px) {
  main {
    padding-top: 60px;
  }
}
body:not(.top) main {
  background-color: #ededed;
}

section {
  padding-top: 80px;
  padding-bottom: 100px;
}
@media screen and (max-width: 768px) {
  section {
    padding-top: 2rem;
    padding-bottom: 2.5rem;
  }
}
section.bg {
  background-color: #e9e9e9;
}
section.bg + .bg {
  padding-top: 20px;
}

.page-header {
  padding-top: 1rem;
  padding-bottom: 1rem;
  background-color: #fff;
  text-align: center;
}
.page-header .inner {
  position: relative;
}
.page-header:not(.large) .page-title {
  font-size: clamp(2rem, 1.659rem + 1.45vw, 2.75rem);
  font-weight: 700;
  margin: 0 auto;
  line-height: 1.1;
}
.page-header.large {
  padding-top: 3rem;
}
@media screen and (max-width: 768px) {
  .page-header.large {
    padding-top: 1.5rem;
  }
}
.page-header.large .page-title {
  font-size: clamp(2.125rem, 1.33rem + 3.39vw, 3.875rem);
}
.page-header .searchbox {
  position: absolute;
  top: 1rem;
  right: 30px;
  width: 300px;
}
.page-header .page-description {
  margin-top: 1rem;
  color: #555;
  font-size: clamp(0.813rem, 0.727rem + 0.36vw, 1rem);
  line-height: 1.3077;
}
@media screen and (max-width: 768px) {
  .page-header .page-description {
    margin-top: 0.5rem;
  }
}
.page-header .header-search {
  position: absolute;
  right: 1rem;
  top: 0.5rem;
}
@media screen and (max-width: 768px) {
  .page-header .header-search {
    top: 0.3rem;
  }
}
.page-header .header-search i {
  color: #666;
  padding: 0.5rem;
}
.page-header .header-search:hover i {
  color: #333;
}

.magazine-categories-list-border {
  overflow: auto;
  border-bottom: 1px solid #333;
  max-width: 1200px;
  margin: 0 auto;
  padding: 2rem 1.75rem 0;
}
@media screen and (max-width: 768px) {
  .magazine-categories-list-border {
    padding: 0 0.5rem;
  }
}
.magazine-categories-list-border ul {
  margin: 0;
  list-style-type: none;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.magazine-categories-list-border ul li {
  margin: 0 1rem;
}
@media screen and (max-width: 768px) {
  .magazine-categories-list-border ul li {
    margin: 0 10px;
  }
}
.magazine-categories-list-border ul a {
  font-weight: 700;
  display: block;
  position: relative;
  font-size: clamp(0.75rem, 0.636rem + 0.48vw, 1rem);
  padding: 0.5rem 0;
}
@media screen and (max-width: 768px) {
  .magazine-categories-list-border ul a {
    font-weight: 500;
  }
}
.magazine-categories-list-border ul a:hover, .magazine-categories-list-border ul a.current {
  color: inherit;
}
.magazine-categories-list-border ul a:hover::after, .magazine-categories-list-border ul a.current::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-color: #333;
  position: absolute;
  bottom: 0;
  left: 0;
}

.breadcrumbs {
  max-width: 1200px;
  padding: 0.5rem 2.75rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .breadcrumbs {
    padding: 0.5rem 1rem;
  }
}
.breadcrumbs ol {
  list-style-type: none;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  padding: 0;
  margin: 0;
  color: #555;
  font-size: clamp(0.688rem, 0.631rem + 0.24vw, 0.813rem);
  white-space: nowrap;
  overflow-x: auto;
}
.breadcrumbs ol li + li::before {
  content: ">";
  margin: 0 0.5rem;
  color: #555;
}
.breadcrumbs ol a,
.breadcrumbs ol span {
  color: #555;
}

.section-header {
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .section-header {
    margin-bottom: 2rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.section-header .sec-title {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.section-header .sec-title .en {
  font-family: "Roboto", sans-serif;
  font-size: clamp(2.125rem, 1.5rem + 2.67vw, 3.5rem);
  font-weight: 700;
  text-transform: uppercase;
}
.section-header .sec-title .ja {
  margin-top: 0.5rem;
  font-size: 1rem;
  font-weight: 500;
}
.section-header.min {
  border-bottom: 1px solid #131313;
  padding: 1rem 2.875rem;
}
@media screen and (max-width: 768px) {
  .section-header.min {
    margin-bottom: 1rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.section-header.min .sec-title {
  text-align: left;
}
.section-header.min .sec-title .en {
  font-size: clamp(1.375rem, 1.091rem + 1.21vw, 2rem);
  font-weight: 500;
}
.section-header .sec-description {
  margin-top: 2rem;
  font-size: clamp(1rem, 0.943rem + 0.24vw, 1.125rem);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .section-header .sec-description {
    text-align: center;
  }
}

.section-footer {
  margin-top: 48px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .section-footer {
    margin-top: 2rem;
  }
}

.inner {
  width: 100%;
  max-width: 1200px;
  padding-left: 30px;
  padding-right: 30px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .inner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.wide-inner {
  margin-left: -30px;
  margin-right: -30px;
}
@media screen and (max-width: 768px) {
  .wide-inner {
    margin-left: -16px;
    margin-right: -16px;
  }
}

.narrow-inner {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .narrow-inner {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .narrow-inner.sp-nopadding {
    padding-left: 0;
    padding-right: 0;
  }
}

.icon-detail {
  display: inline-block;
  color: #244D3A;
  border: 1px solid #3d7a5d;
  font-size: 0.6875em;
  line-height: 1;
  padding: 2px 0.5rem 3px 0.5rem;
}

@media screen and (max-width: 768px) {
  .menu-content {
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    overflow-y: auto;
    background-color: #000;
    display: none;
    height: 100dvh;
  }
}

#menu-btn-check {
  display: none;
}
#menu-btn-check:checked ~ .menu-btn::after {
  opacity: 0;
}
#menu-btn-check:checked ~ .menu-btn span {
  background-color: rgba(60, 16, 83, 0);
}
#menu-btn-check:checked ~ .menu-btn span::before {
  bottom: 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
  top: 0;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
#menu-btn-check:checked ~ .menu-content {
  width: 100%;
  opacity: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: fixed;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  top: 0;
  left: 0;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  z-index: 9999;
  padding-top: 100px;
  padding-left: 2rem;
}

.menu-btn {
  display: none;
}
@media screen and (max-width: 768px) {
  .menu-btn {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 10000;
    -webkit-transform: translateY(-5px);
            transform: translateY(-5px);
    padding: 1rem;
    top: 14px;
    right: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .menu-btn::after {
    content: "menu";
    color: #fff;
    font-family: "Roboto", sans-serif;
    font-weight: 500;
    text-transform: uppercase;
    line-height: 1;
    margin-left: 4px;
    font-size: 0.625rem;
  }
}
.menu-btn span {
  display: block;
  width: 16px;
  height: 2px;
  background-color: #fff;
  position: relative;
}
.menu-btn span::before, .menu-btn span::after {
  background-color: #fff;
  content: "";
  display: block;
  width: 16px;
  height: 2px;
  position: absolute;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.menu-btn span::before {
  bottom: 5px;
  -webkit-transform: rotate(0);
          transform: rotate(0);
}
.menu-btn span::after {
  top: 5px;
  -webkit-transform: rotate(0);
          transform: rotate(0);
}

header {
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 99999;
}
header .global-header {
  width: 100%;
  background-color: #000;
  color: #fff;
}
header .global-header .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 60px;
}
header .global-header .site-logo span, header .global-header .site-logo a {
  display: block;
  padding: 14px;
  margin-left: -14px;
}
header .global-header .with-subnav > a:hover {
  color: #fff;
  cursor: default;
}
header .global-header .with-subnav i {
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  margin-left: 0.5rem;
}
header .global-header .with-subnav:hover i {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
header .global-header .global-subnav {
  position: absolute;
  left: 0;
  opacity: 0;
  display: none;
  background-color: #000;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  header .global-header .global-subnav {
    position: static;
    opacity: 1;
  }
}
header .global-header .global-subnav.show {
  display: block;
  -webkit-animation: gsv_on 0.5s forwards;
          animation: gsv_on 0.5s forwards;
}
header .global-header .global-subnav-list {
  padding: 1rem;
  position: relative;
  margin: 0;
  list-style-type: none;
}
@media screen and (max-width: 768px) {
  header .global-header .global-subnav-list {
    margin-top: 1rem;
    padding: 0;
    background: none;
    color: #fff;
  }
  header .global-header .global-subnav-list li + li {
    margin-top: 1rem;
  }
}
header .global-header .global-subnav-list a {
  display: block;
  font-weight: 500;
  padding: 0.5rem;
}
@media screen and (max-width: 768px) {
  header .global-header .global-subnav-list a {
    padding: 0.5rem 0;
    font-size: 0.875rem;
  }
}
header .global-header .global-subnav-list a i {
  -webkit-transform: rotate(0) !important;
          transform: rotate(0) !important;
}
header .global-header .site-nav-list {
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style-type: none;
  font-size: 0.8125rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  header .global-header .site-nav-list {
    margin-right: 74px;
  }
}
header .global-header .site-nav-list > li {
  line-height: 1;
  position: relative;
}
header .global-header .site-nav-list > li + li {
  margin-left: 2.75em;
}
@media screen and (max-width: 768px) {
  header .global-header .site-nav-list > li:not(.lang) {
    display: none;
  }
}
header .global-header .site-nav-list .lang {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 0.75rem;
  cursor: pointer;
}
header .global-header .site-nav-list .lang i {
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
header .global-header .site-nav-list .lang.is-hover a {
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  display: block;
}
header .global-header .site-nav-list .lang.is-hover i {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
header .global-header .site-nav-list .lang::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background: url("../img/common/icon-global.svg") no-repeat 0 0;
  background-size: contain;
}
header .global-header .site-nav-list .lang-select {
  position: relative;
}
header .global-header .site-nav-list .lang-select * {
  display: block;
  padding: 0 0.25rem 0 0.75rem;
  width: 1.5em;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
header .global-header .site-nav-list .lang-select span {
  position: relative;
  background-color: #000;
  z-index: 2;
  padding: 0.5rem;
}
header .global-header .site-nav-list .lang-select a {
  padding: 0.5rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background-color: #000;
  display: none;
}
header .global-header .site-nav-list .lang-select a:nth-child(3) {
  top: 28px;
}
header .global-nav {
  white-space: nowrap;
}
header .global-nav ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
header .global-nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 1;
  font-size: 1rem;
}
@media screen and (max-width: 768px) {
  header .global-nav-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 70vw;
  }
  header .global-nav-list i {
    display: none;
  }
}
header .global-nav-list > li {
  position: relative;
}
@media screen and (max-width: 768px) {
  header .global-nav-list > li {
    margin: 0.5rem 0;
  }
  header .global-nav-list > li.with-subnav {
    border-bottom: 1px solid #a7a7a7;
  }
  header .global-nav-list > li.with-subnav > a {
    position: relative;
  }
  header .global-nav-list > li.with-subnav > a::before, header .global-nav-list > li.with-subnav > a::after {
    content: "";
    display: block;
    background-color: #fff;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  header .global-nav-list > li.with-subnav > a::before {
    width: 2px;
    height: 12px;
    right: 8px;
  }
  header .global-nav-list > li.with-subnav > a::after {
    width: 12px;
    height: 2px;
    right: 3px;
  }
  header .global-nav-list > li.with-subnav > a + .global-subnav {
    display: none !important;
  }
  header .global-nav-list > li.with-subnav > a.open::before {
    opacity: 0;
  }
  header .global-nav-list > li.with-subnav > a.open + .global-subnav {
    display: block !important;
  }
}
header .global-nav-list > li > a {
  display: block;
  padding: 1.5rem 1.5rem 1.25rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  header .global-nav-list > li > a {
    color: #fff;
    padding: 0.5rem 0;
  }
}
header .global-nav-list > li > a i {
  margin-left: 0.5rem;
  font-size: 0.875rem;
}
header .global-nav .global-subnav {
  position: absolute;
  left: 1rem;
  opacity: 0;
  display: none;
}
@media screen and (max-width: 768px) {
  header .global-nav .global-subnav {
    position: static;
    opacity: 1;
  }
}
@media screen and (min-width: 769px) {
  header .global-nav .global-subnav {
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
  }
  header .global-nav .global-subnav::before {
    content: "";
    display: block;
    width: 200vw;
    height: 100%;
    position: absolute;
    background-color: rgba(255, 255, 255, 0.9);
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
header .global-nav .global-subnav.show {
  display: block;
  -webkit-animation: gsv_on 0.5s forwards;
          animation: gsv_on 0.5s forwards;
}
@media screen and (min-width: 769px) {
  header .global-nav .global-subnav.show {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
}
header .global-nav .global-subnav-list {
  padding: 1rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  header .global-nav .global-subnav-list {
    margin-top: 1rem;
    padding: 0 0 1rem;
    background: none;
    color: #fff;
  }
  header .global-nav .global-subnav-list li + li {
    margin-top: 1rem;
  }
}
header .global-nav .global-subnav-list a {
  display: block;
  font-weight: 500;
  padding: 0.5rem;
}
@media screen and (max-width: 768px) {
  header .global-nav .global-subnav-list a {
    padding: 0.5rem 0;
    font-size: 0.875rem;
  }
}
header .global-nav .global-subnav-list a i {
  margin-left: 0.5rem;
  font-size: 0.875rem;
}

@media screen and (min-width: 769px) {
  body:not(.top) .menu-content .global-nav {
    display: none;
  }
}

@-webkit-keyframes gsv_on {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes gsv_on {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.btn-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.btn-wrap .round-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 190px;
  color: #fff;
  padding-left: 2.75em;
  padding-right: 2.75em;
  height: 44px;
  position: relative;
  border-radius: 100px;
  background-image: linear-gradient(110deg, hsl(152, 34%, 46%) 0%, hsl(152, 34%, 45%) 11%, hsl(152, 34%, 44%) 22%, hsl(152, 34%, 43%) 33%, hsl(152, 33%, 41%) 44%, hsl(152, 33%, 40%) 56%, hsl(152, 33%, 39%) 67%, hsl(152, 33%, 38%) 78%, hsl(152, 33%, 37%) 89%, hsl(151, 33%, 36%) 100%);
}
.btn-wrap .round-btn i {
  position: absolute;
  top: 50%;
  right: 1rem;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
.btn-wrap .round-btn:hover .fa-angle-right {
  -webkit-transform: translate(3px, -50%);
          transform: translate(3px, -50%);
}
.btn-wrap .round-btn:hover .fa-angle-down {
  -webkit-transform: translate(0, -40%);
          transform: translate(0, -40%);
}

.top .wtv {
  background: url("../img/home/bg-wtv@2x.png") no-repeat center center;
  background-size: cover;
}
.top .wtv .wide-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 110px;
}
@media screen and (max-width: 768px) {
  .top .wtv .wide-inner {
    height: auto;
  }
}
.top .wtv-texts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media screen and (max-width: 768px) {
  .top .wtv-texts {
    padding-top: 4px;
    padding-bottom: 4px;
  }
}
.top .wtv-texts img {
  margin-right: 30px;
}
@media screen and (max-width: 768px) {
  .top .wtv-texts img {
    width: 51.2vw;
  }
}
.top .wtv-counter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-left: auto;
  position: relative;
}
@media screen and (max-width: 768px) {
  .top .wtv-counter {
    margin-right: 1rem;
  }
}
.top .wtv-counter .counter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.top .wtv-counter .counter > span {
  display: block;
  margin: 3px;
  border-radius: 2px;
  overflow: hidden;
  position: relative;
  background-color: #4b896c;
}
.top .wtv-counter .counter > span::before {
  content: "";
  display: block;
  background-color: #224635;
  width: 100%;
  height: 50%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.top .wtv-counter .counter > span::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-color: #2d5c45;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 3;
}
@media screen and (max-width: 768px) {
  .top .wtv-counter .counter > span::after {
    height: 1px;
  }
}
.top .wtv-counter .counter > span span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 3.75rem;
  color: #fff;
  line-height: 1;
  width: 55px;
  height: 72px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .top .wtv-counter .counter > span span {
    width: 25px;
    height: 32px;
    font-size: 1.8125rem;
  }
}
.top .wtv-counter .counter > span span::before, .top .wtv-counter .counter > span span::after {
  content: "";
  display: block;
  width: 2px;
  height: 20px;
  background-color: #2d5c45;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .top .wtv-counter .counter > span span::before, .top .wtv-counter .counter > span span::after {
    height: 8px;
  }
}
.top .wtv-counter .counter > span span::before {
  left: 0;
}
.top .wtv-counter .counter > span span::after {
  right: 0;
}
.top .wtv-counter .note {
  color: #4e9d78;
  font-size: clamp(0.25rem, 0.051rem + 0.85vw, 0.688rem);
  font-weight: 500;
  position: absolute;
  bottom: 0;
  right: 5px;
  text-align: right;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}
@media screen and (min-width: 769px) {
  .top .mv {
    background: url("../img/home/bg-mv.png") no-repeat center center;
    background-size: auto 100%;
  }
}
@media screen and (max-width: 768px) {
  .top .mv {
    background-image: -webkit-gradient(linear, left top, left bottom, from(hsl(66, 14%, 14%)), color-stop(11%, hsl(65, 11%, 17%)), color-stop(22%, hsl(64, 9%, 20%)), color-stop(33%, hsl(64, 8%, 23%)), color-stop(44%, hsl(63, 6%, 26%)), color-stop(56%, hsl(62, 5%, 29%)), color-stop(67%, hsl(62, 5%, 32%)), color-stop(78%, hsl(61, 4%, 35%)), color-stop(89%, hsl(61, 3%, 38%)), to(hsl(60, 3%, 42%)));
    background-image: linear-gradient(180deg, hsl(66, 14%, 14%) 0%, hsl(65, 11%, 17%) 11%, hsl(64, 9%, 20%) 22%, hsl(64, 8%, 23%) 33%, hsl(63, 6%, 26%) 44%, hsl(62, 5%, 29%) 56%, hsl(62, 5%, 32%) 67%, hsl(61, 4%, 35%) 78%, hsl(61, 3%, 38%) 89%, hsl(60, 3%, 42%) 100%);
  }
}
.top .mv-slide {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
}
.top .mv .swiper {
  max-width: 1440px;
  aspect-ratio: 1440/570;
}
@media (769px < width < 1305px) {
  .top .mv .swiper {
    height: 520px;
  }
}
@media screen and (max-width: 768px) {
  .top .mv .swiper {
    height: auto;
    aspect-ratio: auto;
  }
}
.top .mv .swiper-slide {
  position: relative;
}
.top .mv-img {
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .top .mv-img {
    aspect-ratio: 375/280;
  }
}
.top .mv-texts {
  position: absolute;
  top: 50%;
  left: 864px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: #000;
  color: #fff;
  width: 426px;
  aspect-ratio: 1/1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (769px < width < 1305px) {
  .top .mv-texts {
    left: auto;
    right: 0;
  }
}
@media screen and (max-width: 768px) {
  .top .mv-texts {
    position: relative;
    top: 0;
    left: 0;
    right: 0;
    aspect-ratio: auto;
    width: 100%;
    -webkit-transform: none;
            transform: none;
  }
}
.top .mv-category {
  height: 42px;
  background-color: #3d7a5d;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-right: 2rem;
  padding-left: 1rem;
  position: absolute;
  top: 0;
  left: 0;
}
.top .mv-category span {
  line-height: 1;
  font-size: clamp(0.938rem, 0.795rem + 0.61vw, 1.25rem);
}
.top .mv-category::after {
  content: "";
  display: block;
  height: 44px;
  width: 32px;
  -webkit-clip-path: polygon(0 100%, 100% 100%, 100% 0);
          clip-path: polygon(0 100%, 100% 100%, 100% 0);
  background-color: #000;
  position: absolute;
  top: 0;
  right: -1px;
}
.top .mv-subject {
  min-height: 50%;
  margin: 2rem;
  margin-top: auto;
}
@media screen and (max-width: 768px) {
  .top .mv-subject {
    margin-top: 4rem;
    padding-bottom: 1rem;
  }
}
.top .mv-title {
  font-size: 2.25rem;
  font-weight: 700;
  font-family: "Montserrat", sans-serif;
  line-height: 1.2;
  margin-bottom: 2rem;
}
.top .mv-description {
  font-weight: 500;
  overflow: hidden;
  width: 100%;
}
.top .mv-description p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
}
.top .mv .swiper-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  position: absolute;
  width: auto;
  right: 170px;
  bottom: 20px;
}
@media screen and (max-width: 768px) {
  .top .mv .swiper-pagination {
    right: 20px;
  }
}
.top .mv .swiper-pagination-bullet {
  border-radius: 0;
  opacity: 0.5;
  background-color: #fff;
  width: 10px;
  height: 10px;
  margin: 0 6px;
}
.top .mv .swiper-pagination-bullet-active {
  background-color: #3d7a5d;
  opacity: 1;
}
.top .news .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .top .news .inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (min-width: 769px) {
  .top .news .section-body {
    width: calc(100% - 160px);
  }
}
.top .news-list {
  list-style-type: none;
  margin: 0;
  padding: 0;
  margin-left: 140px;
  max-width: 100%;
}
@media screen and (max-width: 768px) {
  .top .news-list {
    margin-left: 0;
  }
}
.top .news-list li {
  border-bottom: 1px solid #f2f2f2;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.top .news-list a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  .top .news-list a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.top .news-list a:hover .icon-detail {
  color: #fff;
  background-color: #3d7a5d;
}
@media screen and (min-width: 769px) {
  .top .news-list a.new .news-title::before {
    content: "New";
    color: #d60303;
    font-size: 0.875rem;
    font-weight: 500;
  }
}
@media screen and (max-width: 768px) {
  .top .news-list a.new .news-data::after {
    content: "New";
    color: #d60303;
    font-size: 0.875rem;
    font-weight: 500;
    margin-left: 1rem;
  }
}
.top .news-data {
  margin-right: 1.5rem;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 769px) {
  .top .news-data {
    min-width: 108px;
  }
}
@media screen and (max-width: 768px) {
  .top .news-data {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.top .news-data time {
  font-size: clamp(0.75rem, 0.722rem + 0.12vw, 0.813rem);
  color: #555;
  margin-right: 0.5rem;
}
.top .news-data .category {
  font-size: clamp(0.625rem, 0.597rem + 0.12vw, 0.688rem);
  color: #232323;
  border: 1px solid #232323;
  border-radius: 2px;
  text-align: center;
  min-width: 7em;
  line-height: 20px;
}
.top .news-title p {
  font-size: 0.875rem;
  width: 100%;
  line-height: 1.5;
}
.top .news-title p .icon-detail {
  margin-left: 0.5rem;
}
.top .magazine {
  background-color: #ededed;
}
.top .product {
  background-color: #131313;
  color: #fff;
}
.top .product .product-categories {
  padding: 0;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  list-style-type: none;
}
.top .product .product-categories li {
  margin-bottom: 100px;
  width: 50%;
  padding: 0 1rem;
}
@media screen and (max-width: 768px) {
  .top .product .product-categories li {
    width: 100%;
    padding: 0;
    margin-bottom: 60px;
  }
}
.top .product .product-categories .product-category-thumb img {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.top .product .product-categories .product-category-name {
  margin-top: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.top .product .product-categories .product-category-name .en {
  font-family: "Montserrat", sans-serif;
  font-size: clamp(1.313rem, 0.886rem + 1.82vw, 2.25rem);
  font-weight: 500;
}
.top .product .product-categories .product-category-name .ja {
  font-size: clamp(0.688rem, 0.602rem + 0.36vw, 0.875rem);
}
.top .product .product-categories .product-category-description {
  margin-top: 2rem;
  padding-left: 2.625em;
  padding-right: 2.625rem;
  text-align: center;
  font-size: clamp(0.875rem, 0.818rem + 0.24vw, 1rem);
}
@media screen and (max-width: 768px) {
  .top .product .product-categories .product-category-description {
    margin-top: 1rem;
    padding: 0;
  }
}
.top .product .product-categories a:hover .product-category-thumb img {
  -webkit-transform: scale(1.02);
          transform: scale(1.02);
}
.top .movie {
  background-color: #1e1e1e;
  color: #fff;
}
.top .movie .movieView {
  margin: 0 auto 60px;
  max-width: 918px;
}
@media screen and (max-width: 768px) {
  .top .movie .movieView {
    margin-bottom: 1rem;
  }
}

.index-list {
  margin: 0 auto;
  padding: 0;
  list-style-type: none;
  max-width: 918px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.index-list li {
  margin: 0.5rem 1rem;
  width: calc(50% - 2rem);
}
@media screen and (max-width: 768px) {
  .index-list li {
    width: 100%;
  }
}
.index-list li a {
  padding: 1rem;
  font-size: clamp(1rem, 0.886rem + 0.48vw, 1.25rem);
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
.index-list li a:hover i {
  -webkit-transform: translate(3px, -50%);
          transform: translate(3px, -50%);
}
.index-list li i {
  position: absolute;
  top: 50%;
  right: 1rem;
  color: #555;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
.index-list.border li {
  border-bottom: 1px solid #555;
}
@media screen and (max-width: 768px) {
  .index-list.border li {
    margin-top: 0;
  }
}
.index-list.border a {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.index-list.box li {
  border: 1px solid #555;
}
.index-list.box a {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.card-list {
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  list-style-type: none;
}
.card-list + .side-title {
  margin-top: 2rem;
}
.card-list li {
  width: 33.3333333333%;
  padding: 1rem 1rem 2rem;
}
@media screen and (max-width: 768px) {
  .card-list li {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
}
.card-list a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.card-list a.disabled {
  pointer-events: none;
  cursor: default;
}
.card-list a.disabled .icon-detail {
  display: none;
}
.card-list a:hover .icon-detail {
  color: #fff;
  background-color: #3d7a5d;
}
.card-list a:hover .card-thumb img {
  -webkit-transform: scale(1.02);
          transform: scale(1.02);
}
.card-list .card-thumb {
  width: 100%;
  aspect-ratio: 16/9;
}
.card-list .card-thumb img {
  aspect-ratio: 16/9;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.card-list .card-thumb:empty {
  background: #ccc url("../img/common/noimg-thumb.png") no-repeat center center;
  background-size: contain;
}
.card-list.list-movie .card-thumb {
  aspect-ratio: 16/9;
}
.card-list.list-movie .card-thumb img {
  aspect-ratio: 16/9;
}
.card-list:not(.min) .card-thumb:empty {
  padding-top: 50.28735632%;
}
@media screen and (max-width: 768px) {
  .card-list:not(.sp-min) .card-thumb:empty {
    padding-top: 50.28735632%;
  }
}
.card-list .card-text {
  margin-top: 1rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
}
.card-list .card-text .card-time {
  color: #555;
  font-size: 0.75rem;
  margin-right: 0.5rem;
}
.card-list .card-text .card-time time {
  margin-right: 0.5rem;
}
.card-list .card-text .card-title {
  font-size: clamp(1rem, 0.943rem + 0.24vw, 1.125rem);
  font-weight: 600;
  line-height: 1.2;
  margin-top: 1rem;
  margin-bottom: 0.5rem;
}
.card-list .card-text .card-title + .card-time {
  margin-top: auto;
  text-align: right;
}
.card-list .card-text .card-category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.card-list .card-text .card-category span {
  border: 1px solid #555;
  border-radius: 4px;
  color: #555;
  margin-right: 1rem;
  line-height: 1;
  padding: 2px 0.5rem;
  font-size: clamp(0.625rem, 0.54rem + 0.36vw, 0.813rem);
}
.card-list .new::before {
  content: "New";
  color: #d60303;
  font-size: 0.875rem;
  font-weight: 500;
}
.card-list.withborder a {
  border-bottom: 1px solid #131313;
}
@media screen and (max-width: 768px) {
  .card-list.sp-hor .card {
    padding: 0 0 14px;
  }
  .card-list.sp-hor a {
    border-bottom: none;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .card-list.sp-hor a .card-thumb {
    width: calc(50% - 5px);
  }
  .card-list.sp-hor a .card-text {
    width: calc(50% - 5px);
    margin-top: 0;
  }
  .card-list.sp-hor a .card-text .card-title {
    margin-top: 10px;
    font-size: 0.875em;
  }
  .card-list.sp-hor a .card-text .card-time {
    text-align: left;
  }
}
@media screen and (max-width: 768px) {
  .card-list.l-related {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .card-list.l-related .card {
    width: calc(50% - 5px);
    padding: 0 0 20px;
  }
}
.card-list.l-related a {
  background-color: #fff;
  padding: 10px;
  border-bottom: none;
}
.card-list.l-related .card-text {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  .card-list.l-related .card-title {
    font-size: 0.75rem;
  }
}
.card-list.l-related .card-time {
  margin-top: 10px;
}
.card-list.min {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.card-list.min li {
  width: 100%;
  padding: 0 0.5rem;
}
.card-list.min li + li {
  margin-top: 2rem;
}
.card-list.min a {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  border: none;
}
.card-list.min .card-thumb {
  width: 100px;
  margin-right: 1rem;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 768px) {
  .card-list.min .card-thumb {
    padding-top: 0 !important;
  }
}
.card-list.min .card-thumb img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  max-width: auto;
}
.card-list.min .card-text {
  margin-top: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.card-list.min .card-text .card-category span {
  font-size: 0.625rem;
}
.card-list.min .card-text .card-category .new::before {
  font-size: 0.75rem;
}
.card-list.min .card-text .card-title {
  font-size: 0.875rem;
}
.card-list.min .card-text .card-time {
  text-align: left;
}
@media screen and (max-width: 768px) {
  .card-list.sp-min {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .card-list.sp-min li {
    width: 100%;
    padding: 0 0.5rem;
  }
  .card-list.sp-min li + li {
    margin-top: 2rem;
  }
  .card-list.sp-min a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    border: none;
  }
  .card-list.sp-min .card-thumb {
    width: 100px;
    margin-right: 1rem;
    aspect-ratio: 1/1;
    padding-top: 0 !important;
  }
  .card-list.sp-min .card-thumb img {
    aspect-ratio: 1/1;
    -o-object-fit: cover;
       object-fit: cover;
    max-width: auto;
  }
  .card-list.sp-min .card-text {
    margin-top: 0;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .card-list.sp-min .card-text .card-category span {
    font-size: 0.625rem;
  }
  .card-list.sp-min .card-text .card-category .new::before {
    font-size: 0.75rem;
  }
  .card-list.sp-min .card-text .card-title {
    font-size: 0.875rem;
  }
  .card-list.sp-min .card-text .card-time {
    text-align: left;
  }
}

.banner-list {
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  list-style-type: none;
}
.banner-list + .banner-list {
  margin-top: 100px;
}
@media screen and (max-width: 768px) {
  .banner-list + .banner-list {
    margin-top: 2rem;
  }
}
.banner-list li {
  margin: 1rem;
}

.banner-trial {
  background-color: #131313;
  text-align: center;
  padding: 30px 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.movie-wrap {
  max-width: 918px;
  aspect-ratio: 560/315;
}
.movie-wrap iframe {
  width: 100%;
  aspect-ratio: 560/315;
  border: none;
}

footer .pagetop {
  color: #fff;
  border: 1px solid #555;
  height: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 85vw;
  margin: 1rem auto 2.5rem;
  font-family: "Roboto", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  footer .pagetop {
    border: none;
    background-color: #fff;
    -webkit-box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
            box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    margin: 0;
    position: fixed;
    right: 10px;
    bottom: 10px;
    width: 40px;
    height: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    border-radius: 4px;
    z-index: 8888;
  }
  footer .pagetop span {
    display: none;
  }
  footer .pagetop::before {
    content: "";
    height: 10px;
    width: 16px;
    -webkit-clip-path: polygon(50% 0, 100% 100%, 0 100%);
            clip-path: polygon(50% 0, 100% 100%, 0 100%);
    background-color: #555;
  }
}
footer .site-footer {
  padding-top: 4rem;
  padding-bottom: 20px;
  background-color: #131313;
  color: #fff;
}
@media screen and (max-width: 768px) {
  footer .site-footer {
    padding-top: 1rem;
  }
}
footer .site-footer-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  footer .site-footer-wrap {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
footer .site-footer-cont {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 768px) {
  footer .site-footer-cont {
    margin-top: 1rem;
    -webkit-box-flex: inherit;
        -ms-flex: inherit;
            flex: inherit;
  }
  footer .site-footer-cont.sporder1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 50%;
  }
  footer .site-footer-cont.sporder2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 50%;
  }
  footer .site-footer-cont.sporder3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    width: 50%;
  }
  footer .site-footer-cont.sporder4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
    width: 50%;
  }
}
footer .site-footer-sns {
  font-size: clamp(2rem, 1.773rem + 0.97vw, 2.5rem);
}
footer .site-footer-sns a {
  margin: 1rem;
}
footer .site-footer-sns a:hover {
  color: #fff;
}
footer .site-footer-sns span {
  font-size: 0;
}
footer .site-footer .content-title {
  font-size: clamp(0.938rem, 0.881rem + 0.24vw, 1.063rem);
  font-weight: 500;
  margin-bottom: 1rem;
}
footer .site-footer .content-list {
  padding-left: 1rem;
  list-style-type: none;
  border-left: 1px solid #fff;
  font-size: clamp(0.813rem, 0.756rem + 0.24vw, 0.938rem);
  font-weight: 300;
}
footer .site-footer .content-list li {
  margin: 1rem 0;
}
footer .global-footer {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  background-color: #000;
  color: #fff;
}
@media screen and (max-width: 768px) {
  footer .global-footer-nav {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
footer .global-footer-nav-list {
  padding: 0;
  list-style-type: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 768px) {
  footer .global-footer-nav-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
footer .global-footer-nav-list li + li {
  margin-left: 1.5rem;
}
@media screen and (max-width: 768px) {
  footer .global-footer-nav-list li + li {
    margin: 0.5rem 0;
  }
}
footer .global-footer-nav-list a {
  color: #a7a7a7;
  font-size: 0.8125rem;
}
footer .global-footer-nav-list a:hover {
  color: #fff;
}
footer .global-footer .copyright {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  footer .global-footer .copyright {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 3rem;
  }
}
footer .global-footer .copyright span {
  font-size: clamp(0.625rem, 0.597rem + 0.12vw, 0.688rem);
  margin-right: 1.5rem;
  color: #a7a7a7;
}
@media screen and (max-width: 768px) {
  footer .global-footer .copyright span {
    margin: 0 auto 1rem;
  }
}
footer .global-footer .copyright img {
  height: 13px;
}

.searchbox form {
  background-color: #ededed;
  height: 44px;
  border-radius: 30px;
  padding-left: 1rem;
  padding-right: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 140px;
  -webkit-transition: width 0.2s ease;
  transition: width 0.2s ease;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  position: relative;
}
.searchbox form::before {
  font-family: "Font Awesome 6 Free";
  content: "\f002";
  font-weight: 900;
  padding-right: 10px;
  color: #555;
}
.searchbox form::after {
  content: "";
  width: 30px;
  height: 100%;
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(237, 237, 237, 0)), color-stop(65%, rgb(237, 237, 237)));
  background-image: linear-gradient(to right, rgba(237, 237, 237, 0) 0%, rgb(237, 237, 237) 65%);
  position: absolute;
  top: 0;
  right: 0;
}
.searchbox form input {
  border: none;
  background: none;
  font-weight: 400;
  font-size: 1.125rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

body.magazine .mv {
  background-color: #fff;
  padding-bottom: 2rem;
}
body.magazine .mv .swiper-slide {
  position: relative;
  padding-right: 120px;
  padding-bottom: 20px;
}
@media screen and (max-width: 768px) {
  body.magazine .mv .swiper-slide {
    padding-right: 0;
    padding-bottom: 0;
  }
}
body.magazine .mv .swiper-pagination {
  margin-top: 1.5rem;
  position: static;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
body.magazine .mv .swiper-pagination-bullet {
  border-radius: 0;
  opacity: 0.5;
  background-color: #a7a7a7;
  width: 10px;
  height: 10px;
  margin: 0 10px;
}
body.magazine .mv .swiper-pagination-bullet-active {
  background-color: #3d7a5d;
  opacity: 1;
}
body.magazine .mv-img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1082/540;
}
@media screen and (max-width: 768px) {
  body.magazine .mv-img {
    aspect-ratio: 375/433;
  }
}
body.magazine .mv-texts {
  background-color: #ededed;
  max-width: 490px;
  width: 80%;
  height: 253px;
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 2rem 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  body.magazine .mv-texts {
    height: auto;
    padding: 1rem 1.5rem;
    bottom: 20px;
  }
}
body.magazine .mv-texts time {
  font-size: 0.75rem;
  color: #555;
}
body.magazine .mv-texts .mv-subject {
  overflow: hidden;
  width: 100%;
}
body.magazine .mv-texts .mv-title {
  font-size: clamp(1.125rem, 0.955rem + 0.73vw, 1.5rem);
  font-weight: 700;
  color: #333;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  body.magazine .mv-texts .mv-title {
    margin: 1rem 0;
  }
}
body.magazine .mv-texts .mv-category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
body.magazine .mv-texts .mv-category span {
  border: 1px solid #555;
  border-radius: 4px;
  color: #555;
  margin-right: 1rem;
  line-height: 1;
  padding: 2px 4px;
  font-size: clamp(0.625rem, 0.568rem + 0.24vw, 0.75rem);
}
body.magazine .new {
  line-height: 1;
}
body.magazine .new::before {
  content: "New";
  color: #d60303;
  font-size: 0.875rem;
  font-weight: 500;
}
body.magazine .magazine-categories {
  padding-top: 3rem;
  padding-bottom: 2rem;
  background: url("../img/magazine/bg-category.jpg") no-repeat center center;
  background-size: cover;
  text-align: center;
}
body.magazine .magazine-categories-title {
  font-size: clamp(0.75rem, 0.409rem + 1.45vw, 1.5rem);
  font-weight: 500;
  color: #fff;
  margin-bottom: 2rem;
}
body.magazine .magazine-categories-list {
  list-style-type: none;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
body.magazine .magazine-categories-list li {
  padding: 4px;
  width: 160px;
  height: 56px;
}
@media screen and (max-width: 768px) {
  body.magazine .magazine-categories-list li {
    height: 44px;
    padding: 2px;
  }
}
@media screen and (max-width: 540px) {
  body.magazine .magazine-categories-list li {
    width: 50%;
  }
}
body.magazine .magazine-categories-list a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fff;
  border-radius: 4px;
  color: #333;
  width: 100%;
  height: 100%;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  font-size: 0.75em;
  font-weight: 500;
}
body.magazine .magazine-categories-list a:hover {
  color: #fff;
  background-image: -webkit-gradient(linear, left top, right top, from(hsl(152, 34%, 46%)), color-stop(11%, hsl(152, 34%, 45%)), color-stop(22%, hsl(152, 34%, 44%)), color-stop(33%, hsl(152, 34%, 43%)), color-stop(44%, hsl(152, 33%, 41%)), color-stop(56%, hsl(152, 33%, 40%)), color-stop(67%, hsl(152, 33%, 39%)), color-stop(78%, hsl(152, 33%, 38%)), color-stop(89%, hsl(152, 33%, 37%)), to(hsl(151, 33%, 36%)));
  background-image: linear-gradient(90deg, hsl(152, 34%, 46%) 0%, hsl(152, 34%, 45%) 11%, hsl(152, 34%, 44%) 22%, hsl(152, 34%, 43%) 33%, hsl(152, 33%, 41%) 44%, hsl(152, 33%, 40%) 56%, hsl(152, 33%, 39%) 67%, hsl(152, 33%, 38%) 78%, hsl(152, 33%, 37%) 89%, hsl(151, 33%, 36%) 100%);
}

.recommended-tags {
  padding-top: 3rem;
  padding-bottom: 3rem;
  background-color: #ededed;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .recommended-tags {
    padding: 1rem 0;
  }
}
.recommended-tags-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 500;
  font-size: clamp(0.813rem, 0.5rem + 1.33vw, 1.5rem);
  margin-bottom: 2rem;
}
@media screen and (max-width: 768px) {
  .recommended-tags-title {
    margin-bottom: 0;
  }
}
.recommended-tags-title .title-icon {
  margin-right: 20px;
}
@media screen and (max-width: 768px) {
  .recommended-tags-title .title-icon {
    width: 20px;
    margin-right: 10px;
  }
}
.recommended-tags-list {
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  list-style-type: none;
}
.recommended-tags-list li {
  margin: 10px;
}
@media screen and (max-width: 768px) {
  .recommended-tags-list li {
    margin: 2px 5px;
  }
}
.recommended-tags-list a {
  color: #3d7a5d;
  border: 1px solid #a7a7a7;
  border-radius: 2px;
  padding: 2px 0.5rem;
  font-size: clamp(0.813rem, 0.727rem + 0.36vw, 1rem);
}
.recommended-tags-list a:hover {
  background-color: #fff;
}

.modaal-container {
  padding-top: 60px;
}

.modaal-fullscreen .modaal-close {
  top: 70px;
}

.modaal-container {
  background: #ededed;
}

#form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 4rem;
}
#form input {
  border: none;
  border-bottom: 1px solid #a7a7a7;
  background: none;
  padding: 5px 1rem;
  max-width: 20em;
  width: 100%;
}
#form button {
  border: none;
  background: none;
  cursor: pointer;
}

.single-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .single-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.single-wrap .post-cont {
  background-color: #fff;
  padding: 2.5rem 4rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
@media screen and (max-width: 768px) {
  .single-wrap .post-cont {
    padding: 0.5rem;
  }
}
.single-wrap .post-category span {
  padding: 3px 0.5rem;
  font-size: clamp(0.625rem, 0.568rem + 0.24vw, 0.75rem);
  color: #555;
  display: inline-block;
  margin-right: 0.5rem;
  background-color: #ededed;
  border-radius: 4px;
}
.single-wrap .post-title {
  margin: 1rem 0 3rem;
  font-weight: 500;
  font-size: clamp(1.375rem, 1.205rem + 0.73vw, 1.75rem);
}
.single-wrap .post-date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 0.75rem;
  color: #555;
}
.single-wrap .post-date::after {
  margin-left: 1rem;
  content: "";
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: 1px;
  background-color: #131313;
}
.single-wrap .post-share {
  margin: 1rem 1rem;
}
.single-wrap .post-share dt {
  color: #a7a7a7;
  font-size: 0.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.single-wrap .post-share dt i {
  font-size: 0.875rem;
  margin-right: 0.5em;
}
.single-wrap .post-share dt span {
  text-transform: uppercase;
  font-weight: 700;
}
.single-wrap .post-tags {
  padding: 0 1rem;
  list-style-type: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.single-wrap .post-tags::before {
  content: "";
  display: block;
  width: 20px;
  height: 12px;
  background: url("../img/common/icon-tag.svg") no-repeat center center;
  background-size: contain;
  opacity: 0.6;
  margin-right: 10px;
}
.single-wrap .post-tags li {
  margin-right: 0.5rem;
}
.single-wrap .post-tags a {
  color: #555;
  font-size: 0.8125rem;
}
.single-wrap .post-tags a:hover {
  color: #3d7a5d;
}
.single-wrap .post-main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.single-wrap .post-main .addtoany_share_save_container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin: 1rem;
  margin-top: 4rem;
}
.single-wrap .post-main .addtoany_share_save_container::before {
  content: "share";
  color: #a7a7a7;
  font-size: 0.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-transform: uppercase;
  margin-right: 0.5rem;
  font-weight: 500;
}
.single-wrap .post-main .addtoany_share_save_container::after {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
  font-family: "Font Awesome 6 Free";
  content: "\f1e0";
  font-weight: 900;
  padding-right: 0.5rem;
  color: #a7a7a7;
}
.single-wrap .post-main .post-kv {
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .single-wrap .post-main .post-kv {
    margin-bottom: 1.5rem;
  }
}
.single-wrap .post-main .post-kv + .addtoany_share_save_container {
  margin-top: 1rem;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}
.single-wrap .post-main h2 {
  font-size: clamp(1.25rem, 1.193rem + 0.24vw, 1.375rem);
  font-weight: 500;
  border-bottom: 2px solid #3d7a5d;
  margin: 2rem 0 1rem;
}
.single-wrap .article-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  border-top: 1px solid #a7a7a7;
  padding-top: 2rem;
}
@media screen and (max-width: 768px) {
  .single-wrap .article-pagination {
    padding-top: 1rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.single-wrap .article-pagination a {
  font-size: 0.8125rem;
  color: #555;
  display: block;
}
.single-wrap .article-pagination a:hover {
  color: #3d7a5d;
}
.single-wrap .article-pagination .article-top {
  border-left: 1px solid #a7a7a7;
  border-right: 1px solid #a7a7a7;
  padding: 0 14px;
  text-align: center;
  line-height: 1.3;
  margin: 0 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.single-wrap .article-pagination .article-prev, .single-wrap .article-pagination .article-next {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  line-height: 1.1538;
}
.single-wrap .article-pagination .article-prev a, .single-wrap .article-pagination .article-next a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.single-wrap .article-pagination .article-prev .article-title, .single-wrap .article-pagination .article-next .article-title {
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .single-wrap .article-pagination .article-prev .article-title, .single-wrap .article-pagination .article-next .article-title {
    display: none;
  }
}
.single-wrap .article-pagination .article-nav {
  color: #a7a7a7;
}
.single-wrap .article-pagination .article-next a {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.single-wrap aside {
  margin-left: 2rem;
  width: 30%;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
@media screen and (max-width: 768px) {
  .single-wrap aside {
    width: 100%;
    margin-left: 0;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
}
.single-wrap aside .side-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid #333;
  padding: 0.5rem;
  margin-top: 2rem;
  margin-bottom: 20px;
}
@media screen and (min-width: 769px) {
  .single-wrap aside .side-title:first-child {
    margin-top: 0;
  }
}
.single-wrap aside .side-title span {
  font-size: 1.125rem;
  font-weight: 500;
  text-transform: uppercase;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.single-wrap aside .side-title span img {
  margin-right: 10px;
  width: 27px;
}
.single-wrap aside .side-title a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 0.625rem;
  background-color: #f2f2f2;
  padding: 5px 0.5rem;
  border-radius: 20px;
}
.single-wrap aside .side-title a i {
  color: #555;
  margin-left: 10px;
}
@media screen and (max-width: 768px) {
  .single-wrap aside .box-recommended-tags {
    background-color: #fff;
    margin-top: 4.75rem;
    margin-left: -16px;
    margin-right: -16px;
    padding: 10px 10px 20px;
  }
  .single-wrap aside .box-recommended-tags .side-title {
    margin-top: 0;
    margin-bottom: 0;
    border-bottom: none;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: 0.8125rem;
  }
}
.single-wrap aside .recommended-tags-list {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .single-wrap aside .recommended-tags-list {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.single-wrap aside .recommended-tags-list li {
  margin: 2px 5px;
}
.single-wrap aside .recommended-tags-list a {
  font-size: 0.8125rem;
}
.single-wrap .box-relatedarticle {
  width: 100%;
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}
@media screen and (max-width: 768px) {
  .single-wrap .box-relatedarticle {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    padding-bottom: 0;
  }
}

#toc_container.toc_transparent {
  border: none;
  border-left: 1px solid #a7a7a7;
  margin: 4rem 2rem 1rem;
  padding: 0 0 0 0.6rem;
}
#toc_container.toc_transparent .toc_title {
  text-align: left;
  color: #555;
  font-size: 0.8125rem;
  font-weight: 500;
  text-transform: uppercase;
}
#toc_container.toc_transparent .toc_number::after {
  content: ". ";
}
#toc_container.toc_transparent li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 0.5rem;
}
#toc_container.toc_transparent li::before {
  font-family: "Font Awesome 6 Free";
  content: "\f107";
  font-weight: 900;
  padding-right: 10px;
  color: #a7a7a7;
  font-size: 0.875rem;
}

.wp-block-embed iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 560/315;
}

#s-btn-area i {
  color: #666;
}

/*-- タイトル帯 --*/
.lower_page_header {
  width: 100%;
  background-color: #3D7A5D;
}
.lower_page_header .lp_title {
  width: 100%;
  max-width: 1200px;
  padding-left: 30px;
  padding-right: 30px;
  padding-top: 30px;
  padding-bottom: 30px;
  margin-left: auto;
  margin-right: auto;
  font-family: "Montserrat", sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  display: block;
  color: #ffffff;
}
@media screen and (max-width: 768px) {
  .lower_page_header .lp_title {
    font-size: 1.375rem;
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 16px;
    padding-bottom: 16px;
  }
}

@media screen and (min-width: 769px) {
  body.newsarea .menu-content .global-nav,
  body.news_detail .menu-content .global-nav,
  body.product .menu-content .global-nav,
  body.trial .menu-content .global-nav,
  body.ambassador .menu-content .global-nav,
  body.company .menu-content .global-nav,
  body.link .menu-content .global-nav,
  body.shaft .menu-content .global-nav,
  body.faq .menu-content .global-nav,
  body.sitemap .menu-content .global-nav,
  body.contact .menu-content .global-nav,
  body.privacy .menu-content .global-nav,
  body.dealerarea .menu-content .global-nav {
    display: block;
  }
}

body.newsarea main, body.news_detail main, body.newsarea main, body.news_detail main, body.product main, body.trial main, body.ambassador main, body.company main, body.link main, body.shaft main, body.faq main, body.sitemap main, body.contact main, body.privacy main, body.dealerarea main {
  padding-top: 120px;
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  body.newsarea main, body.news_detail main, body.newsarea main, body.news_detail main, body.product main, body.trial main, body.ambassador main, body.company main, body.link main, body.shaft main, body.faq main, body.sitemap main, body.contact main, body.privacy main, body.dealerarea main {
    padding-top: 60px;
  }
}

/*-- FIND DEALER --*/
.dealerarea {
  /*-- タブ切り替え --*/
}
.dealerarea .tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: auto;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .dealerarea .tabs {
    margin-bottom: 30px;
  }
}
.dealerarea .tabs .tab_label {
  position: relative;
  z-index: 1;
  cursor: pointer;
  /*flex: 1;*/
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #333333;
  margin: 0 1% 10px 1%;
  padding: 10px 1%;
  font-size: 18px;
  line-height: 1em;
  font-weight: 500;
  text-align: center;
  border: 1px solid #cccccc;
  width: 18%;
  border-radius: 50rem;
  font-family: "Roboto", sans-serif;
}
@media screen and (max-width: 768px) {
  .dealerarea .tabs .tab_label {
    width: 46%;
    padding: 10px 1%;
    margin: 0 1% 5px 1%;
    font-size: 0.9em;
  }
}
.dealerarea .tabs .tab_label:hover {
  color: #ffffff;
  background-color: #333333;
}
.dealerarea .tabs input[name=tab_switch] {
  display: none;
}
.dealerarea .tabs input:checked + .tab_label {
  color: #ffffff;
  background-color: #3D7A5D;
  border: 1px solid #3D7A5D;
}
.dealerarea .tabs .tab_content {
  -webkit-box-flex: 100%;
      -ms-flex: 100%;
          flex: 100%;
  display: none;
  overflow: hidden;
  margin: 0px auto 0px auto;
  padding: 20px 0;
  /*-- 検索窓 --*/
  /*-- チェックボックス --*/
  /*-- リスト --*/
}
@media screen and (max-width: 768px) {
  .dealerarea .tabs .tab_content {
    padding: 10px 0;
  }
}
.dealerarea .tabs .tab_content .map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
}
@media screen and (max-width: 768px) {
  .dealerarea .tabs .tab_content .map {
    padding-top: 70%;
  }
}
.dealerarea .tabs .tab_content .map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.dealerarea .tabs .tab_content .filter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 50px 0;
}
@media screen and (max-width: 768px) {
  .dealerarea .tabs .tab_content .filter {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 20px 0 0 0;
  }
}
.dealerarea .tabs .tab_content .filter:after {
  content: ".";
  display: block;
  visibility: hidden;
  height: 0px;
  font-size: 0em;
  line-height: 0;
  clear: both;
}
.dealerarea .tabs .tab_content .filter .left, .dealerarea .tabs .tab_content .filter .right {
  display: block;
  width: 50%;
  padding: 0;
}
@media screen and (max-width: 768px) {
  .dealerarea .tabs .tab_content .filter .left, .dealerarea .tabs .tab_content .filter .right {
    width: 100%;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 20px;
  }
}
.dealerarea .tabs .tab_content .filter .left h4, .dealerarea .tabs .tab_content .filter .right h4 {
  display: inline-block;
  font-size: 18px;
  line-height: 1em;
  font-weight: 500;
  margin: 0 0 30px 0;
  text-align: center;
  padding: 10px 20px;
  border-bottom: 2px solid #333333;
  font-family: "Roboto", sans-serif;
}
.dealerarea .tabs .tab_content .filter .left p, .dealerarea .tabs .tab_content .filter .right p {
  font-size: 13px;
  line-height: 1em;
  font-weight: 400;
  margin: 0;
  padding: 0;
  font-family: "Roboto", sans-serif;
}
.dealerarea .tabs .tab_content .search-form-1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: hidden;
  border: 1px solid #333333;
  width: 80%;
  margin-bottom: 10px;
}
.dealerarea .tabs .tab_content .search-form-1 label {
  width: 100%;
  background-color: #f1f1f1;
}
.dealerarea .tabs .tab_content .search-form-1 input {
  width: 100%;
  height: 45px;
  padding: 5px 15px;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 1em;
  outline: none;
}
.dealerarea .tabs .tab_content .search-form-1 input::-webkit-input-placeholder {
  color: #777777;
}
.dealerarea .tabs .tab_content .search-form-1 input::-moz-placeholder {
  color: #777777;
}
.dealerarea .tabs .tab_content .search-form-1 input:-ms-input-placeholder {
  color: #777777;
}
.dealerarea .tabs .tab_content .search-form-1 input::-ms-input-placeholder {
  color: #777777;
}
.dealerarea .tabs .tab_content .search-form-1 input::placeholder {
  color: #777777;
}
.dealerarea .tabs .tab_content .search-form-1 button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 50px;
  height: 45px;
  border: none;
  background-color: #333333;
  cursor: pointer;
}
.dealerarea .tabs .tab_content .search-form-1 button::after {
  width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.031 16.6168L22.3137 20.8995L20.8995 22.3137L16.6168 18.031C15.0769 19.263 13.124 20 11 20C6.032 20 2 15.968 2 11C2 6.032 6.032 2 11 2C15.968 2 20 6.032 20 11C20 13.124 19.263 15.0769 18.031 16.6168ZM16.0247 15.8748C17.2475 14.6146 18 12.8956 18 11C18 7.1325 14.8675 4 11 4C7.1325 4 4 7.1325 4 11C4 14.8675 7.1325 18 11 18C12.8956 18 14.6146 17.2475 15.8748 16.0247L16.0247 15.8748Z' fill='%23fff'%3E%3C/path%3E%3C/svg%3E");
  background-repeat: no-repeat;
  content: "";
}
.dealerarea .tabs .tab_content .checkbox-2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5em 2em;
  border: none;
}
.dealerarea .tabs .tab_content .checkbox-2 label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.5em;
  position: relative;
  cursor: pointer;
  font-family: "Roboto", sans-serif;
}
.dealerarea .tabs .tab_content .checkbox-2 label::before {
  width: 20px;
  height: 20px;
  border: 1px solid #333333;
  content: "";
}
.dealerarea .tabs .tab_content .checkbox-2 label:has(:checked)::after {
  position: absolute;
  top: 1px;
  left: 6px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  width: 8px;
  height: 14px;
  border: solid #333333;
  border-width: 0 3px 3px 0;
  content: "";
}
.dealerarea .tabs .tab_content .checkbox-2 input {
  display: none;
}
.dealerarea .tabs .tab_content ul.n_list {
  display: block;
  max-width: 1080px;
  margin: 0px auto 0px auto;
  padding: 0px;
  list-style: none;
  font-family: "Roboto", sans-serif;
}
.dealerarea .tabs .tab_content ul.n_list:after {
  content: ".";
  display: block;
  visibility: hidden;
  height: 0px;
  font-size: 0em;
  line-height: 0;
  clear: both;
}
.dealerarea .tabs .tab_content ul.n_list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 0;
  border-bottom: 1px solid #333333;
}
@media screen and (max-width: 768px) {
  .dealerarea .tabs .tab_content ul.n_list li {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.dealerarea .tabs .tab_content ul.n_list li .data, .dealerarea .tabs .tab_content ul.n_list li a {
  position: relative;
  display: block;
  width: 100%;
  color: #333333;
  margin: 0;
  padding: 10px 25px;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  text-decoration: none;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .dealerarea .tabs .tab_content ul.n_list li .data, .dealerarea .tabs .tab_content ul.n_list li a {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 15px 0;
  }
}
.dealerarea .tabs .tab_content ul.n_list li .data:before, .dealerarea .tabs .tab_content ul.n_list li a:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 3%;
  width: 12px;
  height: 12px;
  border-top: 3px solid #3D7A5D;
  border-right: 3px solid #3D7A5D;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  pointer-events: none;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.dealerarea .tabs .tab_content ul.n_list li .data:hover .category, .dealerarea .tabs .tab_content ul.n_list li .data:hover .country, .dealerarea .tabs .tab_content ul.n_list li a:hover .category, .dealerarea .tabs .tab_content ul.n_list li a:hover .country {
  color: #3D7A5D;
}
.dealerarea .tabs .tab_content ul.n_list li .data:hover:before, .dealerarea .tabs .tab_content ul.n_list li a:hover:before {
  right: 2%;
}
.dealerarea .tabs .tab_content ul.n_list li .data.nomap, .dealerarea .tabs .tab_content ul.n_list li a.nomap {
  pointer-events: none;
}
.dealerarea .tabs .tab_content ul.n_list li .data.nomap:before, .dealerarea .tabs .tab_content ul.n_list li a.nomap:before {
  display: none;
}
.dealerarea .tabs .tab_content ul.n_list li .name {
  font-size: 16px;
  line-height: 1.4em;
  font-weight: 600;
  margin: 0;
  color: #3D7A5D;
}
.dealerarea .tabs .tab_content ul.n_list li .category, .dealerarea .tabs .tab_content ul.n_list li .country {
  font-size: 14px;
  line-height: 1.8em;
  font-weight: 600;
  margin: 0;
}
.dealerarea .tabs .tab_content ul.n_list li .address, .dealerarea .tabs .tab_content ul.n_list li .phone, .dealerarea .tabs .tab_content ul.n_list li .fax, .dealerarea .tabs .tab_content ul.n_list li .hp, .dealerarea .tabs .tab_content ul.n_list li .mail {
  font-size: 14px;
  line-height: 1.8em;
  font-weight: 400;
  margin: 0;
}
.dealerarea .tabs .tab_content ul.n_list li .address > a, .dealerarea .tabs .tab_content ul.n_list li .phone > a, .dealerarea .tabs .tab_content ul.n_list li .fax > a, .dealerarea .tabs .tab_content ul.n_list li .hp > a, .dealerarea .tabs .tab_content ul.n_list li .mail > a {
  position: relative;
  display: inline-block;
  width: auto;
  padding: inherit;
  pointer-events: all !important;
}
.dealerarea .tabs .tab_content ul.n_list li .address > a:before, .dealerarea .tabs .tab_content ul.n_list li .phone > a:before, .dealerarea .tabs .tab_content ul.n_list li .fax > a:before, .dealerarea .tabs .tab_content ul.n_list li .hp > a:before, .dealerarea .tabs .tab_content ul.n_list li .mail > a:before {
  display: none;
}
.dealerarea .tabs .tab_content ul.n_list li .address > a:hover, .dealerarea .tabs .tab_content ul.n_list li .phone > a:hover, .dealerarea .tabs .tab_content ul.n_list li .fax > a:hover, .dealerarea .tabs .tab_content ul.n_list li .hp > a:hover, .dealerarea .tabs .tab_content ul.n_list li .mail > a:hover {
  text-decoration: underline;
  opacity: 0.8;
}
.dealerarea .tabs .tab_content ul.n_list li .point {
  display: inline-block;
  font-size: 14px;
  line-height: 1em;
  font-weight: 400;
  margin: 5px 10px 0 0;
  padding: 3px 5px;
  color: #3D7A5D;
  border: 1px solid #3D7A5D;
}
.dealerarea #tab01:checked ~ #tab01_content,
.dealerarea #tab02:checked ~ #tab02_content,
.dealerarea #tab03:checked ~ #tab03_content,
.dealerarea #tab04:checked ~ #tab04_content,
.dealerarea #tab05:checked ~ #tab05_content,
.dealerarea #tab06:checked ~ #tab06_content,
.dealerarea #tab07:checked ~ #tab07_content,
.dealerarea #tab08:checked ~ #tab08_content,
.dealerarea #tab09:checked ~ #tab09_content,
.dealerarea #tab10:checked ~ #tab10_content {
  display: block;
}
.dealerarea .related {
  display: block;
  margin: auto;
  padding: 0;
  margin-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .dealerarea .related {
    margin-bottom: 50px;
  }
}
.dealerarea .related ul {
  display: block;
  margin: 0px auto 0px auto;
  padding: 0px;
  list-style: none;
}
.dealerarea .related ul:after {
  content: ".";
  display: block;
  visibility: hidden;
  height: 0px;
  font-size: 0em;
  line-height: 0;
  clear: both;
}
.dealerarea .related ul li {
  display: block;
  width: 17%;
  float: left;
  padding: 0;
  margin: 0 3% 3% 0;
}
@media screen and (max-width: 768px) {
  .dealerarea .related ul li {
    width: 31%;
    margin: 0 2% 2% 0;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.dealerarea .related ul li:nth-child(5n) {
  margin: 0 0% 3% 0;
}
.dealerarea .related ul li a {
  width: 100%;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.dealerarea .related ul li a img {
  width: 100%;
}

/*-- ニュース一覧 --*/
.newsarea {
  /*-- セレクトボックス --*/
  /*-- タブ切り替え --*/
}
.newsarea .c-form-select {
  position: relative;
  width: 120px;
  font-size: 14px;
  line-height: 1em;
  color: #333333;
  margin: 20px 0 20px auto;
}
.newsarea .c-form-select:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 12px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  pointer-events: none;
}
.newsarea .c-form-select select {
  width: 100%;
  padding: 5px 20px 5px 5px;
  border-radius: 3px;
  border: 1px solid #333333;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
}
.newsarea .c-form-select select::-ms-expand {
  display: none;
}
.newsarea .c-form-select select:focus {
  outline: 0;
  border: 1px solid #3D7A5D;
}
.newsarea .tabs {
  display: block;
  margin-top: 20px;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .newsarea .tabs {
    margin-bottom: 15px;
  }
}
.newsarea .tabs ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: auto;
  padding: 0;
  list-style: none;
  border-bottom: 1px solid #333333;
}
.newsarea .tabs ul li {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 0;
}
.newsarea .tabs ul li a {
  display: block;
  color: #333333;
  margin: 0;
  padding: 20px 0;
  font-size: 18px;
  line-height: 1em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .newsarea .tabs ul li a {
    padding: 15px 0;
    font-size: 0.9em;
  }
}
.newsarea .tabs ul li a.current {
  border-bottom: solid 2px #333333;
}
.newsarea .tabs ul li a:hover {
  color: #3D7A5D;
  border-bottom: solid 2px #3D7A5D;
}
.newsarea .tab_content {
  display: block;
  margin: 0px auto 0px auto;
  padding: 0;
  margin-bottom: 100px;
  /*-- ニュースリスト --*/
  /*-- ページャー --*/
}
@media screen and (max-width: 768px) {
  .newsarea .tab_content {
    margin-bottom: 50px;
  }
}
.newsarea .tab_content ul.n_list {
  display: block;
  margin: 0px auto 0px auto;
  padding: 0px 0px 30px 0px;
  list-style: none;
}
.newsarea .tab_content ul.n_list:after {
  content: ".";
  display: block;
  visibility: hidden;
  height: 0px;
  font-size: 0em;
  line-height: 0;
  clear: both;
}
.newsarea .tab_content ul.n_list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0;
  border-bottom: 1px solid #333333;
}
@media screen and (max-width: 768px) {
  .newsarea .tab_content ul.n_list li {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.newsarea .tab_content ul.n_list li a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  color: #333333;
  margin: 0;
  padding: 25px 0;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
@media screen and (max-width: 768px) {
  .newsarea .tab_content ul.n_list li a {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 15px 0;
  }
}
.newsarea .tab_content ul.n_list li a:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 3%;
  width: 12px;
  height: 12px;
  border-top: 3px solid #3D7A5D;
  border-right: 3px solid #3D7A5D;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  pointer-events: none;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.newsarea .tab_content ul.n_list li a:hover {
  color: #3D7A5D;
}
.newsarea .tab_content ul.n_list li a:hover:before {
  right: 2%;
}
.newsarea .tab_content ul.n_list li .date {
  width: 130px;
  font-size: 16px;
  line-height: 1.4em;
  margin: 0;
}
.newsarea .tab_content ul.n_list li .cate {
  width: 100px;
  font-size: 13px;
  line-height: 1em;
  font-weight: 500;
  margin: 0;
  text-align: center;
  padding: 3px 0px 3px 0px;
  border-radius: 3px;
  border: 1px solid #333333;
}
.newsarea .tab_content ul.n_list li .text {
  width: calc(100% - 240px);
  font-size: 16px;
  line-height: 1.4em;
  margin-left: 30px;
  padding: 0px 5% 0px 0px;
  margin-top: 0px;
}
@media screen and (max-width: 768px) {
  .newsarea .tab_content ul.n_list li .text {
    width: 100%;
    margin-left: 0px;
    margin-top: 10px;
  }
}
.newsarea .tab_content ul.n_list li .text span {
  font-size: 14px;
  color: #ff0000;
  margin-right: 10px;
}
.newsarea .tab_content .pager {
  width: 100%;
}
.newsarea .tab_content .pager ul.pagination {
  text-align: center;
  margin: 0;
  padding: 0;
}
.newsarea .tab_content .pager ul.pagination li {
  margin: 0 2px;
  padding: 0;
  display: inline-block;
  width: 30px;
  height: 30px;
  text-align: center;
  position: relative;
  font-size: 14px;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .newsarea .tab_content .pager ul.pagination li {
    width: 1.7rem;
    height: 1.7rem;
  }
}
.newsarea .tab_content .pager ul.pagination li.pre, .newsarea .tab_content .pager ul.pagination li.next {
  display: inline-block;
  width: 80px;
  height: 30px;
  text-align: center;
  border: 1px solid #333333;
}
@media screen and (max-width: 768px) {
  .newsarea .tab_content .pager ul.pagination li.pre, .newsarea .tab_content .pager ul.pagination li.next {
    width: 4.5rem;
    height: 1.7rem;
  }
}
.newsarea .tab_content .pager ul.pagination li.pre a, .newsarea .tab_content .pager ul.pagination li.next a {
  width: 100%;
  text-align: center;
}
.newsarea .tab_content .pager ul.pagination li.pre span::after {
  content: "PREV";
}
.newsarea .tab_content .pager ul.pagination li.next span::before {
  content: "NEXT";
}
.newsarea .tab_content .pager ul.pagination li a {
  vertical-align: middle;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  display: table;
  color: #333333;
  text-decoration: none;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.newsarea .tab_content .pager ul.pagination li a span {
  display: table-cell;
  vertical-align: middle;
}
.newsarea .tab_content .pager ul.pagination li a:hover, .newsarea .tab_content .pager ul.pagination li a.active {
  color: #ffffff;
  background: #3D7A5D;
  border: 1px solid #3D7A5D;
}

/*-- ニュース 詳細ページ --*/
.news_detail_contents {
  margin-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .news_detail_contents {
    margin-bottom: 50px;
  }
}
.news_detail_contents h3 {
  display: block;
  font-size: 1.45rem;
  font-weight: 500;
  line-height: 1em;
  color: #333333;
  padding: 20px 0;
  margin: 10px 0 30px 0;
  border-bottom: 2px solid #3D7A5D;
}
@media screen and (max-width: 768px) {
  .news_detail_contents h3 {
    padding: 10px 0;
    margin: 5px 0 15px 0;
  }
}
.news_detail_contents h4 {
  display: block;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1em;
  color: #3D7A5D;
  padding: 0;
  margin: 10px 0 30px 0;
}
@media screen and (max-width: 768px) {
  .news_detail_contents h4 {
    margin: 5px 0 15px 0;
  }
}
.news_detail_contents p {
  display: block;
  font-size: 1.1rem;
  line-height: 1.95em;
  color: #333333;
  margin: 10px 0 30px 0;
}
@media screen and (max-width: 768px) {
  .news_detail_contents p {
    margin: 5px 0 15px 0;
  }
}
.news_detail_contents a {
  color: #333333;
  text-decoration: underline;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.news_detail_contents a:hover {
  color: #3D7A5D;
}
.news_detail_contents a.button_link {
  position: relative;
  display: block;
  width: 440px;
  font-size: 1.1rem;
  line-height: 1em;
  color: #3D7A5D;
  font-weight: 500;
  text-align: center;
  margin: 30px 0 10px 0;
  padding: 30px 3% 30px 3%;
  border: 1px solid #3D7A5D;
  text-decoration: none;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
@media screen and (max-width: 768px) {
  .news_detail_contents a.button_link {
    width: 90%;
    font-size: 1rem;
    margin: 15px auto 5px auto;
    padding: 20px 4% 20px 4%;
  }
}
.news_detail_contents a.button_link:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 5%;
  width: 12px;
  height: 12px;
  border-top: 3px solid #3D7A5D;
  border-right: 3px solid #3D7A5D;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  pointer-events: none;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.news_detail_contents a.button_link:hover {
  color: #ffffff;
  background-color: #3D7A5D;
}
.news_detail_contents a.button_link:hover:before {
  right: 4%;
  border-top: 3px solid #ffffff;
  border-right: 3px solid #ffffff;
}
.news_detail_contents .table-scroll {
  overflow-x: auto;
}
.news_detail_contents .table-scroll table {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
  font-size: 0.9rem;
  line-height: 1.4em;
  font-weight: 500;
  color: #333333;
  margin: 30px 0 10px 0;
}
@media screen and (max-width: 768px) {
  .news_detail_contents .table-scroll table {
    margin: 15px 0 5px 0;
  }
}
.news_detail_contents .table-scroll table th, .news_detail_contents .table-scroll table td {
  padding: 1em 1em;
  border: 1px solid #333333;
}
.news_detail_contents .table-scroll table th {
  background: #ededed;
}
.news_detail_contents figure {
  display: block;
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1.95em;
  color: #333333;
  margin: 60px 0 10px 0;
}
@media screen and (max-width: 768px) {
  .news_detail_contents figure {
    margin: 30px 0 5px 0;
  }
}
.news_detail_contents .snsarea {
  display: block;
  width: 100%;
  margin: -30px 0 10px 0;
}
@media screen and (max-width: 768px) {
  .news_detail_contents .snsarea {
    margin: -15px 0 5px 0;
  }
}

/*-- 共通 --*/
@media screen and (max-width: 768px) {
  body.product .sec-description,
  body.trial .sec-description,
  body.ambassador .sec-description,
  body.company .sec-description,
  body.link .sec-description,
  body.shaft .sec-description,
  body.faq .sec-description,
  body.sitemap .sec-description,
  body.contact .sec-description,
  body.privacy .sec-description {
    text-align: center;
  }
}
body.product .sec-title,
body.trial .sec-title,
body.ambassador .sec-title,
body.company .sec-title,
body.link .sec-title,
body.shaft .sec-title,
body.faq .sec-title,
body.sitemap .sec-title,
body.contact .sec-title,
body.privacy .sec-title {
  text-align: center;
}
@media screen and (max-width: 768px) {
  body.product .sec-title,
  body.trial .sec-title,
  body.ambassador .sec-title,
  body.company .sec-title,
  body.link .sec-title,
  body.shaft .sec-title,
  body.faq .sec-title,
  body.sitemap .sec-title,
  body.contact .sec-title,
  body.privacy .sec-title {
    padding: 40px 0 40px;
  }
}
@media screen and (min-width: 769px) {
  body.product .sec-title,
  body.trial .sec-title,
  body.ambassador .sec-title,
  body.company .sec-title,
  body.link .sec-title,
  body.shaft .sec-title,
  body.faq .sec-title,
  body.sitemap .sec-title,
  body.contact .sec-title,
  body.privacy .sec-title {
    padding: 40px 0 80px;
  }
}
body.product .sec-title .en,
body.trial .sec-title .en,
body.ambassador .sec-title .en,
body.company .sec-title .en,
body.link .sec-title .en,
body.shaft .sec-title .en,
body.faq .sec-title .en,
body.sitemap .sec-title .en,
body.contact .sec-title .en,
body.privacy .sec-title .en {
  font-family: "Montserrat", sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  display: block;
}
@media screen and (max-width: 768px) {
  body.product .sec-title .en,
  body.trial .sec-title .en,
  body.ambassador .sec-title .en,
  body.company .sec-title .en,
  body.link .sec-title .en,
  body.shaft .sec-title .en,
  body.faq .sec-title .en,
  body.sitemap .sec-title .en,
  body.contact .sec-title .en,
  body.privacy .sec-title .en {
    font-size: 1.375rem;
  }
}
body.product .heading2,
body.trial .heading2,
body.ambassador .heading2,
body.company .heading2,
body.link .heading2,
body.shaft .heading2,
body.faq .heading2,
body.sitemap .heading2,
body.contact .heading2,
body.privacy .heading2 {
  display: block;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5em;
  color: #333333;
  padding: 20px 0;
  margin: 10px 0 30px 0;
  border-bottom: 2px solid #3D7A5D;
  text-wrap: pretty;
}
@media screen and (max-width: 768px) {
  body.product .heading2,
  body.trial .heading2,
  body.ambassador .heading2,
  body.company .heading2,
  body.link .heading2,
  body.shaft .heading2,
  body.faq .heading2,
  body.sitemap .heading2,
  body.contact .heading2,
  body.privacy .heading2 {
    font-size: 1.125rem;
    padding: 10px 0;
    margin: 5px 0 15px 0;
  }
}
body.product .heading3,
body.trial .heading3,
body.ambassador .heading3,
body.company .heading3,
body.link .heading3,
body.shaft .heading3,
body.faq .heading3,
body.sitemap .heading3,
body.contact .heading3,
body.privacy .heading3 {
  display: block;
  font-weight: 700;
  line-height: 1.5em;
  color: #333333;
  padding: 0;
  margin: 5px 0 35px 0;
  text-wrap: pretty;
}
@media screen and (min-width: 769px) {
  body.product .heading3,
  body.trial .heading3,
  body.ambassador .heading3,
  body.company .heading3,
  body.link .heading3,
  body.shaft .heading3,
  body.faq .heading3,
  body.sitemap .heading3,
  body.contact .heading3,
  body.privacy .heading3 {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 768px) {
  body.product .heading3,
  body.trial .heading3,
  body.ambassador .heading3,
  body.company .heading3,
  body.link .heading3,
  body.shaft .heading3,
  body.faq .heading3,
  body.sitemap .heading3,
  body.contact .heading3,
  body.privacy .heading3 {
    padding: 0;
    margin: 5px 0 10px 0;
    font-size: 0.875rem;
  }
}
body.product .heading3:before,
body.trial .heading3:before,
body.ambassador .heading3:before,
body.company .heading3:before,
body.link .heading3:before,
body.shaft .heading3:before,
body.faq .heading3:before,
body.sitemap .heading3:before,
body.contact .heading3:before,
body.privacy .heading3:before {
  font-family: "Font Awesome 6 Free";
  content: "\f0c8";
  color: #3D7A5D;
  margin: 0 5px 0 0;
}
body.product .heading4,
body.trial .heading4,
body.ambassador .heading4,
body.company .heading4,
body.link .heading4,
body.shaft .heading4,
body.faq .heading4,
body.sitemap .heading4,
body.contact .heading4,
body.privacy .heading4 {
  display: block;
  font-weight: 500;
  line-height: 1.5em;
  color: #3D7A5D;
  padding: 0;
  margin: 5px 0 10px 0;
  text-wrap: pretty;
}
@media screen and (min-width: 769px) {
  body.product .heading4,
  body.trial .heading4,
  body.ambassador .heading4,
  body.company .heading4,
  body.link .heading4,
  body.shaft .heading4,
  body.faq .heading4,
  body.sitemap .heading4,
  body.contact .heading4,
  body.privacy .heading4 {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 768px) {
  body.product .heading4,
  body.trial .heading4,
  body.ambassador .heading4,
  body.company .heading4,
  body.link .heading4,
  body.shaft .heading4,
  body.faq .heading4,
  body.sitemap .heading4,
  body.contact .heading4,
  body.privacy .heading4 {
    padding: 0;
    font-size: 0.875rem;
  }
}
@media screen and (min-width: 769px) {
  body.product .hero,
  body.trial .hero,
  body.ambassador .hero,
  body.company .hero,
  body.link .hero,
  body.shaft .hero,
  body.faq .hero,
  body.sitemap .hero,
  body.contact .hero,
  body.privacy .hero {
    margin: 40px auto 40px;
    max-width: 1110px;
  }
}
@media screen and (max-width: 768px) {
  body.product .hero,
  body.trial .hero,
  body.ambassador .hero,
  body.company .hero,
  body.link .hero,
  body.shaft .hero,
  body.faq .hero,
  body.sitemap .hero,
  body.contact .hero,
  body.privacy .hero {
    margin: 0 auto 40px;
  }
}
body.product .hero .img,
body.trial .hero .img,
body.ambassador .hero .img,
body.company .hero .img,
body.link .hero .img,
body.shaft .hero .img,
body.faq .hero .img,
body.sitemap .hero .img,
body.contact .hero .img,
body.privacy .hero .img {
  margin: auto;
}
@media screen and (min-width: 769px) {
  body.product .sentence,
  body.trial .sentence,
  body.ambassador .sentence,
  body.company .sentence,
  body.link .sentence,
  body.shaft .sentence,
  body.faq .sentence,
  body.sitemap .sentence,
  body.contact .sentence,
  body.privacy .sentence {
    margin: 0 0 40px;
    font-size: 1rem;
  }
}
@media screen and (max-width: 768px) {
  body.product .sentence,
  body.trial .sentence,
  body.ambassador .sentence,
  body.company .sentence,
  body.link .sentence,
  body.shaft .sentence,
  body.faq .sentence,
  body.sitemap .sentence,
  body.contact .sentence,
  body.privacy .sentence {
    margin: 0 0 20px;
    font-size: 0.875rem;
  }
}
body.product .sentence:has(+ .sentence),
body.trial .sentence:has(+ .sentence),
body.ambassador .sentence:has(+ .sentence),
body.company .sentence:has(+ .sentence),
body.link .sentence:has(+ .sentence),
body.shaft .sentence:has(+ .sentence),
body.faq .sentence:has(+ .sentence),
body.sitemap .sentence:has(+ .sentence),
body.contact .sentence:has(+ .sentence),
body.privacy .sentence:has(+ .sentence) {
  margin: 0 0 30px;
}
body.product .attn,
body.trial .attn,
body.ambassador .attn,
body.company .attn,
body.link .attn,
body.shaft .attn,
body.faq .attn,
body.sitemap .attn,
body.contact .attn,
body.privacy .attn {
  color: #f00;
}
body.product .blue,
body.trial .blue,
body.ambassador .blue,
body.company .blue,
body.link .blue,
body.shaft .blue,
body.faq .blue,
body.sitemap .blue,
body.contact .blue,
body.privacy .blue {
  color: #0063a7;
}
body.product .table-wrap,
body.trial .table-wrap,
body.ambassador .table-wrap,
body.company .table-wrap,
body.link .table-wrap,
body.shaft .table-wrap,
body.faq .table-wrap,
body.sitemap .table-wrap,
body.contact .table-wrap,
body.privacy .table-wrap {
  overflow-x: auto;
}
@media screen and (min-width: 769px) {
  body.product .table-wrap,
  body.trial .table-wrap,
  body.ambassador .table-wrap,
  body.company .table-wrap,
  body.link .table-wrap,
  body.shaft .table-wrap,
  body.faq .table-wrap,
  body.sitemap .table-wrap,
  body.contact .table-wrap,
  body.privacy .table-wrap {
    margin: 0 auto 40px;
  }
}
@media screen and (max-width: 768px) {
  body.product .table-wrap,
  body.trial .table-wrap,
  body.ambassador .table-wrap,
  body.company .table-wrap,
  body.link .table-wrap,
  body.shaft .table-wrap,
  body.faq .table-wrap,
  body.sitemap .table-wrap,
  body.contact .table-wrap,
  body.privacy .table-wrap {
    margin: 0 auto 20px;
  }
}
body.product .table-wrap .table,
body.trial .table-wrap .table,
body.ambassador .table-wrap .table,
body.company .table-wrap .table,
body.link .table-wrap .table,
body.shaft .table-wrap .table,
body.faq .table-wrap .table,
body.sitemap .table-wrap .table,
body.contact .table-wrap .table,
body.privacy .table-wrap .table {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
  font-size: 0.9rem;
  line-height: 1.4em;
  font-weight: 500;
  color: #333333;
  margin: 0px 0 10px 0;
}
@media screen and (max-width: 768px) {
  body.product .table-wrap .table,
  body.trial .table-wrap .table,
  body.ambassador .table-wrap .table,
  body.company .table-wrap .table,
  body.link .table-wrap .table,
  body.shaft .table-wrap .table,
  body.faq .table-wrap .table,
  body.sitemap .table-wrap .table,
  body.contact .table-wrap .table,
  body.privacy .table-wrap .table {
    margin: 0 0 5px 0;
    font-size: 0.7rem;
  }
}
body.product .table-wrap .table th, body.product .table-wrap .table td,
body.trial .table-wrap .table th,
body.trial .table-wrap .table td,
body.ambassador .table-wrap .table th,
body.ambassador .table-wrap .table td,
body.company .table-wrap .table th,
body.company .table-wrap .table td,
body.link .table-wrap .table th,
body.link .table-wrap .table td,
body.shaft .table-wrap .table th,
body.shaft .table-wrap .table td,
body.faq .table-wrap .table th,
body.faq .table-wrap .table td,
body.sitemap .table-wrap .table th,
body.sitemap .table-wrap .table td,
body.contact .table-wrap .table th,
body.contact .table-wrap .table td,
body.privacy .table-wrap .table th,
body.privacy .table-wrap .table td {
  padding: 1em 1em;
  border: 1px solid #333333;
}
@media screen and (max-width: 768px) {
  body.product .table-wrap .table th, body.product .table-wrap .table td,
  body.trial .table-wrap .table th,
  body.trial .table-wrap .table td,
  body.ambassador .table-wrap .table th,
  body.ambassador .table-wrap .table td,
  body.company .table-wrap .table th,
  body.company .table-wrap .table td,
  body.link .table-wrap .table th,
  body.link .table-wrap .table td,
  body.shaft .table-wrap .table th,
  body.shaft .table-wrap .table td,
  body.faq .table-wrap .table th,
  body.faq .table-wrap .table td,
  body.sitemap .table-wrap .table th,
  body.sitemap .table-wrap .table td,
  body.contact .table-wrap .table th,
  body.contact .table-wrap .table td,
  body.privacy .table-wrap .table th,
  body.privacy .table-wrap .table td {
    font-weight: 400;
    white-space: nowrap;
  }
}
body.product .table-wrap .table .img,
body.trial .table-wrap .table .img,
body.ambassador .table-wrap .table .img,
body.company .table-wrap .table .img,
body.link .table-wrap .table .img,
body.shaft .table-wrap .table .img,
body.faq .table-wrap .table .img,
body.sitemap .table-wrap .table .img,
body.contact .table-wrap .table .img,
body.privacy .table-wrap .table .img {
  margin: auto;
}
body.product .table-wrap .table th,
body.trial .table-wrap .table th,
body.ambassador .table-wrap .table th,
body.company .table-wrap .table th,
body.link .table-wrap .table th,
body.shaft .table-wrap .table th,
body.faq .table-wrap .table th,
body.sitemap .table-wrap .table th,
body.contact .table-wrap .table th,
body.privacy .table-wrap .table th {
  background: #ededed;
}
body.product .table-wrap .sentence,
body.trial .table-wrap .sentence,
body.ambassador .table-wrap .sentence,
body.company .table-wrap .sentence,
body.link .table-wrap .sentence,
body.shaft .table-wrap .sentence,
body.faq .table-wrap .sentence,
body.sitemap .table-wrap .sentence,
body.contact .table-wrap .sentence,
body.privacy .table-wrap .sentence {
  margin: 0 0 10px;
}
@media screen and (max-width: 768px) {
  body.product .table-wrap .sentence,
  body.trial .table-wrap .sentence,
  body.ambassador .table-wrap .sentence,
  body.company .table-wrap .sentence,
  body.link .table-wrap .sentence,
  body.shaft .table-wrap .sentence,
  body.faq .table-wrap .sentence,
  body.sitemap .table-wrap .sentence,
  body.contact .table-wrap .sentence,
  body.privacy .table-wrap .sentence {
    margin: 0 0 5px;
    font-size: 0.7rem;
  }
}
@media screen and (min-width: 769px) {
  body.product .table-wrap:has(+ .heading3),
  body.trial .table-wrap:has(+ .heading3),
  body.ambassador .table-wrap:has(+ .heading3),
  body.company .table-wrap:has(+ .heading3),
  body.link .table-wrap:has(+ .heading3),
  body.shaft .table-wrap:has(+ .heading3),
  body.faq .table-wrap:has(+ .heading3),
  body.sitemap .table-wrap:has(+ .heading3),
  body.contact .table-wrap:has(+ .heading3),
  body.privacy .table-wrap:has(+ .heading3) {
    margin: 0 auto 80px;
  }
}
@media screen and (max-width: 768px) {
  body.product .table-wrap:has(+ .heading3),
  body.trial .table-wrap:has(+ .heading3),
  body.ambassador .table-wrap:has(+ .heading3),
  body.company .table-wrap:has(+ .heading3),
  body.link .table-wrap:has(+ .heading3),
  body.shaft .table-wrap:has(+ .heading3),
  body.faq .table-wrap:has(+ .heading3),
  body.sitemap .table-wrap:has(+ .heading3),
  body.contact .table-wrap:has(+ .heading3),
  body.privacy .table-wrap:has(+ .heading3) {
    margin: 0 auto 40px;
  }
}
body.product .link-content,
body.trial .link-content,
body.ambassador .link-content,
body.company .link-content,
body.link .link-content,
body.shaft .link-content,
body.faq .link-content,
body.sitemap .link-content,
body.contact .link-content,
body.privacy .link-content {
  margin: 0;
  overflow: hidden;
}
body.product .link-content_inner,
body.trial .link-content_inner,
body.ambassador .link-content_inner,
body.company .link-content_inner,
body.link .link-content_inner,
body.shaft .link-content_inner,
body.faq .link-content_inner,
body.sitemap .link-content_inner,
body.contact .link-content_inner,
body.privacy .link-content_inner {
  padding: 20px;
}
@media screen and (max-width: 768px) {
  body.product .link-content,
  body.trial .link-content,
  body.ambassador .link-content,
  body.company .link-content,
  body.link .link-content,
  body.shaft .link-content,
  body.faq .link-content,
  body.sitemap .link-content,
  body.contact .link-content,
  body.privacy .link-content {
    font-size: 0.875rem;
  }
}
body.product .link-content .link-list,
body.trial .link-content .link-list,
body.ambassador .link-content .link-list,
body.company .link-content .link-list,
body.link .link-content .link-list,
body.shaft .link-content .link-list,
body.faq .link-content .link-list,
body.sitemap .link-content .link-list,
body.contact .link-content .link-list,
body.privacy .link-content .link-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px 30px;
  margin: 0;
  padding: 0;
}
@media screen and (min-width: 769px) {
  body.product .link-content .link-list,
  body.trial .link-content .link-list,
  body.ambassador .link-content .link-list,
  body.company .link-content .link-list,
  body.link .link-content .link-list,
  body.shaft .link-content .link-list,
  body.faq .link-content .link-list,
  body.sitemap .link-content .link-list,
  body.contact .link-content .link-list,
  body.privacy .link-content .link-list {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media screen and (max-width: 768px) {
  body.product .link-content .link-list,
  body.trial .link-content .link-list,
  body.ambassador .link-content .link-list,
  body.company .link-content .link-list,
  body.link .link-content .link-list,
  body.shaft .link-content .link-list,
  body.faq .link-content .link-list,
  body.sitemap .link-content .link-list,
  body.contact .link-content .link-list,
  body.privacy .link-content .link-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
body.product .link-content .link-list > li,
body.trial .link-content .link-list > li,
body.ambassador .link-content .link-list > li,
body.company .link-content .link-list > li,
body.link .link-content .link-list > li,
body.shaft .link-content .link-list > li,
body.faq .link-content .link-list > li,
body.sitemap .link-content .link-list > li,
body.contact .link-content .link-list > li,
body.privacy .link-content .link-list > li {
  list-style: none;
}
body.product .link-content .link-list > li > a,
body.trial .link-content .link-list > li > a,
body.ambassador .link-content .link-list > li > a,
body.company .link-content .link-list > li > a,
body.link .link-content .link-list > li > a,
body.shaft .link-content .link-list > li > a,
body.faq .link-content .link-list > li > a,
body.sitemap .link-content .link-list > li > a,
body.contact .link-content .link-list > li > a,
body.privacy .link-content .link-list > li > a {
  color: #3D7A5D;
  text-decoration: underline;
}
body.product .ol-list,
body.trial .ol-list,
body.ambassador .ol-list,
body.company .ol-list,
body.link .ol-list,
body.shaft .ol-list,
body.faq .ol-list,
body.sitemap .ol-list,
body.contact .ol-list,
body.privacy .ol-list {
  margin: 0 0 40px;
  padding: 0 0 0 30px;
}
@media screen and (max-width: 768px) {
  body.product .ol-list,
  body.trial .ol-list,
  body.ambassador .ol-list,
  body.company .ol-list,
  body.link .ol-list,
  body.shaft .ol-list,
  body.faq .ol-list,
  body.sitemap .ol-list,
  body.contact .ol-list,
  body.privacy .ol-list {
    padding: 0 0 0 20px;
  }
}
body.product .ol-list li,
body.trial .ol-list li,
body.ambassador .ol-list li,
body.company .ol-list li,
body.link .ol-list li,
body.shaft .ol-list li,
body.faq .ol-list li,
body.sitemap .ol-list li,
body.contact .ol-list li,
body.privacy .ol-list li {
  margin: 0 0 5px;
}
@media screen and (min-width: 769px) {
  body.product .ol-list li,
  body.trial .ol-list li,
  body.ambassador .ol-list li,
  body.company .ol-list li,
  body.link .ol-list li,
  body.shaft .ol-list li,
  body.faq .ol-list li,
  body.sitemap .ol-list li,
  body.contact .ol-list li,
  body.privacy .ol-list li {
    padding-left: 0.5rem;
    font-size: 1rem;
  }
}
@media screen and (max-width: 768px) {
  body.product .ol-list li,
  body.trial .ol-list li,
  body.ambassador .ol-list li,
  body.company .ol-list li,
  body.link .ol-list li,
  body.shaft .ol-list li,
  body.faq .ol-list li,
  body.sitemap .ol-list li,
  body.contact .ol-list li,
  body.privacy .ol-list li {
    font-size: 0.875rem;
  }
}
body.product .ol-list.brackets,
body.trial .ol-list.brackets,
body.ambassador .ol-list.brackets,
body.company .ol-list.brackets,
body.link .ol-list.brackets,
body.shaft .ol-list.brackets,
body.faq .ol-list.brackets,
body.sitemap .ol-list.brackets,
body.contact .ol-list.brackets,
body.privacy .ol-list.brackets {
  padding: 0;
  margin: 5px 0 20px;
}
body.product .ol-list.brackets > li,
body.trial .ol-list.brackets > li,
body.ambassador .ol-list.brackets > li,
body.company .ol-list.brackets > li,
body.link .ol-list.brackets > li,
body.shaft .ol-list.brackets > li,
body.faq .ol-list.brackets > li,
body.sitemap .ol-list.brackets > li,
body.contact .ol-list.brackets > li,
body.privacy .ol-list.brackets > li {
  list-style-type: none;
  counter-increment: cnt;
}
body.product .ol-list.brackets > li::before,
body.trial .ol-list.brackets > li::before,
body.ambassador .ol-list.brackets > li::before,
body.company .ol-list.brackets > li::before,
body.link .ol-list.brackets > li::before,
body.shaft .ol-list.brackets > li::before,
body.faq .ol-list.brackets > li::before,
body.sitemap .ol-list.brackets > li::before,
body.contact .ol-list.brackets > li::before,
body.privacy .ol-list.brackets > li::before {
  content: "(" counter(cnt) ") ";
}
body.product .ol-list .ul-list,
body.trial .ol-list .ul-list,
body.ambassador .ol-list .ul-list,
body.company .ol-list .ul-list,
body.link .ol-list .ul-list,
body.shaft .ol-list .ul-list,
body.faq .ol-list .ul-list,
body.sitemap .ol-list .ul-list,
body.contact .ol-list .ul-list,
body.privacy .ol-list .ul-list {
  list-style-type: disc;
}
body.product .ol-list .ul-list > li,
body.trial .ol-list .ul-list > li,
body.ambassador .ol-list .ul-list > li,
body.company .ol-list .ul-list > li,
body.link .ol-list .ul-list > li,
body.shaft .ol-list .ul-list > li,
body.faq .ol-list .ul-list > li,
body.sitemap .ol-list .ul-list > li,
body.contact .ol-list .ul-list > li,
body.privacy .ol-list .ul-list > li {
  padding-left: 0;
}
body.product .img-unit,
body.trial .img-unit,
body.ambassador .img-unit,
body.company .img-unit,
body.link .img-unit,
body.shaft .img-unit,
body.faq .img-unit,
body.sitemap .img-unit,
body.contact .img-unit,
body.privacy .img-unit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 0 40px;
  gap: 54px;
}
@media screen and (max-width: 768px) {
  body.product .img-unit,
  body.trial .img-unit,
  body.ambassador .img-unit,
  body.company .img-unit,
  body.link .img-unit,
  body.shaft .img-unit,
  body.faq .img-unit,
  body.sitemap .img-unit,
  body.contact .img-unit,
  body.privacy .img-unit {
    gap: 20px;
  }
}
@media screen and (min-width: 769px) {
  body.product .map-wrap,
  body.trial .map-wrap,
  body.ambassador .map-wrap,
  body.company .map-wrap,
  body.link .map-wrap,
  body.shaft .map-wrap,
  body.faq .map-wrap,
  body.sitemap .map-wrap,
  body.contact .map-wrap,
  body.privacy .map-wrap {
    width: 840px;
    margin: 0 auto 80px;
  }
}
@media screen and (max-width: 768px) {
  body.product .map-wrap,
  body.trial .map-wrap,
  body.ambassador .map-wrap,
  body.company .map-wrap,
  body.link .map-wrap,
  body.shaft .map-wrap,
  body.faq .map-wrap,
  body.sitemap .map-wrap,
  body.contact .map-wrap,
  body.privacy .map-wrap {
    width: 100%;
    margin: 0 auto 40px;
  }
}
body.product .map-wrap iframe,
body.trial .map-wrap iframe,
body.ambassador .map-wrap iframe,
body.company .map-wrap iframe,
body.link .map-wrap iframe,
body.shaft .map-wrap iframe,
body.faq .map-wrap iframe,
body.sitemap .map-wrap iframe,
body.contact .map-wrap iframe,
body.privacy .map-wrap iframe {
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 769px) {
  body.product .map-wrap iframe,
  body.trial .map-wrap iframe,
  body.ambassador .map-wrap iframe,
  body.company .map-wrap iframe,
  body.link .map-wrap iframe,
  body.shaft .map-wrap iframe,
  body.faq .map-wrap iframe,
  body.sitemap .map-wrap iframe,
  body.contact .map-wrap iframe,
  body.privacy .map-wrap iframe {
    aspect-ratio: 840/446;
  }
}
@media screen and (max-width: 768px) {
  body.product .map-wrap iframe,
  body.trial .map-wrap iframe,
  body.ambassador .map-wrap iframe,
  body.company .map-wrap iframe,
  body.link .map-wrap iframe,
  body.shaft .map-wrap iframe,
  body.faq .map-wrap iframe,
  body.sitemap .map-wrap iframe,
  body.contact .map-wrap iframe,
  body.privacy .map-wrap iframe {
    aspect-ratio: 1/1;
  }
}

/*-- 製品情報トップ --*/
@media screen and (min-width: 769px) {
  .product_type {
    max-width: 1030px;
    margin: 0 auto 120px;
  }
}
@media screen and (max-width: 768px) {
  .product_type {
    width: 100%;
    margin: 0 auto 80px;
  }
}
.product_type--item {
  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.16);
          box-shadow: 0 0 3px rgba(0, 0, 0, 0.16);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 769px) {
  .product_type--item {
    gap: 35px;
    padding: 35px;
    margin: 0 0 80px;
  }
}
@media screen and (max-width: 768px) {
  .product_type--item {
    gap: 20px;
    padding: 20px 20px 30px 20px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0 0 40px;
  }
  .product_type--item .info {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .product_type--item .img {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
@media screen and (min-width: 769px) {
  .product_type--item:nth-child(odd) .info {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .product_type--item:nth-child(odd) .img {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
@media screen and (min-width: 769px) {
  .product_type--item .info {
    width: 400px;
  }
}
.product_type--item .info .product-category-name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.product_type--item .info .product-category-name .en {
  font-family: "Montserrat", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 12px;
}
@media screen and (max-width: 768px) {
  .product_type--item .info .product-category-name .en {
    font-size: 1.375rem;
  }
}
.product_type--item .info .product-category-name .ja {
  font-size: 1.125rem;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .product_type--item .info .product-category-name .ja {
    font-size: 1rem;
  }
}
@media screen and (min-width: 769px) {
  .product_type--item .info .product-category-description {
    margin-top: 2rem;
    margin-bottom: 60px;
    font-size: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .product_type--item .info .product-category-description {
    margin-top: 1rem;
    margin-bottom: 30px;
    padding: 0;
    font-size: 0.875rem;
  }
}
.product_type--item .img {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
@media screen and (max-width: 768px) {
  .product_type--item .img {
    width: 100%;
    height: auto;
  }
}
.product_type--item a:hover .img {
  -webkit-transform: scale(1.02);
          transform: scale(1.02);
}

/*-- 製品カテゴリトップ --*/
@media screen and (min-width: 769px) {
  .product_cat {
    margin: 0 auto 120px;
    max-width: 1170px;
  }
}
@media screen and (max-width: 768px) {
  .product_cat {
    margin: 0 auto 80px;
  }
}

/*-- 製品リスト画像有り --*/
.product_list {
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  list-style-type: none;
  gap: 60px 24px;
  margin: 0 0 80px;
}
@media screen and (max-width: 768px) {
  .product_list {
    gap: 16px;
    margin: 0 0 40px;
  }
}
.product_list--item {
  list-style: none;
  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.16);
          box-shadow: 0 0 3px rgba(0, 0, 0, 0.16);
}
@media screen and (max-width: 768px) {
  .product_list--item {
    width: calc((100vw - 48px) / 2);
  }
}
.product_list--item .img {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
@media screen and (max-width: 768px) {
  .product_list--item .img {
    width: 100%;
    height: auto;
  }
}
.product_list--item .product-name {
  padding: 10px;
  font-size: 1rem;
  line-height: 1.5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 769px) {
  .product_list--item .product-name {
    height: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .product_list--item .product-name {
    padding: 8px 10px;
    font-size: 0.63rem;
  }
}
.product_list--item .product-name .fa-angle-right {
  font-family: "Font Awesome 6 Free";
  content: "\f105";
  color: #3D7A5D;
}
.product_list--item a:hover .img {
  -webkit-transform: scale(1.02);
          transform: scale(1.02);
}

/*-- 製品ページ --*/
@media screen and (min-width: 769px) {
  .product_detail {
    max-width: 1170px;
    margin: 60px auto 80px;
  }
}
@media screen and (max-width: 768px) {
  .product_detail {
    margin: 2rem auto;
  }
}
.product_detail .heading3:has(+ .sentence) {
  margin: 5px 0 15px 0;
}
@media screen and (min-width: 769px) {
  .product_detail .img-wrap {
    margin: 0 auto 40px;
  }
}
@media screen and (max-width: 768px) {
  .product_detail .img-wrap {
    margin: 0 auto 20px;
  }
}
.product_detail .img-wrap .img {
  margin: 0 auto 40px;
}
@media screen and (max-width: 768px) {
  .product_detail .img-wrap .img {
    margin: 0 auto 20px;
  }
}
.product_detail .img-wrap .sentence {
  margin: 0 auto 40px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .product_detail .img-wrap .sentence {
    margin: 0 auto 20px;
  }
}
.product_detail .img-wrap picture:has(+ .sentence) .img {
  margin: 0 auto 10px;
}
@media screen and (max-width: 768px) {
  .product_detail .img-wrap picture:has(+ .sentence) .img {
    margin: 0 auto 5px;
    font-size: 0.875rem;
  }
}
@media screen and (min-width: 769px) {
  .product_detail .img-wrap:has(+ .heading3), .product_detail .img-wrap:has(+ .table-wrap) {
    margin: 0 0 80px;
  }
}
@media screen and (max-width: 768px) {
  .product_detail .img-wrap:has(+ .heading3), .product_detail .img-wrap:has(+ .table-wrap) {
    margin: 0 0 40px;
  }
}
@media screen and (min-width: 769px) {
  .product_detail .movie-wrap {
    margin: 0 auto 40px;
  }
}
@media screen and (max-width: 768px) {
  .product_detail .movie-wrap {
    margin: 0 auto 20px;
  }
}
.product_detail .related {
  background-color: #f2f2f2;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .product_detail .related {
    padding: 40px 40px 10px;
  }
}
@media screen and (max-width: 768px) {
  .product_detail .related {
    padding: 30px 15px 10px;
  }
}
.product_detail .related .title {
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .product_detail .related .title {
    margin: 0 auto 40px;
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 768px) {
  .product_detail .related .title {
    margin: 0 auto 20px;
    font-size: 1rem;
  }
}
.product_detail .related .related_links {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.product_detail .related .related_links .square-btn {
  margin: 0 0 10px;
}
@media screen and (max-width: 768px) {
  .product_detail .related .related_links .item {
    width: 100%;
    font-size: 0.875rem;
  }
}
@media screen and (min-width: 769px) {
  .product_detail .link {
    margin: 0 auto 40px;
  }
}
@media screen and (max-width: 768px) {
  .product_detail .link {
    margin: 0 auto 20px;
  }
}
@media screen and (min-width: 769px) {
  .product_detail .link:last-child {
    margin: 0 auto 80px;
  }
}
@media screen and (max-width: 768px) {
  .product_detail .link:last-child {
    margin: 0 auto 40px;
  }
}
.product_detail .link .summary {
  display: block;
  background-color: #f2f2f2;
  font-weight: 700;
  cursor: pointer;
  position: relative;
}
@media screen and (min-width: 769px) {
  .product_detail .link .summary {
    padding: 25px;
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 768px) {
  .product_detail .link .summary {
    padding: 20px 15px;
    font-size: 0.875rem;
  }
}
.product_detail .link .summary::-webkit-details-marker {
  display: none;
}
.product_detail .link .summary::before, .product_detail .link .summary::after {
  content: "";
  display: inline-block;
  height: 2px;
  background-color: #333;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
@media screen and (min-width: 769px) {
  .product_detail .link .summary::before, .product_detail .link .summary::after {
    width: 20px;
    right: 40px;
  }
}
@media screen and (max-width: 768px) {
  .product_detail .link .summary::before, .product_detail .link .summary::after {
    width: 14px;
    right: 20px;
  }
}
.product_detail .link .summary::after {
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.product_detail .link[open] summary::after {
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}
.product_detail .ul-list {
  margin: 0 0 40px;
  padding: 0 0 0 20px;
}
@media screen and (max-width: 768px) {
  .product_detail .ul-list li {
    font-size: 0.875rem;
  }
}
.product_detail .ul-list .ol-list {
  margin: 5px 0 0 0;
}
.product_detail .ul-list .ol-list li {
  margin: 0;
  padding: 0;
}

/*-- カテゴリマップ --*/
@media screen and (min-width: 769px) {
  .product_map {
    margin: 0 auto 80px;
  }
}
@media screen and (max-width: 768px) {
  .product_map {
    margin: 0 auto 40px;
  }
}
.product_map .img {
  margin: auto;
}

/*-- 関連リンク --*/
.related_links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  .related_links {
    gap: 20px;
    margin: 0 auto 20px;
  }
}
@media screen and (min-width: 769px) {
  .related_links {
    gap: 30px 60px;
    margin: 0 auto 30px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.related_links .square-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: left;
  color: #fff;
  position: relative;
  background-color: #4b896c;
  padding: 15px 20px;
}
@media screen and (min-width: 769px) {
  .related_links .square-btn {
    height: 58px;
    width: 448px;
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 768px) {
  .related_links .square-btn {
    width: 100%;
    font-size: 0.75rem;
  }
}
.related_links .square-btn i {
  position: absolute;
  top: 50%;
  right: 1rem;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
.related_links .square-btn:hover i {
  -webkit-transform: translate(3px, -50%);
          transform: translate(3px, -50%);
}
@media screen and (min-width: 769px) {
  .related_links.start {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    margin: 0 calc((100% - 956px) / 2) 30px;
  }
}

/*-- よくある質問 --*/
.faq_list {
  list-style-type: none;
  margin: 0 15px 50px;
  padding: 0;
  border-bottom: 1px solid #f2f2f2;
}
@media screen and (max-width: 768px) {
  .faq_list {
    margin: 0 auto 40px;
  }
}
.faq_list--item {
  list-style: none;
  border-top: 1px solid #f2f2f2;
}
.faq_list--item .content,
.faq_list--item .panel_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 30px;
}
@media screen and (max-width: 768px) {
  .faq_list--item .content,
  .faq_list--item .panel_inner {
    gap: 14px;
  }
}
.faq_list--item .content:before,
.faq_list--item .panel_inner:before {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .faq_list--item .content:before,
  .faq_list--item .panel_inner:before {
    width: 50px;
    height: 50px;
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .faq_list--item .content:before,
  .faq_list--item .panel_inner:before {
    width: 40px;
    height: 40px;
    -ms-flex-item-align: start;
        align-self: start;
    font-size: 1.315rem;
  }
}
.faq_list--item .content {
  cursor: pointer;
  padding: 24px 20px;
}
.faq_list--item .content::-webkit-details-marker {
  display: none;
}
@media screen and (max-width: 768px) {
  .faq_list--item .content {
    padding: 20px 10px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (min-width: 769px) {
  .faq_list--item .content .question {
    width: 920px;
  }
}
@media screen and (max-width: 768px) {
  .faq_list--item .content .question {
    font-size: 0.875rem;
    -webkit-box-flex: 2;
        -ms-flex-positive: 2;
            flex-grow: 2;
  }
}
.faq_list--item .content:before {
  background-color: #F2F2F2;
  content: "Q";
}
.faq_list--item .content i.fa-solid {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.faq_list--item .panel {
  background-color: #f8f8f8;
}
.faq_list--item .panel_inner {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 24px 20px;
}
@media screen and (max-width: 768px) {
  .faq_list--item .panel_inner {
    padding: 20px 10px;
    font-size: 0.875rem;
  }
}
.faq_list--item .panel_inner:before {
  background-color: #4b896c;
  color: #fff;
  content: "A";
}
.faq_list--item a:hover .content:before {
  color: #333;
}
.faq_list--item .faq_item.is-opened .content i.fa-solid {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}

/*-- 契約プロ --*/
@media screen and (min-width: 769px) {
  body.ambassador .ambassador_list {
    max-width: 1030px;
    margin: 0 auto 120px;
  }
}
@media screen and (max-width: 768px) {
  body.ambassador .ambassador_list {
    width: 100%;
    margin: 0 auto 80px;
  }
}
body.ambassador .ambassador_list--item {
  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.16);
          box-shadow: 0 0 3px rgba(0, 0, 0, 0.16);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 769px) {
  body.ambassador .ambassador_list--item {
    gap: 35px;
    padding: 35px;
    margin: 0 0 80px;
  }
}
@media screen and (max-width: 768px) {
  body.ambassador .ambassador_list--item {
    gap: 20px;
    padding: 20px 20px 30px 20px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0 0 40px;
  }
}
@media screen and (min-width: 769px) {
  body.ambassador .ambassador_list--item .info {
    width: 410px;
  }
}
body.ambassador .ambassador_list--item .info .name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
body.ambassador .ambassador_list--item .info .name .en {
  font-family: "Montserrat", sans-serif;
  font-size: 1.5rem;
  margin: 0 0 12px;
  font-weight: 200;
}
@media screen and (max-width: 768px) {
  body.ambassador .ambassador_list--item .info .name .en {
    font-size: 1.375rem;
  }
}
@media screen and (min-width: 769px) {
  body.ambassador .ambassador_list--item .info .detail {
    margin-top: 2rem;
    margin-bottom: 60px;
    font-size: 1rem;
  }
}
@media screen and (max-width: 768px) {
  body.ambassador .ambassador_list--item .info .detail {
    margin-top: 1rem;
    margin-bottom: 30px;
    padding: 0;
    font-size: 0.875rem;
  }
}
body.ambassador .ambassador_list--item .img {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
@media screen and (max-width: 768px) {
  body.ambassador .ambassador_list--item .img {
    width: 100%;
    height: auto;
  }
}
body.ambassador .ambassador_list--item a {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
body.ambassador .ambassador_list--item a:hover .img {
  -webkit-transform: scale(1.02);
          transform: scale(1.02);
}
body.ambassador .ambassador_detail {
  padding-bottom: 100px;
}
@media screen and (max-width: 768px) {
  body.ambassador .ambassador_detail {
    padding-bottom: 2.5rem;
  }
}
body.ambassador .ambassador_detail .profile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 768px) {
  body.ambassador .ambassador_detail .profile {
    margin: 0 16px;
    gap: 20px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (min-width: 769px) {
  body.ambassador .ambassador_detail .profile {
    margin: 0 0 80px;
    gap: 60px;
  }
}
body.ambassador .ambassador_detail .profile .sns {
  display: block;
  margin: 0 0 50px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
@media screen and (max-width: 768px) {
  body.ambassador .ambassador_detail .profile .sns img {
    margin: 0 auto;
  }
}
body.ambassador .ambassador_detail .profile .sns:hover {
  opacity: 0.6;
}
@media screen and (max-width: 768px) {
  body.ambassador .ambassador_detail .profile .list {
    margin: 0 0 30px;
  }
}
@media screen and (min-width: 769px) {
  body.ambassador .ambassador_detail .profile .list {
    margin: 0 0 60px;
  }
}
@media screen and (min-width: 769px) {
  body.ambassador .ambassador_detail .profile .list dt, body.ambassador .ambassador_detail .profile .list dd {
    margin: 0 0 1rem;
  }
}
body.ambassador .ambassador_detail .profile .list dt {
  font-weight: 600;
}
@media screen and (min-width: 769px) {
  body.ambassador .ambassador_detail .profile .list dt {
    width: 9rem;
    margin-right: 2rem;
    float: left;
    text-align: right;
  }
}
@media screen and (max-width: 768px) {
  body.ambassador .ambassador_detail .profile .list dd {
    margin: 0 0 1rem;
  }
}
@media screen and (max-width: 768px) {
  body.ambassador .ambassador_detail .text-area {
    margin: 0 16px;
  }
}
body.ambassador .ambassador_detail .used {
  width: 100%;
  margin: 0 0 10px;
  border-collapse: collapse;
}
@media screen and (max-width: 768px) {
  body.ambassador .ambassador_detail .used {
    border-bottom: 1px solid #707070;
  }
}
body.ambassador .ambassador_detail .used th, body.ambassador .ambassador_detail .used td {
  padding: 10px 24px;
  border: 1px solid #707070;
  font-weight: 400;
  text-align: left;
}
@media screen and (max-width: 768px) {
  body.ambassador .ambassador_detail .used th, body.ambassador .ambassador_detail .used td {
    display: block;
    width: 100%;
    border-bottom: none;
  }
}
body.ambassador .ambassador_detail .used th {
  background-color: #ededed;
}
@media screen and (min-width: 769px) {
  body.ambassador .ambassador_detail .used th {
    width: 16rem;
  }
}
body.ambassador .ambassador_detail .used a {
  color: #3d7a5d;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
body.ambassador .ambassador_detail .used a:hover {
  color: #333;
}
body.ambassador .ambassador_detail--link {
  padding: 40px 0;
  background-color: #ededed;
}
@media screen and (max-width: 768px) {
  body.ambassador .ambassador_detail--link {
    padding: 20px 0;
  }
}
body.ambassador .ambassador_detail--link .title {
  margin: 0 0 20px;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  body.ambassador .ambassador_detail--link .title {
    font-size: 1.125rem;
  }
}
@media screen and (min-width: 769px) {
  body.ambassador .ambassador_detail--link .title {
    font-size: 1.25rem;
  }
}
body.ambassador .ambassador_detail--link .title .fa-solid {
  color: #3d7a5d;
}
body.ambassador .ambassador_detail--link .items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  body.ambassador .ambassador_detail--link .items {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    font-size: 0.875rem;
    gap: 0.8rem;
  }
}
body.ambassador .ambassador_detail--link .items .fa-solid {
  color: #3d7a5d;
}
body.ambassador .ambassador_detail--link a {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
body.ambassador .ambassador_detail--movie .movie-wrap {
  margin: 0 auto 20px;
  max-width: 918px;
  aspect-ratio: 560/315;
}
@media screen and (max-width: 768px) {
  body.ambassador .ambassador_detail--movie .movie-wrap {
    margin: 0 auto 10px;
  }
}
body.ambassador .ambassador_detail--movie .movie-wrap iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 560/315;
}
body.ambassador .ambassador_detail--movie .nav-wrap {
  margin: 0;
  padding: 0;
}
body.ambassador .ambassador_detail--movie .nav-wrap > div {
  padding: 0 !important;
}
body.ambassador .ambassador_detail--movie .nav-wrap .slick-track {
  -webkit-transform: unset !important;
          transform: unset !important;
}
@media screen and (max-width: 768px) {
  body.ambassador .ambassador_detail--movie .nav-wrap .slick-track {
    width: 100%;
  }
}
body.ambassador .ambassador_detail--movie .nav-wrap .item img {
  width: 100%;
  padding: 0 5px;
  cursor: pointer;
}
body.ambassador .ambassador_detail .archive {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  margin: 0 0 60px;
}
@media screen and (max-width: 768px) {
  body.ambassador .ambassador_detail .archive {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}
body.ambassador .ambassador_detail .archive .img {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (max-width: 768px) {
  body.ambassador .ambassador_detail .archive .img {
    margin: 10px auto;
  }
}

/*-- 企業情報 --*/
@media screen and (min-width: 769px) {
  body.company .company {
    margin: 0 auto 120px;
    max-width: 1170px;
  }
}
@media screen and (max-width: 768px) {
  body.company .company {
    margin: 0 auto 80px;
  }
}
body.company .company_top {
  margin: 0 0 80px;
  background-image: url("/assets/img/company/bg.jpg");
  background-size: cover;
}
@media screen and (max-width: 768px) {
  body.company .company_top {
    margin: 30px 0 40px;
  }
}
body.company .company_top--inner {
  width: 100%;
  max-width: 1170px;
  padding: 80px 30px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 45px;
}
@media screen and (min-width: 769px) {
  body.company .company_top--inner {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media screen and (max-width: 768px) {
  body.company .company_top--inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 40px 16px;
  }
}
body.company .company_top .item {
  width: 340px;
  padding: 25px 25px 0 25px;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  body.company .company_top .item {
    width: 100%;
  }
}
body.company .company_top .item .img {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
@media screen and (max-width: 768px) {
  body.company .company_top .item .img {
    width: 100%;
    height: auto;
  }
}
body.company .company_top .item a {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
body.company .company_top .item a:hover .img {
  -webkit-transform: scale(1.02);
          transform: scale(1.02);
}
body.company .company_top .name {
  padding: 10px 0;
  font-size: 1rem;
  line-height: 1.5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 600;
}
@media screen and (min-width: 769px) {
  body.company .company_top .name {
    height: 4rem;
  }
}
@media screen and (max-width: 768px) {
  body.company .company_top .name {
    padding: 15px 0;
    font-size: 1rem;
  }
}
body.company .company_top .name .fa-angle-right {
  font-family: "Font Awesome 6 Free";
  content: "\f105";
  color: #3D7A5D;
}
body.company .company_table {
  width: 100%;
  margin: 0 0 80px;
  border-collapse: collapse;
}
@media screen and (max-width: 768px) {
  body.company .company_table {
    margin: 0 0 40px;
    border-bottom: 1px solid #707070;
  }
}
body.company .company_table th, body.company .company_table td {
  padding: 15px 24px;
  border: 1px solid #707070;
  font-weight: 400;
  text-align: left;
}
@media screen and (max-width: 768px) {
  body.company .company_table th, body.company .company_table td {
    display: block;
    width: 100%;
    padding: 10px 15px;
    border-bottom: none;
    font-size: 0.875rem;
  }
}
body.company .company_table th {
  background-color: #ededed;
}
@media screen and (min-width: 769px) {
  body.company .company_table th {
    width: 16rem;
    text-align: center;
  }
}
body.company .company_table a {
  color: #3d7a5d;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
body.company .company_table a:hover {
  color: #333;
}
body.company .company.link a {
  color: #3D7A5D;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
body.company .company.link a:hover {
  color: #333;
}
body.company .company.link .heading3 {
  margin: 0 0 10px;
}
@media screen and (min-width: 769px) {
  body.company .company.link .ul-list {
    margin: 0 0 40px;
  }
}
@media screen and (max-width: 768px) {
  body.company .company.link .ul-list {
    margin: 0 0 20px;
    font-size: 0.875rem;
  }
}
body.company .company_oem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 0;
}
@media screen and (min-width: 769px) {
  body.company .company_oem {
    margin: 0 auto;
    gap: 40px 24px;
  }
}
@media screen and (max-width: 768px) {
  body.company .company_oem {
    gap: 24px 16px;
  }
}
body.company .company_oem .item {
  list-style: none;
}
@media screen and (min-width: 769px) {
  body.company .company_oem .item {
    width: calc((100% - 72px) / 4);
  }
}
@media screen and (max-width: 768px) {
  body.company .company_oem .item {
    width: calc((100vw - 48px) / 2);
  }
}
body.company .company_oem .item .img {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  width: 100%;
  height: auto;
}
body.company .company_oem .item a:hover .img {
  -webkit-transform: scale(1.02);
          transform: scale(1.02);
}
body.company .company_tec {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 769px) {
  body.company .company_tec {
    width: 1110px;
    margin: 0 auto 40px;
    gap: 40px;
  }
}
@media screen and (max-width: 768px) {
  body.company .company_tec {
    margin: 0 auto 16px;
    gap: 16px;
  }
}
body.company .company_test {
  border-bottom: 1px solid #f2f2f2;
}
@media screen and (min-width: 769px) {
  body.company .company_test {
    padding: 36px 20px;
  }
}
@media screen and (max-width: 768px) {
  body.company .company_test {
    padding: 24px 8px;
  }
}
body.company .company_test .name {
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  body.company .company_test .name {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 768px) {
  body.company .company_test .name {
    font-size: 1rem;
  }
}
body.company .company_policy {
  background-color: #f2f2f2;
}
@media screen and (min-width: 769px) {
  body.company .company_policy {
    margin: 0 auto 120px;
    max-width: 1110px;
    padding: 40px 40px 20px;
    font-size: 1rem;
  }
}
@media screen and (max-width: 768px) {
  body.company .company_policy {
    margin: 0 auto 60px;
    padding: 20px 15px;
    font-size: 0.875rem;
  }
}
body.company .inner:has(+ .company_policy) {
  margin: 0 auto 40px;
}
body.company .related_links {
  margin: 0 0 80px;
}
@media screen and (max-width: 768px) {
  body.company .related_links {
    margin: 0 0 40px;
  }
}

body.company .company_link,
body.dealerarea .company_link {
  padding: 40px 0;
  background-color: #ededed;
}
@media screen and (max-width: 768px) {
  body.company .company_link,
  body.dealerarea .company_link {
    padding: 20px 0;
  }
}
body.company .company_link .title,
body.dealerarea .company_link .title {
  margin: 0 0 20px;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  body.company .company_link .title,
  body.dealerarea .company_link .title {
    font-size: 1.125rem;
  }
}
@media screen and (min-width: 769px) {
  body.company .company_link .title,
  body.dealerarea .company_link .title {
    font-size: 1.25rem;
  }
}
body.company .company_link .title .fa-solid,
body.dealerarea .company_link .title .fa-solid {
  color: #3d7a5d;
}
body.company .company_link .items,
body.dealerarea .company_link .items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  body.company .company_link .items,
  body.dealerarea .company_link .items {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    font-size: 0.875rem;
    gap: 0.8rem;
  }
}
body.company .company_link .items .fa-solid,
body.dealerarea .company_link .items .fa-solid {
  color: #3d7a5d;
}
body.company .company_link a,
body.dealerarea .company_link a {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
@media screen and (max-width: 768px) {
  body.company .company_link a,
  body.dealerarea .company_link a {
    -ms-flex-preferred-size: calc(50% - 0.8rem);
        flex-basis: calc(50% - 0.8rem);
  }
}

/*-- 企業情報 --*/
@media screen and (min-width: 769px) {
  body.shaft .shaft {
    margin: 0 auto 120px;
    max-width: 1170px;
  }
}
@media screen and (max-width: 768px) {
  body.shaft .shaft {
    margin: 0 auto 80px;
  }
}
body.shaft .shaft_top {
  background-image: url("/assets/img/shaft/bg.jpg");
  background-size: cover;
}
body.shaft .shaft_top--inner {
  width: 100%;
  max-width: 1170px;
  padding: 80px 30px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 45px;
}
@media screen and (min-width: 769px) {
  body.shaft .shaft_top--inner {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media screen and (max-width: 768px) {
  body.shaft .shaft_top--inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 40px 16px;
  }
}
body.shaft .shaft_top .item {
  width: 340px;
  padding: 25px 25px 0 25px;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  body.shaft .shaft_top .item {
    width: 100%;
  }
}
body.shaft .shaft_top .item .img {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
@media screen and (max-width: 768px) {
  body.shaft .shaft_top .item .img {
    width: 100%;
    height: auto;
  }
}
body.shaft .shaft_top .item a {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
body.shaft .shaft_top .item a:hover .img {
  -webkit-transform: scale(1.02);
          transform: scale(1.02);
}
body.shaft .shaft_top .name {
  padding: 10px 0;
  font-size: 1rem;
  line-height: 1.5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 769px) {
  body.shaft .shaft_top .name {
    height: 4rem;
  }
}
@media screen and (max-width: 768px) {
  body.shaft .shaft_top .name {
    padding: 15px 0;
    font-size: 1rem;
  }
}
body.shaft .shaft_top .name .fa-angle-right {
  font-family: "Font Awesome 6 Free";
  content: "\f105";
  color: #3D7A5D;
}
body.shaft .shaft .ul-list {
  margin: 0 0 40px;
  padding: 0 0 0 20px;
}
@media screen and (max-width: 768px) {
  body.shaft .shaft .ul-list li {
    font-size: 0.875rem;
  }
}
body.shaft .shaft .ul-list .ol-list {
  margin: 5px 0 0 0;
}
body.shaft .shaft .ul-list .ol-list li {
  margin: 0;
  padding: 0;
}
body.shaft .shaft .ol-list {
  margin: 0 0 40px;
  padding: 0 0 0 20px;
}
body.shaft .shaft .ol-list li {
  margin: 0;
  padding: 0;
}
@media screen and (min-width: 769px) {
  body.shaft .shaft .img-wrap {
    margin: 0 0 20px;
  }
}
@media screen and (max-width: 768px) {
  body.shaft .shaft .img-wrap {
    margin: 0 0 10px;
  }
}
body.shaft .shaft_link {
  padding: 40px 0;
  background-color: #ededed;
}
@media screen and (max-width: 768px) {
  body.shaft .shaft_link {
    padding: 20px 0;
  }
}
body.shaft .shaft_link .title {
  margin: 0 0 20px;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  body.shaft .shaft_link .title {
    font-size: 1.125rem;
  }
}
@media screen and (min-width: 769px) {
  body.shaft .shaft_link .title {
    font-size: 1.25rem;
  }
}
body.shaft .shaft_link .title .fa-solid {
  color: #3d7a5d;
}
body.shaft .shaft_link .items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  body.shaft .shaft_link .items {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    font-size: 0.875rem;
    gap: 0.8rem;
  }
}
body.shaft .shaft_link .items .fa-solid {
  color: #3d7a5d;
}
body.shaft .shaft_link a {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
body.shaft .shaft a {
  color: #3D7A5D;
}
body.shaft .shaft a:hover .content:before {
  color: #333;
}
body.shaft .tabs {
  display: block;
  margin-top: 20px;
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  body.shaft .tabs {
    margin-bottom: 40px;
  }
}
body.shaft .tabs > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: auto;
  padding: 0;
  list-style: none;
  border-bottom: 1px solid #3D7A5D;
}
body.shaft .tabs > ul > li {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 0;
}
body.shaft .tabs > ul > li > button {
  display: block;
  color: #333333;
  margin: 0;
  padding: 20px 0;
  font-size: 1.125rem;
  line-height: 1.5em;
  font-weight: 500;
  text-align: center;
  background-color: #fff;
  border: none;
  width: 100%;
  cursor: pointer;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
@media screen and (max-width: 768px) {
  body.shaft .tabs > ul > li > button {
    padding: 15px 0 5px;
    font-size: 0.875rem;
  }
}
body.shaft .tabs > ul > li > button.is-active {
  color: #3D7A5D;
  border-bottom: solid 2px #3D7A5D;
}
body.shaft .tabs > ul > li > button:hover {
  color: #3D7A5D;
}
body.shaft .tab_content {
  margin: 0px auto 0px auto;
  padding: 0;
  margin-bottom: 30px;
  display: none;
}
@media screen and (max-width: 768px) {
  body.shaft .tab_content {
    margin-bottom: 15px;
  }
}
body.shaft .tab_content.is-active {
  display: block;
}
body.shaft .tab_content > .flow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 60px;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 768px) {
  body.shaft .tab_content > .flow {
    gap: 16px;
  }
}
body.shaft .tab_content > .flow > .item {
  list-style: none;
  width: calc((100% - 120px) / 3);
}
@media screen and (max-width: 768px) {
  body.shaft .tab_content > .flow > .item {
    width: calc((100% - 16px) / 2);
  }
}
body.shaft .tab_content > .flow > .item .title {
  font-weight: bold;
  margin: 0 0 5px;
}
@media screen and (max-width: 768px) {
  body.shaft .tab_content > .flow > .item .title {
    font-size: 0.75rem;
  }
}
body.shaft .tab_content > .flow > .item .img {
  margin: 0 0 10px;
}
@media screen and (max-width: 768px) {
  body.shaft .tab_content > .flow > .item .sentence {
    font-size: 0.625rem;
  }
}

/** サイトマップ **/
body.sitemap .sitemap_list {
  padding: 0;
  list-style-type: none;
  border-top: 1px solid #f2f2f2;
}
@media screen and (max-width: 768px) {
  body.sitemap .sitemap_list {
    margin: 20px 0;
  }
}
@media screen and (min-width: 769px) {
  body.sitemap .sitemap_list {
    margin: 40px 20px;
  }
}
body.sitemap .sitemap_list .item {
  border-bottom: 1px solid #f2f2f2;
}
@media screen and (max-width: 768px) {
  body.sitemap .sitemap_list .item {
    padding: 20px 16px;
  }
}
@media screen and (min-width: 769px) {
  body.sitemap .sitemap_list .item {
    padding: 40px 16px;
  }
}
body.sitemap .sitemap_list .item .title {
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  body.sitemap .sitemap_list .item .title {
    font-size: 1.125rem;
  }
}
@media screen and (min-width: 769px) {
  body.sitemap .sitemap_list .item .title {
    font-size: 1.25rem;
  }
}
body.sitemap .sitemap_list .item .title a {
  color: #3d7a5d;
  text-decoration: underline;
}
body.sitemap .sitemap_list .item .title a:hover {
  color: #333;
}
body.sitemap .sitemap_list .item .content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  body.sitemap .sitemap_list .item .content {
    font-size: 0.875rem;
    gap: 0.8rem;
  }
}
@media screen and (max-width: 768px) {
  body.sitemap .sitemap_list .item .content > a {
    width: calc((100% - 0.8rem) / 2);
  }
}
@media screen and (max-width: 768px) {
  body.sitemap .sitemap_list .item .content.column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (max-width: 768px) {
  body.sitemap .sitemap_list .item .content.column > a {
    width: 100%;
  }
}
body.sitemap .sitemap_list .item .content .fa-solid {
  color: #3d7a5d;
}
body.sitemap .sitemap_list .item .title + .content {
  margin: 20px 0 0 0;
}
body.sitemap .sitemap_list .item > .content {
  margin: 0;
}
body.sitemap .sitemap_list .item a {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

body.contact .sentence a {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  color: #3D7A5D;
  text-decoration: underline;
}
body.contact .sentence a:hover {
  color: #333;
}