@charset "UTF-8";
@font-face {
  font-family: 'kokka-icons';
  src: url("../font/kokka-icons.woff2") format("woff2"), url("../font/kokka-icons.woff") format("woff"), url("../font/kokka-icons.ttf") format("truetype"); }

@font-face {
  font-display: swap;
  font-family: 'YakuHanMP';
  font-style: normal;
  font-weight: 300;
  src: url("https://cdn.jsdelivr.net/npm/yakuhanjp@2.0.0/dist/fonts/YakuHanMP/YakuHanMP-Light.eot");
  src: url("https://cdn.jsdelivr.net/npm/yakuhanjp@2.0.0/dist/fonts/YakuHanMP/YakuHanMP-Light.woff2") format("woff2"), url("https://cdn.jsdelivr.net/npm/yakuhanjp@2.0.0/dist/fonts/YakuHanMP/YakuHanMP-Light.woff") format("woff"); }

a {
  -webkit-tap-highlight-color: transparent;
  color: inherit;
  text-decoration: inherit; }

a:active,
a:focus {
  outline: none; }

img {
  border-style: none; }

iframe {
  border-style: none; }

button::-moz-focus-inner {
  border: 0;
  padding: 0; }

::-moz-selection {
  background-color: #a3d7dd;
  color: #fff; }

::selection {
  background-color: #a3d7dd;
  color: #fff; }

@media (min-width: 0) and (max-width: 767px) {
  .u-display-mobile-block {
    display: block; } }

@media (min-width: 768px) {
  .u-display-mobile-block {
    display: none; } }

@media (min-width: 0) and (max-width: 767px) {
  .u-display-desktop-block {
    display: none; } }

@media (min-width: 768px) {
  .u-display-desktop-block {
    display: block; } }

.u-font-size-ui-head {
  font-size: 0.9rem; }

.u-font-size-text {
  font-size: 0.8rem; }

.u-font-size-ui-normal {
  font-size: 0.7rem; }

.u-font-size-ui-small {
  font-size: 0.6rem; }

.u-font-size-ui-tiny {
  font-size: 0.5rem; }

.u-font-size-smaller {
  font-size: 0.8em; }

.u-line-height-ui {
  line-height: 1.5; }

.u-line-height-text {
  line-height: 1.8; }

.body {
  font-family: "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  background: #f5f5f5;
  color: #4a4a4a;
  height: 100%;
  line-height: 1.5;
  margin: 0;
  min-width: 320px; }
  :lang(en) .body {
    font-family: "Helvetica Neue", "Helvetica", "Arial", "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif; }

.body__app {
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  position: relative;
  visibility: hidden; }

.body__header {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0; }

.body__main {
  background: #f5f5f5;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0; }

.body__footer {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0; }

.breadcrumbs {
  font-size: 0.6rem; }

.breadcrumbs__list {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin: 0 -1em -0.5em 0;
  padding: 0; }

.breadcrumbs__item {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  list-style-type: none;
  margin-bottom: 0.5em;
  margin-right: 1em;
  max-width: 100%; }

.breadcrumbs__item:last-child {
  margin-right: 0; }

* ~ .breadcrumbs__item::before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: 'kokka-icons';
  font-style: normal;
  font-weight: normal;
  content: "";
  color: #b69e57;
  line-height: 1;
  padding-right: 1em; }

.breadcrumbs__anchor {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #b69e57;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  -webkit-transition: color 0.1s linear;
  transition: color 0.1s linear;
  white-space: nowrap; }

.breadcrumbs__anchor:hover {
  color: #a3d7dd; }

.breadcrumbs__item:first-child .breadcrumbs__anchor::before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: 'kokka-icons';
  font-style: normal;
  font-weight: normal;
  content: "";
  line-height: 1;
  padding-right: 0.5em; }

.brick-list {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  position: relative; }

@media (min-width: 0) and (max-width: 767px) {
  .brick-list {
    margin-bottom: -0.6rem; }
  .brick-list::before {
    content: '';
    font-family: mobile; }
  .brick-list__item {
    margin-bottom: 0.6rem;
    margin-right: 0.6rem; }
  .brick-list.is-mobile-columns-1 .brick-list__item {
    width: -webkit-calc((100% + 0.6rem) * (1 / 1) - 0.6rem);
    width: calc((100% + 0.6rem) * (1 / 1) - 0.6rem); }
  .brick-list.is-mobile-columns-1 .brick-list__item:nth-child(1n) {
    margin-right: 0; }
  .brick-list.is-mobile-columns-2 .brick-list__item {
    width: -webkit-calc((100% + 0.6rem) * (1 / 2) - 0.6rem);
    width: calc((100% + 0.6rem) * (1 / 2) - 0.6rem); }
  .brick-list.is-mobile-columns-2 .brick-list__item:nth-child(2n) {
    margin-right: 0; }
  .brick-list.is-mobile-columns-3 .brick-list__item {
    width: -webkit-calc((100% + 0.6rem) * (1 / 3) - 0.6rem);
    width: calc((100% + 0.6rem) * (1 / 3) - 0.6rem); }
  .brick-list.is-mobile-columns-3 .brick-list__item:nth-child(3n) {
    margin-right: 0; } }

@media (min-width: 768px) {
  .brick-list {
    margin-bottom: -1.5rem; }
  .brick-list::before {
    content: '';
    font-family: desktop; }
  .brick-list__item {
    margin-bottom: 1.5rem;
    margin-right: 1.5rem; }
  .brick-list.is-desktop-columns-1 .brick-list__item {
    width: -webkit-calc((100% - 1px + 1.5rem) * (1 / 1) - 1.5rem);
    width: calc((100% - 1px + 1.5rem) * (1 / 1) - 1.5rem); }
  .brick-list.is-desktop-columns-1 .brick-list__item:nth-child(1n) {
    margin-right: 0; }
  .brick-list.is-desktop-columns-2 .brick-list__item {
    width: -webkit-calc((100% - 1px + 1.5rem) * (1 / 2) - 1.5rem);
    width: calc((100% - 1px + 1.5rem) * (1 / 2) - 1.5rem); }
  .brick-list.is-desktop-columns-2 .brick-list__item:nth-child(2n) {
    margin-right: 0; }
  .brick-list.is-desktop-columns-3 .brick-list__item {
    width: -webkit-calc((100% - 1px + 1.5rem) * (1 / 3) - 1.5rem);
    width: calc((100% - 1px + 1.5rem) * (1 / 3) - 1.5rem); }
  .brick-list.is-desktop-columns-3 .brick-list__item:nth-child(3n) {
    margin-right: 0; } }

.business-detail-layout__main {
  font-size: 0.8rem; }

@media (min-width: 0) and (max-width: 767px) {
  .business-detail-layout__aside {
    margin-top: 4.2rem; } }

@media (min-width: 768px) {
  .business-detail-layout {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .business-detail-layout__main {
    -webkit-flex-basis: -webkit-calc((100% + 3rem) * (2 / 3) - 3rem);
        -ms-flex-preferred-size: calc((100% + 3rem) * (2 / 3) - 3rem);
            flex-basis: calc((100% + 3rem) * (2 / 3) - 3rem);
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    margin-right: 3rem; }
  .business-detail-layout__aside {
    -webkit-flex-basis: -webkit-calc((100% + 3rem) * (1 / 3) - 3rem);
        -ms-flex-preferred-size: calc((100% + 3rem) * (1 / 3) - 3rem);
            flex-basis: calc((100% + 3rem) * (1 / 3) - 3rem);
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0; } }

.business-header {
  position: relative; }

.business-header::before {
  background: url("/assets/img/business-image-dot.svg") top left no-repeat, url("/assets/img/business-image-dot.svg") top right no-repeat, url("/assets/img/business-image-dot.svg") bottom right no-repeat, url("/assets/img/business-image-dot.svg") bottom left no-repeat;
  content: '';
  display: block;
  position: absolute; }

@media (min-width: 0) and (max-width: 767px) {
  .business-header::before {
    background-size: 5px;
    height: -webkit-calc(100% + 8px);
    height: calc(100% + 8px);
    left: -4px;
    top: -4px;
    width: -webkit-calc(100% + 8px);
    width: calc(100% + 8px); } }

@media (min-width: 768px) {
  .business-header::before {
    background-size: 7px;
    height: -webkit-calc(100% + 12px);
    height: calc(100% + 12px);
    left: -6px;
    top: -6px;
    width: -webkit-calc(100% + 12px);
    width: calc(100% + 12px); } }

.business-header::after {
  background-size: 100% 100%;
  content: '';
  display: block;
  height: 100%;
  position: absolute;
  top: 0;
  width: 100%; }

@media (min-width: 0) and (max-width: 767px) {
  .business-header::after {
    background-image: url("/assets/img/business-image-frame-small.png"); } }

@media (min-width: 768px) {
  .business-header::after {
    background-image: url("/assets/img/business-image-frame-large.png"); } }

.business-header img {
  display: block;
  height: auto;
  position: relative;
  width: 100%; }

.business-item__image {
  position: relative; }

.business-item__image::before {
  content: '';
  display: block;
  padding-top: 66.66667%; }

.business-item__image::after {
  background: url("/assets/img/business-image-dot.svg") top left no-repeat, url("/assets/img/business-image-dot.svg") top right no-repeat, url("/assets/img/business-image-dot.svg") bottom right no-repeat, url("/assets/img/business-image-dot.svg") bottom left no-repeat;
  content: '';
  display: block;
  height: -webkit-calc(100% + 8px);
  height: calc(100% + 8px);
  left: -4px;
  position: absolute;
  top: -4px;
  width: -webkit-calc(100% + 8px);
  width: calc(100% + 8px); }

.business-item__image-inner {
  height: 100%;
  overflow: hidden;
  position: absolute;
  top: 0;
  width: 100%; }

.business-item__image-inner::after {
  background-image: url("/assets/img/business-image-frame-small.png");
  background-size: 100% 100%;
  content: '';
  display: block;
  height: 100%;
  position: absolute;
  top: 0;
  width: 100%; }

.business-item__image img {
  display: block;
  height: 100%;
  position: relative;
  -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;
  width: 100%; }

.business-item__title {
  font-family: "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "Meiryo", serif;
  color: #b69e57;
  -webkit-transition: color 0.2s linear;
  transition: color 0.2s linear;
  white-space: nowrap; }
  :lang(en) .business-item__title {
    font-family: "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "Georgia", "Meiryo", serif; }

.business-item__title-large {
  font-family: "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "Meiryo", serif;
  color: #b69e57;
  -webkit-transition: color 0.2s linear;
  transition: color 0.2s linear;
  white-space: nowrap; }
  :lang(en) .business-item__title-large {
    font-family: "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "Georgia", "Meiryo", serif; }

.business-item__title-small {
  font-family: "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  color: #b69e57;
  font-size: 0.7rem;
  -webkit-transition: color 0.2s linear;
  transition: color 0.2s linear;
  white-space: nowrap; }
  :lang(en) .business-item__title-small {
    font-family: "Helvetica Neue", "Helvetica", "Arial", "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif; }

.business-item__wrapper:hover .business-item__title-large,
.business-item__wrapper:hover .business-item__title-small {
  color: #a3d7dd; }

.business-item__description {
  font-size: 0.7rem;
  line-height: 1.8;
  -webkit-transition: color 0.2s linear;
  transition: color 0.2s linear; }

.business-item__wrapper:hover .business-item__description {
  color: #a3d7dd; }

@media (min-width: 0) and (max-width: 767px) {
  .business-item__wrapper {
    display: block;
    padding: 1rem 0; }
  .business-item__title-large {
    font-size: 1.2rem; }
  * + .business-item__info {
    margin-top: 0.5rem; }
  .business-item__description {
    margin-top: 0.5rem; } }

@media (min-width: 768px) {
  .business-item__wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .business-item__image {
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    height: 10rem;
    width: 15rem; }
  .business-item__wrapper:hover .business-item__image img {
    -webkit-transform: scale(1.05);
        -ms-transform: scale(1.05);
            transform: scale(1.05); }
  .business-item__title-large {
    font-size: 1.5rem; }
  .business-item__info {
    -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
    text-align: center; }
  * ~ .business-item__info {
    margin-top: 1.25rem; }
  .business-item__description {
    margin-top: 1rem; } }

@media (min-width: 0) and (max-width: 767px) {
  .business-list__item {
    border-bottom: 1px solid rgba(182, 158, 87, 0.2);
    border-top: 1px solid rgba(182, 158, 87, 0.2); }
  * + .business-list__item {
    border-top-style: none; } }

@media (min-width: 768px) {
  .business-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .business-list__item {
    margin-bottom: 3rem;
    margin-right: 3rem;
    width: -webkit-calc((100% - 1px + 3rem) * (1 / 3) - 3rem);
    width: calc((100% - 1px + 3rem) * (1 / 3) - 3rem); }
  .business-list__item:nth-child(3n) {
    margin-right: 0; }
  .business-list__item:nth-child(3n+1):nth-last-child(-n+3),
  .business-list__item:nth-child(3n+1):nth-last-child(-n+3) ~ .business-list__item {
    margin-bottom: 0; }
  .business-list__item:last-child {
    margin-right: 0; } }

.business-mini-item__wrapper {
  display: block; }

.business-mini-item__title-large {
  font-family: "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "Meiryo", serif;
  color: #b69e57;
  -webkit-transition: color 0.1s linear;
  transition: color 0.1s linear;
  white-space: nowrap; }
  :lang(en) .business-mini-item__title-large {
    font-family: "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "Georgia", "Meiryo", serif; }

.business-mini-item__title-small {
  font-family: "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  color: #b69e57;
  font-size: 0.7rem;
  -webkit-transition: color 0.1s linear;
  transition: color 0.1s linear;
  white-space: nowrap; }
  :lang(en) .business-mini-item__title-small {
    font-family: "Helvetica Neue", "Helvetica", "Arial", "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif; }

.business-mini-item__wrapper:hover .business-mini-item__title-large,
.business-mini-item__wrapper:hover .business-mini-item__title-small {
  color: #a3d7dd; }

.business-mini-item__description {
  font-size: 0.7rem;
  line-height: 1.8;
  -webkit-transition: color 0.1s linear;
  transition: color 0.1s linear; }

.business-mini-item__wrapper:hover .business-mini-item__description {
  color: #a3d7dd; }

@media (min-width: 0) and (max-width: 767px) {
  .business-mini-item__title-large {
    font-size: 1.2rem; }
  .business-mini-item__description {
    margin-top: 0.5rem; } }

@media (min-width: 768px) {
  .business-mini-item__title-large {
    font-size: 1.5rem; }
  .business-mini-item__description {
    margin-top: 1rem; } }

@media (min-width: 0) and (max-width: 767px) {
  .business-mini-list__item {
    border-bottom: 1px solid rgba(182, 158, 87, 0.2);
    border-top: 1px solid rgba(182, 158, 87, 0.2);
    padding: 0.9rem 0; }
  * ~ .business-mini-list__item {
    border-top-style: none; } }

@media (min-width: 768px) {
  .business-mini-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .business-mini-list__item {
    -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%; }
  * ~ .business-mini-list__item {
    margin-left: 3rem;
    position: relative; }
  * ~ .business-mini-list__item::before {
    background: rgba(182, 158, 87, 0.2);
    content: '';
    display: block;
    height: 100%;
    left: -1.5rem;
    position: absolute;
    width: 1px; } }

.button {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: rgba(163, 215, 221, 0);
  border: 1px solid rgba(182, 158, 87, 0.5);
  box-sizing: border-box;
  color: #b69e57;
  cursor: pointer;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-weight: bold;
  height: 3.5em;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  -webkit-transition-duration: 0.1s;
          transition-duration: 0.1s;
  -webkit-transition-property: background-color, border-color, color;
  transition-property: background-color, border-color, color;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  white-space: nowrap; }

.button.is-large {
  height: 6em; }

.button:hover {
  background-color: #a3d7dd;
  border-color: #a3d7dd;
  color: #fff; }

.button__inner {
  bottom: 0;
  left: 0;
  position: absolute;
  width: 100%; }

.button::before,
.button::after,
.button__inner::before,
.button__inner::after {
  background-color: #b69e57;
  border-radius: 100%;
  content: '';
  display: block;
  height: 5px;
  position: absolute;
  -webkit-transition-duration: 0.1s;
          transition-duration: 0.1s;
  -webkit-transition-property: background-color, box-shadow;
  transition-property: background-color, box-shadow;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  width: 5px; }

.button::before {
  left: -3px;
  top: -3px; }

.button::after {
  right: -3px;
  top: -3px; }

.button__inner::before {
  bottom: -3px;
  left: -3px; }

.button__inner::after {
  bottom: -3px;
  right: -3px; }

.button:hover::before,
.button:hover::after,
.button:hover .button__inner::before,
.button:hover .button__inner::after {
  background-color: #a3d7dd; }

.carousel {
  position: relative;
  height: 500px; }

.carousel__item {
  display: block;
  height: 100%;
  overflow: hidden;
  position: absolute;
  width: 100%; }

.carousel__item img {
  box-sizing: border-box;
  display: block;
  position: absolute; }

.char-list {
  border-bottom: 1px solid rgba(182, 158, 87, 0.2);
  border-top: 1px solid rgba(182, 158, 87, 0.2); }

.char-list dl {
  margin: 0;
  padding-bottom: 1em;
  padding-top: 1em; }

.char-list * + dl {
  border-top: 1px solid rgba(182, 158, 87, 0.2); }

.char-list dd {
  margin: 0; }

.char-list ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin: 0;
  padding: 0; }

.char-list li {
  list-style-type: none; }

.char-list li::after {
  color: #bbb;
  content: '／';
  padding: 0 0.25em; }

.char-list li:last-child::after {
  content: none; }

.char-list a {
  color: #b69e57;
  -webkit-transition: color 0.1s linear;
  transition: color 0.1s linear; }

.char-list a:hover {
  color: #a3d7dd; }

@media (min-width: 0) and (max-width: 767px) {
  .char-list dt {
    margin-right: 1em; }
  .char-list dd {
    margin-top: 0.5em; } }

@media (min-width: 768px) {
  .char-list dl {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding-left: 1em;
    padding-right: 1em; }
  .char-list dt {
    margin-right: 1rem;
    min-width: 35%;
    width: 35%; }
  .char-list dd {
    min-width: -webkit-calc(65% - 1rem);
    min-width: calc(65% - 1rem);
    width: -webkit-calc(65% - 1rem);
    width: calc(65% - 1rem); } }

.concept-section {
  font-family: "YakuHanMP", "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "Meiryo", serif; }

:lang(ja) .concept-section {
  line-height: 2.5; }

:lang(en) .concept-section {
  line-height: 1.75; }

@media (min-width: 0) and (max-width: 374px) {
  .concept-section {
    font-size: 0.95rem; } }

@media (min-width: 375px) and (max-width: 413px) {
  .concept-section {
    font-size: 1.15rem; } }

@media (min-width: 414px) and (max-width: 767px) {
  .concept-section {
    font-size: 1.2rem; } }

@media (min-width: 768px) {
  .concept-section {
    font-size: 1.5rem; } }

.def-list {
  border-bottom: 1px solid rgba(182, 158, 87, 0.2);
  border-top: 1px solid rgba(182, 158, 87, 0.2); }

.def-list dl {
  margin: 0; }

.def-list dt {
  color: #9b9b9b; }

.def-list dd {
  margin: 0; }

.def-list > dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 1em;
  padding-top: 1em; }

.def-list > * ~ dl {
  border-top: 1px solid rgba(182, 158, 87, 0.2); }

.def-list > dl > dt {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0; }

.def-list > dl > dd {
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }

.def-list > dl > dd > * ~ dl {
  margin-top: 1em; }

.def-list a {
  color: #b69e57;
  -webkit-transition: color 0.1s linear;
  transition: color 0.1s linear; }

.def-list a:hover {
  color: #a3d7dd; }

@media (min-width: 0) and (max-width: 767px) {
  .def-list > dl > dt {
    -webkit-flex-basis: 20%;
        -ms-flex-preferred-size: 20%;
            flex-basis: 20%;
    margin-right: 1em; } }

@media (min-width: 768px) {
  .def-list > dl {
    padding-left: 1em;
    padding-right: 1em; }
  .def-list > dl > dt {
    -webkit-flex-basis: 15%;
        -ms-flex-preferred-size: 15%;
            flex-basis: 15%; } }

.en-placeholder {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100vh;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.en-placeholder__logo {
  display: block;
  height: auto;
  max-width: 300px;
  width: -webkit-calc(100% - 100px);
  width: calc(100% - 100px); }

.en-placeholder__message {
  font-size: 0.9rem;
  margin-top: 3em;
  padding: 0 20px;
  text-align: center; }
  .en-placeholder__message img {
    height: auto;
    max-width: 100%; }
  .en-placeholder__message img.is-border {
    border: 1px solid rgba(0, 0, 0, 0.1); }
  .en-placeholder__message img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto; }
  .en-placeholder__message img.alignright {
    display: block;
    margin-left: auto; }
  .en-placeholder__message img.alignleft {
    display: block;
    margin-right: auto; }
  .en-placeholder__message > h1,
  .en-placeholder__message > h2,
  .en-placeholder__message > h3,
  .en-placeholder__message > h4,
  .en-placeholder__message > h5,
  .en-placeholder__message > h6,
  .en-placeholder__message > p,
  .en-placeholder__message > ul,
  .en-placeholder__message > ol,
  .en-placeholder__message > hr,
  .en-placeholder__message > div,
  .en-placeholder__message > figure,
  .en-placeholder__message > blockquote {
    margin-bottom: 1.5em;
    margin-top: 1.5em; }
  .en-placeholder__message > h1:first-child,
  .en-placeholder__message > h2:first-child,
  .en-placeholder__message > h3:first-child,
  .en-placeholder__message > h4:first-child,
  .en-placeholder__message > h5:first-child,
  .en-placeholder__message > h6:first-child,
  .en-placeholder__message > p:first-child,
  .en-placeholder__message > ul:first-child,
  .en-placeholder__message > ol:first-child,
  .en-placeholder__message > hr:first-child,
  .en-placeholder__message > div:first-child,
  .en-placeholder__message > figure:first-child,
  .en-placeholder__message > blockquote:first-child {
    margin-top: 0; }
  .en-placeholder__message > h1:last-child,
  .en-placeholder__message > h2:last-child,
  .en-placeholder__message > h3:last-child,
  .en-placeholder__message > h4:last-child,
  .en-placeholder__message > h5:last-child,
  .en-placeholder__message > h6:last-child,
  .en-placeholder__message > p:last-child,
  .en-placeholder__message > ul:last-child,
  .en-placeholder__message > ol:last-child,
  .en-placeholder__message > hr:last-child,
  .en-placeholder__message > div:last-child,
  .en-placeholder__message > figure:last-child,
  .en-placeholder__message > blockquote:last-child {
    margin-bottom: 0; }
  .en-placeholder__message h1.is-text-lead {
    color: #b69e57;
    font-family: "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "Meiryo", serif;
    font-size: 1.5em;
    font-weight: normal; }
    @media (min-width: 0) and (max-width: 767px) {
      .en-placeholder__message h1.is-text-lead br {
        display: none; } }
  .en-placeholder__message h2.is-text-head {
    color: #b69e57;
    font-size: 1.25em;
    font-weight: normal; }
  .en-placeholder__message > ul,
  .en-placeholder__message > ol {
    padding-left: 1.5rem; }
  .en-placeholder__message > ul.is-note > li {
    list-style-type: none;
    position: relative; }
  .en-placeholder__message > ul.is-note > li::before {
    display: block;
    left: -1.5em;
    position: absolute; }
  .en-placeholder__message > ul.is-note > li:lang(ja)::before {
    content: '※'; }
  .en-placeholder__message > ul.is-note > li:lang(en)::before {
    content: '*'; }
  .en-placeholder__message::after {
    clear: both;
    content: '';
    display: block; }
  .en-placeholder__message a:not(.button) {
    color: #b69e57;
    -webkit-transition: color 0.1s linear;
    transition: color 0.1s linear; }
  .en-placeholder__message a:not(.button):hover {
    color: #a3d7dd; }
  .en-placeholder__message a:not(.button):active {
    color: #a3d7dd; }
  .en-placeholder__message .en-placeholder__message.is-reset,
  .en-placeholder__message .en-placeholder__message.is-reset * {
    margin: unset; }
  .en-placeholder__message .is-small {
    font-size: 0.8em; }

.faq-item {
  font-size: 0.8rem;
  line-height: 1.8;
  padding: 1rem 0; }

.faq-item dl {
  margin: 0; }

.faq-item dt {
  font-weight: bold; }

.faq-item dd {
  margin: 1.5em 0 0; }

.faq-item dt,
.faq-item dd {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.faq-item dt::before,
.faq-item dd::before {
  font-family: "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "Meiryo", serif;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #b69e57;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: 1em;
      -ms-flex-preferred-size: 1em;
          flex-basis: 1em;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  font-size: 1.5rem;
  font-weight: normal;
  height: 1.44rem;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-right: 1em; }
  :lang(en) .faq-item dt::before, :lang(en)
  .faq-item dd::before {
    font-family: "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "Georgia", "Meiryo", serif; }

.faq-item dt::before {
  content: 'Q'; }

.faq-item dd::before {
  content: 'A'; }

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

.faq-item__text img.is-border {
  border: 1px solid rgba(0, 0, 0, 0.1); }

.faq-item__text img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto; }

.faq-item__text img.alignright {
  display: block;
  margin-left: auto; }

.faq-item__text img.alignleft {
  display: block;
  margin-right: auto; }

.faq-item__text > h1,
.faq-item__text > h2,
.faq-item__text > h3,
.faq-item__text > h4,
.faq-item__text > h5,
.faq-item__text > h6,
.faq-item__text > p,
.faq-item__text > ul,
.faq-item__text > ol,
.faq-item__text > hr,
.faq-item__text > div,
.faq-item__text > figure,
.faq-item__text > blockquote {
  margin-bottom: 1.5em;
  margin-top: 1.5em; }

.faq-item__text > h1:first-child,
.faq-item__text > h2:first-child,
.faq-item__text > h3:first-child,
.faq-item__text > h4:first-child,
.faq-item__text > h5:first-child,
.faq-item__text > h6:first-child,
.faq-item__text > p:first-child,
.faq-item__text > ul:first-child,
.faq-item__text > ol:first-child,
.faq-item__text > hr:first-child,
.faq-item__text > div:first-child,
.faq-item__text > figure:first-child,
.faq-item__text > blockquote:first-child {
  margin-top: 0; }

.faq-item__text > h1:last-child,
.faq-item__text > h2:last-child,
.faq-item__text > h3:last-child,
.faq-item__text > h4:last-child,
.faq-item__text > h5:last-child,
.faq-item__text > h6:last-child,
.faq-item__text > p:last-child,
.faq-item__text > ul:last-child,
.faq-item__text > ol:last-child,
.faq-item__text > hr:last-child,
.faq-item__text > div:last-child,
.faq-item__text > figure:last-child,
.faq-item__text > blockquote:last-child {
  margin-bottom: 0; }

.faq-item__text h1.is-text-lead {
  color: #b69e57;
  font-family: "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "Meiryo", serif;
  font-size: 1.5em;
  font-weight: normal; }
  @media (min-width: 0) and (max-width: 767px) {
    .faq-item__text h1.is-text-lead br {
      display: none; } }

.faq-item__text h2.is-text-head {
  color: #b69e57;
  font-size: 1.25em;
  font-weight: normal; }

.faq-item__text > ul,
.faq-item__text > ol {
  padding-left: 1.5rem; }

.faq-item__text > ul.is-note > li {
  list-style-type: none;
  position: relative; }

.faq-item__text > ul.is-note > li::before {
  display: block;
  left: -1.5em;
  position: absolute; }

.faq-item__text > ul.is-note > li:lang(ja)::before {
  content: '※'; }

.faq-item__text > ul.is-note > li:lang(en)::before {
  content: '*'; }

.faq-item__text::after {
  clear: both;
  content: '';
  display: block; }

.faq-item__text a:not(.button) {
  color: #b69e57;
  -webkit-transition: color 0.1s linear;
  transition: color 0.1s linear; }

.faq-item__text a:not(.button):hover {
  color: #a3d7dd; }

.faq-item__text a:not(.button):active {
  color: #a3d7dd; }

.faq-item__text .faq-item__text.is-reset,
.faq-item__text .faq-item__text.is-reset * {
  margin: unset; }

.faq-item__text .is-small {
  font-size: 0.8em; }

.footer {
  background: #fff;
  border-bottom: 0.5rem solid #b69e57;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

@media (min-width: 0) and (max-width: 767px) {
  .footer__inner {
    width: -webkit-calc(100% - 40px);
    width: calc(100% - 40px); } }

@media (min-width: 768px) {
  .footer__inner {
    max-width: 1100px;
    width: -webkit-calc(100% - 100px);
    width: calc(100% - 100px); } }

.footer__logo {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 0; }

.footer__logo-anchor {
  color: #b69e57;
  -webkit-transition: color 0.1s linear;
  transition: color 0.1s linear; }

.footer__logo-anchor:hover {
  color: #a3d7dd; }

.footer__logo-anchor::before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: 'kokka-icons';
  font-style: normal;
  font-weight: normal;
  content: ""; }

@media (min-width: 0) and (max-width: 767px) {
  .footer__logo {
    height: 6rem; }
  .footer__logo-anchor::before {
    font-size: 1.02rem; } }

@media (min-width: 768px) {
  .footer__logo {
    height: 9rem; }
  .footer__logo-anchor::before {
    font-size: 1.2rem; } }

.footer__list {
  margin: 0;
  padding: 0; }

.footer__item {
  list-style-type: none; }

.footer__anchor {
  color: #b69e57;
  padding: 0.5em 0;
  -webkit-transition: color 0.1s linear;
  transition: color 0.1s linear;
  white-space: nowrap; }

.footer__anchor:hover {
  color: #a3d7dd; }

.footer__list.is-level-1 {
  font-size: 0.9rem; }

@media (min-width: 0) and (max-width: 767px) {
  .footer__list.is-level-1 {
    border-bottom: 1px solid rgba(182, 158, 87, 0.2); }
  .footer__list.is-level-1 > .footer__item {
    border-top: 1px solid rgba(182, 158, 87, 0.2);
    padding: 1em 0; } }

@media (min-width: 768px) {
  .footer__list.is-level-1 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .footer__list.is-level-1 > .footer__item {
    -webkit-flex-basis: -webkit-calc((100% + 3rem) * (1 / 4) - 3rem);
        -ms-flex-preferred-size: calc((100% + 3rem) * (1 / 4) - 3rem);
            flex-basis: calc((100% + 3rem) * (1 / 4) - 3rem);
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    position: relative; }
  .footer__list.is-level-1 > * ~ .footer__item::before {
    background: rgba(182, 158, 87, 0.2);
    content: '';
    display: block;
    height: 100%;
    left: -1.5rem;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 1px; } }

.footer__list.is-level-2 {
  font-size: 0.7rem; }

@media (min-width: 0) and (max-width: 767px) {
  .footer__list.is-level-2 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin-bottom: -0.75em;
    margin-right: -1.5em;
    margin-top: 0.75em; }
  .footer__list.is-level-2 > .footer__item {
    margin-bottom: 0.75em;
    margin-right: 1.5em; } }

@media (min-width: 768px) {
  .footer__list.is-level-2 {
    margin-bottom: -1em;
    margin-top: 2em; }
  .footer__list.is-level-2 > .footer__item {
    margin-bottom: 1em; } }

.footer__aside-list {
  font-size: 0.6rem;
  margin: 0;
  padding: 0; }

.footer__aside-list.is-language {
  text-transform: uppercase; }

.footer__aside-item {
  list-style-type: none; }

.footer__aside-anchor {
  color: #b69e57;
  padding: 1em 0;
  -webkit-transition: color 0.1s linear;
  transition: color 0.1s linear;
  white-space: nowrap; }

.footer__aside-anchor:hover {
  color: #a3d7dd; }

.footer__aside-rights {
  color: #9b9b9b;
  font-size: 0.5rem;
  white-space: nowrap; }

@media (min-width: 0) and (max-width: 767px) {
  .footer__aside {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
  .footer__aside-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin-bottom: -0.75em;
    margin-right: -1.5em;
    margin-top: 2.5em; }
  .footer__aside-item {
    margin-bottom: 0.75em;
    margin-right: 1.5em; }
  .footer__aside-item.is-desktop {
    display: none; }
  .footer__aside-list.is-mobile {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    margin-bottom: 2.5em;
    margin-right: 0; }
  .footer__aside-list.is-mobile .footer__aside-item {
    margin-bottom: 0;
    margin-right: 0; }
  .footer__aside-rights {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin-bottom: 2.5em;
    margin-top: 2.5em; } }

@media (min-width: 768px) {
  .footer__aside {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    height: 9rem; }
  .footer__aside-list {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .footer__aside-list.is-mobile {
    display: none; }
  * ~ .footer__aside-list {
    padding-left: 2em;
    position: relative; }
  * ~ .footer__aside-list::before {
    background: rgba(182, 158, 87, 0.2);
    content: '';
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 1px; }
  .footer__aside-item {
    margin-right: 2em; }
  .footer__aside-rights {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; } }

.function-list dl {
  border: 1px solid rgba(182, 158, 87, 0.5);
  box-sizing: border-box;
  margin: 0; }

.function-list dt {
  color: #b69e57;
  font-size: 0.9rem; }

.function-list dd {
  -webkit-flex-basis: 100%;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
  font-size: 0.8rem;
  line-height: 1.8;
  margin-left: 0; }

@media (min-width: 0) and (max-width: 767px) {
  .function-list dl {
    margin-bottom: 0.6rem;
    padding: 0.6rem; }
  .function-list dd {
    margin-top: 0.5em; } }

@media (min-width: 768px) {
  .function-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
  .function-list {
    margin-bottom: -1.5rem; }
  .function-list dl {
    margin-bottom: 1.5rem;
    margin-right: 1.5rem;
    padding: 1.5rem;
    width: -webkit-calc((100% + 1.5rem) * (1 / 2) - 1.5rem);
    width: calc((100% + 1.5rem) * (1 / 2) - 1.5rem); }
  .function-list dl:nth-child(2n) {
    margin-right: 0; }
  .function-list dd {
    margin-top: 1em; } }

.general-item__wrapper::after {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: 'kokka-icons';
  font-style: normal;
  font-weight: normal;
  content: "";
  color: #b69e57;
  font-size: 0.7rem;
  -webkit-transition: color 0.1s linear;
  transition: color 0.1s linear; }

.general-item__wrapper[target="_blank"]::after {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: 'kokka-icons';
  font-style: normal;
  font-weight: normal;
  content: ""; }

.general-item__wrapper:hover::after {
  color: #a3d7dd; }

.general-item.is-selected .general-item__wrapper::after {
  color: #bbb; }

.general-item.is-selected .general-item__wrapper:hover::after {
  color: #a3d7dd; }

.general-item__title {
  font-family: "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "Meiryo", serif;
  color: #b69e57;
  -webkit-transition: color 0.1s linear;
  transition: color 0.1s linear; }
  :lang(en) .general-item__title {
    font-family: "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "Georgia", "Meiryo", serif; }

.general-item.is-small .general-item__title {
  font-family: "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif; }
  :lang(en) .general-item.is-small .general-item__title {
    font-family: "Helvetica Neue", "Helvetica", "Arial", "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif; }

.general-item__wrapper:hover .general-item__title {
  color: #a3d7dd; }

.general-item.is-selected .general-item__title {
  color: #bbb; }

.general-item.is-selected .general-item__wrapper:hover .general-item__title {
  color: #a3d7dd; }

.general-item.is-small .general-item__title-large {
  font-family: "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "Meiryo", serif;
  font-size: 1.2em; }
  :lang(en) .general-item.is-small .general-item__title-large {
    font-family: "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "Georgia", "Meiryo", serif; }

.general-item.is-small .general-item__title-small {
  font-family: "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 0.75em; }
  :lang(en) .general-item.is-small .general-item__title-small {
    font-family: "Helvetica Neue", "Helvetica", "Arial", "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif; }

.general-item__description {
  font-size: 0.7rem;
  line-height: 1.8;
  -webkit-transition: color 0.1s linear;
  transition: color 0.1s linear; }

.general-item__wrapper:hover .general-item__description {
  color: #a3d7dd; }

.general-item.is-selected .general-item__description {
  color: #bbb; }

.general-item.is-selected .general-item__wrapper:hover .general-item__description {
  color: #a3d7dd; }

@media (min-width: 0) and (max-width: 767px) {
  .general-item__wrapper {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    padding: 0.5rem 0; }
  .general-item__wrapper::after {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .general-item__title {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    font-size: 1.2rem;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .general-item.is-small .general-item__title {
    font-size: 0.9rem; }
  .general-item__description {
    -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
    margin-top: 0.5em;
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; } }

@media (min-width: 768px) {
  .general-item__wrapper {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 0.9rem 0; }
  .general-item__wrapper::after {
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    margin-left: 2em; }
  .general-item__title {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    font-size: 1.5rem; }
  .general-item.is-small .general-item__title {
    font-size: 0.9rem; }
  .general-item__description {
    -webkit-flex-basis: 75%;
        -ms-flex-preferred-size: 75%;
            flex-basis: 75%;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0; } }

@media (min-width: 0) and (max-width: 767px) {
  .header__desktop {
    display: none; }
  .header__mobile {
    display: block; } }

@media (min-width: 768px) {
  .header__desktop {
    display: block; }
  .header__mobile {
    display: none; } }

.header-desktop {
  background: #fff;
  border-top: 0.5rem solid #b69e57;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.header-desktop__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  @media (min-width: 0) and (max-width: 767px) {
    .header-desktop__inner {
      width: -webkit-calc(100% - 40px);
      width: calc(100% - 40px); } }
  @media (min-width: 768px) {
    .header-desktop__inner {
      max-width: 1100px;
      width: -webkit-calc(100% - 100px);
      width: calc(100% - 100px); } }

.header-desktop__aside {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: 100%;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
  font-size: 0.6rem;
  height: 3rem;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  position: relative; }

.header-desktop__aside::before {
  background: rgba(182, 158, 87, 0.2);
  bottom: 0;
  content: '';
  display: block;
  height: 1px;
  left: -webkit-calc((100% - 100vw) / 2);
  left: calc((100% - 100vw) / 2);
  pointer-events: none;
  position: absolute;
  width: 100vw; }

.header-desktop__aside-list {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 0;
  padding: 0; }

* ~ .header-desktop__aside-list {
  margin-left: 2.5em;
  padding-left: 2.5em;
  position: relative; }

* ~ .header-desktop__aside-list::before {
  background: rgba(182, 158, 87, 0.2);
  content: '';
  display: block;
  height: 3rem;
  left: 0;
  position: absolute;
  top: -webkit-calc((100% - 3rem) / 2);
  top: calc((100% - 3rem) / 2);
  width: 1px; }

.header-desktop__aside-list.is-language {
  text-transform: uppercase; }

.header-desktop__aside-item {
  list-style-type: none; }

* ~ .header-desktop__aside-item {
  margin-left: 2.5em; }

.header-desktop__aside-anchor {
  color: #b69e57;
  padding: 1em 0;
  -webkit-transition: color 0.1s linear;
  transition: color 0.1s linear;
  white-space: nowrap; }

.header-desktop__aside-anchor:hover {
  color: #a3d7dd; }

.header-desktop__logo {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 4.5rem; }

.header-desktop__logo-anchor {
  color: #b69e57;
  -webkit-transition: color 0.1s linear;
  transition: color 0.1s linear; }

.header-desktop__logo-anchor:hover {
  color: #a3d7dd; }

.header-desktop__logo-anchor::before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: 'kokka-icons';
  font-style: normal;
  font-weight: normal;
  content: "";
  font-size: 1.2rem; }

.header-desktop__nav {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  height: 4.5rem;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.header-desktop__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 0;
  padding: 0; }

.header-desktop__item {
  list-style-type: none; }

* ~ .header-desktop__item {
  margin-left: 1.66em; }

.header-desktop__anchor {
  color: #b69e57;
  padding: 0.5em 0;
  -webkit-transition: color 0.1s linear;
  transition: color 0.1s linear;
  white-space: nowrap; }

.header-desktop__anchor:hover {
  color: #a3d7dd; }

.header-desktop__anchor-large {
  font-family: "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "Meiryo", serif;
  font-size: 0.9rem; }
  :lang(en) .header-desktop__anchor-large {
    font-family: "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "Georgia", "Meiryo", serif; }

.header-desktop__anchor-small {
  font-size: 0.6rem;
  padding-bottom: 0.3rem; }

.header-mobile {
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  background: #fff;
  border-top: 0.5rem solid #b69e57;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  position: relative; }

.header-mobile__logo {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-size: 0;
  height: 3.5rem; }

.header-mobile__logo-anchor {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #b69e57;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  padding: 0 20px;
  -webkit-transition: color 0.1s linear;
  transition: color 0.1s linear; }

.header-mobile__logo-anchor:active {
  color: #a3d7dd; }

.header-mobile__logo-anchor::before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: 'kokka-icons';
  font-style: normal;
  font-weight: normal;
  content: "";
  font-size: 1.02rem; }

.header-mobile__logo-image {
  height: auto;
  width: 7.2rem; }

.header-mobile__toggle {
  border-left: 1px solid rgba(182, 158, 87, 0.2);
  box-sizing: border-box;
  -webkit-flex-basis: 6rem;
      -ms-flex-preferred-size: 6rem;
          flex-basis: 6rem;
  height: 3.5rem; }

.header-mobile__toggle-button {
  font-family: "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  background: transparent;
  border-style: none;
  color: #b69e57;
  cursor: pointer;
  display: block;
  font-size: 0.6rem;
  font-weight: bold;
  height: 100%;
  outline: none;
  padding: 0;
  position: relative;
  -webkit-transition: color 0.1s linear;
  transition: color 0.1s linear;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  white-space: nowrap;
  width: 100%; }
  :lang(en) .header-mobile__toggle-button {
    font-family: "Helvetica Neue", "Helvetica", "Arial", "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif; }

.header-mobile__toggle-button:active {
  color: #a3d7dd; }

.header-mobile__toggle-button-label {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 0;
  position: absolute;
  top: 0;
  -webkit-transition: opacity 0.1s linear;
  transition: opacity 0.1s linear;
  width: 100%; }

.header-mobile__toggle-button-label.is-closing {
  opacity: 1; }

.header-mobile.is-opened .header-mobile__toggle-button-label.is-closing {
  opacity: 0; }

.header-mobile__toggle-button-label.is-opening {
  opacity: 0; }

.header-mobile.is-opened .header-mobile__toggle-button-label.is-opening {
  opacity: 1; }

.header-mobile__toggle-button-label::before {
  font-size: 1.25em;
  line-height: 1;
  padding-right: 0.25em; }

.header-mobile__toggle-button-label.is-closing::before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: 'kokka-icons';
  font-style: normal;
  font-weight: normal;
  content: ""; }

.header-mobile__toggle-button-label.is-opening::before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: 'kokka-icons';
  font-style: normal;
  font-weight: normal;
  content: ""; }

.header-mobile__menu {
  background: #fff;
  border-bottom: 1px solid rgba(182, 158, 87, 0.2);
  border-top: 1px solid rgba(182, 158, 87, 0.2);
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 100%;
  width: 100%;
  z-index: 100; }

.header-mobile.is-opened .header-mobile__menu {
  pointer-events: auto; }

* ~ .header-mobile__nav {
  border-top: 1px solid rgba(182, 158, 87, 0.2); }

.header-mobile__list {
  margin: 0;
  padding: 0; }

.header-mobile__item {
  list-style-type: none; }

* ~ .header-mobile__item {
  border-top: 1px solid rgba(182, 158, 87, 0.2); }

.header-mobile__anchor {
  box-sizing: border-box;
  color: #b69e57;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 2.7rem;
  padding: 0.5rem 20px;
  -webkit-transition: color 0.1s linear;
  transition: color 0.1s linear;
  white-space: nowrap; }

.header-mobile__anchor:active {
  color: #a3d7dd; }

.header-mobile__anchor-large {
  font-family: "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "Meiryo", serif;
  font-size: 0.9rem; }
  :lang(en) .header-mobile__anchor-large {
    font-family: "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "Georgia", "Meiryo", serif; }

.header-mobile__anchor-small {
  font-size: 0.7rem; }

.header-mobile__aside {
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  font-size: 0.7rem; }

* ~ .header-mobile__aside {
  border-top: 1px solid rgba(182, 158, 87, 0.2); }

.header-mobile__aside-list {
  border-bottom: 1px solid rgba(182, 158, 87, 0.2);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: 100%;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin: 0;
  padding: 0; }

.header-mobile__aside-item {
  border-bottom: 1px solid rgba(182, 158, 87, 0.2);
  border-right: 1px solid rgba(182, 158, 87, 0.2);
  box-sizing: border-box;
  -webkit-flex-basis: 50%;
      -ms-flex-preferred-size: 50%;
          flex-basis: 50%;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  list-style-type: none; }

.header-mobile__aside-item:nth-child(2n) {
  border-right-color: transparent; }

.header-mobile__aside-item:nth-child(2n+1):nth-last-child(-n+2),
.header-mobile__aside-item:nth-child(2n+1):nth-last-child(-n+2) ~ .header-mobile__aside-item {
  border-bottom-style: none; }

.header-mobile__aside-anchor {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #b69e57;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 2.4rem;
  padding: 0 20px;
  -webkit-transition: color 0.1s linear;
  transition: color 0.1s linear;
  white-space: nowrap; }

.header-mobile__aside-anchor:active {
  color: #a3d7dd; }

.header-mobile__aside-login {
  padding: 1rem 0 1rem 20px; }

.header-mobile__aside-language {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.header-mobile__aside-language-anchor {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #b69e57;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 2.4rem;
  padding: 0 20px;
  text-transform: uppercase;
  -webkit-transition: color 0.1s linear;
  transition: color 0.1s linear; }

.header-mobile__aside-language-anchor:active {
  color: #a3d7dd; }

.home-hero {
  opacity: 0;
  position: relative; }

.home-hero__header {
  position: absolute;
  width: 100%;
  z-index: 50; }

.home-hero__stage {
  overflow: hidden;
  position: relative; }

.home-hero__intro-list {
  height: 100vh;
  position: absolute;
  width: 100%;
  z-index: 40; }

.home-hero.is-regular-slideshow-started .home-hero__intro-list {
  pointer-events: none; }

.home-hero__intro-item {
  height: 100%;
  overflow: hidden;
  position: absolute;
  width: 100%; }

.home-hero__intro-item.is-logo {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background: #a3d7dd;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.home-hero__intro-item.is-logo img {
  height: auto;
  max-width: 500px;
  -webkit-transition: -webkit-transform 10s linear;
  transition: -webkit-transform 10s linear;
  transition: transform 10s linear;
  transition: transform 10s linear, -webkit-transform 10s linear;
  width: 60vw; }

.home-hero.is-logo-scaling-started .home-hero__intro-item.is-logo img {
  -webkit-transform: scale(1.2);
      -ms-transform: scale(1.2);
          transform: scale(1.2); }

.home-hero__intro-item.is-image img {
  display: block;
  position: absolute; }

.home-hero__list {
  pointer-events: none;
  position: absolute;
  width: 100%; }

.home-hero.is-regular-slideshow-started .home-hero__list {
  pointer-events: auto; }

.home-hero__item {
  display: block;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  width: 100%;
  z-index: 38; }

.home-hero__item.is-showing {
  z-index: 39; }

.home-hero__item.is-selected {
  pointer-events: auto; }

.home-hero__item img {
  display: block;
  position: absolute; }

.home-hero__console {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto; }
  @media (min-width: 0) and (max-width: 767px) {
    .home-hero__console {
      width: -webkit-calc(100% - 40px);
      width: calc(100% - 40px); } }
  @media (min-width: 768px) {
    .home-hero__console {
      max-width: 1100px;
      width: -webkit-calc(100% - 100px);
      width: calc(100% - 100px); } }

@media (min-width: 0) and (max-width: 767px) {
  .home-hero__console {
    padding-bottom: 0.6rem;
    padding-top: 0.6rem; } }

@media (min-width: 768px) {
  .home-hero__console {
    padding-bottom: 0.9rem;
    padding-top: 0.9rem; } }

.home-hero__control {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0; }

.home-hero__caption-list {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-size: 0.7rem;
  position: relative; }

.home-hero__caption-list a {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #b69e57;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  -webkit-transform: translateY(0.5rem);
      -ms-transform: translateY(0.5rem);
          transform: translateY(0.5rem);
  -webkit-transition: color 0.1s linear, opacity 0.5s linear 0.5s, -webkit-transform 0.5s cubic-bezier(0.6, 0, 1, 0.4) 0.5s;
  transition: color 0.1s linear, opacity 0.5s linear 0.5s, -webkit-transform 0.5s cubic-bezier(0.6, 0, 1, 0.4) 0.5s;
  transition: color 0.1s linear, opacity 0.5s linear 0.5s, transform 0.5s cubic-bezier(0.6, 0, 1, 0.4) 0.5s;
  transition: color 0.1s linear, opacity 0.5s linear 0.5s, transform 0.5s cubic-bezier(0.6, 0, 1, 0.4) 0.5s, -webkit-transform 0.5s cubic-bezier(0.6, 0, 1, 0.4) 0.5s;
  white-space: nowrap; }

.home-hero__caption-list a.is-selected {
  opacity: 1;
  pointer-events: auto;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: color 0.1s linear, opacity 0.5s linear 1.5s, -webkit-transform 0.5s cubic-bezier(0, 0.6, 0.4, 1) 1.5s;
  transition: color 0.1s linear, opacity 0.5s linear 1.5s, -webkit-transform 0.5s cubic-bezier(0, 0.6, 0.4, 1) 1.5s;
  transition: color 0.1s linear, opacity 0.5s linear 1.5s, transform 0.5s cubic-bezier(0, 0.6, 0.4, 1) 1.5s;
  transition: color 0.1s linear, opacity 0.5s linear 1.5s, transform 0.5s cubic-bezier(0, 0.6, 0.4, 1) 1.5s, -webkit-transform 0.5s cubic-bezier(0, 0.6, 0.4, 1) 1.5s; }

.home-hero__caption-list a:hover,
.home-hero__caption-list a.is-highlighted {
  color: #a3d7dd; }

.home-hero__caption-list a::after {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: 'kokka-icons';
  font-style: normal;
  font-weight: normal;
  content: "";
  padding-left: 0.5em; }

.home-layout__content {
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 auto; }
  @media (min-width: 0) and (max-width: 767px) {
    .home-layout__content {
      width: -webkit-calc(100% - 40px);
      width: calc(100% - 40px); } }
  @media (min-width: 768px) {
    .home-layout__content {
      max-width: 1100px;
      width: -webkit-calc(100% - 100px);
      width: calc(100% - 100px); } }

.home-layout__section-header {
  color: #b69e57;
  font-size: 0.9rem; }

.home-layout__section-main {
  font-size: 0.7rem; }

.home-layout__section-footer {
  font-size: 0.7rem; }

.home-layout__site-list {
  margin: 0;
  padding: 0; }

.home-layout__site-item {
  list-style-type: none; }

@media (min-width: 0) and (max-width: 767px) {
  .home-layout {
    padding-bottom: 4.2rem; }
  .home-layout__section {
    -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
    margin-top: 4.2rem; }
  * ~ .home-layout__section-main {
    margin-top: 1.8rem; }
  * ~ .home-layout__section-footer {
    margin-top: 1.8rem; }
  * ~ .home-layout__site-item {
    margin-top: 0.6rem; } }

@media (min-width: 768px) {
  .home-layout {
    padding-bottom: 5rem; }
  .home-layout__section {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 5rem; }
  .home-layout__section-main {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
  * ~ .home-layout__section-main {
    margin-top: 2.5rem; }
  * ~ .home-layout__section-footer {
    margin-top: 2.5rem; }
  .home-layout__section.is-business {
    -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%; }
  .home-layout__section.is-business .home-layout__section-header {
    text-align: center; }
  .home-layout__section.is-news {
    -webkit-flex-basis: -webkit-calc((100% + 3rem) * (2 / 3) - 3rem);
        -ms-flex-preferred-size: calc((100% + 3rem) * (2 / 3) - 3rem);
            flex-basis: calc((100% + 3rem) * (2 / 3) - 3rem); }
  .home-layout__section.is-sites {
    -webkit-flex-basis: -webkit-calc((100% + 3rem) * (1 / 3) - 3rem);
        -ms-flex-preferred-size: calc((100% + 3rem) * (1 / 3) - 3rem);
            flex-basis: calc((100% + 3rem) * (1 / 3) - 3rem); }
  .home-layout__section.is-sites .home-layout__section-main {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .home-layout__site-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%; }
  * ~ .home-layout__site-item {
    margin-top: 1rem; } }

.html {
  height: 100%; }

@media (min-width: 0) and (max-width: 767px) {
  .html {
    font-size: -webkit-calc(125% * 15 / 18);
    font-size: calc(125% * 15 / 18); } }

@media (min-width: 768px) {
  .html {
    font-size: 125%; } }

.icon::before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: 'kokka-icons';
  font-style: normal;
  font-weight: normal; }

.icon.is-icon-arrow-east::before {
  content: ""; }

.icon.is-icon-arrow-south::before {
  content: ""; }

.icon.is-icon-arrow-west::before {
  content: ""; }

.icon.is-icon-arrow-north::before {
  content: ""; }

.icon.is-icon-stemless-arrow-east::before {
  content: ""; }

.icon.is-icon-stemless-arrow-south::before {
  content: ""; }

.icon.is-icon-stemless-arrow-west::before {
  content: ""; }

.icon.is-icon-stemless-arrow-north::before {
  content: ""; }

.icon.is-icon-home::before {
  content: ""; }

.icon.is-icon-kokka::before {
  content: ""; }

.icon.is-icon-hamburger-closing::before {
  content: ""; }

.icon.is-icon-hamburger-opening::before {
  content: ""; }

.icon.is-icon-site-pin::before {
  content: ""; }

.icon.is-icon-site-twitter::before {
  content: ""; }

.icon.is-icon-site-facebook::before {
  content: ""; }

.icon.is-icon-site-instagram::before {
  content: ""; }

.icon.is-icon-site-pinterest::before {
  content: ""; }

.icon.is-icon-external::before {
  content: ""; }

.icon.is-icon-bullet-pin-short::before {
  content: ""; }

.icon.is-icon-bullet-pin-long::before {
  content: ""; }

.icon.is-pad-before {
  padding-left: 0.5em; }

.icon.is-pad-after {
  padding-right: 0.5em; }

.layout {
  margin: 0 auto; }
  @media (min-width: 0) and (max-width: 767px) {
    .layout {
      width: -webkit-calc(100% - 40px);
      width: calc(100% - 40px); } }
  @media (min-width: 768px) {
    .layout {
      max-width: 1100px;
      width: -webkit-calc(100% - 100px);
      width: calc(100% - 100px); } }

.layout__title {
  font-family: "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "Meiryo", serif;
  color: #b69e57; }
  :lang(en) .layout__title {
    font-family: "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "Georgia", "Meiryo", serif; }

.layout__bilingual-title {
  color: #b69e57; }

.layout__bilingual-title-large {
  font-family: "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "Meiryo", serif; }
  :lang(en) .layout__bilingual-title-large {
    font-family: "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "Georgia", "Meiryo", serif; }

.layout__bilingual-title-small {
  font-family: "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 0.7rem; }
  :lang(en) .layout__bilingual-title-small {
    font-family: "Helvetica Neue", "Helvetica", "Arial", "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif; }

.layout__bilingual-title.is-center {
  text-align: center; }

.layout__description {
  font-size: 0.8rem;
  line-height: 1.8; }

@media (min-width: 0) and (max-width: 767px) {
  .layout {
    padding-bottom: 4.2rem;
    padding-top: 0.9rem; }
  .layout__header {
    margin-top: 1.8rem; }
  .layout__title {
    font-size: 1.4rem;
    margin-top: 1.8rem; }
  .layout__bilingual-title {
    margin-top: 1.8rem; }
  .layout__bilingual-title-large {
    font-size: 1.4rem; }
  .layout__bilingual-title.is-center .layout__bilingual-title-large {
    font-size: 2rem; }
  .layout__description {
    margin-top: 1.8rem; }
  .layout__description br {
    display: none; }
  .layout__local-nav {
    margin-top: 1.8rem; }
  .layout__content {
    margin-top: 4.2rem; }
  .layout__siblings {
    margin-top: 4.2rem; } }

@media (min-width: 768px) {
  .layout {
    padding-bottom: 5rem;
    padding-top: 2.5rem; }
  .layout__header {
    margin-top: 2.5rem; }
  .layout__title {
    font-size: 1.8rem;
    margin-top: 2.5rem; }
  .layout__bilingual-title {
    margin-top: 1.8rem; }
  .layout__bilingual-title-large {
    font-size: 1.8rem; }
  .layout__bilingual-title.is-center .layout__bilingual-title-large {
    font-size: 2.4rem; }
  .layout__description {
    margin-top: 2.5rem; }
  .layout__local-nav {
    margin-top: 2.5rem; }
  .layout__content {
    margin-top: 5rem; }
  .layout__siblings {
    margin-top: 5rem; } }

.local-nav {
  font-size: 0.7rem; }

.local-nav ul {
  margin: 0;
  padding: 0; }

.local-nav li {
  list-style-type: none; }

.local-nav a {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  color: #b69e57;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition: color 0.1s linear;
  transition: color 0.1s linear; }

.local-nav a:hover {
  color: #a3d7dd; }

@media (min-width: 0) and (max-width: 767px) {
  .local-nav * + li {
    margin-top: 0.5em; } }

@media (min-width: 768px) {
  .local-nav ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin-bottom: -1em; }
  .local-nav li {
    margin-bottom: 1em;
    margin-right: 2em; }
  .local-nav li:last-child {
    margin-right: 0; }
  .local-nav a {
    white-space: nowrap; } }

.margin-list {
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0; }

.margin-list__item {
  list-style-type: none; }

@media (min-width: 0) and (max-width: 767px) {
  .margin-list.is-top-tiny {
    padding-top: 0.6rem; }
  .margin-list.is-bottom-tiny {
    padding-bottom: 0.6rem; }
  .margin-list.is-tiny > .margin-list__item {
    margin-bottom: 0.6rem;
    margin-top: 0.6rem; }
  .margin-list.is-tiny > .margin-list__item:first-child {
    margin-top: 0; }
  .margin-list.is-tiny > .margin-list__item:last-child {
    margin-bottom: 0; }
  .margin-list > .margin-list__item.is-top-tiny {
    margin-top: 0.6rem; }
  .margin-list > .margin-list__item.is-top-tiny:first-child {
    margin-top: 0;
    padding-top: 0.6rem; }
  .margin-list > .margin-list__item.is-bottom-tiny {
    margin-bottom: 0.6rem; }
  .margin-list > .margin-list__item.is-bottom-tiny:last-child {
    margin-bottom: 0;
    padding-bottom: 0.6rem; }
  .margin-list.is-top-small {
    padding-top: 0.9rem; }
  .margin-list.is-bottom-small {
    padding-bottom: 0.9rem; }
  .margin-list.is-small > .margin-list__item {
    margin-bottom: 0.9rem;
    margin-top: 0.9rem; }
  .margin-list.is-small > .margin-list__item:first-child {
    margin-top: 0; }
  .margin-list.is-small > .margin-list__item:last-child {
    margin-bottom: 0; }
  .margin-list > .margin-list__item.is-top-small {
    margin-top: 0.9rem; }
  .margin-list > .margin-list__item.is-top-small:first-child {
    margin-top: 0;
    padding-top: 0.9rem; }
  .margin-list > .margin-list__item.is-bottom-small {
    margin-bottom: 0.9rem; }
  .margin-list > .margin-list__item.is-bottom-small:last-child {
    margin-bottom: 0;
    padding-bottom: 0.9rem; }
  .margin-list.is-top-medium {
    padding-top: 1.8rem; }
  .margin-list.is-bottom-medium {
    padding-bottom: 1.8rem; }
  .margin-list.is-medium > .margin-list__item {
    margin-bottom: 1.8rem;
    margin-top: 1.8rem; }
  .margin-list.is-medium > .margin-list__item:first-child {
    margin-top: 0; }
  .margin-list.is-medium > .margin-list__item:last-child {
    margin-bottom: 0; }
  .margin-list > .margin-list__item.is-top-medium {
    margin-top: 1.8rem; }
  .margin-list > .margin-list__item.is-top-medium:first-child {
    margin-top: 0;
    padding-top: 1.8rem; }
  .margin-list > .margin-list__item.is-bottom-medium {
    margin-bottom: 1.8rem; }
  .margin-list > .margin-list__item.is-bottom-medium:last-child {
    margin-bottom: 0;
    padding-bottom: 1.8rem; }
  .margin-list.is-top-large {
    padding-top: 4.2rem; }
  .margin-list.is-bottom-large {
    padding-bottom: 4.2rem; }
  .margin-list.is-large > .margin-list__item {
    margin-bottom: 4.2rem;
    margin-top: 4.2rem; }
  .margin-list.is-large > .margin-list__item:first-child {
    margin-top: 0; }
  .margin-list.is-large > .margin-list__item:last-child {
    margin-bottom: 0; }
  .margin-list > .margin-list__item.is-top-large {
    margin-top: 4.2rem; }
  .margin-list > .margin-list__item.is-top-large:first-child {
    margin-top: 0;
    padding-top: 4.2rem; }
  .margin-list > .margin-list__item.is-bottom-large {
    margin-bottom: 4.2rem; }
  .margin-list > .margin-list__item.is-bottom-large:last-child {
    margin-bottom: 0;
    padding-bottom: 4.2rem; } }

@media (min-width: 768px) {
  .margin-list.is-top-tiny {
    padding-top: 0.9rem; }
  .margin-list.is-bottom-tiny {
    padding-bottom: 0.9rem; }
  .margin-list.is-tiny > .margin-list__item {
    margin-bottom: 0.9rem;
    margin-top: 0.9rem; }
  .margin-list.is-tiny > .margin-list__item:first-child {
    margin-top: 0; }
  .margin-list.is-tiny > .margin-list__item:last-child {
    margin-bottom: 0; }
  .margin-list > .margin-list__item.is-top-tiny {
    margin-top: 0.9rem; }
  .margin-list > .margin-list__item.is-top-tiny:first-child {
    margin-top: 0;
    padding-top: 0.9rem; }
  .margin-list > .margin-list__item.is-bottom-tiny {
    margin-bottom: 0.9rem; }
  .margin-list > .margin-list__item.is-bottom-tiny:last-child {
    margin-bottom: 0;
    padding-bottom: 0.9rem; }
  .margin-list.is-top-small {
    padding-top: 1.25rem; }
  .margin-list.is-bottom-small {
    padding-bottom: 1.25rem; }
  .margin-list.is-small > .margin-list__item {
    margin-bottom: 1.25rem;
    margin-top: 1.25rem; }
  .margin-list.is-small > .margin-list__item:first-child {
    margin-top: 0; }
  .margin-list.is-small > .margin-list__item:last-child {
    margin-bottom: 0; }
  .margin-list > .margin-list__item.is-top-small {
    margin-top: 1.25rem; }
  .margin-list > .margin-list__item.is-top-small:first-child {
    margin-top: 0;
    padding-top: 1.25rem; }
  .margin-list > .margin-list__item.is-bottom-small {
    margin-bottom: 1.25rem; }
  .margin-list > .margin-list__item.is-bottom-small:last-child {
    margin-bottom: 0;
    padding-bottom: 1.25rem; }
  .margin-list.is-top-medium {
    padding-top: 2.5rem; }
  .margin-list.is-bottom-medium {
    padding-bottom: 2.5rem; }
  .margin-list.is-medium > .margin-list__item {
    margin-bottom: 2.5rem;
    margin-top: 2.5rem; }
  .margin-list.is-medium > .margin-list__item:first-child {
    margin-top: 0; }
  .margin-list.is-medium > .margin-list__item:last-child {
    margin-bottom: 0; }
  .margin-list > .margin-list__item.is-top-medium {
    margin-top: 2.5rem; }
  .margin-list > .margin-list__item.is-top-medium:first-child {
    margin-top: 0;
    padding-top: 2.5rem; }
  .margin-list > .margin-list__item.is-bottom-medium {
    margin-bottom: 2.5rem; }
  .margin-list > .margin-list__item.is-bottom-medium:last-child {
    margin-bottom: 0;
    padding-bottom: 2.5rem; }
  .margin-list.is-top-large {
    padding-top: 5rem; }
  .margin-list.is-bottom-large {
    padding-bottom: 5rem; }
  .margin-list.is-large > .margin-list__item {
    margin-bottom: 5rem;
    margin-top: 5rem; }
  .margin-list.is-large > .margin-list__item:first-child {
    margin-top: 0; }
  .margin-list.is-large > .margin-list__item:last-child {
    margin-bottom: 0; }
  .margin-list > .margin-list__item.is-top-large {
    margin-top: 5rem; }
  .margin-list > .margin-list__item.is-top-large:first-child {
    margin-top: 0;
    padding-top: 5rem; }
  .margin-list > .margin-list__item.is-bottom-large {
    margin-bottom: 5rem; }
  .margin-list > .margin-list__item.is-bottom-large:last-child {
    margin-bottom: 0;
    padding-bottom: 5rem; } }

.mini-button {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid rgba(182, 158, 87, 0.5);
  box-sizing: border-box;
  color: #b69e57;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 0.5rem;
  height: 2.6em;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 1em;
  -webkit-transition-duration: 0.1s;
          transition-duration: 0.1s;
  -webkit-transition-property: background-color, border-color, color;
  transition-property: background-color, border-color, color;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  white-space: nowrap; }

.mini-button:hover {
  background-color: #a3d7dd;
  border-color: #a3d7dd;
  color: #fff; }

.news-archive-item {
  font-size: 0.7rem; }

.news-archive-item.is-selected {
  font-weight: bold; }

.news-archive-item__anchor {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #b69e57;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 1em;
  -webkit-transition: color 0.1s linear;
  transition: color 0.1s linear;
  white-space: nowrap; }

.news-archive-item__anchor:hover {
  color: #a3d7dd; }

.news-archive-item__anchor::after {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: 'kokka-icons';
  font-style: normal;
  font-weight: normal;
  content: ""; }

.news-archive-select {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #b69e57;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.7rem;
  position: relative; }

.news-archive-select.is-disabled {
  color: rgba(182, 158, 87, 0.5); }

.news-archive-select::before,
.news-archive-select::after {
  background: #b69e57;
  border-radius: 100%;
  box-shadow: 0 -webkit-calc(3.5em - 4px) 0 #b69e57;
  box-shadow: 0 calc(3.5em - 4px) 0 #b69e57;
  content: '';
  display: block;
  height: 5px;
  position: absolute;
  top: -2px;
  width: 5px; }

.news-archive-select::before {
  left: -2px; }

.news-archive-select::after {
  right: -2px; }

.news-archive-select select {
  font-family: "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  -webkit-appearance: none;
  border-radius: 0;
  border: 1px solid rgba(182, 158, 87, 0.5);
  box-sizing: border-box;
  color: inherit;
  display: block;
  font-weight: bold;
  height: 3.5em;
  outline: none;
  padding: 0 1em;
  width: 100%; }
  :lang(en) .news-archive-select select {
    font-family: "Helvetica Neue", "Helvetica", "Arial", "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif; }

.news-archive-select i {
  position: absolute;
  right: 1em; }

.news-block__header-anchor,
.news-block__header-wrapper {
  color: #b69e57;
  -webkit-transition: color 0.1s linear;
  transition: color 0.1s linear; }

.news-block__header-anchor:hover {
  color: #a3d7dd; }

.news-block__header-date {
  font-size: 0.8rem; }

.news-block__main {
  font-size: 0.8rem;
  line-height: 1.8; }

@media (min-width: 0) and (max-width: 767px) {
  .news-block__header-title {
    font-size: 1.2rem;
    margin-top: 0.25em; }
  .news-block__main {
    margin-top: 1.8rem; } }

@media (min-width: 768px) {
  .news-block__header-anchor,
  .news-block__header-wrapper {
    -webkit-box-align: baseline;
    -webkit-align-items: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .news-block__header-date {
    -webkit-flex-basis: 5rem;
        -ms-flex-preferred-size: 5rem;
            flex-basis: 5rem;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0; }
  .news-block__header-title {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    font-size: 1.5rem; }
  .news-block__main {
    margin-top: 2.5rem; } }

.news-item__wrapper {
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 1em;
  padding-top: 1em;
  -webkit-transition: color 0.1s linear;
  transition: color 0.1s linear; }

.news-item__wrapper:hover {
  color: #a3d7dd; }

.news-item__date {
  color: #9b9b9b;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  -webkit-transition: inherit;
  transition: inherit;
  white-space: nowrap; }

.news-item__wrapper:hover .news-item__date {
  color: #a3d7dd; }

.news-item__title {
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }

@media (min-width: 0) and (max-width: 767px) {
  .news-item__date {
    -webkit-flex-basis: 7em;
        -ms-flex-preferred-size: 7em;
            flex-basis: 7em; } }

@media (min-width: 768px) {
  .news-item__wrapper {
    padding-left: 1em;
    padding-right: 1em; }
  .news-item__wrapper::after {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-family: 'kokka-icons';
    font-style: normal;
    font-weight: normal;
    content: "";
    color: #9b9b9b; }
  .news-item__wrapper:hover::after {
    color: #a3d7dd; }
  .news-item__date {
    -webkit-flex-basis: 8.5em;
        -ms-flex-preferred-size: 8.5em;
            flex-basis: 8.5em; } }

@media (min-width: 0) and (max-width: 767px) {
  .news-layout__aside {
    margin-top: 4.2rem; }
  .news-layout__aside.is-desktop {
    display: none; } }

@media (min-width: 768px) {
  .news-layout {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .news-layout__main {
    -webkit-flex-basis: -webkit-calc((100% + 3rem) * (2 / 3) - 3rem);
        -ms-flex-preferred-size: calc((100% + 3rem) * (2 / 3) - 3rem);
            flex-basis: calc((100% + 3rem) * (2 / 3) - 3rem);
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0; }
  .news-layout__aside {
    -webkit-flex-basis: -webkit-calc((100% + 3rem) * (1 / 3) - 3rem);
        -ms-flex-preferred-size: calc((100% + 3rem) * (1 / 3) - 3rem);
            flex-basis: calc((100% + 3rem) * (1 / 3) - 3rem);
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    margin-left: 3rem; }
  .news-layout__aside.is-mobile {
    display: none; } }

.news-page-nav {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.7rem;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.news-page-nav__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: 100%;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%; }

.news-page-nav__item.is-prev {
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start; }

.news-page-nav__item.is-next {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.news-page-nav__anchor {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #b69e57;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition: color 0.1s linear;
  transition: color 0.1s linear;
  white-space: nowrap; }

.news-page-nav__anchor:hover {
  color: #a3d7dd; }

.news-page-nav__item.is-prev .news-page-nav__anchor::before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: 'kokka-icons';
  font-style: normal;
  font-weight: normal;
  content: "";
  margin-right: 0.5em; }

.news-page-nav__item.is-next .news-page-nav__anchor::after {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: 'kokka-icons';
  font-style: normal;
  font-weight: normal;
  content: "";
  margin-left: 0.5em; }

.office-item__title {
  font-size: 0.9rem; }

.office-item__map {
  position: relative; }

.office-item__map-inner {
  height: 100%;
  position: absolute;
  top: 0;
  width: 100%; }

.office-item__information {
  font-size: 0.8rem; }

@media (min-width: 0) and (max-width: 767px) {
  .office-item__map {
    margin-top: 1.8rem; }
  .office-item__map::before {
    content: '';
    display: block;
    padding-top: 100%; }
  .office-item__information {
    margin-top: 1.8rem; } }

@media (min-width: 768px) {
  .office-item__map {
    height: 400px;
    margin-top: 2.5rem; }
  .office-item__information {
    margin-top: 2.5rem; } }

.page-control {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.page-control button {
  background: transparent;
  border-style: none;
  cursor: pointer;
  height: 15px;
  outline: none;
  padding: 0;
  position: relative;
  width: 15px; }

.page-control button:first-child {
  margin-left: -5px; }

.page-control button:last-child {
  margin-right: -5px; }

.page-control button::before {
  background: #b69e57;
  border-radius: 100%;
  bottom: 5px;
  content: '';
  display: block;
  height: 5px;
  left: 5px;
  position: absolute;
  -webkit-transition: bottom 0.2s cubic-bezier(0, 0.6, 0.4, 1);
  transition: bottom 0.2s cubic-bezier(0, 0.6, 0.4, 1);
  width: 5px; }

.page-control button::after {
  background: #b69e57;
  bottom: 6px;
  content: '';
  display: block;
  height: 1px;
  left: 7px;
  position: absolute;
  -webkit-transition: height 0.2s cubic-bezier(0, 0.6, 0.4, 1);
  transition: height 0.2s cubic-bezier(0, 0.6, 0.4, 1);
  width: 1px; }

.page-control button:hover::before,
.page-control button.is-selected::before {
  bottom: 10px; }

.page-control button:hover::after,
.page-control button.is-selected::after {
  height: 5px; }

.page-control button:hover::before,
.page-control button:hover::after {
  -webkit-transition-delay: 0s;
          transition-delay: 0s; }

.page-control button::before,
.page-control button::after {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s; }

.page-control button.is-selected::before,
.page-control button.is-selected::after {
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s; }

.pile-list {
  margin: 0;
  padding: 0; }

.pile-list__item {
  border-bottom: 1px solid rgba(182, 158, 87, 0.2);
  border-top: 1px solid rgba(182, 158, 87, 0.2);
  list-style-type: none; }

* ~ .pile-list__item {
  border-top-style: none; }

.pin {
  display: inline-block;
  height: 1em;
  margin-right: 0.25em;
  overflow: hidden;
  position: relative; }

.pin::before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: 'kokka-icons';
  font-style: normal;
  font-weight: normal;
  content: "";
  bottom: -0.2em;
  line-height: 1;
  position: absolute;
  -webkit-transition: bottom 0.1s ease-in-out;
  transition: bottom 0.1s ease-in-out; }

.pin::after {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: 'kokka-icons';
  font-style: normal;
  font-weight: normal;
  content: "";
  line-height: 1;
  visibility: hidden; }

a:hover .pin::before,
button:hover .pin::before {
  bottom: 0; }

.section__header {
  color: #b69e57;
  font-size: 0.9rem; }

.section__footer {
  font-size: 0.7rem; }

@media (min-width: 0) and (max-width: 767px) {
  * ~ .section__main {
    margin-top: 1.2rem; }
  * ~ .section__footer {
    margin-top: 1.2rem; } }

@media (min-width: 768px) {
  * ~ .section__main {
    margin-top: 2.5rem; }
  * ~ .section__footer {
    margin-top: 2.5rem; } }

.site-item {
  background: #fff;
  border: 1px solid rgba(182, 158, 87, 0.5);
  box-sizing: border-box;
  min-height: 3.5rem;
  overflow: hidden;
  -webkit-transition: height 0.2s cubic-bezier(0.7, 0, 0.3, 1);
  transition: height 0.2s cubic-bezier(0.7, 0, 0.3, 1); }

@media (min-width: 0) and (max-width: 767px) {
  .site-item::before {
    content: '';
    font-family: mobile; } }

@media (min-width: 768px) {
  .site-item.is-desktop-full-height {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .site-item::before {
    content: '';
    font-family: desktop; } }

.site-item__wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100%; }

@media (min-width: 768px) {
  .site-item.is-desktop-full-height .site-item__wrapper {
    width: 100%; } }

.site-item__front {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 3.5rem; }

.site-item__front a,
.site-item__front span {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  color: #b69e57;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-size: 0.7rem;
  font-weight: bold;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: color 0.1s linear;
  transition: color 0.1s linear; }

.site-item__front a:hover {
  color: #a3d7dd; }

.site-item__front button {
  background: transparent;
  border-bottom-style: none;
  border-left: 1px solid rgba(182, 158, 87, 0.2);
  border-right-style: none;
  border-top-style: none;
  color: #b69e57;
  cursor: pointer;
  display: none;
  -webkit-flex-basis: 3.5rem;
      -ms-flex-preferred-size: 3.5rem;
          flex-basis: 3.5rem;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  font-size: 0.9rem;
  height: 3.5rem;
  line-height: 1;
  outline: none;
  padding: 0;
  -webkit-transition: color 0.1s linear;
  transition: color 0.1s linear; }

.site-item__front button:hover {
  color: #a3d7dd; }

.site-item__front button::before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: 'kokka-icons';
  font-style: normal;
  font-weight: normal;
  content: ""; }

.site-item.is-desktop-opened .site-item__front button.is-desktop::before,
.site-item.is-mobile-opened .site-item__front button.is-mobile::before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: 'kokka-icons';
  font-style: normal;
  font-weight: normal;
  content: ""; }

@media (min-width: 0) and (max-width: 767px) {
  .site-item__front button.is-mobile {
    display: block; } }

@media (min-width: 768px) {
  .site-item__front button.is-desktop {
    display: block; } }

.site-item__content {
  border-top: 1px solid rgba(182, 158, 87, 0.2);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding: 1rem; }

.site-item__description {
  font-size: 0.6rem;
  line-height: 1.8; }

.site-item__references {
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-size: 0.6rem;
  margin-top: 1rem; }

.site-item__references ul {
  margin: 0;
  padding: 0; }

.site-item__references li {
  border-bottom: 1px solid rgba(182, 158, 87, 0.2);
  list-style-type: none; }

.site-item__references li:first-child {
  border-top: 1px solid rgba(182, 158, 87, 0.2); }

.site-item__references a {
  color: #b69e57;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 1em 0;
  -webkit-transition: color 0.1s linear;
  transition: color 0.1s linear; }

.site-item__references a:hover {
  color: #a3d7dd; }

.site-item__references a::before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: 'kokka-icons';
  font-style: normal;
  font-weight: normal;
  content: "";
  margin-right: 0.5em; }

.site-item__services {
  margin-top: 1rem; }

.site-item__services ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 0;
  padding: 0; }

.site-item__services li {
  list-style-type: none; }

.site-item__services * + li {
  margin-left: 0.4rem; }

.site-item__services a {
  color: #b69e57;
  display: block;
  font-size: 1rem;
  height: 1rem;
  line-height: 1;
  -webkit-transition: color 0.1s linear;
  transition: color 0.1s linear;
  width: 1rem; }

.site-item__services a:hover {
  color: #a3d7dd; }

.site-item__services li.is-twitter a::before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: 'kokka-icons';
  font-style: normal;
  font-weight: normal;
  content: ""; }

.site-item__services li.is-facebook a::before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: 'kokka-icons';
  font-style: normal;
  font-weight: normal;
  content: ""; }

.site-item__services li.is-instagram a::before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: 'kokka-icons';
  font-style: normal;
  font-weight: normal;
  content: ""; }

.site-item__services li.is-pinterest a::before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: 'kokka-icons';
  font-style: normal;
  font-weight: normal;
  content: ""; }

@media (min-width: 0) and (max-width: 767px) {
  * + .site-list__item {
    margin-top: 0.6rem; } }

@media (min-width: 768px) {
  .site-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
  .site-list__item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 1.5rem;
    margin-right: 1.5rem;
    width: -webkit-calc((100% - 1px + 1.5rem) * (1 / 3) - 1.5rem);
    width: calc((100% - 1px + 1.5rem) * (1 / 3) - 1.5rem); }
  .site-list__item:nth-child(3n) {
    margin-right: 0; }
  .site-list__item:nth-child(3n+1):nth-last-child(-n+3),
  .site-list__item:nth-child(3n+1):nth-last-child(-n+3) ~ .site-list__item {
    margin-bottom: 0; } }

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

.text img.is-border {
  border: 1px solid rgba(0, 0, 0, 0.1); }

.text img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto; }

.text img.alignright {
  display: block;
  margin-left: auto; }

.text img.alignleft {
  display: block;
  margin-right: auto; }

.text > h1,
.text > h2,
.text > h3,
.text > h4,
.text > h5,
.text > h6,
.text > p,
.text > ul,
.text > ol,
.text > hr,
.text > div,
.text > figure,
.text > blockquote {
  margin-bottom: 1.5em;
  margin-top: 1.5em; }

.text > h1:first-child,
.text > h2:first-child,
.text > h3:first-child,
.text > h4:first-child,
.text > h5:first-child,
.text > h6:first-child,
.text > p:first-child,
.text > ul:first-child,
.text > ol:first-child,
.text > hr:first-child,
.text > div:first-child,
.text > figure:first-child,
.text > blockquote:first-child {
  margin-top: 0; }

.text > h1:last-child,
.text > h2:last-child,
.text > h3:last-child,
.text > h4:last-child,
.text > h5:last-child,
.text > h6:last-child,
.text > p:last-child,
.text > ul:last-child,
.text > ol:last-child,
.text > hr:last-child,
.text > div:last-child,
.text > figure:last-child,
.text > blockquote:last-child {
  margin-bottom: 0; }

.text h1.is-text-lead {
  color: #b69e57;
  font-family: "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "Meiryo", serif;
  font-size: 1.5em;
  font-weight: normal; }
  @media (min-width: 0) and (max-width: 767px) {
    .text h1.is-text-lead br {
      display: none; } }

.text h2.is-text-head {
  color: #b69e57;
  font-size: 1.25em;
  font-weight: normal; }

.text > ul,
.text > ol {
  padding-left: 1.5rem; }

.text > ul.is-note > li {
  list-style-type: none;
  position: relative; }

.text > ul.is-note > li::before {
  display: block;
  left: -1.5em;
  position: absolute; }

.text > ul.is-note > li:lang(ja)::before {
  content: '※'; }

.text > ul.is-note > li:lang(en)::before {
  content: '*'; }

.text::after {
  clear: both;
  content: '';
  display: block; }

.text a:not(.button) {
  color: #b69e57;
  -webkit-transition: color 0.1s linear;
  transition: color 0.1s linear; }

.text a:not(.button):hover {
  color: #a3d7dd; }

.text a:not(.button):active {
  color: #a3d7dd; }

.text .text.is-reset,
.text .text.is-reset * {
  margin: unset; }

.text .is-small {
  font-size: 0.8em; }
