  /* =========================================================

*Foundation

-
customproperty
reset
base

========================================================= */
/* ---------------------------------------------------------
 custom property
--------------------------------------------------------- */
:root {
  --site-padding: 6rem;
  --site-max-width: 160rem;
  --header-height: 17.6rem;
}
:root .is-lower {
  --header-height: 10rem;
}
@media (max-width: 959px) {
  :root {
    --site-padding: 3rem;
    --site-max-width: 100%;
    --header-height: 10rem;
  }
  :root .is-lower {
    --header-height: 6rem;
  }
}
@media (max-width: 767px) {
  :root {
    --site-padding: 2rem;
    --site-max-width: 100%;
    --header-height: 8rem;
  }
  :root .is-lower {
    --header-height: 5rem;
  }
}

/* ---------------------------------------------------------
 reset
--------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  font: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  border: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

table {
  border-spacing: 0;
  border-collapse: collapse;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  box-sizing: border-box;
  box-sizing: border-box;
  box-sizing: border-box;
}

input, button, select, textarea {
  font: inherit;
  border: none;
  border-radius: 0;
  outline: none;
  background: transparent;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  appearance: none;
  appearance: none;
}

/* ---------------------------------------------------------
base
--------------------------------------------------------- */
html {
  font-size: clamp(9px, 0.7320644217vw, 12px);
  background-color: #fff;
}
html.is-modal-show {
  overflow: hidden;
}
@media (max-width: 959px) {
  html {
    font-size: 10px;
  }
}
@media (max-width: 767px) {
  html {
    font-size: min(2.6666666667vw, 12px);
  }
}

body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  -webkit-font-feature-settings: "palt" on;
          font-feature-settings: "palt" on;
  line-height: 1;
  overflow-x: hidden;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  vertical-align: baseline;
  white-space: normal;
  word-wrap: break-word;
  color: #333;
  -webkit-font-kerning: normal;
          font-kerning: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.is-unscroll body {
  overflow: hidden;
}
.has-scroll-smooth body {
  overflow: hidden;
  height: 100%;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 400;
}

a {
  color: #008486;
  -webkit-tap-highlight-color: transparent;
}
a:hover {
  text-decoration: none;
  color: #008486;
}
a:focus {
  text-decoration: none;
}
@media (max-width: 959px) {
  a {
    -webkit-transition: none;
    transition: none;
  }
}

a, a:focus, a:active, a:hover, a:visited, :focus, :active, :hover, :visited {
  text-decoration: none;
  outline: none !important;
}

blockquote {
  margin: 0;
}

button {
  padding: 0;
  color: #008486;
  -webkit-tap-highlight-color: transparent;
}
button:hover {
  color: #008486;
}
button:focus {
  color: #008486;
}

html input[type=button], input[type=reset], input[type=submit] {
  cursor: pointer;
  -webkit-appearance: button;
     -moz-appearance: button;
          appearance: button;
}

button[disabled], html input[disabled] {
  cursor: default;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

/* =========================================================

*Layout

-
.l-container
.l-header
.l-footer
.l-main
.l-content

========================================================= */
/* ---------------------------------------------------------
.l-container
--------------------------------------------------------- */
.l-container {
  margin: 0 auto;
  padding-right: 6rem;
  padding-left: 6rem;
}
@media (max-width: 959px) {
  .l-container {
    padding-right: 3rem;
    padding-left: 3rem;
  }
}
@media (max-width: 767px) {
  .l-container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

/* ------------------------------------------------
.l-header
------------------------------------------------ */
.l-header {
  position: relative;
  width: 100%;
  height: var(--header-height);
  border-bottom: solid 1px #e6e6e6;
}

.l-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  padding: 0 var(--site-padding);
}

.l-header__logo {
  width: 64.4rem;
}
.l-header__logo img {
  width: 100%;
  height: auto;
}
.l-header__logo a {
  display: block;
  width: 100%;
  height: 100%;
}
.is-lower .l-header__logo {
  width: 21.5rem;
}
@media (max-width: 959px) {
  .l-header__logo {
    width: 38.6rem;
  }
  .is-lower .l-header__logo {
    width: 19.3rem;
  }
}
@media (max-width: 767px) {
  .l-header__logo {
    width: 25.7rem;
  }
  .is-lower .l-header__logo {
    width: 15rem;
  }
}

/* ---------------------------------------------------------
.l-footer
--------------------------------------------------------- */
.l-footer {
  position: relative;
  z-index: 1;
  border-top: solid 1px #e6e6e6;
}

.l-footer__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 6rem var(--site-padding);
}
@media (max-width: 959px) {
  .l-footer__inner {
    padding-top: 5rem;
    padding-bottom: 3rem;
  }
}
@media (max-width: 767px) {
  .l-footer__inner {
    padding-top: 3.5rem;
    padding-bottom: 2rem;
  }
}

.l-footer__logo {
  width: 14.6rem;
}
.l-footer__logo img {
  width: 100%;
  height: auto;
}
@media (max-width: 959px) {
  .l-footer__logo {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
@media (max-width: 767px) {
  .l-footer__logo {
    width: 11rem;
  }
}

.l-footer__nav {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-left: 10rem;
}
@media (max-width: 959px) {
  .l-footer__nav {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    padding-bottom: 5rem;
    padding-left: 0;
  }
}

.l-footer__nav-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.l-footer__nav-menu-item {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.02em;
  padding: 0 2rem;
  border-left: solid 1px #e6e6e6;
}
.l-footer__nav-menu-item:first-child {
  padding-left: 0;
  border-left: none;
}
.l-footer__nav-menu-item:last-child {
  padding-right: 0;
}
.l-footer__nav-menu-item a {
  text-decoration: none;
  color: #333;
}
@media (hover: hover) and (pointer: fine) {
  .l-footer__nav-menu-item a:hover {
    text-decoration: underline;
  }
}
@media (max-width: 959px) {
  .l-footer__nav-menu-item {
    font-size: 1.2rem;
  }
}
@media (max-width: 767px) {
  .l-footer__nav-menu-item {
    margin-bottom: 0;
    padding: 0 1rem;
  }
}

.l-footer__copyright {
  text-align: right;
}
@media (max-width: 959px) {
  .l-footer__copyright {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    margin-left: auto;
  }
}

.l-footer__copyright-corp {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}
@media (max-width: 767px) {
  .l-footer__copyright-corp {
    font-size: 1rem;
  }
}

.l-footer__copyright-item {
  font-size: 10px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.02em;
  margin-top: 0.8rem;
  color: #999;
}
@media (max-width: 767px) {
  .l-footer__copyright-item {
    margin-top: 0.4rem;
  }
}

.l-footer__pagetop {
  position: relative;
}

.l-footer__pagetop-item {
  position: fixed;
  z-index: 100;
  right: 2rem;
  bottom: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  visibility: hidden;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 7rem;
  height: 7rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  pointer-events: none;
  opacity: 0;
  background-color: #008486;
}
.is-scrolled .l-footer__pagetop-item {
  visibility: visible;
  pointer-events: all;
  opacity: 1;
}
.l-footer__pagetop-item.is-absolute {
  position: absolute;
}
@media (hover: hover) and (pointer: fine) {
  .l-footer__pagetop-item:hover {
    background-color: #006466;
  }
}
@media (max-width: 959px) {
  .l-footer__pagetop-item {
    right: 1rem;
    bottom: 1rem;
    width: 5rem;
    height: 5rem;
  }
}
@media (max-width: 767px) {
  .l-footer__pagetop-item {
    right: 0.5rem;
    bottom: 0.5rem;
    width: 4rem;
    height: 4rem;
  }
}

.l-footer__pagetop-icon {
  -webkit-transform: translateY(-0.2rem);
          transform: translateY(-0.2rem);
}

/* ---------------------------------------------------------
.l-main
--------------------------------------------------------- */
.l-main {
  width: 100%;
}

/* ---------------------------------------------------------
.l-content
--------------------------------------------------------- */
.l-content {
  position: relative;
}

.l-content__body {
  border-top: solid 1px #e6e6e6;
}

.l-content__header-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.l-content__header-main {
  -ms-flex-preferred-size: calc(100% - 28rem);
      flex-basis: calc(100% - 28rem);
  max-width: 140rem;
  padding: 8rem var(--site-padding);
}
@media (max-width: 959px) {
  .l-content__header-main {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    max-width: 100%;
    padding-top: 4rem;
    padding-bottom: 5rem;
  }
}
@media (max-width: 767px) {
  .l-content__header-main {
    padding-top: 3rem;
    padding-bottom: 4rem;
  }
}

.l-content__header-sub {
  -ms-flex-preferred-size: 28rem;
      flex-basis: 28rem;
  max-width: 28rem;
  padding: 8rem 5rem;
}
@media (max-width: 959px) {
  .l-content__header-sub {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    max-width: 100%;
    padding: 0 var(--site-padding) 2rem;
  }
}
@media (max-width: 767px) {
  .l-content__header-sub {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-bottom: 1.5rem;
  }
}

.l-content__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.l-content__flex--reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media (max-width: 959px) {
  .l-content__flex {
    display: block;
  }
}

.l-content__main {
  -ms-flex-preferred-size: calc(100% - 28rem);
      flex-basis: calc(100% - 28rem);
  max-width: calc(100% - 28rem);
}
@media (max-width: 959px) {
  .l-content__main {
    width: 100%;
    max-width: 100%;
  }
}

.l-content__main-inner {
  padding: 8rem var(--site-padding) 15rem;
}
@media (max-width: 959px) {
  .l-content__main-inner {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}
@media (max-width: 767px) {
  .l-content__main-inner {
    padding-top: 4rem;
  }
}

.l-content__sub {
  -ms-flex-preferred-size: 28rem;
      flex-basis: 28rem;
  max-width: 28rem;
  border-right: solid 1px #e6e6e6;
  border-left: none;
}
.l-content__main + .l-content__sub {
  border-right: none;
  border-left: solid 1px #e6e6e6;
}
.l-content__flex--reverse .l-content__sub {
  border-right: solid 1px #e6e6e6;
  border-left: none;
}
@media (max-width: 959px) {
  .l-content__sub {
    width: 100%;
    max-width: 100%;
    border-right: none;
    border-left: none;
  }
  .l-content__main + .l-content__sub {
    border-top: solid 1px #e6e6e6;
    border-right: none;
    border-bottom: none;
    border-left: none;
  }
}
@media (max-width: 767px) {
  .l-content__sub {
    border-top: none;
    border-bottom: solid 1px #e6e6e6;
  }
  .l-content__main + .l-content__sub {
    border-top: solid 1px #e6e6e6;
    border-bottom: none;
  }
}

.l-content__sub-sticky {
  position: sticky;
  top: 0;
  left: 0;
  padding-bottom: 8rem;
}
@media (max-width: 959px) {
  .l-content__sub-sticky {
    padding-bottom: 0;
  }
}

.l-content__footer {
  border-top: solid 1px #e6e6e6;
}

/* =========================================================

*Component

-
.c-svg
.c-section
.c-card
.c-button
.c-heading
.c-text
.c-caption
.c-sup
.c-img
.c-list
.c-note-list
.c-table
.c-flex
.c-movie
.c-link
.c-link-box
.c-box
.c-frame
.c-scrollable
.c-filter
.c-article-list
.c-related
.c-modal-video

========================================================= */
/* ---------------------------------------------------------
.c-svg
--------------------------------------------------------- */
[class^=c-svg-], [class*=" c-svg-"] {
  vertical-align: bottom;
  fill: #008486;
}

[class^=c-svg-][data-color=white], [class*=" c-svg-"][data-color=white], [data-color=white] [class*=" c-svg-"] {
  fill: #fff;
}

[class^=c-svg-][data-color=black], [class*=" c-svg-"][data-color=black], [data-color=black] [class*=" c-svg-"] {
  fill: #333;
}

[class^=c-svg-][data-color=kubota], [class*=" c-svg-"][data-color=kubota], [data-color=kubota] [class*=" c-svg-"] {
  fill: #008486;
}

/* arrow  */
.c-svg-arrow-left {
  width: 0.7rem;
  height: 0.6rem;
}

.c-svg-arrow-right {
  width: 0.7rem;
  height: 0.6rem;
}

.c-svg-arrow-up {
  width: 0.6rem;
  height: 0.7rem;
}

.c-svg-arrow-down {
  width: 0.6rem;
  height: 0.7rem;
}

/* arrow-sm  */
.c-svg-arrow-sm-left {
  width: 0.57rem;
  height: 0.99rem;
}

.c-svg-arrow-sm-right {
  width: 0.57rem;
  height: 0.99rem;
}

.c-svg-arrow-sm-up {
  width: 0.99rem;
  height: 0.57rem;
}

.c-svg-arrow-sm-down {
  width: 0.99rem;
  height: 0.57rem;
}

/* arrow-lg  */
.c-svg-arrow-lg-right {
  width: 1.96rem;
  height: 0.7rem;
}

/* window  */
.c-svg-window {
  width: 1rem;
  height: 1rem;
  vertical-align: middle;
}
@media (max-width: 767px) {
  .c-svg-window {
    width: 0.8rem;
    height: 0.8rem;
  }
}

/* ---------------------------------------------------------
.c-section
--------------------------------------------------------- */
.c-section {
  margin-top: 10rem;
}
.c-section > *:first-child {
  margin-top: 0;
}
@media (max-width: 767px) {
  .c-section {
    margin-top: 8rem;
  }
  .c-section > *:first-child {
    margin-top: 0;
  }
}

.c-section__heading {
  font-size: 32px;
  font-size: 3.2rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
  position: relative;
  color: #008486;
}
.c-section__heading::before {
  position: absolute;
  left: calc((100% + 28rem - 100vw) * 0.5);
  display: block;
  width: 10px;
  height: 100%;
  content: "";
  background-color: #008486;
}
@media (max-width: 959px) {
  .c-section__heading {
    font-size: 2.4rem;
  }
  .c-section__heading::before {
    left: calc((100% - 100vw) * 0.5);
  }
}
@media (max-width: 767px) {
  .c-section__heading {
    font-size: 1.8rem;
  }
  .c-section__heading::before {
    width: 5px;
  }
}

/* ---------------------------------------------------------
.c-card
--------------------------------------------------------- */
.c-card {
  position: relative;
  height: 100%;
}

.c-card__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  height: 100%;
  cursor: pointer;
  color: #333;
}

.c-card__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  padding-top: 2rem;
  padding-bottom: 2.5rem;
}
.c-related .c-card__body {
  padding-top: 1.5rem;
  padding-bottom: 2rem;
}
@media (max-width: 959px) {
  .c-related .c-card__body {
    padding-top: 2rem;
    padding-bottom: 2.5rem;
  }
}
@media (max-width: 767px) {
  .c-card__body {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  .c-related .c-card__body {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
}

.c-card__title {
  font-size: 20px;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0;
  color: #333;
}
.c-related .c-card__title {
  font-size: 1.6rem;
}
@media (max-width: 959px) {
  .c-card__title {
    font-size: 1.8rem;
  }
  .c-related .c-card__title {
    font-size: 1.8rem;
  }
}
@media (max-width: 767px) {
  .c-card__title {
    font-size: 1.6rem;
  }
  .c-related .c-card__title {
    font-size: 1.6rem;
  }
}

.c-card__category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 2rem 0 -0.8rem;
}
.c-related .c-card__category {
  margin: 1.5rem 0 -0.6rem;
}
@media (max-width: 959px) {
  .c-related .c-card__category {
    margin: 2rem 0 -0.8rem;
  }
}
@media (max-width: 767px) {
  .c-card__category {
    margin: 1.5rem 0 -0.6rem;
  }
  .c-related .c-card__category {
    margin: 1.5rem 0 -0.6rem;
  }
}

.c-card__category-item {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.02em;
  margin-right: 1rem;
  margin-bottom: 0.8rem;
  padding-right: 1rem;
  color: #707070;
  border-right: solid 1px #e6e6e6;
}
.c-card__category-item:last-child {
  border-right: none;
}
.c-related .c-card__category-item {
  margin-right: 0.7rem;
  margin-bottom: 0.6rem;
  padding-right: 0.7rem;
}
@media (max-width: 959px) {
  .c-card__category-item {
    font-size: 1.1rem;
  }
}
@media (max-width: 767px) {
  .c-card__category-item {
    font-size: 1rem;
    margin-right: 0.7rem;
    margin-bottom: 0.6rem;
    padding-right: 0.7rem;
  }
}

.c-card__country {
  font-size: 11px;
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.02em;
  margin-top: auto;
  padding: 0.2rem;
  text-align: center;
  color: #333;
  background-color: #f5f5f5;
}
@media (max-width: 767px) {
  .c-card__country {
    font-size: 1rem;
  }
}

.c-card__img {
  position: relative;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  padding-top: 125%;
  -webkit-transition: opacity 0.2s cubic-bezier(0.33, 1, 0.68, 1);
  transition: opacity 0.2s cubic-bezier(0.33, 1, 0.68, 1);
  will-change: opacity;
}
.c-card__img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (hover: hover) and (pointer: fine) {
  .c-card__img:hover {
    opacity: 0.6;
  }
}

/* ---------------------------------------------------------
.c-button
--------------------------------------------------------- */
.c-button {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  max-width: 38rem;
  padding: 2rem 3rem;
  color: #fff;
  background-color: #008486;
}
.c-button[data-direction=reverse] {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.c-button:hover {
  color: #fff;
}
@media (hover: hover) and (pointer: fine) {
  .c-button:hover {
    background-color: #006466;
  }
}
@media (max-width: 767px) {
  .c-button {
    padding: 1.6rem 2rem;
  }
}

.c-button__label {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.02em;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-right: 1.5rem;
	color: #fff;
}
@media (max-width: 767px) {
  .c-button__label {
    font-size: 1.3rem;
  }
}

@media (hover: hover) and (pointer: fine) {
  .c-button__icon {
    -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.33, 1, 0.68, 1);
    transition: -webkit-transform 0.4s cubic-bezier(0.33, 1, 0.68, 1);
    transition: transform 0.4s cubic-bezier(0.33, 1, 0.68, 1);
    transition: transform 0.4s cubic-bezier(0.33, 1, 0.68, 1), -webkit-transform 0.4s cubic-bezier(0.33, 1, 0.68, 1);
  }
  .c-button:hover .c-button__icon {
    -webkit-transform: translateX(1rem);
            transform: translateX(1rem);
  }
  [data-direction=reverse]:hover .c-button__icon {
    -webkit-transform: translateX(-1rem);
            transform: translateX(-1rem);
  }
}

/* ---------------------------------------------------------
.c-heading-hidden
--------------------------------------------------------- */
.c-heading-hidden {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  display: block !important;
  visibility: visible !important;
  overflow: hidden !important;
  width: 4px !important;
  height: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
  opacity: 0 !important;
  border: 0 !important;
}

/* ---------------------------------------------------------
.c-heading-2
--------------------------------------------------------- */
.c-heading-2 {
  font-size: 48px;
  font-size: 4.8rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
  margin-top: 10rem;
  margin-bottom: 4rem;
}
.c-section__heading + .c-heading-2 {
  margin-top: 4rem;
}
@media (max-width: 959px) {
  .c-heading-2 {
    font-size: 3.6rem;
  }
}
@media (max-width: 767px) {
  .c-heading-2 {
    font-size: 2.8rem;
    margin-top: 8rem;
  }
  .c-section__heading + .c-heading-2 {
    margin-top: 3rem;
  }
}

/* ---------------------------------------------------------
.c-heading-3
--------------------------------------------------------- */
.c-heading-3 {
  font-size: 36px;
  font-size: 3.6rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
  margin-top: 5.4rem;
  margin-bottom: 2rem;
}
.c-section__heading + .c-heading-3 {
  margin-top: 4rem;
}
.c-heading-2 + .c-heading-3 {
  margin-top: 4rem;
}
@media (max-width: 959px) {
  .c-heading-3 {
    font-size: 2.8rem;
  }
}
@media (max-width: 767px) {
  .c-heading-3 {
    font-size: 2.4rem;
    margin-top: 5rem;
    margin-bottom: 1.8rem;
  }
  .c-section__heading + .c-heading-3 {
    margin-top: 3rem;
  }
}

/* ---------------------------------------------------------
.c-heading-4
--------------------------------------------------------- */
.c-heading-4 {
  font-size: 22px;
  font-size: 2.2rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0;
  margin-top: 5.4rem;
  margin-bottom: 2rem;
}
.c-section__heading + .c-heading-4 {
  margin-top: 4rem;
}
.c-heading-2 + .c-heading-4 {
  margin-top: 2rem;
}
.c-heading-3 + .c-heading-4 {
  margin-top: 2rem;
}
@media (max-width: 959px) {
  .c-heading-4 {
    font-size: 2rem;
  }
}
@media (max-width: 767px) {
  .c-heading-4 {
    font-size: 1.9rem;
    margin-top: 5rem;
    margin-bottom: 1.8rem;
  }
  .c-heading-2 + .c-heading-4 {
    margin-top: 1.8rem;
  }
  .c-heading-3 + .c-heading-4 {
    margin-top: 1.8rem;
  }
  .c-section__heading + .c-heading-4 {
    margin-top: 3rem;
  }
}

/* ---------------------------------------------------------
.c-heading-5
--------------------------------------------------------- */
.c-heading-5 {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.02em;
  font-weight: normal;
  margin-top: 1.8rem;
  margin-bottom: 1.5rem;
  text-align: left;
}
@media (max-width: 959px) {
  .c-heading-5 {
    font-size: 1.7rem;
  }
}
@media (max-width: 767px) {
  .c-heading-5 {
    font-size: 1.6rem;
    margin-top: 2rem;
  }
}

/* ---------------------------------------------------------
.c-text
--------------------------------------------------------- */
.c-text {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.02em;
  margin-top: 2rem;
}
.c-text--sm {
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  .c-text {
    font-size: 15px;
    font-size: 1.5rem;
    margin-top: 1.8rem;
  }
  .c-text--sm {
    font-size: 1.3rem;
  }
}

/* ---------------------------------------------------------
.c-caption
--------------------------------------------------------- */
.c-caption {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.02em;
  margin-top: 1.2rem;
  color: #707070;
}
.c-caption.-mgb {
  margin-bottom: 5.4rem;
}
@media (max-width: 767px) {
  .c-caption {
    font-size: 1.3rem;
    margin-top: 1rem;
  }
.c-caption.-mgb {
	margin-bottom: 5rem;

}

}

/* ---------------------------------------------------------
.c-sup
--------------------------------------------------------- */
.c-sup {
  font-size: 0.8em;
  line-height: 1;
  position: relative;
  top: 0.1em;
  vertical-align: top;
}

/* ---------------------------------------------------------
.c-sub
--------------------------------------------------------- */
.c-sub {
  font-size: 0.8em;
  line-height: 1;
  position: relative;
  top: 0.1em;
  vertical-align: bottom;
}

/* ---------------------------------------------------------
.c-img
--------------------------------------------------------- */
.c-img {
  margin-top: 5.4rem;
  margin-bottom: 5.4rem;
}
.c-heading-5 + .c-img {
  margin-top: 0;
}
@media (max-width: 767px) {
  .c-img {
    margin-top: 5rem;
    margin-bottom: 5rem;
  }
}

/* ---------------------------------------------------------
.c-list
--------------------------------------------------------- */
.c-list {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.02em;
  margin-top: 2rem;
}
.c-list > *:first-child {
  margin-top: 0;
}
.c-list .c-list {
  margin-top: 0.8rem;
  margin-bottom: 2rem;
}
@media (max-width: 767px) {
  .c-list {
    font-size: 15px;
    font-size: 1.5rem;
    margin-top: 1.8rem;
  }
}
.c-list--number {
  counter-reset: list-count;
}

.c-list__item {
  position: relative;
  margin-top: 0.6rem;
  padding-left: 2.8rem;
}
.c-list--number .c-list__item::before, .c-list--numberprefix .c-list__item::before, .c-list--numberbracket .c-list__item::before {
  position: absolute;
  top: 0;
  left: 0;
}
.c-list--number .c-list__item {
  counter-increment: number-count;
}
.c-list--number .c-list__item::before {
  content: counters(number-count, ".") ". ";
}
.c-list--numberprefix .c-list__item {
  counter-increment: numberprefix-count;
}
.c-list--numberprefix .c-list__item::before {
  content: "*" counters(numberprefix-count, ".") ". ";
}
.c-list--numberbracket .c-list__item {
  counter-increment: numberbracket-count;
}
.c-list--numberbracket .c-list__item::before {
  content: "(" counters(numberbracket-count, ".") ") ";
}
.c-list--disc .c-list__item::before {
  position: absolute;
  top: 0.8em;
  left: 0.5rem;
  width: 0.5rem;
  height: 0.5rem;
  content: "";
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-color: #008486;
}
@media (max-width: 767px) {
  .c-list__item {
    padding-left: 2.8rem;
  }
  .c-list--flex .c-list__item {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    max-width: 100%;
  }
}

.c-list__number {
  position: absolute;
  top: 0;
  left: 0;
  content: "*" counters(list-count, ".") ". ";
  counter-increment: list-count;
}

/* ---------------------------------------------------------
.c-note-list
--------------------------------------------------------- */
.c-note-list {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.02em;
  margin-top: 2rem;
}
@media (max-width: 767px) {
  .c-note-list {
    font-size: 13px;
    font-size: 1.3rem;
    margin-top: 1.8rem;
  }
}
.c-note-list--number {
  counter-reset: list-count;
}

.c-note-list__item {
  position: relative;
  margin-top: 0.6rem;
  padding-left: 2.8rem;
}
.c-note-list__item.-no-number {
  padding-left: 0;
}
.c-note-list__item:first-child {
  margin-top: 0;
}
.c-note-list--number .c-note-list__item::before, .c-note-list--numberprefix .c-note-list__item::before {
  position: absolute;
  top: 0;
  left: 0;
}
.c-note-list--number .c-note-list__item {
  counter-increment: number-count;
}
.c-note-list--number .c-note-list__item::before {
  content: counters(number-count, ".") ". ";
}
.c-note-list--numberprefix .c-note-list__item {
  counter-increment: numberprefix-count;
}
.c-note-list--numberprefix .c-note-list__item::before {
  content: "*" counters(numberprefix-count, ".") ". ";
}
.c-note-list--disc .c-note-list__item::before {
  position: absolute;
  top: 0.8em;
  left: 0.5rem;
  width: 0.5rem;
  height: 0.5rem;
  content: "";
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-color: #008486;
}
@media (max-width: 767px) {
  .c-note-list__item {
    padding-left: 2.8rem;
  }
  .c-note-list--flex .c-note-list__item {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    max-width: 100%;
  }
}

.c-note-list__number {
  position: absolute;
  top: 0;
  left: 0;
  content: "*" counters(list-count, ".") ". ";
  counter-increment: list-count;
}

/* ---------------------------------------------------------
.c-table
--------------------------------------------------------- */
.c-table {
  margin-top: 5.4rem;
  margin-bottom: 5.4rem;
}
.c-table > *:first-child {
  margin-top: 0;
}
@media (max-width: 767px) {
  .c-table {
    margin-top: 5rem;
    margin-bottom: 5rem;
  }
}

.c-table__table {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.02em;
  overflow: auto;
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
}
.c-table__table th,
.c-table__table td {
  position: relative;
  padding: 2rem 1.5rem;
  border: solid 1px #dedede;
  background-clip: padding-box;
}
.c-table__table th > *:first-child,
.c-table__table td > *:first-child {
  margin-top: 0;
}
.c-table__table th {
  vertical-align: middle;
}
.c-table__table td {
  vertical-align: middle;
  background-color: #f5f5f5;
}
.c-table__table thead th::before,
.c-table__table thead td::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 5px;
  content: "";
  background-color: #008486;
}
.c-table__table thead th {
  font-weight: bold;
  padding-top: 2.5rem;
}
.c-table__table tbody th {
  text-align: left;
}

/* ---------------------------------------------------------
.c-flex
--------------------------------------------------------- */
.c-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 5rem;
  margin-right: calc(var(--gutter-x) / -2);
  margin-bottom: calc(var(--gutter-y) * -1);
  margin-left: calc(var(--gutter-x) / -2);
  --gutter-x: 2rem;
  --gutter-y: 3rem;
}
@media (min-width: 768px) {
  .c-flex {
    --gutter-x: 3rem;
    --gutter-y: 4rem;
  }
}
@media (min-width: 960px) {
  .c-flex {
    margin-top: 5.4rem;
    --gutter-x: 3rem;
    --gutter-y: 4rem;
  }
}

.c-flex > * {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--gutter-x) / 2);
  padding-bottom: var(--gutter-y);
  padding-left: calc(var(--gutter-x) / 2);
}

.c-flex__col {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0px;
          flex: 1 0 0;
}
.c-flex__col > *:first-child {
  margin-top: 0;
}

.-cols-auto > * {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: auto;
}

.-cols-1 > * {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 100%;
}

.-cols-2 > * {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 50%;
}

.-cols-3 > * {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 33.3333333333%;
}

.-cols-4 > * {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 25%;
}

.-cols-5 > * {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 20%;
}

.-cols-6 > * {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 16.6666666667%;
}

.-offset-1 {
  margin-left: 8.3333333333%;
}

.-offset-2 {
  margin-left: 16.6666666667%;
}

.-offset-3 {
  margin-left: 25%;
}

.-offset-4 {
  margin-left: 33.3333333333%;
}

.-offset-5 {
  margin-left: 41.6666666667%;
}

.-offset-6 {
  margin-left: 50%;
}

.-offset-7 {
  margin-left: 58.3333333333%;
}

.-offset-8 {
  margin-left: 66.6666666667%;
}

.-offset-9 {
  margin-left: 75%;
}

.-offset-10 {
  margin-left: 83.3333333333%;
}

.-offset-11 {
  margin-left: 91.6666666667%;
}

.-g, .-gx {
  --gutter-x: 5rem;
}

.-g, .-gy {
  --gutter-y: 5rem;
}

.-g-0, .-gx-0 {
  --gutter-x: 0;
}

.-g-0, .-gy-0 {
  --gutter-y: 0;
}

.-g-1, .-gx-1 {
  --gutter-x: 1rem;
}

.-g-1, .-gy-1 {
  --gutter-y: 1rem;
}

.-g-2, .-gx-2 {
  --gutter-x: 2rem;
}

.-g-2, .-gy-2 {
  --gutter-y: 2rem;
}

.-g-3, .-gx-3 {
  --gutter-x: 3rem;
}

.-g-3, .-gy-3 {
  --gutter-y: 3rem;
}

.-g-4, .-gx-4 {
  --gutter-x: 4rem;
}

.-g-4, .-gy-4 {
  --gutter-y: 4rem;
}

.-g-5, .-gx-5 {
  --gutter-x: 5rem;
}

.-g-5, .-gy-5 {
  --gutter-y: 5rem;
}

.-flex-wrap {
  -ms-flex-wrap: wrap !important;
      flex-wrap: wrap !important;
}

.-flex-nowrap {
  -ms-flex-wrap: nowrap !important;
      flex-wrap: nowrap !important;
}

.-flex-wrap-reverse {
  -ms-flex-wrap: wrap-reverse !important;
      flex-wrap: wrap-reverse !important;
}

.-justify-content-start {
  -webkit-box-pack: start !important;
      -ms-flex-pack: start !important;
          justify-content: flex-start !important;
}

.-justify-content-end {
  -webkit-box-pack: end !important;
      -ms-flex-pack: end !important;
          justify-content: flex-end !important;
}

.-justify-content-center {
  -webkit-box-pack: center !important;
      -ms-flex-pack: center !important;
          justify-content: center !important;
}

.-justify-content-between {
  -webkit-box-pack: justify !important;
      -ms-flex-pack: justify !important;
          justify-content: space-between !important;
}

.-justify-content-around {
  -ms-flex-pack: distribute !important;
      justify-content: space-around !important;
}

.-justify-content-evenly {
  -webkit-box-pack: space-evenly !important;
      -ms-flex-pack: space-evenly !important;
          justify-content: space-evenly !important;
}

.-align-items-start {
  -webkit-box-align: start !important;
      -ms-flex-align: start !important;
          align-items: flex-start !important;
}

.-align-items-end {
  -webkit-box-align: end !important;
      -ms-flex-align: end !important;
          align-items: flex-end !important;
}

.-align-items-center {
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
}

.-align-items-baseline {
  -webkit-box-align: baseline !important;
      -ms-flex-align: baseline !important;
          align-items: baseline !important;
}

.-align-items-stretch {
  -webkit-box-align: stretch !important;
      -ms-flex-align: stretch !important;
          align-items: stretch !important;
}

.-align-content-start {
  -ms-flex-line-pack: start !important;
      align-content: flex-start !important;
}

.-align-content-end {
  -ms-flex-line-pack: end !important;
      align-content: flex-end !important;
}

.-align-content-center {
  -ms-flex-line-pack: center !important;
      align-content: center !important;
}

.-align-content-between {
  -ms-flex-line-pack: justify !important;
      align-content: space-between !important;
}

.-align-content-around {
  -ms-flex-line-pack: distribute !important;
      align-content: space-around !important;
}

.-align-content-stretch {
  -ms-flex-line-pack: stretch !important;
      align-content: stretch !important;
}

.-align-self-auto {
  -ms-flex-item-align: auto !important;
      -ms-grid-row-align: auto !important;
      align-self: auto !important;
}

.-align-self-start {
  -ms-flex-item-align: start !important;
      align-self: flex-start !important;
}

.-align-self-end {
  -ms-flex-item-align: end !important;
      align-self: flex-end !important;
}

.-align-self-center {
  -ms-flex-item-align: center !important;
      -ms-grid-row-align: center !important;
      align-self: center !important;
}

.-align-self-baseline {
  -ms-flex-item-align: baseline !important;
      align-self: baseline !important;
}

.-align-self-stretch {
  -ms-flex-item-align: stretch !important;
      -ms-grid-row-align: stretch !important;
      align-self: stretch !important;
}

/* TABLET */
@media (min-width: 768px) {
  .-cols-sm-auto > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .-cols-sm-1 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
  }
  .-cols-sm-2 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 50%;
  }
  .-cols-sm-3 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .-cols-sm-4 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 25%;
  }
  .-cols-sm-5 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 20%;
  }
  .-cols-sm-6 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .-offset-sm-0 {
    margin-left: 0;
  }
  .-offset-sm-1 {
    margin-left: 8.3333333333%;
  }
  .-offset-sm-2 {
    margin-left: 16.6666666667%;
  }
  .-offset-sm-3 {
    margin-left: 25%;
  }
  .-offset-sm-4 {
    margin-left: 33.3333333333%;
  }
  .-offset-sm-5 {
    margin-left: 41.6666666667%;
  }
  .-offset-sm-6 {
    margin-left: 50%;
  }
  .-offset-sm-7 {
    margin-left: 58.3333333333%;
  }
  .-offset-sm-8 {
    margin-left: 66.6666666667%;
  }
  .-offset-sm-9 {
    margin-left: 75%;
  }
  .-offset-sm-10 {
    margin-left: 83.3333333333%;
  }
  .-offset-sm-11 {
    margin-left: 91.6666666667%;
  }
  .-g, .-gy {
    --gutter-y: 3rem;
  }
  .-g-sm-0, .-gx-sm-0 {
    --gutter-x: 0;
  }
  .-g-sm-0, .-gy-sm-0 {
    --gutter-y: 0;
  }
  .-g-sm-1, .-gx-sm-1 {
    --gutter-x: 1rem;
  }
  .-g-sm-1, .-gy-sm-1 {
    --gutter-y: 1rem;
  }
  .-g-sm-2, .-gx-sm-2 {
    --gutter-x: 2rem;
  }
  .-g-sm-2, .-gy-sm-2 {
    --gutter-y: 2rem;
  }
  .-g-sm-3, .-gx-sm-3 {
    --gutter-x: 3rem;
  }
  .-g-sm-3, .-gy-sm-3 {
    --gutter-y: 3rem;
  }
  .-g-sm-4, .-gx-sm-4 {
    --gutter-x: 4rem;
  }
  .-g-sm-4, .-gy-sm-4 {
    --gutter-y: 4rem;
  }
  .-g-sm-5, .-gx-sm-5 {
    --gutter-x: 5rem;
  }
  .-g-sm-5, .-gy-sm-5 {
    --gutter-y: 5rem;
  }
}
/* PC */
@media (min-width: 960px) {
  .-cols-md-auto > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .-cols-md-1 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
  }
  .-cols-md-2 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 50%;
  }
  .-cols-md-3 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .-cols-md-4 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 25%;
  }
  .-cols-md-5 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 20%;
  }
  .-cols-md-6 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .-offset-md-0 {
    margin-left: 0;
  }
  .-offset-md-1 {
    margin-left: 8.3333333333%;
  }
  .-offset-md-2 {
    margin-left: 16.6666666667%;
  }
  .-offset-md-3 {
    margin-left: 25%;
  }
  .-offset-md-4 {
    margin-left: 33.3333333333%;
  }
  .-offset-md-5 {
    margin-left: 41.6666666667%;
  }
  .-offset-md-6 {
    margin-left: 50%;
  }
  .-offset-md-7 {
    margin-left: 58.3333333333%;
  }
  .-offset-md-8 {
    margin-left: 66.6666666667%;
  }
  .-offset-md-9 {
    margin-left: 75%;
  }
  .-offset-md-10 {
    margin-left: 83.3333333333%;
  }
  .-offset-md-11 {
    margin-left: 91.6666666667%;
  }
  .-g-md-0, .-gx-md-0 {
    --gutter-x: 0;
  }
  .-g-md-0, .-gy-md-0 {
    --gutter-y: 0;
  }
  .-g-md-1, .-gx-md-1 {
    --gutter-x: 1rem;
  }
  .-g-md-1, .-gy-md-1 {
    --gutter-y: 1rem;
  }
  .-g-md-2, .-gx-md-2 {
    --gutter-x: 2rem;
  }
  .-g-md-2, .-gy-md-2 {
    --gutter-y: 2rem;
  }
  .-g-md-3, .-gx-md-3 {
    --gutter-x: 3rem;
  }
  .-g-md-3, .-gy-md-3 {
    --gutter-y: 3rem;
  }
  .-g-md-4, .-gx-md-4 {
    --gutter-x: 4rem;
  }
  .-g-md-4, .-gy-md-4 {
    --gutter-y: 4rem;
  }
  .-g-md-5, .-gx-md-5 {
    --gutter-x: 5rem;
  }
  .-g-md-5, .-gy-md-5 {
    --gutter-y: 5rem;
  }
}
/* ---------------------------------------------------------
.c-movie
--------------------------------------------------------- */
.c-movie {
  position: relative;
  display: block;
  width: 100%;
  max-width: 64rem;
  margin: 5.4rem auto;
  cursor: pointer;
  text-align: center;
}
.c-movie.mgb0 {
	margin: 5.4rem auto 0;
}
.c-movie + figcaption{
	width: 100%;
	max-width: 64rem;
	margin: auto;
}
.c-heading-5 + .c-movie {
  margin-top: 0;
}
@media (max-width: 767px) {
  .c-movie {
    margin-top: 5rem;
    margin-bottom: 5rem;
  }
	.c-movie.mgb0 {
		margin-top: 5rem;
		margin-bottom: 0
	}
}

.c-movie__img {
  position: relative;
  z-index: 0;
}

.c-movie__icon {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 6rem;
  height: 6rem;
  -webkit-transition: 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  transition: 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  border-radius: 100%;
  background-color: rgb(255, 255, 255);
}
.c-movie__icon img {
  width: 1.2rem;
}
@media (hover: hover) and (pointer: fine) {
  .c-movie:hover .c-movie__icon {
    width: 8rem;
    height: 8rem;
    background-color: rgba(255, 255, 255, 0.9);
  }
}

/* ---------------------------------------------------------
.c-link
--------------------------------------------------------- */
.c-link, .p-article__content a:not(.c-button, .c-button-2) {
  text-decoration: underline;
}
.c-link--arrow {
  position: relative;
  display: inline-block;
  padding-left: 2rem;
}
.c-link--arrow::before {
  position: absolute;
  top: 0.8em;
  left: 0;
  width: 0;
  height: 0;
  content: "";
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-width: 0.3rem 0 0.3rem 0.7rem;
  border-style: solid;
  border-color: transparent transparent transparent #008486;
}
.c-link--back {
  position: relative;
  display: inline-block;
  padding-left: 2rem;
}
.c-link--back::before {
  position: absolute;
  top: 0.8em;
  left: 0;
  width: 0;
  height: 0;
  content: "";
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-width: 0.3rem 0.7rem 0.3rem 0;
  border-style: solid;
  border-color: transparent #008486 transparent transparent;
}
.c-link[target=_blank], .p-article__content a[target=_blank]:not(.c-button, .c-button-2) {
  position: relative;
  display: inline-block;
  padding-right: 1.5rem;
}
.c-link[target=_blank]::after, .p-article__content a[target=_blank]:not(.c-button, .c-button-2)::after {
  position: absolute;
  right: 0.2rem;
  content: url(/kubotastories/assets/images/common/icon-window.svg);
}
@media (hover: hover) and (pointer: fine) {
  .c-link:hover, .p-article__content a:hover:not(.c-button, .c-button-2) {
    text-decoration: none;
  }
}

/* ---------------------------------------------------------
.c-link-box
--------------------------------------------------------- */
.c-link-box {
  margin-top: 6rem;
  padding: 5rem;
  border: solid 1px #e6e6e6;
}
.c-link-box > *:first-child {
  margin-top: 0;
}
@media (max-width: 767px) {
  .c-link-box {
    padding: 3rem 2rem;
  }
}

.c-link-box__heading {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.02em;
  margin-bottom: 2rem;
}
@media (max-width: 767px) {
  .c-link-box__heading {
    font-size: 1.6rem;
    margin-bottom: 1.8rem;
  }
}

.c-link-box__list-item {
  margin-top: 0.8rem;
}
.c-link-box__list-item:first-child {
  margin-top: 0;
}

/* ---------------------------------------------------------
.c-box
--------------------------------------------------------- */
.c-box {
  margin-top: 5.4rem;
  margin-bottom: 5.4rem;
  padding: 5rem;
  background-color: #f5f5f5;
}
.c-heading-5 + .c-box {
  margin-top: 0;
}
.c-box > *:first-child {
  margin-top: 0;
}
@media (max-width: 959px) {
  .c-box {
    padding: 4rem;
  }
}
@media (max-width: 767px) {
  .c-box {
    margin-top: 5rem;
    margin-bottom: 5rem;
    padding: 3rem 2rem;
  }
}

/* ---------------------------------------------------------
.c-frame
--------------------------------------------------------- */
.c-frame {
  margin-top: 5.4rem;
  margin-bottom: 5.4rem;
  padding: 5rem;
  border-top: 5px solid #008486;
  border-right: 1px solid #008486;
  border-bottom: 1px solid #008486;
  border-left: 1px solid #008486;
}
.c-heading-5 + .c-frame {
  margin-top: 0;
}
.c-frame > *:first-child {
  margin-top: 0;
}
@media (max-width: 959px) {
  .c-frame {
    padding: 4rem;
  }
}
@media (max-width: 767px) {
  .c-frame {
    margin-top: 5rem;
    margin-bottom: 5rem;
    padding: 3rem 2rem;
  }
}

/* ---------------------------------------------------------
.c-scrollable
--------------------------------------------------------- */
@media (max-width: 767px) {
  .c-scrollable {
    position: relative;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }
  .c-scrollable::-webkit-scrollbar {
    height: 2px;
  }
  .c-scrollable::-webkit-scrollbar-track {
    background-color: #f5f5f5;
  }
  .c-scrollable::-webkit-scrollbar-thumb {
    background-color: #008486;
  }
}

.c-scrollable__icon {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  display: none;
  overflow: hidden;
  width: 8rem;
  height: 8rem;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  border-radius: 100%;
  background-color: rgba(0, 132, 134, 0.8);
}
@media (max-width: 767px) {
  .c-scrollable__icon {
    display: block;
  }
  .is-hide .c-scrollable__icon {
    display: none;
  }
}

.c-scrollable__icon-in {
  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: 100%;
  height: 100%;
  -webkit-animation: backward 1.5s cubic-bezier(0.33, 1, 0.68, 1) infinite;
          animation: backward 1.5s cubic-bezier(0.33, 1, 0.68, 1) infinite;
}

/* ---------------------------------------------------------
.c-filter
--------------------------------------------------------- */
.c-filter {
  padding: 0 var(--site-padding);
}

.c-filter__wrapper {
  position: relative;
  padding: 8rem 0;
}
.c-filter__wrapper::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 6rem;
  height: 0.5rem;
  content: "";
  background-color: #008486;
}
@media (max-width: 959px) {
  .c-filter__wrapper {
    padding: 4rem 0 0;
  }
}
@media (max-width: 767px) {
  .c-filter__wrapper {
    padding-top: 0;
  }
  .c-filter__wrapper::before {
    width: 5rem;
  }
}

.c-filter__header {
  display: none;
}
@media (max-width: 767px) {
  .c-filter__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 0;
    padding: 2.5rem 0;
  }
}

.c-filter__header-heading {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
  color: #707070;
}
@media (max-width: 959px) {
  .c-filter__header-heading {
    font-size: 1.2rem;
  }
}

.c-filter__header-label {
  font-size: 20px;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
  color: #008486;
}
@media (max-width: 767px) {
  .c-filter__header-label {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 0 2rem;
    text-align: right;
  }
}

@media (max-width: 767px) {
  .c-filter__header-toggle {
    height: 0.57rem;
  }
}

@media (max-width: 767px) {
  .c-filter__header-toggle-svg {
    display: block;
  }
  .is-open .c-filter__header-toggle-svg {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
}

@media (max-width: 767px) {
  .c-filter__body {
    overflow: hidden;
    height: 0;
    border-top: solid 1px transparent;
  }
  .is-open .c-filter__body {
    border-color: #e6e6e6;
  }
}

.c-filter__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (max-width: 959px) {
  .c-filter__list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin: 0 -1.2rem -1rem;
  }
}
@media (max-width: 767px) {
  .c-filter__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0;
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

.c-filter__list-item {
  font-size: 2rem;
  margin-top: 2.5rem;
  cursor: pointer;
}
.c-filter__list-item:first-child {
  margin-top: 0;
}
@media (max-width: 959px) {
  .c-filter__list-item {
    margin: 0;
    padding: 0 1.2rem 1rem;
  }
}
@media (max-width: 767px) {
  .c-filter__list-item {
    font-size: 1.6rem;
    margin-top: 1.8rem;
    padding: 0;
  }
  .c-filter__list-item:first-child {
    margin-top: 0;
  }
}

.c-filter__list-label {
  cursor: pointer;
  color: #333;
}
.c-filter__list-label.is-active, .is-active .c-filter__list-label {
  color: #008486;
}
@media (hover: hover) and (pointer: fine) {
  .c-filter__list-label:hover {
    color: #008486;
  }
}

/* ---------------------------------------------------------
.c-article-list
--------------------------------------------------------- */
.c-article-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 -1.5rem -6rem;
}
@media (max-width: 959px) {
  .c-article-list {
    min-height: auto;
    margin-bottom: -4rem;
  }
}
@media (max-width: 767px) {
  .c-article-list {
    margin: 0 -1rem -3rem;
  }
}

.c-article-list__item {
  -ms-flex-preferred-size: 25%;
      flex-basis: 25%;
  max-width: 25%;
  padding: 0 1.5rem 6rem;
}
@media (max-width: 1680px) {
  .c-article-list__item {
    -ms-flex-preferred-size: 33.33333%;
        flex-basis: 33.33333%;
    max-width: 33.33333%;
  }
}
@media (max-width: 959px) {
  .c-article-list__item {
    padding-bottom: 4rem;
  }
}
@media (max-width: 767px) {
  .c-article-list__item {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    max-width: 50%;
    padding: 0 1rem 3rem;
  }
}

/* ---------------------------------------------------------
.c-related
--------------------------------------------------------- */
.c-related {
  padding: 0 5rem 6rem;
  border-top: solid 1px #e6e6e6;
}
.c-related:first-of-type {
  border: none;
}
@media (max-width: 959px) {
  .c-related {
    padding: 0 var(--site-padding) 6rem;
  }
  .c-related:last-of-type {
    padding-bottom: 10rem;
  }
}

.c-related__heading {
  font-size: 2rem;
  position: relative;
  padding: 6.5rem 0 3.5rem;
}
.c-related__heading::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 6rem;
  height: 0.5rem;
  content: "";
  background-color: #008486;
}
@media (max-width: 959px) {
  .c-related__heading {
    padding: 5rem 0 3.5rem;
  }
}
@media (max-width: 767px) {
  .c-related__heading {
    font-size: 1.8rem;
  }
  .c-related__heading::before {
    width: 5rem;
  }
}

.c-related__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 -1.5rem -4rem;
}
@media (max-width: 767px) {
  .c-related__list {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    margin: 0 -1rem -4rem;
    padding-bottom: 3rem;
  }
}

.c-related__list-item {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  max-width: 100%;
  padding: 0 1.5rem 4rem;
}
@media (max-width: 959px) {
  .c-related__list-item {
    -ms-flex-preferred-size: 33.33333%;
        flex-basis: 33.33333%;
    max-width: 33.33333%;
  }
}
@media (max-width: 767px) {
  .c-related__list-item {
    -ms-flex-preferred-size: 53.3333333333vw;
        flex-basis: 53.3333333333vw;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    max-width: 53.3333333333vw;
    padding: 0 1rem 4rem;
  }
}

/* ---------------------------------------------------------
.modal-video
--------------------------------------------------------- */
@-webkit-keyframes modal-video {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes modal-video {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes modal-video-inner {
  from {
    -webkit-transform: translate(0, 10px);
            transform: translate(0, 10px);
  }
  to {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@keyframes modal-video-inner {
  from {
    -webkit-transform: translate(0, 10px);
            transform: translate(0, 10px);
  }
  to {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
.modal-video {
  position: fixed;
  z-index: 1000000;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  -webkit-transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  -webkit-animation-name: modal-video;
          animation-name: modal-video;
  -webkit-animation-duration: 0.3s;
          animation-duration: 0.3s;
  -webkit-animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
          animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
  opacity: 1;
  background-color: rgba(0, 0, 0, 0.7);
  will-change: opacity;
}

.modal-video-close {
  opacity: 0;
}

.modal-video-close .modal-video-movie-wrap {
  -webkit-transform: translate(0, 50px);
          transform: translate(0, 50px);
}

.modal-video-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  max-width: 96rem;
  height: 100%;
  margin: 0 auto;
  padding: 0 10px;
}

.modal-video-inner {
  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: 100%;
  height: 100%;
}

@media (orientation: landscape) {
  .modal-video-inner {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 10px 60px;
  }
}
.modal-video-movie-wrap {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  -webkit-transition: -webkit-transform 0.3s ease-out;
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
  -webkit-animation-name: modal-video-inner;
          animation-name: modal-video-inner;
  -webkit-animation-duration: 0.3s;
          animation-duration: 0.3s;
  -webkit-animation-timing-function: ease-out;
          animation-timing-function: ease-out;
  background-color: #333;
}

.modal-video-movie-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.modal-video-close-btn {
  position: absolute;
  z-index: 2;
  top: calc((-100vh + 100%) * 0.5 + 30px);
  right: calc((-100vw + 100%) * 0.5 + 30px);
  display: block;
  overflow: hidden;
  width: 56px;
  height: 56px;
  cursor: pointer;
  border: none;
  border: solid 1px #adadad;
  background: transparent;
}
@media (max-width: 959px) {
  .modal-video-close-btn {
    top: calc((-100vh + 100%) * 0.5 + 20px);
    right: calc((-100vw + 100%) * 0.5 + 20px);
  }
}
@media (max-width: 767px) {
  .modal-video-close-btn {
    top: calc((-100vh + 100%) * 0.5 + 10px);
    right: calc((-100vw + 100%) * 0.5 + 10px);
  }
}

.modal-video-close-btn:before {
  -webkit-transform: translateX(-50%) rotate(45deg);
          transform: translateX(-50%) rotate(45deg);
}

.modal-video-close-btn:after {
  -webkit-transform: translateX(-50%) rotate(-45deg);
          transform: translateX(-50%) rotate(-45deg);
}

.modal-video-close-btn:before, .modal-video-close-btn:after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 22px;
  height: 1px;
  content: "";
  background: #adadad;
}

/* =========================================================

*Project

-
.p-top
.p-article

========================================================= */
/* .p-top-pickup */
.p-top-pickup__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  margin: 0 auto;
}
@media (max-width: 959px) {
  .p-top-pickup__inner {
    display: block;
  }
}

.p-top-pickup__img {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.p-top-pickup__img-item {
  position: relative;
  height: 100%;
  min-height: min(40.9956076135vw, 68rem);
}
.p-top-pickup__img-item img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 959px) {
  .p-top-pickup__img-item {
    height: 64.453125vw;
    min-height: auto;
  }
}
@media (max-width: 767px) {
  .p-top-pickup__img-item {
    height: 64vw;
  }
}

.p-top-pickup__body {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-preferred-size: 36.6032210835vw;
      flex-basis: 36.6032210835vw;
  -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;
  max-width: 36.6032210835vw;
  padding: 6rem var(--site-padding);
}
@media (max-width: 959px) {
  .p-top-pickup__body {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    max-width: 100%;
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
@media (max-width: 767px) {
  .p-top-pickup__body {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

.p-top-pickup__category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 1.2rem;
}
@media (max-width: 767px) {
  .p-top-pickup__category {
    margin-bottom: 1.6rem;
  }
}

.p-top-pickup__category-item {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.02em;
  margin-right: 1rem;
  margin-bottom: 0.8rem;
  padding-right: 1rem;
  color: #707070;
  border-right: solid 1px #e6e6e6;
}
.p-top-pickup__category-item:last-child {
  border-right: none;
}
@media (max-width: 767px) {
  .p-top-pickup__category-item {
    font-size: 1.2rem;
    margin-right: 0.8rem;
    margin-bottom: 0.6rem;
    padding-right: 0.8rem;
  }
}

.p-top-pickup__heading {
  font-size: 32px;
  font-size: 3.2rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
}
@media (max-width: 767px) {
  .p-top-pickup__heading {
    font-size: 2.4rem;
  }
}

.p-top-pickup__desc {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.02em;
  margin-top: 1.6rem;
  color: #707070;
}
@media (max-width: 767px) {
  .p-top-pickup__desc {
    font-size: 1.4rem;
    margin-top: 1.8rem;
  }
}

.p-top-pickup__country {
  font-size: 11px;
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.02em;
  width: 19rem;
  margin-top: 2.5rem;
  padding: 0.2rem;
  text-align: center;
  background-color: #f5f5f5;
}
@media (max-width: 767px) {
  .p-top-pickup__country {
    font-size: 1rem;
    position: static;
    width: 16.4rem;
    margin-top: 1.8rem;
  }
}

.p-top-pickup__button {
  margin-top: 4rem;
}
@media (max-width: 959px) {
  .p-top-pickup__button {
    margin-top: 4rem;
  }
}
@media (max-width: 767px) {
  .p-top-pickup__button {
    margin-top: 2.2rem;
  }
}

/* .p-top-about */
.p-top-about {
  background-color: #f5f5f5;
}

.p-top-about__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 767px) {
  .p-top-about__inner {
    display: block;
  }
}

.p-top-about__header {
  -ms-flex-preferred-size: 28rem;
      flex-basis: 28rem;
  max-width: 28rem;
  padding: 0 var(--site-padding);
}
@media (max-width: 959px) {
  .p-top-about__header {
    -ms-flex-preferred-size: 14rem;
        flex-basis: 14rem;
    max-width: 14rem;
  }
}
@media (max-width: 767px) {
  .p-top-about__header {
    width: 100%;
    max-width: 100%;
  }
}

.p-top-about__heading {
  font-size: 2rem;
  position: relative;
  padding-top: 10rem;
}
.p-top-about__heading::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 6rem;
  height: 0.5rem;
  content: "";
  background-color: #008486;
}
@media (max-width: 767px) {
  .p-top-about__heading {
    font-size: 1.6rem;
    padding-top: 4rem;
  }
  .p-top-about__heading::before {
    width: 5rem;
  }
}

.p-top-about__body {
  -ms-flex-preferred-size: calc(100% - 28rem);
      flex-basis: calc(100% - 28rem);
  max-width: calc(100% - 28rem);
  padding: 10rem var(--site-padding);
}
@media (max-width: 959px) {
  .p-top-about__body {
    -ms-flex-preferred-size: calc(100% - 14rem);
        flex-basis: calc(100% - 14rem);
    max-width: calc(100% - 14rem);
  }
}
@media (max-width: 767px) {
  .p-top-about__body {
    width: 100%;
    max-width: 100%;
    padding-top: 6rem;
  }
}

.p-top-about__logo {
  max-width: 33.3rem;
}
.p-top-about__logo img {
  width: 100%;
}
@media (max-width: 959px) {
  .p-top-about__logo {
    max-width: 40rem;
  }
}
@media (max-width: 767px) {
  .p-top-about__logo {
    max-width: 29.5rem;
  }
}

.p-top-about__desc {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.02em;
  max-width: 67rem;
  margin-top: 3rem;
}
@media (max-width: 959px) {
  .p-top-about__desc {
    max-width: 100%;
  }
}

/* ---------------------------------------------------------
.p-article
--------------------------------------------------------- */
.p-article {
  font-size: 1.6rem;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .p-article {
    font-size: 1.5rem;
  }
}

.p-article__category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 2.2rem;
}
@media (max-width: 767px) {
  .p-article__category {
    margin-bottom: 1.6rem;
  }
}

.p-article__category-item {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.02em;
  margin-right: 1.2rem;
  margin-bottom: 0.8rem;
  padding-right: 1.2rem;
  color: #707070;
  border-right: solid 1px #e6e6e6;
}
.p-article__category-item:last-child {
  border-right: none;
}
@media (max-width: 767px) {
  .p-article__category-item {
    font-size: 1.4rem;
    margin-right: 0.8rem;
    margin-bottom: 0.6rem;
    padding-right: 0.8rem;
  }
}

.p-article__subtitle {
  font-size: 32px;
  font-size: 3.2rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
  margin-bottom: 1.2rem;
  color: #008486;
}
@media (max-width: 959px) {
  .p-article__subtitle {
    font-size: 2.4rem;
  }
}
@media (max-width: 767px) {
  .p-article__subtitle {
    font-size: 1.8rem;
    margin-bottom: 0.8rem;
  }
}

.p-article__title {
  font-size: 48px;
  font-size: 4.8rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
}
@media (max-width: 959px) {
  .p-article__title {
    font-size: 3.6rem;
  }
}
@media (max-width: 767px) {
  .p-article__title {
    font-size: 3.2rem;
  }
}

.p-article__publish {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.02em;
}
@media (max-width: 959px) {
  .p-article__publish {
    font-size: 1.2rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
@media (max-width: 767px) {
  .p-article__publish {
    font-size: 1.2rem;
  }
}

@media (max-width: 959px) {
  .p-article__publish-heading {
    padding-right: 1rem;
  }
}

.p-article__publish-date {
  font-weight: 700;
}

.p-article__country {
  font-size: 11px;
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.02em;
  margin-top: auto;
  margin-top: 2rem;
  padding: 0.2rem;
  text-align: center;
  color: #333;
  background-color: #f5f5f5;
}
@media (max-width: 959px) {
  .p-article__country {
    width: 10rem;
    margin-top: 0;
    margin-left: 1.5rem;
  }
}
@media (max-width: 767px) {
  .p-article__country {
    width: 9.6rem;
  }
}

.p-article__hiro {
  position: relative;
  height: min(44.8023426061vw, 80rem);
}
.p-article__hiro img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 959px) {
  .p-article__hiro {
    height: 56.25vw;
    min-height: auto;
  }
}
@media (max-width: 767px) {
  .p-article__hiro {
    height: 69.3333333333vw;
  }
}

.p-article__content {
  max-width: 90rem;
  margin: 0 auto;
  padding-top: 2rem;
}
.p-article__content > *:first-child {
  margin-top: 0;
}
@media (max-width: 767px) {
  .p-article__content {
    padding-top: 0;
  }
}

.p-article__footer {
  max-width: 90rem;
  margin: 10rem auto 0;
}
@media (max-width: 767px) {
  .p-article__footer {
    margin-top: 6rem;
  }
}

.p-article__footer-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 767px) {
  .p-article__footer-row {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-article__share {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 767px) {
  .p-article__share {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 3.6rem;
  }
}

.p-article__share-label {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.02em;
  padding-right: 1.5rem;
}
@media (max-width: 767px) {
  .p-article__share-label {
    font-size: 1.4rem;
  }
}

.p-article__share-item {
  width: 3.6rem;
  margin-left: 2.5rem;
}

/* =========================================================

*Utility

-
.animation
.utility

========================================================= */
/* ---------------------------------------------------------
animation
--------------------------------------------------------- */
@-webkit-keyframes backward {
  0% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
  50% {
    -webkit-transform: translate(-110%, 0);
            transform: translate(-110%, 0);
  }
  50.1% {
    -webkit-transform: translate(110%, 0);
            transform: translate(110%, 0);
  }
  100% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
}
@keyframes backward {
  0% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
  50% {
    -webkit-transform: translate(-110%, 0);
            transform: translate(-110%, 0);
  }
  50.1% {
    -webkit-transform: translate(110%, 0);
            transform: translate(110%, 0);
  }
  100% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
}
/* ---------------------------------------------------------
utility
--------------------------------------------------------- */
/* color */
.u-color-kubota {
  color: #008486 !important;
}

/* text-alighn */
.u-text-align-center {
  text-align: center !important;
}

.u-text-align-left {
  text-align: left !important;
}

.u-text-align-right {
  text-align: right !important;
}

/* ===== AlertJsOff ===== */ #AlertJsOff { position: fixed; top: 0; left: 0; width: 100%; z-index: 101; padding: 17px 0; background: #fdd; } .AlertJsOff__inner { max-width: 1600px; padding-left: 50px; } .AlertJsOff__text { margin: 0 auto; color: #f00; }

.TextSubscript.-top {
    vertical-align: top;
}

