@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP&display=swap");
/* ------------------------------------------------
 * Mixin for center - 要素中央配置する
 * @include f.center(xy); // 中央
 * @include f.center(x);  // 横中央
 * @include f.center(y);  // 縦中央
 ------------------------------------------------ */
/* ------------------------------------------------

 * transition - フェードイン効果を追加する
 * @include f.transition;

 ------------------------------------------------ */
/* ------------------------------------------------

 * opacity - 透過効果を追加する
 * @include f.opacity;

 ------------------------------------------------ */
/* ------------------------------------------------

 * font-family - フォントの指定をする
 * @include f.font(jp); 		// Noto Sans CJK JP Regular
 * @include f.font(en); 		// 英字 Regular
 * @include f.font(en-ita); 	// 英字 RegularItalic

 ------------------------------------------------ */
img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

input[type=submit] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
}

/*------------------------------------
 clearfix
------------------------------------*/
.clearfix::before,
.clearfix::after {
  content: "";
  display: table;
}

.clearfix::after {
  clear: both;
}

.clearfix {
  *zoom: 1;
}

html, body, div, span, iframe, h1, h2, h3, h4, h5, h6, p, img, strong, i, dl, dt, dd, ol, ul, li, form, label, table, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, menu, nav, section, select, button {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
}

body {
  line-height: 0;
}

button,
input,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
  border: none;
  outline: none;
}

footer, header, menu, nav, section, aside, figure {
  display: block;
}

.ul, .ol {
  list-style: none;
}

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

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}

/* -----------------------------------
 * fixed
 ----------------------------------- */
/* welcome */
#welcome__wrap {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #fff;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 9999;
}
@media only screen and (max-width: 767px) {
  #welcome__wrap {
    height: -webkit-fill-available;
  }
}
#welcome__wrap .welcome__inner {
  position: absolute;
  left: 50%;
  top: 50%;
  bottom: auto;
  right: auto;
  -webkit-transform: translateX(-50%) translateY(-50%);
      -ms-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
}
@media only screen and (max-width: 1024px) {
  #welcome__wrap .welcome__inner {
    width: 100%;
    padding: 0 16px;
  }
}
#welcome__wrap .welcome__inner .welcome-logo {
  margin: 0 auto;
  text-align: center;
}
#welcome__wrap .welcome__inner .welcome-logo img {
  width: 240px;
  height: 25.06px;
}
@media only screen and (max-width: 1024px) {
  #welcome__wrap .welcome__inner .welcome-logo img {
    width: 160px;
    height: 16.71px;
  }
}
#welcome__wrap .welcome__inner .text__block {
  margin: 56px 0;
}
@media only screen and (max-width: 1024px) {
  #welcome__wrap .welcome__inner .text__block {
    margin: 32px 0;
  }
}
#welcome__wrap .welcome__inner .text__block p {
  text-align: center;
  line-height: 2;
}
#welcome__wrap .welcome__inner .welcome-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-left: 100px;
}
@media only screen and (max-width: 1024px) {
  #welcome__wrap .welcome__inner .welcome-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-left: auto;
  }
}
@media only screen and (max-width: 1024px) {
  #welcome__wrap .welcome__inner .welcome-list .welcome-list__btn {
    max-width: 200px;
    width: 100%;
  }
}
#welcome__wrap .welcome__inner .welcome-list .welcome-list__btn button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: transparent;
  outline: 0;
  cursor: pointer;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
@media only screen and (max-width: 1024px) {
  #welcome__wrap .welcome__inner .welcome-list .welcome-list__btn button {
    width: 100%;
  }
}
#welcome__wrap .welcome__inner .welcome-list .welcome-list__btn button svg {
  fill: #141414;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
#welcome__wrap .welcome__inner .welcome-list .welcome-list__btn button p {
  visibility: hidden;
  opacity: 0;
  margin-left: 16px;
  color: #141414;
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 14px;
  letter-spacing: 0.1em;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
@media only screen and (max-width: 1024px) {
  #welcome__wrap .welcome__inner .welcome-list .welcome-list__btn button p {
    visibility: visible;
    opacity: 1;
  }
}
#welcome__wrap .welcome__inner .welcome-list .welcome-list__btn button:hover p {
  visibility: visible;
  opacity: 1;
}
@media only screen and (max-width: 1024px) {
  #welcome__wrap .welcome__inner .welcome-list .welcome-list__btn button:hover p {
    visibility: visible;
    opacity: 1;
  }
}
#welcome__wrap .welcome__inner .welcome-list .welcome-list__btn.btn-list button svg {
  width: 16px;
  height: 18px;
}
#welcome__wrap .welcome__inner .welcome-list .welcome-list__btn.btn-grid {
  margin-left: 80px;
}
@media only screen and (max-width: 1024px) {
  #welcome__wrap .welcome__inner .welcome-list .welcome-list__btn.btn-grid {
    margin: 32px 0 0;
  }
}
#welcome__wrap .welcome__inner .welcome-list .welcome-list__btn.btn-grid button svg {
  width: 16px;
  height: 16px;
}
#welcome__wrap .welcome__btn-recruit {
  position: fixed;
  left: 50%;
  right: auto;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: 120px;
  z-index: 10000;
}
@media only screen and (max-width: 767px) {
  #welcome__wrap .welcome__btn-recruit {
    bottom: 60px;
  }
}

/* fixed-btn */
#fixed-btn__wrap {
  position: fixed;
  top: 50%;
  bottom: auto;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 24px;
  z-index: 98;
}
@media only screen and (max-width: 1024px) {
  #fixed-btn__wrap {
    top: auto;
    right: 16px;
    bottom: 16px;
    left: auto;
    width: 48px;
    height: 48px;
    -webkit-transform: translateX(0) translateY(0);
        -ms-transform: translateX(0) translateY(0);
            transform: translateX(0) translateY(0);
  }
}
#fixed-btn__wrap .fixed-btn__inner {
  position: relative;
}
#fixed-btn__wrap .fixed-btn {
  position: absolute;
  top: 0;
  left: 0;
  width: 130px;
  background: transparent;
  border: none;
  outline: 0;
  cursor: pointer;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
@media only screen and (max-width: 1024px) {
  #fixed-btn__wrap .fixed-btn {
    width: 48px;
    height: 48px;
    -webkit-filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
            filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
  }
}
#fixed-btn__wrap .fixed-btn .fixed-btn__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}
@media only screen and (max-width: 1024px) {
  #fixed-btn__wrap .fixed-btn .fixed-btn__inner {
    display: none;
  }
}
#fixed-btn__wrap .fixed-btn .fixed-btn__inner svg {
  fill: #141414;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
#fixed-btn__wrap .fixed-btn .fixed-btn__inner p {
  visibility: hidden;
  margin-left: 12px;
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 10px;
  letter-spacing: 0.1em;
  white-space: nowrap;
  opacity: 0;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
#fixed-btn__wrap .fixed-btn:hover p {
  visibility: visible;
  opacity: 1;
}
@media only screen and (max-width: 1024px) {
  #fixed-btn__wrap .fixed-btn:hover p {
    visibility: hidden;
    opacity: 0;
  }
}
#fixed-btn__wrap .fixed-btn img {
  display: none;
  width: 48px;
  height: 48px;
}
@media only screen and (max-width: 1024px) {
  #fixed-btn__wrap .fixed-btn img {
    display: block;
  }
}
#fixed-btn__wrap .fixed-btn.btn-list {
  visibility: hidden;
  opacity: 0;
  z-index: 2;
}
#fixed-btn__wrap .fixed-btn.btn-list svg {
  width: 16px;
  height: 18px;
}
#fixed-btn__wrap .fixed-btn.btn-grid {
  visibility: hidden;
  opacity: 0;
  z-index: 1;
}
#fixed-btn__wrap .fixed-btn.btn-grid svg {
  width: 16px;
  height: 16px;
}
#fixed-btn__wrap .fixed-btn.display-block {
  visibility: visible;
  opacity: 1;
  z-index: 2;
}

/* backtop */
#fixed-btn__backtop {
  position: fixed;
  top: 50%;
  bottom: auto;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 24px;
  z-index: 98;
}
@media only screen and (max-width: 1024px) {
  #fixed-btn__backtop {
    display: none;
  }
}
#fixed-btn__backtop .fixed-btn__inner {
  position: relative;
}
#fixed-btn__backtop a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#fixed-btn__backtop a svg {
  width: 16px;
  height: 17.04px;
  fill: #141414;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
#fixed-btn__backtop a p {
  visibility: hidden;
  margin-left: 12px;
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 10px;
  letter-spacing: 0.1em;
  white-space: nowrap;
  opacity: 0;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
#fixed-btn__backtop a:hover p {
  visibility: visible;
  opacity: 1;
}
@media only screen and (max-width: 1024px) {
  #fixed-btn__backtop a:hover p {
    visibility: hidden;
    opacity: 0;
  }
}

/* -----------------------------------
 * header
 ----------------------------------- */
#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
}
#header .header__inner {
  padding: 30px 16px 0;
}
#header .header__inner .header__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: fixed;
  top: 50%;
  bottom: auto;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 24px;
  cursor: pointer;
  z-index: 999;
}
@media only screen and (max-width: 1024px) {
  #header .header__inner .header__btn {
    position: absolute;
    top: auto;
    bottom: auto;
    right: 16px;
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0);
    width: 32px;
    z-index: auto;
  }
}
#header .header__inner .header__btn .btn-text {
  visibility: hidden;
  margin: 0 12px 0 0;
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 10px;
  letter-spacing: 0.1em;
  opacity: 0;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
@media only screen and (max-width: 1024px) {
  #header .header__inner .header__btn .btn-text {
    display: none;
  }
}
#header .header__inner .header__btn .btn-line__wrap {
  position: relative;
  width: 16px;
  height: 6px;
}
@media only screen and (max-width: 1024px) {
  #header .header__inner .header__btn .btn-line__wrap {
    width: 100%;
  }
}
#header .header__inner .header__btn .btn-line__wrap .btn-line {
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: #141414;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
#header .header__inner .header__btn .btn-line__wrap .btn-line:nth-of-type(1) {
  top: 0;
}
#header .header__inner .header__btn .btn-line__wrap .btn-line:nth-of-type(2) {
  top: 4px;
}
#header .header__inner .header__btn:hover .btn-text {
  visibility: visible;
  opacity: 1;
}
@media only screen and (max-width: 1024px) {
  #header .header__inner .header__btn:hover .btn-text {
    visibility: hidden;
    opacity: 0;
  }
}
#header .header__inner .header-menu__wrap {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  padding: 32px;
  background: rgb(255, 255, 255);
  z-index: -1;
}
#header .header__inner .header-menu__wrap .header-menu__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  width: 100%;
  height: 100%;
}
@media only screen and (max-width: 1024px) {
  #header .header__inner .header-menu__wrap .header-menu__inner {
    display: block;
    padding-top: 56px;
  }
}
#header .header__inner .header-menu__wrap .header-menu__inner .header-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 1024px) {
  #header .header__inner .header-menu__wrap .header-menu__inner .header-menu {
    display: block;
  }
}
#header .header__inner .header-menu__wrap .header-menu__inner .header-menu > li:not(:nth-child(1)) {
  margin-left: 80px;
}
@media only screen and (max-width: 1024px) {
  #header .header__inner .header-menu__wrap .header-menu__inner .header-menu > li:not(:nth-child(1)) {
    margin: 67px 0 0;
  }
}
@media only screen and (max-width: 1024px) {
  #header .header__inner .header-menu__wrap .header-menu__inner .header-menu > li {
    -webkit-transition: 0.4s ease;
    -o-transition: 0.4s ease;
    transition: 0.4s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
}
#header .header__inner .header-menu__wrap .header-menu__inner .header-menu li {
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 14px;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 1024px) {
  #header .header__inner .header-menu__wrap .header-menu__inner .header-menu li {
    font-size: 20px;
    letter-spacing: 0.1em;
  }
}
#header .header__inner .header-menu__wrap .header-menu__inner .header-menu li a {
  position: relative;
  color: #141414;
}
#header .header__inner .header-menu__wrap .header-menu__inner .header-menu li a:before {
  content: "";
  display: inline-block;
  position: absolute;
  left: 0;
  bottom: -5px;
  width: 0;
  height: 1px;
  background-color: #141414;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
#header .header__inner .header-menu__wrap .header-menu__inner .header-menu li a:hover:before {
  width: 100%;
}
@media only screen and (max-width: 1024px) {
  #header .header__inner .header-menu__wrap .header-menu__inner .header-menu li a:hover:before {
    width: 0;
  }
}
#header .header__inner .header-menu__wrap .header-menu__inner .header-menu li.item-category {
  display: block;
  position: relative;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
#header .header__inner .header-menu__wrap .header-menu__inner .header-menu li.item-category .item-category__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  cursor: pointer;
}
#header .header__inner .header-menu__wrap .header-menu__inner .header-menu li.item-category .item-category__btn .double-line {
  position: relative;
  width: 8px;
  height: 8px;
  margin: 3px 0 0 24px;
}
#header .header__inner .header-menu__wrap .header-menu__inner .header-menu li.item-category .item-category__btn .double-line .btn-line {
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: #141414;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
#header .header__inner .header-menu__wrap .header-menu__inner .header-menu li.item-category .item-category__btn .double-line .btn-line:nth-of-type(1) {
  top: 0;
  -webkit-transform: translateY(2.5px) rotate(90deg);
  -ms-transform: translateY(2.5px) rotate(90deg);
      transform: translateY(2.5px) rotate(90deg);
}
#header .header__inner .header-menu__wrap .header-menu__inner .header-menu li.item-category .item-category__btn .double-line .btn-line:nth-of-type(2) {
  top: 3px;
}
#header .header__inner .header-menu__wrap .header-menu__inner .header-menu li.item-category .header-submenu {
  display: none;
  position: absolute;
  padding: 30px 0 0 0;
  width: 170px;
}
@media only screen and (max-width: 1024px) {
  #header .header__inner .header-menu__wrap .header-menu__inner .header-menu li.item-category .header-submenu {
    padding: 20px 0 0 0;
    margin-left: 120px;
  }
}
#header .header__inner .header-menu__wrap .header-menu__inner .header-menu li.item-category .header-submenu li:not(:nth-child(1)) {
  margin-top: 30px;
}
#header .header__inner .header-menu__wrap .header-menu__inner .header-menu li.item-category .header-submenu li a {
  display: inline-block;
  font-size: 14px;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 1024px) {
  #header .header__inner .header-menu__wrap .header-menu__inner .header-menu li.item-category .header-submenu li a {
    font-size: 16px;
  }
}
#header .header__inner .header-menu__wrap .header-menu__inner .header-menu li.item-category .header-submenu li.current-cat a:before {
  width: 100%;
}
#header .header__inner .header-menu__wrap .header-menu__inner .header-menu li.display-none {
  display: none;
}
#header .header__inner .header-menu__wrap .header-menu__inner .header-menu li.item-insta {
  display: none;
}
@media only screen and (max-width: 1024px) {
  #header .header__inner .header-menu__wrap .header-menu__inner .header-menu li.item-insta {
    display: block;
    margin-top: 120px;
    font-family: "TTJenevers-Regular", sans-serif;
    font-size: 14px;
  }
}
#header .header__inner .header-menu__wrap .header-menu__inner .header-menu li.item-insta a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#header .header__inner .header-menu__wrap .header-menu__inner .header-menu li.item-insta a .text {
  display: inline-block;
}
#header .header__inner .header-menu__wrap .header-menu__inner .header-menu li.item-insta a .line {
  display: inline-block;
  width: 40px;
  height: 1px;
  margin: 10px 16px 0;
  background-color: #141414;
}
#header .header__inner .header-menu__wrap .header-menu__inner .header-menu.is-show > li {
  color: #B5B5B5;
}
#header .header__inner .header-menu__wrap .header-menu__inner .header-menu.is-show > li a {
  color: #B5B5B5;
}
#header .header__inner .header-menu__wrap .header-menu__inner .header-menu.is-show > li a:before {
  background-color: #B5B5B5;
}
#header .header__inner .header-menu__wrap .header-menu__inner .header-menu.is-show .item-insta a .line {
  background-color: #B5B5B5;
}
#header .header__inner .header-menu__wrap .header-menu__inner .header-menu.is-show .item-category a {
  color: #141414;
}
#header .header__inner .header-menu__wrap .header-menu__inner .header-menu.is-show .item-category .item-category__btn .double-line .btn-line:nth-of-type(1) {
  top: 3px;
  -webkit-transform: translateY(0) rotate(0);
  -ms-transform: translateY(0) rotate(0);
      transform: translateY(0) rotate(0);
}
#header .header__inner .header-menu__wrap .header-menu__inner .header-menu.is-show .item-category .item-category__btn .double-line .btn-line:nth-of-type(2) {
  top: 3px;
}
#header .header__inner .header-menu__wrap .header-menu__inner .header-menu__insta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  left: -8px;
  bottom: -8px;
}
@media only screen and (max-width: 1024px) {
  #header .header__inner .header-menu__wrap .header-menu__inner .header-menu__insta {
    display: none;
  }
}
#header .header__inner .header-menu__wrap .header-menu__inner .header-menu__insta .text {
  display: inline-block;
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 14px;
}
#header .header__inner .header-menu__wrap .header-menu__inner .header-menu__insta .line {
  display: inline-block;
  width: 40px;
  height: 1px;
  margin: 0 16px;
  background-color: #141414;
}
#header .header__inner .header-menu__wrap .header-menu__inner .header-menu__insta a {
  display: inline-block;
  position: relative;
  color: #141414;
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 14px;
}
#header .header__inner .header-menu__wrap .header-menu__inner .header-menu__insta a:before {
  content: "";
  display: inline-block;
  position: absolute;
  left: 0;
  bottom: -5px;
  width: 0;
  height: 1px;
  background-color: #141414;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
#header .header__inner .header-menu__wrap .header-menu__inner .header-menu__insta a:hover:before {
  width: 100%;
}
#header.is-menuopen .header__inner .header__btn .btn-text {
  visibility: visible;
  opacity: 1;
}
#header.is-menuopen .header__inner .header__btn .btn-line__wrap {
  width: 14px;
  height: 9px;
}
#header.is-menuopen .header__inner .header__btn .btn-line__wrap .btn-line:nth-of-type(1) {
  -webkit-transform: translateY(3px) rotate(-35deg);
  -ms-transform: translateY(3px) rotate(-35deg);
      transform: translateY(3px) rotate(-35deg);
}
#header.is-menuopen .header__inner .header__btn .btn-line__wrap .btn-line:nth-of-type(2) {
  -webkit-transform: translateY(-1px) rotate(35deg);
  -ms-transform: translateY(-1px) rotate(35deg);
      transform: translateY(-1px) rotate(35deg);
}

#footer.footer-index {
  margin-top: auto;
  padding: 0 120px;
}
@media only screen and (max-width: 1024px) {
  #footer.footer-index {
    padding: 0 16px;
  }
}
#footer.footer-page {
  margin-top: 56px;
  padding: 0 120px;
}
@media only screen and (max-width: 1024px) {
  #footer.footer-page {
    padding: 0 16px;
  }
}
#footer.footer-contact {
  margin-top: 160px;
  padding: 0 120px;
}
@media only screen and (max-width: 1024px) {
  #footer.footer-contact {
    margin-top: 56px;
    padding: 0 16px;
  }
}
#footer.footer-single {
  margin-top: 65px;
  padding: 0 120px;
}
@media only screen and (max-width: 1024px) {
  #footer.footer-single {
    padding: 0 16px;
  }
}
#footer .footer__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-flow: row-reverse;
          flex-flow: row-reverse;
  position: relative;
  padding: 56px 0;
  border-top: 1px solid #141414;
  z-index: 0;
}
@media only screen and (max-width: 1024px) {
  #footer .footer__inner {
    display: block;
    padding: 56px 0 24px;
  }
}
#footer .footer__inner .footer-logo {
  position: absolute;
  top: 56px;
  left: 0;
  width: 240px;
  height: 25.08px;
}
@media only screen and (max-width: 1024px) {
  #footer .footer__inner .footer-logo {
    position: relative;
    top: auto;
    width: 160px;
    height: 16.71px;
  }
}
#footer .footer__inner .footer-logo a {
  display: block;
}
#footer .footer__inner .footer-logo a img {
  vertical-align: top;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
#footer .footer__inner .footer-logo a:hover {
  opacity: 0.5;
}
@media only screen and (max-width: 1024px) {
  #footer .footer__inner .footer-logo a:hover {
    opacity: 1;
  }
}
#footer .footer__inner .footer-info {
  margin-left: auto;
  text-align: right;
}
@media only screen and (max-width: 1024px) {
  #footer .footer__inner .footer-info {
    margin: 32px 0 0;
    text-align: left;
  }
}
#footer .footer__inner .footer-info .heading {
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 16px;
}
@media only screen and (max-width: 1024px) {
  #footer .footer__inner .footer-info .heading {
    font-size: 14px;
  }
}
#footer .footer__inner .footer-info .address {
  margin: 16px 0;
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 14px;
  line-height: 1.4;
}
@media only screen and (max-width: 1024px) {
  #footer .footer__inner .footer-info .address {
    font-size: 12px;
  }
}
#footer .footer__inner .footer-info .map {
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 14px;
}
@media only screen and (max-width: 1024px) {
  #footer .footer__inner .footer-info .map {
    font-size: 12px;
  }
}
#footer .footer__inner .footer-info .map a {
  position: relative;
}
#footer .footer__inner .footer-info .map a:before {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: -5px;
  width: 100%;
  height: 1px;
  background-color: #141414;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
#footer .footer__inner .footer-info .map a:hover:before {
  width: 0;
}
@media only screen and (max-width: 1024px) {
  #footer .footer__inner .footer-info .map a:hover:before {
    width: 100%;
  }
}
#footer .footer__inner .copyright {
  margin-top: auto;
  color: #B5B5B5;
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 12px;
}
@media only screen and (max-width: 1024px) {
  #footer .footer__inner .copyright {
    margin-top: 40px;
    font-size: 10px;
  }
}

body {
  width: 100%;
  height: 100%;
  color: #141414;
  font-family: "Noto Serif JP", serif;
  font-size: 400;
  font-size: 14px;
  font-weight: normal;
  line-height: 1;
  letter-spacing: 0.1em;
  -webkit-font-variant-ligatures: none;
          font-variant-ligatures: none;
  -webkit-text-size-adjust: none;
  -ms-overflow-style: none;
  scrollbar-width: none;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  -webkit-font-smoothing: antialiased;
}
body::-webkit-scrollbar {
  display: none;
}
@media only screen and (max-width: 1024px) {
  body {
    font-size: 16px;
  }
}
@media only screen and (max-width: 767px) {
  body {
    font-size: 12px;
  }
}
body.is-block {
  overflow: hidden;
}

#main,
#container,
#footer {
  width: 100%;
}

#main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  z-index: 0;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

a {
  color: #141414;
  text-decoration: none;
  word-break: break-all;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* -----------------------------------
 * font
 ----------------------------------- */
@font-face {
  font-family: "TTJenevers-Regular";
  src: local("TTJenevers-Regular"), local("TTJenevers-Regular"), local("TTJenevers-Regular"), url("./font/TTJenevers-Regular.woff") format("woff"), url("./font/TTJenevers-Regular.ttf") format("truetype"), url("./font/TTJenevers-Regular.eot") format("embedded-opentype");
}
@font-face {
  font-family: "TTJenevers-Italic";
  src: local("TTJenevers-Italic"), local("TTJenevers-Italic"), local("TTJenevers-Italic"), url("./font/TTJenevers-Italic.woff") format("woff"), url("./font/TTJenevers-Italic.ttf") format("truetype"), url("./font/TTJenevers-Italic.eot") format("embedded-opentype");
}
/* -----------------------------------
 * 共通パーツ
 ----------------------------------- */
/* 改行切り替え */
br.sp--block {
  display: none;
}
@media only screen and (max-width: 767px) {
  br.sp--block {
    display: block;
  }
}
br.ipad--block {
  display: none;
}
@media only screen and (max-width: 1024px) {
  br.ipad--block {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  br.ipad--block {
    display: none;
  }
}
br.pc--block {
  display: block;
}
@media only screen and (max-width: 767px) {
  br.pc--block {
    display: none;
  }
}

/* tel */
.tel a {
  text-decoration: none;
  pointer-events: none;
}
@media only screen and (max-width: 767px) {
  .tel a {
    text-decoration: underline;
    pointer-events: auto;
  }
}

/* mail */
.mail a {
  position: relative;
}
.mail a:before {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: -5px;
  width: 0;
  height: 1px;
  background-color: #141414;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.mail a:hover:before {
  width: 100%;
}
@media only screen and (max-width: 1024px) {
  .mail a:hover:before {
    width: 0;
  }
}

.icon-underline {
  display: inline-block;
  margin: 10px 15px 0;
  width: 40px;
  height: 1px;
  background-color: #B5B5B5;
}
@media only screen and (max-width: 1024px) {
  .icon-underline {
    width: 20px;
  }
}

.icon-line-s {
  display: inline-block;
  margin: 10px 0;
  width: 8px;
  height: 1px;
  background-color: #B5B5B5;
}
@media only screen and (max-width: 1024px) {
  .icon-line-s {
    width: 20px;
  }
}

/* -----------------------------------
 * タイトル
 ----------------------------------- */
.title__block {
  margin-bottom: 80px;
}
@media only screen and (max-width: 1024px) {
  .title__block {
    margin-bottom: 48px;
  }
}
.title__block .title {
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 14px;
  letter-spacing: 0.1em;
}

.subtitle__block {
  margin-bottom: 62px;
}
@media only screen and (max-width: 1024px) {
  .subtitle__block {
    margin-bottom: 48px;
  }
}
.subtitle__block .subtitle {
  color: #B5B5B5;
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 14px;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 1024px) {
  .subtitle__block .subtitle {
    margin-bottom: 48px;
    font-size: 12px;
  }
}

.subtitle__block--v {
  margin-bottom: 62px;
}
@media only screen and (max-width: 1024px) {
  .subtitle__block--v {
    margin-bottom: 48px;
  }
}
.subtitle__block--v .subtitle {
  color: #B5B5B5;
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 1.7vh;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 1024px) {
  .subtitle__block--v .subtitle {
    margin-bottom: 48px;
    font-size: 12px;
  }
}
@media screen and (min-width: 1400px) {
  .subtitle__block--v .subtitle {
    font-size: 14px;
  }
}

/* -----------------------------------
 * テキスト
 ----------------------------------- */
.text__block p {
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 2.8;
}
@media only screen and (max-width: 1024px) {
  .text__block p {
    font-size: 12px;
  }
}
.text__block .btn-txtlink {
  display: inline-block;
  position: relative;
}
.text__block .btn-txtlink:before {
  content: "";
  display: inline-block;
  position: absolute;
  left: 0;
  bottom: 3px;
  width: 100%;
  height: 1px;
  background-color: #141414;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.text__block .btn-txtlink:hover:before {
  width: 0;
}
.text__block .red {
  color: #FF0000;
}

.text__block--v p {
  font-size: 1.7vh;
  letter-spacing: 0.1em;
  line-height: 2.8;
}
@media only screen and (max-width: 1024px) {
  .text__block--v p {
    font-size: 12px;
  }
}
@media screen and (min-width: 1400px) {
  .text__block--v p {
    font-size: 14px;
  }
}

/* -----------------------------------
 * リンク
 ----------------------------------- */
.btn-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.btn-style__underline a,
.btn-style__backtop a {
  position: relative;
  font-family: "TTJenevers-Regular", sans-serif;
}
.btn-style__underline a:before,
.btn-style__backtop a:before {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: -8px;
  width: 100%;
  height: 1px;
  background-color: #141414;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.btn-style__underline a:hover:before,
.btn-style__backtop a:hover:before {
  width: 0;
}
@media only screen and (max-width: 1024px) {
  .btn-style__underline a:hover:before,
.btn-style__backtop a:hover:before {
    width: 100%;
  }
}

.btn-style__viewmore {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 58px;
}
@media only screen and (max-width: 1024px) {
  .btn-style__viewmore {
    margin-top: 56px;
  }
}
.btn-style__viewmore button {
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 14px;
  letter-spacing: 0.1em;
  background-color: transparent;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  cursor: pointer;
}
@media only screen and (max-width: 1024px) {
  .btn-style__viewmore button {
    font-size: 12px;
  }
}
.btn-style__viewmore button p {
  position: relative;
}
.btn-style__viewmore button p:before {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: -8px;
  width: 100%;
  height: 1px;
  background-color: #141414;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.btn-style__viewmore button:hover p:before {
  width: 0;
}
@media only screen and (max-width: 1024px) {
  .btn-style__viewmore button:hover p:before {
    width: 100%;
  }
}

/* -----------------------------------
 * ipad pro以下の対応
 ----------------------------------- */
@media only screen and (min-width: 1025px) {
  .ua-ipad {
    /* タイトル */
    /* テキスト */
    /* ボタン */
    /* welcome */
    /* header */
    /* about */
    /* contact */
    /* single */
    /* slick */
  }
  .ua-ipad .subtitle__block--v .subtitle {
    font-size: 12px;
  }
  .ua-ipad .text__block--v p {
    font-size: 12px;
  }
  .ua-ipad .btn-style__underline a:hover:before {
    width: 100%;
  }
  .ua-ipad .btn-style__viewmore button:hover:before {
    width: 100%;
  }
  .ua-ipad #welcome__wrap .welcome__inner .welcome-list .welcome-list__btn button:hover {
    background-color: #fff;
  }
  .ua-ipad #welcome__wrap .welcome__inner .welcome-list .welcome-list__btn button:hover svg {
    fill: #141414;
  }
  .ua-ipad #welcome__wrap .welcome__inner .welcome-list .welcome-list__btn button:hover p {
    color: #141414;
  }
  .ua-ipad #header .header__inner .header__btn:hover .btn-text {
    visibility: hidden;
    opacity: 0;
  }
  .ua-ipad #header .header__inner .header-menu__wrap .header-menu__inner .header-menu li a:hover:before {
    width: 0;
  }
  .ua-ipad #header.is-menuopen .header__inner .header__btn .btn-text {
    visibility: visible;
    opacity: 1;
  }
  .ua-ipad #header.is-menuopen .header__inner .header__btn .btn-line:nth-of-type(1) {
    -webkit-transform: translateY(2.5px) rotate(-25deg);
    -ms-transform: translateY(2.5px) rotate(-25deg);
        transform: translateY(2.5px) rotate(-25deg);
  }
  .ua-ipad #header.is-menuopen .header__inner .header__btn .btn-line:nth-of-type(2) {
    -webkit-transform: translateY(-1.5px) rotate(25deg);
    -ms-transform: translateY(-1.5px) rotate(25deg);
        transform: translateY(-1.5px) rotate(25deg);
  }
  .ua-ipad .page-about .page-about__message .message-top .message-photo {
    margin: 0 0 0 56px;
  }
  .ua-ipad .page-about .page-about__message .message-top .message-contents .text__block--v p {
    font-size: 12px;
  }
  .ua-ipad .page-about .page-about__message .message-top .message-contents .message-point li {
    font-size: 12px;
  }
  .ua-ipad .page-about .page-about__message .message-service__block .service-item .heading p {
    font-size: 16px;
  }
  .ua-ipad .page-about .page-about__message .message-service__block .service-item .item-contents .text p {
    font-size: 12px;
    line-height: 2;
  }
  .ua-ipad .page-about .page-about__company .companylist__block dl dt {
    font-size: 12px;
  }
  .ua-ipad .page-about .page-about__company .companylist__block dl dd {
    font-size: 12px;
  }
  .ua-ipad .page-about .page-about__company .companylist__block dl dd .map {
    margin-right: 0;
    font-size: 12px;
  }
  .ua-ipad .page-contact .contactform dl dt {
    font-size: 12px;
  }
  .ua-ipad .page-contact .contactform dl dd {
    font-size: 12px;
  }
  .ua-ipad .page-contact .contactform .btn-contactform input {
    font-size: 14px;
  }
  .ua-ipad .page-contact .contactform .btn-contactform:hover:before {
    width: 100%;
  }
  .ua-ipad .page-single .page-single__contents .layout__slider-l .slider-item:before {
    opacity: 0;
  }
  .ua-ipad .page-single .page-single__contents .layout__slider-l .slider-item.slick-active:before {
    opacity: 0;
  }
  .ua-ipad .page-single .page-single__contents .layout__slider-s .slider-item:before {
    opacity: 0;
  }
  .ua-ipad .page-single .page-single__contents .layout__slider-s .slider-item.slick-active:before {
    opacity: 0;
  }
  .ua-ipad .arrow-prev:hover {
    opacity: 1;
  }
  .ua-ipad .arrow-next:hover {
    opacity: 1;
  }
  .ua-ipad .works-slider-l .arrow-prev {
    left: 24px;
  }
  .ua-ipad .works-slider-l .arrow-next {
    right: 24px;
  }
  .ua-ipad .works-slider-s .arrow-prev {
    left: 24px;
  }
  .ua-ipad .works-slider-s .arrow-next {
    right: 24px;
  }
}

/* -----------------------------------
 * 構成パーツ
 ----------------------------------- */
.content--m {
  padding: 0 120px;
}
@media only screen and (max-width: 1024px) {
  .content--m {
    padding: 0 16px;
  }
}

/* -----------------------------------
 * layout-list__wrap
 ----------------------------------- */
#layout-list__wrap {
  display: none;
  padding-bottom: 68px;
}
#layout-list__wrap.display-block {
  display: block;
  -webkit-animation-name: fade-in;
          animation-name: fade-in;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
}
@-webkit-keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
#layout-list__wrap .columnlist {
  padding: 0 120px;
}
@media only screen and (max-width: 1024px) {
  #layout-list__wrap .columnlist {
    padding: 0 16px;
  }
}
#layout-list__wrap .columnlist .columnlist__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  width: 100%;
  margin-top: 56px;
  padding-bottom: 56px;
  border-bottom: 1px solid #B5B5B5;
}
@media only screen and (max-width: 1024px) {
  #layout-list__wrap .columnlist .columnlist__item {
    display: block;
  }
}
#layout-list__wrap .columnlist .columnlist__item .columnlist__info {
  width: 36.42%;
  margin-right: 120px;
}
@media only screen and (max-width: 1024px) {
  #layout-list__wrap .columnlist .columnlist__item .columnlist__info {
    width: 100%;
    margin: 0 0 40px;
  }
}
#layout-list__wrap .columnlist .columnlist__item .columnlist__info .category__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 20px;
}
#layout-list__wrap .columnlist .columnlist__item .columnlist__info .category__block .cate-title {
  color: #141414;
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 12px;
}
#layout-list__wrap .columnlist .columnlist__item .columnlist__info .category__block .icon-underline {
  background-color: #141414;
}
#layout-list__wrap .columnlist .columnlist__item .columnlist__info .category__block .cate {
  color: #141414;
  font-family: "TTJenevers-Italic", sans-serif;
  font-size: 12px;
  white-space: nowrap;
}
#layout-list__wrap .columnlist .columnlist__item .columnlist__info .column-title {
  font-size: 20px;
  letter-spacing: 0.1em;
  line-height: 1.6;
}
@media only screen and (max-width: 1024px) {
  #layout-list__wrap .columnlist .columnlist__item .columnlist__info .column-title {
    font-size: 16px;
  }
}
#layout-list__wrap .columnlist .columnlist__item .columnlist__info .subtitle {
  margin-top: 10px;
}
#layout-list__wrap .columnlist .columnlist__item .columnlist__info .subtitle p {
  font-size: 14px;
  line-height: 2;
}
#layout-list__wrap .columnlist .columnlist__item .columnlist__info .btn-style__underline {
  margin-top: 15px;
}
#layout-list__wrap .columnlist .columnlist__item .columnlist__info .btn-style__underline a {
  font-size: 12px;
}
#layout-list__wrap .columnlist .columnlist__item .item-img {
  position: relative;
  width: 63.58%;
  margin-left: auto;
  overflow: hidden;
}
@media only screen and (max-width: 1024px) {
  #layout-list__wrap .columnlist .columnlist__item .item-img {
    width: 100%;
  }
}
#layout-list__wrap .columnlist .columnlist__item .item-img:before {
  content: "";
  display: block;
  padding: 33.214% 0;
}
@media only screen and (max-width: 1024px) {
  #layout-list__wrap .columnlist .columnlist__item .item-img:before {
    padding: 33.332% 0;
  }
}
#layout-list__wrap .columnlist .columnlist__item .item-img img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;"; /*IE対策*/
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
#layout-list__wrap .columnlist .columnlist__item .item-img img.img-off {
  z-index: 2;
}
#layout-list__wrap .columnlist .columnlist__item .item-img img.img-on {
  z-index: 1;
}
#layout-list__wrap .columnlist .columnlist__item.is-hoverchange .columnlist__info .btn-style__underline a:before {
  width: 0;
}
#layout-list__wrap .columnlist .columnlist__item.is-hoverchange .item-img .img-off {
  opacity: 0;
}

/* -----------------------------------
 * layout-grid__wrap
 ----------------------------------- */
#layout-grid__wrap {
  display: none;
  padding: 56px 120px 0;
}
@media only screen and (max-width: 1024px) {
  #layout-grid__wrap {
    padding: 54px 16px 0;
  }
}
#layout-grid__wrap.display-block {
  display: block;
  -webkit-animation-name: fade-in;
          animation-name: fade-in;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
}
@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
#layout-grid__wrap .layout-grid__head {
  margin-bottom: 46px;
}
#layout-grid__wrap .layout-grid__head .heading {
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 14px;
}
#layout-grid__wrap .columnlist__wrap .columnlist__block .columnlist__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  padding: 25px 0 20px;
  border-top: 1px solid #141414;
  cursor: pointer;
}
#layout-grid__wrap .columnlist__wrap .columnlist__block .columnlist__head .heading {
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 14px;
}
#layout-grid__wrap .columnlist__wrap .columnlist__block .columnlist__head .icon-plus {
  position: absolute;
  top: 50%;
  bottom: auto;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0;
  width: 16px;
  height: 16px;
}
#layout-grid__wrap .columnlist__wrap .columnlist__block .columnlist__head .icon-plus:before {
  content: "";
  position: absolute;
  top: 50%;
  bottom: auto;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #141414;
  opacity: 1;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
#layout-grid__wrap .columnlist__wrap .columnlist__block .columnlist__head .icon-plus:after {
  content: "";
  position: absolute;
  left: 50%;
  right: auto;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 1px;
  height: 100%;
  background-color: #141414;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
#layout-grid__wrap .columnlist__wrap .columnlist__block .columnlist__body {
  display: none;
}
#layout-grid__wrap .columnlist__wrap .columnlist__block .columnlist__body .columnlist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: -31px -28px 56px;
}
@media only screen and (max-width: 1024px) {
  #layout-grid__wrap .columnlist__wrap .columnlist__block .columnlist__body .columnlist {
    display: block;
    margin: -31px 0 56px;
  }
}
#layout-grid__wrap .columnlist__wrap .columnlist__block .columnlist__body .columnlist .columnlist__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: calc(25% - 56px);
  margin: 46px 28px 0;
}
@media only screen and (max-width: 1024px) {
  #layout-grid__wrap .columnlist__wrap .columnlist__block .columnlist__body .columnlist .columnlist__item {
    width: 100%;
    margin: 46px 0 0;
  }
}
#layout-grid__wrap .columnlist__wrap .columnlist__block .columnlist__body .columnlist .columnlist__item .columnlist__info {
  margin-bottom: 15px;
}
#layout-grid__wrap .columnlist__wrap .columnlist__block .columnlist__body .columnlist .columnlist__item .columnlist__info .column-title {
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 1.6;
}
#layout-grid__wrap .columnlist__wrap .columnlist__block .columnlist__body .columnlist .columnlist__item .item-img {
  position: relative;
  margin-top: auto;
  overflow: hidden;
}
#layout-grid__wrap .columnlist__wrap .columnlist__block .columnlist__body .columnlist .columnlist__item .item-img:before {
  content: "";
  display: block;
  padding: 33.214% 0;
}
@media only screen and (max-width: 1024px) {
  #layout-grid__wrap .columnlist__wrap .columnlist__block .columnlist__body .columnlist .columnlist__item .item-img:before {
    padding: 33.332% 0;
  }
}
#layout-grid__wrap .columnlist__wrap .columnlist__block .columnlist__body .columnlist .columnlist__item .item-img img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;"; /*IE対策*/
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
#layout-grid__wrap .columnlist__wrap .columnlist__block .columnlist__body .columnlist .columnlist__item .item-img img.img-off {
  z-index: 2;
}
#layout-grid__wrap .columnlist__wrap .columnlist__block .columnlist__body .columnlist .columnlist__item .item-img img.img-on {
  z-index: 1;
}
#layout-grid__wrap .columnlist__wrap .columnlist__block .columnlist__body .columnlist .columnlist__item .btn-style__underline {
  margin-top: 15px;
}
#layout-grid__wrap .columnlist__wrap .columnlist__block .columnlist__body .columnlist .columnlist__item .btn-style__underline a {
  font-size: 12px;
}
#layout-grid__wrap .columnlist__wrap .columnlist__block .columnlist__body .columnlist .columnlist__item.is-hoverchange .item-img .img-off {
  opacity: 0;
}
#layout-grid__wrap .columnlist__wrap .columnlist__block .columnlist__body .columnlist .columnlist__item.is-hoverchange .btn-style__underline a:before {
  width: 0;
}
#layout-grid__wrap .columnlist__wrap .columnlist__block.is-open .columnlist__head .icon-plus:before {
  opacity: 0;
}
#layout-grid__wrap .columnlist__wrap .columnlist__block.is-open .columnlist__head .icon-plus:after {
  -webkit-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
      transform: rotate(-90deg);
}

/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8;
  z-index: 99999;
}

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999999;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden;
}

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.mfp-container:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.mfp-align-top .mfp-container:before {
  display: none;
}

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045;
}

.mfp-inline-holder .mfp-content {
  width: 100%;
  cursor: auto;
}

.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto;
}

.mfp-ajax-cur {
  cursor: progress;
}

.mfp-zoom-out-cur {
  cursor: -webkit-zoom-out;
  cursor: zoom-out;
}
.mfp-zoom-out-cur .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -webkit-zoom-out;
  cursor: zoom-out;
}

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: zoom-in;
}

.mfp-auto-cursor .mfp-content {
  cursor: auto;
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
      user-select: none;
}

.mfp-loading.mfp-figure {
  display: none;
}

.mfp-hide {
  display: none !important;
}

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044;
}
.mfp-preloader a {
  color: #CCC;
}
.mfp-preloader a:hover {
  color: #FFF;
}

.mfp-s-ready .mfp-preloader {
  display: none;
}

.mfp-s-error .mfp-content {
  display: none;
}

button.mfp-close,
button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  -webkit-box-shadow: none;
          box-shadow: none;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
}

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

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace;
}

.mfp-close:hover {
  opacity: 1;
}
.mfp-close:focus {
  opacity: 1;
}
.mfp-close:active {
  top: 1px;
}

.mfp-close-btn-in .mfp-close {
  color: #fff;
}

.mfp-image-holder .mfp-close {
  color: #fff;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%;
}

.mfp-iframe-holder .mfp-close {
  color: #fff;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%;
}

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #fff;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap;
}

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent;
}
.mfp-arrow:active {
  margin-top: -54px;
}
.mfp-arrow:hover {
  opacity: 1;
}
.mfp-arrow:focus {
  opacity: 1;
}
.mfp-arrow:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent;
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7;
}
.mfp-arrow:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 8px;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent;
  border-top-width: 13px;
  border-bottom-width: 13px;
}

.mfp-arrow-left {
  left: 0;
}
.mfp-arrow-left:after {
  border-right: 17px solid #FFF;
  margin-left: 31px;
}
.mfp-arrow-left:before {
  margin-left: 25px;
  border-right: 27px solid #3F3F3F;
}

.mfp-arrow-right {
  right: 0;
}
.mfp-arrow-right:after {
  border-left: 17px solid #FFF;
  margin-left: 39px;
}
.mfp-arrow-right:before {
  border-left: 27px solid #3F3F3F;
}

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px;
}

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px;
}

.mfp-iframe-holder .mfp-close {
  top: -40px;
}

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%;
}

.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
          box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000;
}

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto;
}

/* The shadow behind the image */
.mfp-figure {
  line-height: 0;
}

.mfp-figure:after {
  content: "";
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
          box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #444;
}

.mfp-figure small {
  color: #BDBDBD;
  display: block;
  font-size: 12px;
  line-height: 14px;
}

.mfp-figure figure {
  margin: 0;
}

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto;
}

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px;
}

.mfp-image-holder .mfp-content {
  max-width: 100%;
}

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer;
}

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0;
  }
  .mfp-img-mobile img.mfp-img {
    padding: 0;
  }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0;
  }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px;
  }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0;
  }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px;
  }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0;
  }
}
@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    -ms-transform: scale(0.75);
        transform: scale(0.75);
  }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    -ms-transform-origin: 0;
        transform-origin: 0;
  }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    -ms-transform-origin: 100%;
        transform-origin: 100%;
  }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px;
  }
}
.arrow-prev {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  top: 50%;
  bottom: auto;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 120px;
  height: 40px;
  cursor: pointer;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 99;
}
@media only screen and (max-width: 1024px) {
  .arrow-prev {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    width: 60px;
    height: 40px;
  }
}
.arrow-prev p {
  color: #fff;
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 14px;
}
@media only screen and (max-width: 1024px) {
  .arrow-prev p {
    display: none;
  }
}
.arrow-prev .arrow {
  display: inline-block;
  position: relative;
  width: 32px;
  height: 14px;
  margin-right: 16px;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
@media only screen and (max-width: 1024px) {
  .arrow-prev .arrow {
    width: 20px;
  }
}
.arrow-prev .arrow:before {
  content: "";
  position: absolute;
  top: 50%;
  bottom: auto;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 2px;
  width: 32px;
  height: 1px;
  background-color: #fff;
}
.arrow-prev .arrow:after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: auto;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  left: -5px;
  width: 0;
  height: 0;
  border: 5px solid transparent;
  border-right: 5px solid #fff;
}
.arrow-prev:hover {
  opacity: 0.5;
}
@media only screen and (max-width: 1024px) {
  .arrow-prev:hover {
    opacity: 1;
  }
}

.arrow-next {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  top: 50%;
  bottom: auto;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 120px;
  height: 40px;
  cursor: pointer;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 99;
}
@media only screen and (max-width: 1024px) {
  .arrow-next {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    width: 60px;
    height: 40px;
  }
}
.arrow-next p {
  color: #fff;
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 14px;
}
@media only screen and (max-width: 1024px) {
  .arrow-next p {
    display: none;
  }
}
.arrow-next .arrow {
  display: inline-block;
  position: relative;
  width: 32px;
  height: 14px;
  margin-left: 16px;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
@media only screen and (max-width: 1024px) {
  .arrow-next .arrow {
    width: 20px;
  }
}
.arrow-next .arrow:before {
  content: "";
  position: absolute;
  top: 50%;
  bottom: auto;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 2px;
  width: 32px;
  height: 1px;
  background-color: #fff;
}
.arrow-next .arrow:after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: auto;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  right: -5px;
  width: 0;
  height: 0;
  border: 5px solid transparent;
  border-left: 5px solid #fff;
}
.arrow-next:hover {
  opacity: 0.5;
}
@media only screen and (max-width: 1024px) {
  .arrow-next:hover {
    opacity: 1;
  }
}

.works-slider-l .arrow-prev {
  left: 4.5%;
}
@media only screen and (max-width: 1024px) {
  .works-slider-l .arrow-prev {
    left: 8px;
  }
}
.works-slider-l .arrow-next {
  right: 4.5%;
}
@media only screen and (max-width: 1024px) {
  .works-slider-l .arrow-next {
    right: 8px;
  }
}

.works-slider-s .arrow-prev {
  left: 2%;
}
@media only screen and (max-width: 1024px) {
  .works-slider-s .arrow-prev {
    left: 8px;
  }
}
.works-slider-s .arrow-next {
  right: 2%;
}
@media only screen and (max-width: 1024px) {
  .works-slider-s .arrow-next {
    right: 8px;
  }
}

.swiper-container {
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}

.swiper-container-no-flexbox .swiper-slide {
  float: left;
}

.swiper-container-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  transition-property: -webkit-transform;
  -webkit-transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}

.swiper-container-android .swiper-slide, .swiper-wrapper {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

.swiper-container-multirow > .swiper-wrapper {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.swiper-container-free-mode > .swiper-wrapper {
  -webkit-transition-timing-function: ease-out;
       -o-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-slide {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: -webkit-transform;
  -webkit-transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-container-autoheight, .swiper-container-autoheight .swiper-slide {
  height: auto;
}

.swiper-container-autoheight .swiper-wrapper {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  transition-property: height, -webkit-transform;
  -webkit-transition-property: height, -webkit-transform;
  -o-transition-property: transform, height;
  transition-property: transform, height;
  transition-property: transform, height, -webkit-transform;
}

.swiper-container-3d {
  -webkit-perspective: 1200px;
  perspective: 1200px;
}

.swiper-container-3d .swiper-cube-shadow, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-wrapper {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-container-3d .swiper-slide-shadow-left {
  background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(transparent));
  background-image: -o-linear-gradient(right, rgba(0, 0, 0, 0.5), transparent);
  background-image: linear-gradient(270deg, rgba(0, 0, 0, 0.5), transparent);
}

.swiper-container-3d .swiper-slide-shadow-right {
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(transparent));
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5), transparent);
  background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.5), transparent);
}

.swiper-container-3d .swiper-slide-shadow-top {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(transparent));
  background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), transparent);
  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.5), transparent);
}

.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(transparent));
  background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.5), transparent);
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.5), transparent);
}

.swiper-container-wp8-horizontal, .swiper-container-wp8-horizontal > .swiper-wrapper {
  -ms-touch-action: pan-y;
      touch-action: pan-y;
}

.swiper-container-wp8-vertical, .swiper-container-wp8-vertical > .swiper-wrapper {
  -ms-touch-action: pan-x;
      touch-action: pan-x;
}

.swiper-button-next, .swiper-button-prev {
  position: absolute;
  top: 50%;
  width: 27px;
  height: 44px;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  background-size: 27px 44px;
  background-position: 50%;
  background-repeat: no-repeat;
}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M0 22L22 0l2.1 2.1L4.2 22l19.9 19.9L22 44 0 22z' fill='%23007aff'/%3E%3C/svg%3E");
  left: 10px;
  right: auto;
}

.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M27 22L5 44l-2.1-2.1L22.8 22 2.9 2.1 5 0l22 22z' fill='%23007aff'/%3E%3C/svg%3E");
  right: 10px;
  left: auto;
}

.swiper-button-prev.swiper-button-white, .swiper-container-rtl .swiper-button-next.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M0 22L22 0l2.1 2.1L4.2 22l19.9 19.9L22 44 0 22z' fill='%23fff'/%3E%3C/svg%3E");
}

.swiper-button-next.swiper-button-white, .swiper-container-rtl .swiper-button-prev.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M27 22L5 44l-2.1-2.1L22.8 22 2.9 2.1 5 0l22 22z' fill='%23fff'/%3E%3C/svg%3E");
}

.swiper-button-prev.swiper-button-black, .swiper-container-rtl .swiper-button-next.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M0 22L22 0l2.1 2.1L4.2 22l19.9 19.9L22 44 0 22z'/%3E%3C/svg%3E");
}

.swiper-button-next.swiper-button-black, .swiper-container-rtl .swiper-button-prev.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M27 22L5 44l-2.1-2.1L22.8 22 2.9 2.1 5 0l22 22z'/%3E%3C/svg%3E");
}

.swiper-button-lock {
  display: none;
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  -webkit-transition: opacity 0.3s;
  -o-transition: opacity 0.3s;
  transition: opacity 0.3s;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-container-horizontal > .swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: 10px;
  left: 0;
  width: 100%;
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
      transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active, .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
      transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  -webkit-transform: scale(0.66);
  -ms-transform: scale(0.66);
      transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
      transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  -webkit-transform: scale(0.66);
  -ms-transform: scale(0.66);
      transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
      transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #000;
  opacity: 0.2;
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet-active {
  opacity: 1;
  background: #007aff;
}

.swiper-container-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  -webkit-transform: translate3d(0, -50%, 0);
  transform: translate3d(0, -50%, 0);
}

.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 6px 0;
  display: block;
}

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
      transform: translateY(-50%);
  width: 8px;
}

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: top 0.2s, -webkit-transform 0.2s;
  -webkit-transition: top 0.2s, -webkit-transform 0.2s;
  -o-transition: transform 0.2s, top 0.2s;
  transition: transform 0.2s, top 0.2s;
  transition: transform 0.2s, top 0.2s, -webkit-transform 0.2s;
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px;
}

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
      transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: left 0.2s, -webkit-transform 0.2s;
  -webkit-transition: left 0.2s, -webkit-transform 0.2s;
  -o-transition: transform 0.2s, left 0.2s;
  transition: transform 0.2s, left 0.2s;
  transition: transform 0.2s, left 0.2s, -webkit-transform 0.2s;
}

.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: right 0.2s, -webkit-transform 0.2s;
  -webkit-transition: right 0.2s, -webkit-transform 0.2s;
  -o-transition: transform 0.2s, right 0.2s;
  transition: transform 0.2s, right 0.2s;
  transition: transform 0.2s, right 0.2s, -webkit-transform 0.2s;
}

.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: #007aff;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
      transform: scale(0);
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
      transform-origin: left top;
}

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  -webkit-transform-origin: right top;
  -ms-transform-origin: right top;
      transform-origin: right top;
}

.swiper-container-horizontal > .swiper-pagination-progressbar, .swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0;
}

.swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-container-vertical > .swiper-pagination-progressbar {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-white .swiper-pagination-bullet-active {
  background: #fff;
}

.swiper-pagination-progressbar.swiper-pagination-white {
  background: hsla(0deg, 0%, 100%, 0.25);
}

.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill {
  background: #fff;
}

.swiper-pagination-black .swiper-pagination-bullet-active {
  background: #000;
}

.swiper-pagination-progressbar.swiper-pagination-black {
  background: rgba(0, 0, 0, 0.25);
}

.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill {
  background: #000;
}

.swiper-pagination-lock {
  display: none;
}

.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1);
}

.swiper-container-horizontal > .swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%;
}

.swiper-container-vertical > .swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%;
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}

.swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  -webkit-transform-origin: 50%;
  -ms-transform-origin: 50%;
      transform-origin: 50%;
  -webkit-animation: swiper-preloader-spin 1s steps(12) infinite;
  animation: swiper-preloader-spin 1s steps(12) infinite;
}

.swiper-lazy-preloader:after {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath id='a' stroke='%236c6c6c' stroke-width='11' stroke-linecap='round' d='M60 7v20'/%3E%3C/defs%3E%3Cuse xlink:href='%23a' opacity='.27'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(30 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(60 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(90 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(120 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(150 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.37' transform='rotate(180 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.46' transform='rotate(210 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.56' transform='rotate(240 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.66' transform='rotate(270 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.75' transform='rotate(300 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.85' transform='rotate(330 60 60)'/%3E%3C/svg%3E");
  background-position: 50%;
  background-size: 100%;
  background-repeat: no-repeat;
}

.swiper-lazy-preloader-white:after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath id='a' stroke='%23fff' stroke-width='11' stroke-linecap='round' d='M60 7v20'/%3E%3C/defs%3E%3Cuse xlink:href='%23a' opacity='.27'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(30 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(60 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(90 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(120 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(150 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.37' transform='rotate(180 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.46' transform='rotate(210 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.56' transform='rotate(240 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.66' transform='rotate(270 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.75' transform='rotate(300 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.85' transform='rotate(330 60 60)'/%3E%3C/svg%3E");
}

@-webkit-keyframes swiper-preloader-spin {
  to {
    -webkit-transform: rotate(1turn);
    transform: rotate(1turn);
  }
}
@keyframes swiper-preloader-spin {
  to {
    -webkit-transform: rotate(1turn);
    transform: rotate(1turn);
  }
}
.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  -webkit-transition-timing-function: ease-out;
       -o-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
}

.swiper-container-fade .swiper-slide {
  pointer-events: none;
  -webkit-transition-property: opacity;
  -o-transition-property: opacity;
  transition-property: opacity;
}

.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-fade .swiper-slide-active, .swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-cube {
  overflow: visible;
}

.swiper-container-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
      transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-container-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-cube.swiper-container-rtl .swiper-slide {
  -webkit-transform-origin: 100% 0;
  -ms-transform-origin: 100% 0;
      transform-origin: 100% 0;
}

.swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-next, .swiper-container-cube .swiper-slide-next + .swiper-slide, .swiper-container-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-container-cube .swiper-slide-shadow-bottom, .swiper-container-cube .swiper-slide-shadow-left, .swiper-container-cube .swiper-slide-shadow-right, .swiper-container-cube .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.6;
  -webkit-filter: blur(50px);
  filter: blur(50px);
  z-index: 0;
}

.swiper-container-flip {
  overflow: visible;
}

.swiper-container-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-container-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-flip .swiper-slide-active, .swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-flip .swiper-slide-shadow-bottom, .swiper-container-flip .swiper-slide-shadow-left, .swiper-container-flip .swiper-slide-shadow-right, .swiper-container-flip .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-container-coverflow .swiper-wrapper {
  -ms-perspective: 1200px;
}

/* -----------------------------------
 * page-layout
 ----------------------------------- */
/* レイアウト 画像 + 内容 */
.page-layout__imgleft {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 1024px) {
  .page-layout__imgleft {
    display: block;
  }
}
.page-layout__imgleft .item-img {
  position: relative;
  width: 55.42%;
  overflow: hidden;
}
@media only screen and (max-width: 1024px) {
  .page-layout__imgleft .item-img {
    width: 100%;
    margin-bottom: 32px;
  }
}
.page-layout__imgleft .item-img:before {
  content: "";
  display: block;
  padding: 33.333% 0;
}
.page-layout__imgleft .item-img img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;"; /*IE対策*/
}
.page-layout__imgleft .item-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 44.58%;
}
@media only screen and (max-width: 1024px) {
  .page-layout__imgleft .item-contents {
    display: block;
    marign: 0;
    width: 100%;
  }
}
.page-layout__imgleft .item-contents .item-contents__inner {
  width: 100%;
  padding-left: 100px;
}
@media only screen and (max-width: 1024px) {
  .page-layout__imgleft .item-contents .item-contents__inner {
    padding-left: 0;
  }
}

/* レイアウト 内容 + 画像 */
.page-layout__imgright {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-flow: row-reverse;
          flex-flow: row-reverse;
}
@media only screen and (max-width: 1024px) {
  .page-layout__imgright {
    display: block;
  }
}
.page-layout__imgright .item-img {
  position: relative;
  width: 55.42%;
  overflow: hidden;
}
@media only screen and (max-width: 1024px) {
  .page-layout__imgright .item-img {
    width: 100%;
    margin-bottom: 32px;
  }
}
.page-layout__imgright .item-img:before {
  content: "";
  display: block;
  padding-top: 100%;
}
.page-layout__imgright .item-img img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;"; /*IE対策*/
}
.page-layout__imgright .item-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-right: auto;
  width: 44.58%;
}
@media only screen and (max-width: 1024px) {
  .page-layout__imgright .item-contents {
    display: block;
    marign: 0;
    width: 100%;
  }
}
.page-layout__imgright .item-contents .item-contents__inner {
  width: 100%;
  padding-right: 100px;
}
@media only screen and (max-width: 1024px) {
  .page-layout__imgright .item-contents .item-contents__inner {
    padding-right: 0;
  }
}

/* -----------------------------------
 * about
 ----------------------------------- */
.page-about {
  margin-top: 56px;
  width: 100%;
}
.page-about .title__block {
  margin-bottom: 56px;
}
.page-about .page-about__message {
  max-width: 1680px;
  width: 100%;
  margin: 0 auto;
}
.page-about .page-about__message .message-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-flow: row-reverse;
          flex-flow: row-reverse;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width: 1024px) {
  .page-about .page-about__message .message-top {
    display: block;
  }
}
.page-about .page-about__message .message-top .message-photo {
  width: 570px;
}
@media only screen and (max-width: 1024px) {
  .page-about .page-about__message .message-top .message-photo {
    width: 100%;
  }
}
.page-about .page-about__message .message-top .message-photo video {
  width: 100%;
  height: auto;
}
.page-about .page-about__message .message-top .message-contents {
  width: calc(100% - 690px);
  margin-right: 120px;
}
@media only screen and (max-width: 1024px) {
  .page-about .page-about__message .message-top .message-contents {
    width: 100%;
    margin: 35px 0 0;
  }
}
.page-about .page-about__message .message-top .message-contents .text__block--v p {
  font-family: "Noto Serif JP", serif;
  font-size: 400;
  font-weight: normal;
  font-size: 12px;
  letter-spacing: 0.1em;
  -webkit-font-smoothing: antialiased;
  line-height: 2;
}
.page-about .page-about__message .message-top .message-contents .text__block--v p:nth-child(1) {
  margin-bottom: 24px;
}
.page-about .page-about__message .message-top .message-contents .message-point {
  margin: 15px 0;
}
.page-about .page-about__message .message-top .message-contents .message-point li {
  font-family: "Noto Serif JP", serif;
  font-size: 400;
  font-weight: normal;
  font-size: 12px;
  letter-spacing: 0.1em;
  -webkit-font-smoothing: antialiased;
  line-height: 2;
}
@media only screen and (max-width: 767px) {
  .page-about .page-about__message .message-top .message-contents .message-point li {
    text-align: left;
  }
}
.page-about .page-about__message .message-top .message-contents .message-point li:not(:nth-child(1)) {
  margin-top: 10px;
}
.page-about .page-about__message .message-service__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 1680px;
  width: 100%;
  margin: 60px auto 0;
}
@media only screen and (max-width: 1024px) {
  .page-about .page-about__message .message-service__block {
    display: block;
  }
}
.page-about .page-about__message .message-service__block .service-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 33.33%;
  padding-bottom: 10px;
}
@media only screen and (max-width: 1024px) {
  .page-about .page-about__message .message-service__block .service-item {
    display: block;
    width: 100%;
  }
}
.page-about .page-about__message .message-service__block .service-item .item-contents .text p {
  font-size: 12px;
  line-height: 1.7;
}
@media only screen and (max-width: 1024px) {
  .page-about .page-about__message .message-service__block .service-item .item-contents .text p {
    line-height: 2;
  }
}
.page-about .page-about__message .message-service__block .service-item .item-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-top: 32px;
}
@media only screen and (max-width: 1024px) {
  .page-about .page-about__message .message-service__block .service-item .item-link {
    display: block;
  }
}
.page-about .page-about__message .message-service__block .service-item .item-link .item-logo {
  margin-left: auto;
}
@media only screen and (max-width: 1024px) {
  .page-about .page-about__message .message-service__block .service-item .item-link .item-logo {
    display: none;
  }
}
.page-about .page-about__message .message-service__block .service-item .item-link .btn-style__underline a {
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 12px;
}
.page-about .page-about__message .message-service__block .service-item:nth-child(1) {
  padding-right: 20px;
}
@media only screen and (max-width: 1024px) {
  .page-about .page-about__message .message-service__block .service-item:nth-child(1) {
    width: 100%;
    padding: 0 0 50px;
  }
}
.page-about .page-about__message .message-service__block .service-item:nth-child(2) {
  padding: 0 20px;
  border-right: 1px solid #141414;
  border-left: 1px solid #141414;
}
@media only screen and (max-width: 1024px) {
  .page-about .page-about__message .message-service__block .service-item:nth-child(2) {
    width: 100%;
    padding: 40px 0 50px;
    border-top: 1px solid #141414;
    border-right: none;
    border-bottom: 1px solid #141414;
    border-left: none;
  }
}
.page-about .page-about__message .message-service__block .service-item:nth-child(3) {
  padding: 0 20px;
  border-right: 1px solid #141414;
}
@media only screen and (max-width: 1024px) {
  .page-about .page-about__message .message-service__block .service-item:nth-child(3) {
    width: 100%;
    padding: 40px 0 50px;
    border-right: none;
    border-bottom: 1px solid #141414;
  }
}
.page-about .page-about__message .message-service__block .service-item:nth-child(4) {
  padding-left: 20px;
}
@media only screen and (max-width: 1024px) {
  .page-about .page-about__message .message-service__block .service-item:nth-child(4) {
    padding: 40px 0 0;
  }
}
.page-about .page-about__slider {
  margin: 66px 0 56px;
}
.page-about .page-about__company .companylist__block {
  max-width: 600px;
  margin: 0 auto;
}
@media only screen and (max-width: 1024px) {
  .page-about .page-about__company .companylist__block {
    max-width: 650px;
  }
}
@media only screen and (max-width: 767px) {
  .page-about .page-about__company .companylist__block {
    max-width: 100%;
    margin: 0;
  }
}
.page-about .page-about__company .companylist__block dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .page-about .page-about__company .companylist__block dl {
    display: block;
  }
}
.page-about .page-about__company .companylist__block dl:not(:nth-child(1)) {
  margin-top: 15px;
}
.page-about .page-about__company .companylist__block dl dt {
  width: 100px;
  margin-right: 56px;
  font-size: 1.6vh;
  letter-spacing: 0.1em;
  line-height: 2;
  vertical-align: top;
}
@media only screen and (max-width: 1024px) {
  .page-about .page-about__company .companylist__block dl dt {
    font-size: 12px;
  }
}
@media only screen and (max-width: 767px) {
  .page-about .page-about__company .companylist__block dl dt {
    display: block;
    padding-bottom: 10px;
    width: 100%;
  }
}
@media screen and (min-width: 1400px) {
  .page-about .page-about__company .companylist__block dl dt {
    font-size: 14px;
  }
}
.page-about .page-about__company .companylist__block dl dd {
  width: calc(100% - 156px);
  font-size: 1.6vh;
  letter-spacing: 0.1em;
  line-height: 2;
}
@media only screen and (max-width: 1024px) {
  .page-about .page-about__company .companylist__block dl dd {
    font-size: 12px;
  }
}
@media only screen and (max-width: 767px) {
  .page-about .page-about__company .companylist__block dl dd {
    display: block;
    width: 100%;
    margin-left: 0;
  }
}
@media screen and (min-width: 1400px) {
  .page-about .page-about__company .companylist__block dl dd {
    font-size: 14px;
  }
}
.page-about .page-about__company .companylist__block dl dd.layout-2rows {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 1024px) {
  .page-about .page-about__company .companylist__block dl dd.layout-2rows {
    display: block;
  }
}
.page-about .page-about__company .companylist__block dl dd.layout-2rows p {
  display: inline;
}
@media only screen and (max-width: 1024px) {
  .page-about .page-about__company .companylist__block dl dd.layout-2rows.sp--block p {
    display: block;
  }
}
.page-about .page-about__company .companylist__block dl dd.memberlist {
  border-bottom: 1px solid #141414;
}
.page-about .page-about__company .companylist__block dl dd .map {
  margin-left: 20px;
  font-size: 1.4vh;
  text-align: right;
}
@media only screen and (max-width: 1024px) {
  .page-about .page-about__company .companylist__block dl dd .map {
    margin: 5px 0 0;
    font-size: 10px;
    text-align: left;
  }
}
@media only screen and (max-width: 767px) {
  .page-about .page-about__company .companylist__block dl dd .map {
    margin-right: auto;
  }
}
@media screen and (min-width: 1400px) {
  .page-about .page-about__company .companylist__block dl dd .map {
    font-size: 12px;
  }
}
.page-about .page-about__company .companylist__block dl dd .map a {
  position: relative;
}
.page-about .page-about__company .companylist__block dl dd .map a:before {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: -5px;
  width: 100%;
  height: 1px;
  background-color: #141414;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.page-about .page-about__company .companylist__block dl dd .map a:hover:before {
  width: 0;
}
@media only screen and (max-width: 1024px) {
  .page-about .page-about__company .companylist__block dl dd .map a:hover:before {
    width: 100%;
  }
}
.page-about .page-about__company .companylist__block dl dd .link {
  margin-left: 20px;
  font-size: 1.4vh;
  text-align: right;
}
@media only screen and (max-width: 1024px) {
  .page-about .page-about__company .companylist__block dl dd .link {
    margin: 5px 0 0;
    font-size: 10px;
    text-align: left;
  }
}
@media only screen and (max-width: 767px) {
  .page-about .page-about__company .companylist__block dl dd .link {
    margin-right: auto;
  }
}
@media screen and (min-width: 1400px) {
  .page-about .page-about__company .companylist__block dl dd .link {
    font-size: 12px;
  }
}
.page-about .page-about__company .companylist__block dl dd .link a {
  position: relative;
}
.page-about .page-about__company .companylist__block dl dd .link a:before {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: -5px;
  width: 100%;
  height: 1px;
  background-color: #141414;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.page-about .page-about__company .companylist__block dl dd .link a:hover:before {
  width: 0;
}
@media only screen and (max-width: 1024px) {
  .page-about .page-about__company .companylist__block dl dd .link a:hover:before {
    width: 100%;
  }
}

/* -----------------------------------
 * ウェルカム
 ----------------------------------- */
#welcome__museum {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 99998;
}
@media only screen and (max-width: 767px) {
  #welcome__museum {
    overflow-y: scroll;
  }
}
#welcome__museum .welcome-close__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: fixed;
  top: 16px;
  right: 16px;
  z-index: 99;
  cursor: pointer;
}
#welcome__museum .welcome-close__btn .menu-text {
  margin-right: 10px;
  color: #141414;
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 12px;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
#welcome__museum .welcome-close__btn .menuline_block {
  position: relative;
  width: 16px;
  height: 11px;
}
@media only screen and (max-width: 1024px) {
  #welcome__museum .welcome-close__btn .menuline_block {
    width: 24px;
    height: 16.5px;
  }
}
#welcome__museum .welcome-close__btn .menuline_block .menuline {
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: #141414;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
#welcome__museum .welcome-close__btn .menuline_block .menuline:nth-of-type(1) {
  top: 0;
  -webkit-transform: translateY(5px) rotate(-45deg);
  -ms-transform: translateY(5px) rotate(-45deg);
      transform: translateY(5px) rotate(-45deg);
}
@media only screen and (max-width: 1024px) {
  #welcome__museum .welcome-close__btn .menuline_block .menuline:nth-of-type(1) {
    -webkit-transform: translateY(8.5px) rotate(-45deg);
    -ms-transform: translateY(8.5px) rotate(-45deg);
        transform: translateY(8.5px) rotate(-45deg);
  }
}
#welcome__museum .welcome-close__btn .menuline_block .menuline:nth-of-type(2) {
  top: 10px;
  -webkit-transform: translateY(-5px) rotate(45deg);
  -ms-transform: translateY(-5px) rotate(45deg);
      transform: translateY(-5px) rotate(45deg);
}
@media only screen and (max-width: 1024px) {
  #welcome__museum .welcome-close__btn .menuline_block .menuline:nth-of-type(2) {
    top: 15.5px;
  }
}
@media only screen and (max-width: 1024px) {
  #welcome__museum .welcome-close__btn .menuline_block .menuline:nth-of-type(2) {
    -webkit-transform: translateY(-7.5px) rotate(45deg);
    -ms-transform: translateY(-7.5px) rotate(45deg);
        transform: translateY(-7.5px) rotate(45deg);
  }
}
#welcome__museum .welcome__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: absolute;
  left: 50%;
  top: 50%;
  bottom: auto;
  right: auto;
  -webkit-transform: translateX(-50%) translateY(-50%);
      -ms-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
  width: 1000px;
}
@media only screen and (max-width: 1024px) {
  #welcome__museum .welcome__inner {
    width: 100%;
    padding: 0 24px;
  }
}
@media only screen and (max-width: 767px) {
  #welcome__museum .welcome__inner {
    position: relative;
    left: auto;
    top: auto;
    bottom: auto;
    right: auto;
    padding: 60px 24px 40px;
    -webkit-transform: translateX(0) translateY(0);
        -ms-transform: translateX(0) translateY(0);
            transform: translateX(0) translateY(0);
  }
}
#welcome__museum .welcome__inner .logo-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: 340px;
}
@media only screen and (max-width: 1024px) {
  #welcome__museum .welcome__inner .logo-block {
    display: block;
    margin: 0 auto;
  }
}
#welcome__museum .welcome__inner .logo-block .logo-block__img {
  width: 320px;
  height: 70.6px;
}
@media only screen and (max-width: 1024px) {
  #welcome__museum .welcome__inner .logo-block .logo-block__img {
    width: 280px;
    height: 61.78px;
  }
}
#welcome__museum .welcome__inner .logo-block .logo-block__img img[src$=".svg"] {
  width: 100%;
  height: auto;
}
#welcome__museum .welcome__inner .logo-block .logo-block__concept {
  position: relative;
  width: 275px;
  margin-left: 64px;
  line-height: 1.6;
}
@media only screen and (max-width: 1024px) {
  #welcome__museum .welcome__inner .logo-block .logo-block__concept {
    margin: 25px 0 0;
  }
}
#welcome__museum .welcome__inner .logo-block .logo-block__concept dt {
  display: inline-block;
}
#welcome__museum .welcome__inner .logo-block .logo-block__concept dt .logo-block__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
}
#welcome__museum .welcome__inner .logo-block .logo-block__concept dt .logo-block__btn p {
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 10px;
}
#welcome__museum .welcome__inner .logo-block .logo-block__concept dt .logo-block__btn .arrow {
  margin-left: 15px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3px 0 3px 4.5px;
  border-color: transparent transparent transparent #141414;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
#welcome__museum .welcome__inner .logo-block .logo-block__concept dt.is-show .logo-block__btn .arrow {
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg);
}
#welcome__museum .welcome__inner .logo-block .logo-block__concept dd {
  display: none;
  position: absolute;
  padding: 12px 0 0 90px;
}
@media only screen and (max-width: 1024px) {
  #welcome__museum .welcome__inner .logo-block .logo-block__concept dd {
    position: relative;
    padding: 12px 0 0 0;
  }
}
#welcome__museum .welcome__inner .logo-block .logo-block__concept dd p {
  font-size: 10px;
}
#welcome__museum .welcome__inner .text-contents {
  margin-top: 10%;
}
@media only screen and (max-width: 1024px) {
  #welcome__museum .welcome__inner .text-contents {
    margin-top: 60px;
  }
}
@media screen and (min-width: 1400px) {
  #welcome__museum .welcome__inner .text-contents {
    margin-top: 150px;
  }
}
#welcome__museum .welcome__inner .text-contents .icon-border {
  display: inline-block;
  margin: 20px 0;
  width: 16px;
  height: 1px;
  background-color: #141414;
}
@media only screen and (max-width: 1024px) {
  #welcome__museum .welcome__inner .text-contents .icon-border {
    margin: 20px 0;
    width: 12px;
  }
}
#welcome__museum .welcome__inner .text-contents .title__block {
  margin: 0;
}
#welcome__museum .welcome__inner .text-contents .title__block .title {
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 14px;
  line-height: 2;
}
#welcome__museum .welcome__inner .text-contents .text__block p {
  line-height: 2.2;
}
#welcome__museum .welcome__inner .text-contents .text-option__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  aligin-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 24px;
}
#welcome__museum .welcome__inner .text-contents .text-option__block p {
  font-size: 12px;
  font-family: "TTJenevers-Regular", sans-serif;
  line-height: 0.85;
}
@media only screen and (max-width: 1024px) {
  #welcome__museum .welcome__inner .text-contents .text-option__block p {
    font-size: 10px;
  }
}
#welcome__museum .welcome__inner .text-contents .index-btn__block {
  display: block;
  margin-top: 56px;
  text-align: center;
}
@media only screen and (max-width: 1024px) {
  #welcome__museum .welcome__inner .text-contents .index-btn__block {
    margin-top: 30px;
  }
}
#welcome__museum .welcome__inner .text-contents .index-btn__block .index-btn .btn-style__border {
  display: block;
  position: relative;
  width: 160px;
  height: 48px;
  margin: 0 auto;
  padding: 0 15px;
  background-color: transparent;
  color: #141414;
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 12px;
  letter-spacing: 0.1em;
  line-height: 48px;
  text-align: center;
  border: 1px solid #141414;
  overflow: hidden;
  cursor: pointer;
}
@media only screen and (max-width: 1024px) {
  #welcome__museum .welcome__inner .text-contents .index-btn__block .index-btn .btn-style__border {
    width: 140px;
    height: 40px;
    padding: 0 15px;
    font-size: 10px;
    line-height: 40px;
  }
}
#welcome__museum .welcome__inner .text-contents .index-btn__block .index-btn .btn-style__border p {
  position: relative;
  -webkit-transition: color 0.25s cubic-bezier(0.7, 0, 0.9, 1);
  -o-transition: color 0.25s cubic-bezier(0.7, 0, 0.9, 1);
  transition: color 0.25s cubic-bezier(0.7, 0, 0.9, 1);
}
#welcome__museum .welcome__inner .text-contents .index-btn__block .index-btn .btn-style__border:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 110%;
  height: 110%;
  background-color: #141414;
  -webkit-transform: translate(-100%, -50%);
      -ms-transform: translate(-100%, -50%);
          transform: translate(-100%, -50%);
  -webkit-transition: -webkit-transform 0.25s cubic-bezier(0.7, 0, 0.9, 1);
  transition: -webkit-transform 0.25s cubic-bezier(0.7, 0, 0.9, 1);
  -o-transition: transform 0.25s cubic-bezier(0.7, 0, 0.9, 1);
  transition: transform 0.25s cubic-bezier(0.7, 0, 0.9, 1);
  transition: transform 0.25s cubic-bezier(0.7, 0, 0.9, 1), -webkit-transform 0.25s cubic-bezier(0.7, 0, 0.9, 1);
}
#welcome__museum .welcome__inner .text-contents .index-btn__block .index-btn .btn-style__border:hover p {
  color: #fff;
}
@media only screen and (max-width: 1024px) {
  #welcome__museum .welcome__inner .text-contents .index-btn__block .index-btn .btn-style__border:hover p {
    color: #141414;
  }
}
#welcome__museum .welcome__inner .text-contents .index-btn__block .index-btn .btn-style__border:hover:before {
  -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
@media only screen and (max-width: 1024px) {
  #welcome__museum .welcome__inner .text-contents .index-btn__block .index-btn .btn-style__border:hover:before {
    -webkit-transform: translate(-100%, -50%);
        -ms-transform: translate(-100%, -50%);
            transform: translate(-100%, -50%);
  }
}

/* -----------------------------------
 * post
 ----------------------------------- */
.page-single {
  margin-top: 56px;
  width: 100%;
}
.page-single .page-single__inner {
  padding: 0 120px;
}
@media only screen and (max-width: 1024px) {
  .page-single .page-single__inner {
    padding: 0 16px;
  }
}
.page-single .page-single__info {
  margin-bottom: 64px;
}
@media only screen and (max-width: 1024px) {
  .page-single .page-single__info {
    margin: 0 0 32px;
  }
}
.page-single .page-single__info .category__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.page-single .page-single__info .category__block .cate-title {
  color: #B5B5B5;
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 16px;
}
@media only screen and (max-width: 1024px) {
  .page-single .page-single__info .category__block .cate-title {
    font-size: 14px;
  }
}
.page-single .page-single__info .category__block .cate {
  color: #B5B5B5;
  font-family: "TTJenevers-Italic", sans-serif;
  font-size: 16px;
}
@media only screen and (max-width: 1024px) {
  .page-single .page-single__info .category__block .cate {
    font-size: 14px;
  }
}
.page-single .page-single__info .data {
  display: inline-block;
  margin: 16px 0 0;
  color: #B5B5B5;
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 12px;
}
.page-single .page-single__contents .text__block h3 {
  margin-bottom: 25px;
  font-size: 16px;
}
.page-single .page-single__contents .text__block a {
  display: inline-block;
  position: relative;
  font-size: 14px;
}
@media only screen and (max-width: 1024px) {
  .page-single .page-single__contents .text__block a {
    font-size: 12px;
  }
}
.page-single .page-single__contents .text__block a:before {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: -2px;
  width: 100%;
  height: 1px;
  background-color: #141414;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.page-single .page-single__contents .text__block a:hover:before {
  width: 0;
}
@media only screen and (max-width: 1024px) {
  .page-single .page-single__contents .text__block a:hover:before {
    width: 100%;
  }
}
.page-single .page-single__contents .text__block table {
  margin: 20px 0;
  font-size: 14px;
  border-left: 1px solid #B5B5B5;
  border-bottom: 1px solid #B5B5B5;
  line-height: 2;
}
@media only screen and (max-width: 1024px) {
  .page-single .page-single__contents .text__block table {
    font-size: 12px;
  }
}
.page-single .page-single__contents .text__block table td {
  padding: 10px;
  border-top: 1px solid #B5B5B5;
  border-right: 1px solid #B5B5B5;
}
.page-single .page-single__contents .text__block ul, .page-single .page-single__contents .text__block ol {
  margin: 20px 0 20px 25px;
  font-size: 14px;
  line-height: 2;
}
@media only screen and (max-width: 1024px) {
  .page-single .page-single__contents .text__block ul, .page-single .page-single__contents .text__block ol {
    font-size: 12px;
  }
}
.page-single .page-single__contents .text__block ul li, .page-single .page-single__contents .text__block ol li {
  letter-spacing: 0.1em;
}
.page-single .page-single__contents .layout__title {
  margin: 64px 0 40px;
  padding-bottom: 24px;
  border-bottom: 1px solid #141414;
}
@media only screen and (max-width: 1024px) {
  .page-single .page-single__contents .layout__title {
    margin: 56px 0 24px;
  }
}
.page-single .page-single__contents .layout__title .title {
  font-size: 14px;
  letter-spacing: 0.1em;
}
.page-single .page-single__contents .layout__subtitle {
  margin: 32px 0 16px;
}
.page-single .page-single__contents .layout__subtitle .subtitle {
  font-size: 12px;
}
.page-single .page-single__contents .layout__imageonly {
  position: relative;
  margin-top: 32px;
  overflow: hidden;
}
@media only screen and (max-width: 1024px) {
  .page-single .page-single__contents .layout__imageonly {
    margin-top: 16px;
  }
}
.page-single .page-single__contents .layout__imageonly:before {
  display: block;
  padding: 28.125% 0;
  content: "";
}
.page-single .page-single__contents .layout__imageonly img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;"; /*IE対策*/
}
.page-single .page-single__contents .layout__imgset2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 32px;
}
@media only screen and (max-width: 1024px) {
  .page-single .page-single__contents .layout__imgset2 {
    margin-top: 16px;
  }
}
.page-single .page-single__contents .layout__imgset2 .item-img {
  position: relative;
  width: calc(50% - 16px);
  overflow: hidden;
}
@media only screen and (max-width: 1024px) {
  .page-single .page-single__contents .layout__imgset2 .item-img {
    width: calc(50% - 8px);
  }
}
.page-single .page-single__contents .layout__imgset2 .item-img:before {
  display: block;
  padding-top: 100%;
  content: "";
}
.page-single .page-single__contents .layout__imgset2 .item-img:nth-child(1) {
  margin-right: 16px;
}
@media only screen and (max-width: 1024px) {
  .page-single .page-single__contents .layout__imgset2 .item-img:nth-child(1) {
    margin-right: 8px;
  }
}
.page-single .page-single__contents .layout__imgset2 .item-img:nth-child(2) {
  margin-left: 16px;
}
@media only screen and (max-width: 1024px) {
  .page-single .page-single__contents .layout__imgset2 .item-img:nth-child(2) {
    margin-left: 8px;
  }
}
.page-single .page-single__contents .layout__imgset2 .item-img img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;"; /*IE対策*/
}
.page-single .page-single__contents .layout__imgset3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 32px;
}
@media only screen and (max-width: 1024px) {
  .page-single .page-single__contents .layout__imgset3 {
    margin-top: 16px;
  }
}
.page-single .page-single__contents .layout__imgset3 .item-img {
  position: relative;
  width: calc(33.33% - 16px);
  overflow: hidden;
}
@media only screen and (max-width: 1024px) {
  .page-single .page-single__contents .layout__imgset3 .item-img {
    width: calc(33.33% - 8px);
  }
}
.page-single .page-single__contents .layout__imgset3 .item-img:nth-child(1) {
  margin-right: 16px;
}
@media only screen and (max-width: 1024px) {
  .page-single .page-single__contents .layout__imgset3 .item-img:nth-child(1) {
    margin-right: 8px;
  }
}
.page-single .page-single__contents .layout__imgset3 .item-img:nth-child(2) {
  margin-right: 16px;
  margin-left: 16px;
}
@media only screen and (max-width: 1024px) {
  .page-single .page-single__contents .layout__imgset3 .item-img:nth-child(2) {
    margin-right: 8px;
    margin-left: 8px;
  }
}
.page-single .page-single__contents .layout__imgset3 .item-img:nth-child(3) {
  margin-left: 16px;
}
@media only screen and (max-width: 1024px) {
  .page-single .page-single__contents .layout__imgset3 .item-img:nth-child(3) {
    margin-left: 8px;
  }
}
.page-single .page-single__contents .layout__imgset3 .item-img:before {
  display: block;
  padding: 88.63% 0;
  content: "";
}
.page-single .page-single__contents .layout__imgset3 .item-img img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;"; /*IE対策*/
}
.page-single .page-single__contents .layout__slider-l {
  position: relative;
  margin-top: 16px;
  z-index: 0;
  overflow: hidden;
}
.page-single .page-single__contents .layout__slider-l .slider-item {
  display: inline-block;
  position: relative;
  margin: 0 2px;
  overflow: hidden;
}
.page-single .page-single__contents .layout__slider-l .slider-item:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  opacity: 1;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
@media only screen and (max-width: 1024px) {
  .page-single .page-single__contents .layout__slider-l .slider-item:before {
    opacity: 0;
  }
}
.page-single .page-single__contents .layout__slider-l .slider-item.slick-active:before {
  opacity: 0;
}
.page-single .page-single__contents .layout__slider-s {
  position: relative;
  margin-top: 16px;
  z-index: 0;
  overflow: hidden;
}
.page-single .page-single__contents .layout__slider-s .slider-item {
  display: inline-block;
  position: relative;
  margin: 0 2px;
  overflow: hidden;
}
.page-single .page-single__contents .layout__slider-s .slider-item:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  opacity: 1;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
@media only screen and (max-width: 1024px) {
  .page-single .page-single__contents .layout__slider-s .slider-item:before {
    opacity: 0;
  }
}
.page-single .page-single__contents .layout__slider-s .slider-item.slick-active:before {
  opacity: 0;
}
.page-single .page-single__contents .layout__meta {
  margin-top: 56px;
  padding-top: 46px;
  border-top: 1px solid #141414;
}
.page-single .page-single__contents .layout__meta .meta-title {
  margin-bottom: 15px;
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 2.2;
}
.page-single .page-single__contents .layout__meta .metalist__block dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-top: 10px;
}
@media only screen and (max-width: 767px) {
  .page-single .page-single__contents .layout__meta .metalist__block dl {
    display: block;
    margin-top: 20px;
  }
}
.page-single .page-single__contents .layout__meta .metalist__block dl dt {
  width: 10%;
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 2;
  vertical-align: top;
}
@media only screen and (max-width: 1024px) {
  .page-single .page-single__contents .layout__meta .metalist__block dl dt {
    font-size: 12px;
  }
}
@media only screen and (max-width: 767px) {
  .page-single .page-single__contents .layout__meta .metalist__block dl dt {
    display: block;
    padding-bottom: 5px;
    width: 100%;
  }
}
.page-single .page-single__contents .layout__meta .metalist__block dl dd {
  width: 85%;
  margin-left: 5%;
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 2;
}
@media only screen and (max-width: 1024px) {
  .page-single .page-single__contents .layout__meta .metalist__block dl dd {
    font-size: 12px;
  }
}
@media only screen and (max-width: 767px) {
  .page-single .page-single__contents .layout__meta .metalist__block dl dd {
    display: block;
    width: 100%;
    margin-left: 0;
  }
}
.page-single .page-single__contents .layout__concept {
  margin-top: -20px;
}
@media only screen and (max-width: 1024px) {
  .page-single .page-single__contents .layout__concept {
    margin-top: 56px;
  }
}
.page-single .page-single__contents .layout__concept dl .concept-title {
  position: relative;
  margin-bottom: 56px;
  cursor: pointer;
}
.page-single .page-single__contents .layout__concept dl .concept-title p {
  padding-right: 40px;
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 14px;
  text-align: right;
}
@media only screen and (max-width: 1024px) {
  .page-single .page-single__contents .layout__concept dl .concept-title p {
    font-size: 12px;
  }
}
.page-single .page-single__contents .layout__concept dl .concept-title .icon-plus {
  display: block;
  position: absolute;
  top: 50%;
  bottom: auto;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 2px;
  width: 16px;
  height: 16px;
  z-index: 97;
  cursor: pointer;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.page-single .page-single__contents .layout__concept dl .concept-title .icon-plus:before {
  position: absolute;
  top: 50%;
  bottom: auto;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  content: "";
  width: 100%;
  height: 1px;
  background-color: #141414;
}
.page-single .page-single__contents .layout__concept dl .concept-title .icon-plus:after {
  position: absolute;
  left: 50%;
  right: auto;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  content: "";
  width: 1px;
  height: 100%;
  background-color: #141414;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.page-single .page-single__contents .layout__concept dl dd {
  display: none;
  padding: 0 0 56px;
  background-color: #fff;
}
.page-single .page-single__contents .layout__concept dl dd .text__block p {
  line-height: 1.7;
}
.page-single .page-single__contents .layout__concept dl.is_open .icon-plus:after {
  -webkit-transform: rotateZ(90deg);
      -ms-transform: rotate(90deg);
          transform: rotateZ(90deg);
}
.page-single .page-single__contents .layout__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 70px;
  /* circle */
}
@media only screen and (max-width: 1024px) {
  .page-single .page-single__contents .layout__button {
    margin-top: 40px;
  }
}
.page-single .page-single__contents .layout__button .btn-circle {
  display: block;
  position: relative;
  padding: 18px 70px;
  min-width: 240px;
  background-color: transparent;
  color: #141414;
  font-size: 1.6vh;
  line-height: 1.7;
  letter-spacing: 0.1em;
  text-align: center;
  border: 1px solid #141414;
  border-radius: 36px;
  overflow: hidden;
  z-index: 1;
}
@media only screen and (max-width: 1024px) {
  .page-single .page-single__contents .layout__button .btn-circle {
    padding: 15px;
    font-size: 12px;
    border-radius: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .page-single .page-single__contents .layout__button .btn-circle {
    width: 100%;
  }
}
@media screen and (min-width: 1400px) {
  .page-single .page-single__contents .layout__button .btn-circle {
    font-size: 14px;
  }
}
.page-single .page-single__contents .layout__button .btn-circle p {
  position: relative;
  -webkit-transition: color 0.25s cubic-bezier(0.7, 0, 0.9, 1);
  -o-transition: color 0.25s cubic-bezier(0.7, 0, 0.9, 1);
  transition: color 0.25s cubic-bezier(0.7, 0, 0.9, 1);
}
.page-single .page-single__contents .layout__button .btn-circle:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 110%;
  height: 110%;
  background-color: #141414;
  -webkit-transform: translate(-100%, -50%);
      -ms-transform: translate(-100%, -50%);
          transform: translate(-100%, -50%);
  -webkit-transition: -webkit-transform 0.25s cubic-bezier(0.7, 0, 0.9, 1);
  transition: -webkit-transform 0.25s cubic-bezier(0.7, 0, 0.9, 1);
  -o-transition: transform 0.25s cubic-bezier(0.7, 0, 0.9, 1);
  transition: transform 0.25s cubic-bezier(0.7, 0, 0.9, 1);
  transition: transform 0.25s cubic-bezier(0.7, 0, 0.9, 1), -webkit-transform 0.25s cubic-bezier(0.7, 0, 0.9, 1);
}
.page-single .page-single__contents .layout__button .btn-circle:hover p {
  color: #fff;
}
@media only screen and (max-width: 1024px) {
  .page-single .page-single__contents .layout__button .btn-circle:hover p {
    color: #141414;
  }
}
.page-single .page-single__contents .layout__button .btn-circle:hover:before {
  -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
@media only screen and (max-width: 1024px) {
  .page-single .page-single__contents .layout__button .btn-circle:hover:before {
    -webkit-transform: translate(-100%, -50%);
        -ms-transform: translate(-100%, -50%);
            transform: translate(-100%, -50%);
  }
}
.page-single .page-single__contents .layout__space {
  height: 20px;
}
.page-single .single-pager {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 66px;
  border-top: 1px solid #141414;
}
.page-single .single-pager .btn-style__backtop a {
  font-size: 14px;
}
@media only screen and (max-width: 1024px) {
  .page-single .single-pager .btn-style__backtop a {
    font-size: 12px;
  }
}

/* related */
.single-related .single-related__wrap {
  margin-top: 80px;
  padding: 50px 0 0;
  border-top: 1px solid #141414;
}
.single-related .single-related__wrap .single-related__head {
  margin-bottom: 46px;
}
.single-related .single-related__wrap .single-related__head .heading {
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 14px;
}
.single-related .single-related__wrap .columnlist__wrap .nopost {
  text-align: center;
}
.single-related .single-related__wrap .columnlist__wrap .columnlist__block .columnlist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 -28px 0;
}
@media only screen and (max-width: 1024px) {
  .single-related .single-related__wrap .columnlist__wrap .columnlist__block .columnlist {
    display: block;
    margin: 0;
  }
}
.single-related .single-related__wrap .columnlist__wrap .columnlist__block .columnlist .columnlist__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: calc(25% - 56px);
  margin: 0 28px;
}
@media only screen and (max-width: 1024px) {
  .single-related .single-related__wrap .columnlist__wrap .columnlist__block .columnlist .columnlist__item {
    width: 100%;
    margin: 46px 0 0;
  }
}
.single-related .single-related__wrap .columnlist__wrap .columnlist__block .columnlist .columnlist__item .columnlist__info {
  margin-bottom: 15px;
}
.single-related .single-related__wrap .columnlist__wrap .columnlist__block .columnlist .columnlist__item .columnlist__info .column-title {
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 1.6;
}
.single-related .single-related__wrap .columnlist__wrap .columnlist__block .columnlist .columnlist__item .item-img {
  position: relative;
  margin-top: auto;
  overflow: hidden;
}
.single-related .single-related__wrap .columnlist__wrap .columnlist__block .columnlist .columnlist__item .item-img:before {
  content: "";
  display: block;
  padding: 33.214% 0;
}
@media only screen and (max-width: 1024px) {
  .single-related .single-related__wrap .columnlist__wrap .columnlist__block .columnlist .columnlist__item .item-img:before {
    padding: 33.332% 0;
  }
}
.single-related .single-related__wrap .columnlist__wrap .columnlist__block .columnlist .columnlist__item .item-img img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;"; /*IE対策*/
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.single-related .single-related__wrap .columnlist__wrap .columnlist__block .columnlist .columnlist__item .item-img img.img-off {
  z-index: 2;
}
.single-related .single-related__wrap .columnlist__wrap .columnlist__block .columnlist .columnlist__item .item-img img.img-on {
  z-index: 1;
}
.single-related .single-related__wrap .columnlist__wrap .columnlist__block .columnlist .columnlist__item .btn-style__underline {
  margin-top: 15px;
}
.single-related .single-related__wrap .columnlist__wrap .columnlist__block .columnlist .columnlist__item .btn-style__underline a {
  font-size: 12px;
}
.single-related .single-related__wrap .columnlist__wrap .columnlist__block .columnlist .columnlist__item.is-hoverchange .item-img .img-off {
  opacity: 0;
}
.single-related .single-related__wrap .columnlist__wrap .columnlist__block .columnlist .columnlist__item.is-hoverchange .btn-style__underline a:before {
  width: 0;
}

/* -----------------------------------
 * contact
 ----------------------------------- */
.page-contact {
  margin-top: 56px;
  width: 100%;
}
.page-contact .page-layout__imgleft {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.page-contact .page-layout__imgleft .item-img {
  max-width: 570px;
  width: 100%;
  margin-right: 100px;
}
@media only screen and (max-width: 1024px) {
  .page-contact .page-layout__imgleft .item-img {
    max-width: 100%;
    width: 100%;
    margin: 0 0 32px;
  }
}
.page-contact .page-layout__imgleft .item-img:before {
  content: "";
  display: block;
  padding: 33.333% 0;
}
.page-contact .page-layout__imgleft .item-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: auto;
  max-width: 694px;
  width: 100%;
  margin-left: auto;
}
@media only screen and (max-width: 1024px) {
  .page-contact .page-layout__imgleft .item-contents {
    display: block;
    marign: 0;
    max-width: 100%;
    width: 100%;
  }
}
.page-contact .page-layout__imgleft .item-contents .item-contents__inner {
  width: 100%;
  padding: 0;
}
.page-contact .contactform {
  width: 100%;
}
.page-contact .contactform .contactform-item {
  padding: 10px 0;
  border-bottom: 1px solid #141414;
}
.page-contact .contactform .contactform-item:nth-child(1) {
  border-top: 1px solid #141414;
}
.page-contact .contactform .contactform-item input[type=text],
.page-contact .contactform .contactform-item input[type=email] {
  display: block;
  width: 100%;
  height: 27px;
  padding: 15px 0;
  background-color: transparent;
  color: #141414;
  font-family: "Noto Serif JP", serif;
  font-size: 400;
  font-size: 1.7vh;
  line-height: 1.7;
  letter-spacing: 0.1em;
  vertical-align: middle;
  outline: none;
  border: 1px solid transparent;
}
@media only screen and (max-width: 1024px) {
  .page-contact .contactform .contactform-item input[type=text],
.page-contact .contactform .contactform-item input[type=email] {
    font-size: 12px;
  }
}
@media screen and (min-width: 1400px) {
  .page-contact .contactform .contactform-item input[type=text],
.page-contact .contactform .contactform-item input[type=email] {
    font-size: 14px;
  }
}
.page-contact .contactform .contactform-item input[type=text]:-webkit-autofill,
.page-contact .contactform .contactform-item input[type=email]:-webkit-autofill {
  -webkit-animation-name: onAutoFillStart;
          animation-name: onAutoFillStart;
  -webkit-transition: background-color 50000s ease-in-out 0s;
  transition: background-color 50000s ease-in-out 0s;
}
.page-contact .contactform .contactform-item input[type=text]:focus,
.page-contact .contactform .contactform-item input[type=email]:focus {
  outline: none;
}
.page-contact .contactform .contactform-item textarea {
  width: 100%;
  height: 159px;
  padding: 5px 0;
  background-color: transparent;
  color: #141414;
  font-family: "Noto Serif JP", serif;
  font-size: 400;
  font-size: 1.7vh;
  line-height: 1.7;
  letter-spacing: 0.1em;
  outline: none;
  border: 1px solid transparent;
  -ms-overflow-style: none;
}
@media only screen and (max-width: 1024px) {
  .page-contact .contactform .contactform-item textarea {
    font-size: 12px;
  }
}
@media screen and (min-width: 1400px) {
  .page-contact .contactform .contactform-item textarea {
    font-size: 14px;
  }
}
.page-contact .contactform .contactform-item textarea:-webkit-autofill {
  -webkit-animation-name: onAutoFillStart;
          animation-name: onAutoFillStart;
  -webkit-transition: background-color 50000s ease-in-out 0s;
  transition: background-color 50000s ease-in-out 0s;
}
.page-contact .contactform .contactform-item textarea:focus {
  outline: none;
}
.page-contact .contactform .btn-contactform {
  display: inline-block;
  position: relative;
  margin-top: 30px;
  padding-bottom: 8px;
  text-align: center;
  cursor: pointer;
}
@media only screen and (max-width: 1024px) {
  .page-contact .contactform .btn-contactform {
    margin-top: 46px;
  }
}
@media screen and (min-width: 1400px) {
  .page-contact .contactform .btn-contactform {
    width: 40px;
  }
}
.page-contact .contactform .btn-contactform:before {
  content: "";
  display: inline-block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #141414;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.page-contact .contactform .btn-contactform input {
  display: inline-block;
  padding: 0;
  color: #141414;
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 1.7vh;
  font-weight: normal;
  letter-spacing: 0.1em;
  background-color: transparent;
  outline: 0;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  cursor: pointer;
}
@media only screen and (max-width: 1024px) {
  .page-contact .contactform .btn-contactform input {
    font-size: 12px;
  }
}
@media screen and (min-width: 1400px) {
  .page-contact .contactform .btn-contactform input {
    font-size: 14px;
  }
}
.page-contact .contactform .btn-contactform:hover:before {
  width: 0;
}
@media only screen and (max-width: 1024px) {
  .page-contact .contactform .btn-contactform:hover:before {
    width: 100%;
  }
}

.wpcf7-spinner {
  display: none;
}

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  color: #141414;
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 1.7vh;
  letter-spacing: 0.1em;
  opacity: 1 !important;
}

input::-moz-placeholder, textarea::-moz-placeholder {
  color: #141414;
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 1.7vh;
  letter-spacing: 0.1em;
  opacity: 1 !important;
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  color: #141414;
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 1.7vh;
  letter-spacing: 0.1em;
  opacity: 1 !important;
}

input::-ms-input-placeholder, textarea::-ms-input-placeholder {
  color: #141414;
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 1.7vh;
  letter-spacing: 0.1em;
  opacity: 1 !important;
}

input::placeholder,
textarea::placeholder {
  color: #141414;
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 1.7vh;
  letter-spacing: 0.1em;
  opacity: 1 !important;
}
@media only screen and (max-width: 1024px) {
  input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
    font-size: 12px;
  }
  input::-moz-placeholder, textarea::-moz-placeholder {
    font-size: 12px;
  }
  input:-ms-input-placeholder, textarea:-ms-input-placeholder {
    font-size: 12px;
  }
  input::-ms-input-placeholder, textarea::-ms-input-placeholder {
    font-size: 12px;
  }
  input::placeholder,
textarea::placeholder {
    font-size: 12px;
  }
}
@media screen and (min-width: 1400px) {
  input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
    font-size: 14px;
  }
  input::-moz-placeholder, textarea::-moz-placeholder {
    font-size: 14px;
  }
  input:-ms-input-placeholder, textarea:-ms-input-placeholder {
    font-size: 14px;
  }
  input::-ms-input-placeholder, textarea::-ms-input-placeholder {
    font-size: 14px;
  }
  input::placeholder,
textarea::placeholder {
    font-size: 14px;
  }
}
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #141414;
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 1.7vh;
  letter-spacing: 0.1em;
  opacity: 1 !important;
}
@media only screen and (max-width: 1024px) {
  input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
    font-size: 12px;
  }
}
@media screen and (min-width: 1400px) {
  input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
    font-size: 14px;
  }
}
input::-ms-input-placeholder,
textarea::-ms-input-placeholder {
  color: #141414;
  font-family: "TTJenevers-Regular", sans-serif;
  font-size: 1.7vh;
  letter-spacing: 0.1em;
  opacity: 1 !important;
}
@media only screen and (max-width: 1024px) {
  input::-ms-input-placeholder,
textarea::-ms-input-placeholder {
    font-size: 12px;
  }
}
@media screen and (min-width: 1400px) {
  input::-ms-input-placeholder,
textarea::-ms-input-placeholder {
    font-size: 14px;
  }
}

/* contact form7 error-message CSS */
.wpcf7 .ajax-loader {
  display: none !important;
}
.wpcf7 form.sent .wpcf7-response-output {
  margin-top: 56px;
  color: #141414;
  font-size: 12px;
  line-height: 2;
  border: 1px solid #141414;
}
@media only screen and (max-width: 1024px) {
  .wpcf7 form.sent .wpcf7-response-output {
    font-size: 10px;
  }
}
.wpcf7 form span.wpcf7-not-valid-tip {
  display: block;
  margin-top: 10px;
  color: #FF0000;
  font-size: 10px;
  line-height: 0.85;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
  margin-top: 56px;
  color: #141414;
  font-size: 12px;
  line-height: 2;
  border: 1px solid #141414;
}
@media only screen and (max-width: 1024px) {
  .wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
    font-size: 12px;
  }
}

/* -----------------------------------
 * recruit
 ----------------------------------- */
.page-recruit {
  margin-top: 56px;
  width: 100%;
}
.page-recruit .title__block {
  margin-bottom: 56px;
}
.page-recruit .recruit-list__wrap .recruit-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  font-size: 14px;
  line-height: 2;
}
@media only screen and (max-width: 1024px) {
  .page-recruit .recruit-list__wrap .recruit-list__item {
    display: block;
    font-size: 12px;
  }
}
.page-recruit .recruit-list__wrap .recruit-list__item:not(:nth-child(1)) {
  margin-top: 32px;
}
@media only screen and (max-width: 1024px) {
  .page-recruit .recruit-list__wrap .recruit-list__item:not(:nth-child(1)) {
    margin-top: 24px;
  }
}
.page-recruit .recruit-list__wrap .recruit-list__item:nth-child(2) {
  margin-top: 40px;
}
@media only screen and (max-width: 1024px) {
  .page-recruit .recruit-list__wrap .recruit-list__item:nth-child(2) {
    margin-top: 24px;
  }
}
.page-recruit .recruit-list__wrap .recruit-list__item dt {
  width: 110px;
  margin-right: 70px;
}
@media only screen and (max-width: 1024px) {
  .page-recruit .recruit-list__wrap .recruit-list__item dt {
    width: 100%;
    margin: 0 0 10px;
  }
}
.page-recruit .recruit-list__wrap .recruit-list__item dt span {
  display: block;
  position: relative;
  padding-left: 16px;
}
.page-recruit .recruit-list__wrap .recruit-list__item dt span:before {
  content: "";
  position: absolute;
  top: 50%;
  bottom: auto;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  width: 8px;
  height: 1px;
  background-color: #141414;
}
.page-recruit .recruit-list__wrap .recruit-list__item dd {
  width: calc(100% - 180px);
}
@media only screen and (max-width: 1024px) {
  .page-recruit .recruit-list__wrap .recruit-list__item dd {
    width: 100%;
  }
}
.page-recruit .recruit-list__wrap .recruit-list__item dd p:not(:nth-child(1)) {
  margin-top: 16px;
}
.page-recruit .recruit-list__wrap .recruit-list__item dd p.mail a:before {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: -1px;
  width: 100%;
  height: 1px;
  background-color: #141414;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.page-recruit .recruit-list__wrap .recruit-list__item dd p.mail a:hover:before {
  width: 0;
}
@media only screen and (max-width: 1024px) {
  .page-recruit .recruit-list__wrap .recruit-list__item dd p.mail a:hover:before {
    width: 100%;
  }
}

/* -----------------------------------
 * 404
 ----------------------------------- */
.page-error {
  margin-top: 56px;
  width: 100%;
}
.page-error .page-error__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  min-height: calc(100vh - 465px);
  height: 100%;
}
@media only screen and (max-width: 1024px) {
  .page-error .page-error__inner {
    min-height: calc(100vh - 357.7px);
  }
}
.page-error .page-error__contents {
  max-width: 1000px;
  width: 100%;
  margin: -50px auto 0;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .page-error .page-error__contents {
    max-width: 100%;
    margin: 0;
    text-align: left;
  }
}
.page-error .page-error__contents .btn-style__underline {
  margin-top: 56px;
}
@media only screen and (max-width: 1024px) {
  .page-error .page-error__contents .btn-style__underline {
    margin-top: 32px;
  }
}

/* -----------------------------------
 * movie
 ----------------------------------- */
.movie-content-wrap {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.movie-content-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.mfp-content {
  max-width: 1200px;
}
@media only screen and (max-width: 1024px) {
  .mfp-content {
    max-width: 700px;
  }
}
@media only screen and (max-width: 767px) {
  .mfp-content {
    max-width: 340px;
  }
}
@media only screen and (max-width: 320px) {
  .mfp-content {
    max-width: 290px;
  }
}

.mfp-fade.mfp-bg {
  opacity: 0;
  -webkit-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
.mfp-fade.mfp-bg.mfp-ready {
  opacity: 0.7;
}
.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0;
}
.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  -webkit-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}